isPartialDecimal
True when text could still become a number as the user types — an empty field, a lone sign, or a trailing separator. A controlled field consults this after parseDecimalOrNull returns null, so transient input like - or -. survives on the way to -1.5 instead of snapping back to the last committed value.