instantsearch.js 4.79.2 → 4.81.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 (69) hide show
  1. package/cjs/components/Template/Template.js +1 -1
  2. package/cjs/connectors/chat/connectChat.js +200 -0
  3. package/cjs/connectors/index.js +7 -0
  4. package/cjs/connectors/index.umd.js +239 -0
  5. package/cjs/index.js +2 -2
  6. package/cjs/lib/InstantSearch.js +2 -10
  7. package/cjs/lib/chat/chat.js +177 -0
  8. package/cjs/lib/chat/index.js +27 -0
  9. package/cjs/lib/useStickToBottom.js +20 -0
  10. package/cjs/lib/version.js +1 -1
  11. package/cjs/templates/carousel/carousel.js +31 -4
  12. package/cjs/widgets/chat/chat.js +615 -0
  13. package/cjs/widgets/index/index.js +78 -24
  14. package/cjs/widgets/index.js +7 -0
  15. package/cjs/widgets/index.umd.js +267 -0
  16. package/dist/instantsearch.development.d.ts +123 -15
  17. package/dist/instantsearch.development.js +186 -91
  18. package/dist/instantsearch.development.js.map +1 -1
  19. package/dist/instantsearch.production.d.ts +123 -15
  20. package/dist/instantsearch.production.min.d.ts +123 -15
  21. package/dist/instantsearch.production.min.js +2 -2
  22. package/dist/instantsearch.production.min.js.map +1 -1
  23. package/es/components/Template/Template.js +1 -1
  24. package/es/connectors/chat/connectChat.d.ts +413 -0
  25. package/es/connectors/chat/connectChat.js +194 -0
  26. package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.d.ts +2 -0
  27. package/es/connectors/geo-search/connectGeoSearch.d.ts +1 -0
  28. package/es/connectors/hits/connectHits.d.ts +1 -0
  29. package/es/connectors/hits/connectHitsWithInsights.d.ts +1 -0
  30. package/es/connectors/index.d.ts +1 -0
  31. package/es/connectors/index.js +2 -1
  32. package/es/connectors/index.umd.d.ts +39 -0
  33. package/es/connectors/index.umd.js +47 -0
  34. package/es/connectors/infinite-hits/connectInfiniteHits.d.ts +1 -0
  35. package/es/connectors/infinite-hits/connectInfiniteHitsWithInsights.d.ts +1 -0
  36. package/es/connectors/looking-similar/connectLookingSimilar.d.ts +2 -0
  37. package/es/connectors/related-products/connectRelatedProducts.d.ts +2 -0
  38. package/es/connectors/trending-items/connectTrendingItems.d.ts +2 -0
  39. package/es/lib/InstantSearch.d.ts +2 -2
  40. package/es/lib/InstantSearch.js +2 -10
  41. package/es/lib/chat/chat.d.ts +40 -0
  42. package/es/lib/chat/chat.js +166 -0
  43. package/es/lib/chat/index.d.ts +7 -0
  44. package/es/lib/chat/index.js +5 -0
  45. package/es/lib/useStickToBottom.d.ts +1 -0
  46. package/es/lib/useStickToBottom.js +14 -0
  47. package/es/lib/version.d.ts +1 -1
  48. package/es/lib/version.js +1 -1
  49. package/es/templates/carousel/carousel.d.ts +10 -3
  50. package/es/templates/carousel/carousel.js +32 -5
  51. package/es/types/render-state.d.ts +2 -1
  52. package/es/types/templates.d.ts +1 -1
  53. package/es/types/widget.d.ts +2 -2
  54. package/es/widgets/chat/chat.d.ts +555 -0
  55. package/es/widgets/chat/chat.js +597 -0
  56. package/es/widgets/frequently-bought-together/frequently-bought-together.d.ts +3 -1
  57. package/es/widgets/geo-search/geo-search.d.ts +1 -0
  58. package/es/widgets/hits/hits.d.ts +1 -0
  59. package/es/widgets/index/index.d.ts +46 -2
  60. package/es/widgets/index/index.js +78 -24
  61. package/es/widgets/index.d.ts +1 -0
  62. package/es/widgets/index.js +2 -1
  63. package/es/widgets/index.umd.d.ts +44 -0
  64. package/es/widgets/index.umd.js +51 -0
  65. package/es/widgets/infinite-hits/infinite-hits.d.ts +1 -0
  66. package/es/widgets/looking-similar/looking-similar.d.ts +3 -1
  67. package/es/widgets/related-products/related-products.d.ts +3 -1
  68. package/es/widgets/trending-items/trending-items.d.ts +3 -1
  69. package/package.json +11 -7
