@tamagui/demos 1.74.2 → 1.74.4

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 (116) hide show
  1. package/dist/cjs/FormsDemo.js +1 -1
  2. package/dist/cjs/FormsDemo.js.map +1 -1
  3. package/dist/cjs/FormsDemo.native.js +1 -1
  4. package/dist/cjs/FormsDemo.native.js.map +1 -1
  5. package/dist/esm/AccordionDemo.native.js +25 -0
  6. package/dist/esm/AccordionDemo.native.js.map +6 -0
  7. package/dist/esm/AddThemeDemo.native.js +35 -0
  8. package/dist/esm/AddThemeDemo.native.js.map +6 -0
  9. package/dist/esm/AlertDialogDemo.native.js +53 -0
  10. package/dist/esm/AlertDialogDemo.native.js.map +6 -0
  11. package/dist/esm/AnimationsDemo.native.js +86 -0
  12. package/dist/esm/AnimationsDemo.native.js.map +6 -0
  13. package/dist/esm/AnimationsEnterDemo.native.js +35 -0
  14. package/dist/esm/AnimationsEnterDemo.native.js.map +6 -0
  15. package/dist/esm/AnimationsHoverDemo.native.js +27 -0
  16. package/dist/esm/AnimationsHoverDemo.native.js.map +6 -0
  17. package/dist/esm/AnimationsPresenceDemo.native.js +68 -0
  18. package/dist/esm/AnimationsPresenceDemo.native.js.map +6 -0
  19. package/dist/esm/AnimationsTimingDemo.native.js +26 -0
  20. package/dist/esm/AnimationsTimingDemo.native.js.map +6 -0
  21. package/dist/esm/AvatarDemo.native.js +30 -0
  22. package/dist/esm/AvatarDemo.native.js.map +6 -0
  23. package/dist/esm/BuildAButtonDemo.native.js +43 -0
  24. package/dist/esm/BuildAButtonDemo.native.js.map +6 -0
  25. package/dist/esm/ButtonDemo.native.js +25 -0
  26. package/dist/esm/ButtonDemo.native.js.map +6 -0
  27. package/dist/esm/CardDemo.native.js +48 -0
  28. package/dist/esm/CardDemo.native.js.map +6 -0
  29. package/dist/esm/CheckboxDemo.native.js +26 -0
  30. package/dist/esm/CheckboxDemo.native.js.map +6 -0
  31. package/dist/esm/ColorsDemo.native.js +89 -0
  32. package/dist/esm/ColorsDemo.native.js.map +6 -0
  33. package/dist/esm/DialogDemo.native.js +109 -0
  34. package/dist/esm/DialogDemo.native.js.map +6 -0
  35. package/dist/esm/FormsDemo.js +1 -1
  36. package/dist/esm/FormsDemo.js.map +1 -1
  37. package/dist/esm/FormsDemo.native.js +35 -0
  38. package/dist/esm/FormsDemo.native.js.map +6 -0
  39. package/dist/esm/Grid.native.js +37 -0
  40. package/dist/esm/Grid.native.js.map +6 -0
  41. package/dist/esm/GroupDemo.native.js +25 -0
  42. package/dist/esm/GroupDemo.native.js.map +6 -0
  43. package/dist/esm/HeadingsDemo.native.js +16 -0
  44. package/dist/esm/HeadingsDemo.native.js.map +6 -0
  45. package/dist/esm/ImageDemo.native.js +18 -0
  46. package/dist/esm/ImageDemo.native.js.map +6 -0
  47. package/dist/esm/InputsDemo.native.js +31 -0
  48. package/dist/esm/InputsDemo.native.js.map +6 -0
  49. package/dist/esm/LabelDemo.native.js +18 -0
  50. package/dist/esm/LabelDemo.native.js.map +6 -0
  51. package/dist/esm/LinearGradientDemo.native.js +33 -0
  52. package/dist/esm/LinearGradientDemo.native.js.map +6 -0
  53. package/dist/esm/ListItemDemo.native.js +47 -0
  54. package/dist/esm/ListItemDemo.native.js.map +6 -0
  55. package/dist/esm/LucideIconsDemo.native.js +53 -0
  56. package/dist/esm/LucideIconsDemo.native.js.map +6 -0
  57. package/dist/esm/PopoverDemo.native.js +80 -0
  58. package/dist/esm/PopoverDemo.native.js.map +6 -0
  59. package/dist/esm/ProgressDemo.native.js +56 -0
  60. package/dist/esm/ProgressDemo.native.js.map +6 -0
  61. package/dist/esm/RadioGroupDemo.native.js +21 -0
  62. package/dist/esm/RadioGroupDemo.native.js.map +6 -0
  63. package/dist/esm/ReplaceThemeDemo.native.js +45 -0
  64. package/dist/esm/ReplaceThemeDemo.native.js.map +6 -0
  65. package/dist/esm/ScrollViewDemo.native.js +28 -0
  66. package/dist/esm/ScrollViewDemo.native.js.map +6 -0
  67. package/dist/esm/SelectDemo.native.js +183 -0
  68. package/dist/esm/SelectDemo.native.js.map +6 -0
  69. package/dist/esm/SeparatorDemo.native.js +20 -0
  70. package/dist/esm/SeparatorDemo.native.js.map +6 -0
  71. package/dist/esm/ShapesDemo.native.js +12 -0
  72. package/dist/esm/ShapesDemo.native.js.map +6 -0
  73. package/dist/esm/SheetDemo.native.js +100 -0
  74. package/dist/esm/SheetDemo.native.js.map +6 -0
  75. package/dist/esm/SliderDemo.native.js +19 -0
  76. package/dist/esm/SliderDemo.native.js.map +6 -0
  77. package/dist/esm/SpinnerDemo.native.js +12 -0
  78. package/dist/esm/SpinnerDemo.native.js.map +6 -0
  79. package/dist/esm/StacksDemo.native.js +78 -0
  80. package/dist/esm/StacksDemo.native.js.map +6 -0
  81. package/dist/esm/SwitchDemo.native.js +45 -0
  82. package/dist/esm/SwitchDemo.native.js.map +6 -0
  83. package/dist/esm/TabsAdvancedDemo.native.js +239 -0
  84. package/dist/esm/TabsAdvancedDemo.native.js.map +6 -0
  85. package/dist/esm/TabsDemo.native.js +131 -0
  86. package/dist/esm/TabsDemo.native.js.map +6 -0
  87. package/dist/esm/TextDemo.native.js +16 -0
  88. package/dist/esm/TextDemo.native.js.map +6 -0
  89. package/dist/esm/ThemeBuilderDemo.native.js +134 -0
  90. package/dist/esm/ThemeBuilderDemo.native.js.map +6 -0
  91. package/dist/esm/ThemeInverseDemo.native.js +41 -0
  92. package/dist/esm/ThemeInverseDemo.native.js.map +6 -0
  93. package/dist/esm/ToastDemo.native.js +91 -0
  94. package/dist/esm/ToastDemo.native.js.map +6 -0
  95. package/dist/esm/ToastDuplicateDemo.native.js +44 -0
  96. package/dist/esm/ToastDuplicateDemo.native.js.map +6 -0
  97. package/dist/esm/ToggleGroupDemo.native.js +49 -0
  98. package/dist/esm/ToggleGroupDemo.native.js.map +6 -0
  99. package/dist/esm/TokensDemo.native.js +77 -0
  100. package/dist/esm/TokensDemo.native.js.map +6 -0
  101. package/dist/esm/TooltipDemo.native.js +67 -0
  102. package/dist/esm/TooltipDemo.native.js.map +6 -0
  103. package/dist/esm/UpdateThemeDemo.native.js +51 -0
  104. package/dist/esm/UpdateThemeDemo.native.js.map +6 -0
  105. package/dist/esm/index.native.js +50 -0
  106. package/dist/esm/index.native.js.map +6 -0
  107. package/dist/esm/tamagui.config.native.js +8 -0
  108. package/dist/esm/tamagui.config.native.js.map +6 -0
  109. package/dist/esm/useOnIntersecting.native.js +50 -0
  110. package/dist/esm/useOnIntersecting.native.js.map +6 -0
  111. package/dist/jsx/FormsDemo.js +1 -1
  112. package/dist/jsx/FormsDemo.js.map +1 -1
  113. package/dist/jsx/FormsDemo.native.js +1 -1
  114. package/dist/jsx/FormsDemo.native.js.map +1 -1
  115. package/package.json +18 -18
  116. package/src/FormsDemo.tsx +1 -1
