@tamagui/switch 1.79.8 → 1.79.10

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.
@@ -100,25 +100,29 @@ function createSwitch({
100
100
  onChange: onCheckedChange,
101
101
  transition: !0
102
102
  });
103
- return shouldRenderMobileNative ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
104
- import_react_native.Switch,
105
- {
106
- value: checkedProp,
107
- onValueChange: onCheckedChange,
108
- ...nativeProps
109
- }
110
- ) : (import_core.isWeb || React.useEffect(() => {
103
+ if (shouldRenderMobileNative)
104
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
105
+ import_react_native.Switch,
106
+ {
107
+ value: checkedProp,
108
+ onValueChange: onCheckedChange,
109
+ ...nativeProps
110
+ }
111
+ );
112
+ import_core.isWeb || React.useEffect(() => {
111
113
  if (props.id)
112
114
  return (0, import_focusable.registerFocusable)(props.id, {
113
115
  focus: () => {
114
116
  setChecked((x) => !x);
115
117
  }
116
118
  });
117
- }, [props.id, setChecked]), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
118
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
119
+ }, [props.id, setChecked]);
120
+ const isInsideButton = React.useContext(import_stacks.ButtonNestingContext);
121
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
122
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stacks.ButtonNestingContext.Provider, { value: !0, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
119
123
  Frame,
120
124
  {
121
- tag: "button",
125
+ tag: isInsideButton ? "span" : "button",
122
126
  unstyled,
123
127
  size,
124
128
  checked,
@@ -154,7 +158,7 @@ function createSwitch({
154
158
  }
155
159
  )
156
160
  }
157
- ),
161
+ ) }),
158
162
  import_core.isWeb && isFormControl && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
159
163
  BubbleInput,
160
164
  {
@@ -168,7 +172,7 @@ function createSwitch({
168
172
  style: { transform: "translateX(-100%)" }
169
173
  }
170
174
  )
171
- ] }));
175
+ ] });
172
176
  }), BubbleInput = (props) => {
173
177
  const { control, checked, bubbles = !0, ...inputProps } = props, ref = React.useRef(null), prevChecked = (0, import_use_previous.usePrevious)(checked);
174
178
  return React.useEffect(() => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createSwitch.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["DefaultSwitchFrame", "NativeSwitch"]
6
6
  }
@@ -101,25 +101,29 @@ function createSwitch({
101
101
  onChange: onCheckedChange,
102
102
  transition: !0
103
103
  });
104
- return shouldRenderMobileNative ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
105
- import_react_native.Switch,
106
- {
107
- value: checkedProp,
108
- onValueChange: onCheckedChange,
109
- ...nativeProps
110
- }
111
- ) : (import_core.isWeb || React.useEffect(() => {
104
+ if (shouldRenderMobileNative)
105
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
106
+ import_react_native.Switch,
107
+ {
108
+ value: checkedProp,
109
+ onValueChange: onCheckedChange,
110
+ ...nativeProps
111
+ }
112
+ );
113
+ import_core.isWeb || React.useEffect(() => {
112
114
  if (props.id)
113
115
  return (0, import_focusable.registerFocusable)(props.id, {
114
116
  focus: () => {
115
117
  setChecked((x) => !x);
116
118
  }
117
119
  });
118
- }, [props.id, setChecked]), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
119
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
120
+ }, [props.id, setChecked]);
121
+ const isInsideButton = React.useContext(import_stacks.ButtonNestingContext);
122
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
123
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stacks.ButtonNestingContext.Provider, { value: !0, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
120
124
  Frame,
121
125
  {
122
- tag: "button",
126
+ tag: isInsideButton ? "span" : "button",
123
127
  unstyled,
124
128
  size,
125
129
  checked,
@@ -155,7 +159,7 @@ function createSwitch({
155
159
  }
156
160
  )
157
161
  }
158
- ),
162
+ ) }),
159
163
  import_core.isWeb && isFormControl && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
160
164
  BubbleInput,
