diff --git a/src/components/PriceField/PriceField.tsx b/src/components/PriceField/PriceField.tsx index 482dc54e3..3612595d5 100644 --- a/src/components/PriceField/PriceField.tsx +++ b/src/components/PriceField/PriceField.tsx @@ -1,5 +1,6 @@ import { InputAdornment, TextField, TextFieldProps } from "@material-ui/core"; import { InputProps } from "@material-ui/core/Input"; +import { FormChange } from "@saleor/hooks/useForm"; import { makeStyles } from "@saleor/macaw-ui"; import React, { useMemo } from "react"; import { FormattedMessage } from "react-intl"; @@ -70,22 +71,27 @@ export const PriceField: React.FC = props => { [currencySymbol] ); - const handleChange: React.ChangeEventHandler = e => { - let newValue = e.target.value; - const splitCharacter = findPriceSeparator(newValue); - const [integerPart, decimalPart] = e.target.value.split(splitCharacter); + const handleChange: FormChange = e => { + let value = e.target.value; + const splitCharacter = findPriceSeparator(value); + const [integerPart, decimalPart] = value.split(splitCharacter); if (maxDecimalLength === 0 && decimalPart) { // this shouldn't happen - decimal character should be ignored - newValue = integerPart; + value = integerPart; } if (decimalPart?.length > maxDecimalLength) { const shortenedDecimalPart = decimalPart.slice(0, maxDecimalLength); - newValue = `${integerPart}${splitCharacter}${shortenedDecimalPart}`; + value = `${integerPart}${splitCharacter}${shortenedDecimalPart}`; } - onChange({ ...e, target: { ...e.target, value: newValue } }); + onChange({ + target: { + name: e.target.name, + value + } + }); }; const handleKeyPress: TextFieldProps["onKeyDown"] = e => {