instantsearch.js 4.81.0 → 4.83.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 (291) hide show
  1. package/cjs/components/Answers/Answers.js +4 -4
  2. package/cjs/components/Breadcrumb/Breadcrumb.js +2 -2
  3. package/cjs/components/ClearRefinements/ClearRefinements.js +2 -2
  4. package/cjs/components/GeoSearchControls/GeoSearchControls.js +2 -2
  5. package/cjs/components/Highlight/Highlight.js +3 -3
  6. package/cjs/components/InfiniteHits/InfiniteHits.js +4 -4
  7. package/cjs/components/MenuSelect/MenuSelect.js +2 -2
  8. package/cjs/components/Pagination/Pagination.js +1 -1
  9. package/cjs/components/Panel/Panel.js +5 -5
  10. package/cjs/components/QueryRuleCustomData/QueryRuleCustomData.js +1 -1
  11. package/cjs/components/RangeInput/RangeInput.js +14 -14
  12. package/cjs/components/RefinementList/RefinementList.js +16 -16
  13. package/cjs/components/RefinementList/RefinementListItem.js +2 -2
  14. package/cjs/components/RelevantSort/RelevantSort.js +1 -1
  15. package/cjs/components/ReverseHighlight/ReverseHighlight.js +3 -3
  16. package/cjs/components/ReverseSnippet/ReverseSnippet.js +3 -3
  17. package/cjs/components/SearchBox/SearchBox.js +31 -19
  18. package/cjs/components/Slider/Pit.js +2 -2
  19. package/cjs/components/Slider/Rheostat.js +13 -13
  20. package/cjs/components/Slider/Slider.js +19 -19
  21. package/cjs/components/Snippet/Snippet.js +3 -3
  22. package/cjs/components/Stats/Stats.js +6 -6
  23. package/cjs/components/Template/Template.js +18 -18
  24. package/cjs/components/ToggleRefinement/ToggleRefinement.js +2 -2
  25. package/cjs/components/VoiceSearch/VoiceSearch.js +1 -1
  26. package/cjs/connectors/answers/connectAnswers.js +2 -2
  27. package/cjs/connectors/autocomplete/connectAutocomplete.js +2 -2
  28. package/cjs/connectors/breadcrumb/connectBreadcrumb.js +6 -6
  29. package/cjs/connectors/chat/connectChat.js +39 -8
  30. package/cjs/connectors/clear-refinements/connectClearRefinements.js +7 -7
  31. package/cjs/connectors/configure/connectConfigure.js +3 -3
  32. package/cjs/connectors/configure-related-items/connectConfigureRelatedItems.js +8 -8
  33. package/cjs/connectors/current-refinements/connectCurrentRefinements.js +7 -7
  34. package/cjs/connectors/dynamic-widgets/connectDynamicWidgets.js +2 -2
  35. package/cjs/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.js +6 -3
  36. package/cjs/connectors/geo-search/connectGeoSearch.js +2 -2
  37. package/cjs/connectors/hierarchical-menu/connectHierarchicalMenu.js +28 -16
  38. package/cjs/connectors/hits/connectHits.js +2 -2
  39. package/cjs/connectors/hits/connectHitsWithInsights.js +1 -1
  40. package/cjs/connectors/hits-per-page/connectHitsPerPage.js +7 -7
  41. package/cjs/connectors/index.js +1 -1
  42. package/cjs/connectors/index.umd.js +1 -1
  43. package/cjs/connectors/infinite-hits/connectInfiniteHits.js +11 -11
  44. package/cjs/connectors/infinite-hits/connectInfiniteHitsWithInsights.js +1 -1
  45. package/cjs/connectors/looking-similar/connectLookingSimilar.js +3 -3
  46. package/cjs/connectors/menu/connectMenu.js +8 -8
  47. package/cjs/connectors/numeric-menu/connectNumericMenu.js +7 -7
  48. package/cjs/connectors/pagination/Paginator.js +5 -5
  49. package/cjs/connectors/pagination/connectPagination.js +3 -3
  50. package/cjs/connectors/powered-by/connectPoweredBy.js +2 -2
  51. package/cjs/connectors/query-rules/connectQueryRules.js +7 -7
  52. package/cjs/connectors/range/connectRange.js +22 -22
  53. package/cjs/connectors/rating-menu/connectRatingMenu.js +9 -9
  54. package/cjs/connectors/refinement-list/connectRefinementList.js +4 -4
  55. package/cjs/connectors/related-products/connectRelatedProducts.js +3 -3
  56. package/cjs/connectors/relevant-sort/connectRelevantSort.js +2 -2
  57. package/cjs/connectors/search-box/connectSearchBox.js +2 -2
  58. package/cjs/connectors/sort-by/connectSortBy.js +2 -2
  59. package/cjs/connectors/stats/connectStats.js +2 -2
  60. package/cjs/connectors/toggle-refinement/connectToggleRefinement.js +10 -10
  61. package/cjs/connectors/trending-items/connectTrendingItems.js +3 -3
  62. package/cjs/connectors/voice-search/connectVoiceSearch.js +3 -3
  63. package/cjs/helpers/components/Highlight.js +3 -3
  64. package/cjs/helpers/components/ReverseHighlight.js +5 -5
  65. package/cjs/helpers/components/ReverseSnippet.js +5 -5
  66. package/cjs/helpers/components/Snippet.js +3 -3
  67. package/cjs/helpers/index.js +2 -3
  68. package/cjs/index.js +2 -3
  69. package/cjs/lib/InstantSearch.js +13 -13
  70. package/cjs/lib/chat/chat.js +19 -19
  71. package/cjs/lib/createHelpers.js +2 -2
  72. package/cjs/lib/infiniteHitsCache/index.js +1 -1
  73. package/cjs/lib/infiniteHitsCache/sessionStorage.js +2 -2
  74. package/cjs/lib/insights/client.js +2 -2
  75. package/cjs/lib/insights/index.js +2 -3
  76. package/cjs/lib/routers/history.js +8 -8
  77. package/cjs/lib/routers/index.js +1 -1
  78. package/cjs/lib/server.js +2 -2
  79. package/cjs/lib/stateMappings/index.js +1 -1
  80. package/cjs/lib/stateMappings/simple.js +4 -4
  81. package/cjs/lib/stateMappings/singleIndex.js +4 -4
  82. package/cjs/lib/templating/prepareTemplateProps.js +7 -7
  83. package/cjs/lib/templating/renderTemplate.js +3 -3
  84. package/cjs/lib/utils/checkIndexUiState.js +14 -14
  85. package/cjs/lib/utils/createSendEventForFacet.js +6 -6
  86. package/cjs/lib/utils/createSendEventForHits.js +6 -6
  87. package/cjs/lib/utils/escape-highlight.js +4 -4
  88. package/cjs/lib/utils/geo-search.js +4 -4
  89. package/cjs/lib/utils/hits-absolute-position.js +2 -2
  90. package/cjs/lib/utils/hits-query-id.js +2 -2
  91. package/cjs/lib/utils/hydrateRecommendCache.js +2 -2
  92. package/cjs/lib/utils/hydrateSearchClient.js +6 -6
  93. package/cjs/lib/utils/mergeSearchParameters.js +4 -4
  94. package/cjs/lib/utils/range.js +5 -5
  95. package/cjs/lib/utils/reverseHighlightedParts.js +2 -2
  96. package/cjs/lib/version.js +1 -1
  97. package/cjs/lib/voiceSearchHelper/index.js +2 -2
  98. package/cjs/middlewares/createInsightsMiddleware.js +13 -13
  99. package/cjs/middlewares/createRouterMiddleware.js +3 -3
  100. package/cjs/templates/carousel/carousel.js +7 -7
  101. package/cjs/widgets/analytics/analytics.js +2 -2
  102. package/cjs/widgets/answers/answers.js +3 -3
  103. package/cjs/widgets/autocomplete/autocomplete.js +349 -0
  104. package/cjs/widgets/breadcrumb/breadcrumb.js +3 -3
  105. package/cjs/widgets/chat/chat.js +128 -80
  106. package/cjs/widgets/clear-refinements/clear-refinements.js +3 -3
  107. package/cjs/widgets/configure/configure.js +3 -3
  108. package/cjs/widgets/configure-related-items/configure-related-items.js +3 -3
  109. package/cjs/widgets/current-refinements/current-refinements.js +3 -3
  110. package/cjs/widgets/dynamic-widgets/dynamic-widgets.js +5 -5
  111. package/cjs/widgets/frequently-bought-together/frequently-bought-together.js +8 -6
  112. package/cjs/widgets/geo-search/GeoSearchRenderer.js +7 -7
  113. package/cjs/widgets/geo-search/createHTMLMarker.js +12 -12
  114. package/cjs/widgets/geo-search/geo-search.js +5 -5
  115. package/cjs/widgets/hierarchical-menu/hierarchical-menu.js +3 -3
  116. package/cjs/widgets/hits/hits.js +7 -7
  117. package/cjs/widgets/hits-per-page/hits-per-page.js +3 -3
  118. package/cjs/widgets/index/index.js +12 -16
  119. package/cjs/widgets/index.js +10 -2
  120. package/cjs/widgets/index.umd.js +10 -2
  121. package/cjs/widgets/infinite-hits/infinite-hits.js +3 -3
  122. package/cjs/widgets/looking-similar/looking-similar.js +6 -6
  123. package/cjs/widgets/menu/menu.js +3 -3
  124. package/cjs/widgets/menu-select/menu-select.js +3 -3
  125. package/cjs/widgets/numeric-menu/numeric-menu.js +3 -3
  126. package/cjs/widgets/pagination/pagination.js +3 -3
  127. package/cjs/widgets/panel/panel.js +3 -3
  128. package/cjs/widgets/places/places.js +4 -4
  129. package/cjs/widgets/powered-by/powered-by.js +3 -3
  130. package/cjs/widgets/query-rule-context/query-rule-context.js +3 -3
  131. package/cjs/widgets/query-rule-custom-data/query-rule-custom-data.js +3 -3
  132. package/cjs/widgets/range-input/range-input.js +7 -7
  133. package/cjs/widgets/range-slider/range-slider.js +7 -7
  134. package/cjs/widgets/rating-menu/rating-menu.js +3 -3
  135. package/cjs/widgets/refinement-list/refinement-list.js +3 -3
  136. package/cjs/widgets/related-products/related-products.js +6 -6
  137. package/cjs/widgets/relevant-sort/relevant-sort.js +3 -3
  138. package/cjs/widgets/search-box/search-box.js +3 -3
  139. package/cjs/widgets/sort-by/sort-by.js +3 -3
  140. package/cjs/widgets/stats/stats.js +3 -3
  141. package/cjs/widgets/toggle-refinement/toggle-refinement.js +3 -3
  142. package/cjs/widgets/trending-items/trending-items.js +6 -6
  143. package/cjs/widgets/voice-search/voice-search.js +3 -3
  144. package/dist/instantsearch.development.d.ts +108 -3
  145. package/dist/instantsearch.development.js +1678 -638
  146. package/dist/instantsearch.development.js.map +1 -1
  147. package/dist/instantsearch.production.d.ts +108 -3
  148. package/dist/instantsearch.production.min.d.ts +108 -3
  149. package/dist/instantsearch.production.min.js +2 -2
  150. package/dist/instantsearch.production.min.js.map +1 -1
  151. package/es/components/Answers/Answers.js +3 -3
  152. package/es/components/Breadcrumb/Breadcrumb.js +1 -1
  153. package/es/components/ClearRefinements/ClearRefinements.js +1 -1
  154. package/es/components/GeoSearchControls/GeoSearchControls.js +1 -1
  155. package/es/components/Highlight/Highlight.js +3 -3
  156. package/es/components/InfiniteHits/InfiniteHits.js +3 -3
  157. package/es/components/MenuSelect/MenuSelect.js +1 -1
  158. package/es/components/Panel/Panel.js +4 -4
  159. package/es/components/RangeInput/RangeInput.js +13 -13
  160. package/es/components/RefinementList/RefinementList.js +15 -15
  161. package/es/components/RefinementList/RefinementListItem.js +1 -1
  162. package/es/components/ReverseHighlight/ReverseHighlight.js +3 -3
  163. package/es/components/ReverseSnippet/ReverseSnippet.js +3 -3
  164. package/es/components/SearchBox/SearchBox.d.ts +4 -0
  165. package/es/components/SearchBox/SearchBox.js +30 -18
  166. package/es/components/Slider/Pit.js +2 -2
  167. package/es/components/Slider/Rheostat.js +13 -13
  168. package/es/components/Slider/Slider.js +18 -18
  169. package/es/components/Snippet/Snippet.js +3 -3
  170. package/es/components/Stats/Stats.js +5 -5
  171. package/es/components/Template/Template.js +18 -18
  172. package/es/components/ToggleRefinement/ToggleRefinement.js +1 -1
  173. package/es/connectors/answers/connectAnswers.js +2 -2
  174. package/es/connectors/autocomplete/connectAutocomplete.js +2 -2
  175. package/es/connectors/breadcrumb/connectBreadcrumb.js +6 -6
  176. package/es/connectors/chat/connectChat.d.ts +21 -1
  177. package/es/connectors/chat/connectChat.js +39 -8
  178. package/es/connectors/clear-refinements/connectClearRefinements.js +7 -7
  179. package/es/connectors/configure/connectConfigure.js +2 -2
  180. package/es/connectors/configure-related-items/connectConfigureRelatedItems.js +7 -7
  181. package/es/connectors/current-refinements/connectCurrentRefinements.js +7 -7
  182. package/es/connectors/dynamic-widgets/connectDynamicWidgets.js +2 -2
  183. package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.d.ts +4 -0
  184. package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.js +6 -3
  185. package/es/connectors/geo-search/connectGeoSearch.js +2 -2
  186. package/es/connectors/hierarchical-menu/connectHierarchicalMenu.js +28 -16
  187. package/es/connectors/hits/connectHits.js +2 -2
  188. package/es/connectors/hits-per-page/connectHitsPerPage.js +7 -7
  189. package/es/connectors/infinite-hits/connectInfiniteHits.js +11 -11
  190. package/es/connectors/looking-similar/connectLookingSimilar.js +3 -3
  191. package/es/connectors/menu/connectMenu.js +8 -8
  192. package/es/connectors/numeric-menu/connectNumericMenu.js +7 -7
  193. package/es/connectors/pagination/Paginator.js +5 -5
  194. package/es/connectors/pagination/connectPagination.js +2 -2
  195. package/es/connectors/powered-by/connectPoweredBy.js +2 -2
  196. package/es/connectors/query-rules/connectQueryRules.js +7 -7
  197. package/es/connectors/range/connectRange.js +22 -22
  198. package/es/connectors/rating-menu/connectRatingMenu.js +9 -9
  199. package/es/connectors/refinement-list/connectRefinementList.js +4 -4
  200. package/es/connectors/related-products/connectRelatedProducts.js +3 -3
  201. package/es/connectors/relevant-sort/connectRelevantSort.js +2 -2
  202. package/es/connectors/search-box/connectSearchBox.js +2 -2
  203. package/es/connectors/sort-by/connectSortBy.js +2 -2
  204. package/es/connectors/stats/connectStats.js +2 -2
  205. package/es/connectors/toggle-refinement/connectToggleRefinement.js +10 -10
  206. package/es/connectors/trending-items/connectTrendingItems.js +3 -3
  207. package/es/connectors/voice-search/connectVoiceSearch.js +2 -2
  208. package/es/helpers/components/Highlight.js +3 -3
  209. package/es/helpers/components/ReverseHighlight.js +5 -5
  210. package/es/helpers/components/ReverseSnippet.js +5 -5
  211. package/es/helpers/components/Snippet.js +3 -3
  212. package/es/lib/InstantSearch.d.ts +1 -1
  213. package/es/lib/InstantSearch.js +12 -12
  214. package/es/lib/chat/chat.js +19 -19
  215. package/es/lib/createHelpers.js +2 -2
  216. package/es/lib/infiniteHitsCache/sessionStorage.js +2 -2
  217. package/es/lib/insights/client.js +2 -2
  218. package/es/lib/routers/history.js +7 -7
  219. package/es/lib/server.js +2 -2
  220. package/es/lib/stateMappings/simple.js +4 -4
  221. package/es/lib/stateMappings/singleIndex.js +4 -4
  222. package/es/lib/templating/prepareTemplateProps.js +7 -7
  223. package/es/lib/templating/renderTemplate.js +2 -2
  224. package/es/lib/utils/checkIndexUiState.js +14 -14
  225. package/es/lib/utils/createSendEventForFacet.js +6 -6
  226. package/es/lib/utils/createSendEventForHits.js +6 -6
  227. package/es/lib/utils/escape-highlight.js +4 -4
  228. package/es/lib/utils/geo-search.js +4 -4
  229. package/es/lib/utils/hits-absolute-position.js +2 -2
  230. package/es/lib/utils/hits-query-id.js +2 -2
  231. package/es/lib/utils/hydrateRecommendCache.js +2 -2
  232. package/es/lib/utils/hydrateSearchClient.js +6 -6
  233. package/es/lib/utils/mergeSearchParameters.js +4 -4
  234. package/es/lib/utils/range.js +5 -5
  235. package/es/lib/utils/reverseHighlightedParts.js +2 -2
  236. package/es/lib/version.d.ts +1 -1
  237. package/es/lib/version.js +1 -1
  238. package/es/lib/voiceSearchHelper/index.js +2 -2
  239. package/es/middlewares/createInsightsMiddleware.js +13 -13
  240. package/es/middlewares/createRouterMiddleware.js +2 -2
  241. package/es/templates/carousel/carousel.js +7 -7
  242. package/es/types/widget.d.ts +8 -1
  243. package/es/widgets/analytics/analytics.js +2 -2
  244. package/es/widgets/answers/answers.js +2 -2
  245. package/es/widgets/autocomplete/autocomplete.d.ts +75 -0
  246. package/es/widgets/autocomplete/autocomplete.js +342 -0
  247. package/es/widgets/breadcrumb/breadcrumb.js +2 -2
  248. package/es/widgets/chat/chat.d.ts +44 -1
  249. package/es/widgets/chat/chat.js +127 -79
  250. package/es/widgets/clear-refinements/clear-refinements.js +2 -2
  251. package/es/widgets/configure/configure.js +2 -2
  252. package/es/widgets/configure-related-items/configure-related-items.js +2 -2
  253. package/es/widgets/current-refinements/current-refinements.js +2 -2
  254. package/es/widgets/dynamic-widgets/dynamic-widgets.js +4 -4
  255. package/es/widgets/frequently-bought-together/frequently-bought-together.js +7 -5
  256. package/es/widgets/geo-search/GeoSearchRenderer.js +6 -6
  257. package/es/widgets/geo-search/createHTMLMarker.js +12 -12
  258. package/es/widgets/geo-search/geo-search.js +4 -4
  259. package/es/widgets/hierarchical-menu/hierarchical-menu.js +2 -2
  260. package/es/widgets/hits/hits.js +6 -6
  261. package/es/widgets/hits-per-page/hits-per-page.js +2 -2
  262. package/es/widgets/index/index.d.ts +1 -1
  263. package/es/widgets/index/index.js +11 -15
  264. package/es/widgets/index.d.ts +1 -0
  265. package/es/widgets/index.js +1 -0
  266. package/es/widgets/index.umd.d.ts +1 -0
  267. package/es/widgets/index.umd.js +1 -0
  268. package/es/widgets/infinite-hits/infinite-hits.js +2 -2
  269. package/es/widgets/looking-similar/looking-similar.js +5 -5
  270. package/es/widgets/menu/menu.js +2 -2
  271. package/es/widgets/menu-select/menu-select.js +2 -2
  272. package/es/widgets/numeric-menu/numeric-menu.js +2 -2
  273. package/es/widgets/pagination/pagination.js +2 -2
  274. package/es/widgets/panel/panel.js +2 -2
  275. package/es/widgets/places/places.js +4 -4
  276. package/es/widgets/powered-by/powered-by.js +2 -2
  277. package/es/widgets/query-rule-context/query-rule-context.js +2 -2
  278. package/es/widgets/query-rule-custom-data/query-rule-custom-data.js +2 -2
  279. package/es/widgets/range-input/range-input.js +6 -6
  280. package/es/widgets/range-slider/range-slider.js +6 -6
  281. package/es/widgets/rating-menu/rating-menu.js +2 -2
  282. package/es/widgets/refinement-list/refinement-list.js +2 -2
  283. package/es/widgets/related-products/related-products.js +5 -5
  284. package/es/widgets/relevant-sort/relevant-sort.js +2 -2
  285. package/es/widgets/search-box/search-box.js +2 -2
  286. package/es/widgets/sort-by/sort-by.js +2 -2
  287. package/es/widgets/stats/stats.js +2 -2
  288. package/es/widgets/toggle-refinement/toggle-refinement.js +2 -2
  289. package/es/widgets/trending-items/trending-items.js +5 -5
  290. package/es/widgets/voice-search/voice-search.js +2 -2
  291. package/package.json +7 -7
