instantsearch.js 4.79.2 → 4.81.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.
Files changed (69) hide show
  1. package/cjs/components/Template/Template.js +1 -1
  2. package/cjs/connectors/chat/connectChat.js +200 -0
  3. package/cjs/connectors/index.js +7 -0
  4. package/cjs/connectors/index.umd.js +239 -0
  5. package/cjs/index.js +2 -2
  6. package/cjs/lib/InstantSearch.js +2 -10
  7. package/cjs/lib/chat/chat.js +177 -0
  8. package/cjs/lib/chat/index.js +27 -0
  9. package/cjs/lib/useStickToBottom.js +20 -0
  10. package/cjs/lib/version.js +1 -1
  11. package/cjs/templates/carousel/carousel.js +31 -4
  12. package/cjs/widgets/chat/chat.js +615 -0
  13. package/cjs/widgets/index/index.js +78 -24
  14. package/cjs/widgets/index.js +7 -0
  15. package/cjs/widgets/index.umd.js +267 -0
  16. package/dist/instantsearch.development.d.ts +123 -15
  17. package/dist/instantsearch.development.js +186 -91
  18. package/dist/instantsearch.development.js.map +1 -1
  19. package/dist/instantsearch.production.d.ts +123 -15
  20. package/dist/instantsearch.production.min.d.ts +123 -15
  21. package/dist/instantsearch.production.min.js +2 -2
  22. package/dist/instantsearch.production.min.js.map +1 -1
  23. package/es/components/Template/Template.js +1 -1
  24. package/es/connectors/chat/connectChat.d.ts +413 -0
  25. package/es/connectors/chat/connectChat.js +194 -0
  26. package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.d.ts +2 -0
  27. package/es/connectors/geo-search/connectGeoSearch.d.ts +1 -0
  28. package/es/connectors/hits/connectHits.d.ts +1 -0
  29. package/es/connectors/hits/connectHitsWithInsights.d.ts +1 -0
  30. package/es/connectors/index.d.ts +1 -0
  31. package/es/connectors/index.js +2 -1
  32. package/es/connectors/index.umd.d.ts +39 -0
  33. package/es/connectors/index.umd.js +47 -0
  34. package/es/connectors/infinite-hits/connectInfiniteHits.d.ts +1 -0
  35. package/es/connectors/infinite-hits/connectInfiniteHitsWithInsights.d.ts +1 -0
  36. package/es/connectors/looking-similar/connectLookingSimilar.d.ts +2 -0
  37. package/es/connectors/related-products/connectRelatedProducts.d.ts +2 -0
  38. package/es/connectors/trending-items/connectTrendingItems.d.ts +2 -0
  39. package/es/lib/InstantSearch.d.ts +2 -2
  40. package/es/lib/InstantSearch.js +2 -10
  41. package/es/lib/chat/chat.d.ts +40 -0
  42. package/es/lib/chat/chat.js +166 -0
  43. package/es/lib/chat/index.d.ts +7 -0
  44. package/es/lib/chat/index.js +5 -0
  45. package/es/lib/useStickToBottom.d.ts +1 -0
  46. package/es/lib/useStickToBottom.js +14 -0
  47. package/es/lib/version.d.ts +1 -1
  48. package/es/lib/version.js +1 -1
  49. package/es/templates/carousel/carousel.d.ts +10 -3
  50. package/es/templates/carousel/carousel.js +32 -5
  51. package/es/types/render-state.d.ts +2 -1
  52. package/es/types/templates.d.ts +1 -1
  53. package/es/types/widget.d.ts +2 -2
  54. package/es/widgets/chat/chat.d.ts +555 -0
  55. package/es/widgets/chat/chat.js +597 -0
  56. package/es/widgets/frequently-bought-together/frequently-bought-together.d.ts +3 -1
  57. package/es/widgets/geo-search/geo-search.d.ts +1 -0
  58. package/es/widgets/hits/hits.d.ts +1 -0
  59. package/es/widgets/index/index.d.ts +46 -2
  60. package/es/widgets/index/index.js +78 -24
  61. package/es/widgets/index.d.ts +1 -0
  62. package/es/widgets/index.js +2 -1
  63. package/es/widgets/index.umd.d.ts +44 -0
  64. package/es/widgets/index.umd.js +51 -0
  65. package/es/widgets/infinite-hits/infinite-hits.d.ts +1 -0
  66. package/es/widgets/looking-similar/looking-similar.d.ts +3 -1
  67. package/es/widgets/related-products/related-products.d.ts +3 -1
  68. package/es/widgets/trending-items/trending-items.d.ts +3 -1
  69. package/package.json +11 -7
@@ -1,6 +1,7 @@
1
1
  import type { AnswersWidgetDescription } from '../connectors/answers/connectAnswers';
2
2
  import type { AutocompleteWidgetDescription } from '../connectors/autocomplete/connectAutocomplete';
3
3
  import type { BreadcrumbWidgetDescription } from '../connectors/breadcrumb/connectBreadcrumb';
4
+ import type { ChatWidgetDescription } from '../connectors/chat/connectChat';
4
5
  import type { ClearRefinementsWidgetDescription } from '../connectors/clear-refinements/connectClearRefinements';
5
6
  import type { ConfigureWidgetDescription } from '../connectors/configure/connectConfigure';
6
7
  import type { CurrentRefinementsWidgetDescription } from '../connectors/current-refinements/connectCurrentRefinements';
