@tamagui/demos 1.88.12 → 1.88.14

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 (289) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/BuildAButtonDemo.js.map +1 -1
  3. package/dist/cjs/BuildAButtonDemo.native.js.map +1 -1
  4. package/dist/cjs/CardDemo.js.map +1 -1
  5. package/dist/cjs/CardDemo.native.js.map +1 -1
  6. package/dist/cjs/CheckboxDemo.js.map +1 -1
  7. package/dist/cjs/CheckboxDemo.native.js.map +1 -1
  8. package/dist/cjs/FormsDemo.js.map +1 -1
  9. package/dist/cjs/FormsDemo.native.js.map +1 -1
  10. package/dist/cjs/InputsDemo.js.map +1 -1
  11. package/dist/cjs/InputsDemo.native.js.map +1 -1
  12. package/dist/cjs/PopoverDemo.js.map +1 -1
  13. package/dist/cjs/PopoverDemo.native.js.map +1 -1
  14. package/dist/cjs/ProgressDemo.js.map +1 -1
  15. package/dist/cjs/ProgressDemo.native.js.map +1 -1
  16. package/dist/cjs/RadioGroupDemo.js.map +1 -1
  17. package/dist/cjs/RadioGroupDemo.native.js.map +1 -1
  18. package/dist/cjs/SelectDemo.js.map +1 -1
  19. package/dist/cjs/SelectDemo.native.js.map +1 -1
  20. package/dist/cjs/SheetDemo.js.map +1 -1
  21. package/dist/cjs/SheetDemo.native.js.map +1 -1
  22. package/dist/cjs/SliderDemo.js.map +1 -1
  23. package/dist/cjs/SliderDemo.native.js.map +1 -1
  24. package/dist/cjs/SwitchDemo.js.map +1 -1
  25. package/dist/cjs/SwitchDemo.native.js.map +1 -1
  26. package/dist/cjs/TabsAdvancedDemo.js.map +1 -1
  27. package/dist/cjs/TabsAdvancedDemo.native.js.map +1 -1
  28. package/dist/cjs/TabsDemo.js.map +1 -1
  29. package/dist/cjs/TabsDemo.native.js.map +1 -1
  30. package/dist/cjs/ThemeBuilderDemo.js.map +1 -1
  31. package/dist/cjs/ThemeBuilderDemo.native.js.map +1 -1
  32. package/dist/cjs/ToggleGroupDemo.js.map +1 -1
  33. package/dist/cjs/ToggleGroupDemo.native.js.map +1 -1
  34. package/dist/cjs/TokensDemo.js.map +1 -1
  35. package/dist/cjs/TokensDemo.native.js.map +1 -1
  36. package/dist/cjs/TooltipDemo.js.map +1 -1
  37. package/dist/cjs/TooltipDemo.native.js.map +1 -1
  38. package/dist/cjs/useOnIntersecting.js +0 -1
  39. package/dist/cjs/useOnIntersecting.js.map +1 -1
  40. package/dist/cjs/useOnIntersecting.native.js +0 -1
  41. package/dist/cjs/useOnIntersecting.native.js.map +1 -1
  42. package/dist/esm/AccordionDemo.mjs +58 -0
  43. package/dist/esm/AddThemeDemo.mjs +35 -0
  44. package/dist/esm/AlertDialogDemo.mjs +72 -0
  45. package/dist/esm/AnimationsDemo.mjs +75 -0
  46. package/dist/esm/AnimationsEnterDemo.mjs +40 -0
  47. package/dist/esm/AnimationsHoverDemo.mjs +23 -0
  48. package/dist/esm/AnimationsPresenceDemo.mjs +88 -0
  49. package/dist/esm/AnimationsTimingDemo.mjs +22 -0
  50. package/dist/esm/AvatarDemo.mjs +29 -0
  51. package/dist/esm/BuildAButtonDemo.js.map +1 -1
  52. package/dist/esm/BuildAButtonDemo.mjs +101 -0
  53. package/dist/esm/BuildAButtonDemo.native.js.map +1 -1
  54. package/dist/esm/ButtonDemo.mjs +59 -0
  55. package/dist/esm/CardDemo.js.map +1 -1
  56. package/dist/esm/CardDemo.mjs +64 -0
  57. package/dist/esm/CardDemo.native.js.map +1 -1
  58. package/dist/esm/CheckboxDemo.js.map +1 -1
  59. package/dist/esm/CheckboxDemo.mjs +45 -0
  60. package/dist/esm/CheckboxDemo.native.js.map +1 -1
  61. package/dist/esm/CheckboxHeadlessDemo.mjs +50 -0
  62. package/dist/esm/CheckboxUnstyledDemo.mjs +53 -0
  63. package/dist/esm/ColorsDemo.mjs +97 -0
  64. package/dist/esm/DialogDemo.mjs +136 -0
  65. package/dist/esm/FormsDemo.js.map +1 -1
  66. package/dist/esm/FormsDemo.mjs +35 -0
  67. package/dist/esm/FormsDemo.native.js.map +1 -1
  68. package/dist/esm/Grid.mjs +37 -0
  69. package/dist/esm/GroupDemo.mjs +61 -0
  70. package/dist/esm/HeadingsDemo.mjs +21 -0
  71. package/dist/esm/ImageDemo.mjs +12 -0
  72. package/dist/esm/InputsDemo.js.map +1 -1
  73. package/dist/esm/InputsDemo.mjs +36 -0
  74. package/dist/esm/InputsDemo.native.js.map +1 -1
  75. package/dist/esm/LabelDemo.mjs +36 -0
  76. package/dist/esm/LinearGradientDemo.mjs +24 -0
  77. package/dist/esm/ListItemDemo.mjs +76 -0
  78. package/dist/esm/LucideIconsDemo.mjs +58 -0
  79. package/dist/esm/PopoverDemo.js +1 -9
  80. package/dist/esm/PopoverDemo.js.map +1 -1
  81. package/dist/esm/PopoverDemo.mjs +106 -0
  82. package/dist/esm/PopoverDemo.native.js.map +1 -1
  83. package/dist/esm/ProgressDemo.js.map +1 -1
  84. package/dist/esm/ProgressDemo.mjs +64 -0
  85. package/dist/esm/ProgressDemo.native.js.map +1 -1
  86. package/dist/esm/RadioGroupDemo.js.map +1 -1
  87. package/dist/esm/RadioGroupDemo.mjs +46 -0
  88. package/dist/esm/RadioGroupDemo.native.js.map +1 -1
  89. package/dist/esm/ReplaceThemeDemo.mjs +43 -0
  90. package/dist/esm/ScrollViewDemo.mjs +50 -0
  91. package/dist/esm/SelectDemo.js +1 -9
  92. package/dist/esm/SelectDemo.js.map +1 -1
  93. package/dist/esm/SelectDemo.mjs +188 -0
  94. package/dist/esm/SelectDemo.native.js.map +1 -1
  95. package/dist/esm/SeparatorDemo.mjs +36 -0
  96. package/dist/esm/ShapesDemo.mjs +18 -0
  97. package/dist/esm/SheetDemo.js.map +1 -1
  98. package/dist/esm/SheetDemo.mjs +141 -0
  99. package/dist/esm/SheetDemo.native.js.map +1 -1
  100. package/dist/esm/SliderDemo.js.map +1 -1
  101. package/dist/esm/SliderDemo.mjs +34 -0
  102. package/dist/esm/SliderDemo.native.js.map +1 -1
  103. package/dist/esm/SpinnerDemo.mjs +17 -0
  104. package/dist/esm/StacksDemo.mjs +80 -0
  105. package/dist/esm/SwitchDemo.js.map +1 -1
  106. package/dist/esm/SwitchDemo.mjs +81 -0
  107. package/dist/esm/SwitchDemo.native.js.map +1 -1
  108. package/dist/esm/SwitchHeadlessDemo.mjs +66 -0
  109. package/dist/esm/SwitchUnstyledDemo.mjs +68 -0
  110. package/dist/esm/TabsAdvancedDemo.js.map +1 -1
  111. package/dist/esm/TabsAdvancedDemo.mjs +303 -0
  112. package/dist/esm/TabsAdvancedDemo.native.js.map +1 -1
  113. package/dist/esm/TabsDemo.js +1 -10
  114. package/dist/esm/TabsDemo.js.map +1 -1
  115. package/dist/esm/TabsDemo.mjs +158 -0
  116. package/dist/esm/TabsDemo.native.js.map +1 -1
  117. package/dist/esm/TextDemo.mjs +28 -0
  118. package/dist/esm/ThemeBuilderDemo.js.map +1 -1
  119. package/dist/esm/ThemeBuilderDemo.mjs +154 -0
  120. package/dist/esm/ThemeBuilderDemo.native.js.map +1 -1
  121. package/dist/esm/ThemeInverseDemo.mjs +45 -0
  122. package/dist/esm/ToastDemo.mjs +98 -0
  123. package/dist/esm/ToastDuplicateDemo.mjs +48 -0
  124. package/dist/esm/ToggleGroupDemo.js.map +1 -1
  125. package/dist/esm/ToggleGroupDemo.mjs +73 -0
  126. package/dist/esm/ToggleGroupDemo.native.js.map +1 -1
  127. package/dist/esm/TokensDemo.js.map +1 -1
  128. package/dist/esm/TokensDemo.mjs +90 -0
  129. package/dist/esm/TokensDemo.native.js.map +1 -1
  130. package/dist/esm/TooltipDemo.js +1 -8
  131. package/dist/esm/TooltipDemo.js.map +1 -1
  132. package/dist/esm/TooltipDemo.mjs +101 -0
  133. package/dist/esm/TooltipDemo.native.js.map +1 -1
  134. package/dist/esm/UpdateThemeDemo.mjs +46 -0
  135. package/dist/esm/index.mjs +49 -0
  136. package/dist/esm/tamagui.config.mjs +4 -0
  137. package/dist/esm/useOnIntersecting.js +0 -1
  138. package/dist/esm/useOnIntersecting.js.map +1 -1
  139. package/dist/esm/useOnIntersecting.mjs +41 -0
  140. package/dist/esm/useOnIntersecting.native.js +0 -1
  141. package/dist/esm/useOnIntersecting.native.js.map +1 -1
  142. package/dist/jsx/AccordionDemo.mjs +58 -0
  143. package/dist/jsx/AddThemeDemo.mjs +35 -0
  144. package/dist/jsx/AlertDialogDemo.mjs +72 -0
  145. package/dist/jsx/AnimationsDemo.mjs +75 -0
  146. package/dist/jsx/AnimationsEnterDemo.mjs +40 -0
  147. package/dist/jsx/AnimationsHoverDemo.mjs +23 -0
  148. package/dist/jsx/AnimationsPresenceDemo.mjs +88 -0
  149. package/dist/jsx/AnimationsTimingDemo.mjs +22 -0
  150. package/dist/jsx/AvatarDemo.mjs +29 -0
  151. package/dist/jsx/BuildAButtonDemo.js.map +1 -1
  152. package/dist/jsx/BuildAButtonDemo.mjs +101 -0
  153. package/dist/jsx/BuildAButtonDemo.native.js.map +1 -1
  154. package/dist/jsx/ButtonDemo.mjs +59 -0
  155. package/dist/jsx/CardDemo.js.map +1 -1
  156. package/dist/jsx/CardDemo.mjs +64 -0
  157. package/dist/jsx/CardDemo.native.js.map +1 -1
  158. package/dist/jsx/CheckboxDemo.js.map +1 -1
  159. package/dist/jsx/CheckboxDemo.mjs +45 -0
  160. package/dist/jsx/CheckboxDemo.native.js.map +1 -1
  161. package/dist/jsx/CheckboxHeadlessDemo.mjs +50 -0
  162. package/dist/jsx/CheckboxUnstyledDemo.mjs +53 -0
  163. package/dist/jsx/ColorsDemo.mjs +97 -0
  164. package/dist/jsx/DialogDemo.mjs +136 -0
  165. package/dist/jsx/FormsDemo.js.map +1 -1
  166. package/dist/jsx/FormsDemo.mjs +35 -0
  167. package/dist/jsx/FormsDemo.native.js.map +1 -1
  168. package/dist/jsx/Grid.mjs +37 -0
  169. package/dist/jsx/GroupDemo.mjs +61 -0
  170. package/dist/jsx/HeadingsDemo.mjs +21 -0
  171. package/dist/jsx/ImageDemo.mjs +12 -0
  172. package/dist/jsx/InputsDemo.js.map +1 -1
  173. package/dist/jsx/InputsDemo.mjs +36 -0
  174. package/dist/jsx/InputsDemo.native.js.map +1 -1
  175. package/dist/jsx/LabelDemo.mjs +36 -0
  176. package/dist/jsx/LinearGradientDemo.mjs +24 -0
  177. package/dist/jsx/ListItemDemo.mjs +76 -0
  178. package/dist/jsx/LucideIconsDemo.mjs +58 -0
  179. package/dist/jsx/PopoverDemo.js +1 -9
  180. package/dist/jsx/PopoverDemo.js.map +1 -1
  181. package/dist/jsx/PopoverDemo.mjs +106 -0
  182. package/dist/jsx/PopoverDemo.native.js.map +1 -1
  183. package/dist/jsx/ProgressDemo.js.map +1 -1
  184. package/dist/jsx/ProgressDemo.mjs +64 -0
  185. package/dist/jsx/ProgressDemo.native.js.map +1 -1
  186. package/dist/jsx/RadioGroupDemo.js.map +1 -1
  187. package/dist/jsx/RadioGroupDemo.mjs +46 -0
  188. package/dist/jsx/RadioGroupDemo.native.js.map +1 -1
  189. package/dist/jsx/ReplaceThemeDemo.mjs +43 -0
  190. package/dist/jsx/ScrollViewDemo.mjs +50 -0
  191. package/dist/jsx/SelectDemo.js +1 -9
  192. package/dist/jsx/SelectDemo.js.map +1 -1
  193. package/dist/jsx/SelectDemo.mjs +188 -0
  194. package/dist/jsx/SelectDemo.native.js.map +1 -1
  195. package/dist/jsx/SeparatorDemo.mjs +36 -0
  196. package/dist/jsx/ShapesDemo.mjs +18 -0
  197. package/dist/jsx/SheetDemo.js.map +1 -1
  198. package/dist/jsx/SheetDemo.mjs +141 -0
  199. package/dist/jsx/SheetDemo.native.js.map +1 -1
  200. package/dist/jsx/SliderDemo.js.map +1 -1
  201. package/dist/jsx/SliderDemo.mjs +34 -0
  202. package/dist/jsx/SliderDemo.native.js.map +1 -1
  203. package/dist/jsx/SpinnerDemo.mjs +17 -0
  204. package/dist/jsx/StacksDemo.mjs +80 -0
  205. package/dist/jsx/SwitchDemo.js.map +1 -1
  206. package/dist/jsx/SwitchDemo.mjs +81 -0
  207. package/dist/jsx/SwitchDemo.native.js.map +1 -1
  208. package/dist/jsx/SwitchHeadlessDemo.mjs +66 -0
  209. package/dist/jsx/SwitchUnstyledDemo.mjs +68 -0
  210. package/dist/jsx/TabsAdvancedDemo.js.map +1 -1
  211. package/dist/jsx/TabsAdvancedDemo.mjs +303 -0
  212. package/dist/jsx/TabsAdvancedDemo.native.js.map +1 -1
  213. package/dist/jsx/TabsDemo.js +1 -10
  214. package/dist/jsx/TabsDemo.js.map +1 -1
  215. package/dist/jsx/TabsDemo.mjs +158 -0
  216. package/dist/jsx/TabsDemo.native.js.map +1 -1
  217. package/dist/jsx/TextDemo.mjs +28 -0
  218. package/dist/jsx/ThemeBuilderDemo.js.map +1 -1
  219. package/dist/jsx/ThemeBuilderDemo.mjs +154 -0
  220. package/dist/jsx/ThemeBuilderDemo.native.js.map +1 -1
  221. package/dist/jsx/ThemeInverseDemo.mjs +45 -0
  222. package/dist/jsx/ToastDemo.mjs +98 -0
  223. package/dist/jsx/ToastDuplicateDemo.mjs +48 -0
  224. package/dist/jsx/ToggleGroupDemo.js.map +1 -1
  225. package/dist/jsx/ToggleGroupDemo.mjs +73 -0
  226. package/dist/jsx/ToggleGroupDemo.native.js.map +1 -1
  227. package/dist/jsx/TokensDemo.js.map +1 -1
  228. package/dist/jsx/TokensDemo.mjs +90 -0
  229. package/dist/jsx/TokensDemo.native.js.map +1 -1
  230. package/dist/jsx/TooltipDemo.js +1 -8
  231. package/dist/jsx/TooltipDemo.js.map +1 -1
  232. package/dist/jsx/TooltipDemo.mjs +101 -0
  233. package/dist/jsx/TooltipDemo.native.js.map +1 -1
  234. package/dist/jsx/UpdateThemeDemo.mjs +46 -0
  235. package/dist/jsx/index.mjs +49 -0
  236. package/dist/jsx/tamagui.config.mjs +4 -0
  237. package/dist/jsx/useOnIntersecting.js +0 -1
  238. package/dist/jsx/useOnIntersecting.js.map +1 -1
  239. package/dist/jsx/useOnIntersecting.mjs +41 -0
  240. package/dist/jsx/useOnIntersecting.native.js +0 -1
  241. package/dist/jsx/useOnIntersecting.native.js.map +1 -1
  242. package/package.json +19 -19
  243. package/src/BuildAButtonDemo.tsx +2 -1
  244. package/src/CardDemo.tsx +2 -1
  245. package/src/CheckboxDemo.tsx +2 -1
  246. package/src/ColorsDemo.tsx +1 -1
  247. package/src/FormsDemo.tsx +2 -1
  248. package/src/InputsDemo.tsx +2 -1
  249. package/src/PopoverDemo.tsx +2 -10
  250. package/src/ProgressDemo.tsx +2 -1
  251. package/src/RadioGroupDemo.tsx +2 -1
  252. package/src/SelectDemo.tsx +2 -11
  253. package/src/SheetDemo.tsx +2 -1
  254. package/src/SliderDemo.tsx +2 -1
  255. package/src/SwitchDemo.tsx +2 -1
  256. package/src/TabsAdvancedDemo.tsx +1 -3
  257. package/src/TabsDemo.tsx +2 -11
  258. package/src/ThemeBuilderDemo.tsx +2 -1
  259. package/src/ToggleGroupDemo.tsx +2 -1
  260. package/src/TokensDemo.tsx +2 -1
  261. package/src/TooltipDemo.tsx +2 -9
  262. package/src/useOnIntersecting.tsx +3 -2
  263. package/types/BuildAButtonDemo.d.ts.map +1 -1
  264. package/types/CardDemo.d.ts +1 -1
  265. package/types/CardDemo.d.ts.map +1 -1
  266. package/types/CheckboxDemo.d.ts +1 -1
  267. package/types/CheckboxDemo.d.ts.map +1 -1
  268. package/types/FormsDemo.d.ts +1 -1
  269. package/types/FormsDemo.d.ts.map +1 -1
  270. package/types/InputsDemo.d.ts.map +1 -1
  271. package/types/PopoverDemo.d.ts +1 -1
  272. package/types/PopoverDemo.d.ts.map +1 -1
  273. package/types/ProgressDemo.d.ts.map +1 -1
  274. package/types/RadioGroupDemo.d.ts +1 -1
  275. package/types/RadioGroupDemo.d.ts.map +1 -1
  276. package/types/SelectDemo.d.ts +1 -1
  277. package/types/SelectDemo.d.ts.map +1 -1
  278. package/types/SheetDemo.d.ts.map +1 -1
  279. package/types/SliderDemo.d.ts.map +1 -1
  280. package/types/SwitchDemo.d.ts +1 -1
  281. package/types/SwitchDemo.d.ts.map +1 -1
  282. package/types/TabsAdvancedDemo.d.ts.map +1 -1
  283. package/types/TabsDemo.d.ts.map +1 -1
  284. package/types/ThemeBuilderDemo.d.ts.map +1 -1
  285. package/types/ToggleGroupDemo.d.ts.map +1 -1
  286. package/types/TokensDemo.d.ts.map +1 -1
  287. package/types/TooltipDemo.d.ts.map +1 -1
  288. package/types/useOnIntersecting.d.ts +1 -1
  289. package/types/useOnIntersecting.d.ts.map +1 -1
