@tamagui/toggle-group 3.0.0-beta.922.1 → 3.0.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.
Files changed (49) hide show
  1. package/dist/cjs/Toggle.cjs +2 -16
  2. package/dist/cjs/Toggle.native.cjs +2 -17
  3. package/dist/cjs/Toggle.native.js +2 -17
  4. package/dist/cjs/Toggle.native.js.map +1 -1
  5. package/dist/cjs/ToggleGroup.cjs +1 -1
  6. package/dist/cjs/ToggleGroup.native.cjs +1 -1
  7. package/dist/cjs/ToggleGroup.native.js +1 -1
  8. package/dist/cjs/ToggleGroup.native.js.map +1 -1
  9. package/dist/cjs/context.cjs +1 -1
  10. package/dist/cjs/context.native.cjs +1 -1
  11. package/dist/cjs/context.native.js +1 -1
  12. package/dist/cjs/context.native.js.map +1 -1
  13. package/dist/esm/Toggle.mjs +2 -16
  14. package/dist/esm/Toggle.mjs.map +1 -1
  15. package/dist/esm/Toggle.native.js +2 -17
  16. package/dist/esm/Toggle.native.js.map +1 -1
  17. package/dist/esm/ToggleGroup.mjs +1 -1
  18. package/dist/esm/ToggleGroup.mjs.map +1 -1
  19. package/dist/esm/ToggleGroup.native.js +1 -1
  20. package/dist/esm/ToggleGroup.native.js.map +1 -1
  21. package/dist/esm/context.mjs +1 -1
  22. package/dist/esm/context.mjs.map +1 -1
  23. package/dist/esm/context.native.js +1 -1
  24. package/dist/esm/context.native.js.map +1 -1
  25. package/dist/jsx/Toggle.mjs +2 -16
  26. package/dist/jsx/Toggle.mjs.map +1 -1
  27. package/dist/jsx/Toggle.native.cjs +2 -17
  28. package/dist/jsx/Toggle.native.js +2 -17
  29. package/dist/jsx/Toggle.native.js.map +1 -1
  30. package/dist/jsx/ToggleGroup.mjs +1 -1
  31. package/dist/jsx/ToggleGroup.mjs.map +1 -1
  32. package/dist/jsx/ToggleGroup.native.cjs +1 -1
  33. package/dist/jsx/ToggleGroup.native.js +1 -1
  34. package/dist/jsx/ToggleGroup.native.js.map +1 -1
  35. package/dist/jsx/context.mjs +1 -1
  36. package/dist/jsx/context.mjs.map +1 -1
  37. package/dist/jsx/context.native.cjs +1 -1
  38. package/dist/jsx/context.native.js +1 -1
  39. package/dist/jsx/context.native.js.map +1 -1
  40. package/package.json +18 -17
  41. package/src/Toggle.tsx +8 -21
  42. package/src/ToggleGroup.tsx +18 -3
  43. package/src/context.tsx +2 -2
  44. package/types/Toggle.d.ts +2 -5
  45. package/types/Toggle.d.ts.map +1 -1
  46. package/types/ToggleGroup.d.ts +14 -25
  47. package/types/ToggleGroup.d.ts.map +1 -1
  48. package/types/context.d.ts +2 -2
  49. package/types/context.d.ts.map +1 -1
@@ -1,6 +1,5 @@
1
1
  import { createRefComponent } from "@tamagui/compose-refs";
2
2
  import { composeEventHandlers } from "@tamagui/helpers";
3
- import { resolveSizeToken } from "@tamagui/size";
4
3
  import { useControllableState } from "@tamagui/use-controllable-state";
5
4
  import { View, styled } from "@tamagui/web";
6
5
  import { context } from "./context.mjs";
@@ -11,22 +10,9 @@ const ToggleFrame = styled(View, {
11
10
  displayName: NAME,
12
11
  render: "button",
13
12
  context,
14
- size: true,
15
13
  alignItems: "center",
16
14
  justifyContent: "center",
17
- display: "flex",
18
- variants: {
19
- size: styled.dynamic((val, { tokens }) => {
20
- if (!val) return;
21
- const sizeToken = resolveSizeToken(val, "size");
22
- const size = typeof sizeToken === "number" ? sizeToken : tokens.size[sizeToken];
23
- return {
24
- width: size,
25
- height: size
26
- };
27
- }),
28
- defaultActiveStyle: { true: {} }
29
- }
15
+ variants: { defaultActiveStyle: { true: {} } }
30
16
  });
