instantsearch.js 4.81.0 → 4.82.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Answers/Answers.js +4 -4
- package/cjs/components/Breadcrumb/Breadcrumb.js +2 -2
- package/cjs/components/ClearRefinements/ClearRefinements.js +2 -2
- package/cjs/components/GeoSearchControls/GeoSearchControls.js +2 -2
- package/cjs/components/Highlight/Highlight.js +3 -3
- package/cjs/components/InfiniteHits/InfiniteHits.js +4 -4
- package/cjs/components/MenuSelect/MenuSelect.js +2 -2
- package/cjs/components/Pagination/Pagination.js +1 -1
- package/cjs/components/Panel/Panel.js +5 -5
- package/cjs/components/QueryRuleCustomData/QueryRuleCustomData.js +1 -1
- package/cjs/components/RangeInput/RangeInput.js +14 -14
- package/cjs/components/RefinementList/RefinementList.js +16 -16
- package/cjs/components/RefinementList/RefinementListItem.js +2 -2
- package/cjs/components/RelevantSort/RelevantSort.js +1 -1
- package/cjs/components/ReverseHighlight/ReverseHighlight.js +3 -3
- package/cjs/components/ReverseSnippet/ReverseSnippet.js +3 -3
- package/cjs/components/SearchBox/SearchBox.js +31 -19
- package/cjs/components/Slider/Pit.js +2 -2
- package/cjs/components/Slider/Rheostat.js +13 -13
- package/cjs/components/Slider/Slider.js +19 -19
- package/cjs/components/Snippet/Snippet.js +3 -3
- package/cjs/components/Stats/Stats.js +6 -6
- package/cjs/components/Template/Template.js +18 -18
- package/cjs/components/ToggleRefinement/ToggleRefinement.js +2 -2
- package/cjs/components/VoiceSearch/VoiceSearch.js +1 -1
- package/cjs/connectors/answers/connectAnswers.js +2 -2
- package/cjs/connectors/autocomplete/connectAutocomplete.js +2 -2
- package/cjs/connectors/breadcrumb/connectBreadcrumb.js +6 -6
- package/cjs/connectors/chat/connectChat.js +29 -8
- package/cjs/connectors/clear-refinements/connectClearRefinements.js +7 -7
- package/cjs/connectors/configure/connectConfigure.js +3 -3
- package/cjs/connectors/configure-related-items/connectConfigureRelatedItems.js +8 -8
- package/cjs/connectors/current-refinements/connectCurrentRefinements.js +7 -7
- package/cjs/connectors/dynamic-widgets/connectDynamicWidgets.js +2 -2
- package/cjs/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.js +6 -3
- package/cjs/connectors/geo-search/connectGeoSearch.js +2 -2
- package/cjs/connectors/hierarchical-menu/connectHierarchicalMenu.js +28 -16
- package/cjs/connectors/hits/connectHits.js +2 -2
- package/cjs/connectors/hits/connectHitsWithInsights.js +1 -1
- package/cjs/connectors/hits-per-page/connectHitsPerPage.js +7 -7
- package/cjs/connectors/index.js +1 -1
- package/cjs/connectors/index.umd.js +1 -1
- package/cjs/connectors/infinite-hits/connectInfiniteHits.js +11 -11
- package/cjs/connectors/infinite-hits/connectInfiniteHitsWithInsights.js +1 -1
- package/cjs/connectors/looking-similar/connectLookingSimilar.js +3 -3
- package/cjs/connectors/menu/connectMenu.js +8 -8
- package/cjs/connectors/numeric-menu/connectNumericMenu.js +7 -7
- package/cjs/connectors/pagination/Paginator.js +5 -5
- package/cjs/connectors/pagination/connectPagination.js +3 -3
- package/cjs/connectors/powered-by/connectPoweredBy.js +2 -2
- package/cjs/connectors/query-rules/connectQueryRules.js +7 -7
- package/cjs/connectors/range/connectRange.js +22 -22
- package/cjs/connectors/rating-menu/connectRatingMenu.js +9 -9
- package/cjs/connectors/refinement-list/connectRefinementList.js +4 -4
- package/cjs/connectors/related-products/connectRelatedProducts.js +3 -3
- package/cjs/connectors/relevant-sort/connectRelevantSort.js +2 -2
- package/cjs/connectors/search-box/connectSearchBox.js +2 -2
- package/cjs/connectors/sort-by/connectSortBy.js +2 -2
- package/cjs/connectors/stats/connectStats.js +2 -2
- package/cjs/connectors/toggle-refinement/connectToggleRefinement.js +10 -10
- package/cjs/connectors/trending-items/connectTrendingItems.js +3 -3
- package/cjs/connectors/voice-search/connectVoiceSearch.js +3 -3
- package/cjs/helpers/components/Highlight.js +3 -3
- package/cjs/helpers/components/ReverseHighlight.js +5 -5
- package/cjs/helpers/components/ReverseSnippet.js +5 -5
- package/cjs/helpers/components/Snippet.js +3 -3
- package/cjs/helpers/index.js +2 -3
- package/cjs/index.js +2 -3
- package/cjs/lib/InstantSearch.js +13 -13
- package/cjs/lib/chat/chat.js +19 -19
- package/cjs/lib/createHelpers.js +2 -2
- package/cjs/lib/infiniteHitsCache/index.js +1 -1
- package/cjs/lib/infiniteHitsCache/sessionStorage.js +2 -2
- package/cjs/lib/insights/client.js +2 -2
- package/cjs/lib/insights/index.js +2 -3
- package/cjs/lib/routers/history.js +8 -8
- package/cjs/lib/routers/index.js +1 -1
- package/cjs/lib/server.js +2 -2
- package/cjs/lib/stateMappings/index.js +1 -1
- package/cjs/lib/stateMappings/simple.js +4 -4
- package/cjs/lib/stateMappings/singleIndex.js +4 -4
- package/cjs/lib/templating/prepareTemplateProps.js +7 -7
- package/cjs/lib/templating/renderTemplate.js +3 -3
- package/cjs/lib/utils/checkIndexUiState.js +14 -14
- package/cjs/lib/utils/createSendEventForFacet.js +6 -6
- package/cjs/lib/utils/createSendEventForHits.js +6 -6
- package/cjs/lib/utils/escape-highlight.js +4 -4
- package/cjs/lib/utils/geo-search.js +4 -4
- package/cjs/lib/utils/hits-absolute-position.js +2 -2
- package/cjs/lib/utils/hits-query-id.js +2 -2
- package/cjs/lib/utils/hydrateRecommendCache.js +2 -2
- package/cjs/lib/utils/hydrateSearchClient.js +6 -6
- package/cjs/lib/utils/mergeSearchParameters.js +4 -4
- package/cjs/lib/utils/range.js +5 -5
- package/cjs/lib/utils/reverseHighlightedParts.js +2 -2
- package/cjs/lib/version.js +1 -1
- package/cjs/lib/voiceSearchHelper/index.js +2 -2
- package/cjs/middlewares/createInsightsMiddleware.js +13 -13
- package/cjs/middlewares/createRouterMiddleware.js +3 -3
- package/cjs/templates/carousel/carousel.js +7 -7
- package/cjs/widgets/analytics/analytics.js +2 -2
- package/cjs/widgets/answers/answers.js +3 -3
- package/cjs/widgets/autocomplete/autocomplete.js +281 -0
- package/cjs/widgets/breadcrumb/breadcrumb.js +3 -3
- package/cjs/widgets/chat/chat.js +73 -76
- package/cjs/widgets/clear-refinements/clear-refinements.js +3 -3
- package/cjs/widgets/configure/configure.js +3 -3
- package/cjs/widgets/configure-related-items/configure-related-items.js +3 -3
- package/cjs/widgets/current-refinements/current-refinements.js +3 -3
- package/cjs/widgets/dynamic-widgets/dynamic-widgets.js +5 -5
- package/cjs/widgets/frequently-bought-together/frequently-bought-together.js +8 -6
- package/cjs/widgets/geo-search/GeoSearchRenderer.js +7 -7
- package/cjs/widgets/geo-search/createHTMLMarker.js +12 -12
- package/cjs/widgets/geo-search/geo-search.js +5 -5
- package/cjs/widgets/hierarchical-menu/hierarchical-menu.js +3 -3
- package/cjs/widgets/hits/hits.js +7 -7
- package/cjs/widgets/hits-per-page/hits-per-page.js +3 -3
- package/cjs/widgets/index/index.js +12 -10
- package/cjs/widgets/index.js +10 -2
- package/cjs/widgets/index.umd.js +10 -2
- package/cjs/widgets/infinite-hits/infinite-hits.js +3 -3
- package/cjs/widgets/looking-similar/looking-similar.js +6 -6
- package/cjs/widgets/menu/menu.js +3 -3
- package/cjs/widgets/menu-select/menu-select.js +3 -3
- package/cjs/widgets/numeric-menu/numeric-menu.js +3 -3
- package/cjs/widgets/pagination/pagination.js +3 -3
- package/cjs/widgets/panel/panel.js +3 -3
- package/cjs/widgets/places/places.js +4 -4
- package/cjs/widgets/powered-by/powered-by.js +3 -3
- package/cjs/widgets/query-rule-context/query-rule-context.js +3 -3
- package/cjs/widgets/query-rule-custom-data/query-rule-custom-data.js +3 -3
- package/cjs/widgets/range-input/range-input.js +7 -7
- package/cjs/widgets/range-slider/range-slider.js +7 -7
- package/cjs/widgets/rating-menu/rating-menu.js +3 -3
- package/cjs/widgets/refinement-list/refinement-list.js +3 -3
- package/cjs/widgets/related-products/related-products.js +6 -6
- package/cjs/widgets/relevant-sort/relevant-sort.js +3 -3
- package/cjs/widgets/search-box/search-box.js +3 -3
- package/cjs/widgets/sort-by/sort-by.js +3 -3
- package/cjs/widgets/stats/stats.js +3 -3
- package/cjs/widgets/toggle-refinement/toggle-refinement.js +3 -3
- package/cjs/widgets/trending-items/trending-items.js +6 -6
- package/cjs/widgets/voice-search/voice-search.js +3 -3
- package/dist/instantsearch.development.d.ts +90 -3
- package/dist/instantsearch.development.js +1338 -616
- package/dist/instantsearch.development.js.map +1 -1
- package/dist/instantsearch.production.d.ts +90 -3
- package/dist/instantsearch.production.min.d.ts +90 -3
- package/dist/instantsearch.production.min.js +2 -2
- package/dist/instantsearch.production.min.js.map +1 -1
- package/es/components/Answers/Answers.js +3 -3
- package/es/components/Breadcrumb/Breadcrumb.js +1 -1
- package/es/components/ClearRefinements/ClearRefinements.js +1 -1
- package/es/components/GeoSearchControls/GeoSearchControls.js +1 -1
- package/es/components/Highlight/Highlight.js +3 -3
- package/es/components/InfiniteHits/InfiniteHits.js +3 -3
- package/es/components/MenuSelect/MenuSelect.js +1 -1
- package/es/components/Panel/Panel.js +4 -4
- package/es/components/RangeInput/RangeInput.js +13 -13
- package/es/components/RefinementList/RefinementList.js +15 -15
- package/es/components/RefinementList/RefinementListItem.js +1 -1
- package/es/components/ReverseHighlight/ReverseHighlight.js +3 -3
- package/es/components/ReverseSnippet/ReverseSnippet.js +3 -3
- package/es/components/SearchBox/SearchBox.d.ts +4 -0
- package/es/components/SearchBox/SearchBox.js +30 -18
- package/es/components/Slider/Pit.js +2 -2
- package/es/components/Slider/Rheostat.js +13 -13
- package/es/components/Slider/Slider.js +18 -18
- package/es/components/Snippet/Snippet.js +3 -3
- package/es/components/Stats/Stats.js +5 -5
- package/es/components/Template/Template.js +18 -18
- package/es/components/ToggleRefinement/ToggleRefinement.js +1 -1
- package/es/connectors/answers/connectAnswers.js +2 -2
- package/es/connectors/autocomplete/connectAutocomplete.js +2 -2
- package/es/connectors/breadcrumb/connectBreadcrumb.js +6 -6
- package/es/connectors/chat/connectChat.d.ts +20 -0
- package/es/connectors/chat/connectChat.js +29 -8
- package/es/connectors/clear-refinements/connectClearRefinements.js +7 -7
- package/es/connectors/configure/connectConfigure.js +2 -2
- package/es/connectors/configure-related-items/connectConfigureRelatedItems.js +7 -7
- package/es/connectors/current-refinements/connectCurrentRefinements.js +7 -7
- package/es/connectors/dynamic-widgets/connectDynamicWidgets.js +2 -2
- package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.d.ts +4 -0
- package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.js +6 -3
- package/es/connectors/geo-search/connectGeoSearch.js +2 -2
- package/es/connectors/hierarchical-menu/connectHierarchicalMenu.js +28 -16
- package/es/connectors/hits/connectHits.js +2 -2
- package/es/connectors/hits-per-page/connectHitsPerPage.js +7 -7
- package/es/connectors/infinite-hits/connectInfiniteHits.js +11 -11
- package/es/connectors/looking-similar/connectLookingSimilar.js +3 -3
- package/es/connectors/menu/connectMenu.js +8 -8
- package/es/connectors/numeric-menu/connectNumericMenu.js +7 -7
- package/es/connectors/pagination/Paginator.js +5 -5
- package/es/connectors/pagination/connectPagination.js +2 -2
- package/es/connectors/powered-by/connectPoweredBy.js +2 -2
- package/es/connectors/query-rules/connectQueryRules.js +7 -7
- package/es/connectors/range/connectRange.js +22 -22
- package/es/connectors/rating-menu/connectRatingMenu.js +9 -9
- package/es/connectors/refinement-list/connectRefinementList.js +4 -4
- package/es/connectors/related-products/connectRelatedProducts.js +3 -3
- package/es/connectors/relevant-sort/connectRelevantSort.js +2 -2
- package/es/connectors/search-box/connectSearchBox.js +2 -2
- package/es/connectors/sort-by/connectSortBy.js +2 -2
- package/es/connectors/stats/connectStats.js +2 -2
- package/es/connectors/toggle-refinement/connectToggleRefinement.js +10 -10
- package/es/connectors/trending-items/connectTrendingItems.js +3 -3
- package/es/connectors/voice-search/connectVoiceSearch.js +2 -2
- package/es/helpers/components/Highlight.js +3 -3
- package/es/helpers/components/ReverseHighlight.js +5 -5
- package/es/helpers/components/ReverseSnippet.js +5 -5
- package/es/helpers/components/Snippet.js +3 -3
- package/es/lib/InstantSearch.d.ts +1 -1
- package/es/lib/InstantSearch.js +12 -12
- package/es/lib/chat/chat.js +19 -19
- package/es/lib/createHelpers.js +2 -2
- package/es/lib/infiniteHitsCache/sessionStorage.js +2 -2
- package/es/lib/insights/client.js +2 -2
- package/es/lib/routers/history.js +7 -7
- package/es/lib/server.js +2 -2
- package/es/lib/stateMappings/simple.js +4 -4
- package/es/lib/stateMappings/singleIndex.js +4 -4
- package/es/lib/templating/prepareTemplateProps.js +7 -7
- package/es/lib/templating/renderTemplate.js +2 -2
- package/es/lib/utils/checkIndexUiState.js +14 -14
- package/es/lib/utils/createSendEventForFacet.js +6 -6
- package/es/lib/utils/createSendEventForHits.js +6 -6
- package/es/lib/utils/escape-highlight.js +4 -4
- package/es/lib/utils/geo-search.js +4 -4
- package/es/lib/utils/hits-absolute-position.js +2 -2
- package/es/lib/utils/hits-query-id.js +2 -2
- package/es/lib/utils/hydrateRecommendCache.js +2 -2
- package/es/lib/utils/hydrateSearchClient.js +6 -6
- package/es/lib/utils/mergeSearchParameters.js +4 -4
- package/es/lib/utils/range.js +5 -5
- package/es/lib/utils/reverseHighlightedParts.js +2 -2
- package/es/lib/version.d.ts +1 -1
- package/es/lib/version.js +1 -1
- package/es/lib/voiceSearchHelper/index.js +2 -2
- package/es/middlewares/createInsightsMiddleware.js +13 -13
- package/es/middlewares/createRouterMiddleware.js +2 -2
- package/es/templates/carousel/carousel.js +7 -7
- package/es/types/widget.d.ts +8 -1
- package/es/widgets/analytics/analytics.js +2 -2
- package/es/widgets/answers/answers.js +2 -2
- package/es/widgets/autocomplete/autocomplete.d.ts +57 -0
- package/es/widgets/autocomplete/autocomplete.js +274 -0
- package/es/widgets/breadcrumb/breadcrumb.js +2 -2
- package/es/widgets/chat/chat.d.ts +4 -0
- package/es/widgets/chat/chat.js +72 -75
- package/es/widgets/clear-refinements/clear-refinements.js +2 -2
- package/es/widgets/configure/configure.js +2 -2
- package/es/widgets/configure-related-items/configure-related-items.js +2 -2
- package/es/widgets/current-refinements/current-refinements.js +2 -2
- package/es/widgets/dynamic-widgets/dynamic-widgets.js +4 -4
- package/es/widgets/frequently-bought-together/frequently-bought-together.js +7 -5
- package/es/widgets/geo-search/GeoSearchRenderer.js +6 -6
- package/es/widgets/geo-search/createHTMLMarker.js +12 -12
- package/es/widgets/geo-search/geo-search.js +4 -4
- package/es/widgets/hierarchical-menu/hierarchical-menu.js +2 -2
- package/es/widgets/hits/hits.js +6 -6
- package/es/widgets/hits-per-page/hits-per-page.js +2 -2
- package/es/widgets/index/index.d.ts +1 -1
- package/es/widgets/index/index.js +11 -9
- package/es/widgets/index.d.ts +1 -0
- package/es/widgets/index.js +1 -0
- package/es/widgets/index.umd.d.ts +1 -0
- package/es/widgets/index.umd.js +1 -0
- package/es/widgets/infinite-hits/infinite-hits.js +2 -2
- package/es/widgets/looking-similar/looking-similar.js +5 -5
- package/es/widgets/menu/menu.js +2 -2
- package/es/widgets/menu-select/menu-select.js +2 -2
- package/es/widgets/numeric-menu/numeric-menu.js +2 -2
- package/es/widgets/pagination/pagination.js +2 -2
- package/es/widgets/panel/panel.js +2 -2
- package/es/widgets/places/places.js +4 -4
- package/es/widgets/powered-by/powered-by.js +2 -2
- package/es/widgets/query-rule-context/query-rule-context.js +2 -2
- package/es/widgets/query-rule-custom-data/query-rule-custom-data.js +2 -2
- package/es/widgets/range-input/range-input.js +6 -6
- package/es/widgets/range-slider/range-slider.js +6 -6
- package/es/widgets/rating-menu/rating-menu.js +2 -2
- package/es/widgets/refinement-list/refinement-list.js +2 -2
- package/es/widgets/related-products/related-products.js +5 -5
- package/es/widgets/relevant-sort/relevant-sort.js +2 -2
- package/es/widgets/search-box/search-box.js +2 -2
- package/es/widgets/sort-by/sort-by.js +2 -2
- package/es/widgets/stats/stats.js +2 -2
- package/es/widgets/toggle-refinement/toggle-refinement.js +2 -2
- package/es/widgets/trending-items/trending-items.js +5 -5
- package/es/widgets/voice-search/voice-search.js +2 -2
- package/package.json +6 -6
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { AbstractChat } from 'ai';
|
|
2
2
|
import { AlgoliaSearchHelper } from 'algoliasearch-helper';
|
|
3
|
+
import type { AutocompleteClassNames } from 'instantsearch-ui-components';
|
|
4
|
+
import type { AutocompleteIndexClassNames } from 'instantsearch-ui-components';
|
|
5
|
+
import type { AutocompleteIndexConfig } from 'instantsearch-ui-components';
|
|
3
6
|
import { Banner } from 'algoliasearch-helper';
|
|
4
7
|
import type { CarouselProps } from 'instantsearch-ui-components';
|
|
5
8
|
import { CompositionClient } from 'algoliasearch-helper/types/algoliasearch.js';
|
|
@@ -30,6 +33,7 @@ import { SearchParameters } from 'algoliasearch-helper';
|
|
|
30
33
|
import { SearchResults } from 'algoliasearch-helper';
|
|
31
34
|
import type { TrendingItemsProps } from 'instantsearch-ui-components';
|
|
32
35
|
import type { UIMessage } from 'ai';
|
|
36
|
+
import type { UserClientSideTool } from 'instantsearch-ui-components';
|
|
33
37
|
import { VNode } from 'preact';
|
|
34
38
|
import type { VNode as VNode_2 } from 'instantsearch-ui-components';
|
|
35
39
|
|
|
@@ -267,6 +271,8 @@ declare type AutocompleteConnectorParams = {
|
|
|
267
271
|
escapeHTML?: boolean;
|
|
268
272
|
};
|
|
269
273
|
|
|
274
|
+
declare type AutocompleteCSSClasses = Partial<AutocompleteClassNames>;
|
|
275
|
+
|
|
270
276
|
declare type AutocompleteRenderState = {
|
|
271
277
|
/**
|
|
272
278
|
* The current value of the query.
|
|
@@ -303,6 +309,8 @@ declare type AutocompleteRenderState = {
|
|
|
303
309
|
refine: (query: string) => void;
|
|
304
310
|
};
|
|
305
311
|
|
|
312
|
+
declare type AutocompleteTemplates<TItem extends BaseHit> = Partial<Record<string, TItem>>;
|
|
313
|
+
|
|
306
314
|
declare type AutocompleteWidgetDescription = {
|
|
307
315
|
$$type: 'ais.autocomplete';
|
|
308
316
|
renderState: AutocompleteRenderState;
|
|
@@ -314,6 +322,33 @@ declare type AutocompleteWidgetDescription = {
|
|
|
314
322
|
};
|
|
315
323
|
};
|
|
316
324
|
|
|
325
|
+
declare type AutocompleteWidgetParams<TItem extends BaseHit> = {
|
|
326
|
+
/**
|
|
327
|
+
* CSS Selector or HTMLElement to insert the widget.
|
|
328
|
+
*/
|
|
329
|
+
container: string | HTMLElement;
|
|
330
|
+
/**
|
|
331
|
+
* Indices to use in the Autocomplete.
|
|
332
|
+
*/
|
|
333
|
+
indices?: Array<IndexConfig<TItem>>;
|
|
334
|
+
/**
|
|
335
|
+
* Index to use for retrieving and showing query suggestions.
|
|
336
|
+
*/
|
|
337
|
+
showSuggestions?: Partial<Pick<IndexConfig<{
|
|
338
|
+
query: string;
|
|
339
|
+
}>, 'indexName' | 'getURL' | 'templates' | 'cssClasses'>>;
|
|
340
|
+
getSearchPageURL?: (nextUiState: IndexUiState) => string;
|
|
341
|
+
onSelect?: AutocompleteIndexConfig<TItem>['onSelect'];
|
|
342
|
+
/**
|
|
343
|
+
* Templates to use for the widget.
|
|
344
|
+
*/
|
|
345
|
+
templates?: AutocompleteTemplates<TItem>;
|
|
346
|
+
/**
|
|
347
|
+
* CSS classes to add.
|
|
348
|
+
*/
|
|
349
|
+
cssClasses?: AutocompleteCSSClasses;
|
|
350
|
+
};
|
|
351
|
+
|
|
317
352
|
declare type BaseHit = Record<string, any>;
|
|
318
353
|
|
|
319
354
|
declare type BindEventForHits = BuiltInBindEventForHits & CustomBindEventForHits;
|
|
@@ -595,6 +630,22 @@ declare type ChatRenderState<TUiMessage extends UIMessage = UIMessage> = {
|
|
|
595
630
|
* manually to regenerate the AI response.
|
|
596
631
|
*/
|
|
597
632
|
setMessages: (messages: TUiMessage[] | ((m: TUiMessage[]) => TUiMessage[])) => void;
|
|
633
|
+
/**
|
|
634
|
+
* Whether the chat is in the process of clearing messages.
|
|
635
|
+
*/
|
|
636
|
+
isClearing: boolean;
|
|
637
|
+
/**
|
|
638
|
+
* Clear all messages.
|
|
639
|
+
*/
|
|
640
|
+
clearMessages: () => void;
|
|
641
|
+
/**
|
|
642
|
+
* Callback to be called when the clear transition ends.
|
|
643
|
+
*/
|
|
644
|
+
onClearTransitionEnd: () => void;
|
|
645
|
+
/**
|
|
646
|
+
* Tools configuration passed to the connector.
|
|
647
|
+
*/
|
|
648
|
+
tools: Record<string, Omit<UserClientSideTool, 'layoutComponent'>>;
|
|
598
649
|
} & Pick<AbstractChat<TUiMessage>, 'addToolResult' | 'clearError' | 'error' | 'id' | 'messages' | 'regenerate' | 'resumeStream' | 'sendMessage' | 'status' | 'stop'>;
|
|
599
650
|
|
|
600
651
|
declare type ChatWidgetDescription<TUiMessage extends UIMessage = UIMessage> = {
|
|
@@ -3866,6 +3917,10 @@ declare type Expand<T> = T extends infer O ? {
|
|
|
3866
3917
|
/** @deprecated answers is no longer supported */
|
|
3867
3918
|
declare const EXPERIMENTAL_answers: AnswersWidget;
|
|
3868
3919
|
|
|
3920
|
+
declare function EXPERIMENTAL_autocomplete<TItem extends BaseHit = BaseHit>(widgetParams: AutocompleteWidgetParams<TItem> & AutocompleteConnectorParams): (IndexWidget<UiState> | Widget<SearchBoxWidgetDescription & {
|
|
3921
|
+
widgetParams: SearchBoxConnectorParams & object;
|
|
3922
|
+
}>)[];
|
|
3923
|
+
|
|
3869
3924
|
/** @deprecated use relatedItems instead */
|
|
3870
3925
|
declare const EXPERIMENTAL_configureRelatedItems: ConfigureRelatedItemsWidget;
|
|
3871
3926
|
|
|
@@ -3892,6 +3947,10 @@ declare type FrequentlyBoughtTogetherConnectorParams<THit extends NonNullable<ob
|
|
|
3892
3947
|
* Threshold for the recommendations confidence score (between 0 and 100). Only recommendations with a greater score are returned.
|
|
3893
3948
|
*/
|
|
3894
3949
|
threshold?: number;
|
|
3950
|
+
/**
|
|
3951
|
+
* List of search parameters to send.
|
|
3952
|
+
*/
|
|
3953
|
+
fallbackParameters?: Omit<PlainSearchParameters, 'page' | 'hitsPerPage' | 'offset' | 'length'>;
|
|
3895
3954
|
/**
|
|
3896
3955
|
* The maximum number of recommendations to return.
|
|
3897
3956
|
*/
|
|
@@ -4794,6 +4853,25 @@ declare type HTMLMarkerArguments = {
|
|
|
4794
4853
|
|
|
4795
4854
|
declare const index: (widgetParams: IndexWidgetParams) => IndexWidget;
|
|
4796
4855
|
|
|
4856
|
+
declare type IndexConfig<TItem extends BaseHit> = AutocompleteIndexConfig<TItem> & {
|
|
4857
|
+
templates?: Partial<{
|
|
4858
|
+
/**
|
|
4859
|
+
* Template to use for the header, before the list of items.
|
|
4860
|
+
*/
|
|
4861
|
+
header: Template<{
|
|
4862
|
+
items: TItem[];
|
|
4863
|
+
}>;
|
|
4864
|
+
/**
|
|
4865
|
+
* Template to use for each result. This template will receive an object containing a single record.
|
|
4866
|
+
*/
|
|
4867
|
+
item: Template<{
|
|
4868
|
+
item: TItem;
|
|
4869
|
+
onSelect: () => void;
|
|
4870
|
+
}>;
|
|
4871
|
+
}>;
|
|
4872
|
+
cssClasses?: Partial<AutocompleteIndexClassNames>;
|
|
4873
|
+
};
|
|
4874
|
+
|
|
4797
4875
|
declare type IndexInitOptions = {
|
|
4798
4876
|
instantSearchInstance: InstantSearch;
|
|
4799
4877
|
parent: IndexWidget | null;
|
|
@@ -4821,7 +4899,7 @@ declare type IndexWidget<TUiState extends UiState = UiState> = Omit<Widget<Index
|
|
|
4821
4899
|
getParent: () => IndexWidget | null;
|
|
4822
4900
|
getWidgets: () => Array<Widget | IndexWidget>;
|
|
4823
4901
|
createURL: (nextState: SearchParameters | ((state: IndexUiState) => IndexUiState)) => string;
|
|
4824
|
-
addWidgets: (widgets: Array<Widget | IndexWidget | Widget
|
|
4902
|
+
addWidgets: (widgets: Array<Widget | IndexWidget | Array<IndexWidget | Widget>>) => IndexWidget;
|
|
4825
4903
|
removeWidgets: (widgets: Array<Widget | IndexWidget | Widget[]>) => IndexWidget;
|
|
4826
4904
|
init: (options: IndexInitOptions) => void;
|
|
4827
4905
|
render: (options: IndexRenderOptions) => void;
|
|
@@ -5232,7 +5310,7 @@ declare class InstantSearch<TUiState extends UiState = UiState, TRouteState = TU
|
|
|
5232
5310
|
* Widgets can be added either before or after InstantSearch has started.
|
|
5233
5311
|
* @param widgets The array of widgets to add to InstantSearch.
|
|
5234
5312
|
*/
|
|
5235
|
-
addWidgets(widgets: Array<Widget | IndexWidget | Widget
|
|
5313
|
+
addWidgets(widgets: Array<Widget | IndexWidget | Array<IndexWidget | Widget>>): this;
|
|
5236
5314
|
/**
|
|
5237
5315
|
* Removes a widget from the search instance.
|
|
5238
5316
|
* @deprecated This method will still be supported in 4.x releases, but not further. It is replaced by `removeWidgets([widget])`
|
|
@@ -6302,6 +6380,14 @@ declare type ParamTrackedFilters = {
|
|
|
6302
6380
|
|
|
6303
6381
|
declare type ParamTransformRuleContexts = (ruleContexts: string[]) => string[];
|
|
6304
6382
|
|
|
6383
|
+
declare type Parent = {
|
|
6384
|
+
/**
|
|
6385
|
+
* This gets dynamically added by the `index` widget.
|
|
6386
|
+
* If the widget has gone through `addWidget`, it will have a parent.
|
|
6387
|
+
*/
|
|
6388
|
+
parent?: IndexWidget;
|
|
6389
|
+
};
|
|
6390
|
+
|
|
6305
6391
|
declare type ParseURL<TRouteState> = (args: {
|
|
6306
6392
|
qsModule: typeof qs_2;
|
|
6307
6393
|
location: Location;
|
|
@@ -8634,7 +8720,7 @@ declare type VoiceSearchWidgetParams = {
|
|
|
8634
8720
|
|
|
8635
8721
|
declare type Widget<TWidgetDescription extends WidgetDescription & WidgetParams = {
|
|
8636
8722
|
$$type: string;
|
|
8637
|
-
}> = Expand<RequiredWidgetLifeCycle<TWidgetDescription> & WidgetType<TWidgetDescription> & UiStateLifeCycle<TWidgetDescription> & RenderStateLifeCycle<TWidgetDescription>> & (SearchWidget<TWidgetDescription> | RecommendWidget<TWidgetDescription>);
|
|
8723
|
+
}> = Expand<Parent & RequiredWidgetLifeCycle<TWidgetDescription> & WidgetType<TWidgetDescription> & UiStateLifeCycle<TWidgetDescription> & RenderStateLifeCycle<TWidgetDescription>> & (SearchWidget<TWidgetDescription> | RecommendWidget<TWidgetDescription>);
|
|
8638
8724
|
|
|
8639
8725
|
declare type WidgetDescription = {
|
|
8640
8726
|
$$type: string;
|
|
@@ -8672,6 +8758,7 @@ declare namespace widgets {
|
|
|
8672
8758
|
EXPERIMENTAL_dynamicWidgets,
|
|
8673
8759
|
dynamicWidgets,
|
|
8674
8760
|
analytics,
|
|
8761
|
+
EXPERIMENTAL_autocomplete,
|
|
8675
8762
|
breadcrumb,
|
|
8676
8763
|
clearRefinements,
|
|
8677
8764
|
configure,
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { AbstractChat } from 'ai';
|
|
2
2
|
import { AlgoliaSearchHelper } from 'algoliasearch-helper';
|
|
3
|
+
import type { AutocompleteClassNames } from 'instantsearch-ui-components';
|
|
4
|
+
import type { AutocompleteIndexClassNames } from 'instantsearch-ui-components';
|
|
5
|
+
import type { AutocompleteIndexConfig } from 'instantsearch-ui-components';
|
|
3
6
|
import { Banner } from 'algoliasearch-helper';
|
|
4
7
|
import type { CarouselProps } from 'instantsearch-ui-components';
|
|
5
8
|
import { CompositionClient } from 'algoliasearch-helper/types/algoliasearch.js';
|
|
@@ -30,6 +33,7 @@ import { SearchParameters } from 'algoliasearch-helper';
|
|
|
30
33
|
import { SearchResults } from 'algoliasearch-helper';
|
|
31
34
|
import type { TrendingItemsProps } from 'instantsearch-ui-components';
|
|
32
35
|
import type { UIMessage } from 'ai';
|
|
36
|
+
import type { UserClientSideTool } from 'instantsearch-ui-components';
|
|
33
37
|
import { VNode } from 'preact';
|
|
34
38
|
import type { VNode as VNode_2 } from 'instantsearch-ui-components';
|
|
35
39
|
|
|
@@ -267,6 +271,8 @@ declare type AutocompleteConnectorParams = {
|
|
|
267
271
|
escapeHTML?: boolean;
|
|
268
272
|
};
|
|
269
273
|
|
|
274
|
+
declare type AutocompleteCSSClasses = Partial<AutocompleteClassNames>;
|
|
275
|
+
|
|
270
276
|
declare type AutocompleteRenderState = {
|
|
271
277
|
/**
|
|
272
278
|
* The current value of the query.
|
|
@@ -303,6 +309,8 @@ declare type AutocompleteRenderState = {
|
|
|
303
309
|
refine: (query: string) => void;
|
|
304
310
|
};
|
|
305
311
|
|
|
312
|
+
declare type AutocompleteTemplates<TItem extends BaseHit> = Partial<Record<string, TItem>>;
|
|
313
|
+
|
|
306
314
|
declare type AutocompleteWidgetDescription = {
|
|
307
315
|
$$type: 'ais.autocomplete';
|
|
308
316
|
renderState: AutocompleteRenderState;
|
|
@@ -314,6 +322,33 @@ declare type AutocompleteWidgetDescription = {
|
|
|
314
322
|
};
|
|
315
323
|
};
|
|
316
324
|
|
|
325
|
+
declare type AutocompleteWidgetParams<TItem extends BaseHit> = {
|
|
326
|
+
/**
|
|
327
|
+
* CSS Selector or HTMLElement to insert the widget.
|
|
328
|
+
*/
|
|
329
|
+
container: string | HTMLElement;
|
|
330
|
+
/**
|
|
331
|
+
* Indices to use in the Autocomplete.
|
|
332
|
+
*/
|
|
333
|
+
indices?: Array<IndexConfig<TItem>>;
|
|
334
|
+
/**
|
|
335
|
+
* Index to use for retrieving and showing query suggestions.
|
|
336
|
+
*/
|
|
337
|
+
showSuggestions?: Partial<Pick<IndexConfig<{
|
|
338
|
+
query: string;
|
|
339
|
+
}>, 'indexName' | 'getURL' | 'templates' | 'cssClasses'>>;
|
|
340
|
+
getSearchPageURL?: (nextUiState: IndexUiState) => string;
|
|
341
|
+
onSelect?: AutocompleteIndexConfig<TItem>['onSelect'];
|
|
342
|
+
/**
|
|
343
|
+
* Templates to use for the widget.
|
|
344
|
+
*/
|
|
345
|
+
templates?: AutocompleteTemplates<TItem>;
|
|
346
|
+
/**
|
|
347
|
+
* CSS classes to add.
|
|
348
|
+
*/
|
|
349
|
+
cssClasses?: AutocompleteCSSClasses;
|
|
350
|
+
};
|
|
351
|
+
|
|
317
352
|
declare type BaseHit = Record<string, any>;
|
|
318
353
|
|
|
319
354
|
declare type BindEventForHits = BuiltInBindEventForHits & CustomBindEventForHits;
|
|
@@ -595,6 +630,22 @@ declare type ChatRenderState<TUiMessage extends UIMessage = UIMessage> = {
|
|
|
595
630
|
* manually to regenerate the AI response.
|
|
596
631
|
*/
|
|
597
632
|
setMessages: (messages: TUiMessage[] | ((m: TUiMessage[]) => TUiMessage[])) => void;
|
|
633
|
+
/**
|
|
634
|
+
* Whether the chat is in the process of clearing messages.
|
|
635
|
+
*/
|
|
636
|
+
isClearing: boolean;
|
|
637
|
+
/**
|
|
638
|
+
* Clear all messages.
|
|
639
|
+
*/
|
|
640
|
+
clearMessages: () => void;
|
|
641
|
+
/**
|
|
642
|
+
* Callback to be called when the clear transition ends.
|
|
643
|
+
*/
|
|
644
|
+
onClearTransitionEnd: () => void;
|
|
645
|
+
/**
|
|
646
|
+
* Tools configuration passed to the connector.
|
|
647
|
+
*/
|
|
648
|
+
tools: Record<string, Omit<UserClientSideTool, 'layoutComponent'>>;
|
|
598
649
|
} & Pick<AbstractChat<TUiMessage>, 'addToolResult' | 'clearError' | 'error' | 'id' | 'messages' | 'regenerate' | 'resumeStream' | 'sendMessage' | 'status' | 'stop'>;
|
|
599
650
|
|
|
600
651
|
declare type ChatWidgetDescription<TUiMessage extends UIMessage = UIMessage> = {
|
|
@@ -3866,6 +3917,10 @@ declare type Expand<T> = T extends infer O ? {
|
|
|
3866
3917
|
/** @deprecated answers is no longer supported */
|
|
3867
3918
|
declare const EXPERIMENTAL_answers: AnswersWidget;
|
|
3868
3919
|
|
|
3920
|
+
declare function EXPERIMENTAL_autocomplete<TItem extends BaseHit = BaseHit>(widgetParams: AutocompleteWidgetParams<TItem> & AutocompleteConnectorParams): (IndexWidget<UiState> | Widget<SearchBoxWidgetDescription & {
|
|
3921
|
+
widgetParams: SearchBoxConnectorParams & object;
|
|
3922
|
+
}>)[];
|
|
3923
|
+
|
|
3869
3924
|
/** @deprecated use relatedItems instead */
|
|
3870
3925
|
declare const EXPERIMENTAL_configureRelatedItems: ConfigureRelatedItemsWidget;
|
|
3871
3926
|
|
|
@@ -3892,6 +3947,10 @@ declare type FrequentlyBoughtTogetherConnectorParams<THit extends NonNullable<ob
|
|
|
3892
3947
|
* Threshold for the recommendations confidence score (between 0 and 100). Only recommendations with a greater score are returned.
|
|
3893
3948
|
*/
|
|
3894
3949
|
threshold?: number;
|
|
3950
|
+
/**
|
|
3951
|
+
* List of search parameters to send.
|
|
3952
|
+
*/
|
|
3953
|
+
fallbackParameters?: Omit<PlainSearchParameters, 'page' | 'hitsPerPage' | 'offset' | 'length'>;
|
|
3895
3954
|
/**
|
|
3896
3955
|
* The maximum number of recommendations to return.
|
|
3897
3956
|
*/
|
|
@@ -4794,6 +4853,25 @@ declare type HTMLMarkerArguments = {
|
|
|
4794
4853
|
|
|
4795
4854
|
declare const index: (widgetParams: IndexWidgetParams) => IndexWidget;
|
|
4796
4855
|
|
|
4856
|
+
declare type IndexConfig<TItem extends BaseHit> = AutocompleteIndexConfig<TItem> & {
|
|
4857
|
+
templates?: Partial<{
|
|
4858
|
+
/**
|
|
4859
|
+
* Template to use for the header, before the list of items.
|
|
4860
|
+
*/
|
|
4861
|
+
header: Template<{
|
|
4862
|
+
items: TItem[];
|
|
4863
|
+
}>;
|
|
4864
|
+
/**
|
|
4865
|
+
* Template to use for each result. This template will receive an object containing a single record.
|
|
4866
|
+
*/
|
|
4867
|
+
item: Template<{
|
|
4868
|
+
item: TItem;
|
|
4869
|
+
onSelect: () => void;
|
|
4870
|
+
}>;
|
|
4871
|
+
}>;
|
|
4872
|
+
cssClasses?: Partial<AutocompleteIndexClassNames>;
|
|
4873
|
+
};
|
|
4874
|
+
|
|
4797
4875
|
declare type IndexInitOptions = {
|
|
4798
4876
|
instantSearchInstance: InstantSearch;
|
|
4799
4877
|
parent: IndexWidget | null;
|
|
@@ -4821,7 +4899,7 @@ declare type IndexWidget<TUiState extends UiState = UiState> = Omit<Widget<Index
|
|
|
4821
4899
|
getParent: () => IndexWidget | null;
|
|
4822
4900
|
getWidgets: () => Array<Widget | IndexWidget>;
|
|
4823
4901
|
createURL: (nextState: SearchParameters | ((state: IndexUiState) => IndexUiState)) => string;
|
|
4824
|
-
addWidgets: (widgets: Array<Widget | IndexWidget | Widget
|
|
4902
|
+
addWidgets: (widgets: Array<Widget | IndexWidget | Array<IndexWidget | Widget>>) => IndexWidget;
|
|
4825
4903
|
removeWidgets: (widgets: Array<Widget | IndexWidget | Widget[]>) => IndexWidget;
|
|
4826
4904
|
init: (options: IndexInitOptions) => void;
|
|
4827
4905
|
render: (options: IndexRenderOptions) => void;
|
|
@@ -5232,7 +5310,7 @@ declare class InstantSearch<TUiState extends UiState = UiState, TRouteState = TU
|
|
|
5232
5310
|
* Widgets can be added either before or after InstantSearch has started.
|
|
5233
5311
|
* @param widgets The array of widgets to add to InstantSearch.
|
|
5234
5312
|
*/
|
|
5235
|
-
addWidgets(widgets: Array<Widget | IndexWidget | Widget
|
|
5313
|
+
addWidgets(widgets: Array<Widget | IndexWidget | Array<IndexWidget | Widget>>): this;
|
|
5236
5314
|
/**
|
|
5237
5315
|
* Removes a widget from the search instance.
|
|
5238
5316
|
* @deprecated This method will still be supported in 4.x releases, but not further. It is replaced by `removeWidgets([widget])`
|
|
@@ -6302,6 +6380,14 @@ declare type ParamTrackedFilters = {
|
|
|
6302
6380
|
|
|
6303
6381
|
declare type ParamTransformRuleContexts = (ruleContexts: string[]) => string[];
|
|
6304
6382
|
|
|
6383
|
+
declare type Parent = {
|
|
6384
|
+
/**
|
|
6385
|
+
* This gets dynamically added by the `index` widget.
|
|
6386
|
+
* If the widget has gone through `addWidget`, it will have a parent.
|
|
6387
|
+
*/
|
|
6388
|
+
parent?: IndexWidget;
|
|
6389
|
+
};
|
|
6390
|
+
|
|
6305
6391
|
declare type ParseURL<TRouteState> = (args: {
|
|
6306
6392
|
qsModule: typeof qs_2;
|
|
6307
6393
|
location: Location;
|
|
@@ -8634,7 +8720,7 @@ declare type VoiceSearchWidgetParams = {
|
|
|
8634
8720
|
|
|
8635
8721
|
declare type Widget<TWidgetDescription extends WidgetDescription & WidgetParams = {
|
|
8636
8722
|
$$type: string;
|
|
8637
|
-
}> = Expand<RequiredWidgetLifeCycle<TWidgetDescription> & WidgetType<TWidgetDescription> & UiStateLifeCycle<TWidgetDescription> & RenderStateLifeCycle<TWidgetDescription>> & (SearchWidget<TWidgetDescription> | RecommendWidget<TWidgetDescription>);
|
|
8723
|
+
}> = Expand<Parent & RequiredWidgetLifeCycle<TWidgetDescription> & WidgetType<TWidgetDescription> & UiStateLifeCycle<TWidgetDescription> & RenderStateLifeCycle<TWidgetDescription>> & (SearchWidget<TWidgetDescription> | RecommendWidget<TWidgetDescription>);
|
|
8638
8724
|
|
|
8639
8725
|
declare type WidgetDescription = {
|
|
8640
8726
|
$$type: string;
|
|
@@ -8672,6 +8758,7 @@ declare namespace widgets {
|
|
|
8672
8758
|
EXPERIMENTAL_dynamicWidgets,
|
|
8673
8759
|
dynamicWidgets,
|
|
8674
8760
|
analytics,
|
|
8761
|
+
EXPERIMENTAL_autocomplete,
|
|
8675
8762
|
breadcrumb,
|
|
8676
8763
|
clearRefinements,
|
|
8677
8764
|
configure,
|