import type { InputHTMLAttributes, RefObject } from "preact/compat"; import FormText from "./FormText"; interface FormTextBoxProps extends Omit, "onChange" | "value"> { id?: string; currentValue?: string; onChange?(newValue: string): void; inputRef?: RefObject; } export default function FormTextBox({ inputRef, className, type, currentValue, onChange, ...rest}: FormTextBoxProps) { if (type === "number" && currentValue) { const { min, max } = rest; if (min && currentValue < min) { currentValue = String(min); } else if (max && currentValue > max) { currentValue = String(max); } } return ( onChange?.(e.currentTarget.value)} {...rest} /> ); } export function FormTextBoxWithUnit(props: FormTextBoxProps & { unit: string }) { return ( ) }