blob: 3ea613bf6351a3102f58f54de47819d024e9440e (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import * as React from "react"
import { Text as ReactNativeText } from "react-native"
import { presets } from "./text.presets"
import { TextProps } from "./text.props"
import { translate } from "../../i18n"
/**
* For your text displaying needs.
*
* This component is a HOC over the built-in React Native one.
*/
export function Text(props: TextProps) {
// grab the props
const { preset = "default", tx, txOptions, text, children, style: styleOverride, ...rest } = props
// figure out which content to use
const i18nText = tx && translate(tx, txOptions)
const content = i18nText || text || children
const style = presets[preset] || presets.default
const styles = [style, styleOverride]
return (
<ReactNativeText {...rest} style={styles}>
{content}
</ReactNativeText>
)
}
|