Sha256: 772c7991bf9114c3420021c9226a4cf9908f086843d5bab32255a61ab7fcc10e
Contents?: true
Size: 1.46 KB
Versions: 5
Compression:
Stored size: 1.46 KB
Contents
class InputText extends BaseInput { render() { const { errors, name, value, defaultValue, disabled, helpMessage, label, labelHidden, onChange, placeholder } = this.props; const wrapperClassName = classNames({ 'next-input-wrapper': true, 'next-input-wrapper--is-error': this.hasError() }); const labelClassName = classNames({ 'next-label': true, 'helper--visually-hidden': labelHidden }); const handleChange = (e) => { onChange && onChange(e.target.value); }; let helpElement = null; if(helpMessage) { helpElement = <p className="next-input__help-text">{helpMessage}</p>; } return ( <div className={wrapperClassName}> <label className={labelClassName} htmlFor={name}>{label}</label> <input id={name} className="next-input" disabled={disabled} value={value} defaultValue={defaultValue} name={name} onChange={handleChange} placeholder={placeholder} type="text" /> {helpElement} </div> ); } } InputText.propTypes = { errors: React.PropTypes.object, label: React.PropTypes.string.isRequired, name: React.PropTypes.string, onChange: React.PropTypes.func, placeholder: React.PropTypes.string, helpMessage: React.PropTypes.string, error: React.PropTypes.bool, disabled: React.PropTypes.bool }; InputText.defaultProps = { errors: {}, disabled: false };
Version data entries
5 entries across 5 versions & 1 rubygems