Demos
Locale based numbers
When you use asNumber or asPercent (and asCurrency see below) it will create a mask for you and inherit the locale from the Eufemia Provider, if the locale property is not given.
You can still define extra mask parameters with numberMask or maskOptions, as the second input example shows (e.g. decimalLimit).
<Flex.Vertical> <InputMasked label="Number" asNumber maskOptions={{ allowNegative: false, }} value="1234.50" onChange={({ numberValue }) => { console.log(numberValue) }} /> <InputMasked label="Number (decimal limit)" asNumber numberMask={{ decimalLimit: 2, }} value="1234.016" onChange={({ numberValue }) => { console.log(numberValue) }} /> <InputMasked label="Percentage" asPercent numberMask={{ decimalLimit: 1, }} value="1234.016" onChange={({ numberValue }) => { console.log(numberValue) }} /> </Flex.Vertical>
Locale based asCurrency
When you use asCurrency it will create a mask for you and inherit the locale from the Eufemia Provider, if the locale property is not given.
<Flex.Vertical> <InputMasked label="Currency" asCurrency="EUR" value="1234.50" onChange={({ numberValue }) => { console.log(numberValue) }} /> <Provider locale="en-GB" InputMasked={{ currencyMask: { decimalLimit: 3, }, }} > <InputMasked label="Currency" asCurrency="USD" value="1234.567" onChange={({ numberValue }) => { console.log(numberValue) }} /> </Provider> </Flex.Vertical>
Define the currencyMask manually
<Flex.Vertical> <InputMasked label="Left aligned (default)" showMask currencyMask="kr" onChange={({ numberValue }) => { console.log(numberValue) }} /> <InputMasked label="Right aligned" showMask currencyMask={{ currency: 'NOK', }} align="right" onChange={({ numberValue }) => { console.log(numberValue) }} /> </Flex.Vertical>
Customize the number mask
<InputMasked label="Masked amount" showMask numberMask={{ suffix: ' kr', allowDecimal: true, }} onChange={({ numberValue }) => { console.log(numberValue) }} />
Using the numberMask with a combined suffix
kr
<InputMasked label="Masked input" value="1000000" numberMask={{ suffix: ',-', allowDecimal: false, }} suffix="kr" onChange={({ numberValue }) => { console.log(numberValue) }} />
Using the numberMask and a prefix
<InputMasked label="Masked input" numberMask={{ prefix: 'NOK ', }} stretch={true} placeholder="Enter a number" onChange={({ numberValue }) => { console.log(numberValue) }} />