53 lines
975 B
JavaScript
53 lines
975 B
JavaScript
import React, { memo } from 'react'
|
|
import NumberFormat from 'react-number-format'
|
|
|
|
import TextInput from './TextInput'
|
|
|
|
const NumberInput = memo(
|
|
({
|
|
name,
|
|
onChange,
|
|
onBlur,
|
|
value,
|
|
error,
|
|
suffix,
|
|
textAlign,
|
|
width,
|
|
// lg or sm
|
|
size,
|
|
bold,
|
|
className,
|
|
decimalPlaces,
|
|
...props
|
|
}) => {
|
|
return (
|
|
<NumberFormat
|
|
name={name}
|
|
onChange={onChange}
|
|
onBlur={onBlur}
|
|
value={value}
|
|
error={error}
|
|
suffix={suffix}
|
|
textAlign={textAlign}
|
|
width={width}
|
|
// lg or sm
|
|
size={size}
|
|
bold={bold}
|
|
className={className}
|
|
customInput={TextInput}
|
|
decimalScale={decimalPlaces}
|
|
onValueChange={values => {
|
|
onChange({
|
|
target: {
|
|
id: name,
|
|
value: values.floatValue,
|
|
},
|
|
})
|
|
}}
|
|
{...props}
|
|
/>
|
|
)
|
|
},
|
|
)
|
|
|
|
export default NumberInput
|