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.
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 +29 -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 +281 -0
  104. package/cjs/widgets/breadcrumb/breadcrumb.js +3 -3
  105. package/cjs/widgets/chat/chat.js +73 -76
  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 -10
  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 +90 -3
  145. package/dist/instantsearch.development.js +1338 -616
  146. package/dist/instantsearch.development.js.map +1 -1
  147. package/dist/instantsearch.production.d.ts +90 -3
  148. package/dist/instantsearch.production.min.d.ts +90 -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 +20 -0
  177. package/es/connectors/chat/connectChat.js +29 -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 +57 -0
  246. package/es/widgets/autocomplete/autocomplete.js +274 -0
  247. package/es/widgets/breadcrumb/breadcrumb.js +2 -2
  248. package/es/widgets/chat/chat.d.ts +4 -0
  249. package/es/widgets/chat/chat.js +72 -75
  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 -9
  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 +6 -6
@@ -0,0 +1,274 @@
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
+ var _excluded = ["instanceId", "containerNode"];
3
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
4
+ 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."); }
5
+ 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; } }
6
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
7
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
8
+ 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; }
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, createAutocompleteSearchComponent, 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 usePropGetters = createAutocompletePropGetters({
53
+ useEffect: useEffect,
54
+ useId: useId,
55
+ useMemo: useMemo,
56
+ useRef: useRef,
57
+ useState: useState
58
+ });
59
+ var createRenderer = function createRenderer(params) {
60
+ var instanceId = params.instanceId,
61
+ containerNode = params.containerNode,
62
+ rendererParams = _objectWithoutProperties(params, _excluded);
63
+ return function (connectorParams, isFirstRendering) {
64
+ if (isFirstRendering) {
65
+ var isolatedIndex = connectorParams.instantSearchInstance.mainIndex;
66
+ var targetIndex = connectorParams.instantSearchInstance.mainIndex;
67
+ walkIndex(targetIndex, function (childIndex) {
68
+ if (childIndex.getIndexId() === "ais-autocomplete-".concat(instanceId)) {
69
+ isolatedIndex = childIndex;
70
+ targetIndex = childIndex.parent;
71
+ }
72
+ });
73
+ rendererParams.renderState = {
74
+ indexTemplateProps: [],
75
+ isolatedIndex: isolatedIndex,
76
+ targetIndex: targetIndex
77
+ };
78
+ return;
79
+ }
80
+ render(h(AutocompleteWrapper, _extends({}, rendererParams, connectorParams)), containerNode);
81
+ };
82
+ };
83
+ function AutocompleteWrapper(_ref) {
84
+ var _targetIndex$getWidge, _isolatedIndex$getHel;
85
+ var indicesConfig = _ref.indicesConfig,
86
+ indices = _ref.indices,
87
+ getSearchPageURL = _ref.getSearchPageURL,
88
+ userOnSelect = _ref.onSelect,
89
+ refine = _ref.refine,
90
+ cssClasses = _ref.cssClasses,
91
+ renderState = _ref.renderState,
92
+ instantSearchInstance = _ref.instantSearchInstance;
93
+ var isolatedIndex = renderState.isolatedIndex,
94
+ targetIndex = renderState.targetIndex;
95
+ var isSearchPage = (_targetIndex$getWidge = targetIndex === null || targetIndex === void 0 ? void 0 : targetIndex.getWidgets().some(function (_ref2) {
96
+ var $$type = _ref2.$$type;
97
+ return ['ais.hits', 'ais.infiniteHits'].includes($$type);
98
+ })) !== null && _targetIndex$getWidge !== void 0 ? _targetIndex$getWidge : false;
99
+ var onRefine = function onRefine(query) {
100
+ instantSearchInstance.setUiState(function (uiState) {
101
+ var _objectSpread2;
102
+ return _objectSpread(_objectSpread({}, uiState), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, targetIndex.getIndexId(), _objectSpread(_objectSpread({}, uiState[targetIndex.getIndexId()]), {}, {
103
+ query: query
104
+ })), _defineProperty(_objectSpread2, isolatedIndex.getIndexId(), {
105
+ query: query
106
+ }), _objectSpread2));
107
+ });
108
+ };
109
+ var _usePropGetters = usePropGetters({
110
+ indices: indices,
111
+ indicesConfig: indicesConfig,
112
+ onRefine: onRefine,
113
+ onSelect: userOnSelect !== null && userOnSelect !== void 0 ? userOnSelect : function (_ref3) {
114
+ var query = _ref3.query,
115
+ setQuery = _ref3.setQuery,
116
+ url = _ref3.url;
117
+ if (url) {
118
+ window.location.href = url;
119
+ return;
120
+ }
121
+ if (!isSearchPage && typeof getSearchPageURL !== 'undefined') {
122
+ var indexUiState = instantSearchInstance.getUiState()[targetIndex.getIndexId()];
123
+ window.location.href = getSearchPageURL(_objectSpread(_objectSpread({}, indexUiState), {}, {
124
+ query: query
125
+ }));
126
+ return;
127
+ }
128
+ setQuery(query);
129
+ }
130
+ }),
131
+ getInputProps = _usePropGetters.getInputProps,
132
+ getItemProps = _usePropGetters.getItemProps,
133
+ getPanelProps = _usePropGetters.getPanelProps,
134
+ getRootProps = _usePropGetters.getRootProps;
135
+ var query = isolatedIndex === null || isolatedIndex === void 0 ? void 0 : (_isolatedIndex$getHel = isolatedIndex.getHelper()) === null || _isolatedIndex$getHel === void 0 ? void 0 : _isolatedIndex$getHel.state.query;
136
+ return h(Autocomplete, _extends({}, getRootProps(), {
137
+ classNames: cssClasses
138
+ }), h(AutocompleteSearchBox, {
139
+ query: query || '',
140
+ inputProps: _objectSpread(_objectSpread({}, getInputProps()), {}, {
141
+ // @ts-ignore - This clashes with some ambient React JSX declarations.
142
+ onInput: function onInput(evt) {
143
+ return refine(evt.currentTarget.value);
144
+ }
145
+ }),
146
+ onClear: function onClear() {
147
+ return onRefine('');
148
+ },
149
+ isSearchStalled: instantSearchInstance.status === 'stalled'
150
+ }), h(AutocompletePanel, getPanelProps(), indices.map(function (_ref4, i) {
151
+ var _indicesConfig$i$temp;
152
+ var indexId = _ref4.indexId,
153
+ hits = _ref4.hits;
154
+ if (!renderState.indexTemplateProps[i]) {
155
+ renderState.indexTemplateProps[i] = prepareTemplateProps({
156
+ defaultTemplates: {},
157
+ templatesConfig: instantSearchInstance.templatesConfig,
158
+ templates: indicesConfig[i].templates
159
+ });
160
+ }
161
+ var headerComponent = (_indicesConfig$i$temp = indicesConfig[i].templates) !== null && _indicesConfig$i$temp !== void 0 && _indicesConfig$i$temp.header ? function (_ref5) {
162
+ var items = _ref5.items;
163
+ return h(TemplateComponent, _extends({}, renderState.indexTemplateProps[i], {
164
+ templateKey: "header",
165
+ rootTagName: "fragment",
166
+ data: {
167
+ items: items
168
+ }
169
+ }));
170
+ } : undefined;
171
+ var itemComponent = function itemComponent(_ref6) {
172
+ var item = _ref6.item,
173
+ onSelect = _ref6.onSelect;
174
+ return h(TemplateComponent, _extends({}, renderState.indexTemplateProps[i], {
175
+ templateKey: "item",
176
+ rootTagName: "fragment",
177
+ data: {
178
+ item: item,
179
+ onSelect: onSelect
180
+ }
181
+ }));
182
+ };
183
+ return h(AutocompleteIndex, {
184
+ key: indexId,
185
+ HeaderComponent: headerComponent,
186
+ ItemComponent: itemComponent,
187
+ items: hits.map(function (item) {
188
+ return _objectSpread(_objectSpread({}, item), {}, {
189
+ __indexName: indexId
190
+ });
191
+ }),
192
+ getItemProps: getItemProps,
193
+ classNames: indicesConfig[i].cssClasses
194
+ });
195
+ })));
196
+ }
197
+ export function EXPERIMENTAL_autocomplete(widgetParams) {
198
+ var _ref7 = widgetParams || {},
199
+ container = _ref7.container,
200
+ escapeHTML = _ref7.escapeHTML,
201
+ _ref7$indices = _ref7.indices,
202
+ indices = _ref7$indices === void 0 ? [] : _ref7$indices,
203
+ showSuggestions = _ref7.showSuggestions,
204
+ getSearchPageURL = _ref7.getSearchPageURL,
205
+ onSelect = _ref7.onSelect,
206
+ _ref7$templates = _ref7.templates,
207
+ templates = _ref7$templates === void 0 ? {} : _ref7$templates,
208
+ _ref7$cssClasses = _ref7.cssClasses,
209
+ userCssClasses = _ref7$cssClasses === void 0 ? {} : _ref7$cssClasses;
210
+ if (!container) {
211
+ throw new Error(withUsage('The `container` option is required.'));
212
+ }
213
+ var containerNode = getContainerNode(container);
214
+ var cssClasses = {
215
+ root: cx(suit(), userCssClasses.root)
216
+ };
217
+ var indicesConfig = _toConsumableArray(indices);
218
+ if (showSuggestions !== null && showSuggestions !== void 0 && showSuggestions.indexName) {
219
+ var _showSuggestions$cssC, _showSuggestions$cssC2, _showSuggestions$cssC3, _showSuggestions$cssC4;
220
+ indicesConfig.unshift({
221
+ indexName: showSuggestions.indexName,
222
+ templates: _objectSpread({
223
+ // @ts-expect-error
224
+ item: AutocompleteSuggestion
225
+ }, showSuggestions.templates),
226
+ cssClasses: {
227
+ root: cx('ais-AutocompleteSuggestions', (_showSuggestions$cssC = showSuggestions.cssClasses) === null || _showSuggestions$cssC === void 0 ? void 0 : _showSuggestions$cssC.root),
228
+ list: cx('ais-AutocompleteSuggestionsList', (_showSuggestions$cssC2 = showSuggestions.cssClasses) === null || _showSuggestions$cssC2 === void 0 ? void 0 : _showSuggestions$cssC2.list),
229
+ header: cx('ais-AutocompleteSuggestionsHeader', (_showSuggestions$cssC3 = showSuggestions.cssClasses) === null || _showSuggestions$cssC3 === void 0 ? void 0 : _showSuggestions$cssC3.header),
230
+ item: cx('ais-AutocompleteSuggestionsItem', (_showSuggestions$cssC4 = showSuggestions.cssClasses) === null || _showSuggestions$cssC4 === void 0 ? void 0 : _showSuggestions$cssC4.item)
231
+ },
232
+ getQuery: function getQuery(item) {
233
+ return item.query;
234
+ },
235
+ getURL: showSuggestions.getURL
236
+ });
237
+ }
238
+ var instanceId = ++autocompleteInstanceId;
239
+ var specializedRenderer = createRenderer({
240
+ instanceId: instanceId,
241
+ containerNode: containerNode,
242
+ indicesConfig: indicesConfig,
243
+ getSearchPageURL: getSearchPageURL,
244
+ onSelect: onSelect,
245
+ cssClasses: cssClasses,
246
+ renderState: {
247
+ indexTemplateProps: [],
248
+ isolatedIndex: undefined,
249
+ targetIndex: undefined
250
+ },
251
+ templates: templates
252
+ });
253
+ var makeWidget = connectAutocomplete(specializedRenderer, function () {
254
+ return render(null, containerNode);
255
+ });
256
+ return [connectSearchBox(function () {
257
+ return null;
258
+ })({}), index({
259
+ indexId: "ais-autocomplete-".concat(instanceId),
260
+ EXPERIMENTAL_isolated: true
261
+ }).addWidgets([configure({
262
+ hitsPerPage: 5
263
+ })].concat(_toConsumableArray(indicesConfig.map(function (_ref8) {
264
+ var indexName = _ref8.indexName;
265
+ return index({
266
+ indexName: indexName,
267
+ indexId: indexName
268
+ }).addWidgets([configure({})]);
269
+ })), [_objectSpread(_objectSpread({}, makeWidget({
270
+ escapeHTML: escapeHTML
271
+ })), {}, {
272
+ $$widgetType: 'ais.autocomplete'
273
+ })]))];
274
+ }
@@ -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';
@@ -512,6 +512,10 @@ declare const _default: <THit extends RecordWithObjectID = RecordWithObjectID>(w
512
512
  setInput: (input: string) => void;
513
513
  setOpen: (open: boolean) => void;
514
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
+ isClearing: boolean;
516
+ clearMessages: () => void;
517
+ onClearTransitionEnd: () => void;
518
+ tools: Record<string, Omit<UserClientSideTool, "layoutComponent">>;
515
519
  widgetParams: Partial<ChatWidgetParams<RecordWithObjectID>> & ChatConnectorParams<import("ai").UIMessage<unknown, import("ai").UIDataTypes, import("ai").UITools>>;
516
520
  addToolResult: <TOOL extends string>({ tool, toolCallId, output, }: {
517
521
  tool: TOOL;
@@ -1,19 +1,19 @@
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
  var _excluded = ["container", "templates", "cssClasses", "resume", "tools", "getSearchPageURL"];
3
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
3
+ 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; }
4
+ 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; }
5
5
  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; }
