Skip to content

Commit 5771761

Browse files
committed
Wrap SVG container in a View to fix sizing on snack
1 parent 607fd3f commit 5771761

File tree

2 files changed

+55
-51
lines changed

2 files changed

+55
-51
lines changed

packages/core/src/components/Progress/CircularProgress/CircularProgress.tsx

Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import React from "react";
22
import Svg, { Path, PathProps } from "react-native-svg";
3+
import { View } from "react-native";
34
import Animated, {
45
useAnimatedProps,
56
useSharedValue,
@@ -115,8 +116,7 @@ export const CircularProgress: React.FC<
115116
}, [circumfrence, onFullPathWidth]);
116117

117118
return (
118-
<Svg
119-
testID={testID ?? "circular-progress-component"}
119+
<View
120120
onLayout={(event) => {
121121
const width = event.nativeEvent.layout.width;
122122
setSvgContainerWidth(width);
@@ -128,32 +128,34 @@ export const CircularProgress: React.FC<
128128
style,
129129
]}
130130
>
131-
{showTrack && (
132-
<Path
133-
d={circlePath(
134-
radius,
135-
radius,
136-
radius - thicknessOffset,
137-
startAngle,
138-
startAngle + 360
139-
)}
140-
stroke={trackColor}
141-
strokeWidth={trackThickness}
142-
strokeOpacity={trackOpacity}
143-
strokeLinecap={trackLineCap}
144-
strokeDasharray={trackCustomDashArray || trackDashArray}
145-
strokeDashoffset={trackDashOffset}
131+
<Svg testID={testID ?? "circular-progress-component"} style={{ flex: 1 }}>
132+
{showTrack && (
133+
<Path
134+
d={circlePath(
135+
radius,
136+
radius,
137+
radius - thicknessOffset,
138+
startAngle,
139+
startAngle + 360
140+
)}
141+
stroke={trackColor}
142+
strokeWidth={trackThickness}
143+
strokeOpacity={trackOpacity}
144+
strokeLinecap={trackLineCap}
145+
strokeDasharray={trackCustomDashArray || trackDashArray}
146+
strokeDashoffset={trackDashOffset}
147+
/>
148+
)}
149+
<AnimatedPath
150+
animatedProps={progressPathAnimatedProps}
151+
stroke={color}
152+
strokeWidth={thickness}
153+
strokeLinecap={lineCap}
154+
strokeDasharray={customDashArray || dashArray}
155+
strokeDashoffset={dashOffset}
146156
/>
147-
)}
148-
<AnimatedPath
149-
animatedProps={progressPathAnimatedProps}
150-
stroke={color}
151-
strokeWidth={thickness}
152-
strokeLinecap={lineCap}
153-
strokeDasharray={customDashArray || dashArray}
154-
strokeDashoffset={dashOffset}
155-
/>
156-
</Svg>
157+
</Svg>
158+
</View>
157159
);
158160
};
159161

packages/core/src/components/Progress/LinearProgress/LinearProgress.tsx

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import React from "react";
22
import Svg, { Line, LineProps } from "react-native-svg";
3+
import { View } from "react-native";
34
import Animated, {
45
useAnimatedProps,
56
useSharedValue,
@@ -88,8 +89,7 @@ export const LinearProgress: React.FC<ValueProgressProps> = ({
8889
]);
8990

9091
return (
91-
<Svg
92-
testID={testID ?? "linear-progress-component"}
92+
<View
9393
onLayout={(event) => {
9494
const width = event.nativeEvent.layout.width;
9595
setSvgContainerWidth(width);
@@ -102,31 +102,33 @@ export const LinearProgress: React.FC<ValueProgressProps> = ({
102102
style,
103103
]}
104104
>
105-
{showTrack && (
106-
<Line
105+
<Svg testID={testID ?? "linear-progress-component"} style={{ flex: 1 }}>
106+
{showTrack && (
107+
<Line
108+
x1={thicknessOffset}
109+
y1={thicknessOffset}
110+
x2={trackProgressLineWidth}
111+
y2={thicknessOffset}
112+
stroke={trackColor}
113+
strokeWidth={trackThickness}
114+
strokeOpacity={trackOpacity}
115+
strokeLinecap={trackLineCap}
116+
strokeDasharray={trackCustomDashArray || trackDashArray}
117+
strokeDashoffset={trackDashOffset}
118+
/>
119+
)}
120+
<AnimatedLine
121+
animatedProps={progressLineAnimatedProps}
107122
x1={thicknessOffset}
108123
y1={thicknessOffset}
109-
x2={trackProgressLineWidth}
110124
y2={thicknessOffset}
111-
stroke={trackColor}
112-
strokeWidth={trackThickness}
113-
strokeOpacity={trackOpacity}
114-
strokeLinecap={trackLineCap}
115-
strokeDasharray={trackCustomDashArray || trackDashArray}
116-
strokeDashoffset={trackDashOffset}
125+
stroke={color}
126+
strokeWidth={thickness}
127+
strokeLinecap={lineCap}
128+
strokeDasharray={customDashArray || dashArray}
129+
strokeDashoffset={dashOffset}
117130
/>
118-
)}
119-
<AnimatedLine
120-
animatedProps={progressLineAnimatedProps}
121-
x1={thicknessOffset}
122-
y1={thicknessOffset}
123-
y2={thicknessOffset}
124-
stroke={color}
125-
strokeWidth={thickness}
126-
strokeLinecap={lineCap}
127-
strokeDasharray={customDashArray || dashArray}
128-
strokeDashoffset={dashOffset}
129-
/>
130-
</Svg>
131+
</Svg>
132+
</View>
131133
);
132134
};

0 commit comments

Comments
 (0)