@tamagui/toggle-group 2.7.7 → 3.0.0-beta.637.1

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 (78) hide show
  1. package/dist/cjs/Toggle.cjs +65 -130
  2. package/dist/cjs/Toggle.native.cjs +100 -0
  3. package/dist/cjs/Toggle.native.js +75 -136
  4. package/dist/cjs/Toggle.native.js.map +1 -1
  5. package/dist/cjs/ToggleGroup.cjs +158 -211
  6. package/dist/cjs/ToggleGroup.native.cjs +208 -0
  7. package/dist/cjs/ToggleGroup.native.js +173 -225
  8. package/dist/cjs/ToggleGroup.native.js.map +1 -1
  9. package/dist/cjs/context.cjs +19 -20
  10. package/dist/cjs/context.native.cjs +37 -0
  11. package/dist/cjs/context.native.js +20 -20
  12. package/dist/cjs/context.native.js.map +1 -1
  13. package/dist/cjs/index.cjs +15 -18
  14. package/dist/cjs/index.native.cjs +29 -0
  15. package/dist/cjs/index.native.js +15 -17
  16. package/dist/cjs/index.native.js.map +1 -1
  17. package/dist/cjs/types.cjs +10 -11
  18. package/dist/cjs/types.native.cjs +19 -0
  19. package/dist/cjs/types.native.js +10 -10
  20. package/dist/cjs/types.native.js.map +1 -1
  21. package/dist/esm/Toggle.mjs +53 -104
  22. package/dist/esm/Toggle.mjs.map +1 -1
  23. package/dist/esm/Toggle.native.js +61 -115
  24. package/dist/esm/Toggle.native.js.map +1 -1
  25. package/dist/esm/ToggleGroup.mjs +145 -188
  26. package/dist/esm/ToggleGroup.mjs.map +1 -1
  27. package/dist/esm/ToggleGroup.native.js +160 -203
  28. package/dist/esm/ToggleGroup.native.js.map +1 -1
  29. package/dist/esm/context.mjs +5 -3
  30. package/dist/esm/context.mjs.map +1 -1
  31. package/dist/esm/context.native.js +6 -4
  32. package/dist/esm/context.native.js.map +1 -1
  33. package/dist/esm/index.js +4 -3
  34. package/dist/esm/index.mjs +4 -3
  35. package/dist/esm/index.native.js +4 -3
  36. package/dist/esm/types.mjs +0 -2
  37. package/dist/esm/types.native.js +0 -2
  38. package/dist/jsx/Toggle.mjs +53 -104
  39. package/dist/jsx/Toggle.mjs.map +1 -1
  40. package/dist/jsx/Toggle.native.cjs +100 -0
  41. package/dist/jsx/Toggle.native.js +75 -136
  42. package/dist/jsx/Toggle.native.js.map +1 -1
  43. package/dist/jsx/ToggleGroup.mjs +145 -188
  44. package/dist/jsx/ToggleGroup.mjs.map +1 -1
  45. package/dist/jsx/ToggleGroup.native.cjs +208 -0
  46. package/dist/jsx/ToggleGroup.native.js +173 -225
  47. package/dist/jsx/ToggleGroup.native.js.map +1 -1
  48. package/dist/jsx/context.mjs +5 -3
  49. package/dist/jsx/context.mjs.map +1 -1
  50. package/dist/jsx/context.native.cjs +37 -0
  51. package/dist/jsx/context.native.js +20 -20
  52. package/dist/jsx/context.native.js.map +1 -1
  53. package/dist/jsx/index.js +4 -3
  54. package/dist/jsx/index.mjs +4 -3
  55. package/dist/jsx/index.native.cjs +29 -0
  56. package/dist/jsx/index.native.js +15 -17
  57. package/dist/jsx/index.native.js.map +1 -1
  58. package/dist/jsx/types.mjs +0 -2
  59. package/dist/jsx/types.native.cjs +19 -0
  60. package/dist/jsx/types.native.js +10 -10
  61. package/dist/jsx/types.native.js.map +1 -1
  62. package/package.json +16 -15
  63. package/src/Toggle.tsx +27 -66
  64. package/src/ToggleGroup.tsx +13 -10
  65. package/types/Toggle.d.ts +45 -49
  66. package/types/Toggle.d.ts.map +1 -1
  67. package/types/ToggleGroup.d.ts +26 -87
  68. package/types/ToggleGroup.d.ts.map +1 -1
  69. package/types/context.d.ts +1 -1
  70. package/types/context.d.ts.map +1 -1
  71. package/dist/esm/index.js.map +0 -1
  72. package/dist/esm/index.mjs.map +0 -1
  73. package/dist/esm/index.native.js.map +0 -1
  74. package/dist/esm/types.mjs.map +0 -1
  75. package/dist/esm/types.native.js.map +0 -1
  76. package/dist/jsx/index.js.map +0 -1
  77. package/dist/jsx/index.mjs.map +0 -1
  78. package/dist/jsx/types.mjs.map +0 -1
