@tamagui/demos 1.2.9 → 1.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/dist/esm/AddThemeDemo.mjs +35 -0
  2. package/dist/esm/AddThemeDemo.mjs.map +7 -0
  3. package/dist/esm/AlertDialogDemo.mjs +53 -0
  4. package/dist/esm/AlertDialogDemo.mjs.map +7 -0
  5. package/dist/esm/AnimationsDemo.mjs +89 -0
  6. package/dist/esm/AnimationsDemo.mjs.map +7 -0
  7. package/dist/esm/AnimationsEnterDemo.mjs +40 -0
  8. package/dist/esm/AnimationsEnterDemo.mjs.map +7 -0
  9. package/dist/esm/AnimationsHoverDemo.mjs +26 -0
  10. package/dist/esm/AnimationsHoverDemo.mjs.map +7 -0
  11. package/dist/esm/AnimationsPresenceDemo.mjs +62 -0
  12. package/dist/esm/AnimationsPresenceDemo.mjs.map +7 -0
  13. package/dist/esm/AnimationsTimingDemo.mjs +26 -0
  14. package/dist/esm/AnimationsTimingDemo.mjs.map +7 -0
  15. package/dist/esm/AvatarDemo.mjs +30 -0
  16. package/dist/esm/AvatarDemo.mjs.map +7 -0
  17. package/dist/esm/ButtonDemo.mjs +25 -0
  18. package/dist/esm/ButtonDemo.mjs.map +7 -0
  19. package/dist/esm/CardDemo.mjs +46 -0
  20. package/dist/esm/CardDemo.mjs.map +7 -0
  21. package/dist/esm/ColorsDemo.mjs +96 -0
  22. package/dist/esm/ColorsDemo.mjs.map +7 -0
  23. package/dist/esm/DialogDemo.mjs +72 -0
  24. package/dist/esm/DialogDemo.mjs.map +7 -0
  25. package/dist/esm/FeatherIconsDemo.mjs +33 -0
  26. package/dist/esm/FeatherIconsDemo.mjs.map +7 -0
  27. package/dist/esm/FormsDemo.mjs +20 -0
  28. package/dist/esm/FormsDemo.mjs.map +7 -0
  29. package/dist/esm/GroupDemo.mjs +25 -0
  30. package/dist/esm/GroupDemo.mjs.map +7 -0
  31. package/dist/esm/HeadingsDemo.mjs +16 -0
  32. package/dist/esm/HeadingsDemo.mjs.map +7 -0
  33. package/dist/esm/ImageDemo.mjs +9 -0
  34. package/dist/esm/ImageDemo.mjs.map +7 -0
  35. package/dist/esm/LabelDemo.mjs +18 -0
  36. package/dist/esm/LabelDemo.mjs.map +7 -0
  37. package/dist/esm/LinearGradientDemo.mjs +33 -0
  38. package/dist/esm/LinearGradientDemo.mjs.map +7 -0
  39. package/dist/esm/ListItemDemo.mjs +47 -0
  40. package/dist/esm/ListItemDemo.mjs.map +7 -0
  41. package/dist/esm/LucideIconsDemo.mjs +33 -0
  42. package/dist/esm/LucideIconsDemo.mjs.map +7 -0
  43. package/dist/esm/PopoverDemo.mjs +76 -0
  44. package/dist/esm/PopoverDemo.mjs.map +7 -0
  45. package/dist/esm/ProgressDemo.mjs +55 -0
  46. package/dist/esm/ProgressDemo.mjs.map +7 -0
  47. package/dist/esm/ScrollViewDemo.mjs +18 -0
  48. package/dist/esm/ScrollViewDemo.mjs.map +7 -0
  49. package/dist/esm/SelectDemo.mjs +80 -0
  50. package/dist/esm/SelectDemo.mjs.map +7 -0
  51. package/dist/esm/SeparatorDemo.mjs +20 -0
  52. package/dist/esm/SeparatorDemo.mjs.map +7 -0
  53. package/dist/esm/ShapesDemo.mjs +12 -0
  54. package/dist/esm/ShapesDemo.mjs.map +7 -0
  55. package/dist/esm/SheetDemo.mjs +78 -0
  56. package/dist/esm/SheetDemo.mjs.map +7 -0
  57. package/dist/esm/SliderDemo.mjs +19 -0
  58. package/dist/esm/SliderDemo.mjs.map +7 -0
  59. package/dist/esm/SpinnerDemo.mjs +12 -0
  60. package/dist/esm/SpinnerDemo.mjs.map +7 -0
  61. package/dist/esm/StacksDemo.mjs +25 -0
  62. package/dist/esm/StacksDemo.mjs.map +7 -0
  63. package/dist/esm/SwitchDemo.mjs +22 -0
  64. package/dist/esm/SwitchDemo.mjs.map +7 -0
  65. package/dist/esm/TextDemo.mjs +17 -0
  66. package/dist/esm/TextDemo.mjs.map +7 -0
  67. package/dist/esm/ThemeInverseDemo.mjs +20 -0
  68. package/dist/esm/ThemeInverseDemo.mjs.map +7 -0
  69. package/dist/esm/TokensDemo.mjs +100 -0
  70. package/dist/esm/TokensDemo.mjs.map +7 -0
  71. package/dist/esm/TooltipDemo.mjs +69 -0
  72. package/dist/esm/TooltipDemo.mjs.map +7 -0
  73. package/dist/esm/UpdateThemeDemo.mjs +55 -0
  74. package/dist/esm/UpdateThemeDemo.mjs.map +7 -0
  75. package/dist/esm/conf.mjs +5 -0
  76. package/dist/esm/conf.mjs.map +7 -0
  77. package/dist/esm/index.mjs +78 -0
  78. package/dist/esm/index.mjs.map +7 -0
  79. package/dist/esm/tamagui.config.mjs +6 -0
  80. package/dist/esm/tamagui.config.mjs.map +7 -0
  81. package/dist/esm/useOnIntersecting.mjs +68 -0
  82. package/dist/esm/useOnIntersecting.mjs.map +7 -0
  83. package/dist/jsx/AddThemeDemo.mjs +30 -0
  84. package/dist/jsx/AddThemeDemo.mjs.map +7 -0
  85. package/dist/jsx/AlertDialogDemo.mjs +45 -0
  86. package/dist/jsx/AlertDialogDemo.mjs.map +7 -0
  87. package/dist/jsx/AnimationsDemo.mjs +81 -0
  88. package/dist/jsx/AnimationsDemo.mjs.map +7 -0
  89. package/dist/jsx/AnimationsEnterDemo.mjs +35 -0
  90. package/dist/jsx/AnimationsEnterDemo.mjs.map +7 -0
  91. package/dist/jsx/AnimationsHoverDemo.mjs +21 -0
  92. package/dist/jsx/AnimationsHoverDemo.mjs.map +7 -0
  93. package/dist/jsx/AnimationsPresenceDemo.mjs +55 -0
  94. package/dist/jsx/AnimationsPresenceDemo.mjs.map +7 -0
  95. package/dist/jsx/AnimationsTimingDemo.mjs +21 -0
  96. package/dist/jsx/AnimationsTimingDemo.mjs.map +7 -0
  97. package/dist/jsx/AvatarDemo.mjs +23 -0
  98. package/dist/jsx/AvatarDemo.mjs.map +7 -0
  99. package/dist/jsx/ButtonDemo.mjs +24 -0
  100. package/dist/jsx/ButtonDemo.mjs.map +7 -0
  101. package/dist/jsx/CardDemo.mjs +39 -0
  102. package/dist/jsx/CardDemo.mjs.map +7 -0
  103. package/dist/jsx/ColorsDemo.mjs +84 -0
  104. package/dist/jsx/ColorsDemo.mjs.map +7 -0
  105. package/dist/jsx/DialogDemo.mjs +64 -0
  106. package/dist/jsx/DialogDemo.mjs.map +7 -0
  107. package/dist/jsx/FeatherIconsDemo.mjs +32 -0
  108. package/dist/jsx/FeatherIconsDemo.mjs.map +7 -0
  109. package/dist/jsx/FormsDemo.mjs +19 -0
  110. package/dist/jsx/FormsDemo.mjs.map +7 -0
  111. package/dist/jsx/GroupDemo.mjs +24 -0
  112. package/dist/jsx/GroupDemo.mjs.map +7 -0
  113. package/dist/jsx/HeadingsDemo.mjs +15 -0
  114. package/dist/jsx/HeadingsDemo.mjs.map +7 -0
  115. package/dist/jsx/ImageDemo.mjs +8 -0
  116. package/dist/jsx/ImageDemo.mjs.map +7 -0
  117. package/dist/jsx/LabelDemo.mjs +17 -0
  118. package/dist/jsx/LabelDemo.mjs.map +7 -0
  119. package/dist/jsx/LinearGradientDemo.mjs +26 -0
  120. package/dist/jsx/LinearGradientDemo.mjs.map +7 -0
  121. package/dist/jsx/ListItemDemo.mjs +40 -0
  122. package/dist/jsx/ListItemDemo.mjs.map +7 -0
  123. package/dist/jsx/LucideIconsDemo.mjs +32 -0
  124. package/dist/jsx/LucideIconsDemo.mjs.map +7 -0
  125. package/dist/jsx/PopoverDemo.mjs +67 -0
  126. package/dist/jsx/PopoverDemo.mjs.map +7 -0
  127. package/dist/jsx/ProgressDemo.mjs +50 -0
  128. package/dist/jsx/ProgressDemo.mjs.map +7 -0
  129. package/dist/jsx/ScrollViewDemo.mjs +17 -0
  130. package/dist/jsx/ScrollViewDemo.mjs.map +7 -0
  131. package/dist/jsx/SelectDemo.mjs +73 -0
  132. package/dist/jsx/SelectDemo.mjs.map +7 -0
  133. package/dist/jsx/SeparatorDemo.mjs +19 -0
  134. package/dist/jsx/SeparatorDemo.mjs.map +7 -0
  135. package/dist/jsx/ShapesDemo.mjs +11 -0
  136. package/dist/jsx/ShapesDemo.mjs.map +7 -0
  137. package/dist/jsx/SheetDemo.mjs +64 -0
  138. package/dist/jsx/SheetDemo.mjs.map +7 -0
  139. package/dist/jsx/SliderDemo.mjs +18 -0
  140. package/dist/jsx/SliderDemo.mjs.map +7 -0
  141. package/dist/jsx/SpinnerDemo.mjs +11 -0
  142. package/dist/jsx/SpinnerDemo.mjs.map +7 -0
  143. package/dist/jsx/StacksDemo.mjs +24 -0
  144. package/dist/jsx/StacksDemo.mjs.map +7 -0
  145. package/dist/jsx/SwitchDemo.mjs +21 -0
  146. package/dist/jsx/SwitchDemo.mjs.map +7 -0
  147. package/dist/jsx/TextDemo.mjs +16 -0
  148. package/dist/jsx/TextDemo.mjs.map +7 -0
  149. package/dist/jsx/ThemeInverseDemo.mjs +19 -0
  150. package/dist/jsx/ThemeInverseDemo.mjs.map +7 -0
  151. package/dist/jsx/TokensDemo.mjs +91 -0
  152. package/dist/jsx/TokensDemo.mjs.map +7 -0
  153. package/dist/jsx/TooltipDemo.mjs +64 -0
  154. package/dist/jsx/TooltipDemo.mjs.map +7 -0
  155. package/dist/jsx/UpdateThemeDemo.mjs +50 -0
  156. package/dist/jsx/UpdateThemeDemo.mjs.map +7 -0
  157. package/dist/jsx/conf.mjs +5 -0
  158. package/dist/jsx/conf.mjs.map +7 -0
  159. package/dist/jsx/index.mjs +78 -0
  160. package/dist/jsx/index.mjs.map +7 -0
  161. package/dist/jsx/tamagui.config.mjs +6 -0
  162. package/dist/jsx/tamagui.config.mjs.map +7 -0
  163. package/dist/jsx/useOnIntersecting.mjs +68 -0
  164. package/dist/jsx/useOnIntersecting.mjs.map +7 -0
  165. package/package.json +17 -17
