react-native-directional-toggle 0.1.2 → 0.1.3

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.
@@ -26,8 +26,10 @@ function AnimatedSwitch({
26
26
  textStyle,
27
27
  activeTextStyle,
28
28
  inactiveTextStyle,
29
- animationConfig = DEFAULT_ANIMATION
29
+ animationConfig = DEFAULT_ANIMATION,
30
+ disabled = false
30
31
  }) {
32
+ console.log('disabled ---->', disabled);
31
33
  const itemSizeSV = (0, _reactNativeReanimated.useSharedValue)(0);
32
34
  const translate = (0, _reactNativeReanimated.useSharedValue)(0);
33
35
  const indexSV = (0, _reactNativeReanimated.useSharedValue)(0);
@@ -65,12 +67,11 @@ function AnimatedSwitch({
65
67
  }
66
68
  }, [onChange, options]);
67
69
  const handlePress = index => {
68
- if (itemSizeSV.value === 0) return;
69
- indexSV.value = index;
70
+ if (disabled || itemSizeSV.value === 0) return;
70
71
  translate.value = (0, _reactNativeReanimated.withTiming)(index * itemSizeSV.value, animationConfig);
71
72
  emitChange(index);
72
73
  };
73
- const panGesture = _reactNativeGestureHandler.Gesture.Pan().onUpdate(e => {
74
+ const panGesture = (0, _react.useMemo)(() => _reactNativeGestureHandler.Gesture.Pan().enabled(!disabled).onUpdate(e => {
74
75
  if (itemSizeSV.value === 0) return;
75
76
  const term = vertical ? e.translationY : e.translationX;
76
77
  const startPos = indexSV.value * itemSizeSV.value;
@@ -83,7 +84,9 @@ function AnimatedSwitch({
83
84
  indexSV.value = index;
84
85
  translate.value = (0, _reactNativeReanimated.withSpring)(index * itemSizeSV.value, animationConfig);
85
86
  (0, _reactNativeWorklets.scheduleOnRN)(emitChange, index);
86
- });
87
+ }),
88
+ // eslint-disable-next-line react-hooks/exhaustive-deps
89
+ [disabled]);
87
90
  const animatedThumbStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
88
91
  // If layout not ready, hide thumb or show nothing
89
92
  if (itemSizeSV.value === 0) return {
@@ -110,27 +113,28 @@ function AnimatedSwitch({
110
113
  opacity: 1
111
114
  };
112
115
  });
113
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
116
+ const content = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
117
+ onLayout: onLayout,
118
+ style: [styles.container, vertical ? styles.vertical : styles.horizontal, disabled && styles.disabled, style],
119
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
120
+ style: [styles.thumb, thumbStyle, animatedThumbStyle]
121
+ }), options.map((opt, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(OptionItem, {
122
+ label: opt.label,
123
+ onPress: () => handlePress(index),
124
+ index: index,
125
+ translate: translate,
126
+ itemSizeSV: itemSizeSV,
127
+ textStyle: textStyle,
128
+ activeTextStyle: activeTextStyle,
129
+ inactiveTextStyle: inactiveTextStyle,
130
+ disabled: disabled
131
+ }, String(opt.value)))]
132
+ });
133
+
134
+ // disabled 时不挂载 GestureDetector
135
+ return disabled ? content : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
114
136
  gesture: panGesture,
115
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
116
- onLayout: onLayout,
117
- style: [styles.container, vertical ? styles.vertical : styles.horizontal, style // User override
118
- ],
119
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
120
- style: [styles.thumb, thumbStyle, animatedThumbStyle]
121
- }), options.map((opt, index) => {
122
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(OptionItem, {
123
- label: opt.label,
124
- onPress: () => handlePress(index),
125
- index: index,
126
- translate: translate,
127
- itemSizeSV: itemSizeSV,
128
- textStyle: textStyle,
129
- activeTextStyle: activeTextStyle,
130
- inactiveTextStyle: inactiveTextStyle
131
- }, opt.value);
132
- })]
133
- })
137
+ children: content
134
138
  });
135
139
  }
136
140
 
