fix(iOS, Stack v4): add systemDefault option to autoCapitalize prop in SearchBar
#3251
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Ensures consistent default behavior for
autoCapitalizeprop inSearchBar.This will require changes in
react-navigation's docs (https://github.com/software-mansion/react-native-screens-labs/issues/470).Before
Prior to this PR, changing
autoCapitalizetononeon Fabric required changing the value to something else and then changing it back tononeasnonewas the default value in Fabric spec file forSearchBar(controller would not get the updated value and used UIKit default -sentences).autoCapitalize_before_iOS_Fabric.mov
After
In this PR, bug described in section above is fixed. Consistent behavior across platforms and architectures is ensured.
autoCapitalize_after_iOS_Fabric.mov
systemDefaultoption allows correct handling of different search input default behaviors on Android and iOS:none,sentences.Changes
systemDefaulttoautoCapitalizeinSearchBarsystemDefaulton both platforms and both architecturesautoCapitalizeprop by mappingundefinedtosystemDefaultto ensure consistent behavior between Paper and Fabric: on Paper, setter does not run if we passundefinedas the value of the prop whereas on Fabric, default value ofsystemDefaultis used.Test code and steps to reproduce
Run
Test758with commented-out search bar options. AddautoCapitalize: 'none'and verify correct behavior.Checklist