@tamagui/toggle-group 2.7.7 → 3.0.0-beta.1091.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 +58 -130
  2. package/dist/cjs/Toggle.native.cjs +90 -0
  3. package/dist/cjs/Toggle.native.js +64 -135
  4. package/dist/cjs/Toggle.native.js.map +1 -1
  5. package/dist/cjs/ToggleGroup.cjs +157 -211
  6. package/dist/cjs/ToggleGroup.native.cjs +207 -0
  7. package/dist/cjs/ToggleGroup.native.js +172 -225
  8. package/dist/cjs/ToggleGroup.native.js.map +1 -1
  9. package/dist/cjs/context.cjs +18 -20
  10. package/dist/cjs/context.native.cjs +36 -0
  11. package/dist/cjs/context.native.js +19 -20
  12. package/dist/cjs/context.native.js.map +1 -1
  13. package/dist/cjs/index.cjs +14 -18
  14. package/dist/cjs/index.native.cjs +28 -0
  15. package/dist/cjs/index.native.js +14 -17
  16. package/dist/cjs/index.native.js.map +1 -1
  17. package/dist/cjs/types.cjs +9 -11
  18. package/dist/cjs/types.native.cjs +18 -0
  19. package/dist/cjs/types.native.js +9 -10
  20. package/dist/cjs/types.native.js.map +1 -1
  21. package/dist/esm/Toggle.mjs +46 -103
  22. package/dist/esm/Toggle.mjs.map +1 -1
  23. package/dist/esm/Toggle.native.js +51 -114
  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 +46 -103
  39. package/dist/jsx/Toggle.mjs.map +1 -1
  40. package/dist/jsx/Toggle.native.cjs +90 -0
  41. package/dist/jsx/Toggle.native.js +64 -135
  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 +207 -0
  46. package/dist/jsx/ToggleGroup.native.js +172 -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 +36 -0
  51. package/dist/jsx/context.native.js +19 -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 +28 -0
  56. package/dist/jsx/index.native.js +14 -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 +18 -0
  60. package/dist/jsx/types.native.js +9 -10
  61. package/dist/jsx/types.native.js.map +1 -1
  62. package/package.json +18 -16
  63. package/src/Toggle.tsx +37 -89
  64. package/src/ToggleGroup.tsx +20 -11
  65. package/types/Toggle.d.ts +19 -59
  66. package/types/Toggle.d.ts.map +1 -1
  67. package/types/ToggleGroup.d.ts +31 -125
  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,56 @@
1
+ import { createRefComponent } from "@tamagui/compose-refs";
1
2
  import { composeEventHandlers } from "@tamagui/helpers";
3
+ import { resolveSize } 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
- }
11
+ displayName: NAME,
12
+ render: "button",
13
+ context,
14
+ size: true,
15
+ alignItems: "center",
16
+ justifyContent: "center",
17
+ variants: {
18
+ size: styled.dynamic((val, env) => {
19
+ if (!val) return;
20
+ const { frame, controlHeight } = resolveSize(val, env);
21
+ const side = controlHeight + 2;
22
+ return {
23
+ width: side,
24
+ height: side,
25
+ borderRadius: frame.borderRadius
26
+ };
27
+ }),
28
+ defaultActiveStyle: { true: {} }
29
+ }
73
30
  });
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
- });
31
+ const Toggle = createRefComponent(function Toggle2(props, forwardedRef) {
32
+ const { active: activeProp, activeStyle, defaultActive = false, onActiveChange, activeTheme, ...buttonProps } = props;
33
+ const [active = false, setActive] = useControllableState({
34
+ prop: activeProp,
35
+ onChange: onActiveChange,
36
+ defaultProp: defaultActive
37
+ });
38
+ return /* @__PURE__ */ jsx(ToggleFrame, {
39
+ theme: activeTheme ?? null,
40
+ "aria-pressed": active,
41
+ "data-state": active ? "on" : "off",
42
+ "data-disabled": props.disabled ? "" : void 0,
43
+ ...active && !activeStyle && { defaultActiveStyle: true },
44
+ ...buttonProps,
45
+ style: [buttonProps.style, active && activeStyle],
46
+ ref: forwardedRef,
47
+ onPress: composeEventHandlers(props.onPress ?? void 0, () => {
48
+ if (!props.disabled) {
49
+ setActive((prev) => !prev);
50
+ }
51
+ })
52
+ });
111
53
  });
