instantsearch.js 4.81.0 → 4.83.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/cjs/components/Answers/Answers.js +4 -4
  2. package/cjs/components/Breadcrumb/Breadcrumb.js +2 -2
  3. package/cjs/components/ClearRefinements/ClearRefinements.js +2 -2
  4. package/cjs/components/GeoSearchControls/GeoSearchControls.js +2 -2
  5. package/cjs/components/Highlight/Highlight.js +3 -3
  6. package/cjs/components/InfiniteHits/InfiniteHits.js +4 -4
  7. package/cjs/components/MenuSelect/MenuSelect.js +2 -2
  8. package/cjs/components/Pagination/Pagination.js +1 -1
  9. package/cjs/components/Panel/Panel.js +5 -5
  10. package/cjs/components/QueryRuleCustomData/QueryRuleCustomData.js +1 -1
  11. package/cjs/components/RangeInput/RangeInput.js +14 -14
  12. package/cjs/components/RefinementList/RefinementList.js +16 -16
  13. package/cjs/components/RefinementList/RefinementListItem.js +2 -2
  14. package/cjs/components/RelevantSort/RelevantSort.js +1 -1
  15. package/cjs/components/ReverseHighlight/ReverseHighlight.js +3 -3
  16. package/cjs/components/ReverseSnippet/ReverseSnippet.js +3 -3
  17. package/cjs/components/SearchBox/SearchBox.js +31 -19
  18. package/cjs/components/Slider/Pit.js +2 -2
  19. package/cjs/components/Slider/Rheostat.js +13 -13
  20. package/cjs/components/Slider/Slider.js +19 -19
  21. package/cjs/components/Snippet/Snippet.js +3 -3
  22. package/cjs/components/Stats/Stats.js +6 -6
  23. package/cjs/components/Template/Template.js +18 -18
  24. package/cjs/components/ToggleRefinement/ToggleRefinement.js +2 -2
  25. package/cjs/components/VoiceSearch/VoiceSearch.js +1 -1
  26. package/cjs/connectors/answers/connectAnswers.js +2 -2
  27. package/cjs/connectors/autocomplete/connectAutocomplete.js +2 -2
  28. package/cjs/connectors/breadcrumb/connectBreadcrumb.js +6 -6
  29. package/cjs/connectors/chat/connectChat.js +39 -8
  30. package/cjs/connectors/clear-refinements/connectClearRefinements.js +7 -7
  31. package/cjs/connectors/configure/connectConfigure.js +3 -3
  32. package/cjs/connectors/configure-related-items/connectConfigureRelatedItems.js +8 -8
  33. package/cjs/connectors/current-refinements/connectCurrentRefinements.js +7 -7
  34. package/cjs/connectors/dynamic-widgets/connectDynamicWidgets.js +2 -2
  35. package/cjs/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.js +6 -3
  36. package/cjs/connectors/geo-search/connectGeoSearch.js +2 -2
  37. package/cjs/connectors/hierarchical-menu/connectHierarchicalMenu.js +28 -16
  38. package/cjs/connectors/hits/connectHits.js +2 -2
  39. package/cjs/connectors/hits/connectHitsWithInsights.js +1 -1
  40. package/cjs/connectors/hits-per-page/connectHitsPerPage.js +7 -7
  41. package/cjs/connectors/index.js +1 -1
  42. package/cjs/connectors/index.umd.js +1 -1
  43. package/cjs/connectors/infinite-hits/connectInfiniteHits.js +11 -11
  44. package/cjs/connectors/infinite-hits/connectInfiniteHitsWithInsights.js +1 -1
  45. package/cjs/connectors/looking-similar/connectLookingSimilar.js +3 -3
  46. package/cjs/connectors/menu/connectMenu.js +8 -8
  47. package/cjs/connectors/numeric-menu/connectNumericMenu.js +7 -7
  48. package/cjs/connectors/pagination/Paginator.js +5 -5
  49. package/cjs/connectors/pagination/connectPagination.js +3 -3
  50. package/cjs/connectors/powered-by/connectPoweredBy.js +2 -2
  51. package/cjs/connectors/query-rules/connectQueryRules.js +7 -7
  52. package/cjs/connectors/range/connectRange.js +22 -22
  53. package/cjs/connectors/rating-menu/connectRatingMenu.js +9 -9
  54. package/cjs/connectors/refinement-list/connectRefinementList.js +4 -4
  55. package/cjs/connectors/related-products/connectRelatedProducts.js +3 -3
  56. package/cjs/connectors/relevant-sort/connectRelevantSort.js +2 -2
  57. package/cjs/connectors/search-box/connectSearchBox.js +2 -2
  58. package/cjs/connectors/sort-by/connectSortBy.js +2 -2
  59. package/cjs/connectors/stats/connectStats.js +2 -2
  60. package/cjs/connectors/toggle-refinement/connectToggleRefinement.js +10 -10
  61. package/cjs/connectors/trending-items/connectTrendingItems.js +3 -3
  62. package/cjs/connectors/voice-search/connectVoiceSearch.js +3 -3
  63. package/cjs/helpers/components/Highlight.js +3 -3
  64. package/cjs/helpers/components/ReverseHighlight.js +5 -5
  65. package/cjs/helpers/components/ReverseSnippet.js +5 -5
  66. package/cjs/helpers/components/Snippet.js +3 -3
  67. package/cjs/helpers/index.js +2 -3
  68. package/cjs/index.js +2 -3
  69. package/cjs/lib/InstantSearch.js +13 -13
  70. package/cjs/lib/chat/chat.js +19 -19
  71. package/cjs/lib/createHelpers.js +2 -2
  72. package/cjs/lib/infiniteHitsCache/index.js +1 -1
  73. package/cjs/lib/infiniteHitsCache/sessionStorage.js +2 -2
  74. package/cjs/lib/insights/client.js +2 -2
  75. package/cjs/lib/insights/index.js +2 -3
  76. package/cjs/lib/routers/history.js +8 -8
  77. package/cjs/lib/routers/index.js +1 -1
  78. package/cjs/lib/server.js +2 -2
  79. package/cjs/lib/stateMappings/index.js +1 -1
  80. package/cjs/lib/stateMappings/simple.js +4 -4
  81. package/cjs/lib/stateMappings/singleIndex.js +4 -4
  82. package/cjs/lib/templating/prepareTemplateProps.js +7 -7
  83. package/cjs/lib/templating/renderTemplate.js +3 -3
  84. package/cjs/lib/utils/checkIndexUiState.js +14 -14
  85. package/cjs/lib/utils/createSendEventForFacet.js +6 -6
  86. package/cjs/lib/utils/createSendEventForHits.js +6 -6
  87. package/cjs/lib/utils/escape-highlight.js +4 -4
  88. package/cjs/lib/utils/geo-search.js +4 -4
  89. package/cjs/lib/utils/hits-absolute-position.js +2 -2
  90. package/cjs/lib/utils/hits-query-id.js +2 -2
  91. package/cjs/lib/utils/hydrateRecommendCache.js +2 -2
  92. package/cjs/lib/utils/hydrateSearchClient.js +6 -6
  93. package/cjs/lib/utils/mergeSearchParameters.js +4 -4
  94. package/cjs/lib/utils/range.js +5 -5
  95. package/cjs/lib/utils/reverseHighlightedParts.js +2 -2
  96. package/cjs/lib/version.js +1 -1
  97. package/cjs/lib/voiceSearchHelper/index.js +2 -2
  98. package/cjs/middlewares/createInsightsMiddleware.js +13 -13
  99. package/cjs/middlewares/createRouterMiddleware.js +3 -3
  100. package/cjs/templates/carousel/carousel.js +7 -7
  101. package/cjs/widgets/analytics/analytics.js +2 -2
  102. package/cjs/widgets/answers/answers.js +3 -3
  103. package/cjs/widgets/autocomplete/autocomplete.js +349 -0
  104. package/cjs/widgets/breadcrumb/breadcrumb.js +3 -3
  105. package/cjs/widgets/chat/chat.js +128 -80
  106. package/cjs/widgets/clear-refinements/clear-refinements.js +3 -3
  107. package/cjs/widgets/configure/configure.js +3 -3
  108. package/cjs/widgets/configure-related-items/configure-related-items.js +3 -3
  109. package/cjs/widgets/current-refinements/current-refinements.js +3 -3
  110. package/cjs/widgets/dynamic-widgets/dynamic-widgets.js +5 -5
  111. package/cjs/widgets/frequently-bought-together/frequently-bought-together.js +8 -6
  112. package/cjs/widgets/geo-search/GeoSearchRenderer.js +7 -7
  113. package/cjs/widgets/geo-search/createHTMLMarker.js +12 -12
  114. package/cjs/widgets/geo-search/geo-search.js +5 -5
  115. package/cjs/widgets/hierarchical-menu/hierarchical-menu.js +3 -3
  116. package/cjs/widgets/hits/hits.js +7 -7
  117. package/cjs/widgets/hits-per-page/hits-per-page.js +3 -3
  118. package/cjs/widgets/index/index.js +12 -16
  119. package/cjs/widgets/index.js +10 -2
  120. package/cjs/widgets/index.umd.js +10 -2
  121. package/cjs/widgets/infinite-hits/infinite-hits.js +3 -3
  122. package/cjs/widgets/looking-similar/looking-similar.js +6 -6
  123. package/cjs/widgets/menu/menu.js +3 -3
  124. package/cjs/widgets/menu-select/menu-select.js +3 -3
  125. package/cjs/widgets/numeric-menu/numeric-menu.js +3 -3
  126. package/cjs/widgets/pagination/pagination.js +3 -3
  127. package/cjs/widgets/panel/panel.js +3 -3
  128. package/cjs/widgets/places/places.js +4 -4
  129. package/cjs/widgets/powered-by/powered-by.js +3 -3
  130. package/cjs/widgets/query-rule-context/query-rule-context.js +3 -3
  131. package/cjs/widgets/query-rule-custom-data/query-rule-custom-data.js +3 -3
  132. package/cjs/widgets/range-input/range-input.js +7 -7
  133. package/cjs/widgets/range-slider/range-slider.js +7 -7
  134. package/cjs/widgets/rating-menu/rating-menu.js +3 -3
  135. package/cjs/widgets/refinement-list/refinement-list.js +3 -3
  136. package/cjs/widgets/related-products/related-products.js +6 -6
  137. package/cjs/widgets/relevant-sort/relevant-sort.js +3 -3
  138. package/cjs/widgets/search-box/search-box.js +3 -3
  139. package/cjs/widgets/sort-by/sort-by.js +3 -3
  140. package/cjs/widgets/stats/stats.js +3 -3
  141. package/cjs/widgets/toggle-refinement/toggle-refinement.js +3 -3
  142. package/cjs/widgets/trending-items/trending-items.js +6 -6
  143. package/cjs/widgets/voice-search/voice-search.js +3 -3
  144. package/dist/instantsearch.development.d.ts +108 -3
  145. package/dist/instantsearch.development.js +1678 -638
  146. package/dist/instantsearch.development.js.map +1 -1
  147. package/dist/instantsearch.production.d.ts +108 -3
  148. package/dist/instantsearch.production.min.d.ts +108 -3
  149. package/dist/instantsearch.production.min.js +2 -2
  150. package/dist/instantsearch.production.min.js.map +1 -1
  151. package/es/components/Answers/Answers.js +3 -3
  152. package/es/components/Breadcrumb/Breadcrumb.js +1 -1
  153. package/es/components/ClearRefinements/ClearRefinements.js +1 -1
  154. package/es/components/GeoSearchControls/GeoSearchControls.js +1 -1
  155. package/es/components/Highlight/Highlight.js +3 -3
  156. package/es/components/InfiniteHits/InfiniteHits.js +3 -3
  157. package/es/components/MenuSelect/MenuSelect.js +1 -1
  158. package/es/components/Panel/Panel.js +4 -4
  159. package/es/components/RangeInput/RangeInput.js +13 -13
  160. package/es/components/RefinementList/RefinementList.js +15 -15
  161. package/es/components/RefinementList/RefinementListItem.js +1 -1
  162. package/es/components/ReverseHighlight/ReverseHighlight.js +3 -3
  163. package/es/components/ReverseSnippet/ReverseSnippet.js +3 -3
  164. package/es/components/SearchBox/SearchBox.d.ts +4 -0
  165. package/es/components/SearchBox/SearchBox.js +30 -18
  166. package/es/components/Slider/Pit.js +2 -2
  167. package/es/components/Slider/Rheostat.js +13 -13
  168. package/es/components/Slider/Slider.js +18 -18
  169. package/es/components/Snippet/Snippet.js +3 -3
  170. package/es/components/Stats/Stats.js +5 -5
  171. package/es/components/Template/Template.js +18 -18
  172. package/es/components/ToggleRefinement/ToggleRefinement.js +1 -1
  173. package/es/connectors/answers/connectAnswers.js +2 -2
  174. package/es/connectors/autocomplete/connectAutocomplete.js +2 -2
  175. package/es/connectors/breadcrumb/connectBreadcrumb.js +6 -6
  176. package/es/connectors/chat/connectChat.d.ts +21 -1
  177. package/es/connectors/chat/connectChat.js +39 -8
  178. package/es/connectors/clear-refinements/connectClearRefinements.js +7 -7
  179. package/es/connectors/configure/connectConfigure.js +2 -2
  180. package/es/connectors/configure-related-items/connectConfigureRelatedItems.js +7 -7
  181. package/es/connectors/current-refinements/connectCurrentRefinements.js +7 -7
  182. package/es/connectors/dynamic-widgets/connectDynamicWidgets.js +2 -2
  183. package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.d.ts +4 -0
  184. package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.js +6 -3
  185. package/es/connectors/geo-search/connectGeoSearch.js +2 -2
  186. package/es/connectors/hierarchical-menu/connectHierarchicalMenu.js +28 -16
  187. package/es/connectors/hits/connectHits.js +2 -2
  188. package/es/connectors/hits-per-page/connectHitsPerPage.js +7 -7
  189. package/es/connectors/infinite-hits/connectInfiniteHits.js +11 -11
  190. package/es/connectors/looking-similar/connectLookingSimilar.js +3 -3
  191. package/es/connectors/menu/connectMenu.js +8 -8
  192. package/es/connectors/numeric-menu/connectNumericMenu.js +7 -7
  193. package/es/connectors/pagination/Paginator.js +5 -5
  194. package/es/connectors/pagination/connectPagination.js +2 -2
  195. package/es/connectors/powered-by/connectPoweredBy.js +2 -2
  196. package/es/connectors/query-rules/connectQueryRules.js +7 -7
  197. package/es/connectors/range/connectRange.js +22 -22
  198. package/es/connectors/rating-menu/connectRatingMenu.js +9 -9
  199. package/es/connectors/refinement-list/connectRefinementList.js +4 -4
  200. package/es/connectors/related-products/connectRelatedProducts.js +3 -3
  201. package/es/connectors/relevant-sort/connectRelevantSort.js +2 -2
  202. package/es/connectors/search-box/connectSearchBox.js +2 -2
  203. package/es/connectors/sort-by/connectSortBy.js +2 -2
  204. package/es/connectors/stats/connectStats.js +2 -2
  205. package/es/connectors/toggle-refinement/connectToggleRefinement.js +10 -10
  206. package/es/connectors/trending-items/connectTrendingItems.js +3 -3
  207. package/es/connectors/voice-search/connectVoiceSearch.js +2 -2
  208. package/es/helpers/components/Highlight.js +3 -3
  209. package/es/helpers/components/ReverseHighlight.js +5 -5
  210. package/es/helpers/components/ReverseSnippet.js +5 -5
  211. package/es/helpers/components/Snippet.js +3 -3
  212. package/es/lib/InstantSearch.d.ts +1 -1
  213. package/es/lib/InstantSearch.js +12 -12
  214. package/es/lib/chat/chat.js +19 -19
  215. package/es/lib/createHelpers.js +2 -2
  216. package/es/lib/infiniteHitsCache/sessionStorage.js +2 -2
  217. package/es/lib/insights/client.js +2 -2
  218. package/es/lib/routers/history.js +7 -7
  219. package/es/lib/server.js +2 -2
  220. package/es/lib/stateMappings/simple.js +4 -4
  221. package/es/lib/stateMappings/singleIndex.js +4 -4
  222. package/es/lib/templating/prepareTemplateProps.js +7 -7
  223. package/es/lib/templating/renderTemplate.js +2 -2
  224. package/es/lib/utils/checkIndexUiState.js +14 -14
  225. package/es/lib/utils/createSendEventForFacet.js +6 -6
  226. package/es/lib/utils/createSendEventForHits.js +6 -6
  227. package/es/lib/utils/escape-highlight.js +4 -4
  228. package/es/lib/utils/geo-search.js +4 -4
  229. package/es/lib/utils/hits-absolute-position.js +2 -2
  230. package/es/lib/utils/hits-query-id.js +2 -2
  231. package/es/lib/utils/hydrateRecommendCache.js +2 -2
  232. package/es/lib/utils/hydrateSearchClient.js +6 -6
  233. package/es/lib/utils/mergeSearchParameters.js +4 -4
  234. package/es/lib/utils/range.js +5 -5
  235. package/es/lib/utils/reverseHighlightedParts.js +2 -2
  236. package/es/lib/version.d.ts +1 -1
  237. package/es/lib/version.js +1 -1
  238. package/es/lib/voiceSearchHelper/index.js +2 -2
  239. package/es/middlewares/createInsightsMiddleware.js +13 -13
  240. package/es/middlewares/createRouterMiddleware.js +2 -2
  241. package/es/templates/carousel/carousel.js +7 -7
  242. package/es/types/widget.d.ts +8 -1
  243. package/es/widgets/analytics/analytics.js +2 -2
  244. package/es/widgets/answers/answers.js +2 -2
  245. package/es/widgets/autocomplete/autocomplete.d.ts +75 -0
  246. package/es/widgets/autocomplete/autocomplete.js +342 -0
  247. package/es/widgets/breadcrumb/breadcrumb.js +2 -2
  248. package/es/widgets/chat/chat.d.ts +44 -1
  249. package/es/widgets/chat/chat.js +127 -79
  250. package/es/widgets/clear-refinements/clear-refinements.js +2 -2
  251. package/es/widgets/configure/configure.js +2 -2
  252. package/es/widgets/configure-related-items/configure-related-items.js +2 -2
  253. package/es/widgets/current-refinements/current-refinements.js +2 -2
  254. package/es/widgets/dynamic-widgets/dynamic-widgets.js +4 -4
  255. package/es/widgets/frequently-bought-together/frequently-bought-together.js +7 -5
  256. package/es/widgets/geo-search/GeoSearchRenderer.js +6 -6
  257. package/es/widgets/geo-search/createHTMLMarker.js +12 -12
  258. package/es/widgets/geo-search/geo-search.js +4 -4
  259. package/es/widgets/hierarchical-menu/hierarchical-menu.js +2 -2
  260. package/es/widgets/hits/hits.js +6 -6
  261. package/es/widgets/hits-per-page/hits-per-page.js +2 -2
  262. package/es/widgets/index/index.d.ts +1 -1
  263. package/es/widgets/index/index.js +11 -15
  264. package/es/widgets/index.d.ts +1 -0
  265. package/es/widgets/index.js +1 -0
  266. package/es/widgets/index.umd.d.ts +1 -0
  267. package/es/widgets/index.umd.js +1 -0
  268. package/es/widgets/infinite-hits/infinite-hits.js +2 -2
  269. package/es/widgets/looking-similar/looking-similar.js +5 -5
  270. package/es/widgets/menu/menu.js +2 -2
  271. package/es/widgets/menu-select/menu-select.js +2 -2
  272. package/es/widgets/numeric-menu/numeric-menu.js +2 -2
  273. package/es/widgets/pagination/pagination.js +2 -2
  274. package/es/widgets/panel/panel.js +2 -2
  275. package/es/widgets/places/places.js +4 -4
  276. package/es/widgets/powered-by/powered-by.js +2 -2
  277. package/es/widgets/query-rule-context/query-rule-context.js +2 -2
  278. package/es/widgets/query-rule-custom-data/query-rule-custom-data.js +2 -2
  279. package/es/widgets/range-input/range-input.js +6 -6
  280. package/es/widgets/range-slider/range-slider.js +6 -6
  281. package/es/widgets/rating-menu/rating-menu.js +2 -2
  282. package/es/widgets/refinement-list/refinement-list.js +2 -2
  283. package/es/widgets/related-products/related-products.js +5 -5
  284. package/es/widgets/relevant-sort/relevant-sort.js +2 -2
  285. package/es/widgets/search-box/search-box.js +2 -2
  286. package/es/widgets/sort-by/sort-by.js +2 -2
  287. package/es/widgets/stats/stats.js +2 -2
  288. package/es/widgets/toggle-refinement/toggle-refinement.js +2 -2
  289. package/es/widgets/trending-items/trending-items.js +5 -5
  290. package/es/widgets/voice-search/voice-search.js +2 -2
  291. package/package.json +7 -7