@@ -0,0 +1,91 @@
1
+ import { Toast, useToastController, useToastState } from "@tamagui/toast";
2
+ import React from "react";
3
+ import { Button, Label, Switch, XStack, YStack } from "tamagui";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ const ToastDemo = () => {
6
+ const [native, setNative] = React.useState(!1);
7
+ return /* @__PURE__ */ jsxs(YStack, { space: !0, alignItems: "center", children: [
8
+ /* @__PURE__ */ jsx(ToastControl, { native }),
9
+ /* @__PURE__ */ jsx(CurrentToast, {}),
10
+ /* @__PURE__ */ jsx(NativeOptions, { native, setNative })
11
+ ] });
12
+ }, CurrentToast = () => {
13
+ const currentToast = useToastState();
14
+ return !currentToast || currentToast.isHandledNatively ? null : /* @__PURE__ */ jsx(
15
+ Toast,
16
+ {
17
+ duration: currentToast.duration,
18
+ enterStyle: { opacity: 0, scale: 0.5, y: -25 },
19
+ exitStyle: { opacity: 0, scale: 1, y: -20 },
20
+ y: 0,
21
+ opacity: 1,
22
+ scale: 1,
23
+ animation: "100ms",
24
+ viewportName: currentToast.viewportName,
25
+ children: /* @__PURE__ */ jsxs(YStack, { children: [
26
+ /* @__PURE__ */ jsx(Toast.Title, { children: currentToast.title }),
27
+ !!currentToast.message && /* @__PURE__ */ jsx(Toast.Description, { children: currentToast.message })
28
+ ] })
29
+ },
30
+ currentToast.id
31
+ );
32
+ }, ToastControl = ({ native }) => {
33
+ const toast = useToastController();
34
+ return /* @__PURE__ */ jsxs(XStack, { space: "$2", justifyContent: "center", children: [
35
+ /* @__PURE__ */ jsx(
36
+ Button,
37
+ {
38
+ onPress: () => {
39
+ toast.show("Successfully saved!", {
40
+ message: "Don't worry, we've got your data.",
41
+ native
42
+ });
43
+ },
44
+ children: "Show"
45
+ }
46
+ ),
47
+ /* @__PURE__ */ jsx(
48
+ Button,
49
+ {
50
+ onPress: () => {
51
+ toast.hide();
52
+ },
53
+ children: "Hide"
54
+ }
55
+ )
56
+ ] });
57
+ }, NativeOptions = ({
58
+ native,
59
+ setNative
60
+ }) => /* @__PURE__ */ jsxs(XStack, { space: "$3", children: [
61
+ /* @__PURE__ */ jsx(Label, { size: "$1", onPress: () => setNative(!1), children: "Custom" }),
62
+ /* @__PURE__ */ jsx(
63
+ Switch,
64
+ {
65
+ id: "native-toggle",
66
+ nativeID: "native-toggle",
67
+ theme: "active",
68
+ size: "$1",
69
+ checked: !!native,
70
+ onCheckedChange: (val) => setNative(val),
71
+ children: /* @__PURE__ */ jsx(
72
+ Switch.Thumb,
73
+ {
74
+ animation: [
75
+ "quick",
76
+ {
77
+ transform: {
78
+ overshootClamping: !0
79
+ }
80
+ }
81
+ ]
82
+ }
83
+ )
84
+ }
85
+ ),
86
+ /* @__PURE__ */ jsx(Label, { size: "$1", onPress: () => setNative(!0), children: "Native" })
87
+ ] });
88
+ export {
89
+ ToastDemo
90
+ };
91
+ //# sourceMappingURL=ToastDemo.js.map
@@ -0,0 +1,6 @@
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;AASlD,SACE,KADF;AAJG,MAAM,YAAY,MAAM;AAC7B,QAAM,CAAC,QAAQ,SAAS,IAAI,MAAM,SAAS,EAAK;AAEhD,SACE,qBAAC,UAAO,OAAK,IAAC,YAAW,UACvB;AAAA,wBAAC,gBAAa,QAAgB;AAAA,IAC9B,oBAAC,gBAAa;AAAA,IAEd,oBAAC,iBAAc,QAAgB,WAAsB;AAAA,KACvD;AAEJ,GAEM,eAAe,MAAM;AACzB,QAAM,eAAe,cAAc;AAEnC,SAAI,CAAC,gBAAgB,aAAa,oBAA0B,OAE1D;AAAA,IAAC;AAAA;AAAA,MAEC,UAAU,aAAa;AAAA,MACvB,YAAY,EAAE,SAAS,GAAG,OAAO,KAAK,GAAG,IAAI;AAAA,MAC7C,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,GAAG,IAAI;AAAA,MAC1C,GAAG;AAAA,MACH,SAAS;AAAA,MACT,OAAO;AAAA,MACP,WAAU;AAAA,MACV,cAAc,aAAa;AAAA,MAE3B,+BAAC,UACC;AAAA,4BAAC,MAAM,OAAN,EAAa,uBAAa,OAAM;AAAA,QAChC,CAAC,CAAC,aAAa,WACd,oBAAC,MAAM,aAAN,EAAmB,uBAAa,SAAQ;AAAA,SAE7C;AAAA;AAAA,IAfK,aAAa;AAAA,EAgBpB;AAEJ,GAEM,eAAe,CAAC,EAAE,OAAO,MAA2B;AACxD,QAAM,QAAQ,mBAAmB;AACjC,SACE,qBAAC,UAAO,OAAM,MAAK,gBAAe,UAChC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,gBAAM,KAAK,uBAAuB;AAAA,YAChC,SAAS;AAAA,YACT;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACD;AAAA;AAAA,IAED;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,gBAAM,KAAK;AAAA,QACb;AAAA,QACD;AAAA;AAAA,IAED;AAAA,KACF;AAEJ,GAEM,gBAAgB,CAAC;AAAA,EACrB;AAAA,EACA;AACF,MAKI,qBAAC,UAAO,OAAM,MACZ;AAAA,sBAAC,SAAM,MAAK,MAAK,SAAS,MAAM,UAAU,EAAK,GAAG,oBAElD;AAAA,EACA;AAAA,IAAC;AAAA;AAAA,MACC,IAAG;AAAA,MACH,UAAS;AAAA,MACT,OAAM;AAAA,MACN,MAAK;AAAA,MACL,SAAS,CAAC,CAAC;AAAA,MACX,iBAAiB,CAAC,QAAQ,UAAU,GAAG;AAAA,MAEvC;AAAA,QAAC,OAAO;AAAA,QAAP;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,cACE,WAAW;AAAA,gBACT,mBAAmB;AAAA,cACrB;AAAA,YACF;AAAA,UACF;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAAA,EAEA,oBAAC,SAAM,MAAK,MAAK,SAAS,MAAM,UAAU,EAAI,GAAG,oBAEjD;AAAA,GACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,44 @@
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
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ const ToastDuplicateDemo = () => {
7
+ const [savedCount, setSavedCount] = React.useState(0);
8
+ return /* @__PURE__ */ jsxs(YStack, { alignItems: "center", children: [
9
+ /* @__PURE__ */ jsx(
10
+ Button,
11
+ {
12
+ onPress: () => {
13
+ setSavedCount((old) => old + 1);
14
+ },
15
+ children: "Show toast"
16
+ }
17
+ ),
18
+ [...Array(savedCount)].map((_, index) => /* @__PURE__ */ jsx(
19
+ Toast,
20
+ {
21
+ viewportName: "viewport-multiple",
22
+ duration: 4e3,
23
+ enterStyle: { opacity: 0, scale: 0.5, y: -25 },
24
+ exitStyle: { opacity: 0, scale: 1, y: -20 },
25
+ y: 0,
26
+ opacity: 1,
27
+ scale: 1,
28
+ animation: "100ms",
29
+ children: /* @__PURE__ */ jsxs(XStack, { space: !0, alignItems: "center", children: [
30
+ /* @__PURE__ */ jsx(YStack, { children: /* @__PURE__ */ jsx(CheckCircle2, {}) }),
31
+ /* @__PURE__ */ jsxs(YStack, { children: [
32
+ /* @__PURE__ */ jsx(Toast.Title, { children: "Successfully saved!" }),
33
+ /* @__PURE__ */ jsx(Toast.Description, { children: "Don't worry... We've got your data." })
34
+ ] })
35
+ ] })
36
+ },
37
+ index
38
+ ))
39
+ ] });
40
+ };
41
+ export {
42
+ ToastDuplicateDemo
43
+ };
44
+ //# sourceMappingURL=ToastDuplicateDemo.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/ToastDuplicateDemo.tsx"],
4
+ "mappings": "AAAA,SAAS,oBAAoB;AAC7B,SAAS,aAAa;AACtB,OAAO,WAAW;AAClB,SAAS,QAAQ,QAAQ,cAAc;AAUjC,cAwBM,YAxBN;AALC,MAAM,qBAAqB,MAAM;AACtC,QAAM,CAAC,YAAY,aAAa,IAAI,MAAM,SAAS,CAAC;AAEpD,SACE,qBAAC,UAAO,YAAW,UACjB;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,wBAAc,CAAC,QAAQ,MAAM,CAAC;AAAA,QAChC;AAAA,QACD;AAAA;AAAA,IAED;AAAA,IACC,CAAC,GAAG,MAAM,UAAU,CAAC,EAAE,IAAI,CAAC,GAAG,UAC9B;AAAA,MAAC;AAAA;AAAA,QACC,cAAa;AAAA,QAEb,UAAU;AAAA,QACV,YAAY,EAAE,SAAS,GAAG,OAAO,KAAK,GAAG,IAAI;AAAA,QAC7C,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,GAAG,IAAI;AAAA,QAC1C,GAAG;AAAA,QACH,SAAS;AAAA,QACT,OAAO;AAAA,QACP,WAAU;AAAA,QAEV,+BAAC,UAAO,OAAK,IAAC,YAAW,UACvB;AAAA,8BAAC,UACC,8BAAC,gBAAa,GAChB;AAAA,UAEA,qBAAC,UACC;AAAA,gCAAC,MAAM,OAAN,EAAY,iCAAmB;AAAA,YAChC,oBAAC,MAAM,aAAN,EAAkB,iDAAmC;AAAA,aACxD;AAAA,WACF;AAAA;AAAA,MAlBK;AAAA,IAmBP,CACD;AAAA,KACH;AAEJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,49 @@
1
+ import { AlignCenter, AlignLeft, AlignRight } from "@tamagui/lucide-icons";
2
+ import { Label, ToggleGroup, XStack, YStack } from "tamagui";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ function ToggleGroupDemo() {
5
+ return /* @__PURE__ */ jsx(YStack, { paddingHorizontal: "$4", children: /* @__PURE__ */ jsxs(XStack, { alignItems: "center", space: "$10", children: [
6
+ /* @__PURE__ */ jsxs(YStack, { alignItems: "center", space: "$6", children: [
7
+ /* @__PURE__ */ jsx(ToggleGroupComponent, { type: "single", size: "$3", orientation: "horizontal" }),
8
+ /* @__PURE__ */ jsx(ToggleGroupComponent, { type: "multiple", size: "$4", orientation: "horizontal" })
9
+ ] }),
10
+ /* @__PURE__ */ jsxs(XStack, { alignItems: "center", space: "$6", children: [
11
+ /* @__PURE__ */ jsx(ToggleGroupComponent, { type: "single", size: "$3", orientation: "vertical" }),
12
+ /* @__PURE__ */ jsx(ToggleGroupComponent, { type: "multiple", size: "$4", orientation: "vertical" })
13
+ ] })
14
+ ] }) });
15
+ }
16
+ function ToggleGroupComponent(props) {
17
+ const id = `switch-${props.size.toString().slice(1)}-${props.type}`;
18
+ return /* @__PURE__ */ jsxs(
19
+ XStack,
20
+ {
21
+ flexDirection: props.orientation === "horizontal" ? "row" : "column",
22
+ alignItems: "center",
23
+ justifyContent: "center",
24
+ space: "$4",
25
+ children: [
26
+ /* @__PURE__ */ jsx(Label, { paddingRight: "$0", justifyContent: "flex-end", size: props.size, htmlFor: id, children: props.type === "single" ? "Single" : "Multiple" }),
27
+ /* @__PURE__ */ jsxs(
28
+ ToggleGroup,
29
+ {
30
+ orientation: props.orientation,
31
+ id,
32
+ type: props.type,
33
+ size: props.size,
34
+ disableDeactivation: props.type === "single" ? !0 : void 0,
35
+ children: [
36
+ /* @__PURE__ */ jsx(ToggleGroup.Item, { value: "left", "aria-label": "Left aligned", children: /* @__PURE__ */ jsx(AlignLeft, {}) }),
37
+ /* @__PURE__ */ jsx(ToggleGroup.Item, { value: "center", "aria-label": "Center aligned", children: /* @__PURE__ */ jsx(AlignCenter, {}) }),
38
+ /* @__PURE__ */ jsx(ToggleGroup.Item, { value: "right", "aria-label": "Right aligned", children: /* @__PURE__ */ jsx(AlignRight, {}) })
39
+ ]
40
+ }
41
+ )
42
+ ]
43
+ }
44
+ );
45
+ }
46
+ export {
47
+ ToggleGroupDemo
48
+ };
49
+ //# sourceMappingURL=ToggleGroupDemo.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/ToggleGroupDemo.tsx"],
4
+ "mappings": "AAAA,SAAS,aAAa,WAAW,kBAAkB;AACnD,SAAS,OAAmB,aAAa,QAAQ,cAAc;AAMvD,SACE,KADF;AAJD,SAAS,kBAAkB;AAChC,SACE,oBAAC,UAAO,mBAAkB,MACxB,+BAAC,UAAO,YAAW,UAAS,OAAM,OAChC;AAAA,yBAAC,UAAO,YAAW,UAAS,OAAM,MAChC;AAAA,0BAAC,wBAAqB,MAAK,UAAS,MAAK,MAAK,aAAY,cAAa;AAAA,MACvE,oBAAC,wBAAqB,MAAK,YAAW,MAAK,MAAK,aAAY,cAAa;AAAA,OAC3E;AAAA,IACA,qBAAC,UAAO,YAAW,UAAS,OAAM,MAChC;AAAA,0BAAC,wBAAqB,MAAK,UAAS,MAAK,MAAK,aAAY,YAAW;AAAA,MACrE,oBAAC,wBAAqB,MAAK,YAAW,MAAK,MAAK,aAAY,YAAW;AAAA,OACzE;AAAA,KACF,GACF;AAEJ;AAEA,SAAS,qBAAqB,OAI3B;AACD,QAAM,KAAK,UAAU,MAAM,KAAK,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,IAAI;AACjE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAe,MAAM,gBAAgB,eAAe,QAAQ;AAAA,MAC5D,YAAW;AAAA,MACX,gBAAe;AAAA,MACf,OAAM;AAAA,MAEN;AAAA,4BAAC,SAAM,cAAa,MAAK,gBAAe,YAAW,MAAM,MAAM,MAAM,SAAS,IAC3E,gBAAM,SAAS,WAAW,WAAW,YACxC;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,aAAa,MAAM;AAAA,YACnB;AAAA,YACA,MAAM,MAAM;AAAA,YACZ,MAAM,MAAM;AAAA,YACZ,qBAAqB,MAAM,SAAS,WAAW,KAAO;AAAA,YAEtD;AAAA,kCAAC,YAAY,MAAZ,EAAiB,OAAM,QAAO,cAAW,gBACxC,8BAAC,aAAU,GACb;AAAA,cACA,oBAAC,YAAY,MAAZ,EAAiB,OAAM,UAAS,cAAW,kBAC1C,8BAAC,eAAY,GACf;AAAA,cACA,oBAAC,YAAY,MAAZ,EAAiB,OAAM,SAAQ,cAAW,iBACzC,8BAAC,cAAW,GACd;AAAA;AAAA;AAAA,QACF;AAAA;AAAA;AAAA,EACF;AAEJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,77 @@
1
+ import { getConfig } from "@tamagui/core";
2
+ import { useState } from "react";
3
+ import { Button, H2, H3, H4, Separator, Square, XGroup, XStack, YStack } from "tamagui";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ const sections = [
6
+ {
7
+ name: "Size",
8
+ key: "size"
9
+ },
10
+ {
11
+ name: "Space",
12
+ key: "space"
13
+ },
14
+ {
15
+ name: "Space (-)",
16
+ key: "spaceNegative"
17
+ },
18
+ {
19
+ name: "Radius",
20
+ key: "radius"
21
+ }
22
+ ];
23
+ function TokensDemo() {
24
+ const [section, setSection] = useState("size");
25
+ return /* @__PURE__ */ jsxs(YStack, { space: !0, children: [
26
+ /* @__PURE__ */ jsx(XGroup, { alignItems: "center", alignSelf: "center", children: sections.map(({ name, key }) => /* @__PURE__ */ jsx(XGroup.Item, { children: /* @__PURE__ */ jsx(
27
+ Button,
28
+ {
29
+ size: "$3",
30
+ theme: section === key ? "active" : null,
31
+ fontFamily: "$silkscreen",
32
+ onPress: () => setSection(key),
33
+ children: name
34
+ }
35
+ ) }, key)) }),
36
+ (section === "size" || section === "spaceNegative" || section === "space" || section === "radius") && /* @__PURE__ */ jsx(SizeSection, { section })
37
+ ] });
38
+ }
39
+ function SizeSection({ section }) {
40
+ const allTokens = getConfig().tokens, tokens = allTokens[section.startsWith("space") ? "space" : section], st = Object.keys(tokens).sort((a, b) => parseFloat(a) > parseFloat(b) ? 1 : -1), spaceTokens = st.filter((t) => parseFloat(t) >= 0), spaceTokensNegative = st.filter((t) => parseFloat(t) < 0).sort((a, b) => parseFloat(a) > parseFloat(b) ? -1 : 1);
41
+ return /* @__PURE__ */ jsxs(YStack, { flex: 1, space: !0, children: [
42
+ /* @__PURE__ */ jsx(H2, { children: "Sizes" }),
43
+ /* @__PURE__ */ jsx(YStack, { width: "100%", space: "$2", separator: /* @__PURE__ */ jsx(Separator, {}), children: (section === "spaceNegative" ? spaceTokensNegative : spaceTokens).map(
44
+ (token) => /* @__PURE__ */ jsxs(XStack, { width: "100%", alignItems: "center", children: [
45
+ /* @__PURE__ */ jsx(YStack, { width: "25%", children: /* @__PURE__ */ jsxs(H3, { size: "$6", children: [
46
+ "$",
47
+ token
48
+ ] }) }),
49
+ /* @__PURE__ */ jsx(YStack, { width: "20%", children: /* @__PURE__ */ jsxs(H4, { size: "$5", children: [
50
+ tokens[token]?.val,
51
+ "px"
52
+ ] }) }),
53
+ /* @__PURE__ */ jsx(
54
+ Square,
55
+ {
56
+ size: tokens[token]?.val,
57
+ backgroundColor: "$color5",
58
+ ...section === "spaceNegative" && {
59
+ backgroundColor: "$red5",
60
+ size: -tokens[spaceTokensNegative.find(
61
+ (t) => parseFloat(t) === -parseFloat(token)
62
+ ) ?? token]?.val
63
+ },
64
+ ...section === "radius" && {
65
+ size: allTokens.size[token]?.val,
66
+ borderRadius: tokens[token]?.val
67
+ }
68
+ }
69
+ )
70
+ ] }, token)
71
+ ) })
72
+ ] });
73
+ }
74
+ export {
75
+ TokensDemo
76
+ };
77
+ //# sourceMappingURL=TokensDemo.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/TokensDemo.tsx"],
4
+ "mappings": "AAAA,SAAiB,iBAAiB;AAClC,SAAS,gBAAgB;AACzB,SAAS,QAAQ,IAAI,IAAI,IAAI,WAAW,QAAQ,QAAQ,QAAQ,cAAc;AA2B1E,SAKU,KALV;AAvBJ,MAAM,WAA6C;AAAA,EACjD;AAAA,IACE,MAAM;AAAA,IACN,KAAK;AAAA,EACP;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,KAAK;AAAA,EACP;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,KAAK;AAAA,EACP;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,KAAK;AAAA,EACP;AACF;AAEO,SAAS,aAAa;AAC3B,QAAM,CAAC,SAAS,UAAU,IAAI,SAAkB,MAAM;AAEtD,SACE,qBAAC,UAAO,OAAK,IACX;AAAA,wBAAC,UAAO,YAAW,UAAS,WAAU,UACnC,mBAAS,IAAI,CAAC,EAAE,MAAM,IAAI,MAEvB,oBAAC,OAAO,MAAP,EACC;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAO,YAAY,MAAM,WAAW;AAAA,QACpC,YAAW;AAAA,QACX,SAAS,MAAM,WAAW,GAAG;AAAA,QAE5B;AAAA;AAAA,IACH,KARgB,GASlB,CAEH,GACH;AAAA,KAEE,YAAY,UACZ,YAAY,mBACZ,YAAY,WACZ,YAAY,aAAa,oBAAC,eAAY,SAAkB;AAAA,KAC5D;AAEJ;AAEA,SAAS,YAAY,EAAE,QAAQ,GAAyB;AACtD,QAAM,YAAY,UAAU,EAAE,QACxB,SAAS,UAAU,QAAQ,WAAW,OAAO,IAAI,UAAU,OAAO,GAClE,KAAK,OAAO,KAAK,MAAM,EAAE,KAAK,CAAC,GAAG,MAAO,WAAW,CAAC,IAAI,WAAW,CAAC,IAAI,IAAI,EAAG,GAChF,cAAc,GAAG,OAAO,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,GACjD,sBAAsB,GACzB,OAAO,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,EAC/B,KAAK,CAAC,GAAG,MAAO,WAAW,CAAC,IAAI,WAAW,CAAC,IAAI,KAAK,CAAE;AAE1D,SACE,qBAAC,UAAO,MAAM,GAAG,OAAK,IACpB;AAAA,wBAAC,MAAG,mBAAK;AAAA,IACT,oBAAC,UAAO,OAAM,QAAO,OAAM,MAAK,WAAW,oBAAC,aAAU,GAClD,uBAAY,kBAAkB,sBAAsB,aAAa;AAAA,MACjE,CAAC,UAEG,qBAAC,UAAO,OAAM,QAAO,YAAW,UAC9B;AAAA,4BAAC,UAAO,OAAM,OACZ,+BAAC,MAAG,MAAK,MAAK;AAAA;AAAA,UAAE;AAAA,WAAM,GACxB;AAAA,QACA,oBAAC,UAAO,OAAM,OACZ,+BAAC,MAAG,MAAK,MAAM;AAAA,iBAAO,KAAK,GAAG;AAAA,UAAI;AAAA,WAAE,GACtC;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,MAAM,OAAO,KAAK,GAAG;AAAA,YACrB,iBAAgB;AAAA,YACf,GAAI,YAAY,mBAAmB;AAAA,cAClC,iBAAiB;AAAA,cACjB,MAAM,CAAC,OACL,oBAAoB;AAAA,gBAClB,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,WAAW,KAAK;AAAA,cAC5C,KAAK,KACP,GAAG;AAAA,YACL;AAAA,YACC,GAAI,YAAY,YAAY;AAAA,cAC3B,MAAM,UAAU,KAAK,KAAK,GAAG;AAAA,cAC7B,cAAc,OAAO,KAAK,GAAG;AAAA,YAC/B;AAAA;AAAA,QACF;AAAA,WAtB4C,KAuB9C;AAAA,IAGN,GACF;AAAA,KACF;AAEJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,67 @@
1
+ import {
2
+ ChevronDown,
3
+ ChevronLeft,
4
+ ChevronRight,
5
+ ChevronUp,
6
+ Circle
7
+ } from "@tamagui/lucide-icons";
8
+ import {
9
+ Button,
10
+ Paragraph,
11
+ Tooltip,
12
+ TooltipGroup,
13
+ XStack,
14
+ YStack
15
+ } from "tamagui";
16
+ import { jsx, jsxs } from "react/jsx-runtime";
17
+ function TooltipDemo() {
18
+ return /* @__PURE__ */ jsx(TooltipGroup, { delay: { open: 3e3, close: 100 }, children: /* @__PURE__ */ jsxs(YStack, { space: "$2", alignSelf: "center", children: [
19
+ /* @__PURE__ */ jsxs(XStack, { space: "$2", children: [
20
+ /* @__PURE__ */ jsx(Demo, { groupId: "0", placement: "top-end", Icon: Circle }),
21
+ /* @__PURE__ */ jsx(Demo, { groupId: "1", placement: "top", Icon: ChevronUp }),
22
+ /* @__PURE__ */ jsx(Demo, { groupId: "2", placement: "top-start", Icon: Circle })
23
+ ] }),
24
+ /* @__PURE__ */ jsxs(XStack, { space: "$2", children: [
25
+ /* @__PURE__ */ jsx(Demo, { groupId: "3", placement: "left", Icon: ChevronLeft }),
26
+ /* @__PURE__ */ jsx(YStack, { flex: 1 }),
27
+ /* @__PURE__ */ jsx(Demo, { groupId: "4", placement: "right", Icon: ChevronRight })
28
+ ] }),
29
+ /* @__PURE__ */ jsxs(XStack, { space: "$2", children: [
30
+ /* @__PURE__ */ jsx(Demo, { groupId: "5", placement: "bottom-end", Icon: Circle }),
31
+ /* @__PURE__ */ jsx(Demo, { groupId: "6", placement: "bottom", Icon: ChevronDown }),
32
+ /* @__PURE__ */ jsx(Demo, { groupId: "7", placement: "bottom-start", Icon: Circle })
33
+ ] })
34
+ ] }) });
35
+ }
36
+ function Demo({ Icon, ...props }) {
37
+ return /* @__PURE__ */ jsxs(Tooltip, { ...props, children: [
38
+ /* @__PURE__ */ jsx(Tooltip.Trigger, { children: /* @__PURE__ */ jsx(Button, { icon: Icon, circular: !0 }) }),
39
+ /* @__PURE__ */ jsxs(
40
+ Tooltip.Content,
41
+ {
42
+ enterStyle: { x: 0, y: -5, opacity: 0, scale: 0.9 },
43
+ exitStyle: { x: 0, y: -5, opacity: 0, scale: 0.9 },
44
+ scale: 1,
45
+ x: 0,
46
+ y: 0,
47
+ opacity: 1,
48
+ animation: [
49
+ "quick",
50
+ {
51
+ opacity: {
52
+ overshootClamping: !0
53
+ }
54
+ }
55
+ ],
56
+ children: [
57
+ /* @__PURE__ */ jsx(Tooltip.Arrow, {}),
58
+ /* @__PURE__ */ jsx(Paragraph, { size: "$2", lineHeight: "$1", children: "Hello world" })
59
+ ]
60
+ }
61
+ )
62
+ ] });
63
+ }
64
+ export {
65
+ TooltipDemo
66
+ };
67
+ //# sourceMappingURL=TooltipDemo.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/TooltipDemo.tsx"],
4
+ "mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAMC,SACE,KADF;AAJD,SAAS,cAAc;AAC5B,SACE,oBAAC,gBAAa,OAAO,EAAE,MAAM,KAAM,OAAO,IAAI,GAC5C,+BAAC,UAAO,OAAM,MAAK,WAAU,UAC3B;AAAA,yBAAC,UAAO,OAAM,MACZ;AAAA,0BAAC,QAAK,SAAQ,KAAI,WAAU,WAAU,MAAM,QAAQ;AAAA,MACpD,oBAAC,QAAK,SAAQ,KAAI,WAAU,OAAM,MAAM,WAAW;AAAA,MACnD,oBAAC,QAAK,SAAQ,KAAI,WAAU,aAAY,MAAM,QAAQ;AAAA,OACxD;AAAA,IACA,qBAAC,UAAO,OAAM,MACZ;AAAA,0BAAC,QAAK,SAAQ,KAAI,WAAU,QAAO,MAAM,aAAa;AAAA,MACtD,oBAAC,UAAO,MAAM,GAAG;AAAA,MACjB,oBAAC,QAAK,SAAQ,KAAI,WAAU,SAAQ,MAAM,cAAc;AAAA,OAC1D;AAAA,IACA,qBAAC,UAAO,OAAM,MACZ;AAAA,0BAAC,QAAK,SAAQ,KAAI,WAAU,cAAa,MAAM,QAAQ;AAAA,MACvD,oBAAC,QAAK,SAAQ,KAAI,WAAU,UAAS,MAAM,aAAa;AAAA,MACxD,oBAAC,QAAK,SAAQ,KAAI,WAAU,gBAAe,MAAM,QAAQ;AAAA,OAC3D;AAAA,KACF,GACF;AAEJ;AAEA,SAAS,KAAK,EAAE,MAAM,GAAG,MAAM,GAAkC;AAC/D,SACE,qBAAC,WAAS,GAAG,OACX;AAAA,wBAAC,QAAQ,SAAR,EACC,8BAAC,UAAO,MAAM,MAAM,UAAQ,IAAC,GAC/B;AAAA,IACA;AAAA,MAAC,QAAQ;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,8BAAC,QAAQ,OAAR,EAAc;AAAA,UACf,oBAAC,aAAU,MAAK,MAAK,YAAW,MAAK,yBAErC;AAAA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,51 @@
1
+ import * as Config from "@tamagui/site-config";
2
+ import { addTheme, updateTheme } from "@tamagui/theme";
3
+ import { useState } from "react";
4
+ import {
5
+ Button,
6
+ Square,
7
+ Theme,
8
+ XStack,
9
+ YStack,
10
+ getVariableValue,
11
+ useForceUpdate,
12
+ useIsomorphicLayoutEffect
13
+ } from "tamagui";
14
+ import { jsx, jsxs } from "react/jsx-runtime";
15
+ const colors = Config.config.tokens.color, colorKeys = Object.keys(colors);
16
+ function UpdateThemeDemo() {
17
+ const [theme, setTheme] = useState(), update = useForceUpdate();
18
+ return useIsomorphicLayoutEffect(() => {
19
+ addTheme({
20
+ name: "custom",
21
+ insertCSS: !0,
22
+ theme: {
23
+ color: "red",
24
+ color2: "blue"
25
+ }
26
+ }), setTheme("custom");
27
+ }, []), /* @__PURE__ */ jsxs(YStack, { alignItems: "center", space: !0, children: [
28
+ /* @__PURE__ */ jsx(XStack, { gap: "$5", children: /* @__PURE__ */ jsx(Theme, { name: theme ?? null, children: /* @__PURE__ */ jsx(Square, { borderRadius: "$8", size: 100, backgroundColor: "$color" }) }) }),
29
+ /* @__PURE__ */ jsx(
30
+ Button,
31
+ {
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
+ }), update();
42
+ },
43
+ children: "Set to random color"
44
+ }
45
+ )
46
+ ] });
47
+ }
48
+ export {
49
+ UpdateThemeDemo
50
+ };
51
+ //# sourceMappingURL=UpdateThemeDemo.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/UpdateThemeDemo.tsx"],
4
+ "mappings": "AAAA,YAAY,YAAY;AACxB,SAAS,UAAU,mBAAmB;AACtC,SAAgB,gBAAgB;AAChC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAsBH,SAGM,KAHN;AApBJ,MAAM,SAAS,OAAO,OAAO,OAAO,OAC9B,YAAY,OAAO,KAAK,MAAM;AAE7B,SAAS,kBAAkB;AAChC,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAc,GAClC,SAAS,eAAe;AAE9B,mCAA0B,MAAM;AAC9B,aAAS;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,MACX,OAAO;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,MACV;AAAA,IACF,CAAC,GACD,SAAS,QAAQ;AAAA,EACnB,GAAG,CAAC,CAAC,GAGH,qBAAC,UAAO,YAAW,UAAS,OAAK,IAC/B;AAAA,wBAAC,UAAO,KAAK,MACX,8BAAC,SAAM,MAAM,SAAS,MACpB,8BAAC,UAAO,cAAa,MAAK,MAAM,KAAK,iBAAgB,UAAS,GAChE,GACF;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM;AACb,gBAAM,cAAc;AAAA,YAClB,OAAO,UAAU,KAAK,MAAM,KAAK,OAAO,IAAI,UAAU,MAAM,CAAC,CAAC;AAAA,UAChE;AACA,sBAAY;AAAA,YACV,MAAM;AAAA,YACN,OAAO;AAAA,cACL,OAAO;AAAA,YACT;AAAA,UACF,CAAC,GACD,OAAO;AAAA,QACT;AAAA,QACD;AAAA;AAAA,IAED;AAAA,KACF;AAEJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,50 @@
1
+ export * from "./AccordionDemo";
2
+ export * from "./AddThemeDemo";
3
+ export * from "./AlertDialogDemo";
4
+ export * from "./AnimationsDemo";
5
+ export * from "./AnimationsEnterDemo";
6
+ export * from "./AnimationsHoverDemo";
7
+ export * from "./AnimationsPresenceDemo";
8
+ export * from "./AnimationsTimingDemo";
9
+ export * from "./AvatarDemo";
10
+ export * from "./BuildAButtonDemo";
11
+ export * from "./ButtonDemo";
12
+ export * from "./ThemeBuilderDemo";
13
+ export * from "./CardDemo";
14
+ export * from "./CheckboxDemo";
15
+ export * from "./ColorsDemo";
16
+ export * from "./DialogDemo";
17
+ export * from "./FormsDemo";
18
+ export * from "./GroupDemo";
19
+ export * from "./HeadingsDemo";
20
+ export * from "./ImageDemo";
21
+ export * from "./InputsDemo";
22
+ export * from "./LabelDemo";
23
+ export * from "./LinearGradientDemo";
24
+ export * from "./ListItemDemo";
25
+ export * from "./LucideIconsDemo";
26
+ export * from "./PopoverDemo";
27
+ export * from "./ProgressDemo";
28
+ export * from "./RadioGroupDemo";
29
+ export * from "./ReplaceThemeDemo";
30
+ export * from "./ScrollViewDemo";
31
+ export * from "./SelectDemo";
32
+ export * from "./SeparatorDemo";
33
+ export * from "./ShapesDemo";
34
+ export * from "./SheetDemo";
35
+ export * from "./SliderDemo";
36
+ export * from "./SpinnerDemo";
37
+ export * from "./StacksDemo";
38
+ export * from "./SwitchDemo";
39
+ export * from "./TabsAdvancedDemo";
40
+ export * from "./TabsDemo";
41
+ export * from "./TextDemo";
42
+ export * from "./ThemeInverseDemo";
43
+ export * from "./ToastDemo";
44
+ export * from "./ToastDuplicateDemo";
45
+ export * from "./ToggleGroupDemo";
46
+ export * from "./TokensDemo";
47
+ export * from "./TooltipDemo";
48
+ export * from "./UpdateThemeDemo";
49
+ export * from "./useOnIntersecting";
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.tsx"],
4
+ "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5
+ "names": []
6
+ }
@@ -0,0 +1,8 @@
1
+ import { config } from "@tamagui/site-config";
2
+ import { config as config2 } from "@tamagui/site-config";
3
+ var tamagui_config_default = config;
4
+ export {
5
+ config2 as config,
6
+ tamagui_config_default as default
7
+ };
8
+ //# sourceMappingURL=tamagui.config.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/tamagui.config.ts"],
4
+ "mappings": "AAAA,SAAS,cAAc;AAEvB,SAAS,UAAAA,eAAc;AACvB,IAAO,yBAAQ;",
5
+ "names": ["config"]
6
+ }
@@ -0,0 +1,50 @@
1
+ import { useEffect, useState } from "react";
2
+ import { isWeb, useEvent } from "tamagui";
3
+ function useIsIntersecting(refs, { once, ...opts } = {}) {
4
+ const [values, setValues] = useState([]);
5
+ return isWeb && useOnIntersecting(
6
+ refs,
7
+ (entries) => {
8
+ const intersecting = entries.some((x) => x?.isIntersecting);
9
+ once && !intersecting || setValues((prev) => {
10
+ const next = entries.map((e) => e?.isIntersecting ?? !1);
11
+ return prev.length === next.length && prev.every((e, i) => e === next[i]) ? prev : next;
12
+ });
13
+ },
14
+ opts
15
+ ), Array.isArray(refs) ? values : values[0];
16
+ }
17
+ function useOnIntersecting(refsIn, incomingCbRaw, { threshold = 0, root, rootMargin } = {}, mountArgs = []) {
18
+ const onIntersectEvent = useEvent(incomingCbRaw);
19
+ useEffect(() => {
20
+ const refs = Array.isArray(refsIn) ? refsIn : [refsIn];
21
+ if (!refs.length)
22
+ return;
23
+ let dispose = null, currentEntries = [];
24
+ const options = {
25
+ threshold,
26
+ root,
27
+ rootMargin
28
+ }, io = new IntersectionObserver((entries) => {
29
+ currentEntries = refs.map((ref, index) => entries.find((x) => x.target === ref.current) ?? currentEntries[index] ?? null), dispose?.(), dispose = onIntersectEvent(currentEntries) || null;
30
+ }, options);
31
+ for (const ref of refs)
32
+ ref.current && io.observe(ref.current);
33
+ return () => {
34
+ dispose?.(), io.disconnect();
35
+ };
36
+ }, [
37
+ onIntersectEvent,
38
+ refsIn,
39
+ root,
40
+ rootMargin,
41
+ threshold,
42
+ // eslint-disable-next-line react-hooks/exhaustive-deps
43
+ ...mountArgs
44
+ ]);
45
+ }
46
+ export {
47
+ useIsIntersecting,
48
+ useOnIntersecting
49
+ };
50
+ //# sourceMappingURL=useOnIntersecting.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 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;",
5
+ "names": []
6
+ }
@@ -12,7 +12,7 @@ function FormsDemo(props) {
12
12
  }, [status]), <Form
