@tamagui/demos 1.74.8 → 1.74.10

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 (252) hide show
  1. package/package.json +18 -18
  2. package/dist/cjs/AnimationCSSDriverLayoutDemo.js +0 -138
  3. package/dist/cjs/AnimationCSSDriverLayoutDemo.js.map +0 -6
  4. package/dist/cjs/ButtonHeadlessDemo.js +0 -110
  5. package/dist/cjs/ButtonHeadlessDemo.js.map +0 -6
  6. package/dist/cjs/ButtonNewDemo.js +0 -55
  7. package/dist/cjs/ButtonNewDemo.js.map +0 -6
  8. package/dist/cjs/ButtonSimpleDemo.js +0 -49
  9. package/dist/cjs/ButtonSimpleDemo.js.map +0 -6
  10. package/dist/cjs/conf.js +0 -29
  11. package/dist/cjs/conf.js.map +0 -6
  12. package/dist/esm/AccordionDemo.mjs +0 -25
  13. package/dist/esm/AccordionDemo.mjs.map +0 -6
  14. package/dist/esm/AddThemeDemo.mjs +0 -35
  15. package/dist/esm/AddThemeDemo.mjs.map +0 -6
  16. package/dist/esm/AlertDialogDemo.mjs +0 -53
  17. package/dist/esm/AlertDialogDemo.mjs.map +0 -6
  18. package/dist/esm/AnimationCSSDriverLayoutDemo.js +0 -121
  19. package/dist/esm/AnimationCSSDriverLayoutDemo.js.map +0 -6
  20. package/dist/esm/AnimationsDemo.mjs +0 -86
  21. package/dist/esm/AnimationsDemo.mjs.map +0 -6
  22. package/dist/esm/AnimationsEnterDemo.mjs +0 -35
  23. package/dist/esm/AnimationsEnterDemo.mjs.map +0 -6
  24. package/dist/esm/AnimationsHoverDemo.mjs +0 -27
  25. package/dist/esm/AnimationsHoverDemo.mjs.map +0 -6
  26. package/dist/esm/AnimationsPresenceDemo.mjs +0 -68
  27. package/dist/esm/AnimationsPresenceDemo.mjs.map +0 -6
  28. package/dist/esm/AnimationsTimingDemo.mjs +0 -26
  29. package/dist/esm/AnimationsTimingDemo.mjs.map +0 -6
  30. package/dist/esm/AvatarDemo.mjs +0 -30
  31. package/dist/esm/AvatarDemo.mjs.map +0 -6
  32. package/dist/esm/BuildAButtonDemo.mjs +0 -43
  33. package/dist/esm/BuildAButtonDemo.mjs.map +0 -6
  34. package/dist/esm/ButtonDemo.mjs +0 -25
  35. package/dist/esm/ButtonDemo.mjs.map +0 -6
  36. package/dist/esm/ButtonHeadlessDemo.js +0 -93
  37. package/dist/esm/ButtonHeadlessDemo.js.map +0 -6
  38. package/dist/esm/ButtonNewDemo.js +0 -31
  39. package/dist/esm/ButtonNewDemo.js.map +0 -6
  40. package/dist/esm/ButtonNewDemo.mjs.map +0 -6
  41. package/dist/esm/ButtonSimpleDemo.js +0 -25
  42. package/dist/esm/ButtonSimpleDemo.js.map +0 -6
  43. package/dist/esm/CardDemo.mjs +0 -48
  44. package/dist/esm/CardDemo.mjs.map +0 -6
  45. package/dist/esm/CheckboxDemo.mjs +0 -22
  46. package/dist/esm/CheckboxDemo.mjs.map +0 -6
  47. package/dist/esm/ColorsDemo.mjs +0 -89
  48. package/dist/esm/ColorsDemo.mjs.map +0 -6
  49. package/dist/esm/DialogDemo.mjs +0 -109
  50. package/dist/esm/DialogDemo.mjs.map +0 -6
  51. package/dist/esm/FormsDemo.mjs +0 -35
  52. package/dist/esm/FormsDemo.mjs.map +0 -6
  53. package/dist/esm/Grid.mjs +0 -37
  54. package/dist/esm/Grid.mjs.map +0 -6
  55. package/dist/esm/GroupDemo.mjs +0 -25
  56. package/dist/esm/GroupDemo.mjs.map +0 -6
  57. package/dist/esm/HeadingsDemo.mjs +0 -16
  58. package/dist/esm/HeadingsDemo.mjs.map +0 -6
  59. package/dist/esm/ImageDemo.mjs +0 -18
  60. package/dist/esm/ImageDemo.mjs.map +0 -6
  61. package/dist/esm/InputsDemo.mjs +0 -31
  62. package/dist/esm/InputsDemo.mjs.map +0 -6
  63. package/dist/esm/LabelDemo.mjs +0 -18
  64. package/dist/esm/LabelDemo.mjs.map +0 -6
  65. package/dist/esm/LinearGradientDemo.mjs +0 -33
  66. package/dist/esm/LinearGradientDemo.mjs.map +0 -6
  67. package/dist/esm/ListItemDemo.mjs +0 -47
  68. package/dist/esm/ListItemDemo.mjs.map +0 -6
  69. package/dist/esm/LucideIconsDemo.mjs +0 -53
  70. package/dist/esm/LucideIconsDemo.mjs.map +0 -6
  71. package/dist/esm/PopoverDemo.mjs +0 -82
  72. package/dist/esm/PopoverDemo.mjs.map +0 -6
  73. package/dist/esm/ProgressDemo.mjs +0 -56
  74. package/dist/esm/ProgressDemo.mjs.map +0 -6
  75. package/dist/esm/RadioGroupDemo.mjs +0 -21
  76. package/dist/esm/RadioGroupDemo.mjs.map +0 -6
  77. package/dist/esm/ReplaceThemeDemo.mjs +0 -45
  78. package/dist/esm/ReplaceThemeDemo.mjs.map +0 -6
  79. package/dist/esm/ScrollViewDemo.mjs +0 -28
  80. package/dist/esm/ScrollViewDemo.mjs.map +0 -6
  81. package/dist/esm/SelectDemo.mjs +0 -173
  82. package/dist/esm/SelectDemo.mjs.map +0 -6
  83. package/dist/esm/SeparatorDemo.mjs +0 -20
  84. package/dist/esm/SeparatorDemo.mjs.map +0 -6
  85. package/dist/esm/ShapesDemo.mjs +0 -12
  86. package/dist/esm/ShapesDemo.mjs.map +0 -6
  87. package/dist/esm/SheetDemo.mjs +0 -100
  88. package/dist/esm/SheetDemo.mjs.map +0 -6
  89. package/dist/esm/SliderDemo.mjs +0 -19
  90. package/dist/esm/SliderDemo.mjs.map +0 -6
  91. package/dist/esm/SpinnerDemo.mjs +0 -12
  92. package/dist/esm/SpinnerDemo.mjs.map +0 -6
  93. package/dist/esm/StacksDemo.mjs +0 -78
  94. package/dist/esm/StacksDemo.mjs.map +0 -6
  95. package/dist/esm/SwitchDemo.mjs +0 -45
  96. package/dist/esm/SwitchDemo.mjs.map +0 -6
  97. package/dist/esm/TabsAdvancedDemo.mjs +0 -239
  98. package/dist/esm/TabsAdvancedDemo.mjs.map +0 -6
  99. package/dist/esm/TabsDemo.mjs +0 -131
  100. package/dist/esm/TabsDemo.mjs.map +0 -6
  101. package/dist/esm/TextDemo.mjs +0 -16
  102. package/dist/esm/TextDemo.mjs.map +0 -6
  103. package/dist/esm/ThemeBuilderDemo.mjs +0 -134
  104. package/dist/esm/ThemeBuilderDemo.mjs.map +0 -6
  105. package/dist/esm/ThemeInverseDemo.mjs +0 -41
  106. package/dist/esm/ThemeInverseDemo.mjs.map +0 -6
  107. package/dist/esm/ToastDemo.mjs +0 -91
  108. package/dist/esm/ToastDemo.mjs.map +0 -6
  109. package/dist/esm/ToastDuplicateDemo.mjs +0 -44
  110. package/dist/esm/ToastDuplicateDemo.mjs.map +0 -6
  111. package/dist/esm/ToggleGroupDemo.mjs +0 -49
  112. package/dist/esm/ToggleGroupDemo.mjs.map +0 -6
  113. package/dist/esm/TokensDemo.mjs +0 -77
  114. package/dist/esm/TokensDemo.mjs.map +0 -6
  115. package/dist/esm/TooltipDemo.mjs +0 -67
  116. package/dist/esm/TooltipDemo.mjs.map +0 -6
  117. package/dist/esm/UpdateThemeDemo.mjs +0 -51
  118. package/dist/esm/UpdateThemeDemo.mjs.map +0 -6
  119. package/dist/esm/conf.js +0 -5
  120. package/dist/esm/conf.js.map +0 -6
  121. package/dist/esm/conf.mjs.map +0 -6
  122. package/dist/esm/index.mjs +0 -50
  123. package/dist/esm/index.mjs.map +0 -6
  124. package/dist/esm/tamagui.config.mjs +0 -8
  125. package/dist/esm/tamagui.config.mjs.map +0 -6
  126. package/dist/esm/useOnIntersecting.mjs +0 -50
  127. package/dist/esm/useOnIntersecting.mjs.map +0 -6
  128. package/dist/jsx/AccordionDemo.mjs +0 -24
  129. package/dist/jsx/AccordionDemo.mjs.map +0 -6
  130. package/dist/jsx/AddThemeDemo.mjs +0 -31
  131. package/dist/jsx/AddThemeDemo.mjs.map +0 -6
  132. package/dist/jsx/AlertDialogDemo.mjs +0 -45
  133. package/dist/jsx/AlertDialogDemo.mjs.map +0 -6
  134. package/dist/jsx/AnimationCSSDriverLayoutDemo.js +0 -93
  135. package/dist/jsx/AnimationCSSDriverLayoutDemo.js.map +0 -6
  136. package/dist/jsx/AnimationCSSDriverLayoutDemo.mjs +0 -93
  137. package/dist/jsx/AnimationCSSDriverLayoutDemo.mjs.map +0 -6
  138. package/dist/jsx/AnimationsDemo.mjs +0 -82
  139. package/dist/jsx/AnimationsDemo.mjs.map +0 -6
  140. package/dist/jsx/AnimationsEnterDemo.mjs +0 -35
  141. package/dist/jsx/AnimationsEnterDemo.mjs.map +0 -6
  142. package/dist/jsx/AnimationsHoverDemo.mjs +0 -22
  143. package/dist/jsx/AnimationsHoverDemo.mjs.map +0 -6
  144. package/dist/jsx/AnimationsPresenceDemo.mjs +0 -69
  145. package/dist/jsx/AnimationsPresenceDemo.mjs.map +0 -6
  146. package/dist/jsx/AnimationsTimingDemo.mjs +0 -21
  147. package/dist/jsx/AnimationsTimingDemo.mjs.map +0 -6
  148. package/dist/jsx/AvatarDemo.mjs +0 -23
  149. package/dist/jsx/AvatarDemo.mjs.map +0 -6
  150. package/dist/jsx/BuildAButtonDemo.mjs +0 -42
  151. package/dist/jsx/BuildAButtonDemo.mjs.map +0 -6
  152. package/dist/jsx/ButtonDemo.mjs +0 -24
  153. package/dist/jsx/ButtonDemo.mjs.map +0 -6
  154. package/dist/jsx/ButtonHeadlessDemo.js +0 -92
  155. package/dist/jsx/ButtonHeadlessDemo.js.map +0 -6
  156. package/dist/jsx/ButtonHeadlessDemo.mjs.map +0 -6
  157. package/dist/jsx/ButtonNewDemo.js +0 -30
  158. package/dist/jsx/ButtonNewDemo.js.map +0 -6
  159. package/dist/jsx/ButtonNewDemo.mjs +0 -30
  160. package/dist/jsx/ButtonNewDemo.mjs.map +0 -6
  161. package/dist/jsx/ButtonSimpleDemo.js +0 -24
  162. package/dist/jsx/ButtonSimpleDemo.js.map +0 -6
  163. package/dist/jsx/ButtonSimpleDemo.mjs.map +0 -6
  164. package/dist/jsx/CardDemo.mjs +0 -41
  165. package/dist/jsx/CardDemo.mjs.map +0 -6
  166. package/dist/jsx/CheckboxDemo.mjs +0 -21
  167. package/dist/jsx/CheckboxDemo.mjs.map +0 -6
  168. package/dist/jsx/ColorsDemo.mjs +0 -86
  169. package/dist/jsx/ColorsDemo.mjs.map +0 -6
  170. package/dist/jsx/DialogDemo.mjs +0 -87
  171. package/dist/jsx/DialogDemo.mjs.map +0 -6
  172. package/dist/jsx/FormsDemo.mjs +0 -31
  173. package/dist/jsx/FormsDemo.mjs.map +0 -6
  174. package/dist/jsx/GroupDemo.mjs +0 -30
  175. package/dist/jsx/GroupDemo.mjs.map +0 -6
  176. package/dist/jsx/HeadingsDemo.mjs +0 -15
  177. package/dist/jsx/HeadingsDemo.mjs.map +0 -6
  178. package/dist/jsx/ImageDemo.mjs +0 -14
  179. package/dist/jsx/ImageDemo.mjs.map +0 -6
  180. package/dist/jsx/InputsDemo.mjs +0 -26
  181. package/dist/jsx/InputsDemo.mjs.map +0 -6
  182. package/dist/jsx/LabelDemo.mjs +0 -17
  183. package/dist/jsx/LabelDemo.mjs.map +0 -6
  184. package/dist/jsx/LinearGradientDemo.mjs +0 -32
  185. package/dist/jsx/LinearGradientDemo.mjs.map +0 -6
  186. package/dist/jsx/ListItemDemo.mjs +0 -40
  187. package/dist/jsx/ListItemDemo.mjs.map +0 -6
  188. package/dist/jsx/LucideIconsDemo.mjs +0 -43
  189. package/dist/jsx/LucideIconsDemo.mjs.map +0 -6
  190. package/dist/jsx/PopoverDemo.mjs +0 -65
  191. package/dist/jsx/PopoverDemo.mjs.map +0 -6
  192. package/dist/jsx/ProgressDemo.mjs +0 -50
  193. package/dist/jsx/ProgressDemo.mjs.map +0 -6
  194. package/dist/jsx/RadioGroupDemo.mjs +0 -20
  195. package/dist/jsx/RadioGroupDemo.mjs.map +0 -6
  196. package/dist/jsx/ReplaceThemeDemo.mjs +0 -44
  197. package/dist/jsx/ReplaceThemeDemo.mjs.map +0 -6
  198. package/dist/jsx/ScrollViewDemo.mjs +0 -17
  199. package/dist/jsx/ScrollViewDemo.mjs.map +0 -6
  200. package/dist/jsx/SelectDemo.mjs +0 -125
  201. package/dist/jsx/SelectDemo.mjs.map +0 -6
  202. package/dist/jsx/SeparatorDemo.mjs +0 -19
  203. package/dist/jsx/SeparatorDemo.mjs.map +0 -6
  204. package/dist/jsx/ShapesDemo.mjs +0 -11
  205. package/dist/jsx/ShapesDemo.mjs.map +0 -6
  206. package/dist/jsx/SheetDemo.mjs +0 -72
  207. package/dist/jsx/SheetDemo.mjs.map +0 -6
  208. package/dist/jsx/SliderDemo.mjs +0 -18
  209. package/dist/jsx/SliderDemo.mjs.map +0 -6
  210. package/dist/jsx/SpinnerDemo.mjs +0 -11
  211. package/dist/jsx/SpinnerDemo.mjs.map +0 -6
  212. package/dist/jsx/StacksDemo.mjs +0 -60
  213. package/dist/jsx/StacksDemo.mjs.map +0 -6
  214. package/dist/jsx/SwitchDemo.mjs +0 -28
  215. package/dist/jsx/SwitchDemo.mjs.map +0 -6
  216. package/dist/jsx/TabsAdvancedDemo.mjs +0 -226
  217. package/dist/jsx/TabsAdvancedDemo.mjs.map +0 -6
  218. package/dist/jsx/TabsDemo.mjs +0 -112
  219. package/dist/jsx/TabsDemo.mjs.map +0 -6
  220. package/dist/jsx/TextDemo.mjs +0 -15
  221. package/dist/jsx/TextDemo.mjs.map +0 -6
  222. package/dist/jsx/ThemeBuilderDemo.mjs +0 -103
  223. package/dist/jsx/ThemeBuilderDemo.mjs.map +0 -6
  224. package/dist/jsx/ThemeInverseDemo.mjs +0 -34
  225. package/dist/jsx/ThemeInverseDemo.mjs.map +0 -6
  226. package/dist/jsx/ToastDemo.mjs +0 -78
  227. package/dist/jsx/ToastDemo.mjs.map +0 -6
  228. package/dist/jsx/ToastDuplicateDemo.mjs +0 -35
  229. package/dist/jsx/ToastDuplicateDemo.mjs.map +0 -6
  230. package/dist/jsx/ToggleGroupDemo.mjs +0 -40
  231. package/dist/jsx/ToggleGroupDemo.mjs.map +0 -6
  232. package/dist/jsx/TokensDemo.mjs +0 -77
  233. package/dist/jsx/TokensDemo.mjs.map +0 -6
  234. package/dist/jsx/TooltipDemo.mjs +0 -62
  235. package/dist/jsx/TooltipDemo.mjs.map +0 -6
  236. package/dist/jsx/UpdateThemeDemo.mjs +0 -51
  237. package/dist/jsx/UpdateThemeDemo.mjs.map +0 -6
  238. package/dist/jsx/conf.js +0 -5
  239. package/dist/jsx/conf.js.map +0 -6
  240. package/dist/jsx/conf.mjs +0 -5
  241. package/dist/jsx/conf.mjs.map +0 -6
  242. package/dist/jsx/index.mjs +0 -50
  243. package/dist/jsx/index.mjs.map +0 -6
  244. package/dist/jsx/tamagui.config.mjs +0 -8
  245. package/dist/jsx/tamagui.config.mjs.map +0 -6
  246. package/dist/jsx/useOnIntersecting.mjs +0 -68
  247. package/dist/jsx/useOnIntersecting.mjs.map +0 -6
  248. package/types/AnimationCSSDriverLayoutDemo.d.ts.map +0 -1
  249. package/types/ButtonHeadlessDemo.d.ts.map +0 -1
  250. package/types/ButtonNewDemo.d.ts.map +0 -1
  251. package/types/ButtonSimpleDemo.d.ts.map +0 -1
  252. package/types/conf.d.ts.map +0 -1
