This feedback is per: https://github.com/facebook/react-native/issues/2088

The CSS text-transform property isn't available in RN's StyleSheet, and I'd like to lobby for it's inclusion as a more effective alternative to the toUpperCase() method.

Here's an example I referenced in the GitHub issue above:

Attached is the same screen with two different design options — labels rendered in title case, or labels rendered in small caps.

There's two things that make a textTransform property attractive to me in this case. The first is that I think there's a semantic difference between setting the actual content of <Text> to CITY rather than City. If preserving that semantic state is important, then I think this becomes a matter of style.

The second is to @mikefrancis's points around separation of concerns and maintainability. If it's a matter of style, then it makes sense to manage it with stylesheets. I see it as sort of analogous to inline styles in HTML — they'll work, but if the rest of the app uses stylesheets, it's a lot less flexible to have presentational styles mixed into markup.

Here's a sample of the JSX for both of those views:

**Title Case**:

```jsx

<View { ...style('field') }>

<TextInput

{ ...style('input') }

/>

<Text { ...style('label') }>Address Line 1</Text>

</View>

<View { ...style('field') }>

<TextInput

{ ...style('input') }

/>

<Text { ...style('label') }>Address Line 2</Text>

</View>

<View { ...style('field') }>

<TextInput

{ ...style('input') }

/>

<Text { ...style('label') }>City</Text>

</View>

<View { ...style('field') }>

<TextInput

{ ...style('input') }

/>

<Text { ...style('label') }>State</Text>

</View>

<View { ...style('field') }>

<TextInput

{ ...style('input') }

/>

<Text { ...style('label') }>Zipcode</Text>

</View>

```

And the same code modified for **small caps**:

```jsx

<View { ...style('field') }>

<TextInput

{ ...style('input') }

/>

<Text { ...style('label.upper') }>{'Address Line 1'.toUpperCase()}</Text>

</View>

<View { ...style('field') }>

<TextInput

{ ...style('input') }

/>

<Text { ...style('label.upper') }>{'Address Line 2'.toUpperCase()}</Text>

</View>

<View { ...style('field') }>

<TextInput

{ ...style('input') }

/>

<Text { ...style('label.upper') }>{'City'.toUpperCase()}</Text>

</View>

<View { ...style('field') }>

<TextInput

{ ...style('input') }

/>

<Text { ...style('label.upper') }>{'State'.toUpperCase()}</Text>

</View>

<View { ...style('field') }>

<TextInput

{ ...style('input') }

/>

<Text { ...style('label.upper') }>{'Zipcode'.toUpperCase()}</Text>

</View>

```

In the second version, a simple design change requires a lot of updates to the template content itself. Even going the "Find and Replace" route would be pretty tricky.

I also find that in many scenarios, small caps tend to look better with a little bit of letterSpacing applied. In that case, I'd also end up modifying my styles too.

IMO, it's a lot of overhead for a common use case, and something that could go from all this to a single line in a stylesheet with textTransform support.