react-native-mantine 0.11.0 → 0.13.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.
- package/lib/commonjs/components/SegmentedControl/index.js +7 -1
- package/lib/commonjs/components/SegmentedControl/index.js.map +1 -1
- package/lib/module/components/SegmentedControl/index.js +7 -1
- package/lib/module/components/SegmentedControl/index.js.map +1 -1
- package/lib/typescript/commonjs/src/components/SegmentedControl/index.d.ts.map +1 -1
- package/lib/typescript/module/src/components/SegmentedControl/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/SegmentedControl/index.tsx +192 -124
|
@@ -200,11 +200,17 @@ const SegmentedControl = exports.SegmentedControl = /*#__PURE__*/(0, _react.forw
|
|
|
200
200
|
}
|
|
201
201
|
onChange?.(item.value);
|
|
202
202
|
};
|
|
203
|
+
|
|
204
|
+
// Calculate perpendicular dimension for the indicator
|
|
205
|
+
// For horizontal: use 80% of segment height
|
|
206
|
+
// For vertical: use segment width minus padding
|
|
207
|
+
const perpendicularDimension = segmentLayouts[activeIndex] ? orientation === 'horizontal' ? segmentLayouts[activeIndex].height * 0.8 : segmentLayouts[activeIndex].width - (0, _rem.rem)(4) : 0;
|
|
203
208
|
const indicatorStyle = {
|
|
204
209
|
[orientation === 'horizontal' ? 'left' : 'top']: indicatorPosition,
|
|
205
210
|
[orientation === 'horizontal' ? 'width' : 'height']: indicatorSize,
|
|
206
|
-
[orientation === 'horizontal' ? 'height' : 'width']: '
|
|
211
|
+
[orientation === 'horizontal' ? 'height' : 'width']: orientation === 'horizontal' ? '80%' : perpendicularDimension
|
|
207
212
|
};
|
|
213
|
+
console.log('perpendicularDimension', perpendicularDimension);
|
|
208
214
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_index.BoxView, {
|
|
209
215
|
ref: ref,
|
|
210
216
|
style: sx(styles.root, style),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_index","_index2","_themeProvider","_index3","_rem","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","sizes","xs","fontSize","rem","paddingVertical","paddingHorizontal","height","sm","md","lg","xl","useStyles","createStyles","theme","radius","disabled","orientation","fullWidth","size","sizeStyles","root","position","flexDirection","backgroundColor","colorScheme","colors","dark","gray","borderRadius","fn","padding","opacity","width","indicator","white","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","segment","flex","minHeight","justifyContent","alignItems","zIndex","label","fontWeight","textAlign","activeLabel","color","black","inactiveLabel","disabledLabel","defaultProps","transitionDuration","SegmentedControl","exports","forwardRef","props","ref","value","controlledValue","defaultValue","onChange","data","style","others","useComponentDefaultProps","styles","sx","name","normalizedData","map","item","uncontrolledValue","setUncontrolledValue","useState","segmentLayouts","setSegmentLayouts","undefined","activeIndex","findIndex","indicatorPosition","useRef","Animated","Value","current","indicatorSize","useEffect","layout","parallel","timing","toValue","x","y","duration","useNativeDriver","start","handleSegmentLayout","index","event","nativeEvent","prev","newLayouts","handlePress","indicatorStyle","jsxs","BoxView","children","length","jsx","View","isActive","isDisabled","TouchableOpacity","onPress","activeOpacity","onLayout","Text","displayName"],"sourceRoot":"../../../../src","sources":["components/SegmentedControl/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_index","_index2","_themeProvider","_index3","_rem","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","sizes","xs","fontSize","rem","paddingVertical","paddingHorizontal","height","sm","md","lg","xl","useStyles","createStyles","theme","radius","disabled","orientation","fullWidth","size","sizeStyles","root","position","flexDirection","backgroundColor","colorScheme","colors","dark","gray","borderRadius","fn","padding","opacity","width","indicator","white","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","segment","flex","minHeight","justifyContent","alignItems","zIndex","label","fontWeight","textAlign","activeLabel","color","black","inactiveLabel","disabledLabel","defaultProps","transitionDuration","SegmentedControl","exports","forwardRef","props","ref","value","controlledValue","defaultValue","onChange","data","style","others","useComponentDefaultProps","styles","sx","name","normalizedData","map","item","uncontrolledValue","setUncontrolledValue","useState","segmentLayouts","setSegmentLayouts","undefined","activeIndex","findIndex","indicatorPosition","useRef","Animated","Value","current","indicatorSize","useEffect","layout","parallel","timing","toValue","x","y","duration","useNativeDriver","start","handleSegmentLayout","index","event","nativeEvent","prev","newLayouts","handlePress","perpendicularDimension","indicatorStyle","console","log","jsxs","BoxView","children","length","jsx","View","isActive","isDisabled","TouchableOpacity","onPress","activeOpacity","onLayout","Text","displayName"],"sourceRoot":"../../../../src","sources":["components/SegmentedControl/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -195,11 +195,17 @@ export const SegmentedControl = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
195
195
|
}
|
|
196
196
|
onChange?.(item.value);
|
|
197
197
|
};
|
|
198
|
+
|
|
199
|
+
// Calculate perpendicular dimension for the indicator
|
|
200
|
+
// For horizontal: use 80% of segment height
|
|
201
|
+
// For vertical: use segment width minus padding
|
|
202
|
+
const perpendicularDimension = segmentLayouts[activeIndex] ? orientation === 'horizontal' ? segmentLayouts[activeIndex].height * 0.8 : segmentLayouts[activeIndex].width - rem(4) : 0;
|
|
198
203
|
const indicatorStyle = {
|
|
199
204
|
[orientation === 'horizontal' ? 'left' : 'top']: indicatorPosition,
|
|
200
205
|
[orientation === 'horizontal' ? 'width' : 'height']: indicatorSize,
|
|
201
|
-
[orientation === 'horizontal' ? 'height' : 'width']: '
|
|
206
|
+
[orientation === 'horizontal' ? 'height' : 'width']: orientation === 'horizontal' ? '80%' : perpendicularDimension
|
|
202
207
|
};
|
|
208
|
+
console.log('perpendicularDimension', perpendicularDimension);
|
|
203
209
|
return /*#__PURE__*/_jsxs(BoxView, {
|
|
204
210
|
ref: ref,
|
|
205
211
|
style: sx(styles.root, style),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useState","useRef","useEffect","TouchableOpacity","Animated","BoxView","Text","useComponentDefaultProps","createStyles","rem","jsx","_jsx","jsxs","_jsxs","sizes","xs","fontSize","paddingVertical","paddingHorizontal","height","sm","md","lg","xl","useStyles","theme","radius","disabled","orientation","fullWidth","size","sizeStyles","root","position","flexDirection","backgroundColor","colorScheme","colors","dark","gray","borderRadius","fn","padding","opacity","width","indicator","white","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","segment","flex","minHeight","justifyContent","alignItems","zIndex","label","fontWeight","textAlign","activeLabel","color","black","inactiveLabel","disabledLabel","defaultProps","transitionDuration","SegmentedControl","props","ref","value","controlledValue","defaultValue","onChange","data","style","others","styles","sx","name","normalizedData","map","item","uncontrolledValue","setUncontrolledValue","segmentLayouts","setSegmentLayouts","undefined","activeIndex","findIndex","indicatorPosition","Value","current","indicatorSize","layout","parallel","timing","toValue","x","y","duration","useNativeDriver","start","handleSegmentLayout","index","event","nativeEvent","prev","newLayouts","handlePress","indicatorStyle","children","length","View","isActive","isDisabled","onPress","activeOpacity","onLayout","displayName"],"sourceRoot":"../../../../src","sources":["components/SegmentedControl/index.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,SAAS,QAAQ,OAAO;AACtE,SAASC,gBAAgB,EAAEC,QAAQ,QAAQ,cAAc;AAEzD,SAASC,OAAO,QAAQ,qBAAY;AACpC,SAASC,IAAI,QAAQ,kBAAS;
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useState","useRef","useEffect","TouchableOpacity","Animated","BoxView","Text","useComponentDefaultProps","createStyles","rem","jsx","_jsx","jsxs","_jsxs","sizes","xs","fontSize","paddingVertical","paddingHorizontal","height","sm","md","lg","xl","useStyles","theme","radius","disabled","orientation","fullWidth","size","sizeStyles","root","position","flexDirection","backgroundColor","colorScheme","colors","dark","gray","borderRadius","fn","padding","opacity","width","indicator","white","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","segment","flex","minHeight","justifyContent","alignItems","zIndex","label","fontWeight","textAlign","activeLabel","color","black","inactiveLabel","disabledLabel","defaultProps","transitionDuration","SegmentedControl","props","ref","value","controlledValue","defaultValue","onChange","data","style","others","styles","sx","name","normalizedData","map","item","uncontrolledValue","setUncontrolledValue","segmentLayouts","setSegmentLayouts","undefined","activeIndex","findIndex","indicatorPosition","Value","current","indicatorSize","layout","parallel","timing","toValue","x","y","duration","useNativeDriver","start","handleSegmentLayout","index","event","nativeEvent","prev","newLayouts","handlePress","perpendicularDimension","indicatorStyle","console","log","children","length","View","isActive","isDisabled","onPress","activeOpacity","onLayout","displayName"],"sourceRoot":"../../../../src","sources":["components/SegmentedControl/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SegmentedControl/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SegmentedControl/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAK3B,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,wBAAwB;IACxB,IAAI,EAAE,CAAC,MAAM,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAExC,4BAA4B;IAC5B,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,kEAAkE;IAClE,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kCAAkC;IAClC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAExC,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,wBAAwB;IACxB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AA4HD,eAAO,MAAM,gBAAgB,mFAgJ5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SegmentedControl/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/SegmentedControl/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAK3B,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,wBAAwB;IACxB,IAAI,EAAE,CAAC,MAAM,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAExC,4BAA4B;IAC5B,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,kEAAkE;IAClE,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kCAAkC;IAClC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAExC,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,wBAAwB;IACxB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AA4HD,eAAO,MAAM,gBAAgB,mFAgJ5B,CAAC"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,12 @@ import { TouchableOpacity, Animated } from 'react-native';
|
|
|
3
3
|
import type { LayoutChangeEvent } from 'react-native';
|
|
4
4
|
import { BoxView } from '../BoxView';
|
|
5
5
|
import { Text } from '../Text';
|
|
6
|
-
import type {
|
|
6
|
+
import type {
|
|
7
|
+
DefaultProps,
|
|
8
|
+
MantineColor,
|
|
9
|
+
MantineNumberSize,
|
|
10
|
+
MantineSize,
|
|
11
|
+
} from '../../theme/types';
|
|
7
12
|
import { useComponentDefaultProps } from '../../theme/theme-provider';
|
|
8
13
|
import { createStyles } from '../../theme';
|
|
9
14
|
import { rem } from '../../theme/utils/rem';
|
|
@@ -53,11 +58,36 @@ export interface SegmentedControlProps extends DefaultProps {
|
|
|
53
58
|
}
|
|
54
59
|
|
|
55
60
|
const sizes = {
|
|
56
|
-
xs: {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
+
xs: {
|
|
62
|
+
fontSize: rem(10),
|
|
63
|
+
paddingVertical: rem(3),
|
|
64
|
+
paddingHorizontal: rem(6),
|
|
65
|
+
height: rem(24),
|
|
66
|
+
},
|
|
67
|
+
sm: {
|
|
68
|
+
fontSize: rem(12),
|
|
69
|
+
paddingVertical: rem(5),
|
|
70
|
+
paddingHorizontal: rem(10),
|
|
71
|
+
height: rem(28),
|
|
72
|
+
},
|
|
73
|
+
md: {
|
|
74
|
+
fontSize: rem(14),
|
|
75
|
+
paddingVertical: rem(7),
|
|
76
|
+
paddingHorizontal: rem(14),
|
|
77
|
+
height: rem(32),
|
|
78
|
+
},
|
|
79
|
+
lg: {
|
|
80
|
+
fontSize: rem(16),
|
|
81
|
+
paddingVertical: rem(9),
|
|
82
|
+
paddingHorizontal: rem(16),
|
|
83
|
+
height: rem(38),
|
|
84
|
+
},
|
|
85
|
+
xl: {
|
|
86
|
+
fontSize: rem(18),
|
|
87
|
+
paddingVertical: rem(12),
|
|
88
|
+
paddingHorizontal: rem(20),
|
|
89
|
+
height: rem(44),
|
|
90
|
+
},
|
|
61
91
|
};
|
|
62
92
|
|
|
63
93
|
const useStyles = createStyles(
|
|
@@ -83,7 +113,10 @@ const useStyles = createStyles(
|
|
|
83
113
|
root: {
|
|
84
114
|
position: 'relative',
|
|
85
115
|
flexDirection: orientation === 'horizontal' ? 'row' : 'column',
|
|
86
|
-
backgroundColor:
|
|
116
|
+
backgroundColor:
|
|
117
|
+
theme.colorScheme === 'dark'
|
|
118
|
+
? theme.colors.dark?.[6]
|
|
119
|
+
: theme.colors.gray?.[1],
|
|
87
120
|
borderRadius: theme.fn.radius(radius),
|
|
88
121
|
padding: rem(4) as any,
|
|
89
122
|
opacity: disabled ? 0.5 : 1,
|
|
@@ -121,10 +154,16 @@ const useStyles = createStyles(
|
|
|
121
154
|
color: theme.colorScheme === 'dark' ? theme.white : theme.black,
|
|
122
155
|
},
|
|
123
156
|
inactiveLabel: {
|
|
124
|
-
color:
|
|
157
|
+
color:
|
|
158
|
+
theme.colorScheme === 'dark'
|
|
159
|
+
? theme.colors.dark?.[1]
|
|
160
|
+
: theme.colors.gray?.[7],
|
|
125
161
|
},
|
|
126
162
|
disabledLabel: {
|
|
127
|
-
color:
|
|
163
|
+
color:
|
|
164
|
+
theme.colorScheme === 'dark'
|
|
165
|
+
? theme.colors.dark?.[3]
|
|
166
|
+
: theme.colors.gray?.[5],
|
|
128
167
|
},
|
|
129
168
|
};
|
|
130
169
|
}
|
|
@@ -140,121 +179,150 @@ const defaultProps: Partial<SegmentedControlProps> = {
|
|
|
140
179
|
transitionDuration: 200,
|
|
141
180
|
};
|
|
142
181
|
|
|
143
|
-
export const SegmentedControl = forwardRef<any, SegmentedControlProps>(
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
{
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
)
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
182
|
+
export const SegmentedControl = forwardRef<any, SegmentedControlProps>(
|
|
183
|
+
(props, ref) => {
|
|
184
|
+
const {
|
|
185
|
+
value: controlledValue,
|
|
186
|
+
defaultValue,
|
|
187
|
+
onChange,
|
|
188
|
+
data,
|
|
189
|
+
size,
|
|
190
|
+
color,
|
|
191
|
+
radius,
|
|
192
|
+
disabled,
|
|
193
|
+
orientation,
|
|
194
|
+
fullWidth,
|
|
195
|
+
transitionDuration,
|
|
196
|
+
style,
|
|
197
|
+
...others
|
|
198
|
+
} = useComponentDefaultProps('SegmentedControl', defaultProps, props);
|
|
199
|
+
|
|
200
|
+
const { styles, sx } = useStyles(
|
|
201
|
+
{ color, radius, disabled, orientation, fullWidth },
|
|
202
|
+
{ name: 'SegmentedControl', size }
|
|
203
|
+
) as any;
|
|
204
|
+
|
|
205
|
+
// Normalize data to SegmentedControlItem[]
|
|
206
|
+
const normalizedData: SegmentedControlItem[] = data.map((item) =>
|
|
207
|
+
typeof item === 'string'
|
|
208
|
+
? { label: item, value: item, disabled: false }
|
|
209
|
+
: item
|
|
210
|
+
);
|
|
211
|
+
|
|
212
|
+
const [uncontrolledValue, setUncontrolledValue] = useState(
|
|
213
|
+
defaultValue ?? normalizedData[0]?.value ?? ''
|
|
214
|
+
);
|
|
215
|
+
const [segmentLayouts, setSegmentLayouts] = useState<
|
|
216
|
+
{ x: number; y: number; width: number; height: number }[]
|
|
217
|
+
>([]);
|
|
218
|
+
|
|
219
|
+
const value =
|
|
220
|
+
controlledValue !== undefined ? controlledValue : uncontrolledValue;
|
|
221
|
+
const activeIndex = normalizedData.findIndex(
|
|
222
|
+
(item) => item.value === value
|
|
223
|
+
);
|
|
224
|
+
|
|
225
|
+
const indicatorPosition = useRef(new Animated.Value(0)).current;
|
|
226
|
+
const indicatorSize = useRef(new Animated.Value(0)).current;
|
|
227
|
+
|
|
228
|
+
useEffect(() => {
|
|
229
|
+
if (segmentLayouts[activeIndex]) {
|
|
230
|
+
const layout = segmentLayouts[activeIndex];
|
|
231
|
+
// Indicator positions itself based on segment layout, no additional offset needed
|
|
232
|
+
|
|
233
|
+
Animated.parallel([
|
|
234
|
+
Animated.timing(indicatorPosition, {
|
|
235
|
+
toValue: orientation === 'horizontal' ? layout.x : layout.y,
|
|
236
|
+
duration: transitionDuration,
|
|
237
|
+
useNativeDriver: false,
|
|
238
|
+
}),
|
|
239
|
+
Animated.timing(indicatorSize, {
|
|
240
|
+
toValue:
|
|
241
|
+
orientation === 'horizontal' ? layout.width : layout.height,
|
|
242
|
+
duration: transitionDuration,
|
|
243
|
+
useNativeDriver: false,
|
|
244
|
+
}),
|
|
245
|
+
]).start();
|
|
246
|
+
}
|
|
247
|
+
}, [
|
|
248
|
+
activeIndex,
|
|
249
|
+
segmentLayouts,
|
|
250
|
+
orientation,
|
|
251
|
+
transitionDuration,
|
|
252
|
+
indicatorPosition,
|
|
253
|
+
indicatorSize,
|
|
254
|
+
]);
|
|
255
|
+
|
|
256
|
+
const handleSegmentLayout = (index: number, event: LayoutChangeEvent) => {
|
|
257
|
+
const { x, y, width, height } = event.nativeEvent.layout;
|
|
258
|
+
setSegmentLayouts((prev) => {
|
|
259
|
+
const newLayouts = [...prev];
|
|
260
|
+
newLayouts[index] = { x, y, width, height };
|
|
261
|
+
return newLayouts;
|
|
262
|
+
});
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
const handlePress = (item: SegmentedControlItem) => {
|
|
266
|
+
if (disabled || item.disabled) return;
|
|
267
|
+
|
|
268
|
+
if (controlledValue === undefined) {
|
|
269
|
+
setUncontrolledValue(item.value);
|
|
270
|
+
}
|
|
271
|
+
onChange?.(item.value);
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
// Calculate perpendicular dimension for the indicator
|
|
275
|
+
// For horizontal: use 80% of segment height
|
|
276
|
+
// For vertical: use segment width minus padding
|
|
277
|
+
const perpendicularDimension = segmentLayouts[activeIndex]
|
|
278
|
+
? orientation === 'horizontal'
|
|
279
|
+
? segmentLayouts[activeIndex].height * 0.8
|
|
280
|
+
: segmentLayouts[activeIndex].width - rem(4)
|
|
281
|
+
: 0;
|
|
282
|
+
|
|
283
|
+
const indicatorStyle = {
|
|
284
|
+
[orientation === 'horizontal' ? 'left' : 'top']: indicatorPosition,
|
|
285
|
+
[orientation === 'horizontal' ? 'width' : 'height']: indicatorSize,
|
|
286
|
+
[orientation === 'horizontal' ? 'height' : 'width']:
|
|
287
|
+
orientation === 'horizontal' ? '80%' : perpendicularDimension,
|
|
288
|
+
};
|
|
289
|
+
|
|
290
|
+
console.log('perpendicularDimension', perpendicularDimension);
|
|
291
|
+
|
|
292
|
+
return (
|
|
293
|
+
<BoxView ref={ref} style={sx(styles.root, style)} {...others}>
|
|
294
|
+
{segmentLayouts.length === normalizedData.length && (
|
|
295
|
+
<Animated.View style={[styles.indicator, indicatorStyle as any]} />
|
|
296
|
+
)}
|
|
297
|
+
|
|
298
|
+
{normalizedData.map((item, index) => {
|
|
299
|
+
const isActive = item.value === value;
|
|
300
|
+
const isDisabled = disabled || item.disabled;
|
|
301
|
+
|
|
302
|
+
return (
|
|
303
|
+
<TouchableOpacity
|
|
304
|
+
key={item.value}
|
|
305
|
+
style={styles.segment}
|
|
306
|
+
onPress={() => handlePress(item)}
|
|
307
|
+
disabled={isDisabled}
|
|
308
|
+
activeOpacity={0.7}
|
|
309
|
+
onLayout={(event) => handleSegmentLayout(index, event)}
|
|
250
310
|
>
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
}
|
|
311
|
+
<Text
|
|
312
|
+
style={[
|
|
313
|
+
styles.label,
|
|
314
|
+
isActive ? styles.activeLabel : styles.inactiveLabel,
|
|
315
|
+
isDisabled && styles.disabledLabel,
|
|
316
|
+
]}
|
|
317
|
+
>
|
|
318
|
+
{item.label}
|
|
319
|
+
</Text>
|
|
320
|
+
</TouchableOpacity>
|
|
321
|
+
);
|
|
322
|
+
})}
|
|
323
|
+
</BoxView>
|
|
324
|
+
);
|
|
325
|
+
}
|
|
326
|
+
);
|
|
259
327
|
|
|
260
328
|
SegmentedControl.displayName = 'SegmentedControl';
|