@commercetools-uikit/money-input 12.2.9 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -23
- package/dist/commercetools-uikit-money-input.cjs.d.ts +2 -0
- package/dist/commercetools-uikit-money-input.cjs.dev.js +82 -152
- package/dist/commercetools-uikit-money-input.cjs.prod.js +44 -34
- package/dist/commercetools-uikit-money-input.esm.js +82 -151
- package/dist/declarations/src/index.d.ts +2 -0
- package/dist/declarations/src/messages.d.ts +8 -0
- package/dist/declarations/src/money-input.d.ts +95 -0
- package/dist/declarations/src/money-input.styles.d.ts +11 -0
- package/dist/declarations/src/version.d.ts +2 -0
- package/package.json +12 -12
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { type Props as ReactSelectProps } from 'react-select';
|
|
2
|
+
import { type Theme } from '@emotion/react';
|
|
3
|
+
import currencies from './currencies.json';
|
|
4
|
+
export declare type TInputProps = {
|
|
5
|
+
isDisabled?: boolean;
|
|
6
|
+
hasError?: boolean;
|
|
7
|
+
hasWarning?: boolean;
|
|
8
|
+
isReadOnly?: boolean;
|
|
9
|
+
hasFocus?: boolean;
|
|
10
|
+
menuPortalZIndex?: number;
|
|
11
|
+
theme?: Theme;
|
|
12
|
+
};
|
|
13
|
+
export declare const parseRawAmountToNumber: (rawAmount: string, locale: string) => number;
|
|
14
|
+
declare type TCurrencyCode = keyof typeof currencies;
|
|
15
|
+
export declare const createMoneyValue: (currencyCode: TCurrencyCode, rawAmount: string, locale: string) => {
|
|
16
|
+
type: string;
|
|
17
|
+
currencyCode: "ADP" | "AED" | "AFA" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "ATS" | "AUD" | "AWG" | "AYM" | "AZM" | "AZN" | "BAM" | "BBD" | "BDT" | "BEF" | "BGL" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BTN" | "BWP" | "BYB" | "BYR" | "BZD" | "CAD" | "CDF" | "CHF" | "CLF" | "CLP" | "CNY" | "COP" | "CRC" | "CSD" | "CUC" | "CUP" | "CVE" | "CYP" | "CZK" | "DEM" | "DJF" | "DKK" | "DOP" | "DZD" | "EEK" | "EGP" | "ERN" | "ESP" | "ETB" | "EUR" | "FIM" | "FJD" | "FKP" | "FRF" | "GBP" | "GEL" | "GHC" | "GHS" | "GIP" | "GMD" | "GNF" | "GRD" | "GTQ" | "GWP" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "IEP" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "ITL" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LTL" | "LUF" | "LVL" | "LYD" | "MAD" | "MDL" | "MGA" | "MGF" | "MKD" | "MMK" | "MNT" | "MOP" | "MRO" | "MTL" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZM" | "MZN" | "NAD" | "NGN" | "NIO" | "NLG" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PTE" | "PYG" | "QAR" | "ROL" | "RON" | "RSD" | "RUB" | "RUR" | "RWF" | "SAR" | "SBD" | "SCR" | "SDD" | "SDG" | "SEK" | "SGD" | "SHP" | "SIT" | "SKK" | "SLL" | "SOS" | "SRD" | "SRG" | "SSP" | "STD" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMM" | "TMT" | "TND" | "TOP" | "TPE" | "TRL" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "USS" | "UYU" | "UZS" | "VEB" | "VEF" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XFO" | "XFU" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "YUM" | "ZAR" | "ZMK" | "ZMW" | "ZWD" | "ZWL" | "ZWN" | "ZWR";
|
|
18
|
+
centAmount: number;
|
|
19
|
+
preciseAmount: number;
|
|
20
|
+
fractionDigits: number;
|
|
21
|
+
} | {
|
|
22
|
+
type: string;
|
|
23
|
+
currencyCode: "ADP" | "AED" | "AFA" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "ATS" | "AUD" | "AWG" | "AYM" | "AZM" | "AZN" | "BAM" | "BBD" | "BDT" | "BEF" | "BGL" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BTN" | "BWP" | "BYB" | "BYR" | "BZD" | "CAD" | "CDF" | "CHF" | "CLF" | "CLP" | "CNY" | "COP" | "CRC" | "CSD" | "CUC" | "CUP" | "CVE" | "CYP" | "CZK" | "DEM" | "DJF" | "DKK" | "DOP" | "DZD" | "EEK" | "EGP" | "ERN" | "ESP" | "ETB" | "EUR" | "FIM" | "FJD" | "FKP" | "FRF" | "GBP" | "GEL" | "GHC" | "GHS" | "GIP" | "GMD" | "GNF" | "GRD" | "GTQ" | "GWP" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "IEP" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "ITL" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LTL" | "LUF" | "LVL" | "LYD" | "MAD" | "MDL" | "MGA" | "MGF" | "MKD" | "MMK" | "MNT" | "MOP" | "MRO" | "MTL" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZM" | "MZN" | "NAD" | "NGN" | "NIO" | "NLG" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PTE" | "PYG" | "QAR" | "ROL" | "RON" | "RSD" | "RUB" | "RUR" | "RWF" | "SAR" | "SBD" | "SCR" | "SDD" | "SDG" | "SEK" | "SGD" | "SHP" | "SIT" | "SKK" | "SLL" | "SOS" | "SRD" | "SRG" | "SSP" | "STD" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMM" | "TMT" | "TND" | "TOP" | "TPE" | "TRL" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "USS" | "UYU" | "UZS" | "VEB" | "VEF" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XFO" | "XFU" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "YUM" | "ZAR" | "ZMK" | "ZMW" | "ZWD" | "ZWL" | "ZWN" | "ZWR";
|
|
24
|
+
centAmount: number;
|
|
25
|
+
fractionDigits: number;
|
|
26
|
+
preciseAmount?: undefined;
|
|
27
|
+
} | null;
|
|
28
|
+
declare type TMoneyValue = {
|
|
29
|
+
type: string;
|
|
30
|
+
currencyCode: TCurrencyCode;
|
|
31
|
+
centAmount: number;
|
|
32
|
+
preciseAmount: number;
|
|
33
|
+
fractionDigits: number;
|
|
34
|
+
};
|
|
35
|
+
declare type TValue = {
|
|
36
|
+
amount: string;
|
|
37
|
+
currencyCode: TCurrencyCode;
|
|
38
|
+
};
|
|
39
|
+
declare type TEvent = {
|
|
40
|
+
target: {
|
|
41
|
+
id?: string;
|
|
42
|
+
name?: string;
|
|
43
|
+
value?: string | string[] | null;
|
|
44
|
+
};
|
|
45
|
+
persist?: () => void;
|
|
46
|
+
};
|
|
47
|
+
declare type TMoneyInputProps = {
|
|
48
|
+
id?: string;
|
|
49
|
+
autoComplete?: string;
|
|
50
|
+
name?: string;
|
|
51
|
+
value: TValue;
|
|
52
|
+
currencies: string[];
|
|
53
|
+
placeholder?: string;
|
|
54
|
+
onBlur?: (event: TEvent) => void;
|
|
55
|
+
onFocus?: (event: TEvent) => void;
|
|
56
|
+
isDisabled?: boolean;
|
|
57
|
+
isReadOnly?: boolean;
|
|
58
|
+
isAutofocussed?: boolean;
|
|
59
|
+
onChange: (event: TEvent) => void;
|
|
60
|
+
menuPortalTarget?: ReactSelectProps['menuPortalTarget'];
|
|
61
|
+
menuPortalZIndex?: number;
|
|
62
|
+
menuShouldBlockScroll: ReactSelectProps['menuShouldBlockScroll'];
|
|
63
|
+
hasError?: boolean;
|
|
64
|
+
hasWarning?: boolean;
|
|
65
|
+
hasHighPrecisionBadge?: boolean;
|
|
66
|
+
horizontalConstraint?: 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 'scale' | 'auto';
|
|
67
|
+
};
|
|
68
|
+
declare const MoneyInput: {
|
|
69
|
+
(props: TMoneyInputProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
70
|
+
displayName: string;
|
|
71
|
+
getAmountInputId: (name?: string | undefined) => string | undefined;
|
|
72
|
+
getCurrencyDropdownId: (name?: string | undefined) => string | undefined;
|
|
73
|
+
convertToMoneyValue(value: TValue, locale: string): {
|
|
74
|
+
type: string;
|
|
75
|
+
currencyCode: "ADP" | "AED" | "AFA" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "ATS" | "AUD" | "AWG" | "AYM" | "AZM" | "AZN" | "BAM" | "BBD" | "BDT" | "BEF" | "BGL" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BTN" | "BWP" | "BYB" | "BYR" | "BZD" | "CAD" | "CDF" | "CHF" | "CLF" | "CLP" | "CNY" | "COP" | "CRC" | "CSD" | "CUC" | "CUP" | "CVE" | "CYP" | "CZK" | "DEM" | "DJF" | "DKK" | "DOP" | "DZD" | "EEK" | "EGP" | "ERN" | "ESP" | "ETB" | "EUR" | "FIM" | "FJD" | "FKP" | "FRF" | "GBP" | "GEL" | "GHC" | "GHS" | "GIP" | "GMD" | "GNF" | "GRD" | "GTQ" | "GWP" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "IEP" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "ITL" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LTL" | "LUF" | "LVL" | "LYD" | "MAD" | "MDL" | "MGA" | "MGF" | "MKD" | "MMK" | "MNT" | "MOP" | "MRO" | "MTL" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZM" | "MZN" | "NAD" | "NGN" | "NIO" | "NLG" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PTE" | "PYG" | "QAR" | "ROL" | "RON" | "RSD" | "RUB" | "RUR" | "RWF" | "SAR" | "SBD" | "SCR" | "SDD" | "SDG" | "SEK" | "SGD" | "SHP" | "SIT" | "SKK" | "SLL" | "SOS" | "SRD" | "SRG" | "SSP" | "STD" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMM" | "TMT" | "TND" | "TOP" | "TPE" | "TRL" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "USS" | "UYU" | "UZS" | "VEB" | "VEF" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XFO" | "XFU" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "YUM" | "ZAR" | "ZMK" | "ZMW" | "ZWD" | "ZWL" | "ZWN" | "ZWR";
|
|
76
|
+
centAmount: number;
|
|
77
|
+
preciseAmount: number;
|
|
78
|
+
fractionDigits: number;
|
|
79
|
+
} | {
|
|
80
|
+
type: string;
|
|
81
|
+
currencyCode: "ADP" | "AED" | "AFA" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "ATS" | "AUD" | "AWG" | "AYM" | "AZM" | "AZN" | "BAM" | "BBD" | "BDT" | "BEF" | "BGL" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BTN" | "BWP" | "BYB" | "BYR" | "BZD" | "CAD" | "CDF" | "CHF" | "CLF" | "CLP" | "CNY" | "COP" | "CRC" | "CSD" | "CUC" | "CUP" | "CVE" | "CYP" | "CZK" | "DEM" | "DJF" | "DKK" | "DOP" | "DZD" | "EEK" | "EGP" | "ERN" | "ESP" | "ETB" | "EUR" | "FIM" | "FJD" | "FKP" | "FRF" | "GBP" | "GEL" | "GHC" | "GHS" | "GIP" | "GMD" | "GNF" | "GRD" | "GTQ" | "GWP" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "IEP" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "ITL" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LTL" | "LUF" | "LVL" | "LYD" | "MAD" | "MDL" | "MGA" | "MGF" | "MKD" | "MMK" | "MNT" | "MOP" | "MRO" | "MTL" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZM" | "MZN" | "NAD" | "NGN" | "NIO" | "NLG" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PTE" | "PYG" | "QAR" | "ROL" | "RON" | "RSD" | "RUB" | "RUR" | "RWF" | "SAR" | "SBD" | "SCR" | "SDD" | "SDG" | "SEK" | "SGD" | "SHP" | "SIT" | "SKK" | "SLL" | "SOS" | "SRD" | "SRG" | "SSP" | "STD" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMM" | "TMT" | "TND" | "TOP" | "TPE" | "TRL" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "USS" | "UYU" | "UZS" | "VEB" | "VEF" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XFO" | "XFU" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "YUM" | "ZAR" | "ZMK" | "ZMW" | "ZWD" | "ZWL" | "ZWN" | "ZWR";
|
|
82
|
+
centAmount: number;
|
|
83
|
+
fractionDigits: number;
|
|
84
|
+
preciseAmount?: undefined;
|
|
85
|
+
} | null;
|
|
86
|
+
parseMoneyValue(moneyValue: TMoneyValue, locale: string): {
|
|
87
|
+
currencyCode: string;
|
|
88
|
+
amount: string;
|
|
89
|
+
};
|
|
90
|
+
isEmpty(formValue: TValue): boolean;
|
|
91
|
+
isHighPrecision(formValue: TValue, locale: string): boolean | null;
|
|
92
|
+
isTouched(touched: TValue): boolean;
|
|
93
|
+
defaultProps: Pick<TMoneyInputProps, "horizontalConstraint" | "menuPortalZIndex" | "currencies">;
|
|
94
|
+
};
|
|
95
|
+
export default MoneyInput;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { TInputProps } from './money-input';
|
|
2
|
+
declare const getCurrencyLabelStyles: () => import("@emotion/utils").SerializedStyles;
|
|
3
|
+
declare type TGetAmountInputStyles = {
|
|
4
|
+
hasFocus: boolean;
|
|
5
|
+
} & TInputProps;
|
|
6
|
+
declare const getAmountInputStyles: (props: TGetAmountInputStyles) => import("@emotion/utils").SerializedStyles[];
|
|
7
|
+
declare type TGetHighPrecisionWrapperStyles = {
|
|
8
|
+
isDisabled?: boolean;
|
|
9
|
+
};
|
|
10
|
+
declare const getHighPrecisionWrapperStyles: ({ isDisabled, }: TGetHighPrecisionWrapperStyles) => import("@emotion/utils").SerializedStyles;
|
|
11
|
+
export { getHighPrecisionWrapperStyles, getCurrencyLabelStyles, getAmountInputStyles, };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commercetools-uikit/money-input",
|
|
3
3
|
"description": "A controlled input component for money values with validation states.",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "13.0.0",
|
|
5
5
|
"bugs": "https://github.com/commercetools/ui-kit/issues",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -19,27 +19,27 @@
|
|
|
19
19
|
"module": "dist/commercetools-uikit-money-input.esm.js",
|
|
20
20
|
"files": ["dist"],
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@babel/runtime": "7.
|
|
23
|
-
"@babel/runtime-corejs3": "7.
|
|
24
|
-
"@commercetools-uikit/constraints": "
|
|
25
|
-
"@commercetools-uikit/design-system": "
|
|
22
|
+
"@babel/runtime": "7.17.2",
|
|
23
|
+
"@babel/runtime-corejs3": "7.17.2",
|
|
24
|
+
"@commercetools-uikit/constraints": "13.0.0",
|
|
25
|
+
"@commercetools-uikit/design-system": "13.0.0",
|
|
26
26
|
"@commercetools-uikit/hooks": "12.2.9",
|
|
27
|
-
"@commercetools-uikit/icons": "
|
|
28
|
-
"@commercetools-uikit/input-utils": "
|
|
29
|
-
"@commercetools-uikit/select-utils": "
|
|
30
|
-
"@commercetools-uikit/tooltip": "
|
|
27
|
+
"@commercetools-uikit/icons": "13.0.0",
|
|
28
|
+
"@commercetools-uikit/input-utils": "13.0.0",
|
|
29
|
+
"@commercetools-uikit/select-utils": "13.0.0",
|
|
30
|
+
"@commercetools-uikit/tooltip": "13.0.0",
|
|
31
31
|
"@commercetools-uikit/utils": "12.2.9",
|
|
32
32
|
"@emotion/react": "^11.4.0",
|
|
33
33
|
"@emotion/styled": "^11.3.0",
|
|
34
34
|
"lodash": "4.17.21",
|
|
35
|
-
"prop-types": "15.
|
|
35
|
+
"prop-types": "15.8.1",
|
|
36
36
|
"react-required-if": "1.0.3",
|
|
37
|
-
"react-select": "5.2.
|
|
37
|
+
"react-select": "5.2.2"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"react": "17.0.2",
|
|
41
41
|
"react-dom": "17.0.2",
|
|
42
|
-
"react-intl": "5.
|
|
42
|
+
"react-intl": "5.24.6"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"react": "17.x",
|