import React, { forwardRef, useImperativeHandle } from 'react'; import { View, Text, ScrollView } from 'react-native'; import { DetailButtonProps, DetailButtonInstance } from './interface'; import createStyles from './styles/texts.style'; import Popup from '../Popup'; import Button from '../Button'; import { Fill } from '../Button/enum'; import { useTheme } from '../Theme'; const DetailButton = forwardRef( (props, ref) => { const { showBullets, texts, popupTitle, showMoreText, popupUseNative } = props; const token = useTheme(); const styles = createStyles(token); const [visible, setVisible] = React.useState(false); useImperativeHandle(ref, () => ({ hideModal: () => setVisible(false), })); const onActionPress = (fn?: () => void) => { const res = fn?.() ?? true; res && setVisible(false); }; return ( setVisible(false)} onPressOverlay={() => setVisible(false)} style={styles.popupWrapper} > {popupTitle}} onCancel={() => setVisible(false)} showConfirmButton={false} headerStyle={styles.headerWrapper} /> {texts?.map((item, index) => ( {showBullets && } {item.content} {item.actionName ? ( <>   onActionPress(item.onActionPress)} style={styles.popupText} > {item.actionName} ) : null} ))} ); } ); export default DetailButton;