import React, { LegacyRef } from 'react'; import classNames from 'classnames'; import InputGroup, { InputGroupProps } from './InputGroup'; import { FormDefaults } from '../FormDefaults'; import { phoneNumber } from '../Normalization/normalizers'; export interface PhoneNumberInputGroupProps extends Omit< InputGroupProps, 'onChange' | 'type' | 'value' > {} function PhoneNumberInputGroup( { className, ...rest }: PhoneNumberInputGroupProps, ref: LegacyRef ) { const { input } = rest; return ( { if (!e.target.value) { input.onChange(undefined); } else { input.onChange(phoneNumber(e.target.value)); } }} /> ); } /**A standard phone number input. Will display to the user in `+XXX XXX-XXX-XXXX` format as the number is being inputted. * The data will get sent in the same format as displayed. Uses `normalizers.phoneNumber`. * @default autoComplete="tel-national" */ const PhoneNumberInputGroupWithRef = React.forwardRef( PhoneNumberInputGroup ) as React.ComponentType; export default PhoneNumberInputGroupWithRef;