@@ -1,226 +0,0 @@
1
- import { useState } from "react";
2
- import {
3
- AnimatePresence,
4
- Button,
5
- H5,
6
- SizableText,
7
- Stack,
8
- Tabs,
9
- XStack,
10
- YStack,
11
- styled
12
- } from "tamagui";
13
- const demos = ["background", "underline"];
14
- const demosTitle = {
15
- background: "Background Indicator",
16
- underline: "Underline Indicator"
17
- };
18
- const TabsAdvancedDemo = () => {
19
- const [demoIndex, setDemoIndex] = useState(0);
20
- const demo = demos[demoIndex];
21
- return <>
22
- {demo === "underline" ? <TabsAdvancedUnderline /> : <TabsAdvancedBackground />}
23
- <XStack
24
- alignItems="center"
25
- space
26
- position="absolute"
27
- bottom="$3"
28
- left="$4"
29
- $xxs={{ display: "none" }}
30
- ><Button size="$2" onPress={() => setDemoIndex((x) => (x + 1) % demos.length)}>{demosTitle[demo]}</Button></XStack>
31
- </>;
32
- };
33
- const TabsAdvancedBackground = () => {
34
- const [tabState, setTabState] = useState({
35
- activeAt: null,
36
- currentTab: "tab1",
37
- intentAt: null,
38
- prevActiveAt: null
39
- });
40
- const setCurrentTab = (currentTab2) => setTabState({ ...tabState, currentTab: currentTab2 });
41
- const setIntentIndicator = (intentAt2) => setTabState({ ...tabState, intentAt: intentAt2 });
42
- const setActiveIndicator = (activeAt2) => setTabState({ ...tabState, prevActiveAt: tabState.activeAt, activeAt: activeAt2 });
43
- const { activeAt, intentAt, prevActiveAt, currentTab } = tabState;
44
- const direction = (() => {
45
- if (!activeAt || !prevActiveAt || activeAt.x === prevActiveAt.x) {
46
- return 0;
47
- }
48
- return activeAt.x > prevActiveAt.x ? -1 : 1;
49
- })();
50
- const enterVariant = direction === 1 ? "isLeft" : direction === -1 ? "isRight" : "defaultFade";
51
- const exitVariant = direction === 1 ? "isRight" : direction === -1 ? "isLeft" : "defaultFade";
52
- const handleOnInteraction = (type, layout) => {
53
- if (type === "select") {
54
- setActiveIndicator(layout);
55
- } else {
56
- setIntentIndicator(layout);
57
- }
58
- };
59
- return <Tabs
60
- value={currentTab}
61
- onValueChange={setCurrentTab}
62
- orientation="horizontal"
63
- size="$4"
64
- padding="$2"
65
- height={150}
66
- flexDirection="column"
67
- activationMode="manual"
68
- backgroundColor="$background"
69
- borderRadius="$4"
70
- position="relative"
71
- >
72
- <YStack>
73
- <AnimatePresence>{intentAt && <TabsRovingIndicator
74
- borderRadius="$4"
75
- width={intentAt.width}
76
- height={intentAt.height}
77
- x={intentAt.x}
78
- y={intentAt.y}
79
- />}</AnimatePresence>
80
- <AnimatePresence>{activeAt && <TabsRovingIndicator
81
- borderRadius="$4"
82
- theme="active"
83
- width={activeAt.width}
84
- height={activeAt.height}
85
- x={activeAt.x}
86
- y={activeAt.y}
87
- />}</AnimatePresence>
88
- <Tabs.List
89
- disablePassBorderRadius
90
- loop={false}
91
- aria-label="Manage your account"
92
- space="$2"
93
- backgroundColor="transparent"
94
- >
95
- <Tabs.Tab unstyled value="tab1" onInteraction={handleOnInteraction}><SizableText>Profile</SizableText></Tabs.Tab>
96
- <Tabs.Tab unstyled value="tab2" onInteraction={handleOnInteraction}><SizableText>Connections</SizableText></Tabs.Tab>
97
- <Tabs.Tab unstyled value="tab3" onInteraction={handleOnInteraction}><SizableText>Notifications</SizableText></Tabs.Tab>
98
- </Tabs.List>
99
- </YStack>
100
- <AnimatePresence
101
- exitBeforeEnter
102
- enterVariant={enterVariant}
103
- exitVariant={exitVariant}
104
- ><AnimatedYStack key={currentTab} animation="100ms" x={0} opacity={1} flex={1}><Tabs.Content value={currentTab} forceMount flex={1} justifyContent="center"><H5 textAlign="center">{currentTab}</H5></Tabs.Content></AnimatedYStack></AnimatePresence>
105
- </Tabs>;
106
- };
107
- const TabsAdvancedUnderline = () => {
108
- const [tabState, setTabState] = useState({
109
- activeAt: null,
110
- currentTab: "tab1",
111
- intentAt: null,
112
- prevActiveAt: null
113
- });
114
- const setCurrentTab = (currentTab2) => setTabState({ ...tabState, currentTab: currentTab2 });
115
- const setIntentIndicator = (intentAt2) => setTabState({ ...tabState, intentAt: intentAt2 });
116
- const setActiveIndicator = (activeAt2) => setTabState({ ...tabState, prevActiveAt: tabState.activeAt, activeAt: activeAt2 });
117
- const { activeAt, intentAt, prevActiveAt, currentTab } = tabState;
118
- const direction = (() => {
119
- if (!activeAt || !prevActiveAt || activeAt.x === prevActiveAt.x) {
120
- return 0;
121
- }
122
- return activeAt.x > prevActiveAt.x ? -1 : 1;
123
- })();
124
- const enterVariant = direction === 1 ? "isLeft" : direction === -1 ? "isRight" : "defaultFade";
125
- const exitVariant = direction === 1 ? "isRight" : direction === -1 ? "isLeft" : "defaultFade";
126
- const handleOnInteraction = (type, layout) => {
127
- if (type === "select") {
128
- setActiveIndicator(layout);
129
- } else {
130
- setIntentIndicator(layout);
131
- }
132
- };
133
- return <Tabs
134
- value={currentTab}
135
- onValueChange={setCurrentTab}
136
- orientation="horizontal"
137
- size="$4"
138
- height={150}
139
- flexDirection="column"
140
- activationMode="manual"
141
- backgroundColor="$background"
142
- borderRadius="$4"
143
- >
144
- <YStack>
145
- <AnimatePresence>{intentAt && <TabsRovingIndicator
146
- width={intentAt.width}
147
- height="$0.5"
148
- x={intentAt.x}
149
- bottom={0}
150
- />}</AnimatePresence>
151
- <AnimatePresence>{activeAt && <TabsRovingIndicator
152
- theme="active"
153
- active
154
- width={activeAt.width}
155
- height="$0.5"
156
- x={activeAt.x}
157
- bottom={0}
158
- />}</AnimatePresence>
159
- <Tabs.List
160
- disablePassBorderRadius
161
- loop={false}
162
- aria-label="Manage your account"
163
- borderBottomLeftRadius={0}
164
- borderBottomRightRadius={0}
165
- paddingBottom="$1.5"
166
- borderColor="$color3"
167
- borderBottomWidth="$0.5"
168
- backgroundColor="transparent"
169
- >
170
- <Tabs.Tab
171
- unstyled
172
- padding="$5"
173
- value="tab1"
174
- onInteraction={handleOnInteraction}
175
- ><SizableText>Profile</SizableText></Tabs.Tab>
176
- <Tabs.Tab
177
- unstyled
178
- padding="$5"
179
- value="tab2"
180
- onInteraction={handleOnInteraction}
181
- ><SizableText>Connections</SizableText></Tabs.Tab>
182
- <Tabs.Tab
183
- unstyled
184
- padding="$5"
185
- value="tab3"
186
- onInteraction={handleOnInteraction}
187
- ><SizableText>Notifications</SizableText></Tabs.Tab>
188
- </Tabs.List>
189
- </YStack>
190
- <AnimatePresence
191
- exitBeforeEnter
192
- enterVariant={enterVariant}
193
- exitVariant={exitVariant}
194
- ><AnimatedYStack key={currentTab} animation="100ms" x={0} opacity={1} flex={1}><Tabs.Content value={currentTab} forceMount flex={1} justifyContent="center"><H5 textAlign="center">{currentTab}</H5></Tabs.Content></AnimatedYStack></AnimatePresence>
195
- </Tabs>;
196
- };
197
- const TabsRovingIndicator = ({ active, ...props }) => {
198
- return <Stack
199
- position="absolute"
200
- backgroundColor="$color5"
201
- opacity={0.7}
202
- animation="100ms"
203
- enterStyle={{
204
- opacity: 0
205
- }}
206
- exitStyle={{
207
- opacity: 0
208
- }}
209
- {...active && {
210
- backgroundColor: "$color8",
211
- opacity: 0.6
212
- }}
213
- {...props}
214
- />;
215
- };
216
- const AnimatedYStack = styled(YStack, {
217
- variants: {
218
- isLeft: { true: { x: -25, opacity: 0 } },
219
- isRight: { true: { x: 25, opacity: 0 } },
220
- defaultFade: { true: { opacity: 0 } }
221
- }
222
- });
223
- export {
224
- TabsAdvancedDemo
225
- };
226
- //# sourceMappingURL=TabsAdvancedDemo.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/TabsAdvancedDemo.tsx"],
4
- "mappings": "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",
5
- "names": ["currentTab", "intentAt", "activeAt"]
6
- }
@@ -1,112 +0,0 @@
1
- import { useState } from "react";
2
- import {
3
- Button,
4
- H5,
5
- Separator,
6
- SizableText,
7
- Tabs,
8
- XStack,
9
- YStack,
10
- isWeb
11
- } from "tamagui";
12
- const demos = ["horizontal", "vertical"];
13
- const demosTitle = {
14
- horizontal: "Horizontal",
15
- vertical: "Vertical"
16
- };
17
- function TabsDemo() {
18
- const [demoIndex, setDemoIndex] = useState(0);
19
- const demo = demos[demoIndex];
20
- return (
21
- // web only fix for position relative
22
- <YStack
23
- paddingHorizontal="$4"
24
- {...isWeb && {
25
- position: "unset"
26
- }}
27
- >
28
- {demo === "horizontal" ? <HorizontalTabs /> : <VerticalTabs />}
29
- <XStack
30
- alignItems="center"
31
- space
32
- position="absolute"
33
- bottom="$3"
34
- left="$4"
35
- $xxs={{ display: "none" }}
36
- ><Button size="$2" onPress={() => setDemoIndex((x) => (x + 1) % demos.length)}>{demosTitle[demo]}</Button></XStack>
37
- </YStack>
38
- );
39
- }
40
- const HorizontalTabs = () => {
41
- return <Tabs
42
- defaultValue="tab1"
43
- orientation="horizontal"
44
- flexDirection="column"
45
- width={400}
46
- height={150}
47
- borderRadius="$4"
48
- borderWidth="$0.25"
49
- overflow="hidden"
50
- borderColor="$borderColor"
51
- >
52
- <Tabs.List
53
- separator={<Separator vertical />}
54
- disablePassBorderRadius="bottom"
55
- aria-label="Manage your account"
56
- >
57
- <Tabs.Tab flex={1} value="tab1"><SizableText fontFamily="$body">Profile</SizableText></Tabs.Tab>
58
- <Tabs.Tab flex={1} value="tab2"><SizableText fontFamily="$body">Connections</SizableText></Tabs.Tab>
59
- <Tabs.Tab flex={1} value="tab3"><SizableText fontFamily="$body">Notifications</SizableText></Tabs.Tab>
60
- </Tabs.List>
61
- <Separator />
62
- <TabsContent value="tab1"><H5>Profile</H5></TabsContent>
63
- <TabsContent value="tab2"><H5>Connections</H5></TabsContent>
64
- <TabsContent value="tab3"><H5>Notifications</H5></TabsContent>
65
- </Tabs>;
66
- };
67
- const VerticalTabs = () => {
68
- return <Tabs
69
- defaultValue="tab1"
70
- flexDirection="row"
71
- orientation="vertical"
72
- width={400}
73
- borderRadius="$4"
74
- borderWidth="$0.25"
75
- overflow="hidden"
76
- borderColor="$borderColor"
77
- >
78
- <Tabs.List
79
- disablePassBorderRadius="end"
80
- aria-label="Manage your account"
81
- separator={<Separator />}
82
- >
83
- <Tabs.Tab value="tab1"><SizableText>Profile</SizableText></Tabs.Tab>
84
- <Tabs.Tab value="tab2"><SizableText>Connections</SizableText></Tabs.Tab>
85
- <Tabs.Tab value="tab3"><SizableText>Notifications</SizableText></Tabs.Tab>
86
- </Tabs.List>
87
- <Separator vertical />
88
- <TabsContent value="tab1"><H5 textAlign="center">Profile</H5></TabsContent>
89
- <TabsContent value="tab2"><H5 textAlign="center">Connections</H5></TabsContent>
90
- <TabsContent value="tab3"><H5 textAlign="center">Notifications</H5></TabsContent>
91
- </Tabs>;
92
- };
93
- const TabsContent = (props) => {
94
- return <Tabs.Content
95
- backgroundColor="$background"
96
- key="tab3"
97
- padding="$2"
98
- alignItems="center"
99
- justifyContent="center"
100
- flex={1}
101
- borderColor="$background"
102
- borderRadius="$2"
103
- borderTopLeftRadius={0}
104
- borderTopRightRadius={0}
105
- borderWidth="$2"
106
- {...props}
107
- >{props.children}</Tabs.Content>;
108
- };
109
- export {
110
- TabsDemo
111
- };
112
- //# sourceMappingURL=TabsDemo.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/TabsDemo.tsx"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,15 +0,0 @@
1
- import { Paragraph, SizableText, XStack, YStack } from "tamagui";
2
- function TextDemo() {
3
- return <YStack space="$2" alignItems="center">
4
- <SizableText size="$3">SizableText</SizableText>
5
- <XStack space>
6
- <SizableText theme="alt1" size="$3">alt1</SizableText>
7
- <SizableText theme="alt2" size="$3">alt2</SizableText>
8
- </XStack>
9
- <Paragraph size="$2" fontWeight="800">Paragraph</Paragraph>
10
- </YStack>;
11
- }
12
- export {
13
- TextDemo
14
- };
15
- //# sourceMappingURL=TextDemo.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/TextDemo.tsx"],
4
- "mappings": "AACA,SAAS,WAAW,aAAmB,QAAQ,cAAc;AAEtD,SAAS,WAAW;AACzB,SACE,CAAC,OAAO,MAAM,KAAK,WAAW;AAAA,IAC5B,CAAC,YAAY,KAAK,KAAK,WAAW,EAAjC;AAAA,IACD,CAAC,OAAO;AAAA,MACN,CAAC,YAAY,MAAM,OAAO,KAAK,KAAK,IAEpC,EAFC;AAAA,MAGD,CAAC,YAAY,MAAM,OAAO,KAAK,KAAK,IAEpC,EAFC;AAAA,IAGH,EAPC;AAAA,IAQD,CAAC,UAAU,KAAK,KAAK,WAAW,MAAM,SAEtC,EAFC;AAAA,EAGH,EAbC;AAeL;",
5
- "names": []
6
- }
@@ -1,103 +0,0 @@
1
- import { Square, XStack, YStack } from "tamagui";
2
- function ThemeBuilderDemo() {
3
- return <YStack fullscreen ov="hidden"><XStack mah={200} y={-100} x={-50} rotate="-10deg">
4
- <Col y={35} bc="$color9" />
5
- <Col size="$8" y={30} bc="$color7" />
6
- <Col size="$6" y={-50} bc="$color5" />
7
- <Col size="$4" bc="$color3" />
8
- <Col size="$2" bc="$color1" />
9
- <Col size="$4" y={50} bc="$color3" />
10
- <Col size="$6" y={80} bc="$color5" />
11
- <Col size="$8" bc="$color7" />
12
- <Col bc="$color9" />
13
- <Col size="$8" bc="$color7" />
14
- <Col size="$6" y={80} bc="$color5" />
15
- <Col size="$4" y={50} bc="$color3" />
16
- <Col size="$2" bc="$color1" />
17
- <Col size="$4" bc="$color3" />
18
- <Col size="$6" y={-50} bc="$color5" />
19
- <Col size="$8" y={30} bc="$color7" />
20
- <Col y={35} bc="$color9" />
21
- </XStack></YStack>;
22
- }
23
- function Col(props) {
24
- const subTheme = props.subTheme ? `_${props.subTheme}` : "";
25
- return <YStack padding="$2.5" space="$3.5">
26
- <Square br="$6" size="$10" theme={props.subTheme} bg="$background" {...props} />
27
- <Square
28
- br="$6"
29
- size="$10"
30
- theme={"orange" + subTheme}
31
- bg="$background"
32
- {...props}
33
- />
34
- <Square
35
- br="$6"
36
- size="$10"
37
- theme={"yellow" + subTheme}
38
- bg="$background"
39
- {...props}
40
- />
41
- <Square
42
- br="$6"
43
- size="$10"
44
- theme={"green" + subTheme}
45
- bg="$background"
46
- {...props}
47
- />
48
- <Square
49
- br="$6"
50
- size="$10"
51
- theme={"blue" + subTheme}
52
- bg="$background"
53
- {...props}
54
- />
55
- <Square
56
- br="$6"
57
- size="$10"
58
- theme={"purple" + subTheme}
59
- bg="$background"
60
- {...props}
61
- />
62
- <Square
63
- br="$6"
64
- size="$10"
65
- theme={"pink" + subTheme}
66
- bg="$background"
67
- {...props}
68
- />
69
- <Square
70
- br="$6"
71
- size="$10"
72
- theme={"red" + subTheme}
73
- bg="$background"
74
- {...props}
75
- />
76
- <Square br="$6" size="$10" theme={props.subTheme} bg="$background" {...props} />
77
- <Square
78
- br="$6"
79
- size="$10"
80
- theme={"orange" + subTheme}
81
- bg="$background"
82
- {...props}
83
- />
84
- <Square
85
- br="$6"
86
- size="$10"
87
- theme={"yellow" + subTheme}
88
- bg="$background"
89
- {...props}
90
- />
91
- <Square
92
- br="$6"
93
- size="$10"
94
- theme={"green" + subTheme}
95
- bg="$background"
96
- {...props}
97
- />
98
- </YStack>;
99
- }
100
- export {
101
- ThemeBuilderDemo
102
- };
103
- //# sourceMappingURL=ThemeBuilderDemo.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/ThemeBuilderDemo.tsx"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,34 +0,0 @@
1
- import { Button, H5, Theme, XStack, YStack, useThemeName } from "tamagui";
2
- function ThemeInverseDemo() {
3
- const themeName = useThemeName();
4
- const opposite = themeName.includes("dark") ? "light" : "dark";
5
- return <XStack space>
6
- <Buttons title="Normal" name={themeName} />
7
- <Theme inverse><Buttons
8
- title="Inversed"
9
- name={themeName.replace(themeName.split("_")[0], opposite)}
10
- /></Theme>
11
- </XStack>;
12
- }
13
- function Buttons(props) {
14
- return <YStack
15
- elevation="$4"
16
- backgroundColor="$background"
17
- padding="$4"
18
- borderRadius="$4"
19
- space="$3"
20
- >
21
- <H5>{props.title}</H5>
22
- <Button>{props.name}</Button>
23
- <Button themeInverse>inversed</Button>
24
- <Button theme="alt1">
25
- {props.name}
26
- {"_alt1"}
27
- </Button>
28
- <Theme name="yellow"><Button>{props.name.split("_")[0] + "_yellow"}</Button></Theme>
29
- </YStack>;
30
- }
31
- export {
32
- ThemeInverseDemo
33
- };
34
- //# sourceMappingURL=ThemeInverseDemo.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/ThemeInverseDemo.tsx"],
4
- "mappings": "AAAA,SAAS,QAAQ,IAAI,OAAO,QAAQ,QAAQ,oBAAoB;AAEzD,SAAS,mBAAmB;AACjC,QAAM,YAAY,aAAa;AAC/B,QAAM,WAAW,UAAU,SAAS,MAAM,IAAI,UAAU;AAExD,SACE,CAAC,OAAO;AAAA,IACN,CAAC,QAAQ,MAAM,SAAS,MAAM,WAAW;AAAA,IACzC,CAAC,MAAM,QACL,CAAC;AAAA,MACC,MAAM;AAAA,MACN,MAAM,UAAU,QAAQ,UAAU,MAAM,GAAG,EAAE,CAAC,GAAG,QAAQ;AAAA,IAC3D,EACF,EALC;AAAA,EAMH,EARC;AAUL;AAEA,SAAS,QAAQ,OAAwC;AACvD,SACE,CAAC;AAAA,IACC,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,MAAM;AAAA;AAAA,IAEN,CAAC,IAAI,MAAM,MAAM,EAAhB;AAAA,IACD,CAAC,QAAQ,MAAM,KAAK,EAAnB;AAAA,IACD,CAAC,OAAO,aAAa,QAAQ,EAA5B;AAAA,IACD,CAAC,OAAO,MAAM;AAAA,OAAQ,MAAM;AAAA,OAAK;AAAA,IAAK,EAArC;AAAA,IACD,CAAC,MAAM,KAAK,SACV,CAAC,QAAQ,MAAM,KAAK,MAAM,GAAG,EAAE,CAAC,IAAI,UAAU,EAA7C,OACH,EAFC;AAAA,EAGH,EAdC;AAgBL;",
5
- "names": []
6
- }
@@ -1,78 +0,0 @@
1
- import { Toast, useToastController, useToastState } from "@tamagui/toast";
2
- import React from "react";
3
- import { Button, Label, Switch, XStack, YStack } from "tamagui";
4
- const ToastDemo = () => {
5
- const [native, setNative] = React.useState(false);
6
- return <YStack space alignItems="center">
7
- <ToastControl native={native} />
8
- <CurrentToast />
9
- <NativeOptions native={native} setNative={setNative} />
10
- </YStack>;
11
- };
12
- const CurrentToast = () => {
13
- const currentToast = useToastState();
14
- if (!currentToast || currentToast.isHandledNatively)
15
- return null;
16
- return <Toast
17
- key={currentToast.id}
18
- duration={currentToast.duration}
19
- enterStyle={{ opacity: 0, scale: 0.5, y: -25 }}
20
- exitStyle={{ opacity: 0, scale: 1, y: -20 }}
21
- y={0}
22
- opacity={1}
23
- scale={1}
24
- animation="100ms"
25
- viewportName={currentToast.viewportName}
26
- ><YStack>
27
- <Toast.Title>{currentToast.title}</Toast.Title>
28
- {!!currentToast.message && <Toast.Description>{currentToast.message}</Toast.Description>}
29
- </YStack></Toast>;
30
- };
31
- const ToastControl = ({ native }) => {
32
- const toast = useToastController();
33
- return <XStack space="$2" justifyContent="center">
34
- <Button
35
- onPress={() => {
36
- toast.show("Successfully saved!", {
37
- message: "Don't worry, we've got your data.",
38
- native
39
- });
40
- }}
41
- >Show</Button>
42
- <Button
43
- onPress={() => {
44
- toast.hide();
45
- }}
46
- >Hide</Button>
47
- </XStack>;
48
- };
49
- const NativeOptions = ({
50
- native,
51
- setNative
52
- }) => {
53
- return <XStack space="$3">
54
- <Label size="$1" onPress={() => setNative(false)}>Custom</Label>
55
- <Switch
56
- id="native-toggle"
57
- nativeID="native-toggle"
58
- theme="active"
59
- size="$1"
60
- checked={!!native}
61
- onCheckedChange={(val) => setNative(val)}
62
- ><Switch.Thumb
63
- animation={[
64
- "quick",
65
- {
66
- transform: {
67
- overshootClamping: true
68
- }
69
- }
70
- ]}
71
- /></Switch>
72
- <Label size="$1" onPress={() => setNative(true)}>Native</Label>
73
- </XStack>;
74
- };
75
- export {
76
- ToastDemo
77
- };
78
- //# sourceMappingURL=ToastDemo.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/ToastDemo.tsx"],
4
- "mappings": "AAAA,SAAS,OAAO,oBAAoB,qBAAqB;AACzD,OAAO,WAAW;AAClB,SAAS,QAAQ,OAAO,QAAQ,QAAQ,cAAc;AAK/C,MAAM,YAAY,MAAM;AAC7B,QAAM,CAAC,QAAQ,SAAS,IAAI,MAAM,SAAS,KAAK;AAEhD,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,cAAc;AAEnC,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,IACV,cAAc,aAAa;AAAA,GAE3B,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,EAjBC;AAmBL;AAEA,MAAM,eAAe,CAAC,EAAE,OAAO,MAA2B;AACxD,QAAM,QAAQ,mBAAmB;AACjC,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,MAAM,KAAK,KAAK,SAAS,MAAM,UAAU,KAAK,GAAG,MAElD,EAFC;AAAA,IAGD,CAAC;AAAA,MACC,GAAG;AAAA,MACH,SAAS;AAAA,MACT,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,EAlBC;AAAA,IAoBD,CAAC,MAAM,KAAK,KAAK,SAAS,MAAM,UAAU,IAAI,GAAG,MAEjD,EAFC;AAAA,EAGH,EA3BC;AA6BL;",
5
- "names": []
6
- }
@@ -1,35 +0,0 @@
1
- import { CheckCircle2 } from "@tamagui/lucide-icons";
2
- import { Toast } from "@tamagui/toast";
3
- import React from "react";
4
- import { Button, XStack, YStack } from "tamagui";
5
- const ToastDuplicateDemo = () => {
6
- const [savedCount, setSavedCount] = React.useState(0);
7
- return <YStack alignItems="center">
8
- <Button
9
- onPress={() => {
10
- setSavedCount((old) => old + 1);
11
- }}
12
- >Show toast</Button>
13
- {[...Array(savedCount)].map((_, index) => <Toast
14
- viewportName="viewport-multiple"
15
- key={index}
16
- duration={4e3}
17
- enterStyle={{ opacity: 0, scale: 0.5, y: -25 }}
18
- exitStyle={{ opacity: 0, scale: 1, y: -20 }}
19
- y={0}
20
- opacity={1}
21
- scale={1}
22
- animation="100ms"
23
- ><XStack space alignItems="center">
24
- <YStack><CheckCircle2 /></YStack>
25
- <YStack>
26
- <Toast.Title>Successfully saved!</Toast.Title>
27
- <Toast.Description>Don't worry... We've got your data.</Toast.Description>
28
- </YStack>
29
- </XStack></Toast>)}
30
- </YStack>;
31
- };
32
- export {
33
- ToastDuplicateDemo
34
- };
35
- //# sourceMappingURL=ToastDuplicateDemo.mjs.map