@@ -0,0 +1,35 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { Button, H3, Square, Theme, YStack, addTheme } from "tamagui";
4
+ function AddThemeDemo() {
5
+ const [theme, setTheme] = useState();
6
+ return /* @__PURE__ */ jsxs(YStack, { ai: "center", space: true, children: [
7
+ /* @__PURE__ */ jsxs(H3, { children: [
8
+ "Theme: ",
9
+ theme ?? "none"
10
+ ] }),
11
+ /* @__PURE__ */ jsx(Theme, { name: theme ?? "red", children: /* @__PURE__ */ jsx(Square, { borderRadius: "$8", size: 100, backgroundColor: "$color" }) }),
12
+ /* @__PURE__ */ jsx(
13
+ Button,
14
+ {
15
+ disabled: theme === "superblue",
16
+ onPress: () => {
17
+ addTheme({
18
+ name: "superblue",
19
+ insertCSS: true,
20
+ theme: {
21
+ background: "#000",
22
+ color: "blue"
23
+ }
24
+ });
25
+ setTheme("superblue");
26
+ },
27
+ children: "Add superblue theme"
28
+ }
29
+ )
30
+ ] });
31
+ }
32
+ export {
33
+ AddThemeDemo
34
+ };
35
+ //# sourceMappingURL=AddThemeDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/AddThemeDemo.tsx"],
4
+ "sourcesContent": ["import { useState } from 'react'\nimport { Button, H3, Square, Theme, YStack, addTheme } from 'tamagui'\n\nexport function AddThemeDemo() {\n const [theme, setTheme] = useState<any>()\n\n return (\n <YStack ai=\"center\" space>\n <H3>Theme: {theme ?? 'none'}</H3>\n\n <Theme name={theme ?? 'red'}>\n <Square borderRadius=\"$8\" size={100} backgroundColor=\"$color\" />\n </Theme>\n\n <Button\n disabled={theme === 'superblue'}\n onPress={() => {\n addTheme({\n name: 'superblue',\n insertCSS: true,\n theme: {\n background: '#000',\n color: 'blue',\n },\n })\n setTheme('superblue')\n }}\n >\n Add superblue theme\n </Button>\n </YStack>\n )\n}\n"],
5
+ "mappings": "AAQM,SAGE,KAHF;AARN,SAAS,gBAAgB;AACzB,SAAS,QAAQ,IAAI,QAAQ,OAAO,QAAQ,gBAAgB;AAErD,SAAS,eAAe;AAC7B,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAc;AAExC,SACE,qBAAC,UAAO,IAAG,UAAS,OAAK,MACvB;AAAA,yBAAC,MAAG;AAAA;AAAA,MAAQ,SAAS;AAAA,OAAO;AAAA,IAE5B,oBAAC,SAAM,MAAM,SAAS,OACpB,8BAAC,UAAO,cAAa,MAAK,MAAM,KAAK,iBAAgB,UAAS,GAChE;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,UAAU,UAAU;AAAA,QACpB,SAAS,MAAM;AACb,mBAAS;AAAA,YACP,MAAM;AAAA,YACN,WAAW;AAAA,YACX,OAAO;AAAA,cACL,YAAY;AAAA,cACZ,OAAO;AAAA,YACT;AAAA,UACF,CAAC;AACD,mBAAS,WAAW;AAAA,QACtB;AAAA,QACD;AAAA;AAAA,IAED;AAAA,KACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,53 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { AlertDialog, Button, XStack, YStack } from "tamagui";
3
+ function AlertDialogDemo() {
4
+ return /* @__PURE__ */ jsxs(AlertDialog, { native: true, children: [
5
+ /* @__PURE__ */ jsx(AlertDialog.Trigger, { asChild: true, children: /* @__PURE__ */ jsx(Button, { children: "Show Alert" }) }),
6
+ /* @__PURE__ */ jsxs(AlertDialog.Portal, { children: [
7
+ /* @__PURE__ */ jsx(
8
+ AlertDialog.Overlay,
9
+ {
10
+ animation: "quick",
11
+ o: 0.5,
12
+ enterStyle: { o: 0 },
13
+ exitStyle: { o: 0 }
14
+ },
15
+ "overlay"
16
+ ),
17
+ /* @__PURE__ */ jsx(
18
+ AlertDialog.Content,
19
+ {
20
+ bordered: true,
21
+ elevate: true,
22
+ animation: [
23
+ "quick",
24
+ {
25
+ opacity: {
26
+ overshootClamping: true
27
+ }
28
+ }
29
+ ],
30
+ enterStyle: { x: 0, y: -20, opacity: 0, scale: 0.9 },
31
+ exitStyle: { x: 0, y: 10, opacity: 0, scale: 0.95 },
32
+ x: 0,
33
+ scale: 1,
34
+ opacity: 1,
35
+ y: 0,
36
+ children: /* @__PURE__ */ jsxs(YStack, { space: true, children: [
37
+ /* @__PURE__ */ jsx(AlertDialog.Title, { children: "Accept" }),
38
+ /* @__PURE__ */ jsx(AlertDialog.Description, { children: "By pressing yes, you accept our terms and conditions." }),
39
+ /* @__PURE__ */ jsxs(XStack, { space: "$3", jc: "flex-end", children: [
40
+ /* @__PURE__ */ jsx(AlertDialog.Cancel, { asChild: true, children: /* @__PURE__ */ jsx(Button, { children: "Cancel" }) }),
41
+ /* @__PURE__ */ jsx(AlertDialog.Action, { asChild: true, children: /* @__PURE__ */ jsx(Button, { theme: "active", children: "Accept" }) })
42
+ ] })
43
+ ] })
44
+ },
45
+ "content"
46
+ )
47
+ ] })
48
+ ] });
49
+ }
50
+ export {
51
+ AlertDialogDemo
52
+ };
53
+ //# sourceMappingURL=AlertDialogDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/AlertDialogDemo.tsx"],
4
+ "sourcesContent": ["import { AlertDialog, Button, XStack, YStack } from 'tamagui'\n\nexport function AlertDialogDemo() {\n return (\n <AlertDialog native>\n <AlertDialog.Trigger asChild>\n <Button>Show Alert</Button>\n </AlertDialog.Trigger>\n\n <AlertDialog.Portal>\n <AlertDialog.Overlay\n key=\"overlay\"\n animation=\"quick\"\n o={0.5}\n enterStyle={{ o: 0 }}\n exitStyle={{ o: 0 }}\n />\n <AlertDialog.Content\n bordered\n elevate\n key=\"content\"\n animation={[\n 'quick',\n {\n opacity: {\n overshootClamping: true,\n },\n },\n ]}\n enterStyle={{ x: 0, y: -20, opacity: 0, scale: 0.9 }}\n exitStyle={{ x: 0, y: 10, opacity: 0, scale: 0.95 }}\n x={0}\n scale={1}\n opacity={1}\n y={0}\n >\n <YStack space>\n <AlertDialog.Title>Accept</AlertDialog.Title>\n <AlertDialog.Description>\n By pressing yes, you accept our terms and conditions.\n </AlertDialog.Description>\n\n <XStack space=\"$3\" jc=\"flex-end\">\n <AlertDialog.Cancel asChild>\n <Button>Cancel</Button>\n </AlertDialog.Cancel>\n <AlertDialog.Action asChild>\n <Button theme=\"active\">Accept</Button>\n </AlertDialog.Action>\n </XStack>\n </YStack>\n </AlertDialog.Content>\n </AlertDialog.Portal>\n </AlertDialog>\n )\n}\n"],
5
+ "mappings": "AAMQ,cAoCI,YApCJ;AANR,SAAS,aAAa,QAAQ,QAAQ,cAAc;AAE7C,SAAS,kBAAkB;AAChC,SACE,qBAAC,eAAY,QAAM,MACjB;AAAA,wBAAC,YAAY,SAAZ,EAAoB,SAAO,MAC1B,8BAAC,UAAO,wBAAU,GACpB;AAAA,IAEA,qBAAC,YAAY,QAAZ,EACC;AAAA;AAAA,QAAC,YAAY;AAAA,QAAZ;AAAA,UAEC,WAAU;AAAA,UACV,GAAG;AAAA,UACH,YAAY,EAAE,GAAG,EAAE;AAAA,UACnB,WAAW,EAAE,GAAG,EAAE;AAAA;AAAA,QAJd;AAAA,MAKN;AAAA,MACA;AAAA,QAAC,YAAY;AAAA,QAAZ;AAAA,UACC,UAAQ;AAAA,UACR,SAAO;AAAA,UAEP,WAAW;AAAA,YACT;AAAA,YACA;AAAA,cACE,SAAS;AAAA,gBACP,mBAAmB;AAAA,cACrB;AAAA,YACF;AAAA,UACF;AAAA,UACA,YAAY,EAAE,GAAG,GAAG,GAAG,KAAK,SAAS,GAAG,OAAO,IAAI;AAAA,UACnD,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS,GAAG,OAAO,KAAK;AAAA,UAClD,GAAG;AAAA,UACH,OAAO;AAAA,UACP,SAAS;AAAA,UACT,GAAG;AAAA,UAEH,+BAAC,UAAO,OAAK,MACX;AAAA,gCAAC,YAAY,OAAZ,EAAkB,oBAAM;AAAA,YACzB,oBAAC,YAAY,aAAZ,EAAwB,mEAEzB;AAAA,YAEA,qBAAC,UAAO,OAAM,MAAK,IAAG,YACpB;AAAA,kCAAC,YAAY,QAAZ,EAAmB,SAAO,MACzB,8BAAC,UAAO,oBAAM,GAChB;AAAA,cACA,oBAAC,YAAY,QAAZ,EAAmB,SAAO,MACzB,8BAAC,UAAO,OAAM,UAAS,oBAAM,GAC/B;AAAA,eACF;AAAA,aACF;AAAA;AAAA,QA9BI;AAAA,MA+BN;AAAA,OACF;AAAA,KACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,89 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { LogoIcon } from "@tamagui/logo";
3
+ import { Play } from "@tamagui/lucide-icons";
4
+ import { Button, Square, useControllableState, useEvent } from "tamagui";
5
+ function AnimationsDemo(props) {
6
+ const [positionI, setPositionI] = useControllableState({
7
+ strategy: "most-recent-wins",
8
+ prop: props.position,
9
+ defaultProp: 0
10
+ });
11
+ const position = positions[positionI];
12
+ const onPress = useEvent(() => {
13
+ setPositionI((x) => {
14
+ return (x + 1) % positions.length;
15
+ });
16
+ });
17
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
18
+ /* @__PURE__ */ jsx(
19
+ Square,
20
+ {
21
+ animation: props.animation || "bouncy",
22
+ onPress,
23
+ size: 104,
24
+ boc: "$borderColor",
25
+ bw: 1,
26
+ br: "$9",
27
+ bc: "$color9",
28
+ hoverStyle: {
29
+ scale: 1.1
30
+ },
31
+ pressStyle: {
32
+ scale: 0.9
33
+ },
34
+ ...position,
35
+ children: props.children || /* @__PURE__ */ jsx(LogoIcon, { downscale: 0.75 })
36
+ }
37
+ ),
38
+ /* @__PURE__ */ jsx(
39
+ Button,
40
+ {
41
+ pos: "absolute",
42
+ b: 20,
43
+ l: 20,
44
+ icon: Play,
45
+ theme: props.tint,
46
+ size: "$5",
47
+ circular: true,
48
+ onPress
49
+ }
50
+ )
51
+ ] });
52
+ }
53
+ const positions = [
54
+ {
55
+ x: 0,
56
+ y: 0,
57
+ scale: 1,
58
+ rotate: "0deg"
59
+ },
60
+ {
61
+ x: -50,
62
+ y: -50,
63
+ scale: 0.5,
64
+ rotate: "-45deg",
65
+ hoverStyle: {
66
+ scale: 0.6
67
+ },
68
+ pressStyle: {
69
+ scale: 0.4
70
+ }
71
+ },
72
+ {
73
+ x: 50,
74
+ y: 50,
75
+ scale: 1,
76
+ rotate: "180deg",
77
+ hoverStyle: {
78
+ scale: 1.1
79
+ },
80
+ pressStyle: {
81
+ scale: 0.9
82
+ }
83
+ }
84
+ ];
85
+ export {
86
+ AnimationsDemo,
87
+ positions
88
+ };
89
+ //# sourceMappingURL=AnimationsDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/AnimationsDemo.tsx"],
4
+ "sourcesContent": ["import { LogoIcon } from '@tamagui/logo'\nimport { Play } from '@tamagui/lucide-icons'\nimport { Button, Square, useControllableState, useEvent } from 'tamagui'\n\nexport function AnimationsDemo(props) {\n const [positionI, setPositionI] = useControllableState({\n strategy: 'most-recent-wins',\n prop: props.position,\n defaultProp: 0,\n })\n const position = positions[positionI]\n const onPress = useEvent(() => {\n setPositionI((x) => {\n return (x + 1) % positions.length\n })\n })\n\n return (\n <>\n <Square\n animation={props.animation || 'bouncy'}\n onPress={onPress}\n size={104}\n boc=\"$borderColor\"\n bw={1}\n br=\"$9\"\n bc=\"$color9\"\n hoverStyle={{\n scale: 1.1,\n }}\n pressStyle={{\n scale: 0.9,\n }}\n {...position}\n >\n {props.children || <LogoIcon downscale={0.75} />}\n </Square>\n\n <Button\n pos=\"absolute\"\n b={20}\n l={20}\n icon={Play}\n theme={props.tint}\n size=\"$5\"\n circular\n onPress={onPress}\n />\n </>\n )\n}\n\nexport const positions = [\n {\n x: 0,\n y: 0,\n scale: 1,\n rotate: '0deg',\n },\n {\n x: -50,\n y: -50,\n scale: 0.5,\n rotate: '-45deg',\n hoverStyle: {\n scale: 0.6,\n },\n pressStyle: {\n scale: 0.4,\n },\n },\n {\n x: 50,\n y: 50,\n scale: 1,\n rotate: '180deg',\n hoverStyle: {\n scale: 1.1,\n },\n pressStyle: {\n scale: 0.9,\n },\n },\n]\n"],
5
+ "mappings": "AAkBI,mBAiBuB,KAjBvB;AAlBJ,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,SAAS,QAAQ,QAAQ,sBAAsB,gBAAgB;AAExD,SAAS,eAAe,OAAO;AACpC,QAAM,CAAC,WAAW,YAAY,IAAI,qBAAqB;AAAA,IACrD,UAAU;AAAA,IACV,MAAM,MAAM;AAAA,IACZ,aAAa;AAAA,EACf,CAAC;AACD,QAAM,WAAW,UAAU,SAAS;AACpC,QAAM,UAAU,SAAS,MAAM;AAC7B,iBAAa,CAAC,MAAM;AAClB,cAAQ,IAAI,KAAK,UAAU;AAAA,IAC7B,CAAC;AAAA,EACH,CAAC;AAED,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,MAAM,aAAa;AAAA,QAC9B;AAAA,QACA,MAAM;AAAA,QACN,KAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAG;AAAA,QACH,IAAG;AAAA,QACH,YAAY;AAAA,UACV,OAAO;AAAA,QACT;AAAA,QACA,YAAY;AAAA,UACV,OAAO;AAAA,QACT;AAAA,QACC,GAAG;AAAA,QAEH,gBAAM,YAAY,oBAAC,YAAS,WAAW,MAAM;AAAA;AAAA,IAChD;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,KAAI;AAAA,QACJ,GAAG;AAAA,QACH,GAAG;AAAA,QACH,MAAM;AAAA,QACN,OAAO,MAAM;AAAA,QACb,MAAK;AAAA,QACL,UAAQ;AAAA,QACR;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;AAEO,MAAM,YAAY;AAAA,EACvB;AAAA,IACE,GAAG;AAAA,IACH,GAAG;AAAA,IACH,OAAO;AAAA,IACP,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,GAAG;AAAA,IACH,GAAG;AAAA,IACH,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,YAAY;AAAA,MACV,OAAO;AAAA,IACT;AAAA,IACA,YAAY;AAAA,MACV,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA;AAAA,IACE,GAAG;AAAA,IACH,GAAG;AAAA,IACH,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,YAAY;AAAA,MACV,OAAO;AAAA,IACT;AAAA,IACA,YAAY;AAAA,MACV,OAAO;AAAA,IACT;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,40 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { LogoIcon } from "@tamagui/logo";
3
+ import { useRef, useState } from "react";
4
+ import { Button, Square, YStack } from "tamagui";
5
+ import { useIsIntersecting } from "./useOnIntersecting";
6
+ function AnimationsEnterDemo(props) {
7
+ const ref = useRef(null);
8
+ const hasIntersected = useIsIntersecting(ref, { once: true });
9
+ const [key, setKey] = useState(0);
10
+ if (!hasIntersected) {
11
+ return /* @__PURE__ */ jsx(YStack, { ref });
12
+ }
13
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
14
+ /* @__PURE__ */ jsx(
15
+ Square,
16
+ {
17
+ enterStyle: {
18
+ scale: 1.5,
19
+ y: -10,
20
+ opacity: 0
21
+ },
22
+ animation: "bouncy",
23
+ elevation: "$4",
24
+ size: 110,
25
+ opacity: 1,
26
+ scale: 1,
27
+ y: 0,
28
+ bc: "$pink10",
29
+ br: "$9",
30
+ children: props.children ?? /* @__PURE__ */ jsx(LogoIcon, { downscale: 0.75 })
31
+ },
32
+ key
33
+ ),
34
+ /* @__PURE__ */ jsx(Button, { size: "$3", mt: "$4", onPress: () => setKey(Math.random()), children: "Re-mount" })
35
+ ] });
36
+ }
37
+ export {
38
+ AnimationsEnterDemo
39
+ };
40
+ //# sourceMappingURL=AnimationsEnterDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/AnimationsEnterDemo.tsx"],
4
+ "sourcesContent": ["import { LogoIcon } from '@tamagui/logo'\nimport { useRef, useState } from 'react'\nimport { Button, Square, YStack } from 'tamagui'\n\nimport { useIsIntersecting } from './useOnIntersecting'\n\nexport function AnimationsEnterDemo(props: any) {\n const ref = useRef<HTMLElement>(null)\n const hasIntersected = useIsIntersecting(ref, { once: true })\n const [key, setKey] = useState(0)\n\n if (!hasIntersected) {\n return <YStack ref={ref} />\n }\n\n return (\n <>\n <Square\n key={key}\n enterStyle={{\n scale: 1.5,\n y: -10,\n opacity: 0,\n }}\n animation=\"bouncy\"\n elevation=\"$4\"\n size={110}\n opacity={1}\n scale={1}\n y={0}\n bc=\"$pink10\"\n br=\"$9\"\n >\n {props.children ?? <LogoIcon downscale={0.75} />}\n </Square>\n\n <Button size=\"$3\" mt=\"$4\" onPress={() => setKey(Math.random())}>\n Re-mount\n </Button>\n </>\n )\n}\n"],
5
+ "mappings": "AAYW,SAIP,UAJO,KAIP,YAJO;AAZX,SAAS,gBAAgB;AACzB,SAAS,QAAQ,gBAAgB;AACjC,SAAS,QAAQ,QAAQ,cAAc;AAEvC,SAAS,yBAAyB;AAE3B,SAAS,oBAAoB,OAAY;AAC9C,QAAM,MAAM,OAAoB,IAAI;AACpC,QAAM,iBAAiB,kBAAkB,KAAK,EAAE,MAAM,KAAK,CAAC;AAC5D,QAAM,CAAC,KAAK,MAAM,IAAI,SAAS,CAAC;AAEhC,MAAI,CAAC,gBAAgB;AACnB,WAAO,oBAAC,UAAO,KAAU;AAAA,EAC3B;AAEA,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QAEC,YAAY;AAAA,UACV,OAAO;AAAA,UACP,GAAG;AAAA,UACH,SAAS;AAAA,QACX;AAAA,QACA,WAAU;AAAA,QACV,WAAU;AAAA,QACV,MAAM;AAAA,QACN,SAAS;AAAA,QACT,OAAO;AAAA,QACP,GAAG;AAAA,QACH,IAAG;AAAA,QACH,IAAG;AAAA,QAEF,gBAAM,YAAY,oBAAC,YAAS,WAAW,MAAM;AAAA;AAAA,MAfzC;AAAA,IAgBP;AAAA,IAEA,oBAAC,UAAO,MAAK,MAAK,IAAG,MAAK,SAAS,MAAM,OAAO,KAAK,OAAO,CAAC,GAAG,sBAEhE;AAAA,KACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,26 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { LogoIcon } from "@tamagui/logo";
3
+ import { Square } from "tamagui";
4
+ function AnimationsHoverDemo() {
5
+ return /* @__PURE__ */ jsx(
6
+ Square,
7
+ {
8
+ bc: "$pink10",
9
+ animation: "bouncy",
10
+ elevation: "$4",
11
+ size: 110,
12
+ br: "$9",
13
+ hoverStyle: {
14
+ scale: 1.2
15
+ },
16
+ pressStyle: {
17
+ scale: 0.9
18
+ },
19
+ children: /* @__PURE__ */ jsx(LogoIcon, { downscale: 0.75 })
20
+ }
21
+ );
22
+ }
23
+ export {
24
+ AnimationsHoverDemo
25
+ };
26
+ //# sourceMappingURL=AnimationsHoverDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/AnimationsHoverDemo.tsx"],
4
+ "sourcesContent": ["import { LogoIcon } from '@tamagui/logo'\nimport { Square } from 'tamagui'\n\nexport function AnimationsHoverDemo() {\n return (\n <Square\n bc=\"$pink10\"\n animation=\"bouncy\"\n elevation=\"$4\"\n size={110}\n br=\"$9\"\n hoverStyle={{\n scale: 1.2,\n }}\n pressStyle={{\n scale: 0.9,\n }}\n >\n <LogoIcon downscale={0.75} />\n </Square>\n )\n}\n"],
5
+ "mappings": "AAkBM;AAlBN,SAAS,gBAAgB;AACzB,SAAS,cAAc;AAEhB,SAAS,sBAAsB;AACpC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAG;AAAA,MACH,WAAU;AAAA,MACV,WAAU;AAAA,MACV,MAAM;AAAA,MACN,IAAG;AAAA,MACH,YAAY;AAAA,QACV,OAAO;AAAA,MACT;AAAA,MACA,YAAY;AAAA,QACV,OAAO;AAAA,MACT;AAAA,MAEA,8BAAC,YAAS,WAAW,MAAM;AAAA;AAAA,EAC7B;AAEJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,62 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { AnimatePresence } from "@tamagui/animate-presence";
3
+ import { ArrowLeft, ArrowRight } from "@tamagui/lucide-icons";
4
+ import { useState } from "react";
5
+ import { Button, Image, XStack, YStack, styled } from "tamagui";
6
+ import photo1 from "../../public/photo1.jpg";
7
+ import photo2 from "../../public/photo2.jpg";
8
+ import photo3 from "../../public/photo3.jpg";
9
+ const images = [photo1, photo2, photo3].map((x) => x.src || x);
10
+ const YStackEnterable = styled(YStack, {
11
+ variants: {
12
+ isLeft: { true: { x: -300, opacity: 0 } },
13
+ isRight: { true: { x: 300, opacity: 0 } }
14
+ }
15
+ });
16
+ function AnimationsPresenceDemo() {
17
+ const [[page, direction], setPage] = useState([0, 0]);
18
+ const imageIndex = wrap(0, images.length, page);
19
+ const paginate = (newDirection) => {
20
+ setPage([page + newDirection, newDirection]);
21
+ };
22
+ const enterVariant = direction === 1 || direction === 0 ? "isRight" : "isLeft";
23
+ const exitVariant = direction === 1 ? "isLeft" : "isRight";
24
+ return /* @__PURE__ */ jsxs(XStack, { ov: "hidden", bc: "#000", pos: "relative", h: 300, w: "100%", ai: "center", children: [
25
+ /* @__PURE__ */ jsx(AnimatePresence, { enterVariant, exitVariant, children: /* @__PURE__ */ jsx(YStackEnterable, { animation: "bouncy", fullscreen: true, x: 0, o: 1, children: /* @__PURE__ */ jsx(Image, { src: images[imageIndex], width: 780, height: 300 }) }, page) }),
26
+ /* @__PURE__ */ jsx(
27
+ Button,
28
+ {
29
+ accessibilityLabel: "Carousel left",
30
+ icon: ArrowLeft,
31
+ size: "$5",
32
+ pos: "absolute",
33
+ l: "$4",
34
+ circular: true,
35
+ elevate: true,
36
+ onPress: () => paginate(-1)
37
+ }
38
+ ),
39
+ /* @__PURE__ */ jsx(
40
+ Button,
41
+ {
42
+ accessibilityLabel: "Carousel right",
43
+ icon: ArrowRight,
44
+ size: "$5",
45
+ pos: "absolute",
46
+ r: "$4",
47
+ circular: true,
48
+ elevate: true,
49
+ onPress: () => paginate(1)
50
+ }
51
+ )
52
+ ] });
53
+ }
54
+ const wrap = (min, max, v) => {
55
+ const rangeSize = max - min;
56
+ return ((v - min) % rangeSize + rangeSize) % rangeSize + min;
57
+ };
58
+ export {
59
+ AnimationsPresenceDemo,
60
+ images
61
+ };
62
+ //# sourceMappingURL=AnimationsPresenceDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/AnimationsPresenceDemo.tsx"],
4
+ "sourcesContent": ["import { AnimatePresence } from '@tamagui/animate-presence'\nimport { ArrowLeft, ArrowRight } from '@tamagui/lucide-icons'\nimport { useState } from 'react'\nimport { Button, Image, XStack, YStack, styled } from 'tamagui'\n\n// @ts-ignore\nimport photo1 from '../../public/photo1.jpg'\n// @ts-ignore\nimport photo2 from '../../public/photo2.jpg'\n// @ts-ignore\nimport photo3 from '../../public/photo3.jpg'\n\nexport const images = [photo1, photo2, photo3].map((x) => x.src || x)\n\nconst YStackEnterable = styled(YStack, {\n variants: {\n isLeft: { true: { x: -300, opacity: 0 } },\n isRight: { true: { x: 300, opacity: 0 } },\n } as const,\n})\n\nexport function AnimationsPresenceDemo() {\n const [[page, direction], setPage] = useState([0, 0])\n\n const imageIndex = wrap(0, images.length, page)\n\n const paginate = (newDirection: number) => {\n setPage([page + newDirection, newDirection])\n }\n\n const enterVariant = direction === 1 || direction === 0 ? 'isRight' : 'isLeft'\n const exitVariant = direction === 1 ? 'isLeft' : 'isRight'\n\n return (\n <XStack ov=\"hidden\" bc=\"#000\" pos=\"relative\" h={300} w=\"100%\" ai=\"center\">\n <AnimatePresence enterVariant={enterVariant} exitVariant={exitVariant}>\n <YStackEnterable key={page} animation=\"bouncy\" fullscreen x={0} o={1}>\n <Image src={images[imageIndex]} width={780} height={300} />\n </YStackEnterable>\n </AnimatePresence>\n\n <Button\n accessibilityLabel=\"Carousel left\"\n icon={ArrowLeft}\n size=\"$5\"\n pos=\"absolute\"\n l=\"$4\"\n circular\n elevate\n onPress={() => paginate(-1)}\n />\n <Button\n accessibilityLabel=\"Carousel right\"\n icon={ArrowRight}\n size=\"$5\"\n pos=\"absolute\"\n r=\"$4\"\n circular\n elevate\n onPress={() => paginate(1)}\n />\n </XStack>\n )\n}\n\nconst wrap = (min: number, max: number, v: number) => {\n const rangeSize = max - min\n return ((((v - min) % rangeSize) + rangeSize) % rangeSize) + min\n}\n"],
5
+ "mappings": "AAkCI,SAGM,KAHN;AAlCJ,SAAS,uBAAuB;AAChC,SAAS,WAAW,kBAAkB;AACtC,SAAS,gBAAgB;AACzB,SAAS,QAAQ,OAAO,QAAQ,QAAQ,cAAc;AAGtD,OAAO,YAAY;AAEnB,OAAO,YAAY;AAEnB,OAAO,YAAY;AAEZ,MAAM,SAAS,CAAC,QAAQ,QAAQ,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;AAEpE,MAAM,kBAAkB,OAAO,QAAQ;AAAA,EACrC,UAAU;AAAA,IACR,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,EAAE,EAAE;AAAA,IACxC,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,SAAS,EAAE,EAAE;AAAA,EAC1C;AACF,CAAC;AAEM,SAAS,yBAAyB;AACvC,QAAM,CAAC,CAAC,MAAM,SAAS,GAAG,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;AAEpD,QAAM,aAAa,KAAK,GAAG,OAAO,QAAQ,IAAI;AAE9C,QAAM,WAAW,CAAC,iBAAyB;AACzC,YAAQ,CAAC,OAAO,cAAc,YAAY,CAAC;AAAA,EAC7C;AAEA,QAAM,eAAe,cAAc,KAAK,cAAc,IAAI,YAAY;AACtE,QAAM,cAAc,cAAc,IAAI,WAAW;AAEjD,SACE,qBAAC,UAAO,IAAG,UAAS,IAAG,QAAO,KAAI,YAAW,GAAG,KAAK,GAAE,QAAO,IAAG,UAC/D;AAAA,wBAAC,mBAAgB,cAA4B,aAC3C,8BAAC,mBAA2B,WAAU,UAAS,YAAU,MAAC,GAAG,GAAG,GAAG,GACjE,8BAAC,SAAM,KAAK,OAAO,UAAU,GAAG,OAAO,KAAK,QAAQ,KAAK,KADrC,IAEtB,GACF;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,oBAAmB;AAAA,QACnB,MAAM;AAAA,QACN,MAAK;AAAA,QACL,KAAI;AAAA,QACJ,GAAE;AAAA,QACF,UAAQ;AAAA,QACR,SAAO;AAAA,QACP,SAAS,MAAM,SAAS,EAAE;AAAA;AAAA,IAC5B;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,oBAAmB;AAAA,QACnB,MAAM;AAAA,QACN,MAAK;AAAA,QACL,KAAI;AAAA,QACJ,GAAE;AAAA,QACF,UAAQ;AAAA,QACR,SAAO;AAAA,QACP,SAAS,MAAM,SAAS,CAAC;AAAA;AAAA,IAC3B;AAAA,KACF;AAEJ;AAEA,MAAM,OAAO,CAAC,KAAa,KAAa,MAAc;AACpD,QAAM,YAAY,MAAM;AACxB,WAAW,IAAI,OAAO,YAAa,aAAa,YAAa;AAC/D;",
6
+ "names": []
7
+ }
@@ -0,0 +1,26 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { LogoIcon } from "@tamagui/logo";
3
+ import { Square } from "tamagui";
4
+ function AnimationsTimingDemo() {
5
+ return /* @__PURE__ */ jsx(
6
+ Square,
7
+ {
8
+ bc: "$pink10",
9
+ animation: "100ms",
10
+ elevation: "$4",
11
+ size: 110,
12
+ br: "$9",
13
+ hoverStyle: {
14
+ scale: 1.2
15
+ },
16
+ pressStyle: {
17
+ scale: 0.9
18
+ },
19
+ children: /* @__PURE__ */ jsx(LogoIcon, { downscale: 0.75 })
20
+ }
21
+ );
22
+ }
23
+ export {
24
+ AnimationsTimingDemo
25
+ };
26
+ //# sourceMappingURL=AnimationsTimingDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/AnimationsTimingDemo.tsx"],
4
+ "sourcesContent": ["import { LogoIcon } from '@tamagui/logo'\nimport { Square } from 'tamagui'\n\nexport function AnimationsTimingDemo() {\n return (\n <Square\n bc=\"$pink10\"\n animation=\"100ms\"\n elevation=\"$4\"\n size={110}\n br=\"$9\"\n hoverStyle={{\n scale: 1.2,\n }}\n pressStyle={{\n scale: 0.9,\n }}\n >\n <LogoIcon downscale={0.75} />\n </Square>\n )\n}\n"],
5
+ "mappings": "AAkBM;AAlBN,SAAS,gBAAgB;AACzB,SAAS,cAAc;AAEhB,SAAS,uBAAuB;AACrC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,IAAG;AAAA,MACH,WAAU;AAAA,MACV,WAAU;AAAA,MACV,MAAM;AAAA,MACN,IAAG;AAAA,MACH,YAAY;AAAA,QACV,OAAO;AAAA,MACT;AAAA,MACA,YAAY;AAAA,QACV,OAAO;AAAA,MACT;AAAA,MAEA,8BAAC,YAAS,WAAW,MAAM;AAAA;AAAA,EAC7B;AAEJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,30 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Avatar, XStack } from "tamagui";
3
+ function AvatarDemo() {
4
+ return /* @__PURE__ */ jsxs(XStack, { ai: "center", space: "$6", children: [
5
+ /* @__PURE__ */ jsxs(Avatar, { circular: true, size: "$10", children: [
6
+ /* @__PURE__ */ jsx(
7
+ Avatar.Image,
8
+ {
9
+ accessibilityLabel: "Cam",
10
+ src: "https://images.unsplash.com/photo-1548142813-c348350df52b?&w=150&h=150&dpr=2&q=80"
11
+ }
12
+ ),
13
+ /* @__PURE__ */ jsx(Avatar.Fallback, { backgroundColor: "$blue10" })
14
+ ] }),
15
+ /* @__PURE__ */ jsxs(Avatar, { circular: true, size: "$8", children: [
16
+ /* @__PURE__ */ jsx(
17
+ Avatar.Image,
18
+ {
19
+ accessibilityLabel: "Nate Wienert",
20
+ src: "https://images.unsplash.com/photo-1531384441138-2736e62e0919?&w=100&h=100&dpr=2&q=80"
21
+ }
22
+ ),
23
+ /* @__PURE__ */ jsx(Avatar.Fallback, { delayMs: 600, backgroundColor: "$blue10" })
24
+ ] })
25
+ ] });
26
+ }
27
+ export {
28
+ AvatarDemo
29
+ };
30
+ //# sourceMappingURL=AvatarDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/AvatarDemo.tsx"],
4
+ "sourcesContent": ["import React from 'react'\nimport { Avatar, XStack } from 'tamagui'\n\nexport function AvatarDemo() {\n return (\n <XStack ai=\"center\" space=\"$6\">\n <Avatar circular size=\"$10\">\n <Avatar.Image\n accessibilityLabel=\"Cam\"\n src=\"https://images.unsplash.com/photo-1548142813-c348350df52b?&w=150&h=150&dpr=2&q=80\"\n />\n <Avatar.Fallback backgroundColor=\"$blue10\" />\n </Avatar>\n\n <Avatar circular size=\"$8\">\n <Avatar.Image\n accessibilityLabel=\"Nate Wienert\"\n src=\"https://images.unsplash.com/photo-1531384441138-2736e62e0919?&w=100&h=100&dpr=2&q=80\"\n />\n <Avatar.Fallback delayMs={600} backgroundColor=\"$blue10\" />\n </Avatar>\n </XStack>\n )\n}\n"],
5
+ "mappings": "AAMM,SACE,KADF;AALN,SAAS,QAAQ,cAAc;AAExB,SAAS,aAAa;AAC3B,SACE,qBAAC,UAAO,IAAG,UAAS,OAAM,MACxB;AAAA,yBAAC,UAAO,UAAQ,MAAC,MAAK,OACpB;AAAA;AAAA,QAAC,OAAO;AAAA,QAAP;AAAA,UACC,oBAAmB;AAAA,UACnB,KAAI;AAAA;AAAA,MACN;AAAA,MACA,oBAAC,OAAO,UAAP,EAAgB,iBAAgB,WAAU;AAAA,OAC7C;AAAA,IAEA,qBAAC,UAAO,UAAQ,MAAC,MAAK,MACpB;AAAA;AAAA,QAAC,OAAO;AAAA,QAAP;AAAA,UACC,oBAAmB;AAAA,UACnB,KAAI;AAAA;AAAA,MACN;AAAA,MACA,oBAAC,OAAO,UAAP,EAAgB,SAAS,KAAK,iBAAgB,WAAU;AAAA,OAC3D;AAAA,KACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,25 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Activity, Airplay } from "@tamagui/lucide-icons";
3
+ import { Button, XGroup, XStack, YStack } from "tamagui";
4
+ function ButtonDemo(props) {
5
+ return /* @__PURE__ */ jsxs(YStack, { p: "$3", space: true, ...props, children: [
6
+ /* @__PURE__ */ jsx(Button, { children: "Plain" }),
7
+ /* @__PURE__ */ jsx(Button, { als: "center", icon: Airplay, size: "$6", children: "Large" }),
8
+ /* @__PURE__ */ jsxs(XGroup, { size: "$3", children: [
9
+ /* @__PURE__ */ jsx(Button, { w: "50%", theme: "alt2", children: "Alt2" }),
10
+ /* @__PURE__ */ jsx(Button, { w: "50%", theme: "yellow", children: "Yellow" })
11
+ ] }),
12
+ /* @__PURE__ */ jsxs(XStack, { space: "$2", children: [
13
+ /* @__PURE__ */ jsx(Button, { themeInverse: true, size: "$3", children: "Small Inverse" }),
14
+ /* @__PURE__ */ jsx(Button, { iconAfter: Activity, size: "$3", children: "After" })
15
+ ] }),
16
+ /* @__PURE__ */ jsxs(XGroup, { children: [
17
+ /* @__PURE__ */ jsx(Button, { w: "50%", size: "$2", disabled: true, o: 0.5, children: "disabled" }),
18
+ /* @__PURE__ */ jsx(Button, { w: "50%", size: "$2", chromeless: true, children: "chromeless" })
19
+ ] })
20
+ ] });
21
+ }
22
+ export {
23
+ ButtonDemo
24
+ };
25
+ //# sourceMappingURL=ButtonDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/ButtonDemo.tsx"],
4
+ "sourcesContent": ["import { Activity, Airplay } from '@tamagui/lucide-icons'\nimport { Button, XGroup, XStack, YStack } from 'tamagui'\n\nexport function ButtonDemo(props) {\n return (\n <YStack p=\"$3\" space {...props}>\n <Button>Plain</Button>\n <Button als=\"center\" icon={Airplay} size=\"$6\">\n Large\n </Button>\n <XGroup size=\"$3\">\n <Button w=\"50%\" theme=\"alt2\">\n Alt2\n </Button>\n <Button w=\"50%\" theme=\"yellow\">\n Yellow\n </Button>\n </XGroup>\n <XStack space=\"$2\">\n <Button themeInverse size=\"$3\">\n Small Inverse\n </Button>\n <Button iconAfter={Activity} size=\"$3\">\n After\n </Button>\n </XStack>\n <XGroup>\n <Button w=\"50%\" size=\"$2\" disabled o={0.5}>\n disabled\n </Button>\n <Button w=\"50%\" size=\"$2\" chromeless>\n chromeless\n </Button>\n </XGroup>\n </YStack>\n )\n}\n"],
5
+ "mappings": "AAMM,cAIA,YAJA;AANN,SAAS,UAAU,eAAe;AAClC,SAAS,QAAQ,QAAQ,QAAQ,cAAc;AAExC,SAAS,WAAW,OAAO;AAChC,SACE,qBAAC,UAAO,GAAE,MAAK,OAAK,MAAE,GAAG,OACvB;AAAA,wBAAC,UAAO,mBAAK;AAAA,IACb,oBAAC,UAAO,KAAI,UAAS,MAAM,SAAS,MAAK,MAAK,mBAE9C;AAAA,IACA,qBAAC,UAAO,MAAK,MACX;AAAA,0BAAC,UAAO,GAAE,OAAM,OAAM,QAAO,kBAE7B;AAAA,MACA,oBAAC,UAAO,GAAE,OAAM,OAAM,UAAS,oBAE/B;AAAA,OACF;AAAA,IACA,qBAAC,UAAO,OAAM,MACZ;AAAA,0BAAC,UAAO,cAAY,MAAC,MAAK,MAAK,2BAE/B;AAAA,MACA,oBAAC,UAAO,WAAW,UAAU,MAAK,MAAK,mBAEvC;AAAA,OACF;AAAA,IACA,qBAAC,UACC;AAAA,0BAAC,UAAO,GAAE,OAAM,MAAK,MAAK,UAAQ,MAAC,GAAG,KAAK,sBAE3C;AAAA,MACA,oBAAC,UAAO,GAAE,OAAM,MAAK,MAAK,YAAU,MAAC,wBAErC;AAAA,OACF;AAAA,KACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,46 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Button, Card, H2, Image, Paragraph, XStack } from "tamagui";
3
+ function CardDemo() {
4
+ return /* @__PURE__ */ jsxs(XStack, { $sm: { flexDirection: "column" }, px: "$4", space: true, children: [
5
+ /* @__PURE__ */ jsx(
6
+ DemoCard,
7
+ {
8
+ animation: "bouncy",
9
+ size: "$4",
10
+ w: 250,
11
+ h: 300,
12
+ scale: 0.9,
13
+ hoverStyle: { scale: 0.925 },
14
+ pressStyle: { scale: 0.875 }
15
+ }
16
+ ),
17
+ /* @__PURE__ */ jsx(DemoCard, { size: "$5", w: 250, h: 300 })
18
+ ] });
19
+ }
20
+ function DemoCard(props) {
21
+ return /* @__PURE__ */ jsxs(Card, { theme: "dark", elevate: true, size: "$4", bordered: true, ...props, children: [
22
+ /* @__PURE__ */ jsxs(Card.Header, { padded: true, children: [
23
+ /* @__PURE__ */ jsx(H2, { children: "Sony A7IV" }),
24
+ /* @__PURE__ */ jsx(Paragraph, { theme: "alt2", children: "Now available" })
25
+ ] }),
26
+ /* @__PURE__ */ jsxs(Card.Footer, { padded: true, children: [
27
+ /* @__PURE__ */ jsx(XStack, { f: 1 }),
28
+ /* @__PURE__ */ jsx(Button, { br: "$10", children: "Purchase" })
29
+ ] }),
30
+ /* @__PURE__ */ jsx(Card.Background, { children: /* @__PURE__ */ jsx(
31
+ Image,
32
+ {
33
+ pos: "absolute",
34
+ width: 300,
35
+ height: 300,
36
+ resizeMode: "contain",
37
+ als: "center",
38
+ src: "data:image/jpeg;base64,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"
39
+ }
40
+ ) })
41
+ ] });
42
+ }
43
+ export {
44
+ CardDemo
45
+ };
46
+ //# sourceMappingURL=CardDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/CardDemo.tsx"],
4
+ "sourcesContent": ["import { Button, Card, CardProps, H2, Image, Paragraph, XStack } from 'tamagui'\n\nexport function CardDemo() {\n return (\n <XStack $sm={{ flexDirection: 'column' }} px=\"$4\" space>\n <DemoCard\n animation=\"bouncy\"\n size=\"$4\"\n w={250}\n h={300}\n scale={0.9}\n hoverStyle={{ scale: 0.925 }}\n pressStyle={{ scale: 0.875 }}\n />\n <DemoCard size=\"$5\" w={250} h={300} />\n </XStack>\n )\n}\n\nfunction DemoCard(props: CardProps) {\n return (\n <Card theme=\"dark\" elevate size=\"$4\" bordered {...props}>\n <Card.Header padded>\n <H2>Sony A7IV</H2>\n <Paragraph theme=\"alt2\">Now available</Paragraph>\n </Card.Header>\n <Card.Footer padded>\n <XStack f={1} />\n <Button br=\"$10\">Purchase</Button>\n </Card.Footer>\n <Card.Background>\n <Image\n pos=\"absolute\"\n width={300}\n height={300}\n resizeMode=\"contain\"\n als=\"center\"\n src=\"data:image/jpeg;base64,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\"\n />\n </Card.Background>\n </Card>\n )\n}\n"],
5
+ "mappings": "AAII,SACE,KADF;AAJJ,SAAS,QAAQ,MAAiB,IAAI,OAAO,WAAW,cAAc;AAE/D,SAAS,WAAW;AACzB,SACE,qBAAC,UAAO,KAAK,EAAE,eAAe,SAAS,GAAG,IAAG,MAAK,OAAK,MACrD;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,MAAK;AAAA,QACL,GAAG;AAAA,QACH,GAAG;AAAA,QACH,OAAO;AAAA,QACP,YAAY,EAAE,OAAO,MAAM;AAAA,QAC3B,YAAY,EAAE,OAAO,MAAM;AAAA;AAAA,IAC7B;AAAA,IACA,oBAAC,YAAS,MAAK,MAAK,GAAG,KAAK,GAAG,KAAK;AAAA,KACtC;AAEJ;AAEA,SAAS,SAAS,OAAkB;AAClC,SACE,qBAAC,QAAK,OAAM,QAAO,SAAO,MAAC,MAAK,MAAK,UAAQ,MAAE,GAAG,OAChD;AAAA,yBAAC,KAAK,QAAL,EAAY,QAAM,MACjB;AAAA,0BAAC,MAAG,uBAAS;AAAA,MACb,oBAAC,aAAU,OAAM,QAAO,2BAAa;AAAA,OACvC;AAAA,IACA,qBAAC,KAAK,QAAL,EAAY,QAAM,MACjB;AAAA,0BAAC,UAAO,GAAG,GAAG;AAAA,MACd,oBAAC,UAAO,IAAG,OAAM,sBAAQ;AAAA,OAC3B;AAAA,IACA,oBAAC,KAAK,YAAL,EACC;AAAA,MAAC;AAAA;AAAA,QACC,KAAI;AAAA,QACJ,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,YAAW;AAAA,QACX,KAAI;AAAA,QACJ,KAAI;AAAA;AAAA,IACN,GACF;AAAA,KACF;AAEJ;",
6
+ "names": []
7
+ }