@@ -25,7 +26,7 @@ import type { ToggleRefinementWidgetDescription } from '../connectors/toggle-ref
25
26
  import type { VoiceSearchWidgetDescription } from '../connectors/voice-search/connectVoiceSearch';
26
27
  import type { AnalyticsWidgetDescription } from '../widgets/analytics/analytics';
27
28
  import type { PlacesWidgetDescription } from '../widgets/places/places';
28
- type ConnectorRenderStates = AnswersWidgetDescription['indexRenderState'] & AutocompleteWidgetDescription['indexRenderState'] & BreadcrumbWidgetDescription['indexRenderState'] & ClearRefinementsWidgetDescription['indexRenderState'] & ConfigureWidgetDescription['indexRenderState'] & CurrentRefinementsWidgetDescription['indexRenderState'] & GeoSearchWidgetDescription['indexRenderState'] & HierarchicalMenuWidgetDescription['indexRenderState'] & HitsWidgetDescription['indexRenderState'] & HitsPerPageWidgetDescription['indexRenderState'] & InfiniteHitsWidgetDescription['indexRenderState'] & MenuWidgetDescription['indexRenderState'] & NumericMenuWidgetDescription['indexRenderState'] & PaginationWidgetDescription['indexRenderState'] & PoweredByWidgetDescription['indexRenderState'] & QueryRulesWidgetDescription['indexRenderState'] & RangeWidgetDescription['indexRenderState'] & RatingMenuWidgetDescription['indexRenderState'] & RefinementListWidgetDescription['indexRenderState'] & RelevantSortWidgetDescription['indexRenderState'] & SearchBoxWidgetDescription['indexRenderState'] & SortByWidgetDescription['indexRenderState'] & StatsWidgetDescription['indexRenderState'] & ToggleRefinementWidgetDescription['indexRenderState'] & VoiceSearchWidgetDescription['indexRenderState'];
29
+ type ConnectorRenderStates = AnswersWidgetDescription['indexRenderState'] & AutocompleteWidgetDescription['indexRenderState'] & BreadcrumbWidgetDescription['indexRenderState'] & ChatWidgetDescription['indexRenderState'] & ClearRefinementsWidgetDescription['indexRenderState'] & ConfigureWidgetDescription['indexRenderState'] & CurrentRefinementsWidgetDescription['indexRenderState'] & GeoSearchWidgetDescription['indexRenderState'] & HierarchicalMenuWidgetDescription['indexRenderState'] & HitsWidgetDescription['indexRenderState'] & HitsPerPageWidgetDescription['indexRenderState'] & InfiniteHitsWidgetDescription['indexRenderState'] & MenuWidgetDescription['indexRenderState'] & NumericMenuWidgetDescription['indexRenderState'] & PaginationWidgetDescription['indexRenderState'] & PoweredByWidgetDescription['indexRenderState'] & QueryRulesWidgetDescription['indexRenderState'] & RangeWidgetDescription['indexRenderState'] & RatingMenuWidgetDescription['indexRenderState'] & RefinementListWidgetDescription['indexRenderState'] & RelevantSortWidgetDescription['indexRenderState'] & SearchBoxWidgetDescription['indexRenderState'] & SortByWidgetDescription['indexRenderState'] & StatsWidgetDescription['indexRenderState'] & ToggleRefinementWidgetDescription['indexRenderState'] & VoiceSearchWidgetDescription['indexRenderState'];
29
30
  type WidgetRenderStates = AnalyticsWidgetDescription['indexRenderState'] & PlacesWidgetDescription['indexRenderState'];
30
31
  export type IndexRenderState = Partial<ConnectorRenderStates & WidgetRenderStates>;
