Documentation Index
Fetch the complete documentation index at: https://algolia.com/llms.txt
Use this file to discover all available pages before exploring further.
This widget is and is subject to change in minor versions.
This is the React InstantSearch v7 documentation.
If you’re upgrading from v6, see the upgrade guide.
If you were using React InstantSearch Hooks,
this v7 documentation applies—just check for necessary changes.
To continue using v6, you can find the archived documentation.
Signature
Import
JavaScript
About this widget
<Autocomplete> is one of the most common widgets in a search UI.
With this widget, users can get search results as they type their query.
This widget includes a showQuerySuggestions feature that displays query suggestions from a separate .
Examples
JavaScript
Props
An array of objects that define the indices to query and how to display the results.
indexName: the name of the index to querygetQuery: preprocess the query before it is sent for searchgetURL: update the url to send the search requestsearchParameters: additional search parameters to send with the search requestheaderComponent: component to render for the header of the indexitemComponent: component to render for each result from a querynoResultsComponent: component to render when no results are found for the indexclassNames: CSS classes to customize the appearance.root: the index section root element.list: the list of results.header: the section header.item: each result item.noResults: the no results element.
JavaScript
Configures the query suggestions feature.
indexName: the name of the index to query for suggestionsgetURL: update the url to send the search requestheaderComponent: component to render for the header of the indexitemComponent: component to render for each suggestionclassNames: CSS classes to customize the appearance.root: the index section root element.list: the list of results.header: the section header.item: each result item.noResults: the no results element.
JavaScript
Configures the prompt suggestions feature.
Shows prompt suggestions from a separate .
When users select a suggestion,
it’s sent to a Chat widget in the same index.
indexName: the name of the index to query for prompt suggestionsgetURL: a function that returns the URL to open when a user selects a prompt suggestionheaderComponent: component to render for the header of the prompt suggestionsitemComponent: component to render for each prompt suggestion (receivesitemwith apromptfield and an optionallabelfield, andonSelect)classNames: CSS classes to customize the appearance.root: the index section root element.list: the list of results.header: the section header.item: each result item.noResults: the no results element.
searchParameters: additional search parameters to send with the request
To open the chat and send messages,
showPromptSuggestions requires a Chat widget in the same index.JavaScript
Configures the recent searches feature. Displays previously searched queries stored in local storage.When set to
true, uses default settings. When set to an object, you can configure:storageKey: the key to use in local storage (default:ais.recentSearches)headerComponent: component to render for the header above the recent searches listitemComponent: component to render for each recent search item (receivesitem,onSelect, andonRemoveRecentSearchprops)classNames: CSS classes to customize the appearance.root: the index section root element.list: the list of results.header: the section header.item: each result item.noResults: the no results element.
JavaScript
Transforms the items before they are displayed. This function receives an array of index configurations with their hits and should return an array in the same format.
JavaScript
Additional search parameters to send with the search request for every index.
JavaScript
A function that is called when the user selects an item. If not provided, the default implementation:
- navigates to the URL of an item if the index configuration defines
getURL(); - or navigates to the URL of the search page if autocomplete is not in a search page and
getSearchPageURL()is defined; - or otherwise refines the query
JavaScript
A function that returns the URL of the search page for a given search state.
JavaScript
Use the component to customize how the panel is rendered.
This is useful when implementing layouts with multiple rows or columns.The component receives a prop containing:
elements: a key-value dictionary of indices to render. These include regular index names, and special elements likerecent,suggestions, andpromptSuggestions, if applicable.indices: an array containing the data for each index.
JavaScript
The CSS classes you can override
and pass to the widget’s elements.
It’s useful to style widgets with class-based CSS frameworks like Bootstrap
or Tailwind CSS.Root and detached shell:
root: the widget’s root element.detachedOverlay: the detached overlay backdrop.detachedContainer: the detached container.detachedFormContainer: the detached form container.detachedSearchButton: the detached search button.detachedSearchButtonIcon: the detached search button icon wrapper.detachedSearchButtonSearchIcon: the detached search button search icon.detachedSearchButtonPlaceholder: the detached search button placeholder.detachedSearchButtonQuery: the detached search button query.detachedSearchButtonClear: the detached search button clear button.detachedSearchButtonClearIcon: the detached search button clear icon.
panel: the panel root element.panelOpen: the panel root element when open.panelLayout: the panel layout element.
form: the search form.inputWrapperPrefix: the input prefix area (contains submit button and loading indicator).backButton: the back button (detached mode).backButtonIcon: the back button icon.label: the submit label.submitButton: the submit button.submitButtonIcon: the submit button icon.loadingIndicator: the loading indicator.loadingIndicatorIcon: the loading indicator icon.inputWrapper: the input wrapper.input: the search input.inputWrapperSuffix: the input suffix area (contains reset button and AI mode button).resetButton: the reset/clear button.resetButtonIcon: the reset/clear button icon.aiModeButton: the AI mode button.aiModeButtonIcon: the AI mode button icon.aiModeButtonLabel: the AI mode button label.
indices, showQuerySuggestions, showPromptSuggestions, showRecent) also accepts its own classNames for styling result items. See their respective options for details.JavaScript
Placeholder text for the search input.
JavaScript
Whether to focus the input and open the panel by default.
JavaScript
Media query to enable detached (mobile) mode. When the media query matches, the autocomplete switches to a full-screen overlay with a modal interface optimized for mobile devices. In detached mode, the search form shows a back button (
.ais-AutocompleteBackButton) to close the overlay.Set to an empty string to disable detached mode. When omitted, it defaults to the CSS variable --ais-autocomplete-detached-media-query, or "(max-width: 680px)" if the variable is not set.JavaScript
Text labels for detached mode controls.
detachedCancelButtonText: label for the detached cancel button.detachedSearchButtonTitle: title for the detached search button.detachedClearButtonTitle: title for the detached clear button.
JavaScript