import React from "react"; import { FormHelperText, Stack } from "@mui/material"; import Grid from "@mui/material/Grid2"; import InputAdornment from "@mui/material/InputAdornment"; import TextField from "@mui/material/TextField"; import { useCardContext } from "../../contexts/CardContext"; import LabeledValue from "../LabeledValue"; import { CardFieldBaseProps } from "./shared"; export interface CardFieldNumberProps extends CardFieldBaseProps, React.PropsWithChildren { type: "number"; value?: number; min?: number; max?: number; adornment?: string; disabled?: boolean; isEditable?: boolean; } export const CardFieldNumber: React.FC> = ({ adornment, disabled, fallback = "—", fallbackPredicate = (value) => value == null, formName, helperText, isDisabled = false, isEditable = true, isReadable = true, label, required = false, size = "grow", value: defaultValue, ...props }) => { const { isCompact, isEditing } = useCardContext(); return ( {isEditing && isEditable ? ( {adornment}, }, }} type="number" variant="outlined" /> {helperText != null && {helperText}} ) : ( isReadable && ( ) )} ); }; export default CardFieldNumber;