@@ -1,113 +1,62 @@
1
+ import { createRefComponent } from "@tamagui/compose-refs";
1
2
  import { composeEventHandlers } from "@tamagui/helpers";
3
+ import { resolveSizeToken } from "@tamagui/size";
2
4
  import { useControllableState } from "@tamagui/use-controllable-state";
3
- import { styled, View } from "@tamagui/web";
4
- import * as React from "react";
5
+ import { View, styled } from "@tamagui/web";
5
6
  import { context } from "./context.mjs";
6
7
  import { jsx } from "react/jsx-runtime";
8
+
7
9
  const NAME = "Toggle";
8
10
  const ToggleFrame = styled(View, {
9
- name: NAME,
10
- render: "button",
11
- context,
12
- variants: {
13
- unstyled: {
14
- false: {
15
- size: "$true",
16
- alignItems: "center",
17
- justifyContent: "center",
18
- display: "flex",
19
- backgroundColor: "$background",
20
- borderColor: "$borderColor",
21
- borderWidth: 1,
22
- margin: -1,
23
- hoverStyle: {
24
- backgroundColor: "$backgroundHover",
25
- borderColor: "$borderColorHover"
26
- },
27
- pressStyle: {
28
- backgroundColor: "$backgroundPress",
29
- borderColor: "$borderColorPress"
30
- },
31
- focusVisibleStyle: {
32
- outlineColor: "$outlineColor",
33
- outlineWidth: 2,
34
- outlineStyle: "solid",
35
- zIndex: 10
36
- }
37
- }
38
- },
39
- size: {
40
- "...size": (val, {
41
- tokens
42
- }) => {
43
- if (!val) return;
44
- return {
45
- width: tokens.size[val],
46
- height: tokens.size[val]
47
- };
48
- },
49
- ":number": val => ({
50
- width: val,
51
- height: val
52
- })
53
- },
54
- defaultActiveStyle: {
55
- true: {
56
- backgroundColor: "$backgroundActive",
57
- hoverStyle: {
58
- backgroundColor: "$backgroundActive"
59
- },
60
- focusStyle: {
61
- backgroundColor: "$backgroundActive"
62
- }
63
- }
64
- }
65
- },
66
- defaultVariants: {
67
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
68
- }
69
- }, {
70
- accept: {
71
- activeStyle: "style"
72
- }
73
- });
74
- const Toggle = React.forwardRef(function Toggle2(props, forwardedRef) {
75
- const {
76
- active: activeProp,
77
- activeStyle,
78
- defaultActive = false,
79
- onActiveChange,
80
- activeTheme,
81
- unstyled = false,
82
- ...buttonProps
83
- } = props;
84
- const [active = false, setActive] = useControllableState({
85
- prop: activeProp,
86
- onChange: onActiveChange,
87
- defaultProp: defaultActive
88
- });
89
- return /* @__PURE__ */jsx(ToggleFrame, {
90
- theme: activeTheme ?? null,
91
- "aria-pressed": active,
92
- "data-state": active ? "on" : "off",
93
- "data-disabled": props.disabled ? "" : void 0,
94
- unstyled,
95
- ...(active && !activeStyle && !unstyled && {
96
- defaultActiveStyle: true
97
- }),
98
- ...buttonProps,
99
- ...(active && activeStyle && {
100
- ...activeStyle,
101
- hoverStyle: activeStyle,
102
- focusStyle: activeStyle
103
- }),
104
- ref: forwardedRef,
105
- onPress: composeEventHandlers(props.onPress ?? void 0, () => {
106
- if (!props.disabled) {
107
- setActive(prev => !prev);
108
- }
109
- })
110
- });
11
+ displayName: NAME,
12
+ render: "button",
13
+ context,
14
+ size: true,
15
+ alignItems: "center",
16
+ justifyContent: "center",
17
+ display: "flex",
18
+ variants: {
19
+ size: {
20
+ number: (val) => ({
21
+ width: val,
22
+ height: val
23
+ }),
24
+ Size: (val, { tokens }) => {
25
+ if (!val) return;
26
+ const sizeToken = resolveSizeToken(val, "size");
27
+ const size = typeof sizeToken === "number" ? sizeToken : tokens.size[sizeToken];
28
+ return {
29
+ width: size,
30
+ height: size
31
+ };
32
+ }
33
+ },
34
+ defaultActiveStyle: { true: {} }
35
+ }
36
+ }, { accept: { activeStyle: "style" } });
37
+ const Toggle = createRefComponent(function Toggle2(props, forwardedRef) {
38
+ const { active: activeProp, activeStyle, defaultActive = false, onActiveChange, activeTheme, ...buttonProps } = props;
39
+ const [active = false, setActive] = useControllableState({
40
+ prop: activeProp,
41
+ onChange: onActiveChange,
42
+ defaultProp: defaultActive
43
+ });
44
+ return /* @__PURE__ */ jsx(ToggleFrame, {
45
+ theme: activeTheme ?? null,
46
+ "aria-pressed": active,
47
+ "data-state": active ? "on" : "off",
48
+ "data-disabled": props.disabled ? "" : void 0,
49
+ ...active && !activeStyle && { defaultActiveStyle: true },
50
+ ...buttonProps,
51
+ ...active && activeStyle ? activeStyle : void 0,
52
+ ref: forwardedRef,
53
+ onPress: composeEventHandlers(props.onPress ?? void 0, () => {
54
+ if (!props.disabled) {
55
+ setActive((prev) => !prev);
56
+ }
57
+ })
58
+ });
111
59
  });
