instantsearch.js 4.80.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 (320) 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 +221 -0
  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 +8 -1
  42. package/cjs/connectors/index.umd.js +239 -0
  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 +4 -5
  69. package/cjs/lib/InstantSearch.js +13 -13
  70. package/cjs/lib/chat/chat.js +177 -0
  71. package/cjs/lib/chat/index.js +27 -0
  72. package/cjs/lib/createHelpers.js +2 -2
  73. package/cjs/lib/infiniteHitsCache/index.js +1 -1
  74. package/cjs/lib/infiniteHitsCache/sessionStorage.js +2 -2
  75. package/cjs/lib/insights/client.js +2 -2
  76. package/cjs/lib/insights/index.js +2 -3
  77. package/cjs/lib/routers/history.js +8 -8
  78. package/cjs/lib/routers/index.js +1 -1
  79. package/cjs/lib/server.js +2 -2
  80. package/cjs/lib/stateMappings/index.js +1 -1
  81. package/cjs/lib/stateMappings/simple.js +4 -4
  82. package/cjs/lib/stateMappings/singleIndex.js +4 -4
  83. package/cjs/lib/templating/prepareTemplateProps.js +7 -7
  84. package/cjs/lib/templating/renderTemplate.js +3 -3
  85. package/cjs/lib/useStickToBottom.js +20 -0
  86. package/cjs/lib/utils/checkIndexUiState.js +14 -14
  87. package/cjs/lib/utils/createSendEventForFacet.js +6 -6
  88. package/cjs/lib/utils/createSendEventForHits.js +6 -6
  89. package/cjs/lib/utils/escape-highlight.js +4 -4
  90. package/cjs/lib/utils/geo-search.js +4 -4
  91. package/cjs/lib/utils/hits-absolute-position.js +2 -2
  92. package/cjs/lib/utils/hits-query-id.js +2 -2
  93. package/cjs/lib/utils/hydrateRecommendCache.js +2 -2
  94. package/cjs/lib/utils/hydrateSearchClient.js +6 -6
  95. package/cjs/lib/utils/mergeSearchParameters.js +4 -4
  96. package/cjs/lib/utils/range.js +5 -5
  97. package/cjs/lib/utils/reverseHighlightedParts.js +2 -2
  98. package/cjs/lib/version.js +1 -1
  99. package/cjs/lib/voiceSearchHelper/index.js +2 -2
  100. package/cjs/middlewares/createInsightsMiddleware.js +13 -13
  101. package/cjs/middlewares/createRouterMiddleware.js +3 -3
  102. package/cjs/templates/carousel/carousel.js +34 -7
  103. package/cjs/widgets/analytics/analytics.js +2 -2
  104. package/cjs/widgets/answers/answers.js +3 -3
  105. package/cjs/widgets/autocomplete/autocomplete.js +281 -0
  106. package/cjs/widgets/breadcrumb/breadcrumb.js +3 -3
  107. package/cjs/widgets/chat/chat.js +612 -0
  108. package/cjs/widgets/clear-refinements/clear-refinements.js +3 -3
  109. package/cjs/widgets/configure/configure.js +3 -3
  110. package/cjs/widgets/configure-related-items/configure-related-items.js +3 -3
  111. package/cjs/widgets/current-refinements/current-refinements.js +3 -3
  112. package/cjs/widgets/dynamic-widgets/dynamic-widgets.js +5 -5
  113. package/cjs/widgets/frequently-bought-together/frequently-bought-together.js +8 -6
  114. package/cjs/widgets/geo-search/GeoSearchRenderer.js +7 -7
  115. package/cjs/widgets/geo-search/createHTMLMarker.js +12 -12
  116. package/cjs/widgets/geo-search/geo-search.js +5 -5
  117. package/cjs/widgets/hierarchical-menu/hierarchical-menu.js +3 -3
  118. package/cjs/widgets/hits/hits.js +7 -7
  119. package/cjs/widgets/hits-per-page/hits-per-page.js +3 -3
  120. package/cjs/widgets/index/index.js +18 -11
  121. package/cjs/widgets/index.js +17 -2
  122. package/cjs/widgets/index.umd.js +275 -0
  123. package/cjs/widgets/infinite-hits/infinite-hits.js +3 -3
  124. package/cjs/widgets/looking-similar/looking-similar.js +6 -6
  125. package/cjs/widgets/menu/menu.js +3 -3
  126. package/cjs/widgets/menu-select/menu-select.js +3 -3
  127. package/cjs/widgets/numeric-menu/numeric-menu.js +3 -3
  128. package/cjs/widgets/pagination/pagination.js +3 -3
  129. package/cjs/widgets/panel/panel.js +3 -3
  130. package/cjs/widgets/places/places.js +4 -4
  131. package/cjs/widgets/powered-by/powered-by.js +3 -3
  132. package/cjs/widgets/query-rule-context/query-rule-context.js +3 -3
  133. package/cjs/widgets/query-rule-custom-data/query-rule-custom-data.js +3 -3
  134. package/cjs/widgets/range-input/range-input.js +7 -7
  135. package/cjs/widgets/range-slider/range-slider.js +7 -7
  136. package/cjs/widgets/rating-menu/rating-menu.js +3 -3
  137. package/cjs/widgets/refinement-list/refinement-list.js +3 -3
  138. package/cjs/widgets/related-products/related-products.js +6 -6
  139. package/cjs/widgets/relevant-sort/relevant-sort.js +3 -3
  140. package/cjs/widgets/search-box/search-box.js +3 -3
  141. package/cjs/widgets/sort-by/sort-by.js +3 -3
  142. package/cjs/widgets/stats/stats.js +3 -3
  143. package/cjs/widgets/toggle-refinement/toggle-refinement.js +3 -3
  144. package/cjs/widgets/trending-items/trending-items.js +6 -6
  145. package/cjs/widgets/voice-search/voice-search.js +3 -3
  146. package/dist/instantsearch.development.d.ts +165 -14
  147. package/dist/instantsearch.development.js +1456 -680
  148. package/dist/instantsearch.development.js.map +1 -1
  149. package/dist/instantsearch.production.d.ts +165 -14
  150. package/dist/instantsearch.production.min.d.ts +165 -14
  151. package/dist/instantsearch.production.min.js +2 -2
  152. package/dist/instantsearch.production.min.js.map +1 -1
  153. package/es/components/Answers/Answers.js +3 -3
  154. package/es/components/Breadcrumb/Breadcrumb.js +1 -1
  155. package/es/components/ClearRefinements/ClearRefinements.js +1 -1
  156. package/es/components/GeoSearchControls/GeoSearchControls.js +1 -1
  157. package/es/components/Highlight/Highlight.js +3 -3
  158. package/es/components/InfiniteHits/InfiniteHits.js +3 -3
  159. package/es/components/MenuSelect/MenuSelect.js +1 -1
  160. package/es/components/Panel/Panel.js +4 -4
  161. package/es/components/RangeInput/RangeInput.js +13 -13
  162. package/es/components/RefinementList/RefinementList.js +15 -15
  163. package/es/components/RefinementList/RefinementListItem.js +1 -1
  164. package/es/components/ReverseHighlight/ReverseHighlight.js +3 -3
  165. package/es/components/ReverseSnippet/ReverseSnippet.js +3 -3
  166. package/es/components/SearchBox/SearchBox.d.ts +4 -0
  167. package/es/components/SearchBox/SearchBox.js +30 -18
  168. package/es/components/Slider/Pit.js +2 -2
  169. package/es/components/Slider/Rheostat.js +13 -13
  170. package/es/components/Slider/Slider.js +18 -18
  171. package/es/components/Snippet/Snippet.js +3 -3
  172. package/es/components/Stats/Stats.js +5 -5
  173. package/es/components/Template/Template.js +18 -18
  174. package/es/components/ToggleRefinement/ToggleRefinement.js +1 -1
  175. package/es/connectors/answers/connectAnswers.js +2 -2
  176. package/es/connectors/autocomplete/connectAutocomplete.js +2 -2
  177. package/es/connectors/breadcrumb/connectBreadcrumb.js +6 -6
  178. package/es/connectors/chat/connectChat.d.ts +433 -0
  179. package/es/connectors/chat/connectChat.js +215 -0
  180. package/es/connectors/clear-refinements/connectClearRefinements.js +7 -7
  181. package/es/connectors/configure/connectConfigure.js +2 -2
  182. package/es/connectors/configure-related-items/connectConfigureRelatedItems.js +7 -7
  183. package/es/connectors/current-refinements/connectCurrentRefinements.js +7 -7
  184. package/es/connectors/dynamic-widgets/connectDynamicWidgets.js +2 -2
  185. package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.d.ts +6 -0
  186. package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.js +6 -3
  187. package/es/connectors/geo-search/connectGeoSearch.d.ts +1 -0
  188. package/es/connectors/geo-search/connectGeoSearch.js +2 -2
  189. package/es/connectors/hierarchical-menu/connectHierarchicalMenu.js +28 -16
  190. package/es/connectors/hits/connectHits.d.ts +1 -0
  191. package/es/connectors/hits/connectHits.js +2 -2
  192. package/es/connectors/hits/connectHitsWithInsights.d.ts +1 -0
  193. package/es/connectors/hits-per-page/connectHitsPerPage.js +7 -7
  194. package/es/connectors/index.d.ts +1 -0
  195. package/es/connectors/index.js +2 -1
  196. package/es/connectors/index.umd.d.ts +39 -0
  197. package/es/connectors/index.umd.js +47 -0
  198. package/es/connectors/infinite-hits/connectInfiniteHits.d.ts +1 -0
  199. package/es/connectors/infinite-hits/connectInfiniteHits.js +11 -11
  200. package/es/connectors/infinite-hits/connectInfiniteHitsWithInsights.d.ts +1 -0
  201. package/es/connectors/looking-similar/connectLookingSimilar.d.ts +2 -0
  202. package/es/connectors/looking-similar/connectLookingSimilar.js +3 -3
  203. package/es/connectors/menu/connectMenu.js +8 -8
  204. package/es/connectors/numeric-menu/connectNumericMenu.js +7 -7
  205. package/es/connectors/pagination/Paginator.js +5 -5
  206. package/es/connectors/pagination/connectPagination.js +2 -2
  207. package/es/connectors/powered-by/connectPoweredBy.js +2 -2
  208. package/es/connectors/query-rules/connectQueryRules.js +7 -7
  209. package/es/connectors/range/connectRange.js +22 -22
  210. package/es/connectors/rating-menu/connectRatingMenu.js +9 -9
  211. package/es/connectors/refinement-list/connectRefinementList.js +4 -4
  212. package/es/connectors/related-products/connectRelatedProducts.d.ts +2 -0
  213. package/es/connectors/related-products/connectRelatedProducts.js +3 -3
  214. package/es/connectors/relevant-sort/connectRelevantSort.js +2 -2
  215. package/es/connectors/search-box/connectSearchBox.js +2 -2
  216. package/es/connectors/sort-by/connectSortBy.js +2 -2
  217. package/es/connectors/stats/connectStats.js +2 -2
  218. package/es/connectors/toggle-refinement/connectToggleRefinement.js +10 -10
  219. package/es/connectors/trending-items/connectTrendingItems.d.ts +2 -0
  220. package/es/connectors/trending-items/connectTrendingItems.js +3 -3
  221. package/es/connectors/voice-search/connectVoiceSearch.js +2 -2
  222. package/es/helpers/components/Highlight.js +3 -3
  223. package/es/helpers/components/ReverseHighlight.js +5 -5
  224. package/es/helpers/components/ReverseSnippet.js +5 -5
  225. package/es/helpers/components/Snippet.js +3 -3
  226. package/es/lib/InstantSearch.d.ts +1 -1
  227. package/es/lib/InstantSearch.js +12 -12
  228. package/es/lib/chat/chat.d.ts +40 -0
  229. package/es/lib/chat/chat.js +166 -0
  230. package/es/lib/chat/index.d.ts +7 -0
  231. package/es/lib/chat/index.js +5 -0
  232. package/es/lib/createHelpers.js +2 -2
  233. package/es/lib/infiniteHitsCache/sessionStorage.js +2 -2
  234. package/es/lib/insights/client.js +2 -2
  235. package/es/lib/routers/history.js +7 -7
  236. package/es/lib/server.js +2 -2
  237. package/es/lib/stateMappings/simple.js +4 -4
  238. package/es/lib/stateMappings/singleIndex.js +4 -4
  239. package/es/lib/templating/prepareTemplateProps.js +7 -7
  240. package/es/lib/templating/renderTemplate.js +2 -2
  241. package/es/lib/useStickToBottom.d.ts +1 -0
  242. package/es/lib/useStickToBottom.js +14 -0
  243. package/es/lib/utils/checkIndexUiState.js +14 -14
  244. package/es/lib/utils/createSendEventForFacet.js +6 -6
  245. package/es/lib/utils/createSendEventForHits.js +6 -6
  246. package/es/lib/utils/escape-highlight.js +4 -4
  247. package/es/lib/utils/geo-search.js +4 -4
  248. package/es/lib/utils/hits-absolute-position.js +2 -2
  249. package/es/lib/utils/hits-query-id.js +2 -2
  250. package/es/lib/utils/hydrateRecommendCache.js +2 -2
  251. package/es/lib/utils/hydrateSearchClient.js +6 -6
  252. package/es/lib/utils/mergeSearchParameters.js +4 -4
  253. package/es/lib/utils/range.js +5 -5
  254. package/es/lib/utils/reverseHighlightedParts.js +2 -2
  255. package/es/lib/version.d.ts +1 -1
  256. package/es/lib/version.js +1 -1
  257. package/es/lib/voiceSearchHelper/index.js +2 -2
  258. package/es/middlewares/createInsightsMiddleware.js +13 -13
  259. package/es/middlewares/createRouterMiddleware.js +2 -2
  260. package/es/templates/carousel/carousel.d.ts +10 -3
  261. package/es/templates/carousel/carousel.js +35 -8
  262. package/es/types/render-state.d.ts +2 -1
  263. package/es/types/templates.d.ts +1 -1
  264. package/es/types/widget.d.ts +10 -3
  265. package/es/widgets/analytics/analytics.js +2 -2
  266. package/es/widgets/answers/answers.js +2 -2
  267. package/es/widgets/autocomplete/autocomplete.d.ts +57 -0
  268. package/es/widgets/autocomplete/autocomplete.js +274 -0
  269. package/es/widgets/breadcrumb/breadcrumb.js +2 -2
  270. package/es/widgets/chat/chat.d.ts +559 -0
  271. package/es/widgets/chat/chat.js +594 -0
  272. package/es/widgets/clear-refinements/clear-refinements.js +2 -2
  273. package/es/widgets/configure/configure.js +2 -2
  274. package/es/widgets/configure-related-items/configure-related-items.js +2 -2
  275. package/es/widgets/current-refinements/current-refinements.js +2 -2
  276. package/es/widgets/dynamic-widgets/dynamic-widgets.js +4 -4
  277. package/es/widgets/frequently-bought-together/frequently-bought-together.d.ts +3 -1
  278. package/es/widgets/frequently-bought-together/frequently-bought-together.js +7 -5
  279. package/es/widgets/geo-search/GeoSearchRenderer.js +6 -6
  280. package/es/widgets/geo-search/createHTMLMarker.js +12 -12
  281. package/es/widgets/geo-search/geo-search.d.ts +1 -0
  282. package/es/widgets/geo-search/geo-search.js +4 -4
  283. package/es/widgets/hierarchical-menu/hierarchical-menu.js +2 -2
  284. package/es/widgets/hits/hits.d.ts +1 -0
  285. package/es/widgets/hits/hits.js +6 -6
  286. package/es/widgets/hits-per-page/hits-per-page.js +2 -2
  287. package/es/widgets/index/index.d.ts +1 -1
  288. package/es/widgets/index/index.js +17 -10
  289. package/es/widgets/index.d.ts +2 -0
  290. package/es/widgets/index.js +3 -1
  291. package/es/widgets/index.umd.d.ts +45 -0
  292. package/es/widgets/index.umd.js +52 -0
  293. package/es/widgets/infinite-hits/infinite-hits.d.ts +1 -0
  294. package/es/widgets/infinite-hits/infinite-hits.js +2 -2
  295. package/es/widgets/looking-similar/looking-similar.d.ts +3 -1
  296. package/es/widgets/looking-similar/looking-similar.js +5 -5
  297. package/es/widgets/menu/menu.js +2 -2
  298. package/es/widgets/menu-select/menu-select.js +2 -2
  299. package/es/widgets/numeric-menu/numeric-menu.js +2 -2
  300. package/es/widgets/pagination/pagination.js +2 -2
  301. package/es/widgets/panel/panel.js +2 -2
  302. package/es/widgets/places/places.js +4 -4
  303. package/es/widgets/powered-by/powered-by.js +2 -2
  304. package/es/widgets/query-rule-context/query-rule-context.js +2 -2
  305. package/es/widgets/query-rule-custom-data/query-rule-custom-data.js +2 -2
  306. package/es/widgets/range-input/range-input.js +6 -6
  307. package/es/widgets/range-slider/range-slider.js +6 -6
  308. package/es/widgets/rating-menu/rating-menu.js +2 -2
  309. package/es/widgets/refinement-list/refinement-list.js +2 -2
  310. package/es/widgets/related-products/related-products.d.ts +3 -1
  311. package/es/widgets/related-products/related-products.js +5 -5
  312. package/es/widgets/relevant-sort/relevant-sort.js +2 -2
  313. package/es/widgets/search-box/search-box.js +2 -2
  314. package/es/widgets/sort-by/sort-by.js +2 -2
  315. package/es/widgets/stats/stats.js +2 -2
  316. package/es/widgets/toggle-refinement/toggle-refinement.js +2 -2
  317. package/es/widgets/trending-items/trending-items.d.ts +3 -1
  318. package/es/widgets/trending-items/trending-items.js +5 -5
  319. package/es/widgets/voice-search/voice-search.js +2 -2
  320. package/package.json +11 -7
