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.
🤔 What's changed?
The functionality supporting search, having been gradually extended over time, was a bit confusing to work with for both consumers and maintainers. This rework aims to reduce the amount and complexity of code involved, and make it easier for consumers to add search to their app either out of the box or with custom handling.
Specifically:
<ControlledSearchProvider/>
provides a low-level usage withvalue
andonChange
allowing you to manage the state yourself - this will be helpful for consumers integrating with framework-specific routers, or other kinds of state management<InMemorySearchProvider/>
is a thinuseState
wrapper around the former - fine for many use cases<UrlSearchProvider/>
also wraps the controlled one and syncs with query parameters on the URLuseSearch
continues to be the way you consume/update the context, and this is dogfooded in our own components🏷️ What kind of change is this?
📋 Checklist:
This text was originally generated from a template, then edited by hand. You can modify the template here.