@tamagui/demos 1.2.8 → 1.2.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 (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,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/SheetDemo.tsx"],
4
+ "sourcesContent": ["import { ChevronDown, ChevronUp } from '@tamagui/lucide-icons'\nimport { Sheet } from '@tamagui/sheet'\nimport { SheetProps } from '@tamagui/sheet/types/types'\nimport { useState } from 'react'\nimport { Button, H1, H2, Paragraph, XStack } from 'tamagui'\n\nexport const SheetDemo = () => {\n const [position, setPosition] = useState(0)\n const [open, setOpen] = useState(false)\n const [modal, setModal] = useState(false)\n const [innerOpen, setInnerOpen] = useState(false)\n\n return (\n <>\n <XStack space>\n <Button onPress={() => setOpen(true)}>Open</Button>\n <Button onPress={() => setModal((x) => !x)}>\n {modal ? 'Type: Modal' : 'Type: Inline'}\n </Button>\n </XStack>\n\n <Sheet\n forceRemoveScrollEnabled={open}\n modal={modal}\n open={open}\n onOpenChange={setOpen}\n snapPoints={[85, 50, 25]}\n dismissOnSnapToBottom\n position={position}\n onPositionChange={setPosition}\n zIndex={100_000}\n >\n <Sheet.Overlay />\n <Sheet.Handle />\n <Sheet.Frame f={1} p=\"$4\" jc=\"center\" ai=\"center\" space=\"$5\">\n <Button size=\"$6\" circular icon={ChevronDown} onPress={() => setOpen(false)} />\n\n {modal && (\n <>\n <InnerSheet open={innerOpen} onOpenChange={setInnerOpen} />\n <Button\n size=\"$6\"\n circular\n icon={ChevronUp}\n onPress={() => setInnerOpen(true)}\n ></Button>\n </>\n )}\n </Sheet.Frame>\n </Sheet>\n </>\n )\n}\n\nfunction InnerSheet(props: SheetProps) {\n return (\n <Sheet modal snapPoints={[90]} dismissOnSnapToBottom {...props}>\n <Sheet.Overlay />\n <Sheet.Handle />\n <Sheet.Frame f={1} jc=\"center\" ai=\"center\" space=\"$5\">\n <Sheet.ScrollView p=\"$4\" space>\n <Button\n size=\"$8\"\n circular\n als=\"center\"\n icon={ChevronDown}\n onPress={() => props.onOpenChange?.(false)}\n />\n <H1>Hello world</H1>\n <H2>You can scroll me</H2>\n {[1, 2, 3].map((i) => (\n <Paragraph key={i} size=\"$10\">\n Eu officia sunt ipsum nisi dolore labore est laborum laborum in esse ad\n pariatur. Dolor excepteur esse deserunt voluptate labore ea. Exercitation\n ipsum deserunt occaecat cupidatat consequat est adipisicing velit cupidatat\n ullamco veniam aliquip reprehenderit officia. Officia labore culpa ullamco\n velit. In sit occaecat velit ipsum fugiat esse aliqua dolor sint.\n </Paragraph>\n ))}\n </Sheet.ScrollView>\n </Sheet.Frame>\n </Sheet>\n )\n}\n"],
5
+ "mappings": "AAAA,SAAS,aAAa,iBAAiB;AACvC,SAAS,aAAa;AAEtB,SAAS,gBAAgB;AACzB,SAAS,QAAQ,IAAI,IAAI,WAAW,cAAc;AAE3C,MAAM,YAAY,MAAM;AAC7B,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,CAAC;AAC1C,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AACtC,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,KAAK;AACxC,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAEhD,SACE;AAAA,IACE,CAAC,OAAO;AAAA,MACN,CAAC,OAAO,SAAS,MAAM,QAAQ,IAAI,GAAG,IAAI,EAAzC;AAAA,MACD,CAAC,OAAO,SAAS,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,IACtC,QAAQ,gBAAgB,eAC3B,EAFC;AAAA,IAGH,EALC;AAAA,IAOD,CAAC;AAAA,MACC,0BAA0B;AAAA,MAC1B,OAAO;AAAA,MACP,MAAM;AAAA,MACN,cAAc;AAAA,MACd,YAAY,CAAC,IAAI,IAAI,EAAE;AAAA,MACvB;AAAA,MACA,UAAU;AAAA,MACV,kBAAkB;AAAA,MAClB,QAAQ;AAAA;AAAA,MAER,CAAC,MAAM,QAAQ;AAAA,MACf,CAAC,MAAM,OAAO;AAAA,MACd,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,MAAM;AAAA,QACtD,CAAC,OAAO,KAAK,KAAK,SAAS,MAAM,aAAa,SAAS,MAAM,QAAQ,KAAK,GAAG;AAAA,SAE5E,SACC;AAAA,UACE,CAAC,WAAW,MAAM,WAAW,cAAc,cAAc;AAAA,UACzD,CAAC;AAAA,YACC,KAAK;AAAA,YACL;AAAA,YACA,MAAM;AAAA,YACN,SAAS,MAAM,aAAa,IAAI;AAAA,UACjC;AAAA,QACH;AAAA,MAEJ,EAdC,MAAM;AAAA,IAeT,EA5BC;AAAA,EA6BH;AAEJ;AAEA,SAAS,WAAW,OAAmB;AACrC,SACE,CAAC,MAAM,MAAM,YAAY,CAAC,EAAE,GAAG,0BAA0B;AAAA,IACvD,CAAC,MAAM,QAAQ;AAAA,IACf,CAAC,MAAM,OAAO;AAAA,IACd,CAAC,MAAM,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,SAAS,MAAM,KAC/C,CAAC,MAAM,WAAW,EAAE,KAAK;AAAA,MACvB,CAAC;AAAA,QACC,KAAK;AAAA,QACL;AAAA,QACA,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,SAAS,MAAM,MAAM,eAAe,KAAK;AAAA,MAC3C;AAAA,MACA,CAAC,GAAG,WAAW,EAAd;AAAA,MACD,CAAC,GAAG,iBAAiB,EAApB;AAAA,OACA,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,MACd,CAAC,UAAU,KAAK,GAAG,KAAK,MAAM,0WAM9B,EANC,UAOF;AAAA,IACH,EAnBC,MAAM,WAoBT,EArBC,MAAM;AAAA,EAsBT,EAzBC;AA2BL;",
6
+ "names": []
7
+ }
@@ -0,0 +1,18 @@
1
+ import { Slider, XStack } from "tamagui";
2
+ function SliderDemo() {
3
+ return <XStack height={200} ai="center" space="$8">
4
+ <SimpleSlider height={200} orientation="vertical" />
5
+ <SimpleSlider width={200} />
6
+ </XStack>;
7
+ }
8
+ function SimpleSlider({ children, ...props }) {
9
+ return <Slider defaultValue={[50]} max={100} step={1} {...props}>
10
+ <Slider.Track><Slider.TrackActive /></Slider.Track>
11
+ <Slider.Thumb bordered circular elevate index={0} />
12
+ {children}
13
+ </Slider>;
14
+ }
15
+ export {
16
+ SliderDemo
17
+ };
18
+ //# sourceMappingURL=SliderDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/SliderDemo.tsx"],
4
+ "sourcesContent": ["import { Slider, SliderProps, Spacer, XStack } from 'tamagui'\n\nexport function SliderDemo() {\n return (\n <XStack height={200} ai=\"center\" space=\"$8\">\n <SimpleSlider height={200} orientation=\"vertical\" />\n <SimpleSlider width={200} />\n </XStack>\n )\n}\n\nfunction SimpleSlider({ children, ...props }: SliderProps) {\n return (\n <Slider defaultValue={[50]} max={100} step={1} {...props}>\n <Slider.Track>\n <Slider.TrackActive />\n </Slider.Track>\n <Slider.Thumb bordered circular elevate index={0} />\n {children}\n </Slider>\n )\n}\n"],
5
+ "mappings": "AAAA,SAAS,QAA6B,cAAc;AAE7C,SAAS,aAAa;AAC3B,SACE,CAAC,OAAO,QAAQ,KAAK,GAAG,SAAS,MAAM;AAAA,IACrC,CAAC,aAAa,QAAQ,KAAK,YAAY,WAAW;AAAA,IAClD,CAAC,aAAa,OAAO,KAAK;AAAA,EAC5B,EAHC;AAKL;AAEA,SAAS,aAAa,EAAE,UAAU,GAAG,MAAM,GAAgB;AACzD,SACE,CAAC,OAAO,cAAc,CAAC,EAAE,GAAG,KAAK,KAAK,MAAM,OAAO;AAAA,IACjD,CAAC,OAAO,MACN,CAAC,OAAO,YAAY,EACtB,EAFC,OAAO;AAAA,IAGR,CAAC,OAAO,MAAM,SAAS,SAAS,QAAQ,OAAO,GAAG;AAAA,KACjD;AAAA,EACH,EANC;AAQL;",
6
+ "names": []
7
+ }
@@ -0,0 +1,11 @@
1
+ import { Spinner, YStack } from "tamagui";
2
+ function SpinnerDemo() {
3
+ return <YStack p="$3" space="$4" ai="center">
4
+ <Spinner size="small" color="$green10" />
5
+ <Spinner size="large" color="$orange10" />
6
+ </YStack>;
7
+ }
8
+ export {
9
+ SpinnerDemo
10
+ };
11
+ //# sourceMappingURL=SpinnerDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/SpinnerDemo.tsx"],
4
+ "sourcesContent": ["import { Spinner, YStack } from 'tamagui'\n\nexport function SpinnerDemo() {\n return (\n <YStack p=\"$3\" space=\"$4\" ai=\"center\">\n <Spinner size=\"small\" color=\"$green10\" />\n <Spinner size=\"large\" color=\"$orange10\" />\n </YStack>\n )\n}\n"],
5
+ "mappings": "AAAA,SAAS,SAAS,cAAc;AAEzB,SAAS,cAAc;AAC5B,SACE,CAAC,OAAO,EAAE,KAAK,MAAM,KAAK,GAAG;AAAA,IAC3B,CAAC,QAAQ,KAAK,QAAQ,MAAM,WAAW;AAAA,IACvC,CAAC,QAAQ,KAAK,QAAQ,MAAM,YAAY;AAAA,EAC1C,EAHC;AAKL;",
6
+ "names": []
7
+ }
@@ -0,0 +1,24 @@
1
+ import { XStack, YStack, ZStack } from "tamagui";
2
+ function StacksDemo() {
3
+ return <XStack maw={250} p="$2" als="center" space>
4
+ <YStack flex={1} space="$2" bw={2} boc="$color" br="$4" p="$2">
5
+ <YStack bc="$color" br="$3" p="$2" />
6
+ <YStack bc="$color" br="$3" p="$2" />
7
+ <YStack bc="$color" br="$3" p="$2" />
8
+ </YStack>
9
+ <XStack flex={1} space="$2" bw={2} boc="$color" br="$4" p="$2">
10
+ <YStack bc="$color" br="$3" p="$2" />
11
+ <YStack bc="$color" br="$3" p="$2" />
12
+ <YStack bc="$color" br="$3" p="$2" />
13
+ </XStack>
14
+ <ZStack maw={50} mah={85} w={100} flex={1}>
15
+ <YStack fullscreen bw={2} br="$4" p="$2" />
16
+ <YStack fullscreen y={10} x={10} bw={2} br="$4" p="$2" />
17
+ <YStack fullscreen y={20} x={20} bw={2} bc="$color" br="$4" p="$2" />
18
+ </ZStack>
19
+ </XStack>;
20
+ }
21
+ export {
22
+ StacksDemo
23
+ };
24
+ //# sourceMappingURL=StacksDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/StacksDemo.tsx"],
4
+ "sourcesContent": ["import React from 'react'\nimport { XStack, YStack, ZStack } from 'tamagui'\n\nexport function StacksDemo() {\n return (\n <XStack maw={250} p=\"$2\" als=\"center\" space>\n <YStack flex={1} space=\"$2\" bw={2} boc=\"$color\" br=\"$4\" p=\"$2\">\n <YStack bc=\"$color\" br=\"$3\" p=\"$2\" />\n <YStack bc=\"$color\" br=\"$3\" p=\"$2\" />\n <YStack bc=\"$color\" br=\"$3\" p=\"$2\" />\n </YStack>\n\n <XStack flex={1} space=\"$2\" bw={2} boc=\"$color\" br=\"$4\" p=\"$2\">\n <YStack bc=\"$color\" br=\"$3\" p=\"$2\" />\n <YStack bc=\"$color\" br=\"$3\" p=\"$2\" />\n <YStack bc=\"$color\" br=\"$3\" p=\"$2\" />\n </XStack>\n\n <ZStack maw={50} mah={85} w={100} flex={1}>\n <YStack fullscreen bw={2} br=\"$4\" p=\"$2\" />\n <YStack fullscreen y={10} x={10} bw={2} br=\"$4\" p=\"$2\" />\n <YStack fullscreen y={20} x={20} bw={2} bc=\"$color\" br=\"$4\" p=\"$2\" />\n </ZStack>\n </XStack>\n )\n}\n"],
5
+ "mappings": "AACA,SAAS,QAAQ,QAAQ,cAAc;AAEhC,SAAS,aAAa;AAC3B,SACE,CAAC,OAAO,KAAK,KAAK,EAAE,KAAK,IAAI,SAAS;AAAA,IACpC,CAAC,OAAO,MAAM,GAAG,MAAM,KAAK,IAAI,GAAG,IAAI,SAAS,GAAG,KAAK,EAAE;AAAA,MACxD,CAAC,OAAO,GAAG,SAAS,GAAG,KAAK,EAAE,KAAK;AAAA,MACnC,CAAC,OAAO,GAAG,SAAS,GAAG,KAAK,EAAE,KAAK;AAAA,MACnC,CAAC,OAAO,GAAG,SAAS,GAAG,KAAK,EAAE,KAAK;AAAA,IACrC,EAJC;AAAA,IAMD,CAAC,OAAO,MAAM,GAAG,MAAM,KAAK,IAAI,GAAG,IAAI,SAAS,GAAG,KAAK,EAAE;AAAA,MACxD,CAAC,OAAO,GAAG,SAAS,GAAG,KAAK,EAAE,KAAK;AAAA,MACnC,CAAC,OAAO,GAAG,SAAS,GAAG,KAAK,EAAE,KAAK;AAAA,MACnC,CAAC,OAAO,GAAG,SAAS,GAAG,KAAK,EAAE,KAAK;AAAA,IACrC,EAJC;AAAA,IAMD,CAAC,OAAO,KAAK,IAAI,KAAK,IAAI,GAAG,KAAK,MAAM;AAAA,MACtC,CAAC,OAAO,WAAW,IAAI,GAAG,GAAG,KAAK,EAAE,KAAK;AAAA,MACzC,CAAC,OAAO,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,KAAK,EAAE,KAAK;AAAA,MACvD,CAAC,OAAO,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,SAAS,GAAG,KAAK,EAAE,KAAK;AAAA,IACrE,EAJC;AAAA,EAKH,EAlBC;AAoBL;",
6
+ "names": []
7
+ }
@@ -0,0 +1,21 @@
1
+ import { Label, Separator, Switch, XStack, YStack } from "tamagui";
2
+ function SwitchDemo() {
3
+ return <YStack w={200} ai="center" space="$3">
4
+ <SwitchWithLabel size="$2" />
5
+ <SwitchWithLabel size="$3" />
6
+ <SwitchWithLabel size="$4" />
7
+ <SwitchWithLabel size="$5" />
8
+ </YStack>;
9
+ }
10
+ function SwitchWithLabel(props) {
11
+ const id = `switch-${props.size.toString().slice(1)}`;
12
+ return <XStack w={200} ai="center" space="$4">
13
+ <Label pr="$0" miw={90} jc="flex-end" size={props.size} htmlFor={id}>Dark mode</Label>
14
+ <Separator mih={20} vertical />
15
+ <Switch id={id} size={props.size}><Switch.Thumb animation="quick" /></Switch>
16
+ </XStack>;
17
+ }
18
+ export {
19
+ SwitchDemo
20
+ };
21
+ //# sourceMappingURL=SwitchDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/SwitchDemo.tsx"],
4
+ "sourcesContent": ["import { Label, Separator, SizeTokens, Switch, XStack, YStack, styled } from 'tamagui'\n\nexport function SwitchDemo() {\n return (\n <YStack w={200} ai=\"center\" space=\"$3\">\n <SwitchWithLabel size=\"$2\" />\n <SwitchWithLabel size=\"$3\" />\n <SwitchWithLabel size=\"$4\" />\n <SwitchWithLabel size=\"$5\" />\n </YStack>\n )\n}\n\nfunction SwitchWithLabel(props: { size: SizeTokens }) {\n const id = `switch-${props.size.toString().slice(1)}`\n return (\n <XStack w={200} ai=\"center\" space=\"$4\">\n <Label pr=\"$0\" miw={90} jc=\"flex-end\" size={props.size} htmlFor={id}>\n Dark mode\n </Label>\n <Separator mih={20} vertical />\n <Switch id={id} size={props.size}>\n <Switch.Thumb animation=\"quick\" />\n </Switch>\n </XStack>\n )\n}\n"],
5
+ "mappings": "AAAA,SAAS,OAAO,WAAuB,QAAQ,QAAQ,cAAsB;AAEtE,SAAS,aAAa;AAC3B,SACE,CAAC,OAAO,GAAG,KAAK,GAAG,SAAS,MAAM;AAAA,IAChC,CAAC,gBAAgB,KAAK,KAAK;AAAA,IAC3B,CAAC,gBAAgB,KAAK,KAAK;AAAA,IAC3B,CAAC,gBAAgB,KAAK,KAAK;AAAA,IAC3B,CAAC,gBAAgB,KAAK,KAAK;AAAA,EAC7B,EALC;AAOL;AAEA,SAAS,gBAAgB,OAA6B;AACpD,QAAM,KAAK,UAAU,MAAM,KAAK,SAAS,EAAE,MAAM,CAAC;AAClD,SACE,CAAC,OAAO,GAAG,KAAK,GAAG,SAAS,MAAM;AAAA,IAChC,CAAC,MAAM,GAAG,KAAK,KAAK,IAAI,GAAG,WAAW,MAAM,MAAM,MAAM,SAAS,IAAI,SAErE,EAFC;AAAA,IAGD,CAAC,UAAU,KAAK,IAAI,SAAS;AAAA,IAC7B,CAAC,OAAO,IAAI,IAAI,MAAM,MAAM,MAC1B,CAAC,OAAO,MAAM,UAAU,QAAQ,EAClC,EAFC;AAAA,EAGH,EARC;AAUL;",
6
+ "names": []
7
+ }
@@ -0,0 +1,16 @@
1
+ import { Paragraph, SizableText, Text, XStack, YStack } from "tamagui";
2
+ function TextDemo() {
3
+ return <YStack space="$2" ai="center">
4
+ <Text>Text</Text>
5
+ <SizableText size="$3">SizableText</SizableText>
6
+ <XStack space>
7
+ <SizableText theme="alt1" size="$3">alt1</SizableText>
8
+ <SizableText theme="alt2" size="$3">alt2</SizableText>
9
+ </XStack>
10
+ <Paragraph size="$2" fow="800">Paragraph</Paragraph>
11
+ </YStack>;
12
+ }
13
+ export {
14
+ TextDemo
15
+ };
16
+ //# sourceMappingURL=TextDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/TextDemo.tsx"],
4
+ "sourcesContent": ["import React from 'react'\nimport { Paragraph, SizableText, Text, XStack, YStack } from 'tamagui'\n\nexport function TextDemo() {\n return (\n <YStack space=\"$2\" ai=\"center\">\n <Text>Text</Text>\n <SizableText size=\"$3\">SizableText</SizableText>\n <XStack space>\n <SizableText theme=\"alt1\" size=\"$3\">\n alt1\n </SizableText>\n <SizableText theme=\"alt2\" size=\"$3\">\n alt2\n </SizableText>\n </XStack>\n <Paragraph size=\"$2\" fow=\"800\">\n Paragraph\n </Paragraph>\n </YStack>\n )\n}\n"],
5
+ "mappings": "AACA,SAAS,WAAW,aAAa,MAAM,QAAQ,cAAc;AAEtD,SAAS,WAAW;AACzB,SACE,CAAC,OAAO,MAAM,KAAK,GAAG;AAAA,IACpB,CAAC,KAAK,IAAI,EAAT;AAAA,IACD,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,IAAI,MAAM,SAE/B,EAFC;AAAA,EAGH,EAdC;AAgBL;",
6
+ "names": []
7
+ }
@@ -0,0 +1,19 @@
1
+ import { Button, Theme, XStack, YStack } from "tamagui";
2
+ function ThemeInverseDemo() {
3
+ return <XStack space>
4
+ <Buttons />
5
+ <Theme inverse><Buttons /></Theme>
6
+ </XStack>;
7
+ }
8
+ function Buttons() {
9
+ return <YStack bc="$background" p="$3" br="$3" space>
10
+ <Button>Dark</Button>
11
+ <Button themeInverse>Inversed</Button>
12
+ <Button theme="alt1">Alt1 Dark</Button>
13
+ <Theme name="yellow"><Button>Yellow dark</Button></Theme>
14
+ </YStack>;
15
+ }
16
+ export {
17
+ ThemeInverseDemo
18
+ };
19
+ //# sourceMappingURL=ThemeInverseDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/ThemeInverseDemo.tsx"],
4
+ "sourcesContent": ["import { Button, Theme, XStack, YStack } from 'tamagui'\n\nexport function ThemeInverseDemo() {\n return (\n <XStack space>\n <Buttons />\n <Theme inverse>\n <Buttons />\n </Theme>\n </XStack>\n )\n}\n\nfunction Buttons() {\n return (\n <YStack bc=\"$background\" p=\"$3\" br=\"$3\" space>\n <Button>Dark</Button>\n <Button themeInverse>Inversed</Button>\n <Button theme=\"alt1\">Alt1 Dark</Button>\n <Theme name=\"yellow\">\n <Button>Yellow dark</Button>\n </Theme>\n </YStack>\n )\n}\n"],
5
+ "mappings": "AAAA,SAAS,QAAQ,OAAO,QAAQ,cAAc;AAEvC,SAAS,mBAAmB;AACjC,SACE,CAAC,OAAO;AAAA,IACN,CAAC,QAAQ;AAAA,IACT,CAAC,MAAM,QACL,CAAC,QAAQ,EACX,EAFC;AAAA,EAGH,EALC;AAOL;AAEA,SAAS,UAAU;AACjB,SACE,CAAC,OAAO,GAAG,cAAc,EAAE,KAAK,GAAG,KAAK;AAAA,IACtC,CAAC,OAAO,IAAI,EAAX;AAAA,IACD,CAAC,OAAO,aAAa,QAAQ,EAA5B;AAAA,IACD,CAAC,OAAO,MAAM,OAAO,SAAS,EAA7B;AAAA,IACD,CAAC,MAAM,KAAK,SACV,CAAC,OAAO,WAAW,EAAlB,OACH,EAFC;AAAA,EAGH,EAPC;AASL;",
6
+ "names": []
7
+ }
@@ -0,0 +1,91 @@
1
+ import { getConfig } from "@tamagui/core";
2
+ import { useState } from "react";
3
+ import {
4
+ Button,
5
+ H2,
6
+ H3,
7
+ H4,
8
+ Separator,
9
+ Square,
10
+ XGroup,
11
+ XStack,
12
+ YStack
13
+ } from "tamagui";
14
+ const sections = [
15
+ {
16
+ name: `Size`,
17
+ key: `size`
18
+ },
19
+ {
20
+ name: `Space`,
21
+ key: "space"
22
+ },
23
+ {
24
+ name: `Space (-)`,
25
+ key: `spaceNegative`
26
+ },
27
+ {
28
+ name: `Radius`,
29
+ key: `radius`
30
+ }
31
+ ];
32
+ function TokensDemo() {
33
+ const [section, setSection] = useState("size");
34
+ return <YStack space>
35
+ <XGroup ai="center" als="center">{sections.map(({ name, key }) => {
36
+ return <Button
37
+ key={key}
38
+ size="$3"
39
+ theme={section === key ? "active" : null}
40
+ fontFamily="$silkscreen"
41
+ onPress={() => setSection(key)}
42
+ >{name}</Button>;
43
+ })}</XGroup>
44
+ {(section === "size" || section === "spaceNegative" || section === "space" || section === "radius") && <SizeSection section={section} />}
45
+ </YStack>;
46
+ }
47
+ function SizeSection({ section }) {
48
+ const allTokens = getConfig().tokens;
49
+ const tokens = allTokens[section.startsWith("space") ? "space" : section];
50
+ const st = Object.keys(tokens).sort(
51
+ (a, b) => parseFloat(a) > parseFloat(b) ? 1 : -1
52
+ );
53
+ const spaceTokens = st.filter((t) => parseFloat(t) >= 0 && t !== "-0");
54
+ const spaceTokensNegative = st.filter((t) => parseFloat(t) < 0 || t === "-0").sort((a, b) => parseFloat(a) > parseFloat(b) ? -1 : 1);
55
+ return <YStack f={1} space>
56
+ <H2>Sizes</H2>
57
+ <YStack w="100%" space="$2" separator={<Separator />}>{(section === "spaceNegative" ? spaceTokensNegative : spaceTokens).map(
58
+ (token) => {
59
+ return <XStack w="100%" ai="center" key={token}>
60
+ <YStack w="25%"><H3 size="$6">
61
+ {"$"}
62
+ {token}
63
+ </H3></YStack>
64
+ <YStack w="20%"><H4 size="$5">
65
+ {tokens[token]?.val}
66
+ {"px"}
67
+ </H4></YStack>
68
+ <Square
69
+ size={tokens[token]?.val}
70
+ bc="$color3"
71
+ {...section === "spaceNegative" && {
72
+ bc: "$red3",
73
+ size: -tokens[spaceTokensNegative.find(
74
+ (t) => parseFloat(t) === -parseFloat(token)
75
+ ) ?? token]?.val
76
+ }}
77
+ {...section === "radius" && {
78
+ // @ts-ignore
79
+ size: allTokens.size[token]?.val,
80
+ br: tokens[token]?.val
81
+ }}
82
+ />
83
+ </XStack>;
84
+ }
85
+ )}</YStack>
86
+ </YStack>;
87
+ }
88
+ export {
89
+ TokensDemo
90
+ };
91
+ //# sourceMappingURL=TokensDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/TokensDemo.tsx"],
4
+ "sourcesContent": ["import { Tokens, getConfig } from '@tamagui/core'\nimport { useState } from 'react'\nimport {\n Button,\n H2,\n H3,\n H4,\n ScrollView,\n Separator,\n Square,\n XGroup,\n XStack,\n YStack,\n} from 'tamagui'\n\ntype Section = 'spaceNegative' | keyof Tokens\n\nconst sections: { name: string; key: Section }[] = [\n {\n name: `Size`,\n key: `size`,\n },\n {\n name: `Space`,\n key: 'space',\n },\n {\n name: `Space (-)`,\n key: `spaceNegative`,\n },\n {\n name: `Radius`,\n key: `radius`,\n },\n]\n\nexport function TokensDemo() {\n const [section, setSection] = useState<Section>('size')\n\n return (\n <YStack space>\n <XGroup ai=\"center\" als=\"center\">\n {sections.map(({ name, key }) => {\n return (\n <Button\n key={key}\n size=\"$3\"\n theme={section === key ? 'active' : null}\n fontFamily=\"$silkscreen\"\n onPress={() => setSection(key)}\n >\n {name}\n </Button>\n )\n })}\n </XGroup>\n\n {(section === 'size' ||\n section === 'spaceNegative' ||\n section === 'space' ||\n section === 'radius') && <SizeSection section={section} />}\n </YStack>\n )\n}\n\nfunction SizeSection({ section }: { section: Section }) {\n const allTokens = getConfig().tokens\n const tokens = allTokens[section.startsWith('space') ? 'space' : section]\n const st = Object.keys(tokens).sort((a, b) =>\n parseFloat(a) > parseFloat(b) ? 1 : -1,\n )\n const spaceTokens = st.filter((t) => parseFloat(t) >= 0 && t !== '-0')\n const spaceTokensNegative = st\n .filter((t) => parseFloat(t) < 0 || t === '-0')\n .sort((a, b) => (parseFloat(a) > parseFloat(b) ? -1 : 1))\n\n return (\n <YStack f={1} space>\n <H2>Sizes</H2>\n <YStack w=\"100%\" space=\"$2\" separator={<Separator />}>\n {(section === 'spaceNegative' ? spaceTokensNegative : spaceTokens).map(\n (token) => {\n return (\n <XStack w=\"100%\" ai=\"center\" key={token}>\n <YStack w=\"25%\">\n <H3 size=\"$6\">${token}</H3>\n </YStack>\n <YStack w=\"20%\">\n <H4 size=\"$5\">{tokens[token]?.val}px</H4>\n </YStack>\n <Square\n size={tokens[token]?.val}\n bc=\"$color3\"\n {...(section === 'spaceNegative' && {\n bc: '$red3',\n size: -tokens[\n spaceTokensNegative.find(\n (t) => parseFloat(t) === -parseFloat(token),\n ) ?? token\n ]?.val,\n })}\n {...(section === 'radius' && {\n // @ts-ignore\n size: allTokens.size[token]?.val,\n br: tokens[token]?.val,\n })}\n />\n </XStack>\n )\n },\n )}\n </YStack>\n </YStack>\n )\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,64 @@
1
+ import {
2
+ ChevronDown,
3
+ ChevronLeft,
4
+ ChevronRight,
5
+ ChevronUp,
6
+ Circle
7
+ } from "@tamagui/lucide-icons";
8
+ import {
9
+ Button,
10
+ Paragraph,
11
+ Theme,
12
+ Tooltip,
13
+ TooltipGroup,
14
+ XStack,
15
+ YStack
16
+ } from "tamagui";
17
+ function TooltipDemo() {
18
+ return <TooltipGroup delay={{ open: 3e3, close: 100 }}><YStack space="$2" als="center">
19
+ <XStack space="$2">
20
+ <Demo groupId="0" placement="top-end" Icon={Circle} />
21
+ <Demo groupId="1" placement="top" Icon={ChevronUp} />
22
+ <Demo groupId="2" placement="top-start" Icon={Circle} />
23
+ </XStack>
24
+ <XStack space="$2">
25
+ <Demo groupId="3" placement="left" Icon={ChevronLeft} />
26
+ <YStack f={1} />
27
+ <Demo groupId="4" placement="right" Icon={ChevronRight} />
28
+ </XStack>
29
+ <XStack space="$2">
30
+ <Demo groupId="5" placement="bottom-end" Icon={Circle} />
31
+ <Demo groupId="6" placement="bottom" Icon={ChevronDown} />
32
+ <Demo groupId="7" placement="bottom-start" Icon={Circle} />
33
+ </XStack>
34
+ </YStack></TooltipGroup>;
35
+ }
36
+ function Demo({ Icon, ...props }) {
37
+ return <Tooltip {...props}>
38
+ <Tooltip.Trigger><Button icon={Icon} circular /></Tooltip.Trigger>
39
+ <Theme inverse><Tooltip.Content
40
+ enterStyle={{ x: 0, y: -5, o: 0, scale: 0.9 }}
41
+ exitStyle={{ x: 0, y: -5, o: 0, scale: 0.9 }}
42
+ scale={1}
43
+ x={0}
44
+ y={0}
45
+ o={1}
46
+ animation={[
47
+ "quick",
48
+ {
49
+ opacity: {
50
+ overshootClamping: true
51
+ }
52
+ }
53
+ ]}
54
+ >
55
+ <Tooltip.Arrow />
56
+ <Paragraph size="$2" lineHeight="$1">Hello world</Paragraph>
57
+ </Tooltip.Content></Theme>
58
+ </Tooltip>;
59
+ }
60
+ export {
61
+ Demo,
62
+ TooltipDemo
63
+ };
64
+ //# sourceMappingURL=TooltipDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/TooltipDemo.tsx"],
4
+ "sourcesContent": ["import {\n ChevronDown,\n ChevronLeft,\n ChevronRight,\n ChevronUp,\n Circle,\n} from '@tamagui/lucide-icons'\nimport React from 'react'\nimport {\n Button,\n Paragraph,\n Theme,\n Tooltip,\n TooltipGroup,\n TooltipProps,\n XStack,\n YStack,\n} from 'tamagui'\n\nexport function TooltipDemo() {\n return (\n <TooltipGroup delay={{ open: 3000, close: 100 }}>\n <YStack space=\"$2\" als=\"center\">\n <XStack space=\"$2\">\n <Demo groupId=\"0\" placement=\"top-end\" Icon={Circle} />\n <Demo groupId=\"1\" placement=\"top\" Icon={ChevronUp} />\n <Demo groupId=\"2\" placement=\"top-start\" Icon={Circle} />\n </XStack>\n <XStack space=\"$2\">\n <Demo groupId=\"3\" placement=\"left\" Icon={ChevronLeft} />\n <YStack f={1} />\n <Demo groupId=\"4\" placement=\"right\" Icon={ChevronRight} />\n </XStack>\n <XStack space=\"$2\">\n <Demo groupId=\"5\" placement=\"bottom-end\" Icon={Circle} />\n <Demo groupId=\"6\" placement=\"bottom\" Icon={ChevronDown} />\n <Demo groupId=\"7\" placement=\"bottom-start\" Icon={Circle} />\n </XStack>\n </YStack>\n </TooltipGroup>\n )\n}\n\nexport function Demo({ Icon, ...props }: TooltipProps & { Icon?: any }) {\n return (\n <Tooltip {...props}>\n <Tooltip.Trigger>\n <Button icon={Icon} circular />\n </Tooltip.Trigger>\n <Theme inverse>\n <Tooltip.Content\n enterStyle={{ x: 0, y: -5, o: 0, scale: 0.9 }}\n exitStyle={{ x: 0, y: -5, o: 0, scale: 0.9 }}\n scale={1}\n x={0}\n y={0}\n o={1}\n animation={[\n 'quick',\n {\n opacity: {\n overshootClamping: true,\n },\n },\n ]}\n >\n <Tooltip.Arrow />\n <Paragraph size=\"$2\" lineHeight=\"$1\">\n Hello world\n </Paragraph>\n </Tooltip.Content>\n </Theme>\n </Tooltip>\n )\n}\n"],
5
+ "mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAEA,SAAS,cAAc;AAC5B,SACE,CAAC,aAAa,OAAO,EAAE,MAAM,KAAM,OAAO,IAAI,GAC5C,CAAC,OAAO,MAAM,KAAK,IAAI;AAAA,IACrB,CAAC,OAAO,MAAM;AAAA,MACZ,CAAC,KAAK,QAAQ,IAAI,UAAU,UAAU,MAAM,QAAQ;AAAA,MACpD,CAAC,KAAK,QAAQ,IAAI,UAAU,MAAM,MAAM,WAAW;AAAA,MACnD,CAAC,KAAK,QAAQ,IAAI,UAAU,YAAY,MAAM,QAAQ;AAAA,IACxD,EAJC;AAAA,IAKD,CAAC,OAAO,MAAM;AAAA,MACZ,CAAC,KAAK,QAAQ,IAAI,UAAU,OAAO,MAAM,aAAa;AAAA,MACtD,CAAC,OAAO,GAAG,GAAG;AAAA,MACd,CAAC,KAAK,QAAQ,IAAI,UAAU,QAAQ,MAAM,cAAc;AAAA,IAC1D,EAJC;AAAA,IAKD,CAAC,OAAO,MAAM;AAAA,MACZ,CAAC,KAAK,QAAQ,IAAI,UAAU,aAAa,MAAM,QAAQ;AAAA,MACvD,CAAC,KAAK,QAAQ,IAAI,UAAU,SAAS,MAAM,aAAa;AAAA,MACxD,CAAC,KAAK,QAAQ,IAAI,UAAU,eAAe,MAAM,QAAQ;AAAA,IAC3D,EAJC;AAAA,EAKH,EAhBC,OAiBH,EAlBC;AAoBL;AAEO,SAAS,KAAK,EAAE,MAAM,GAAG,MAAM,GAAkC;AACtE,SACE,CAAC,YAAY;AAAA,IACX,CAAC,QAAQ,QACP,CAAC,OAAO,MAAM,MAAM,SAAS,EAC/B,EAFC,QAAQ;AAAA,IAGT,CAAC,MAAM,QACL,CAAC,QAAQ;AAAA,MACP,YAAY,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,OAAO,IAAI;AAAA,MAC5C,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,OAAO,IAAI;AAAA,MAC3C,OAAO;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,WAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,SAAS;AAAA,YACP,mBAAmB;AAAA,UACrB;AAAA,QACF;AAAA,MACF;AAAA;AAAA,MAEA,CAAC,QAAQ,MAAM;AAAA,MACf,CAAC,UAAU,KAAK,KAAK,WAAW,KAAK,WAErC,EAFC;AAAA,IAGH,EApBC,QAAQ,QAqBX,EAtBC;AAAA,EAuBH,EA3BC;AA6BL;",
6
+ "names": []
7
+ }
@@ -0,0 +1,50 @@
1
+ import * as Config from "@tamagui/config-base";
2
+ import { useState } from "react";
3
+ import {
4
+ Button,
5
+ Square,
6
+ Theme,
7
+ YStack,
8
+ addTheme,
9
+ getVariableValue,
10
+ updateTheme,
11
+ useForceUpdate,
12
+ useIsomorphicLayoutEffect
13
+ } from "tamagui";
14
+ const colors = Config.config.tokens.color;
15
+ const colorKeys = Object.keys(colors);
16
+ function UpdateThemeDemo() {
17
+ const [theme, setTheme] = useState();
18
+ const update = useForceUpdate();
19
+ useIsomorphicLayoutEffect(() => {
20
+ addTheme({
21
+ name: "custom",
22
+ insertCSS: true,
23
+ theme: {
24
+ color: "red"
25
+ }
26
+ });
27
+ setTheme("custom");
28
+ }, []);
29
+ return <YStack ai="center" space>
30
+ <Theme name={theme ?? null}><Square borderRadius="$8" size={100} backgroundColor="$color" /></Theme>
31
+ <Button
32
+ onPress={() => {
33
+ const randomColor = getVariableValue(
34
+ colors[colorKeys[Math.floor(Math.random() * colorKeys.length)]]
35
+ );
36
+ updateTheme({
37
+ name: "custom",
38
+ theme: {
39
+ color: randomColor
40
+ }
41
+ });
42
+ update();
43
+ }}
44
+ >Set to random color</Button>
45
+ </YStack>;
46
+ }
47
+ export {
48
+ UpdateThemeDemo
49
+ };
50
+ //# sourceMappingURL=UpdateThemeDemo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/UpdateThemeDemo.tsx"],
4
+ "sourcesContent": ["import * as Config from '@tamagui/config-base'\nimport React, { useState } from 'react'\nimport {\n Button,\n Square,\n Theme,\n YStack,\n addTheme,\n getVariableValue,\n updateTheme,\n useForceUpdate,\n useIsomorphicLayoutEffect,\n} from 'tamagui'\n\nconst colors = Config.config.tokens.color\nconst colorKeys = Object.keys(colors)\n\nexport function UpdateThemeDemo() {\n const [theme, setTheme] = useState<any>()\n const update = useForceUpdate()\n\n useIsomorphicLayoutEffect(() => {\n addTheme({\n name: 'custom',\n insertCSS: true,\n theme: {\n color: 'red',\n },\n })\n setTheme('custom')\n }, [])\n\n return (\n <YStack ai=\"center\" space>\n <Theme name={theme ?? null}>\n <Square borderRadius=\"$8\" size={100} backgroundColor=\"$color\" />\n </Theme>\n\n <Button\n onPress={() => {\n const randomColor = getVariableValue(\n colors[colorKeys[Math.floor(Math.random() * colorKeys.length)]],\n )\n updateTheme({\n name: 'custom',\n theme: {\n color: randomColor,\n },\n })\n update()\n }}\n >\n Set to random color\n </Button>\n </YStack>\n )\n}\n"],
5
+ "mappings": "AAAA,YAAY,YAAY;AACxB,SAAgB,gBAAgB;AAChC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,MAAM,SAAS,OAAO,OAAO,OAAO;AACpC,MAAM,YAAY,OAAO,KAAK,MAAM;AAE7B,SAAS,kBAAkB;AAChC,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAc;AACxC,QAAM,SAAS,eAAe;AAE9B,4BAA0B,MAAM;AAC9B,aAAS;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,MACX,OAAO;AAAA,QACL,OAAO;AAAA,MACT;AAAA,IACF,CAAC;AACD,aAAS,QAAQ;AAAA,EACnB,GAAG,CAAC,CAAC;AAEL,SACE,CAAC,OAAO,GAAG,SAAS;AAAA,IAClB,CAAC,MAAM,MAAM,SAAS,MACpB,CAAC,OAAO,aAAa,KAAK,MAAM,KAAK,gBAAgB,SAAS,EAChE,EAFC;AAAA,IAID,CAAC;AAAA,MACC,SAAS,MAAM;AACb,cAAM,cAAc;AAAA,UAClB,OAAO,UAAU,KAAK,MAAM,KAAK,OAAO,IAAI,UAAU,MAAM,CAAC,CAAC;AAAA,QAChE;AACA,oBAAY;AAAA,UACV,MAAM;AAAA,UACN,OAAO;AAAA,YACL,OAAO;AAAA,UACT;AAAA,QACF,CAAC;AACD,eAAO;AAAA,MACT;AAAA,KACD,mBAED,EAfC;AAAA,EAgBH,EArBC;AAuBL;",
6
+ "names": []
7
+ }
@@ -0,0 +1,5 @@
1
+ import { config as config2 } from "@tamagui/config-base";
2
+ export {
3
+ config2 as config
4
+ };
5
+ //# sourceMappingURL=conf.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/conf.tsx"],
4
+ "sourcesContent": ["import { config } from '@tamagui/config-base'\nimport { InferTamaguiConfig } from '@tamagui/core'\n\nexport { config } from '@tamagui/config-base'\n\nexport type Conf = InferTamaguiConfig<typeof config>\n\ndeclare module 'tamagui' {\n interface TamaguiCustomConfig extends Conf {}\n}\n"],
5
+ "mappings": "AAGA,SAAS,UAAAA,eAAc;",
6
+ "names": ["config"]
7
+ }
@@ -0,0 +1,78 @@
1
+ import { AlertDialogDemo } from "./AlertDialogDemo";
2
+ import { AnimationsDemo } from "./AnimationsDemo";
3
+ import { AnimationsEnterDemo } from "./AnimationsEnterDemo";
4
+ import { AnimationsHoverDemo } from "./AnimationsHoverDemo";
5
+ import { AnimationsTimingDemo } from "./AnimationsTimingDemo";
6
+ import { AnimationsPresenceDemo } from "./AnimationsPresenceDemo";
7
+ import { AvatarDemo } from "./AvatarDemo";
8
+ import { ButtonDemo } from "./ButtonDemo";
9
+ import { CardDemo } from "./CardDemo";
10
+ import { DialogDemo } from "./DialogDemo";
11
+ import { AddThemeDemo } from "./AddThemeDemo";
12
+ import { UpdateThemeDemo } from "./UpdateThemeDemo";
13
+ import { FeatherIconsDemo } from "./FeatherIconsDemo";
14
+ import { FormsDemo } from "./FormsDemo";
15
+ import { GroupDemo } from "./GroupDemo";
16
+ import { HeadingsDemo } from "./HeadingsDemo";
17
+ import { ImageDemo } from "./ImageDemo";
18
+ import { LabelDemo } from "./LabelDemo";
19
+ import { LinearGradientDemo } from "./LinearGradientDemo";
20
+ import { ListItemDemo } from "./ListItemDemo";
21
+ import { LucideIconsDemo } from "./LucideIconsDemo";
22
+ import { PopoverDemo } from "./PopoverDemo";
23
+ import { ProgressDemo } from "./ProgressDemo";
24
+ import { SelectDemo } from "./SelectDemo";
25
+ import { SeparatorDemo } from "./SeparatorDemo";
26
+ import { ShapesDemo } from "./ShapesDemo";
27
+ import { ScrollViewDemo } from "./ScrollViewDemo";
28
+ import { SheetDemo } from "./SheetDemo";
29
+ import { SliderDemo } from "./SliderDemo";
30
+ import { SpinnerDemo } from "./SpinnerDemo";
31
+ import { StacksDemo } from "./StacksDemo";
32
+ import { SwitchDemo } from "./SwitchDemo";
33
+ import { TextDemo } from "./TextDemo";
34
+ import { ThemeInverseDemo } from "./ThemeInverseDemo";
35
+ import { TooltipDemo } from "./TooltipDemo";
36
+ import { ColorsDemo } from "./ColorsDemo";
37
+ import { TokensDemo } from "./TokensDemo";
38
+ export * from "./useOnIntersecting";
39
+ export {
40
+ AddThemeDemo,
41
+ AlertDialogDemo,
42
+ AnimationsDemo,
43
+ AnimationsEnterDemo,
44
+ AnimationsHoverDemo,
45
+ AnimationsPresenceDemo,
46
+ AnimationsTimingDemo,
47
+ AvatarDemo,
48
+ ButtonDemo,
49
+ CardDemo,
50
+ ColorsDemo,
51
+ DialogDemo,
52
+ FeatherIconsDemo,
53
+ FormsDemo,
54
+ GroupDemo,
55
+ HeadingsDemo,
56
+ ImageDemo,
57
+ LabelDemo,
58
+ LinearGradientDemo,
59
+ ListItemDemo,
60
+ LucideIconsDemo,
61
+ PopoverDemo,
62
+ ProgressDemo,
63
+ ScrollViewDemo,
64
+ SelectDemo,
65
+ SeparatorDemo,
66
+ ShapesDemo,
67
+ SheetDemo,
68
+ SliderDemo,
69
+ SpinnerDemo,
70
+ StacksDemo,
71
+ SwitchDemo,
72
+ TextDemo,
73
+ ThemeInverseDemo,
74
+ TokensDemo,
75
+ TooltipDemo,
76
+ UpdateThemeDemo
77
+ };
78
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.tsx"],
4
+ "sourcesContent": ["export { AlertDialogDemo } from './AlertDialogDemo'\nexport { AnimationsDemo } from './AnimationsDemo'\nexport { AnimationsEnterDemo } from './AnimationsEnterDemo'\nexport { AnimationsHoverDemo } from './AnimationsHoverDemo'\nexport { AnimationsTimingDemo } from './AnimationsTimingDemo'\nexport { AnimationsPresenceDemo } from './AnimationsPresenceDemo'\nexport { AvatarDemo } from './AvatarDemo'\nexport { ButtonDemo } from './ButtonDemo'\nexport { CardDemo } from './CardDemo'\nexport { DialogDemo } from './DialogDemo'\nexport { AddThemeDemo } from './AddThemeDemo'\nexport { UpdateThemeDemo } from './UpdateThemeDemo'\nexport { FeatherIconsDemo } from './FeatherIconsDemo'\nexport { FormsDemo } from './FormsDemo'\nexport { GroupDemo } from './GroupDemo'\nexport { HeadingsDemo } from './HeadingsDemo'\nexport { ImageDemo } from './ImageDemo'\nexport { LabelDemo } from './LabelDemo'\nexport { LinearGradientDemo } from './LinearGradientDemo'\nexport { ListItemDemo } from './ListItemDemo'\nexport { LucideIconsDemo } from './LucideIconsDemo'\nexport { PopoverDemo } from './PopoverDemo'\nexport { ProgressDemo } from './ProgressDemo'\nexport { SelectDemo } from './SelectDemo'\nexport { SeparatorDemo } from './SeparatorDemo'\nexport { ShapesDemo } from './ShapesDemo'\nexport { ScrollViewDemo } from './ScrollViewDemo'\nexport { SheetDemo } from './SheetDemo'\nexport { SliderDemo } from './SliderDemo'\nexport { SpinnerDemo } from './SpinnerDemo'\nexport { StacksDemo } from './StacksDemo'\nexport { SwitchDemo } from './SwitchDemo'\nexport { TextDemo } from './TextDemo'\nexport { ThemeInverseDemo } from './ThemeInverseDemo'\nexport { TooltipDemo } from './TooltipDemo'\nexport { ColorsDemo } from './ColorsDemo'\nexport { TokensDemo } from './TokensDemo'\nexport * from './useOnIntersecting'\n"],
5
+ "mappings": "AAAA,SAAS,uBAAuB;AAChC,SAAS,sBAAsB;AAC/B,SAAS,2BAA2B;AACpC,SAAS,2BAA2B;AACpC,SAAS,4BAA4B;AACrC,SAAS,8BAA8B;AACvC,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AACjC,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,oBAAoB;AAC7B,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,0BAA0B;AACnC,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAC/B,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,6 @@
1
+ import { config } from "./conf";
2
+ var tamagui_config_default = config;
3
+ export {
4
+ tamagui_config_default as default
5
+ };
6
+ //# sourceMappingURL=tamagui.config.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/tamagui.config.ts"],
4
+ "sourcesContent": ["import { config } from './conf'\nexport default config\n"],
5
+ "mappings": "AAAA,SAAS,cAAc;AACvB,IAAO,yBAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,68 @@
1
+ import { useEffect, useState } from "react";
2
+ import { isWeb, useEvent } from "tamagui";
3
+ function useIsIntersecting(refs, { once, ...opts } = {}) {
4
+ const [values, setValues] = useState([]);
5
+ if (isWeb) {
6
+ useOnIntersecting(
7
+ refs,
8
+ (entries) => {
9
+ const intersecting = entries.some((x) => x?.isIntersecting);
10
+ if (once && !intersecting)
11
+ return;
12
+ setValues((prev) => {
13
+ const next = entries.map((e) => e?.isIntersecting ?? false);
14
+ if (prev.length === next.length && prev.every((e, i) => e === next[i])) {
15
+ return prev;
16
+ }
17
+ return next;
18
+ });
19
+ },
20
+ opts
21
+ );
22
+ }
23
+ return Array.isArray(refs) ? values : values[0];
24
+ }
25
+ function useOnIntersecting(refsIn, incomingCbRaw, { threshold = 0, root, rootMargin } = {}, mountArgs = []) {
26
+ const onIntersectEvent = useEvent(incomingCbRaw);
27
+ useEffect(() => {
28
+ const refs = Array.isArray(refsIn) ? refsIn : [refsIn];
29
+ if (!refs.length)
30
+ return;
31
+ let dispose = null;
32
+ let currentEntries = [];
33
+ const options = {
34
+ threshold,
35
+ root,
36
+ rootMargin
37
+ };
38
+ const io = new IntersectionObserver((entries) => {
39
+ currentEntries = refs.map((ref, index) => {
40
+ return entries.find((x) => x.target === ref.current) ?? currentEntries[index] ?? null;
41
+ });
42
+ dispose?.();
43
+ dispose = onIntersectEvent(currentEntries) || null;
44
+ }, options);
45
+ for (const ref of refs) {
46
+ if (ref.current) {
47
+ io.observe(ref.current);
48
+ }
49
+ }
50
+ return () => {
51
+ dispose?.();
52
+ io.disconnect();
53
+ };
54
+ }, [
55
+ onIntersectEvent,
56
+ refsIn,
57
+ root,
58
+ rootMargin,
59
+ threshold,
60
+ // eslint-disable-next-line react-hooks/exhaustive-deps
61
+ ...mountArgs
62
+ ]);
63
+ }
64
+ export {
65
+ useIsIntersecting,
66
+ useOnIntersecting
67
+ };
68
+ //# sourceMappingURL=useOnIntersecting.mjs.map