31
32
  export type RenderState = {
@@ -22,7 +22,7 @@ interface TemplateWithBindEventParams extends TemplateParams {
22
22
  }
23
23
  export type TemplateWithBindEvent<TTemplateData = void> = string | ((data: TTemplateData, params: TemplateWithBindEventParams) => VNode | VNode[] | string);
24
24
  export type Templates = {
25
- [key: string]: Template<any> | TemplateWithBindEvent<any> | undefined;
25
+ [key: string]: Template<any> | TemplateWithBindEvent<any> | Templates | undefined;
26
26
  };
27
27
  export type HoganHelpers<TKeys extends string = string> = Record<TKeys, (text: string, render: (value: string) => string) => string>;
28
28
  export {};
@@ -43,8 +43,8 @@ export type DisposeOptions = {
43
43
  recommendState: RecommendParameters;
44
44
  parent: IndexWidget;
45
45
  };
46
- export type BuiltinTypes = 'ais.analytics' | 'ais.answers' | 'ais.autocomplete' | 'ais.breadcrumb' | 'ais.clearRefinements' | 'ais.configure' | 'ais.configureRelatedItems' | 'ais.currentRefinements' | 'ais.dynamicWidgets' | 'ais.frequentlyBoughtTogether' | 'ais.geoSearch' | 'ais.hierarchicalMenu' | 'ais.hits' | 'ais.hitsPerPage' | 'ais.index' | 'ais.infiniteHits' | 'ais.lookingSimilar' | 'ais.menu' | 'ais.numericMenu' | 'ais.pagination' | 'ais.places' | 'ais.poweredBy' | 'ais.queryRules' | 'ais.range' | 'ais.rangeSlider' | 'ais.rangeInput' | 'ais.ratingMenu' | 'ais.refinementList' | 'ais.relatedProducts' | 'ais.searchBox' | 'ais.relevantSort' | 'ais.sortBy' | 'ais.stats' | 'ais.toggleRefinement' | 'ais.trendingItems' | 'ais.voiceSearch';
47
- export type BuiltinWidgetTypes = 'ais.analytics' | 'ais.answers' | 'ais.autocomplete' | 'ais.breadcrumb' | 'ais.clearRefinements' | 'ais.configure' | 'ais.configureRelatedItems' | 'ais.currentRefinements' | 'ais.dynamicWidgets' | 'ais.frequentlyBoughtTogether' | 'ais.geoSearch' | 'ais.hierarchicalMenu' | 'ais.hits' | 'ais.hitsPerPage' | 'ais.index' | 'ais.infiniteHits' | 'ais.lookingSimilar' | 'ais.menu' | 'ais.menuSelect' | 'ais.numericMenu' | 'ais.pagination' | 'ais.places' | 'ais.poweredBy' | 'ais.queryRuleCustomData' | 'ais.queryRuleContext' | 'ais.rangeInput' | 'ais.rangeSlider' | 'ais.ratingMenu' | 'ais.refinementList' | 'ais.relatedProducts' | 'ais.searchBox' | 'ais.relevantSort' | 'ais.sortBy' | 'ais.stats' | 'ais.toggleRefinement' | 'ais.trendingItems' | 'ais.voiceSearch';
46
+ export type BuiltinTypes = 'ais.analytics' | 'ais.answers' | 'ais.autocomplete' | 'ais.breadcrumb' | 'ais.clearRefinements' | 'ais.chat' | 'ais.configure' | 'ais.configureRelatedItems' | 'ais.currentRefinements' | 'ais.dynamicWidgets' | 'ais.frequentlyBoughtTogether' | 'ais.geoSearch' | 'ais.hierarchicalMenu' | 'ais.hits' | 'ais.hitsPerPage' | 'ais.index' | 'ais.infiniteHits' | 'ais.lookingSimilar' | 'ais.menu' | 'ais.numericMenu' | 'ais.pagination' | 'ais.places' | 'ais.poweredBy' | 'ais.queryRules' | 'ais.range' | 'ais.rangeSlider' | 'ais.rangeInput' | 'ais.ratingMenu' | 'ais.refinementList' | 'ais.relatedProducts' | 'ais.searchBox' | 'ais.relevantSort' | 'ais.sortBy' | 'ais.stats' | 'ais.toggleRefinement' | 'ais.trendingItems' | 'ais.voiceSearch';
47
+ export type BuiltinWidgetTypes = 'ais.analytics' | 'ais.answers' | 'ais.autocomplete' | 'ais.breadcrumb' | 'ais.chat' | 'ais.clearRefinements' | 'ais.configure' | 'ais.configureRelatedItems' | 'ais.currentRefinements' | 'ais.dynamicWidgets' | 'ais.frequentlyBoughtTogether' | 'ais.geoSearch' | 'ais.hierarchicalMenu' | 'ais.hits' | 'ais.hitsPerPage' | 'ais.index' | 'ais.infiniteHits' | 'ais.lookingSimilar' | 'ais.menu' | 'ais.menuSelect' | 'ais.numericMenu' | 'ais.pagination' | 'ais.places' | 'ais.poweredBy' | 'ais.queryRuleCustomData' | 'ais.queryRuleContext' | 'ais.rangeInput' | 'ais.rangeSlider' | 'ais.ratingMenu' | 'ais.refinementList' | 'ais.relatedProducts' | 'ais.searchBox' | 'ais.relevantSort' | 'ais.sortBy' | 'ais.stats' | 'ais.toggleRefinement' | 'ais.trendingItems' | 'ais.voiceSearch';
48
48
  export type UnknownWidgetParams = NonNullable<object>;
49
49
  export type WidgetParams = {
50
50
  widgetParams?: UnknownWidgetParams;
@@ -0,0 +1,555 @@
1
+
2
+ import { SearchIndexToolType, RecommendToolType } from '../../lib/chat';
3
+ import type { ChatConnectorParams, ChatWidgetDescription } from '../../connectors/chat/connectChat';
4
+ import type { WidgetFactory, Hit, TemplateWithBindEvent, BaseHit, Template, IndexUiState } from '../../types';
5
+ import type { ChatClassNames, ChatHeaderProps, ChatMessageActionProps, ChatMessageBase, ChatMessageErrorProps, ChatMessageLoaderProps, ChatPromptProps, ChatToggleButtonProps, ClientSideToolComponentProps, RecordWithObjectID, UserClientSideTool } from 'instantsearch-ui-components';
6
+ export { SearchIndexToolType, RecommendToolType };
7
+ export type UserClientSideToolTemplates = Partial<{
8
+ layout: TemplateWithBindEvent<ClientSideToolComponentProps>;
9
+ }>;
10
+ type UserClientSideToolWithTemplate = Omit<UserClientSideTool, 'layoutComponent'> & {
11
+ templates: UserClientSideToolTemplates;
12
+ };
13
+ type UserClientSideToolsWithTemplate = Record<string, UserClientSideToolWithTemplate>;
14
+ export type Tool = UserClientSideToolWithTemplate;
15
+ export type Tools = UserClientSideToolsWithTemplate;
16
+ export type ChatCSSClasses = Partial<ChatClassNames>;
17
+ export type ChatTemplates<THit extends NonNullable<object> = BaseHit> = Partial<{
18
+ /**
19
+ * Template to use for each result. This template will receive an object containing a single record.
20
+ */
21
+ item: TemplateWithBindEvent<Hit<THit>>;
22
+ /**
23
+ * Templates to use for the header.
24
+ */
25
+ header: Partial<{
26
+ /**
27
+ * Template to use for the chat header.
28
+ */
29
+ layout: Template<ChatHeaderProps>;
30
+ /**
31
+ * Optional close icon
32
+ */
33
+ closeIcon: Template;
34
+ /**
35
+ * Optional minimize icon
36
+ */
37
+ minimizeIcon?: Template;
38
+ /**
39
+ * Optional maximize icon
40
+ */
41
+ maximizeIcon?: Template<{
42
+ maximized: boolean;
43
+ }>;
44
+ /**
45
+ * Optional title icon (defaults to sparkles)
46
+ */
47
+ titleIcon?: Template;
48
+ /**
49
+ * The title to display in the header
50
+ */
51
+ titleText: string;
52
+ /**
53
+ * Accessible label for the minimize button
54
+ */
55
+ minimizeLabelText: string;
56
+ /**
57
+ * Accessible label for the maximize button
58
+ */
59
+ maximizeLabelText: string;
60
+ /**
61
+ * Accessible label for the close button
62
+ */
63
+ closeLabelText: string;
64
+ /**
65
+ * Text for the clear button
66
+ */
67
+ clearLabelText: string;
68
+ }>;
69
+ /**
70
+ * Templates to use for the messages.
71
+ */
72
+ messages: Partial<{
73
+ /**
74
+ * Template to use when loading messages
75
+ */
76
+ loader: Template<ChatMessageLoaderProps>;
77
+ /**
78
+ * Template to use when there is an error loading messages
79
+ */
80
+ error: Template<ChatMessageErrorProps>;
81
+ /**
82
+ * Label for the scroll to bottom button
83
+ */
84
+ scrollToBottomLabelText?: string;
85
+ /**
86
+ * Text to display in the loader
87
+ */
88
+ loaderText?: string;
89
+ /**
90
+ * Label for the copy to clipboard action
91
+ */
92
+ copyToClipboardLabelText?: string;
93
+ /**
94
+ * Label for the regenerate action
95
+ */
96
+ regenerateLabelText?: string;
97
+ }>;
98
+ /**
99
+ * Templates to use for the prompt.
100
+ */
101
+ prompt: Partial<{
102
+ /**
103
+ * Template to use for the chat prompt.
104
+ */
105
+ layout: Template<ChatPromptProps>;
106
+ /**
107
+ * Template to use for the prompt header.
108
+ */
109
+ header: Template;
110
+ /**
111
+ * Template to use for the prompt footer.
112
+ */
113
+ footer: Template;
114
+ /**
115
+ * The label for the textarea
116
+ */
117
+ textareaLabelText: string;
118
+ /**
119
+ * The placeholder text for the textarea
120
+ */
121
+ textareaPlaceholderText: string;
122
+ /**
123
+ * The tooltip for the submit button when message is empty
124
+ */
125
+ emptyMessageTooltipText: string;
126
+ /**
127
+ * The tooltip for the stop button
128
+ */
129
+ stopResponseTooltipText: string;
130
+ /**
131
+ * The tooltip for the send button
132
+ */
133
+ sendMessageTooltipText: string;
134
+ /**
135
+ * The disclaimer text shown in the footer
136
+ */
137
+ disclaimerText: string;
138
+ }>;
139
+ /**
140
+ * Templates to use for the toggle button.
141
+ */
142
+ toggleButton: Partial<{
143
+ /**
144
+ * Template to use for the toggle button layout.
145
+ */
146
+ layout: Template<ChatToggleButtonProps>;
147
+ /**
148
+ * Template to use for the toggle button icon.
149
+ */
150
+ icon: Template<{
151
+ isOpen: boolean;
152
+ }>;
153
+ }>;
154
+ /**
155
+ * Template to use for the message actions.
156
+ */
157
+ actions: Template<{
158
+ actions: ChatMessageActionProps[];
159
+ message: ChatMessageBase;
160
+ }>;
161
+ }>;
162
+ type ChatWidgetParams<THit extends RecordWithObjectID = RecordWithObjectID> = {
163
+ /**
164
+ * CSS Selector or HTMLElement to insert the widget.
165
+ */
166
+ container: string | HTMLElement;
167
+ /**
168
+ * Return the URL of the main search page with the `nextUiState`.
169
+ * This is used to navigate to the main search page when the user clicks on "View all" in the search tool.
170
+ *
171
+ * @example (nextUiState) => `/search?${qs.stringify(nextUiState)}`
172
+ */
173
+ getSearchPageURL?: (nextUiState: IndexUiState) => string;
174
+ /**
175
+ * Client-side tools to add to the chat
176
+ */
177
+ tools?: UserClientSideToolsWithTemplate;
178
+ /**
179
+ * Templates to use for the widget.
180
+ */
181
+ templates?: ChatTemplates<THit>;
182
+ /**
183
+ * CSS classes to add.
184
+ */
185
+ cssClasses?: ChatCSSClasses;
186
+ };
187
+ export type ChatWidget = WidgetFactory<ChatWidgetDescription & {
188
+ $$widgetType: 'ais.chat';
189
+ }, ChatConnectorParams, ChatWidgetParams>;
190
+ declare const _default: <THit extends RecordWithObjectID = RecordWithObjectID>(widgetParams: ChatWidgetParams<THit> & ChatConnectorParams) => {
191
+ $$widgetType: "ais.chat";
192
+ $$type: "ais.chat";
193
+ init(initOptions: import("../../types").InitOptions): void;
194
+ render(renderOptions: import("../../types").RenderOptions): void;
195
+ getRenderState(renderState: {
196
+ [x: string]: unknown;
197
+ answers?: import("../../types").WidgetRenderState<import("../../connectors/answers/connectAnswers").AnswersRenderState, import("../../connectors/answers/connectAnswers").AnswersConnectorParams> | undefined;
198
+ autocomplete?: import("../../types").WidgetRenderState<import("../../connectors/autocomplete/connectAutocomplete").AutocompleteRenderState, import("../../connectors/autocomplete/connectAutocomplete").AutocompleteConnectorParams> | undefined;
199
+ breadcrumb?: {
200
+ [rootAttribute: string]: import("../../types").WidgetRenderState<import("../../connectors/breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../../connectors/breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
201
+ } | undefined;
202
+ clearRefinements?: import("../../types").WidgetRenderState<import("../../connectors/clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../../connectors/clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
203
+ configure?: import("../../types").WidgetRenderState<import("../../connectors/configure/connectConfigure").ConfigureRenderState, import("../../connectors/configure/connectConfigure").ConfigureConnectorParams> | undefined;
204
+ currentRefinements?: import("../../types").WidgetRenderState<import("../../connectors/current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../../connectors/current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
205
+ geoSearch?: import("../../types").WidgetRenderState<import("../../connectors/geo-search/connectGeoSearch").GeoSearchRenderState<import("../../types").GeoHit>, import("../../connectors/geo-search/connectGeoSearch").GeoSearchConnectorParams<import("../../types").GeoHit>> | undefined;
206
+ hierarchicalMenu?: {
207
+ [rootAttribute: string]: import("../../types").WidgetRenderState<import("../../connectors/hierarchical-menu/connectHierarchicalMenu").HierarchicalMenuRenderState, import("../../connectors/hierarchical-menu/connectHierarchicalMenu").HierarchicalMenuConnectorParams>;
208
+ } | undefined;
209
+ hits?: import("../../types").WidgetRenderState<import("../../connectors/hits/connectHits").HitsRenderState<BaseHit>, import("../../connectors/hits/connectHits").HitsConnectorParams<BaseHit>> | undefined;
210
+ hitsPerPage?: import("../../types").WidgetRenderState<import("../../connectors/hits-per-page/connectHitsPerPage").HitsPerPageRenderState, import("../../connectors/hits-per-page/connectHitsPerPage").HitsPerPageConnectorParams> | undefined;
211
+ infiniteHits?: import("../../types").WidgetRenderState<import("../../connectors/infinite-hits/connectInfiniteHits").InfiniteHitsRenderState<BaseHit>, import("../../connectors/infinite-hits/connectInfiniteHits").InfiniteHitsConnectorParams<BaseHit>> | undefined;
212
+ menu?: {
213
+ [attribute: string]: import("../../types").WidgetRenderState<import("../../connectors/menu/connectMenu").MenuRenderState, import("../../connectors/menu/connectMenu").MenuConnectorParams>;
214
+ } | undefined;
215
+ numericMenu?: {
216
+ [attribute: string]: import("../../types").WidgetRenderState<import("../../connectors/numeric-menu/connectNumericMenu").NumericMenuRenderState, import("../../connectors/numeric-menu/connectNumericMenu").NumericMenuConnectorParams>;
217
+ } | undefined;
218
+ pagination?: import("../../types").WidgetRenderState<import("../../connectors/pagination/connectPagination").PaginationRenderState, import("../../connectors/pagination/connectPagination").PaginationConnectorParams> | undefined;
219
+ poweredBy?: import("../../types").WidgetRenderState<import("../../connectors/powered-by/connectPoweredBy").PoweredByRenderState, import("../../connectors/powered-by/connectPoweredBy").PoweredByConnectorParams> | undefined;
220
+ queryRules?: import("../../types").WidgetRenderState<import("../../connectors/query-rules/connectQueryRules").QueryRulesRenderState, import("../../connectors/query-rules/connectQueryRules").QueryRulesConnectorParams> | undefined;
221
+ range?: {
222
+ [attribute: string]: import("../../types").WidgetRenderState<import("../../connectors/range/connectRange").RangeRenderState, import("../../connectors/range/connectRange").RangeConnectorParams>;
223
+ } | undefined;
224
+ ratingMenu?: {
225
+ [attribute: string]: import("../../types").WidgetRenderState<import("../../connectors/rating-menu/connectRatingMenu").RatingMenuRenderState, import("../../connectors/rating-menu/connectRatingMenu").RatingMenuConnectorParams>;
226
+ } | undefined;
227
+ refinementList?: {
228
+ [attribute: string]: import("../../types").WidgetRenderState<import("../../connectors/refinement-list/connectRefinementList").RefinementListRenderState, import("../../connectors/refinement-list/connectRefinementList").RefinementListConnectorParams>;
229
+ } | undefined;
230
+ relevantSort?: import("../../types").WidgetRenderState<import("../../connectors/relevant-sort/connectRelevantSort").RelevantSortRenderState, import("../../connectors/relevant-sort/connectRelevantSort").RelevantSortConnectorParams> | undefined;
231
+ searchBox?: import("../../types").WidgetRenderState<import("../../connectors/search-box/connectSearchBox").SearchBoxRenderState, import("../../connectors/search-box/connectSearchBox").SearchBoxConnectorParams> | undefined;
232
+ sortBy?: import("../../types").WidgetRenderState<import("../../connectors/sort-by/connectSortBy").SortByRenderState, import("../../connectors/sort-by/connectSortBy").SortByConnectorParams> | undefined;
233
+ stats?: import("../../types").WidgetRenderState<import("../../connectors/stats/connectStats").StatsRenderState, import("../../connectors/stats/connectStats").StatsConnectorParams> | undefined;
234
+ toggleRefinement?: {
235
+ [attribute: string]: import("../../types").WidgetRenderState<import("../../connectors/toggle-refinement/connectToggleRefinement").ToggleRefinementRenderState, import("../../connectors/toggle-refinement/connectToggleRefinement").ToggleRefinementConnectorParams>;
236
+ } | undefined;
237
+ voiceSearch?: import("../../types").WidgetRenderState<import("../../connectors/voice-search/connectVoiceSearch").VoiceSearchRenderState, import("../../connectors/voice-search/connectVoiceSearch").VoiceSearchConnectorParams> | undefined;
238
+ analytics?: import("../../types").WidgetRenderState<Record<string, unknown>, import("../analytics/analytics").AnalyticsWidgetParams> | undefined;
239
+ places?: import("../../types").WidgetRenderState<Record<string, unknown>, import("../places/places").PlacesWidgetParams> | undefined;
240
+ }): {
241
+ [x: string]: unknown;
242
+ answers?: import("../../types").WidgetRenderState<import("../../connectors/answers/connectAnswers").AnswersRenderState, import("../../connectors/answers/connectAnswers").AnswersConnectorParams> | undefined;
243
+ autocomplete?: import("../../types").WidgetRenderState<import("../../connectors/autocomplete/connectAutocomplete").AutocompleteRenderState, import("../../connectors/autocomplete/connectAutocomplete").AutocompleteConnectorParams> | undefined;
244
+ breadcrumb?: {
245
+ [rootAttribute: string]: import("../../types").WidgetRenderState<import("../../connectors/breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../../connectors/breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
246
+ } | undefined;
247
+ clearRefinements?: import("../../types").WidgetRenderState<import("../../connectors/clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../../connectors/clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
248
+ configure?: import("../../types").WidgetRenderState<import("../../connectors/configure/connectConfigure").ConfigureRenderState, import("../../connectors/configure/connectConfigure").ConfigureConnectorParams> | undefined;
249
+ currentRefinements?: import("../../types").WidgetRenderState<import("../../connectors/current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../../connectors/current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
250
+ geoSearch?: import("../../types").WidgetRenderState<import("../../connectors/geo-search/connectGeoSearch").GeoSearchRenderState<import("../../types").GeoHit>, import("../../connectors/geo-search/connectGeoSearch").GeoSearchConnectorParams<import("../../types").GeoHit>> | undefined;
251
+ hierarchicalMenu?: {
252
+ [rootAttribute: string]: import("../../types").WidgetRenderState<import("../../connectors/hierarchical-menu/connectHierarchicalMenu").HierarchicalMenuRenderState, import("../../connectors/hierarchical-menu/connectHierarchicalMenu").HierarchicalMenuConnectorParams>;
253
+ } | undefined;
254
+ hits?: import("../../types").WidgetRenderState<import("../../connectors/hits/connectHits").HitsRenderState<BaseHit>, import("../../connectors/hits/connectHits").HitsConnectorParams<BaseHit>> | undefined;
255
+ hitsPerPage?: import("../../types").WidgetRenderState<import("../../connectors/hits-per-page/connectHitsPerPage").HitsPerPageRenderState, import("../../connectors/hits-per-page/connectHitsPerPage").HitsPerPageConnectorParams> | undefined;
256
+ infiniteHits?: import("../../types").WidgetRenderState<import("../../connectors/infinite-hits/connectInfiniteHits").InfiniteHitsRenderState<BaseHit>, import("../../connectors/infinite-hits/connectInfiniteHits").InfiniteHitsConnectorParams<BaseHit>> | undefined;
257
+ menu?: {
258
+ [attribute: string]: import("../../types").WidgetRenderState<import("../../connectors/menu/connectMenu").MenuRenderState, import("../../connectors/menu/connectMenu").MenuConnectorParams>;
259
+ } | undefined;
260
+ numericMenu?: {
261
+ [attribute: string]: import("../../types").WidgetRenderState<import("../../connectors/numeric-menu/connectNumericMenu").NumericMenuRenderState, import("../../connectors/numeric-menu/connectNumericMenu").NumericMenuConnectorParams>;
262
+ } | undefined;
263
+ pagination?: import("../../types").WidgetRenderState<import("../../connectors/pagination/connectPagination").PaginationRenderState, import("../../connectors/pagination/connectPagination").PaginationConnectorParams> | undefined;
264
+ poweredBy?: import("../../types").WidgetRenderState<import("../../connectors/powered-by/connectPoweredBy").PoweredByRenderState, import("../../connectors/powered-by/connectPoweredBy").PoweredByConnectorParams> | undefined;
265
+ queryRules?: import("../../types").WidgetRenderState<import("../../connectors/query-rules/connectQueryRules").QueryRulesRenderState, import("../../connectors/query-rules/connectQueryRules").QueryRulesConnectorParams> | undefined;
266
+ range?: {
267
+ [attribute: string]: import("../../types").WidgetRenderState<import("../../connectors/range/connectRange").RangeRenderState, import("../../connectors/range/connectRange").RangeConnectorParams>;
268
+ } | undefined;
269
+ ratingMenu?: {
270
+ [attribute: string]: import("../../types").WidgetRenderState<import("../../connectors/rating-menu/connectRatingMenu").RatingMenuRenderState, import("../../connectors/rating-menu/connectRatingMenu").RatingMenuConnectorParams>;
271
+ } | undefined;
272
+ refinementList?: {
273
+ [attribute: string]: import("../../types").WidgetRenderState<import("../../connectors/refinement-list/connectRefinementList").RefinementListRenderState, import("../../connectors/refinement-list/connectRefinementList").RefinementListConnectorParams>;
274
+ } | undefined;
275
+ relevantSort?: import("../../types").WidgetRenderState<import("../../connectors/relevant-sort/connectRelevantSort").RelevantSortRenderState, import("../../connectors/relevant-sort/connectRelevantSort").RelevantSortConnectorParams> | undefined;
276
+ searchBox?: import("../../types").WidgetRenderState<import("../../connectors/search-box/connectSearchBox").SearchBoxRenderState, import("../../connectors/search-box/connectSearchBox").SearchBoxConnectorParams> | undefined;
277
+ sortBy?: import("../../types").WidgetRenderState<import("../../connectors/sort-by/connectSortBy").SortByRenderState, import("../../connectors/sort-by/connectSortBy").SortByConnectorParams> | undefined;
278
+ stats?: import("../../types").WidgetRenderState<import("../../connectors/stats/connectStats").StatsRenderState, import("../../connectors/stats/connectStats").StatsConnectorParams> | undefined;
279
+ toggleRefinement?: {
280
+ [attribute: string]: import("../../types").WidgetRenderState<import("../../connectors/toggle-refinement/connectToggleRefinement").ToggleRefinementRenderState, import("../../connectors/toggle-refinement/connectToggleRefinement").ToggleRefinementConnectorParams>;
281
+ } | undefined;
282
+ voiceSearch?: import("../../types").WidgetRenderState<import("../../connectors/voice-search/connectVoiceSearch").VoiceSearchRenderState, import("../../connectors/voice-search/connectVoiceSearch").VoiceSearchConnectorParams> | undefined;
283
+ analytics?: import("../../types").WidgetRenderState<Record<string, unknown>, import("../analytics/analytics").AnalyticsWidgetParams> | undefined;
284
+ places?: import("../../types").WidgetRenderState<Record<string, unknown>, import("../places/places").PlacesWidgetParams> | undefined;
285
+ };
286
+ getWidgetRenderState(renderState: import("../../types").InitOptions | import("../../types").RenderOptions): {
287
+ indexUiState: Partial<{
288
+ query: string;
289
+ } & {
290
+ configure: import("algoliasearch-helper").PlainSearchParameters;
291
+ } & {
292
+ geoSearch: {
293
+ boundingBox: string;
294
+ };
295
+ } & {
296
+ hierarchicalMenu: {
297
+ [rootAttribute: string]: string[];
298
+ };
299
+ } & {
300
+ hitsPerPage: number;
301
+ } & {
302
+ page: number;
303
+ } & {
304
+ menu: {
305
+ [attribute: string]: string;
306
+ };
307
+ } & {
308
+ numericMenu: {
309
+ [attribute: string]: string;
310
+ };
311
+ } & {
312
+ page: number;
313
+ } & {
314
+ range: {
315
+ [attribute: string]: string;
316
+ };
317
+ } & {
318
+ ratingMenu: {
319
+ [attribute: string]: number | undefined;
320
+ };
321
+ } & {
322
+ refinementList: {
323
+ [attribute: string]: string[];
324
+ };
325
+ } & {
326
+ relevantSort: number;
327
+ } & {
328
+ query: string;
329
+ } & {
330
+ sortBy: string;
331
+ } & {
332
+ toggle: {
333
+ [attribute: string]: boolean;
334
+ };
335
+ } & {
336
+ query: string;
337
+ } & {
338
+ places: {
339
+ query: string;
340
+ position: string;
341
+ };
342
+ }>;
343
+ input: string;
344
+ open: boolean;
345
+ sendEvent: import("../../lib/utils").SendEventForHits;
346
+ setIndexUiState: (indexUiState: Partial<{
347
+ query: string;
348
+ } & {
349
+ configure: import("algoliasearch-helper").PlainSearchParameters;
350
+ } & {
351
+ geoSearch: {
352
+ boundingBox: string;
353
+ };
354
+ } & {
355
+ hierarchicalMenu: {
356
+ [rootAttribute: string]: string[];
357
+ };
358
+ } & {
359
+ hitsPerPage: number;
360
+ } & {
361
+ page: number;
362
+ } & {
363
+ menu: {
364
+ [attribute: string]: string;
365
+ };
366
+ } & {
367
+ numericMenu: {
368
+ [attribute: string]: string;
369
+ };
370
+ } & {
371
+ page: number;
372
+ } & {
373
+ range: {
374
+ [attribute: string]: string;
375
+ };
376
+ } & {
377
+ ratingMenu: {
378
+ [attribute: string]: number | undefined;
379
+ };
380
+ } & {
381
+ refinementList: {
382
+ [attribute: string]: string[];
383
+ };
384
+ } & {
385
+ relevantSort: number;
386
+ } & {
387
+ query: string;
388
+ } & {
389
+ sortBy: string;
390
+ } & {
391
+ toggle: {
392
+ [attribute: string]: boolean;
393
+ };
394
+ } & {
395
+ query: string;
396
+ } & {
397
+ places: {
398
+ query: string;
399
+ position: string;
400
+ };
401
+ }> | ((previousIndexUiState: Partial<{
402
+ query: string;
403
+ } & {
404
+ configure: import("algoliasearch-helper").PlainSearchParameters;
405
+ } & {
406
+ geoSearch: {
407
+ boundingBox: string;
408
+ };
409
+ } & {
410
+ hierarchicalMenu: {
411
+ [rootAttribute: string]: string[];
412
+ };
413
+ } & {
414
+ hitsPerPage: number;
415
+ } & {
416
+ page: number;
417
+ } & {
418
+ menu: {
419
+ [attribute: string]: string;
420
+ };
421
+ } & {
422
+ numericMenu: {
423
+ [attribute: string]: string;
424
+ };
425
+ } & {
426
+ page: number;
427
+ } & {
428
+ range: {
429
+ [attribute: string]: string;
430
+ };
431
+ } & {
432
+ ratingMenu: {
433
+ [attribute: string]: number | undefined;
434
+ };
435
+ } & {
436
+ refinementList: {
437
+ [attribute: string]: string[];
438
+ };
439
+ } & {
440
+ relevantSort: number;
441
+ } & {
442
+ query: string;
443
+ } & {
444
+ sortBy: string;
445
+ } & {
446
+ toggle: {
447
+ [attribute: string]: boolean;
448
+ };
449
+ } & {
450
+ query: string;
451
+ } & {
452
+ places: {
453
+ query: string;
454
+ position: string;
455
+ };
456
+ }>) => Partial<{
457
+ query: string;
458
+ } & {
459
+ configure: import("algoliasearch-helper").PlainSearchParameters;
460
+ } & {
461
+ geoSearch: {
462
+ boundingBox: string;
463
+ };
464
+ } & {
465
+ hierarchicalMenu: {
466
+ [rootAttribute: string]: string[];
467
+ };
468
+ } & {
469
+ hitsPerPage: number;
470
+ } & {
471
+ page: number;
472
+ } & {
473
+ menu: {
474
+ [attribute: string]: string;
475
+ };
476
+ } & {
477
+ numericMenu: {
478
+ [attribute: string]: string;
479
+ };
480
+ } & {
481
+ page: number;
482
+ } & {
483
+ range: {
484
+ [attribute: string]: string;
485
+ };
486
+ } & {
487
+ ratingMenu: {
488
+ [attribute: string]: number | undefined;
489
+ };
490
+ } & {
491
+ refinementList: {
492
+ [attribute: string]: string[];
493
+ };
494
+ } & {
495
+ relevantSort: number;
496
+ } & {
497
+ query: string;
498
+ } & {
499
+ sortBy: string;
500
+ } & {
501
+ toggle: {
502
+ [attribute: string]: boolean;
503
+ };
504
+ } & {
505
+ query: string;
506
+ } & {
507
+ places: {
508
+ query: string;
509
+ position: string;
510
+ };
511
+ }>)) => void;
512
+ setInput: (input: string) => void;
513
+ setOpen: (open: boolean) => void;
514
+ setMessages: (messagesParam: import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>[] | ((m: import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>[]) => import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>[])) => void;
515
+ widgetParams: Partial<ChatWidgetParams<RecordWithObjectID>> & ChatConnectorParams<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>;
516
+ addToolResult: <TOOL extends string>({ tool, toolCallId, output, }: {
517
+ tool: TOOL;
518
+ toolCallId: string;
519
+ output: unknown;
520
+ }) => Promise<void>;
521
+ clearError: () => void;
522
+ error: Error | undefined;
523
+ id: string;
524
+ messages: import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>[];
525
+ regenerate: ({ messageId, ...options }?: {
526
+ messageId?: string;
527
+ } & import("ai").ChatRequestOptions) => Promise<void>;
528
+ resumeStream: (options?: import("ai").ChatRequestOptions) => Promise<void>;
529
+ sendMessage: (message?: (Omit<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>, "id" | "role"> & {
530
+ id?: string | undefined;
531
+ role?: "system" | "user" | "assistant" | undefined;
532
+ } & {
533
+ text?: never;
534
+ files?: never;
535
+ messageId?: string;
536
+ }) | {
537
+ text: string;
538
+ files?: FileList | import("ai").FileUIPart[];
539
+ metadata?: unknown;
540
+ parts?: never;
541
+ messageId?: string;
542
+ } | {
543
+ files: FileList | import("ai").FileUIPart[];
544
+ metadata?: unknown;
545
+ parts?: never;
546
+ messageId?: string;
547
+ } | undefined, options?: import("ai").ChatRequestOptions) => Promise<void>;
548
+ status: import("ai").ChatStatus;
549
+ stop: () => Promise<void>;
550
+ };
551
+ dispose(): void;
552
+ shouldRender(): true;
553
+ chatInstance: import("../../lib/chat").Chat<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>;
554
+ };
555
+ export default _default;