@@ -0,0 +1,101 @@
1
+ import { ChevronDown, ChevronLeft, ChevronRight, ChevronUp, Circle } from "@tamagui/lucide-icons";
2
+ import { Button, Paragraph, Tooltip, TooltipGroup, XStack, YStack } from "tamagui";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ function TooltipDemo() {
5
+ return /* @__PURE__ */jsx(TooltipGroup, {
6
+ delay: {
7
+ open: 3e3,
8
+ close: 100
9
+ },
10
+ children: /* @__PURE__ */jsxs(YStack, {
11
+ space: "$2",
12
+ alignSelf: "center",
13
+ children: [/* @__PURE__ */jsxs(XStack, {
14
+ space: "$2",
15
+ children: [/* @__PURE__ */jsx(Demo, {
16
+ groupId: "0",
17
+ placement: "top-end",
18
+ Icon: Circle
19
+ }), /* @__PURE__ */jsx(Demo, {
20
+ groupId: "1",
21
+ placement: "top",
22
+ Icon: ChevronUp
23
+ }), /* @__PURE__ */jsx(Demo, {
24
+ groupId: "2",
25
+ placement: "top-start",
26
+ Icon: Circle
27
+ })]
28
+ }), /* @__PURE__ */jsxs(XStack, {
29
+ space: "$2",
30
+ children: [/* @__PURE__ */jsx(Demo, {
31
+ groupId: "3",
32
+ placement: "left",
33
+ Icon: ChevronLeft
34
+ }), /* @__PURE__ */jsx(YStack, {
35
+ flex: 1
36
+ }), /* @__PURE__ */jsx(Demo, {
37
+ groupId: "4",
38
+ placement: "right",
39
+ Icon: ChevronRight
40
+ })]
41
+ }), /* @__PURE__ */jsxs(XStack, {
42
+ space: "$2",
43
+ children: [/* @__PURE__ */jsx(Demo, {
44
+ groupId: "5",
45
+ placement: "bottom-end",
46
+ Icon: Circle
47
+ }), /* @__PURE__ */jsx(Demo, {
48
+ groupId: "6",
49
+ placement: "bottom",
50
+ Icon: ChevronDown
51
+ }), /* @__PURE__ */jsx(Demo, {
52
+ groupId: "7",
53
+ placement: "bottom-start",
54
+ Icon: Circle
55
+ })]
56
+ })]
57
+ })
58
+ });
59
+ }
60
+ function Demo({
61
+ Icon,
62
+ ...props
63
+ }) {
64
+ return /* @__PURE__ */jsxs(Tooltip, {
65
+ ...props,
66
+ children: [/* @__PURE__ */jsx(Tooltip.Trigger, {
67
+ children: /* @__PURE__ */jsx(Button, {
68
+ icon: Icon,
69
+ circular: !0
70
+ })
71
+ }), /* @__PURE__ */jsxs(Tooltip.Content, {
72
+ enterStyle: {
73
+ x: 0,
74
+ y: -5,
75
+ opacity: 0,
76
+ scale: 0.9
77
+ },
78
+ exitStyle: {
79
+ x: 0,
80
+ y: -5,
81
+ opacity: 0,
82
+ scale: 0.9
83
+ },
84
+ scale: 1,
85
+ x: 0,
86
+ y: 0,
87
+ opacity: 1,
88
+ animation: ["quick", {
89
+ opacity: {
90
+ overshootClamping: !0
91
+ }
92
+ }],
93
+ children: [/* @__PURE__ */jsx(Tooltip.Arrow, {}), /* @__PURE__ */jsx(Paragraph, {
94
+ size: "$2",
95
+ lineHeight: "$1",
96
+ children: "Hello world"
97
+ })]
98
+ })]
99
+ });
100
+ }
101
+ export { TooltipDemo };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/TooltipDemo.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAMO,kCACP,iBAQO,oBAMC;AAJD,SAAS,cAAc;AAC5B,SACE,4CAAC,+BAAa,OAAO,EAAE,MAAM,KAAM,OAAO,IAAI,GAC5C,uDAAC,yBAAO,OAAM,MAAK,WAAU,UAC3B;AAAA,iDAAC,yBAAO,OAAM,MACZ;AAAA,kDAAC,QAAK,SAAQ,KAAI,WAAU,WAAU,MAAM,4BAAQ;AAAA,MACpD,4CAAC,QAAK,SAAQ,KAAI,WAAU,OAAM,MAAM,+BAAW;AAAA,MACnD,4CAAC,QAAK,SAAQ,KAAI,WAAU,aAAY,MAAM,4BAAQ;AAAA,OACxD;AAAA,IACA,6CAAC,yBAAO,OAAM,MACZ;AAAA,kDAAC,QAAK,SAAQ,KAAI,WAAU,QAAO,MAAM,iCAAa;AAAA,MACtD,4CAAC,yBAAO,MAAM,GAAG;AAAA,MACjB,4CAAC,QAAK,SAAQ,KAAI,WAAU,SAAQ,MAAM,kCAAc;AAAA,OAC1D;AAAA,IACA,6CAAC,yBAAO,OAAM,MACZ;AAAA,kDAAC,QAAK,SAAQ,KAAI,WAAU,cAAa,MAAM,4BAAQ;AAAA,MACvD,4CAAC,QAAK,SAAQ,KAAI,WAAU,UAAS,MAAM,iCAAa;AAAA,MACxD,4CAAC,QAAK,SAAQ,KAAI,WAAU,gBAAe,MAAM,4BAAQ;AAAA,OAC3D;AAAA,KACF,GACF;AAEJ;AAEA,SAAS,KAAK,EAAE,MAAM,GAAG,MAAM,GAAkC;AAC/D,SACE,6CAAC,0BAAS,GAAG,OACX;AAAA,gDAAC,uBAAQ,SAAR,EACC,sDAAC,yBAAO,MAAM,MAAM,UAAQ,IAAC,GAC/B;AAAA,IACA;AAAA,MAAC,uBAAQ;AAAA,MAAR;AAAA,QACC,YAAY,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS,GAAG,OAAO,IAAI;AAAA,QAClD,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS,GAAG,OAAO,IAAI;AAAA,QACjD,OAAO;AAAA,QACP,GAAG;AAAA,QACH,GAAG;AAAA,QACH,SAAS;AAAA,QACT,WAAW;AAAA,UACT;AAAA,UACA;AAAA,YACE,SAAS;AAAA,cACP,mBAAmB;AAAA,YACrB;AAAA,UACF;AAAA,QACF;AAAA,QAEA;AAAA,sDAAC,uBAAQ,OAAR,EAAc;AAAA,UACf,4CAAC,4BAAU,MAAK,MAAK,YAAW,MAAK,yBAErC;AAAA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAMO,kCAEP,iBAAyE,oBAMjE;AAJD,SAAS,cAAc;AAC5B,SACE,4CAAC,+BAAa,OAAO,EAAE,MAAM,KAAM,OAAO,IAAI,GAC5C,uDAAC,yBAAO,OAAM,MAAK,WAAU,UAC3B;AAAA,iDAAC,yBAAO,OAAM,MACZ;AAAA,kDAAC,QAAK,SAAQ,KAAI,WAAU,WAAU,MAAM,4BAAQ;AAAA,MACpD,4CAAC,QAAK,SAAQ,KAAI,WAAU,OAAM,MAAM,+BAAW;AAAA,MACnD,4CAAC,QAAK,SAAQ,KAAI,WAAU,aAAY,MAAM,4BAAQ;AAAA,OACxD;AAAA,IACA,6CAAC,yBAAO,OAAM,MACZ;AAAA,kDAAC,QAAK,SAAQ,KAAI,WAAU,QAAO,MAAM,iCAAa;AAAA,MACtD,4CAAC,yBAAO,MAAM,GAAG;AAAA,MACjB,4CAAC,QAAK,SAAQ,KAAI,WAAU,SAAQ,MAAM,kCAAc;AAAA,OAC1D;AAAA,IACA,6CAAC,yBAAO,OAAM,MACZ;AAAA,kDAAC,QAAK,SAAQ,KAAI,WAAU,cAAa,MAAM,4BAAQ;AAAA,MACvD,4CAAC,QAAK,SAAQ,KAAI,WAAU,UAAS,MAAM,iCAAa;AAAA,MACxD,4CAAC,QAAK,SAAQ,KAAI,WAAU,gBAAe,MAAM,4BAAQ;AAAA,OAC3D;AAAA,KACF,GACF;AAEJ;AAEA,SAAS,KAAK,EAAE,MAAM,GAAG,MAAM,GAAkC;AAC/D,SACE,6CAAC,0BAAS,GAAG,OACX;AAAA,gDAAC,uBAAQ,SAAR,EACC,sDAAC,yBAAO,MAAM,MAAM,UAAQ,IAAC,GAC/B;AAAA,IACA;AAAA,MAAC,uBAAQ;AAAA,MAAR;AAAA,QACC,YAAY,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS,GAAG,OAAO,IAAI;AAAA,QAClD,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,SAAS,GAAG,OAAO,IAAI;AAAA,QACjD,OAAO;AAAA,QACP,GAAG;AAAA,QACH,GAAG;AAAA,QACH,SAAS;AAAA,QACT,WAAW;AAAA,UACT;AAAA,UACA;AAAA,YACE,SAAS;AAAA,cACP,mBAAmB;AAAA,YACrB;AAAA,UACF;AAAA,QACF;AAAA,QAEA;AAAA,sDAAC,uBAAQ,OAAR,EAAc;AAAA,UACf,4CAAC,4BAAU,MAAK,MAAK,YAAW,MAAK,yBAErC;AAAA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,46 @@
1
+ import * as Config from "@tamagui/site-config";
2
+ import { addTheme, updateTheme } from "@tamagui/theme";
3
+ import { useState } from "react";
4
+ import { Button, Square, Theme, XStack, YStack, getVariableValue, useForceUpdate, useIsomorphicLayoutEffect } from "tamagui";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ const colors = Config.config.tokens.color,
7
+ colorKeys = Object.keys(colors);
8
+ function UpdateThemeDemo() {
9
+ const [theme, setTheme] = useState(),
10
+ update = useForceUpdate();
11
+ return useIsomorphicLayoutEffect(() => {
12
+ addTheme({
13
+ name: "custom",
14
+ insertCSS: !0,
15
+ theme: {
16
+ color: "red"
17
+ }
18
+ }), setTheme("custom");
19
+ }, []), /* @__PURE__ */jsxs(YStack, {
20
+ alignItems: "center",
21
+ space: !0,
22
+ children: [/* @__PURE__ */jsx(XStack, {
23
+ gap: "$5",
24
+ children: /* @__PURE__ */jsx(Theme, {
25
+ name: theme ?? null,
26
+ children: /* @__PURE__ */jsx(Square, {
27
+ borderRadius: "$8",
28
+ size: 100,
29
+ backgroundColor: "$color"
30
+ })
31
+ })
32
+ }), /* @__PURE__ */jsx(Button, {
33
+ onPress: () => {
34
+ const randomColor = getVariableValue(colors[colorKeys[Math.floor(Math.random() * colorKeys.length)]]);
35
+ updateTheme({
36
+ name: "custom",
37
+ theme: {
38
+ color: randomColor
39
+ }
40
+ }), update();
41
+ },
42
+ children: "Set to random color"
43
+ })]
44
+ });
45
+ }
46
+ export { UpdateThemeDemo };
@@ -0,0 +1,49 @@
1
+ export * from "./AccordionDemo.mjs";
2
+ export * from "./AddThemeDemo.mjs";
3
+ export * from "./AlertDialogDemo.mjs";
4
+ export * from "./AnimationsDemo.mjs";
5
+ export * from "./AnimationsEnterDemo.mjs";
6
+ export * from "./AnimationsHoverDemo.mjs";
7
+ export * from "./AnimationsPresenceDemo.mjs";
8
+ export * from "./AnimationsTimingDemo.mjs";
9
+ export * from "./AvatarDemo.mjs";
10
+ export * from "./BuildAButtonDemo.mjs";
11
+ export * from "./ButtonDemo.mjs";
12
+ export * from "./ThemeBuilderDemo.mjs";
13
+ export * from "./CardDemo.mjs";
14
+ export * from "./CheckboxDemo.mjs";
15
+ export * from "./ColorsDemo.mjs";
16
+ export * from "./DialogDemo.mjs";
17
+ export * from "./FormsDemo.mjs";
18
+ export * from "./GroupDemo.mjs";
19
+ export * from "./HeadingsDemo.mjs";
20
+ export * from "./ImageDemo.mjs";
21
+ export * from "./InputsDemo.mjs";
22
+ export * from "./LabelDemo.mjs";
23
+ export * from "./LinearGradientDemo.mjs";
24
+ export * from "./ListItemDemo.mjs";
25
+ export * from "./LucideIconsDemo.mjs";
26
+ export * from "./PopoverDemo.mjs";
27
+ export * from "./ProgressDemo.mjs";
28
+ export * from "./RadioGroupDemo.mjs";
29
+ export * from "./ReplaceThemeDemo.mjs";
30
+ export * from "./ScrollViewDemo.mjs";
31
+ export * from "./SelectDemo.mjs";
32
+ export * from "./SeparatorDemo.mjs";
33
+ export * from "./ShapesDemo.mjs";
34
+ export * from "./SheetDemo.mjs";
35
+ export * from "./SliderDemo.mjs";
36
+ export * from "./SpinnerDemo.mjs";
37
+ export * from "./StacksDemo.mjs";
38
+ export * from "./SwitchDemo.mjs";
39
+ export * from "./TabsAdvancedDemo.mjs";
40
+ export * from "./TabsDemo.mjs";
41
+ export * from "./TextDemo.mjs";
42
+ export * from "./ThemeInverseDemo.mjs";
43
+ export * from "./ToastDemo.mjs";
44
+ export * from "./ToastDuplicateDemo.mjs";
45
+ export * from "./ToggleGroupDemo.mjs";
46
+ export * from "./TokensDemo.mjs";
47
+ export * from "./TooltipDemo.mjs";
48
+ export * from "./UpdateThemeDemo.mjs";
49
+ export * from "./useOnIntersecting.mjs";
@@ -0,0 +1,4 @@
1
+ import { config } from "@tamagui/site-config";
2
+ import { config as config2 } from "@tamagui/site-config";
3
+ var tamagui_config_default = config;
4
+ export { config2 as config, tamagui_config_default as default };
@@ -39,7 +39,6 @@ function useOnIntersecting(refsIn, incomingCbRaw, { threshold = 0, root, rootMar
39
39
  root,
40
40
  rootMargin,
41
41
  threshold,
42
- // eslint-disable-next-line react-hooks/exhaustive-deps
43
42
  ...mountArgs
44
43
  ]);
