@tamagui/demos 1.86.6 → 1.87.0-1705788268756

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 (67) hide show
  1. package/dist/cjs/AnimationsPresenceDemo.js +30 -13
  2. package/dist/cjs/AnimationsPresenceDemo.js.map +2 -2
  3. package/dist/cjs/AnimationsPresenceDemo.native.js +30 -13
  4. package/dist/cjs/AnimationsPresenceDemo.native.js.map +2 -2
  5. package/dist/cjs/CheckboxHeadlessDemo.js +53 -0
  6. package/dist/cjs/CheckboxHeadlessDemo.js.map +6 -0
  7. package/dist/cjs/CheckboxHeadlessDemo.native.js +54 -0
  8. package/dist/cjs/CheckboxHeadlessDemo.native.js.map +6 -0
  9. package/dist/cjs/CheckboxUnstyledDemo.js +57 -0
  10. package/dist/cjs/CheckboxUnstyledDemo.js.map +6 -0
  11. package/dist/cjs/CheckboxUnstyledDemo.native.js +58 -0
  12. package/dist/cjs/CheckboxUnstyledDemo.native.js.map +6 -0
  13. package/dist/cjs/SwitchHeadlessDemo.js +83 -0
  14. package/dist/cjs/SwitchHeadlessDemo.js.map +6 -0
  15. package/dist/cjs/SwitchHeadlessDemo.native.js +84 -0
  16. package/dist/cjs/SwitchHeadlessDemo.native.js.map +6 -0
  17. package/dist/cjs/SwitchUnstyledDemo.js +73 -0
  18. package/dist/cjs/SwitchUnstyledDemo.js.map +6 -0
  19. package/dist/cjs/SwitchUnstyledDemo.native.js +74 -0
  20. package/dist/cjs/SwitchUnstyledDemo.native.js.map +6 -0
  21. package/dist/esm/AnimationsPresenceDemo.js +30 -13
  22. package/dist/esm/AnimationsPresenceDemo.js.map +2 -2
  23. package/dist/esm/AnimationsPresenceDemo.native.js +30 -13
  24. package/dist/esm/AnimationsPresenceDemo.native.js.map +2 -2
  25. package/dist/esm/CheckboxHeadlessDemo.js +40 -0
  26. package/dist/esm/CheckboxHeadlessDemo.js.map +6 -0
  27. package/dist/esm/CheckboxHeadlessDemo.native.js +40 -0
  28. package/dist/esm/CheckboxHeadlessDemo.native.js.map +6 -0
  29. package/dist/esm/CheckboxUnstyledDemo.js +40 -0
  30. package/dist/esm/CheckboxUnstyledDemo.js.map +6 -0
  31. package/dist/esm/CheckboxUnstyledDemo.native.js +40 -0
  32. package/dist/esm/CheckboxUnstyledDemo.native.js.map +6 -0
  33. package/dist/esm/SwitchHeadlessDemo.js +67 -0
  34. package/dist/esm/SwitchHeadlessDemo.js.map +6 -0
  35. package/dist/esm/SwitchHeadlessDemo.native.js +67 -0
  36. package/dist/esm/SwitchHeadlessDemo.native.js.map +6 -0
  37. package/dist/esm/SwitchUnstyledDemo.js +55 -0
  38. package/dist/esm/SwitchUnstyledDemo.js.map +6 -0
  39. package/dist/esm/SwitchUnstyledDemo.native.js +55 -0
  40. package/dist/esm/SwitchUnstyledDemo.native.js.map +6 -0
  41. package/dist/jsx/AnimationsPresenceDemo.js +29 -12
  42. package/dist/jsx/AnimationsPresenceDemo.js.map +2 -2
  43. package/dist/jsx/AnimationsPresenceDemo.native.js +29 -12
  44. package/dist/jsx/AnimationsPresenceDemo.native.js.map +2 -2
  45. package/dist/jsx/CheckboxHeadlessDemo.js +35 -0
  46. package/dist/jsx/CheckboxHeadlessDemo.js.map +6 -0
  47. package/dist/jsx/CheckboxHeadlessDemo.native.js +35 -0
  48. package/dist/jsx/CheckboxHeadlessDemo.native.js.map +6 -0
  49. package/dist/jsx/CheckboxUnstyledDemo.js +39 -0
  50. package/dist/jsx/CheckboxUnstyledDemo.js.map +6 -0
  51. package/dist/jsx/CheckboxUnstyledDemo.native.js +39 -0
  52. package/dist/jsx/CheckboxUnstyledDemo.native.js.map +6 -0
  53. package/dist/jsx/SwitchHeadlessDemo.js +59 -0
  54. package/dist/jsx/SwitchHeadlessDemo.js.map +6 -0
  55. package/dist/jsx/SwitchHeadlessDemo.native.js +59 -0
  56. package/dist/jsx/SwitchHeadlessDemo.native.js.map +6 -0
  57. package/dist/jsx/SwitchUnstyledDemo.js +54 -0
  58. package/dist/jsx/SwitchUnstyledDemo.js.map +6 -0
  59. package/dist/jsx/SwitchUnstyledDemo.native.js +54 -0
  60. package/dist/jsx/SwitchUnstyledDemo.native.js.map +6 -0
  61. package/package.json +18 -18
  62. package/src/AnimationsPresenceDemo.tsx +33 -18
  63. package/types/AnimationsPresenceDemo.d.ts.map +1 -1
  64. package/types/CheckboxHeadlessDemo.d.ts.map +1 -0
  65. package/types/CheckboxUnstyledDemo.d.ts.map +1 -0
  66. package/types/SwitchHeadlessDemo.d.ts.map +1 -0
  67. package/types/SwitchUnstyledDemo.d.ts.map +1 -0
