import React from 'react'; import { RkButton, RkTextInput, RkText, RkStyleSheet, } from 'react-native-ui-kitten'; import { FontAwesome } from '../assets/icons'; export class CardInput extends React.Component { state = { hidden: true, cardNumber: '', }; formatCreditNumber = (number, isHidden) => ( isHidden ? number.replace(/\D/g, '') : number.replace(/[^\dA-Z]/g, '').replace(/(.{4})/g, '$1 ').trim() ); onInputLabelPressed = () => { this.setState({ hidden: !this.state.hidden, cardNumber: this.formatCreditNumber(this.state.cardNumber, !this.state.hidden), }); }; onInputChanged = (text) => { this.setState({ cardNumber: this.formatCreditNumber(text, this.state.hidden), }); }; renderInputLabel = () => ( {FontAwesome.slashEye} ); render = () => ( ); } let styles = RkStyleSheet.create({ icon: { fontSize: 24, }, button: { right: 17, }, });