bananas-commerce-admin
Version:
What's this, an admin for apes?
40 lines • 3.95 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, isCompany = false, fieldErrors = {}, }) => {
const { isEditing } = useCardContext();
const { t } = useI18n();
label ??= t("Address");
const addressString = [
defaultValue?.street_address,
defaultValue?.street_address2,
defaultValue?.care_of,
[defaultValue?.postal_code, defaultValue?.city].filter(Boolean).join(" "),
defaultValue?.region,
defaultValue?.country_code ? countryCodeFormatter.of(defaultValue.country_code) : undefined,
]
.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" }, label),
React.createElement(TextField, { fullWidth: true, defaultValue: defaultValue?.street_address ?? "", disabled: isDisabled, error: Boolean(fieldErrors.street_address), helperText: fieldErrors.street_address, label: t("Street Address"), name: "street_address", required: required || isCompany, variant: "outlined" }),
React.createElement(TextField, { fullWidth: true, defaultValue: defaultValue?.street_address2 ?? "", disabled: isDisabled, error: Boolean(fieldErrors.street_address2), helperText: fieldErrors.street_address2, label: t("Street Address 2"), name: "street_address2", required: false, variant: "outlined" }),
React.createElement(TextField, { fullWidth: true, defaultValue: defaultValue?.care_of ?? "", disabled: isDisabled, error: Boolean(fieldErrors.care_of), helperText: fieldErrors.care_of, 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, error: Boolean(fieldErrors.postal_code), helperText: fieldErrors.postal_code, label: t("Postal Code"), name: "postal_code", required: isCompany, variant: "outlined" }),
React.createElement(TextField, { fullWidth: true, defaultValue: defaultValue?.city ?? "", disabled: isDisabled, error: Boolean(fieldErrors.city), helperText: fieldErrors.city, label: t("City"), name: "city", required: isCompany, variant: "outlined" })),
React.createElement(Stack, { direction: "row", spacing: 2 },
React.createElement(TextField, { fullWidth: true, defaultValue: defaultValue?.region ?? "", disabled: isDisabled, error: Boolean(fieldErrors.region), helperText: fieldErrors.region, label: t("Region"), name: "region", required: false, variant: "outlined" }),
React.createElement(TextField, { fullWidth: true, defaultValue: defaultValue?.country_code ?? "", disabled: isDisabled, error: Boolean(fieldErrors.country_code), helperText: fieldErrors.country_code, label: t("Country"), name: "country_code", required: isCompany, variant: "outlined" })),
helperText != null && React.createElement(FormHelperText, { sx: { mb: 1 } }, helperText))) : (isReadable &&
(isEditing || addressString.length > 0) && (React.createElement(LabeledValue, { label: label, value: addressString })))));
};
export default CardFieldAddress;
//# sourceMappingURL=CardFieldAddress.js.map