@tamagui/switch 1.123.10 → 1.123.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/createSwitch.cjs +28 -24
- package/dist/cjs/createSwitch.js +41 -48
- package/dist/cjs/createSwitch.js.map +1 -1
- package/dist/cjs/createSwitch.native.js +39 -29
- package/dist/cjs/createSwitch.native.js.map +2 -2
- package/dist/esm/createSwitch.js +42 -51
- package/dist/esm/createSwitch.js.map +1 -1
- package/dist/esm/createSwitch.mjs +29 -25
- package/dist/esm/createSwitch.mjs.map +1 -1
- package/dist/esm/createSwitch.native.js +41 -31
- package/dist/esm/createSwitch.native.js.map +2 -2
- package/dist/jsx/createSwitch.js +42 -51
- package/dist/jsx/createSwitch.js.map +1 -1
- package/dist/jsx/createSwitch.mjs +29 -25
- package/dist/jsx/createSwitch.mjs.map +1 -1
- package/dist/jsx/createSwitch.native.js +41 -31
- package/dist/jsx/createSwitch.native.js.map +2 -2
- package/package.json +13 -13
- package/src/createSwitch.tsx +39 -35
- package/types/createSwitch.d.ts.map +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/tamagui/code/ui/switch/src/createSwitch.tsx"],
|
|
4
|
-
"mappings": ";AACA,SACEA,
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["composeEventHandlers", "isWeb", "shouldRenderNativePlatform", "withStaticProperties", "registerFocusable", "useSwitch", "useControllableState", "React", "Switch", "NativeSwitch", "View", "SwitchStyledContext", "SwitchFrame", "DefaultSwitchFrame", "SwitchThumb", "SwitchContext", "createContext", "checked", "disabled", "frameWidth", "createSwitch", "createProps", "disableActiveTheme", "Frame", "Thumb", "process", "env", "NODE_ENV", "staticConfig", "context", "console", "warn", "SwitchThumbComponent", "styleable", "props", "forwardedRef", "size", "sizeProp", "unstyled", "unstyledProp", "nativeID", "thumbProps", "useContext", "styledContext", "useStyledContext", "unstyledContext", "sizeContext", "TAMAGUI_HEADLESS", "initialChecked", "useRef", "current", "thumbWidth", "setThumbWidth", "useState", "distance", "x", "ref", "theme", "alignSelf", "onLayout", "e", "nativeEvent", "layout", "width", "SwitchComponent", "_props", "native", "nativeProps", "checkedProp", "defaultChecked", "onCheckedChange", "setChecked", "prop", "defaultProp", "onChange", "transition", "setFrameWidth", "switchProps", "bubbleInput", "switchRef", "useEffect", "id", "focusAndSelect", "value", "focus", "renderNative", "onValueChange", "useMemo", "handleLayout", "useCallback", "Provider", "tag", "type", "themeShallow", "style", "measureContainerStyle", "children", "disableTheme", "flex"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/switch",
|
|
3
|
-
"version": "1.123.
|
|
3
|
+
"version": "1.123.11",
|
|
4
4
|
"removeSideEffects": true,
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"*.css"
|
|
@@ -37,23 +37,23 @@
|
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@tamagui/compose-refs": "1.123.
|
|
41
|
-
"@tamagui/constants": "1.123.
|
|
42
|
-
"@tamagui/core": "1.123.
|
|
43
|
-
"@tamagui/focusable": "1.123.
|
|
44
|
-
"@tamagui/get-token": "1.123.
|
|
45
|
-
"@tamagui/helpers": "1.123.
|
|
46
|
-
"@tamagui/label": "1.123.
|
|
47
|
-
"@tamagui/stacks": "1.123.
|
|
48
|
-
"@tamagui/switch-headless": "1.123.
|
|
49
|
-
"@tamagui/use-controllable-state": "1.123.
|
|
50
|
-
"@tamagui/use-previous": "1.123.
|
|
40
|
+
"@tamagui/compose-refs": "1.123.11",
|
|
41
|
+
"@tamagui/constants": "1.123.11",
|
|
42
|
+
"@tamagui/core": "1.123.11",
|
|
43
|
+
"@tamagui/focusable": "1.123.11",
|
|
44
|
+
"@tamagui/get-token": "1.123.11",
|
|
45
|
+
"@tamagui/helpers": "1.123.11",
|
|
46
|
+
"@tamagui/label": "1.123.11",
|
|
47
|
+
"@tamagui/stacks": "1.123.11",
|
|
48
|
+
"@tamagui/switch-headless": "1.123.11",
|
|
49
|
+
"@tamagui/use-controllable-state": "1.123.11",
|
|
50
|
+
"@tamagui/use-previous": "1.123.11"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
53
|
"react": "*"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@tamagui/build": "1.123.
|
|
56
|
+
"@tamagui/build": "1.123.11",
|
|
57
57
|
"react": "*"
|
|
58
58
|
},
|
|
59
59
|
"publishConfig": {
|
package/src/createSwitch.tsx
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import type { NativeValue, SizeTokens, StackProps } from '@tamagui/core'
|
|
2
2
|
import {
|
|
3
|
-
Stack,
|
|
4
3
|
composeEventHandlers,
|
|
5
4
|
isWeb,
|
|
6
5
|
shouldRenderNativePlatform,
|
|
7
|
-
useProps,
|
|
8
6
|
withStaticProperties,
|
|
9
7
|
} from '@tamagui/core'
|
|
8
|
+
import { registerFocusable } from '@tamagui/focusable'
|
|
10
9
|
import type {
|
|
11
10
|
SwitchExtraProps as HeadlessSwitchExtraProps,
|
|
12
11
|
SwitchState,
|
|
13
12
|
} from '@tamagui/switch-headless'
|
|
14
|
-
import { registerFocusable } from '@tamagui/focusable'
|
|
15
13
|
import { useSwitch } from '@tamagui/switch-headless'
|
|
16
14
|
import { useControllableState } from '@tamagui/use-controllable-state'
|
|
17
15
|
import * as React from 'react'
|
|
18
|
-
import type {
|
|
19
|
-
|
|
16
|
+
import type {
|
|
17
|
+
LayoutChangeEvent,
|
|
18
|
+
SwitchProps as NativeSwitchProps,
|
|
19
|
+
ViewStyle,
|
|
20
|
+
} from 'react-native'
|
|
21
|
+
import { Switch as NativeSwitch, View } from 'react-native'
|
|
20
22
|
|
|
21
23
|
import { SwitchStyledContext } from './StyledContext'
|
|
22
24
|
import { SwitchFrame as DefaultSwitchFrame, SwitchThumb } from './Switch'
|
|
@@ -89,7 +91,6 @@ export function createSwitch<
|
|
|
89
91
|
const { size: sizeProp, unstyled: unstyledProp, nativeID, ...thumbProps } = props
|
|
90
92
|
const context = React.useContext(SwitchContext)
|
|
91
93
|
const { checked, disabled, frameWidth } = context
|
|
92
|
-
// __scope?
|
|
93
94
|
const styledContext = SwitchStyledContext.useStyledContext()
|
|
94
95
|
const { unstyled: unstyledContext, size: sizeContext } = styledContext
|
|
95
96
|
const unstyled =
|
|
@@ -116,8 +117,7 @@ export function createSwitch<
|
|
|
116
117
|
})}
|
|
117
118
|
alignSelf={initialChecked ? 'flex-end' : 'flex-start'}
|
|
118
119
|
x={x}
|
|
119
|
-
|
|
120
|
-
onLayout={composeEventHandlers((props as ViewProps).onLayout, (e) =>
|
|
120
|
+
onLayout={composeEventHandlers(props.onLayout, (e) =>
|
|
121
121
|
setThumbWidth(e.nativeEvent.layout.width)
|
|
122
122
|
)}
|
|
123
123
|
// expected variants
|
|
@@ -150,22 +150,9 @@ export function createSwitch<
|
|
|
150
150
|
|
|
151
151
|
const [frameWidth, setFrameWidth] = React.useState(0)
|
|
152
152
|
|
|
153
|
-
const propsActive = useProps(props, {
|
|
154
|
-
noNormalize: true,
|
|
155
|
-
noExpand: true,
|
|
156
|
-
resolveValues: 'none',
|
|
157
|
-
forComponent: Frame,
|
|
158
|
-
})
|
|
159
|
-
|
|
160
153
|
const { switchProps, bubbleInput, switchRef } = useSwitch(
|
|
161
154
|
// @ts-ignore
|
|
162
|
-
|
|
163
|
-
{
|
|
164
|
-
size: styledContext.size ?? props.size ?? '$true',
|
|
165
|
-
unstyled: styledContext.unstyled ?? props.unstyled ?? false,
|
|
166
|
-
},
|
|
167
|
-
propsActive
|
|
168
|
-
),
|
|
155
|
+
props as any,
|
|
169
156
|
[checked, setChecked],
|
|
170
157
|
forwardedRef
|
|
171
158
|
)
|
|
@@ -191,14 +178,32 @@ export function createSwitch<
|
|
|
191
178
|
)
|
|
192
179
|
}
|
|
193
180
|
|
|
181
|
+
const disabled = props.disabled
|
|
182
|
+
const value = React.useMemo(
|
|
183
|
+
() => ({ checked, disabled, frameWidth }),
|
|
184
|
+
[checked, disabled, frameWidth]
|
|
185
|
+
)
|
|
186
|
+
|
|
187
|
+
const handleLayout = React.useCallback(
|
|
188
|
+
(e: LayoutChangeEvent) => {
|
|
189
|
+
setFrameWidth(e.nativeEvent.layout.width)
|
|
190
|
+
},
|
|
191
|
+
[setFrameWidth]
|
|
192
|
+
)
|
|
193
|
+
|
|
194
|
+
const unstyled = styledContext.unstyled ?? props.unstyled ?? false
|
|
195
|
+
|
|
194
196
|
return (
|
|
195
|
-
<SwitchContext.Provider
|
|
196
|
-
value={{ checked, disabled: switchProps.disabled, frameWidth }}
|
|
197
|
-
>
|
|
197
|
+
<SwitchContext.Provider value={value}>
|
|
198
198
|
<Frame
|
|
199
199
|
ref={switchRef}
|
|
200
200
|
tag="button"
|
|
201
201
|
{...(isWeb && { type: 'button' })}
|
|
202
|
+
{...(!unstyled && {
|
|
203
|
+
size: styledContext.size ?? props.size ?? '$true',
|
|
204
|
+
})}
|
|
205
|
+
unstyled={unstyled}
|
|
206
|
+
{...props}
|
|
202
207
|
{...(switchProps as any)}
|
|
203
208
|
{...(!disableActiveTheme &&
|
|
204
209
|
!props.unstyled && {
|
|
@@ -207,17 +212,11 @@ export function createSwitch<
|
|
|
207
212
|
})}
|
|
208
213
|
// expected variants
|
|
209
214
|
checked={checked}
|
|
210
|
-
disabled={
|
|
215
|
+
disabled={disabled}
|
|
211
216
|
>
|
|
212
|
-
<
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
onLayout={(e) => {
|
|
216
|
-
setFrameWidth(e.nativeEvent.layout.width)
|
|
217
|
-
}}
|
|
218
|
-
>
|
|
219
|
-
{switchProps.children}
|
|
220
|
-
</Stack>
|
|
217
|
+
<View style={measureContainerStyle} onLayout={handleLayout}>
|
|
218
|
+
{props.children}
|
|
219
|
+
</View>
|
|
221
220
|
</Frame>
|
|
222
221
|
|
|
223
222
|
{bubbleInput}
|
|
@@ -233,3 +232,8 @@ export function createSwitch<
|
|
|
233
232
|
Thumb: SwitchThumbComponent,
|
|
234
233
|
})
|
|
235
234
|
}
|
|
235
|
+
|
|
236
|
+
const measureContainerStyle = {
|
|
237
|
+
alignSelf: 'stretch',
|
|
238
|
+
flex: 1,
|
|
239
|
+
} satisfies ViewStyle
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSwitch.d.ts","sourceRoot":"","sources":["../src/createSwitch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"createSwitch.d.ts","sourceRoot":"","sources":["../src/createSwitch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAQxE,OAAO,KAAK,EACV,gBAAgB,IAAI,wBAAwB,EAC5C,WAAW,EACZ,MAAM,0BAA0B,CAAA;AAGjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAEV,WAAW,IAAI,iBAAiB,EAEjC,MAAM,cAAc,CAAA;AAMrB,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,wBAAwB,GAAG;IACxD,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC,CAAA;IAClD,WAAW,CAAC,EAAE,iBAAiB,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,gBAAgB,CAAA;AAE5D,KAAK,oBAAoB,GAAG,UAAU,CAAA;AAEtC,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,iBAAiB,CAAA;AAEvE,eAAO,MAAM,aAAa;aACf,WAAW;gBACR,MAAM;eACP,OAAO;EAKlB,CAAA;AAEF,KAAK,eAAe,GAAG,CAAC,KAAK,EAAE,iBAAiB,GAAG,gBAAgB,KAAK,GAAG,CAAA;AAC3E,KAAK,oBAAoB,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;AAE/C,wBAAgB,YAAY,CAC1B,CAAC,SAAS,eAAe,EACzB,CAAC,SAAS,oBAAoB,EAC9B,WAAW,EAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,CAAA;CAAE;;;;;;;;;;;;;aA1B1D,WAAW,CAAC,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;kBACpC,iBAAiB;;;;;;;;;;;;;;aADtB,WAAW,CAAC,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;kBACpC,iBAAiB;;aADtB,WAAW,CAAC,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;kBACpC,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBADtB,WAAW,CAAC,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;sBACpC,iBAAiB;;iBADtB,WAAW,CAAC,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;sBACpC,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuMhC"}
|