60
+
112
61
  export { Toggle, ToggleFrame };
113
62
  //# sourceMappingURL=Toggle.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["composeEventHandlers","useControllableState","styled","View","React","context","jsx","NAME","ToggleFrame","name","render","variants","unstyled","false","size","alignItems","justifyContent","display","backgroundColor","borderColor","borderWidth","margin","hoverStyle","pressStyle","focusVisibleStyle","outlineColor","outlineWidth","outlineStyle","zIndex","...size","val","tokens","width","height","defaultActiveStyle","true","focusStyle","defaultVariants","process","env","TAMAGUI_HEADLESS","accept","activeStyle","Toggle","forwardRef","props","forwardedRef","active","activeProp","defaultActive","onActiveChange","activeTheme","buttonProps","setActive","prop","onChange","defaultProp","theme","disabled","ref","onPress","prev"],"sources":["../../src/Toggle.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Toggle.js","names":[],"sources":["jsx/Toggle.js"],"sourcesContent":["import { createRefComponent } from \"@tamagui/compose-refs\";\nimport { composeEventHandlers } from \"@tamagui/helpers\";\nimport { resolveSizeToken } from \"@tamagui/size\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport { styled, View } from \"@tamagui/web\";\nimport { context } from \"./context\";\nimport { jsx } from \"react/jsx-runtime\";\nconst NAME = \"Toggle\";\nconst ToggleFrame = styled(\n View,\n {\n displayName: NAME,\n render: \"button\",\n context,\n size: true,\n alignItems: \"center\",\n justifyContent: \"center\",\n display: \"flex\",\n variants: {\n size: {\n number: (val) => ({\n width: val,\n height: val\n }),\n Size: (val, { tokens }) => {\n if (!val) return;\n const sizeToken = resolveSizeToken(val, \"size\");\n const size = typeof sizeToken === \"number\" ? sizeToken : tokens.size[sizeToken];\n return {\n width: size,\n height: size\n };\n }\n },\n defaultActiveStyle: {\n true: {}\n }\n }\n },\n {\n accept: {\n activeStyle: \"style\"\n }\n }\n);\nconst Toggle = createRefComponent(\n function Toggle2(props, forwardedRef) {\n const {\n active: activeProp,\n activeStyle,\n defaultActive = false,\n onActiveChange,\n activeTheme,\n ...buttonProps\n } = props;\n const [active = false, setActive] = useControllableState({\n prop: activeProp,\n onChange: onActiveChange,\n defaultProp: defaultActive\n });\n return /* @__PURE__ */ jsx(\n ToggleFrame,\n {\n theme: activeTheme ?? null,\n \"aria-pressed\": active,\n \"data-state\": active ? \"on\" : \"off\",\n \"data-disabled\": props.disabled ? \"\" : void 0,\n ...active && !activeStyle && { defaultActiveStyle: true },\n ...buttonProps,\n ...active && activeStyle ? activeStyle : void 0,\n ref: forwardedRef,\n onPress: composeEventHandlers(props.onPress ?? void 0, () => {\n if (!props.disabled) {\n setActive((prev) => !prev);\n }\n })\n }\n );\n }\n);\nexport {\n Toggle,\n ToggleFrame\n};\n//# sourceMappingURL=Toggle.js.map\n"],"mappings":";;;;;;;;;AAOA,MAAM,OAAO;AACb,MAAM,cAAc,OAClB,MACA;CACE,aAAa;CACb,QAAQ;CACR;CACA,MAAM;CACN,YAAY;CACZ,gBAAgB;CAChB,SAAS;CACT,UAAU;EACR,MAAM;GACJ,SAAS,SAAS;IAChB,OAAO;IACP,QAAQ;GACV;GACA,OAAO,KAAK,EAAE,aAAa;IACzB,IAAI,CAAC,KAAK;IACV,MAAM,YAAY,iBAAiB,KAAK,MAAM;IAC9C,MAAM,OAAO,OAAO,cAAc,WAAW,YAAY,OAAO,KAAK;IACrE,OAAO;KACL,OAAO;KACP,QAAQ;IACV;GACF;EACF;EACA,oBAAoB,EAClB,MAAM,CAAC,EACT;CACF;AACF,GACA,EACE,QAAQ,EACN,aAAa,QACf,EACF,CACF;AACA,MAAM,SAAS,mBACb,SAAS,QAAQ,OAAO,cAAc;CACpC,MAAM,EACJ,QAAQ,YACR,aACA,gBAAgB,OAChB,gBACA,aACA,GAAG,gBACD;CACJ,MAAM,CAAC,SAAS,OAAO,aAAa,qBAAqB;EACvD,MAAM;EACN,UAAU;EACV,aAAa;CACf,CAAC;CACD,OAAuB,oBACrB,aACA;EACE,OAAO,eAAe;EACtB,gBAAgB;EAChB,cAAc,SAAS,OAAO;EAC9B,iBAAiB,MAAM,WAAW,KAAK,KAAK;EAC5C,GAAG,UAAU,CAAC,eAAe,EAAE,oBAAoB,KAAK;EACxD,GAAG;EACH,GAAG,UAAU,cAAc,cAAc,KAAK;EAC9C,KAAK;EACL,SAAS,qBAAqB,MAAM,WAAW,KAAK,SAAS;GAC3D,IAAI,CAAC,MAAM,UAAU;IACnB,WAAW,SAAS,CAAC,IAAI;GAC3B;EACF,CAAC;CACH,CACF;AACF,CACF"}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+
