diff --git a/src/components/PriceField/PriceField.tsx b/src/components/PriceField/PriceField.tsx index 0082a1b0c..482dc54e3 100644 --- a/src/components/PriceField/PriceField.tsx +++ b/src/components/PriceField/PriceField.tsx @@ -1,9 +1,12 @@ -import { InputAdornment, TextField } from "@material-ui/core"; +import { InputAdornment, TextField, TextFieldProps } from "@material-ui/core"; import { InputProps } from "@material-ui/core/Input"; import { makeStyles } from "@saleor/macaw-ui"; -import React from "react"; +import React, { useMemo } from "react"; import { FormattedMessage } from "react-intl"; +import { SEPARATOR_CHARACTERS } from "./consts"; +import { findPriceSeparator, getCurrencyDecimalPoints } from "./utils"; + const useStyles = makeStyles( theme => ({ currencySymbol: { @@ -61,6 +64,44 @@ export const PriceField: React.FC = props => { const classes = useStyles(props); const minValue = 0; + + const maxDecimalLength = useMemo( + () => getCurrencyDecimalPoints(currencySymbol), + [currencySymbol] + ); + + const handleChange: React.ChangeEventHandler = e => { + let newValue = e.target.value; + const splitCharacter = findPriceSeparator(newValue); + const [integerPart, decimalPart] = e.target.value.split(splitCharacter); + + if (maxDecimalLength === 0 && decimalPart) { + // this shouldn't happen - decimal character should be ignored + newValue = integerPart; + } + + if (decimalPart?.length > maxDecimalLength) { + const shortenedDecimalPart = decimalPart.slice(0, maxDecimalLength); + newValue = `${integerPart}${splitCharacter}${shortenedDecimalPart}`; + } + + onChange({ ...e, target: { ...e.target, value: newValue } }); + }; + + const handleKeyPress: TextFieldProps["onKeyDown"] = e => { + // disallow entering e (exponent) + if (e.key === "e" || e.key === "E") { + e.preventDefault(); + } + // ignore separator input when currency doesn't support decimal values + if ( + maxDecimalLength === 0 && + SEPARATOR_CHARACTERS.some(separator => e.key === separator) + ) { + e.preventDefault(); + } + }; + return ( = props => { ), inputProps: { min: 0, + step: 1 / Math.pow(10, maxDecimalLength), ...InputProps?.inputProps }, type: "number" @@ -100,7 +142,8 @@ export const PriceField: React.FC = props => { name={name} disabled={disabled} required={required} - onChange={onChange} + onChange={handleChange} + onKeyDown={handleKeyPress} /> ); }; diff --git a/src/components/PriceField/consts.ts b/src/components/PriceField/consts.ts new file mode 100644 index 000000000..14ddd116b --- /dev/null +++ b/src/components/PriceField/consts.ts @@ -0,0 +1 @@ +export const SEPARATOR_CHARACTERS = [",", "."]; diff --git a/src/components/PriceField/utils.ts b/src/components/PriceField/utils.ts new file mode 100644 index 000000000..228b25a0d --- /dev/null +++ b/src/components/PriceField/utils.ts @@ -0,0 +1,33 @@ +import { SEPARATOR_CHARACTERS } from "./consts"; + +const getNumberFormatting = (currency: string = "USD") => { + try { + return new Intl.NumberFormat("en-GB", { + style: "currency", + currency + }); + } catch (e) { + try { + // fallback to "USD" if currency wasn't recognised + return new Intl.NumberFormat("en-GB", { + style: "currency", + currency: "USD" + }); + } catch { + // everything is broken - try to return something that makes sense + return { + resolvedOptions: () => ({ + maximumFractionDigits: 2 + }) + }; + } + } +}; + +export const getCurrencyDecimalPoints = (currency?: string) => { + const options = getNumberFormatting(currency).resolvedOptions(); + return options.maximumFractionDigits; +}; + +export const findPriceSeparator = (input: string) => + SEPARATOR_CHARACTERS.find(separator => input.includes(separator)); diff --git a/src/storybook/__snapshots__/Stories.test.ts.snap b/src/storybook/__snapshots__/Stories.test.ts.snap index 6ddf47d36..8cdf4301c 100644 --- a/src/storybook/__snapshots__/Stories.test.ts.snap +++ b/src/storybook/__snapshots__/Stories.test.ts.snap @@ -12687,6 +12687,7 @@ exports[`Storyshots Generics / Price input disabled 1`] = ` disabled="" min="0" name="price" + step="0.01" type="number" /> @@ -12733,6 +12734,7 @@ exports[`Storyshots Generics / Price input with currency symbol 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" />
- $ + USD
@@ -12844,6 +12847,7 @@ exports[`Storyshots Generics / Price input with label 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" /> @@ -12894,6 +12898,7 @@ exports[`Storyshots Generics / Price input with label and hint 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" /> @@ -12943,6 +12948,7 @@ exports[`Storyshots Generics / Price input with no value 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" /> @@ -12989,6 +12995,7 @@ exports[`Storyshots Generics / Price input with value 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="30" /> @@ -13042,6 +13049,7 @@ exports[`Storyshots Generics / Price input with value, label, currency symbol an class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="30" /> @@ -13051,7 +13059,7 @@ exports[`Storyshots Generics / Price input with value, label, currency symbol an
- $ + USD
@@ -13115,7 +13124,7 @@ exports[`Storyshots Generics / Price input with value, label, currency symbol an
- $ + USD
@@ -18939,6 +18949,7 @@ exports[`Storyshots Shipping / Order value rates default 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="1" name="maxValue:Channel USD" + step="0.01" type="number" value="2" /> @@ -19144,6 +19155,7 @@ exports[`Storyshots Shipping / Order value rates loading 1`] = ` disabled="" min="0" name="minValue:Channel USD" + step="0.01" type="number" value="1" /> @@ -19192,6 +19204,7 @@ exports[`Storyshots Shipping / Order value rates loading 1`] = ` disabled="" min="1" name="maxValue:Channel USD" + step="0.01" type="number" value="2" /> @@ -20046,6 +20059,7 @@ exports[`Storyshots Shipping / Pricing Card default 1`] = ` min="0" name="price" required="" + step="0.01" type="number" value="86.21" /> @@ -20183,6 +20197,7 @@ exports[`Storyshots Shipping / Pricing Card loading 1`] = ` min="0" name="price" required="" + step="0.01" type="number" value="86.21" /> @@ -20863,6 +20878,7 @@ exports[`Storyshots Shipping / ShippingZoneRatesCreatePage page create price 1`] class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="minValue:channel" + step="0.01" type="number" value="" /> @@ -20910,6 +20926,7 @@ exports[`Storyshots Shipping / ShippingZoneRatesCreatePage page create price 1`] class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="" name="maxValue:channel" + step="0.01" type="number" value="" /> @@ -21042,6 +21059,7 @@ exports[`Storyshots Shipping / ShippingZoneRatesCreatePage page create price 1`] min="0" name="price" required="" + step="0.01" type="number" value="" /> @@ -21879,6 +21897,7 @@ exports[`Storyshots Shipping / ShippingZoneRatesCreatePage page create weight 1` min="0" name="price" required="" + step="0.01" type="number" value="5" /> @@ -21946,6 +21965,7 @@ exports[`Storyshots Shipping / ShippingZoneRatesCreatePage page create weight 1` min="0" name="price" required="" + step="0.01" type="number" value="6" /> @@ -22699,6 +22719,7 @@ exports[`Storyshots Shipping / ShippingZoneRatesCreatePage page loading 1`] = ` disabled="" min="0" name="minValue:channel" + step="0.01" type="number" value="" /> @@ -22747,6 +22768,7 @@ exports[`Storyshots Shipping / ShippingZoneRatesCreatePage page loading 1`] = ` disabled="" min="" name="maxValue:channel" + step="0.01" type="number" value="" /> @@ -22880,6 +22902,7 @@ exports[`Storyshots Shipping / ShippingZoneRatesCreatePage page loading 1`] = ` min="0" name="price" required="" + step="0.01" type="number" value="" /> @@ -93311,6 +93334,7 @@ exports[`Storyshots Views / Discounts / Voucher details default 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="minSpent" + step="0.01" type="number" value="1" /> @@ -93363,6 +93387,7 @@ exports[`Storyshots Views / Discounts / Voucher details default 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="minSpent" + step="0.01" type="number" value="" /> @@ -93415,6 +93440,7 @@ exports[`Storyshots Views / Discounts / Voucher details default 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="minSpent" + step="0.01" type="number" value="" /> @@ -93467,6 +93493,7 @@ exports[`Storyshots Views / Discounts / Voucher details default 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="minSpent" + step="0.01" type="number" value="" /> @@ -93519,6 +93546,7 @@ exports[`Storyshots Views / Discounts / Voucher details default 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="minSpent" + step="0.01" type="number" value="" /> @@ -93571,6 +93599,7 @@ exports[`Storyshots Views / Discounts / Voucher details default 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="minSpent" + step="0.01" type="number" value="" /> @@ -93623,6 +93652,7 @@ exports[`Storyshots Views / Discounts / Voucher details default 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="minSpent" + step="0.01" type="number" value="" /> @@ -93675,6 +93705,7 @@ exports[`Storyshots Views / Discounts / Voucher details default 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="minSpent" + step="0.01" type="number" value="" /> @@ -95655,6 +95686,7 @@ exports[`Storyshots Views / Discounts / Voucher details form errors 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="minSpent" + step="0.01" type="number" value="1" /> @@ -95707,6 +95739,7 @@ exports[`Storyshots Views / Discounts / Voucher details form errors 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="minSpent" + step="0.01" type="number" value="" /> @@ -95759,6 +95792,7 @@ exports[`Storyshots Views / Discounts / Voucher details form errors 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="minSpent" + step="0.01" type="number" value="" /> @@ -95811,6 +95845,7 @@ exports[`Storyshots Views / Discounts / Voucher details form errors 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="minSpent" + step="0.01" type="number" value="" /> @@ -95863,6 +95898,7 @@ exports[`Storyshots Views / Discounts / Voucher details form errors 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="minSpent" + step="0.01" type="number" value="" /> @@ -95915,6 +95951,7 @@ exports[`Storyshots Views / Discounts / Voucher details form errors 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="minSpent" + step="0.01" type="number" value="" /> @@ -95967,6 +96004,7 @@ exports[`Storyshots Views / Discounts / Voucher details form errors 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="minSpent" + step="0.01" type="number" value="" /> @@ -96019,6 +96057,7 @@ exports[`Storyshots Views / Discounts / Voucher details form errors 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="minSpent" + step="0.01" type="number" value="" /> @@ -146674,6 +146713,7 @@ exports[`Storyshots Views / Orders / Refund order miscellaneous 1`] = ` max="644.38" min="0" name="amount" + step="0.01" type="number" />
@@ -171270,6 +171311,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="2.2" /> @@ -171320,6 +171362,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="30.1" /> @@ -171389,6 +171432,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="1.2" /> @@ -171439,6 +171483,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="2.2" /> @@ -171489,6 +171534,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="30.1" /> @@ -172304,6 +172350,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="1.2" /> @@ -172354,6 +172401,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="2.2" /> @@ -172404,6 +172452,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="30.1" /> @@ -172473,6 +172522,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="1.2" /> @@ -172523,6 +172573,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="2.2" /> @@ -172573,6 +172624,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="30.1" /> @@ -173078,6 +173130,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="1.2" /> @@ -173128,6 +173181,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="2.2" /> @@ -173178,6 +173232,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="30.1" /> @@ -173247,6 +173302,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="1.2" /> @@ -173297,6 +173353,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="2.2" /> @@ -173347,6 +173404,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="30.1" /> @@ -174334,6 +174392,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="1.2" /> @@ -174384,6 +174443,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="2.2" /> @@ -174434,6 +174494,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="30.1" /> @@ -174503,6 +174564,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="1.2" /> @@ -174553,6 +174615,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="2.2" /> @@ -174603,6 +174666,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="30.1" /> @@ -175220,6 +175284,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="1.2" /> @@ -175270,6 +175335,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="2.2" /> @@ -175320,6 +175386,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="30.1" /> @@ -175389,6 +175456,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="1.2" /> @@ -175439,6 +175507,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="2.2" /> @@ -175489,6 +175558,7 @@ exports[`Storyshots Views / Products / Create multiple variants / prices and SKU class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="price" + step="0.01" type="number" value="30.1" /> @@ -175703,6 +175773,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary defaul min="0" name="price" required="" + step="0.01" type="number" value="1.2" /> @@ -175747,6 +175818,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary defaul min="0" name="price" required="" + step="0.01" type="number" value="2.2" /> @@ -175791,6 +175863,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary defaul min="0" name="price" required="" + step="0.01" type="number" value="30.1" /> @@ -176016,6 +176089,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary defaul min="0" name="price" required="" + step="0.01" type="number" value="1.2" /> @@ -176060,6 +176134,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary defaul min="0" name="price" required="" + step="0.01" type="number" value="2.2" /> @@ -176104,6 +176179,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary defaul min="0" name="price" required="" + step="0.01" type="number" value="30.1" /> @@ -176329,6 +176405,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary defaul min="0" name="price" required="" + step="0.01" type="number" value="1.2" /> @@ -176373,6 +176450,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary defaul min="0" name="price" required="" + step="0.01" type="number" value="2.2" /> @@ -176417,6 +176495,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary defaul min="0" name="price" required="" + step="0.01" type="number" value="30.1" /> @@ -176642,6 +176721,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary defaul min="0" name="price" required="" + step="0.01" type="number" value="1.2" /> @@ -176686,6 +176766,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary defaul min="0" name="price" required="" + step="0.01" type="number" value="2.2" /> @@ -176730,6 +176811,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary defaul min="0" name="price" required="" + step="0.01" type="number" value="30.1" /> @@ -177030,6 +177112,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary errors min="0" name="price" required="" + step="0.01" type="number" value="1.2" /> @@ -177074,6 +177157,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary errors min="0" name="price" required="" + step="0.01" type="number" value="2.2" /> @@ -177118,6 +177202,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary errors min="0" name="price" required="" + step="0.01" type="number" value="30.1" /> @@ -177343,6 +177428,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary errors min="0" name="price" required="" + step="0.01" type="number" value="1.2" /> @@ -177387,6 +177473,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary errors min="0" name="price" required="" + step="0.01" type="number" value="2.2" /> @@ -177431,6 +177518,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary errors min="0" name="price" required="" + step="0.01" type="number" value="30.1" /> @@ -177656,6 +177744,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary errors min="0" name="price" required="" + step="0.01" type="number" value="1.2" /> @@ -177700,6 +177789,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary errors min="0" name="price" required="" + step="0.01" type="number" value="2.2" /> @@ -177744,6 +177834,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary errors min="0" name="price" required="" + step="0.01" type="number" value="30.1" /> @@ -177969,6 +178060,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary errors min="0" name="price" required="" + step="0.01" type="number" value="1.2" /> @@ -178013,6 +178105,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary errors min="0" name="price" required="" + step="0.01" type="number" value="2.2" /> @@ -178057,6 +178150,7 @@ exports[`Storyshots Views / Products / Create multiple variants / summary errors min="0" name="price" required="" + step="0.01" type="number" value="30.1" /> @@ -221366,6 +221460,7 @@ exports[`Storyshots Views / Products / Product variant details attribute errors min="0" name="test1-channel-price" required="" + step="0.01" type="number" value="10" /> @@ -221413,6 +221508,7 @@ exports[`Storyshots Views / Products / Product variant details attribute errors class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="test1-channel-costPrice" + step="0.01" type="number" value="10" /> @@ -221476,6 +221572,7 @@ exports[`Storyshots Views / Products / Product variant details attribute errors min="0" name="test2-channel-price" required="" + step="0.01" type="number" value="20" /> @@ -221523,6 +221620,7 @@ exports[`Storyshots Views / Products / Product variant details attribute errors class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="test2-channel-costPrice" + step="0.01" type="number" value="10" /> @@ -223260,6 +223358,7 @@ exports[`Storyshots Views / Products / Product variant details no warehouses 1`] min="0" name="test1-channel-price" required="" + step="0.01" type="number" value="10" /> @@ -223307,6 +223406,7 @@ exports[`Storyshots Views / Products / Product variant details no warehouses 1`] class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="test1-channel-costPrice" + step="0.01" type="number" value="10" /> @@ -223370,6 +223470,7 @@ exports[`Storyshots Views / Products / Product variant details no warehouses 1`] min="0" name="test2-channel-price" required="" + step="0.01" type="number" value="20" /> @@ -223417,6 +223518,7 @@ exports[`Storyshots Views / Products / Product variant details no warehouses 1`] class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="test2-channel-costPrice" + step="0.01" type="number" value="10" /> @@ -225149,6 +225251,7 @@ exports[`Storyshots Views / Products / Product variant details when loaded data min="0" name="test1-channel-price" required="" + step="0.01" type="number" value="10" /> @@ -225196,6 +225299,7 @@ exports[`Storyshots Views / Products / Product variant details when loaded data class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="test1-channel-costPrice" + step="0.01" type="number" value="10" /> @@ -225259,6 +225363,7 @@ exports[`Storyshots Views / Products / Product variant details when loaded data min="0" name="test2-channel-price" required="" + step="0.01" type="number" value="20" /> @@ -225306,6 +225411,7 @@ exports[`Storyshots Views / Products / Product variant details when loaded data class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="test2-channel-costPrice" + step="0.01" type="number" value="10" /> @@ -227966,6 +228072,7 @@ exports[`Storyshots Views / Shipping / Shipping rate create price rate 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="0" name="minValue:channel" + step="0.01" type="number" value="" /> @@ -228013,6 +228120,7 @@ exports[`Storyshots Views / Shipping / Shipping rate create price rate 1`] = ` class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-inputAdornedEnd-id MuiOutlinedInput-inputAdornedEnd-id" min="" name="maxValue:channel" + step="0.01" type="number" value="" /> @@ -228145,6 +228253,7 @@ exports[`Storyshots Views / Shipping / Shipping rate create price rate 1`] = ` min="0" name="price" required="" + step="0.01" type="number" value="" /> @@ -229347,6 +229456,7 @@ exports[`Storyshots Views / Shipping / Shipping rate create weight rate 1`] = ` min="0" name="price" required="" + step="0.01" type="number" value="" /> @@ -230472,6 +230582,7 @@ exports[`Storyshots Views / Shipping / Shipping rate loading 1`] = ` min="0" name="price" required="" + step="0.01" type="number" value="" /> @@ -231431,6 +231542,7 @@ exports[`Storyshots Views / Shipping / Shipping rate update price rate 1`] = ` min="0" name="price" required="" + step="0.01" type="number" value="5" /> @@ -231498,6 +231610,7 @@ exports[`Storyshots Views / Shipping / Shipping rate update price rate 1`] = ` min="0" name="price" required="" + step="0.01" type="number" value="6" /> @@ -232716,6 +232829,7 @@ exports[`Storyshots Views / Shipping / Shipping rate update weight rate 1`] = ` min="0" name="price" required="" + step="0.01" type="number" value="5" /> @@ -232783,6 +232897,7 @@ exports[`Storyshots Views / Shipping / Shipping rate update weight rate 1`] = ` min="0" name="price" required="" + step="0.01" type="number" value="6" /> diff --git a/src/storybook/stories/components/PriceField.tsx b/src/storybook/stories/components/PriceField.tsx index 018cd77ce..55c2a7b94 100644 --- a/src/storybook/stories/components/PriceField.tsx +++ b/src/storybook/stories/components/PriceField.tsx @@ -17,7 +17,7 @@ storiesOf("Generics / Price input", module) )) .add("with currency symbol", () => ( - + )) .add("disabled", () => ) .add("with label and hint", () => ( @@ -29,7 +29,7 @@ storiesOf("Generics / Price input", module) label="Lorem" hint="Ipsum" onChange={undefined} - currencySymbol="$" + currencySymbol="USD" /> )) .add("with value, label, currency symbol and error", () => ( @@ -39,6 +39,6 @@ storiesOf("Generics / Price input", module) hint="Ipsum" error={true} onChange={undefined} - currencySymbol="$" + currencySymbol="USD" /> ));