const DECIMAL = /^-?(?:\d+\.?\d*|\.\d*)?$/u; export function isValidPercent(value: string): boolean { if (!value.trim()) return false; const number = Number(value); return Number.isFinite(number) && number >= -9999 && number <= 9999; } export function normalizePercentInput(nextValue: string, currentValue = ""): string { const value = nextValue.trim(); return DECIMAL.test(value) ? value : currentValue; } export function finalizePercentInput(value: string): string { return value === "-" ? "0" : value; }