13
13
  alignItems="center"
14
14
  minWidth={300}
15
- gap
15
+ gap="$2"
16
16
  onSubmit={() => setStatus("submitting")}
17
17
  borderWidth={1}
18
18
  borderRadius="$4"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/FormsDemo.tsx"],
4
- "mappings": "AAAA,SAAS,WAAW,gBAAgB;AACpC,SAAS,QAAQ,MAAM,IAAgB,eAAe;AAE/C,SAAS,UAAU,OAA6B;AACrD,QAAM,CAAC,QAAQ,SAAS,IAAI,SAA6C,KAAK;AAE9E,mBAAU,MAAM;AACd,QAAI,WAAW,cAAc;AAC3B,YAAM,QAAQ,WAAW,MAAM,UAAU,KAAK,GAAG,GAAI;AACrD,aAAO,MAAM;AACX,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,MAAM,CAAC,GAGT,CAAC;AAAA,IACC,WAAW;AAAA,IACX,UAAU;AAAA,IACV;AAAA,IACA,UAAU,MAAM,UAAU,YAAY;AAAA,IACtC,aAAa;AAAA,IACb,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,QAAQ;AAAA;AAAA,IAER,CAAC,IAAI,OAAO,CAAC,EAAE,YAAY,IAAI,OAAO,MAAM,CAAC,EAAE,EAA9C;AAAA,IAED,CAAC,KAAK,QAAQ,QAAQ,UAAU,WAAW,OACzC,CAAC,OAAO,MAAM,WAAW,eAAe,MAAM,CAAC,QAAQ,KAAK,QAAW,MAEvE,EAFC,OAGH,EAJC,KAAK;AAAA,EAKR,EAlBC;AAoBL;",
4
+ "mappings": "AAAA,SAAS,WAAW,gBAAgB;AACpC,SAAS,QAAQ,MAAM,IAAgB,eAAe;AAE/C,SAAS,UAAU,OAA6B;AACrD,QAAM,CAAC,QAAQ,SAAS,IAAI,SAA6C,KAAK;AAE9E,mBAAU,MAAM;AACd,QAAI,WAAW,cAAc;AAC3B,YAAM,QAAQ,WAAW,MAAM,UAAU,KAAK,GAAG,GAAI;AACrD,aAAO,MAAM;AACX,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,MAAM,CAAC,GAGT,CAAC;AAAA,IACC,WAAW;AAAA,IACX,UAAU;AAAA,IACV,IAAI;AAAA,IACJ,UAAU,MAAM,UAAU,YAAY;AAAA,IACtC,aAAa;AAAA,IACb,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,QAAQ;AAAA;AAAA,IAER,CAAC,IAAI,OAAO,CAAC,EAAE,YAAY,IAAI,OAAO,MAAM,CAAC,EAAE,EAA9C;AAAA,IAED,CAAC,KAAK,QAAQ,QAAQ,UAAU,WAAW,OACzC,CAAC,OAAO,MAAM,WAAW,eAAe,MAAM,CAAC,QAAQ,KAAK,QAAW,MAEvE,EAFC,OAGH,EAJC,KAAK;AAAA,EAKR,EAlBC;AAoBL;",
5
5
  "names": []
