UNPKG

1.08 kBJavaScriptView Raw
1import React, { PropTypes } from 'react'
2import classNames from 'classnames'
3
4import styles from './styles.css'
5
6const propTypes = {
7 className: PropTypes.string,
8 disabled: PropTypes.bool,
9 label: PropTypes.string,
10 name: PropTypes.string,
11 placeholder: PropTypes.string,
12 required: PropTypes.bool,
13}
14const defaultProps = {
15 disabled: false,
16 name: '',
17 required: false,
18}
19
20const Input = (props) => {
21 const { className, disabled, label, name, placeholder, required } = props
22 const classes = classNames(
23 styles.Root,
24 { [`${styles['is-disabled']}`]: disabled },
25 { [`${styles['is-required']}`]: required },
26 className
27 )
28
29 return (
30 <div className={classes}>
31 {label && <label htmlFor={name} className={styles.Label}>{label}</label>}
32 <input
33 {...props}
34 className={styles.Input}
35 disabled={disabled}
36 name={name}
37 placeholder={placeholder}
38 required={required}
39 type="text"
40 />
41 </div>
42 )
43}
44
45Input.propTypes = propTypes
46Input.defaultProps = defaultProps
47
48export default Input