2021-05-14 08:15:15 +00:00
|
|
|
import { TextField } from "@material-ui/core";
|
2019-06-19 14:40:52 +00:00
|
|
|
import SingleSelectField from "@saleor/components/SingleSelectField";
|
2021-07-21 08:59:52 +00:00
|
|
|
import { makeStyles } from "@saleor/macaw-ui";
|
2020-05-14 09:30:32 +00:00
|
|
|
import React from "react";
|
2019-06-19 14:40:52 +00:00
|
|
|
|
2019-12-03 15:28:40 +00:00
|
|
|
const useStyles = makeStyles(
|
|
|
|
theme => ({
|
|
|
|
root: {
|
|
|
|
display: "grid",
|
|
|
|
gridColumnGap: theme.spacing(2),
|
|
|
|
gridTemplateColumns: "5rem 1fr"
|
|
|
|
}
|
|
|
|
}),
|
|
|
|
{ name: "PhoneField" }
|
|
|
|
);
|
2019-06-19 14:40:52 +00:00
|
|
|
|
2019-10-30 14:34:24 +00:00
|
|
|
interface PhoneFieldProps {
|
2019-06-19 14:40:52 +00:00
|
|
|
name: string;
|
|
|
|
prefix: string;
|
|
|
|
number: string;
|
|
|
|
prefixes: string[];
|
|
|
|
label?: string;
|
|
|
|
onChange(event: React.ChangeEvent<any>);
|
|
|
|
}
|
|
|
|
|
2019-10-30 14:34:24 +00:00
|
|
|
const PhoneField: React.FC<PhoneFieldProps> = props => {
|
|
|
|
const {
|
2019-06-19 14:40:52 +00:00
|
|
|
name,
|
|
|
|
number: phoneNumber,
|
|
|
|
prefix,
|
|
|
|
prefixes,
|
|
|
|
label,
|
|
|
|
onChange
|
2019-10-30 14:34:24 +00:00
|
|
|
} = props;
|
|
|
|
|
|
|
|
const classes = useStyles(props);
|
|
|
|
|
|
|
|
return (
|
2019-06-19 14:40:52 +00:00
|
|
|
<div className={classes.root}>
|
|
|
|
<SingleSelectField
|
|
|
|
name={name + "_prefix"}
|
|
|
|
choices={prefixes.map(p => ({ label: "+" + p, value: p }))}
|
|
|
|
onChange={onChange}
|
|
|
|
value={prefix}
|
|
|
|
label={label}
|
|
|
|
/>
|
|
|
|
<TextField
|
|
|
|
name={name + "_number"}
|
|
|
|
onChange={onChange}
|
|
|
|
value={phoneNumber}
|
|
|
|
label=" "
|
|
|
|
/>
|
|
|
|
</div>
|
2019-10-30 14:34:24 +00:00
|
|
|
);
|
|
|
|
};
|
2019-06-19 14:40:52 +00:00
|
|
|
PhoneField.displayName = "PhoneField";
|
|
|
|
export default PhoneField;
|