31
17
  const Toggle = createRefComponent(function Toggle2(props, forwardedRef) {
32
18
  const { active: activeProp, activeStyle, defaultActive = false, onActiveChange, activeTheme, ...buttonProps } = props;
@@ -36,7 +22,7 @@ const Toggle = createRefComponent(function Toggle2(props, forwardedRef) {
36
22
  defaultProp: defaultActive
37
23
  });
38
24
  return /* @__PURE__ */ jsx(ToggleFrame, {
39
- theme: activeTheme ?? null,
25
+ theme: active ? activeTheme ?? null : null,
40
26
  "aria-pressed": active,
41
27
  "data-state": active ? "on" : "off",
42
28
  "data-disabled": props.disabled ? "" : void 0,
@@ -1 +1 @@
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(View, {\n displayName: NAME,\n render: \"button\",\n context,\n size: true,\n alignItems: \"center\",\n justifyContent: \"center\",\n display: \"flex\",\n variants: {\n size: styled.dynamic((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 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,SAAS;CACT,UAAU;EACR,MAAM,OAAO,SAAS,KAAK,EAAE,aAAa;GACxC,IAAI,CAAC,KAAK;GACV,MAAM,YAAY,iBAAiB,KAAK,MAAM;GAC9C,MAAM,OAAO,OAAO,cAAc,WAAW,YAAY,OAAO,KAAK;GACrE,OAAO;IACL,OAAO;IACP,QAAQ;GACV;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"}
1
+ {"version":3,"file":"Toggle.js","names":[],"sources":["jsx/Toggle.js"],"sourcesContent":["import { createRefComponent } from \"@tamagui/compose-refs\";\nimport { composeEventHandlers } from \"@tamagui/helpers\";\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 alignItems: \"center\",\n justifyContent: \"center\",\n variants: {\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: active ? activeTheme ?? null : 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":";;;;;;;;AAMA,MAAM,OAAO;AACb,MAAM,cAAc,OAAO,MAAM;CAC/B,aAAa;CACb,QAAQ;CACR;CACA,YAAY;CACZ,gBAAgB;CAChB,UAAU,EACR,oBAAoB,EAClB,MAAM,CAAC,EACT,EACF;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,SAAS,eAAe,OAAO;EACtC,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"}
@@ -35,7 +35,6 @@ module.exports = __toCommonJS(Toggle_exports);
35
35
  var import_jsx_runtime = require("react/jsx-runtime");
36
36
  var import_compose_refs = require("@tamagui/compose-refs");
37
37
  var import_helpers = require("@tamagui/helpers");
38
- var import_size = require("@tamagui/size");
39
38
  var import_use_controllable_state = require("@tamagui/use-controllable-state");
40
39
  var import_web = require("@tamagui/web");
41
40
  var React = __toESM(require("react"), 1);
@@ -45,23 +44,9 @@ var ToggleFrame = (0, import_web.styled)(import_web.View, {
45
44
  displayName: NAME,
46
45
  render: "button",
47
46
  context: import_context.context,
48
- size: true,
49
47
  alignItems: "center",
50
48
  justifyContent: "center",
51
- display: "flex",
52
- variants: {
53
- size: import_web.styled.dynamic(function(val, param) {
54
- var { tokens } = param;
55
- if (!val) return;
56
- var sizeToken = (0, import_size.resolveSizeToken)(val, "size");
57
- var size = typeof sizeToken === "number" ? sizeToken : tokens.size[sizeToken];
58
- return {
59
- width: size,
60
- height: size
61
- };
62
- }),
63
- defaultActiveStyle: { true: {} }
64
- }
49
+ variants: { defaultActiveStyle: { true: {} } }
65
50
  });
66
51
  var Toggle = (0, import_compose_refs.createRefComponent)(function Toggle2(props, forwardedRef) {
67
52
  var { active: activeProp, activeStyle, defaultActive = false, onActiveChange, activeTheme, ...buttonProps } = props;
@@ -72,7 +57,7 @@ var Toggle = (0, import_compose_refs.createRefComponent)(function Toggle2(props,
72
57
  });
73
58
  var _props_onPress;
74
59
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleFrame, {
75
- theme: activeTheme !== null && activeTheme !== void 0 ? activeTheme : null,
60
+ theme: active ? activeTheme !== null && activeTheme !== void 0 ? activeTheme : null : null,
76
61
  "aria-pressed": active,
77
62
  "data-state": active ? "on" : "off",
78
63
  "data-disabled": props.disabled ? "" : void 0,
@@ -35,7 +35,6 @@ module.exports = __toCommonJS(Toggle_exports);
35
35
  var import_jsx_runtime = require("react/jsx-runtime");
36
36
  var import_compose_refs = require("@tamagui/compose-refs");
37
37
  var import_helpers = require("@tamagui/helpers");
38
- var import_size = require("@tamagui/size");
39
38
  var import_use_controllable_state = require("@tamagui/use-controllable-state");
40
39
  var import_web = require("@tamagui/web");
41
40
  var React = __toESM(require("react"), 1);
@@ -45,23 +44,9 @@ var ToggleFrame = (0, import_web.styled)(import_web.View, {
45
44
  displayName: NAME,
46
45
  render: "button",
47
46
  context: import_context.context,
48
- size: true,
49
47
  alignItems: "center",
50
48
  justifyContent: "center",
51
- display: "flex",
52
- variants: {
53
- size: import_web.styled.dynamic(function(val, param) {
54
- var { tokens } = param;
55
- if (!val) return;
56
- var sizeToken = (0, import_size.resolveSizeToken)(val, "size");
57
- var size = typeof sizeToken === "number" ? sizeToken : tokens.size[sizeToken];
58
- return {
59
- width: size,
60
- height: size
61
- };
62
- }),
63
- defaultActiveStyle: { true: {} }
64
- }
49
+ variants: { defaultActiveStyle: { true: {} } }
65
50
  });
66
51
  var Toggle = (0, import_compose_refs.createRefComponent)(function Toggle2(props, forwardedRef) {
67
52
  var { active: activeProp, activeStyle, defaultActive = false, onActiveChange, activeTheme, ...buttonProps } = props;
@@ -72,7 +57,7 @@ var Toggle = (0, import_compose_refs.createRefComponent)(function Toggle2(props,
72
57
  });
73
58
  var _props_onPress;
74
59
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleFrame, {
75
- theme: activeTheme !== null && activeTheme !== void 0 ? activeTheme : null,
60
+ theme: active ? activeTheme !== null && activeTheme !== void 0 ? activeTheme : null : null,
76
61
  "aria-pressed": active,
77
62
  "data-state": active ? "on" : "off",
78
63
  "data-disabled": props.disabled ? "" : void 0,
@@ -1 +1 @@
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: import_web.styled.dynamic(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 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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"}
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_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 alignItems: \"center\",\n justifyContent: \"center\",\n variants: {\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: active ? activeTheme !== null && activeTheme !== void 0 ? activeTheme : null : 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":";;;AACA,IAAI,WAAW,OAAO;AACtB,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO;AAC1B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,WAAW,KAAK,YAAY,YAAY,SAAS,OAAO,OAAO,SAAS,aAAa,GAAG,CAAC,IAAI,CAAC,GAAG,YAKnG,cAAc,CAAC,OAAO,CAAC,IAAI,aAAa,UAAU,QAAQ,WAAW;CAAE,OAAO;CAAK,YAAY;AAAK,CAAC,IAAI,QACzG,GACF;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,iBAAiB,CAAC;AACtB,SAAS,gBAAgB;CACvB,cAAc;CACd,mBAAmB;AACrB,CAAC;AACD,OAAO,UAAU,aAAa,cAAc;AAC5C,IAAI,qBAAqB,QAAQ,mBAAmB;AACpD,IAAI,sBAAsB,QAAQ,uBAAuB;AACzD,IAAI,iBAAiB,QAAQ,kBAAkB;AAC/C,IAAI,gCAAgC,QAAQ,iCAAiC;AAC7E,IAAI,aAAa,QAAQ,cAAc;AACvC,IAAI,QAAQ,QAAQ,QAAQ,OAAO,GAAG,CAAC;AACvC,IAAI,iBAAiB,QAAQ,qBAAW;AACxC,IAAI,OAAO;AACX,IAAI,eAAe,GAAG,WAAW,OAAM,CAAE,WAAW,MAAM;CACxD,aAAa;CACb,QAAQ;CACR,SAAS,eAAe;CACxB,YAAY;CACZ,gBAAgB;CAChB,UAAU,EACR,oBAAoB,EAClB,MAAM,CAAC,EACT,EACF;AACF,CAAC;AACD,IAAI,UAAU,GAAG,oBAAoB,mBAAkB,CAAE,SAAS,QAAQ,OAAO,cAAc;CAC7F,IAAI,EAAE,QAAQ,YAAY,aAAa,gBAAgB,OAAO,gBAAgB,aAAa,GAAG,gBAAgB;CAC9G,IAAI,CAAC,SAAS,OAAO,cAAc,GAAG,8BAA8B,qBAAoB,CAAE;EACxF,MAAM;EACN,UAAU;EACV,aAAa;CACf,CAAC;CACD,IAAI;CACJ,OAAuB,iBAAC,GAAG,mBAAmB,IAAG,CAAE,aAAa;EAC9D,OAAO,SAAS,gBAAgB,QAAQ,gBAAgB,KAAK,IAAI,cAAc,OAAO;EACtF,gBAAgB;EAChB,cAAc,SAAS,OAAO;EAC9B,iBAAiB,MAAM,WAAW,KAAK,KAAK;EAC5C,GAAG,UAAU,CAAC,eAAe,EAC3B,oBAAoB,KACtB;EACA,GAAG;EACH,OAAO,CACL,YAAY,OACZ,UAAU,WACZ;EACA,KAAK;EACL,UAAU,GAAG,eAAe,qBAAoB,EAAG,iBAAiB,MAAM,aAAa,QAAQ,mBAAmB,KAAK,IAAI,iBAAiB,KAAK,GAAG,WAAW;GAC7J,IAAI,CAAC,MAAM,UAAU;IACnB,UAAU,SAAS,MAAM;KACvB,OAAO,CAAC;IACV,CAAC;GACH;EACF,CAAC;CACH,CAAC;AACH,CAAC"}
@@ -25,7 +25,7 @@ const ToggleGroupItem = createStyledHOC(ToggleFrame, (props, forwardedRef) => {
25
25
  const disabled = context$1.disabled || props.disabled || false;
26
26
  const inner = /* @__PURE__ */ jsx(ToggleGroupItemImpl, {
27
27
  ref: forwardedRef,
28
- tabIndex: disabled ? -1 : 0,
28
+ ...context$1.rovingFocus ? null : { tabIndex: disabled ? -1 : 0 },
29
29
  ...props,
30
30
  active,
31
31
  disabled
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleGroup.js","names":["context","ToggleContext"],"sources":["jsx/ToggleGroup.js"],"sourcesContent":["import { createRefComponent } from \"@tamagui/compose-refs\";\nimport { isWeb } from \"@tamagui/constants\";\nimport { registerFocusable } from \"@tamagui/focusable\";\nimport { withStaticProperties } from \"@tamagui/helpers\";\nimport { RovingFocusGroup } from \"@tamagui/roving-focus\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport { useDirection } from \"@tamagui/use-direction\";\nimport { createStyledHOC, createStyledContext, styled, View } from \"@tamagui/web\";\nimport React from \"react\";\nimport { Toggle, ToggleFrame } from \"./Toggle\";\nimport { context as ToggleContext } from \"./context\";\nimport { jsx } from \"react/jsx-runtime\";\nconst TOGGLE_GROUP_NAME = \"ToggleGroup\";\nconst TOGGLE_GROUP_ITEM_NAME = \"ToggleGroupItem\";\nconst TOGGLE_GROUP_CONTEXT = \"ToggleGroup\";\nconst { Provider: ToggleGroupItemProvider } = createStyledContext();\nconst { Provider: ToggleGroupContext, useStyledContext: useToggleGroupContext } = createStyledContext({});\nconst ToggleGroupItem = createStyledHOC(\n ToggleFrame,\n (props, forwardedRef) => {\n const valueContext = useToggleGroupValueContext(props.__scopeToggleGroup);\n const context = useToggleGroupContext(props.__scopeToggleGroup);\n const toggleContext = ToggleContext.useStyledContext(props.__scopeToggleGroup);\n const active = valueContext?.value.includes(props.value);\n const color = props.color || toggleContext.color;\n const disabled = context.disabled || props.disabled || false;\n const inner = /* @__PURE__ */ jsx(\n ToggleGroupItemImpl,\n {\n ref: forwardedRef,\n tabIndex: disabled ? -1 : 0,\n ...props,\n active,\n disabled\n }\n );\n return /* @__PURE__ */ jsx(ToggleGroupItemProvider, { scope: props.__scopeToggleGroup, children: /* @__PURE__ */ jsx(ToggleContext.Provider, { color, active, children: context.rovingFocus ? /* @__PURE__ */ jsx(\n RovingFocusGroup.Item,\n {\n asChild: \"except-style\",\n __scopeRovingFocusGroup: props.__scopeToggleGroup || TOGGLE_GROUP_CONTEXT,\n tabIndex: disabled ? -1 : 0,\n active,\n children: inner\n }\n ) : inner }) });\n }\n);\nToggleGroupItem.displayName = TOGGLE_GROUP_ITEM_NAME;\nconst ToggleGroupItemImpl = createRefComponent((props, forwardedRef) => {\n const { __scopeToggleGroup, value, ...itemProps } = props;\n const valueContext = useToggleGroupValueContext(__scopeToggleGroup);\n const singleProps = { \"aria-pressed\": void 0 };\n const typeProps = valueContext.type === \"single\" ? singleProps : void 0;\n return /* @__PURE__ */ jsx(\n Toggle,\n {\n ...typeProps,\n ...itemProps,\n ref: forwardedRef,\n onActiveChange: (pressed) => {\n if (pressed) {\n valueContext.onItemActivate(value);\n } else {\n valueContext.onItemDeactivate(value);\n }\n }\n }\n );\n});\nconst ToggleGroup = withStaticProperties(\n createRefComponent(\n (props, forwardedRef) => {\n const { type, ...toggleGroupProps } = props;\n if (!isWeb) {\n React.useEffect(() => {\n if (!props.id) return;\n return registerFocusable(props.id, {\n focus: () => {\n }\n });\n }, [props.id]);\n }\n if (type === \"single\") {\n const singleProps = toggleGroupProps;\n return /* @__PURE__ */ jsx(ToggleGroupImplSingle, { ...singleProps, ref: forwardedRef });\n }\n if (type === \"multiple\") {\n const multipleProps = toggleGroupProps;\n return /* @__PURE__ */ jsx(ToggleGroupImplMultiple, { ...multipleProps, ref: forwardedRef });\n }\n throw new Error(`Missing prop \\`type\\` expected on \\`${TOGGLE_GROUP_NAME}\\``);\n }\n ),\n {\n Item: ToggleGroupItem\n }\n);\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\nconst {\n Provider: ToggleGroupValueProvider,\n useStyledContext: useToggleGroupValueContext\n} = createStyledContext();\nconst ToggleGroupImplSingle = createRefComponent((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n disableDeactivation = false,\n children,\n ...toggleGroupSingleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n return /* @__PURE__ */ jsx(\n ToggleGroupValueProvider,\n {\n scope: props.__scopeToggleGroup,\n type: \"single\",\n value: value ? [value] : [],\n defaultValue: value,\n onItemActivate: setValue,\n onItemDeactivate: React.useCallback(\n () => disableDeactivation ? null : setValue(\"\"),\n [setValue, disableDeactivation]\n ),\n children: /* @__PURE__ */ jsx(ToggleGroupImpl, { ...toggleGroupSingleProps, ref: forwardedRef, children })\n }\n );\n});\nconst ToggleGroupImplMultiple = createRefComponent((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n disableDeactivation,\n children,\n ...toggleGroupMultipleProps\n } = props;\n const [value = [], setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n const handleButtonActivate = React.useCallback(\n (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n const handleButtonDeactivate = React.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n [setValue]\n );\n return /* @__PURE__ */ jsx(\n ToggleGroupValueProvider,\n {\n scope: props.__scopeToggleGroup,\n type: \"multiple\",\n value,\n defaultValue: value,\n onItemActivate: handleButtonActivate,\n onItemDeactivate: handleButtonDeactivate,\n children: /* @__PURE__ */ jsx(ToggleGroupImpl, { ...toggleGroupMultipleProps, ref: forwardedRef, children })\n }\n );\n});\nconst ToggleGroupFrame = styled(View, {\n displayName: TOGGLE_GROUP_NAME\n});\nconst ToggleGroupImpl = createStyledHOC(\n ToggleGroupFrame,\n (props, forwardedRef) => {\n const {\n __scopeToggleGroup,\n disabled = false,\n orientation = \"horizontal\",\n dir,\n rovingFocus = true,\n loop = true,\n color,\n ...toggleGroupProps\n } = props;\n const direction = useDirection(dir);\n const content = /* @__PURE__ */ jsx(\n ToggleGroupFrame,\n {\n role: \"group\",\n ref: forwardedRef,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...toggleGroupProps\n }\n );\n return /* @__PURE__ */ jsx(\n ToggleGroupContext,\n {\n scope: __scopeToggleGroup,\n rovingFocus,\n disabled,\n children: /* @__PURE__ */ jsx(ToggleContext.Provider, { color, children: rovingFocus ? /* @__PURE__ */ jsx(\n RovingFocusGroup,\n {\n asChild: \"except-style\",\n __scopeRovingFocusGroup: __scopeToggleGroup || TOGGLE_GROUP_CONTEXT,\n orientation,\n dir: direction,\n loop,\n children: content\n }\n ) : content })\n }\n );\n }\n);\nexport {\n ToggleGroup\n};\n//# sourceMappingURL=ToggleGroup.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"ToggleGroup.js","names":["context","ToggleContext"],"sources":["jsx/ToggleGroup.js"],"sourcesContent":["import { createRefComponent } from \"@tamagui/compose-refs\";\nimport { isWeb } from \"@tamagui/constants\";\nimport { registerFocusable } from \"@tamagui/focusable\";\nimport { withStaticProperties } from \"@tamagui/helpers\";\nimport { RovingFocusGroup } from \"@tamagui/roving-focus\";\nimport { useControllableState } from \"@tamagui/use-controllable-state\";\nimport { useDirection } from \"@tamagui/use-direction\";\nimport { createStyledHOC, createStyledContext, styled, View } from \"@tamagui/web\";\nimport React from \"react\";\nimport { Toggle, ToggleFrame } from \"./Toggle\";\nimport { context as ToggleContext } from \"./context\";\nimport { jsx } from \"react/jsx-runtime\";\nconst TOGGLE_GROUP_NAME = \"ToggleGroup\";\nconst TOGGLE_GROUP_ITEM_NAME = \"ToggleGroupItem\";\nconst TOGGLE_GROUP_CONTEXT = \"ToggleGroup\";\nconst { Provider: ToggleGroupItemProvider } = createStyledContext();\nconst { Provider: ToggleGroupContext, useStyledContext: useToggleGroupContext } = createStyledContext({});\nconst ToggleGroupItem = createStyledHOC(\n ToggleFrame,\n (props, forwardedRef) => {\n const valueContext = useToggleGroupValueContext(props.__scopeToggleGroup);\n const context = useToggleGroupContext(props.__scopeToggleGroup);\n const toggleContext = ToggleContext.useStyledContext(props.__scopeToggleGroup);\n const active = valueContext?.value.includes(props.value);\n const color = props.color || toggleContext.color;\n const disabled = context.disabled || props.disabled || false;\n const inner = /* @__PURE__ */ jsx(\n ToggleGroupItemImpl,\n {\n ref: forwardedRef,\n ...context.rovingFocus ? null : { tabIndex: disabled ? -1 : 0 },\n ...props,\n active,\n disabled\n }\n );\n return /* @__PURE__ */ jsx(ToggleGroupItemProvider, { scope: props.__scopeToggleGroup, children: /* @__PURE__ */ jsx(ToggleContext.Provider, { color, active, children: context.rovingFocus ? /* @__PURE__ */ jsx(\n RovingFocusGroup.Item,\n {\n asChild: \"except-style\",\n __scopeRovingFocusGroup: props.__scopeToggleGroup || TOGGLE_GROUP_CONTEXT,\n tabIndex: disabled ? -1 : 0,\n active,\n children: inner\n }\n ) : inner }) });\n }\n);\nToggleGroupItem.displayName = TOGGLE_GROUP_ITEM_NAME;\nconst ToggleGroupItemImpl = createRefComponent((props, forwardedRef) => {\n const { __scopeToggleGroup, value, ...itemProps } = props;\n const valueContext = useToggleGroupValueContext(__scopeToggleGroup);\n const singleProps = { \"aria-pressed\": void 0 };\n const typeProps = valueContext.type === \"single\" ? singleProps : void 0;\n return /* @__PURE__ */ jsx(\n Toggle,\n {\n ...typeProps,\n ...itemProps,\n ref: forwardedRef,\n onActiveChange: (pressed) => {\n if (pressed) {\n valueContext.onItemActivate(value);\n } else {\n valueContext.onItemDeactivate(value);\n }\n }\n }\n );\n});\nconst ToggleGroup = withStaticProperties(\n createRefComponent(\n (props, forwardedRef) => {\n const { type, ...toggleGroupProps } = props;\n if (!isWeb) {\n React.useEffect(() => {\n if (!props.id) return;\n return registerFocusable(props.id, {\n focus: () => {\n }\n });\n }, [props.id]);\n }\n if (type === \"single\") {\n const singleProps = toggleGroupProps;\n return /* @__PURE__ */ jsx(ToggleGroupImplSingle, { ...singleProps, ref: forwardedRef });\n }\n if (type === \"multiple\") {\n const multipleProps = toggleGroupProps;\n return /* @__PURE__ */ jsx(ToggleGroupImplMultiple, { ...multipleProps, ref: forwardedRef });\n }\n throw new Error(`Missing prop \\`type\\` expected on \\`${TOGGLE_GROUP_NAME}\\``);\n }\n ),\n {\n Item: ToggleGroupItem\n }\n);\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\nconst {\n Provider: ToggleGroupValueProvider,\n useStyledContext: useToggleGroupValueContext\n} = createStyledContext();\nconst ToggleGroupImplSingle = createRefComponent((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n disableDeactivation = false,\n children,\n ...toggleGroupSingleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n return /* @__PURE__ */ jsx(\n ToggleGroupValueProvider,\n {\n scope: props.__scopeToggleGroup,\n type: \"single\",\n value: value ? [value] : [],\n defaultValue: value,\n onItemActivate: setValue,\n onItemDeactivate: React.useCallback(\n () => disableDeactivation ? null : setValue(\"\"),\n [setValue, disableDeactivation]\n ),\n children: /* @__PURE__ */ jsx(ToggleGroupImpl, { ...toggleGroupSingleProps, ref: forwardedRef, children })\n }\n );\n});\nconst ToggleGroupImplMultiple = createRefComponent((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n disableDeactivation,\n children,\n ...toggleGroupMultipleProps\n } = props;\n const [value = [], setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n const handleButtonActivate = React.useCallback(\n (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n const handleButtonDeactivate = React.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n [setValue]\n );\n return /* @__PURE__ */ jsx(\n ToggleGroupValueProvider,\n {\n scope: props.__scopeToggleGroup,\n type: \"multiple\",\n value,\n defaultValue: value,\n onItemActivate: handleButtonActivate,\n onItemDeactivate: handleButtonDeactivate,\n children: /* @__PURE__ */ jsx(ToggleGroupImpl, { ...toggleGroupMultipleProps, ref: forwardedRef, children })\n }\n );\n});\nconst ToggleGroupFrame = styled(View, {\n displayName: TOGGLE_GROUP_NAME\n});\nconst ToggleGroupImpl = createStyledHOC(\n ToggleGroupFrame,\n (props, forwardedRef) => {\n const {\n __scopeToggleGroup,\n disabled = false,\n orientation = \"horizontal\",\n dir,\n rovingFocus = true,\n loop = true,\n color,\n ...toggleGroupProps\n } = props;\n const direction = useDirection(dir);\n const content = /* @__PURE__ */ jsx(\n ToggleGroupFrame,\n {\n role: \"group\",\n ref: forwardedRef,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...toggleGroupProps\n }\n );\n return /* @__PURE__ */ jsx(\n ToggleGroupContext,\n {\n scope: __scopeToggleGroup,\n rovingFocus,\n disabled,\n children: /* @__PURE__ */ jsx(ToggleContext.Provider, { color, children: rovingFocus ? /* @__PURE__ */ jsx(\n RovingFocusGroup,\n {\n asChild: \"except-style\",\n __scopeRovingFocusGroup: __scopeToggleGroup || TOGGLE_GROUP_CONTEXT,\n orientation,\n dir: direction,\n loop,\n children: content\n }\n ) : content })\n }\n );\n }\n);\nexport {\n ToggleGroup\n};\n//# sourceMappingURL=ToggleGroup.js.map\n"],"mappings":"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"}
@@ -55,7 +55,7 @@ var ToggleGroupItem = (0, import_web.createStyledHOC)(import_Toggle.ToggleFrame,
55
55
  var disabled = context.disabled || props.disabled || false;
56
56
  var inner = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupItemImpl, {
57
57
  ref: forwardedRef,
58
- tabIndex: disabled ? -1 : 0,
58
+ ...context.rovingFocus ? null : { tabIndex: disabled ? -1 : 0 },
59
59
  ...props,
60
60
  active,
61
61
  disabled
@@ -55,7 +55,7 @@ var ToggleGroupItem = (0, import_web.createStyledHOC)(import_Toggle.ToggleFrame,
55
55
  var disabled = context.disabled || props.disabled || false;
56
56
  var inner = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupItemImpl, {
57
57
  ref: forwardedRef,
58
- tabIndex: disabled ? -1 : 0,
58
+ ...context.rovingFocus ? null : { tabIndex: disabled ? -1 : 0 },
59
59
  ...props,
60
60
  active,
61
61
  disabled
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleGroup.native.js","names":[],"sources":["jsx/ToggleGroup.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 ToggleGroup_exports = {};\n__export(ToggleGroup_exports, {\n ToggleGroup: () => ToggleGroup\n});\nmodule.exports = __toCommonJS(ToggleGroup_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_focusable = require(\"@tamagui/focusable\");\nvar import_helpers = require(\"@tamagui/helpers\");\nvar import_roving_focus = require(\"@tamagui/roving-focus\");\nvar import_use_controllable_state = require(\"@tamagui/use-controllable-state\");\nvar import_use_direction = require(\"@tamagui/use-direction\");\nvar import_web = require(\"@tamagui/web\");\nvar import_react = __toESM(require(\"react\"), 1);\nvar import_Toggle = require(\"./Toggle\");\nvar import_context = require(\"./context\");\nvar TOGGLE_GROUP_NAME = \"ToggleGroup\";\nvar TOGGLE_GROUP_ITEM_NAME = \"ToggleGroupItem\";\nvar TOGGLE_GROUP_CONTEXT = \"ToggleGroup\";\nvar { Provider: ToggleGroupItemProvider } = (0, import_web.createStyledContext)();\nvar { Provider: ToggleGroupContext, useStyledContext: useToggleGroupContext } = (0, import_web.createStyledContext)({});\nvar ToggleGroupItem = (0, import_web.createStyledHOC)(import_Toggle.ToggleFrame, function(props, forwardedRef) {\n var valueContext = useToggleGroupValueContext(props.__scopeToggleGroup);\n var context = useToggleGroupContext(props.__scopeToggleGroup);\n var toggleContext = import_context.context.useStyledContext(props.__scopeToggleGroup);\n var active = valueContext === null || valueContext === void 0 ? void 0 : valueContext.value.includes(props.value);\n var color = props.color || toggleContext.color;\n var disabled = context.disabled || props.disabled || false;\n var inner = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupItemImpl, {\n ref: forwardedRef,\n tabIndex: disabled ? -1 : 0,\n ...props,\n active,\n disabled\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupItemProvider, {\n scope: props.__scopeToggleGroup,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_context.context.Provider, {\n color,\n active,\n children: context.rovingFocus ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_roving_focus.RovingFocusGroup.Item, {\n asChild: \"except-style\",\n __scopeRovingFocusGroup: props.__scopeToggleGroup || TOGGLE_GROUP_CONTEXT,\n tabIndex: disabled ? -1 : 0,\n active,\n children: inner\n }) : inner\n })\n });\n});\nToggleGroupItem.displayName = TOGGLE_GROUP_ITEM_NAME;\nvar ToggleGroupItemImpl = (0, import_compose_refs.createRefComponent)(function(props, forwardedRef) {\n var { __scopeToggleGroup, value, ...itemProps } = props;\n var valueContext = useToggleGroupValueContext(__scopeToggleGroup);\n var singleProps = {\n \"aria-pressed\": void 0\n };\n var typeProps = valueContext.type === \"single\" ? singleProps : void 0;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Toggle.Toggle, {\n ...typeProps,\n ...itemProps,\n ref: forwardedRef,\n onActiveChange: function(pressed) {\n if (pressed) {\n valueContext.onItemActivate(value);\n } else {\n valueContext.onItemDeactivate(value);\n }\n }\n });\n});\nvar ToggleGroup = (0, import_helpers.withStaticProperties)((0, import_compose_refs.createRefComponent)(function(props, forwardedRef) {\n var { type, ...toggleGroupProps } = props;\n if (!import_constants.isWeb) {\n import_react.default.useEffect(function() {\n if (!props.id) return;\n return (0, import_focusable.registerFocusable)(props.id, {\n focus: function() {\n }\n });\n }, [\n props.id\n ]);\n }\n if (type === \"single\") {\n var singleProps = toggleGroupProps;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupImplSingle, {\n ...singleProps,\n ref: forwardedRef\n });\n }\n if (type === \"multiple\") {\n var multipleProps = toggleGroupProps;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupImplMultiple, {\n ...multipleProps,\n ref: forwardedRef\n });\n }\n throw new Error(`Missing prop \\`type\\` expected on \\`${TOGGLE_GROUP_NAME}\\``);\n}), {\n Item: ToggleGroupItem\n});\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\nvar { Provider: ToggleGroupValueProvider, useStyledContext: useToggleGroupValueContext } = (0, import_web.createStyledContext)();\nvar ToggleGroupImplSingle = (0, import_compose_refs.createRefComponent)(function(props, forwardedRef) {\n var { value: valueProp, defaultValue, onValueChange = function() {\n }, disableDeactivation = false, children, ...toggleGroupSingleProps } = props;\n var [value, setValue] = (0, import_use_controllable_state.useControllableState)({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupValueProvider, {\n scope: props.__scopeToggleGroup,\n type: \"single\",\n value: value ? [\n value\n ] : [],\n defaultValue: value,\n onItemActivate: setValue,\n onItemDeactivate: import_react.default.useCallback(function() {\n return disableDeactivation ? null : setValue(\"\");\n }, [\n setValue,\n disableDeactivation\n ]),\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupImpl, {\n ...toggleGroupSingleProps,\n ref: forwardedRef,\n children\n })\n });\n});\nvar ToggleGroupImplMultiple = (0, import_compose_refs.createRefComponent)(function(props, forwardedRef) {\n var { value: valueProp, defaultValue, onValueChange = function() {\n }, disableDeactivation, children, ...toggleGroupMultipleProps } = props;\n var [value = [], setValue] = (0, import_use_controllable_state.useControllableState)({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n var handleButtonActivate = import_react.default.useCallback(function(itemValue) {\n return setValue(function() {\n var prevValue = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];\n return [\n ...prevValue,\n itemValue\n ];\n });\n }, [\n setValue\n ]);\n var handleButtonDeactivate = import_react.default.useCallback(function(itemValue) {\n return setValue(function() {\n var prevValue = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];\n return prevValue.filter(function(value2) {\n return value2 !== itemValue;\n });\n });\n }, [\n setValue\n ]);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupValueProvider, {\n scope: props.__scopeToggleGroup,\n type: \"multiple\",\n value,\n defaultValue: value,\n onItemActivate: handleButtonActivate,\n onItemDeactivate: handleButtonDeactivate,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupImpl, {\n ...toggleGroupMultipleProps,\n ref: forwardedRef,\n children\n })\n });\n});\nvar ToggleGroupFrame = (0, import_web.styled)(import_web.View, {\n displayName: TOGGLE_GROUP_NAME\n});\nvar ToggleGroupImpl = (0, import_web.createStyledHOC)(ToggleGroupFrame, function(props, forwardedRef) {\n var { __scopeToggleGroup, disabled = false, orientation = \"horizontal\", dir, rovingFocus = true, loop = true, color, ...toggleGroupProps } = props;\n var direction = (0, import_use_direction.useDirection)(dir);\n var content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupFrame, {\n role: \"group\",\n ref: forwardedRef,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...toggleGroupProps\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupContext, {\n scope: __scopeToggleGroup,\n rovingFocus,\n disabled,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_context.context.Provider, {\n color,\n children: rovingFocus ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_roving_focus.RovingFocusGroup, {\n asChild: \"except-style\",\n __scopeRovingFocusGroup: __scopeToggleGroup || TOGGLE_GROUP_CONTEXT,\n orientation,\n dir: direction,\n loop,\n children: content\n }) : content\n })\n });\n});\n//# sourceMappingURL=ToggleGroup.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"ToggleGroup.native.js","names":[],"sources":["jsx/ToggleGroup.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 ToggleGroup_exports = {};\n__export(ToggleGroup_exports, {\n ToggleGroup: () => ToggleGroup\n});\nmodule.exports = __toCommonJS(ToggleGroup_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_compose_refs = require(\"@tamagui/compose-refs\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_focusable = require(\"@tamagui/focusable\");\nvar import_helpers = require(\"@tamagui/helpers\");\nvar import_roving_focus = require(\"@tamagui/roving-focus\");\nvar import_use_controllable_state = require(\"@tamagui/use-controllable-state\");\nvar import_use_direction = require(\"@tamagui/use-direction\");\nvar import_web = require(\"@tamagui/web\");\nvar import_react = __toESM(require(\"react\"), 1);\nvar import_Toggle = require(\"./Toggle\");\nvar import_context = require(\"./context\");\nvar TOGGLE_GROUP_NAME = \"ToggleGroup\";\nvar TOGGLE_GROUP_ITEM_NAME = \"ToggleGroupItem\";\nvar TOGGLE_GROUP_CONTEXT = \"ToggleGroup\";\nvar { Provider: ToggleGroupItemProvider } = (0, import_web.createStyledContext)();\nvar { Provider: ToggleGroupContext, useStyledContext: useToggleGroupContext } = (0, import_web.createStyledContext)({});\nvar ToggleGroupItem = (0, import_web.createStyledHOC)(import_Toggle.ToggleFrame, function(props, forwardedRef) {\n var valueContext = useToggleGroupValueContext(props.__scopeToggleGroup);\n var context = useToggleGroupContext(props.__scopeToggleGroup);\n var toggleContext = import_context.context.useStyledContext(props.__scopeToggleGroup);\n var active = valueContext === null || valueContext === void 0 ? void 0 : valueContext.value.includes(props.value);\n var color = props.color || toggleContext.color;\n var disabled = context.disabled || props.disabled || false;\n var inner = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupItemImpl, {\n ref: forwardedRef,\n // on the roving path the group owns the tab order, so the item carries no\n // tabIndex of its own: Slot overlays child props over the roving Item's,\n // so a tabIndex here wins the merge and puts every toggle back in the tab\n // order. off that path nothing else makes the toggle focusable.\n ...context.rovingFocus ? null : {\n tabIndex: disabled ? -1 : 0\n },\n ...props,\n active,\n disabled\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupItemProvider, {\n scope: props.__scopeToggleGroup,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_context.context.Provider, {\n color,\n active,\n children: context.rovingFocus ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_roving_focus.RovingFocusGroup.Item, {\n asChild: \"except-style\",\n __scopeRovingFocusGroup: props.__scopeToggleGroup || TOGGLE_GROUP_CONTEXT,\n tabIndex: disabled ? -1 : 0,\n active,\n children: inner\n }) : inner\n })\n });\n});\nToggleGroupItem.displayName = TOGGLE_GROUP_ITEM_NAME;\nvar ToggleGroupItemImpl = (0, import_compose_refs.createRefComponent)(function(props, forwardedRef) {\n var { __scopeToggleGroup, value, ...itemProps } = props;\n var valueContext = useToggleGroupValueContext(__scopeToggleGroup);\n var singleProps = {\n \"aria-pressed\": void 0\n };\n var typeProps = valueContext.type === \"single\" ? singleProps : void 0;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Toggle.Toggle, {\n ...typeProps,\n ...itemProps,\n ref: forwardedRef,\n onActiveChange: function(pressed) {\n if (pressed) {\n valueContext.onItemActivate(value);\n } else {\n valueContext.onItemDeactivate(value);\n }\n }\n });\n});\nvar ToggleGroup = (0, import_helpers.withStaticProperties)((0, import_compose_refs.createRefComponent)(function(props, forwardedRef) {\n var { type, ...toggleGroupProps } = props;\n if (!import_constants.isWeb) {\n import_react.default.useEffect(function() {\n if (!props.id) return;\n return (0, import_focusable.registerFocusable)(props.id, {\n focus: function() {\n }\n });\n }, [\n props.id\n ]);\n }\n if (type === \"single\") {\n var singleProps = toggleGroupProps;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupImplSingle, {\n ...singleProps,\n ref: forwardedRef\n });\n }\n if (type === \"multiple\") {\n var multipleProps = toggleGroupProps;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupImplMultiple, {\n ...multipleProps,\n ref: forwardedRef\n });\n }\n throw new Error(`Missing prop \\`type\\` expected on \\`${TOGGLE_GROUP_NAME}\\``);\n}), {\n Item: ToggleGroupItem\n});\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\nvar { Provider: ToggleGroupValueProvider, useStyledContext: useToggleGroupValueContext } = (0, import_web.createStyledContext)();\nvar ToggleGroupImplSingle = (0, import_compose_refs.createRefComponent)(function(props, forwardedRef) {\n var { value: valueProp, defaultValue, onValueChange = function() {\n }, disableDeactivation = false, children, ...toggleGroupSingleProps } = props;\n var [value, setValue] = (0, import_use_controllable_state.useControllableState)({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupValueProvider, {\n scope: props.__scopeToggleGroup,\n type: \"single\",\n value: value ? [\n value\n ] : [],\n defaultValue: value,\n onItemActivate: setValue,\n onItemDeactivate: import_react.default.useCallback(function() {\n return disableDeactivation ? null : setValue(\"\");\n }, [\n setValue,\n disableDeactivation\n ]),\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupImpl, {\n ...toggleGroupSingleProps,\n ref: forwardedRef,\n children\n })\n });\n});\nvar ToggleGroupImplMultiple = (0, import_compose_refs.createRefComponent)(function(props, forwardedRef) {\n var { value: valueProp, defaultValue, onValueChange = function() {\n }, disableDeactivation, children, ...toggleGroupMultipleProps } = props;\n var [value = [], setValue] = (0, import_use_controllable_state.useControllableState)({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n var handleButtonActivate = import_react.default.useCallback(function(itemValue) {\n return setValue(function() {\n var prevValue = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];\n return [\n ...prevValue,\n itemValue\n ];\n });\n }, [\n setValue\n ]);\n var handleButtonDeactivate = import_react.default.useCallback(function(itemValue) {\n return setValue(function() {\n var prevValue = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];\n return prevValue.filter(function(value2) {\n return value2 !== itemValue;\n });\n });\n }, [\n setValue\n ]);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupValueProvider, {\n scope: props.__scopeToggleGroup,\n type: \"multiple\",\n value,\n defaultValue: value,\n onItemActivate: handleButtonActivate,\n onItemDeactivate: handleButtonDeactivate,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupImpl, {\n ...toggleGroupMultipleProps,\n ref: forwardedRef,\n children\n })\n });\n});\nvar ToggleGroupFrame = (0, import_web.styled)(import_web.View, {\n displayName: TOGGLE_GROUP_NAME\n});\nvar ToggleGroupImpl = (0, import_web.createStyledHOC)(ToggleGroupFrame, function(props, forwardedRef) {\n var { __scopeToggleGroup, disabled = false, orientation = \"horizontal\", dir, rovingFocus = true, loop = true, color, ...toggleGroupProps } = props;\n var direction = (0, import_use_direction.useDirection)(dir);\n var content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupFrame, {\n role: \"group\",\n ref: forwardedRef,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...toggleGroupProps\n });\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToggleGroupContext, {\n scope: __scopeToggleGroup,\n rovingFocus,\n disabled,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_context.context.Provider, {\n color,\n children: rovingFocus ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_roving_focus.RovingFocusGroup, {\n asChild: \"except-style\",\n __scopeRovingFocusGroup: __scopeToggleGroup || TOGGLE_GROUP_CONTEXT,\n orientation,\n dir: direction,\n loop,\n children: content\n }) : content\n })\n });\n});\n//# sourceMappingURL=ToggleGroup.js.map\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { createStyledContext } from "@tamagui/web";
2
2
 
3
3
  const context = createStyledContext({
4
- color: "",
4
+ color: void 0,
5
5
  active: false
6
6
  });
7
7
  const useToggleGroupItem = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["jsx/context.js"],"sourcesContent":["import { createStyledContext } from \"@tamagui/web\";\nconst context = createStyledContext({\n color: \"\",\n active: false\n});\nconst useToggleGroupItem = () => {\n return context.useStyledContext();\n};\nexport {\n context,\n useToggleGroupItem\n};\n//# sourceMappingURL=context.js.map\n"],"mappings":";;;AACA,MAAM,UAAU,oBAAoB;CAClC,OAAO;CACP,QAAQ;AACV,CAAC;AACD,MAAM,2BAA2B;CAC/B,OAAO,QAAQ,iBAAiB;AAClC"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["jsx/context.js"],"sourcesContent":["import { createStyledContext } from \"@tamagui/web\";\nconst context = createStyledContext({\n color: void 0,\n active: false\n});\nconst useToggleGroupItem = () => {\n return context.useStyledContext();\n};\nexport {\n context,\n useToggleGroupItem\n};\n//# sourceMappingURL=context.js.map\n"],"mappings":";;;AACA,MAAM,UAAU,oBAAoB;CAClC,OAAO,KAAK;CACZ,QAAQ;AACV,CAAC;AACD,MAAM,2BAA2B;CAC/B,OAAO,QAAQ,iBAAiB;AAClC"}
@@ -28,7 +28,7 @@ __export(context_exports, {
28
28
  module.exports = __toCommonJS(context_exports);
29
29
  var import_web = require("@tamagui/web");
30
30
  var context = (0, import_web.createStyledContext)({
31
- color: "",
31
+ color: void 0,
32
32
  active: false
33
33
  });
34
34
  var useToggleGroupItem = function() {
@@ -28,7 +28,7 @@ __export(context_exports, {
28
28
  module.exports = __toCommonJS(context_exports);
29
29
  var import_web = require("@tamagui/web");
30
30
  var context = (0, import_web.createStyledContext)({
31
- color: "",
31
+ color: void 0,
32
32
  active: false
33
33
  });
34
34
  var useToggleGroupItem = function() {
@@ -1 +1 @@
1
- {"version":3,"file":"context.native.js","names":[],"sources":["jsx/context.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\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 __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar context_exports = {};\n__export(context_exports, {\n context: () => context,\n useToggleGroupItem: () => useToggleGroupItem\n});\nmodule.exports = __toCommonJS(context_exports);\nvar import_web = require(\"@tamagui/web\");\nvar context = (0, import_web.createStyledContext)({\n color: \"\",\n active: false\n});\nvar useToggleGroupItem = function() {\n return context.useStyledContext();\n};\n//# sourceMappingURL=context.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,kBAAkB,CAAC;AACvB,SAAS,iBAAiB;CACxB,eAAe;CACf,0BAA0B;AAC5B,CAAC;AACD,OAAO,UAAU,aAAa,eAAe;AAC7C,IAAI,aAAa,QAAQ,cAAc;AACvC,IAAI,WAAW,GAAG,WAAW,oBAAmB,CAAE;CAChD,OAAO;CACP,QAAQ;AACV,CAAC;AACD,IAAI,qBAAqB,WAAW;CAClC,OAAO,QAAQ,iBAAiB;AAClC"}
1
+ {"version":3,"file":"context.native.js","names":[],"sources":["jsx/context.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\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 __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar context_exports = {};\n__export(context_exports, {\n context: () => context,\n useToggleGroupItem: () => useToggleGroupItem\n});\nmodule.exports = __toCommonJS(context_exports);\nvar import_web = require(\"@tamagui/web\");\nvar context = (0, import_web.createStyledContext)({\n color: void 0,\n active: false\n});\nvar useToggleGroupItem = function() {\n return context.useStyledContext();\n};\n//# sourceMappingURL=context.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,kBAAkB,CAAC;AACvB,SAAS,iBAAiB;CACxB,eAAe;CACf,0BAA0B;AAC5B,CAAC;AACD,OAAO,UAAU,aAAa,eAAe;AAC7C,IAAI,aAAa,QAAQ,cAAc;AACvC,IAAI,WAAW,GAAG,WAAW,oBAAmB,CAAE;CAChD,OAAO,KAAK;CACZ,QAAQ;AACV,CAAC;AACD,IAAI,qBAAqB,WAAW;CAClC,OAAO,QAAQ,iBAAiB;AAClC"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@tamagui/toggle-group",
3
- "version": "3.0.0-beta.922.1",
3
+ "version": "3.0.0",
4
+ "license": "MIT",
4
5
  "source": "src/index.ts",
5
6
  "files": [
6
7
  "src",
@@ -34,23 +35,22 @@
34
35
  "clean:build": "tamagui-build clean:build"
35
36
  },
36
37
  "dependencies": {
37
- "@tamagui/compose-refs": "3.0.0-beta.922.1",
38
- "@tamagui/constants": "3.0.0-beta.922.1",
39
- "@tamagui/create-context": "3.0.0-beta.922.1",
40
- "@tamagui/focusable": "3.0.0-beta.922.1",
41
- "@tamagui/font-size": "3.0.0-beta.922.1",
42
- "@tamagui/get-token": "3.0.0-beta.922.1",
43
- "@tamagui/helpers": "3.0.0-beta.922.1",
44
- "@tamagui/helpers-tamagui": "3.0.0-beta.922.1",
45
- "@tamagui/roving-focus": "3.0.0-beta.922.1",
46
- "@tamagui/size": "3.0.0-beta.922.1",
47
- "@tamagui/stacks": "3.0.0-beta.922.1",
48
- "@tamagui/use-controllable-state": "3.0.0-beta.922.1",
49
- "@tamagui/use-direction": "3.0.0-beta.922.1",
50
- "@tamagui/web": "3.0.0-beta.922.1"
38
+ "@tamagui/compose-refs": "3.0.0",
39
+ "@tamagui/constants": "3.0.0",
40
+ "@tamagui/create-context": "3.0.0",
41
+ "@tamagui/focusable": "3.0.0",
42
+ "@tamagui/font-size": "3.0.0",
43
+ "@tamagui/get-token": "3.0.0",
44
+ "@tamagui/helpers": "3.0.0",
45
+ "@tamagui/helpers-tamagui": "3.0.0",
46
+ "@tamagui/roving-focus": "3.0.0",
47
+ "@tamagui/stacks": "3.0.0",
48
+ "@tamagui/use-controllable-state": "3.0.0",
49
+ "@tamagui/use-direction": "3.0.0",
50
+ "@tamagui/web": "3.0.0"
51
51
  },
52
52
  "devDependencies": {
53
- "@tamagui/build": "3.0.0-beta.922.1",
53
+ "@tamagui/build": "3.0.0",
54
54
  "react": "19.2.3"
55
55
  },
56
56
  "peerDependencies": {
@@ -61,5 +61,6 @@
61
61
  "type": "git",
62
62
  "url": "git+https://github.com/tamagui/tamagui.git",
63
63
  "directory": "code/ui/toggle-group"
64
- }
64
+ },
65
+ "releaseSourceCommit": "15fbca480b143f876f6975601e23a17d3f90d2ee"
65
66
  }
package/src/Toggle.tsx CHANGED
@@ -1,6 +1,5 @@
1
1
  import { createRefComponent } from '@tamagui/compose-refs'
2
2
  import { composeEventHandlers } from '@tamagui/helpers'
3
- import { resolveSizeToken } from '@tamagui/size'
4
3
  import { useControllableState } from '@tamagui/use-controllable-state'
5
4
  import type { GetProps, StylePiece, TamaguiElement } from '@tamagui/web'
6
5
  import { styled, View } from '@tamagui/web'
@@ -13,33 +12,21 @@ import { context } from './context'
13
12
 
14
13
  const NAME = 'Toggle'
15
14
 
16
- // Unstyled Toggle behavior frame: structural layout, the size mechanism
17
- // (hit-target dimensions), the native button render, and focus reset only. All
18
- // theme decoration (palette, border, hover/press/focus color styling) and the
19
- // default "active" appearance live in the tamagui skin
20
- // (code/ui/tamagui/src/components/ToggleGroup.tsx). The frame still emits the
21
- // discrete state (aria-pressed / data-state) via the Toggle component below; the
22
- // skins can supply a plain style prop object that is applied while active.
15
+ // Unstyled Toggle behavior frame: structural layout, the native button
16
+ // render, and focus reset only. Hit-target dimensions live in the tamagui skin
17
+ // (code/ui/tamagui/src/components/ToggleGroup.tsx). All theme decoration
18
+ // (palette, border, hover/press/focus color styling) and the default "active"
19
+ // appearance live there too. The frame still emits the discrete state
20
+ // (aria-pressed / data-state) via the Toggle component below; the skins can
21
+ // supply a plain style prop object that is applied while active.
23
22
  export const ToggleFrame = styled(View, {
24
23
  displayName: NAME,
25
24
  render: 'button',
26
25
  context,
27
- size: true,
28
26
  alignItems: 'center',
29
27
  justifyContent: 'center',
30
- display: 'flex',
31
28
 
32
29
  variants: {
33
- size: styled.dynamic<any>((val, { tokens }) => {
34
- if (!val) return
35
- const sizeToken = resolveSizeToken(val, 'size')
36
- const size = typeof sizeToken === 'number' ? sizeToken : tokens.size[sizeToken]
37
- return {
38
- width: size,
39
- height: size,
40
- }
41
- }),
42
-
43
30
  defaultActiveStyle: {
44
31
  true: {},
45
32
  },
@@ -80,7 +67,7 @@ export const Toggle = createRefComponent<TamaguiElement, ToggleProps>(
80
67
 
81
68
  return (
82
69
  <ToggleFrame
83
- theme={activeTheme ?? null}
70
+ theme={active ? (activeTheme ?? null) : null}
84
71
  aria-pressed={active}
85
72
  data-state={active ? 'on' : 'off'}
86
73
  data-disabled={props.disabled ? '' : undefined}
@@ -50,7 +50,11 @@ const ToggleGroupItem = createStyledHOC(
50
50
  const inner = (
51
51
  <ToggleGroupItemImpl
52
52
  ref={forwardedRef}
53
- tabIndex={disabled ? -1 : 0}
53
+ // on the roving path the group owns the tab order, so the item carries no
54
+ // tabIndex of its own: Slot overlays child props over the roving Item's,
55
+ // so a tabIndex here wins the merge and puts every toggle back in the tab
56
+ // order. off that path nothing else makes the toggle focusable.
57
+ {...(context.rovingFocus ? null : { tabIndex: disabled ? -1 : 0 })}
54
58
  {...(props as any)}
55
59
  active={active}
56
60
  disabled={disabled}
@@ -124,7 +128,18 @@ interface ToggleGroupMultipleProps extends ToggleGroupImplMultipleProps {
124
128
  type: 'multiple'
125
129
  }
126
130
 
127
- type ToggleGroupProps = ToggleGroupSingleProps | ToggleGroupMultipleProps
131
+ interface ToggleGroupGeneralProps extends ToggleGroupImplProps {
132
+ type: 'single' | 'multiple'
133
+ value?: string | string[]
134
+ defaultValue?: string | string[]
135
+ onValueChange?(value: any): void
136
+ disableDeactivation?: boolean
137
+ }
138
+
139
+ type ToggleGroupProps =
140
+ | ToggleGroupSingleProps
141
+ | ToggleGroupMultipleProps
142
+ | ToggleGroupGeneralProps
128
143
 
129
144
  const ToggleGroup = withStaticProperties(
130
145
  createRefComponent<TamaguiElement, ScopedProps<ToggleGroupProps>>(
@@ -231,7 +246,7 @@ interface ToggleGroupImplMultipleProps extends ToggleGroupImplProps {
231
246
  defaultValue?: string[]
232
247
  /** The callback that fires when the state of the toggle group changes. */
233
248
  onValueChange?(value: string[]): void
234
- disableDeactivation?: never
249
+ disableDeactivation?: boolean
235
250
  }
236
251
 
237
252
  const ToggleGroupImplMultiple = createRefComponent<
package/src/context.tsx CHANGED
@@ -1,7 +1,7 @@
1
1
  import { createStyledContext } from '@tamagui/web'
2
2
 
3
- export const context = createStyledContext({
4
- color: '',
3
+ export const context = createStyledContext<{ color?: string; active: boolean }>({
4
+ color: undefined,
5
5
  active: false,
6
6
  })
7
7
 
package/types/Toggle.d.ts CHANGED
@@ -1,20 +1,17 @@
1
1
  import type { GetProps, StylePiece, TamaguiElement } from '@tamagui/web';
2
2
  import * as React from 'react';
3
- export declare const ToggleFrame: React.FunctionComponent<Omit<import("@tamagui/web").StackNonStyleProps, "active" | "defaultActiveStyle" | "size" | keyof import("@tamagui/web").StackStyleBase> & import("@tamagui/web").WithThemeValues<import("@tamagui/web").StackStyleBase> & import("@tamagui/web").WithFlatVariantValues<{
3
+ export declare const ToggleFrame: React.FunctionComponent<Omit<import("@tamagui/web").StackNonStyleProps, "active" | "defaultActiveStyle"> & Omit<import("@tamagui/web").WithThemeValues<Omit<import("@tamagui/web").StackStyleBase, "active" | "defaultActiveStyle">> & import("@tamagui/web").WithFlatVariantValues<{
4
4
  active?: boolean | undefined;
5
5
  defaultActiveStyle?: boolean | undefined;
6
- size?: any;
7
- }> & import("@tamagui/web").WithShorthands<import("@tamagui/web").WithThemeValues<import("@tamagui/web").StackStyleBase>> & {
6
+ }> & import("@tamagui/web").WithShorthands<import("@tamagui/web").WithThemeValues<import("@tamagui/web").StackStyleBase>>, keyof import("@tamagui/web").StackNonStyleProps> & {
8
7
  ref?: React.Ref<TamaguiElement> | undefined;
9
8
  }> & import("@tamagui/web").StaticComponentObject<import("@tamagui/web").TamaDefer, TamaguiElement, import("@tamagui/web").StackNonStyleProps, import("@tamagui/web").StackStyleBase, {
10
9
  active?: boolean | undefined;
11
10
  defaultActiveStyle?: boolean | undefined;
12
- size?: any;
13
11
  }, import("@tamagui/web").StaticConfigPublic> & Omit<import("@tamagui/web").StaticConfigPublic, "staticConfig"> & {
14
12
  __tama: [import("@tamagui/web").TamaDefer, TamaguiElement, import("@tamagui/web").StackNonStyleProps, import("@tamagui/web").StackStyleBase, {
15
13
  active?: boolean | undefined;
16
14
  defaultActiveStyle?: boolean | undefined;
17
- size?: any;
18
15
  }, import("@tamagui/web").StaticConfigPublic];
19
16
  };
20
17
  type ToggleFrameProps = GetProps<typeof ToggleFrame>;
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../src/Toggle.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAExE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAgB9B,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;CAwBtB,CAAA;AAEF,KAAK,gBAAgB,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAA;AAEpD,KAAK,oBAAoB,GAAG;IAC1B,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IACtC,WAAW,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,oBAAoB,CAAA;AAEjE,eAAO,MAAM,MAAM,2EAmClB,CAAA"}
1
+ {"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../src/Toggle.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAExE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAgB9B,eAAO,MAAM,WAAW;;;;;;;;;;;;;CAYtB,CAAA;AAEF,KAAK,gBAAgB,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAA;AAEpD,KAAK,oBAAoB,GAAG;IAC1B,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;IACtC,WAAW,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,oBAAoB,CAAA;AAEjE,eAAO,MAAM,MAAM,2EAmClB,CAAA"}