react95-native
Version:
Refreshed Windows 95 style UI components for your React Native app
56 lines (53 loc) • 1.6 kB
JavaScript
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
import React from 'react';
import { View, StyleSheet, TouchableOpacity } from 'react-native';
import { withTheme } from '../../core/theming';
import { blockSizes } from '../../styles/styles';
import { Text } from '../..';
const ListItem = ({
left,
onPress,
right,
style,
theme,
title,
titleStyle,
...rest
}) => {
return /*#__PURE__*/React.createElement(View, _extends({
style: style
}, rest), /*#__PURE__*/React.createElement(TouchableOpacity, {
onPress: onPress,
accessibilityRole: "button"
}, /*#__PURE__*/React.createElement(View, {
style: [styles.content]
}, left && /*#__PURE__*/React.createElement(View, {
style: [styles.left]
}, left), title && /*#__PURE__*/React.createElement(Text, {
style: [styles.title, {
color: theme.progress
}, titleStyle]
}, title), right && /*#__PURE__*/React.createElement(View, {
style: [styles.right]
}, right))));
};
const styles = StyleSheet.create({
content: {
display: 'flex',
flexDirection: 'row',
alignItems: 'center',
minHeight: blockSizes.md,
paddingVertical: 4
},
title: {
fontSize: 16
},
left: {
marginRight: 8
},
right: {
marginLeft: 8
}
});
export default withTheme(ListItem);
//# sourceMappingURL=ListItem.js.map