Your component works great, thanks!
One bug I've seen: entering a period causes weird behavior. E.g.:
- entering ["1", "."] -> "0.01." (should not have trailing ".")
- entering ["1", ".", "1"] -> "0.00"
I'd expect "." to be a disallowed character like any other non-digit character.