Conversation
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection: The change is purely cosmetic/visual and affects:
However, E2E tests are not appropriate for validating this change because:
This is a low-risk styling fix with no functional impact that doesn't warrant E2E test execution. Performance Test Selection: |
app/component-library/components/Form/TextField/foundation/Input/Input.styles.ts
Show resolved
Hide resolved
|



Description
Reason for the change
On iOS,
TextInputcan show intermittent placeholder text misalignment or clipping. This comes from a React Native bug:TextInputstill uses the defaultusesFontLeading = YESinNSLayoutManager, whileTextwas fixed in 2020 withusesFontLeading = NO. With Geist’s large ascender/leading, Fabric’s text measurement becomes inconsistent, so placeholder alignment is unstable.Improvement / solution
Add
lineHeight: 0to the Input base styles inInput.styles.ts. This gives Fabric a fixed line height and avoids the faulty font-leading calculation. UnlikelineHeight: 20, it does not reintroduce the multi-line wrapping issue. No native changes or rebuilds are required.References
Changelog
CHANGELOG entry: Fixed intermittent placeholder text alignment and clipping in text inputs on iOS.
Related issues
Fixes:
Manual testing steps
Screenshots/Recordings
Before
Simulator.Screen.Recording.-.iPhone.15.Pro.Max.-.2026-02-12.at.09.50.05.mov
After
Simulator.Screen.Recording.-.iPhone.15.Pro.Max.-.2026-02-12.at.15.08.39.mov
Verified on Android

Pre-merge author checklist
Pre-merge reviewer checklist
Note
Low Risk
Small, style-only change to a shared input component; main risk is unintended layout differences in text rendering across platforms and screens.
Overview
Fixes intermittent iOS
TextInputplaceholder vertical misalignment/clipping by forcing a fixedlineHeight: 0in the sharedInputbase styles (Input.styles.ts).Updates a large set of Jest snapshots across screens/components that render this
Inputto reflect the new style output.Written by Cursor Bugbot for commit cd3cd24. This will update automatically on new commits. Configure here.