@tamagui/demos 1.89.0-1706360676826 → 1.89.0-1706483140977
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.
- package/dist/cjs/CheckboxHeadlessDemo.js +49 -0
- package/dist/cjs/CheckboxHeadlessDemo.js.map +6 -0
- package/dist/cjs/CheckboxHeadlessDemo.native.js +54 -0
- package/dist/cjs/CheckboxHeadlessDemo.native.js.map +6 -0
- package/dist/cjs/CheckboxUnstyledDemo.js +52 -0
- package/dist/cjs/CheckboxUnstyledDemo.js.map +6 -0
- package/dist/cjs/CheckboxUnstyledDemo.native.js +58 -0
- package/dist/cjs/CheckboxUnstyledDemo.native.js.map +6 -0
- package/dist/cjs/SwitchHeadlessDemo.js +79 -0
- package/dist/cjs/SwitchHeadlessDemo.js.map +6 -0
- package/dist/cjs/SwitchHeadlessDemo.native.js +84 -0
- package/dist/cjs/SwitchHeadlessDemo.native.js.map +6 -0
- package/dist/cjs/SwitchUnstyledDemo.js +68 -0
- package/dist/cjs/SwitchUnstyledDemo.js.map +6 -0
- package/dist/cjs/SwitchUnstyledDemo.native.js +74 -0
- package/dist/cjs/SwitchUnstyledDemo.native.js.map +6 -0
- package/dist/esm/CheckboxHeadlessDemo.js +40 -0
- package/dist/esm/CheckboxHeadlessDemo.js.map +6 -0
- package/dist/esm/CheckboxHeadlessDemo.mjs +50 -0
- package/dist/esm/CheckboxHeadlessDemo.native.js +54 -0
- package/dist/esm/CheckboxHeadlessDemo.native.js.map +6 -0
- package/dist/esm/CheckboxUnstyledDemo.js +40 -0
- package/dist/esm/CheckboxUnstyledDemo.js.map +6 -0
- package/dist/esm/CheckboxUnstyledDemo.mjs +53 -0
- package/dist/esm/CheckboxUnstyledDemo.native.js +58 -0
- package/dist/esm/CheckboxUnstyledDemo.native.js.map +6 -0
- package/dist/esm/SwitchHeadlessDemo.js +67 -0
- package/dist/esm/SwitchHeadlessDemo.js.map +6 -0
- package/dist/esm/SwitchHeadlessDemo.mjs +66 -0
- package/dist/esm/SwitchHeadlessDemo.native.js +84 -0
- package/dist/esm/SwitchHeadlessDemo.native.js.map +6 -0
- package/dist/esm/SwitchUnstyledDemo.js +55 -0
- package/dist/esm/SwitchUnstyledDemo.js.map +6 -0
- package/dist/esm/SwitchUnstyledDemo.mjs +68 -0
- package/dist/esm/SwitchUnstyledDemo.native.js +74 -0
- package/dist/esm/SwitchUnstyledDemo.native.js.map +6 -0
- package/dist/jsx/CheckboxHeadlessDemo.js +40 -0
- package/dist/jsx/CheckboxHeadlessDemo.js.map +6 -0
- package/dist/jsx/CheckboxHeadlessDemo.mjs +50 -0
- package/dist/jsx/CheckboxHeadlessDemo.native.js +54 -0
- package/dist/jsx/CheckboxHeadlessDemo.native.js.map +6 -0
- package/dist/jsx/CheckboxUnstyledDemo.js +40 -0
- package/dist/jsx/CheckboxUnstyledDemo.js.map +6 -0
- package/dist/jsx/CheckboxUnstyledDemo.mjs +53 -0
- package/dist/jsx/CheckboxUnstyledDemo.native.js +58 -0
- package/dist/jsx/CheckboxUnstyledDemo.native.js.map +6 -0
- package/dist/jsx/SwitchHeadlessDemo.js +67 -0
- package/dist/jsx/SwitchHeadlessDemo.js.map +6 -0
- package/dist/jsx/SwitchHeadlessDemo.mjs +66 -0
- package/dist/jsx/SwitchHeadlessDemo.native.js +84 -0
- package/dist/jsx/SwitchHeadlessDemo.native.js.map +6 -0
- package/dist/jsx/SwitchUnstyledDemo.js +55 -0
- package/dist/jsx/SwitchUnstyledDemo.js.map +6 -0
- package/dist/jsx/SwitchUnstyledDemo.mjs +68 -0
- package/dist/jsx/SwitchUnstyledDemo.native.js +74 -0
- package/dist/jsx/SwitchUnstyledDemo.native.js.map +6 -0
- package/package.json +18 -18
|
@@ -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
|
+
}
|
|
@@ -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,50 @@
|
|
|
1
|
+
import { useCheckbox } from "@tamagui/checkbox-headless";
|
|
2
|
+
import { Check, Minus } from "@tamagui/lucide-icons";
|
|
3
|
+
import { forwardRef, useState } from "react";
|
|
4
|
+
import { Pressable } from "react-native-web";
|
|
5
|
+
import { Label, XStack, YStack } from "tamagui";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
function CheckboxHeadlessDemo() {
|
|
8
|
+
return /* @__PURE__ */jsx(YStack, {
|
|
9
|
+
width: 200,
|
|
10
|
+
alignItems: "center",
|
|
11
|
+
space: "$3",
|
|
12
|
+
children: /* @__PURE__ */jsxs(XStack, {
|
|
13
|
+
space: "$3",
|
|
14
|
+
alignItems: "center",
|
|
15
|
+
children: [/* @__PURE__ */jsx(HeadlessCheckbox, {
|
|
16
|
+
defaultChecked: "indeterminate",
|
|
17
|
+
id: "headless"
|
|
18
|
+
}), /* @__PURE__ */jsx(Label, {
|
|
19
|
+
htmlFor: "headless",
|
|
20
|
+
children: "Headless"
|
|
21
|
+
})]
|
|
22
|
+
})
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
const HeadlessCheckbox = forwardRef((props, ref) => {
|
|
26
|
+
const [checked, setChecked] = useState(props.defaultChecked || !1),
|
|
27
|
+
{
|
|
28
|
+
checkboxProps,
|
|
29
|
+
bubbleInput
|
|
30
|
+
} = useCheckbox(props, [checked, setChecked], ref);
|
|
31
|
+
return /* @__PURE__ */jsxs(Pressable, {
|
|
32
|
+
style: {
|
|
33
|
+
width: 20,
|
|
34
|
+
height: 20,
|
|
35
|
+
borderRadius: 4,
|
|
36
|
+
justifyContent: "center",
|
|
37
|
+
alignItems: "center",
|
|
38
|
+
backgroundColor: checked === !0 ? "lightblue" : "silver"
|
|
39
|
+
},
|
|
40
|
+
...checkboxProps,
|
|
41
|
+
children: [checked === "indeterminate" && /* @__PURE__ */jsx(Minus, {
|
|
42
|
+
width: 18,
|
|
43
|
+
height: 18
|
|
44
|
+
}), checked === !0 && /* @__PURE__ */jsx(Check, {
|
|
45
|
+
width: 18,
|
|
46
|
+
height: 18
|
|
47
|
+
}), bubbleInput]
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
export { CheckboxHeadlessDemo };
|
|
@@ -0,0 +1,54 @@
|
|
|
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 CheckboxHeadlessDemo_exports = {};
|
|
17
|
+
__export(CheckboxHeadlessDemo_exports, {
|
|
18
|
+
CheckboxHeadlessDemo: () => CheckboxHeadlessDemo
|
|
19
|
+
});
|
|
20
|
+
module.exports = __toCommonJS(CheckboxHeadlessDemo_exports);
|
|
21
|
+
var import_checkbox_headless = require("@tamagui/checkbox-headless"), import_lucide_icons = require("@tamagui/lucide-icons"), import_react = require("react"), import_react_native = require("react-native"), import_tamagui = require("tamagui"), import_jsx_runtime = require("react/jsx-runtime");
|
|
22
|
+
function CheckboxHeadlessDemo() {
|
|
23
|
+
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: [
|
|
24
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(HeadlessCheckbox, { defaultChecked: "indeterminate", id: "headless" }),
|
|
25
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Label, { htmlFor: "headless", children: "Headless" })
|
|
26
|
+
] }) });
|
|
27
|
+
}
|
|
28
|
+
const HeadlessCheckbox = (0, import_react.forwardRef)((props, ref) => {
|
|
29
|
+
const [checked, setChecked] = (0, import_react.useState)(props.defaultChecked || !1), { checkboxProps, bubbleInput } = (0, import_checkbox_headless.useCheckbox)(props, [checked, setChecked], ref);
|
|
30
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
31
|
+
import_react_native.Pressable,
|
|
32
|
+
{
|
|
33
|
+
style: {
|
|
34
|
+
width: 20,
|
|
35
|
+
height: 20,
|
|
36
|
+
borderRadius: 4,
|
|
37
|
+
justifyContent: "center",
|
|
38
|
+
alignItems: "center",
|
|
39
|
+
backgroundColor: checked === !0 ? "lightblue" : "silver"
|
|
40
|
+
},
|
|
41
|
+
...checkboxProps,
|
|
42
|
+
children: [
|
|
43
|
+
checked === "indeterminate" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_icons.Minus, { width: 18, height: 18 }),
|
|
44
|
+
checked === !0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_icons.Check, { width: 18, height: 18 }),
|
|
45
|
+
bubbleInput
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
});
|
|
50
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
51
|
+
0 && (module.exports = {
|
|
52
|
+
CheckboxHeadlessDemo
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=CheckboxHeadlessDemo.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/CheckboxHeadlessDemo.tsx"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAGO,uCACP,sBAA6B,kCAC7B,eAAqC,kBACrC,sBAAgC,yBAChC,iBAAsC,oBAKhC;AAHC,SAAS,uBAAuB;AACrC,SACE,4CAAC,yBAAO,OAAO,KAAK,YAAW,UAAS,OAAM,MAC5C,uDAAC,yBAAO,OAAM,MAAK,YAAW,UAC5B;AAAA,gDAAC,oBAAiB,gBAAe,iBAAgB,IAAG,YAAW;AAAA,IAE/D,4CAAC,wBAAM,SAAQ,YAAW,sBAAQ;AAAA,KACpC,GACF;AAEJ;AAEA,MAAM,uBAAmB,yBAAwC,CAAC,OAAO,QAAQ;AAC/E,QAAM,CAAC,SAAS,UAAU,QAAI,uBAAS,MAAM,kBAAkB,EAAK,GAC9D,EAAE,eAAe,YAAY,QAAI,sCAAY,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,4CAAC,6BAAM,OAAO,IAAI,QAAQ,IAAI;AAAA,QAC7D,YAAY,MAAQ,4CAAC,6BAAM,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,53 @@
|
|
|
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
|
+
}),
|
|
27
|
+
Indicator = styled(Stack, {}),
|
|
28
|
+
Checkbox = createCheckbox({
|
|
29
|
+
Frame,
|
|
30
|
+
Indicator
|
|
31
|
+
});
|
|
32
|
+
function CheckboxUnstyledDemo() {
|
|
33
|
+
return /* @__PURE__ */jsx(YStack, {
|
|
34
|
+
width: 200,
|
|
35
|
+
alignItems: "center",
|
|
36
|
+
gap: "$3",
|
|
37
|
+
children: /* @__PURE__ */jsxs(XStack, {
|
|
38
|
+
gap: "$3",
|
|
39
|
+
alignItems: "center",
|
|
40
|
+
children: [/* @__PURE__ */jsx(Checkbox, {
|
|
41
|
+
defaultChecked: !0,
|
|
42
|
+
id: "unstyled",
|
|
43
|
+
children: /* @__PURE__ */jsx(Checkbox.Indicator, {
|
|
44
|
+
children: /* @__PURE__ */jsx(Check, {})
|
|
45
|
+
})
|
|
46
|
+
}), /* @__PURE__ */jsx(Label, {
|
|
47
|
+
htmlFor: "unstyled",
|
|
48
|
+
children: "Unstyled"
|
|
49
|
+
})]
|
|
50
|
+
})
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
export { Checkbox, CheckboxUnstyledDemo };
|
|
@@ -0,0 +1,58 @@
|
|
|
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 CheckboxUnstyledDemo_exports = {};
|
|
17
|
+
__export(CheckboxUnstyledDemo_exports, {
|
|
18
|
+
Checkbox: () => Checkbox,
|
|
19
|
+
CheckboxUnstyledDemo: () => CheckboxUnstyledDemo
|
|
20
|
+
});
|
|
21
|
+
module.exports = __toCommonJS(CheckboxUnstyledDemo_exports);
|
|
22
|
+
var import_checkbox = require("@tamagui/checkbox"), import_core = require("@tamagui/core"), import_lucide_icons = require("@tamagui/lucide-icons"), import_tamagui = require("tamagui"), import_jsx_runtime = require("react/jsx-runtime");
|
|
23
|
+
const Frame = (0, import_core.styled)(import_core.Stack, {
|
|
24
|
+
borderWidth: 1,
|
|
25
|
+
borderColor: "$borderColor",
|
|
26
|
+
borderRadius: 5,
|
|
27
|
+
alignItems: "center",
|
|
28
|
+
justifyContent: "center",
|
|
29
|
+
variants: {
|
|
30
|
+
checked: {
|
|
31
|
+
indeterminate: {},
|
|
32
|
+
true: {
|
|
33
|
+
backgroundColor: "$color5"
|
|
34
|
+
},
|
|
35
|
+
false: {
|
|
36
|
+
backgroundColor: "$color3"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
defaultVariants: {
|
|
41
|
+
checked: !1
|
|
42
|
+
}
|
|
43
|
+
}), Indicator = (0, import_core.styled)(import_core.Stack, {}), Checkbox = (0, import_checkbox.createCheckbox)({
|
|
44
|
+
Frame,
|
|
45
|
+
Indicator
|
|
46
|
+
});
|
|
47
|
+
function CheckboxUnstyledDemo() {
|
|
48
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.YStack, { width: 200, alignItems: "center", gap: "$3", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, { gap: "$3", alignItems: "center", children: [
|
|
49
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Checkbox, { defaultChecked: !0, id: "unstyled", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Checkbox.Indicator, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_icons.Check, {}) }) }),
|
|
50
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Label, { htmlFor: "unstyled", children: "Unstyled" })
|
|
51
|
+
] }) });
|
|
52
|
+
}
|
|
53
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
54
|
+
0 && (module.exports = {
|
|
55
|
+
Checkbox,
|
|
56
|
+
CheckboxUnstyledDemo
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=CheckboxUnstyledDemo.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/CheckboxUnstyledDemo.tsx"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAsD,8BACtD,cAA8B,0BAC9B,sBAAsB,kCACtB,iBAAsC,oBAmChC;AAjCN,MAAM,YAAQ,oBAAO,mBAAO;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,gBAAY,oBAAO,mBAAO,CAAC,CAAC,GAErB,eAAW,gCAAe;AAAA,EACrC;AAAA,EACA;AACF,CAAC;AAEM,SAAS,uBAAuB;AACrC,SACE,4CAAC,yBAAO,OAAO,KAAK,YAAW,UAAS,KAAI,MAC1C,uDAAC,yBAAO,KAAI,MAAK,YAAW,UAC1B;AAAA,gDAAC,YAAS,gBAAc,IAAC,IAAG,YAC1B,sDAAC,SAAS,WAAT,EACC,sDAAC,6BAAM,GACT,GACF;AAAA,IACA,4CAAC,wBAAM,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
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
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, {
|
|
8
|
+
width: 200,
|
|
9
|
+
alignItems: "center",
|
|
10
|
+
space: "$3",
|
|
11
|
+
children: /* @__PURE__ */jsxs(XStack, {
|
|
12
|
+
space: "$3",
|
|
13
|
+
alignItems: "center",
|
|
14
|
+
children: [/* @__PURE__ */jsx(Label, {
|
|
15
|
+
htmlFor: "headless",
|
|
16
|
+
children: "Headless"
|
|
17
|
+
}), /* @__PURE__ */jsx(HeadlessSwitch, {
|
|
18
|
+
defaultChecked: !0,
|
|
19
|
+
id: "headless"
|
|
20
|
+
})]
|
|
21
|
+
})
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
const HeadlessSwitch = forwardRef((props, ref) => {
|
|
25
|
+
const [checked, setChecked] = useState(props.defaultChecked || !1),
|
|
26
|
+
{
|
|
27
|
+
switchProps,
|
|
28
|
+
switchRef,
|
|
29
|
+
bubbleInput
|
|
30
|
+
} = useSwitch(props, [checked, setChecked], ref),
|
|
31
|
+
animation = useRef(new Animated.Value(checked ? 1 : 0)).current;
|
|
32
|
+
return useEffect(() => {
|
|
33
|
+
Animated.timing(animation, {
|
|
34
|
+
toValue: checked ? 1 : 0,
|
|
35
|
+
duration: 100,
|
|
36
|
+
useNativeDriver: !0
|
|
37
|
+
}).start();
|
|
38
|
+
}, [checked]), /* @__PURE__ */jsxs(Fragment, {
|
|
39
|
+
children: [/* @__PURE__ */jsx(Pressable, {
|
|
40
|
+
style: {
|
|
41
|
+
width: 40,
|
|
42
|
+
height: 20,
|
|
43
|
+
borderRadius: 100,
|
|
44
|
+
backgroundColor: checked ? "lightblue" : "silver"
|
|
45
|
+
},
|
|
46
|
+
ref: switchRef,
|
|
47
|
+
...switchProps,
|
|
48
|
+
children: /* @__PURE__ */jsx(Animated.View, {
|
|
49
|
+
style: [{
|
|
50
|
+
backgroundColor: "black",
|
|
51
|
+
borderRadius: 100,
|
|
52
|
+
width: 20,
|
|
53
|
+
height: 20
|
|
54
|
+
}, {
|
|
55
|
+
transform: [{
|
|
56
|
+
translateX: animation.interpolate({
|
|
57
|
+
inputRange: [0, 1],
|
|
58
|
+
outputRange: [0, 20]
|
|
59
|
+
})
|
|
60
|
+
}]
|
|
61
|
+
}]
|
|
62
|
+
})
|
|
63
|
+
}), bubbleInput]
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
export { SwitchHeadlessDemo };
|
|
@@ -0,0 +1,84 @@
|
|
|
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 SwitchHeadlessDemo_exports = {};
|
|
17
|
+
__export(SwitchHeadlessDemo_exports, {
|
|
18
|
+
SwitchHeadlessDemo: () => SwitchHeadlessDemo
|
|
19
|
+
});
|
|
20
|
+
module.exports = __toCommonJS(SwitchHeadlessDemo_exports);
|
|
21
|
+
var import_switch_headless = require("@tamagui/switch-headless"), import_react = require("react"), import_react_native = require("react-native"), import_tamagui = require("tamagui"), import_jsx_runtime = require("react/jsx-runtime");
|
|
22
|
+
function SwitchHeadlessDemo() {
|
|
23
|
+
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: [
|
|
24
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Label, { htmlFor: "headless", children: "Headless" }),
|
|
25
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(HeadlessSwitch, { defaultChecked: !0, id: "headless" })
|
|
26
|
+
] }) });
|
|
27
|
+
}
|
|
28
|
+
const HeadlessSwitch = (0, import_react.forwardRef)((props, ref) => {
|
|
29
|
+
const [checked, setChecked] = (0, import_react.useState)(props.defaultChecked || !1), { switchProps, switchRef, bubbleInput } = (0, import_switch_headless.useSwitch)(
|
|
30
|
+
props,
|
|
31
|
+
[checked, setChecked],
|
|
32
|
+
ref
|
|
33
|
+
), animation = (0, import_react.useRef)(new import_react_native.Animated.Value(checked ? 1 : 0)).current;
|
|
34
|
+
return (0, import_react.useEffect)(() => {
|
|
35
|
+
import_react_native.Animated.timing(animation, {
|
|
36
|
+
toValue: checked ? 1 : 0,
|
|
37
|
+
duration: 100,
|
|
38
|
+
useNativeDriver: !0
|
|
39
|
+
}).start();
|
|
40
|
+
}, [checked]), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
41
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
42
|
+
import_react_native.Pressable,
|
|
43
|
+
{
|
|
44
|
+
style: {
|
|
45
|
+
width: 40,
|
|
46
|
+
height: 20,
|
|
47
|
+
borderRadius: 100,
|
|
48
|
+
backgroundColor: checked ? "lightblue" : "silver"
|
|
49
|
+
},
|
|
50
|
+
ref: switchRef,
|
|
51
|
+
...switchProps,
|
|
52
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
53
|
+
import_react_native.Animated.View,
|
|
54
|
+
{
|
|
55
|
+
style: [
|
|
56
|
+
{
|
|
57
|
+
backgroundColor: "black",
|
|
58
|
+
borderRadius: 100,
|
|
59
|
+
width: 20,
|
|
60
|
+
height: 20
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
transform: [
|
|
64
|
+
{
|
|
65
|
+
translateX: animation.interpolate({
|
|
66
|
+
inputRange: [0, 1],
|
|
67
|
+
outputRange: [0, 20]
|
|
68
|
+
})
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
}
|
|
74
|
+
)
|
|
75
|
+
}
|
|
76
|
+
),
|
|
77
|
+
bubbleInput
|
|
78
|
+
] });
|
|
79
|
+
});
|
|
80
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
81
|
+
0 && (module.exports = {
|
|
82
|
+
SwitchHeadlessDemo
|
|
83
|
+
});
|
|
84
|
+
//# sourceMappingURL=SwitchHeadlessDemo.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/SwitchHeadlessDemo.tsx"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAA8D,qCAC9D,eAAwD,kBACxD,sBAA0C,yBAC1C,iBAAsC,oBAKhC;AAHC,SAAS,qBAAqB;AACnC,SACE,4CAAC,yBAAO,OAAO,KAAK,YAAW,UAAS,OAAM,MAC5C,uDAAC,yBAAO,OAAM,MAAK,YAAW,UAC5B;AAAA,gDAAC,wBAAM,SAAQ,YAAW,sBAAQ;AAAA,IAClC,4CAAC,kBAAe,gBAAc,IAAC,IAAG,YAAW;AAAA,KAC/C,GACF;AAEJ;AAEA,MAAM,qBAAiB,yBAAsC,CAAC,OAAO,QAAQ;AAC3E,QAAM,CAAC,SAAS,UAAU,QAAI,uBAAS,MAAM,kBAAkB,EAAK,GAC9D,EAAE,aAAa,WAAW,YAAY,QAAI;AAAA,IAC9C;AAAA,IACA,CAAC,SAAS,UAAU;AAAA,IACpB;AAAA,EACF,GAEM,gBAAY,qBAAO,IAAI,6BAAS,MAAM,UAAU,IAAI,CAAC,CAAC,EAAE;AAE9D,qCAAU,MAAM;AACd,iCAAS,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,4EACE;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,6BAAS;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
|
+
}
|