4
+ var __create = Object.create;
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __export = (target, all) => {
11
+ for (var name in all) __defProp(target, name, {
12
+ get: all[name],
13
+ enumerable: true
14
+ });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
19
+ get: () => from[key],
20
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
21
+ });
22
+ }
23
+ return to;
24
+ };
25
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
+ value: mod,
27
+ enumerable: true
28
+ }) : target, mod));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+ var Toggle_exports = {};
31
+ __export(Toggle_exports, {
32
+ Toggle: () => Toggle,
33
+ ToggleFrame: () => ToggleFrame
34
+ });
35
+ module.exports = __toCommonJS(Toggle_exports);
36
+ var import_jsx_runtime = require("react/jsx-runtime");
37
+ var import_compose_refs = require("@tamagui/compose-refs");
38
+ var import_helpers = require("@tamagui/helpers");
39
+ var import_size = require("@tamagui/size");
40
+ var import_use_controllable_state = require("@tamagui/use-controllable-state");
41
+ var import_web = require("@tamagui/web");
42
+ var React = __toESM(require("react"), 1);
43
+ var import_context = require("./context.native.js");
44
+ var NAME = "Toggle";
45
+ var ToggleFrame = (0, import_web.styled)(import_web.View, {
46
+ displayName: NAME,
47
+ render: "button",
48
+ context: import_context.context,
49
+ size: true,
50
+ alignItems: "center",
51
+ justifyContent: "center",
52
+ display: "flex",
53
+ variants: {
54
+ size: {
55
+ number: function(val) {
56
+ return {
57
+ width: val,
58
+ height: val
59
+ };
60
+ },
61
+ Size: function(val, param) {
62
+ var { tokens } = param;
63
+ if (!val) return;
64
+ var sizeToken = (0, import_size.resolveSizeToken)(val, "size");
65
+ var size = typeof sizeToken === "number" ? sizeToken : tokens.size[sizeToken];
66
+ return {
67
+ width: size,
68
+ height: size
69
+ };
70
+ }
71
+ },
72
+ defaultActiveStyle: { true: {} }
73
+ }
74
+ }, { accept: { activeStyle: "style" } });
75
+ var Toggle = (0, import_compose_refs.createRefComponent)(function Toggle2(props, forwardedRef) {
76
+ var { active: activeProp, activeStyle, defaultActive = false, onActiveChange, activeTheme, ...buttonProps } = props;
77
+ var [active = false, setActive] = (0, import_use_controllable_state.useControllableState)({
78
+ prop: activeProp,
79
+ onChange: onActiveChange,
80
+ defaultProp: defaultActive
81
+ });
82
+ var _props_onPress;
83
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleFrame, {
84
+ theme: activeTheme !== null && activeTheme !== void 0 ? activeTheme : null,
85
+ "aria-pressed": active,
86
+ "data-state": active ? "on" : "off",
87
+ "data-disabled": props.disabled ? "" : void 0,
88
+ ...active && !activeStyle && { defaultActiveStyle: true },
89
+ ...buttonProps,
90
+ ...active && activeStyle ? activeStyle : void 0,
91
+ ref: forwardedRef,
92
+ onPress: (0, import_helpers.composeEventHandlers)((_props_onPress = props.onPress) !== null && _props_onPress !== void 0 ? _props_onPress : void 0, function() {
93
+ if (!props.disabled) {
94
+ setActive(function(prev) {
95
+ return !prev;
96
+ });
97
+ }
98
+ })
99
+ });
100
+ });
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+
3
4
  var __create = Object.create;
