2019-06-19 14:40:52 +00:00
|
|
|
import {
|
|
|
|
createStyles,
|
|
|
|
Theme,
|
|
|
|
withStyles,
|
|
|
|
WithStyles
|
|
|
|
} from "@material-ui/core/styles";
|
|
|
|
import TextField from "@material-ui/core/TextField";
|
2019-08-09 10:26:22 +00:00
|
|
|
import React from "react";
|
2019-06-19 14:40:52 +00:00
|
|
|
|
|
|
|
import SingleSelectField from "@saleor/components/SingleSelectField";
|
|
|
|
|
2019-10-28 16:16:49 +00:00
|
|
|
const styles = theme =>
|
2019-06-19 14:40:52 +00:00
|
|
|
createStyles({
|
|
|
|
root: {
|
|
|
|
display: "grid",
|
2019-10-28 16:16:49 +00:00
|
|
|
gridColumnGap: theme.spacing(2),
|
2019-06-19 14:40:52 +00:00
|
|
|
gridTemplateColumns: "5rem 1fr"
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
interface PhoneFieldProps extends WithStyles<typeof styles> {
|
|
|
|
name: string;
|
|
|
|
prefix: string;
|
|
|
|
number: string;
|
|
|
|
prefixes: string[];
|
|
|
|
label?: string;
|
|
|
|
onChange(event: React.ChangeEvent<any>);
|
|
|
|
}
|
|
|
|
|
|
|
|
const PhoneField = withStyles(styles, { name: "PhoneField" })(
|
|
|
|
({
|
|
|
|
classes,
|
|
|
|
name,
|
|
|
|
number: phoneNumber,
|
|
|
|
prefix,
|
|
|
|
prefixes,
|
|
|
|
label,
|
|
|
|
onChange
|
|
|
|
}: PhoneFieldProps) => (
|
|
|
|
<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>
|
|
|
|
)
|
|
|
|
);
|
|
|
|
PhoneField.displayName = "PhoneField";
|
|
|
|
export default PhoneField;
|