@@ -0,0 +1,73 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: !0 });
8
+ }, __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from == "object" || typeof from == "function")
10
+ for (let key of __getOwnPropNames(from))
11
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ var SwitchUnstyledDemo_exports = {};
16
+ __export(SwitchUnstyledDemo_exports, {
17
+ Switch: () => Switch,
18
+ SwitchUnstyledDemo: () => SwitchUnstyledDemo
19
+ });
20
+ module.exports = __toCommonJS(SwitchUnstyledDemo_exports);
21
+ var import_core = require("@tamagui/core"), import_switch = require("@tamagui/switch"), import_tamagui = require("tamagui"), import_jsx_runtime = require("react/jsx-runtime");
22
+ const Frame = (0, import_core.styled)(import_core.Stack, {
23
+ context: import_switch.SwitchStyledContext,
24
+ width: 40,
25
+ height: 20,
26
+ borderRadius: 20,
27
+ variants: {
28
+ checked: {
29
+ true: {
30
+ backgroundColor: "lightblue"
31
+ },
32
+ false: {
33
+ backgroundColor: "silver"
34
+ }
35
+ }
36
+ },
37
+ defaultVariants: {
38
+ checked: !1
39
+ }
40
+ }), Thumb = (0, import_core.styled)(import_core.Stack, {
41
+ context: import_switch.SwitchStyledContext,
42
+ width: 20,
43
+ height: 20,
44
+ backgroundColor: "black",
45
+ borderRadius: 20,
46
+ variants: {
47
+ checked: {
48
+ true: {
49
+ opacity: 0.8
50
+ },
51
+ false: {
52
+ opacity: 0.5
53
+ }
54
+ }
55
+ }
56
+ }), Switch = (0, import_switch.createSwitch)({
57
+ // @ts-ignore
58
+ Frame,
59
+ // @ts-ignore
60
+ Thumb
61
+ });
62
+ function SwitchUnstyledDemo() {
63
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.YStack, { width: 200, alignItems: "center", space: "$3", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, { space: "$3", alignItems: "center", children: [
64
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Label, { htmlFor: "unstyled-switch", children: "Unstyled" }),
65
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Switch, { defaultChecked: !0, id: "unstyled-switch", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Switch.Thumb, { animation: "quick" }) })
66
+ ] }) });
67
+ }
68
+ // Annotate the CommonJS export names for ESM import in node:
69
+ 0 && (module.exports = {
70
+ Switch,
71
+ SwitchUnstyledDemo
72
+ });
73
+ //# sourceMappingURL=SwitchUnstyledDemo.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/SwitchUnstyledDemo.tsx"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA8B,0BAC9B,gBAAkD,4BAClD,iBAAsC,oBAoDhC;AAlDN,MAAM,YAAQ,oBAAO,mBAAO;AAAA,EAC1B,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,UAAU;AAAA,IACR,SAAS;AAAA,MACP,MAAM;AAAA,QACJ,iBAAiB;AAAA,MACnB;AAAA,MACA,OAAO;AAAA,QACL,iBAAiB;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GAEK,YAAQ,oBAAO,mBAAO;AAAA,EAC1B,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,cAAc;AAAA,EAEd,UAAU;AAAA,IACR,SAAS;AAAA,MACP,MAAM;AAAA,QACJ,SAAS;AAAA,MACX;AAAA,MACA,OAAO;AAAA,QACL,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AACF,CAAC,GAGY,aAAS,4BAAa;AAAA;AAAA,EAEjC;AAAA;AAAA,EAEA;AACF,CAAC;AAEM,SAAS,qBAAqB;AACnC,SACE,4CAAC,yBAAO,OAAO,KAAK,YAAW,UAAS,OAAM,MAC5C,uDAAC,yBAAO,OAAM,MAAK,YAAW,UAC5B;AAAA,gDAAC,wBAAM,SAAQ,mBAAkB,sBAAQ;AAAA,IACzC,4CAAC,UAAO,gBAAc,IAAC,IAAG,mBACxB,sDAAC,OAAO,OAAP,EAAa,WAAU,SAAQ,GAClC;AAAA,KACF,GACF;AAEJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
11
+ for (let key of __getOwnPropNames(from))
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ return to;
14
+ };
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
+ var SwitchUnstyledDemo_exports = {};
17
+ __export(SwitchUnstyledDemo_exports, {
18
+ Switch: () => Switch,
19
+ SwitchUnstyledDemo: () => SwitchUnstyledDemo
20
+ });
21
+ module.exports = __toCommonJS(SwitchUnstyledDemo_exports);
22
+ var import_core = require("@tamagui/core"), import_switch = require("@tamagui/switch"), import_tamagui = require("tamagui"), import_jsx_runtime = require("react/jsx-runtime");
23
+ const Frame = (0, import_core.styled)(import_core.Stack, {
24
+ context: import_switch.SwitchStyledContext,
25
+ width: 40,
26
+ height: 20,
27
+ borderRadius: 20,
28
+ variants: {
29
+ checked: {
30
+ true: {
31
+ backgroundColor: "lightblue"
32
+ },
33
+ false: {
34
+ backgroundColor: "silver"
35
+ }
36
+ }
37
+ },
38
+ defaultVariants: {
39
+ checked: !1
40
+ }
41
+ }), Thumb = (0, import_core.styled)(import_core.Stack, {
42
+ context: import_switch.SwitchStyledContext,
43
+ width: 20,
44
+ height: 20,
45
+ backgroundColor: "black",
46
+ borderRadius: 20,
47
+ variants: {
48
+ checked: {
49
+ true: {
50
+ opacity: 0.8
51
+ },
52
+ false: {
53
+ opacity: 0.5
54
+ }
55
+ }
56
+ }
57
+ }), Switch = (0, import_switch.createSwitch)({
58
+ // @ts-ignore
59
+ Frame,
60
+ // @ts-ignore
61
+ Thumb
62
+ });
63
+ function SwitchUnstyledDemo() {
64
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.YStack, { width: 200, alignItems: "center", space: "$3", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, { space: "$3", alignItems: "center", children: [
65
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Label, { htmlFor: "unstyled-switch", children: "Unstyled" }),
66
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Switch, { defaultChecked: !0, id: "unstyled-switch", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Switch.Thumb, { animation: "quick" }) })
67
+ ] }) });
68
+ }
69
+ // Annotate the CommonJS export names for ESM import in node:
70
+ 0 && (module.exports = {
71
+ Switch,
72
+ SwitchUnstyledDemo
73
+ });
74
+ //# sourceMappingURL=SwitchUnstyledDemo.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/SwitchUnstyledDemo.tsx"],
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA8B,0BAC9B,gBAAkD,4BAClD,iBAAsC,oBAoDhC;AAlDN,MAAM,YAAQ,oBAAO,mBAAO;AAAA,EAC1B,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,UAAU;AAAA,IACR,SAAS;AAAA,MACP,MAAM;AAAA,QACJ,iBAAiB;AAAA,MACnB;AAAA,MACA,OAAO;AAAA,QACL,iBAAiB;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GAEK,YAAQ,oBAAO,mBAAO;AAAA,EAC1B,SAAS;AAAA,EACT,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,cAAc;AAAA,EAEd,UAAU;AAAA,IACR,SAAS;AAAA,MACP,MAAM;AAAA,QACJ,SAAS;AAAA,MACX;AAAA,MACA,OAAO;AAAA,QACL,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AACF,CAAC,GAGY,aAAS,4BAAa;AAAA;AAAA,EAEjC;AAAA;AAAA,EAEA;AACF,CAAC;AAEM,SAAS,qBAAqB;AACnC,SACE,4CAAC,yBAAO,OAAO,KAAK,YAAW,UAAS,OAAM,MAC5C,uDAAC,yBAAO,OAAM,MAAK,YAAW,UAC5B;AAAA,gDAAC,wBAAM,SAAQ,mBAAkB,sBAAQ;AAAA,IACzC,4CAAC,UAAO,gBAAc,IAAC,IAAG,mBACxB,sDAAC,OAAO,OAAP,EAAa,WAAU,SAAQ,GAClC;AAAA,KACF,GACF;AAEJ;",
5
+ "names": []
6
+ }
@@ -6,15 +6,34 @@ import photo1 from "../../public/photo1.jpg";
6
6
  import photo2 from "../../public/photo2.jpg";