6
6
  }
@@ -12,7 +12,7 @@ function FormsDemo(props) {
12
12
  }, [status]), <Form
13
13
  alignItems="center"
14
14
  minWidth={300}
15
- gap
15
+ gap="$2"
16
16
  onSubmit={() => setStatus("submitting")}
17
17
  borderWidth={1}
18
18
  borderRadius="$4"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/FormsDemo.tsx"],
4
- "mappings": "AAAA,SAAS,WAAW,gBAAgB;AACpC,SAAS,QAAQ,MAAM,IAAgB,eAAe;AAE/C,SAAS,UAAU,OAA6B;AACrD,QAAM,CAAC,QAAQ,SAAS,IAAI,SAA6C,KAAK;AAE9E,mBAAU,MAAM;AACd,QAAI,WAAW,cAAc;AAC3B,YAAM,QAAQ,WAAW,MAAM,UAAU,KAAK,GAAG,GAAI;AACrD,aAAO,MAAM;AACX,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,MAAM,CAAC,GAGT,CAAC;AAAA,IACC,WAAW;AAAA,IACX,UAAU;AAAA,IACV;AAAA,IACA,UAAU,MAAM,UAAU,YAAY;AAAA,IACtC,aAAa;AAAA,IACb,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,QAAQ;AAAA;AAAA,IAER,CAAC,IAAI,OAAO,CAAC,EAAE,YAAY,IAAI,OAAO,MAAM,CAAC,EAAE,EAA9C;AAAA,IAED,CAAC,KAAK,QAAQ,QAAQ,UAAU,WAAW,OACzC,CAAC,OAAO,MAAM,WAAW,eAAe,MAAM,CAAC,QAAQ,KAAK,QAAW,MAEvE,EAFC,OAGH,EAJC,KAAK;AAAA,EAKR,EAlBC;AAoBL;",
4
+ "mappings": "AAAA,SAAS,WAAW,gBAAgB;AACpC,SAAS,QAAQ,MAAM,IAAgB,eAAe;AAE/C,SAAS,UAAU,OAA6B;AACrD,QAAM,CAAC,QAAQ,SAAS,IAAI,SAA6C,KAAK;AAE9E,mBAAU,MAAM;AACd,QAAI,WAAW,cAAc;AAC3B,YAAM,QAAQ,WAAW,MAAM,UAAU,KAAK,GAAG,GAAI;AACrD,aAAO,MAAM;AACX,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,MAAM,CAAC,GAGT,CAAC;AAAA,IACC,WAAW;AAAA,IACX,UAAU;AAAA,IACV,IAAI;AAAA,IACJ,UAAU,MAAM,UAAU,YAAY;AAAA,IACtC,aAAa;AAAA,IACb,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,QAAQ;AAAA;AAAA,IAER,CAAC,IAAI,OAAO,CAAC,EAAE,YAAY,IAAI,OAAO,MAAM,CAAC,EAAE,EAA9C;AAAA,IAED,CAAC,KAAK,QAAQ,QAAQ,UAAU,WAAW,OACzC,CAAC,OAAO,MAAM,WAAW,eAAe,MAAM,CAAC,QAAQ,KAAK,QAAW,MAEvE,EAFC,OAGH,EAJC,KAAK;AAAA,EAKR,EAlBC;AAoBL;",
5
5
  "names": []
6
6
  }