54
+
112
55
  export { Toggle, ToggleFrame };
113
56
  //# 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 { resolveSize } 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(View, {\n displayName: NAME,\n render: \"button\",\n context,\n size: true,\n alignItems: \"center\",\n justifyContent: \"center\",\n variants: {\n size: styled.dynamic((val, env) => {\n if (!val) return;\n const { frame, controlHeight } = resolveSize(val, env);\n const side = controlHeight + 2;\n return {\n width: side,\n height: side,\n borderRadius: frame.borderRadius\n };\n }),\n defaultActiveStyle: {\n true: {}\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 style: [buttonProps.style, active && activeStyle],\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,OAAO,MAAM;CAC/B,aAAa;CACb,QAAQ;CACR;CACA,MAAM;CACN,YAAY;CACZ,gBAAgB;CAChB,UAAU;EACR,MAAM,OAAO,SAAS,KAAK,QAAQ;GACjC,IAAI,CAAC,KAAK;GACV,MAAM,EAAE,OAAO,kBAAkB,YAAY,KAAK,GAAG;GACrD,MAAM,OAAO,gBAAgB;GAC7B,OAAO;IACL,OAAO;IACP,QAAQ;IACR,cAAc,MAAM;GACtB;EACF,CAAC;EACD,oBAAoB,EAClB,MAAM,CAAC,EACT;CACF;AACF,CAAC;AACD,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,OAAO,CAAC,YAAY,OAAO,UAAU,WAAW;EAChD,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,90 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ 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;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
25
+ value: mod,
26
+ enumerable: true
27
+ }) : target, mod));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var Toggle_exports = {};
30
+ __export(Toggle_exports, {
31
+ Toggle: () => Toggle,
32
+ ToggleFrame: () => ToggleFrame
33
+ });
34
+ module.exports = __toCommonJS(Toggle_exports);
35
+ var import_jsx_runtime = require("react/jsx-runtime");
36
+ var import_compose_refs = require("@tamagui/compose-refs");
37
+ var import_helpers = require("@tamagui/helpers");
38
+ var import_size = require("@tamagui/size");
39
+ var import_use_controllable_state = require("@tamagui/use-controllable-state");
40
+ var import_web = require("@tamagui/web");
41
+ var React = __toESM(require("react"), 1);
42
+ var import_context = require("./context.native.js");
43
+ var NAME = "Toggle";
44
+ var ToggleFrame = (0, import_web.styled)(import_web.View, {
45
+ displayName: NAME,
46
+ render: "button",
47
+ context: import_context.context,
48
+ size: true,
49
+ alignItems: "center",
50
+ justifyContent: "center",
51
+ variants: {
52
+ size: import_web.styled.dynamic(function(val, env) {
53
+ if (!val) return;
54
+ var { frame, controlHeight } = (0, import_size.resolveSize)(val, env);
55
+ var side = controlHeight + 2;
56
+ return {
57
+ width: side,
58
+ height: side,
59
+ borderRadius: frame.borderRadius
60
+ };
61
+ }),
62
+ defaultActiveStyle: { true: {} }
63
+ }
64
+ });
65
+ var Toggle = (0, import_compose_refs.createRefComponent)(function Toggle2(props, forwardedRef) {
66
+ var { active: activeProp, activeStyle, defaultActive = false, onActiveChange, activeTheme, ...buttonProps } = props;
67
+ var [active = false, setActive] = (0, import_use_controllable_state.useControllableState)({
68
+ prop: activeProp,
69
+ onChange: onActiveChange,
70
+ defaultProp: defaultActive
71
+ });
72
+ var _props_onPress;
73
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleFrame, {
74
+ theme: activeTheme !== null && activeTheme !== void 0 ? activeTheme : null,
75
+ "aria-pressed": active,
76
+ "data-state": active ? "on" : "off",
77
+ "data-disabled": props.disabled ? "" : void 0,
78
+ ...active && !activeStyle && { defaultActiveStyle: true },
79
+ ...buttonProps,
80
+ style: [buttonProps.style, active && activeStyle],
81
+ ref: forwardedRef,
82
+ onPress: (0, import_helpers.composeEventHandlers)((_props_onPress = props.onPress) !== null && _props_onPress !== void 0 ? _props_onPress : void 0, function() {
83
+ if (!props.disabled) {
84
+ setActive(function(prev) {
85
+ return !prev;
86
+ });
87
+ }
88
+ })
89
+ });
90
+ });
@@ -7,157 +7,86 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
7
7
  var __getProtoOf = Object.getPrototypeOf;