@@ -7,12 +7,12 @@ exports.createRouterMiddleware = void 0;
7
7
  var _history = _interopRequireDefault(require("../lib/routers/history"));
8
8
  var _simple = _interopRequireDefault(require("../lib/stateMappings/simple"));
9
9
  var _utils = require("../lib/utils");
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
11
  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); }
12
12
  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; }
13
13
  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; }
14
- 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; }
15
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
14
+ 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; }
15
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
16
16
  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); }
17
17
  var createRouterMiddleware = exports.createRouterMiddleware = function createRouterMiddleware() {
18
18
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -11,16 +11,16 @@ var _preact2 = require("preact");
11
11
  var _hooks = require("preact/hooks");
12
12
  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; }
13
13
  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; }
14
- 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; }
15
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
14
+ 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; }
15
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
16
16
  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); }
17
- 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); }
18
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
17
+ 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); }
18
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
19
19
  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."); }
20
- 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); }
21
- 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; }
20
+ 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; } }
21
+ 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; }
22
22
  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; } }
23
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
23
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
24
24
  var Carousel = (0, _instantsearchUiComponents.createCarouselComponent)({
25
25
  createElement: _preact2.h,
26
26
  Fragment: _preact2.Fragment
@@ -8,8 +8,8 @@ var _utils = require("../../lib/utils");
8
8
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
9
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
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(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; }
12
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
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
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
14
  var withUsage = (0, _utils.createDocumentationMessageGenerator)({
15
15
  name: 'analytics'
@@ -12,12 +12,12 @@ var _suit = require("../../lib/suit");
12
12
  var _templating = require("../../lib/templating");
13
13
  var _utils = require("../../lib/utils");
14
14
  var _defaultTemplates = _interopRequireDefault(require("./defaultTemplates"));
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
16
  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); }
17
17
  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; }
18
18
  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; }