4
5
  var __defProp = Object.defineProperty;
5
6
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -7,157 +8,95 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
7
8
  var __getProtoOf = Object.getPrototypeOf;
8
9
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
10
  var __export = (target, all) => {
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: true
13
- });
11
+ for (var name in all) __defProp(target, name, {
12
+ get: all[name],
13
+ enumerable: true
14
+ });
14
15
  };
15
16
  var __copyProps = (to, from, except, desc) => {
16
- if (from && typeof from === "object" || typeof from === "function") {
17
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
- get: () => from[key],
19
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
- });
21
- }
22
- return to;
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
19
+ get: () => from[key],
20
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
21
+ });
22
+ }
23
+ return to;
23
24
  };
24
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
- // If the importer is in node compatibility mode or this is not an ESM
26
- // file that has been converted to a CommonJS file using a Babel-
27
- // compatible transform (i.e. "__esModule" has not been set), then set
28
- // "default" to the CommonJS "module.exports" for node compatibility.
29
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
- value: mod,
31
- enumerable: true
25
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
+ value: mod,
27
+ enumerable: true
32
28
  }) : target, mod));
33
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
- value: true
35
- }), mod);
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
30
  var Toggle_exports = {};
37
31
  __export(Toggle_exports, {
38
- Toggle: () => Toggle,
39
- ToggleFrame: () => ToggleFrame
32
+ Toggle: () => Toggle,
33
+ ToggleFrame: () => ToggleFrame
40
34
  });