@@ -0,0 +1,215 @@
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 = ["resume", "tools"];
3
+ 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; }
4
+ 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; }
5
+ 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; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
7
+ 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); }
8
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
9
+ 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."); }
10
+ 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; } }
11
+ 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; }
12
+ 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; } }
13
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
14
+ 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; }
15
+ 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; }
16
+ import { DefaultChatTransport, lastAssistantMessageIsCompleteWithToolCalls } from 'ai';
17
+ import { Chat } from "../../lib/chat/index.js";
18
+ import { checkRendering, createDocumentationMessageGenerator, createSendEventForHits, getAppIdAndApiKey, noop, warning } from "../../lib/utils/index.js";
19
+ var withUsage = createDocumentationMessageGenerator({
20
+ name: 'chat',
21
+ connector: true
22
+ });
23
+ export default (function connectChat(renderFn) {
24
+ var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;
25
+ checkRendering(renderFn, withUsage());
26
+ return function (widgetParams) {
27
+ process.env.NODE_ENV === 'development' ? warning(false, 'Chat is not yet stable and will change in the future.') : void 0;
28
+ var _ref = widgetParams || {},
29
+ _ref$resume = _ref.resume,
30
+ resume = _ref$resume === void 0 ? false : _ref$resume,
31
+ _ref$tools = _ref.tools,
32
+ tools = _ref$tools === void 0 ? {} : _ref$tools,
33
+ options = _objectWithoutProperties(_ref, _excluded);
34
+ var _chatInstance;
35
+ var input = '';
36
+ var open = false;
37
+ var isClearing = false;
38
+ var sendEvent;
39
+ var setInput;
40
+ var setOpen;
41
+ var setIsClearing;
42
+ var setMessages = function setMessages(messagesParam) {
43
+ if (typeof messagesParam === 'function') {
44
+ messagesParam = messagesParam(_chatInstance.messages);
45
+ }
46
+ _chatInstance.messages = messagesParam;
47
+ };
48
+ var clearMessages = function clearMessages() {
49
+ if (!_chatInstance.messages || _chatInstance.messages.length === 0) {
50
+ return;
51
+ }
52
+ setIsClearing(true);
53
+ };
54
+ var onClearTransitionEnd = function onClearTransitionEnd() {
55
+ setMessages([]);
56
+ _chatInstance.clearError();
57
+ setIsClearing(false);
58
+ };
59
+ var makeChatInstance = function makeChatInstance(instantSearchInstance) {
60
+ var transport;
61
+ var _getAppIdAndApiKey = getAppIdAndApiKey(instantSearchInstance.client),
62
+ _getAppIdAndApiKey2 = _slicedToArray(_getAppIdAndApiKey, 2),
63
+ appId = _getAppIdAndApiKey2[0],
64
+ apiKey = _getAppIdAndApiKey2[1];
65
+ if ('transport' in options && options.transport) {
66
+ transport = new DefaultChatTransport(options.transport);
67
+ }
68
+ if ('agentId' in options && options.agentId) {
69
+ var agentId = options.agentId;
70
+ if (!appId || !apiKey) {
71
+ throw new Error(withUsage('Could not extract Algolia credentials from the search client.'));
72
+ }
73
+ transport = new DefaultChatTransport({
74
+ api: "https://".concat(appId, ".algolia.net/agent-studio/1/agents/").concat(agentId, "/completions?compatibilityMode=ai-sdk-5"),
75
+ headers: {
76
+ 'x-algolia-application-id': appId,
77
+ 'x-algolia-api-Key': apiKey
78
+ }
79
+ });
80
+ }
81
+ if (!transport) {
82
+ throw new Error(withUsage('You need to provide either an `agentId` or a `transport`.'));
83
+ }
84
+ if ('chat' in options) {
85
+ return options.chat;
86
+ }
87
+ return new Chat(_objectSpread(_objectSpread({}, options), {}, {
88
+ transport: transport,
89
+ sendAutomaticallyWhen: lastAssistantMessageIsCompleteWithToolCalls,
90
+ onToolCall: function onToolCall(_ref2) {
91
+ var toolCall = _ref2.toolCall;
92
+ var tool = tools[toolCall.toolName];
93
+ if (!tool) {
94
+ if (process.env.NODE_ENV === 'development') {
95
+ throw new Error("No tool implementation found for \"".concat(toolCall.toolName, "\". Please provide a tool implementation in the `tools` prop."));
96
+ }
97
+ return _chatInstance.addToolResult({
98
+ output: "No tool implemented for \"".concat(toolCall.toolName, "\"."),
99
+ tool: toolCall.toolName,
100
+ toolCallId: toolCall.toolCallId
101
+ });
102
+ }
103
+ if (tool.onToolCall) {
104
+ var addToolResult = function addToolResult(_ref3) {
105
+ var output = _ref3.output;
106
+ return _chatInstance.addToolResult({
107
+ output: output,
108
+ tool: toolCall.toolName,
109
+ toolCallId: toolCall.toolCallId
110
+ });
111
+ };
112
+ return tool.onToolCall(_objectSpread(_objectSpread({}, toolCall), {}, {
113
+ addToolResult: addToolResult
114
+ }));
115
+ }
116
+ return Promise.resolve();
117
+ }
118
+ }));
119
+ };
120
+ return {
121
+ $$type: 'ais.chat',
122
+ init: function init(initOptions) {
123
+ var _this = this;
124
+ var instantSearchInstance = initOptions.instantSearchInstance;
125
+ _chatInstance = makeChatInstance(instantSearchInstance);
126
+ var render = function render() {
127
+ renderFn(_objectSpread(_objectSpread({}, _this.getWidgetRenderState(initOptions)), {}, {
128
+ instantSearchInstance: initOptions.instantSearchInstance
129
+ }), false);
130
+ };
131
+ setOpen = function setOpen(o) {
132
+ open = o;
133
+ render();
134
+ };
135
+ setInput = function setInput(i) {
136
+ input = i;
137
+ render();
138
+ };
139
+ setIsClearing = function setIsClearing(value) {
140
+ isClearing = value;
141
+ render();
142
+ };
143
+ _chatInstance['~registerErrorCallback'](render);
144
+ _chatInstance['~registerMessagesCallback'](render);
145
+ _chatInstance['~registerStatusCallback'](render);
146
+ if (resume) {
147
+ _chatInstance.resumeStream();
148
+ }
149
+ renderFn(_objectSpread(_objectSpread({}, this.getWidgetRenderState(initOptions)), {}, {
150
+ instantSearchInstance: instantSearchInstance
151
+ }), true);
152
+ },
153
+ render: function render(renderOptions) {
154
+ renderFn(_objectSpread(_objectSpread({}, this.getWidgetRenderState(renderOptions)), {}, {
155
+ instantSearchInstance: renderOptions.instantSearchInstance
156
+ }), false);
157
+ },
158
+ getRenderState: function getRenderState(renderState) {
159
+ return renderState;
160
+ },
161
+ getWidgetRenderState: function getWidgetRenderState(renderState) {
162
+ var instantSearchInstance = renderState.instantSearchInstance,
163
+ parent = renderState.parent;
164
+ if (!_chatInstance) {
165
+ this.init(_objectSpread(_objectSpread({}, renderState), {}, {
166
+ uiState: {},
167
+ results: undefined
168
+ }));
169
+ }
170
+ if (!sendEvent) {
171
+ sendEvent = createSendEventForHits({
172
+ instantSearchInstance: renderState.instantSearchInstance,
173
+ helper: renderState.helper,
174
+ widgetType: this.$$type
175
+ });
176
+ }
177
+ return {
178
+ indexUiState: instantSearchInstance.getUiState()[parent.getIndexId()],
179
+ input: input,
180
+ open: open,
181
+ sendEvent: sendEvent,
182
+ setIndexUiState: parent.setIndexUiState.bind(parent),
183
+ setInput: setInput,
184
+ setOpen: setOpen,
185
+ setMessages: setMessages,
186
+ isClearing: isClearing,
187
+ clearMessages: clearMessages,
188
+ onClearTransitionEnd: onClearTransitionEnd,
189
+ tools: tools,
190
+ widgetParams: widgetParams,
191
+ // Chat instance render state
192
+ addToolResult: _chatInstance.addToolResult,
193
+ clearError: _chatInstance.clearError,
194
+ error: _chatInstance.error,
195
+ id: _chatInstance.id,
196
+ messages: _chatInstance.messages,
197
+ regenerate: _chatInstance.regenerate,
198
+ resumeStream: _chatInstance.resumeStream,
199
+ sendMessage: _chatInstance.sendMessage,
200
+ status: _chatInstance.status,
201
+ stop: _chatInstance.stop
202
+ };
203
+ },
204
+ dispose: function dispose() {
205
+ unmountFn();
206
+ },
207
+ shouldRender: function shouldRender() {
208
+ return true;
209
+ },
210
+ get chatInstance() {
211
+ return _chatInstance;
212
+ }
213
+ };
214
+ };
215
+ });
@@ -1,14 +1,14 @@
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
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
3
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(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); }
5
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
6
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
7
- 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; }
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
8
  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; }
