blob: d9ffc8c2ee11e0fbd51f4cb9a8eab829f749adab (
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>
)
}
|