@@ -143,7 +147,8 @@ const OptionItem = ({
143
147
  itemSizeSV,
144
148
  textStyle,
145
149
  activeTextStyle,
146
- inactiveTextStyle
150
+ inactiveTextStyle,
151
+ disabled
147
152
  }) => {
148
153
  const activeColor = _reactNative.StyleSheet.flatten(activeTextStyle)?.color ?? '#000';
149
154
  const inactiveColor = _reactNative.StyleSheet.flatten(inactiveTextStyle)?.color ?? '#999';
@@ -157,6 +162,7 @@ const OptionItem = ({
157
162
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
158
163
  style: styles.option,
159
164
  onPress: onPress,
165
+ disabled: disabled,
160
166
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.Text, {
161
167
  style: [styles.text, textStyle, textAnimatedStyle],
162
168
  numberOfLines: 1,
@@ -166,11 +172,13 @@ const OptionItem = ({
166
172
  };
167
173
  const styles = _reactNative.StyleSheet.create({
168
174
  container: {
169
- // backgroundColor: '#f0f0f0',
170
175
  borderRadius: 16,
171
176
  overflow: 'hidden',
172
- padding: 2
173
- // position: 'relative',
177
+ padding: 2,
178
+ position: 'relative'
179
+ },
180
+ disabled: {
181
+ opacity: 0.5
174
182
  },
175
183
  horizontal: {
176
184
  flexDirection: 'row'
@@ -179,7 +187,6 @@ const styles = _reactNative.StyleSheet.create({
179
187
  flexDirection: 'column'
180
188
  },
181
189
  thumb: {
182
- // backgroundColor: '#fff',
183
190
  borderRadius: 16,
184
191
  shadowColor: '#000',
185
192
  shadowOffset: {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_reactNativeGestureHandler","_reactNativeWorklets","_reactNativeReanimated","_interopRequireWildcard","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_ANIMATION","duration","damping","stiffness","AnimatedSwitch","options","value","onChange","vertical","style","thumbStyle","textStyle","activeTextStyle","inactiveTextStyle","animationConfig","itemSizeSV","useSharedValue","translate","indexSV","currentIndex","findIndex","onLayout","useCallback","width","height","nativeEvent","layout","totalSize","itemSize","length","useEffect","withTiming","emitChange","index","safeIndex","Math","max","min","handlePress","panGesture","Gesture","Pan","onUpdate","term","translationY","translationX","startPos","pos","onEnd","round","withSpring","scheduleOnRN","animatedThumbStyle","useAnimatedStyle","opacity","transform","translateY","translateX","sizeStyle","position","left","top","jsx","GestureDetector","gesture","children","jsxs","View","styles","container","horizontal","thumb","map","opt","OptionItem","label","onPress","activeColor","StyleSheet","flatten","color","inactiveColor","textAnimatedStyle","center","interpolateColor","Pressable","option","Text","text","numberOfLines","create","borderRadius","overflow","padding","flexDirection","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","flex","alignItems","justifyContent","fontSize","fontWeight"],"sourceRoot":"../../src","sources":["AnimatedSwitch.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeGestureHandler","_reactNativeWorklets","_reactNativeReanimated","_interopRequireWildcard","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_ANIMATION","duration","damping","stiffness","AnimatedSwitch","options","value","onChange","vertical","style","thumbStyle","textStyle","activeTextStyle","inactiveTextStyle","animationConfig","disabled","console","log","itemSizeSV","useSharedValue","translate","indexSV","currentIndex","findIndex","onLayout","useCallback","width","height","nativeEvent","layout","totalSize","itemSize","length","useEffect","withTiming","emitChange","index","safeIndex","Math","max","min","handlePress","panGesture","useMemo","Gesture","Pan","enabled","onUpdate","term","translationY","translationX","startPos","pos","onEnd","round","withSpring","scheduleOnRN","animatedThumbStyle","useAnimatedStyle","opacity","transform","translateY","translateX","sizeStyle","position","left","top","content","jsxs","View","styles","container","horizontal","children","jsx","thumb","map","opt","OptionItem","label","onPress","String","GestureDetector","gesture","activeColor","StyleSheet","flatten","color","inactiveColor","textAnimatedStyle","center","interpolateColor","Pressable","option","Text","text","numberOfLines","create","borderRadius","overflow","padding","flexDirection","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","flex","alignItems","justifyContent","fontSize","fontWeight"],"sourceRoot":"../../src","sources":["AnimatedSwitch.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { useCallback, useEffect } from 'react';
3
+ import { useCallback, useEffect, useMemo } from 'react';
4
4
  import { Pressable, StyleSheet, View } from 'react-native';
5
5
  import { Gesture, GestureDetector } from 'react-native-gesture-handler';
6
6
  import { scheduleOnRN } from 'react-native-worklets';
@@ -21,8 +21,10 @@ export function AnimatedSwitch({
21
21
  textStyle,
22
22
  activeTextStyle,
23
23
  inactiveTextStyle,
24
- animationConfig = DEFAULT_ANIMATION
24
+ animationConfig = DEFAULT_ANIMATION,
25
+ disabled = false
25
26
  }) {
27
+ console.log('disabled ---->', disabled);
26
28
  const itemSizeSV = useSharedValue(0);
27
29
  const translate = useSharedValue(0);
28
30
  const indexSV = useSharedValue(0);
@@ -60,12 +62,11 @@ export function AnimatedSwitch({
60
62
  }
61
63
  }, [onChange, options]);
62
64
  const handlePress = index => {
63
- if (itemSizeSV.value === 0) return;
64
- indexSV.value = index;
65
+ if (disabled || itemSizeSV.value === 0) return;
65
66
  translate.value = withTiming(index * itemSizeSV.value, animationConfig);
66
67
  emitChange(index);
67
68
  };
68
- const panGesture = Gesture.Pan().onUpdate(e => {
69
+ const panGesture = useMemo(() => Gesture.Pan().enabled(!disabled).onUpdate(e => {
69
70
  if (itemSizeSV.value === 0) return;
70
71
  const term = vertical ? e.translationY : e.translationX;
71
72
  const startPos = indexSV.value * itemSizeSV.value;
@@ -78,7 +79,9 @@ export function AnimatedSwitch({
78
79
  indexSV.value = index;
79
80
  translate.value = withSpring(index * itemSizeSV.value, animationConfig);
80
81
  scheduleOnRN(emitChange, index);
81
- });
82
+ }),
83
+ // eslint-disable-next-line react-hooks/exhaustive-deps
84
+ [disabled]);
82
85
  const animatedThumbStyle = useAnimatedStyle(() => {
83
86
  // If layout not ready, hide thumb or show nothing
84
87
  if (itemSizeSV.value === 0) return {
@@ -105,27 +108,28 @@ export function AnimatedSwitch({
105
108
  opacity: 1
106
109
  };
107
110
  });
108
- return /*#__PURE__*/_jsx(GestureDetector, {
111
+ const content = /*#__PURE__*/_jsxs(View, {
112
+ onLayout: onLayout,
113
+ style: [styles.container, vertical ? styles.vertical : styles.horizontal, disabled && styles.disabled, style],
114
+ children: [/*#__PURE__*/_jsx(Animated.View, {
115
+ style: [styles.thumb, thumbStyle, animatedThumbStyle]
116
+ }), options.map((opt, index) => /*#__PURE__*/_jsx(OptionItem, {
117
+ label: opt.label,
118
+ onPress: () => handlePress(index),
119
+ index: index,
120
+ translate: translate,
121
+ itemSizeSV: itemSizeSV,
122
+ textStyle: textStyle,
123
+ activeTextStyle: activeTextStyle,
124
+ inactiveTextStyle: inactiveTextStyle,
125
+ disabled: disabled
126
+ }, String(opt.value)))]
127
+ });
128
+
129
+ // disabled 时不挂载 GestureDetector
130
+ return disabled ? content : /*#__PURE__*/_jsx(GestureDetector, {
109
131
  gesture: panGesture,
110
- children: /*#__PURE__*/_jsxs(View, {
111
- onLayout: onLayout,
112
- style: [styles.container, vertical ? styles.vertical : styles.horizontal, style // User override
113
- ],
114
- children: [/*#__PURE__*/_jsx(Animated.View, {
115
- style: [styles.thumb, thumbStyle, animatedThumbStyle]
116
- }), options.map((opt, index) => {
117
- return /*#__PURE__*/_jsx(OptionItem, {
118
- label: opt.label,
119
- onPress: () => handlePress(index),
120
- index: index,
121
- translate: translate,
122
- itemSizeSV: itemSizeSV,
123
- textStyle: textStyle,
124
- activeTextStyle: activeTextStyle,
125
- inactiveTextStyle: inactiveTextStyle
126
- }, opt.value);
127
- })]
128
- })
132
+ children: content
129
133
  });
130
134
  }
131
135
 
@@ -138,7 +142,8 @@ const OptionItem = ({
138
142
  itemSizeSV,
139
143
  textStyle,
140
144
  activeTextStyle,
141
- inactiveTextStyle
145
+ inactiveTextStyle,
146
+ disabled
142
147
  }) => {
143
148
  const activeColor = StyleSheet.flatten(activeTextStyle)?.color ?? '#000';
144
149
  const inactiveColor = StyleSheet.flatten(inactiveTextStyle)?.color ?? '#999';
@@ -152,6 +157,7 @@ const OptionItem = ({
152
157
  return /*#__PURE__*/_jsx(Pressable, {
153
158
  style: styles.option,
154
159
  onPress: onPress,
160
+ disabled: disabled,
155
161
  children: /*#__PURE__*/_jsx(Animated.Text, {
156
162
  style: [styles.text, textStyle, textAnimatedStyle],
157
163
  numberOfLines: 1,
@@ -161,11 +167,13 @@ const OptionItem = ({
161
167
  };
162
168
  const styles = StyleSheet.create({
163
169
  container: {
164
- // backgroundColor: '#f0f0f0',
165
170
  borderRadius: 16,
166
171
  overflow: 'hidden',
167
- padding: 2
168
- // position: 'relative',
172
+ padding: 2,
173
+ position: 'relative'
174
+ },
175
+ disabled: {
176
+ opacity: 0.5
169
177
  },
170
178
  horizontal: {
171
179
  flexDirection: 'row'
@@ -174,7 +182,6 @@ const styles = StyleSheet.create({
174
182
  flexDirection: 'column'
175
183
  },
176
184
  thumb: {
177
- // backgroundColor: '#fff',
178
185
  borderRadius: 16,
179
186
  shadowColor: '#000',
180
187
  shadowOffset: {
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","Pressable","StyleSheet","View","Gesture","GestureDetector","scheduleOnRN","Animated","interpolateColor","useAnimatedStyle","useSharedValue","withSpring","withTiming","jsx","_jsx","jsxs","_jsxs","DEFAULT_ANIMATION","duration","damping","stiffness","AnimatedSwitch","options","value","onChange","vertical","style","thumbStyle","textStyle","activeTextStyle","inactiveTextStyle","animationConfig","itemSizeSV","translate","indexSV","currentIndex","findIndex","o","onLayout","e","width","height","nativeEvent","layout","totalSize","itemSize","length","emitChange","index","safeIndex","Math","max","min","handlePress","panGesture","Pan","onUpdate","term","translationY","translationX","startPos","pos","onEnd","round","animatedThumbStyle","opacity","transform","translateY","translateX","sizeStyle","position","left","top","gesture","children","styles","container","horizontal","thumb","map","opt","OptionItem","label","onPress","activeColor","flatten","color","inactiveColor","textAnimatedStyle","center","option","Text","text","numberOfLines","create","borderRadius","overflow","padding","flexDirection","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","flex","alignItems","justifyContent","fontSize","fontWeight"],"sourceRoot":"../../src","sources":["AnimatedSwitch.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","Pressable","StyleSheet","View","Gesture","GestureDetector","scheduleOnRN","Animated","interpolateColor","useAnimatedStyle","useSharedValue","withSpring","withTiming","jsx","_jsx","jsxs","_jsxs","DEFAULT_ANIMATION","duration","damping","stiffness","AnimatedSwitch","options","value","onChange","vertical","style","thumbStyle","textStyle","activeTextStyle","inactiveTextStyle","animationConfig","disabled","console","log","itemSizeSV","translate","indexSV","currentIndex","findIndex","o","onLayout","e","width","height","nativeEvent","layout","totalSize","itemSize","length","emitChange","index","safeIndex","Math","max","min","handlePress","panGesture","Pan","enabled","onUpdate","term","translationY","translationX","startPos","pos","onEnd","round","animatedThumbStyle","opacity","transform","translateY","translateX","sizeStyle","position","left","top","content","styles","container","horizontal","children","thumb","map","opt","OptionItem","label","onPress","String","gesture","activeColor","flatten","color","inactiveColor","textAnimatedStyle","center","option","Text","text","numberOfLines","create","borderRadius","overflow","padding","flexDirection","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","flex","alignItems","justifyContent","fontSize","fontWeight"],"sourceRoot":"../../src","sources":["AnimatedSwitch.tsx"],"mappings":"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","ignoreList":[]}
@@ -37,7 +37,12 @@ export type AnimatedSwitchProps = {
37
37
  * Animation configuration.
38
38
  */
39
39
  animationConfig?: WithTimingConfig | WithSpringConfig;
40
+ /**
41
+ * When true, the switch does not respond to interactions.
42
+ * @default false
43
+ */
44
+ disabled?: boolean;
40
45
  };
41
- export declare function AnimatedSwitch({ options, value, onChange, vertical, style, thumbStyle, textStyle, activeTextStyle, inactiveTextStyle, animationConfig, }: AnimatedSwitchProps): import("react/jsx-runtime").JSX.Element;
46
+ export declare function AnimatedSwitch({ options, value, onChange, vertical, style, thumbStyle, textStyle, activeTextStyle, inactiveTextStyle, animationConfig, disabled, }: AnimatedSwitchProps): import("react/jsx-runtime").JSX.Element;
42
47
  export {};
43
48
  //# sourceMappingURL=AnimatedSwitch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnimatedSwitch.d.ts","sourceRoot":"","sources":["../../../../src/AnimatedSwitch.tsx"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAiB,EAMf,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAEtB,MAAM,yBAAyB,CAAC;AAEjC,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC3C;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC;;OAEG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC;;OAEG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACzC;;OAEG;IACH,eAAe,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;CACvD,CAAC;AAQF,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,KAAK,EACL,UAAU,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,eAAmC,GACpC,EAAE,mBAAmB,2CAiIrB"}
1
+ {"version":3,"file":"AnimatedSwitch.d.ts","sourceRoot":"","sources":["../../../../src/AnimatedSwitch.tsx"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAiB,EAMf,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAEtB,MAAM,yBAAyB,CAAC;AAEjC,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC3C;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC;;OAEG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC;;OAEG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACzC;;OAEG;IACH,eAAe,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IACtD;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAQF,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,KAAK,EACL,UAAU,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,eAAmC,EACnC,QAAgB,GACjB,EAAE,mBAAmB,2CA4IrB"}
@@ -37,7 +37,12 @@ export type AnimatedSwitchProps = {
37
37
  * Animation configuration.
38
38
  */
39
39
  animationConfig?: WithTimingConfig | WithSpringConfig;
40
+ /**
41
+ * When true, the switch does not respond to interactions.
42
+ * @default false
43
+ */
44
+ disabled?: boolean;
40
45
  };
41
- export declare function AnimatedSwitch({ options, value, onChange, vertical, style, thumbStyle, textStyle, activeTextStyle, inactiveTextStyle, animationConfig, }: AnimatedSwitchProps): import("react/jsx-runtime").JSX.Element;
46
+ export declare function AnimatedSwitch({ options, value, onChange, vertical, style, thumbStyle, textStyle, activeTextStyle, inactiveTextStyle, animationConfig, disabled, }: AnimatedSwitchProps): import("react/jsx-runtime").JSX.Element;
42
47
  export {};
43
48
  //# sourceMappingURL=AnimatedSwitch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnimatedSwitch.d.ts","sourceRoot":"","sources":["../../../../src/AnimatedSwitch.tsx"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAiB,EAMf,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAEtB,MAAM,yBAAyB,CAAC;AAEjC,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC3C;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC;;OAEG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC;;OAEG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACzC;;OAEG;IACH,eAAe,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;CACvD,CAAC;AAQF,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,KAAK,EACL,UAAU,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,eAAmC,GACpC,EAAE,mBAAmB,2CAiIrB"}
1
+ {"version":3,"file":"AnimatedSwitch.d.ts","sourceRoot":"","sources":["../../../../src/AnimatedSwitch.tsx"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAiB,EAMf,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAEtB,MAAM,yBAAyB,CAAC;AAEjC,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC3C;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC;;OAEG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACvC;;OAEG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACzC;;OAEG;IACH,eAAe,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IACtD;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAQF,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,KAAK,EACL,UAAU,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,eAAmC,EACnC,QAAgB,GACjB,EAAE,mBAAmB,2CA4IrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-directional-toggle",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Multi-element toggle component for React Native and Expo with support for vertical and horizontal layouts and animations.",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",
@@ -1,4 +1,4 @@
1
- import { useCallback, useEffect } from 'react';
1
+ import { useCallback, useEffect, useMemo } from 'react';
2
2
  import {
3
3
  type LayoutChangeEvent,
4
4
  Pressable,
@@ -59,6 +59,11 @@ export type AnimatedSwitchProps = {
59
59
  * Animation configuration.
60
60
  */
61
61
  animationConfig?: WithTimingConfig | WithSpringConfig;
62
+ /**
63
+ * When true, the switch does not respond to interactions.
64
+ * @default false
65
+ */
66
+ disabled?: boolean;
62
67
  };
63
68
 
64
69
  const DEFAULT_ANIMATION = {
@@ -78,7 +83,9 @@ export function AnimatedSwitch({
78
83
  activeTextStyle,
79
84
  inactiveTextStyle,
80
85
  animationConfig = DEFAULT_ANIMATION,
86
+ disabled = false,
81
87
  }: AnimatedSwitchProps) {
88
+ console.log('disabled ---->', disabled);
82
89
  const itemSizeSV = useSharedValue(0);
83
90
  const translate = useSharedValue(0);
84
91
  const indexSV = useSharedValue(0);
@@ -126,8 +133,7 @@ export function AnimatedSwitch({
126
133
  );
127
134
 
128
135
  const handlePress = (index: number) => {
129
- if (itemSizeSV.value === 0) return;
130
- indexSV.value = index;
136
+ if (disabled || itemSizeSV.value === 0) return;
131
137
  translate.value = withTiming(
132
138
  index * itemSizeSV.value,
133
139
  animationConfig as WithTimingConfig
@@ -135,25 +141,31 @@ export function AnimatedSwitch({
135
141
  emitChange(index);
136
142
  };
137
143
 
138
- const panGesture = Gesture.Pan()
139
- .onUpdate((e) => {
140
- if (itemSizeSV.value === 0) return;
141
- const term = vertical ? e.translationY : e.translationX;
142
- const startPos = indexSV.value * itemSizeSV.value;
143
- const pos = startPos + term;
144
- const max = (options.length - 1) * itemSizeSV.value;
145
- translate.value = Math.min(Math.max(0, pos), max);
146
- })
147
- .onEnd(() => {
148
- if (itemSizeSV.value === 0) return;
149
- const index = Math.round(translate.value / itemSizeSV.value);
150
- indexSV.value = index;
151
- translate.value = withSpring(
152
- index * itemSizeSV.value,
153
- animationConfig as WithSpringConfig
154
- );
155
- scheduleOnRN(emitChange, index);
156
- });
144
+ const panGesture = useMemo(
145
+ () =>
146
+ Gesture.Pan()
147
+ .enabled(!disabled)
148
+ .onUpdate((e) => {
149
+ if (itemSizeSV.value === 0) return;
150
+ const term = vertical ? e.translationY : e.translationX;
151
+ const startPos = indexSV.value * itemSizeSV.value;
152
+ const pos = startPos + term;
153
+ const max = (options.length - 1) * itemSizeSV.value;
154
+ translate.value = Math.min(Math.max(0, pos), max);
155
+ })
156
+ .onEnd(() => {
157
+ if (itemSizeSV.value === 0) return;
158
+ const index = Math.round(translate.value / itemSizeSV.value);
159
+ indexSV.value = index;
160
+ translate.value = withSpring(
161
+ index * itemSizeSV.value,
162
+ animationConfig as WithSpringConfig
163
+ );
164
+ scheduleOnRN(emitChange, index);
165
+ }),
166
+ // eslint-disable-next-line react-hooks/exhaustive-deps
167
+ [disabled]
168
+ );
157
169
 
158
170
  const animatedThumbStyle = useAnimatedStyle(() => {
159
171
  // If layout not ready, hide thumb or show nothing
@@ -177,35 +189,40 @@ export function AnimatedSwitch({
177
189
  };
178
190
  });
179
191
 
180
- return (
181
- <GestureDetector gesture={panGesture}>
182
- <View
183
- onLayout={onLayout}
184
- style={[
185
- styles.container,
186
- vertical ? styles.vertical : styles.horizontal,
187
- style, // User override
188
- ]}
189
- >
190
- <Animated.View style={[styles.thumb, thumbStyle, animatedThumbStyle]} />
192
+ const content = (
193
+ <View
194
+ onLayout={onLayout}
195
+ style={[
196
+ styles.container,
197
+ vertical ? styles.vertical : styles.horizontal,
198
+ disabled && styles.disabled,
199
+ style,
200
+ ]}
201
+ >
202
+ <Animated.View style={[styles.thumb, thumbStyle, animatedThumbStyle]} />
191
203
 
192
- {options.map((opt, index) => {
193
- return (
194
- <OptionItem
195
- key={opt.value}
196
- label={opt.label}
197
- onPress={() => handlePress(index)}
198
- index={index}
199
- translate={translate}
200
- itemSizeSV={itemSizeSV}
201
- textStyle={textStyle}
202
- activeTextStyle={activeTextStyle}
203
- inactiveTextStyle={inactiveTextStyle}
204
- />
205
- );
206
- })}
207
- </View>
208
- </GestureDetector>
204
+ {options.map((opt, index) => (
205
+ <OptionItem
206
+ key={String(opt.value)}
207
+ label={opt.label}
208
+ onPress={() => handlePress(index)}
209
+ index={index}
210
+ translate={translate}
211
+ itemSizeSV={itemSizeSV}
212
+ textStyle={textStyle}
213
+ activeTextStyle={activeTextStyle}
214
+ inactiveTextStyle={inactiveTextStyle}
215
+ disabled={disabled}
216
+ />
217
+ ))}
218
+ </View>
219
+ );
220
+
221
+ // disabled 时不挂载 GestureDetector
222
+ return disabled ? (
223
+ content
224
+ ) : (
225
+ <GestureDetector gesture={panGesture}>{content}</GestureDetector>
209
226
  );
210
227
  }
211
228
 
@@ -219,6 +236,7 @@ const OptionItem = ({
219
236
  textStyle,
220
237
  activeTextStyle,
221
238
  inactiveTextStyle,
239
+ disabled,
222
240
  }: {
223
241
  label: string;
224
242
  onPress: () => void;
@@ -228,6 +246,7 @@ const OptionItem = ({
228
246
  textStyle?: StyleProp<TextStyle>;
229
247
  activeTextStyle?: StyleProp<TextStyle>;
230
248
  inactiveTextStyle?: StyleProp<TextStyle>;
249
+ disabled?: boolean;
231
250
  }) => {
232
251
  const activeColor =
233
252
  (StyleSheet.flatten(activeTextStyle)?.color as string) ?? '#000';
@@ -245,7 +264,7 @@ const OptionItem = ({
245
264
  });
246
265
 
247
266
  return (
248
- <Pressable style={styles.option} onPress={onPress}>
267
+ <Pressable style={styles.option} onPress={onPress} disabled={disabled}>
249
268
  <Animated.Text
250
269
  style={[styles.text, textStyle, textAnimatedStyle]}
251
270
  numberOfLines={1}
@@ -258,11 +277,13 @@ const OptionItem = ({
258
277
 
259
278
  const styles = StyleSheet.create({
260
279
  container: {
261
- // backgroundColor: '#f0f0f0',
262
280
  borderRadius: 16,
263
281
  overflow: 'hidden',
264
282
  padding: 2,
265
- // position: 'relative',
283
+ position: 'relative',
284
+ },
285
+ disabled: {
286
+ opacity: 0.5,
266
287
  },
267
288
  horizontal: {
268
289
  flexDirection: 'row',
@@ -271,7 +292,6 @@ const styles = StyleSheet.create({
271
292
  flexDirection: 'column',
272
293
  },
273
294
  thumb: {
274
- // backgroundColor: '#fff',
275
295
  borderRadius: 16,
276
296
  shadowColor: '#000',
277
297
  shadowOffset: { width: 0, height: 1 },