packages/@fbcmobile-ui/Components/ActionableItem.js (27 lines of code) (raw):

/** * Copyright (c) Facebook, Inc. and its affiliates. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. * * @flow strict-local * @format */ 'use strict'; import * as React from 'react'; import Text from '@fbcmobile/ui/Components/Core/Text'; import {Colors} from '@fbcmobile/ui/Theme'; import {TouchableOpacity, View} from 'react-native'; type Props = { +title: string, +actionItem: React.Node, +onPress?: () => void, }; const ActionableItem = (props: Props) => { const {title, actionItem, onPress} = props; const titleItem = ( <Text color="gray" weight="bold"> {title} </Text> ); return onPress == null ? ( <View style={styles.container}> {titleItem} {actionItem} </View> ) : ( <TouchableOpacity style={styles.container} onPress={onPress}> {titleItem} {actionItem} </TouchableOpacity> ); }; const styles = { container: { display: 'flex', flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', backgroundColor: Colors.BackgroundWhite, minHeight: 60, }, }; export default ActionableItem;