9
9
  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; }
10
- 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; }
11
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
10
+ 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; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
12
12
  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); }
13
13
  import { checkRendering, clearRefinements, getRefinements, createDocumentationMessageGenerator, noop, uniq, mergeSearchParameters } from "../../lib/utils/index.js";
14
14
  var withUsage = createDocumentationMessageGenerator({
@@ -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 algoliasearchHelper from 'algoliasearch-helper';
8
8
  import { createDocumentationMessageGenerator, isPlainObject, mergeSearchParameters, noop } from "../../lib/utils/index.js";
@@ -1,15 +1,15 @@
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
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
7
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
8
8
  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."); }
9
- 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); }
10
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
11
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
12
- 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; }
9
+ 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; } }
10
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
11
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
12
+ 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; }
13
13
  import algoliasearchHelper from 'algoliasearch-helper';
14
14
  import { createDocumentationMessageGenerator, getObjectType, warning, getPropertyByPath } from "../../lib/utils/index.js";
15
15
  import connectConfigure from "../configure/connectConfigure.js";
@@ -1,14 +1,14 @@
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
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
3
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(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); }
5
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
6
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
7
- 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; }
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
8
  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; }
9
9
  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; }
10
- 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; }
11
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
10
+ 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; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
12
12
  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); }
13
13
  import { getRefinements, checkRendering, createDocumentationMessageGenerator, noop, warning } from "../../lib/utils/index.js";