45
44
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/useOnIntersecting.tsx"],
4
- "mappings": "AAAA,SAA2B,WAAW,gBAAgB;AACtD,SAAS,OAAO,gBAAgB;AAWzB,SAAS,kBACd,MACA,EAAE,MAAM,GAAG,KAAK,IAAmD,CAAC,GAC3B;AACzC,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAoB,CAAC,CAAC;AAElD,SAAI,SACF;AAAA,IACE;AAAA,IACA,CAAC,YAAY;AACX,YAAM,eAAe,QAAQ,KAAK,CAAC,MAAM,GAAG,cAAc;AAC1D,MAAI,QAAQ,CAAC,gBACb,UAAU,CAAC,SAAS;AAClB,cAAM,OAAO,QAAQ,IAAI,CAAC,MAAM,GAAG,kBAAkB,EAAK;AAC1D,eAAI,KAAK,WAAW,KAAK,UAAU,KAAK,MAAM,CAAC,GAAG,MAAM,MAAM,KAAK,CAAC,CAAC,IAC5D,OAEF;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA;AAAA,EACF,GAGM,MAAM,QAAQ,IAAI,IAAI,SAAS,OAAO,CAAC;AACjD;AAEO,SAAS,kBACd,QACA,eACA,EAAE,YAAY,GAAG,MAAM,WAAW,IAA8B,CAAC,GACjE,YAAmB,CAAC,GACpB;AACA,QAAM,mBAAmB,SAAS,aAAa;AAE/C,YAAU,MAAM;AACd,UAAM,OAAQ,MAAM,QAAQ,MAAM,IAAI,SAAS,CAAC,MAAM;AACtD,QAAI,CAAC,KAAK;AAAQ;AAElB,QAAI,UAA4B,MAC5B,iBAAuD,CAAC;AAC5D,UAAM,UAAU;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,IACF,GACM,KAAK,IAAI,qBAAqB,CAAC,YAAY;AAC/C,uBAAiB,KAAK,IAAI,CAAC,KAAK,UAE5B,QAAQ,KAAK,CAAC,MAAM,EAAE,WAAW,IAAI,OAAO,KAAK,eAAe,KAAK,KAAK,IAE7E,GACD,UAAU,GACV,UAAU,iBAAiB,cAAc,KAAK;AAAA,IAChD,GAAG,OAAO;AAEV,eAAW,OAAO;AAChB,MAAI,IAAI,WACN,GAAG,QAAQ,IAAI,OAAO;AAI1B,WAAO,MAAM;AACX,gBAAU,GACV,GAAG,WAAW;AAAA,IAChB;AAAA,EACF,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA,GAAG;AAAA,EACL,CAAC;AACH;",
4
+ "mappings": "AACA,SAAS,WAAW,gBAAgB;AACpC,SAAS,OAAO,gBAAgB;AAWzB,SAAS,kBACd,MACA,EAAE,MAAM,GAAG,KAAK,IAAmD,CAAC,GAC3B;AACzC,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAoB,CAAC,CAAC;AAElD,SAAI,SACF;AAAA,IACE;AAAA,IACA,CAAC,YAAY;AACX,YAAM,eAAe,QAAQ,KAAK,CAAC,MAAM,GAAG,cAAc;AAC1D,MAAI,QAAQ,CAAC,gBACb,UAAU,CAAC,SAAS;AAClB,cAAM,OAAO,QAAQ,IAAI,CAAC,MAAM,GAAG,kBAAkB,EAAK;AAC1D,eAAI,KAAK,WAAW,KAAK,UAAU,KAAK,MAAM,CAAC,GAAG,MAAM,MAAM,KAAK,CAAC,CAAC,IAC5D,OAEF;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA;AAAA,EACF,GAGM,MAAM,QAAQ,IAAI,IAAI,SAAS,OAAO,CAAC;AACjD;AAEO,SAAS,kBACd,QACA,eACA,EAAE,YAAY,GAAG,MAAM,WAAW,IAA8B,CAAC,GACjE,YAAmB,CAAC,GACpB;AACA,QAAM,mBAAmB,SAAS,aAAa;AAE/C,YAAU,MAAM;AACd,UAAM,OAAQ,MAAM,QAAQ,MAAM,IAAI,SAAS,CAAC,MAAM;AACtD,QAAI,CAAC,KAAK;AAAQ;AAElB,QAAI,UAA4B,MAC5B,iBAAuD,CAAC;AAC5D,UAAM,UAAU;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,IACF,GACM,KAAK,IAAI,qBAAqB,CAAC,YAAY;AAC/C,uBAAiB,KAAK,IAAI,CAAC,KAAK,UAE5B,QAAQ,KAAK,CAAC,MAAM,EAAE,WAAW,IAAI,OAAO,KAAK,eAAe,KAAK,KAAK,IAE7E,GACD,UAAU,GACV,UAAU,iBAAiB,cAAc,KAAK;AAAA,IAChD,GAAG,OAAO;AAEV,eAAW,OAAO;AAChB,MAAI,IAAI,WACN,GAAG,QAAQ,IAAI,OAAO;AAI1B,WAAO,MAAM;AACX,gBAAU,GACV,GAAG,WAAW;AAAA,IAChB;AAAA,EACF,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA,GAAG;AAAA,EACL,CAAC;AACH;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,41 @@
1
+ import { useEffect, useState } from "react";
2
+ import { isWeb, useEvent } from "tamagui";
3
+ function useIsIntersecting(refs, {
4
+ once,
5
+ ...opts
6
+ } = {}) {
7
+ const [values, setValues] = useState([]);
8
+ return isWeb && useOnIntersecting(refs, entries => {
9
+ const intersecting = entries.some(x => x?.isIntersecting);
10
+ once && !intersecting || setValues(prev => {
11
+ const next = entries.map(e => e?.isIntersecting ?? !1);
12
+ return prev.length === next.length && prev.every((e, i) => e === next[i]) ? prev : next;
13
+ });
14
+ }, opts), Array.isArray(refs) ? values : values[0];
15
+ }
16
+ function useOnIntersecting(refsIn, incomingCbRaw, {
17
+ threshold = 0,
18
+ root,
19
+ rootMargin
20
+ } = {}, mountArgs = []) {
21
+ const onIntersectEvent = useEvent(incomingCbRaw);
22
+ useEffect(() => {
23
+ const refs = Array.isArray(refsIn) ? refsIn : [refsIn];
24
+ if (!refs.length) return;
25
+ let dispose = null,
26
+ currentEntries = [];
27
+ const options = {
28
+ threshold,
29
+ root,
30
+ rootMargin
31
+ },
32
+ io = new IntersectionObserver(entries => {
33
+ currentEntries = refs.map((ref, index) => entries.find(x => x.target === ref.current) ?? currentEntries[index] ?? null), dispose?.(), dispose = onIntersectEvent(currentEntries) || null;
34
+ }, options);
35
+ for (const ref of refs) ref.current && io.observe(ref.current);
36
+ return () => {
37
+ dispose?.(), io.disconnect();
38
+ };
39
+ }, [onIntersectEvent, refsIn, root, rootMargin, threshold, ...mountArgs]);
40
+ }
41
+ export { useIsIntersecting, useOnIntersecting };
@@ -59,7 +59,6 @@ function useOnIntersecting(refsIn, incomingCbRaw, { threshold = 0, root, rootMar
59
59
  root,
60
60
  rootMargin,
61
61
  threshold,
62
- // eslint-disable-next-line react-hooks/exhaustive-deps
63
62
  ...mountArgs
64
63
  ]);
