If you need to use the library but customizing the widgets and/or creating your own widget doesn't serve your use case, you can use the helper to bridge most gaps.
You can intercept the search function using the helper function. Where InstantSearch is defined in your code, you can add this helper function. Then you can run the search request based on the available factors or states.