@@ -0,0 +1,75 @@
1
+
2
+ import type { AutocompleteConnectorParams, AutocompleteWidgetDescription } from '../../connectors/autocomplete/connectAutocomplete';
3
+ import type { BaseHit, IndexUiState, IndexWidget, Template, WidgetFactory } from '../../types';
4
+ import type { AutocompleteClassNames, AutocompleteIndexClassNames, AutocompleteIndexConfig } from 'instantsearch-ui-components';
5
+ export type AutocompleteCSSClasses = Partial<AutocompleteClassNames>;
6
+ export type AutocompleteTemplates<TItem extends BaseHit> = Partial<Record<string, TItem>>;
7
+ type IndexConfig<TItem extends BaseHit> = AutocompleteIndexConfig<TItem> & {
8
+ templates?: Partial<{
9
+ /**
10
+ * Template to use for the header, before the list of items.
11
+ */
12
+ header: Template<{
13
+ items: TItem[];
14
+ }>;
15
+ /**
16
+ * Template to use for each result. This template will receive an object containing a single record.
17
+ */
18
+ item: Template<{
19
+ item: TItem;
20
+ onSelect: () => void;
21
+ }>;
22
+ }>;
23
+ cssClasses?: Partial<AutocompleteIndexClassNames>;
24
+ };
25
+ type AutocompleteWidgetParams<TItem extends BaseHit> = {
26
+ /**
27
+ * CSS Selector or HTMLElement to insert the widget.
28
+ */
29
+ container: string | HTMLElement;
30
+ /**
31
+ * Indices to use in the Autocomplete.
32
+ */
33
+ indices?: Array<IndexConfig<TItem>>;
34
+ /**
35
+ * Index to use for retrieving and showing query suggestions.
36
+ */
37
+ showSuggestions?: Partial<Pick<IndexConfig<{
38
+ query: string;
39
+ }>, 'indexName' | 'getURL' | 'templates' | 'cssClasses'>>;
40
+ showRecent?: boolean | {
41
+ /**
42
+ * Storage key to use in the local storage.
43
+ */
44
+ storageKey?: string;
45
+ templates?: Partial<{
46
+ /**
47
+ * Template to use for each result. This template will receive an object containing a single record.
48
+ */
49
+ item: Template<{
50
+ item: {
51
+ query: string;
52
+ };
53
+ onSelect: () => void;
54
+ onRemoveRecentSearch: () => void;
55
+ }>;
56
+ }>;
57
+ };
58
+ getSearchPageURL?: (nextUiState: IndexUiState) => string;
59
+ onSelect?: AutocompleteIndexConfig<TItem>['onSelect'];
60
+ /**
61
+ * Templates to use for the widget.
62
+ */
63
+ templates?: AutocompleteTemplates<TItem>;
64
+ /**
65
+ * CSS classes to add.
66
+ */
67
+ cssClasses?: AutocompleteCSSClasses;
68
+ };
69
+ export type AutocompleteWidget<TItem extends BaseHit = BaseHit> = WidgetFactory<AutocompleteWidgetDescription & {
70
+ $$widgetType: 'ais.autocomplete';
71
+ }, AutocompleteConnectorParams, AutocompleteWidgetParams<TItem>>;
72
+ export declare function EXPERIMENTAL_autocomplete<TItem extends BaseHit = BaseHit>(widgetParams: AutocompleteWidgetParams<TItem> & AutocompleteConnectorParams): (IndexWidget<import("../../types").UiState> | import("../../types").Widget<import("../../connectors/search-box/connectSearchBox").SearchBoxWidgetDescription & {
73
+ widgetParams: import("../../connectors/search-box/connectSearchBox").SearchBoxConnectorParams & object;
74
+ }>)[];
75
+ export {};
@@ -0,0 +1,342 @@
1
+ var _excluded = ["instanceId", "containerNode"];
2
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
3
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
5
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
6
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
7
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
8
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
13
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
15
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
16
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
17
+ import { createAutocompleteComponent, createAutocompleteIndexComponent, createAutocompletePanelComponent, createAutocompletePropGetters, createAutocompleteRecentSearchComponent, createAutocompleteSearchComponent, createAutocompleteStorage, createAutocompleteSuggestionComponent, cx } from 'instantsearch-ui-components';
18
+ import { Fragment, h, render } from 'preact';
19
+ import { useEffect, useId, useMemo, useRef, useState } from 'preact/hooks';
20
+ import TemplateComponent from "../../components/Template/Template.js";
21
+ import { connectAutocomplete, connectSearchBox } from "../../connectors/index.umd.js";
22
+ import { component } from "../../lib/suit.js";
23
+ import { prepareTemplateProps } from "../../lib/templating/index.js";
24
+ import { createDocumentationMessageGenerator, getContainerNode, walkIndex } from "../../lib/utils/index.js";
25
+ import configure from "../configure/configure.js";
26
+ import index from "../index/index.js";
27
+ var autocompleteInstanceId = 0;
28
+ var withUsage = createDocumentationMessageGenerator({
29
+ name: 'autocomplete'
30
+ });
31
+ var suit = component('Autocomplete');
32
+ var Autocomplete = createAutocompleteComponent({
33
+ createElement: h,
34
+ Fragment: Fragment
35
+ });
36
+ var AutocompletePanel = createAutocompletePanelComponent({
37
+ createElement: h,
38
+ Fragment: Fragment
39
+ });
40
+ var AutocompleteIndex = createAutocompleteIndexComponent({
41
+ createElement: h,
42
+ Fragment: Fragment
43
+ });
44
+ var AutocompleteSuggestion = createAutocompleteSuggestionComponent({
45
+ createElement: h,
46
+ Fragment: Fragment
47
+ });
48
+ var AutocompleteSearchBox = createAutocompleteSearchComponent({
49
+ createElement: h,
50
+ Fragment: Fragment
51
+ });
52
+ var AutocompleteRecentSearch = createAutocompleteRecentSearchComponent({
53
+ createElement: h,
54
+ Fragment: Fragment
55
+ });
56
+ var usePropGetters = createAutocompletePropGetters({
57
+ useEffect: useEffect,
58
+ useId: useId,
59
+ useMemo: useMemo,
60
+ useRef: useRef,
61
+ useState: useState
62
+ });
63
+ var useStorage = createAutocompleteStorage({
64
+ useEffect: useEffect,
65
+ useState: useState,
66
+ useMemo: useMemo
67
+ });
68
+ var createRenderer = function createRenderer(params) {
69
+ var instanceId = params.instanceId,
70
+ containerNode = params.containerNode,
71
+ rendererParams = _objectWithoutProperties(params, _excluded);
72
+ return function (connectorParams, isFirstRendering) {
73
+ if (isFirstRendering) {
74
+ var _targetIndex$getHelpe, _targetIndex$getHelpe2;
75
+ var isolatedIndex = connectorParams.instantSearchInstance.mainIndex;
76
+ var targetIndex = connectorParams.instantSearchInstance.mainIndex;
77
+ walkIndex(targetIndex, function (childIndex) {
78
+ if (childIndex.getIndexId() === "ais-autocomplete-".concat(instanceId)) {
79
+ isolatedIndex = childIndex;
80
+ targetIndex = childIndex.parent;
81
+ }
82
+ });
83
+ rendererParams.renderState = {
84
+ indexTemplateProps: [],
85
+ isolatedIndex: isolatedIndex,
86
+ targetIndex: targetIndex
87
+ };
88
+ connectorParams.refine((_targetIndex$getHelpe = (_targetIndex$getHelpe2 = targetIndex.getHelper()) === null || _targetIndex$getHelpe2 === void 0 ? void 0 : _targetIndex$getHelpe2.state.query) !== null && _targetIndex$getHelpe !== void 0 ? _targetIndex$getHelpe : '');
89
+ return;
90
+ }
91
+ render(h(AutocompleteWrapper, _extends({}, rendererParams, connectorParams)), containerNode);
92
+ };
93
+ };
94
+ function AutocompleteWrapper(_ref) {
95
+ var _isolatedIndex$getHel, _targetIndex$getWidge, _showRecent$templates;
96
+ var indicesConfig = _ref.indicesConfig,
97
+ indices = _ref.indices,
98
+ getSearchPageURL = _ref.getSearchPageURL,
99
+ userOnSelect = _ref.onSelect,
100
+ refine = _ref.refine,
101
+ cssClasses = _ref.cssClasses,
102
+ renderState = _ref.renderState,
103
+ instantSearchInstance = _ref.instantSearchInstance,
104
+ showRecent = _ref.showRecent;
105
+ var isolatedIndex = renderState.isolatedIndex,
106
+ targetIndex = renderState.targetIndex;
107
+ var searchboxQuery = isolatedIndex === null || isolatedIndex === void 0 ? void 0 : (_isolatedIndex$getHel = isolatedIndex.getHelper()) === null || _isolatedIndex$getHel === void 0 ? void 0 : _isolatedIndex$getHel.state.query;
108
+ var _useStorage = useStorage({
109
+ query: searchboxQuery,
110
+ showRecent: showRecent,
111
+ indices: indices,
112
+ indicesConfig: indicesConfig
113
+ }),
114
+ storage = _useStorage.storage,
115
+ storageHits = _useStorage.storageHits,
116
+ indicesConfigForPropGetters = _useStorage.indicesConfigForPropGetters,
117
+ indicesForPropGetters = _useStorage.indicesForPropGetters;
118
+ var isSearchPage = (_targetIndex$getWidge = targetIndex === null || targetIndex === void 0 ? void 0 : targetIndex.getWidgets().some(function (_ref2) {
119
+ var $$type = _ref2.$$type;
120
+ return ['ais.hits', 'ais.infiniteHits'].includes($$type);
121
+ })) !== null && _targetIndex$getWidge !== void 0 ? _targetIndex$getWidge : false;
122
+ var onRefine = function onRefine(query) {
123
+ instantSearchInstance.setUiState(function (uiState) {
124
+ var _objectSpread2;
125
+ return _objectSpread(_objectSpread({}, uiState), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, targetIndex.getIndexId(), _objectSpread(_objectSpread({}, uiState[targetIndex.getIndexId()]), {}, {
126
+ query: query
127
+ })), _defineProperty(_objectSpread2, isolatedIndex.getIndexId(), {
128
+ query: query
129
+ }), _objectSpread2));
130
+ });
131
+ query.length > 0 && storage.onAdd(query);
132
+ };
133
+ var _usePropGetters = usePropGetters({
134
+ indices: indicesForPropGetters,
135
+ indicesConfig: indicesConfigForPropGetters,
136
+ onRefine: onRefine,
137
+ onSelect: userOnSelect !== null && userOnSelect !== void 0 ? userOnSelect : function (_ref3) {
138
+ var query = _ref3.query,
139
+ setQuery = _ref3.setQuery,
140
+ url = _ref3.url;
141
+ if (url) {
142
+ window.location.href = url;
143
+ return;
144
+ }
145
+ if (!isSearchPage && typeof getSearchPageURL !== 'undefined') {
146
+ var indexUiState = instantSearchInstance.getUiState()[targetIndex.getIndexId()];
147
+ window.location.href = getSearchPageURL(_objectSpread(_objectSpread({}, indexUiState), {}, {
148
+ query: query
149
+ }));
150
+ return;
151
+ }
152
+ setQuery(query);
153
+ }
154
+ }),
155
+ getInputProps = _usePropGetters.getInputProps,
156
+ getItemProps = _usePropGetters.getItemProps,
157
+ getPanelProps = _usePropGetters.getPanelProps,
158
+ getRootProps = _usePropGetters.getRootProps;
159
+ var AutocompleteRecentSearchComponent = AutocompleteRecentSearch;
160
+ if (_typeof(showRecent) === 'object' && (_showRecent$templates = showRecent.templates) !== null && _showRecent$templates !== void 0 && _showRecent$templates.item) {
161
+ var props = prepareTemplateProps({
162
+ defaultTemplates: {},
163
+ templatesConfig: instantSearchInstance.templatesConfig,
164
+ templates: showRecent.templates
165
+ });
166
+ AutocompleteRecentSearchComponent = function AutocompleteRecentSearchComponent(_ref4) {
167
+ var item = _ref4.item,
168
+ onSelect = _ref4.onSelect,
169
+ onRemoveRecentSearch = _ref4.onRemoveRecentSearch;
170
+ return h(TemplateComponent, _extends({}, props, {
171
+ templateKey: "item",
172
+ rootTagName: "fragment",
173
+ data: {
174
+ item: item,
175
+ onSelect: onSelect,
176
+ onRemoveRecentSearch: onRemoveRecentSearch
177
+ }
178
+ }));
179
+ };
180
+ }
181
+ return h(Autocomplete, _extends({}, getRootProps(), {
182
+ classNames: cssClasses
183
+ }), h(AutocompleteSearchBox, {
184
+ query: searchboxQuery || '',
185
+ inputProps: _objectSpread(_objectSpread({}, getInputProps()), {}, {
186
+ // @ts-ignore - This clashes with some ambient React JSX declarations.
187
+ onInput: function onInput(evt) {
188
+ return refine(evt.currentTarget.value);
189
+ }
190
+ }),
191
+ onClear: function onClear() {
192
+ return onRefine('');
193
+ },
194
+ isSearchStalled: instantSearchInstance.status === 'stalled'
195
+ }), h(AutocompletePanel, getPanelProps(), showRecent && h(AutocompleteIndex
196
+ // @ts-ignore - there seems to be problems with React.ComponentType and this, but it's actually correct
197
+ , {
198
+ ItemComponent: function ItemComponent(_ref5) {
199
+ var item = _ref5.item,
200
+ onSelect = _ref5.onSelect;
201
+ return h(AutocompleteRecentSearchComponent, {
202
+ item: item,
203
+ onSelect: onSelect,
204
+ onRemoveRecentSearch: function onRemoveRecentSearch() {
205
+ return storage.onRemove(item.query);
206
+ }
207
+ });
208
+ },
209
+ classNames: {
210
+ root: 'ais-AutocompleteRecentSearches',
211
+ list: 'ais-AutocompleteRecentSearchesList',
212
+ item: 'ais-AutocompleteRecentSearchesItem'
213
+ },
214
+ items: storageHits,
215
+ getItemProps: getItemProps
216
+ }), indices.map(function (_ref6, i) {
217
+ var _indicesConfig$i$temp;
218
+ var indexId = _ref6.indexId,
219
+ hits = _ref6.hits;
220
+ if (!renderState.indexTemplateProps[i]) {
221
+ renderState.indexTemplateProps[i] = prepareTemplateProps({
222
+ defaultTemplates: {},
223
+ templatesConfig: instantSearchInstance.templatesConfig,
224
+ templates: indicesConfig[i].templates
225
+ });
226
+ }
227
+ var headerComponent = (_indicesConfig$i$temp = indicesConfig[i].templates) !== null && _indicesConfig$i$temp !== void 0 && _indicesConfig$i$temp.header ? function (_ref7) {
228
+ var items = _ref7.items;
229
+ return h(TemplateComponent, _extends({}, renderState.indexTemplateProps[i], {
230
+ templateKey: "header",
231
+ rootTagName: "fragment",
232
+ data: {
233
+ items: items
234
+ }
235
+ }));
236
+ } : undefined;
237
+ var itemComponent = function itemComponent(_ref8) {
238
+ var item = _ref8.item,
239
+ onSelect = _ref8.onSelect;
240
+ return h(TemplateComponent, _extends({}, renderState.indexTemplateProps[i], {
241
+ templateKey: "item",
242
+ rootTagName: "fragment",
243
+ data: {
244
+ item: item,
245
+ onSelect: onSelect
246
+ }
247
+ }));
248
+ };
249
+ return h(AutocompleteIndex, {
250
+ key: indexId,
251
+ HeaderComponent: headerComponent,
252
+ ItemComponent: itemComponent,
253
+ items: hits.map(function (item) {
254
+ return _objectSpread(_objectSpread({}, item), {}, {
255
+ __indexName: indexId
256
+ });
257
+ }),
258
+ getItemProps: getItemProps,
259
+ classNames: indicesConfig[i].cssClasses
260
+ });
261
+ })));
262
+ }
263
+ export function EXPERIMENTAL_autocomplete(widgetParams) {
264
+ var _ref9 = widgetParams || {},
265
+ container = _ref9.container,
266
+ escapeHTML = _ref9.escapeHTML,
267
+ _ref9$indices = _ref9.indices,
268
+ indices = _ref9$indices === void 0 ? [] : _ref9$indices,
269
+ showSuggestions = _ref9.showSuggestions,
270
+ showRecent = _ref9.showRecent,
271
+ getSearchPageURL = _ref9.getSearchPageURL,
272
+ onSelect = _ref9.onSelect,
273
+ _ref9$templates = _ref9.templates,
274
+ templates = _ref9$templates === void 0 ? {} : _ref9$templates,
275
+ _ref9$cssClasses = _ref9.cssClasses,
276
+ userCssClasses = _ref9$cssClasses === void 0 ? {} : _ref9$cssClasses;
277
+ if (!container) {
278
+ throw new Error(withUsage('The `container` option is required.'));
279
+ }
280
+ var containerNode = getContainerNode(container);
281
+ var cssClasses = {
282
+ root: cx(suit(), userCssClasses.root)
283
+ };
284
+ var indicesConfig = _toConsumableArray(indices);
285
+ if (showSuggestions !== null && showSuggestions !== void 0 && showSuggestions.indexName) {
286
+ var _showSuggestions$cssC, _showSuggestions$cssC2, _showSuggestions$cssC3, _showSuggestions$cssC4;
287
+ indicesConfig.unshift({
288
+ indexName: showSuggestions.indexName,
289
+ templates: _objectSpread({
290
+ // @ts-expect-error
291
+ item: AutocompleteSuggestion
292
+ }, showSuggestions.templates),
293
+ cssClasses: {
294
+ root: cx('ais-AutocompleteSuggestions', (_showSuggestions$cssC = showSuggestions.cssClasses) === null || _showSuggestions$cssC === void 0 ? void 0 : _showSuggestions$cssC.root),
295
+ list: cx('ais-AutocompleteSuggestionsList', (_showSuggestions$cssC2 = showSuggestions.cssClasses) === null || _showSuggestions$cssC2 === void 0 ? void 0 : _showSuggestions$cssC2.list),
296
+ header: cx('ais-AutocompleteSuggestionsHeader', (_showSuggestions$cssC3 = showSuggestions.cssClasses) === null || _showSuggestions$cssC3 === void 0 ? void 0 : _showSuggestions$cssC3.header),
297
+ item: cx('ais-AutocompleteSuggestionsItem', (_showSuggestions$cssC4 = showSuggestions.cssClasses) === null || _showSuggestions$cssC4 === void 0 ? void 0 : _showSuggestions$cssC4.item)
298
+ },
299
+ getQuery: function getQuery(item) {
300
+ return item.query;
301
+ },
302
+ getURL: showSuggestions.getURL
303
+ });
304
+ }
305
+ var instanceId = ++autocompleteInstanceId;
306
+ var specializedRenderer = createRenderer({
307
+ instanceId: instanceId,
308
+ containerNode: containerNode,
309
+ indicesConfig: indicesConfig,
310
+ getSearchPageURL: getSearchPageURL,
311
+ onSelect: onSelect,
312
+ cssClasses: cssClasses,
313
+ showRecent: showRecent,
314
+ renderState: {
315
+ indexTemplateProps: [],
316
+ isolatedIndex: undefined,
317
+ targetIndex: undefined
318
+ },
319
+ templates: templates
320
+ });
321
+ var makeWidget = connectAutocomplete(specializedRenderer, function () {
322
+ return render(null, containerNode);
323
+ });
324
+ return [connectSearchBox(function () {
325
+ return null;
326
+ })({}), index({
327
+ indexId: "ais-autocomplete-".concat(instanceId),
328
+ EXPERIMENTAL_isolated: true
329
+ }).addWidgets([].concat(_toConsumableArray(indicesConfig.map(function (_ref0) {
330
+ var indexName = _ref0.indexName;
331
+ return index({
332
+ indexName: indexName,
333
+ indexId: indexName
334
+ }).addWidgets([configure({
335
+ hitsPerPage: 5
336
+ })]);
337
+ })), [_objectSpread(_objectSpread({}, makeWidget({
338
+ escapeHTML: escapeHTML
339
+ })), {}, {
340
+ $$widgetType: 'ais.autocomplete'
341
+ })]))];
342
+ }
@@ -1,8 +1,8 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
2
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
3
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
4
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
6
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
7
  import { cx } from 'instantsearch-ui-components';