6
6
  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; }
7
- 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; }
8
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ 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; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
9
9
  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); }
10
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
11
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
10
+ 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); }
11
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
12
12
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
13
+ 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; } }
14
+ 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; }
15
15
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
17
17
  import { ArrowRightIconComponent, ChevronLeftIconComponent, ChevronRightIconComponent, createButtonComponent, createChatComponent } from 'instantsearch-ui-components';
18
18
  import { Fragment, h, render } from 'preact';
19
19
  import { useMemo } from 'preact/hooks';
@@ -163,26 +163,28 @@ function createDefaultTools(templates, getSearchPageURL) {
163
163
  var _ref9;
164
164
  return _ref9 = {}, _defineProperty(_ref9, SearchIndexToolType, createCarouselTool(true, templates, getSearchPageURL)), _defineProperty(_ref9, RecommendToolType, createCarouselTool(false, templates, getSearchPageURL)), _ref9;
165
165
  }
166
- function ChatWrapper(_ref10) {
167
- var cssClasses = _ref10.cssClasses,
168
- chatOpen = _ref10.chatOpen,
169
- setChatOpen = _ref10.setChatOpen,
170
- chatMessages = _ref10.chatMessages,
171
- setChatMessages = _ref10.setChatMessages,
172
- indexUiState = _ref10.indexUiState,
173
- setIndexUiState = _ref10.setIndexUiState,
174
- chatStatus = _ref10.chatStatus,
175
- chatInput = _ref10.chatInput,
176
- setChatInput = _ref10.setChatInput,
177
- sendMessage = _ref10.sendMessage,
178
- regenerate = _ref10.regenerate,
179
- stop = _ref10.stop,
180
- toolsForUi = _ref10.toolsForUi,
181
- toggleButtonProps = _ref10.toggleButtonProps,
182
- headerProps = _ref10.headerProps,
183
- messagesProps = _ref10.messagesProps,
184
- promptProps = _ref10.promptProps,
185
- state = _ref10.state;
166
+ function ChatWrapper(_ref0) {
167
+ var cssClasses = _ref0.cssClasses,
168
+ chatOpen = _ref0.chatOpen,
169
+ setChatOpen = _ref0.setChatOpen,
170
+ chatMessages = _ref0.chatMessages,
171
+ indexUiState = _ref0.indexUiState,
172
+ setIndexUiState = _ref0.setIndexUiState,
173
+ chatStatus = _ref0.chatStatus,
174
+ chatInput = _ref0.chatInput,
175
+ setChatInput = _ref0.setChatInput,
176
+ sendMessage = _ref0.sendMessage,
177
+ regenerate = _ref0.regenerate,
178
+ stop = _ref0.stop,
179
+ isClearing = _ref0.isClearing,
180
+ clearMessages = _ref0.clearMessages,
181
+ onClearTransitionEnd = _ref0.onClearTransitionEnd,
182
+ toolsForUi = _ref0.toolsForUi,
183
+ toggleButtonProps = _ref0.toggleButtonProps,
184
+ headerProps = _ref0.headerProps,
185
+ messagesProps = _ref0.messagesProps,
186
+ promptProps = _ref0.promptProps,
187
+ state = _ref0.state;
186
188
  var _useStickToBottom = useStickToBottom({
187
189
  initial: 'smooth',
188
190
  resize: 'smooth'
@@ -194,19 +196,8 @@ function ChatWrapper(_ref10) {
194
196
  state.init();
195
197
  var _state$use = state.use(false),
196
198
  _state$use2 = _slicedToArray(_state$use, 2),
197
- isClearing = _state$use2[0],
198
- setIsClearing = _state$use2[1];
199
- var _state$use3 = state.use(false),
200
- _state$use4 = _slicedToArray(_state$use3, 2),
201
- maximized = _state$use4[0],
202
- setMaximized = _state$use4[1];
203
- var onClear = function onClear() {
204
- return setIsClearing(true);
205
- };
206
- var onClearTransitionEnd = function onClearTransitionEnd() {
207
- setChatMessages([]);
208
- setIsClearing(false);
209
- };
199
+ maximized = _state$use2[0],
200
+ setMaximized = _state$use2[1];
210
201
  return h(Chat, {
211
202
  classNames: cssClasses,
212
203
  open: chatOpen,
@@ -229,7 +220,7 @@ function ChatWrapper(_ref10) {
229
220
  onToggleMaximize: function onToggleMaximize() {
230
221
  return setMaximized(!maximized);
231
222
  },
232
- onClear: onClear,
223
+ onClear: clearMessages,
233
224
  canClear: Boolean(chatMessages === null || chatMessages === void 0 ? void 0 : chatMessages.length) && !isClearing,
234
225
  closeIconComponent: headerProps.closeIconComponent,
235
226
  minimizeIconComponent: headerProps.minimizeIconComponent,
@@ -284,18 +275,18 @@ function ChatWrapper(_ref10) {
284
275
  }
285
276
  });
286
277
  }
287
- var createRenderer = function createRenderer(_ref11) {
288
- var renderState = _ref11.renderState,
289
- cssClasses = _ref11.cssClasses,
290
- containerNode = _ref11.containerNode,
291
- templates = _ref11.templates,
292
- tools = _ref11.tools;
278
+ var createRenderer = function createRenderer(_ref1) {
279
+ var renderState = _ref1.renderState,
280
+ cssClasses = _ref1.cssClasses,
281
+ containerNode = _ref1.containerNode,
282
+ templates = _ref1.templates,
283
+ tools = _ref1.tools;
293
284
  var state = createLocalState();
294
285
  var promptRef = {
295
286
  current: null
296
287
  };
297
288
  return function (props, isFirstRendering) {
298
- var _templates$header, _templates$header2, _templates$header3, _templates$header4, _templates$header5, _templates$header6, _templates$header7, _templates$header8, _templates$header9, _templates$header10, _templates$messages, _templates$messages2, _templates$messages3, _templates$messages4, _templates$messages5, _templates$messages6, _templates$prompt, _templates$prompt2, _templates$prompt3, _templates$prompt4, _templates$prompt5, _templates$prompt6, _templates$prompt7, _templates$prompt8, _templates$prompt9, _templates$toggleButt, _templates$toggleButt2;
289
+ var _templates$header, _templates$header2, _templates$header3, _templates$header4, _templates$header5, _templates$header6, _templates$header7, _templates$header8, _templates$header9, _templates$header0, _templates$messages, _templates$messages2, _templates$messages3, _templates$messages4, _templates$messages5, _templates$messages6, _templates$prompt, _templates$prompt2, _templates$prompt3, _templates$prompt4, _templates$prompt5, _templates$prompt6, _templates$prompt7, _templates$prompt8, _templates$prompt9, _templates$toggleButt, _templates$toggleButt2;
299
290
  var indexUiState = props.indexUiState,
300
291
  input = props.input,
301
292
  instantSearchInstance = props.instantSearchInstance,
@@ -304,13 +295,16 @@ var createRenderer = function createRenderer(_ref11) {
304
295
  sendMessage = props.sendMessage,
305
296
  setIndexUiState = props.setIndexUiState,
306
297
  setInput = props.setInput,
307
- setMessages = props.setMessages,
308
298
  setOpen = props.setOpen,
309
299
  status = props.status,
310
300
  error = props.error,
311
301
  addToolResult = props.addToolResult,
312
302
  regenerate = props.regenerate,
313
- stop = props.stop;
303
+ stop = props.stop,
304
+ isClearing = props.isClearing,
305
+ clearMessages = props.clearMessages,
306
+ onClearTransitionEnd = props.onClearTransitionEnd,
307
+ toolsFromConnector = props.tools;
314
308
  if (process.env.NODE_ENV === 'development' && error) {
315
309
  throw error;
316
310
  }
@@ -323,15 +317,16 @@ var createRenderer = function createRenderer(_ref11) {
323
317
  return;
324
318
  }
325
319
  var toolsForUi = {};
326
- Object.entries(tools).forEach(function (_ref12) {
327
- var _ref13 = _slicedToArray(_ref12, 2),
328
- key = _ref13[0],
329
- tool = _ref13[1];
330
- toolsForUi[key] = _objectSpread(_objectSpread({}, tool), {}, {
320
+ Object.entries(toolsFromConnector).forEach(function (_ref10) {
321
+ var _ref11 = _slicedToArray(_ref10, 2),
322
+ key = _ref11[0],
323
+ connectorTool = _ref11[1];
324
+ var widgetTool = tools[key];
325
+ toolsForUi[key] = _objectSpread(_objectSpread({}, connectorTool), {}, {
331
326
  addToolResult: addToolResult,
332
327
  layoutComponent: function layoutComponent(layoutComponentProps) {
333
328
  return h(TemplateComponent, {
334
- templates: tool.templates,
329
+ templates: widgetTool.templates,
335
330
  rootTagName: "fragment",
336
331
  templateKey: "layout",
337
332
  data: layoutComponentProps
@@ -363,8 +358,8 @@ var createRenderer = function createRenderer(_ref11) {
363
358
  rootTagName: "span"
364
359
  }));
365
360
  } : undefined;
366
- var headerMaximizeIconComponent = (_templates$header4 = templates.header) !== null && _templates$header4 !== void 0 && _templates$header4.maximizeIcon ? function (_ref14) {
367
- var maximized = _ref14.maximized;
361
+ var headerMaximizeIconComponent = (_templates$header4 = templates.header) !== null && _templates$header4 !== void 0 && _templates$header4.maximizeIcon ? function (_ref12) {
362
+ var maximized = _ref12.maximized;
368
363
  return h(TemplateComponent, _extends({}, headerTemplateProps, {
369
364
  templateKey: "maximizeIcon",
370
365
  rootTagName: "span",
@@ -384,7 +379,7 @@ var createRenderer = function createRenderer(_ref11) {
384
379
  minimizeLabel: (_templates$header7 = templates.header) === null || _templates$header7 === void 0 ? void 0 : _templates$header7.minimizeLabelText,
385
380
  maximizeLabel: (_templates$header8 = templates.header) === null || _templates$header8 === void 0 ? void 0 : _templates$header8.maximizeLabelText,
386
381
  closeLabel: (_templates$header9 = templates.header) === null || _templates$header9 === void 0 ? void 0 : _templates$header9.closeLabelText,
387
- clearLabel: (_templates$header10 = templates.header) === null || _templates$header10 === void 0 ? void 0 : _templates$header10.clearLabelText
382
+ clearLabel: (_templates$header0 = templates.header) === null || _templates$header0 === void 0 ? void 0 : _templates$header0.clearLabelText
388
383
  });
389
384
  var messagesTemplateProps = prepareTemplateProps({
390
385
  defaultTemplates: {},
@@ -462,8 +457,8 @@ var createRenderer = function createRenderer(_ref11) {
462
457
  data: toggleButtonProps
463
458
  }));
464
459
  } : undefined;
465
- var toggleButtonIconComponent = (_templates$toggleButt2 = templates.toggleButton) !== null && _templates$toggleButt2 !== void 0 && _templates$toggleButt2.icon ? function (_ref15) {
466
- var isOpen = _ref15.isOpen;
460
+ var toggleButtonIconComponent = (_templates$toggleButt2 = templates.toggleButton) !== null && _templates$toggleButt2 !== void 0 && _templates$toggleButt2.icon ? function (_ref13) {
461
+ var isOpen = _ref13.isOpen;
467
462
  return h(TemplateComponent, _extends({}, toggleButtonTemplateProps, {
468
463
  templateKey: "icon",
469
464
  rootTagName: "span",
@@ -479,7 +474,6 @@ var createRenderer = function createRenderer(_ref11) {
479
474
  chatOpen: open,
480
475
  setChatOpen: setOpen,
481
476
  chatMessages: messages,
482
- setChatMessages: setMessages,
483
477
  indexUiState: indexUiState,
484
478
  setIndexUiState: setIndexUiState,
485
479
  chatStatus: status,
@@ -488,6 +482,9 @@ var createRenderer = function createRenderer(_ref11) {
488
482
  sendMessage: sendMessage,
489
483
  regenerate: regenerate,
490
484
  stop: stop,
485
+ isClearing: isClearing,
486
+ clearMessages: clearMessages,
487
+ onClearTransitionEnd: onClearTransitionEnd,
491
488
  toolsForUi: toolsForUi,
492
489
  toggleButtonProps: {
493
490
  layoutComponent: toggleButtonLayoutComponent,
@@ -526,17 +523,17 @@ var defaultTemplates = {
526
523
  }
527
524
  };
528
525
  export default (function chat(widgetParams) {
529
- var _ref16 = widgetParams || {},
530
- container = _ref16.container,
531
- _ref16$templates = _ref16.templates,
532
- userTemplates = _ref16$templates === void 0 ? {} : _ref16$templates,
533
- _ref16$cssClasses = _ref16.cssClasses,
534
- cssClasses = _ref16$cssClasses === void 0 ? {} : _ref16$cssClasses,
535
- _ref16$resume = _ref16.resume,
536
- resume = _ref16$resume === void 0 ? false : _ref16$resume,
537
- userTools = _ref16.tools,
538
- getSearchPageURL = _ref16.getSearchPageURL,
539
- options = _objectWithoutProperties(_ref16, _excluded);
526
+ var _ref14 = widgetParams || {},
527
+ container = _ref14.container,
528
+ _ref14$templates = _ref14.templates,
529
+ userTemplates = _ref14$templates === void 0 ? {} : _ref14$templates,
530
+ _ref14$cssClasses = _ref14.cssClasses,
531
+ cssClasses = _ref14$cssClasses === void 0 ? {} : _ref14$cssClasses,
532
+ _ref14$resume = _ref14.resume,
533
+ resume = _ref14$resume === void 0 ? false : _ref14$resume,
534
+ userTools = _ref14.tools,
535
+ getSearchPageURL = _ref14.getSearchPageURL,
536
+ options = _objectWithoutProperties(_ref14, _excluded);
540
537
  if (!container) {
541
538
  throw new Error(withUsage('The `container` option is required.'));
542
539
  }
@@ -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';
@@ -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 connectConfigure from "../../connectors/configure/connectConfigure.js";
8
8
  import { noop } from "../../lib/utils/index.js";
@@ -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 connectConfigureRelatedItems from "../../connectors/configure-related-items/connectConfigureRelatedItems.js";
8
8
  import { noop } from "../../lib/utils/index.js";
@@ -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';