65
64
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/useOnIntersecting.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAsD,kBACtD,iBAAgC;AAWzB,SAAS,kBACd,MACA,EAAE,MAAM,GAAG,KAAK,IAAmD,CAAC,GAC3B;AACzC,QAAM,CAAC,QAAQ,SAAS,QAAI,uBAAoB,CAAC,CAAC;AAElD,SAAI,wBACF;AAAA,IACE;AAAA,IACA,CAAC,YAAY;AACX,YAAM,eAAe,QAAQ,KAAK,CAAC,MAAM,uBAAG,cAAc;AAC1D,MAAI,QAAQ,CAAC,gBACb,UAAU,CAAC,SAAS;AAClB,cAAM,OAAO,QAAQ,IAAI,CAAC,OAAM,uBAAG,mBAAkB,EAAK;AAC1D,eAAI,KAAK,WAAW,KAAK,UAAU,KAAK,MAAM,CAAC,GAAG,MAAM,MAAM,KAAK,CAAC,CAAC,IAC5D,OAEF;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA;AAAA,EACF,GAGM,MAAM,QAAQ,IAAI,IAAI,SAAS,OAAO,CAAC;AACjD;AAEO,SAAS,kBACd,QACA,eACA,EAAE,YAAY,GAAG,MAAM,WAAW,IAA8B,CAAC,GACjE,YAAmB,CAAC,GACpB;AACA,QAAM,uBAAmB,yBAAS,aAAa;AAE/C,8BAAU,MAAM;AACd,UAAM,OAAQ,MAAM,QAAQ,MAAM,IAAI,SAAS,CAAC,MAAM;AACtD,QAAI,CAAC,KAAK;AAAQ;AAElB,QAAI,UAA4B,MAC5B,iBAAuD,CAAC;AAC5D,UAAM,UAAU;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,IACF,GACM,KAAK,IAAI,qBAAqB,CAAC,YAAY;AAC/C,uBAAiB,KAAK,IAAI,CAAC,KAAK,UAE5B,QAAQ,KAAK,CAAC,MAAM,EAAE,WAAW,IAAI,OAAO,KAAK,eAAe,KAAK,KAAK,IAE7E,GACD,8BACA,UAAU,iBAAiB,cAAc,KAAK;AAAA,IAChD,GAAG,OAAO;AAEV,eAAW,OAAO;AAChB,MAAI,IAAI,WACN,GAAG,QAAQ,IAAI,OAAO;AAI1B,WAAO,MAAM;AACX,oCACA,GAAG,WAAW;AAAA,IAChB;AAAA,EACF,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA,GAAG;AAAA,EACL,CAAC;AACH;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAoC,kBACpC,iBAAgC;AAWzB,SAAS,kBACd,MACA,EAAE,MAAM,GAAG,KAAK,IAAmD,CAAC,GAC3B;AACzC,QAAM,CAAC,QAAQ,SAAS,QAAI,uBAAoB,CAAC,CAAC;AAElD,SAAI,wBACF;AAAA,IACE;AAAA,IACA,CAAC,YAAY;AACX,YAAM,eAAe,QAAQ,KAAK,CAAC,MAAM,uBAAG,cAAc;AAC1D,MAAI,QAAQ,CAAC,gBACb,UAAU,CAAC,SAAS;AAClB,cAAM,OAAO,QAAQ,IAAI,CAAC,OAAM,uBAAG,mBAAkB,EAAK;AAC1D,eAAI,KAAK,WAAW,KAAK,UAAU,KAAK,MAAM,CAAC,GAAG,MAAM,MAAM,KAAK,CAAC,CAAC,IAC5D,OAEF;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA;AAAA,EACF,GAGM,MAAM,QAAQ,IAAI,IAAI,SAAS,OAAO,CAAC;AACjD;AAEO,SAAS,kBACd,QACA,eACA,EAAE,YAAY,GAAG,MAAM,WAAW,IAA8B,CAAC,GACjE,YAAmB,CAAC,GACpB;AACA,QAAM,uBAAmB,yBAAS,aAAa;AAE/C,8BAAU,MAAM;AACd,UAAM,OAAQ,MAAM,QAAQ,MAAM,IAAI,SAAS,CAAC,MAAM;AACtD,QAAI,CAAC,KAAK;AAAQ;AAElB,QAAI,UAA4B,MAC5B,iBAAuD,CAAC;AAC5D,UAAM,UAAU;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,IACF,GACM,KAAK,IAAI,qBAAqB,CAAC,YAAY;AAC/C,uBAAiB,KAAK,IAAI,CAAC,KAAK,UAE5B,QAAQ,KAAK,CAAC,MAAM,EAAE,WAAW,IAAI,OAAO,KAAK,eAAe,KAAK,KAAK,IAE7E,GACD,8BACA,UAAU,iBAAiB,cAAc,KAAK;AAAA,IAChD,GAAG,OAAO;AAEV,eAAW,OAAO;AAChB,MAAI,IAAI,WACN,GAAG,QAAQ,IAAI,OAAO;AAI1B,WAAO,MAAM;AACX,oCACA,GAAG,WAAW;AAAA,IAChB;AAAA,EACF,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA,GAAG;AAAA,EACL,CAAC;AACH;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,58 @@
1
+ import { ChevronDown } from "@tamagui/lucide-icons";
2
+ import { Accordion, Paragraph, Square } from "tamagui";
3
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
+ function AccordionDemo() {
5
+ return /* @__PURE__ */jsxs(Accordion, {
6
+ overflow: "hidden",
7
+ width: "$20",
8
+ type: "multiple",
9
+ children: [/* @__PURE__ */jsxs(Accordion.Item, {
10
+ value: "a1",
11
+ children: [/* @__PURE__ */jsx(Accordion.Trigger, {
12
+ flexDirection: "row",
13
+ justifyContent: "space-between",
14
+ children: ({
15
+ open
16
+ }) => /* @__PURE__ */jsxs(Fragment, {
17
+ children: [/* @__PURE__ */jsx(Paragraph, {
18
+ children: "1. Take a cold shower"
19
+ }), /* @__PURE__ */jsx(Square, {
20
+ animation: "quick",
21
+ rotate: open ? "180deg" : "0deg",
22
+ children: /* @__PURE__ */jsx(ChevronDown, {
23
+ size: "$1"
24
+ })
25
+ })]
26
+ })
27
+ }), /* @__PURE__ */jsx(Accordion.Content, {
28
+ children: /* @__PURE__ */jsx(Paragraph, {
29
+ children: "Cold showers can help reduce inflammation, relieve pain, improve circulation, lower stress levels, and reduce muscle soreness and fatigue."
30
+ })
31
+ })]
32
+ }), /* @__PURE__ */jsxs(Accordion.Item, {
33
+ value: "a2",
34
+ children: [/* @__PURE__ */jsx(Accordion.Trigger, {
35
+ flexDirection: "row",
36
+ justifyContent: "space-between",
37
+ children: ({
38
+ open
39
+ }) => /* @__PURE__ */jsxs(Fragment, {
40
+ children: [/* @__PURE__ */jsx(Paragraph, {
41
+ children: "2. Eat 4 eggs"
42
+ }), /* @__PURE__ */jsx(Square, {
43
+ animation: "quick",
44
+ rotate: open ? "180deg" : "0deg",
45
+ children: /* @__PURE__ */jsx(ChevronDown, {
46
+ size: "$1"
47
+ })
48
+ })]
49
+ })
50
+ }), /* @__PURE__ */jsx(Accordion.Content, {
51
+ children: /* @__PURE__ */jsx(Paragraph, {
52
+ children: "Eggs have been a dietary staple since time immemorial and there\u2019s good reason for their continued presence in our menus and meals."
53
+ })
54
+ })]
55
+ })]
56
+ });
57
+ }
58
+ export { AccordionDemo };
@@ -0,0 +1,35 @@
1
+ import { addTheme } from "@tamagui/theme";
2
+ import { useState } from "react";
3
+ import { Button, H3, Square, Theme, YStack } from "tamagui";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ function AddThemeDemo() {
6
+ const [theme, setTheme] = useState();
7
+ return /* @__PURE__ */jsxs(YStack, {
8
+ alignItems: "center",
9
+ space: !0,
10
+ children: [/* @__PURE__ */jsxs(H3, {
11
+ children: ["Theme: ", theme ?? "none"]
12
+ }), /* @__PURE__ */jsx(Theme, {
13
+ name: theme ?? "red",
14
+ children: /* @__PURE__ */jsx(Square, {
15
+ borderRadius: "$8",
16
+ size: 100,
17
+ backgroundColor: "$color"
18
+ })
19
+ }), /* @__PURE__ */jsx(Button, {
20
+ disabled: theme === "superblue",
21
+ onPress: () => {
22
+ addTheme({
23
+ name: "superblue",
24
+ insertCSS: !0,
25
+ theme: {
26
+ background: "#000",
27
+ color: "blue"
28
+ }
29
+ }), setTheme("superblue");
30
+ },
31
+ children: "Add superblue theme"
32
+ })]
33
+ });
34
+ }
35
+ export { AddThemeDemo };
@@ -0,0 +1,72 @@
1
+ import { AlertDialog, Button, XStack, YStack } from "tamagui";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ function AlertDialogDemo() {
4
+ return /* @__PURE__ */jsxs(AlertDialog, {
5
+ native: !0,
6
+ children: [/* @__PURE__ */jsx(AlertDialog.Trigger, {
7
+ asChild: !0,
8
+ children: /* @__PURE__ */jsx(Button, {
9
+ children: "Show Alert"
10
+ })
11
+ }), /* @__PURE__ */jsxs(AlertDialog.Portal, {
12
+ children: [/* @__PURE__ */jsx(AlertDialog.Overlay, {
13
+ animation: "quick",
14
+ opacity: 0.5,
15
+ enterStyle: {
16
+ opacity: 0
17
+ },
18
+ exitStyle: {
19
+ opacity: 0
20
+ }
21
+ }, "overlay"), /* @__PURE__ */jsx(AlertDialog.Content, {
22
+ bordered: !0,
23
+ elevate: !0,
24
+ animation: ["quick", {
25
+ opacity: {
26
+ overshootClamping: !0
27
+ }
28
+ }],
29
+ enterStyle: {
30
+ x: 0,
31
+ y: -20,
32
+ opacity: 0,
33
+ scale: 0.9
34
+ },
35
+ exitStyle: {
36
+ x: 0,
37
+ y: 10,
38
+ opacity: 0,
39
+ scale: 0.95
40
+ },
41
+ x: 0,
42
+ scale: 1,
43
+ opacity: 1,
44
+ y: 0,
45
+ children: /* @__PURE__ */jsxs(YStack, {
46
+ space: !0,
47
+ children: [/* @__PURE__ */jsx(AlertDialog.Title, {
48
+ children: "Accept"
49
+ }), /* @__PURE__ */jsx(AlertDialog.Description, {
50
+ children: "By pressing yes, you accept our terms and conditions."
51
+ }), /* @__PURE__ */jsxs(XStack, {
52
+ space: "$3",
53
+ justifyContent: "flex-end",
54
+ children: [/* @__PURE__ */jsx(AlertDialog.Cancel, {
55
+ asChild: !0,
56
+ children: /* @__PURE__ */jsx(Button, {
57
+ children: "Cancel"
58
+ })
59
+ }), /* @__PURE__ */jsx(AlertDialog.Action, {
60
+ asChild: !0,
61
+ children: /* @__PURE__ */jsx(Button, {
62
+ theme: "active",
63
+ children: "Accept"
64
+ })
65
+ })]
66
+ })]
67
+ })
68
+ }, "content")]
69
+ })]
70
+ });
71
+ }
72
+ export { AlertDialogDemo };
@@ -0,0 +1,75 @@
1
+ import { LogoIcon } from "@tamagui/logo";
2
+ import { Play } from "@tamagui/lucide-icons";
3
+ import { Button, Square, useControllableState, useEvent } from "tamagui";
4
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
+ function AnimationsDemo(props) {
6
+ const [positionI, setPositionI] = useControllableState({
7
+ strategy: "most-recent-wins",
8
+ prop: props.position,
9
+ defaultProp: 0
10
+ }),
11
+ position = positions[positionI],
12
+ onPress = useEvent(() => {
13
+ setPositionI(x => (x + 1) % positions.length);
14
+ });
15
+ return /* @__PURE__ */jsxs(Fragment, {
16
+ children: [/* @__PURE__ */jsx(Square, {
17
+ animation: props.animation || "bouncy",
18
+ animateOnly: ["transform"],
19
+ onPress,
20
+ size: 104,
21
+ borderColor: "$borderColor",
22
+ borderWidth: 1,
23
+ borderRadius: "$9",
24
+ backgroundColor: "$color9",
25
+ hoverStyle: {
26
+ scale: 1.5
27
+ },
28
+ pressStyle: {
29
+ scale: 0.9
30
+ },
31
+ ...position,
32
+ children: props.children || /* @__PURE__ */jsx(LogoIcon, {
33
+ downscale: 0.75
34
+ })
35
+ }), /* @__PURE__ */jsx(Button, {
36
+ position: "absolute",
37
+ bottom: 20,
38
+ left: 20,
39
+ icon: Play,
40
+ theme: props.tint,
41
+ size: "$5",
42
+ circular: !0,
43
+ onPress
44
+ })]
45
+ });
46
+ }
47
+ const positions = [{
48
+ x: 0,
49
+ y: 0,
50
+ scale: 1,
51
+ rotate: "0deg"
52
+ }, {
53
+ x: -50,
54
+ y: -50,
55
+ scale: 0.5,
56
+ rotate: "-45deg",
57
+ hoverStyle: {
58
+ scale: 0.6
59
+ },
60
+ pressStyle: {
61
+ scale: 0.4
62
+ }
63
+ }, {
64
+ x: 50,
65
+ y: 50,
66
+ scale: 1,
67
+ rotate: "180deg",
68
+ hoverStyle: {
69
+ scale: 1.1
70
+ },
71
+ pressStyle: {
72
+ scale: 0.9
73
+ }
74
+ }];
75
+ export { AnimationsDemo, positions };
@@ -0,0 +1,40 @@
1
+ import { LogoIcon } from "@tamagui/logo";
2
+ import { useRef, useState } from "react";
3
+ import { Button, Square, YStack } from "tamagui";
4
+ import { useIsIntersecting } from "./useOnIntersecting.mjs";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ function AnimationsEnterDemo(props) {
7
+ const ref = useRef(null),
8
+ hasIntersected = useIsIntersecting(ref, {
9
+ once: !0
10
+ }),
11
+ [key, setKey] = useState(0);
12
+ return hasIntersected ? /* @__PURE__ */jsxs(Fragment, {
13
+ children: [/* @__PURE__ */jsx(Square, {
14
+ enterStyle: {
15
+ scale: 1.5,
16
+ y: -10,
17
+ opacity: 0
18
+ },
19
+ animation: "bouncy",
20
+ elevation: "$4",
21
+ size: 110,
22
+ opacity: 1,
23
+ scale: 1,
24
+ y: 0,
25
+ backgroundColor: "$pink10",
26
+ borderRadius: "$9",
27
+ children: props.children ?? /* @__PURE__ */jsx(LogoIcon, {
28
+ downscale: 0.75
29
+ })
30
+ }, key), /* @__PURE__ */jsx(Button, {
31
+ size: "$3",
32
+ marginTop: "$4",
33
+ onPress: () => setKey(Math.random()),
34
+ children: "Re-mount"
35
+ })]
36
+ }) : /* @__PURE__ */jsx(YStack, {
37
+ ref
38
+ });
39
+ }
40
+ export { AnimationsEnterDemo };
@@ -0,0 +1,23 @@
1
+ import { LogoIcon } from "@tamagui/logo";
2
+ import { Square } from "tamagui";
3
+ import { jsx } from "react/jsx-runtime";
4
+ function AnimationsHoverDemo() {
5
+ return /* @__PURE__ */jsx(Square, {
6
+ borderColor: "$borderColor",
7
+ animation: "bouncy",
8
+ elevation: "$4",
9
+ backgroundColor: "$color9",
10
+ size: 104,
11
+ borderRadius: "$9",
12
+ hoverStyle: {
13
+ scale: 1.2
14
+ },
15
+ pressStyle: {
16
+ scale: 0.9
17
+ },
18
+ children: /* @__PURE__ */jsx(LogoIcon, {
19
+ downscale: 0.75
20
+ })
21
+ });
22
+ }
23
+ export { AnimationsHoverDemo };