Skip to content

Commit 2c19a05

Browse files
committed
feat: parse inline-start inline-end border to RN
1 parent 5d1c5ba commit 2c19a05

3 files changed

Lines changed: 28 additions & 0 deletions

File tree

apps/expo-example/App.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,12 @@ const TailwindTestPage = () => {
231231
<View className="border-l-4 border-yellow-500 p-4 mb-4">
232232
<Text>border-l-4 border-yellow-500</Text>
233233
</View>
234+
<View className="border-s-4 border-orange-500 p-4 mb-4">
235+
<Text>border-s-4 border-orange-500</Text>
236+
</View>
237+
<View className="border-e-4 border-violet-500 p-4 mb-4">
238+
<Text>border-e-4 border-violet-500</Text>
239+
</View>
234240
</View>
235241

236242
<View className="bg-white p-4 rounded-lg mb-4">

packages/uniwind/src/metro/processor/rn.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,12 @@ export class RN {
195195
.replace('Block', 'Vertical')
196196
}
197197

198+
if (x.includes('border')) {
199+
return x
200+
.replace('InlineStart', 'Start')
201+
.replace('InlineEnd', 'End')
202+
}
203+
198204
return x
199205
},
200206
)

packages/uniwind/tests/native/styles-parsing/borders.test.tsx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,22 @@ describe('Borders', () => {
140140
expect(getStylesFromId('border-dashed').borderStyle).toBe('dashed')
141141
expect(getStylesFromId('border-dotted').borderStyle).toBe('dotted')
142142
})
143+
144+
test('Inline border', () => {
145+
const { getStylesFromId } = renderUniwind(
146+
<React.Fragment>
147+
<View className="border-s-2" testID="border-s-2" />
148+
<View className="border-e-4" testID="border-e-4" />
149+
<View className="border-e-red-500" testID="border-e-red-500" />
150+
<View className="rounded-s-2xl" testID="rounded-s-2xl" />
151+
</React.Fragment>,
152+
)
153+
154+
expect(getStylesFromId('border-s-2').borderStartWidth).toBe(2)
155+
expect(getStylesFromId('border-e-4').borderEndWidth).toBe(4)
156+
expect(getStylesFromId('border-e-red-500').borderEndColor).toBe(TW_RED_500)
157+
expect(getStylesFromId('rounded-s-2xl').borderStartStartRadius).toBe(16)
158+
})
143159
})
144160

145161
describe('Outline', () => {

0 commit comments

Comments
 (0)