bananas-commerce-admin
Version:
What's this, an admin for apes?
38 lines • 3.24 kB
JavaScript
import React from "react";
import { FormHelperText } from "@mui/material";
import Grid from "@mui/material/Grid2";
import Stack from "@mui/material/Stack";
import TextField from "@mui/material/TextField";
import Typography from "@mui/material/Typography";
import { useCardContext } from "../../contexts/CardContext";
import { useI18n } from "../../contexts/I18nContext";
import { countryCodeFormatter } from "../../util/country_code_formatter";
import LabeledValue from "../LabeledValue";
export const CardFieldAddress = ({ label, value: defaultValue, required = false, isDisabled = false, size = "grow", isReadable = true, isEditable = true, helperText, }) => {
const { isEditing } = useCardContext();
const { t } = useI18n();
const addressString = [
defaultValue?.street_address,
defaultValue?.street_address2,
defaultValue?.care_of,
[defaultValue?.postal_code, defaultValue?.city].filter(Boolean).join(" "),
countryCodeFormatter.of(defaultValue?.country_code),
defaultValue?.region,
]
.filter(Boolean)
.join("\n");
return (React.createElement(Grid, { size: size }, isEditing && isEditable ? (React.createElement(Stack, { direction: "column", spacing: 2 },
React.createElement(Typography, { sx: { fontWeight: 700 }, variant: "body1" }, t("Address")),
React.createElement(TextField, { fullWidth: true, defaultValue: defaultValue?.street_address ?? "", disabled: isDisabled, label: t("Street Address"), name: "street_address", required: required, variant: "outlined" }),
React.createElement(TextField, { fullWidth: true, defaultValue: defaultValue?.street_address2 ?? "", disabled: isDisabled, label: t("Street Address 2"), name: "street_address2", required: false, variant: "outlined" }),
React.createElement(TextField, { fullWidth: true, defaultValue: defaultValue?.care_of ?? "", disabled: isDisabled, label: t("C/O"), name: "care_of", required: false, variant: "outlined" }),
React.createElement(Stack, { direction: "row", spacing: 2 },
React.createElement(TextField, { fullWidth: true, defaultValue: defaultValue?.postal_code ?? "", disabled: isDisabled, label: t("Postal Code"), name: "postal_code", required: false, variant: "outlined" }),
React.createElement(TextField, { fullWidth: true, defaultValue: defaultValue?.city ?? "", disabled: isDisabled, label: t("City"), name: "city", required: false, variant: "outlined" })),
React.createElement(Stack, { direction: "row", spacing: 2 },
React.createElement(TextField, { fullWidth: true, defaultValue: defaultValue?.country_code ?? "", disabled: isDisabled, label: t("Country"), name: "country_code", required: false, variant: "outlined" }),
React.createElement(TextField, { fullWidth: true, defaultValue: defaultValue?.region ?? "", disabled: isDisabled, label: t("Region"), name: "region", required: false, variant: "outlined" })),
helperText != null && React.createElement(FormHelperText, { sx: { mb: 1 } }, helperText))) : (isReadable && React.createElement(LabeledValue, { label: label, value: addressString }))));
};
export default CardFieldAddress;
//# sourceMappingURL=CardFieldAddress.js.map