import { PrimitiveAtom } from "jotai"; import EditBox from "./EditBox"; export interface Props { valueAtom: PrimitiveAtom; formatter?: (arg: number) => string; } export default function NumberEditBox({ valueAtom, formatter }: Props) { const validator = (arg: string): number | null => { try { const n = parseFloat(arg); if (isNaN(n) || !isFinite(n)) return null; return n; } catch (e) { return null; } }; return ( n.toString())} validator={validator} /> ); }