import React from "react"; import ISDCodeDropdown, { ISDCodeDropdownOptions, getSelectedISDCode, } from "./ISDCodeDropdown"; import type { BaseInputComponentProps } from "widgets/BaseInputWidget/component"; import BaseInputComponent from "widgets/BaseInputWidget/component"; import type { CountryCode } from "libphonenumber-js"; import { InputTypes } from "widgets/BaseInputWidget/constants"; class PhoneInputComponent extends React.PureComponent { onTextChange = ( event: | React.ChangeEvent | React.ChangeEvent, ) => { this.props.onValueChange(event.target.value); }; getLeftIcon = () => { const selectedISDCode = getSelectedISDCode(this.props.dialCode); return ( ); }; onKeyDown = ( e: | React.KeyboardEvent | React.KeyboardEvent, ) => { if (typeof this.props.onKeyDown === "function") { this.props.onKeyDown(e); } }; componentDidMount() { if (this.props.dialCode) { this.props.onISDCodeChange(this.props.dialCode); } } render() { return ( ); } } export interface PhoneInputComponentProps extends BaseInputComponentProps { dialCode?: string; countryCode?: CountryCode; onISDCodeChange: (code?: string) => void; allowDialCodeChange: boolean; } export default PhoneInputComponent;