instantsearch.js 4.33.2 → 4.37.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 (274) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +2 -1
  3. package/cjs/components/Answers/Answers.js +1 -1
  4. package/cjs/components/Breadcrumb/Breadcrumb.js +1 -1
  5. package/cjs/components/ClearRefinements/ClearRefinements.js +1 -1
  6. package/cjs/components/CurrentRefinements/CurrentRefinements.js +3 -3
  7. package/cjs/components/GeoSearchControls/GeoSearchControls.js +3 -3
  8. package/cjs/components/Hits/Hits.js +1 -1
  9. package/cjs/components/InfiniteHits/InfiniteHits.js +1 -1
  10. package/cjs/components/MenuSelect/MenuSelect.js +3 -3
  11. package/cjs/components/Pagination/Pagination.js +71 -161
  12. package/cjs/components/Pagination/PaginationLink.js +26 -13
  13. package/cjs/components/Panel/Panel.js +1 -1
  14. package/cjs/components/QueryRuleCustomData/QueryRuleCustomData.js +1 -1
  15. package/cjs/components/RangeInput/RangeInput.js +1 -1
  16. package/cjs/components/RefinementList/RefinementList.js +6 -6
  17. package/cjs/components/RefinementList/RefinementListItem.js +1 -1
  18. package/cjs/components/RelevantSort/RelevantSort.js +1 -1
  19. package/cjs/components/SearchBox/SearchBox.js +9 -10
  20. package/cjs/components/Slider/Slider.js +5 -5
  21. package/cjs/components/Stats/Stats.js +1 -1
  22. package/cjs/components/Template/Template.js +3 -3
  23. package/cjs/components/ToggleRefinement/ToggleRefinement.js +1 -1
  24. package/cjs/components/VoiceSearch/VoiceSearch.js +1 -1
  25. package/cjs/connectors/answers/connectAnswers.js +10 -10
  26. package/cjs/connectors/autocomplete/connectAutocomplete.js +11 -10
  27. package/cjs/connectors/breadcrumb/connectBreadcrumb.js +5 -5
  28. package/cjs/connectors/clear-refinements/connectClearRefinements.js +9 -9
  29. package/cjs/connectors/configure/connectConfigure.js +8 -8
  30. package/cjs/connectors/configure-related-items/connectConfigureRelatedItems.js +5 -5
  31. package/cjs/connectors/current-refinements/connectCurrentRefinements.js +6 -6
  32. package/cjs/connectors/dynamic-widgets/connectDynamicWidgets.js +35 -10
  33. package/cjs/connectors/geo-search/connectGeoSearch.js +11 -11
  34. package/cjs/connectors/hierarchical-menu/connectHierarchicalMenu.js +6 -6
  35. package/cjs/connectors/hits/connectHits.js +11 -11
  36. package/cjs/connectors/hits/connectHitsWithInsights.js +3 -3
  37. package/cjs/connectors/hits-per-page/connectHitsPerPage.js +6 -6
  38. package/cjs/connectors/index.js +31 -31
  39. package/cjs/connectors/infinite-hits/connectInfiniteHits.js +13 -13
  40. package/cjs/connectors/infinite-hits/connectInfiniteHitsWithInsights.js +3 -3
  41. package/cjs/connectors/menu/connectMenu.js +5 -5
  42. package/cjs/connectors/numeric-menu/connectNumericMenu.js +7 -7
  43. package/cjs/connectors/pagination/Paginator.js +3 -3
  44. package/cjs/connectors/pagination/connectPagination.js +8 -8
  45. package/cjs/connectors/powered-by/connectPoweredBy.js +5 -5
  46. package/cjs/connectors/query-rules/connectQueryRules.js +7 -7
  47. package/cjs/connectors/range/connectRange.js +27 -27
  48. package/cjs/connectors/rating-menu/connectRatingMenu.js +6 -6
  49. package/cjs/connectors/refinement-list/connectRefinementList.js +8 -8
  50. package/cjs/connectors/relevant-sort/connectRelevantSort.js +3 -3
  51. package/cjs/connectors/search-box/connectSearchBox.js +8 -7
  52. package/cjs/connectors/sort-by/connectSortBy.js +8 -7
  53. package/cjs/connectors/stats/connectStats.js +8 -8
  54. package/cjs/connectors/toggle-refinement/connectToggleRefinement.js +12 -12
  55. package/cjs/connectors/voice-search/connectVoiceSearch.js +6 -6
  56. package/cjs/helpers/get-insights-anonymous-user-token.js +2 -2
  57. package/cjs/helpers/highlight.js +4 -4
  58. package/cjs/helpers/index.js +6 -6
  59. package/cjs/helpers/insights.js +4 -4
  60. package/cjs/helpers/reverseHighlight.js +5 -5
  61. package/cjs/helpers/reverseSnippet.js +5 -5
  62. package/cjs/helpers/snippet.js +4 -4
  63. package/cjs/index.js +9 -9
  64. package/cjs/lib/InstantSearch.js +44 -23
  65. package/cjs/lib/createHelpers.js +6 -6
  66. package/cjs/lib/infiniteHitsCache/index.js +1 -1
  67. package/cjs/lib/infiniteHitsCache/sessionStorage.js +4 -4
  68. package/cjs/lib/insights/client.js +5 -5
  69. package/cjs/lib/insights/index.js +2 -2
  70. package/cjs/lib/insights/listener.js +3 -3
  71. package/cjs/lib/routers/history.js +6 -6
  72. package/cjs/lib/routers/index.js +1 -1
  73. package/cjs/lib/stateMappings/index.js +2 -2
  74. package/cjs/lib/utils/checkIndexUiState.js +3 -3
  75. package/cjs/lib/utils/checkRendering.js +1 -1
  76. package/cjs/lib/utils/concatHighlightedParts.js +1 -1
  77. package/cjs/lib/utils/createSendEventForFacet.js +1 -1
  78. package/cjs/lib/utils/createSendEventForHits.js +1 -1
  79. package/cjs/lib/utils/detect-insights-client.js +1 -1
  80. package/cjs/lib/utils/escape-highlight.js +2 -2
  81. package/cjs/lib/utils/getContainerNode.js +1 -1
  82. package/cjs/lib/utils/getHighlightFromSiblings.js +1 -1
  83. package/cjs/lib/utils/getHighlightedParts.js +1 -1
  84. package/cjs/lib/utils/getRefinements.js +2 -2
  85. package/cjs/lib/utils/index.js +48 -48
  86. package/cjs/lib/utils/logger.js +1 -1
  87. package/cjs/lib/utils/mergeSearchParameters.js +2 -2
  88. package/cjs/lib/utils/prepareTemplateProps.js +1 -1
  89. package/cjs/lib/utils/reverseHighlightedParts.js +1 -1
  90. package/cjs/lib/version.js +1 -1
  91. package/cjs/middlewares/createInsightsMiddleware.js +11 -11
  92. package/cjs/middlewares/createMetadataMiddleware.js +2 -2
  93. package/cjs/middlewares/createRouterMiddleware.js +4 -4
  94. package/cjs/middlewares/index.js +3 -3
  95. package/cjs/types/index.js +14 -14
  96. package/cjs/widgets/analytics/analytics.js +3 -3
  97. package/cjs/widgets/answers/answers.js +8 -8
  98. package/cjs/widgets/breadcrumb/breadcrumb.js +8 -8
  99. package/cjs/widgets/clear-refinements/clear-refinements.js +8 -8
  100. package/cjs/widgets/configure/configure.js +3 -3
  101. package/cjs/widgets/configure-related-items/configure-related-items.js +3 -3
  102. package/cjs/widgets/current-refinements/current-refinements.js +6 -6
  103. package/cjs/widgets/dynamic-widgets/dynamic-widgets.js +14 -11
  104. package/cjs/widgets/geo-search/GeoSearchRenderer.js +3 -3
  105. package/cjs/widgets/geo-search/geo-search.js +9 -9
  106. package/cjs/widgets/hierarchical-menu/hierarchical-menu.js +8 -8
  107. package/cjs/widgets/hits/hits.js +11 -11
  108. package/cjs/widgets/hits-per-page/hits-per-page.js +7 -7
  109. package/cjs/widgets/index/index.js +26 -8
  110. package/cjs/widgets/index.js +36 -36
  111. package/cjs/widgets/infinite-hits/infinite-hits.js +11 -11
  112. package/cjs/widgets/menu/menu.js +8 -8
  113. package/cjs/widgets/menu-select/menu-select.js +8 -8
  114. package/cjs/widgets/numeric-menu/numeric-menu.js +8 -8
  115. package/cjs/widgets/pagination/pagination.js +7 -7
  116. package/cjs/widgets/panel/panel.js +7 -7
  117. package/cjs/widgets/powered-by/powered-by.js +6 -6
  118. package/cjs/widgets/query-rule-context/query-rule-context.js +4 -4
  119. package/cjs/widgets/query-rule-custom-data/query-rule-custom-data.js +6 -6
  120. package/cjs/widgets/range-input/range-input.js +7 -7
  121. package/cjs/widgets/range-slider/range-slider.js +6 -6
  122. package/cjs/widgets/rating-menu/rating-menu.js +8 -8
  123. package/cjs/widgets/refinement-list/refinement-list.js +10 -10
  124. package/cjs/widgets/relevant-sort/relevant-sort.js +7 -7
  125. package/cjs/widgets/search-box/search-box.js +7 -7
  126. package/cjs/widgets/sort-by/sort-by.js +6 -6
  127. package/cjs/widgets/stats/defaultTemplates.js +1 -1
  128. package/cjs/widgets/stats/stats.js +7 -7
  129. package/cjs/widgets/toggle-refinement/toggle-refinement.js +8 -8
  130. package/cjs/widgets/voice-search/voice-search.js +7 -7
  131. package/dist/instantsearch.development.d.ts +23 -2
  132. package/dist/instantsearch.development.js +383 -376
  133. package/dist/instantsearch.development.js.map +1 -1
  134. package/dist/instantsearch.development.min.d.ts +23 -2
  135. package/dist/instantsearch.production.d.ts +23 -2
  136. package/dist/instantsearch.production.min.d.ts +23 -2
  137. package/dist/instantsearch.production.min.js +2 -2
  138. package/dist/instantsearch.production.min.js.map +1 -1
  139. package/es/components/Answers/Answers.js +1 -1
  140. package/es/components/Breadcrumb/Breadcrumb.js +1 -1
  141. package/es/components/ClearRefinements/ClearRefinements.js +1 -1
  142. package/es/components/CurrentRefinements/CurrentRefinements.js +1 -1
  143. package/es/components/GeoSearchControls/GeoSearchControls.js +3 -3
  144. package/es/components/Hits/Hits.js +1 -1
  145. package/es/components/InfiniteHits/InfiniteHits.js +1 -1
  146. package/es/components/MenuSelect/MenuSelect.js +2 -2
  147. package/es/components/Pagination/Pagination.d.ts +4 -11
  148. package/es/components/Pagination/Pagination.js +72 -162
  149. package/es/components/Pagination/PaginationLink.d.ts +10 -11
  150. package/es/components/Pagination/PaginationLink.js +23 -13
  151. package/es/components/Panel/Panel.js +1 -1
  152. package/es/components/QueryRuleCustomData/QueryRuleCustomData.js +1 -1
  153. package/es/components/RangeInput/RangeInput.js +1 -1
  154. package/es/components/RefinementList/RefinementList.js +4 -4
  155. package/es/components/RefinementList/RefinementListItem.js +1 -1
  156. package/es/components/RelevantSort/RelevantSort.js +1 -1
  157. package/es/components/SearchBox/SearchBox.js +5 -6
  158. package/es/components/Slider/Slider.js +3 -3
  159. package/es/components/Stats/Stats.js +1 -1
  160. package/es/components/Template/Template.js +1 -1
  161. package/es/components/ToggleRefinement/ToggleRefinement.js +1 -1
  162. package/es/components/VoiceSearch/VoiceSearch.js +1 -1
  163. package/es/connectors/answers/connectAnswers.js +1 -1
  164. package/es/connectors/autocomplete/connectAutocomplete.js +3 -2
  165. package/es/connectors/breadcrumb/connectBreadcrumb.js +1 -1
  166. package/es/connectors/clear-refinements/connectClearRefinements.js +1 -1
  167. package/es/connectors/configure/connectConfigure.js +1 -1
  168. package/es/connectors/configure-related-items/connectConfigureRelatedItems.js +2 -2
  169. package/es/connectors/current-refinements/connectCurrentRefinements.js +1 -1
  170. package/es/connectors/dynamic-widgets/connectDynamicWidgets.d.ts +14 -0
  171. package/es/connectors/dynamic-widgets/connectDynamicWidgets.js +31 -6
  172. package/es/connectors/geo-search/connectGeoSearch.js +1 -1
  173. package/es/connectors/hierarchical-menu/connectHierarchicalMenu.js +1 -1
  174. package/es/connectors/hits/connectHits.js +1 -1
  175. package/es/connectors/hits/connectHitsWithInsights.js +2 -2
  176. package/es/connectors/hits-per-page/connectHitsPerPage.js +1 -1
  177. package/es/connectors/index.js +30 -30
  178. package/es/connectors/infinite-hits/connectInfiniteHits.js +2 -2
  179. package/es/connectors/infinite-hits/connectInfiniteHitsWithInsights.js +2 -2
  180. package/es/connectors/menu/connectMenu.js +1 -1
  181. package/es/connectors/numeric-menu/connectNumericMenu.js +1 -1
  182. package/es/connectors/pagination/Paginator.js +1 -1
  183. package/es/connectors/pagination/connectPagination.js +5 -5
  184. package/es/connectors/powered-by/connectPoweredBy.js +1 -1
  185. package/es/connectors/query-rules/connectQueryRules.js +1 -1
  186. package/es/connectors/range/connectRange.js +1 -1
  187. package/es/connectors/rating-menu/connectRatingMenu.js +1 -1
  188. package/es/connectors/refinement-list/connectRefinementList.js +1 -1
  189. package/es/connectors/relevant-sort/connectRelevantSort.js +1 -1
  190. package/es/connectors/search-box/connectSearchBox.js +5 -4
  191. package/es/connectors/sort-by/connectSortBy.js +3 -2
  192. package/es/connectors/stats/connectStats.js +5 -5
  193. package/es/connectors/toggle-refinement/connectToggleRefinement.js +2 -2
  194. package/es/connectors/voice-search/connectVoiceSearch.js +2 -2
  195. package/es/helpers/get-insights-anonymous-user-token.js +1 -1
  196. package/es/helpers/highlight.js +2 -2
  197. package/es/helpers/index.js +10 -10
  198. package/es/helpers/insights.js +1 -1
  199. package/es/helpers/reverseHighlight.js +2 -2
  200. package/es/helpers/reverseSnippet.js +2 -2
  201. package/es/helpers/snippet.js +2 -2
  202. package/es/index.js +6 -6
  203. package/es/lib/InstantSearch.d.ts +3 -3
  204. package/es/lib/InstantSearch.js +29 -8
  205. package/es/lib/createHelpers.js +1 -1
  206. package/es/lib/infiniteHitsCache/index.js +1 -1
  207. package/es/lib/infiniteHitsCache/sessionStorage.js +1 -1
  208. package/es/lib/insights/client.js +1 -1
  209. package/es/lib/insights/index.js +2 -2
  210. package/es/lib/insights/listener.js +2 -2
  211. package/es/lib/routers/history.js +1 -1
  212. package/es/lib/routers/index.js +1 -1
  213. package/es/lib/stateMappings/index.js +2 -2
  214. package/es/lib/utils/checkIndexUiState.js +3 -3
  215. package/es/lib/utils/checkRendering.js +1 -1
  216. package/es/lib/utils/concatHighlightedParts.js +1 -1
  217. package/es/lib/utils/createSendEventForFacet.js +1 -1
  218. package/es/lib/utils/createSendEventForHits.js +1 -1
  219. package/es/lib/utils/detect-insights-client.js +1 -1
  220. package/es/lib/utils/escape-highlight.js +2 -2
  221. package/es/lib/utils/getContainerNode.js +1 -1
  222. package/es/lib/utils/getHighlightFromSiblings.js +1 -1
  223. package/es/lib/utils/getHighlightedParts.js +1 -1
  224. package/es/lib/utils/getRefinements.js +2 -2
  225. package/es/lib/utils/index.js +48 -48
  226. package/es/lib/utils/logger.js +1 -1
  227. package/es/lib/utils/mergeSearchParameters.js +2 -2
  228. package/es/lib/utils/prepareTemplateProps.js +1 -1
  229. package/es/lib/utils/reverseHighlightedParts.js +1 -1
  230. package/es/lib/version.d.ts +1 -1
  231. package/es/lib/version.js +1 -1
  232. package/es/middlewares/createInsightsMiddleware.js +3 -3
  233. package/es/middlewares/createMetadataMiddleware.js +1 -1
  234. package/es/middlewares/createRouterMiddleware.js +3 -3
  235. package/es/middlewares/index.js +3 -3
  236. package/es/package.json +1 -0
  237. package/es/types/index.js +14 -14
  238. package/es/types/results.d.ts +7 -0
  239. package/es/widgets/analytics/analytics.js +1 -1
  240. package/es/widgets/answers/answers.js +5 -5
  241. package/es/widgets/breadcrumb/breadcrumb.js +5 -5
  242. package/es/widgets/clear-refinements/clear-refinements.js +5 -5
  243. package/es/widgets/configure/configure.js +2 -2
  244. package/es/widgets/configure-related-items/configure-related-items.js +2 -2
  245. package/es/widgets/current-refinements/current-refinements.js +4 -4
  246. package/es/widgets/dynamic-widgets/dynamic-widgets.js +11 -8
  247. package/es/widgets/geo-search/GeoSearchRenderer.js +2 -2
  248. package/es/widgets/geo-search/geo-search.js +6 -6
  249. package/es/widgets/hierarchical-menu/hierarchical-menu.js +5 -5
  250. package/es/widgets/hits/hits.js +6 -6
  251. package/es/widgets/hits-per-page/hits-per-page.js +4 -4
  252. package/es/widgets/index/index.js +21 -3
  253. package/es/widgets/index.js +34 -34
  254. package/es/widgets/infinite-hits/infinite-hits.js +6 -6
  255. package/es/widgets/menu/menu.js +5 -5
  256. package/es/widgets/menu-select/menu-select.js +5 -5
  257. package/es/widgets/numeric-menu/numeric-menu.js +5 -5
  258. package/es/widgets/pagination/pagination.js +4 -4
  259. package/es/widgets/panel/panel.js +3 -3
  260. package/es/widgets/powered-by/powered-by.js +4 -4
  261. package/es/widgets/query-rule-context/query-rule-context.js +2 -2
  262. package/es/widgets/query-rule-custom-data/query-rule-custom-data.js +4 -4
  263. package/es/widgets/range-input/range-input.js +4 -4
  264. package/es/widgets/range-slider/range-slider.js +4 -4
  265. package/es/widgets/rating-menu/rating-menu.js +5 -5
  266. package/es/widgets/refinement-list/refinement-list.js +6 -6
  267. package/es/widgets/relevant-sort/relevant-sort.js +5 -5
  268. package/es/widgets/search-box/search-box.js +5 -5
  269. package/es/widgets/sort-by/sort-by.js +4 -4
  270. package/es/widgets/stats/defaultTemplates.js +1 -1
  271. package/es/widgets/stats/stats.js +4 -4
  272. package/es/widgets/toggle-refinement/toggle-refinement.js +5 -5
  273. package/es/widgets/voice-search/voice-search.js +5 -5
  274. package/package.json +10 -6
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _utils = require("../../lib/utils");
8
+ var _index = require("../../lib/utils/index.js");
9
9
 