161
165
  {
@@ -169,7 +173,7 @@ function createSwitch({
169
173
  style: { transform: "translateX(-100%)" }
170
174
  }
171
175
  )
172
- ] }));
176
+ ] });
173
177
  }), BubbleInput = (props) => {
174
178
  const { control, checked, bubbles = !0, ...inputProps } = props, ref = React.useRef(null), prevChecked = (0, import_use_previous.usePrevious)(checked);
175
179
  return React.useEffect(() => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createSwitch.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["DefaultSwitchFrame", "NativeSwitch"]
6
6
  }
@@ -7,7 +7,7 @@ import {
7
7
  } from "@tamagui/core";
8
8
  import { registerFocusable } from "@tamagui/focusable";
9
9
  import { useLabelContext } from "@tamagui/label";
10
- import { YStack } from "@tamagui/stacks";
10
+ import { ButtonNestingContext, YStack } from "@tamagui/stacks";
11
11
  import { useControllableState } from "@tamagui/use-controllable-state";
12
12
  import { usePrevious } from "@tamagui/use-previous";
13
13
  import * as React from "react";
@@ -92,25 +92,29 @@ function createSwitch({
92
92
  onChange: onCheckedChange,
93
93
  transition: !0
94
94
  });
95
- return shouldRenderMobileNative ? /* @__PURE__ */ jsx(
96
- NativeSwitch,
97
- {
98
- value: checkedProp,
99
- onValueChange: onCheckedChange,
100
- ...nativeProps
101
- }
102
- ) : (isWeb || React.useEffect(() => {
95
+ if (shouldRenderMobileNative)
96
+ return /* @__PURE__ */ jsx(
97
+ NativeSwitch,
98
+ {
99
+ value: checkedProp,
100
+ onValueChange: onCheckedChange,
101
+ ...nativeProps
102
+ }
103
+ );
104
+ isWeb || React.useEffect(() => {
103
105
  if (props.id)
104
106
  return registerFocusable(props.id, {
105
107
  focus: () => {
106
108
  setChecked((x) => !x);
107
109
  }
108
110
  });
109
- }, [props.id, setChecked]), /* @__PURE__ */ jsxs(Fragment, { children: [
110
- /* @__PURE__ */ jsx(
111
+ }, [props.id, setChecked]);
112
+ const isInsideButton = React.useContext(ButtonNestingContext);
113
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
114
+ /* @__PURE__ */ jsx(ButtonNestingContext.Provider, { value: !0, children: /* @__PURE__ */ jsx(
111
115
  Frame,
112
116
  {
113
- tag: "button",
117
+ tag: isInsideButton ? "span" : "button",
114
118
  unstyled,
115
119
  size,
116
120
  checked,
@@ -146,7 +150,7 @@ function createSwitch({
146
150
  }
147
151
  )
148
152
  }
149
- ),
153
+ ) }),
150
154
  isWeb && isFormControl && /* @__PURE__ */ jsx(
151
155
  BubbleInput,
152
156
  {
@@ -160,7 +164,7 @@ function createSwitch({
160
164
  style: { transform: "translateX(-100%)" }
161
165
  }
162
166
  )
163
- ] }));
167
+ ] });
164
168
  }), BubbleInput = (props) => {
165
169
  const { control, checked, bubbles = !0, ...inputProps } = props, ref = React.useRef(null), prevChecked = usePrevious(checked);
166
170
  return React.useEffect(() => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createSwitch.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -7,7 +7,7 @@ import {
7
7
  } from "@tamagui/core";
8
8
  import { registerFocusable } from "@tamagui/focusable";
9
9
  import { useLabelContext } from "@tamagui/label";
10
- import { YStack } from "@tamagui/stacks";
10
+ import { ButtonNestingContext, YStack } from "@tamagui/stacks";
11
11
  import { useControllableState } from "@tamagui/use-controllable-state";
12
12
  import { usePrevious } from "@tamagui/use-previous";
13
13
  import * as React from "react";
@@ -92,25 +92,29 @@ function createSwitch({
92
92
  onChange: onCheckedChange,
93
93
  transition: !0
94
94
  });
95
- return shouldRenderMobileNative ? /* @__PURE__ */ jsx(
96
- NativeSwitch,
97
- {
98
- value: checkedProp,
99
- onValueChange: onCheckedChange,
100
- ...nativeProps
101
- }
102
- ) : (isWeb || React.useEffect(() => {
95
+ if (shouldRenderMobileNative)
96
+ return /* @__PURE__ */ jsx(
97
+ NativeSwitch,
98
+ {
99
+ value: checkedProp,
100
+ onValueChange: onCheckedChange,
101
+ ...nativeProps
102
+ }
103
+ );
104
+ isWeb || React.useEffect(() => {
103
105
  if (props.id)
104
106
  return registerFocusable(props.id, {
105
107
  focus: () => {
106
108
  setChecked((x) => !x);
107
109
  }
108
110
  });
109
- }, [props.id, setChecked]), /* @__PURE__ */ jsxs(Fragment, { children: [
110
- /* @__PURE__ */ jsx(
111
+ }, [props.id, setChecked]);
112
+ const isInsideButton = React.useContext(ButtonNestingContext);
113
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
114
+ /* @__PURE__ */ jsx(ButtonNestingContext.Provider, { value: !0, children: /* @__PURE__ */ jsx(
111
115
  Frame,
112
116
  {
113
- tag: "button",
117
+ tag: isInsideButton ? "span" : "button",
114
118
  unstyled,
115
119
  size,
116
120
  checked,
@@ -146,7 +150,7 @@ function createSwitch({
146
150
  }
147
151
  )
148
152
  }
149
- ),
153
+ ) }),
150
154
  isWeb && isFormControl && /* @__PURE__ */ jsx(
151
155
  BubbleInput,
152
156
  {
@@ -160,7 +164,7 @@ function createSwitch({
160
164
  style: { transform: "translateX(-100%)" }
161
165
  }
162
166
  )
163
- ] }));
167
+ ] });
164
168
  }), BubbleInput = (props) => {
165
169
  const { control, checked, bubbles = !0, ...inputProps } = props, ref = React.useRef(null), prevChecked = usePrevious(checked);
166
170
  return React.useEffect(() => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createSwitch.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -7,7 +7,7 @@ import {
7
7
  } from "@tamagui/core";
8
8
  import { registerFocusable } from "@tamagui/focusable";
9
9
  import { useLabelContext } from "@tamagui/label";
10
- import { YStack } from "@tamagui/stacks";
10
+ import { ButtonNestingContext, YStack } from "@tamagui/stacks";
11
11
  import { useControllableState } from "@tamagui/use-controllable-state";
12
12
  import { usePrevious } from "@tamagui/use-previous";
13
13
  import * as React from "react";
@@ -88,53 +88,59 @@ function createSwitch({
88
88
  onChange: onCheckedChange,
89
89
  transition: !0
90
90
  });
91
- return shouldRenderMobileNative ? <NativeSwitch
92
- value={checkedProp}
93
- onValueChange={onCheckedChange}
94
- {...nativeProps}
95
- /> : (isWeb || React.useEffect(() => {
91
+ if (shouldRenderMobileNative)
92
+ return <NativeSwitch
93
+ value={checkedProp}
94
+ onValueChange={onCheckedChange}
95
+ {...nativeProps}
96
+ />;
97
+ isWeb || React.useEffect(() => {
96
98
  if (props.id)
97
99
  return registerFocusable(props.id, {
98
100
  focus: () => {
99
101
  setChecked((x) => !x);
100
102
  }
101
103
  });
102
- }, [props.id, setChecked]), <>
103
- {
104
- /* @ts-ignore */
105
- }
106
- <Frame
107
- tag="button"
108
- unstyled={unstyled}
109
- size={size}
110
- checked={checked}
111
- disabled={disabled}
112
- frameWidth={frameWidth}
113
- themeShallow
114
- {...!disableActiveTheme && {
115
- theme: checked ? "active" : null,
116
- themeShallow: !0
117
- }}
118
- role="switch"
119
- aria-checked={checked}
120
- aria-labelledby={labelledBy}
121
- aria-required={required}
122
- data-state={getState(checked)}
123
- data-disabled={disabled ? "" : void 0}
124
- tabIndex={disabled ? void 0 : 0}
125
- value={value}
126
- {...switchProps}
127
- ref={composedRefs}
128
- onPress={composeEventHandlers(props.onPress, (event) => {
129
- setChecked((prevChecked) => !prevChecked), isWeb && isFormControl && (hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(), hasConsumerStoppedPropagationRef.current || event.stopPropagation());
130
- })}
131
- ><YStack
132
- alignSelf="stretch"
133
- flex={1}
134
- onLayout={(e) => {
135
- setFrameWidth(e.nativeEvent.layout.width);
136
- }}
137
- >{typeof children == "function" ? children(checked) : children}</YStack></Frame>
104
+ }, [props.id, setChecked]);
105
+ const isInsideButton = React.useContext(ButtonNestingContext);
106
+ return <>
107
+ <ButtonNestingContext.Provider value={!0}>
108
+ {
109
+ /* @ts-expect-error todo */
110
+ }
111
+ <Frame
112
+ tag={isInsideButton ? "span" : "button"}
113
+ unstyled={unstyled}
114
+ size={size}
115
+ checked={checked}
116
+ disabled={disabled}
117
+ frameWidth={frameWidth}
118
+ themeShallow
119
+ {...!disableActiveTheme && {
120
+ theme: checked ? "active" : null,
121
+ themeShallow: !0
122
+ }}
123
+ role="switch"
124
+ aria-checked={checked}
125
+ aria-labelledby={labelledBy}
126
+ aria-required={required}
127
+ data-state={getState(checked)}
128
+ data-disabled={disabled ? "" : void 0}
129
+ tabIndex={disabled ? void 0 : 0}
130
+ value={value}
131
+ {...switchProps}
132
+ ref={composedRefs}
133
+ onPress={composeEventHandlers(props.onPress, (event) => {
134
+ setChecked((prevChecked) => !prevChecked), isWeb && isFormControl && (hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(), hasConsumerStoppedPropagationRef.current || event.stopPropagation());
135
+ })}
136
+ ><YStack
137
+ alignSelf="stretch"
138
+ flex={1}
139
+ onLayout={(e) => {
140
+ setFrameWidth(e.nativeEvent.layout.width);
141
+ }}
142
+ >{typeof children == "function" ? children(checked) : children}</YStack></Frame>
143
+ </ButtonNestingContext.Provider>
138
144
  {isWeb && isFormControl && <BubbleInput
139
145
  control={button}
140
146
  bubbles={!hasConsumerStoppedPropagationRef.current}
@@ -145,7 +151,7 @@ function createSwitch({
145
151
  disabled={disabled}
146
152
  style={{ transform: "translateX(-100%)" }}
147
153
  />}
148
- </>);
154
+ </>;
149
155
  }), BubbleInput = (props) => {
150
156
  const { control, checked, bubbles = !0, ...inputProps } = props, ref = React.useRef(null), prevChecked = usePrevious(checked);
151
157
  return React.useEffect(() => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createSwitch.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -7,7 +7,7 @@ import {
7
7
  } from "@tamagui/core";
8
8
  import { registerFocusable } from "@tamagui/focusable";
9
9
  import { useLabelContext } from "@tamagui/label";
10
- import { YStack } from "@tamagui/stacks";
10
+ import { ButtonNestingContext, YStack } from "@tamagui/stacks";
11
11
  import { useControllableState } from "@tamagui/use-controllable-state";
12
12
  import { usePrevious } from "@tamagui/use-previous";
13
13
  import * as React from "react";
@@ -88,53 +88,59 @@ function createSwitch({
88
88
  onChange: onCheckedChange,
89
89
  transition: !0
90
90
  });
91
- return shouldRenderMobileNative ? <NativeSwitch
92
- value={checkedProp}
93
- onValueChange={onCheckedChange}
94
- {...nativeProps}
95
- /> : (isWeb || React.useEffect(() => {
91
+ if (shouldRenderMobileNative)
92
+ return <NativeSwitch
93
+ value={checkedProp}
94
+ onValueChange={onCheckedChange}
95
+ {...nativeProps}
96
+ />;
97
+ isWeb || React.useEffect(() => {
96
98
  if (props.id)
97
99
  return registerFocusable(props.id, {
98
100
  focus: () => {
99
101
  setChecked((x) => !x);
100
102
  }
101
103
  });
102
- }, [props.id, setChecked]), <>
103
- {
104
- /* @ts-ignore */
105
- }
106
- <Frame
107
- tag="button"
108
- unstyled={unstyled}
109
- size={size}
110
- checked={checked}
111
- disabled={disabled}
112
- frameWidth={frameWidth}
113
- themeShallow
114
- {...!disableActiveTheme && {
115
- theme: checked ? "active" : null,
116
- themeShallow: !0
117
- }}
118
- role="switch"
119
- aria-checked={checked}
120
- aria-labelledby={labelledBy}
121
- aria-required={required}
122
- data-state={getState(checked)}
123
- data-disabled={disabled ? "" : void 0}
124
- tabIndex={disabled ? void 0 : 0}
125
- value={value}
126
- {...switchProps}
127
- ref={composedRefs}
128
- onPress={composeEventHandlers(props.onPress, (event) => {
129
- setChecked((prevChecked) => !prevChecked), isWeb && isFormControl && (hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(), hasConsumerStoppedPropagationRef.current || event.stopPropagation());
130
- })}
131
- ><YStack
132
- alignSelf="stretch"
133
- flex={1}
134
- onLayout={(e) => {
135
- setFrameWidth(e.nativeEvent.layout.width);
136
- }}
137
- >{typeof children == "function" ? children(checked) : children}</YStack></Frame>
104
+ }, [props.id, setChecked]);
105
+ const isInsideButton = React.useContext(ButtonNestingContext);
106
+ return <>
107
+ <ButtonNestingContext.Provider value={!0}>
108
+ {
109
+ /* @ts-expect-error todo */
110
+ }
111
+ <Frame
112
+ tag={isInsideButton ? "span" : "button"}
113
+ unstyled={unstyled}
114
+ size={size}
115
+ checked={checked}
116
+ disabled={disabled}
117
+ frameWidth={frameWidth}
118
+ themeShallow
119
+ {...!disableActiveTheme && {
120
+ theme: checked ? "active" : null,
121
+ themeShallow: !0
122
+ }}
123
+ role="switch"
124
+ aria-checked={checked}
125
+ aria-labelledby={labelledBy}
126
+ aria-required={required}
127
+ data-state={getState(checked)}
128
+ data-disabled={disabled ? "" : void 0}
129
+ tabIndex={disabled ? void 0 : 0}
130
+ value={value}
131
+ {...switchProps}
132
+ ref={composedRefs}
133
+ onPress={composeEventHandlers(props.onPress, (event) => {
134
+ setChecked((prevChecked) => !prevChecked), isWeb && isFormControl && (hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(), hasConsumerStoppedPropagationRef.current || event.stopPropagation());
135
+ })}
136
+ ><YStack
137
+ alignSelf="stretch"
138
+ flex={1}
139
+ onLayout={(e) => {
140
+ setFrameWidth(e.nativeEvent.layout.width);
141
+ }}
142
+ >{typeof children == "function" ? children(checked) : children}</YStack></Frame>
143
+ </ButtonNestingContext.Provider>
138
144
  {isWeb && isFormControl && <BubbleInput
139
145
  control={button}
140
146
  bubbles={!hasConsumerStoppedPropagationRef.current}
@@ -145,7 +151,7 @@ function createSwitch({
145
151
  disabled={disabled}
146
152
  style={{ transform: "translateX(-100%)" }}
147
153
  />}
148
- </>);
154
+ </>;
149
155
  }), BubbleInput = (props) => {
150
156
  const { control, checked, bubbles = !0, ...inputProps } = props, ref = React.useRef(null), prevChecked = usePrevious(checked);
151
157
  return React.useEffect(() => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createSwitch.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/switch",
3
- "version": "1.79.8",
3
+ "version": "1.79.10",
4
4
  "sideEffects": [
5
5
  "*.css"
6
6
  ],
@@ -31,22 +31,22 @@
31
31
  }
32
32
  },
33
33
  "dependencies": {
34
- "@tamagui/compose-refs": "1.79.8",
35
- "@tamagui/core": "1.79.8",
36
- "@tamagui/create-context": "1.79.8",
37
- "@tamagui/focusable": "1.79.8",
38
- "@tamagui/get-token": "1.79.8",
39
- "@tamagui/label": "1.79.8",
40
- "@tamagui/stacks": "1.79.8",
41
- "@tamagui/use-controllable-state": "1.79.8",
42
- "@tamagui/use-previous": "1.79.8"
34
+ "@tamagui/compose-refs": "1.79.10",
35
+ "@tamagui/core": "1.79.10",
36
+ "@tamagui/create-context": "1.79.10",
37
+ "@tamagui/focusable": "1.79.10",
38
+ "@tamagui/get-token": "1.79.10",
39
+ "@tamagui/label": "1.79.10",
40
+ "@tamagui/stacks": "1.79.10",
41
+ "@tamagui/use-controllable-state": "1.79.10",
42
+ "@tamagui/use-previous": "1.79.10"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "react": "*",
46
46
  "react-native": "*"
47
47
  },
48
48
  "devDependencies": {
49
- "@tamagui/build": "1.79.8",
49
+ "@tamagui/build": "1.79.10",
50
50
  "react": "^18.2.0",
51
51
  "react-native": "^0.72.1"
52
52
  },
@@ -11,7 +11,7 @@ import {
11
11
  } from '@tamagui/core'
12
12
  import { registerFocusable } from '@tamagui/focusable'
13
13
  import { useLabelContext } from '@tamagui/label'
14
- import { YStack } from '@tamagui/stacks'
14
+ import { ButtonNestingContext, YStack } from '@tamagui/stacks'
15
15
  import { useControllableState } from '@tamagui/use-controllable-state'
16
16
  import { usePrevious } from '@tamagui/use-previous'
17
17
  import * as React from 'react'
@@ -203,54 +203,58 @@ export function createSwitch<F extends SwitchComponent, T extends SwitchThumbCom
203
203
  }, [props.id, setChecked])
204
204
  }
205
205
 
206
+ const isInsideButton = React.useContext(ButtonNestingContext)
207
+
206
208
  return (
207
209
  <>
208
- {/* @ts-ignore */}
209
- <Frame
210
- tag="button"
211
- unstyled={unstyled}
212
- size={size}
213
- checked={checked}
214
- disabled={disabled}
215
- frameWidth={frameWidth}
216
- themeShallow
217
- {...(!disableActiveTheme && {
218
- theme: checked ? 'active' : null,
219
- themeShallow: true,
220
- })}
221
- role="switch"
222
- aria-checked={checked}
223
- aria-labelledby={labelledBy}
224
- aria-required={required}
225
- data-state={getState(checked)}
226
- data-disabled={disabled ? '' : undefined}
227
- // @ts-ignore
228
- tabIndex={disabled ? undefined : 0}
229
- // @ts-ignore
230
- value={value}
231
- {...switchProps}
232
- ref={composedRefs}
233
- onPress={composeEventHandlers(props.onPress, (event) => {
234
- setChecked((prevChecked) => !prevChecked)
235
- if (isWeb && isFormControl) {
236
- hasConsumerStoppedPropagationRef.current = event.isPropagationStopped()
237
- // if switch is in a form, stop propagation from the button so that we only propagate
238
- // one click event (from the input). We propagate changes from an input so that native
239
- // form validation works and form events reflect switch updates.
240
- if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation()
241
- }
242
- })}
243
- >
244
- <YStack
245
- alignSelf="stretch"
246
- flex={1}
247
- onLayout={(e) => {
248
- setFrameWidth(e.nativeEvent.layout.width)
249
- }}
210
+ <ButtonNestingContext.Provider value={true}>
211
+ {/* @ts-expect-error todo */}
212
+ <Frame
213
+ tag={isInsideButton ? 'span' : 'button'}
214
+ unstyled={unstyled}
215
+ size={size}
216
+ checked={checked}
217
+ disabled={disabled}
218
+ frameWidth={frameWidth}
219
+ themeShallow
220
+ {...(!disableActiveTheme && {
221
+ theme: checked ? 'active' : null,
222
+ themeShallow: true,
223
+ })}
224
+ role="switch"
225
+ aria-checked={checked}
226
+ aria-labelledby={labelledBy}
227
+ aria-required={required}
228
+ data-state={getState(checked)}
229
+ data-disabled={disabled ? '' : undefined}
230
+ // @ts-ignore
231
+ tabIndex={disabled ? undefined : 0}
232
+ // @ts-ignore
233
+ value={value}
234
+ {...switchProps}
235
+ ref={composedRefs}
236
+ onPress={composeEventHandlers(props.onPress, (event) => {
237
+ setChecked((prevChecked) => !prevChecked)
238
+ if (isWeb && isFormControl) {
239
+ hasConsumerStoppedPropagationRef.current = event.isPropagationStopped()
240
+ // if switch is in a form, stop propagation from the button so that we only propagate
241
+ // one click event (from the input). We propagate changes from an input so that native
242
+ // form validation works and form events reflect switch updates.
243
+ if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation()
244
+ }
245
+ })}
250
246
  >
251
- {typeof children === 'function' ? children(checked) : children}
252
- </YStack>
253
- </Frame>
247
+ <YStack
248
+ alignSelf="stretch"
249
+ flex={1}
250
+ onLayout={(e) => {
251
+ setFrameWidth(e.nativeEvent.layout.width)
252
+ }}
253
+ >
254
+ {typeof children === 'function' ? children(checked) : children}
255
+ </YStack>
256
+ </Frame>
257
+ </ButtonNestingContext.Provider>
254
258
  {isWeb && isFormControl && (
255
259
  <BubbleInput
256
260
  control={button}
@@ -1 +1 @@
1
- {"version":3,"file":"createSwitch.d.ts","sourceRoot":"","sources":["../src/createSwitch.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,UAAU,EACV,UAAU,EACV,iCAAiC,EAKlC,MAAM,eAAe,CAAA;AAMtB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAEL,WAAW,IAAI,iBAAiB,EAEjC,MAAM,cAAc,CAAA;AAKrB,KAAK,iBAAiB,GAAG;IACvB,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,KAAK,eAAe,GAAG,UAAU,GAAG,iBAAiB,CAAA;AAErD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC,CAAA;IAClD,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,eAAe,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;CACzC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,GAAG,gBAAgB,EAAE,UAAU,CAAC,GAAG;IAC/E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,CAAA;CACrE,CAAA;AAED,KAAK,eAAe,GAAG,iCAAiC,CACtD,WAAW,EACX,iBAAiB,GAAG,gBAAgB,CACrC,CAAA;AAED,KAAK,oBAAoB,GAAG,iCAAiC,CAC3D,eAAe,EACf,iBAAiB,CAClB,CAAA;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,eAAe,EAAE,CAAC,SAAS,oBAAoB,EAAE,EACtF,kBAAkB,EAClB,KAAiC,EACjC,KAA0B,GAC3B,EAAE;IACD,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,KAAK,CAAC,EAAE,CAAC,CAAA;IACT,KAAK,CAAC,EAAE,CAAC,CAAA;CACV;;;;;;;;;EA4QA"}
1
+ {"version":3,"file":"createSwitch.d.ts","sourceRoot":"","sources":["../src/createSwitch.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,UAAU,EACV,UAAU,EACV,iCAAiC,EAKlC,MAAM,eAAe,CAAA;AAMtB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAEL,WAAW,IAAI,iBAAiB,EAEjC,MAAM,cAAc,CAAA;AAKrB,KAAK,iBAAiB,GAAG;IACvB,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,KAAK,eAAe,GAAG,UAAU,GAAG,iBAAiB,CAAA;AAErD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC,CAAA;IAClD,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,eAAe,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;CACzC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,GAAG,gBAAgB,EAAE,UAAU,CAAC,GAAG;IAC/E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,CAAA;CACrE,CAAA;AAED,KAAK,eAAe,GAAG,iCAAiC,CACtD,WAAW,EACX,iBAAiB,GAAG,gBAAgB,CACrC,CAAA;AAED,KAAK,oBAAoB,GAAG,iCAAiC,CAC3D,eAAe,EACf,iBAAiB,CAClB,CAAA;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,eAAe,EAAE,CAAC,SAAS,oBAAoB,EAAE,EACtF,kBAAkB,EAClB,KAAiC,EACjC,KAA0B,GAC3B,EAAE;IACD,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,KAAK,CAAC,EAAE,CAAC,CAAA;IACT,KAAK,CAAC,EAAE,CAAC,CAAA;CACV;;;;;;;;;EAgRA"}