Sha256: 7fa8ec15bbab52aecfff9446fb17c208c19fb71c1e5c32b83a48deb4660faf07
Contents?: true
Size: 1.45 KB
Versions: 11
Compression:
Stored size: 1.45 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(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
11 entries across 11 versions & 1 rubygems