10
- var _voiceSearchHelper2 = _interopRequireDefault(require("../../lib/voiceSearchHelper"));
10
+ var _index2 = _interopRequireDefault(require("../../lib/voiceSearchHelper/index.js"));
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
 
@@ -17,21 +17,21 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
17
17
 
18
18
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
19
 
20
- var withUsage = (0, _utils.createDocumentationMessageGenerator)({
20
+ var withUsage = (0, _index.createDocumentationMessageGenerator)({
21
21
  name: 'voice-search',
22
22
  connector: true
23
23
  });
24
24
 
25
25
  var connectVoiceSearch = function connectVoiceSearch(renderFn) {
26
- var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _utils.noop;
27
- (0, _utils.checkRendering)(renderFn, withUsage());
26
+ var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _index.noop;
27
+ (0, _index.checkRendering)(renderFn, withUsage());
28
28
  return function (widgetParams) {
29
29
  var _widgetParams$searchA = widgetParams.searchAsYouSpeak,
30
30
  searchAsYouSpeak = _widgetParams$searchA === void 0 ? false : _widgetParams$searchA,
31
31
  language = widgetParams.language,
32
32
  additionalQueryParameters = widgetParams.additionalQueryParameters,
33
33
  _widgetParams$createV = widgetParams.createVoiceSearchHelper,
34
- createVoiceSearchHelper = _widgetParams$createV === void 0 ? _voiceSearchHelper2.default : _widgetParams$createV;
34
+ createVoiceSearchHelper = _widgetParams$createV === void 0 ? _index2.default : _widgetParams$createV;
35
35
  return {
36
36
  $$type: 'ais.voiceSearch',
37
37
  init: function init(initOptions) {
@@ -7,7 +7,7 @@ exports.getInsightsAnonymousUserTokenInternal = getInsightsAnonymousUserTokenInt
7
7
  exports.default = getInsightsAnonymousUserToken;
8
8
  exports.ANONYMOUS_TOKEN_COOKIE_KEY = void 0;
9
9
 
10
- var _utils = require("../lib/utils");
10
+ var _index = require("../lib/utils/index.js");
11
11
 
12
12
  var ANONYMOUS_TOKEN_COOKIE_KEY = '_ALGOLIA';
13
13
  exports.ANONYMOUS_TOKEN_COOKIE_KEY = ANONYMOUS_TOKEN_COOKIE_KEY;
@@ -40,6 +40,6 @@ function getInsightsAnonymousUserTokenInternal() {
40
40
 
41
41
 
42
42
  function getInsightsAnonymousUserToken() {
43
- process.env.NODE_ENV === 'development' ? (0, _utils.warning)(false, "`getInsightsAnonymousUserToken` function has been deprecated. It is still supported in 4.x releases, but not further. It is replaced by the `insights` middleware.\n\nFor more information, visit https://www.algolia.com/doc/guides/getting-insights-and-analytics/search-analytics/click-through-and-conversions/how-to/send-click-and-conversion-events-with-instantsearch/js/") : void 0;
43
+ process.env.NODE_ENV === 'development' ? (0, _index.warning)(false, "`getInsightsAnonymousUserToken` function has been deprecated. It is still supported in 4.x releases, but not further. It is replaced by the `insights` middleware.\n\nFor more information, visit https://www.algolia.com/doc/guides/getting-insights-and-analytics/search-analytics/click-through-and-conversions/how-to/send-click-and-conversion-events-with-instantsearch/js/") : void 0;
44
44
  return getInsightsAnonymousUserTokenInternal();
45
45
  }
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = highlight;
7
7
 
8
- var _suit = require("../lib/suit");
8
+ var _suit = require("../lib/suit.js");
9
9
 
10
- var _utils = require("../lib/utils");
10
+ var _index = require("../lib/utils/index.js");
11
11
 
12
12
  var suit = (0, _suit.component)('Highlight');
13
13
 
@@ -19,7 +19,7 @@ function highlight(_ref) {
19
19
  _ref$cssClasses = _ref.cssClasses,
20
20
  cssClasses = _ref$cssClasses === void 0 ? {} : _ref$cssClasses;
21
21
 
22
- var _ref2 = (0, _utils.getPropertyByPath)(hit._highlightResult, attribute) || {},
22
+ var _ref2 = (0, _index.getPropertyByPath)(hit._highlightResult, attribute) || {},
23
23
  _ref2$value = _ref2.value,
24
24
  attributeValue = _ref2$value === void 0 ? '' : _ref2$value; // cx is not used, since it would be bundled as a dependency for Vue & Angular
25
25
 
@@ -27,5 +27,5 @@ function highlight(_ref) {
27
27
  var className = suit({
28
28
  descendantName: 'highlighted'
29
29
  }) + (cssClasses.highlighted ? " ".concat(cssClasses.highlighted) : '');
30
- return attributeValue.replace(new RegExp(_utils.TAG_REPLACEMENT.highlightPreTag, 'g'), "<".concat(highlightedTagName, " class=\"").concat(className, "\">")).replace(new RegExp(_utils.TAG_REPLACEMENT.highlightPostTag, 'g'), "</".concat(highlightedTagName, ">"));
30
+ return attributeValue.replace(new RegExp(_index.TAG_REPLACEMENT.highlightPreTag, 'g'), "<".concat(highlightedTagName, " class=\"").concat(className, "\">")).replace(new RegExp(_index.TAG_REPLACEMENT.highlightPostTag, 'g'), "</".concat(highlightedTagName, ">"));
31
31
  }
@@ -57,7 +57,7 @@ Object.defineProperty(exports, "getInsightsAnonymousUserTokenInternal", {
57
57
  }
58
58
  });
59
59
 
60
- var _highlight = _interopRequireWildcard(require("./highlight"));
60
+ var _highlight = _interopRequireWildcard(require("./highlight.js"));
61
61
 
62
62
  Object.keys(_highlight).forEach(function (key) {
63
63
  if (key === "default" || key === "__esModule") return;
@@ -71,7 +71,7 @@ Object.keys(_highlight).forEach(function (key) {
71
71
  });
72
72
  });
73
73
 
74
- var _reverseHighlight = _interopRequireWildcard(require("./reverseHighlight"));
74
+ var _reverseHighlight = _interopRequireWildcard(require("./reverseHighlight.js"));
75
75
 
76
76
  Object.keys(_reverseHighlight).forEach(function (key) {
77
77
  if (key === "default" || key === "__esModule") return;
@@ -85,7 +85,7 @@ Object.keys(_reverseHighlight).forEach(function (key) {
85
85
  });
86
86
  });
87
87
 
88
- var _snippet = _interopRequireWildcard(require("./snippet"));
88
+ var _snippet = _interopRequireWildcard(require("./snippet.js"));
89
89
 
90
90
  Object.keys(_snippet).forEach(function (key) {
91
91
  if (key === "default" || key === "__esModule") return;
@@ -99,7 +99,7 @@ Object.keys(_snippet).forEach(function (key) {
99
99
  });
100
100
  });
101
101
 
102
- var _reverseSnippet = _interopRequireWildcard(require("./reverseSnippet"));
102
+ var _reverseSnippet = _interopRequireWildcard(require("./reverseSnippet.js"));
103
103
 
104
104
  Object.keys(_reverseSnippet).forEach(function (key) {
105
105
  if (key === "default" || key === "__esModule") return;
@@ -113,9 +113,9 @@ Object.keys(_reverseSnippet).forEach(function (key) {
113
113
  });
114
114
  });
115
115
 
116
- var _insights = _interopRequireDefault(require("./insights"));
116
+ var _insights = _interopRequireDefault(require("./insights.js"));
117
117
 
118
- var _getInsightsAnonymousUserToken = _interopRequireWildcard(require("./get-insights-anonymous-user-token"));
118
+ var _getInsightsAnonymousUserToken = _interopRequireWildcard(require("./get-insights-anonymous-user-token.js"));
119
119
 
120
120
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
121
121
 
@@ -8,7 +8,7 @@ exports.hasDataAttributes = hasDataAttributes;
8
8
  exports.writeDataAttributes = writeDataAttributes;
9
9
  exports.default = insights;
10
10
 
11
- var _utils = require("../lib/utils");
11
+ var _index = require("../lib/utils/index.js");
12
12
 
13
13
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
14
14
 
@@ -21,7 +21,7 @@ function readDataAttributes(domElement) {
21
21
  }
22
22
 
23
23
  try {
24
- var payload = (0, _utils.deserializePayload)(serializedPayload);
24
+ var payload = (0, _index.deserializePayload)(serializedPayload);
25
25
  return {
26
26
  method: method,
27
27
  payload: payload
@@ -46,7 +46,7 @@ function writeDataAttributes(_ref) {
46
46
  var serializedPayload;
47
47
 
48
48
  try {
49
- serializedPayload = (0, _utils.serializePayload)(payload);
49
+ serializedPayload = (0, _index.serializePayload)(payload);
50
50
  } catch (error) {
51
51
  throw new Error("Could not JSON serialize the payload object.");
52
52
  }
@@ -59,7 +59,7 @@ function writeDataAttributes(_ref) {
59
59
 
60
60
 
61
61
  function insights(method, payload) {
62
- process.env.NODE_ENV === 'development' ? (0, _utils.warning)(false, "`insights` function has been deprecated. It is still supported in 4.x releases, but not further. It is replaced by the `insights` middleware.\n\nFor more information, visit https://www.algolia.com/doc/guides/getting-insights-and-analytics/search-analytics/click-through-and-conversions/how-to/send-click-and-conversion-events-with-instantsearch/js/") : void 0;
62
+ process.env.NODE_ENV === 'development' ? (0, _index.warning)(false, "`insights` function has been deprecated. It is still supported in 4.x releases, but not further. It is replaced by the `insights` middleware.\n\nFor more information, visit https://www.algolia.com/doc/guides/getting-insights-and-analytics/search-analytics/click-through-and-conversions/how-to/send-click-and-conversion-events-with-instantsearch/js/") : void 0;
63
63
  return writeDataAttributes({
64
64
  method: method,
65
65
  payload: payload
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = reverseHighlight;
7
7
 
8
- var _utils = require("../lib/utils");
8
+ var _index = require("../lib/utils/index.js");
9
9
 
10
- var _suit = require("../lib/suit");
10
+ var _suit = require("../lib/suit.js");
11
11
 
12
12
  var suit = (0, _suit.component)('ReverseHighlight');
13
13
 
@@ -19,7 +19,7 @@ function reverseHighlight(_ref) {
19
19
  _ref$cssClasses = _ref.cssClasses,
20
20
  cssClasses = _ref$cssClasses === void 0 ? {} : _ref$cssClasses;
21
21
 
22
- var _ref2 = (0, _utils.getPropertyByPath)(hit._highlightResult, attribute) || {},
22
+ var _ref2 = (0, _index.getPropertyByPath)(hit._highlightResult, attribute) || {},
23
23
  _ref2$value = _ref2.value,
24
24
  attributeValue = _ref2$value === void 0 ? '' : _ref2$value; // cx is not used, since it would be bundled as a dependency for Vue & Angular
25
25
 
@@ -27,6 +27,6 @@ function reverseHighlight(_ref) {
27
27
  var className = suit({
28
28
  descendantName: 'highlighted'
29
29
  }) + (cssClasses.highlighted ? " ".concat(cssClasses.highlighted) : '');
30
- var reverseHighlightedValue = (0, _utils.concatHighlightedParts)((0, _utils.reverseHighlightedParts)((0, _utils.getHighlightedParts)(attributeValue)));
31
- return reverseHighlightedValue.replace(new RegExp(_utils.TAG_REPLACEMENT.highlightPreTag, 'g'), "<".concat(highlightedTagName, " class=\"").concat(className, "\">")).replace(new RegExp(_utils.TAG_REPLACEMENT.highlightPostTag, 'g'), "</".concat(highlightedTagName, ">"));
30
+ var reverseHighlightedValue = (0, _index.concatHighlightedParts)((0, _index.reverseHighlightedParts)((0, _index.getHighlightedParts)(attributeValue)));
31
+ return reverseHighlightedValue.replace(new RegExp(_index.TAG_REPLACEMENT.highlightPreTag, 'g'), "<".concat(highlightedTagName, " class=\"").concat(className, "\">")).replace(new RegExp(_index.TAG_REPLACEMENT.highlightPostTag, 'g'), "</".concat(highlightedTagName, ">"));
32
32
  }
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = reverseSnippet;
7
7
 
8
- var _utils = require("../lib/utils");
8
+ var _index = require("../lib/utils/index.js");
9
9
 
10
- var _suit = require("../lib/suit");
10
+ var _suit = require("../lib/suit.js");
11
11
 
12
12
  var suit = (0, _suit.component)('ReverseSnippet');
13
13
 
@@ -19,7 +19,7 @@ function reverseSnippet(_ref) {
19
19
  _ref$cssClasses = _ref.cssClasses,
20
20
  cssClasses = _ref$cssClasses === void 0 ? {} : _ref$cssClasses;
21
21
 
22
- var _ref2 = (0, _utils.getPropertyByPath)(hit._snippetResult, attribute) || {},
22
+ var _ref2 = (0, _index.getPropertyByPath)(hit._snippetResult, attribute) || {},
23
23
  _ref2$value = _ref2.value,
24
24
  attributeValue = _ref2$value === void 0 ? '' : _ref2$value; // cx is not used, since it would be bundled as a dependency for Vue & Angular
25
25
 
@@ -27,6 +27,6 @@ function reverseSnippet(_ref) {
27
27
  var className = suit({
28
28
  descendantName: 'highlighted'
29
29
  }) + (cssClasses.highlighted ? " ".concat(cssClasses.highlighted) : '');
30
- var reverseHighlightedValue = (0, _utils.concatHighlightedParts)((0, _utils.reverseHighlightedParts)((0, _utils.getHighlightedParts)(attributeValue)));
31
- return reverseHighlightedValue.replace(new RegExp(_utils.TAG_REPLACEMENT.highlightPreTag, 'g'), "<".concat(highlightedTagName, " class=\"").concat(className, "\">")).replace(new RegExp(_utils.TAG_REPLACEMENT.highlightPostTag, 'g'), "</".concat(highlightedTagName, ">"));
30
+ var reverseHighlightedValue = (0, _index.concatHighlightedParts)((0, _index.reverseHighlightedParts)((0, _index.getHighlightedParts)(attributeValue)));
31
+ return reverseHighlightedValue.replace(new RegExp(_index.TAG_REPLACEMENT.highlightPreTag, 'g'), "<".concat(highlightedTagName, " class=\"").concat(className, "\">")).replace(new RegExp(_index.TAG_REPLACEMENT.highlightPostTag, 'g'), "</".concat(highlightedTagName, ">"));
32
32
  }
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = snippet;
7
7
 
8
- var _suit = require("../lib/suit");
8
+ var _suit = require("../lib/suit.js");
9
9
 
10
- var _utils = require("../lib/utils");
10
+ var _index = require("../lib/utils/index.js");
11
11
 
12
12
  var suit = (0, _suit.component)('Snippet');
13
13
 
@@ -19,7 +19,7 @@ function snippet(_ref) {
19
19
  _ref$cssClasses = _ref.cssClasses,
20
20
  cssClasses = _ref$cssClasses === void 0 ? {} : _ref$cssClasses;
21
21
 
22
- var _ref2 = (0, _utils.getPropertyByPath)(hit._snippetResult, attribute) || {},
22
+ var _ref2 = (0, _index.getPropertyByPath)(hit._snippetResult, attribute) || {},
23
23
  _ref2$value = _ref2.value,
24
24
  attributeValue = _ref2$value === void 0 ? '' : _ref2$value; // cx is not used, since it would be bundled as a dependency for Vue & Angular
25
25
 
@@ -27,5 +27,5 @@ function snippet(_ref) {
27
27
  var className = suit({
28
28
  descendantName: 'highlighted'
29
29
  }) + (cssClasses.highlighted ? " ".concat(cssClasses.highlighted) : '');
30
- return attributeValue.replace(new RegExp(_utils.TAG_REPLACEMENT.highlightPreTag, 'g'), "<".concat(highlightedTagName, " class=\"").concat(className, "\">")).replace(new RegExp(_utils.TAG_REPLACEMENT.highlightPostTag, 'g'), "</".concat(highlightedTagName, ">"));
30
+ return attributeValue.replace(new RegExp(_index.TAG_REPLACEMENT.highlightPreTag, 'g'), "<".concat(highlightedTagName, " class=\"").concat(className, "\">")).replace(new RegExp(_index.TAG_REPLACEMENT.highlightPostTag, 'g'), "</".concat(highlightedTagName, ">"));
31
31
  }
package/cjs/index.js CHANGED
@@ -7,23 +7,23 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _InstantSearch = _interopRequireDefault(require("./lib/InstantSearch"));
10
+ var _InstantSearch = _interopRequireDefault(require("./lib/InstantSearch.js"));
11
11
 
12
- var _version = _interopRequireDefault(require("./lib/version"));
12
+ var _version = _interopRequireDefault(require("./lib/version.js"));
13
13
 
14
- var connectors = _interopRequireWildcard(require("./connectors/index"));
14
+ var connectors = _interopRequireWildcard(require("./connectors/index.js"));
15
15
 
16
- var widgets = _interopRequireWildcard(require("./widgets/index"));
16
+ var widgets = _interopRequireWildcard(require("./widgets/index.js"));
17
17
 
18
- var helpers = _interopRequireWildcard(require("./helpers/index"));
18
+ var helpers = _interopRequireWildcard(require("./helpers/index.js"));
19
19
 
20
- var middlewares = _interopRequireWildcard(require("./middlewares/index"));
20
+ var middlewares = _interopRequireWildcard(require("./middlewares/index.js"));
21
21
 
22
- var routers = _interopRequireWildcard(require("./lib/routers/index"));
22
+ var routers = _interopRequireWildcard(require("./lib/routers/index.js"));
23
23
 
24
- var stateMappings = _interopRequireWildcard(require("./lib/stateMappings/index"));
24
+ var stateMappings = _interopRequireWildcard(require("./lib/stateMappings/index.js"));
25
25
 
26
- var _index7 = require("./lib/infiniteHitsCache/index");
26
+ var _index7 = require("./lib/infiniteHitsCache/index.js");
27
27
 
28
28
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
29
29
 
@@ -9,19 +9,19 @@ exports.default = void 0;
9
9
 
10
10
  var _algoliasearchHelper = _interopRequireDefault(require("algoliasearch-helper"));
11
11
 
12
- var _events = _interopRequireDefault(require("events"));
12
+ var _events = _interopRequireDefault(require("@algolia/events"));
13
13
 
14
- var _index = _interopRequireWildcard(require("../widgets/index/index"));
14
+ var _index = _interopRequireWildcard(require("../widgets/index/index.js"));
15
15
 
16
- var _version = _interopRequireDefault(require("./version"));
16
+ var _version = _interopRequireDefault(require("./version.js"));
17
17
 
18
- var _createHelpers = _interopRequireDefault(require("./createHelpers"));
18
+ var _createHelpers = _interopRequireDefault(require("./createHelpers.js"));
19
19
 
20
- var _utils = require("./utils");
20
+ var _index2 = require("./utils/index.js");
21
21
 
22
- var _createRouterMiddleware = require("../middlewares/createRouterMiddleware");
22
+ var _createRouterMiddleware = require("../middlewares/createRouterMiddleware.js");
23
23
 
24
- var _createMetadataMiddleware = require("../middlewares/createMetadataMiddleware");
24
+ var _createMetadataMiddleware = require("../middlewares/createMetadataMiddleware.js");
25
25
 
26
26
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
27
27
 
@@ -55,7 +55,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
55
55
 
56
56
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
57
57
 
58
- var withUsage = (0, _utils.createDocumentationMessageGenerator)({
58
+ var withUsage = (0, _index2.createDocumentationMessageGenerator)({
59
59
  name: 'instantsearch'
60
60
  });
61
61
 
@@ -112,6 +112,8 @@ var InstantSearch = /*#__PURE__*/function (_EventEmitter) {
112
112
 
113
113
  _defineProperty(_assertThisInitialized(_this), "_initialUiState", void 0);
114
114
 
115
+ _defineProperty(_assertThisInitialized(_this), "_initialResults", void 0);
116
+
115
117
  _defineProperty(_assertThisInitialized(_this), "_createURL", void 0);
116
118
 
117
119
  _defineProperty(_assertThisInitialized(_this), "_searchFunction", void 0);
@@ -122,13 +124,13 @@ var InstantSearch = /*#__PURE__*/function (_EventEmitter) {
122
124
 
123
125
  _defineProperty(_assertThisInitialized(_this), "sendEventToInsights", void 0);
124
126
 
125
- _defineProperty(_assertThisInitialized(_this), "scheduleSearch", (0, _utils.defer)(function () {
127
+ _defineProperty(_assertThisInitialized(_this), "scheduleSearch", (0, _index2.defer)(function () {
126
128
  if (_this.started) {
127
129
  _this.mainHelper.search();
128
130
  }
129
131
  }));
130
132
 
131
- _defineProperty(_assertThisInitialized(_this), "scheduleRender", (0, _utils.defer)(function () {
133
+ _defineProperty(_assertThisInitialized(_this), "scheduleRender", (0, _index2.defer)(function () {
132
134
  if (!_this.mainHelper.hasPendingRequests()) {
133
135
  clearTimeout(_this._searchStalledTimer);
134
136
  _this._searchStalledTimer = null;
@@ -142,7 +144,7 @@ var InstantSearch = /*#__PURE__*/function (_EventEmitter) {
142
144
  _this.emit('render');
143
145
  }));
144
146
 
145
- _defineProperty(_assertThisInitialized(_this), "onInternalStateChange", (0, _utils.defer)(function () {
147
+ _defineProperty(_assertThisInitialized(_this), "onInternalStateChange", (0, _index2.defer)(function () {
146
148
  var nextUiState = _this.mainIndex.getWidgetUiState({});
147
149
 
148
150
  _this.middleware.forEach(function (_ref) {
@@ -186,13 +188,13 @@ var InstantSearch = /*#__PURE__*/function (_EventEmitter) {
186
188
  searchClient.addAlgoliaAgent("instantsearch.js (".concat(_version.default, ")"));
187
189
  }
188
190
 
189
- process.env.NODE_ENV === 'development' ? (0, _utils.warning)(insightsClient === null, "`insightsClient` property has been deprecated. It is still supported in 4.x releases, but not further. It is replaced by the `insights` middleware.\n\nFor more information, visit https://www.algolia.com/doc/guides/getting-insights-and-analytics/search-analytics/click-through-and-conversions/how-to/send-click-and-conversion-events-with-instantsearch/js/") : void 0;
191
+ process.env.NODE_ENV === 'development' ? (0, _index2.warning)(insightsClient === null, "`insightsClient` property has been deprecated. It is still supported in 4.x releases, but not further. It is replaced by the `insights` middleware.\n\nFor more information, visit https://www.algolia.com/doc/guides/getting-insights-and-analytics/search-analytics/click-through-and-conversions/how-to/send-click-and-conversion-events-with-instantsearch/js/") : void 0;
190
192
 
191
193
  if (insightsClient && typeof insightsClient !== 'function') {
192
194
  throw new Error(withUsage('The `insightsClient` option should be a function.'));
193
195
  }
194
196
 
195
- process.env.NODE_ENV === 'development' ? (0, _utils.warning)(!options.searchParameters, "The `searchParameters` option is deprecated and will not be supported in InstantSearch.js 4.x.\n\nYou can replace it with the `configure` widget:\n\n```\nsearch.addWidgets([\n configure(".concat(JSON.stringify(options.searchParameters, null, 2), ")\n]);\n```\n\nSee ").concat((0, _utils.createDocumentationLink)({
197
+ process.env.NODE_ENV === 'development' ? (0, _index2.warning)(!options.searchParameters, "The `searchParameters` option is deprecated and will not be supported in InstantSearch.js 4.x.\n\nYou can replace it with the `configure` widget:\n\n```\nsearch.addWidgets([\n configure(".concat(JSON.stringify(options.searchParameters, null, 2), ")\n]);\n```\n\nSee ").concat((0, _index2.createDocumentationLink)({
196
198
  name: 'configure'
197
199
  }))) : void 0;
198
200
  _this.client = searchClient;
@@ -216,12 +218,13 @@ var InstantSearch = /*#__PURE__*/function (_EventEmitter) {
216
218
  _this._isSearchStalled = false;
217
219
  _this._createURL = defaultCreateURL;
218
220
  _this._initialUiState = initialUiState;
221
+ _this._initialResults = null;
219
222
 
220
223
  if (searchFunction) {
221
224
  _this._searchFunction = searchFunction;
222
225
  }
223
226
 
224
- _this.sendEventToInsights = _utils.noop;
227
+ _this.sendEventToInsights = _index2.noop;
225
228
 
226
229
  if (routing) {
227
230
  var routerOptions = typeof routing === 'boolean' ? undefined : routing;
@@ -251,9 +254,9 @@ var InstantSearch = /*#__PURE__*/function (_EventEmitter) {
251
254
 
252
255
  var newMiddlewareList = middleware.map(function (fn) {
253
256
  var newMiddleware = _objectSpread({
254
- subscribe: _utils.noop,
255
- unsubscribe: _utils.noop,
256
- onStateChange: _utils.noop
257
+ subscribe: _index2.noop,
258
+ unsubscribe: _index2.noop,
259
+ onStateChange: _index2.noop
257
260
  }, fn({
258
261
  instantSearchInstance: _this2
259
262
  }));
@@ -300,7 +303,7 @@ var InstantSearch = /*#__PURE__*/function (_EventEmitter) {
300
303
  }, {
301
304
  key: "EXPERIMENTAL_use",
302
305
  value: function EXPERIMENTAL_use() {
303
- process.env.NODE_ENV === 'development' ? (0, _utils.warning)(false, 'The middleware API is now considered stable, so we recommend replacing `EXPERIMENTAL_use` with `use` before upgrading to the next major version.') : void 0;
306
+ process.env.NODE_ENV === 'development' ? (0, _index2.warning)(false, 'The middleware API is now considered stable, so we recommend replacing `EXPERIMENTAL_use` with `use` before upgrading to the next major version.') : void 0;
304
307
  return this.use.apply(this, arguments);
305
308
  }
306
309
  /**
@@ -314,7 +317,7 @@ var InstantSearch = /*#__PURE__*/function (_EventEmitter) {
314
317
  }, {
315
318
  key: "addWidget",
316
319
  value: function addWidget(widget) {
317
- process.env.NODE_ENV === 'development' ? (0, _utils.warning)(false, 'addWidget will still be supported in 4.x releases, but not further. It is replaced by `addWidgets([widget])`') : void 0;
320
+ process.env.NODE_ENV === 'development' ? (0, _index2.warning)(false, 'addWidget will still be supported in 4.x releases, but not further. It is replaced by `addWidgets([widget])`') : void 0;
318
321
  return this.addWidgets([widget]);
319
322
  }
320
323
  /**
@@ -350,7 +353,7 @@ var InstantSearch = /*#__PURE__*/function (_EventEmitter) {
350
353
  }, {
351
354
  key: "removeWidget",
352
355
  value: function removeWidget(widget) {
353
- process.env.NODE_ENV === 'development' ? (0, _utils.warning)(false, 'removeWidget will still be supported in 4.x releases, but not further. It is replaced by `removeWidgets([widget])`') : void 0;
356
+ process.env.NODE_ENV === 'development' ? (0, _index2.warning)(false, 'removeWidget will still be supported in 4.x releases, but not further. It is replaced by `removeWidgets([widget])`') : void 0;
354
357
  return this.removeWidgets([widget]);
355
358
  }
356
359
  /**
@@ -412,7 +415,7 @@ var InstantSearch = /*#__PURE__*/function (_EventEmitter) {
412
415
  // to not throw errors
413
416
  var fakeClient = {
414
417
  search: function search() {
415
- return new Promise(_utils.noop);
418
+ return new Promise(_index2.noop);
416
419
  }
417
420
  };
418
421
  this._mainHelperSearch = mainHelper.search.bind(mainHelper);
@@ -458,9 +461,27 @@ var InstantSearch = /*#__PURE__*/function (_EventEmitter) {
458
461
  parent: null,
459
462
  uiState: this._initialUiState
460
463
  });
461
- this.scheduleSearch(); // Keep the previous reference for legacy purpose, some pattern use
464
+
465
+ if (this._initialResults) {
466
+ var originalScheduleSearch = this.scheduleSearch; // We don't schedule a first search when initial results are provided
467
+ // because we already have the results to render. This skips the initial
468
+ // network request on the browser on `start`.
469
+
470
+ this.scheduleSearch = (0, _index2.defer)(_index2.noop); // We also skip the initial network request when widgets are dynamically
471
+ // added in the first tick (that's the case in all the framework-based flavors).
472
+ // When we add a widget to `index`, it calls `scheduleSearch`. We can rely
473
+ // on our `defer` util to restore the original `scheduleSearch` value once
474
+ // widgets are added to hook back to the regular lifecycle.
475
+
476
+ (0, _index2.defer)(function () {
477
+ _this3.scheduleSearch = originalScheduleSearch;
478
+ })();
479
+ } else {
480
+ this.scheduleSearch();
481
+ } // Keep the previous reference for legacy purpose, some pattern use
462
482
  // the direct Helper access `search.helper` (e.g multi-index).
463
483
 
484
+
464
485
  this.helper = this.mainIndex.getHelper(); // track we started the search if we add more widgets,
465
486
  // to init them directly after add
466
487
 
@@ -525,7 +546,7 @@ var InstantSearch = /*#__PURE__*/function (_EventEmitter) {
525
546
  var nextIndexUiState = nextUiState[indexWidget.getIndexId()] || {};
526
547
 
527
548
  if (process.env.NODE_ENV === 'development') {
528
- (0, _utils.checkIndexUiState)({
549
+ (0, _index2.checkIndexUiState)({
529
550
  index: indexWidget,
530
551
  indexUiState: nextIndexUiState
531
552
  });
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = hoganHelpers;
7
7
 
8
- var _helpers = require("../helpers");
8
+ var _index = require("../helpers/index.js");
9
9
 
10
10
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
11
11
 
@@ -22,7 +22,7 @@ function hoganHelpers(_ref) {
22
22
  highlight: function highlight(options, render) {
23
23
  try {
24
24
  var highlightOptions = JSON.parse(options);
25
- return render((0, _helpers.highlight)(_objectSpread(_objectSpread({}, highlightOptions), {}, {
25
+ return render((0, _index.highlight)(_objectSpread(_objectSpread({}, highlightOptions), {}, {
26
26
  hit: this
27
27
  })));
28
28
  } catch (error) {
@@ -32,7 +32,7 @@ function hoganHelpers(_ref) {
32
32
  reverseHighlight: function reverseHighlight(options, render) {
33
33
  try {
34
34
  var reverseHighlightOptions = JSON.parse(options);
35
- return render((0, _helpers.reverseHighlight)(_objectSpread(_objectSpread({}, reverseHighlightOptions), {}, {
35
+ return render((0, _index.reverseHighlight)(_objectSpread(_objectSpread({}, reverseHighlightOptions), {}, {
36
36
  hit: this
37
37
  })));
38
38
  } catch (error) {
@@ -42,7 +42,7 @@ function hoganHelpers(_ref) {
42
42
  snippet: function snippet(options, render) {
43
43
  try {
44
44
  var snippetOptions = JSON.parse(options);
45
- return render((0, _helpers.snippet)(_objectSpread(_objectSpread({}, snippetOptions), {}, {
45
+ return render((0, _index.snippet)(_objectSpread(_objectSpread({}, snippetOptions), {}, {
46
46
  hit: this
47
47
  })));
48
48
  } catch (error) {
@@ -52,7 +52,7 @@ function hoganHelpers(_ref) {
52
52
  reverseSnippet: function reverseSnippet(options, render) {
53
53
  try {
54
54
  var reverseSnippetOptions = JSON.parse(options);
55
- return render((0, _helpers.reverseSnippet)(_objectSpread(_objectSpread({}, reverseSnippetOptions), {}, {
55
+ return render((0, _index.reverseSnippet)(_objectSpread(_objectSpread({}, reverseSnippetOptions), {}, {
56
56
  hit: this
57
57
  })));
58
58
  } catch (error) {
@@ -65,7 +65,7 @@ function hoganHelpers(_ref) {
65
65
  method = _JSON$parse.method,
66
66
  payload = _JSON$parse.payload;
67
67
 
68
- return render((0, _helpers.insights)(method, _objectSpread({
68
+ return render((0, _index.insights)(method, _objectSpread({
69
69
  objectIDs: [this.objectID]
70
70
  }, payload)));
71
71
  } catch (error) {
@@ -10,6 +10,6 @@ Object.defineProperty(exports, "createInfiniteHitsSessionStorageCache", {
10
10
  }
11
11
  });
12
12
 
13
- var _sessionStorage = _interopRequireDefault(require("./sessionStorage"));
13
+ var _sessionStorage = _interopRequireDefault(require("./sessionStorage.js"));
14
14
 
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = createInfiniteHitsSessionStorageCache;
7
7
 
8
- var _utils = require("../utils");
8
+ var _index = require("../utils/index.js");
9
9
 
10
10
  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; }
11
11
 
@@ -25,7 +25,7 @@ function createInfiniteHitsSessionStorageCache() {
25
25
  return {
26
26
  read: function read(_ref2) {
27
27
  var state = _ref2.state;
28
- var sessionStorage = (0, _utils.safelyRunOnBrowser)(function (_ref3) {
28
+ var sessionStorage = (0, _index.safelyRunOnBrowser)(function (_ref3) {
29
29
  var window = _ref3.window;
30
30
  return window.sessionStorage;
31
31
  });
@@ -37,7 +37,7 @@ function createInfiniteHitsSessionStorageCache() {
37
37
  try {
38
38
  var cache = JSON.parse( // @ts-expect-error JSON.parse() requires a string, but it actually accepts null, too.
39
39
  sessionStorage.getItem(KEY));
40
- return cache && (0, _utils.isEqual)(cache.state, getStateWithoutPage(state)) ? cache.hits : null;
40
+ return cache && (0, _index.isEqual)(cache.state, getStateWithoutPage(state)) ? cache.hits : null;
41
41
  } catch (error) {
42
42
  if (error instanceof SyntaxError) {
43
43
  try {
@@ -52,7 +52,7 @@ function createInfiniteHitsSessionStorageCache() {
52
52
  write: function write(_ref4) {
53
53
  var state = _ref4.state,
54
54
  hits = _ref4.hits;
55
- var sessionStorage = (0, _utils.safelyRunOnBrowser)(function (_ref5) {
55
+ var sessionStorage = (0, _index.safelyRunOnBrowser)(function (_ref5) {
56
56
  var window = _ref5.window;
57
57
  return window.sessionStorage;
58
58
  });
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = withInsights;
7
7
  exports.inferPayload = void 0;
8
8
 
9
- var _utils = require("../utils");
9
+ var _index = require("../utils/index.js");
10
10
 
11
11
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
12
12
 
@@ -16,7 +16,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
16
16
 
17
17
  var getSelectedHits = function getSelectedHits(hits, selectedObjectIDs) {
18
18
  return selectedObjectIDs.map(function (objectID) {
19
- var hit = (0, _utils.find)(hits, function (h) {
19
+ var hit = (0, _index.find)(hits, function (h) {
20
20
  return h.objectID === objectID;
21
21
  });
22
22
 
@@ -29,7 +29,7 @@ var getSelectedHits = function getSelectedHits(hits, selectedObjectIDs) {
29
29
  };
30
30
 
31
31
  var getQueryID = function getQueryID(selectedHits) {
32
- var queryIDs = (0, _utils.uniq)(selectedHits.map(function (hit) {
32
+ var queryIDs = (0, _index.uniq)(selectedHits.map(function (hit) {
33
33
  return hit.__queryID;
34
34
  }));
35
35
 
@@ -94,10 +94,10 @@ var wrapInsightsClient = function wrapInsightsClient(aa, results, hits) {
94
94
  }
95
95
 
96
96
  var payload = payloads[0];
97
- process.env.NODE_ENV === 'development' ? (0, _utils.warning)(false, "`insights` function has been deprecated. It is still supported in 4.x releases, but not further. It is replaced by the `insights` middleware.\n\nFor more information, visit https://www.algolia.com/doc/guides/getting-insights-and-analytics/search-analytics/click-through-and-conversions/how-to/send-click-and-conversion-events-with-instantsearch/js/") : void 0;
97
+ process.env.NODE_ENV === 'development' ? (0, _index.warning)(false, "`insights` function has been deprecated. It is still supported in 4.x releases, but not further. It is replaced by the `insights` middleware.\n\nFor more information, visit https://www.algolia.com/doc/guides/getting-insights-and-analytics/search-analytics/click-through-and-conversions/how-to/send-click-and-conversion-events-with-instantsearch/js/") : void 0;
98
98
 
99
99
  if (!aa) {
100
- var withInstantSearchUsage = (0, _utils.createDocumentationMessageGenerator)({
100
+ var withInstantSearchUsage = (0, _index.createDocumentationMessageGenerator)({
101
101
  name: 'instantsearch'
102
102
  });
103
103
  throw new Error(withInstantSearchUsage('The `insightsClient` option has not been provided to `instantsearch`.'));
@@ -24,9 +24,9 @@ Object.defineProperty(exports, "withInsightsListener", {
24
24
  }
25
25
  });
26
26
 
27
- var _client = _interopRequireWildcard(require("./client"));
27
+ var _client = _interopRequireWildcard(require("./client.js"));
28
28
 
29
- var _listener = _interopRequireDefault(require("./listener"));
29
+ var _listener = _interopRequireDefault(require("./listener.js"));
30
30
 
31
31
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32
32