@@ -117,12 +117,18 @@ function resolveScopedResultsFromWidgets(widgets) {
117
117
  }, []);
118
118
  }
119
119
  var index = function index(widgetParams) {
120
- if (widgetParams === undefined || widgetParams.indexName === undefined) {
120
+ if (widgetParams === undefined || widgetParams.indexName === undefined && !widgetParams.EXPERIMENTAL_isolated) {
121
121
  throw new Error(withUsage('The `indexName` option is required.'));
122
122
  }
123
- var indexName = widgetParams.indexName,
123
+
124
+ // When isolated=true, we use an empty string as the default indexName.
125
+ // This is intentional: isolated indices do not require a real index name.
126
+ var _widgetParams$indexNa = widgetParams.indexName,
127
+ indexName = _widgetParams$indexNa === void 0 ? '' : _widgetParams$indexNa,
124
128
  _widgetParams$indexId = widgetParams.indexId,
125
- indexId = _widgetParams$indexId === void 0 ? indexName : _widgetParams$indexId;
129
+ indexId = _widgetParams$indexId === void 0 ? indexName : _widgetParams$indexId,
130
+ _widgetParams$EXPERIM = widgetParams.EXPERIMENTAL_isolated,
131
+ isolated = _widgetParams$EXPERIM === void 0 ? false : _widgetParams$EXPERIM;
126
132
  var localWidgets = [];
127
133
  var localUiState = {};
128
134
  var localInstantSearchInstance = null;
@@ -135,6 +141,7 @@ var index = function index(widgetParams) {
135
141
  return {
136
142
  $$type: 'ais.index',
137
143
  $$widgetType: 'ais.index',
144
+ _isolated: isolated,
138
145
  getIndexName: function getIndexName() {
139
146
  return indexName;
140
147
  },
@@ -186,7 +193,7 @@ var index = function index(widgetParams) {
186
193
  return resolveScopedResultsFromWidgets(widgetSiblings);
187
194
  },
188
195
  getParent: function getParent() {
189
- return localParent;
196
+ return isolated ? null : localParent;
190
197
  },
191
198
  createURL: function createURL(nextState) {
192
199
  if (typeof nextState === 'function') {
@@ -205,12 +212,15 @@ var index = function index(widgetParams) {
205
212
  if (!Array.isArray(widgets)) {
206
213
  throw new Error(withUsage('The `addWidgets` method expects an array of widgets.'));
207
214
  }
208
- if (widgets.some(function (widget) {
215
+ var flatWidgets = widgets.reduce(function (acc, w) {
216
+ return acc.concat(Array.isArray(w) ? w : [w]);
217
+ }, []);
218
+ if (flatWidgets.some(function (widget) {
209
219
  return typeof widget.init !== 'function' && typeof widget.render !== 'function';
210
220
  })) {
211
221
  throw new Error(withUsage('The widget definition expects a `render` and/or an `init` method.'));
212
222
  }
213
- widgets.forEach(function (widget) {
223
+ flatWidgets.forEach(function (widget) {
214
224
  if ((0, _utils.isIndexWidget)(widget)) {
215
225
  return;
216
226
  }
@@ -225,8 +235,8 @@ var index = function index(widgetParams) {
225
235
  }
226
236
  (0, _addWidgetId.addWidgetId)(widget);
227
237
  });
228
- localWidgets = localWidgets.concat(widgets);
229
- if (localInstantSearchInstance && Boolean(widgets.length)) {
238
+ localWidgets = localWidgets.concat(flatWidgets);
239
+ if (localInstantSearchInstance && Boolean(flatWidgets.length)) {
230
240
  privateHelperSetState(helper, {
231
241
  state: getLocalWidgetsSearchParameters(localWidgets, {
232
242
  uiState: localUiState,
@@ -242,7 +252,7 @@ var index = function index(widgetParams) {
242
252
  // We compute the render state before calling `init` in a separate loop
243
253
  // to construct the whole render state object that is then passed to
244
254
  // `init`.
245
- widgets.forEach(function (widget) {
255
+ flatWidgets.forEach(function (widget) {
246
256
  if (widget.getRenderState) {
247
257
  var renderState = widget.getRenderState(localInstantSearchInstance.renderState[_this.getIndexId()] || {}, (0, _utils.createInitArgs)(localInstantSearchInstance, _this, localInstantSearchInstance._initialUiState));
248
258
  storeRenderState({
@@ -252,12 +262,17 @@ var index = function index(widgetParams) {
252
262
  });
253
263
  }
254
264
  });
255
- widgets.forEach(function (widget) {
265
+ flatWidgets.forEach(function (widget) {
256
266
  if (widget.init) {
257
267
  widget.init((0, _utils.createInitArgs)(localInstantSearchInstance, _this, localInstantSearchInstance._initialUiState));
258
268
  }
259
269
  });
260
- localInstantSearchInstance.scheduleSearch();
270
+ if (isolated) {
271
+ var _helper2;
272
+ (_helper2 = helper) === null || _helper2 === void 0 ? void 0 : _helper2.search();
273
+ } else {
274
+ localInstantSearchInstance.scheduleSearch();
275
+ }
261
276
  }
262
277
  return this;
263
278
  },
@@ -266,13 +281,16 @@ var index = function index(widgetParams) {
266
281
  if (!Array.isArray(widgets)) {
267
282
  throw new Error(withUsage('The `removeWidgets` method expects an array of widgets.'));
268
283
  }
269
- if (widgets.some(function (widget) {
284
+ var flatWidgets = widgets.reduce(function (acc, w) {
285
+ return acc.concat(Array.isArray(w) ? w : [w]);
286
+ }, []);
287
+ if (flatWidgets.some(function (widget) {
270
288
  return typeof widget.dispose !== 'function';
271
289
  })) {
272
290
  throw new Error(withUsage('The widget definition expects a `dispose` method.'));
273
291
  }
274
292
  localWidgets = localWidgets.filter(function (widget) {
275
- return widgets.indexOf(widget) === -1;
293
+ return flatWidgets.indexOf(widget) === -1;
276
294
  });
277
295
  localWidgets.forEach(function (widget) {
278
296
  if ((0, _utils.isIndexWidget)(widget)) {
@@ -288,8 +306,8 @@ var index = function index(widgetParams) {
288
306
  hasSearchWidget = true;
289
307
  }
290
308
  });
291
- if (localInstantSearchInstance && Boolean(widgets.length)) {
292
- var _widgets$reduce = widgets.reduce(function (states, widget) {
309
+ if (localInstantSearchInstance && Boolean(flatWidgets.length)) {
310
+ var _flatWidgets$reduce = flatWidgets.reduce(function (states, widget) {
293
311
  // the `dispose` method exists at this point we already assert it
294
312
  var next = widget.dispose({
295
313
  helper: helper,
@@ -307,8 +325,8 @@ var index = function index(widgetParams) {
307
325
  cleanedSearchState: helper.state,
308
326
  cleanedRecommendState: helper.recommendState
309
327
  }),
310
- cleanedSearchState = _widgets$reduce.cleanedSearchState,
311
- cleanedRecommendState = _widgets$reduce.cleanedRecommendState;
328
+ cleanedSearchState = _flatWidgets$reduce.cleanedSearchState,
329
+ cleanedRecommendState = _flatWidgets$reduce.cleanedRecommendState;
312
330
  var newState = localInstantSearchInstance.future.preserveSharedStateOnUnmount ? getLocalWidgetsSearchParameters(localWidgets, {
313
331
  uiState: localUiState,
314
332
  initialSearchParameters: new _algoliasearchHelper.default.SearchParameters({
@@ -328,7 +346,12 @@ var index = function index(widgetParams) {
328
346
  helper.setState(newState);
329
347
  helper.recommendState = cleanedRecommendState;
330
348
  if (localWidgets.length) {
331
- localInstantSearchInstance.scheduleSearch();
349
+ if (isolated) {
350
+ var _helper3;
351
+ (_helper3 = helper) === null || _helper3 === void 0 ? void 0 : _helper3.search();
352
+ } else {
353
+ localInstantSearchInstance.scheduleSearch();
354
+ }
332
355
  }
333
356
  }
334
357
  return this;
@@ -366,13 +389,20 @@ var index = function index(widgetParams) {
366
389
  // This Helper is only used for state management we do not care about the
367
390
  // `searchClient`. Only the "main" Helper created at the `InstantSearch`
368
391
  // level is aware of the client.
369
- helper = (0, _algoliasearchHelper.default)({}, parameters.index, parameters);
392
+ helper = (0, _algoliasearchHelper.default)(mainHelper.getClient(), parameters.index, parameters);
370
393
  helper.recommendState = recommendParameters;
371
394
 
372
395
  // We forward the call to `search` to the "main" instance of the Helper
373
396
  // which is responsible for managing the queries (it's the only one that is
374
397
  // aware of the `searchClient`).
375
398
  helper.search = function () {
399
+ if (isolated) {
400
+ instantSearchInstance.status = 'loading';
401
+ _this3.render({
402
+ instantSearchInstance: instantSearchInstance
403
+ });
404
+ return instantSearchInstance.compositionID ? helper.searchWithComposition() : helper.searchOnlyWithDerivedHelpers();
405
+ }
376
406
  if (instantSearchInstance.onStateChange) {
377
407
  instantSearchInstance.onStateChange({
378
408
  uiState: instantSearchInstance.mainIndex.getWidgetUiState({}),
@@ -396,7 +426,9 @@ var index = function index(widgetParams) {
396
426
  var state = helper.state.setQueryParameters(userState);
397
427
  return mainHelper.searchForFacetValues(facetName, facetValue, maxFacetHits, state);
398
428
  };
399
- derivedHelper = mainHelper.derive(function () {
429
+ var isolatedHelper = indexName ? helper : (0, _algoliasearchHelper.default)({}, '__empty_index__', {});
430
+ var derivingHelper = isolated ? isolatedHelper : nearestIsolatedHelper(parent, mainHelper);
431
+ derivedHelper = derivingHelper.derive(function () {
400
432
  return _utils.mergeSearchParameters.apply(void 0, [mainHelper.state].concat(_toConsumableArray((0, _utils.resolveSearchParameters)(_this3))));
401
433
  }, function () {
402
434
  return _this3.getHelper().recommendState;
@@ -538,7 +570,11 @@ var index = function index(widgetParams) {
538
570
 
539
571
  // We only render index widgets if there are no results.
540
572
  // This makes sure `render` is never called with `results` being `null`.
541
- var widgetsToRender = this.getResults() || (_derivedHelper2 = derivedHelper) !== null && _derivedHelper2 !== void 0 && _derivedHelper2.lastRecommendResults ? localWidgets : localWidgets.filter(_utils.isIndexWidget);
573
+ // If it's an isolated index without an index name, we render all widgets,
574
+ // as there are no results to display for the isolated index itself.
575
+ var widgetsToRender = this.getResults() || (_derivedHelper2 = derivedHelper) !== null && _derivedHelper2 !== void 0 && _derivedHelper2.lastRecommendResults || isolated && !indexName ? localWidgets : localWidgets.filter(function (widget) {
576
+ return widget.shouldRender;
577
+ });
542
578
  widgetsToRender = widgetsToRender.filter(function (widget) {
543
579
  if (!widget.shouldRender) {
544
580
  return true;
@@ -572,7 +608,7 @@ var index = function index(widgetParams) {
572
608
  },
573
609
  dispose: function dispose() {
574
610
  var _this5 = this,
575
- _helper2,
611
+ _helper4,
576
612
  _derivedHelper3;
577
613
  localWidgets.forEach(function (widget) {
578
614
  if (widget.dispose && helper) {
@@ -592,13 +628,15 @@ var index = function index(widgetParams) {
592
628
  });
593
629
  localInstantSearchInstance = null;
594
630
  localParent = null;
595
- (_helper2 = helper) === null || _helper2 === void 0 ? void 0 : _helper2.removeAllListeners();
631
+ (_helper4 = helper) === null || _helper4 === void 0 ? void 0 : _helper4.removeAllListeners();
596
632
  helper = null;
597
633
  (_derivedHelper3 = derivedHelper) === null || _derivedHelper3 === void 0 ? void 0 : _derivedHelper3.detach();
598
634
  derivedHelper = null;
599
635
  },
600
636
  getWidgetUiState: function getWidgetUiState(uiState) {
601
- return localWidgets.filter(_utils.isIndexWidget).reduce(function (previousUiState, innerIndex) {
637
+ return localWidgets.filter(_utils.isIndexWidget).filter(function (w) {
638
+ return !w._isolated;
639
+ }).reduce(function (previousUiState, innerIndex) {
602
640
  return innerIndex.getWidgetUiState(previousUiState);
603
641
  }, _objectSpread(_objectSpread({}, uiState), {}, _defineProperty({}, indexId, _objectSpread(_objectSpread({}, uiState[indexId]), localUiState))));
604
642
  },
@@ -613,6 +651,9 @@ var index = function index(widgetParams) {
613
651
  initialSearchParameters: searchParameters
614
652
  });
615
653
  },
654
+ shouldRender: function shouldRender() {
655
+ return true;
656
+ },
616
657
  refreshUiState: function refreshUiState() {
617
658
  localUiState = getLocalWidgetsUiState(localWidgets, {
618
659
  searchParameters: this.getHelper().state,
@@ -634,4 +675,17 @@ function storeRenderState(_ref8) {
634
675
  parent = _ref8.parent;
635
676
  var parentIndexName = parent ? parent.getIndexId() : instantSearchInstance.mainIndex.getIndexId();
636
677
  instantSearchInstance.renderState = _objectSpread(_objectSpread({}, instantSearchInstance.renderState), {}, _defineProperty({}, parentIndexName, _objectSpread(_objectSpread({}, instantSearchInstance.renderState[parentIndexName]), renderState)));
678
+ }
679
+
680
+ /**
681
+ * Walk up the parent chain to find the closest isolated index, or fall back to mainHelper
682
+ */
683
+ function nearestIsolatedHelper(current, mainHelper) {
684
+ while (current) {
685
+ if (current._isolated) {
686
+ return current.getHelper();
687
+ }
688
+ current = current.getParent();
689
+ }
690
+ return mainHelper;
637
691
  }
@@ -16,6 +16,12 @@ Object.defineProperty(exports, "breadcrumb", {
16
16
  return _breadcrumb.default;
17
17
  }
18
18
  });
19
+ Object.defineProperty(exports, "chat", {
20
+ enumerable: true,
21
+ get: function get() {
22
+ return _chat.default;
23
+ }
24
+ });
19
25
  Object.defineProperty(exports, "clearRefinements", {
20
26
  enumerable: true,
21
27
  get: function get() {
@@ -252,6 +258,7 @@ var _trendingItems = _interopRequireDefault(require("./trending-items/trending-i
252
258
  var _voiceSearch = _interopRequireDefault(require("./voice-search/voice-search"));
253
259
  var _frequentlyBoughtTogether = _interopRequireDefault(require("./frequently-bought-together/frequently-bought-together"));
254
260
  var _lookingSimilar = _interopRequireDefault(require("./looking-similar/looking-similar"));
261
+ var _chat = _interopRequireDefault(require("./chat/chat"));
255
262
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
256
263
  /** @deprecated answers is no longer supported */
257
264
  var EXPERIMENTAL_answers = exports.EXPERIMENTAL_answers = (0, _utils.deprecate)(_answers.default, 'answers is no longer supported');
@@ -0,0 +1,267 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EXPERIMENTAL_dynamicWidgets = exports.EXPERIMENTAL_configureRelatedItems = exports.EXPERIMENTAL_answers = void 0;
7
+ Object.defineProperty(exports, "analytics", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _analytics.default;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "breadcrumb", {
14
+ enumerable: true,
15
+ get: function get() {
16
+ return _breadcrumb.default;
17
+ }
18
+ });
19
+ exports.chat = void 0;
20
+ Object.defineProperty(exports, "clearRefinements", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _clearRefinements.default;
24
+ }
25
+ });
26
+ Object.defineProperty(exports, "configure", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _configure.default;
30
+ }
31
+ });
32
+ Object.defineProperty(exports, "currentRefinements", {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _currentRefinements.default;
36
+ }
37
+ });
38
+ Object.defineProperty(exports, "dynamicWidgets", {
39
+ enumerable: true,
40
+ get: function get() {
41
+ return _dynamicWidgets.default;
42
+ }
43
+ });
44
+ Object.defineProperty(exports, "frequentlyBoughtTogether", {
45
+ enumerable: true,
46
+ get: function get() {
47
+ return _frequentlyBoughtTogether.default;
48
+ }
49
+ });
50
+ Object.defineProperty(exports, "geoSearch", {
51
+ enumerable: true,
52
+ get: function get() {
53
+ return _geoSearch.default;
54
+ }
55
+ });
56
+ Object.defineProperty(exports, "hierarchicalMenu", {
57
+ enumerable: true,
58
+ get: function get() {
59
+ return _hierarchicalMenu.default;
60
+ }
61
+ });
62
+ Object.defineProperty(exports, "hits", {
63
+ enumerable: true,
64
+ get: function get() {
65
+ return _hits.default;
66
+ }
67
+ });
68
+ Object.defineProperty(exports, "hitsPerPage", {
69
+ enumerable: true,
70
+ get: function get() {
71
+ return _hitsPerPage.default;
72
+ }
73
+ });
74
+ Object.defineProperty(exports, "index", {
75
+ enumerable: true,
76
+ get: function get() {
77
+ return _index.default;
78
+ }
79
+ });
80
+ Object.defineProperty(exports, "infiniteHits", {
81
+ enumerable: true,
82
+ get: function get() {
83
+ return _infiniteHits.default;
84
+ }
85
+ });
86
+ Object.defineProperty(exports, "lookingSimilar", {
87
+ enumerable: true,
88
+ get: function get() {
89
+ return _lookingSimilar.default;
90
+ }
91
+ });
92
+ Object.defineProperty(exports, "menu", {
93
+ enumerable: true,
94
+ get: function get() {
95
+ return _menu.default;
96
+ }
97
+ });
98
+ Object.defineProperty(exports, "menuSelect", {
99
+ enumerable: true,
100
+ get: function get() {
101
+ return _menuSelect.default;
102
+ }
103
+ });
104
+ Object.defineProperty(exports, "numericMenu", {
105
+ enumerable: true,
106
+ get: function get() {
107
+ return _numericMenu.default;
108
+ }
109
+ });
110
+ Object.defineProperty(exports, "pagination", {
111
+ enumerable: true,
112
+ get: function get() {
113
+ return _pagination.default;
114
+ }
115
+ });
116
+ Object.defineProperty(exports, "panel", {
117
+ enumerable: true,
118
+ get: function get() {
119
+ return _panel.default;
120
+ }
121
+ });
122
+ Object.defineProperty(exports, "places", {
123
+ enumerable: true,
124
+ get: function get() {
125
+ return _places.default;
126
+ }
127
+ });
128
+ Object.defineProperty(exports, "poweredBy", {
129
+ enumerable: true,
130
+ get: function get() {
131
+ return _poweredBy.default;
132
+ }
133
+ });
134
+ Object.defineProperty(exports, "queryRuleContext", {
135
+ enumerable: true,
136
+ get: function get() {
137
+ return _queryRuleContext.default;
138
+ }
139
+ });
140
+ Object.defineProperty(exports, "queryRuleCustomData", {
141
+ enumerable: true,
142
+ get: function get() {
143
+ return _queryRuleCustomData.default;
144
+ }
145
+ });
146
+ Object.defineProperty(exports, "rangeInput", {
147
+ enumerable: true,
148
+ get: function get() {
149
+ return _rangeInput.default;
150
+ }
151
+ });
152
+ Object.defineProperty(exports, "rangeSlider", {
153
+ enumerable: true,
154
+ get: function get() {
155
+ return _rangeSlider.default;
156
+ }
157
+ });
158
+ Object.defineProperty(exports, "ratingMenu", {
159
+ enumerable: true,
160
+ get: function get() {
161
+ return _ratingMenu.default;
162
+ }
163
+ });
164
+ Object.defineProperty(exports, "refinementList", {
165
+ enumerable: true,
166
+ get: function get() {
167
+ return _refinementList.default;
168
+ }
169
+ });
170
+ Object.defineProperty(exports, "relatedProducts", {
171
+ enumerable: true,
172
+ get: function get() {
173
+ return _relatedProducts.default;
174
+ }
175
+ });
176
+ Object.defineProperty(exports, "relevantSort", {
177
+ enumerable: true,
178
+ get: function get() {
179
+ return _relevantSort.default;
180
+ }
181
+ });
182
+ Object.defineProperty(exports, "searchBox", {
183
+ enumerable: true,
184
+ get: function get() {
185
+ return _searchBox.default;
186
+ }
187
+ });
188
+ Object.defineProperty(exports, "sortBy", {
189
+ enumerable: true,
190
+ get: function get() {
191
+ return _sortBy.default;
192
+ }
193
+ });
194
+ Object.defineProperty(exports, "stats", {
195
+ enumerable: true,
196
+ get: function get() {
197
+ return _stats.default;
198
+ }
199
+ });
200
+ Object.defineProperty(exports, "toggleRefinement", {
201
+ enumerable: true,
202
+ get: function get() {
203
+ return _toggleRefinement.default;
204
+ }
205
+ });
206
+ Object.defineProperty(exports, "trendingItems", {
207
+ enumerable: true,
208
+ get: function get() {
209
+ return _trendingItems.default;
210
+ }
211
+ });
212
+ Object.defineProperty(exports, "voiceSearch", {
213
+ enumerable: true,
214
+ get: function get() {
215
+ return _voiceSearch.default;
216
+ }
217
+ });
218
+ var _utils = require("../lib/utils");
219
+ var _answers = _interopRequireDefault(require("./answers/answers"));
220
+ var _configureRelatedItems = _interopRequireDefault(require("./configure-related-items/configure-related-items"));
221
+ var _dynamicWidgets = _interopRequireDefault(require("./dynamic-widgets/dynamic-widgets"));
222
+ var _analytics = _interopRequireDefault(require("./analytics/analytics"));
223
+ var _breadcrumb = _interopRequireDefault(require("./breadcrumb/breadcrumb"));
224
+ var _clearRefinements = _interopRequireDefault(require("./clear-refinements/clear-refinements"));
225
+ var _configure = _interopRequireDefault(require("./configure/configure"));
226
+ var _currentRefinements = _interopRequireDefault(require("./current-refinements/current-refinements"));
227
+ var _geoSearch = _interopRequireDefault(require("./geo-search/geo-search"));
228
+ var _hierarchicalMenu = _interopRequireDefault(require("./hierarchical-menu/hierarchical-menu"));
229
+ var _hits = _interopRequireDefault(require("./hits/hits"));
230
+ var _hitsPerPage = _interopRequireDefault(require("./hits-per-page/hits-per-page"));
231
+ var _index = _interopRequireDefault(require("./index/index"));
232
+ var _infiniteHits = _interopRequireDefault(require("./infinite-hits/infinite-hits"));
233
+ var _menu = _interopRequireDefault(require("./menu/menu"));
234
+ var _menuSelect = _interopRequireDefault(require("./menu-select/menu-select"));
235
+ var _numericMenu = _interopRequireDefault(require("./numeric-menu/numeric-menu"));
236
+ var _pagination = _interopRequireDefault(require("./pagination/pagination"));
237
+ var _panel = _interopRequireDefault(require("./panel/panel"));
238
+ var _places = _interopRequireDefault(require("./places/places"));
239
+ var _poweredBy = _interopRequireDefault(require("./powered-by/powered-by"));
240
+ var _queryRuleContext = _interopRequireDefault(require("./query-rule-context/query-rule-context"));
241
+ var _queryRuleCustomData = _interopRequireDefault(require("./query-rule-custom-data/query-rule-custom-data"));
242
+ var _relatedProducts = _interopRequireDefault(require("./related-products/related-products"));
243
+ var _rangeInput = _interopRequireDefault(require("./range-input/range-input"));
244
+ var _rangeSlider = _interopRequireDefault(require("./range-slider/range-slider"));
245
+ var _ratingMenu = _interopRequireDefault(require("./rating-menu/rating-menu"));
246
+ var _refinementList = _interopRequireDefault(require("./refinement-list/refinement-list"));
247
+ var _relevantSort = _interopRequireDefault(require("./relevant-sort/relevant-sort"));
248
+ var _searchBox = _interopRequireDefault(require("./search-box/search-box"));
249
+ var _sortBy = _interopRequireDefault(require("./sort-by/sort-by"));
250
+ var _stats = _interopRequireDefault(require("./stats/stats"));
251
+ var _toggleRefinement = _interopRequireDefault(require("./toggle-refinement/toggle-refinement"));
252
+ var _trendingItems = _interopRequireDefault(require("./trending-items/trending-items"));
253
+ var _voiceSearch = _interopRequireDefault(require("./voice-search/voice-search"));
254
+ var _frequentlyBoughtTogether = _interopRequireDefault(require("./frequently-bought-together/frequently-bought-together"));
255
+ var _lookingSimilar = _interopRequireDefault(require("./looking-similar/looking-similar"));
256
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
257
+ /** @deprecated answers is no longer supported */
258
+ var EXPERIMENTAL_answers = exports.EXPERIMENTAL_answers = (0, _utils.deprecate)(_answers.default, 'answers is no longer supported');
259
+
260
+ /** @deprecated use relatedItems instead */
261
+ var EXPERIMENTAL_configureRelatedItems = exports.EXPERIMENTAL_configureRelatedItems = (0, _utils.deprecate)(_configureRelatedItems.default, 'EXPERIMENTAL_configureRelatedItems is deprecated and will be removed in a next minor version of InstantSearch. Please use relatedItems instead.');
262
+
263
+ /** @deprecated use dynamicWidgets */
264
+ var EXPERIMENTAL_dynamicWidgets = exports.EXPERIMENTAL_dynamicWidgets = (0, _utils.deprecate)(_dynamicWidgets.default, 'use dynamicWidgets');
265
+ var chat = exports.chat = function chat() {
266
+ throw new Error("\"chat\" is not available from the UMD build.\n\nPlease use InstantSearch.js with a packaging system:\nhttps://www.algolia.com/doc/guides/building-search-ui/installation/js/#with-a-packaging-system");
267
+ };