UNPKG

@fruits-chain/react-native-xiaoshu

Version:
56 lines (52 loc) 1.77 kB
import React, { memo } from 'react'; import { View, Text, StyleSheet } from 'react-native'; import { useTheme, widthStyle } from '../theme'; import { createStyles } from './style'; /** * Divider 分割线 * @description 用于将内容分隔为多个区域。 */ const Divider = _ref => { let { children, style, textStyle, borderStyle, leftBorderStyle, rightBorderStyle, dashed = false, hairline = false, contentPosition = 'center' } = _ref; const THEME_VAR = useTheme(); const STYLES = widthStyle(THEME_VAR, createStyles); const borderCommonStyle = { ...STYLES.border, borderStyle: dashed ? 'dashed' : 'solid', borderBottomWidth: hairline ? StyleSheet.hairlineWidth : 1 }; const styles = [STYLES.divider, style]; const leftBorderStyles = [borderCommonStyle, STYLES.border_left, contentPosition === 'left' ? { maxWidth: THEME_VAR.divider_content_left_width } : null, borderStyle, leftBorderStyle]; const rightBorderStyles = [borderCommonStyle, STYLES.border_right, contentPosition === 'right' ? { maxWidth: THEME_VAR.divider_content_right_width } : null, borderStyle, rightBorderStyle]; if (children) { return /*#__PURE__*/React.createElement(View, { style: styles }, /*#__PURE__*/React.createElement(View, { style: leftBorderStyles }), /*#__PURE__*/React.createElement(Text, { style: [STYLES.text, textStyle] }, children), /*#__PURE__*/React.createElement(View, { style: rightBorderStyles })); } return /*#__PURE__*/React.createElement(View, { style: styles }, /*#__PURE__*/React.createElement(View, { style: [borderCommonStyle, borderStyle] })); }; export default /*#__PURE__*/memo(Divider); //# sourceMappingURL=index.js.map