masked-input
MaskedInput is a component that helps format a user's input. It can be
combined with Field to add formatted fields to a form.
Import
import { MaskedInput } from '@xpanseinc/nebula'
Usage
The component relies on Cleave.js and the specified options will be passed through.
<MaskedInput
value="123456789"
options={{
blocks: [3, 2, 4],
delimiter: '-',
}}
/>
Programmatic Usage
<MaskedInput
value="123456789"
onChange={event => {
console.log(event.target.value, event.target.rawValue)
}}
onBlur={event => {
console.log(event.target.value, event.target.rawValue)
}}
options={{
blocks: [3, 2, 4],
delimiter: '-',
}}
/>
Premade Inputs
We have a few premade inputs for commonly used fields.
Phone Number Field
For commonly formatted phone numbers using the "US" format. If you want to
change to a different format you can pass phoneRegion as a property.
<PhoneField
label="Phone Number"
name="phoneNumber"
value="18008675309"
onChange={event => {
console.log(event.target.value, event.target.rawValue)
}}
onBlur={event => {
console.log(event.target.value, event.target.rawValue)
}}
/>
Zip Code Field
For US zip codes, this has a max character limit of 5.
<ZipCodeField
label="Zip Code"
name="zipCode"
value="12345"
onChange={event => {
console.log(event.target.value, event.target.rawValue)
}}
onBlur={event => {
console.log(event.target.value, event.target.rawValue)
}}
/>
Social Security Field
<SocialSecurityField
label="SSN"
name="ssn"
onChange={event => {
console.log(event.target.value, event.target.rawValue)
}}
onBlur={event => {
console.log(event.target.value, event.target.rawValue)
}}
/>
Date Field
<DateField
label="DOB"
name="dob"
value="09/07/1980"
onChange={event => {
console.log(event.target.value, event.target.rawValue)
}}
onBlur={event => {
console.log(event.target.value, event.target.rawValue)
}}
/>
Currency Field
<CurrencyField
label="Maximum Down Payment"
name="maximumDownPayment"
value="100000"
onChange={event => {
console.log(event.target.value, event.target.rawValue)
}}
onBlur={event => {
console.log(event.target.value, event.target.rawValue)
}}
/>