/
githubmr
/
facebook-react-native
Обзор
Документация
Войти
/
githubmr
/
facebook-react-native
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/rn-tester/js/components/RNTesterBlock.js
79 строк
2 KB
Sam Zhou
Deploy 0.275.0 to xplat
04 июл 2025, 21:55
04 июл 2025, 21:55
0666885
Код
Авторство
О чём код?
/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @flow * @format */ import {RNTesterThemeContext} from './RNTesterTheme'; import * as React from 'react'; import {useContext} from 'react'; import {StyleSheet, Text, View} from 'react-native'; type Props = $ReadOnly<{ children?: React.Node, title?: ?string, description?: ?string, }>; const RNTesterBlock = ({description, title, children}: Props): React.Node => { const theme = useContext(RNTesterThemeContext); return ( <View style={[ [styles.container], { borderColor: theme.SeparatorColor, backgroundColor: theme.SecondaryGroupedBackgroundColor, }, ]}> <View style={[styles.titleContainer]}> {title && ( <Text style={[styles.titleText, {color: theme.LabelColor}]}> {title} </Text> )} {description && ( <Text style={[ styles.descriptionText, // $FlowFixMe[constant-condition] {color: theme.LabelColor, marginTop: description ? 10 : 0}, ]}> {description} </Text> )} </View> <View style={styles.children}>{children}</View> </View> ); }; const styles = StyleSheet.create({ container: { borderRadius: 0, borderWidth: 1, marginHorizontal: 20, }, titleText: { fontSize: 18, fontWeight: '300', }, titleContainer: { paddingHorizontal: 10, paddingVertical: 5, }, descriptionText: { fontSize: 12, opacity: 0.5, }, children: { marginHorizontal: 20, marginVertical: 10, }, }); module.exports = RNTesterBlock;