UNPKG

attributes-kit

Version:
67 lines (53 loc) 1.33 kB
import React from 'react'; import Tooltip from '../Tooltip/Tooltip'; class Requirement extends React.Component { static propTypes = { element: React.PropTypes.object, }; getRequirement() { let requirement = ['optional']; if (this.props.element.attributes) { if (this.props.element.attributes.typeAttributes) { requirement = this.props.element.attributes.typeAttributes; } } return requirement; } renderStyles() { const styles = { root: { float: 'left', width: '100%', height: 'auto', }, asterisk: { float: 'left', width: '10px', height: '11px', backgroundImage: `url(${require('./asterisk.svg')})`, backgroundSize: '10px 11px', backgroundRepeat: 'no-repeat', }, }; return styles; } renderAsterisk(requirement, styles) { if (requirement[0] === 'required') { return ( <span style={styles.asterisk}></span> ); } return false; } render() { const styles = this.renderStyles(); const requirement = this.getRequirement(); return ( <div style={styles.root}> {this.renderAsterisk(requirement, styles)} <Tooltip text={requirement.join(' ')} /> </div> ); } } export default Requirement;