41
35
  module.exports = __toCommonJS(Toggle_exports);
42
36
  var import_jsx_runtime = require("react/jsx-runtime");
37
+ var import_compose_refs = require("@tamagui/compose-refs");
43
38
  var import_helpers = require("@tamagui/helpers");
39
+ var import_size = require("@tamagui/size");
44
40
  var import_use_controllable_state = require("@tamagui/use-controllable-state");
45
41
  var import_web = require("@tamagui/web");
46
42
  var React = __toESM(require("react"), 1);
47
43
  var import_context = require("./context.native.js");
48
44
  var NAME = "Toggle";
49
45
  var ToggleFrame = (0, import_web.styled)(import_web.View, {
50
- name: NAME,
51
- render: "button",
52
- context: import_context.context,
53
- variants: {
54
- unstyled: {
55
- false: {
56
- size: "$true",
57
- alignItems: "center",
58
- justifyContent: "center",
59
- display: "flex",
60
- backgroundColor: "$background",
61
- borderColor: "$borderColor",
62
- borderWidth: 1,
63
- margin: -1,
64
- hoverStyle: {
65
- backgroundColor: "$backgroundHover",
66
- borderColor: "$borderColorHover"
67
- },
68
- pressStyle: {
69
- backgroundColor: "$backgroundPress",
70
- borderColor: "$borderColorPress"
71
- },
72
- focusVisibleStyle: {
73
- outlineColor: "$outlineColor",
74
- outlineWidth: 2,
75
- outlineStyle: "solid",
76
- zIndex: 10
77
- }
78
- }
79
- },
80
- size: {
81
- "...size": function (val, param) {
82
- var {
83
- tokens
84
- } = param;
85
- if (!val) return;
86
- return {
87
- width: tokens.size[val],
88
- height: tokens.size[val]
89
- };
90
- },
91
- ":number": function (val) {
92
- return {
93
- width: val,
94
- height: val
95
- };
96
- }
97
- },
98
- defaultActiveStyle: {
99
- true: {
100
- backgroundColor: "$backgroundActive",
101
- hoverStyle: {
102
- backgroundColor: "$backgroundActive"
103
- },
104
- focusStyle: {
105
- backgroundColor: "$backgroundActive"
106
- }
107
- }
108
- }
109
- },
110
- defaultVariants: {
111
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
112
- }
113
- }, {
114
- accept: {
115
- activeStyle: "style"
116
- }
117
- });
118
- var Toggle = /* @__PURE__ */React.forwardRef(function Toggle2(props, forwardedRef) {
119
- var {
120
- active: activeProp,
121
- activeStyle,
122
- defaultActive = false,
123
- onActiveChange,
124
- activeTheme,
125
- unstyled = false,
126
- ...buttonProps
127
- } = props;
128
- var [active = false, setActive] = (0, import_use_controllable_state.useControllableState)({
129
- prop: activeProp,
130
- onChange: onActiveChange,
131
- defaultProp: defaultActive
132
- });
133
- var _props_onPress;
134
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ToggleFrame, {
135
- theme: activeTheme !== null && activeTheme !== void 0 ? activeTheme : null,
136
- "aria-pressed": active,
137
- "data-state": active ? "on" : "off",
138
- "data-disabled": props.disabled ? "" : void 0,
139
- unstyled,
140
- ...(active && !activeStyle && !unstyled && {
141
- defaultActiveStyle: true
142
- }),
143
- ...buttonProps,
144
- // spread activeStyle after buttonProps so it wins when active: a styled()
145
- // variant (e.g. a resting `backgroundColor`) forwards that value as a plain
146
- // prop into buttonProps, which would otherwise clobber the activeStyle merge
147
- // on overlapping keys and leave the active item stuck at its resting style.
148
- ...(active && activeStyle && {
149
- ...activeStyle,
150
- hoverStyle: activeStyle,
151
- focusStyle: activeStyle
152
- }),
153
- ref: forwardedRef,
154
- onPress: (0, import_helpers.composeEventHandlers)((_props_onPress = props.onPress) !== null && _props_onPress !== void 0 ? _props_onPress : void 0, function () {
155
- if (!props.disabled) {
156
- setActive(function (prev) {
157
- return !prev;
158
- });
159
- }
160
- })
161
- });
46
+ displayName: NAME,
47
+ render: "button",
48
+ context: import_context.context,
49
+ size: true,
50
+ alignItems: "center",
51
+ justifyContent: "center",
52
+ display: "flex",
53
+ variants: {
54
+ size: {
55
+ number: function(val) {
56
+ return {
57
+ width: val,
58
+ height: val
59
+ };
60
+ },
61
+ Size: function(val, param) {
62
+ var { tokens } = param;
63
+ if (!val) return;
64
+ var sizeToken = (0, import_size.resolveSizeToken)(val, "size");
65
+ var size = typeof sizeToken === "number" ? sizeToken : tokens.size[sizeToken];
66
+ return {
67
+ width: size,
68
+ height: size
69
+ };
70
+ }
71
+ },
72
+ defaultActiveStyle: { true: {} }
73
+ }
74
+ }, { accept: { activeStyle: "style" } });
75
+ var Toggle = (0, import_compose_refs.createRefComponent)(function Toggle2(props, forwardedRef) {
76
+ var { active: activeProp, activeStyle, defaultActive = false, onActiveChange, activeTheme, ...buttonProps } = props;
77
+ var [active = false, setActive] = (0, import_use_controllable_state.useControllableState)({
78
+ prop: activeProp,
79
+ onChange: onActiveChange,
80
+ defaultProp: defaultActive
81
+ });
82
+ var _props_onPress;
83
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleFrame, {
84
+ theme: activeTheme !== null && activeTheme !== void 0 ? activeTheme : null,
85
+ "aria-pressed": active,
86
+ "data-state": active ? "on" : "off",
87
+ "data-disabled": props.disabled ? "" : void 0,
88
+ ...active && !activeStyle && { defaultActiveStyle: true },
89
+ ...buttonProps,
90
+ ...active && activeStyle ? activeStyle : void 0,
91
+ ref: forwardedRef,
92
+ onPress: (0, import_helpers.composeEventHandlers)((_props_onPress = props.onPress) !== null && _props_onPress !== void 0 ? _props_onPress : void 0, function() {
93
+ if (!props.disabled) {
94
+ setActive(function(prev) {
95
+ return !prev;
96
+ });
97
+ }
98
+ })
99
+ });
162
100
  });
