@tamagui/demos 1.26.1 → 1.27.0
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/ButtonHeadlessDemo.js +110 -0
- package/dist/cjs/ButtonHeadlessDemo.js.map +6 -0
- package/dist/cjs/ButtonSimpleDemo.js +49 -0
- package/dist/cjs/ButtonSimpleDemo.js.map +6 -0
- package/dist/esm/ButtonHeadlessDemo.js +93 -0
- package/dist/esm/ButtonHeadlessDemo.js.map +6 -0
- package/dist/esm/ButtonSimpleDemo.js +25 -0
- package/dist/esm/ButtonSimpleDemo.js.map +6 -0
- package/dist/jsx/ButtonHeadlessDemo.js +92 -0
- package/dist/jsx/ButtonHeadlessDemo.js.map +6 -0
- package/dist/jsx/ButtonHeadlessDemo.mjs +92 -0
- package/dist/jsx/ButtonHeadlessDemo.mjs.map +6 -0
- package/dist/jsx/ButtonSimpleDemo.js +24 -0
- package/dist/jsx/ButtonSimpleDemo.js.map +6 -0
- package/dist/jsx/ButtonSimpleDemo.mjs +24 -0
- package/dist/jsx/ButtonSimpleDemo.mjs.map +6 -0
- package/package.json +18 -18
- package/types/ButtonHeadlessDemo.d.ts.map +1 -0
- package/types/ButtonSimpleDemo.d.ts.map +1 -0
|
@@ -0,0 +1,110 @@
|
|
|
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: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var ButtonHeadlessDemo_exports = {};
|
|
20
|
+
__export(ButtonHeadlessDemo_exports, {
|
|
21
|
+
ButtonHeadlessDemo: () => ButtonHeadlessDemo
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(ButtonHeadlessDemo_exports);
|
|
24
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
+
var import_button = require("@tamagui/button");
|
|
26
|
+
var import_get_button_sized = require("@tamagui/get-button-sized");
|
|
27
|
+
var import_lucide_icons = require("@tamagui/lucide-icons");
|
|
28
|
+
var import_tamagui = require("tamagui");
|
|
29
|
+
const ButtonFrame = (0, import_tamagui.styled)(import_button.ButtonBase, {
|
|
30
|
+
tag: "button",
|
|
31
|
+
justifyContent: "center",
|
|
32
|
+
alignItems: "center",
|
|
33
|
+
flexWrap: "nowrap",
|
|
34
|
+
flexDirection: "row",
|
|
35
|
+
cursor: "pointer",
|
|
36
|
+
hoverTheme: true,
|
|
37
|
+
pressTheme: true,
|
|
38
|
+
backgrounded: true,
|
|
39
|
+
borderWidth: 1,
|
|
40
|
+
borderColor: "$borderColor",
|
|
41
|
+
pressStyle: {
|
|
42
|
+
borderColor: "$borderColorPress"
|
|
43
|
+
},
|
|
44
|
+
focusStyle: {
|
|
45
|
+
outlineColor: "$borderColorFocus",
|
|
46
|
+
outlineStyle: "solid",
|
|
47
|
+
outlineWidth: 2
|
|
48
|
+
},
|
|
49
|
+
variants: {
|
|
50
|
+
size: {
|
|
51
|
+
"...size": import_get_button_sized.getButtonSized
|
|
52
|
+
},
|
|
53
|
+
active: {
|
|
54
|
+
true: {
|
|
55
|
+
hoverStyle: {
|
|
56
|
+
backgroundColor: "$background"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
disabled: {
|
|
61
|
+
true: {
|
|
62
|
+
pointerEvents: "none",
|
|
63
|
+
opacity: 0.5
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
defaultVariants: {
|
|
68
|
+
size: "$true"
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
const TextFrame = (0, import_tamagui.styled)(import_button.ButtonBase.Text, {
|
|
72
|
+
// ... your styles
|
|
73
|
+
});
|
|
74
|
+
const Button = (0, import_tamagui.withStaticProperties)(ButtonFrame, {
|
|
75
|
+
Text: TextFrame,
|
|
76
|
+
Icon: import_button.ButtonBase.Icon
|
|
77
|
+
});
|
|
78
|
+
const SimpleButton = ButtonFrame.styleable((props, ref) => {
|
|
79
|
+
const { color, icon: Icon, iconAfter: IconAfter, size = "$3", ...buttonProps } = props;
|
|
80
|
+
const fontSize = (0, import_tamagui.getFontSize)(size);
|
|
81
|
+
const iconSize = fontSize * 2;
|
|
82
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Button, { ref, size, ...buttonProps, children: [
|
|
83
|
+
Icon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button.Icon, { size: iconSize, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, {}) }),
|
|
84
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button.Text, { color, size: props.size, children: props.children }),
|
|
85
|
+
IconAfter && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button.Icon, { size: iconSize, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconAfter, {}) })
|
|
86
|
+
] });
|
|
87
|
+
});
|
|
88
|
+
function ButtonHeadlessDemo(props) {
|
|
89
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, { padding: "$3", space: "$3", ...props, children: [
|
|
90
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SimpleButton, { children: "Plain" }),
|
|
91
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SimpleButton, { alignSelf: "center", size: "$6", space: "$3", icon: import_lucide_icons.Airplay, children: "Large" }),
|
|
92
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, { space: "$2", justifyContent: "center", children: [
|
|
93
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SimpleButton, { size: "$3", theme: "alt2", children: "Alt2" }),
|
|
94
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SimpleButton, { size: "$3", theme: "yellow", children: "Yellow" })
|
|
95
|
+
] }),
|
|
96
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, { space: "$2", children: [
|
|
97
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SimpleButton, { themeInverse: true, size: "$3", children: "Small Inverse" }),
|
|
98
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SimpleButton, { size: "$3", space: "$1.5", iconAfter: import_lucide_icons.Activity, children: "After" })
|
|
99
|
+
] }),
|
|
100
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XGroup, { children: [
|
|
101
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.XGroup.Item, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SimpleButton, { width: "50%", size: "$2", disabled: true, children: "disabled" }) }),
|
|
102
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.XGroup.Item, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SimpleButton, { width: "50%", size: "$2", chromeless: true, children: "chromeless" }) })
|
|
103
|
+
] })
|
|
104
|
+
] });
|
|
105
|
+
}
|
|
106
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
107
|
+
0 && (module.exports = {
|
|
108
|
+
ButtonHeadlessDemo
|
|
109
|
+
});
|
|
110
|
+
//# sourceMappingURL=ButtonHeadlessDemo.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/ButtonHeadlessDemo.tsx"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA8FI;AA9FJ,oBAA2B;AAE3B,8BAA+B;AAC/B,0BAAkC;AAElC,qBAUO;AAEP,MAAM,kBAAc,uBAAO,0BAAY;AAAA,EACrC,KAAK;AAAA,EACL,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,eAAe;AAAA,EACf,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,aAAa;AAAA,EACb,aAAa;AAAA,EAEb,YAAY;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EAEA,YAAY;AAAA,IACV,cAAc;AAAA,IACd,cAAc;AAAA,IACd,cAAc;AAAA,EAChB;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM;AAAA,QACJ,YAAY;AAAA,UACV,iBAAiB;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,eAAe;AAAA,QACf,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;AAED,MAAM,gBAAY,uBAAO,yBAAW,MAAM;AAAA;AAE1C,CAAC;AAKD,MAAM,aAAS,qCAAqB,aAAa;AAAA,EAC/C,MAAM;AAAA,EACN,MAAM,yBAAW;AACnB,CAAC;AAYD,MAAM,eAAe,YAAY,UAA6B,CAAC,OAAO,QAAQ;AAC5E,QAAM,EAAE,OAAO,MAAM,MAAM,WAAW,WAAW,OAAO,MAAM,GAAG,YAAY,IAAI;AACjF,QAAM,eAAW,4BAAY,IAAsB;AACnD,QAAM,WAAW,WAAW;AAE5B,SACE,6CAAC,UAAO,KAAU,MAAa,GAAG,aAC/B;AAAA,YACC,4CAAC,OAAO,MAAP,EAAY,MAAM,UACjB,sDAAC,QAAK,GACR;AAAA,IAEF,4CAAC,OAAO,MAAP,EAAY,OAAc,MAAM,MAAM,MACpC,gBAAM,UACT;AAAA,IACC,aACC,4CAAC,OAAO,MAAP,EAAY,MAAM,UACjB,sDAAC,aAAU,GACb;AAAA,KAEJ;AAEJ,CAAC;AAEM,SAAS,mBAAmB,OAAO;AACxC,SACE,6CAAC,yBAAO,SAAQ,MAAK,OAAM,MAAM,GAAG,OAClC;AAAA,gDAAC,gBAAa,mBAAK;AAAA,IACnB,4CAAC,gBAAa,WAAU,UAAS,MAAK,MAAK,OAAM,MAAK,MAAM,6BAAS,mBAErE;AAAA,IACA,6CAAC,yBAAO,OAAM,MAAK,gBAAe,UAChC;AAAA,kDAAC,gBAAa,MAAK,MAAK,OAAM,QAAO,kBAErC;AAAA,MACA,4CAAC,gBAAa,MAAK,MAAK,OAAM,UAAS,oBAEvC;AAAA,OACF;AAAA,IACA,6CAAC,yBAAO,OAAM,MACZ;AAAA,kDAAC,gBAAa,cAAY,MAAC,MAAK,MAAK,2BAErC;AAAA,MACA,4CAAC,gBAAa,MAAK,MAAK,OAAM,QAAO,WAAW,8BAAU,mBAE1D;AAAA,OACF;AAAA,IACA,6CAAC,yBACC;AAAA,kDAAC,sBAAO,MAAP,EACC,sDAAC,gBAAa,OAAM,OAAM,MAAK,MAAK,UAAQ,MAAC,sBAE7C,GACF;AAAA,MAEA,4CAAC,sBAAO,MAAP,EACC,sDAAC,gBAAa,OAAM,OAAM,MAAK,MAAK,YAAU,MAAC,wBAE/C,GACF;AAAA,OACF;AAAA,KACF;AAEJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
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: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var ButtonSimpleDemo_exports = {};
|
|
20
|
+
__export(ButtonSimpleDemo_exports, {
|
|
21
|
+
ButtonSimpleDemo: () => ButtonSimpleDemo
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(ButtonSimpleDemo_exports);
|
|
24
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
+
var import_lucide_icons = require("@tamagui/lucide-icons");
|
|
26
|
+
var import_tamagui = require("tamagui");
|
|
27
|
+
function ButtonSimpleDemo(props) {
|
|
28
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.YStack, { padding: "$3", space: "$3", ...props, children: [
|
|
29
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Button, { children: "Plain" }),
|
|
30
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Button, { alignSelf: "center", icon: import_lucide_icons.Airplay, size: "$6", children: "Large" }),
|
|
31
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, { space: "$2", justifyContent: "center", children: [
|
|
32
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Button, { size: "$3", theme: "alt2", children: "Alt2" }),
|
|
33
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Button, { size: "$3", theme: "yellow", children: "Yellow" })
|
|
34
|
+
] }),
|
|
35
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, { space: "$2", children: [
|
|
36
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Button, { themeInverse: true, size: "$3", children: "Small Inverse" }),
|
|
37
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Button, { iconAfter: import_lucide_icons.Activity, size: "$3", children: "After" })
|
|
38
|
+
] }),
|
|
39
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XGroup, { children: [
|
|
40
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.XGroup.Item, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Button, { width: "50%", size: "$2", disabled: true, opacity: 0.5, children: "disabled" }) }),
|
|
41
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.XGroup.Item, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Button, { width: "50%", size: "$2", chromeless: true, children: "chromeless" }) })
|
|
42
|
+
] })
|
|
43
|
+
] });
|
|
44
|
+
}
|
|
45
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
46
|
+
0 && (module.exports = {
|
|
47
|
+
ButtonSimpleDemo
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=ButtonSimpleDemo.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/ButtonSimpleDemo.tsx"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMM;AANN,0BAAkC;AAClC,qBAA+C;AAExC,SAAS,iBAAiB,OAAO;AACtC,SACE,6CAAC,yBAAO,SAAQ,MAAK,OAAM,MAAM,GAAG,OAClC;AAAA,gDAAC,yBAAO,mBAAK;AAAA,IACb,4CAAC,yBAAQ,WAAU,UAAU,MAAM,6BAAS,MAAK,MAAM,mBAEvD;AAAA,IACA,6CAAC,yBAAO,OAAM,MAAK,gBAAe,UAChC;AAAA,kDAAC,yBAAO,MAAK,MAAK,OAAM,QAAO,kBAE/B;AAAA,MACA,4CAAC,yBAAO,MAAK,MAAK,OAAM,UAAS,oBAEjC;AAAA,OACF;AAAA,IACA,6CAAC,yBAAO,OAAM,MACZ;AAAA,kDAAC,yBAAO,cAAY,MAAC,MAAK,MAAK,2BAE/B;AAAA,MACA,4CAAC,yBAAO,WAAW,8BAAU,MAAK,MAAK,mBAEvC;AAAA,OACF;AAAA,IACA,6CAAC,yBACC;AAAA,kDAAC,sBAAO,MAAP,EACC,sDAAC,yBAAO,OAAM,OAAM,MAAK,MAAK,UAAQ,MAAC,SAAS,KAAK,sBAErD,GACF;AAAA,MAEA,4CAAC,sBAAO,MAAP,EACC,sDAAC,yBAAO,OAAM,OAAM,MAAK,MAAK,YAAU,MAAC,wBAEzC,GACF;AAAA,OACF;AAAA,KACF;AAEJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ButtonBase } from "@tamagui/button";
|
|
3
|
+
import { getButtonSized } from "@tamagui/get-button-sized";
|
|
4
|
+
import { Activity, Airplay } from "@tamagui/lucide-icons";
|
|
5
|
+
import {
|
|
6
|
+
XGroup,
|
|
7
|
+
XStack,
|
|
8
|
+
YStack,
|
|
9
|
+
getFontSize,
|
|
10
|
+
styled,
|
|
11
|
+
withStaticProperties
|
|
12
|
+
} from "tamagui";
|
|
13
|
+
const ButtonFrame = styled(ButtonBase, {
|
|
14
|
+
tag: "button",
|
|
15
|
+
justifyContent: "center",
|
|
16
|
+
alignItems: "center",
|
|
17
|
+
flexWrap: "nowrap",
|
|
18
|
+
flexDirection: "row",
|
|
19
|
+
cursor: "pointer",
|
|
20
|
+
hoverTheme: true,
|
|
21
|
+
pressTheme: true,
|
|
22
|
+
backgrounded: true,
|
|
23
|
+
borderWidth: 1,
|
|
24
|
+
borderColor: "$borderColor",
|
|
25
|
+
pressStyle: {
|
|
26
|
+
borderColor: "$borderColorPress"
|
|
27
|
+
},
|
|
28
|
+
focusStyle: {
|
|
29
|
+
outlineColor: "$borderColorFocus",
|
|
30
|
+
outlineStyle: "solid",
|
|
31
|
+
outlineWidth: 2
|
|
32
|
+
},
|
|
33
|
+
variants: {
|
|
34
|
+
size: {
|
|
35
|
+
"...size": getButtonSized
|
|
36
|
+
},
|
|
37
|
+
active: {
|
|
38
|
+
true: {
|
|
39
|
+
hoverStyle: {
|
|
40
|
+
backgroundColor: "$background"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
disabled: {
|
|
45
|
+
true: {
|
|
46
|
+
pointerEvents: "none",
|
|
47
|
+
opacity: 0.5
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
defaultVariants: {
|
|
52
|
+
size: "$true"
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
const TextFrame = styled(ButtonBase.Text, {
|
|
56
|
+
// ... your styles
|
|
57
|
+
});
|
|
58
|
+
const Button = withStaticProperties(ButtonFrame, {
|
|
59
|
+
Text: TextFrame,
|
|
60
|
+
Icon: ButtonBase.Icon
|
|
61
|
+
});
|
|
62
|
+
const SimpleButton = ButtonFrame.styleable((props, ref) => {
|
|
63
|
+
const { color, icon: Icon, iconAfter: IconAfter, size = "$3", ...buttonProps } = props;
|
|
64
|
+
const fontSize = getFontSize(size);
|
|
65
|
+
const iconSize = fontSize * 2;
|
|
66
|
+
return /* @__PURE__ */ jsxs(Button, { ref, size, ...buttonProps, children: [
|
|
67
|
+
Icon && /* @__PURE__ */ jsx(Button.Icon, { size: iconSize, children: /* @__PURE__ */ jsx(Icon, {}) }),
|
|
68
|
+
/* @__PURE__ */ jsx(Button.Text, { color, size: props.size, children: props.children }),
|
|
69
|
+
IconAfter && /* @__PURE__ */ jsx(Button.Icon, { size: iconSize, children: /* @__PURE__ */ jsx(IconAfter, {}) })
|
|
70
|
+
] });
|
|
71
|
+
});
|
|
72
|
+
function ButtonHeadlessDemo(props) {
|
|
73
|
+
return /* @__PURE__ */ jsxs(YStack, { padding: "$3", space: "$3", ...props, children: [
|
|
74
|
+
/* @__PURE__ */ jsx(SimpleButton, { children: "Plain" }),
|
|
75
|
+
/* @__PURE__ */ jsx(SimpleButton, { alignSelf: "center", size: "$6", space: "$3", icon: Airplay, children: "Large" }),
|
|
76
|
+
/* @__PURE__ */ jsxs(XStack, { space: "$2", justifyContent: "center", children: [
|
|
77
|
+
/* @__PURE__ */ jsx(SimpleButton, { size: "$3", theme: "alt2", children: "Alt2" }),
|
|
78
|
+
/* @__PURE__ */ jsx(SimpleButton, { size: "$3", theme: "yellow", children: "Yellow" })
|
|
79
|
+
] }),
|
|
80
|
+
/* @__PURE__ */ jsxs(XStack, { space: "$2", children: [
|
|
81
|
+
/* @__PURE__ */ jsx(SimpleButton, { themeInverse: true, size: "$3", children: "Small Inverse" }),
|
|
82
|
+
/* @__PURE__ */ jsx(SimpleButton, { size: "$3", space: "$1.5", iconAfter: Activity, children: "After" })
|
|
83
|
+
] }),
|
|
84
|
+
/* @__PURE__ */ jsxs(XGroup, { children: [
|
|
85
|
+
/* @__PURE__ */ jsx(XGroup.Item, { children: /* @__PURE__ */ jsx(SimpleButton, { width: "50%", size: "$2", disabled: true, children: "disabled" }) }),
|
|
86
|
+
/* @__PURE__ */ jsx(XGroup.Item, { children: /* @__PURE__ */ jsx(SimpleButton, { width: "50%", size: "$2", chromeless: true, children: "chromeless" }) })
|
|
87
|
+
] })
|
|
88
|
+
] });
|
|
89
|
+
}
|
|
90
|
+
export {
|
|
91
|
+
ButtonHeadlessDemo
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=ButtonHeadlessDemo.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/ButtonHeadlessDemo.tsx"],
|
|
4
|
+
"mappings": "AA8FI,SAGM,KAHN;AA9FJ,SAAS,kBAAkB;AAE3B,SAAS,sBAAsB;AAC/B,SAAS,UAAU,eAAe;AAElC;AAAA,EAIE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,MAAM,cAAc,OAAO,YAAY;AAAA,EACrC,KAAK;AAAA,EACL,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,eAAe;AAAA,EACf,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,aAAa;AAAA,EACb,aAAa;AAAA,EAEb,YAAY;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EAEA,YAAY;AAAA,IACV,cAAc;AAAA,IACd,cAAc;AAAA,IACd,cAAc;AAAA,EAChB;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM;AAAA,QACJ,YAAY;AAAA,UACV,iBAAiB;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,eAAe;AAAA,QACf,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;AAED,MAAM,YAAY,OAAO,WAAW,MAAM;AAAA;AAE1C,CAAC;AAKD,MAAM,SAAS,qBAAqB,aAAa;AAAA,EAC/C,MAAM;AAAA,EACN,MAAM,WAAW;AACnB,CAAC;AAYD,MAAM,eAAe,YAAY,UAA6B,CAAC,OAAO,QAAQ;AAC5E,QAAM,EAAE,OAAO,MAAM,MAAM,WAAW,WAAW,OAAO,MAAM,GAAG,YAAY,IAAI;AACjF,QAAM,WAAW,YAAY,IAAsB;AACnD,QAAM,WAAW,WAAW;AAE5B,SACE,qBAAC,UAAO,KAAU,MAAa,GAAG,aAC/B;AAAA,YACC,oBAAC,OAAO,MAAP,EAAY,MAAM,UACjB,8BAAC,QAAK,GACR;AAAA,IAEF,oBAAC,OAAO,MAAP,EAAY,OAAc,MAAM,MAAM,MACpC,gBAAM,UACT;AAAA,IACC,aACC,oBAAC,OAAO,MAAP,EAAY,MAAM,UACjB,8BAAC,aAAU,GACb;AAAA,KAEJ;AAEJ,CAAC;AAEM,SAAS,mBAAmB,OAAO;AACxC,SACE,qBAAC,UAAO,SAAQ,MAAK,OAAM,MAAM,GAAG,OAClC;AAAA,wBAAC,gBAAa,mBAAK;AAAA,IACnB,oBAAC,gBAAa,WAAU,UAAS,MAAK,MAAK,OAAM,MAAK,MAAM,SAAS,mBAErE;AAAA,IACA,qBAAC,UAAO,OAAM,MAAK,gBAAe,UAChC;AAAA,0BAAC,gBAAa,MAAK,MAAK,OAAM,QAAO,kBAErC;AAAA,MACA,oBAAC,gBAAa,MAAK,MAAK,OAAM,UAAS,oBAEvC;AAAA,OACF;AAAA,IACA,qBAAC,UAAO,OAAM,MACZ;AAAA,0BAAC,gBAAa,cAAY,MAAC,MAAK,MAAK,2BAErC;AAAA,MACA,oBAAC,gBAAa,MAAK,MAAK,OAAM,QAAO,WAAW,UAAU,mBAE1D;AAAA,OACF;AAAA,IACA,qBAAC,UACC;AAAA,0BAAC,OAAO,MAAP,EACC,8BAAC,gBAAa,OAAM,OAAM,MAAK,MAAK,UAAQ,MAAC,sBAE7C,GACF;AAAA,MAEA,oBAAC,OAAO,MAAP,EACC,8BAAC,gBAAa,OAAM,OAAM,MAAK,MAAK,YAAU,MAAC,wBAE/C,GACF;AAAA,OACF;AAAA,KACF;AAEJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Activity, Airplay } from "@tamagui/lucide-icons";
|
|
3
|
+
import { Button, XGroup, XStack, YStack } from "tamagui";
|
|
4
|
+
function ButtonSimpleDemo(props) {
|
|
5
|
+
return /* @__PURE__ */ jsxs(YStack, { padding: "$3", space: "$3", ...props, children: [
|
|
6
|
+
/* @__PURE__ */ jsx(Button, { children: "Plain" }),
|
|
7
|
+
/* @__PURE__ */ jsx(Button, { alignSelf: "center", icon: Airplay, size: "$6", children: "Large" }),
|
|
8
|
+
/* @__PURE__ */ jsxs(XStack, { space: "$2", justifyContent: "center", children: [
|
|
9
|
+
/* @__PURE__ */ jsx(Button, { size: "$3", theme: "alt2", children: "Alt2" }),
|
|
10
|
+
/* @__PURE__ */ jsx(Button, { size: "$3", theme: "yellow", children: "Yellow" })
|
|
11
|
+
] }),
|
|
12
|
+
/* @__PURE__ */ jsxs(XStack, { space: "$2", children: [
|
|
13
|
+
/* @__PURE__ */ jsx(Button, { themeInverse: true, size: "$3", children: "Small Inverse" }),
|
|
14
|
+
/* @__PURE__ */ jsx(Button, { iconAfter: Activity, size: "$3", children: "After" })
|
|
15
|
+
] }),
|
|
16
|
+
/* @__PURE__ */ jsxs(XGroup, { children: [
|
|
17
|
+
/* @__PURE__ */ jsx(XGroup.Item, { children: /* @__PURE__ */ jsx(Button, { width: "50%", size: "$2", disabled: true, opacity: 0.5, children: "disabled" }) }),
|
|
18
|
+
/* @__PURE__ */ jsx(XGroup.Item, { children: /* @__PURE__ */ jsx(Button, { width: "50%", size: "$2", chromeless: true, children: "chromeless" }) })
|
|
19
|
+
] })
|
|
20
|
+
] });
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
ButtonSimpleDemo
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=ButtonSimpleDemo.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/ButtonSimpleDemo.tsx"],
|
|
4
|
+
"mappings": "AAMM,cAIA,YAJA;AANN,SAAS,UAAU,eAAe;AAClC,SAAS,QAAQ,QAAQ,QAAQ,cAAc;AAExC,SAAS,iBAAiB,OAAO;AACtC,SACE,qBAAC,UAAO,SAAQ,MAAK,OAAM,MAAM,GAAG,OAClC;AAAA,wBAAC,UAAO,mBAAK;AAAA,IACb,oBAAC,UAAQ,WAAU,UAAU,MAAM,SAAS,MAAK,MAAM,mBAEvD;AAAA,IACA,qBAAC,UAAO,OAAM,MAAK,gBAAe,UAChC;AAAA,0BAAC,UAAO,MAAK,MAAK,OAAM,QAAO,kBAE/B;AAAA,MACA,oBAAC,UAAO,MAAK,MAAK,OAAM,UAAS,oBAEjC;AAAA,OACF;AAAA,IACA,qBAAC,UAAO,OAAM,MACZ;AAAA,0BAAC,UAAO,cAAY,MAAC,MAAK,MAAK,2BAE/B;AAAA,MACA,oBAAC,UAAO,WAAW,UAAU,MAAK,MAAK,mBAEvC;AAAA,OACF;AAAA,IACA,qBAAC,UACC;AAAA,0BAAC,OAAO,MAAP,EACC,8BAAC,UAAO,OAAM,OAAM,MAAK,MAAK,UAAQ,MAAC,SAAS,KAAK,sBAErD,GACF;AAAA,MAEA,oBAAC,OAAO,MAAP,EACC,8BAAC,UAAO,OAAM,OAAM,MAAK,MAAK,YAAU,MAAC,wBAEzC,GACF;AAAA,OACF;AAAA,KACF;AAEJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { ButtonBase } from "@tamagui/button";
|
|
2
|
+
import { getButtonSized } from "@tamagui/get-button-sized";
|
|
3
|
+
import { Activity, Airplay } from "@tamagui/lucide-icons";
|
|
4
|
+
import {
|
|
5
|
+
XGroup,
|
|
6
|
+
XStack,
|
|
7
|
+
YStack,
|
|
8
|
+
getFontSize,
|
|
9
|
+
styled,
|
|
10
|
+
withStaticProperties
|
|
11
|
+
} from "tamagui";
|
|
12
|
+
const ButtonFrame = styled(ButtonBase, {
|
|
13
|
+
tag: "button",
|
|
14
|
+
justifyContent: "center",
|
|
15
|
+
alignItems: "center",
|
|
16
|
+
flexWrap: "nowrap",
|
|
17
|
+
flexDirection: "row",
|
|
18
|
+
cursor: "pointer",
|
|
19
|
+
hoverTheme: true,
|
|
20
|
+
pressTheme: true,
|
|
21
|
+
backgrounded: true,
|
|
22
|
+
borderWidth: 1,
|
|
23
|
+
borderColor: "$borderColor",
|
|
24
|
+
pressStyle: {
|
|
25
|
+
borderColor: "$borderColorPress"
|
|
26
|
+
},
|
|
27
|
+
focusStyle: {
|
|
28
|
+
outlineColor: "$borderColorFocus",
|
|
29
|
+
outlineStyle: "solid",
|
|
30
|
+
outlineWidth: 2
|
|
31
|
+
},
|
|
32
|
+
variants: {
|
|
33
|
+
size: {
|
|
34
|
+
"...size": getButtonSized
|
|
35
|
+
},
|
|
36
|
+
active: {
|
|
37
|
+
true: {
|
|
38
|
+
hoverStyle: {
|
|
39
|
+
backgroundColor: "$background"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
disabled: {
|
|
44
|
+
true: {
|
|
45
|
+
pointerEvents: "none",
|
|
46
|
+
opacity: 0.5
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
defaultVariants: {
|
|
51
|
+
size: "$true"
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
const TextFrame = styled(ButtonBase.Text, {
|
|
55
|
+
// ... your styles
|
|
56
|
+
});
|
|
57
|
+
const Button = withStaticProperties(ButtonFrame, {
|
|
58
|
+
Text: TextFrame,
|
|
59
|
+
Icon: ButtonBase.Icon
|
|
60
|
+
});
|
|
61
|
+
const SimpleButton = ButtonFrame.styleable((props, ref) => {
|
|
62
|
+
const { color, icon: Icon, iconAfter: IconAfter, size = "$3", ...buttonProps } = props;
|
|
63
|
+
const fontSize = getFontSize(size);
|
|
64
|
+
const iconSize = fontSize * 2;
|
|
65
|
+
return <Button ref={ref} size={size} {...buttonProps}>
|
|
66
|
+
{Icon && <Button.Icon size={iconSize}><Icon /></Button.Icon>}
|
|
67
|
+
<Button.Text color={color} size={props.size}>{props.children}</Button.Text>
|
|
68
|
+
{IconAfter && <Button.Icon size={iconSize}><IconAfter /></Button.Icon>}
|
|
69
|
+
</Button>;
|
|
70
|
+
});
|
|
71
|
+
function ButtonHeadlessDemo(props) {
|
|
72
|
+
return <YStack padding="$3" space="$3" {...props}>
|
|
73
|
+
<SimpleButton>Plain</SimpleButton>
|
|
74
|
+
<SimpleButton alignSelf="center" size="$6" space="$3" icon={Airplay}>Large</SimpleButton>
|
|
75
|
+
<XStack space="$2" justifyContent="center">
|
|
76
|
+
<SimpleButton size="$3" theme="alt2">Alt2</SimpleButton>
|
|
77
|
+
<SimpleButton size="$3" theme="yellow">Yellow</SimpleButton>
|
|
78
|
+
</XStack>
|
|
79
|
+
<XStack space="$2">
|
|
80
|
+
<SimpleButton themeInverse size="$3">Small Inverse</SimpleButton>
|
|
81
|
+
<SimpleButton size="$3" space="$1.5" iconAfter={Activity}>After</SimpleButton>
|
|
82
|
+
</XStack>
|
|
83
|
+
<XGroup>
|
|
84
|
+
<XGroup.Item><SimpleButton width="50%" size="$2" disabled>disabled</SimpleButton></XGroup.Item>
|
|
85
|
+
<XGroup.Item><SimpleButton width="50%" size="$2" chromeless>chromeless</SimpleButton></XGroup.Item>
|
|
86
|
+
</XGroup>
|
|
87
|
+
</YStack>;
|
|
88
|
+
}
|
|
89
|
+
export {
|
|
90
|
+
ButtonHeadlessDemo
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=ButtonHeadlessDemo.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/ButtonHeadlessDemo.tsx"],
|
|
4
|
+
"mappings": "AAAA,SAAS,kBAAkB;AAE3B,SAAS,sBAAsB;AAC/B,SAAS,UAAU,eAAe;AAElC;AAAA,EAIE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,MAAM,cAAc,OAAO,YAAY;AAAA,EACrC,KAAK;AAAA,EACL,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,eAAe;AAAA,EACf,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,aAAa;AAAA,EACb,aAAa;AAAA,EAEb,YAAY;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EAEA,YAAY;AAAA,IACV,cAAc;AAAA,IACd,cAAc;AAAA,IACd,cAAc;AAAA,EAChB;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM;AAAA,QACJ,YAAY;AAAA,UACV,iBAAiB;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,eAAe;AAAA,QACf,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;AAED,MAAM,YAAY,OAAO,WAAW,MAAM;AAAA;AAE1C,CAAC;AAKD,MAAM,SAAS,qBAAqB,aAAa;AAAA,EAC/C,MAAM;AAAA,EACN,MAAM,WAAW;AACnB,CAAC;AAYD,MAAM,eAAe,YAAY,UAA6B,CAAC,OAAO,QAAQ;AAC5E,QAAM,EAAE,OAAO,MAAM,MAAM,WAAW,WAAW,OAAO,MAAM,GAAG,YAAY,IAAI;AACjF,QAAM,WAAW,YAAY,IAAsB;AACnD,QAAM,WAAW,WAAW;AAE5B,SACE,CAAC,OAAO,KAAK,KAAK,MAAM,UAAU;AAAA,KAC/B,QACC,CAAC,OAAO,KAAK,MAAM,UACjB,CAAC,KAAK,EACR,EAFC,OAAO;AAAA,IAIV,CAAC,OAAO,KAAK,OAAO,OAAO,MAAM,MAAM,OACpC,MAAM,SACT,EAFC,OAAO;AAAA,KAGP,aACC,CAAC,OAAO,KAAK,MAAM,UACjB,CAAC,UAAU,EACb,EAFC,OAAO;AAAA,EAIZ,EAdC;AAgBL,CAAC;AAEM,SAAS,mBAAmB,OAAO;AACxC,SACE,CAAC,OAAO,QAAQ,KAAK,MAAM,SAAS;AAAA,IAClC,CAAC,aAAa,KAAK,EAAlB;AAAA,IACD,CAAC,aAAa,UAAU,SAAS,KAAK,KAAK,MAAM,KAAK,MAAM,SAAS,KAErE,EAFC;AAAA,IAGD,CAAC,OAAO,MAAM,KAAK,eAAe;AAAA,MAChC,CAAC,aAAa,KAAK,KAAK,MAAM,OAAO,IAErC,EAFC;AAAA,MAGD,CAAC,aAAa,KAAK,KAAK,MAAM,SAAS,MAEvC,EAFC;AAAA,IAGH,EAPC;AAAA,IAQD,CAAC,OAAO,MAAM;AAAA,MACZ,CAAC,aAAa,aAAa,KAAK,KAAK,aAErC,EAFC;AAAA,MAGD,CAAC,aAAa,KAAK,KAAK,MAAM,OAAO,WAAW,UAAU,KAE1D,EAFC;AAAA,IAGH,EAPC;AAAA,IAQD,CAAC;AAAA,MACC,CAAC,OAAO,KACN,CAAC,aAAa,MAAM,MAAM,KAAK,KAAK,SAAS,QAE7C,EAFC,aAGH,EAJC,OAAO;AAAA,MAMR,CAAC,OAAO,KACN,CAAC,aAAa,MAAM,MAAM,KAAK,KAAK,WAAW,UAE/C,EAFC,aAGH,EAJC,OAAO;AAAA,IAKV,EAZC;AAAA,EAaH,EAlCC;AAoCL;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { ButtonBase } from "@tamagui/button";
|
|
2
|
+
import { getButtonSized } from "@tamagui/get-button-sized";
|
|
3
|
+
import { Activity, Airplay } from "@tamagui/lucide-icons";
|
|
4
|
+
import {
|
|
5
|
+
XGroup,
|
|
6
|
+
XStack,
|
|
7
|
+
YStack,
|
|
8
|
+
getFontSize,
|
|
9
|
+
styled,
|
|
10
|
+
withStaticProperties
|
|
11
|
+
} from "tamagui";
|
|
12
|
+
const ButtonFrame = styled(ButtonBase, {
|
|
13
|
+
tag: "button",
|
|
14
|
+
justifyContent: "center",
|
|
15
|
+
alignItems: "center",
|
|
16
|
+
flexWrap: "nowrap",
|
|
17
|
+
flexDirection: "row",
|
|
18
|
+
cursor: "pointer",
|
|
19
|
+
hoverTheme: true,
|
|
20
|
+
pressTheme: true,
|
|
21
|
+
backgrounded: true,
|
|
22
|
+
borderWidth: 1,
|
|
23
|
+
borderColor: "$borderColor",
|
|
24
|
+
pressStyle: {
|
|
25
|
+
borderColor: "$borderColorPress"
|
|
26
|
+
},
|
|
27
|
+
focusStyle: {
|
|
28
|
+
outlineColor: "$borderColorFocus",
|
|
29
|
+
outlineStyle: "solid",
|
|
30
|
+
outlineWidth: 2
|
|
31
|
+
},
|
|
32
|
+
variants: {
|
|
33
|
+
size: {
|
|
34
|
+
"...size": getButtonSized
|
|
35
|
+
},
|
|
36
|
+
active: {
|
|
37
|
+
true: {
|
|
38
|
+
hoverStyle: {
|
|
39
|
+
backgroundColor: "$background"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
disabled: {
|
|
44
|
+
true: {
|
|
45
|
+
pointerEvents: "none",
|
|
46
|
+
opacity: 0.5
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
defaultVariants: {
|
|
51
|
+
size: "$true"
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
const TextFrame = styled(ButtonBase.Text, {
|
|
55
|
+
// ... your styles
|
|
56
|
+
});
|
|
57
|
+
const Button = withStaticProperties(ButtonFrame, {
|
|
58
|
+
Text: TextFrame,
|
|
59
|
+
Icon: ButtonBase.Icon
|
|
60
|
+
});
|
|
61
|
+
const SimpleButton = ButtonFrame.styleable((props, ref) => {
|
|
62
|
+
const { color, icon: Icon, iconAfter: IconAfter, size = "$3", ...buttonProps } = props;
|
|
63
|
+
const fontSize = getFontSize(size);
|
|
64
|
+
const iconSize = fontSize * 2;
|
|
65
|
+
return <Button ref={ref} size={size} {...buttonProps}>
|
|
66
|
+
{Icon && <Button.Icon size={iconSize}><Icon /></Button.Icon>}
|
|
67
|
+
<Button.Text color={color} size={props.size}>{props.children}</Button.Text>
|
|
68
|
+
{IconAfter && <Button.Icon size={iconSize}><IconAfter /></Button.Icon>}
|
|
69
|
+
</Button>;
|
|
70
|
+
});
|
|
71
|
+
function ButtonHeadlessDemo(props) {
|
|
72
|
+
return <YStack padding="$3" space="$3" {...props}>
|
|
73
|
+
<SimpleButton>Plain</SimpleButton>
|
|
74
|
+
<SimpleButton alignSelf="center" size="$6" space="$3" icon={Airplay}>Large</SimpleButton>
|
|
75
|
+
<XStack space="$2" justifyContent="center">
|
|
76
|
+
<SimpleButton size="$3" theme="alt2">Alt2</SimpleButton>
|
|
77
|
+
<SimpleButton size="$3" theme="yellow">Yellow</SimpleButton>
|
|
78
|
+
</XStack>
|
|
79
|
+
<XStack space="$2">
|
|
80
|
+
<SimpleButton themeInverse size="$3">Small Inverse</SimpleButton>
|
|
81
|
+
<SimpleButton size="$3" space="$1.5" iconAfter={Activity}>After</SimpleButton>
|
|
82
|
+
</XStack>
|
|
83
|
+
<XGroup>
|
|
84
|
+
<XGroup.Item><SimpleButton width="50%" size="$2" disabled>disabled</SimpleButton></XGroup.Item>
|
|
85
|
+
<XGroup.Item><SimpleButton width="50%" size="$2" chromeless>chromeless</SimpleButton></XGroup.Item>
|
|
86
|
+
</XGroup>
|
|
87
|
+
</YStack>;
|
|
88
|
+
}
|
|
89
|
+
export {
|
|
90
|
+
ButtonHeadlessDemo
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=ButtonHeadlessDemo.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/ButtonHeadlessDemo.tsx"],
|
|
4
|
+
"mappings": "AAAA,SAAS,kBAAkB;AAE3B,SAAS,sBAAsB;AAC/B,SAAS,UAAU,eAAe;AAElC;AAAA,EAIE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,MAAM,cAAc,OAAO,YAAY;AAAA,EACrC,KAAK;AAAA,EACL,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,eAAe;AAAA,EACf,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,aAAa;AAAA,EACb,aAAa;AAAA,EAEb,YAAY;AAAA,IACV,aAAa;AAAA,EACf;AAAA,EAEA,YAAY;AAAA,IACV,cAAc;AAAA,IACd,cAAc;AAAA,IACd,cAAc;AAAA,EAChB;AAAA,EAEA,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,WAAW;AAAA,IACb;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM;AAAA,QACJ,YAAY;AAAA,UACV,iBAAiB;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,eAAe;AAAA,QACf,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;AAED,MAAM,YAAY,OAAO,WAAW,MAAM;AAAA;AAE1C,CAAC;AAKD,MAAM,SAAS,qBAAqB,aAAa;AAAA,EAC/C,MAAM;AAAA,EACN,MAAM,WAAW;AACnB,CAAC;AAYD,MAAM,eAAe,YAAY,UAA6B,CAAC,OAAO,QAAQ;AAC5E,QAAM,EAAE,OAAO,MAAM,MAAM,WAAW,WAAW,OAAO,MAAM,GAAG,YAAY,IAAI;AACjF,QAAM,WAAW,YAAY,IAAsB;AACnD,QAAM,WAAW,WAAW;AAE5B,SACE,CAAC,OAAO,KAAK,KAAK,MAAM,UAAU;AAAA,KAC/B,QACC,CAAC,OAAO,KAAK,MAAM,UACjB,CAAC,KAAK,EACR,EAFC,OAAO;AAAA,IAIV,CAAC,OAAO,KAAK,OAAO,OAAO,MAAM,MAAM,OACpC,MAAM,SACT,EAFC,OAAO;AAAA,KAGP,aACC,CAAC,OAAO,KAAK,MAAM,UACjB,CAAC,UAAU,EACb,EAFC,OAAO;AAAA,EAIZ,EAdC;AAgBL,CAAC;AAEM,SAAS,mBAAmB,OAAO;AACxC,SACE,CAAC,OAAO,QAAQ,KAAK,MAAM,SAAS;AAAA,IAClC,CAAC,aAAa,KAAK,EAAlB;AAAA,IACD,CAAC,aAAa,UAAU,SAAS,KAAK,KAAK,MAAM,KAAK,MAAM,SAAS,KAErE,EAFC;AAAA,IAGD,CAAC,OAAO,MAAM,KAAK,eAAe;AAAA,MAChC,CAAC,aAAa,KAAK,KAAK,MAAM,OAAO,IAErC,EAFC;AAAA,MAGD,CAAC,aAAa,KAAK,KAAK,MAAM,SAAS,MAEvC,EAFC;AAAA,IAGH,EAPC;AAAA,IAQD,CAAC,OAAO,MAAM;AAAA,MACZ,CAAC,aAAa,aAAa,KAAK,KAAK,aAErC,EAFC;AAAA,MAGD,CAAC,aAAa,KAAK,KAAK,MAAM,OAAO,WAAW,UAAU,KAE1D,EAFC;AAAA,IAGH,EAPC;AAAA,IAQD,CAAC;AAAA,MACC,CAAC,OAAO,KACN,CAAC,aAAa,MAAM,MAAM,KAAK,KAAK,SAAS,QAE7C,EAFC,aAGH,EAJC,OAAO;AAAA,MAMR,CAAC,OAAO,KACN,CAAC,aAAa,MAAM,MAAM,KAAK,KAAK,WAAW,UAE/C,EAFC,aAGH,EAJC,OAAO;AAAA,IAKV,EAZC;AAAA,EAaH,EAlCC;AAoCL;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Activity, Airplay } from "@tamagui/lucide-icons";
|
|
2
|
+
import { Button, XGroup, XStack, YStack } from "tamagui";
|
|
3
|
+
function ButtonSimpleDemo(props) {
|
|
4
|
+
return <YStack padding="$3" space="$3" {...props}>
|
|
5
|
+
<Button>Plain</Button>
|
|
6
|
+
<Button alignSelf="center" icon={Airplay} size="$6">Large</Button>
|
|
7
|
+
<XStack space="$2" justifyContent="center">
|
|
8
|
+
<Button size="$3" theme="alt2">Alt2</Button>
|
|
9
|
+
<Button size="$3" theme="yellow">Yellow</Button>
|
|
10
|
+
</XStack>
|
|
11
|
+
<XStack space="$2">
|
|
12
|
+
<Button themeInverse size="$3">Small Inverse</Button>
|
|
13
|
+
<Button iconAfter={Activity} size="$3">After</Button>
|
|
14
|
+
</XStack>
|
|
15
|
+
<XGroup>
|
|
16
|
+
<XGroup.Item><Button width="50%" size="$2" disabled opacity={0.5}>disabled</Button></XGroup.Item>
|
|
17
|
+
<XGroup.Item><Button width="50%" size="$2" chromeless>chromeless</Button></XGroup.Item>
|
|
18
|
+
</XGroup>
|
|
19
|
+
</YStack>;
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
ButtonSimpleDemo
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=ButtonSimpleDemo.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/ButtonSimpleDemo.tsx"],
|
|
4
|
+
"mappings": "AAAA,SAAS,UAAU,eAAe;AAClC,SAAS,QAAQ,QAAQ,QAAQ,cAAc;AAExC,SAAS,iBAAiB,OAAO;AACtC,SACE,CAAC,OAAO,QAAQ,KAAK,MAAM,SAAS;AAAA,IAClC,CAAC,OAAO,KAAK,EAAZ;AAAA,IACD,CAAC,OAAQ,UAAU,SAAU,MAAM,SAAS,KAAK,KAAM,KAEvD,EAFC;AAAA,IAGD,CAAC,OAAO,MAAM,KAAK,eAAe;AAAA,MAChC,CAAC,OAAO,KAAK,KAAK,MAAM,OAAO,IAE/B,EAFC;AAAA,MAGD,CAAC,OAAO,KAAK,KAAK,MAAM,SAAS,MAEjC,EAFC;AAAA,IAGH,EAPC;AAAA,IAQD,CAAC,OAAO,MAAM;AAAA,MACZ,CAAC,OAAO,aAAa,KAAK,KAAK,aAE/B,EAFC;AAAA,MAGD,CAAC,OAAO,WAAW,UAAU,KAAK,KAAK,KAEvC,EAFC;AAAA,IAGH,EAPC;AAAA,IAQD,CAAC;AAAA,MACC,CAAC,OAAO,KACN,CAAC,OAAO,MAAM,MAAM,KAAK,KAAK,SAAS,SAAS,KAAK,QAErD,EAFC,OAGH,EAJC,OAAO;AAAA,MAMR,CAAC,OAAO,KACN,CAAC,OAAO,MAAM,MAAM,KAAK,KAAK,WAAW,UAEzC,EAFC,OAGH,EAJC,OAAO;AAAA,IAKV,EAZC;AAAA,EAaH,EAlCC;AAoCL;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Activity, Airplay } from "@tamagui/lucide-icons";
|
|
2
|
+
import { Button, XGroup, XStack, YStack } from "tamagui";
|
|
3
|
+
function ButtonSimpleDemo(props) {
|
|
4
|
+
return <YStack padding="$3" space="$3" {...props}>
|
|
5
|
+
<Button>Plain</Button>
|
|
6
|
+
<Button alignSelf="center" icon={Airplay} size="$6">Large</Button>
|
|
7
|
+
<XStack space="$2" justifyContent="center">
|
|
8
|
+
<Button size="$3" theme="alt2">Alt2</Button>
|
|
9
|
+
<Button size="$3" theme="yellow">Yellow</Button>
|
|
10
|
+
</XStack>
|
|
11
|
+
<XStack space="$2">
|
|
12
|
+
<Button themeInverse size="$3">Small Inverse</Button>
|
|
13
|
+
<Button iconAfter={Activity} size="$3">After</Button>
|
|
14
|
+
</XStack>
|
|
15
|
+
<XGroup>
|
|
16
|
+
<XGroup.Item><Button width="50%" size="$2" disabled opacity={0.5}>disabled</Button></XGroup.Item>
|
|
17
|
+
<XGroup.Item><Button width="50%" size="$2" chromeless>chromeless</Button></XGroup.Item>
|
|
18
|
+
</XGroup>
|
|
19
|
+
</YStack>;
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
ButtonSimpleDemo
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=ButtonSimpleDemo.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/ButtonSimpleDemo.tsx"],
|
|
4
|
+
"mappings": "AAAA,SAAS,UAAU,eAAe;AAClC,SAAS,QAAQ,QAAQ,QAAQ,cAAc;AAExC,SAAS,iBAAiB,OAAO;AACtC,SACE,CAAC,OAAO,QAAQ,KAAK,MAAM,SAAS;AAAA,IAClC,CAAC,OAAO,KAAK,EAAZ;AAAA,IACD,CAAC,OAAQ,UAAU,SAAU,MAAM,SAAS,KAAK,KAAM,KAEvD,EAFC;AAAA,IAGD,CAAC,OAAO,MAAM,KAAK,eAAe;AAAA,MAChC,CAAC,OAAO,KAAK,KAAK,MAAM,OAAO,IAE/B,EAFC;AAAA,MAGD,CAAC,OAAO,KAAK,KAAK,MAAM,SAAS,MAEjC,EAFC;AAAA,IAGH,EAPC;AAAA,IAQD,CAAC,OAAO,MAAM;AAAA,MACZ,CAAC,OAAO,aAAa,KAAK,KAAK,aAE/B,EAFC;AAAA,MAGD,CAAC,OAAO,WAAW,UAAU,KAAK,KAAK,KAEvC,EAFC;AAAA,IAGH,EAPC;AAAA,IAQD,CAAC;AAAA,MACC,CAAC,OAAO,KACN,CAAC,OAAO,MAAM,MAAM,KAAK,KAAK,SAAS,SAAS,KAAK,QAErD,EAFC,OAGH,EAJC,OAAO;AAAA,MAMR,CAAC,OAAO,KACN,CAAC,OAAO,MAAM,MAAM,KAAK,KAAK,WAAW,UAEzC,EAFC,OAGH,EAJC,OAAO;AAAA,IAKV,EAZC;AAAA,EAaH,EAlCC;AAoCL;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/demos",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.27.0",
|
|
4
4
|
"sideEffects": [
|
|
5
5
|
"*.css"
|
|
6
6
|
],
|
|
@@ -28,29 +28,29 @@
|
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@tamagui/avatar": "1.
|
|
32
|
-
"@tamagui/button": "1.
|
|
33
|
-
"@tamagui/config": "1.
|
|
34
|
-
"@tamagui/core": "1.
|
|
35
|
-
"@tamagui/list-item": "1.
|
|
36
|
-
"@tamagui/logo": "1.
|
|
37
|
-
"@tamagui/menu": "1.
|
|
38
|
-
"@tamagui/popover": "1.
|
|
39
|
-
"@tamagui/progress": "1.
|
|
40
|
-
"@tamagui/radio-group": "1.
|
|
41
|
-
"@tamagui/select": "1.
|
|
42
|
-
"@tamagui/sheet": "1.
|
|
43
|
-
"@tamagui/slider": "1.
|
|
44
|
-
"@tamagui/stacks": "1.
|
|
45
|
-
"@tamagui/toast": "1.
|
|
46
|
-
"tamagui": "1.
|
|
31
|
+
"@tamagui/avatar": "1.27.0",
|
|
32
|
+
"@tamagui/button": "1.27.0",
|
|
33
|
+
"@tamagui/config": "1.27.0",
|
|
34
|
+
"@tamagui/core": "1.27.0",
|
|
35
|
+
"@tamagui/list-item": "1.27.0",
|
|
36
|
+
"@tamagui/logo": "1.27.0",
|
|
37
|
+
"@tamagui/menu": "1.27.0",
|
|
38
|
+
"@tamagui/popover": "1.27.0",
|
|
39
|
+
"@tamagui/progress": "1.27.0",
|
|
40
|
+
"@tamagui/radio-group": "1.27.0",
|
|
41
|
+
"@tamagui/select": "1.27.0",
|
|
42
|
+
"@tamagui/sheet": "1.27.0",
|
|
43
|
+
"@tamagui/slider": "1.27.0",
|
|
44
|
+
"@tamagui/stacks": "1.27.0",
|
|
45
|
+
"@tamagui/toast": "1.27.0",
|
|
46
|
+
"tamagui": "1.27.0"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
49
|
"react": "*",
|
|
50
50
|
"react-dom": "*"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@tamagui/build": "1.
|
|
53
|
+
"@tamagui/build": "1.27.0",
|
|
54
54
|
"react": "^18.2.0",
|
|
55
55
|
"react-dom": "^18.2.0"
|
|
56
56
|
},
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonHeadlessDemo.d.ts","sourceRoot":"","sources":["../src/ButtonHeadlessDemo.tsx"],"names":[],"mappings":";AAgHA,wBAAgB,kBAAkB,CAAC,KAAK,KAAA,eAsCvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonSimpleDemo.d.ts","sourceRoot":"","sources":["../src/ButtonSimpleDemo.tsx"],"names":[],"mappings":";AAGA,wBAAgB,gBAAgB,CAAC,KAAK,KAAA,eAsCrC"}
|