Skip to content

Commit d093734

Browse files
lidord-wixM-i-k-e-l
authored andcommitted
Fix/ support RTL in segmentedControl (#1439)
* support RTL * use isRTL from Constants (cherry picked from commit 165faee)
1 parent 49955ad commit d093734

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/components/segmentedControl/index.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {Colors, BorderRadiuses, Spacings} from '../../style';
66
import {asBaseComponent} from '../../commons/new';
77
import View from '../view';
88
import Segment, {SegmentedControlItemProps as SegmentProps} from './segment';
9+
import {Constants} from 'helpers';
910

1011
const {interpolate: _interpolate, interpolateNode} = Reanimated;
1112
const interpolate = interpolateNode || _interpolate;
@@ -127,7 +128,7 @@ const SegmentedControl = (props: SegmentedControlProps) => {
127128

128129
const animatedStyle = useMemo(() => {
129130
if (segmentsCounter.current === segments?.length) {
130-
const left = interpolate(animatedValue.current, {
131+
const inset = interpolate(animatedValue.current, {
131132
inputRange: _.times(segmentsCounter.current),
132133
outputRange: _.map(segmentsStyle.current, segment => segment.x)
133134
});
@@ -137,7 +138,7 @@ const SegmentedControl = (props: SegmentedControlProps) => {
137138
outputRange: _.map(segmentsStyle.current, segment => segment.width - 2 * BORDER_WIDTH)
138139
});
139140

140-
return {width, left};
141+
return [{width}, Constants.isRTL ? {right: inset} : {left: inset}];
141142
}
142143
return undefined;
143144
}, [segmentsCounter.current, segments?.length]);

0 commit comments

Comments
 (0)