101
+
163
102
  //# sourceMappingURL=Toggle.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","Toggle_exports","Toggle","ToggleFrame","module","exports","import_jsx_runtime","require","import_helpers","import_use_controllable_state","import_web","React","import_context","NAME","styled","View","render","context","variants","unstyled","false","size","alignItems","justifyContent","display","backgroundColor","borderColor","borderWidth","margin","hoverStyle","pressStyle","focusVisibleStyle","outlineColor","outlineWidth","outlineStyle","zIndex","...size","val","param","tokens","width","height",":number","defaultActiveStyle","true","focusStyle","defaultVariants","process","env","TAMAGUI_HEADLESS","accept","activeStyle","forwardRef","Toggle2","props","forwardedRef","active","activeProp","defaultActive","onActiveChange","activeTheme","buttonProps","setActive","useControllableState","prop","onChange","defaultProp","_props_onPress","jsx","theme"],"sources":["../../src/Toggle.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Toggle.native.js","names":[],"sources":["jsx/Toggle.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar Toggle_exports = {};\n__export(Toggle_exports, {\n Toggle: () => Toggle,\n ToggleFrame: () => ToggleFrame\n});\nmodule.exports = __toCommonJS(Toggle_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_helpers = require(\"@tamagui/helpers\");\nvar import_size = require(\"@tamagui/size\");\nvar import_use_controllable_state = require(\"@tamagui/use-controllable-state\");\nvar import_web = require(\"@tamagui/web\");\nvar React = __toESM(require(\"react\"), 1);\nvar import_context = require(\"./context\");\nvar NAME = \"Toggle\";\nvar ToggleFrame = (0, import_web.styled)(import_web.View, {\n displayName: NAME,\n render: \"button\",\n context: import_context.context,\n size: true,\n alignItems: \"center\",\n justifyContent: \"center\",\n display: \"flex\",\n variants: {\n size: {\n number: function(val) {\n return {\n width: val,\n height: val\n };\n },\n Size: function(val, param) {\n var { tokens } = param;\n if (!val) return;\n var sizeToken = (0, import_size.resolveSizeToken)(val, \"size\");\n var size = typeof sizeToken === \"number\" ? sizeToken : tokens.size[sizeToken];\n return {\n width: size,\n height: size\n };\n }\n },\n defaultActiveStyle: {\n true: {}\n }\n }\n}, {\n accept: {\n activeStyle: \"style\"\n }\n});\nvar Toggle = (0, import_compose_refs.createRefComponent)(function Toggle2(props, forwardedRef) {\n var { active: activeProp, activeStyle, defaultActive = false, onActiveChange, activeTheme, ...buttonProps } = props;\n var [active = false, setActive] = (0, import_use_controllable_state.useControllableState)({\n prop: activeProp,\n onChange: onActiveChange,\n defaultProp: defaultActive\n });\n var _props_onPress;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleFrame, {\n theme: activeTheme !== null && activeTheme !== void 0 ? activeTheme : null,\n \"aria-pressed\": active,\n \"data-state\": active ? \"on\" : \"off\",\n \"data-disabled\": props.disabled ? \"\" : void 0,\n ...active && !activeStyle && {\n defaultActiveStyle: true\n },\n ...buttonProps,\n ...active && activeStyle ? activeStyle : void 0,\n ref: forwardedRef,\n onPress: (0, import_helpers.composeEventHandlers)((_props_onPress = props.onPress) !== null && _props_onPress !== void 0 ? _props_onPress : void 0, function() {\n if (!props.disabled) {\n setActive(function(prev) {\n return !prev;\n });\n }\n })\n });\n});\n//# sourceMappingURL=Toggle.js.map\n"],"mappings":"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"}