Conversation
0c409b6 to
cf36b65
Compare
|
|
The latest updates on your projects. Learn more about Argos notifications ↗︎
|
📊 Package size report
|
|
A slightly better approach would be to introduce a component: <KeyboardToolbar.Group name="group1" discoverable>
</KeyboardToolbar.Group>In this what effectively we would do is to split inputs in group under their own names. Such approach is more flexible in my inderstanding, because if we would have tab-view written in pure JS:
Then we in last input of tab 1 we could easily go to the second tab. If we would use I think a new API should offer better extendability for future goals. |
There was a problem hiding this comment.
Copilot reviewed 6 out of 16 changed files in this pull request and generated 1 comment.
Files not reviewed (10)
- android/src/base/java/com/reactnativekeyboardcontroller/KeyboardControllerPackage.kt: Language not supported
- android/src/main/java/com/reactnativekeyboardcontroller/managers/KeyboardToolbarExcludeViewManagerImpl.kt: Language not supported
- android/src/main/java/com/reactnativekeyboardcontroller/traversal/ViewHierarchyNavigator.kt: Language not supported
- android/src/main/java/com/reactnativekeyboardcontroller/views/KeyboardToolbarExcludeReactViewGroup.kt: Language not supported
- android/src/paper/java/com/reactnativekeyboardcontroller/KeyboardToolbarExcludeViewManager.kt: Language not supported
- android/src/turbo/java/com/reactnativekeyboardcontroller/KeyboardControllerPackage.kt: Language not supported
- docs/docs/api/components/keyboard-toolbar/index.mdx: Language not supported
- ios/traversal/ViewHierarchyNavigator.swift: Language not supported
- ios/views/KeyboardToolbarExcludeViewManager.h: Language not supported
- ios/views/KeyboardToolbarExcludeViewManager.mm: Language not supported
## 📜 Description Added compound pattern to `KeyboardToolbar` component. ## 💡 Motivation and Context This component started as a very simple component with limited customization. However, over the time it got many new props, such as `onNextCallback` etc. and right now we have too many props for customization. Since I'm planning to add #881 I decided that it'll be a good time to refactor the component and apply compound pattern. So in the end I come up with next API design: ```tsx <KeyboardToolbar> <KeyboardToolbar.Background /> <KeyboardToolbar.Prev /> <KeyboardToolbar.Next /> <KeyboardToolbar.Content /> <KeyboardToolbar.Done /> </KeyboardToolbar> ``` > I intentionally changed `blur` prop to `background`, because with iOS 26 we may use liquid glass as a container Closes #1121 ## 📢 Changelog <!-- High level overview of important changes --> <!-- For example: fixed status bar manipulation; added new types declarations; --> <!-- If your changes don't affect one of platform/language below - then remove this platform/language --> ### JS - added new compound `KeyboardToolbar` API; - moved props declaration into `types.ts` file. ### Docs - added new API reference; - added migration guide. ## 🤔 How Has This Been Tested? - tested that old code works with new API and doesn't introduce visual regressions (via e2e tests) - started to use new API and assure that it doesn't break e2e tests. ## 📸 Screenshots (if appropriate): <img width="614" height="422" alt="image" src="https://github.com/user-attachments/assets/8d2cc932-7fd8-4f29-89d4-bf4961bd97dc" /> ## 📝 Checklist - [x] CI successfully passed - [x] I added new mocks and corresponding unit-tests if library API was changed
bfbd6bd to
7be09fc
Compare
KeyboardToolbar.ExcludeKeyboardToolbar.Group
0d27c73 to
f84ee76
Compare
📜 Description
Added
KeyboardToolbar.Groupcomponent.💡 Motivation and Context
This PR adds new
KeyboardToolbar.Groupcomponent and corresponding native view. The idea is that with new component we can define a group of related inputs so that other inputs will not be scanned.The idea is similar to https://github.com/hackiftekhar/IQKeyboardManager/wiki/Manual-Management#show-previousnext-arrow-buttons-for-textfield-which-are-not-direct-disblings
Closes #470
📢 Changelog
Docs
JS
KeyboardToolbarGroupViewcomponent (codegen);KeyboardToolbar;iOS
KeyboardToolbarGroupViewinto consideration;Android
KeyboardToolbarGroupViewinto consideration;🤔 How Has This Been Tested?
Tested manually on:
📸 Screenshots (if appropriate):
Screen.Recording.2026-03-13.at.11.13.02.mov
Simulator.Screen.Recording.-.iPhone.17.Pro.-.2026-03-13.at.10.59.46.mov
📝 Checklist