import React from "react"; import { FormHelperText, Grid2 as Grid, Stack, TextField, TextFieldProps } from "@mui/material"; import { useCardContext } from "../../contexts/CardContext"; import LabeledValue from "../LabeledValue"; import { CardFieldBaseProps } from "./shared"; export interface CardFieldTextProps extends Omit, CardFieldBaseProps, React.PropsWithChildren { type: "text"; multiline?: boolean; value?: string; maxLength?: number; minRows?: number; adornment?: string; isEditable?: boolean; } export const CardFieldText: React.FC> = ({ label, fallback = "—", fallbackPredicate = (value: unknown) => typeof value !== "string" || value == null || value === "", formName, value: defaultValue, required = false, isDisabled = false, size = "grow", isReadable = true, isEditable = true, helperText, ...props }) => { const { isCompact, isEditing } = useCardContext(); return ( {isEditing && isEditable ? ( {helperText != null && {helperText}} ) : ( isReadable && ( ) )} ); }; export default CardFieldText;