8
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
9
  var __export = (target, all) => {
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: true
13
- });
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
14
  };
15
15
  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;
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;
23
23
  };
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
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
25
+ value: mod,
26
+ enumerable: true
32
27
  }) : target, mod));
33
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
- value: true
35
- }), mod);
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
29
  var Toggle_exports = {};
37
30
  __export(Toggle_exports, {
38
- Toggle: () => Toggle,
39
- ToggleFrame: () => ToggleFrame
31
+ Toggle: () => Toggle,
32
+ ToggleFrame: () => ToggleFrame
40
33
  });
41
34
  module.exports = __toCommonJS(Toggle_exports);
42
35
  var import_jsx_runtime = require("react/jsx-runtime");
36
+ var import_compose_refs = require("@tamagui/compose-refs");
43
37
  var import_helpers = require("@tamagui/helpers");
38
+ var import_size = require("@tamagui/size");
44
39
  var import_use_controllable_state = require("@tamagui/use-controllable-state");
45
40
  var import_web = require("@tamagui/web");
46
41
  var React = __toESM(require("react"), 1);
47
42
  var import_context = require("./context.native.js");
48
43
  var NAME = "Toggle";
49
44
  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
- }
45
+ displayName: NAME,
46
+ render: "button",
47
+ context: import_context.context,
48
+ size: true,
49
+ alignItems: "center",
50
+ justifyContent: "center",
51
+ variants: {
52
+ size: import_web.styled.dynamic(function(val, env) {
53
+ if (!val) return;
54
+ var { frame, controlHeight } = (0, import_size.resolveSize)(val, env);
55
+ var side = controlHeight + 2;
56
+ return {
57
+ width: side,
58
+ height: side,
59
+ borderRadius: frame.borderRadius
60
+ };
61
+ }),
62
+ defaultActiveStyle: { true: {} }
63
+ }
117
64
  });
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
- });
65
+ var Toggle = (0, import_compose_refs.createRefComponent)(function Toggle2(props, forwardedRef) {
66
+ var { active: activeProp, activeStyle, defaultActive = false, onActiveChange, activeTheme, ...buttonProps } = props;
67
+ var [active = false, setActive] = (0, import_use_controllable_state.useControllableState)({
68
+ prop: activeProp,
69
+ onChange: onActiveChange,
70
+ defaultProp: defaultActive
71
+ });
72
+ var _props_onPress;
73
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleFrame, {
74
+ theme: activeTheme !== null && activeTheme !== void 0 ? activeTheme : null,
75
+ "aria-pressed": active,
76
+ "data-state": active ? "on" : "off",
77
+ "data-disabled": props.disabled ? "" : void 0,
78
+ ...active && !activeStyle && { defaultActiveStyle: true },
79
+ ...buttonProps,
80
+ style: [buttonProps.style, active && activeStyle],
81
+ ref: forwardedRef,
82
+ onPress: (0, import_helpers.composeEventHandlers)((_props_onPress = props.onPress) !== null && _props_onPress !== void 0 ? _props_onPress : void 0, function() {
83
+ if (!props.disabled) {
84
+ setActive(function(prev) {
85
+ return !prev;
86
+ });
87
+ }
88
+ })
89
+ });
162
90
  });
91
+
163
92
  //# 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 variants: {\n size: import_web.styled.dynamic(function(val, env) {\n if (!val) return;\n var { frame, controlHeight } = (0, import_size.resolveSize)(val, env);\n var side = controlHeight + 2;\n return {\n width: side,\n height: side,\n borderRadius: frame.borderRadius\n };\n }),\n defaultActiveStyle: {\n true: {}\n }\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 style: [\n buttonProps.style,\n active && activeStyle\n ],\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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"}