8
8
  import { h, render } from 'preact';
@@ -2,7 +2,7 @@
2
2
  import { SearchIndexToolType, RecommendToolType } from '../../lib/chat';
3
3
  import type { ChatConnectorParams, ChatWidgetDescription } from '../../connectors/chat/connectChat';
4
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';
5
+ import type { ChatClassNames, ChatHeaderProps, ChatMessageActionProps, ChatMessageBase, ChatMessageErrorProps, ChatMessageLoaderProps, ChatPromptProps, ChatToggleButtonProps, ClientSideToolComponentProps, ClientSideTools, RecordWithObjectID, UserClientSideTool } from 'instantsearch-ui-components';
6
6
  export { SearchIndexToolType, RecommendToolType };
7
7
  export type UserClientSideToolTemplates = Partial<{
8
8
  layout: TemplateWithBindEvent<ClientSideToolComponentProps>;
@@ -95,6 +95,45 @@ export type ChatTemplates<THit extends NonNullable<object> = BaseHit> = Partial<
95
95
  */
96
96
  regenerateLabelText?: string;
97
97
  }>;
98
+ /**
99
+ * Templates to use for each message.
100
+ */
101
+ message: Partial<{
102
+ /**
103
+ * Label for the message actions
104
+ */
105
+ actionsLabelText?: string;
106
+ /**
107
+ * Label for the message container
108
+ */
109
+ messageLabelText?: string;
110
+ }>;
111
+ /**
112
+ * Templates to use for the assistant message.
113
+ */
114
+ assistantMessage: Partial<{
115
+ /**
116
+ * Template to use for the assistant message leading content.
117
+ */
118
+ leading: Template;
119
+ /**
120
+ * Template to use for the assistant message footer content.
121
+ */
122
+ footer: Template;
123
+ }>;
124
+ /**
125
+ * Templates to use for the user message.
126
+ */
127
+ userMessage: Partial<{
128
+ /**
129
+ * Template to use for the user message leading content.
130
+ */
131
+ leading: Template;
132
+ /**
133
+ * Template to use for the user message footer content.
134
+ */
135
+ footer: Template;
136
+ }>;
98
137
  /**
99
138
  * Templates to use for the prompt.
100
139
  */
@@ -512,6 +551,10 @@ declare const _default: <THit extends RecordWithObjectID = RecordWithObjectID>(w
512
551
  setInput: (input: string) => void;
513
552
  setOpen: (open: boolean) => void;
514
553
  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;
554
+ isClearing: boolean;
555
+ clearMessages: () => void;
556
+ onClearTransitionEnd: () => void;
557
+ tools: ClientSideTools;
515
558
  widgetParams: Partial<ChatWidgetParams<RecordWithObjectID>> & ChatConnectorParams<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>;
516
559
  addToolResult: <TOOL extends string>({ tool, toolCallId, output, }: {
517
560
  tool: TOOL;