14
14
  var withUsage = createDocumentationMessageGenerator({
@@ -1,7 +1,7 @@
1
1
  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; }
2
2
  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; }
3
- 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; }
4
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
3
+ 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; }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
5
5
  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); }
6
6
  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); }
7
7
  import { checkRendering, createDocumentationMessageGenerator, getWidgetAttribute, noop, warning } from "../../lib/utils/index.js";
@@ -20,6 +20,10 @@ export type FrequentlyBoughtTogetherConnectorParams<THit extends NonNullable<obj
20
20
  * Threshold for the recommendations confidence score (between 0 and 100). Only recommendations with a greater score are returned.
21
21
  */
22
22
  threshold?: number;
23
+ /**
24
+ * List of search parameters to send.
25
+ */
26
+ fallbackParameters?: Omit<PlainSearchParameters, 'page' | 'hitsPerPage' | 'offset' | 'length'>;
23
27
  /**
24
28
  * The maximum number of recommendations to return.
25
29
  */
@@ -52,6 +56,7 @@ declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Re
52
56
  init(initOptions: import("../../types").InitOptions): void;
53
57
  render(renderOptions: import("../../types").RenderOptions): void;
54
58
  getRenderState(renderState: {
59
+ [x: string]: unknown;
55
60
  answers?: import("../../types").WidgetRenderState<import("../answers/connectAnswers").AnswersRenderState, import("../answers/connectAnswers").AnswersConnectorParams> | undefined;
56
61
  autocomplete?: import("../../types").WidgetRenderState<import("../autocomplete/connectAutocomplete").AutocompleteRenderState, import("../autocomplete/connectAutocomplete").AutocompleteConnectorParams> | undefined;
57
62
  breadcrumb?: {
@@ -96,6 +101,7 @@ declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Re
96
101
  analytics?: import("../../types").WidgetRenderState<Record<string, unknown>, import("../../widgets/analytics/analytics").AnalyticsWidgetParams> | undefined;
97
102
  places?: import("../../types").WidgetRenderState<Record<string, unknown>, import("../../widgets/places/places").PlacesWidgetParams> | undefined;
98
103
  }): {
104
+ [x: string]: unknown;
99
105
  answers?: import("../../types").WidgetRenderState<import("../answers/connectAnswers").AnswersRenderState, import("../answers/connectAnswers").AnswersConnectorParams> | undefined;
100
106
  autocomplete?: import("../../types").WidgetRenderState<import("../autocomplete/connectAutocomplete").AutocompleteRenderState, import("../autocomplete/connectAutocomplete").AutocompleteConnectorParams> | undefined;
101
107
  breadcrumb?: {
@@ -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 { createDocumentationMessageGenerator, checkRendering, noop, escapeHits, TAG_PLACEHOLDER, createSendEventForHits, addAbsolutePosition, addQueryID } from "../../lib/utils/index.js";
8
8
  var withUsage = createDocumentationMessageGenerator({
@@ -23,6 +23,7 @@ export default (function connectFrequentlyBoughtTogether(renderFn) {
23
23
  objectIDs = _ref.objectIDs,
24
24
  limit = _ref.limit,
25
25
  threshold = _ref.threshold,
26
+ fallbackParameters = _ref.fallbackParameters,
26
27
  queryParameters = _ref.queryParameters;
27
28
  if (!objectIDs || objectIDs.length === 0) {
28
29
  throw new Error(withUsage('The `objectIDs` option is required.'));
@@ -87,8 +88,10 @@ export default (function connectFrequentlyBoughtTogether(renderFn) {
87
88
  return objectIDs.reduce(function (acc, objectID) {
88
89
  return acc.addFrequentlyBoughtTogether({
89
90
  objectID: objectID,
90
- threshold: threshold,
91
91
  maxRecommendations: limit,
92
+ threshold: threshold,
93
+ // @ts-expect-error until @algolia/recommend types are updated
94
+ fallbackParameters: fallbackParameters ? _objectSpread(_objectSpread({}, fallbackParameters), escapeHTML ? TAG_PLACEHOLDER : {}) : undefined,
92
95
  queryParameters: _objectSpread(_objectSpread({}, queryParameters), escapeHTML ? TAG_PLACEHOLDER : {}),
93
96
  $$id: _this.$$id
94
97
  });
@@ -132,6 +132,7 @@ declare const _default: <TWidgetParams extends UnknownWidgetParams>(renderFn: Re
132
132
  widgetParams: TWidgetParams & GeoSearchConnectorParams<THit>;
133
133
  };
134
134
  getRenderState(renderState: {
135
+ [x: string]: unknown;
135
136
  answers?: WidgetRenderState<import("../answers/connectAnswers").AnswersRenderState, import("../answers/connectAnswers").AnswersConnectorParams> | undefined;
136
137
  autocomplete?: WidgetRenderState<import("../autocomplete/connectAutocomplete").AutocompleteRenderState, import("../autocomplete/connectAutocomplete").AutocompleteConnectorParams> | undefined;
137
138
  breadcrumb?: {
@@ -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 { checkRendering, aroundLatLngToPosition, insideBoundingBoxToBoundingBox, createDocumentationMessageGenerator, createSendEventForHits, noop } from "../../lib/utils/index.js";
8
8
  var withUsage = createDocumentationMessageGenerator({
@@ -2,17 +2,17 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
2
2
  var _excluded = ["name", "escapedValue", "data", "path"];
3
3
  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; }
4
4
  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; }
5
- 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; }
6
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
5
+ 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; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
7
7
  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); }
8
- 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; }
9
- 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; }
10
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ 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; }
9
+ 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; }
10
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
11
11
  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."); }
12
- 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); }
13
- 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; }
12
+ 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; } }
13
+ 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; }
14
14
  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; } }
