1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
import React from 'react'
import styles from './UpdateInput.module.css'
import EditButton from '../EditButton/EditButton'
const UpdateInput = ({
label,
id,
value,
defaultValue,
type,
name,
onChange,
placeholder,
maxLength,
pattern,
minLength,
onInvalid,
onValid,
readOnly
}) => {
const [editable, setEditable] = React.useState(true)
const handleEdit = () => {
setEditable(!editable)
}
return (
<div className={styles.input}>
<div className={styles.input__container}>
<label htmlFor={id}>{label}</label>
<div className={styles.input__edit}>
<input
className={styles.input__field}
type={type}
id={id}
name={name}
value={value}
defaultValue={defaultValue}
onChange={onChange}
required
placeholder={placeholder}
pattern={pattern}
maxLength={maxLength}
minLength={minLength}
onInvalid={onInvalid}
onValid={onValid}
readOnly={editable}
/>
<EditButton onClick={handleEdit} enabled={!editable ? '1' : '0'} />
</div>
</div>
</div>
)
}
export default UpdateInput
|