Problem
NumberField does not handle localized decimal separators correctly on mobile. On iOS with Estonian locale, the decimal keyboard provides , instead of ., and the current native type="number" input does not persist that value as expected. This makes decimal entry unreliable on iOS browsers and potentially inconsistent on Android browsers as well.
Solution
Update NumberField so decimal input is parsed in component logic instead of relying on native type="number" behavior.
Implemented approach:
• Replace native number parsing with controlled text input handling
• Accept both . and , as decimal separators
• Normalize , to .
• Preserve intermediate typing states such as 1, and 1.
• Allow consumers to explicitly use inputMode="decimal" when they want a decimal keyboard on mobile
This keeps existing API behavior stable while fixing localized decimal entry where the keyboard provides a comma
Examples and information
Project
DoD
Problem
NumberField does not handle localized decimal separators correctly on mobile. On iOS with Estonian locale, the decimal keyboard provides , instead of ., and the current native type="number" input does not persist that value as expected. This makes decimal entry unreliable on iOS browsers and potentially inconsistent on Android browsers as well.
Solution
Update NumberField so decimal input is parsed in component logic instead of relying on native type="number" behavior.
Implemented approach:
• Replace native number parsing with controlled text input handling
• Accept both . and , as decimal separators
• Normalize , to .
• Preserve intermediate typing states such as 1, and 1.
• Allow consumers to explicitly use inputMode="decimal" when they want a decimal keyboard on mobile
This keeps existing API behavior stable while fixing localized decimal entry where the keyboard provides a comma
Examples and information
Project
DoD
semantic-release)