@tamagui/demos 1.12.2 → 1.13.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/dist/cjs/ToastDemo.js +6 -5
- package/dist/cjs/ToastDemo.js.map +2 -2
- package/dist/cjs/ToastDuplicateDemo.js +4 -3
- package/dist/cjs/ToastDuplicateDemo.js.map +2 -2
- package/dist/esm/ToastDemo.js +2 -1
- package/dist/esm/ToastDemo.js.map +2 -2
- package/dist/esm/ToastDemo.mjs +2 -1
- package/dist/esm/ToastDemo.mjs.map +2 -2
- package/dist/esm/ToastDuplicateDemo.js +2 -1
- package/dist/esm/ToastDuplicateDemo.js.map +2 -2
- package/dist/esm/ToastDuplicateDemo.mjs +2 -1
- package/dist/esm/ToastDuplicateDemo.mjs.map +2 -2
- package/dist/jsx/ToastDemo.js +2 -1
- package/dist/jsx/ToastDemo.js.map +2 -2
- package/dist/jsx/ToastDemo.mjs +2 -1
- package/dist/jsx/ToastDemo.mjs.map +2 -2
- package/dist/jsx/ToastDuplicateDemo.js +2 -1
- package/dist/jsx/ToastDuplicateDemo.js.map +2 -2
- package/dist/jsx/ToastDuplicateDemo.mjs +2 -1
- package/dist/jsx/ToastDuplicateDemo.mjs.map +2 -2
- package/package.json +18 -17
- package/src/ToastDemo.tsx +2 -1
- package/src/ToastDuplicateDemo.tsx +2 -1
- package/types/ToastDemo.d.ts.map +1 -1
- package/types/ToastDuplicateDemo.d.ts.map +1 -1
package/dist/cjs/ToastDemo.js
CHANGED
|
@@ -32,6 +32,7 @@ __export(ToastDemo_exports, {
|
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(ToastDemo_exports);
|
|
34
34
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
35
|
+
var import_toast = require("@tamagui/toast");
|
|
35
36
|
var import_react = __toESM(require("react"));
|
|
36
37
|
var import_tamagui = require("tamagui");
|
|
37
38
|
const ToastDemo = () => {
|
|
@@ -43,11 +44,11 @@ const ToastDemo = () => {
|
|
|
43
44
|
] });
|
|
44
45
|
};
|
|
45
46
|
const CurrentToast = () => {
|
|
46
|
-
const { currentToast } = (0,
|
|
47
|
+
const { currentToast } = (0, import_toast.useToast)();
|
|
47
48
|
if (!currentToast || currentToast.isHandledNatively)
|
|
48
49
|
return null;
|
|
49
50
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
50
|
-
|
|
51
|
+
import_toast.Toast,
|
|
51
52
|
{
|
|
52
53
|
duration: currentToast.duration,
|
|
53
54
|
enterStyle: { opacity: 0, scale: 0.5, y: -25 },
|
|
@@ -57,15 +58,15 @@ const CurrentToast = () => {
|
|
|
57
58
|
scale: 1,
|
|
58
59
|
animation: "100ms",
|
|
59
60
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, { children: [
|
|
60
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
61
|
-
!!currentToast.message && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
61
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_toast.Toast.Title, { children: currentToast.title }),
|
|
62
|
+
!!currentToast.message && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_toast.Toast.Description, { children: currentToast.message })
|
|
62
63
|
] })
|
|
63
64
|
},
|
|
64
65
|
currentToast.id
|
|
65
66
|
);
|
|
66
67
|
};
|
|
67
68
|
const ToastControl = ({ native }) => {
|
|
68
|
-
const toast = (0,
|
|
69
|
+
const toast = (0, import_toast.useToast)();
|
|
69
70
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, { space: "$2", justifyContent: "center", children: [
|
|
70
71
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
71
72
|
import_tamagui.Button,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ToastDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from 'react'\nimport { Button, SizableText, Switch,
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import { useToast, Toast } from '@tamagui/toast'\nimport React from 'react'\nimport { Button, SizableText, Switch, XStack, YStack } from 'tamagui'\n\nexport const ToastDemo = () => {\n const [native, setNative] = React.useState<boolean>(false)\n\n return (\n <YStack space alignItems=\"center\">\n <ToastControl native={native} />\n <CurrentToast />\n\n <NativeOptions native={native} setNative={setNative} />\n </YStack>\n )\n}\n\nconst CurrentToast = () => {\n const { currentToast } = useToast()\n\n if (!currentToast || currentToast.isHandledNatively) return null\n return (\n <Toast\n key={currentToast.id}\n duration={currentToast.duration}\n enterStyle={{ opacity: 0, scale: 0.5, y: -25 }}\n exitStyle={{ opacity: 0, scale: 1, y: -20 }}\n y={0}\n opacity={1}\n scale={1}\n animation=\"100ms\"\n >\n <YStack>\n <Toast.Title>{currentToast.title}</Toast.Title>\n {!!currentToast.message && (\n <Toast.Description>{currentToast.message}</Toast.Description>\n )}\n </YStack>\n </Toast>\n )\n}\n\nconst ToastControl = ({ native }: { native: boolean }) => {\n const toast = useToast()\n return (\n <XStack space=\"$2\" justifyContent=\"center\">\n <Button\n onPress={() => {\n toast.show('Successfully saved!', {\n message: \"Don't worry, we've got your data.\",\n native,\n })\n }}\n >\n Show\n </Button>\n <Button\n onPress={() => {\n toast.hide()\n }}\n >\n Hide\n </Button>\n </XStack>\n )\n}\n\nconst NativeOptions = ({\n native,\n setNative,\n}: {\n native: boolean\n setNative: (native: boolean) => void\n}) => {\n return (\n <XStack space=\"$3\">\n <SizableText size=\"$1\">Custom</SizableText>\n\n <Switch\n theme=\"active\"\n size=\"$1\"\n checked={!!native}\n onCheckedChange={(val) => setNative(val)}\n >\n <Switch.Thumb\n animation={[\n 'quick',\n {\n transform: {\n overshootClamping: true,\n },\n },\n ]}\n />\n </Switch>\n\n <SizableText size=\"$1\">Native</SizableText>\n </XStack>\n )\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQI;AARJ,mBAAgC;AAChC,mBAAkB;AAClB,qBAA4D;AAErD,MAAM,YAAY,MAAM;AAC7B,QAAM,CAAC,QAAQ,SAAS,IAAI,aAAAA,QAAM,SAAkB,KAAK;AAEzD,SACE,6CAAC,yBAAO,OAAK,MAAC,YAAW,UACvB;AAAA,gDAAC,gBAAa,QAAgB;AAAA,IAC9B,4CAAC,gBAAa;AAAA,IAEd,4CAAC,iBAAc,QAAgB,WAAsB;AAAA,KACvD;AAEJ;AAEA,MAAM,eAAe,MAAM;AACzB,QAAM,EAAE,aAAa,QAAI,uBAAS;AAElC,MAAI,CAAC,gBAAgB,aAAa;AAAmB,WAAO;AAC5D,SACE;AAAA,IAAC;AAAA;AAAA,MAEC,UAAU,aAAa;AAAA,MACvB,YAAY,EAAE,SAAS,GAAG,OAAO,KAAK,GAAG,IAAI;AAAA,MAC7C,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,GAAG,IAAI;AAAA,MAC1C,GAAG;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,MACP,WAAU;AAAA,MAEV,uDAAC,yBACC;AAAA,oDAAC,mBAAM,OAAN,EAAa,uBAAa,OAAM;AAAA,QAChC,CAAC,CAAC,aAAa,WACd,4CAAC,mBAAM,aAAN,EAAmB,uBAAa,SAAQ;AAAA,SAE7C;AAAA;AAAA,IAdK,aAAa;AAAA,EAepB;AAEJ;AAEA,MAAM,eAAe,CAAC,EAAE,OAAO,MAA2B;AACxD,QAAM,YAAQ,uBAAS;AACvB,SACE,6CAAC,yBAAO,OAAM,MAAK,gBAAe,UAChC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,gBAAM,KAAK,uBAAuB;AAAA,YAChC,SAAS;AAAA,YACT;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACD;AAAA;AAAA,IAED;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,gBAAM,KAAK;AAAA,QACb;AAAA,QACD;AAAA;AAAA,IAED;AAAA,KACF;AAEJ;AAEA,MAAM,gBAAgB,CAAC;AAAA,EACrB;AAAA,EACA;AACF,MAGM;AACJ,SACE,6CAAC,yBAAO,OAAM,MACZ;AAAA,gDAAC,8BAAY,MAAK,MAAK,oBAAM;AAAA,IAE7B;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN,MAAK;AAAA,QACL,SAAS,CAAC,CAAC;AAAA,QACX,iBAAiB,CAAC,QAAQ,UAAU,GAAG;AAAA,QAEvC;AAAA,UAAC,sBAAO;AAAA,UAAP;AAAA,YACC,WAAW;AAAA,cACT;AAAA,cACA;AAAA,gBACE,WAAW;AAAA,kBACT,mBAAmB;AAAA,gBACrB;AAAA,cACF;AAAA,YACF;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IAEA,4CAAC,8BAAY,MAAK,MAAK,oBAAM;AAAA,KAC/B;AAEJ;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -33,6 +33,7 @@ __export(ToastDuplicateDemo_exports, {
|
|
|
33
33
|
module.exports = __toCommonJS(ToastDuplicateDemo_exports);
|
|
34
34
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
35
35
|
var import_lucide_icons = require("@tamagui/lucide-icons");
|
|
36
|
+
var import_toast = require("@tamagui/toast");
|
|
36
37
|
var import_react = __toESM(require("react"));
|
|
37
38
|
var import_tamagui = require("tamagui");
|
|
38
39
|
const ToastDuplicateDemo = () => {
|
|
@@ -48,7 +49,7 @@ const ToastDuplicateDemo = () => {
|
|
|
48
49
|
}
|
|
49
50
|
),
|
|
50
51
|
[...Array(savedCount)].map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
51
|
-
|
|
52
|
+
import_toast.Toast,
|
|
52
53
|
{
|
|
53
54
|
viewportName: "viewport-multiple",
|
|
54
55
|
duration: 4e3,
|
|
@@ -61,8 +62,8 @@ const ToastDuplicateDemo = () => {
|
|
|
61
62
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, { space: true, alignItems: "center", children: [
|
|
62
63
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.YStack, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_icons.CheckCircle2, {}) }),
|
|
63
64
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, { children: [
|
|
64
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
65
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
65
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_toast.Toast.Title, { children: "Successfully saved!" }),
|
|
66
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_toast.Toast.Description, { children: "Don't worry... We've got your data." })
|
|
66
67
|
] })
|
|
67
68
|
] })
|
|
68
69
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ToastDuplicateDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { CheckCircle2 } from '@tamagui/lucide-icons'\nimport React from 'react'\nimport { Button,
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import { CheckCircle2 } from '@tamagui/lucide-icons'\nimport { Toast } from '@tamagui/toast'\nimport React from 'react'\nimport { Button, XStack, YStack } from 'tamagui'\n\nexport const ToastDuplicateDemo = () => {\n const [savedCount, setSavedCount] = React.useState(0)\n\n return (\n <YStack alignItems=\"center\">\n <Button\n onPress={() => {\n setSavedCount((old) => old + 1)\n }}\n >\n Show toast\n </Button>\n {[...Array(savedCount)].map((_, index) => (\n <Toast\n viewportName=\"viewport-multiple\" // Sends to a viewport that supports multiple toasts with the `multipleToasts` prop\n key={index}\n duration={4000}\n enterStyle={{ opacity: 0, scale: 0.5, y: -25 }}\n exitStyle={{ opacity: 0, scale: 1, y: -20 }}\n y={0}\n opacity={1}\n scale={1}\n animation=\"100ms\"\n >\n <XStack space alignItems=\"center\">\n <YStack>\n <CheckCircle2 />\n </YStack>\n\n <YStack>\n <Toast.Title>Successfully saved!</Toast.Title>\n <Toast.Description>Don't worry... We've got your data.</Toast.Description>\n </YStack>\n </XStack>\n </Toast>\n ))}\n </YStack>\n )\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUM;AAVN,0BAA6B;AAC7B,mBAAsB;AACtB,mBAAkB;AAClB,qBAAuC;AAEhC,MAAM,qBAAqB,MAAM;AACtC,QAAM,CAAC,YAAY,aAAa,IAAI,aAAAA,QAAM,SAAS,CAAC;AAEpD,SACE,6CAAC,yBAAO,YAAW,UACjB;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,wBAAc,CAAC,QAAQ,MAAM,CAAC;AAAA,QAChC;AAAA,QACD;AAAA;AAAA,IAED;AAAA,IACC,CAAC,GAAG,MAAM,UAAU,CAAC,EAAE,IAAI,CAAC,GAAG,UAC9B;AAAA,MAAC;AAAA;AAAA,QACC,cAAa;AAAA,QAEb,UAAU;AAAA,QACV,YAAY,EAAE,SAAS,GAAG,OAAO,KAAK,GAAG,IAAI;AAAA,QAC7C,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,GAAG,IAAI;AAAA,QAC1C,GAAG;AAAA,QACH,SAAS;AAAA,QACT,OAAO;AAAA,QACP,WAAU;AAAA,QAEV,uDAAC,yBAAO,OAAK,MAAC,YAAW,UACvB;AAAA,sDAAC,yBACC,sDAAC,oCAAa,GAChB;AAAA,UAEA,6CAAC,yBACC;AAAA,wDAAC,mBAAM,OAAN,EAAY,iCAAmB;AAAA,YAChC,4CAAC,mBAAM,aAAN,EAAkB,iDAAmC;AAAA,aACxD;AAAA,WACF;AAAA;AAAA,MAlBK;AAAA,IAmBP,CACD;AAAA,KACH;AAEJ;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
package/dist/esm/ToastDemo.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useToast, Toast } from "@tamagui/toast";
|
|
2
3
|
import React from "react";
|
|
3
|
-
import { Button, SizableText, Switch,
|
|
4
|
+
import { Button, SizableText, Switch, XStack, YStack } from "tamagui";
|
|
4
5
|
const ToastDemo = () => {
|
|
5
6
|
const [native, setNative] = React.useState(false);
|
|
6
7
|
return /* @__PURE__ */ jsxs(YStack, { space: true, alignItems: "center", children: [
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ToastDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from 'react'\nimport { Button, SizableText, Switch,
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import { useToast, Toast } from '@tamagui/toast'\nimport React from 'react'\nimport { Button, SizableText, Switch, XStack, YStack } from 'tamagui'\n\nexport const ToastDemo = () => {\n const [native, setNative] = React.useState<boolean>(false)\n\n return (\n <YStack space alignItems=\"center\">\n <ToastControl native={native} />\n <CurrentToast />\n\n <NativeOptions native={native} setNative={setNative} />\n </YStack>\n )\n}\n\nconst CurrentToast = () => {\n const { currentToast } = useToast()\n\n if (!currentToast || currentToast.isHandledNatively) return null\n return (\n <Toast\n key={currentToast.id}\n duration={currentToast.duration}\n enterStyle={{ opacity: 0, scale: 0.5, y: -25 }}\n exitStyle={{ opacity: 0, scale: 1, y: -20 }}\n y={0}\n opacity={1}\n scale={1}\n animation=\"100ms\"\n >\n <YStack>\n <Toast.Title>{currentToast.title}</Toast.Title>\n {!!currentToast.message && (\n <Toast.Description>{currentToast.message}</Toast.Description>\n )}\n </YStack>\n </Toast>\n )\n}\n\nconst ToastControl = ({ native }: { native: boolean }) => {\n const toast = useToast()\n return (\n <XStack space=\"$2\" justifyContent=\"center\">\n <Button\n onPress={() => {\n toast.show('Successfully saved!', {\n message: \"Don't worry, we've got your data.\",\n native,\n })\n }}\n >\n Show\n </Button>\n <Button\n onPress={() => {\n toast.hide()\n }}\n >\n Hide\n </Button>\n </XStack>\n )\n}\n\nconst NativeOptions = ({\n native,\n setNative,\n}: {\n native: boolean\n setNative: (native: boolean) => void\n}) => {\n return (\n <XStack space=\"$3\">\n <SizableText size=\"$1\">Custom</SizableText>\n\n <Switch\n theme=\"active\"\n size=\"$1\"\n checked={!!native}\n onCheckedChange={(val) => setNative(val)}\n >\n <Switch.Thumb\n animation={[\n 'quick',\n {\n transform: {\n overshootClamping: true,\n },\n },\n ]}\n />\n </Switch>\n\n <SizableText size=\"$1\">Native</SizableText>\n </XStack>\n )\n}\n"],
|
|
5
|
+
"mappings": "AAQI,SACE,KADF;AARJ,SAAS,UAAU,aAAa;AAChC,OAAO,WAAW;AAClB,SAAS,QAAQ,aAAa,QAAQ,QAAQ,cAAc;AAErD,MAAM,YAAY,MAAM;AAC7B,QAAM,CAAC,QAAQ,SAAS,IAAI,MAAM,SAAkB,KAAK;AAEzD,SACE,qBAAC,UAAO,OAAK,MAAC,YAAW,UACvB;AAAA,wBAAC,gBAAa,QAAgB;AAAA,IAC9B,oBAAC,gBAAa;AAAA,IAEd,oBAAC,iBAAc,QAAgB,WAAsB;AAAA,KACvD;AAEJ;AAEA,MAAM,eAAe,MAAM;AACzB,QAAM,EAAE,aAAa,IAAI,SAAS;AAElC,MAAI,CAAC,gBAAgB,aAAa;AAAmB,WAAO;AAC5D,SACE;AAAA,IAAC;AAAA;AAAA,MAEC,UAAU,aAAa;AAAA,MACvB,YAAY,EAAE,SAAS,GAAG,OAAO,KAAK,GAAG,IAAI;AAAA,MAC7C,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,GAAG,IAAI;AAAA,MAC1C,GAAG;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,MACP,WAAU;AAAA,MAEV,+BAAC,UACC;AAAA,4BAAC,MAAM,OAAN,EAAa,uBAAa,OAAM;AAAA,QAChC,CAAC,CAAC,aAAa,WACd,oBAAC,MAAM,aAAN,EAAmB,uBAAa,SAAQ;AAAA,SAE7C;AAAA;AAAA,IAdK,aAAa;AAAA,EAepB;AAEJ;AAEA,MAAM,eAAe,CAAC,EAAE,OAAO,MAA2B;AACxD,QAAM,QAAQ,SAAS;AACvB,SACE,qBAAC,UAAO,OAAM,MAAK,gBAAe,UAChC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,gBAAM,KAAK,uBAAuB;AAAA,YAChC,SAAS;AAAA,YACT;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACD;AAAA;AAAA,IAED;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,gBAAM,KAAK;AAAA,QACb;AAAA,QACD;AAAA;AAAA,IAED;AAAA,KACF;AAEJ;AAEA,MAAM,gBAAgB,CAAC;AAAA,EACrB;AAAA,EACA;AACF,MAGM;AACJ,SACE,qBAAC,UAAO,OAAM,MACZ;AAAA,wBAAC,eAAY,MAAK,MAAK,oBAAM;AAAA,IAE7B;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN,MAAK;AAAA,QACL,SAAS,CAAC,CAAC;AAAA,QACX,iBAAiB,CAAC,QAAQ,UAAU,GAAG;AAAA,QAEvC;AAAA,UAAC,OAAO;AAAA,UAAP;AAAA,YACC,WAAW;AAAA,cACT;AAAA,cACA;AAAA,gBACE,WAAW;AAAA,kBACT,mBAAmB;AAAA,gBACrB;AAAA,cACF;AAAA,YACF;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IAEA,oBAAC,eAAY,MAAK,MAAK,oBAAM;AAAA,KAC/B;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/ToastDemo.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useToast, Toast } from "@tamagui/toast";
|
|
2
3
|
import React from "react";
|
|
3
|
-
import { Button, SizableText, Switch,
|
|
4
|
+
import { Button, SizableText, Switch, XStack, YStack } from "tamagui";
|
|
4
5
|
const ToastDemo = () => {
|
|
5
6
|
const [native, setNative] = React.useState(false);
|
|
6
7
|
return /* @__PURE__ */ jsxs(YStack, { space: true, alignItems: "center", children: [
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ToastDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from 'react'\nimport { Button, SizableText, Switch,
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import { useToast, Toast } from '@tamagui/toast'\nimport React from 'react'\nimport { Button, SizableText, Switch, XStack, YStack } from 'tamagui'\n\nexport const ToastDemo = () => {\n const [native, setNative] = React.useState<boolean>(false)\n\n return (\n <YStack space alignItems=\"center\">\n <ToastControl native={native} />\n <CurrentToast />\n\n <NativeOptions native={native} setNative={setNative} />\n </YStack>\n )\n}\n\nconst CurrentToast = () => {\n const { currentToast } = useToast()\n\n if (!currentToast || currentToast.isHandledNatively) return null\n return (\n <Toast\n key={currentToast.id}\n duration={currentToast.duration}\n enterStyle={{ opacity: 0, scale: 0.5, y: -25 }}\n exitStyle={{ opacity: 0, scale: 1, y: -20 }}\n y={0}\n opacity={1}\n scale={1}\n animation=\"100ms\"\n >\n <YStack>\n <Toast.Title>{currentToast.title}</Toast.Title>\n {!!currentToast.message && (\n <Toast.Description>{currentToast.message}</Toast.Description>\n )}\n </YStack>\n </Toast>\n )\n}\n\nconst ToastControl = ({ native }: { native: boolean }) => {\n const toast = useToast()\n return (\n <XStack space=\"$2\" justifyContent=\"center\">\n <Button\n onPress={() => {\n toast.show('Successfully saved!', {\n message: \"Don't worry, we've got your data.\",\n native,\n })\n }}\n >\n Show\n </Button>\n <Button\n onPress={() => {\n toast.hide()\n }}\n >\n Hide\n </Button>\n </XStack>\n )\n}\n\nconst NativeOptions = ({\n native,\n setNative,\n}: {\n native: boolean\n setNative: (native: boolean) => void\n}) => {\n return (\n <XStack space=\"$3\">\n <SizableText size=\"$1\">Custom</SizableText>\n\n <Switch\n theme=\"active\"\n size=\"$1\"\n checked={!!native}\n onCheckedChange={(val) => setNative(val)}\n >\n <Switch.Thumb\n animation={[\n 'quick',\n {\n transform: {\n overshootClamping: true,\n },\n },\n ]}\n />\n </Switch>\n\n <SizableText size=\"$1\">Native</SizableText>\n </XStack>\n )\n}\n"],
|
|
5
|
+
"mappings": "AAQI,SACE,KADF;AARJ,SAAS,UAAU,aAAa;AAChC,OAAO,WAAW;AAClB,SAAS,QAAQ,aAAa,QAAQ,QAAQ,cAAc;AAErD,MAAM,YAAY,MAAM;AAC7B,QAAM,CAAC,QAAQ,SAAS,IAAI,MAAM,SAAkB,KAAK;AAEzD,SACE,qBAAC,UAAO,OAAK,MAAC,YAAW,UACvB;AAAA,wBAAC,gBAAa,QAAgB;AAAA,IAC9B,oBAAC,gBAAa;AAAA,IAEd,oBAAC,iBAAc,QAAgB,WAAsB;AAAA,KACvD;AAEJ;AAEA,MAAM,eAAe,MAAM;AACzB,QAAM,EAAE,aAAa,IAAI,SAAS;AAElC,MAAI,CAAC,gBAAgB,aAAa;AAAmB,WAAO;AAC5D,SACE;AAAA,IAAC;AAAA;AAAA,MAEC,UAAU,aAAa;AAAA,MACvB,YAAY,EAAE,SAAS,GAAG,OAAO,KAAK,GAAG,IAAI;AAAA,MAC7C,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,GAAG,IAAI;AAAA,MAC1C,GAAG;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,MACP,WAAU;AAAA,MAEV,+BAAC,UACC;AAAA,4BAAC,MAAM,OAAN,EAAa,uBAAa,OAAM;AAAA,QAChC,CAAC,CAAC,aAAa,WACd,oBAAC,MAAM,aAAN,EAAmB,uBAAa,SAAQ;AAAA,SAE7C;AAAA;AAAA,IAdK,aAAa;AAAA,EAepB;AAEJ;AAEA,MAAM,eAAe,CAAC,EAAE,OAAO,MAA2B;AACxD,QAAM,QAAQ,SAAS;AACvB,SACE,qBAAC,UAAO,OAAM,MAAK,gBAAe,UAChC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,gBAAM,KAAK,uBAAuB;AAAA,YAChC,SAAS;AAAA,YACT;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACD;AAAA;AAAA,IAED;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,gBAAM,KAAK;AAAA,QACb;AAAA,QACD;AAAA;AAAA,IAED;AAAA,KACF;AAEJ;AAEA,MAAM,gBAAgB,CAAC;AAAA,EACrB;AAAA,EACA;AACF,MAGM;AACJ,SACE,qBAAC,UAAO,OAAM,MACZ;AAAA,wBAAC,eAAY,MAAK,MAAK,oBAAM;AAAA,IAE7B;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN,MAAK;AAAA,QACL,SAAS,CAAC,CAAC;AAAA,QACX,iBAAiB,CAAC,QAAQ,UAAU,GAAG;AAAA,QAEvC;AAAA,UAAC,OAAO;AAAA,UAAP;AAAA,YACC,WAAW;AAAA,cACT;AAAA,cACA;AAAA,gBACE,WAAW;AAAA,kBACT,mBAAmB;AAAA,gBACrB;AAAA,cACF;AAAA,YACF;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IAEA,oBAAC,eAAY,MAAK,MAAK,oBAAM;AAAA,KAC/B;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { CheckCircle2 } from "@tamagui/lucide-icons";
|
|
3
|
+
import { Toast } from "@tamagui/toast";
|
|
3
4
|
import React from "react";
|
|
4
|
-
import { Button,
|
|
5
|
+
import { Button, XStack, YStack } from "tamagui";
|
|
5
6
|
const ToastDuplicateDemo = () => {
|
|
6
7
|
const [savedCount, setSavedCount] = React.useState(0);
|
|
7
8
|
return /* @__PURE__ */ jsxs(YStack, { alignItems: "center", children: [
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ToastDuplicateDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { CheckCircle2 } from '@tamagui/lucide-icons'\nimport React from 'react'\nimport { Button,
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import { CheckCircle2 } from '@tamagui/lucide-icons'\nimport { Toast } from '@tamagui/toast'\nimport React from 'react'\nimport { Button, XStack, YStack } from 'tamagui'\n\nexport const ToastDuplicateDemo = () => {\n const [savedCount, setSavedCount] = React.useState(0)\n\n return (\n <YStack alignItems=\"center\">\n <Button\n onPress={() => {\n setSavedCount((old) => old + 1)\n }}\n >\n Show toast\n </Button>\n {[...Array(savedCount)].map((_, index) => (\n <Toast\n viewportName=\"viewport-multiple\" // Sends to a viewport that supports multiple toasts with the `multipleToasts` prop\n key={index}\n duration={4000}\n enterStyle={{ opacity: 0, scale: 0.5, y: -25 }}\n exitStyle={{ opacity: 0, scale: 1, y: -20 }}\n y={0}\n opacity={1}\n scale={1}\n animation=\"100ms\"\n >\n <XStack space alignItems=\"center\">\n <YStack>\n <CheckCircle2 />\n </YStack>\n\n <YStack>\n <Toast.Title>Successfully saved!</Toast.Title>\n <Toast.Description>Don't worry... We've got your data.</Toast.Description>\n </YStack>\n </XStack>\n </Toast>\n ))}\n </YStack>\n )\n}\n"],
|
|
5
|
+
"mappings": "AAUM,cAwBM,YAxBN;AAVN,SAAS,oBAAoB;AAC7B,SAAS,aAAa;AACtB,OAAO,WAAW;AAClB,SAAS,QAAQ,QAAQ,cAAc;AAEhC,MAAM,qBAAqB,MAAM;AACtC,QAAM,CAAC,YAAY,aAAa,IAAI,MAAM,SAAS,CAAC;AAEpD,SACE,qBAAC,UAAO,YAAW,UACjB;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,wBAAc,CAAC,QAAQ,MAAM,CAAC;AAAA,QAChC;AAAA,QACD;AAAA;AAAA,IAED;AAAA,IACC,CAAC,GAAG,MAAM,UAAU,CAAC,EAAE,IAAI,CAAC,GAAG,UAC9B;AAAA,MAAC;AAAA;AAAA,QACC,cAAa;AAAA,QAEb,UAAU;AAAA,QACV,YAAY,EAAE,SAAS,GAAG,OAAO,KAAK,GAAG,IAAI;AAAA,QAC7C,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,GAAG,IAAI;AAAA,QAC1C,GAAG;AAAA,QACH,SAAS;AAAA,QACT,OAAO;AAAA,QACP,WAAU;AAAA,QAEV,+BAAC,UAAO,OAAK,MAAC,YAAW,UACvB;AAAA,8BAAC,UACC,8BAAC,gBAAa,GAChB;AAAA,UAEA,qBAAC,UACC;AAAA,gCAAC,MAAM,OAAN,EAAY,iCAAmB;AAAA,YAChC,oBAAC,MAAM,aAAN,EAAkB,iDAAmC;AAAA,aACxD;AAAA,WACF;AAAA;AAAA,MAlBK;AAAA,IAmBP,CACD;AAAA,KACH;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { CheckCircle2 } from "@tamagui/lucide-icons";
|
|
3
|
+
import { Toast } from "@tamagui/toast";
|
|
3
4
|
import React from "react";
|
|
4
|
-
import { Button,
|
|
5
|
+
import { Button, XStack, YStack } from "tamagui";
|
|
5
6
|
const ToastDuplicateDemo = () => {
|
|
6
7
|
const [savedCount, setSavedCount] = React.useState(0);
|
|
7
8
|
return /* @__PURE__ */ jsxs(YStack, { alignItems: "center", children: [
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ToastDuplicateDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { CheckCircle2 } from '@tamagui/lucide-icons'\nimport React from 'react'\nimport { Button,
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import { CheckCircle2 } from '@tamagui/lucide-icons'\nimport { Toast } from '@tamagui/toast'\nimport React from 'react'\nimport { Button, XStack, YStack } from 'tamagui'\n\nexport const ToastDuplicateDemo = () => {\n const [savedCount, setSavedCount] = React.useState(0)\n\n return (\n <YStack alignItems=\"center\">\n <Button\n onPress={() => {\n setSavedCount((old) => old + 1)\n }}\n >\n Show toast\n </Button>\n {[...Array(savedCount)].map((_, index) => (\n <Toast\n viewportName=\"viewport-multiple\" // Sends to a viewport that supports multiple toasts with the `multipleToasts` prop\n key={index}\n duration={4000}\n enterStyle={{ opacity: 0, scale: 0.5, y: -25 }}\n exitStyle={{ opacity: 0, scale: 1, y: -20 }}\n y={0}\n opacity={1}\n scale={1}\n animation=\"100ms\"\n >\n <XStack space alignItems=\"center\">\n <YStack>\n <CheckCircle2 />\n </YStack>\n\n <YStack>\n <Toast.Title>Successfully saved!</Toast.Title>\n <Toast.Description>Don't worry... We've got your data.</Toast.Description>\n </YStack>\n </XStack>\n </Toast>\n ))}\n </YStack>\n )\n}\n"],
|
|
5
|
+
"mappings": "AAUM,cAwBM,YAxBN;AAVN,SAAS,oBAAoB;AAC7B,SAAS,aAAa;AACtB,OAAO,WAAW;AAClB,SAAS,QAAQ,QAAQ,cAAc;AAEhC,MAAM,qBAAqB,MAAM;AACtC,QAAM,CAAC,YAAY,aAAa,IAAI,MAAM,SAAS,CAAC;AAEpD,SACE,qBAAC,UAAO,YAAW,UACjB;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,wBAAc,CAAC,QAAQ,MAAM,CAAC;AAAA,QAChC;AAAA,QACD;AAAA;AAAA,IAED;AAAA,IACC,CAAC,GAAG,MAAM,UAAU,CAAC,EAAE,IAAI,CAAC,GAAG,UAC9B;AAAA,MAAC;AAAA;AAAA,QACC,cAAa;AAAA,QAEb,UAAU;AAAA,QACV,YAAY,EAAE,SAAS,GAAG,OAAO,KAAK,GAAG,IAAI;AAAA,QAC7C,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,GAAG,IAAI;AAAA,QAC1C,GAAG;AAAA,QACH,SAAS;AAAA,QACT,OAAO;AAAA,QACP,WAAU;AAAA,QAEV,+BAAC,UAAO,OAAK,MAAC,YAAW,UACvB;AAAA,8BAAC,UACC,8BAAC,gBAAa,GAChB;AAAA,UAEA,qBAAC,UACC;AAAA,gCAAC,MAAM,OAAN,EAAY,iCAAmB;AAAA,YAChC,oBAAC,MAAM,aAAN,EAAkB,iDAAmC;AAAA,aACxD;AAAA,WACF;AAAA;AAAA,MAlBK;AAAA,IAmBP,CACD;AAAA,KACH;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/jsx/ToastDemo.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { useToast, Toast } from "@tamagui/toast";
|
|
1
2
|
import React from "react";
|
|
2
|
-
import { Button, SizableText, Switch,
|
|
3
|
+
import { Button, SizableText, Switch, XStack, YStack } from "tamagui";
|
|
3
4
|
const ToastDemo = () => {
|
|
4
5
|
const [native, setNative] = React.useState(false);
|
|
5
6
|
return <YStack space alignItems="center">
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ToastDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from 'react'\nimport { Button, SizableText, Switch,
|
|
5
|
-
"mappings": "AAAA,OAAO,WAAW;AAClB,SAAS,QAAQ,aAAa,QAAQ,
|
|
4
|
+
"sourcesContent": ["import { useToast, Toast } from '@tamagui/toast'\nimport React from 'react'\nimport { Button, SizableText, Switch, XStack, YStack } from 'tamagui'\n\nexport const ToastDemo = () => {\n const [native, setNative] = React.useState<boolean>(false)\n\n return (\n <YStack space alignItems=\"center\">\n <ToastControl native={native} />\n <CurrentToast />\n\n <NativeOptions native={native} setNative={setNative} />\n </YStack>\n )\n}\n\nconst CurrentToast = () => {\n const { currentToast } = useToast()\n\n if (!currentToast || currentToast.isHandledNatively) return null\n return (\n <Toast\n key={currentToast.id}\n duration={currentToast.duration}\n enterStyle={{ opacity: 0, scale: 0.5, y: -25 }}\n exitStyle={{ opacity: 0, scale: 1, y: -20 }}\n y={0}\n opacity={1}\n scale={1}\n animation=\"100ms\"\n >\n <YStack>\n <Toast.Title>{currentToast.title}</Toast.Title>\n {!!currentToast.message && (\n <Toast.Description>{currentToast.message}</Toast.Description>\n )}\n </YStack>\n </Toast>\n )\n}\n\nconst ToastControl = ({ native }: { native: boolean }) => {\n const toast = useToast()\n return (\n <XStack space=\"$2\" justifyContent=\"center\">\n <Button\n onPress={() => {\n toast.show('Successfully saved!', {\n message: \"Don't worry, we've got your data.\",\n native,\n })\n }}\n >\n Show\n </Button>\n <Button\n onPress={() => {\n toast.hide()\n }}\n >\n Hide\n </Button>\n </XStack>\n )\n}\n\nconst NativeOptions = ({\n native,\n setNative,\n}: {\n native: boolean\n setNative: (native: boolean) => void\n}) => {\n return (\n <XStack space=\"$3\">\n <SizableText size=\"$1\">Custom</SizableText>\n\n <Switch\n theme=\"active\"\n size=\"$1\"\n checked={!!native}\n onCheckedChange={(val) => setNative(val)}\n >\n <Switch.Thumb\n animation={[\n 'quick',\n {\n transform: {\n overshootClamping: true,\n },\n },\n ]}\n />\n </Switch>\n\n <SizableText size=\"$1\">Native</SizableText>\n </XStack>\n )\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,UAAU,aAAa;AAChC,OAAO,WAAW;AAClB,SAAS,QAAQ,aAAa,QAAQ,QAAQ,cAAc;AAErD,MAAM,YAAY,MAAM;AAC7B,QAAM,CAAC,QAAQ,SAAS,IAAI,MAAM,SAAkB,KAAK;AAEzD,SACE,CAAC,OAAO,MAAM,WAAW;AAAA,IACvB,CAAC,aAAa,QAAQ,QAAQ;AAAA,IAC9B,CAAC,aAAa;AAAA,IAEd,CAAC,cAAc,QAAQ,QAAQ,WAAW,WAAW;AAAA,EACvD,EALC;AAOL;AAEA,MAAM,eAAe,MAAM;AACzB,QAAM,EAAE,aAAa,IAAI,SAAS;AAElC,MAAI,CAAC,gBAAgB,aAAa;AAAmB,WAAO;AAC5D,SACE,CAAC;AAAA,IACC,KAAK,aAAa;AAAA,IAClB,UAAU,aAAa;AAAA,IACvB,YAAY,EAAE,SAAS,GAAG,OAAO,KAAK,GAAG,IAAI;AAAA,IAC7C,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,GAAG,IAAI;AAAA,IAC1C,GAAG;AAAA,IACH,SAAS;AAAA,IACT,OAAO;AAAA,IACP,UAAU;AAAA,GAEV,CAAC;AAAA,IACC,CAAC,MAAM,OAAO,aAAa,MAAM,EAAhC,MAAM;AAAA,KACN,CAAC,CAAC,aAAa,WACd,CAAC,MAAM,aAAa,aAAa,QAAQ,EAAxC,MAAM;AAAA,EAEX,EALC,OAMH,EAhBC;AAkBL;AAEA,MAAM,eAAe,CAAC,EAAE,OAAO,MAA2B;AACxD,QAAM,QAAQ,SAAS;AACvB,SACE,CAAC,OAAO,MAAM,KAAK,eAAe;AAAA,IAChC,CAAC;AAAA,MACC,SAAS,MAAM;AACb,cAAM,KAAK,uBAAuB;AAAA,UAChC,SAAS;AAAA,UACT;AAAA,QACF,CAAC;AAAA,MACH;AAAA,KACD,IAED,EATC;AAAA,IAUD,CAAC;AAAA,MACC,SAAS,MAAM;AACb,cAAM,KAAK;AAAA,MACb;AAAA,KACD,IAED,EANC;AAAA,EAOH,EAlBC;AAoBL;AAEA,MAAM,gBAAgB,CAAC;AAAA,EACrB;AAAA,EACA;AACF,MAGM;AACJ,SACE,CAAC,OAAO,MAAM;AAAA,IACZ,CAAC,YAAY,KAAK,KAAK,MAAM,EAA5B;AAAA,IAED,CAAC;AAAA,MACC,MAAM;AAAA,MACN,KAAK;AAAA,MACL,SAAS,CAAC,CAAC;AAAA,MACX,iBAAiB,CAAC,QAAQ,UAAU,GAAG;AAAA,KAEvC,CAAC,OAAO;AAAA,MACN,WAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,WAAW;AAAA,YACT,mBAAmB;AAAA,UACrB;AAAA,QACF;AAAA,MACF;AAAA,IACF,EACF,EAhBC;AAAA,IAkBD,CAAC,YAAY,KAAK,KAAK,MAAM,EAA5B;AAAA,EACH,EAtBC;AAwBL;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/jsx/ToastDemo.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { useToast, Toast } from "@tamagui/toast";
|
|
1
2
|
import React from "react";
|
|
2
|
-
import { Button, SizableText, Switch,
|
|
3
|
+
import { Button, SizableText, Switch, XStack, YStack } from "tamagui";
|
|
3
4
|
const ToastDemo = () => {
|
|
4
5
|
const [native, setNative] = React.useState(false);
|
|
5
6
|
return <YStack space alignItems="center">
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ToastDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from 'react'\nimport { Button, SizableText, Switch,
|
|
5
|
-
"mappings": "AAAA,OAAO,WAAW;AAClB,SAAS,QAAQ,aAAa,QAAQ,
|
|
4
|
+
"sourcesContent": ["import { useToast, Toast } from '@tamagui/toast'\nimport React from 'react'\nimport { Button, SizableText, Switch, XStack, YStack } from 'tamagui'\n\nexport const ToastDemo = () => {\n const [native, setNative] = React.useState<boolean>(false)\n\n return (\n <YStack space alignItems=\"center\">\n <ToastControl native={native} />\n <CurrentToast />\n\n <NativeOptions native={native} setNative={setNative} />\n </YStack>\n )\n}\n\nconst CurrentToast = () => {\n const { currentToast } = useToast()\n\n if (!currentToast || currentToast.isHandledNatively) return null\n return (\n <Toast\n key={currentToast.id}\n duration={currentToast.duration}\n enterStyle={{ opacity: 0, scale: 0.5, y: -25 }}\n exitStyle={{ opacity: 0, scale: 1, y: -20 }}\n y={0}\n opacity={1}\n scale={1}\n animation=\"100ms\"\n >\n <YStack>\n <Toast.Title>{currentToast.title}</Toast.Title>\n {!!currentToast.message && (\n <Toast.Description>{currentToast.message}</Toast.Description>\n )}\n </YStack>\n </Toast>\n )\n}\n\nconst ToastControl = ({ native }: { native: boolean }) => {\n const toast = useToast()\n return (\n <XStack space=\"$2\" justifyContent=\"center\">\n <Button\n onPress={() => {\n toast.show('Successfully saved!', {\n message: \"Don't worry, we've got your data.\",\n native,\n })\n }}\n >\n Show\n </Button>\n <Button\n onPress={() => {\n toast.hide()\n }}\n >\n Hide\n </Button>\n </XStack>\n )\n}\n\nconst NativeOptions = ({\n native,\n setNative,\n}: {\n native: boolean\n setNative: (native: boolean) => void\n}) => {\n return (\n <XStack space=\"$3\">\n <SizableText size=\"$1\">Custom</SizableText>\n\n <Switch\n theme=\"active\"\n size=\"$1\"\n checked={!!native}\n onCheckedChange={(val) => setNative(val)}\n >\n <Switch.Thumb\n animation={[\n 'quick',\n {\n transform: {\n overshootClamping: true,\n },\n },\n ]}\n />\n </Switch>\n\n <SizableText size=\"$1\">Native</SizableText>\n </XStack>\n )\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,UAAU,aAAa;AAChC,OAAO,WAAW;AAClB,SAAS,QAAQ,aAAa,QAAQ,QAAQ,cAAc;AAErD,MAAM,YAAY,MAAM;AAC7B,QAAM,CAAC,QAAQ,SAAS,IAAI,MAAM,SAAkB,KAAK;AAEzD,SACE,CAAC,OAAO,MAAM,WAAW;AAAA,IACvB,CAAC,aAAa,QAAQ,QAAQ;AAAA,IAC9B,CAAC,aAAa;AAAA,IAEd,CAAC,cAAc,QAAQ,QAAQ,WAAW,WAAW;AAAA,EACvD,EALC;AAOL;AAEA,MAAM,eAAe,MAAM;AACzB,QAAM,EAAE,aAAa,IAAI,SAAS;AAElC,MAAI,CAAC,gBAAgB,aAAa;AAAmB,WAAO;AAC5D,SACE,CAAC;AAAA,IACC,KAAK,aAAa;AAAA,IAClB,UAAU,aAAa;AAAA,IACvB,YAAY,EAAE,SAAS,GAAG,OAAO,KAAK,GAAG,IAAI;AAAA,IAC7C,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,GAAG,IAAI;AAAA,IAC1C,GAAG;AAAA,IACH,SAAS;AAAA,IACT,OAAO;AAAA,IACP,UAAU;AAAA,GAEV,CAAC;AAAA,IACC,CAAC,MAAM,OAAO,aAAa,MAAM,EAAhC,MAAM;AAAA,KACN,CAAC,CAAC,aAAa,WACd,CAAC,MAAM,aAAa,aAAa,QAAQ,EAAxC,MAAM;AAAA,EAEX,EALC,OAMH,EAhBC;AAkBL;AAEA,MAAM,eAAe,CAAC,EAAE,OAAO,MAA2B;AACxD,QAAM,QAAQ,SAAS;AACvB,SACE,CAAC,OAAO,MAAM,KAAK,eAAe;AAAA,IAChC,CAAC;AAAA,MACC,SAAS,MAAM;AACb,cAAM,KAAK,uBAAuB;AAAA,UAChC,SAAS;AAAA,UACT;AAAA,QACF,CAAC;AAAA,MACH;AAAA,KACD,IAED,EATC;AAAA,IAUD,CAAC;AAAA,MACC,SAAS,MAAM;AACb,cAAM,KAAK;AAAA,MACb;AAAA,KACD,IAED,EANC;AAAA,EAOH,EAlBC;AAoBL;AAEA,MAAM,gBAAgB,CAAC;AAAA,EACrB;AAAA,EACA;AACF,MAGM;AACJ,SACE,CAAC,OAAO,MAAM;AAAA,IACZ,CAAC,YAAY,KAAK,KAAK,MAAM,EAA5B;AAAA,IAED,CAAC;AAAA,MACC,MAAM;AAAA,MACN,KAAK;AAAA,MACL,SAAS,CAAC,CAAC;AAAA,MACX,iBAAiB,CAAC,QAAQ,UAAU,GAAG;AAAA,KAEvC,CAAC,OAAO;AAAA,MACN,WAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,WAAW;AAAA,YACT,mBAAmB;AAAA,UACrB;AAAA,QACF;AAAA,MACF;AAAA,IACF,EACF,EAhBC;AAAA,IAkBD,CAAC,YAAY,KAAK,KAAK,MAAM,EAA5B;AAAA,EACH,EAtBC;AAwBL;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CheckCircle2 } from "@tamagui/lucide-icons";
|
|
2
|
+
import { Toast } from "@tamagui/toast";
|
|
2
3
|
import React from "react";
|
|
3
|
-
import { Button,
|
|
4
|
+
import { Button, XStack, YStack } from "tamagui";
|
|
4
5
|
const ToastDuplicateDemo = () => {
|
|
5
6
|
const [savedCount, setSavedCount] = React.useState(0);
|
|
6
7
|
return <YStack alignItems="center">
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ToastDuplicateDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { CheckCircle2 } from '@tamagui/lucide-icons'\nimport React from 'react'\nimport { Button,
|
|
5
|
-
"mappings": "AAAA,SAAS,oBAAoB;AAC7B,OAAO,WAAW;AAClB,SAAS,QAAQ,
|
|
4
|
+
"sourcesContent": ["import { CheckCircle2 } from '@tamagui/lucide-icons'\nimport { Toast } from '@tamagui/toast'\nimport React from 'react'\nimport { Button, XStack, YStack } from 'tamagui'\n\nexport const ToastDuplicateDemo = () => {\n const [savedCount, setSavedCount] = React.useState(0)\n\n return (\n <YStack alignItems=\"center\">\n <Button\n onPress={() => {\n setSavedCount((old) => old + 1)\n }}\n >\n Show toast\n </Button>\n {[...Array(savedCount)].map((_, index) => (\n <Toast\n viewportName=\"viewport-multiple\" // Sends to a viewport that supports multiple toasts with the `multipleToasts` prop\n key={index}\n duration={4000}\n enterStyle={{ opacity: 0, scale: 0.5, y: -25 }}\n exitStyle={{ opacity: 0, scale: 1, y: -20 }}\n y={0}\n opacity={1}\n scale={1}\n animation=\"100ms\"\n >\n <XStack space alignItems=\"center\">\n <YStack>\n <CheckCircle2 />\n </YStack>\n\n <YStack>\n <Toast.Title>Successfully saved!</Toast.Title>\n <Toast.Description>Don't worry... We've got your data.</Toast.Description>\n </YStack>\n </XStack>\n </Toast>\n ))}\n </YStack>\n )\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,oBAAoB;AAC7B,SAAS,aAAa;AACtB,OAAO,WAAW;AAClB,SAAS,QAAQ,QAAQ,cAAc;AAEhC,MAAM,qBAAqB,MAAM;AACtC,QAAM,CAAC,YAAY,aAAa,IAAI,MAAM,SAAS,CAAC;AAEpD,SACE,CAAC,OAAO,WAAW;AAAA,IACjB,CAAC;AAAA,MACC,SAAS,MAAM;AACb,sBAAc,CAAC,QAAQ,MAAM,CAAC;AAAA,MAChC;AAAA,KACD,UAED,EANC;AAAA,KAOA,CAAC,GAAG,MAAM,UAAU,CAAC,EAAE,IAAI,CAAC,GAAG,UAC9B,CAAC;AAAA,MACC,aAAa;AAAA,MACb,KAAK;AAAA,MACL,UAAU;AAAA,MACV,YAAY,EAAE,SAAS,GAAG,OAAO,KAAK,GAAG,IAAI;AAAA,MAC7C,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,GAAG,IAAI;AAAA,MAC1C,GAAG;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,MACP,UAAU;AAAA,KAEV,CAAC,OAAO,MAAM,WAAW;AAAA,MACvB,CAAC,OACC,CAAC,aAAa,EAChB,EAFC;AAAA,MAID,CAAC;AAAA,QACC,CAAC,MAAM,MAAM,mBAAmB,EAA/B,MAAM;AAAA,QACP,CAAC,MAAM,YAAY,mCAAmC,EAArD,MAAM;AAAA,MACT,EAHC;AAAA,IAIH,EATC,OAUH,EArBC,MAsBF;AAAA,EACH,EAhCC;AAkCL;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CheckCircle2 } from "@tamagui/lucide-icons";
|
|
2
|
+
import { Toast } from "@tamagui/toast";
|
|
2
3
|
import React from "react";
|
|
3
|
-
import { Button,
|
|
4
|
+
import { Button, XStack, YStack } from "tamagui";
|
|
4
5
|
const ToastDuplicateDemo = () => {
|
|
5
6
|
const [savedCount, setSavedCount] = React.useState(0);
|
|
6
7
|
return <YStack alignItems="center">
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/ToastDuplicateDemo.tsx"],
|
|
4
|
-
"sourcesContent": ["import { CheckCircle2 } from '@tamagui/lucide-icons'\nimport React from 'react'\nimport { Button,
|
|
5
|
-
"mappings": "AAAA,SAAS,oBAAoB;AAC7B,OAAO,WAAW;AAClB,SAAS,QAAQ,
|
|
4
|
+
"sourcesContent": ["import { CheckCircle2 } from '@tamagui/lucide-icons'\nimport { Toast } from '@tamagui/toast'\nimport React from 'react'\nimport { Button, XStack, YStack } from 'tamagui'\n\nexport const ToastDuplicateDemo = () => {\n const [savedCount, setSavedCount] = React.useState(0)\n\n return (\n <YStack alignItems=\"center\">\n <Button\n onPress={() => {\n setSavedCount((old) => old + 1)\n }}\n >\n Show toast\n </Button>\n {[...Array(savedCount)].map((_, index) => (\n <Toast\n viewportName=\"viewport-multiple\" // Sends to a viewport that supports multiple toasts with the `multipleToasts` prop\n key={index}\n duration={4000}\n enterStyle={{ opacity: 0, scale: 0.5, y: -25 }}\n exitStyle={{ opacity: 0, scale: 1, y: -20 }}\n y={0}\n opacity={1}\n scale={1}\n animation=\"100ms\"\n >\n <XStack space alignItems=\"center\">\n <YStack>\n <CheckCircle2 />\n </YStack>\n\n <YStack>\n <Toast.Title>Successfully saved!</Toast.Title>\n <Toast.Description>Don't worry... We've got your data.</Toast.Description>\n </YStack>\n </XStack>\n </Toast>\n ))}\n </YStack>\n )\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,oBAAoB;AAC7B,SAAS,aAAa;AACtB,OAAO,WAAW;AAClB,SAAS,QAAQ,QAAQ,cAAc;AAEhC,MAAM,qBAAqB,MAAM;AACtC,QAAM,CAAC,YAAY,aAAa,IAAI,MAAM,SAAS,CAAC;AAEpD,SACE,CAAC,OAAO,WAAW;AAAA,IACjB,CAAC;AAAA,MACC,SAAS,MAAM;AACb,sBAAc,CAAC,QAAQ,MAAM,CAAC;AAAA,MAChC;AAAA,KACD,UAED,EANC;AAAA,KAOA,CAAC,GAAG,MAAM,UAAU,CAAC,EAAE,IAAI,CAAC,GAAG,UAC9B,CAAC;AAAA,MACC,aAAa;AAAA,MACb,KAAK;AAAA,MACL,UAAU;AAAA,MACV,YAAY,EAAE,SAAS,GAAG,OAAO,KAAK,GAAG,IAAI;AAAA,MAC7C,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,GAAG,IAAI;AAAA,MAC1C,GAAG;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,MACP,UAAU;AAAA,KAEV,CAAC,OAAO,MAAM,WAAW;AAAA,MACvB,CAAC,OACC,CAAC,aAAa,EAChB,EAFC;AAAA,MAID,CAAC;AAAA,QACC,CAAC,MAAM,MAAM,mBAAmB,EAA/B,MAAM;AAAA,QACP,CAAC,MAAM,YAAY,mCAAmC,EAArD,MAAM;AAAA,MACT,EAHC;AAAA,IAIH,EATC,OAUH,EArBC,MAsBF;AAAA,EACH,EAhCC;AAkCL;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/demos",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0",
|
|
4
4
|
"sideEffects": [
|
|
5
5
|
"*.css"
|
|
6
6
|
],
|
|
@@ -28,28 +28,29 @@
|
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@tamagui/avatar": "1.
|
|
32
|
-
"@tamagui/button": "1.
|
|
33
|
-
"@tamagui/config": "1.
|
|
34
|
-
"@tamagui/core": "1.
|
|
35
|
-
"@tamagui/list-item": "1.
|
|
36
|
-
"@tamagui/logo": "1.
|
|
37
|
-
"@tamagui/menu": "1.
|
|
38
|
-
"@tamagui/popover": "1.
|
|
39
|
-
"@tamagui/progress": "1.
|
|
40
|
-
"@tamagui/radio-group": "1.
|
|
41
|
-
"@tamagui/select": "1.
|
|
42
|
-
"@tamagui/sheet": "1.
|
|
43
|
-
"@tamagui/slider": "1.
|
|
44
|
-
"@tamagui/stacks": "1.
|
|
45
|
-
"tamagui": "1.
|
|
31
|
+
"@tamagui/avatar": "1.13.0",
|
|
32
|
+
"@tamagui/button": "1.13.0",
|
|
33
|
+
"@tamagui/config": "1.13.0",
|
|
34
|
+
"@tamagui/core": "1.13.0",
|
|
35
|
+
"@tamagui/list-item": "1.13.0",
|
|
36
|
+
"@tamagui/logo": "1.13.0",
|
|
37
|
+
"@tamagui/menu": "1.13.0",
|
|
38
|
+
"@tamagui/popover": "1.13.0",
|
|
39
|
+
"@tamagui/progress": "1.13.0",
|
|
40
|
+
"@tamagui/radio-group": "1.13.0",
|
|
41
|
+
"@tamagui/select": "1.13.0",
|
|
42
|
+
"@tamagui/sheet": "1.13.0",
|
|
43
|
+
"@tamagui/slider": "1.13.0",
|
|
44
|
+
"@tamagui/stacks": "1.13.0",
|
|
45
|
+
"@tamagui/toast": "1.13.0",
|
|
46
|
+
"tamagui": "1.13.0"
|
|
46
47
|
},
|
|
47
48
|
"peerDependencies": {
|
|
48
49
|
"react": "*",
|
|
49
50
|
"react-dom": "*"
|
|
50
51
|
},
|
|
51
52
|
"devDependencies": {
|
|
52
|
-
"@tamagui/build": "1.
|
|
53
|
+
"@tamagui/build": "1.13.0",
|
|
53
54
|
"react": "^18.2.0",
|
|
54
55
|
"react-dom": "^18.2.0"
|
|
55
56
|
},
|
package/src/ToastDemo.tsx
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { useToast, Toast } from '@tamagui/toast'
|
|
1
2
|
import React from 'react'
|
|
2
|
-
import { Button, SizableText, Switch,
|
|
3
|
+
import { Button, SizableText, Switch, XStack, YStack } from 'tamagui'
|
|
3
4
|
|
|
4
5
|
export const ToastDemo = () => {
|
|
5
6
|
const [native, setNative] = React.useState<boolean>(false)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CheckCircle2 } from '@tamagui/lucide-icons'
|
|
2
|
+
import { Toast } from '@tamagui/toast'
|
|
2
3
|
import React from 'react'
|
|
3
|
-
import { Button,
|
|
4
|
+
import { Button, XStack, YStack } from 'tamagui'
|
|
4
5
|
|
|
5
6
|
export const ToastDuplicateDemo = () => {
|
|
6
7
|
const [savedCount, setSavedCount] = React.useState(0)
|
package/types/ToastDemo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToastDemo.d.ts","sourceRoot":"","sources":["../src/ToastDemo.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ToastDemo.d.ts","sourceRoot":"","sources":["../src/ToastDemo.tsx"],"names":[],"mappings":";AAIA,eAAO,MAAM,SAAS,mBAWrB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToastDuplicateDemo.d.ts","sourceRoot":"","sources":["../src/ToastDuplicateDemo.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ToastDuplicateDemo.d.ts","sourceRoot":"","sources":["../src/ToastDuplicateDemo.tsx"],"names":[],"mappings":";AAKA,eAAO,MAAM,kBAAkB,mBAsC9B,CAAA"}
|