7
7
  import photo3 from "../../public/photo3.jpg";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
- const images = [photo1, photo2, photo3].map((x) => x.src || x), YStackEnterable = styled(YStack, {
9
+ const images = [photo1, photo2, photo3].map((x) => x.src || x), GalleryItem = styled(YStack, {
10
+ zIndex: 1,
11
+ x: 0,
12
+ opacity: 1,
13
+ fullscreen: !0,
10
14
  variants: {
11
- isLeft: { true: { x: -300, opacity: 0 } },
12
- isRight: { true: { x: 300, opacity: 0 } }
15
+ // 1 = right, 0 = nowhere, -1 = left
16
+ going: {
17
+ ":number": (going) => ({
18
+ enterStyle: {
19
+ x: going > 0 ? 1e3 : -1e3,
20
+ opacity: 0
21
+ },
22
+ exitStyle: {
23
+ zIndex: 0,
24
+ x: going < 0 ? 1e3 : -1e3,
25
+ opacity: 0
26
+ }
27
+ })
28
+ }
13
29
  }
14
- });
30
+ }), wrap = (min, max, v) => {
31
+ const rangeSize = max - min;
32
+ return ((v - min) % rangeSize + rangeSize) % rangeSize + min;
33
+ };
15
34
  function AnimationsPresenceDemo() {
16
- const [[page, direction], setPage] = useState([0, 0]), imageIndex = wrap(0, images.length, page), paginate = (newDirection) => {
17
- setPage([page + newDirection, newDirection]);
35
+ const [[page, going], setPage] = useState([0, 0]), imageIndex = wrap(0, images.length, page), paginate = (going2) => {
36
+ setPage([page + going2, going2]);
18
37
  };
19
38
  return /* @__PURE__ */ jsxs(
20
39
  XStack,
@@ -26,7 +45,7 @@ function AnimationsPresenceDemo() {
26
45
  width: "100%",
27
46
  alignItems: "center",
28
47
  children: [
29
- /* @__PURE__ */ jsx(AnimatePresence, { enterVariant: direction === 1 || direction === 0 ? "isRight" : "isLeft", exitVariant: direction === 1 ? "isLeft" : "isRight", children: /* @__PURE__ */ jsx(YStackEnterable, { animation: "bouncy", fullscreen: !0, x: 0, opacity: 1, children: /* @__PURE__ */ jsx(Image, { source: { uri: images[imageIndex], width: 780, height: 300 } }) }, page) }),
48
+ /* @__PURE__ */ jsx(AnimatePresence, { initial: !1, custom: { going }, children: /* @__PURE__ */ jsx(GalleryItem, { animation: "slowest", going, children: /* @__PURE__ */ jsx(Image, { source: { uri: images[imageIndex], width: 780, height: 300 } }) }, page) }),
30
49
  /* @__PURE__ */ jsx(
31
50
  Button,
32
51
  {
@@ -37,7 +56,8 @@ function AnimationsPresenceDemo() {
37
56
  left: "$4",
38
57
  circular: !0,
39
58
  elevate: !0,
40
- onPress: () => paginate(-1)
59
+ onPress: () => paginate(-1),
60
+ zi: 100
41
61
  }
42
62
  ),
43
63
  /* @__PURE__ */ jsx(
@@ -50,17 +70,14 @@ function AnimationsPresenceDemo() {
50
70
  right: "$4",
51
71
  circular: !0,
52
72
  elevate: !0,
53
- onPress: () => paginate(1)
73
+ onPress: () => paginate(1),
74
+ zi: 100
54
75
  }
55
76
  )
56
77
  ]
57
78
  }
58
79
  );
59
80
  }
60
- const wrap = (min, max, v) => {
61
- const rangeSize = max - min;
62
- return ((v - min) % rangeSize + rangeSize) % rangeSize + min;
63
- };
64
81
  export {
65
82
  AnimationsPresenceDemo,
66
83
  images
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/AnimationsPresenceDemo.tsx"],
4
- "mappings": "AAAA,SAAS,uBAAuB;AAChC,SAAS,WAAW,kBAAkB;AACtC,SAAS,gBAAgB;AACzB,SAAS,QAAQ,OAAO,QAAQ,QAAQ,cAAc;AAGtD,OAAO,YAAY;AAEnB,OAAO,YAAY;AAEnB,OAAO,YAAY;AAwBf,SAUM,KAVN;AAtBG,MAAM,SAAS,CAAC,QAAQ,QAAQ,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,GAE9D,kBAAkB,OAAO,QAAQ;AAAA,EACrC,UAAU;AAAA,IACR,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,EAAE,EAAE;AAAA,IACxC,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,SAAS,EAAE,EAAE;AAAA,EAC1C;AACF,CAAC;AAEM,SAAS,yBAAyB;AACvC,QAAM,CAAC,CAAC,MAAM,SAAS,GAAG,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,GAE9C,aAAa,KAAK,GAAG,OAAO,QAAQ,IAAI,GAExC,WAAW,CAAC,iBAAyB;AACzC,YAAQ,CAAC,OAAO,cAAc,YAAY,CAAC;AAAA,EAC7C;AAKA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAS;AAAA,MACT,iBAAgB;AAAA,MAChB,UAAS;AAAA,MACT,QAAQ;AAAA,MACR,OAAM;AAAA,MACN,YAAW;AAAA,MAEX;AAAA,4BAAC,mBAAgB,cAZA,cAAc,KAAK,cAAc,IAAI,YAAY,UAYrB,aAX7B,cAAc,IAAI,WAAW,WAY3C,8BAAC,mBAA2B,WAAU,UAAS,YAAU,IAAC,GAAG,GAAG,SAAS,GACvE,8BAAC,SAAM,QAAQ,EAAE,KAAK,OAAO,UAAU,GAAG,OAAO,KAAK,QAAQ,IAAI,GAAG,KADjD,IAEtB,GACF;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,oBAAmB;AAAA,YACnB,MAAM;AAAA,YACN,MAAK;AAAA,YACL,UAAS;AAAA,YACT,MAAK;AAAA,YACL,UAAQ;AAAA,YACR,SAAO;AAAA,YACP,SAAS,MAAM,SAAS,EAAE;AAAA;AAAA,QAC5B;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,oBAAmB;AAAA,YACnB,MAAM;AAAA,YACN,MAAK;AAAA,YACL,UAAS;AAAA,YACT,OAAM;AAAA,YACN,UAAQ;AAAA,YACR,SAAO;AAAA,YACP,SAAS,MAAM,SAAS,CAAC;AAAA;AAAA,QAC3B;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,OAAO,CAAC,KAAa,KAAa,MAAc;AACpD,QAAM,YAAY,MAAM;AACxB,WAAW,IAAI,OAAO,YAAa,aAAa,YAAa;AAC/D;",
5
- "names": []
4
+ "mappings": "AAAA,SAAS,uBAAuB;AAChC,SAAS,WAAW,kBAAkB;AACtC,SAAS,gBAAgB;AACzB,SAAS,QAAQ,OAAO,QAAQ,QAAQ,cAAc;AAGtD,OAAO,YAAY;AAEnB,OAAO,YAAY;AAEnB,OAAO,YAAY;AA0Cf,SAUM,KAVN;AAxCG,MAAM,SAAS,CAAC,QAAQ,QAAQ,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,GAE9D,cAAc,OAAO,QAAQ;AAAA,EACjC,QAAQ;AAAA,EACR,GAAG;AAAA,EACH,SAAS;AAAA,EACT,YAAY;AAAA,EAEZ,UAAU;AAAA;AAAA,IAER,OAAO;AAAA,MACL,WAAW,CAAC,WAAW;AAAA,QACrB,YAAY;AAAA,UACV,GAAG,QAAQ,IAAI,MAAO;AAAA,UACtB,SAAS;AAAA,QACX;AAAA,QACA,WAAW;AAAA,UACT,QAAQ;AAAA,UACR,GAAG,QAAQ,IAAI,MAAO;AAAA,UACtB,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC,GAEK,OAAO,CAAC,KAAa,KAAa,MAAc;AACpD,QAAM,YAAY,MAAM;AACxB,WAAW,IAAI,OAAO,YAAa,aAAa,YAAa;AAC/D;AAEO,SAAS,yBAAyB;AACvC,QAAM,CAAC,CAAC,MAAM,KAAK,GAAG,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,GAE1C,aAAa,KAAK,GAAG,OAAO,QAAQ,IAAI,GACxC,WAAW,CAACA,WAAkB;AAClC,YAAQ,CAAC,OAAOA,QAAOA,MAAK,CAAC;AAAA,EAC/B;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAS;AAAA,MACT,iBAAgB;AAAA,MAChB,UAAS;AAAA,MACT,QAAQ;AAAA,MACR,OAAM;AAAA,MACN,YAAW;AAAA,MAEX;AAAA,4BAAC,mBAAgB,SAAS,IAAO,QAAQ,EAAE,MAAM,GAC/C,8BAAC,eAAuB,WAAU,WAAU,OAC1C,8BAAC,SAAM,QAAQ,EAAE,KAAK,OAAO,UAAU,GAAG,OAAO,KAAK,QAAQ,IAAI,GAAG,KADrD,IAElB,GACF;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,oBAAmB;AAAA,YACnB,MAAM;AAAA,YACN,MAAK;AAAA,YACL,UAAS;AAAA,YACT,MAAK;AAAA,YACL,UAAQ;AAAA,YACR,SAAO;AAAA,YACP,SAAS,MAAM,SAAS,EAAE;AAAA,YAC1B,IAAI;AAAA;AAAA,QACN;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,oBAAmB;AAAA,YACnB,MAAM;AAAA,YACN,MAAK;AAAA,YACL,UAAS;AAAA,YACT,OAAM;AAAA,YACN,UAAQ;AAAA,YACR,SAAO;AAAA,YACP,SAAS,MAAM,SAAS,CAAC;AAAA,YACzB,IAAI;AAAA;AAAA,QACN;AAAA;AAAA;AAAA,EACF;AAEJ;",
5
+ "names": ["going"]
6
6
  }
@@ -6,15 +6,34 @@ import photo1 from "../../public/photo1.jpg";
6
6
  import photo2 from "../../public/photo2.jpg";
7
7
  import photo3 from "../../public/photo3.jpg";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
- const images = [photo1, photo2, photo3].map((x) => x.src || x), YStackEnterable = styled(YStack, {
9
+ const images = [photo1, photo2, photo3].map((x) => x.src || x), GalleryItem = styled(YStack, {
10
+ zIndex: 1,
11
+ x: 0,
12
+ opacity: 1,
13
+ fullscreen: !0,
10
14
  variants: {
11
- isLeft: { true: { x: -300, opacity: 0 } },
12
- isRight: { true: { x: 300, opacity: 0 } }
15
+ // 1 = right, 0 = nowhere, -1 = left
16
+ going: {
17
+ ":number": (going) => ({
18
+ enterStyle: {
19
+ x: going > 0 ? 1e3 : -1e3,
20
+ opacity: 0
21
+ },
22
+ exitStyle: {
23
+ zIndex: 0,
24
+ x: going < 0 ? 1e3 : -1e3,
25
+ opacity: 0
26
+ }
27
+ })
28
+ }
13
29
  }
14
- });
30
+ }), wrap = (min, max, v) => {
31
+ const rangeSize = max - min;
32
+ return ((v - min) % rangeSize + rangeSize) % rangeSize + min;
33
+ };
15
34
  function AnimationsPresenceDemo() {
16
- const [[page, direction], setPage] = useState([0, 0]), imageIndex = wrap(0, images.length, page), paginate = (newDirection) => {
17
- setPage([page + newDirection, newDirection]);
35
+ const [[page, going], setPage] = useState([0, 0]), imageIndex = wrap(0, images.length, page), paginate = (going2) => {
36
+ setPage([page + going2, going2]);
18
37
  };
19
38
  return /* @__PURE__ */ jsxs(
20
39
  XStack,
@@ -26,7 +45,7 @@ function AnimationsPresenceDemo() {
26
45
  width: "100%",
27
46
  alignItems: "center",
28
47
  children: [
29
- /* @__PURE__ */ jsx(AnimatePresence, { enterVariant: direction === 1 || direction === 0 ? "isRight" : "isLeft", exitVariant: direction === 1 ? "isLeft" : "isRight", children: /* @__PURE__ */ jsx(YStackEnterable, { animation: "bouncy", fullscreen: !0, x: 0, opacity: 1, children: /* @__PURE__ */ jsx(Image, { source: { uri: images[imageIndex], width: 780, height: 300 } }) }, page) }),
48
+ /* @__PURE__ */ jsx(AnimatePresence, { initial: !1, custom: { going }, children: /* @__PURE__ */ jsx(GalleryItem, { animation: "slowest", going, children: /* @__PURE__ */ jsx(Image, { source: { uri: images[imageIndex], width: 780, height: 300 } }) }, page) }),
30
49
  /* @__PURE__ */ jsx(
31
50
  Button,
32
51
  {
@@ -37,7 +56,8 @@ function AnimationsPresenceDemo() {
37
56
  left: "$4",
38
57
  circular: !0,
39
58
  elevate: !0,
40
- onPress: () => paginate(-1)
59
+ onPress: () => paginate(-1),
60
+ zi: 100
41
61
  }
42
62
  ),
43
63
  /* @__PURE__ */ jsx(
@@ -50,17 +70,14 @@ function AnimationsPresenceDemo() {
50
70
  right: "$4",
51
71
  circular: !0,
52
72
  elevate: !0,
53
- onPress: () => paginate(1)
73
+ onPress: () => paginate(1),
74
+ zi: 100
54
75
  }
55
76
  )
56
77
  ]
57
78
  }
58
79
  );
59
80
  }
60
- const wrap = (min, max, v) => {
61
- const rangeSize = max - min;
62
- return ((v - min) % rangeSize + rangeSize) % rangeSize + min;
63
- };
64
81
  export {
65
82
  AnimationsPresenceDemo,
66
83
  images
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/AnimationsPresenceDemo.tsx"],
4
- "mappings": "AAAA,SAAS,uBAAuB;AAChC,SAAS,WAAW,kBAAkB;AACtC,SAAS,gBAAgB;AACzB,SAAS,QAAQ,OAAO,QAAQ,QAAQ,cAAc;AAGtD,OAAO,YAAY;AAEnB,OAAO,YAAY;AAEnB,OAAO,YAAY;AAwBf,SAUM,KAVN;AAtBG,MAAM,SAAS,CAAC,QAAQ,QAAQ,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,GAE9D,kBAAkB,OAAO,QAAQ;AAAA,EACrC,UAAU;AAAA,IACR,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,EAAE,EAAE;AAAA,IACxC,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,SAAS,EAAE,EAAE;AAAA,EAC1C;AACF,CAAC;AAEM,SAAS,yBAAyB;AACvC,QAAM,CAAC,CAAC,MAAM,SAAS,GAAG,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,GAE9C,aAAa,KAAK,GAAG,OAAO,QAAQ,IAAI,GAExC,WAAW,CAAC,iBAAyB;AACzC,YAAQ,CAAC,OAAO,cAAc,YAAY,CAAC;AAAA,EAC7C;AAKA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAS;AAAA,MACT,iBAAgB;AAAA,MAChB,UAAS;AAAA,MACT,QAAQ;AAAA,MACR,OAAM;AAAA,MACN,YAAW;AAAA,MAEX;AAAA,4BAAC,mBAAgB,cAZA,cAAc,KAAK,cAAc,IAAI,YAAY,UAYrB,aAX7B,cAAc,IAAI,WAAW,WAY3C,8BAAC,mBAA2B,WAAU,UAAS,YAAU,IAAC,GAAG,GAAG,SAAS,GACvE,8BAAC,SAAM,QAAQ,EAAE,KAAK,OAAO,UAAU,GAAG,OAAO,KAAK,QAAQ,IAAI,GAAG,KADjD,IAEtB,GACF;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,oBAAmB;AAAA,YACnB,MAAM;AAAA,YACN,MAAK;AAAA,YACL,UAAS;AAAA,YACT,MAAK;AAAA,YACL,UAAQ;AAAA,YACR,SAAO;AAAA,YACP,SAAS,MAAM,SAAS,EAAE;AAAA;AAAA,QAC5B;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,oBAAmB;AAAA,YACnB,MAAM;AAAA,YACN,MAAK;AAAA,YACL,UAAS;AAAA,YACT,OAAM;AAAA,YACN,UAAQ;AAAA,YACR,SAAO;AAAA,YACP,SAAS,MAAM,SAAS,CAAC;AAAA;AAAA,QAC3B;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,OAAO,CAAC,KAAa,KAAa,MAAc;AACpD,QAAM,YAAY,MAAM;AACxB,WAAW,IAAI,OAAO,YAAa,aAAa,YAAa;AAC/D;",
5
- "names": []
4
+ "mappings": "AAAA,SAAS,uBAAuB;AAChC,SAAS,WAAW,kBAAkB;AACtC,SAAS,gBAAgB;AACzB,SAAS,QAAQ,OAAO,QAAQ,QAAQ,cAAc;AAGtD,OAAO,YAAY;AAEnB,OAAO,YAAY;AAEnB,OAAO,YAAY;AA0Cf,SAUM,KAVN;AAxCG,MAAM,SAAS,CAAC,QAAQ,QAAQ,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,GAE9D,cAAc,OAAO,QAAQ;AAAA,EACjC,QAAQ;AAAA,EACR,GAAG;AAAA,EACH,SAAS;AAAA,EACT,YAAY;AAAA,EAEZ,UAAU;AAAA;AAAA,IAER,OAAO;AAAA,MACL,WAAW,CAAC,WAAW;AAAA,QACrB,YAAY;AAAA,UACV,GAAG,QAAQ,IAAI,MAAO;AAAA,UACtB,SAAS;AAAA,QACX;AAAA,QACA,WAAW;AAAA,UACT,QAAQ;AAAA,UACR,GAAG,QAAQ,IAAI,MAAO;AAAA,UACtB,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC,GAEK,OAAO,CAAC,KAAa,KAAa,MAAc;AACpD,QAAM,YAAY,MAAM;AACxB,WAAW,IAAI,OAAO,YAAa,aAAa,YAAa;AAC/D;AAEO,SAAS,yBAAyB;AACvC,QAAM,CAAC,CAAC,MAAM,KAAK,GAAG,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,GAE1C,aAAa,KAAK,GAAG,OAAO,QAAQ,IAAI,GACxC,WAAW,CAACA,WAAkB;AAClC,YAAQ,CAAC,OAAOA,QAAOA,MAAK,CAAC;AAAA,EAC/B;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAS;AAAA,MACT,iBAAgB;AAAA,MAChB,UAAS;AAAA,MACT,QAAQ;AAAA,MACR,OAAM;AAAA,MACN,YAAW;AAAA,MAEX;AAAA,4BAAC,mBAAgB,SAAS,IAAO,QAAQ,EAAE,MAAM,GAC/C,8BAAC,eAAuB,WAAU,WAAU,OAC1C,8BAAC,SAAM,QAAQ,EAAE,KAAK,OAAO,UAAU,GAAG,OAAO,KAAK,QAAQ,IAAI,GAAG,KADrD,IAElB,GACF;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,oBAAmB;AAAA,YACnB,MAAM;AAAA,YACN,MAAK;AAAA,YACL,UAAS;AAAA,YACT,MAAK;AAAA,YACL,UAAQ;AAAA,YACR,SAAO;AAAA,YACP,SAAS,MAAM,SAAS,EAAE;AAAA,YAC1B,IAAI;AAAA;AAAA,QACN;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,oBAAmB;AAAA,YACnB,MAAM;AAAA,YACN,MAAK;AAAA,YACL,UAAS;AAAA,YACT,OAAM;AAAA,YACN,UAAQ;AAAA,YACR,SAAO;AAAA,YACP,SAAS,MAAM,SAAS,CAAC;AAAA,YACzB,IAAI;AAAA;AAAA,QACN;AAAA;AAAA;AAAA,EACF;AAEJ;",
5
+ "names": ["going"]
6
6
  }
@@ -0,0 +1,40 @@
1
+ import {
2
+ useCheckbox
3
+ } from "@tamagui/checkbox-headless";
4
+ import { Check, Minus } from "@tamagui/lucide-icons";
5
+ import { forwardRef, useState } from "react";
6
+ import { Pressable } from "react-native-web";
7
+ import { Label, XStack, YStack } from "tamagui";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ function CheckboxHeadlessDemo() {
10
+ return /* @__PURE__ */ jsx(YStack, { width: 200, alignItems: "center", space: "$3", children: /* @__PURE__ */ jsxs(XStack, { space: "$3", alignItems: "center", children: [
11
+ /* @__PURE__ */ jsx(HeadlessCheckbox, { defaultChecked: "indeterminate", id: "headless" }),
12
+ /* @__PURE__ */ jsx(Label, { htmlFor: "headless", children: "Headless" })
13
+ ] }) });
14
+ }
15
+ const HeadlessCheckbox = forwardRef((props, ref) => {
16
+ const [checked, setChecked] = useState(props.defaultChecked || !1), { checkboxProps, bubbleInput } = useCheckbox(props, [checked, setChecked], ref);
17
+ return /* @__PURE__ */ jsxs(
18
+ Pressable,
19
+ {
20
+ style: {
21
+ width: 20,
22
+ height: 20,
23
+ borderRadius: 4,
24
+ justifyContent: "center",
25
+ alignItems: "center",
26
+ backgroundColor: checked === !0 ? "lightblue" : "silver"
27
+ },
28
+ ...checkboxProps,
29
+ children: [
30
+ checked === "indeterminate" && /* @__PURE__ */ jsx(Minus, { width: 18, height: 18 }),
31
+ checked === !0 && /* @__PURE__ */ jsx(Check, { width: 18, height: 18 }),
32
+ bubbleInput
33
+ ]
34
+ }
35
+ );
36
+ });
37
+ export {
38
+ CheckboxHeadlessDemo
39
+ };
40
+ //# sourceMappingURL=CheckboxHeadlessDemo.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/CheckboxHeadlessDemo.tsx"],
4
+ "mappings": "AAAA;AAAA,EAEE;AAAA,OACK;AACP,SAAS,OAAO,aAAa;AAC7B,SAAS,YAAY,gBAAgB;AACrC,SAAS,iBAAuB;AAChC,SAAS,OAAO,QAAQ,cAAc;AAKhC,SACE,KADF;AAHC,SAAS,uBAAuB;AACrC,SACE,oBAAC,UAAO,OAAO,KAAK,YAAW,UAAS,OAAM,MAC5C,+BAAC,UAAO,OAAM,MAAK,YAAW,UAC5B;AAAA,wBAAC,oBAAiB,gBAAe,iBAAgB,IAAG,YAAW;AAAA,IAE/D,oBAAC,SAAM,SAAQ,YAAW,sBAAQ;AAAA,KACpC,GACF;AAEJ;AAEA,MAAM,mBAAmB,WAAwC,CAAC,OAAO,QAAQ;AAC/E,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,MAAM,kBAAkB,EAAK,GAC9D,EAAE,eAAe,YAAY,IAAI,YAAY,OAAO,CAAC,SAAS,UAAU,GAAG,GAAG;AAEpF,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,cAAc;AAAA,QACd,gBAAgB;AAAA,QAChB,YAAY;AAAA,QACZ,iBAAiB,YAAY,KAAO,cAAc;AAAA,MACpD;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,oBAAY,mBAAmB,oBAAC,SAAM,OAAO,IAAI,QAAQ,IAAI;AAAA,QAC7D,YAAY,MAAQ,oBAAC,SAAM,OAAO,IAAI,QAAQ,IAAI;AAAA,QAClD;AAAA;AAAA;AAAA,EACH;AAEJ,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,40 @@
1
+ import {
2
+ useCheckbox
3
+ } from "@tamagui/checkbox-headless";
4
+ import { Check, Minus } from "@tamagui/lucide-icons";
5
+ import { forwardRef, useState } from "react";
6
+ import { Pressable } from "react-native";
7
+ import { Label, XStack, YStack } from "tamagui";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ function CheckboxHeadlessDemo() {
10
+ return /* @__PURE__ */ jsx(YStack, { width: 200, alignItems: "center", space: "$3", children: /* @__PURE__ */ jsxs(XStack, { space: "$3", alignItems: "center", children: [
11
+ /* @__PURE__ */ jsx(HeadlessCheckbox, { defaultChecked: "indeterminate", id: "headless" }),
12
+ /* @__PURE__ */ jsx(Label, { htmlFor: "headless", children: "Headless" })
13
+ ] }) });
14
+ }
15
+ const HeadlessCheckbox = forwardRef((props, ref) => {
16
+ const [checked, setChecked] = useState(props.defaultChecked || !1), { checkboxProps, bubbleInput } = useCheckbox(props, [checked, setChecked], ref);
17
+ return /* @__PURE__ */ jsxs(
18
+ Pressable,
19
+ {
20
+ style: {
21
+ width: 20,
22
+ height: 20,
23
+ borderRadius: 4,
24
+ justifyContent: "center",
25
+ alignItems: "center",
26
+ backgroundColor: checked === !0 ? "lightblue" : "silver"
27
+ },
28
+ ...checkboxProps,
29
+ children: [
30
+ checked === "indeterminate" && /* @__PURE__ */ jsx(Minus, { width: 18, height: 18 }),
31
+ checked === !0 && /* @__PURE__ */ jsx(Check, { width: 18, height: 18 }),
32
+ bubbleInput
33
+ ]
34
+ }
35
+ );
36
+ });
37
+ export {
38
+ CheckboxHeadlessDemo
39
+ };
40
+ //# sourceMappingURL=CheckboxHeadlessDemo.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/CheckboxHeadlessDemo.tsx"],
4
+ "mappings": "AAAA;AAAA,EAEE;AAAA,OACK;AACP,SAAS,OAAO,aAAa;AAC7B,SAAS,YAAY,gBAAgB;AACrC,SAAS,iBAAuB;AAChC,SAAS,OAAO,QAAQ,cAAc;AAKhC,SACE,KADF;AAHC,SAAS,uBAAuB;AACrC,SACE,oBAAC,UAAO,OAAO,KAAK,YAAW,UAAS,OAAM,MAC5C,+BAAC,UAAO,OAAM,MAAK,YAAW,UAC5B;AAAA,wBAAC,oBAAiB,gBAAe,iBAAgB,IAAG,YAAW;AAAA,IAE/D,oBAAC,SAAM,SAAQ,YAAW,sBAAQ;AAAA,KACpC,GACF;AAEJ;AAEA,MAAM,mBAAmB,WAAwC,CAAC,OAAO,QAAQ;AAC/E,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,MAAM,kBAAkB,EAAK,GAC9D,EAAE,eAAe,YAAY,IAAI,YAAY,OAAO,CAAC,SAAS,UAAU,GAAG,GAAG;AAEpF,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,cAAc;AAAA,QACd,gBAAgB;AAAA,QAChB,YAAY;AAAA,QACZ,iBAAiB,YAAY,KAAO,cAAc;AAAA,MACpD;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,oBAAY,mBAAmB,oBAAC,SAAM,OAAO,IAAI,QAAQ,IAAI;AAAA,QAC7D,YAAY,MAAQ,oBAAC,SAAM,OAAO,IAAI,QAAQ,IAAI;AAAA,QAClD;AAAA;AAAA;AAAA,EACH;AAEJ,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,40 @@
1
+ import { createCheckbox } from "@tamagui/checkbox";
2
+ import { Stack, styled } from "@tamagui/core";
3
+ import { Check } from "@tamagui/lucide-icons";
4
+ import { Label, XStack, YStack } from "tamagui";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ const Frame = styled(Stack, {
7
+ borderWidth: 1,
8
+ borderColor: "$borderColor",
9
+ borderRadius: 5,
10
+ alignItems: "center",
11
+ justifyContent: "center",
12
+ variants: {
13
+ checked: {
14
+ indeterminate: {},
15
+ true: {
16
+ backgroundColor: "$color5"
17
+ },
18
+ false: {
19
+ backgroundColor: "$color3"
20
+ }
21
+ }
22
+ },
23
+ defaultVariants: {
24
+ checked: !1
25
+ }
26
+ }), Indicator = styled(Stack, {}), Checkbox = createCheckbox({
27
+ Frame,
28
+ Indicator
29
+ });
30
+ function CheckboxUnstyledDemo() {
31
+ return /* @__PURE__ */ jsx(YStack, { width: 200, alignItems: "center", gap: "$3", children: /* @__PURE__ */ jsxs(XStack, { gap: "$3", alignItems: "center", children: [
32
+ /* @__PURE__ */ jsx(Checkbox, { defaultChecked: !0, id: "unstyled", children: /* @__PURE__ */ jsx(Checkbox.Indicator, { children: /* @__PURE__ */ jsx(Check, {}) }) }),
33
+ /* @__PURE__ */ jsx(Label, { htmlFor: "unstyled", children: "Unstyled" })
34
+ ] }) });
35
+ }
36
+ export {
37
+ Checkbox,
38
+ CheckboxUnstyledDemo
39
+ };
40
+ //# sourceMappingURL=CheckboxUnstyledDemo.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/CheckboxUnstyledDemo.tsx"],
4
+ "mappings": "AAAA,SAAgC,sBAAsB;AACtD,SAAS,OAAO,cAAc;AAC9B,SAAS,aAAa;AACtB,SAAS,OAAO,QAAQ,cAAc;AAmChC,SAGM,KAHN;AAjCN,MAAM,QAAQ,OAAO,OAAO;AAAA,EAC1B,aAAa;AAAA,EACb,aAAa;AAAA,EACb,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,UAAU;AAAA,IACR,SAAS;AAAA,MACP,eAAe,CAAC;AAAA,MAChB,MAAM;AAAA,QACJ,iBAAiB;AAAA,MACnB;AAAA,MACA,OAAO;AAAA,QACL,iBAAiB;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GAEK,YAAY,OAAO,OAAO,CAAC,CAAC,GAErB,WAAW,eAAe;AAAA,EACrC;AAAA,EACA;AACF,CAAC;AAEM,SAAS,uBAAuB;AACrC,SACE,oBAAC,UAAO,OAAO,KAAK,YAAW,UAAS,KAAI,MAC1C,+BAAC,UAAO,KAAI,MAAK,YAAW,UAC1B;AAAA,wBAAC,YAAS,gBAAc,IAAC,IAAG,YAC1B,8BAAC,SAAS,WAAT,EACC,8BAAC,SAAM,GACT,GACF;AAAA,IACA,oBAAC,SAAM,SAAQ,YAAW,sBAAQ;AAAA,KACpC,GACF;AAEJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,40 @@
1
+ import { createCheckbox } from "@tamagui/checkbox";
2
+ import { Stack, styled } from "@tamagui/core";
3
+ import { Check } from "@tamagui/lucide-icons";
4
+ import { Label, XStack, YStack } from "tamagui";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ const Frame = styled(Stack, {
7
+ borderWidth: 1,
8
+ borderColor: "$borderColor",
9
+ borderRadius: 5,
10
+ alignItems: "center",
11
+ justifyContent: "center",
12
+ variants: {
13
+ checked: {
14
+ indeterminate: {},
15
+ true: {
16
+ backgroundColor: "$color5"
17
+ },
18
+ false: {
19
+ backgroundColor: "$color3"
20
+ }
21
+ }
22
+ },
23
+ defaultVariants: {
24
+ checked: !1
25
+ }
26
+ }), Indicator = styled(Stack, {}), Checkbox = createCheckbox({
27
+ Frame,
28
+ Indicator
29
+ });
30
+ function CheckboxUnstyledDemo() {
31
+ return /* @__PURE__ */ jsx(YStack, { width: 200, alignItems: "center", gap: "$3", children: /* @__PURE__ */ jsxs(XStack, { gap: "$3", alignItems: "center", children: [
32
+ /* @__PURE__ */ jsx(Checkbox, { defaultChecked: !0, id: "unstyled", children: /* @__PURE__ */ jsx(Checkbox.Indicator, { children: /* @__PURE__ */ jsx(Check, {}) }) }),
33
+ /* @__PURE__ */ jsx(Label, { htmlFor: "unstyled", children: "Unstyled" })
34
+ ] }) });
35
+ }
36
+ export {
37
+ Checkbox,
38
+ CheckboxUnstyledDemo
39
+ };
40
+ //# sourceMappingURL=CheckboxUnstyledDemo.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/CheckboxUnstyledDemo.tsx"],
4
+ "mappings": "AAAA,SAAgC,sBAAsB;AACtD,SAAS,OAAO,cAAc;AAC9B,SAAS,aAAa;AACtB,SAAS,OAAO,QAAQ,cAAc;AAmChC,SAGM,KAHN;AAjCN,MAAM,QAAQ,OAAO,OAAO;AAAA,EAC1B,aAAa;AAAA,EACb,aAAa;AAAA,EACb,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,UAAU;AAAA,IACR,SAAS;AAAA,MACP,eAAe,CAAC;AAAA,MAChB,MAAM;AAAA,QACJ,iBAAiB;AAAA,MACnB;AAAA,MACA,OAAO;AAAA,QACL,iBAAiB;AAAA,MACnB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GAEK,YAAY,OAAO,OAAO,CAAC,CAAC,GAErB,WAAW,eAAe;AAAA,EACrC;AAAA,EACA;AACF,CAAC;AAEM,SAAS,uBAAuB;AACrC,SACE,oBAAC,UAAO,OAAO,KAAK,YAAW,UAAS,KAAI,MAC1C,+BAAC,UAAO,KAAI,MAAK,YAAW,UAC1B;AAAA,wBAAC,YAAS,gBAAc,IAAC,IAAG,YAC1B,8BAAC,SAAS,WAAT,EACC,8BAAC,SAAM,GACT,GACF;AAAA,IACA,oBAAC,SAAM,SAAQ,YAAW,sBAAQ;AAAA,KACpC,GACF;AAEJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,67 @@
1
+ import { useSwitch } from "@tamagui/switch-headless";
2
+ import { forwardRef, useEffect, useRef, useState } from "react";
3
+ import { Animated, Pressable } from "react-native-web";
4
+ import { Label, XStack, YStack } from "tamagui";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ function SwitchHeadlessDemo() {
7
+ return /* @__PURE__ */ jsx(YStack, { width: 200, alignItems: "center", space: "$3", children: /* @__PURE__ */ jsxs(XStack, { space: "$3", alignItems: "center", children: [
8
+ /* @__PURE__ */ jsx(Label, { htmlFor: "headless", children: "Headless" }),
9
+ /* @__PURE__ */ jsx(HeadlessSwitch, { defaultChecked: !0, id: "headless" })
10
+ ] }) });
11
+ }
12
+ const HeadlessSwitch = forwardRef((props, ref) => {
13
+ const [checked, setChecked] = useState(props.defaultChecked || !1), { switchProps, switchRef, bubbleInput } = useSwitch(
14
+ props,
15
+ [checked, setChecked],
16
+ ref
17
+ ), animation = useRef(new Animated.Value(checked ? 1 : 0)).current;
18
+ return useEffect(() => {
19
+ Animated.timing(animation, {
20
+ toValue: checked ? 1 : 0,
21
+ duration: 100,
22
+ useNativeDriver: !0
23
+ }).start();
24
+ }, [checked]), /* @__PURE__ */ jsxs(Fragment, { children: [
25
+ /* @__PURE__ */ jsx(
26
+ Pressable,
27
+ {
28
+ style: {
29
+ width: 40,
30
+ height: 20,
31
+ borderRadius: 100,
32
+ backgroundColor: checked ? "lightblue" : "silver"
33
+ },
34
+ ref: switchRef,
35
+ ...switchProps,
36
+ children: /* @__PURE__ */ jsx(
37
+ Animated.View,
38
+ {
39
+ style: [
40
+ {
41
+ backgroundColor: "black",
42
+ borderRadius: 100,
43
+ width: 20,
44
+ height: 20
45
+ },
46
+ {
47
+ transform: [
48
+ {
49
+ translateX: animation.interpolate({
50
+ inputRange: [0, 1],
51
+ outputRange: [0, 20]
52
+ })
53
+ }
54
+ ]
55
+ }
56
+ ]
57
+ }
58
+ )
59
+ }
60
+ ),
61
+ bubbleInput
62
+ ] });
63
+ });
64
+ export {
65
+ SwitchHeadlessDemo
66
+ };
67
+ //# sourceMappingURL=SwitchHeadlessDemo.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/SwitchHeadlessDemo.tsx"],
4
+ "mappings": "AAAA,SAA6C,iBAAiB;AAC9D,SAAS,YAAY,WAAW,QAAQ,gBAAgB;AACxD,SAAS,UAAU,iBAAuB;AAC1C,SAAS,OAAO,QAAQ,cAAc;AAKhC,SA2BF,UA1BI,KADF;AAHC,SAAS,qBAAqB;AACnC,SACE,oBAAC,UAAO,OAAO,KAAK,YAAW,UAAS,OAAM,MAC5C,+BAAC,UAAO,OAAM,MAAK,YAAW,UAC5B;AAAA,wBAAC,SAAM,SAAQ,YAAW,sBAAQ;AAAA,IAClC,oBAAC,kBAAe,gBAAc,IAAC,IAAG,YAAW;AAAA,KAC/C,GACF;AAEJ;AAEA,MAAM,iBAAiB,WAAsC,CAAC,OAAO,QAAQ;AAC3E,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,MAAM,kBAAkB,EAAK,GAC9D,EAAE,aAAa,WAAW,YAAY,IAAI;AAAA,IAC9C;AAAA,IACA,CAAC,SAAS,UAAU;AAAA,IACpB;AAAA,EACF,GAEM,YAAY,OAAO,IAAI,SAAS,MAAM,UAAU,IAAI,CAAC,CAAC,EAAE;AAE9D,mBAAU,MAAM;AACd,aAAS,OAAO,WAAW;AAAA,MACzB,SAAS,UAAU,IAAI;AAAA,MACvB,UAAU;AAAA,MACV,iBAAiB;AAAA,IACnB,CAAC,EAAE,MAAM;AAAA,EACX,GAAG,CAAC,OAAO,CAAC,GAGV,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,iBAAiB,UAAU,cAAc;AAAA,QAC3C;AAAA,QACA,KAAK;AAAA,QACJ,GAAG;AAAA,QAEJ;AAAA,UAAC,SAAS;AAAA,UAAT;AAAA,YACC,OAAO;AAAA,cACL;AAAA,gBACE,iBAAiB;AAAA,gBACjB,cAAc;AAAA,gBACd,OAAO;AAAA,gBACP,QAAQ;AAAA,cACV;AAAA,cACA;AAAA,gBACE,WAAW;AAAA,kBACT;AAAA,oBACE,YAAY,UAAU,YAAY;AAAA,sBAChC,YAAY,CAAC,GAAG,CAAC;AAAA,sBACjB,aAAa,CAAC,GAAG,EAAE;AAAA,oBACrB,CAAC;AAAA,kBACH;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IACC;AAAA,KACH;AAEJ,CAAC;",
5
+ "names": []
6
+ }