index.js
29 lines
| 1 | import PropTypes from 'prop-types'; |
| 2 | import classNames from 'classnames'; |
| 3 | import styles from './style.module.scss'; |
| 4 | |
| 5 | const Input = ( { type, name, onChange, value, className, ...rest } ) => { |
| 6 | return ( |
| 7 | <input |
| 8 | key={ value } |
| 9 | className={ classNames( styles.input, className ) } |
| 10 | type={ type } |
| 11 | name={ name } |
| 12 | onChange={ onChange } |
| 13 | value={ value } |
| 14 | { ...rest } |
| 15 | /> |
| 16 | ); |
| 17 | }; |
| 18 | |
| 19 | Input.propTypes = { |
| 20 | // Input type |
| 21 | type: PropTypes.string.isRequired, |
| 22 | // On change event |
| 23 | onChange: PropTypes.func, |
| 24 | // Input value |
| 25 | value: PropTypes.string, |
| 26 | }; |
| 27 | |
| 28 | export default Input; |
| 29 |