19
- 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; }
20
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
19
+ 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; }
20
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
21
21
  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); }
22
22
  var withUsage = (0, _utils.createDocumentationMessageGenerator)({
23
23
  name: 'answers'
@@ -0,0 +1,349 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EXPERIMENTAL_autocomplete = EXPERIMENTAL_autocomplete;
7
+ var _instantsearchUiComponents = require("instantsearch-ui-components");
8
+ var _preact = require("preact");
9
+ var _hooks = require("preact/hooks");
10
+ var _Template = _interopRequireDefault(require("../../components/Template/Template"));
11
+ var _index = require("../../connectors/index.umd");
12
+ var _suit = require("../../lib/suit");
13
+ var _templating = require("../../lib/templating");
14
+ var _utils = require("../../lib/utils");
15
+ var _configure = _interopRequireDefault(require("../configure/configure"));
16
+ var _index2 = _interopRequireDefault(require("../index/index"));
17
+ var _excluded = ["instanceId", "containerNode"];
18
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
20
+ 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."); }
21
+ 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; } }
22
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
23
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
24
+ 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; }
25
+ 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); }
26
+ 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; }
27
+ 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; }
28
+ 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; }
29
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
30
+ 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); }
31
+ 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); }
32
+ 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; }
33
+ 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; }
34
+ var autocompleteInstanceId = 0;
35
+ var withUsage = (0, _utils.createDocumentationMessageGenerator)({
36
+ name: 'autocomplete'
37
+ });
38
+ var suit = (0, _suit.component)('Autocomplete');
39
+ var Autocomplete = (0, _instantsearchUiComponents.createAutocompleteComponent)({
40
+ createElement: _preact.h,
41
+ Fragment: _preact.Fragment
42
+ });
43
+ var AutocompletePanel = (0, _instantsearchUiComponents.createAutocompletePanelComponent)({
44
+ createElement: _preact.h,
45
+ Fragment: _preact.Fragment
46
+ });
47
+ var AutocompleteIndex = (0, _instantsearchUiComponents.createAutocompleteIndexComponent)({
48
+ createElement: _preact.h,
49
+ Fragment: _preact.Fragment
50
+ });
51
+ var AutocompleteSuggestion = (0, _instantsearchUiComponents.createAutocompleteSuggestionComponent)({
52
+ createElement: _preact.h,
53
+ Fragment: _preact.Fragment
54
+ });
55
+ var AutocompleteSearchBox = (0, _instantsearchUiComponents.createAutocompleteSearchComponent)({
56
+ createElement: _preact.h,
57
+ Fragment: _preact.Fragment
58
+ });
59
+ var AutocompleteRecentSearch = (0, _instantsearchUiComponents.createAutocompleteRecentSearchComponent)({
60
+ createElement: _preact.h,
61
+ Fragment: _preact.Fragment
62
+ });
63
+ var usePropGetters = (0, _instantsearchUiComponents.createAutocompletePropGetters)({
64
+ useEffect: _hooks.useEffect,
65
+ useId: _hooks.useId,
66
+ useMemo: _hooks.useMemo,
67
+ useRef: _hooks.useRef,
68
+ useState: _hooks.useState
69
+ });
70
+ var useStorage = (0, _instantsearchUiComponents.createAutocompleteStorage)({
71
+ useEffect: _hooks.useEffect,
72
+ useState: _hooks.useState,
73
+ useMemo: _hooks.useMemo
74
+ });
75
+ var createRenderer = function createRenderer(params) {
76
+ var instanceId = params.instanceId,
77
+ containerNode = params.containerNode,
78
+ rendererParams = _objectWithoutProperties(params, _excluded);
79
+ return function (connectorParams, isFirstRendering) {
80
+ if (isFirstRendering) {
81
+ var _targetIndex$getHelpe, _targetIndex$getHelpe2;
82
+ var isolatedIndex = connectorParams.instantSearchInstance.mainIndex;
83
+ var targetIndex = connectorParams.instantSearchInstance.mainIndex;
84
+ (0, _utils.walkIndex)(targetIndex, function (childIndex) {
85
+ if (childIndex.getIndexId() === "ais-autocomplete-".concat(instanceId)) {
86
+ isolatedIndex = childIndex;
87
+ targetIndex = childIndex.parent;
88
+ }
89
+ });
90
+ rendererParams.renderState = {
91
+ indexTemplateProps: [],
92
+ isolatedIndex: isolatedIndex,
93
+ targetIndex: targetIndex
94
+ };
95
+ connectorParams.refine((_targetIndex$getHelpe = (_targetIndex$getHelpe2 = targetIndex.getHelper()) === null || _targetIndex$getHelpe2 === void 0 ? void 0 : _targetIndex$getHelpe2.state.query) !== null && _targetIndex$getHelpe !== void 0 ? _targetIndex$getHelpe : '');
96
+ return;
97
+ }
98
+ (0, _preact.render)((0, _preact.h)(AutocompleteWrapper, _extends({}, rendererParams, connectorParams)), containerNode);
99
+ };
100
+ };
101
+ function AutocompleteWrapper(_ref) {
102
+ var _isolatedIndex$getHel, _targetIndex$getWidge, _showRecent$templates;
103
+ var indicesConfig = _ref.indicesConfig,
104
+ indices = _ref.indices,
105
+ getSearchPageURL = _ref.getSearchPageURL,
106
+ userOnSelect = _ref.onSelect,
107
+ refine = _ref.refine,
108
+ cssClasses = _ref.cssClasses,
109
+ renderState = _ref.renderState,
110
+ instantSearchInstance = _ref.instantSearchInstance,
111
+ showRecent = _ref.showRecent;
112
+ var isolatedIndex = renderState.isolatedIndex,
113
+ targetIndex = renderState.targetIndex;
114
+ var searchboxQuery = isolatedIndex === null || isolatedIndex === void 0 ? void 0 : (_isolatedIndex$getHel = isolatedIndex.getHelper()) === null || _isolatedIndex$getHel === void 0 ? void 0 : _isolatedIndex$getHel.state.query;
115
+ var _useStorage = useStorage({
116
+ query: searchboxQuery,
117
+ showRecent: showRecent,
118
+ indices: indices,
119
+ indicesConfig: indicesConfig
120
+ }),
121
+ storage = _useStorage.storage,
122
+ storageHits = _useStorage.storageHits,
123
+ indicesConfigForPropGetters = _useStorage.indicesConfigForPropGetters,
124
+ indicesForPropGetters = _useStorage.indicesForPropGetters;
125
+ var isSearchPage = (_targetIndex$getWidge = targetIndex === null || targetIndex === void 0 ? void 0 : targetIndex.getWidgets().some(function (_ref2) {
126
+ var $$type = _ref2.$$type;
127
+ return ['ais.hits', 'ais.infiniteHits'].includes($$type);
128
+ })) !== null && _targetIndex$getWidge !== void 0 ? _targetIndex$getWidge : false;
129
+ var onRefine = function onRefine(query) {
130
+ instantSearchInstance.setUiState(function (uiState) {
131
+ var _objectSpread2;
132
+ return _objectSpread(_objectSpread({}, uiState), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, targetIndex.getIndexId(), _objectSpread(_objectSpread({}, uiState[targetIndex.getIndexId()]), {}, {
133
+ query: query
134
+ })), _defineProperty(_objectSpread2, isolatedIndex.getIndexId(), {
135
+ query: query
136
+ }), _objectSpread2));
137
+ });
138
+ query.length > 0 && storage.onAdd(query);
139
+ };
140
+ var _usePropGetters = usePropGetters({
141
+ indices: indicesForPropGetters,
142
+ indicesConfig: indicesConfigForPropGetters,
143
+ onRefine: onRefine,
144
+ onSelect: userOnSelect !== null && userOnSelect !== void 0 ? userOnSelect : function (_ref3) {
145
+ var query = _ref3.query,
146
+ setQuery = _ref3.setQuery,
147
+ url = _ref3.url;
148
+ if (url) {
149
+ window.location.href = url;
150
+ return;
151
+ }
152
+ if (!isSearchPage && typeof getSearchPageURL !== 'undefined') {
153
+ var indexUiState = instantSearchInstance.getUiState()[targetIndex.getIndexId()];
154
+ window.location.href = getSearchPageURL(_objectSpread(_objectSpread({}, indexUiState), {}, {
155
+ query: query
156
+ }));
157
+ return;
158
+ }
159
+ setQuery(query);
160
+ }
161
+ }),
162
+ getInputProps = _usePropGetters.getInputProps,
163
+ getItemProps = _usePropGetters.getItemProps,
164
+ getPanelProps = _usePropGetters.getPanelProps,
165
+ getRootProps = _usePropGetters.getRootProps;
166
+ var AutocompleteRecentSearchComponent = AutocompleteRecentSearch;
167
+ if (_typeof(showRecent) === 'object' && (_showRecent$templates = showRecent.templates) !== null && _showRecent$templates !== void 0 && _showRecent$templates.item) {
168
+ var props = (0, _templating.prepareTemplateProps)({
169
+ defaultTemplates: {},
170
+ templatesConfig: instantSearchInstance.templatesConfig,
171
+ templates: showRecent.templates
172
+ });
173
+ AutocompleteRecentSearchComponent = function AutocompleteRecentSearchComponent(_ref4) {
174
+ var item = _ref4.item,
175
+ onSelect = _ref4.onSelect,
176
+ onRemoveRecentSearch = _ref4.onRemoveRecentSearch;
177
+ return (0, _preact.h)(_Template.default, _extends({}, props, {
178
+ templateKey: "item",
179
+ rootTagName: "fragment",
180
+ data: {
181
+ item: item,
182
+ onSelect: onSelect,
183
+ onRemoveRecentSearch: onRemoveRecentSearch
184
+ }
185
+ }));
186
+ };
187
+ }
188
+ return (0, _preact.h)(Autocomplete, _extends({}, getRootProps(), {
189
+ classNames: cssClasses
190
+ }), (0, _preact.h)(AutocompleteSearchBox, {
191
+ query: searchboxQuery || '',
192
+ inputProps: _objectSpread(_objectSpread({}, getInputProps()), {}, {
193
+ // @ts-ignore - This clashes with some ambient React JSX declarations.
194
+ onInput: function onInput(evt) {
195
+ return refine(evt.currentTarget.value);
196
+ }
197
+ }),
198
+ onClear: function onClear() {
199
+ return onRefine('');
200
+ },
201
+ isSearchStalled: instantSearchInstance.status === 'stalled'
202
+ }), (0, _preact.h)(AutocompletePanel, getPanelProps(), showRecent && (0, _preact.h)(AutocompleteIndex
203
+ // @ts-ignore - there seems to be problems with React.ComponentType and this, but it's actually correct
204
+ , {
205
+ ItemComponent: function ItemComponent(_ref5) {
206
+ var item = _ref5.item,
207
+ onSelect = _ref5.onSelect;
208
+ return (0, _preact.h)(AutocompleteRecentSearchComponent, {
209
+ item: item,
210
+ onSelect: onSelect,
211
+ onRemoveRecentSearch: function onRemoveRecentSearch() {
212
+ return storage.onRemove(item.query);
213
+ }
214
+ });
215
+ },
216
+ classNames: {
217
+ root: 'ais-AutocompleteRecentSearches',
218
+ list: 'ais-AutocompleteRecentSearchesList',
219
+ item: 'ais-AutocompleteRecentSearchesItem'
220
+ },
221
+ items: storageHits,
222
+ getItemProps: getItemProps
223
+ }), indices.map(function (_ref6, i) {
224
+ var _indicesConfig$i$temp;
225
+ var indexId = _ref6.indexId,
226
+ hits = _ref6.hits;
227
+ if (!renderState.indexTemplateProps[i]) {
228
+ renderState.indexTemplateProps[i] = (0, _templating.prepareTemplateProps)({
229
+ defaultTemplates: {},
230
+ templatesConfig: instantSearchInstance.templatesConfig,
231
+ templates: indicesConfig[i].templates
232
+ });
233
+ }
234
+ var headerComponent = (_indicesConfig$i$temp = indicesConfig[i].templates) !== null && _indicesConfig$i$temp !== void 0 && _indicesConfig$i$temp.header ? function (_ref7) {
235
+ var items = _ref7.items;
236
+ return (0, _preact.h)(_Template.default, _extends({}, renderState.indexTemplateProps[i], {
237
+ templateKey: "header",
238
+ rootTagName: "fragment",
239
+ data: {
240
+ items: items
241
+ }
242
+ }));
243
+ } : undefined;
244
+ var itemComponent = function itemComponent(_ref8) {
245
+ var item = _ref8.item,
246
+ onSelect = _ref8.onSelect;
247
+ return (0, _preact.h)(_Template.default, _extends({}, renderState.indexTemplateProps[i], {
248
+ templateKey: "item",
249
+ rootTagName: "fragment",
250
+ data: {
251
+ item: item,
252
+ onSelect: onSelect
253
+ }
254
+ }));
255
+ };
256
+ return (0, _preact.h)(AutocompleteIndex, {
257
+ key: indexId,
258
+ HeaderComponent: headerComponent,
259
+ ItemComponent: itemComponent,
260
+ items: hits.map(function (item) {
261
+ return _objectSpread(_objectSpread({}, item), {}, {
262
+ __indexName: indexId
263
+ });
264
+ }),
265
+ getItemProps: getItemProps,
266
+ classNames: indicesConfig[i].cssClasses
267
+ });
268
+ })));
269
+ }
270
+ function EXPERIMENTAL_autocomplete(widgetParams) {
271
+ var _ref9 = widgetParams || {},
272
+ container = _ref9.container,
273
+ escapeHTML = _ref9.escapeHTML,
274
+ _ref9$indices = _ref9.indices,
275
+ indices = _ref9$indices === void 0 ? [] : _ref9$indices,
276
+ showSuggestions = _ref9.showSuggestions,
277
+ showRecent = _ref9.showRecent,
278
+ getSearchPageURL = _ref9.getSearchPageURL,
279
+ onSelect = _ref9.onSelect,
280
+ _ref9$templates = _ref9.templates,
281
+ templates = _ref9$templates === void 0 ? {} : _ref9$templates,
282
+ _ref9$cssClasses = _ref9.cssClasses,
283
+ userCssClasses = _ref9$cssClasses === void 0 ? {} : _ref9$cssClasses;
284
+ if (!container) {
285
+ throw new Error(withUsage('The `container` option is required.'));
286
+ }
287
+ var containerNode = (0, _utils.getContainerNode)(container);
288
+ var cssClasses = {
289
+ root: (0, _instantsearchUiComponents.cx)(suit(), userCssClasses.root)
290
+ };
291
+ var indicesConfig = _toConsumableArray(indices);
292
+ if (showSuggestions !== null && showSuggestions !== void 0 && showSuggestions.indexName) {
293
+ var _showSuggestions$cssC, _showSuggestions$cssC2, _showSuggestions$cssC3, _showSuggestions$cssC4;
294
+ indicesConfig.unshift({
295
+ indexName: showSuggestions.indexName,
296
+ templates: _objectSpread({
297
+ // @ts-expect-error
298
+ item: AutocompleteSuggestion
299
+ }, showSuggestions.templates),
300
+ cssClasses: {
301
+ root: (0, _instantsearchUiComponents.cx)('ais-AutocompleteSuggestions', (_showSuggestions$cssC = showSuggestions.cssClasses) === null || _showSuggestions$cssC === void 0 ? void 0 : _showSuggestions$cssC.root),
302
+ list: (0, _instantsearchUiComponents.cx)('ais-AutocompleteSuggestionsList', (_showSuggestions$cssC2 = showSuggestions.cssClasses) === null || _showSuggestions$cssC2 === void 0 ? void 0 : _showSuggestions$cssC2.list),
303
+ header: (0, _instantsearchUiComponents.cx)('ais-AutocompleteSuggestionsHeader', (_showSuggestions$cssC3 = showSuggestions.cssClasses) === null || _showSuggestions$cssC3 === void 0 ? void 0 : _showSuggestions$cssC3.header),
304
+ item: (0, _instantsearchUiComponents.cx)('ais-AutocompleteSuggestionsItem', (_showSuggestions$cssC4 = showSuggestions.cssClasses) === null || _showSuggestions$cssC4 === void 0 ? void 0 : _showSuggestions$cssC4.item)
305
+ },
306
+ getQuery: function getQuery(item) {
307
+ return item.query;
308
+ },
309
+ getURL: showSuggestions.getURL
310
+ });
311
+ }
312
+ var instanceId = ++autocompleteInstanceId;
313
+ var specializedRenderer = createRenderer({
314
+ instanceId: instanceId,
315
+ containerNode: containerNode,
316
+ indicesConfig: indicesConfig,
317
+ getSearchPageURL: getSearchPageURL,
318
+ onSelect: onSelect,
319
+ cssClasses: cssClasses,
320
+ showRecent: showRecent,
321
+ renderState: {
322
+ indexTemplateProps: [],
323
+ isolatedIndex: undefined,
324
+ targetIndex: undefined
325
+ },
326
+ templates: templates
327
+ });
328
+ var makeWidget = (0, _index.connectAutocomplete)(specializedRenderer, function () {
329
+ return (0, _preact.render)(null, containerNode);
330
+ });
331
+ return [(0, _index.connectSearchBox)(function () {
332
+ return null;
333
+ })({}), (0, _index2.default)({
334
+ indexId: "ais-autocomplete-".concat(instanceId),
335
+ EXPERIMENTAL_isolated: true
336
+ }).addWidgets([].concat(_toConsumableArray(indicesConfig.map(function (_ref0) {
337
+ var indexName = _ref0.indexName;
338
+ return (0, _index2.default)({
339
+ indexName: indexName,
340
+ indexId: indexName
341
+ }).addWidgets([(0, _configure.default)({
342
+ hitsPerPage: 5
343
+ })]);
344
+ })), [_objectSpread(_objectSpread({}, makeWidget({
345
+ escapeHTML: escapeHTML
346
+ })), {}, {
347
+ $$widgetType: 'ais.autocomplete'
348
+ })]))];
349
+ }
@@ -12,12 +12,12 @@ var _suit = require("../../lib/suit");
12
12
  var _templating = require("../../lib/templating");
13
13
  var _utils = require("../../lib/utils");
14
14
  var _defaultTemplates = _interopRequireDefault(require("./defaultTemplates"));
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
16
  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); }
17
17
  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; }
18
18
  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; }
19
- 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; }
20
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
19
+ 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; }
20
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
21
21
  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); }
22
22
  var withUsage = (0, _utils.createDocumentationMessageGenerator)({
23
23
  name: 'breadcrumb'