15
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
15
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
16
16
  import { checkRendering, warning, createDocumentationMessageGenerator, createSendEventForFacet, isEqual, noop } from "../../lib/utils/index.js";
17
17
  var withUsage = createDocumentationMessageGenerator({
18
18
  name: 'hierarchical-menu',
@@ -104,6 +104,21 @@ var connectHierarchicalMenu = function connectHierarchicalMenu(renderFn) {
104
104
  return item;
105
105
  });
106
106
  }
107
+ function _hasMoreItems(facetValues, maxValuesPerFacet) {
108
+ var currentLimit = getLimit();
109
+ return (
110
+ // Check if we have exhaustive items at this level
111
+ // If the limit is the max number of facet retrieved it is impossible to know
112
+ // if the facets are exhaustive. The only moment we are sure it is exhaustive
113
+ // is when it is strictly under the number requested unless we know that another
114
+ // widget has requested more values (maxValuesPerFacet > getLimit()).
115
+ !(maxValuesPerFacet > currentLimit ? facetValues.length <= currentLimit : facetValues.length < currentLimit) ||
116
+ // Check if any of the children are not exhaustive.
117
+ facetValues.slice(0, limit).some(function (item) {
118
+ return Array.isArray(item.data) && item.data.length > 0 && _hasMoreItems(item.data, maxValuesPerFacet);
119
+ })
120
+ );
121
+ }
107
122
  return {
108
123
  $$type: 'ais.hierarchicalMenu',
109
124
  init: function init(initOptions) {
@@ -172,14 +187,11 @@ var connectHierarchicalMenu = function connectHierarchicalMenu(renderFn) {
172
187
  });
173
188
  var facetItems = facetValues && !Array.isArray(facetValues) && facetValues.data ? facetValues.data : [];
174
189
 
175
- // If the limit is the max number of facet retrieved it is impossible to know
176
- // if the facets are exhaustive. The only moment we are sure it is exhaustive
177
- // is when it is strictly under the number requested unless we know that another
178
- // widget has requested more values (maxValuesPerFacet > getLimit()).
179
- // Because this is used for making the search of facets unable or not, it is important
180
- // to be conservative here.
181
- var hasExhaustiveItems = (state.maxValuesPerFacet || 0) > getLimit() ? facetItems.length <= getLimit() : facetItems.length < getLimit();
182
- canToggleShowMore = showMore && (isShowingMore || !hasExhaustiveItems);
190
+ // Check if there are more items to show at any level
191
+ // This checks both the exhaustiveness of items retrieved from the API
192
+ // and whether there are hidden items at any visible child level
193
+ var hasMoreItems = _hasMoreItems(facetItems, state.maxValuesPerFacet || 0);
194
+ canToggleShowMore = showMore && (isShowingMore || hasMoreItems);
183
195
  items = transformItems(_prepareFacetValues(facetItems), {
184
196
  results: results
185
197
  });
@@ -53,6 +53,7 @@ declare const _default: <TWidgetParams>(renderFn: Renderer<HitsRenderState, TWid
53
53
  init(initOptions: import("../../types").InitOptions): void;
54
54
  render(renderOptions: import("../../types").RenderOptions): void;
55
55
  getRenderState(renderState: {
56
+ [x: string]: unknown;
56
57
  answers?: WidgetRenderState<import("../answers/connectAnswers").AnswersRenderState, import("../answers/connectAnswers").AnswersConnectorParams> | undefined;
57
58
  autocomplete?: WidgetRenderState<import("../autocomplete/connectAutocomplete").AutocompleteRenderState, import("../autocomplete/connectAutocomplete").AutocompleteConnectorParams> | undefined;
58
59
  breadcrumb?: {
@@ -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 { escapeHits, TAG_PLACEHOLDER, checkRendering, createDocumentationMessageGenerator, addAbsolutePosition, addQueryID, createSendEventForHits, createBindEventForHits, noop } from "../../lib/utils/index.js";
8
8
  var withUsage = createDocumentationMessageGenerator({
@@ -4,6 +4,7 @@ declare const connectHitsWithInsights: <TWidgetParams>(renderFn: import("../../t
4
4
  init(initOptions: import("../../types").InitOptions): void;
5
5
  render(renderOptions: import("../../types").RenderOptions): void;
6
6
  getRenderState(renderState: {
7
+ [x: string]: unknown;
7
8
  answers?: import("../../types").WidgetRenderState<import("../answers/connectAnswers").AnswersRenderState, import("../answers/connectAnswers").AnswersConnectorParams> | undefined;
8
9
  autocomplete?: import("../../types").WidgetRenderState<import("../autocomplete/connectAutocomplete").AutocompleteRenderState, import("../autocomplete/connectAutocomplete").AutocompleteConnectorParams> | undefined;
9
10
  breadcrumb?: {
@@ -1,14 +1,14 @@
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
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
3
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(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); }
5
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
6
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
7
- 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; }
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
8
  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; }
9
9
  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; }
10
- 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; }
11
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
10
+ 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; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
12
12
  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); }
13
13
  import { checkRendering, warning, createDocumentationMessageGenerator, noop } from "../../lib/utils/index.js";
14
14
  var withUsage = createDocumentationMessageGenerator({
@@ -36,3 +36,4 @@ export { default as connectVoiceSearch } from './voice-search/connectVoiceSearch
36
36
  export { default as connectRelevantSort } from './relevant-sort/connectRelevantSort';
37
37
  export { default as connectFrequentlyBoughtTogether } from './frequently-bought-together/connectFrequentlyBoughtTogether';
38
38
  export { default as connectLookingSimilar } from './looking-similar/connectLookingSimilar';
39
+ export { default as connectChat } from './chat/connectChat';
@@ -41,4 +41,5 @@ export { default as connectQueryRules } from "./query-rules/connectQueryRules.js
41
41
  export { default as connectVoiceSearch } from "./voice-search/connectVoiceSearch.js";
42
42
  export { default as connectRelevantSort } from "./relevant-sort/connectRelevantSort.js";
43
43
  export { default as connectFrequentlyBoughtTogether } from "./frequently-bought-together/connectFrequentlyBoughtTogether.js";
44
- export { default as connectLookingSimilar } from "./looking-similar/connectLookingSimilar.js";
44
+ export { default as connectLookingSimilar } from "./looking-similar/connectLookingSimilar.js";
45
+ export { default as connectChat } from "./chat/connectChat.js";