react-instantsearch 7.8.1 → 7.9.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.
@@ -7,7 +7,7 @@
7
7
 
8
8
  var React__default = 'default' in React ? React['default'] : React;
9
9
 
10
- var version = '7.8.1';
10
+ var version = '7.9.0';
11
11
 
12
12
  // Copyright Joyent, Inc. and other Node contributors.
13
13
  //
@@ -527,15 +527,8 @@
527
527
 
528
528
  addParams: function (params) {
529
529
  var newParams = this.params.slice();
530
- var existingParamsIndex = this.params.findIndex(function (currentParams) {
531
- return currentParams.$$id === params.$$id;
532
- });
533
530
 
534
- if (existingParamsIndex !== -1) {
535
- newParams.splice(existingParamsIndex, 1, params);
536
- } else {
537
- newParams.push(params);
538
- }
531
+ newParams.push(params);
539
532
 
540
533
  return new RecommendParameters({ params: newParams });
541
534
  },
@@ -578,18 +571,49 @@
578
571
  );
579
572
  },
580
573
 
581
- _buildQueries: function (indexName) {
582
- return this.params.map(function (params) {
583
- var query = Object.assign({}, params, { indexName: indexName });
584
- delete query.$$id;
574
+ _buildQueries: function (indexName, cache) {
575
+ return this.params
576
+ .filter(function (params) {
577
+ return cache[params.$$id] === undefined;
578
+ })
579
+ .map(function (params) {
580
+ var query = Object.assign({}, params, { indexName: indexName });
581
+ delete query.$$id;
585
582
 
586
- return query;
587
- });
583
+ return query;
584
+ });
588
585
  },
589
586
  };
590
587
 
591
588
  var RecommendParameters_1 = RecommendParameters;
592
589
 
590
+ /**
591
+ * Constructor for SearchResults
592
+ * @class
593
+ * @classdesc SearchResults contains the results of a query to Algolia using the
594
+ * {@link AlgoliaSearchHelper}.
595
+ * @param {RecommendParameters} state state that led to the response
596
+ * @param {Record<string,RecommendResultItem>} results the results from algolia client
597
+ **/
598
+ function RecommendResults(state, results) {
599
+ this._state = state;
600
+ this._rawResults = results;
601
+
602
+ // eslint-disable-next-line consistent-this
603
+ var self = this;
604
+
605
+ state.params.forEach(function (param) {
606
+ var id = param.$$id;
607
+ self[id] = results[id];
608
+ });
609
+ }
610
+
611
+ RecommendResults.prototype = {
612
+ constructor: RecommendResults,
613
+ };
614
+
615
+ var RecommendResults_1 = RecommendResults;
616
+
593
617
  function sortObject(obj) {
594
618
  return Object.keys(obj)
595
619
  .sort()
@@ -4437,7 +4461,66 @@
4437
4461
 
4438
4462
  var SearchResults_1 = SearchResults;
4439
4463
 
4440
- var version$1 = '3.19.0';
4464
+ // @MAJOR: remove this function and use Array.prototype.flat
4465
+ var flat = function flat(arr) {
4466
+ return arr.reduce(function (acc, val) {
4467
+ return acc.concat(val);
4468
+ }, []);
4469
+ };
4470
+
4471
+ function getAverageIndices(indexTracker, nrOfObjs) {
4472
+ var avgIndices = [];
4473
+
4474
+ Object.keys(indexTracker).forEach(function (key) {
4475
+ if (indexTracker[key].count < 2) {
4476
+ indexTracker[key].indexSum += 100;
4477
+ }
4478
+ avgIndices.push({
4479
+ objectID: key,
4480
+ avgOfIndices: indexTracker[key].indexSum / nrOfObjs,
4481
+ });
4482
+ });
4483
+
4484
+ return avgIndices.sort(function (a, b) {
4485
+ return a.avgOfIndices > b.avgOfIndices ? 1 : -1;
4486
+ });
4487
+ }
4488
+
4489
+ function sortAndMergeRecommendations(results) {
4490
+ var indexTracker = {};
4491
+
4492
+ results.forEach(function (hits) {
4493
+ hits.forEach(function (hit, index) {
4494
+ if (!indexTracker[hit.objectID]) {
4495
+ indexTracker[hit.objectID] = { indexSum: index, count: 1 };
4496
+ } else {
4497
+ indexTracker[hit.objectID] = {
4498
+ indexSum: indexTracker[hit.objectID].indexSum + index,
4499
+ count: indexTracker[hit.objectID].count + 1,
4500
+ };
4501
+ }
4502
+ });
4503
+ });
4504
+
4505
+ var sortedAverageIndices = getAverageIndices(indexTracker, results.length);
4506
+
4507
+ var finalOrder = sortedAverageIndices.reduce(function (
4508
+ orderedHits,
4509
+ avgIndexRef
4510
+ ) {
4511
+ var result = find(flat(results), function (hit) {
4512
+ return hit.objectID === avgIndexRef.objectID;
4513
+ });
4514
+ return result ? orderedHits.concat(result) : orderedHits;
4515
+ },
4516
+ []);
4517
+
4518
+ return finalOrder;
4519
+ }
4520
+
4521
+ var sortAndMergeRecommendations_1 = sortAndMergeRecommendations;
4522
+
4523
+ var version$1 = '3.20.0';
4441
4524
 
4442
4525
  var escapeFacetValue$3 = escapeFacetValue_1.escapeFacetValue;
4443
4526
 
@@ -4450,6 +4533,8 @@
4450
4533
 
4451
4534
 
4452
4535
 
4536
+
4537
+
4453
4538
  /**
4454
4539
  * Event triggered when a parameter is set or updated
4455
4540
  * @event AlgoliaSearchHelper#event:change
@@ -4576,6 +4661,7 @@
4576
4661
  this._currentNbQueries = 0;
4577
4662
  this._currentNbRecommendQueries = 0;
4578
4663
  this._searchResultsOptions = searchResultsOptions;
4664
+ this.recommendCache = {};
4579
4665
  }
4580
4666
 
4581
4667
  inherits_1(AlgoliaSearchHelper, events);
@@ -5364,7 +5450,7 @@
5364
5450
  /**
5365
5451
  * Removes a "frequently bought together" recommendation query.
5366
5452
  *
5367
- * @param {string} id identifier of the recommendation widget
5453
+ * @param {number} id identifier of the recommendation widget
5368
5454
  * @returns {AlgoliaSearchHelper} Method is chainable, it returns itself
5369
5455
  * @fires change
5370
5456
  * @chainable
@@ -5380,7 +5466,7 @@
5380
5466
  /**
5381
5467
  * Removes a "related products" recommendation query.
5382
5468
  *
5383
- * @param {string} id identifier of the recommendation widget
5469
+ * @param {number} id identifier of the recommendation widget
5384
5470
  * @returns {AlgoliaSearchHelper} Method is chainable, it returns itself
5385
5471
  * @fires change
5386
5472
  * @chainable
@@ -5396,7 +5482,7 @@
5396
5482
  /**
5397
5483
  * Removes a "trending items" recommendation query.
5398
5484
  *
5399
- * @param {string} id identifier of the recommendation widget
5485
+ * @param {number} id identifier of the recommendation widget
5400
5486
  * @returns {AlgoliaSearchHelper} Method is chainable, it returns itself
5401
5487
  * @fires change
5402
5488
  * @chainable
@@ -5412,7 +5498,7 @@
5412
5498
  /**
5413
5499
  * Removes a "trending facets" recommendation query.
5414
5500
  *
5415
- * @param {string} id identifier of the recommendation widget
5501
+ * @param {number} id identifier of the recommendation widget
5416
5502
  * @returns {AlgoliaSearchHelper} Method is chainable, it returns itself
5417
5503
  * @fires change
5418
5504
  * @chainable
@@ -5428,7 +5514,7 @@
5428
5514
  /**
5429
5515
  * Removes a "looking similar" recommendation query.
5430
5516
  *
5431
- * @param {string} id identifier of the recommendation widget
5517
+ * @param {number} id identifier of the recommendation widget
5432
5518
  * @returns {AlgoliaSearchHelper} Method is chainable, it returns itself
5433
5519
  * @fires change
5434
5520
  * @chainable
@@ -6013,6 +6099,9 @@
6013
6099
  var recommendState = this.recommendState;
6014
6100
  var index = this.getIndex();
6015
6101
  var states = [{ state: recommendState, index: index, helper: this }];
6102
+ var ids = recommendState.params.map(function (param) {
6103
+ return param.$$id;
6104
+ });
6016
6105
 
6017
6106
  this.emit('fetch', {
6018
6107
  recommend: {
@@ -6021,6 +6110,8 @@
6021
6110
  },
6022
6111
  });
6023
6112
 
6113
+ var cache = this.recommendCache;
6114
+
6024
6115
  var derivedQueries = this.derivedHelpers.map(function (derivedHelper) {
6025
6116
  var derivedIndex = derivedHelper.getModifiedState(searchState).index;
6026
6117
  if (!derivedIndex) {
@@ -6039,6 +6130,13 @@
6039
6130
  helper: derivedHelper,
6040
6131
  });
6041
6132
 
6133
+ ids = Array.prototype.concat.apply(
6134
+ ids,
6135
+ derivedState.params.map(function (param) {
6136
+ return param.$$id;
6137
+ })
6138
+ );
6139
+
6042
6140
  derivedHelper.emit('fetch', {
6043
6141
  recommend: {
6044
6142
  state: derivedState,
@@ -6046,11 +6144,11 @@
6046
6144
  },
6047
6145
  });
6048
6146
 
6049
- return derivedState._buildQueries(derivedIndex);
6147
+ return derivedState._buildQueries(derivedIndex, cache);
6050
6148
  });
6051
6149
 
6052
6150
  var queries = Array.prototype.concat.apply(
6053
- this.recommendState._buildQueries(index),
6151
+ this.recommendState._buildQueries(index, cache),
6054
6152
  derivedQueries
6055
6153
  );
6056
6154
 
@@ -6064,7 +6162,7 @@
6064
6162
  ) {
6065
6163
  // eslint-disable-next-line no-console
6066
6164
  console.warn(
6067
- 'Please update algoliasearch/lite to the latest version in order to use recommendations widgets.'
6165
+ 'Please update algoliasearch/lite to the latest version in order to use recommend widgets.'
6068
6166
  );
6069
6167
  return;
6070
6168
  }
@@ -6075,7 +6173,7 @@
6075
6173
  try {
6076
6174
  this.client
6077
6175
  .getRecommendations(queries)
6078
- .then(this._dispatchRecommendResponse.bind(this, queryId, states))
6176
+ .then(this._dispatchRecommendResponse.bind(this, queryId, states, ids))
6079
6177
  .catch(this._dispatchRecommendError.bind(this, queryId));
6080
6178
  } catch (error) {
6081
6179
  // If we reach this part, we're in an internal error state
@@ -6149,6 +6247,7 @@
6149
6247
  AlgoliaSearchHelper.prototype._dispatchRecommendResponse = function (
6150
6248
  queryId,
6151
6249
  states,
6250
+ ids,
6152
6251
  content
6153
6252
  ) {
6154
6253
  // @TODO remove the number of outdated queries discarded instead of just one
@@ -6164,7 +6263,39 @@
6164
6263
 
6165
6264
  if (this._currentNbRecommendQueries === 0) this.emit('recommendQueueEmpty');
6166
6265
 
6167
- var results = content.results.slice();
6266
+ var cache = this.recommendCache;
6267
+
6268
+ var idsMap = {};
6269
+ ids
6270
+ .filter(function (id) {
6271
+ return cache[id] === undefined;
6272
+ })
6273
+ .forEach(function (id, index) {
6274
+ if (!idsMap[id]) idsMap[id] = [];
6275
+
6276
+ idsMap[id].push(index);
6277
+ });
6278
+
6279
+ Object.keys(idsMap).forEach(function (id) {
6280
+ var indices = idsMap[id];
6281
+ var firstResult = content.results[indices[0]];
6282
+ if (indices.length === 1) {
6283
+ cache[id] = firstResult;
6284
+ return;
6285
+ }
6286
+ cache[id] = Object.assign({}, firstResult, {
6287
+ hits: sortAndMergeRecommendations_1(
6288
+ indices.map(function (idx) {
6289
+ return content.results[idx].hits;
6290
+ })
6291
+ ),
6292
+ });
6293
+ });
6294
+
6295
+ var results = {};
6296
+ ids.forEach(function (id) {
6297
+ results[id] = cache[id];
6298
+ });
6168
6299
 
6169
6300
  states.forEach(function (s) {
6170
6301
  var state = s.state;
@@ -6180,7 +6311,7 @@
6180
6311
  return;
6181
6312
  }
6182
6313
 
6183
- helper.lastRecommendResults = results;
6314
+ helper.lastRecommendResults = new RecommendResults_1(state, results);
6184
6315
 
6185
6316
  // eslint-disable-next-line no-warning-comments
6186
6317
  // TODO: emit "result" event when events for Recommend are implemented
@@ -8499,8 +8630,8 @@
8499
8630
  error: instantSearchInstance.error
8500
8631
  };
8501
8632
  }
8502
- function createRenderArgs(instantSearchInstance, parent) {
8503
- var results = parent.getResults();
8633
+ function createRenderArgs(instantSearchInstance, parent, widget) {
8634
+ var results = parent.getResultsForWidget(widget);
8504
8635
  var helper = parent.getHelper();
8505
8636
  return {
8506
8637
  helper: helper,
@@ -8508,7 +8639,7 @@
8508
8639
  instantSearchInstance: instantSearchInstance,
8509
8640
  results: results,
8510
8641
  scopedResults: parent.getScopedResults(),
8511
- state: results ? results._state : helper.state,
8642
+ state: results && '_state' in results ? results._state : helper.state,
8512
8643
  renderState: instantSearchInstance.renderState,
8513
8644
  templatesConfig: instantSearchInstance.templatesConfig,
8514
8645
  createURL: parent.createURL,
@@ -9349,7 +9480,10 @@
9349
9480
  helper: helper,
9350
9481
  parent: parentIndex,
9351
9482
  instantSearchInstance: search,
9352
- results: results,
9483
+ results: widget.dependsOn === 'recommend' ?
9484
+ // @TODO: this is to avoid using wrong hits in SSR,
9485
+ // will be replace with SSR support for recommend
9486
+ null : results,
9353
9487
  scopedResults: scopedResults,
9354
9488
  state: helper.state,
9355
9489
  renderState: search.renderState,
@@ -9796,6 +9930,14 @@
9796
9930
  return undefined;
9797
9931
  }
9798
9932
 
9933
+ var id = 0;
9934
+ function addWidgetId(widget) {
9935
+ if (widget.dependsOn !== 'recommend') {
9936
+ return;
9937
+ }
9938
+ widget.$$id = id++;
9939
+ }
9940
+
9799
9941
  function _typeof$h(obj) {
9800
9942
  "@babel/helpers - typeof";
9801
9943
 
@@ -10015,6 +10157,8 @@
10015
10157
  var helper = null;
10016
10158
  var derivedHelper = null;
10017
10159
  var lastValidSearchParameters = null;
10160
+ var hasRecommendWidget = false;
10161
+ var hasSearchWidget = false;
10018
10162
  return {
10019
10163
  $$type: 'ais.index',
10020
10164
  $$widgetType: 'ais.index',
@@ -10039,6 +10183,16 @@
10039
10183
  derivedHelper.lastResults._state = helper.state;
10040
10184
  return derivedHelper.lastResults;
10041
10185
  },
10186
+ getResultsForWidget: function getResultsForWidget(widget) {
10187
+ var _helper;
10188
+ if (widget.dependsOn !== 'recommend' || isIndexWidget(widget) || widget.$$id === undefined) {
10189
+ return this.getResults();
10190
+ }
10191
+ if (!((_helper = helper) !== null && _helper !== void 0 && _helper.lastRecommendResults)) {
10192
+ return null;
10193
+ }
10194
+ return helper.lastRecommendResults[widget.$$id];
10195
+ },
10042
10196
  getPreviousState: function getPreviousState() {
10043
10197
  return lastValidSearchParameters;
10044
10198
  },
@@ -10083,6 +10237,21 @@
10083
10237
  })) {
10084
10238
  throw new Error(withUsage$2('The widget definition expects a `render` and/or an `init` method.'));
10085
10239
  }
10240
+ widgets.forEach(function (widget) {
10241
+ if (isIndexWidget(widget)) {
10242
+ return;
10243
+ }
10244
+ if (localInstantSearchInstance && widget.dependsOn === 'recommend') {
10245
+ localInstantSearchInstance._hasRecommendWidget = true;
10246
+ } else if (localInstantSearchInstance) {
10247
+ localInstantSearchInstance._hasSearchWidget = true;
10248
+ } else if (widget.dependsOn === 'recommend') {
10249
+ hasRecommendWidget = true;
10250
+ } else {
10251
+ hasSearchWidget = true;
10252
+ }
10253
+ addWidgetId(widget);
10254
+ });
10086
10255
  localWidgets = localWidgets.concat(widgets);
10087
10256
  if (localInstantSearchInstance && Boolean(widgets.length)) {
10088
10257
  privateHelperSetState(helper, {
@@ -10132,16 +10301,41 @@
10132
10301
  localWidgets = localWidgets.filter(function (widget) {
10133
10302
  return widgets.indexOf(widget) === -1;
10134
10303
  });
10304
+ localWidgets.forEach(function (widget) {
10305
+ if (isIndexWidget(widget)) {
10306
+ return;
10307
+ }
10308
+ if (localInstantSearchInstance && widget.dependsOn === 'recommend') {
10309
+ localInstantSearchInstance._hasRecommendWidget = true;
10310
+ } else if (localInstantSearchInstance) {
10311
+ localInstantSearchInstance._hasSearchWidget = true;
10312
+ } else if (widget.dependsOn === 'recommend') {
10313
+ hasRecommendWidget = true;
10314
+ } else {
10315
+ hasSearchWidget = true;
10316
+ }
10317
+ });
10135
10318
  if (localInstantSearchInstance && Boolean(widgets.length)) {
10136
- var cleanedState = widgets.reduce(function (state, widget) {
10137
- // the `dispose` method exists at this point we already assert it
10138
- var next = widget.dispose({
10139
- helper: helper,
10140
- state: state,
10141
- parent: _this2
10142
- });
10143
- return next || state;
10144
- }, helper.state);
10319
+ var _widgets$reduce = widgets.reduce(function (states, widget) {
10320
+ // the `dispose` method exists at this point we already assert it
10321
+ var next = widget.dispose({
10322
+ helper: helper,
10323
+ state: states.cleanedSearchState,
10324
+ recommendState: states.cleanedRecommendState,
10325
+ parent: _this2
10326
+ });
10327
+ if (next instanceof algoliasearchHelper_1.RecommendParameters) {
10328
+ states.cleanedRecommendState = next;
10329
+ } else if (next) {
10330
+ states.cleanedSearchState = next;
10331
+ }
10332
+ return states;
10333
+ }, {
10334
+ cleanedSearchState: helper.state,
10335
+ cleanedRecommendState: helper.recommendState
10336
+ }),
10337
+ cleanedSearchState = _widgets$reduce.cleanedSearchState,
10338
+ cleanedRecommendState = _widgets$reduce.cleanedRecommendState;
10145
10339
  var newState = localInstantSearchInstance.future.preserveSharedStateOnUnmount ? getLocalWidgetsSearchParameters(localWidgets, {
10146
10340
  uiState: localUiState,
10147
10341
  initialSearchParameters: new algoliasearchHelper_1.SearchParameters({
@@ -10149,16 +10343,17 @@
10149
10343
  })
10150
10344
  }) : getLocalWidgetsSearchParameters(localWidgets, {
10151
10345
  uiState: getLocalWidgetsUiState(localWidgets, {
10152
- searchParameters: cleanedState,
10346
+ searchParameters: cleanedSearchState,
10153
10347
  helper: helper
10154
10348
  }),
10155
- initialSearchParameters: cleanedState
10349
+ initialSearchParameters: cleanedSearchState
10156
10350
  });
10157
10351
  localUiState = getLocalWidgetsUiState(localWidgets, {
10158
10352
  searchParameters: newState,
10159
10353
  helper: helper
10160
10354
  });
10161
10355
  helper.setState(newState);
10356
+ helper.recommendState = cleanedRecommendState;
10162
10357
  if (localWidgets.length) {
10163
10358
  localInstantSearchInstance.scheduleSearch();
10164
10359
  }
@@ -10334,9 +10529,16 @@
10334
10529
  // schedule a render that will render the results injected on the helper.
10335
10530
  instantSearchInstance.scheduleRender();
10336
10531
  }
10532
+ if (hasRecommendWidget) {
10533
+ instantSearchInstance._hasRecommendWidget = true;
10534
+ }
10535
+ if (hasSearchWidget) {
10536
+ instantSearchInstance._hasSearchWidget = true;
10537
+ }
10337
10538
  },
10338
10539
  render: function render(_ref6) {
10339
- var _this4 = this;
10540
+ var _derivedHelper2,
10541
+ _this4 = this;
10340
10542
  var instantSearchInstance = _ref6.instantSearchInstance;
10341
10543
  // we can't attach a listener to the error event of search, as the error
10342
10544
  // then would no longer be thrown for global handlers.
@@ -10346,7 +10548,7 @@
10346
10548
 
10347
10549
  // We only render index widgets if there are no results.
10348
10550
  // This makes sure `render` is never called with `results` being `null`.
10349
- var widgetsToRender = this.getResults() ? localWidgets : localWidgets.filter(isIndexWidget);
10551
+ var widgetsToRender = this.getResults() || (_derivedHelper2 = derivedHelper) !== null && _derivedHelper2 !== void 0 && _derivedHelper2.lastRecommendResults ? localWidgets : localWidgets.filter(isIndexWidget);
10350
10552
  widgetsToRender = widgetsToRender.filter(function (widget) {
10351
10553
  if (!widget.shouldRender) {
10352
10554
  return true;
@@ -10357,7 +10559,7 @@
10357
10559
  });
10358
10560
  widgetsToRender.forEach(function (widget) {
10359
10561
  if (widget.getRenderState) {
10360
- var renderState = widget.getRenderState(instantSearchInstance.renderState[_this4.getIndexId()] || {}, createRenderArgs(instantSearchInstance, _this4));
10562
+ var renderState = widget.getRenderState(instantSearchInstance.renderState[_this4.getIndexId()] || {}, createRenderArgs(instantSearchInstance, _this4, widget));
10361
10563
  storeRenderState({
10362
10564
  renderState: renderState,
10363
10565
  instantSearchInstance: instantSearchInstance,
@@ -10374,14 +10576,14 @@
10374
10576
  // not have results yet.
10375
10577
 
10376
10578
  if (widget.render) {
10377
- widget.render(createRenderArgs(instantSearchInstance, _this4));
10579
+ widget.render(createRenderArgs(instantSearchInstance, _this4, widget));
10378
10580
  }
10379
10581
  });
10380
10582
  },
10381
10583
  dispose: function dispose() {
10382
10584
  var _this5 = this,
10383
- _helper,
10384
- _derivedHelper2;
10585
+ _helper2,
10586
+ _derivedHelper3;
10385
10587
  localWidgets.forEach(function (widget) {
10386
10588
  if (widget.dispose && helper) {
10387
10589
  // The dispose function is always called once the instance is started
@@ -10393,15 +10595,16 @@
10393
10595
  widget.dispose({
10394
10596
  helper: helper,
10395
10597
  state: helper.state,
10598
+ recommendState: helper.recommendState,
10396
10599
  parent: _this5
10397
10600
  });
10398
10601
  }
10399
10602
  });
10400
10603
  localInstantSearchInstance = null;
10401
10604
  localParent = null;
10402
- (_helper = helper) === null || _helper === void 0 ? void 0 : _helper.removeAllListeners();
10605
+ (_helper2 = helper) === null || _helper2 === void 0 ? void 0 : _helper2.removeAllListeners();
10403
10606
  helper = null;
10404
- (_derivedHelper2 = derivedHelper) === null || _derivedHelper2 === void 0 ? void 0 : _derivedHelper2.detach();
10607
+ (_derivedHelper3 = derivedHelper) === null || _derivedHelper3 === void 0 ? void 0 : _derivedHelper3.detach();
10405
10608
  derivedHelper = null;
10406
10609
  },
10407
10610
  getWidgetUiState: function getWidgetUiState(uiState) {
@@ -12778,7 +12981,7 @@
12778
12981
  };
12779
12982
  }
12780
12983
 
12781
- var version$3 = '4.68.1';
12984
+ var version$3 = '4.69.0';
12782
12985
 
12783
12986
  function _typeof$p(obj) {
12784
12987
  "@babel/helpers - typeof";
@@ -12978,6 +13181,8 @@
12978
13181
  _defineProperty$k(_assertThisInitialized(_this), "_createURL", void 0);
12979
13182
  _defineProperty$k(_assertThisInitialized(_this), "_searchFunction", void 0);
12980
13183
  _defineProperty$k(_assertThisInitialized(_this), "_mainHelperSearch", void 0);
13184
+ _defineProperty$k(_assertThisInitialized(_this), "_hasSearchWidget", false);
13185
+ _defineProperty$k(_assertThisInitialized(_this), "_hasRecommendWidget", false);
12981
13186
  _defineProperty$k(_assertThisInitialized(_this), "_insights", void 0);
12982
13187
  _defineProperty$k(_assertThisInitialized(_this), "middleware", []);
12983
13188
  _defineProperty$k(_assertThisInitialized(_this), "sendEventToInsights", void 0);
@@ -13272,7 +13477,13 @@
13272
13477
  // under the hood, we have a different implementation. It should be
13273
13478
  // completely transparent for the rest of the codebase. Only this module
13274
13479
  // is impacted.
13275
- return mainHelper.searchOnlyWithDerivedHelpers() && mainHelper.recommend();
13480
+ if (_this3._hasSearchWidget) {
13481
+ mainHelper.searchOnlyWithDerivedHelpers();
13482
+ }
13483
+ if (_this3._hasRecommendWidget) {
13484
+ mainHelper.recommend();
13485
+ }
13486
+ return mainHelper;
13276
13487
  };
13277
13488
  if (this._searchFunction) {
13278
13489
  // this client isn't used to actually search, but required for the helper
@@ -14740,6 +14951,147 @@
14740
14951
  return (hint === "string" ? String : Number)(input);
14741
14952
  }
14742
14953
  var withUsage$7 = createDocumentationMessageGenerator({
14954
+ name: 'frequently-bought-together',
14955
+ connector: true
14956
+ });
14957
+ var connectFrequentlyBoughtTogether = function connectFrequentlyBoughtTogether(renderFn) {
14958
+ var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
14959
+ checkRendering(renderFn, withUsage$7());
14960
+ return function (widgetParams) {
14961
+ var _ref = widgetParams || {},
14962
+ _ref$escapeHTML = _ref.escapeHTML,
14963
+ escapeHTML = _ref$escapeHTML === void 0 ? true : _ref$escapeHTML,
14964
+ _ref$transformItems = _ref.transformItems,
14965
+ transformItems = _ref$transformItems === void 0 ? function (items) {
14966
+ return items;
14967
+ } : _ref$transformItems,
14968
+ objectIDs = _ref.objectIDs,
14969
+ limit = _ref.limit,
14970
+ threshold = _ref.threshold,
14971
+ queryParameters = _ref.queryParameters;
14972
+ if (!objectIDs || objectIDs.length === 0) {
14973
+ throw new Error(withUsage$7('The `objectIDs` option is required.'));
14974
+ }
14975
+ return {
14976
+ dependsOn: 'recommend',
14977
+ $$type: 'ais.frequentlyBoughtTogether',
14978
+ init: function init(initOptions) {
14979
+ renderFn(_objectSpread$p(_objectSpread$p({}, this.getWidgetRenderState(initOptions)), {}, {
14980
+ instantSearchInstance: initOptions.instantSearchInstance
14981
+ }), true);
14982
+ },
14983
+ render: function render(renderOptions) {
14984
+ var renderState = this.getWidgetRenderState(renderOptions);
14985
+ renderFn(_objectSpread$p(_objectSpread$p({}, renderState), {}, {
14986
+ instantSearchInstance: renderOptions.instantSearchInstance
14987
+ }), false);
14988
+ },
14989
+ getRenderState: function getRenderState(renderState) {
14990
+ return renderState;
14991
+ },
14992
+ getWidgetRenderState: function getWidgetRenderState(_ref2) {
14993
+ var results = _ref2.results;
14994
+ if (results === null || results === undefined) {
14995
+ return {
14996
+ items: [],
14997
+ widgetParams: widgetParams
14998
+ };
14999
+ }
15000
+ if (escapeHTML && results.hits.length > 0) {
15001
+ results.hits = escapeHits(results.hits);
15002
+ }
15003
+ var transformedItems = transformItems(results.hits, {
15004
+ results: results
15005
+ });
15006
+ return {
15007
+ items: transformedItems,
15008
+ widgetParams: widgetParams
15009
+ };
15010
+ },
15011
+ dispose: function dispose(_ref3) {
15012
+ var recommendState = _ref3.recommendState;
15013
+ unmountFn();
15014
+ return recommendState.removeParams(this.$$id);
15015
+ },
15016
+ getWidgetParameters: function getWidgetParameters(state) {
15017
+ var _this = this;
15018
+ return objectIDs.reduce(function (acc, objectID) {
15019
+ return acc.addFrequentlyBoughtTogether({
15020
+ objectID: objectID,
15021
+ threshold: threshold,
15022
+ maxRecommendations: limit,
15023
+ queryParameters: _objectSpread$p(_objectSpread$p({}, queryParameters), escapeHTML ? TAG_PLACEHOLDER : {}),
15024
+ $$id: _this.$$id
15025
+ });
15026
+ }, state.removeParams(this.$$id));
15027
+ }
15028
+ };
15029
+ };
15030
+ };
15031
+
15032
+ function useFrequentlyBoughtTogether(props, additionalWidgetProperties) {
15033
+ return useConnector(connectFrequentlyBoughtTogether, props, additionalWidgetProperties);
15034
+ }
15035
+
15036
+ function _typeof$w(obj) {
15037
+ "@babel/helpers - typeof";
15038
+
15039
+ return _typeof$w = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
15040
+ return typeof obj;
15041
+ } : function (obj) {
15042
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
15043
+ }, _typeof$w(obj);
15044
+ }
15045
+ function ownKeys$q(object, enumerableOnly) {
15046
+ var keys = Object.keys(object);
15047
+ if (Object.getOwnPropertySymbols) {
15048
+ var symbols = Object.getOwnPropertySymbols(object);
15049
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
15050
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
15051
+ })), keys.push.apply(keys, symbols);
15052
+ }
15053
+ return keys;
15054
+ }
15055
+ function _objectSpread$q(target) {
15056
+ for (var i = 1; i < arguments.length; i++) {
15057
+ var source = null != arguments[i] ? arguments[i] : {};
15058
+ i % 2 ? ownKeys$q(Object(source), !0).forEach(function (key) {
15059
+ _defineProperty$r(target, key, source[key]);
15060
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$q(Object(source)).forEach(function (key) {
15061
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
15062
+ });
15063
+ }
15064
+ return target;
15065
+ }
15066
+ function _defineProperty$r(obj, key, value) {
15067
+ key = _toPropertyKey$r(key);
15068
+ if (key in obj) {
15069
+ Object.defineProperty(obj, key, {
15070
+ value: value,
15071
+ enumerable: true,
15072
+ configurable: true,
15073
+ writable: true
15074
+ });
15075
+ } else {
15076
+ obj[key] = value;
15077
+ }
15078
+ return obj;
15079
+ }
15080
+ function _toPropertyKey$r(arg) {
15081
+ var key = _toPrimitive$r(arg, "string");
15082
+ return _typeof$w(key) === "symbol" ? key : String(key);
15083
+ }
15084
+ function _toPrimitive$r(input, hint) {
15085
+ if (_typeof$w(input) !== "object" || input === null) return input;
15086
+ var prim = input[Symbol.toPrimitive];
15087
+ if (prim !== undefined) {
15088
+ var res = prim.call(input, hint || "default");
15089
+ if (_typeof$w(res) !== "object") return res;
15090
+ throw new TypeError("@@toPrimitive must return a primitive value.");
15091
+ }
15092
+ return (hint === "string" ? String : Number)(input);
15093
+ }
15094
+ var withUsage$8 = createDocumentationMessageGenerator({
14743
15095
  name: 'geo-search',
14744
15096
  connector: true
14745
15097
  });
@@ -14765,7 +15117,7 @@
14765
15117
  */
14766
15118
  var connectGeoSearch = function connectGeoSearch(renderFn) {
14767
15119
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
14768
- checkRendering(renderFn, withUsage$7());
15120
+ checkRendering(renderFn, withUsage$8());
14769
15121
  return function (widgetParams) {
14770
15122
  var _ref = widgetParams || {},
14771
15123
  _ref$enableRefineOnMa = _ref.enableRefineOnMapMove,
@@ -14844,7 +15196,7 @@
14844
15196
  var isFirstRendering = true;
14845
15197
  widgetState.internalToggleRefineOnMapMove = createInternalToggleRefinementOnMapMove(initArgs, noop$1);
14846
15198
  widgetState.internalSetMapMoveSinceLastRefine = createInternalSetMapMoveSinceLastRefine(initArgs, noop$1);
14847
- renderFn(_objectSpread$p(_objectSpread$p({}, this.getWidgetRenderState(initArgs)), {}, {
15199
+ renderFn(_objectSpread$q(_objectSpread$q({}, this.getWidgetRenderState(initArgs)), {}, {
14848
15200
  instantSearchInstance: instantSearchInstance
14849
15201
  }), isFirstRendering);
14850
15202
  },
@@ -14866,7 +15218,7 @@
14866
15218
  widgetState.internalSetMapMoveSinceLastRefine = createInternalSetMapMoveSinceLastRefine(renderArgs, this.render.bind(this));
14867
15219
  var widgetRenderState = this.getWidgetRenderState(renderArgs);
14868
15220
  sendEvent('view:internal', widgetRenderState.items);
14869
- renderFn(_objectSpread$p(_objectSpread$p({}, widgetRenderState), {}, {
15221
+ renderFn(_objectSpread$q(_objectSpread$q({}, widgetRenderState), {}, {
14870
15222
  instantSearchInstance: instantSearchInstance
14871
15223
  }), isFirstRendering);
14872
15224
  },
@@ -14905,7 +15257,7 @@
14905
15257
  };
14906
15258
  },
14907
15259
  getRenderState: function getRenderState(renderState, renderOptions) {
14908
- return _objectSpread$p(_objectSpread$p({}, renderState), {}, {
15260
+ return _objectSpread$q(_objectSpread$q({}, renderState), {}, {
14909
15261
  geoSearch: this.getWidgetRenderState(renderOptions)
14910
15262
  });
14911
15263
  },
@@ -14920,7 +15272,7 @@
14920
15272
  if (!boundingBox || uiState && uiState.geoSearch && uiState.geoSearch.boundingBox === boundingBox) {
14921
15273
  return uiState;
14922
15274
  }
14923
- return _objectSpread$p(_objectSpread$p({}, uiState), {}, {
15275
+ return _objectSpread$q(_objectSpread$q({}, uiState), {}, {
14924
15276
  geoSearch: {
14925
15277
  boundingBox: boundingBox
14926
15278
  }
@@ -14941,17 +15293,17 @@
14941
15293
  return useConnector(connectGeoSearch, props, additionalWidgetProperties);
14942
15294
  }
14943
15295
 
14944
- function _typeof$w(obj) {
15296
+ function _typeof$x(obj) {
14945
15297
  "@babel/helpers - typeof";
14946
15298
 
14947
- return _typeof$w = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
15299
+ return _typeof$x = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
14948
15300
  return typeof obj;
14949
15301
  } : function (obj) {
14950
15302
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
14951
- }, _typeof$w(obj);
15303
+ }, _typeof$x(obj);
14952
15304
  }
14953
15305
  var _excluded$8 = ["name", "escapedValue", "data", "path"];
14954
- function ownKeys$q(object, enumerableOnly) {
15306
+ function ownKeys$r(object, enumerableOnly) {
14955
15307
  var keys = Object.keys(object);
14956
15308
  if (Object.getOwnPropertySymbols) {
14957
15309
  var symbols = Object.getOwnPropertySymbols(object);
@@ -14961,19 +15313,19 @@
14961
15313
  }
14962
15314
  return keys;
14963
15315
  }
14964
- function _objectSpread$q(target) {
15316
+ function _objectSpread$r(target) {
14965
15317
  for (var i = 1; i < arguments.length; i++) {
14966
15318
  var source = null != arguments[i] ? arguments[i] : {};
14967
- i % 2 ? ownKeys$q(Object(source), !0).forEach(function (key) {
14968
- _defineProperty$r(target, key, source[key]);
14969
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$q(Object(source)).forEach(function (key) {
15319
+ i % 2 ? ownKeys$r(Object(source), !0).forEach(function (key) {
15320
+ _defineProperty$s(target, key, source[key]);
15321
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$r(Object(source)).forEach(function (key) {
14970
15322
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
14971
15323
  });
14972
15324
  }
14973
15325
  return target;
14974
15326
  }
14975
- function _defineProperty$r(obj, key, value) {
14976
- key = _toPropertyKey$r(key);
15327
+ function _defineProperty$s(obj, key, value) {
15328
+ key = _toPropertyKey$s(key);
14977
15329
  if (key in obj) {
14978
15330
  Object.defineProperty(obj, key, {
14979
15331
  value: value,
@@ -14986,16 +15338,16 @@
14986
15338
  }
14987
15339
  return obj;
14988
15340
  }
14989
- function _toPropertyKey$r(arg) {
14990
- var key = _toPrimitive$r(arg, "string");
14991
- return _typeof$w(key) === "symbol" ? key : String(key);
15341
+ function _toPropertyKey$s(arg) {
15342
+ var key = _toPrimitive$s(arg, "string");
15343
+ return _typeof$x(key) === "symbol" ? key : String(key);
14992
15344
  }
14993
- function _toPrimitive$r(input, hint) {
14994
- if (_typeof$w(input) !== "object" || input === null) return input;
15345
+ function _toPrimitive$s(input, hint) {
15346
+ if (_typeof$x(input) !== "object" || input === null) return input;
14995
15347
  var prim = input[Symbol.toPrimitive];
14996
15348
  if (prim !== undefined) {
14997
15349
  var res = prim.call(input, hint || "default");
14998
- if (_typeof$w(res) !== "object") return res;
15350
+ if (_typeof$x(res) !== "object") return res;
14999
15351
  throw new TypeError("@@toPrimitive must return a primitive value.");
15000
15352
  }
15001
15353
  return (hint === "string" ? String : Number)(input);
@@ -15076,7 +15428,7 @@
15076
15428
  function _arrayWithHoles$9(arr) {
15077
15429
  if (Array.isArray(arr)) return arr;
15078
15430
  }
15079
- var withUsage$8 = createDocumentationMessageGenerator({
15431
+ var withUsage$9 = createDocumentationMessageGenerator({
15080
15432
  name: 'hierarchical-menu',
15081
15433
  connector: true
15082
15434
  });
@@ -15096,7 +15448,7 @@
15096
15448
  */
15097
15449
  var connectHierarchicalMenu = function connectHierarchicalMenu(renderFn) {
15098
15450
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
15099
- checkRendering(renderFn, withUsage$8());
15451
+ checkRendering(renderFn, withUsage$9());
15100
15452
  return function (widgetParams) {
15101
15453
  var _ref = widgetParams || {},
15102
15454
  attributes = _ref.attributes,
@@ -15119,10 +15471,10 @@
15119
15471
  return items;
15120
15472
  } : _ref$transformItems;
15121
15473
  if (!attributes || !Array.isArray(attributes) || attributes.length === 0) {
15122
- throw new Error(withUsage$8('The `attributes` option expects an array of strings.'));
15474
+ throw new Error(withUsage$9('The `attributes` option expects an array of strings.'));
15123
15475
  }
15124
15476
  if (showMore === true && showMoreLimit <= limit) {
15125
- throw new Error(withUsage$8('The `showMoreLimit` option must be greater than `limit`.'));
15477
+ throw new Error(withUsage$9('The `showMoreLimit` option must be greater than `limit`.'));
15126
15478
  }
15127
15479
  // we need to provide a hierarchicalFacet name for the search state
15128
15480
  // so that we can always map $hierarchicalFacetName => real attributes
@@ -15155,7 +15507,7 @@
15155
15507
  data = _ref2.data,
15156
15508
  path = _ref2.path,
15157
15509
  subValue = _objectWithoutProperties$8(_ref2, _excluded$8);
15158
- var item = _objectSpread$q(_objectSpread$q({}, subValue), {}, {
15510
+ var item = _objectSpread$r(_objectSpread$r({}, subValue), {}, {
15159
15511
  value: value,
15160
15512
  label: label,
15161
15513
  data: null
@@ -15170,14 +15522,14 @@
15170
15522
  $$type: 'ais.hierarchicalMenu',
15171
15523
  init: function init(initOptions) {
15172
15524
  var instantSearchInstance = initOptions.instantSearchInstance;
15173
- renderFn(_objectSpread$q(_objectSpread$q({}, this.getWidgetRenderState(initOptions)), {}, {
15525
+ renderFn(_objectSpread$r(_objectSpread$r({}, this.getWidgetRenderState(initOptions)), {}, {
15174
15526
  instantSearchInstance: instantSearchInstance
15175
15527
  }), true);
15176
15528
  },
15177
15529
  render: function render(renderOptions) {
15178
15530
  var instantSearchInstance = renderOptions.instantSearchInstance;
15179
15531
  toggleShowMore = createToggleShowMore(renderOptions, this);
15180
- renderFn(_objectSpread$q(_objectSpread$q({}, this.getWidgetRenderState(renderOptions)), {}, {
15532
+ renderFn(_objectSpread$r(_objectSpread$r({}, this.getWidgetRenderState(renderOptions)), {}, {
15181
15533
  instantSearchInstance: instantSearchInstance
15182
15534
  }), false);
15183
15535
  },
@@ -15187,8 +15539,8 @@
15187
15539
  return state.removeHierarchicalFacet(hierarchicalFacetName).setQueryParameter('maxValuesPerFacet', undefined);
15188
15540
  },
15189
15541
  getRenderState: function getRenderState(renderState, renderOptions) {
15190
- return _objectSpread$q(_objectSpread$q({}, renderState), {}, {
15191
- hierarchicalMenu: _objectSpread$q(_objectSpread$q({}, renderState.hierarchicalMenu), {}, _defineProperty$r({}, hierarchicalFacetName, this.getWidgetRenderState(renderOptions)))
15542
+ return _objectSpread$r(_objectSpread$r({}, renderState), {}, {
15543
+ hierarchicalMenu: _objectSpread$r(_objectSpread$r({}, renderState.hierarchicalMenu), {}, _defineProperty$s({}, hierarchicalFacetName, this.getWidgetRenderState(renderOptions)))
15192
15544
  });
15193
15545
  },
15194
15546
  getWidgetRenderState: function getWidgetRenderState(_ref4) {
@@ -15261,8 +15613,8 @@
15261
15613
  getWidgetUiState: function getWidgetUiState(uiState, _ref5) {
15262
15614
  var searchParameters = _ref5.searchParameters;
15263
15615
  var path = searchParameters.getHierarchicalFacetBreadcrumb(hierarchicalFacetName);
15264
- return removeEmptyRefinementsFromUiState$1(_objectSpread$q(_objectSpread$q({}, uiState), {}, {
15265
- hierarchicalMenu: _objectSpread$q(_objectSpread$q({}, uiState.hierarchicalMenu), {}, _defineProperty$r({}, hierarchicalFacetName, path))
15616
+ return removeEmptyRefinementsFromUiState$1(_objectSpread$r(_objectSpread$r({}, uiState), {}, {
15617
+ hierarchicalMenu: _objectSpread$r(_objectSpread$r({}, uiState.hierarchicalMenu), {}, _defineProperty$s({}, hierarchicalFacetName, path))
15266
15618
  }), hierarchicalFacetName);
15267
15619
  },
15268
15620
  getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref6) {
@@ -15286,7 +15638,7 @@
15286
15638
  var withMaxValuesPerFacet = withFacetConfiguration.setQueryParameter('maxValuesPerFacet', nextMaxValuesPerFacet);
15287
15639
  if (!values) {
15288
15640
  return withMaxValuesPerFacet.setQueryParameters({
15289
- hierarchicalFacetsRefinements: _objectSpread$q(_objectSpread$q({}, withMaxValuesPerFacet.hierarchicalFacetsRefinements), {}, _defineProperty$r({}, hierarchicalFacetName, []))
15641
+ hierarchicalFacetsRefinements: _objectSpread$r(_objectSpread$r({}, withMaxValuesPerFacet.hierarchicalFacetsRefinements), {}, _defineProperty$s({}, hierarchicalFacetName, []))
15290
15642
  });
15291
15643
  }
15292
15644
  return withMaxValuesPerFacet.addHierarchicalFacetRefinement(hierarchicalFacetName, values.join(separator));
@@ -15311,16 +15663,16 @@
15311
15663
  return useConnector(connectHierarchicalMenu, props, additionalWidgetProperties);
15312
15664
  }
15313
15665
 
15314
- function _typeof$x(obj) {
15666
+ function _typeof$y(obj) {
15315
15667
  "@babel/helpers - typeof";
15316
15668
 
15317
- return _typeof$x = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
15669
+ return _typeof$y = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
15318
15670
  return typeof obj;
15319
15671
  } : function (obj) {
15320
15672
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
15321
- }, _typeof$x(obj);
15673
+ }, _typeof$y(obj);
15322
15674
  }
15323
- function ownKeys$r(object, enumerableOnly) {
15675
+ function ownKeys$s(object, enumerableOnly) {
15324
15676
  var keys = Object.keys(object);
15325
15677
  if (Object.getOwnPropertySymbols) {
15326
15678
  var symbols = Object.getOwnPropertySymbols(object);
@@ -15330,19 +15682,19 @@
15330
15682
  }
15331
15683
  return keys;
15332
15684
  }
15333
- function _objectSpread$r(target) {
15685
+ function _objectSpread$s(target) {
15334
15686
  for (var i = 1; i < arguments.length; i++) {
15335
15687
  var source = null != arguments[i] ? arguments[i] : {};
15336
- i % 2 ? ownKeys$r(Object(source), !0).forEach(function (key) {
15337
- _defineProperty$s(target, key, source[key]);
15338
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$r(Object(source)).forEach(function (key) {
15688
+ i % 2 ? ownKeys$s(Object(source), !0).forEach(function (key) {
15689
+ _defineProperty$t(target, key, source[key]);
15690
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$s(Object(source)).forEach(function (key) {
15339
15691
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
15340
15692
  });
15341
15693
  }
15342
15694
  return target;
15343
15695
  }
15344
- function _defineProperty$s(obj, key, value) {
15345
- key = _toPropertyKey$s(key);
15696
+ function _defineProperty$t(obj, key, value) {
15697
+ key = _toPropertyKey$t(key);
15346
15698
  if (key in obj) {
15347
15699
  Object.defineProperty(obj, key, {
15348
15700
  value: value,
@@ -15355,27 +15707,27 @@
15355
15707
  }
15356
15708
  return obj;
15357
15709
  }
15358
- function _toPropertyKey$s(arg) {
15359
- var key = _toPrimitive$s(arg, "string");
15360
- return _typeof$x(key) === "symbol" ? key : String(key);
15710
+ function _toPropertyKey$t(arg) {
15711
+ var key = _toPrimitive$t(arg, "string");
15712
+ return _typeof$y(key) === "symbol" ? key : String(key);
15361
15713
  }
15362
- function _toPrimitive$s(input, hint) {
15363
- if (_typeof$x(input) !== "object" || input === null) return input;
15714
+ function _toPrimitive$t(input, hint) {
15715
+ if (_typeof$y(input) !== "object" || input === null) return input;
15364
15716
  var prim = input[Symbol.toPrimitive];
15365
15717
  if (prim !== undefined) {
15366
15718
  var res = prim.call(input, hint || "default");
15367
- if (_typeof$x(res) !== "object") return res;
15719
+ if (_typeof$y(res) !== "object") return res;
15368
15720
  throw new TypeError("@@toPrimitive must return a primitive value.");
15369
15721
  }
15370
15722
  return (hint === "string" ? String : Number)(input);
15371
15723
  }
15372
- var withUsage$9 = createDocumentationMessageGenerator({
15724
+ var withUsage$a = createDocumentationMessageGenerator({
15373
15725
  name: 'hits',
15374
15726
  connector: true
15375
15727
  });
15376
15728
  var connectHits = function connectHits(renderFn) {
15377
15729
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
15378
- checkRendering(renderFn, withUsage$9());
15730
+ checkRendering(renderFn, withUsage$a());
15379
15731
  return function (widgetParams) {
15380
15732
  var _ref = widgetParams || {},
15381
15733
  _ref$escapeHTML = _ref.escapeHTML,
@@ -15389,19 +15741,19 @@
15389
15741
  return {
15390
15742
  $$type: 'ais.hits',
15391
15743
  init: function init(initOptions) {
15392
- renderFn(_objectSpread$r(_objectSpread$r({}, this.getWidgetRenderState(initOptions)), {}, {
15744
+ renderFn(_objectSpread$s(_objectSpread$s({}, this.getWidgetRenderState(initOptions)), {}, {
15393
15745
  instantSearchInstance: initOptions.instantSearchInstance
15394
15746
  }), true);
15395
15747
  },
15396
15748
  render: function render(renderOptions) {
15397
15749
  var renderState = this.getWidgetRenderState(renderOptions);
15398
- renderFn(_objectSpread$r(_objectSpread$r({}, renderState), {}, {
15750
+ renderFn(_objectSpread$s(_objectSpread$s({}, renderState), {}, {
15399
15751
  instantSearchInstance: renderOptions.instantSearchInstance
15400
15752
  }), false);
15401
15753
  renderState.sendEvent('view:internal', renderState.hits);
15402
15754
  },
15403
15755
  getRenderState: function getRenderState(renderState, renderOptions) {
15404
- return _objectSpread$r(_objectSpread$r({}, renderState), {}, {
15756
+ return _objectSpread$s(_objectSpread$s({}, renderState), {}, {
15405
15757
  hits: this.getWidgetRenderState(renderOptions)
15406
15758
  });
15407
15759
  },
@@ -15463,7 +15815,7 @@
15463
15815
  return state;
15464
15816
  }
15465
15817
  return state.setQueryParameters(Object.keys(TAG_PLACEHOLDER).reduce(function (acc, key) {
15466
- return _objectSpread$r(_objectSpread$r({}, acc), {}, _defineProperty$s({}, key, undefined));
15818
+ return _objectSpread$s(_objectSpread$s({}, acc), {}, _defineProperty$t({}, key, undefined));
15467
15819
  }, {}));
15468
15820
  },
15469
15821
  getWidgetSearchParameters: function getWidgetSearchParameters(state) {
@@ -15482,14 +15834,14 @@
15482
15834
  return useConnector(connectHits, props, additionalWidgetProperties);
15483
15835
  }
15484
15836
 
15485
- function _typeof$y(obj) {
15837
+ function _typeof$z(obj) {
15486
15838
  "@babel/helpers - typeof";
15487
15839
 
15488
- return _typeof$y = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
15840
+ return _typeof$z = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
15489
15841
  return typeof obj;
15490
15842
  } : function (obj) {
15491
15843
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
15492
- }, _typeof$y(obj);
15844
+ }, _typeof$z(obj);
15493
15845
  }
15494
15846
  function _toConsumableArray$5(arr) {
15495
15847
  return _arrayWithoutHoles$5(arr) || _iterableToArray$5(arr) || _unsupportedIterableToArray$e(arr) || _nonIterableSpread$5();
@@ -15516,7 +15868,7 @@
15516
15868
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
15517
15869
  return arr2;
15518
15870
  }
15519
- function ownKeys$s(object, enumerableOnly) {
15871
+ function ownKeys$t(object, enumerableOnly) {
15520
15872
  var keys = Object.keys(object);
15521
15873
  if (Object.getOwnPropertySymbols) {
15522
15874
  var symbols = Object.getOwnPropertySymbols(object);
@@ -15526,19 +15878,19 @@
15526
15878
  }
15527
15879
  return keys;
15528
15880
  }
15529
- function _objectSpread$s(target) {
15881
+ function _objectSpread$t(target) {
15530
15882
  for (var i = 1; i < arguments.length; i++) {
15531
15883
  var source = null != arguments[i] ? arguments[i] : {};
15532
- i % 2 ? ownKeys$s(Object(source), !0).forEach(function (key) {
15533
- _defineProperty$t(target, key, source[key]);
15534
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$s(Object(source)).forEach(function (key) {
15884
+ i % 2 ? ownKeys$t(Object(source), !0).forEach(function (key) {
15885
+ _defineProperty$u(target, key, source[key]);
15886
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$t(Object(source)).forEach(function (key) {
15535
15887
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
15536
15888
  });
15537
15889
  }
15538
15890
  return target;
15539
15891
  }
15540
- function _defineProperty$t(obj, key, value) {
15541
- key = _toPropertyKey$t(key);
15892
+ function _defineProperty$u(obj, key, value) {
15893
+ key = _toPropertyKey$u(key);
15542
15894
  if (key in obj) {
15543
15895
  Object.defineProperty(obj, key, {
15544
15896
  value: value,
@@ -15551,27 +15903,27 @@
15551
15903
  }
15552
15904
  return obj;
15553
15905
  }
15554
- function _toPropertyKey$t(arg) {
15555
- var key = _toPrimitive$t(arg, "string");
15556
- return _typeof$y(key) === "symbol" ? key : String(key);
15906
+ function _toPropertyKey$u(arg) {
15907
+ var key = _toPrimitive$u(arg, "string");
15908
+ return _typeof$z(key) === "symbol" ? key : String(key);
15557
15909
  }
15558
- function _toPrimitive$t(input, hint) {
15559
- if (_typeof$y(input) !== "object" || input === null) return input;
15910
+ function _toPrimitive$u(input, hint) {
15911
+ if (_typeof$z(input) !== "object" || input === null) return input;
15560
15912
  var prim = input[Symbol.toPrimitive];
15561
15913
  if (prim !== undefined) {
15562
15914
  var res = prim.call(input, hint || "default");
15563
- if (_typeof$y(res) !== "object") return res;
15915
+ if (_typeof$z(res) !== "object") return res;
15564
15916
  throw new TypeError("@@toPrimitive must return a primitive value.");
15565
15917
  }
15566
15918
  return (hint === "string" ? String : Number)(input);
15567
15919
  }
15568
- var withUsage$a = createDocumentationMessageGenerator({
15920
+ var withUsage$b = createDocumentationMessageGenerator({
15569
15921
  name: 'hits-per-page',
15570
15922
  connector: true
15571
15923
  });
15572
15924
  var connectHitsPerPage = function connectHitsPerPage(renderFn) {
15573
15925
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
15574
- checkRendering(renderFn, withUsage$a());
15926
+ checkRendering(renderFn, withUsage$b());
15575
15927
  return function (widgetParams) {
15576
15928
  var _ref = widgetParams || {},
15577
15929
  userItems = _ref.items,
@@ -15580,23 +15932,23 @@
15580
15932
  return items;
15581
15933
  } : _ref$transformItems;
15582
15934
  if (!Array.isArray(userItems)) {
15583
- throw new Error(withUsage$a('The `items` option expects an array of objects.'));
15935
+ throw new Error(withUsage$b('The `items` option expects an array of objects.'));
15584
15936
  }
15585
15937
  var items = userItems;
15586
15938
  var defaultItems = items.filter(function (item) {
15587
15939
  return item.default === true;
15588
15940
  });
15589
15941
  if (defaultItems.length === 0) {
15590
- throw new Error(withUsage$a("A default value must be specified in `items`."));
15942
+ throw new Error(withUsage$b("A default value must be specified in `items`."));
15591
15943
  }
15592
15944
  if (defaultItems.length > 1) {
15593
- throw new Error(withUsage$a('More than one default value is specified in `items`.'));
15945
+ throw new Error(withUsage$b('More than one default value is specified in `items`.'));
15594
15946
  }
15595
15947
  var defaultItem = defaultItems[0];
15596
15948
  var normalizeItems = function normalizeItems(_ref2) {
15597
15949
  var hitsPerPage = _ref2.hitsPerPage;
15598
15950
  return items.map(function (item) {
15599
- return _objectSpread$s(_objectSpread$s({}, item), {}, {
15951
+ return _objectSpread$t(_objectSpread$t({}, item), {}, {
15600
15952
  isRefined: Number(item.value) === Number(hitsPerPage)
15601
15953
  });
15602
15954
  });
@@ -15638,13 +15990,13 @@
15638
15990
  label: ''
15639
15991
  }].concat(_toConsumableArray$5(items));
15640
15992
  }
15641
- renderFn(_objectSpread$s(_objectSpread$s({}, this.getWidgetRenderState(initOptions)), {}, {
15993
+ renderFn(_objectSpread$t(_objectSpread$t({}, this.getWidgetRenderState(initOptions)), {}, {
15642
15994
  instantSearchInstance: instantSearchInstance
15643
15995
  }), true);
15644
15996
  },
15645
15997
  render: function render(initOptions) {
15646
15998
  var instantSearchInstance = initOptions.instantSearchInstance;
15647
- renderFn(_objectSpread$s(_objectSpread$s({}, this.getWidgetRenderState(initOptions)), {}, {
15999
+ renderFn(_objectSpread$t(_objectSpread$t({}, this.getWidgetRenderState(initOptions)), {}, {
15648
16000
  instantSearchInstance: instantSearchInstance
15649
16001
  }), false);
15650
16002
  },
@@ -15654,7 +16006,7 @@
15654
16006
  return state.setQueryParameter('hitsPerPage', undefined);
15655
16007
  },
15656
16008
  getRenderState: function getRenderState(renderState, renderOptions) {
15657
- return _objectSpread$s(_objectSpread$s({}, renderState), {}, {
16009
+ return _objectSpread$t(_objectSpread$t({}, renderState), {}, {
15658
16010
  hitsPerPage: this.getWidgetRenderState(renderOptions)
15659
16011
  });
15660
16012
  },
@@ -15686,7 +16038,7 @@
15686
16038
  if (hitsPerPage === undefined || hitsPerPage === defaultItem.value) {
15687
16039
  return uiState;
15688
16040
  }
15689
- return _objectSpread$s(_objectSpread$s({}, uiState), {}, {
16041
+ return _objectSpread$t(_objectSpread$t({}, uiState), {}, {
15690
16042
  hitsPerPage: hitsPerPage
15691
16043
  });
15692
16044
  },
@@ -15704,18 +16056,18 @@
15704
16056
  return useConnector(connectHitsPerPage, props, additionalWidgetProperties);
15705
16057
  }
15706
16058
 
15707
- function _typeof$z(obj) {
16059
+ function _typeof$A(obj) {
15708
16060
  "@babel/helpers - typeof";
15709
16061
 
15710
- return _typeof$z = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
16062
+ return _typeof$A = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
15711
16063
  return typeof obj;
15712
16064
  } : function (obj) {
15713
16065
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
15714
- }, _typeof$z(obj);
16066
+ }, _typeof$A(obj);
15715
16067
  }
15716
16068
  var _excluded$9 = ["page"],
15717
16069
  _excluded2$2 = ["clickAnalytics", "userToken"];
15718
- function ownKeys$t(object, enumerableOnly) {
16070
+ function ownKeys$u(object, enumerableOnly) {
15719
16071
  var keys = Object.keys(object);
15720
16072
  if (Object.getOwnPropertySymbols) {
15721
16073
  var symbols = Object.getOwnPropertySymbols(object);
@@ -15725,19 +16077,19 @@
15725
16077
  }
15726
16078
  return keys;
15727
16079
  }
15728
- function _objectSpread$t(target) {
16080
+ function _objectSpread$u(target) {
15729
16081
  for (var i = 1; i < arguments.length; i++) {
15730
16082
  var source = null != arguments[i] ? arguments[i] : {};
15731
- i % 2 ? ownKeys$t(Object(source), !0).forEach(function (key) {
15732
- _defineProperty$u(target, key, source[key]);
15733
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$t(Object(source)).forEach(function (key) {
16083
+ i % 2 ? ownKeys$u(Object(source), !0).forEach(function (key) {
16084
+ _defineProperty$v(target, key, source[key]);
16085
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$u(Object(source)).forEach(function (key) {
15734
16086
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
15735
16087
  });
15736
16088
  }
15737
16089
  return target;
15738
16090
  }
15739
- function _defineProperty$u(obj, key, value) {
15740
- key = _toPropertyKey$u(key);
16091
+ function _defineProperty$v(obj, key, value) {
16092
+ key = _toPropertyKey$v(key);
15741
16093
  if (key in obj) {
15742
16094
  Object.defineProperty(obj, key, {
15743
16095
  value: value,
@@ -15750,16 +16102,16 @@
15750
16102
  }
15751
16103
  return obj;
15752
16104
  }
15753
- function _toPropertyKey$u(arg) {
15754
- var key = _toPrimitive$u(arg, "string");
15755
- return _typeof$z(key) === "symbol" ? key : String(key);
16105
+ function _toPropertyKey$v(arg) {
16106
+ var key = _toPrimitive$v(arg, "string");
16107
+ return _typeof$A(key) === "symbol" ? key : String(key);
15756
16108
  }
15757
- function _toPrimitive$u(input, hint) {
15758
- if (_typeof$z(input) !== "object" || input === null) return input;
16109
+ function _toPrimitive$v(input, hint) {
16110
+ if (_typeof$A(input) !== "object" || input === null) return input;
15759
16111
  var prim = input[Symbol.toPrimitive];
15760
16112
  if (prim !== undefined) {
15761
16113
  var res = prim.call(input, hint || "default");
15762
- if (_typeof$z(res) !== "object") return res;
16114
+ if (_typeof$A(res) !== "object") return res;
15763
16115
  throw new TypeError("@@toPrimitive must return a primitive value.");
15764
16116
  }
15765
16117
  return (hint === "string" ? String : Number)(input);
@@ -15816,7 +16168,7 @@
15816
16168
  }
15817
16169
  return target;
15818
16170
  }
15819
- var withUsage$b = createDocumentationMessageGenerator({
16171
+ var withUsage$c = createDocumentationMessageGenerator({
15820
16172
  name: 'infinite-hits',
15821
16173
  connector: true
15822
16174
  });
@@ -15858,7 +16210,7 @@
15858
16210
  }
15859
16211
  var connectInfiniteHits = function connectInfiniteHits(renderFn) {
15860
16212
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
15861
- checkRendering(renderFn, withUsage$b());
16213
+ checkRendering(renderFn, withUsage$c());
15862
16214
 
15863
16215
  // @TODO: this should be a generic, but a Connector can not yet be generic itself
15864
16216
 
@@ -15900,7 +16252,7 @@
15900
16252
  return function () {
15901
16253
  // Using the helper's `overrideStateWithoutTriggeringChangeEvent` method
15902
16254
  // avoid updating the browser URL when the user displays the previous page.
15903
- helper.overrideStateWithoutTriggeringChangeEvent(_objectSpread$t(_objectSpread$t({}, helper.state), {}, {
16255
+ helper.overrideStateWithoutTriggeringChangeEvent(_objectSpread$u(_objectSpread$u({}, helper.state), {}, {
15904
16256
  page: getFirstReceivedPage(helper.state, cache.read({
15905
16257
  state: normalizeState(helper.state)
15906
16258
  }) || {}) - 1
@@ -15917,20 +16269,20 @@
15917
16269
  return {
15918
16270
  $$type: 'ais.infiniteHits',
15919
16271
  init: function init(initOptions) {
15920
- renderFn(_objectSpread$t(_objectSpread$t({}, this.getWidgetRenderState(initOptions)), {}, {
16272
+ renderFn(_objectSpread$u(_objectSpread$u({}, this.getWidgetRenderState(initOptions)), {}, {
15921
16273
  instantSearchInstance: initOptions.instantSearchInstance
15922
16274
  }), true);
15923
16275
  },
15924
16276
  render: function render(renderOptions) {
15925
16277
  var instantSearchInstance = renderOptions.instantSearchInstance;
15926
16278
  var widgetRenderState = this.getWidgetRenderState(renderOptions);
15927
- renderFn(_objectSpread$t(_objectSpread$t({}, widgetRenderState), {}, {
16279
+ renderFn(_objectSpread$u(_objectSpread$u({}, widgetRenderState), {}, {
15928
16280
  instantSearchInstance: instantSearchInstance
15929
16281
  }), false);
15930
16282
  sendEvent('view:internal', widgetRenderState.currentPageHits);
15931
16283
  },
15932
16284
  getRenderState: function getRenderState(renderState, renderOptions) {
15933
- return _objectSpread$t(_objectSpread$t({}, renderState), {}, {
16285
+ return _objectSpread$u(_objectSpread$u({}, renderState), {}, {
15934
16286
  infiniteHits: this.getWidgetRenderState(renderOptions)
15935
16287
  });
15936
16288
  },
@@ -16030,7 +16382,7 @@
16030
16382
  return stateWithoutPage;
16031
16383
  }
16032
16384
  return stateWithoutPage.setQueryParameters(Object.keys(TAG_PLACEHOLDER).reduce(function (acc, key) {
16033
- return _objectSpread$t(_objectSpread$t({}, acc), {}, _defineProperty$u({}, key, undefined));
16385
+ return _objectSpread$u(_objectSpread$u({}, acc), {}, _defineProperty$v({}, key, undefined));
16034
16386
  }, {}));
16035
16387
  },
16036
16388
  getWidgetUiState: function getWidgetUiState(uiState, _ref9) {
@@ -16041,7 +16393,7 @@
16041
16393
  // because we don't want `page=1` in the URL
16042
16394
  return uiState;
16043
16395
  }
16044
- return _objectSpread$t(_objectSpread$t({}, uiState), {}, {
16396
+ return _objectSpread$u(_objectSpread$u({}, uiState), {}, {
16045
16397
  // The page in the UI state is incremented by one
16046
16398
  // to expose the user value (not `0`).
16047
16399
  page: page + 1
@@ -16069,14 +16421,14 @@
16069
16421
  }
16070
16422
 
16071
16423
  var _excluded$a = ["name", "escapedValue", "path"];
16072
- function _typeof$A(obj) {
16424
+ function _typeof$B(obj) {
16073
16425
  "@babel/helpers - typeof";
16074
16426
 
16075
- return _typeof$A = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
16427
+ return _typeof$B = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
16076
16428
  return typeof obj;
16077
16429
  } : function (obj) {
16078
16430
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
16079
- }, _typeof$A(obj);
16431
+ }, _typeof$B(obj);
16080
16432
  }
16081
16433
  function _objectWithoutProperties$a(source, excluded) {
16082
16434
  if (source == null) return {};
@@ -16154,7 +16506,7 @@
16154
16506
  function _arrayWithHoles$a(arr) {
16155
16507
  if (Array.isArray(arr)) return arr;
16156
16508
  }
16157
- function ownKeys$u(object, enumerableOnly) {
16509
+ function ownKeys$v(object, enumerableOnly) {
16158
16510
  var keys = Object.keys(object);
16159
16511
  if (Object.getOwnPropertySymbols) {
16160
16512
  var symbols = Object.getOwnPropertySymbols(object);
@@ -16164,19 +16516,19 @@
16164
16516
  }
16165
16517
  return keys;
16166
16518
  }
16167
- function _objectSpread$u(target) {
16519
+ function _objectSpread$v(target) {
16168
16520
  for (var i = 1; i < arguments.length; i++) {
16169
16521
  var source = null != arguments[i] ? arguments[i] : {};
16170
- i % 2 ? ownKeys$u(Object(source), !0).forEach(function (key) {
16171
- _defineProperty$v(target, key, source[key]);
16172
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$u(Object(source)).forEach(function (key) {
16522
+ i % 2 ? ownKeys$v(Object(source), !0).forEach(function (key) {
16523
+ _defineProperty$w(target, key, source[key]);
16524
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$v(Object(source)).forEach(function (key) {
16173
16525
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
16174
16526
  });
16175
16527
  }
16176
16528
  return target;
16177
16529
  }
16178
- function _defineProperty$v(obj, key, value) {
16179
- key = _toPropertyKey$v(key);
16530
+ function _defineProperty$w(obj, key, value) {
16531
+ key = _toPropertyKey$w(key);
16180
16532
  if (key in obj) {
16181
16533
  Object.defineProperty(obj, key, {
16182
16534
  value: value,
@@ -16189,21 +16541,21 @@
16189
16541
  }
16190
16542
  return obj;
16191
16543
  }
16192
- function _toPropertyKey$v(arg) {
16193
- var key = _toPrimitive$v(arg, "string");
16194
- return _typeof$A(key) === "symbol" ? key : String(key);
16544
+ function _toPropertyKey$w(arg) {
16545
+ var key = _toPrimitive$w(arg, "string");
16546
+ return _typeof$B(key) === "symbol" ? key : String(key);
16195
16547
  }
16196
- function _toPrimitive$v(input, hint) {
16197
- if (_typeof$A(input) !== "object" || input === null) return input;
16548
+ function _toPrimitive$w(input, hint) {
16549
+ if (_typeof$B(input) !== "object" || input === null) return input;
16198
16550
  var prim = input[Symbol.toPrimitive];
16199
16551
  if (prim !== undefined) {
16200
16552
  var res = prim.call(input, hint || "default");
16201
- if (_typeof$A(res) !== "object") return res;
16553
+ if (_typeof$B(res) !== "object") return res;
16202
16554
  throw new TypeError("@@toPrimitive must return a primitive value.");
16203
16555
  }
16204
16556
  return (hint === "string" ? String : Number)(input);
16205
16557
  }
16206
- var withUsage$c = createDocumentationMessageGenerator({
16558
+ var withUsage$d = createDocumentationMessageGenerator({
16207
16559
  name: 'menu',
16208
16560
  connector: true
16209
16561
  });
@@ -16219,7 +16571,7 @@
16219
16571
  */
16220
16572
  var connectMenu = function connectMenu(renderFn) {
16221
16573
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
16222
- checkRendering(renderFn, withUsage$c());
16574
+ checkRendering(renderFn, withUsage$d());
16223
16575
  return function (widgetParams) {
16224
16576
  var _ref = widgetParams || {},
16225
16577
  attribute = _ref.attribute,
@@ -16236,10 +16588,10 @@
16236
16588
  return items;
16237
16589
  } : _ref$transformItems;
16238
16590
  if (!attribute) {
16239
- throw new Error(withUsage$c('The `attribute` option is required.'));
16591
+ throw new Error(withUsage$d('The `attribute` option is required.'));
16240
16592
  }
16241
16593
  if (showMore === true && showMoreLimit <= limit) {
16242
- throw new Error(withUsage$c('The `showMoreLimit` option must be greater than `limit`.'));
16594
+ throw new Error(withUsage$d('The `showMoreLimit` option must be greater than `limit`.'));
16243
16595
  }
16244
16596
  var sendEvent;
16245
16597
  var _createURL;
@@ -16265,13 +16617,13 @@
16265
16617
  $$type: 'ais.menu',
16266
16618
  init: function init(initOptions) {
16267
16619
  var instantSearchInstance = initOptions.instantSearchInstance;
16268
- renderFn(_objectSpread$u(_objectSpread$u({}, this.getWidgetRenderState(initOptions)), {}, {
16620
+ renderFn(_objectSpread$v(_objectSpread$v({}, this.getWidgetRenderState(initOptions)), {}, {
16269
16621
  instantSearchInstance: instantSearchInstance
16270
16622
  }), true);
16271
16623
  },
16272
16624
  render: function render(renderOptions) {
16273
16625
  var instantSearchInstance = renderOptions.instantSearchInstance;
16274
- renderFn(_objectSpread$u(_objectSpread$u({}, this.getWidgetRenderState(renderOptions)), {}, {
16626
+ renderFn(_objectSpread$v(_objectSpread$v({}, this.getWidgetRenderState(renderOptions)), {}, {
16275
16627
  instantSearchInstance: instantSearchInstance
16276
16628
  }), false);
16277
16629
  },
@@ -16281,8 +16633,8 @@
16281
16633
  return state.removeHierarchicalFacet(attribute).setQueryParameter('maxValuesPerFacet', undefined);
16282
16634
  },
16283
16635
  getRenderState: function getRenderState(renderState, renderOptions) {
16284
- return _objectSpread$u(_objectSpread$u({}, renderState), {}, {
16285
- menu: _objectSpread$u(_objectSpread$u({}, renderState.menu), {}, _defineProperty$v({}, attribute, this.getWidgetRenderState(renderOptions)))
16636
+ return _objectSpread$v(_objectSpread$v({}, renderState), {}, {
16637
+ menu: _objectSpread$v(_objectSpread$v({}, renderState.menu), {}, _defineProperty$w({}, attribute, this.getWidgetRenderState(renderOptions)))
16286
16638
  });
16287
16639
  },
16288
16640
  getWidgetRenderState: function getWidgetRenderState(renderOptions) {
@@ -16335,7 +16687,7 @@
16335
16687
  value = _ref3.escapedValue,
16336
16688
  path = _ref3.path,
16337
16689
  item = _objectWithoutProperties$a(_ref3, _excluded$a);
16338
- return _objectSpread$u(_objectSpread$u({}, item), {}, {
16690
+ return _objectSpread$v(_objectSpread$v({}, item), {}, {
16339
16691
  label: label,
16340
16692
  value: value
16341
16693
  });
@@ -16360,8 +16712,8 @@
16360
16712
  var _searchParameters$get = searchParameters.getHierarchicalFacetBreadcrumb(attribute),
16361
16713
  _searchParameters$get2 = _slicedToArray$a(_searchParameters$get, 1),
16362
16714
  value = _searchParameters$get2[0];
16363
- return removeEmptyRefinementsFromUiState$2(_objectSpread$u(_objectSpread$u({}, uiState), {}, {
16364
- menu: _objectSpread$u(_objectSpread$u({}, uiState.menu), {}, _defineProperty$v({}, attribute, value))
16715
+ return removeEmptyRefinementsFromUiState$2(_objectSpread$v(_objectSpread$v({}, uiState), {}, {
16716
+ menu: _objectSpread$v(_objectSpread$v({}, uiState.menu), {}, _defineProperty$w({}, attribute, value))
16365
16717
  }), attribute);
16366
16718
  },
16367
16719
  getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref5) {
@@ -16379,7 +16731,7 @@
16379
16731
  var withMaxValuesPerFacet = withFacetConfiguration.setQueryParameter('maxValuesPerFacet', nextMaxValuesPerFacet);
16380
16732
  if (!value) {
16381
16733
  return withMaxValuesPerFacet.setQueryParameters({
16382
- hierarchicalFacetsRefinements: _objectSpread$u(_objectSpread$u({}, withMaxValuesPerFacet.hierarchicalFacetsRefinements), {}, _defineProperty$v({}, attribute, []))
16734
+ hierarchicalFacetsRefinements: _objectSpread$v(_objectSpread$v({}, withMaxValuesPerFacet.hierarchicalFacetsRefinements), {}, _defineProperty$w({}, attribute, []))
16383
16735
  });
16384
16736
  }
16385
16737
  return withMaxValuesPerFacet.addHierarchicalFacetRefinement(attribute, value);
@@ -16404,14 +16756,14 @@
16404
16756
  return useConnector(connectMenu, props, additionalWidgetProperties);
16405
16757
  }
16406
16758
 
16407
- function _typeof$B(obj) {
16759
+ function _typeof$C(obj) {
16408
16760
  "@babel/helpers - typeof";
16409
16761
 
16410
- return _typeof$B = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
16762
+ return _typeof$C = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
16411
16763
  return typeof obj;
16412
16764
  } : function (obj) {
16413
16765
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
16414
- }, _typeof$B(obj);
16766
+ }, _typeof$C(obj);
16415
16767
  }
16416
16768
  function _createForOfIteratorHelper(o, allowArrayLike) {
16417
16769
  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
@@ -16513,7 +16865,7 @@
16513
16865
  function _arrayWithHoles$b(arr) {
16514
16866
  if (Array.isArray(arr)) return arr;
16515
16867
  }
16516
- function ownKeys$v(object, enumerableOnly) {
16868
+ function ownKeys$w(object, enumerableOnly) {
16517
16869
  var keys = Object.keys(object);
16518
16870
  if (Object.getOwnPropertySymbols) {
16519
16871
  var symbols = Object.getOwnPropertySymbols(object);
@@ -16523,19 +16875,19 @@
16523
16875
  }
16524
16876
  return keys;
16525
16877
  }
16526
- function _objectSpread$v(target) {
16878
+ function _objectSpread$w(target) {
16527
16879
  for (var i = 1; i < arguments.length; i++) {
16528
16880
  var source = null != arguments[i] ? arguments[i] : {};
16529
- i % 2 ? ownKeys$v(Object(source), !0).forEach(function (key) {
16530
- _defineProperty$w(target, key, source[key]);
16531
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$v(Object(source)).forEach(function (key) {
16881
+ i % 2 ? ownKeys$w(Object(source), !0).forEach(function (key) {
16882
+ _defineProperty$x(target, key, source[key]);
16883
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$w(Object(source)).forEach(function (key) {
16532
16884
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
16533
16885
  });
16534
16886
  }
16535
16887
  return target;
16536
16888
  }
16537
- function _defineProperty$w(obj, key, value) {
16538
- key = _toPropertyKey$w(key);
16889
+ function _defineProperty$x(obj, key, value) {
16890
+ key = _toPropertyKey$x(key);
16539
16891
  if (key in obj) {
16540
16892
  Object.defineProperty(obj, key, {
16541
16893
  value: value,
@@ -16548,21 +16900,21 @@
16548
16900
  }
16549
16901
  return obj;
16550
16902
  }
16551
- function _toPropertyKey$w(arg) {
16552
- var key = _toPrimitive$w(arg, "string");
16553
- return _typeof$B(key) === "symbol" ? key : String(key);
16903
+ function _toPropertyKey$x(arg) {
16904
+ var key = _toPrimitive$x(arg, "string");
16905
+ return _typeof$C(key) === "symbol" ? key : String(key);
16554
16906
  }
16555
- function _toPrimitive$w(input, hint) {
16556
- if (_typeof$B(input) !== "object" || input === null) return input;
16907
+ function _toPrimitive$x(input, hint) {
16908
+ if (_typeof$C(input) !== "object" || input === null) return input;
16557
16909
  var prim = input[Symbol.toPrimitive];
16558
16910
  if (prim !== undefined) {
16559
16911
  var res = prim.call(input, hint || "default");
16560
- if (_typeof$B(res) !== "object") return res;
16912
+ if (_typeof$C(res) !== "object") return res;
16561
16913
  throw new TypeError("@@toPrimitive must return a primitive value.");
16562
16914
  }
16563
16915
  return (hint === "string" ? String : Number)(input);
16564
16916
  }
16565
- var withUsage$d = createDocumentationMessageGenerator({
16917
+ var withUsage$e = createDocumentationMessageGenerator({
16566
16918
  name: 'numeric-menu',
16567
16919
  connector: true
16568
16920
  });
@@ -16578,7 +16930,7 @@
16578
16930
  };
16579
16931
  var connectNumericMenu = function connectNumericMenu(renderFn) {
16580
16932
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
16581
- checkRendering(renderFn, withUsage$d());
16933
+ checkRendering(renderFn, withUsage$e());
16582
16934
  return function (widgetParams) {
16583
16935
  var _ref2 = widgetParams || {},
16584
16936
  _ref2$attribute = _ref2.attribute,
@@ -16590,10 +16942,10 @@
16590
16942
  return item;
16591
16943
  } : _ref2$transformItems;
16592
16944
  if (attribute === '') {
16593
- throw new Error(withUsage$d('The `attribute` option is required.'));
16945
+ throw new Error(withUsage$e('The `attribute` option is required.'));
16594
16946
  }
16595
16947
  if (!items || items.length === 0) {
16596
- throw new Error(withUsage$d('The `items` option expects an array of objects.'));
16948
+ throw new Error(withUsage$e('The `items` option expects an array of objects.'));
16597
16949
  }
16598
16950
  var prepareItems = function prepareItems(state) {
16599
16951
  return items.map(function (_ref3) {
@@ -16619,13 +16971,13 @@
16619
16971
  $$type: $$type$1,
16620
16972
  init: function init(initOptions) {
16621
16973
  var instantSearchInstance = initOptions.instantSearchInstance;
16622
- renderFn(_objectSpread$v(_objectSpread$v({}, this.getWidgetRenderState(initOptions)), {}, {
16974
+ renderFn(_objectSpread$w(_objectSpread$w({}, this.getWidgetRenderState(initOptions)), {}, {
16623
16975
  instantSearchInstance: instantSearchInstance
16624
16976
  }), true);
16625
16977
  },
16626
16978
  render: function render(renderOptions) {
16627
16979
  var instantSearchInstance = renderOptions.instantSearchInstance;
16628
- renderFn(_objectSpread$v(_objectSpread$v({}, this.getWidgetRenderState(renderOptions)), {}, {
16980
+ renderFn(_objectSpread$w(_objectSpread$w({}, this.getWidgetRenderState(renderOptions)), {}, {
16629
16981
  instantSearchInstance: instantSearchInstance
16630
16982
  }), false);
16631
16983
  },
@@ -16639,21 +16991,21 @@
16639
16991
  var values = searchParameters.getNumericRefinements(attribute);
16640
16992
  var equal = values['='] && values['='][0];
16641
16993
  if (equal || equal === 0) {
16642
- return _objectSpread$v(_objectSpread$v({}, uiState), {}, {
16643
- numericMenu: _objectSpread$v(_objectSpread$v({}, uiState.numericMenu), {}, _defineProperty$w({}, attribute, "".concat(values['='])))
16994
+ return _objectSpread$w(_objectSpread$w({}, uiState), {}, {
16995
+ numericMenu: _objectSpread$w(_objectSpread$w({}, uiState.numericMenu), {}, _defineProperty$x({}, attribute, "".concat(values['='])))
16644
16996
  });
16645
16997
  }
16646
16998
  var min = values['>='] && values['>='][0] || '';
16647
16999
  var max = values['<='] && values['<='][0] || '';
16648
- return removeEmptyRefinementsFromUiState$3(_objectSpread$v(_objectSpread$v({}, uiState), {}, {
16649
- numericMenu: _objectSpread$v(_objectSpread$v({}, uiState.numericMenu), {}, _defineProperty$w({}, attribute, "".concat(min, ":").concat(max)))
17000
+ return removeEmptyRefinementsFromUiState$3(_objectSpread$w(_objectSpread$w({}, uiState), {}, {
17001
+ numericMenu: _objectSpread$w(_objectSpread$w({}, uiState.numericMenu), {}, _defineProperty$x({}, attribute, "".concat(min, ":").concat(max)))
16650
17002
  }), attribute);
16651
17003
  },
16652
17004
  getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref6) {
16653
17005
  var uiState = _ref6.uiState;
16654
17006
  var value = uiState.numericMenu && uiState.numericMenu[attribute];
16655
17007
  var withoutRefinements = searchParameters.setQueryParameters({
16656
- numericRefinements: _objectSpread$v(_objectSpread$v({}, searchParameters.numericRefinements), {}, _defineProperty$w({}, attribute, {}))
17008
+ numericRefinements: _objectSpread$w(_objectSpread$w({}, searchParameters.numericRefinements), {}, _defineProperty$x({}, attribute, {}))
16657
17009
  });
16658
17010
  if (!value) {
16659
17011
  return withoutRefinements;
@@ -16671,8 +17023,8 @@
16671
17023
  return withMaxRefinement;
16672
17024
  },
16673
17025
  getRenderState: function getRenderState(renderState, renderOptions) {
16674
- return _objectSpread$v(_objectSpread$v({}, renderState), {}, {
16675
- numericMenu: _objectSpread$v(_objectSpread$v({}, renderState.numericMenu), {}, _defineProperty$w({}, attribute, this.getWidgetRenderState(renderOptions)))
17026
+ return _objectSpread$w(_objectSpread$w({}, renderState), {}, {
17027
+ numericMenu: _objectSpread$w(_objectSpread$w({}, renderState.numericMenu), {}, _defineProperty$x({}, attribute, this.getWidgetRenderState(renderOptions)))
16676
17028
  });
16677
17029
  },
16678
17030
  getWidgetRenderState: function getWidgetRenderState(_ref7) {
@@ -16826,14 +17178,14 @@
16826
17178
  return useConnector(connectNumericMenu, props, additionalWidgetProperties);
16827
17179
  }
16828
17180
 
16829
- function _typeof$C(obj) {
17181
+ function _typeof$D(obj) {
16830
17182
  "@babel/helpers - typeof";
16831
17183
 
16832
- return _typeof$C = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
17184
+ return _typeof$D = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
16833
17185
  return typeof obj;
16834
17186
  } : function (obj) {
16835
17187
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
16836
- }, _typeof$C(obj);
17188
+ }, _typeof$D(obj);
16837
17189
  }
16838
17190
  function _classCallCheck$2(instance, Constructor) {
16839
17191
  if (!(instance instanceof Constructor)) {
@@ -16846,7 +17198,7 @@
16846
17198
  descriptor.enumerable = descriptor.enumerable || false;
16847
17199
  descriptor.configurable = true;
16848
17200
  if ("value" in descriptor) descriptor.writable = true;
16849
- Object.defineProperty(target, _toPropertyKey$x(descriptor.key), descriptor);
17201
+ Object.defineProperty(target, _toPropertyKey$y(descriptor.key), descriptor);
16850
17202
  }
16851
17203
  }
16852
17204
  function _createClass$2(Constructor, protoProps, staticProps) {
@@ -16857,8 +17209,8 @@
16857
17209
  });
16858
17210
  return Constructor;
16859
17211
  }
16860
- function _defineProperty$x(obj, key, value) {
16861
- key = _toPropertyKey$x(key);
17212
+ function _defineProperty$y(obj, key, value) {
17213
+ key = _toPropertyKey$y(key);
16862
17214
  if (key in obj) {
16863
17215
  Object.defineProperty(obj, key, {
16864
17216
  value: value,
@@ -16871,16 +17223,16 @@
16871
17223
  }
16872
17224
  return obj;
16873
17225
  }
16874
- function _toPropertyKey$x(arg) {
16875
- var key = _toPrimitive$x(arg, "string");
16876
- return _typeof$C(key) === "symbol" ? key : String(key);
17226
+ function _toPropertyKey$y(arg) {
17227
+ var key = _toPrimitive$y(arg, "string");
17228
+ return _typeof$D(key) === "symbol" ? key : String(key);
16877
17229
  }
16878
- function _toPrimitive$x(input, hint) {
16879
- if (_typeof$C(input) !== "object" || input === null) return input;
17230
+ function _toPrimitive$y(input, hint) {
17231
+ if (_typeof$D(input) !== "object" || input === null) return input;
16880
17232
  var prim = input[Symbol.toPrimitive];
16881
17233
  if (prim !== undefined) {
16882
17234
  var res = prim.call(input, hint || "default");
16883
- if (_typeof$C(res) !== "object") return res;
17235
+ if (_typeof$D(res) !== "object") return res;
16884
17236
  throw new TypeError("@@toPrimitive must return a primitive value.");
16885
17237
  }
16886
17238
  return (hint === "string" ? String : Number)(input);
@@ -16888,9 +17240,9 @@
16888
17240
  var Paginator = /*#__PURE__*/function () {
16889
17241
  function Paginator(params) {
16890
17242
  _classCallCheck$2(this, Paginator);
16891
- _defineProperty$x(this, "currentPage", void 0);
16892
- _defineProperty$x(this, "total", void 0);
16893
- _defineProperty$x(this, "padding", void 0);
17243
+ _defineProperty$y(this, "currentPage", void 0);
17244
+ _defineProperty$y(this, "total", void 0);
17245
+ _defineProperty$y(this, "padding", void 0);
16894
17246
  this.currentPage = params.currentPage;
16895
17247
  this.total = params.total;
16896
17248
  this.padding = params.padding;
@@ -16947,16 +17299,16 @@
16947
17299
  return Paginator;
16948
17300
  }();
16949
17301
 
16950
- function _typeof$D(obj) {
17302
+ function _typeof$E(obj) {
16951
17303
  "@babel/helpers - typeof";
16952
17304
 
16953
- return _typeof$D = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
17305
+ return _typeof$E = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
16954
17306
  return typeof obj;
16955
17307
  } : function (obj) {
16956
17308
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
16957
- }, _typeof$D(obj);
17309
+ }, _typeof$E(obj);
16958
17310
  }
16959
- function ownKeys$w(object, enumerableOnly) {
17311
+ function ownKeys$x(object, enumerableOnly) {
16960
17312
  var keys = Object.keys(object);
16961
17313
  if (Object.getOwnPropertySymbols) {
16962
17314
  var symbols = Object.getOwnPropertySymbols(object);
@@ -16966,19 +17318,19 @@
16966
17318
  }
16967
17319
  return keys;
16968
17320
  }
16969
- function _objectSpread$w(target) {
17321
+ function _objectSpread$x(target) {
16970
17322
  for (var i = 1; i < arguments.length; i++) {
16971
17323
  var source = null != arguments[i] ? arguments[i] : {};
16972
- i % 2 ? ownKeys$w(Object(source), !0).forEach(function (key) {
16973
- _defineProperty$y(target, key, source[key]);
16974
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$w(Object(source)).forEach(function (key) {
17324
+ i % 2 ? ownKeys$x(Object(source), !0).forEach(function (key) {
17325
+ _defineProperty$z(target, key, source[key]);
17326
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$x(Object(source)).forEach(function (key) {
16975
17327
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
16976
17328
  });
16977
17329
  }
16978
17330
  return target;
16979
17331
  }
16980
- function _defineProperty$y(obj, key, value) {
16981
- key = _toPropertyKey$y(key);
17332
+ function _defineProperty$z(obj, key, value) {
17333
+ key = _toPropertyKey$z(key);
16982
17334
  if (key in obj) {
16983
17335
  Object.defineProperty(obj, key, {
16984
17336
  value: value,
@@ -16991,21 +17343,21 @@
16991
17343
  }
16992
17344
  return obj;
16993
17345
  }
16994
- function _toPropertyKey$y(arg) {
16995
- var key = _toPrimitive$y(arg, "string");
16996
- return _typeof$D(key) === "symbol" ? key : String(key);
17346
+ function _toPropertyKey$z(arg) {
17347
+ var key = _toPrimitive$z(arg, "string");
17348
+ return _typeof$E(key) === "symbol" ? key : String(key);
16997
17349
  }
16998
- function _toPrimitive$y(input, hint) {
16999
- if (_typeof$D(input) !== "object" || input === null) return input;
17350
+ function _toPrimitive$z(input, hint) {
17351
+ if (_typeof$E(input) !== "object" || input === null) return input;
17000
17352
  var prim = input[Symbol.toPrimitive];
17001
17353
  if (prim !== undefined) {
17002
17354
  var res = prim.call(input, hint || "default");
17003
- if (_typeof$D(res) !== "object") return res;
17355
+ if (_typeof$E(res) !== "object") return res;
17004
17356
  throw new TypeError("@@toPrimitive must return a primitive value.");
17005
17357
  }
17006
17358
  return (hint === "string" ? String : Number)(input);
17007
17359
  }
17008
- var withUsage$e = createDocumentationMessageGenerator({
17360
+ var withUsage$f = createDocumentationMessageGenerator({
17009
17361
  name: 'pagination',
17010
17362
  connector: true
17011
17363
  });
@@ -17018,7 +17370,7 @@
17018
17370
  */
17019
17371
  var connectPagination = function connectPagination(renderFn) {
17020
17372
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
17021
- checkRendering(renderFn, withUsage$e());
17373
+ checkRendering(renderFn, withUsage$f());
17022
17374
  return function (widgetParams) {
17023
17375
  var _ref = widgetParams || {},
17024
17376
  totalPages = _ref.totalPages,
@@ -17038,13 +17390,13 @@
17038
17390
  $$type: 'ais.pagination',
17039
17391
  init: function init(initOptions) {
17040
17392
  var instantSearchInstance = initOptions.instantSearchInstance;
17041
- renderFn(_objectSpread$w(_objectSpread$w({}, this.getWidgetRenderState(initOptions)), {}, {
17393
+ renderFn(_objectSpread$x(_objectSpread$x({}, this.getWidgetRenderState(initOptions)), {}, {
17042
17394
  instantSearchInstance: instantSearchInstance
17043
17395
  }), true);
17044
17396
  },
17045
17397
  render: function render(renderOptions) {
17046
17398
  var instantSearchInstance = renderOptions.instantSearchInstance;
17047
- renderFn(_objectSpread$w(_objectSpread$w({}, this.getWidgetRenderState(renderOptions)), {}, {
17399
+ renderFn(_objectSpread$x(_objectSpread$x({}, this.getWidgetRenderState(renderOptions)), {}, {
17048
17400
  instantSearchInstance: instantSearchInstance
17049
17401
  }), false);
17050
17402
  },
@@ -17059,7 +17411,7 @@
17059
17411
  if (!page) {
17060
17412
  return uiState;
17061
17413
  }
17062
- return _objectSpread$w(_objectSpread$w({}, uiState), {}, {
17414
+ return _objectSpread$x(_objectSpread$x({}, uiState), {}, {
17063
17415
  page: page + 1
17064
17416
  });
17065
17417
  },
@@ -17082,7 +17434,7 @@
17082
17434
  if (!connectorState.createURL) {
17083
17435
  connectorState.createURL = function (page) {
17084
17436
  return createURL(function (uiState) {
17085
- return _objectSpread$w(_objectSpread$w({}, uiState), {}, {
17437
+ return _objectSpread$x(_objectSpread$x({}, uiState), {}, {
17086
17438
  page: page + 1
17087
17439
  });
17088
17440
  });
@@ -17108,7 +17460,7 @@
17108
17460
  };
17109
17461
  },
17110
17462
  getRenderState: function getRenderState(renderState, renderOptions) {
17111
- return _objectSpread$w(_objectSpread$w({}, renderState), {}, {
17463
+ return _objectSpread$x(_objectSpread$x({}, renderState), {}, {
17112
17464
  pagination: this.getWidgetRenderState(renderOptions)
17113
17465
  });
17114
17466
  }
@@ -17135,16 +17487,16 @@
17135
17487
  };
17136
17488
  }
17137
17489
 
17138
- function _typeof$E(obj) {
17490
+ function _typeof$F(obj) {
17139
17491
  "@babel/helpers - typeof";
17140
17492
 
17141
- return _typeof$E = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
17493
+ return _typeof$F = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
17142
17494
  return typeof obj;
17143
17495
  } : function (obj) {
17144
17496
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
17145
- }, _typeof$E(obj);
17497
+ }, _typeof$F(obj);
17146
17498
  }
17147
- function ownKeys$x(object, enumerableOnly) {
17499
+ function ownKeys$y(object, enumerableOnly) {
17148
17500
  var keys = Object.keys(object);
17149
17501
  if (Object.getOwnPropertySymbols) {
17150
17502
  var symbols = Object.getOwnPropertySymbols(object);
@@ -17154,19 +17506,19 @@
17154
17506
  }
17155
17507
  return keys;
17156
17508
  }
17157
- function _objectSpread$x(target) {
17509
+ function _objectSpread$y(target) {
17158
17510
  for (var i = 1; i < arguments.length; i++) {
17159
17511
  var source = null != arguments[i] ? arguments[i] : {};
17160
- i % 2 ? ownKeys$x(Object(source), !0).forEach(function (key) {
17161
- _defineProperty$z(target, key, source[key]);
17162
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$x(Object(source)).forEach(function (key) {
17512
+ i % 2 ? ownKeys$y(Object(source), !0).forEach(function (key) {
17513
+ _defineProperty$A(target, key, source[key]);
17514
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$y(Object(source)).forEach(function (key) {
17163
17515
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
17164
17516
  });
17165
17517
  }
17166
17518
  return target;
17167
17519
  }
17168
- function _defineProperty$z(obj, key, value) {
17169
- key = _toPropertyKey$z(key);
17520
+ function _defineProperty$A(obj, key, value) {
17521
+ key = _toPropertyKey$A(key);
17170
17522
  if (key in obj) {
17171
17523
  Object.defineProperty(obj, key, {
17172
17524
  value: value,
@@ -17179,16 +17531,16 @@
17179
17531
  }
17180
17532
  return obj;
17181
17533
  }
17182
- function _toPropertyKey$z(arg) {
17183
- var key = _toPrimitive$z(arg, "string");
17184
- return _typeof$E(key) === "symbol" ? key : String(key);
17534
+ function _toPropertyKey$A(arg) {
17535
+ var key = _toPrimitive$A(arg, "string");
17536
+ return _typeof$F(key) === "symbol" ? key : String(key);
17185
17537
  }
17186
- function _toPrimitive$z(input, hint) {
17187
- if (_typeof$E(input) !== "object" || input === null) return input;
17538
+ function _toPrimitive$A(input, hint) {
17539
+ if (_typeof$F(input) !== "object" || input === null) return input;
17188
17540
  var prim = input[Symbol.toPrimitive];
17189
17541
  if (prim !== undefined) {
17190
17542
  var res = prim.call(input, hint || "default");
17191
- if (_typeof$E(res) !== "object") return res;
17543
+ if (_typeof$F(res) !== "object") return res;
17192
17544
  throw new TypeError("@@toPrimitive must return a primitive value.");
17193
17545
  }
17194
17546
  return (hint === "string" ? String : Number)(input);
@@ -17218,7 +17570,7 @@
17218
17570
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
17219
17571
  return arr2;
17220
17572
  }
17221
- var withUsage$f = createDocumentationMessageGenerator({
17573
+ var withUsage$g = createDocumentationMessageGenerator({
17222
17574
  name: 'query-rules',
17223
17575
  connector: true
17224
17576
  });
@@ -17268,14 +17620,14 @@
17268
17620
  var nextRuleContexts = [].concat(_toConsumableArray$7(initialRuleContexts), _toConsumableArray$7(newRuleContexts));
17269
17621
  var ruleContexts = transformRuleContexts(nextRuleContexts).slice(0, 10);
17270
17622
  if (!isEqual(previousRuleContexts, ruleContexts)) {
17271
- helper.overrideStateWithoutTriggeringChangeEvent(_objectSpread$x(_objectSpread$x({}, sharedHelperState), {}, {
17623
+ helper.overrideStateWithoutTriggeringChangeEvent(_objectSpread$y(_objectSpread$y({}, sharedHelperState), {}, {
17272
17624
  ruleContexts: ruleContexts
17273
17625
  }));
17274
17626
  }
17275
17627
  }
17276
17628
  var connectQueryRules = function connectQueryRules(_render) {
17277
17629
  var unmount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
17278
- checkRendering(_render, withUsage$f());
17630
+ checkRendering(_render, withUsage$g());
17279
17631
  return function (widgetParams) {
17280
17632
  var _ref2 = widgetParams || {},
17281
17633
  _ref2$trackedFilters = _ref2.trackedFilters,
@@ -17290,7 +17642,7 @@
17290
17642
  } : _ref2$transformItems;
17291
17643
  Object.keys(trackedFilters).forEach(function (facetName) {
17292
17644
  if (typeof trackedFilters[facetName] !== 'function') {
17293
- throw new Error(withUsage$f("'The \"".concat(facetName, "\" filter value in the `trackedFilters` option expects a function.")));
17645
+ throw new Error(withUsage$g("'The \"".concat(facetName, "\" filter value in the `trackedFilters` option expects a function.")));
17294
17646
  }
17295
17647
  });
17296
17648
  var hasTrackedFilters = Object.keys(trackedFilters).length > 0;
@@ -17327,13 +17679,13 @@
17327
17679
  // any `ruleContexts` needed based on the `trackedFilters`.
17328
17680
  helper.on('change', onHelperChange);
17329
17681
  }
17330
- _render(_objectSpread$x(_objectSpread$x({}, this.getWidgetRenderState(initOptions)), {}, {
17682
+ _render(_objectSpread$y(_objectSpread$y({}, this.getWidgetRenderState(initOptions)), {}, {
17331
17683
  instantSearchInstance: instantSearchInstance
17332
17684
  }), true);
17333
17685
  },
17334
17686
  render: function render(renderOptions) {
17335
17687
  var instantSearchInstance = renderOptions.instantSearchInstance;
17336
- _render(_objectSpread$x(_objectSpread$x({}, this.getWidgetRenderState(renderOptions)), {}, {
17688
+ _render(_objectSpread$y(_objectSpread$y({}, this.getWidgetRenderState(renderOptions)), {}, {
17337
17689
  instantSearchInstance: instantSearchInstance
17338
17690
  }), false);
17339
17691
  },
@@ -17351,7 +17703,7 @@
17351
17703
  };
17352
17704
  },
17353
17705
  getRenderState: function getRenderState(renderState, renderOptions) {
17354
- return _objectSpread$x(_objectSpread$x({}, renderState), {}, {
17706
+ return _objectSpread$y(_objectSpread$y({}, renderState), {}, {
17355
17707
  queryRules: this.getWidgetRenderState(renderOptions)
17356
17708
  });
17357
17709
  },
@@ -17373,16 +17725,16 @@
17373
17725
  return useConnector(connectQueryRules, props, additionalWidgetProperties);
17374
17726
  }
17375
17727
 
17376
- function _typeof$F(obj) {
17728
+ function _typeof$G(obj) {
17377
17729
  "@babel/helpers - typeof";
17378
17730
 
17379
- return _typeof$F = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
17731
+ return _typeof$G = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
17380
17732
  return typeof obj;
17381
17733
  } : function (obj) {
17382
17734
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
17383
- }, _typeof$F(obj);
17735
+ }, _typeof$G(obj);
17384
17736
  }
17385
- function ownKeys$y(object, enumerableOnly) {
17737
+ function ownKeys$z(object, enumerableOnly) {
17386
17738
  var keys = Object.keys(object);
17387
17739
  if (Object.getOwnPropertySymbols) {
17388
17740
  var symbols = Object.getOwnPropertySymbols(object);
@@ -17392,19 +17744,19 @@
17392
17744
  }
17393
17745
  return keys;
17394
17746
  }
17395
- function _objectSpread$y(target) {
17747
+ function _objectSpread$z(target) {
17396
17748
  for (var i = 1; i < arguments.length; i++) {
17397
17749
  var source = null != arguments[i] ? arguments[i] : {};
17398
- i % 2 ? ownKeys$y(Object(source), !0).forEach(function (key) {
17399
- _defineProperty$A(target, key, source[key]);
17400
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$y(Object(source)).forEach(function (key) {
17750
+ i % 2 ? ownKeys$z(Object(source), !0).forEach(function (key) {
17751
+ _defineProperty$B(target, key, source[key]);
17752
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$z(Object(source)).forEach(function (key) {
17401
17753
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
17402
17754
  });
17403
17755
  }
17404
17756
  return target;
17405
17757
  }
17406
- function _defineProperty$A(obj, key, value) {
17407
- key = _toPropertyKey$A(key);
17758
+ function _defineProperty$B(obj, key, value) {
17759
+ key = _toPropertyKey$B(key);
17408
17760
  if (key in obj) {
17409
17761
  Object.defineProperty(obj, key, {
17410
17762
  value: value,
@@ -17417,16 +17769,16 @@
17417
17769
  }
17418
17770
  return obj;
17419
17771
  }
17420
- function _toPropertyKey$A(arg) {
17421
- var key = _toPrimitive$A(arg, "string");
17422
- return _typeof$F(key) === "symbol" ? key : String(key);
17772
+ function _toPropertyKey$B(arg) {
17773
+ var key = _toPrimitive$B(arg, "string");
17774
+ return _typeof$G(key) === "symbol" ? key : String(key);
17423
17775
  }
17424
- function _toPrimitive$A(input, hint) {
17425
- if (_typeof$F(input) !== "object" || input === null) return input;
17776
+ function _toPrimitive$B(input, hint) {
17777
+ if (_typeof$G(input) !== "object" || input === null) return input;
17426
17778
  var prim = input[Symbol.toPrimitive];
17427
17779
  if (prim !== undefined) {
17428
17780
  var res = prim.call(input, hint || "default");
17429
- if (_typeof$F(res) !== "object") return res;
17781
+ if (_typeof$G(res) !== "object") return res;
17430
17782
  throw new TypeError("@@toPrimitive must return a primitive value.");
17431
17783
  }
17432
17784
  return (hint === "string" ? String : Number)(input);
@@ -17480,7 +17832,7 @@
17480
17832
  function _arrayWithHoles$c(arr) {
17481
17833
  if (Array.isArray(arr)) return arr;
17482
17834
  }
17483
- var withUsage$g = createDocumentationMessageGenerator({
17835
+ var withUsage$h = createDocumentationMessageGenerator({
17484
17836
  name: 'range-input',
17485
17837
  connector: true
17486
17838
  }, {
@@ -17511,7 +17863,7 @@
17511
17863
  */
17512
17864
  var connectRange = function connectRange(renderFn) {
17513
17865
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
17514
- checkRendering(renderFn, withUsage$g());
17866
+ checkRendering(renderFn, withUsage$h());
17515
17867
  return function (widgetParams) {
17516
17868
  var _ref2 = widgetParams || {},
17517
17869
  _ref2$attribute = _ref2.attribute,
@@ -17521,10 +17873,10 @@
17521
17873
  _ref2$precision = _ref2.precision,
17522
17874
  precision = _ref2$precision === void 0 ? 0 : _ref2$precision;
17523
17875
  if (!attribute) {
17524
- throw new Error(withUsage$g('The `attribute` option is required.'));
17876
+ throw new Error(withUsage$h('The `attribute` option is required.'));
17525
17877
  }
17526
17878
  if (isFiniteNumber(minBound) && isFiniteNumber(maxBound) && minBound > maxBound) {
17527
- throw new Error(withUsage$g("The `max` option can't be lower than `min`."));
17879
+ throw new Error(withUsage$h("The `max` option can't be lower than `min`."));
17528
17880
  }
17529
17881
  var formatToNumber = function formatToNumber(v) {
17530
17882
  return Number(Number(v).toFixed(precision));
@@ -17651,18 +18003,18 @@
17651
18003
  return {
17652
18004
  $$type: $$type$2,
17653
18005
  init: function init(initOptions) {
17654
- renderFn(_objectSpread$y(_objectSpread$y({}, this.getWidgetRenderState(initOptions)), {}, {
18006
+ renderFn(_objectSpread$z(_objectSpread$z({}, this.getWidgetRenderState(initOptions)), {}, {
17655
18007
  instantSearchInstance: initOptions.instantSearchInstance
17656
18008
  }), true);
17657
18009
  },
17658
18010
  render: function render(renderOptions) {
17659
- renderFn(_objectSpread$y(_objectSpread$y({}, this.getWidgetRenderState(renderOptions)), {}, {
18011
+ renderFn(_objectSpread$z(_objectSpread$z({}, this.getWidgetRenderState(renderOptions)), {}, {
17660
18012
  instantSearchInstance: renderOptions.instantSearchInstance
17661
18013
  }), false);
17662
18014
  },
17663
18015
  getRenderState: function getRenderState(renderState, renderOptions) {
17664
- return _objectSpread$y(_objectSpread$y({}, renderState), {}, {
17665
- range: _objectSpread$y(_objectSpread$y({}, renderState.range), {}, _defineProperty$A({}, attribute, this.getWidgetRenderState(renderOptions)))
18016
+ return _objectSpread$z(_objectSpread$z({}, renderState), {}, {
18017
+ range: _objectSpread$z(_objectSpread$z({}, renderState.range), {}, _defineProperty$B({}, attribute, this.getWidgetRenderState(renderOptions)))
17666
18018
  });
17667
18019
  },
17668
18020
  getWidgetRenderState: function getWidgetRenderState(_ref13) {
@@ -17697,7 +18049,7 @@
17697
18049
  format: rangeFormatter,
17698
18050
  range: currentRange,
17699
18051
  sendEvent: createSendEvent(instantSearchInstance),
17700
- widgetParams: _objectSpread$y(_objectSpread$y({}, widgetParams), {}, {
18052
+ widgetParams: _objectSpread$z(_objectSpread$z({}, widgetParams), {}, {
17701
18053
  precision: precision
17702
18054
  }),
17703
18055
  start: start
@@ -17718,14 +18070,14 @@
17718
18070
  if (min.length === 0 && max.length === 0) {
17719
18071
  return uiState;
17720
18072
  }
17721
- return _objectSpread$y(_objectSpread$y({}, uiState), {}, {
17722
- range: _objectSpread$y(_objectSpread$y({}, uiState.range), {}, _defineProperty$A({}, attribute, "".concat(min, ":").concat(max)))
18073
+ return _objectSpread$z(_objectSpread$z({}, uiState), {}, {
18074
+ range: _objectSpread$z(_objectSpread$z({}, uiState.range), {}, _defineProperty$B({}, attribute, "".concat(min, ":").concat(max)))
17723
18075
  });
17724
18076
  },
17725
18077
  getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref16) {
17726
18078
  var uiState = _ref16.uiState;
17727
18079
  var widgetSearchParameters = searchParameters.addDisjunctiveFacet(attribute).setQueryParameters({
17728
- numericRefinements: _objectSpread$y(_objectSpread$y({}, searchParameters.numericRefinements), {}, _defineProperty$A({}, attribute, {}))
18080
+ numericRefinements: _objectSpread$z(_objectSpread$z({}, searchParameters.numericRefinements), {}, _defineProperty$B({}, attribute, {}))
17729
18081
  });
17730
18082
  if (isFiniteNumber(minBound)) {
17731
18083
  widgetSearchParameters = widgetSearchParameters.addNumericRefinement(attribute, '>=', minBound);
@@ -17759,18 +18111,18 @@
17759
18111
  return useConnector(connectRange, props, additionalWidgetProperties);
17760
18112
  }
17761
18113
 
17762
- function _typeof$G(obj) {
18114
+ function _typeof$H(obj) {
17763
18115
  "@babel/helpers - typeof";
17764
18116
 
17765
- return _typeof$G = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
18117
+ return _typeof$H = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
17766
18118
  return typeof obj;
17767
18119
  } : function (obj) {
17768
18120
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
17769
- }, _typeof$G(obj);
18121
+ }, _typeof$H(obj);
17770
18122
  }
17771
18123
  var _excluded$b = ["name", "escapedValue"],
17772
18124
  _excluded2$3 = ["escapedValue", "value"];
17773
- function ownKeys$z(object, enumerableOnly) {
18125
+ function ownKeys$A(object, enumerableOnly) {
17774
18126
  var keys = Object.keys(object);
17775
18127
  if (Object.getOwnPropertySymbols) {
17776
18128
  var symbols = Object.getOwnPropertySymbols(object);
@@ -17780,19 +18132,19 @@
17780
18132
  }
17781
18133
  return keys;
17782
18134
  }
17783
- function _objectSpread$z(target) {
18135
+ function _objectSpread$A(target) {
17784
18136
  for (var i = 1; i < arguments.length; i++) {
17785
18137
  var source = null != arguments[i] ? arguments[i] : {};
17786
- i % 2 ? ownKeys$z(Object(source), !0).forEach(function (key) {
17787
- _defineProperty$B(target, key, source[key]);
17788
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$z(Object(source)).forEach(function (key) {
18138
+ i % 2 ? ownKeys$A(Object(source), !0).forEach(function (key) {
18139
+ _defineProperty$C(target, key, source[key]);
18140
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$A(Object(source)).forEach(function (key) {
17789
18141
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
17790
18142
  });
17791
18143
  }
17792
18144
  return target;
17793
18145
  }
17794
- function _defineProperty$B(obj, key, value) {
17795
- key = _toPropertyKey$B(key);
18146
+ function _defineProperty$C(obj, key, value) {
18147
+ key = _toPropertyKey$C(key);
17796
18148
  if (key in obj) {
17797
18149
  Object.defineProperty(obj, key, {
17798
18150
  value: value,
@@ -17805,16 +18157,16 @@
17805
18157
  }
17806
18158
  return obj;
17807
18159
  }
17808
- function _toPropertyKey$B(arg) {
17809
- var key = _toPrimitive$B(arg, "string");
17810
- return _typeof$G(key) === "symbol" ? key : String(key);
18160
+ function _toPropertyKey$C(arg) {
18161
+ var key = _toPrimitive$C(arg, "string");
18162
+ return _typeof$H(key) === "symbol" ? key : String(key);
17811
18163
  }
17812
- function _toPrimitive$B(input, hint) {
17813
- if (_typeof$G(input) !== "object" || input === null) return input;
18164
+ function _toPrimitive$C(input, hint) {
18165
+ if (_typeof$H(input) !== "object" || input === null) return input;
17814
18166
  var prim = input[Symbol.toPrimitive];
17815
18167
  if (prim !== undefined) {
17816
18168
  var res = prim.call(input, hint || "default");
17817
- if (_typeof$G(res) !== "object") return res;
18169
+ if (_typeof$H(res) !== "object") return res;
17818
18170
  throw new TypeError("@@toPrimitive must return a primitive value.");
17819
18171
  }
17820
18172
  return (hint === "string" ? String : Number)(input);
@@ -17846,7 +18198,7 @@
17846
18198
  }
17847
18199
  return target;
17848
18200
  }
17849
- var withUsage$h = createDocumentationMessageGenerator({
18201
+ var withUsage$i = createDocumentationMessageGenerator({
17850
18202
  name: 'refinement-list',
17851
18203
  connector: true
17852
18204
  });
@@ -17865,7 +18217,7 @@
17865
18217
  */
17866
18218
  var connectRefinementList = function connectRefinementList(renderFn) {
17867
18219
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
17868
- checkRendering(renderFn, withUsage$h());
18220
+ checkRendering(renderFn, withUsage$i());
17869
18221
  return function (widgetParams) {
17870
18222
  var _ref = widgetParams || {},
17871
18223
  attribute = _ref.attribute,
@@ -17886,19 +18238,19 @@
17886
18238
  return items;
17887
18239
  } : _ref$transformItems;
17888
18240
  if (!attribute) {
17889
- throw new Error(withUsage$h('The `attribute` option is required.'));
18241
+ throw new Error(withUsage$i('The `attribute` option is required.'));
17890
18242
  }
17891
18243
  if (!/^(and|or)$/.test(operator)) {
17892
- throw new Error(withUsage$h("The `operator` must one of: `\"and\"`, `\"or\"` (got \"".concat(operator, "\").")));
18244
+ throw new Error(withUsage$i("The `operator` must one of: `\"and\"`, `\"or\"` (got \"".concat(operator, "\").")));
17893
18245
  }
17894
18246
  if (showMore === true && showMoreLimit <= limit) {
17895
- throw new Error(withUsage$h('`showMoreLimit` should be greater than `limit`.'));
18247
+ throw new Error(withUsage$i('`showMoreLimit` should be greater than `limit`.'));
17896
18248
  }
17897
18249
  var formatItems = function formatItems(_ref2) {
17898
18250
  var label = _ref2.name,
17899
18251
  value = _ref2.escapedValue,
17900
18252
  item = _objectWithoutProperties$b(_ref2, _excluded$b);
17901
- return _objectSpread$z(_objectSpread$z({}, item), {}, {
18253
+ return _objectSpread$A(_objectSpread$A({}, item), {}, {
17902
18254
  value: value,
17903
18255
  label: label,
17904
18256
  highlighted: label
@@ -17935,7 +18287,7 @@
17935
18287
  searchResults = renderOptions.results;
17936
18288
  if (query === '' && lastItemsFromMainSearch) {
17937
18289
  // render with previous data from the helper.
17938
- renderFn(_objectSpread$z(_objectSpread$z({}, widget.getWidgetRenderState(_objectSpread$z(_objectSpread$z({}, renderOptions), {}, {
18290
+ renderFn(_objectSpread$A(_objectSpread$A({}, widget.getWidgetRenderState(_objectSpread$A(_objectSpread$A({}, renderOptions), {}, {
17939
18291
  results: lastResultsFromMainSearch
17940
18292
  }))), {}, {
17941
18293
  instantSearchInstance: instantSearchInstance
@@ -17955,14 +18307,14 @@
17955
18307
  var escapedValue = _ref3.escapedValue,
17956
18308
  value = _ref3.value,
17957
18309
  item = _objectWithoutProperties$b(_ref3, _excluded2$3);
17958
- return _objectSpread$z(_objectSpread$z({}, item), {}, {
18310
+ return _objectSpread$A(_objectSpread$A({}, item), {}, {
17959
18311
  value: escapedValue,
17960
18312
  label: value
17961
18313
  });
17962
18314
  }), {
17963
18315
  results: searchResults
17964
18316
  });
17965
- renderFn(_objectSpread$z(_objectSpread$z({}, widget.getWidgetRenderState(_objectSpread$z(_objectSpread$z({}, renderOptions), {}, {
18317
+ renderFn(_objectSpread$A(_objectSpread$A({}, widget.getWidgetRenderState(_objectSpread$A(_objectSpread$A({}, renderOptions), {}, {
17966
18318
  results: lastResultsFromMainSearch
17967
18319
  }))), {}, {
17968
18320
  items: normalizedFacetValues,
@@ -17979,18 +18331,18 @@
17979
18331
  return {
17980
18332
  $$type: 'ais.refinementList',
17981
18333
  init: function init(initOptions) {
17982
- renderFn(_objectSpread$z(_objectSpread$z({}, this.getWidgetRenderState(initOptions)), {}, {
18334
+ renderFn(_objectSpread$A(_objectSpread$A({}, this.getWidgetRenderState(initOptions)), {}, {
17983
18335
  instantSearchInstance: initOptions.instantSearchInstance
17984
18336
  }), true);
17985
18337
  },
17986
18338
  render: function render(renderOptions) {
17987
- renderFn(_objectSpread$z(_objectSpread$z({}, this.getWidgetRenderState(renderOptions)), {}, {
18339
+ renderFn(_objectSpread$A(_objectSpread$A({}, this.getWidgetRenderState(renderOptions)), {}, {
17988
18340
  instantSearchInstance: renderOptions.instantSearchInstance
17989
18341
  }), false);
17990
18342
  },
17991
18343
  getRenderState: function getRenderState(renderState, renderOptions) {
17992
- return _objectSpread$z(_objectSpread$z({}, renderState), {}, {
17993
- refinementList: _objectSpread$z(_objectSpread$z({}, renderState.refinementList), {}, _defineProperty$B({}, attribute, this.getWidgetRenderState(renderOptions)))
18344
+ return _objectSpread$A(_objectSpread$A({}, renderState), {}, {
18345
+ refinementList: _objectSpread$A(_objectSpread$A({}, renderState.refinementList), {}, _defineProperty$C({}, attribute, this.getWidgetRenderState(renderOptions)))
17994
18346
  });
17995
18347
  },
17996
18348
  getWidgetRenderState: function getWidgetRenderState(renderOptions) {
@@ -18080,8 +18432,8 @@
18080
18432
  getWidgetUiState: function getWidgetUiState(uiState, _ref5) {
18081
18433
  var searchParameters = _ref5.searchParameters;
18082
18434
  var values = operator === 'or' ? searchParameters.getDisjunctiveRefinements(attribute) : searchParameters.getConjunctiveRefinements(attribute);
18083
- return removeEmptyRefinementsFromUiState$4(_objectSpread$z(_objectSpread$z({}, uiState), {}, {
18084
- refinementList: _objectSpread$z(_objectSpread$z({}, uiState.refinementList), {}, _defineProperty$B({}, attribute, values))
18435
+ return removeEmptyRefinementsFromUiState$4(_objectSpread$A(_objectSpread$A({}, uiState), {}, {
18436
+ refinementList: _objectSpread$A(_objectSpread$A({}, uiState.refinementList), {}, _defineProperty$C({}, attribute, values))
18085
18437
  }), attribute);
18086
18438
  },
18087
18439
  getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref6) {
@@ -18100,7 +18452,7 @@
18100
18452
  var withMaxValuesPerFacet = withFacetConfiguration.setQueryParameter('maxValuesPerFacet', nextMaxValuesPerFacet);
18101
18453
  if (!values) {
18102
18454
  var key = isDisjunctive ? 'disjunctiveFacetsRefinements' : 'facetsRefinements';
18103
- return withMaxValuesPerFacet.setQueryParameters(_defineProperty$B({}, key, _objectSpread$z(_objectSpread$z({}, withMaxValuesPerFacet[key]), {}, _defineProperty$B({}, attribute, []))));
18455
+ return withMaxValuesPerFacet.setQueryParameters(_defineProperty$C({}, key, _objectSpread$A(_objectSpread$A({}, withMaxValuesPerFacet[key]), {}, _defineProperty$C({}, attribute, []))));
18104
18456
  }
18105
18457
  return values.reduce(function (parameters, value) {
18106
18458
  return isDisjunctive ? parameters.addDisjunctiveFacetRefinement(attribute, value) : parameters.addFacetRefinement(attribute, value);
@@ -18126,16 +18478,16 @@
18126
18478
  return useConnector(connectRefinementList, props, additionalWidgetProperties);
18127
18479
  }
18128
18480
 
18129
- function _typeof$H(obj) {
18481
+ function _typeof$I(obj) {
18130
18482
  "@babel/helpers - typeof";
18131
18483
 
18132
- return _typeof$H = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
18484
+ return _typeof$I = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
18133
18485
  return typeof obj;
18134
18486
  } : function (obj) {
18135
18487
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
18136
- }, _typeof$H(obj);
18488
+ }, _typeof$I(obj);
18137
18489
  }
18138
- function ownKeys$A(object, enumerableOnly) {
18490
+ function ownKeys$B(object, enumerableOnly) {
18139
18491
  var keys = Object.keys(object);
18140
18492
  if (Object.getOwnPropertySymbols) {
18141
18493
  var symbols = Object.getOwnPropertySymbols(object);
@@ -18145,19 +18497,19 @@
18145
18497
  }
18146
18498
  return keys;
18147
18499
  }
18148
- function _objectSpread$A(target) {
18500
+ function _objectSpread$B(target) {
18149
18501
  for (var i = 1; i < arguments.length; i++) {
18150
18502
  var source = null != arguments[i] ? arguments[i] : {};
18151
- i % 2 ? ownKeys$A(Object(source), !0).forEach(function (key) {
18152
- _defineProperty$C(target, key, source[key]);
18153
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$A(Object(source)).forEach(function (key) {
18503
+ i % 2 ? ownKeys$B(Object(source), !0).forEach(function (key) {
18504
+ _defineProperty$D(target, key, source[key]);
18505
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$B(Object(source)).forEach(function (key) {
18154
18506
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
18155
18507
  });
18156
18508
  }
18157
18509
  return target;
18158
18510
  }
18159
- function _defineProperty$C(obj, key, value) {
18160
- key = _toPropertyKey$C(key);
18511
+ function _defineProperty$D(obj, key, value) {
18512
+ key = _toPropertyKey$D(key);
18161
18513
  if (key in obj) {
18162
18514
  Object.defineProperty(obj, key, {
18163
18515
  value: value,
@@ -18170,112 +18522,254 @@
18170
18522
  }
18171
18523
  return obj;
18172
18524
  }
18173
- function _toPropertyKey$C(arg) {
18174
- var key = _toPrimitive$C(arg, "string");
18175
- return _typeof$H(key) === "symbol" ? key : String(key);
18525
+ function _toPropertyKey$D(arg) {
18526
+ var key = _toPrimitive$D(arg, "string");
18527
+ return _typeof$I(key) === "symbol" ? key : String(key);
18176
18528
  }
18177
- function _toPrimitive$C(input, hint) {
18178
- if (_typeof$H(input) !== "object" || input === null) return input;
18529
+ function _toPrimitive$D(input, hint) {
18530
+ if (_typeof$I(input) !== "object" || input === null) return input;
18179
18531
  var prim = input[Symbol.toPrimitive];
18180
18532
  if (prim !== undefined) {
18181
18533
  var res = prim.call(input, hint || "default");
18182
- if (_typeof$H(res) !== "object") return res;
18534
+ if (_typeof$I(res) !== "object") return res;
18183
18535
  throw new TypeError("@@toPrimitive must return a primitive value.");
18184
18536
  }
18185
18537
  return (hint === "string" ? String : Number)(input);
18186
18538
  }
18187
- var withUsage$i = createDocumentationMessageGenerator({
18188
- name: 'search-box',
18539
+ var withUsage$j = createDocumentationMessageGenerator({
18540
+ name: 'related-products',
18189
18541
  connector: true
18190
18542
  });
18191
-
18192
- /**
18193
- * @typedef {Object} CustomSearchBoxWidgetParams
18194
- * @property {function(string, function(string))} [queryHook = undefined] A function that will be called every time
18195
- * a new value for the query is set. The first parameter is the query and the second is a
18196
- * function to actually trigger the search. The function takes the query as the parameter.
18197
- *
18198
- * This queryHook can be used to debounce the number of searches done from the searchBox.
18199
- */
18200
-
18201
- var defaultQueryHook = function defaultQueryHook(query, hook) {
18202
- return hook(query);
18203
- };
18204
-
18205
- /**
18206
- * **SearchBox** connector provides the logic to build a widget that will let the user search for a query.
18207
- *
18208
- * The connector provides to the rendering: `refine()` to set the query. The behaviour of this function
18209
- * may be impacted by the `queryHook` widget parameter.
18210
- */
18211
- var connectSearchBox = function connectSearchBox(renderFn) {
18543
+ var connectRelatedProducts = function connectRelatedProducts(renderFn) {
18212
18544
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
18213
- checkRendering(renderFn, withUsage$i());
18214
- return function (widgetParams) {
18545
+ checkRendering(renderFn, withUsage$j());
18546
+ return function relatedProducts(widgetParams) {
18215
18547
  var _ref = widgetParams || {},
18216
- _ref$queryHook = _ref.queryHook,
18217
- queryHook = _ref$queryHook === void 0 ? defaultQueryHook : _ref$queryHook;
18218
- var _refine;
18219
- var _clear;
18548
+ _ref$escapeHTML = _ref.escapeHTML,
18549
+ escapeHTML = _ref$escapeHTML === void 0 ? true : _ref$escapeHTML,
18550
+ objectIDs = _ref.objectIDs,
18551
+ limit = _ref.limit,
18552
+ threshold = _ref.threshold,
18553
+ fallbackParameters = _ref.fallbackParameters,
18554
+ queryParameters = _ref.queryParameters,
18555
+ _ref$transformItems = _ref.transformItems,
18556
+ transformItems = _ref$transformItems === void 0 ? function (items) {
18557
+ return items;
18558
+ } : _ref$transformItems;
18559
+ if (!objectIDs || objectIDs.length === 0) {
18560
+ throw new Error(withUsage$j('The `objectIDs` option is required.'));
18561
+ }
18220
18562
  return {
18221
- $$type: 'ais.searchBox',
18563
+ dependsOn: 'recommend',
18564
+ $$type: 'ais.relatedProducts',
18222
18565
  init: function init(initOptions) {
18223
- var instantSearchInstance = initOptions.instantSearchInstance;
18224
- renderFn(_objectSpread$A(_objectSpread$A({}, this.getWidgetRenderState(initOptions)), {}, {
18225
- instantSearchInstance: instantSearchInstance
18566
+ renderFn(_objectSpread$B(_objectSpread$B({}, this.getWidgetRenderState(initOptions)), {}, {
18567
+ instantSearchInstance: initOptions.instantSearchInstance
18226
18568
  }), true);
18227
18569
  },
18228
18570
  render: function render(renderOptions) {
18229
- var instantSearchInstance = renderOptions.instantSearchInstance;
18230
- renderFn(_objectSpread$A(_objectSpread$A({}, this.getWidgetRenderState(renderOptions)), {}, {
18231
- instantSearchInstance: instantSearchInstance
18571
+ var renderState = this.getWidgetRenderState(renderOptions);
18572
+ renderFn(_objectSpread$B(_objectSpread$B({}, renderState), {}, {
18573
+ instantSearchInstance: renderOptions.instantSearchInstance
18232
18574
  }), false);
18233
18575
  },
18234
- dispose: function dispose(_ref2) {
18235
- var state = _ref2.state;
18236
- unmountFn();
18237
- return state.setQueryParameter('query', undefined);
18238
- },
18239
- getRenderState: function getRenderState(renderState, renderOptions) {
18240
- return _objectSpread$A(_objectSpread$A({}, renderState), {}, {
18241
- searchBox: this.getWidgetRenderState(renderOptions)
18242
- });
18576
+ getRenderState: function getRenderState(renderState) {
18577
+ return renderState;
18243
18578
  },
18244
- getWidgetRenderState: function getWidgetRenderState(_ref3) {
18245
- var helper = _ref3.helper,
18246
- instantSearchInstance = _ref3.instantSearchInstance,
18247
- state = _ref3.state;
18248
- if (!_refine) {
18249
- _refine = function _refine(query) {
18250
- queryHook(query, function (q) {
18251
- return helper.setQuery(q).search();
18252
- });
18253
- };
18254
- _clear = function _clear() {
18255
- helper.setQuery('').search();
18579
+ getWidgetRenderState: function getWidgetRenderState(_ref2) {
18580
+ var results = _ref2.results;
18581
+ if (results === null || results === undefined) {
18582
+ return {
18583
+ items: [],
18584
+ widgetParams: widgetParams
18256
18585
  };
18257
18586
  }
18587
+ if (escapeHTML && results.hits.length > 0) {
18588
+ results.hits = escapeHits(results.hits);
18589
+ }
18258
18590
  return {
18259
- query: state.query || '',
18260
- refine: _refine,
18261
- clear: _clear,
18262
- widgetParams: widgetParams,
18263
- isSearchStalled: instantSearchInstance.status === 'stalled'
18591
+ items: transformItems(results.hits, {
18592
+ results: results
18593
+ }),
18594
+ widgetParams: widgetParams
18264
18595
  };
18265
18596
  },
18266
- getWidgetUiState: function getWidgetUiState(uiState, _ref4) {
18267
- var searchParameters = _ref4.searchParameters;
18268
- var query = searchParameters.query || '';
18269
- if (query === '' || uiState && uiState.query === query) {
18270
- return uiState;
18271
- }
18272
- return _objectSpread$A(_objectSpread$A({}, uiState), {}, {
18273
- query: query
18274
- });
18597
+ dispose: function dispose(_ref3) {
18598
+ var recommendState = _ref3.recommendState;
18599
+ unmountFn();
18600
+ return recommendState.removeParams(this.$$id);
18275
18601
  },
18276
- getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref5) {
18277
- var uiState = _ref5.uiState;
18278
- return searchParameters.setQueryParameter('query', uiState.query || '');
18602
+ getWidgetParameters: function getWidgetParameters(state) {
18603
+ var _this = this;
18604
+ return objectIDs.reduce(function (acc, objectID) {
18605
+ return acc.addRelatedProducts({
18606
+ objectID: objectID,
18607
+ maxRecommendations: limit,
18608
+ threshold: threshold,
18609
+ fallbackParameters: _objectSpread$B(_objectSpread$B({}, fallbackParameters), escapeHTML ? TAG_PLACEHOLDER : {}),
18610
+ queryParameters: _objectSpread$B(_objectSpread$B({}, queryParameters), escapeHTML ? TAG_PLACEHOLDER : {}),
18611
+ $$id: _this.$$id
18612
+ });
18613
+ }, state.removeParams(this.$$id));
18614
+ }
18615
+ };
18616
+ };
18617
+ };
18618
+
18619
+ function useRelatedProducts(props, additionalWidgetProperties) {
18620
+ return useConnector(connectRelatedProducts, props, additionalWidgetProperties);
18621
+ }
18622
+
18623
+ function _typeof$J(obj) {
18624
+ "@babel/helpers - typeof";
18625
+
18626
+ return _typeof$J = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
18627
+ return typeof obj;
18628
+ } : function (obj) {
18629
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
18630
+ }, _typeof$J(obj);
18631
+ }
18632
+ function ownKeys$C(object, enumerableOnly) {
18633
+ var keys = Object.keys(object);
18634
+ if (Object.getOwnPropertySymbols) {
18635
+ var symbols = Object.getOwnPropertySymbols(object);
18636
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
18637
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
18638
+ })), keys.push.apply(keys, symbols);
18639
+ }
18640
+ return keys;
18641
+ }
18642
+ function _objectSpread$C(target) {
18643
+ for (var i = 1; i < arguments.length; i++) {
18644
+ var source = null != arguments[i] ? arguments[i] : {};
18645
+ i % 2 ? ownKeys$C(Object(source), !0).forEach(function (key) {
18646
+ _defineProperty$E(target, key, source[key]);
18647
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$C(Object(source)).forEach(function (key) {
18648
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
18649
+ });
18650
+ }
18651
+ return target;
18652
+ }
18653
+ function _defineProperty$E(obj, key, value) {
18654
+ key = _toPropertyKey$E(key);
18655
+ if (key in obj) {
18656
+ Object.defineProperty(obj, key, {
18657
+ value: value,
18658
+ enumerable: true,
18659
+ configurable: true,
18660
+ writable: true
18661
+ });
18662
+ } else {
18663
+ obj[key] = value;
18664
+ }
18665
+ return obj;
18666
+ }
18667
+ function _toPropertyKey$E(arg) {
18668
+ var key = _toPrimitive$E(arg, "string");
18669
+ return _typeof$J(key) === "symbol" ? key : String(key);
18670
+ }
18671
+ function _toPrimitive$E(input, hint) {
18672
+ if (_typeof$J(input) !== "object" || input === null) return input;
18673
+ var prim = input[Symbol.toPrimitive];
18674
+ if (prim !== undefined) {
18675
+ var res = prim.call(input, hint || "default");
18676
+ if (_typeof$J(res) !== "object") return res;
18677
+ throw new TypeError("@@toPrimitive must return a primitive value.");
18678
+ }
18679
+ return (hint === "string" ? String : Number)(input);
18680
+ }
18681
+ var withUsage$k = createDocumentationMessageGenerator({
18682
+ name: 'search-box',
18683
+ connector: true
18684
+ });
18685
+
18686
+ /**
18687
+ * @typedef {Object} CustomSearchBoxWidgetParams
18688
+ * @property {function(string, function(string))} [queryHook = undefined] A function that will be called every time
18689
+ * a new value for the query is set. The first parameter is the query and the second is a
18690
+ * function to actually trigger the search. The function takes the query as the parameter.
18691
+ *
18692
+ * This queryHook can be used to debounce the number of searches done from the searchBox.
18693
+ */
18694
+
18695
+ var defaultQueryHook = function defaultQueryHook(query, hook) {
18696
+ return hook(query);
18697
+ };
18698
+
18699
+ /**
18700
+ * **SearchBox** connector provides the logic to build a widget that will let the user search for a query.
18701
+ *
18702
+ * The connector provides to the rendering: `refine()` to set the query. The behaviour of this function
18703
+ * may be impacted by the `queryHook` widget parameter.
18704
+ */
18705
+ var connectSearchBox = function connectSearchBox(renderFn) {
18706
+ var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
18707
+ checkRendering(renderFn, withUsage$k());
18708
+ return function (widgetParams) {
18709
+ var _ref = widgetParams || {},
18710
+ _ref$queryHook = _ref.queryHook,
18711
+ queryHook = _ref$queryHook === void 0 ? defaultQueryHook : _ref$queryHook;
18712
+ var _refine;
18713
+ var _clear;
18714
+ return {
18715
+ $$type: 'ais.searchBox',
18716
+ init: function init(initOptions) {
18717
+ var instantSearchInstance = initOptions.instantSearchInstance;
18718
+ renderFn(_objectSpread$C(_objectSpread$C({}, this.getWidgetRenderState(initOptions)), {}, {
18719
+ instantSearchInstance: instantSearchInstance
18720
+ }), true);
18721
+ },
18722
+ render: function render(renderOptions) {
18723
+ var instantSearchInstance = renderOptions.instantSearchInstance;
18724
+ renderFn(_objectSpread$C(_objectSpread$C({}, this.getWidgetRenderState(renderOptions)), {}, {
18725
+ instantSearchInstance: instantSearchInstance
18726
+ }), false);
18727
+ },
18728
+ dispose: function dispose(_ref2) {
18729
+ var state = _ref2.state;
18730
+ unmountFn();
18731
+ return state.setQueryParameter('query', undefined);
18732
+ },
18733
+ getRenderState: function getRenderState(renderState, renderOptions) {
18734
+ return _objectSpread$C(_objectSpread$C({}, renderState), {}, {
18735
+ searchBox: this.getWidgetRenderState(renderOptions)
18736
+ });
18737
+ },
18738
+ getWidgetRenderState: function getWidgetRenderState(_ref3) {
18739
+ var helper = _ref3.helper,
18740
+ instantSearchInstance = _ref3.instantSearchInstance,
18741
+ state = _ref3.state;
18742
+ if (!_refine) {
18743
+ _refine = function _refine(query) {
18744
+ queryHook(query, function (q) {
18745
+ return helper.setQuery(q).search();
18746
+ });
18747
+ };
18748
+ _clear = function _clear() {
18749
+ helper.setQuery('').search();
18750
+ };
18751
+ }
18752
+ return {
18753
+ query: state.query || '',
18754
+ refine: _refine,
18755
+ clear: _clear,
18756
+ widgetParams: widgetParams,
18757
+ isSearchStalled: instantSearchInstance.status === 'stalled'
18758
+ };
18759
+ },
18760
+ getWidgetUiState: function getWidgetUiState(uiState, _ref4) {
18761
+ var searchParameters = _ref4.searchParameters;
18762
+ var query = searchParameters.query || '';
18763
+ if (query === '' || uiState && uiState.query === query) {
18764
+ return uiState;
18765
+ }
18766
+ return _objectSpread$C(_objectSpread$C({}, uiState), {}, {
18767
+ query: query
18768
+ });
18769
+ },
18770
+ getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref5) {
18771
+ var uiState = _ref5.uiState;
18772
+ return searchParameters.setQueryParameter('query', uiState.query || '');
18279
18773
  }
18280
18774
  };
18281
18775
  };
@@ -18285,16 +18779,16 @@
18285
18779
  return useConnector(connectSearchBox, props, additionalWidgetProperties);
18286
18780
  }
18287
18781
 
18288
- function _typeof$I(obj) {
18782
+ function _typeof$K(obj) {
18289
18783
  "@babel/helpers - typeof";
18290
18784
 
18291
- return _typeof$I = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
18785
+ return _typeof$K = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
18292
18786
  return typeof obj;
18293
18787
  } : function (obj) {
18294
18788
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
18295
- }, _typeof$I(obj);
18789
+ }, _typeof$K(obj);
18296
18790
  }
18297
- function ownKeys$B(object, enumerableOnly) {
18791
+ function ownKeys$D(object, enumerableOnly) {
18298
18792
  var keys = Object.keys(object);
18299
18793
  if (Object.getOwnPropertySymbols) {
18300
18794
  var symbols = Object.getOwnPropertySymbols(object);
@@ -18304,19 +18798,19 @@
18304
18798
  }
18305
18799
  return keys;
18306
18800
  }
18307
- function _objectSpread$B(target) {
18801
+ function _objectSpread$D(target) {
18308
18802
  for (var i = 1; i < arguments.length; i++) {
18309
18803
  var source = null != arguments[i] ? arguments[i] : {};
18310
- i % 2 ? ownKeys$B(Object(source), !0).forEach(function (key) {
18311
- _defineProperty$D(target, key, source[key]);
18312
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$B(Object(source)).forEach(function (key) {
18804
+ i % 2 ? ownKeys$D(Object(source), !0).forEach(function (key) {
18805
+ _defineProperty$F(target, key, source[key]);
18806
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$D(Object(source)).forEach(function (key) {
18313
18807
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
18314
18808
  });
18315
18809
  }
18316
18810
  return target;
18317
18811
  }
18318
- function _defineProperty$D(obj, key, value) {
18319
- key = _toPropertyKey$D(key);
18812
+ function _defineProperty$F(obj, key, value) {
18813
+ key = _toPropertyKey$F(key);
18320
18814
  if (key in obj) {
18321
18815
  Object.defineProperty(obj, key, {
18322
18816
  value: value,
@@ -18329,21 +18823,21 @@
18329
18823
  }
18330
18824
  return obj;
18331
18825
  }
18332
- function _toPropertyKey$D(arg) {
18333
- var key = _toPrimitive$D(arg, "string");
18334
- return _typeof$I(key) === "symbol" ? key : String(key);
18826
+ function _toPropertyKey$F(arg) {
18827
+ var key = _toPrimitive$F(arg, "string");
18828
+ return _typeof$K(key) === "symbol" ? key : String(key);
18335
18829
  }
18336
- function _toPrimitive$D(input, hint) {
18337
- if (_typeof$I(input) !== "object" || input === null) return input;
18830
+ function _toPrimitive$F(input, hint) {
18831
+ if (_typeof$K(input) !== "object" || input === null) return input;
18338
18832
  var prim = input[Symbol.toPrimitive];
18339
18833
  if (prim !== undefined) {
18340
18834
  var res = prim.call(input, hint || "default");
18341
- if (_typeof$I(res) !== "object") return res;
18835
+ if (_typeof$K(res) !== "object") return res;
18342
18836
  throw new TypeError("@@toPrimitive must return a primitive value.");
18343
18837
  }
18344
18838
  return (hint === "string" ? String : Number)(input);
18345
18839
  }
18346
- var withUsage$j = createDocumentationMessageGenerator({
18840
+ var withUsage$l = createDocumentationMessageGenerator({
18347
18841
  name: 'sort-by',
18348
18842
  connector: true
18349
18843
  });
@@ -18356,7 +18850,7 @@
18356
18850
 
18357
18851
  var connectSortBy = function connectSortBy(renderFn) {
18358
18852
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
18359
- checkRendering(renderFn, withUsage$j());
18853
+ checkRendering(renderFn, withUsage$l());
18360
18854
  var connectorState = {};
18361
18855
  return function (widgetParams) {
18362
18856
  var _ref = widgetParams || {},
@@ -18366,7 +18860,7 @@
18366
18860
  return x;
18367
18861
  } : _ref$transformItems;
18368
18862
  if (!Array.isArray(items)) {
18369
- throw new Error(withUsage$j('The `items` option expects an array of objects.'));
18863
+ throw new Error(withUsage$l('The `items` option expects an array of objects.'));
18370
18864
  }
18371
18865
  return {
18372
18866
  $$type: 'ais.sortBy',
@@ -18377,13 +18871,13 @@
18377
18871
  var isCurrentIndexInItems = find$1(items, function (item) {
18378
18872
  return item.value === currentIndex;
18379
18873
  });
18380
- renderFn(_objectSpread$B(_objectSpread$B({}, widgetRenderState), {}, {
18874
+ renderFn(_objectSpread$D(_objectSpread$D({}, widgetRenderState), {}, {
18381
18875
  instantSearchInstance: instantSearchInstance
18382
18876
  }), true);
18383
18877
  },
18384
18878
  render: function render(renderOptions) {
18385
18879
  var instantSearchInstance = renderOptions.instantSearchInstance;
18386
- renderFn(_objectSpread$B(_objectSpread$B({}, this.getWidgetRenderState(renderOptions)), {}, {
18880
+ renderFn(_objectSpread$D(_objectSpread$D({}, this.getWidgetRenderState(renderOptions)), {}, {
18387
18881
  instantSearchInstance: instantSearchInstance
18388
18882
  }), false);
18389
18883
  },
@@ -18393,7 +18887,7 @@
18393
18887
  return connectorState.initialIndex ? state.setIndex(connectorState.initialIndex) : state;
18394
18888
  },
18395
18889
  getRenderState: function getRenderState(renderState, renderOptions) {
18396
- return _objectSpread$B(_objectSpread$B({}, renderState), {}, {
18890
+ return _objectSpread$D(_objectSpread$D({}, renderState), {}, {
18397
18891
  sortBy: this.getWidgetRenderState(renderOptions)
18398
18892
  });
18399
18893
  },
@@ -18425,7 +18919,7 @@
18425
18919
  getWidgetUiState: function getWidgetUiState(uiState, _ref4) {
18426
18920
  var searchParameters = _ref4.searchParameters;
18427
18921
  var currentIndex = searchParameters.index;
18428
- return _objectSpread$B(_objectSpread$B({}, uiState), {}, {
18922
+ return _objectSpread$D(_objectSpread$D({}, uiState), {}, {
18429
18923
  sortBy: currentIndex !== connectorState.initialIndex ? currentIndex : undefined
18430
18924
  });
18431
18925
  },
@@ -18441,16 +18935,16 @@
18441
18935
  return useConnector(connectSortBy, props, additionalWidgetProperties);
18442
18936
  }
18443
18937
 
18444
- function _typeof$J(obj) {
18938
+ function _typeof$L(obj) {
18445
18939
  "@babel/helpers - typeof";
18446
18940
 
18447
- return _typeof$J = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
18941
+ return _typeof$L = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
18448
18942
  return typeof obj;
18449
18943
  } : function (obj) {
18450
18944
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
18451
- }, _typeof$J(obj);
18945
+ }, _typeof$L(obj);
18452
18946
  }
18453
- function ownKeys$C(object, enumerableOnly) {
18947
+ function ownKeys$E(object, enumerableOnly) {
18454
18948
  var keys = Object.keys(object);
18455
18949
  if (Object.getOwnPropertySymbols) {
18456
18950
  var symbols = Object.getOwnPropertySymbols(object);
@@ -18460,19 +18954,19 @@
18460
18954
  }
18461
18955
  return keys;
18462
18956
  }
18463
- function _objectSpread$C(target) {
18957
+ function _objectSpread$E(target) {
18464
18958
  for (var i = 1; i < arguments.length; i++) {
18465
18959
  var source = null != arguments[i] ? arguments[i] : {};
18466
- i % 2 ? ownKeys$C(Object(source), !0).forEach(function (key) {
18467
- _defineProperty$E(target, key, source[key]);
18468
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$C(Object(source)).forEach(function (key) {
18960
+ i % 2 ? ownKeys$E(Object(source), !0).forEach(function (key) {
18961
+ _defineProperty$G(target, key, source[key]);
18962
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$E(Object(source)).forEach(function (key) {
18469
18963
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
18470
18964
  });
18471
18965
  }
18472
18966
  return target;
18473
18967
  }
18474
- function _defineProperty$E(obj, key, value) {
18475
- key = _toPropertyKey$E(key);
18968
+ function _defineProperty$G(obj, key, value) {
18969
+ key = _toPropertyKey$G(key);
18476
18970
  if (key in obj) {
18477
18971
  Object.defineProperty(obj, key, {
18478
18972
  value: value,
@@ -18485,21 +18979,21 @@
18485
18979
  }
18486
18980
  return obj;
18487
18981
  }
18488
- function _toPropertyKey$E(arg) {
18489
- var key = _toPrimitive$E(arg, "string");
18490
- return _typeof$J(key) === "symbol" ? key : String(key);
18982
+ function _toPropertyKey$G(arg) {
18983
+ var key = _toPrimitive$G(arg, "string");
18984
+ return _typeof$L(key) === "symbol" ? key : String(key);
18491
18985
  }
18492
- function _toPrimitive$E(input, hint) {
18493
- if (_typeof$J(input) !== "object" || input === null) return input;
18986
+ function _toPrimitive$G(input, hint) {
18987
+ if (_typeof$L(input) !== "object" || input === null) return input;
18494
18988
  var prim = input[Symbol.toPrimitive];
18495
18989
  if (prim !== undefined) {
18496
18990
  var res = prim.call(input, hint || "default");
18497
- if (_typeof$J(res) !== "object") return res;
18991
+ if (_typeof$L(res) !== "object") return res;
18498
18992
  throw new TypeError("@@toPrimitive must return a primitive value.");
18499
18993
  }
18500
18994
  return (hint === "string" ? String : Number)(input);
18501
18995
  }
18502
- var withUsage$k = createDocumentationMessageGenerator({
18996
+ var withUsage$m = createDocumentationMessageGenerator({
18503
18997
  name: 'stats',
18504
18998
  connector: true
18505
18999
  });
@@ -18511,19 +19005,19 @@
18511
19005
 
18512
19006
  var connectStats = function connectStats(renderFn) {
18513
19007
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
18514
- checkRendering(renderFn, withUsage$k());
19008
+ checkRendering(renderFn, withUsage$m());
18515
19009
  return function (widgetParams) {
18516
19010
  return {
18517
19011
  $$type: 'ais.stats',
18518
19012
  init: function init(initOptions) {
18519
19013
  var instantSearchInstance = initOptions.instantSearchInstance;
18520
- renderFn(_objectSpread$C(_objectSpread$C({}, this.getWidgetRenderState(initOptions)), {}, {
19014
+ renderFn(_objectSpread$E(_objectSpread$E({}, this.getWidgetRenderState(initOptions)), {}, {
18521
19015
  instantSearchInstance: instantSearchInstance
18522
19016
  }), true);
18523
19017
  },
18524
19018
  render: function render(renderOptions) {
18525
19019
  var instantSearchInstance = renderOptions.instantSearchInstance;
18526
- renderFn(_objectSpread$C(_objectSpread$C({}, this.getWidgetRenderState(renderOptions)), {}, {
19020
+ renderFn(_objectSpread$E(_objectSpread$E({}, this.getWidgetRenderState(renderOptions)), {}, {
18527
19021
  instantSearchInstance: instantSearchInstance
18528
19022
  }), false);
18529
19023
  },
@@ -18531,7 +19025,7 @@
18531
19025
  unmountFn();
18532
19026
  },
18533
19027
  getRenderState: function getRenderState(renderState, renderOptions) {
18534
- return _objectSpread$C(_objectSpread$C({}, renderState), {}, {
19028
+ return _objectSpread$E(_objectSpread$E({}, renderState), {}, {
18535
19029
  stats: this.getWidgetRenderState(renderOptions)
18536
19030
  });
18537
19031
  },
@@ -18571,16 +19065,16 @@
18571
19065
  return useConnector(connectStats, props, additionalWidgetProperties);
18572
19066
  }
18573
19067
 
18574
- function _typeof$K(obj) {
19068
+ function _typeof$M(obj) {
18575
19069
  "@babel/helpers - typeof";
18576
19070
 
18577
- return _typeof$K = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
19071
+ return _typeof$M = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
18578
19072
  return typeof obj;
18579
19073
  } : function (obj) {
18580
19074
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
18581
- }, _typeof$K(obj);
19075
+ }, _typeof$M(obj);
18582
19076
  }
18583
- function ownKeys$D(object, enumerableOnly) {
19077
+ function ownKeys$F(object, enumerableOnly) {
18584
19078
  var keys = Object.keys(object);
18585
19079
  if (Object.getOwnPropertySymbols) {
18586
19080
  var symbols = Object.getOwnPropertySymbols(object);
@@ -18590,19 +19084,19 @@
18590
19084
  }
18591
19085
  return keys;
18592
19086
  }
18593
- function _objectSpread$D(target) {
19087
+ function _objectSpread$F(target) {
18594
19088
  for (var i = 1; i < arguments.length; i++) {
18595
19089
  var source = null != arguments[i] ? arguments[i] : {};
18596
- i % 2 ? ownKeys$D(Object(source), !0).forEach(function (key) {
18597
- _defineProperty$F(target, key, source[key]);
18598
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$D(Object(source)).forEach(function (key) {
19090
+ i % 2 ? ownKeys$F(Object(source), !0).forEach(function (key) {
19091
+ _defineProperty$H(target, key, source[key]);
19092
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$F(Object(source)).forEach(function (key) {
18599
19093
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
18600
19094
  });
18601
19095
  }
18602
19096
  return target;
18603
19097
  }
18604
- function _defineProperty$F(obj, key, value) {
18605
- key = _toPropertyKey$F(key);
19098
+ function _defineProperty$H(obj, key, value) {
19099
+ key = _toPropertyKey$H(key);
18606
19100
  if (key in obj) {
18607
19101
  Object.defineProperty(obj, key, {
18608
19102
  value: value,
@@ -18615,16 +19109,16 @@
18615
19109
  }
18616
19110
  return obj;
18617
19111
  }
18618
- function _toPropertyKey$F(arg) {
18619
- var key = _toPrimitive$F(arg, "string");
18620
- return _typeof$K(key) === "symbol" ? key : String(key);
19112
+ function _toPropertyKey$H(arg) {
19113
+ var key = _toPrimitive$H(arg, "string");
19114
+ return _typeof$M(key) === "symbol" ? key : String(key);
18621
19115
  }
18622
- function _toPrimitive$F(input, hint) {
18623
- if (_typeof$K(input) !== "object" || input === null) return input;
19116
+ function _toPrimitive$H(input, hint) {
19117
+ if (_typeof$M(input) !== "object" || input === null) return input;
18624
19118
  var prim = input[Symbol.toPrimitive];
18625
19119
  if (prim !== undefined) {
18626
19120
  var res = prim.call(input, hint || "default");
18627
- if (_typeof$K(res) !== "object") return res;
19121
+ if (_typeof$M(res) !== "object") return res;
18628
19122
  throw new TypeError("@@toPrimitive must return a primitive value.");
18629
19123
  }
18630
19124
  return (hint === "string" ? String : Number)(input);
@@ -18678,7 +19172,7 @@
18678
19172
  function _arrayWithHoles$d(arr) {
18679
19173
  if (Array.isArray(arr)) return arr;
18680
19174
  }
18681
- var withUsage$l = createDocumentationMessageGenerator({
19175
+ var withUsage$n = createDocumentationMessageGenerator({
18682
19176
  name: 'toggle-refinement',
18683
19177
  connector: true
18684
19178
  });
@@ -18738,7 +19232,7 @@
18738
19232
  */
18739
19233
  var connectToggleRefinement = function connectToggleRefinement(renderFn) {
18740
19234
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
18741
- checkRendering(renderFn, withUsage$l());
19235
+ checkRendering(renderFn, withUsage$n());
18742
19236
  return function (widgetParams) {
18743
19237
  var _ref2 = widgetParams || {},
18744
19238
  attribute = _ref2.attribute,
@@ -18746,7 +19240,7 @@
18746
19240
  userOn = _ref2$on === void 0 ? true : _ref2$on,
18747
19241
  userOff = _ref2.off;
18748
19242
  if (!attribute) {
18749
- throw new Error(withUsage$l('The `attribute` option is required.'));
19243
+ throw new Error(withUsage$n('The `attribute` option is required.'));
18750
19244
  }
18751
19245
  var hasAnOffValue = userOff !== undefined;
18752
19246
  // even though facet values can be numbers and boolean,
@@ -18816,13 +19310,13 @@
18816
19310
  $$type: $$type$3,
18817
19311
  init: function init(initOptions) {
18818
19312
  var instantSearchInstance = initOptions.instantSearchInstance;
18819
- renderFn(_objectSpread$D(_objectSpread$D({}, this.getWidgetRenderState(initOptions)), {}, {
19313
+ renderFn(_objectSpread$F(_objectSpread$F({}, this.getWidgetRenderState(initOptions)), {}, {
18820
19314
  instantSearchInstance: instantSearchInstance
18821
19315
  }), true);
18822
19316
  },
18823
19317
  render: function render(renderOptions) {
18824
19318
  var instantSearchInstance = renderOptions.instantSearchInstance;
18825
- renderFn(_objectSpread$D(_objectSpread$D({}, this.getWidgetRenderState(renderOptions)), {}, {
19319
+ renderFn(_objectSpread$F(_objectSpread$F({}, this.getWidgetRenderState(renderOptions)), {}, {
18826
19320
  instantSearchInstance: instantSearchInstance
18827
19321
  }), false);
18828
19322
  },
@@ -18832,8 +19326,8 @@
18832
19326
  return state.removeDisjunctiveFacet(attribute);
18833
19327
  },
18834
19328
  getRenderState: function getRenderState(renderState, renderOptions) {
18835
- return _objectSpread$D(_objectSpread$D({}, renderState), {}, {
18836
- toggleRefinement: _objectSpread$D(_objectSpread$D({}, renderState.toggleRefinement), {}, _defineProperty$F({}, attribute, this.getWidgetRenderState(renderOptions)))
19329
+ return _objectSpread$F(_objectSpread$F({}, renderState), {}, {
19330
+ toggleRefinement: _objectSpread$F(_objectSpread$F({}, renderState.toggleRefinement), {}, _defineProperty$H({}, attribute, this.getWidgetRenderState(renderOptions)))
18837
19331
  });
18838
19332
  },
18839
19333
  getWidgetRenderState: function getWidgetRenderState(_ref6) {
@@ -18934,8 +19428,8 @@
18934
19428
  (_uiState$toggle = uiState.toggle) === null || _uiState$toggle === void 0 ? true : delete _uiState$toggle[attribute];
18935
19429
  return uiState;
18936
19430
  }
18937
- return _objectSpread$D(_objectSpread$D({}, uiState), {}, {
18938
- toggle: _objectSpread$D(_objectSpread$D({}, uiState.toggle), {}, _defineProperty$F({}, attribute, isRefined))
19431
+ return _objectSpread$F(_objectSpread$F({}, uiState), {}, {
19432
+ toggle: _objectSpread$F(_objectSpread$F({}, uiState.toggle), {}, _defineProperty$H({}, attribute, isRefined))
18939
19433
  });
18940
19434
  },
18941
19435
  getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref11) {
@@ -18966,7 +19460,7 @@
18966
19460
 
18967
19461
  // It's not refined without an `off` value
18968
19462
  return withFacetConfiguration.setQueryParameters({
18969
- disjunctiveFacetsRefinements: _objectSpread$D(_objectSpread$D({}, searchParameters.disjunctiveFacetsRefinements), {}, _defineProperty$F({}, attribute, []))
19463
+ disjunctiveFacetsRefinements: _objectSpread$F(_objectSpread$F({}, searchParameters.disjunctiveFacetsRefinements), {}, _defineProperty$H({}, attribute, []))
18970
19464
  });
18971
19465
  }
18972
19466
  };
@@ -18977,6 +19471,286 @@
18977
19471
  return useConnector(connectToggleRefinement, props, additionalWidgetProperties);
18978
19472
  }
18979
19473
 
19474
+ function _typeof$N(obj) {
19475
+ "@babel/helpers - typeof";
19476
+
19477
+ return _typeof$N = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
19478
+ return typeof obj;
19479
+ } : function (obj) {
19480
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
19481
+ }, _typeof$N(obj);
19482
+ }
19483
+ function ownKeys$G(object, enumerableOnly) {
19484
+ var keys = Object.keys(object);
19485
+ if (Object.getOwnPropertySymbols) {
19486
+ var symbols = Object.getOwnPropertySymbols(object);
19487
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
19488
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
19489
+ })), keys.push.apply(keys, symbols);
19490
+ }
19491
+ return keys;
19492
+ }
19493
+ function _objectSpread$G(target) {
19494
+ for (var i = 1; i < arguments.length; i++) {
19495
+ var source = null != arguments[i] ? arguments[i] : {};
19496
+ i % 2 ? ownKeys$G(Object(source), !0).forEach(function (key) {
19497
+ _defineProperty$I(target, key, source[key]);
19498
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$G(Object(source)).forEach(function (key) {
19499
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
19500
+ });
19501
+ }
19502
+ return target;
19503
+ }
19504
+ function _defineProperty$I(obj, key, value) {
19505
+ key = _toPropertyKey$I(key);
19506
+ if (key in obj) {
19507
+ Object.defineProperty(obj, key, {
19508
+ value: value,
19509
+ enumerable: true,
19510
+ configurable: true,
19511
+ writable: true
19512
+ });
19513
+ } else {
19514
+ obj[key] = value;
19515
+ }
19516
+ return obj;
19517
+ }
19518
+ function _toPropertyKey$I(arg) {
19519
+ var key = _toPrimitive$I(arg, "string");
19520
+ return _typeof$N(key) === "symbol" ? key : String(key);
19521
+ }
19522
+ function _toPrimitive$I(input, hint) {
19523
+ if (_typeof$N(input) !== "object" || input === null) return input;
19524
+ var prim = input[Symbol.toPrimitive];
19525
+ if (prim !== undefined) {
19526
+ var res = prim.call(input, hint || "default");
19527
+ if (_typeof$N(res) !== "object") return res;
19528
+ throw new TypeError("@@toPrimitive must return a primitive value.");
19529
+ }
19530
+ return (hint === "string" ? String : Number)(input);
19531
+ }
19532
+ var withUsage$o = createDocumentationMessageGenerator({
19533
+ name: 'trending-items',
19534
+ connector: true
19535
+ });
19536
+ var connectTrendingItems = function connectTrendingItems(renderFn) {
19537
+ var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
19538
+ checkRendering(renderFn, withUsage$o());
19539
+ return function trendingItems(widgetParams) {
19540
+ var _ref = widgetParams || {},
19541
+ facetName = _ref.facetName,
19542
+ facetValue = _ref.facetValue,
19543
+ limit = _ref.limit,
19544
+ threshold = _ref.threshold,
19545
+ fallbackParameters = _ref.fallbackParameters,
19546
+ queryParameters = _ref.queryParameters,
19547
+ _ref$escapeHTML = _ref.escapeHTML,
19548
+ escapeHTML = _ref$escapeHTML === void 0 ? true : _ref$escapeHTML,
19549
+ _ref$transformItems = _ref.transformItems,
19550
+ transformItems = _ref$transformItems === void 0 ? function (items) {
19551
+ return items;
19552
+ } : _ref$transformItems;
19553
+ return {
19554
+ dependsOn: 'recommend',
19555
+ $$type: 'ais.trendingItems',
19556
+ init: function init(initOptions) {
19557
+ renderFn(_objectSpread$G(_objectSpread$G({}, this.getWidgetRenderState(initOptions)), {}, {
19558
+ instantSearchInstance: initOptions.instantSearchInstance
19559
+ }), true);
19560
+ },
19561
+ render: function render(renderOptions) {
19562
+ var renderState = this.getWidgetRenderState(renderOptions);
19563
+ renderFn(_objectSpread$G(_objectSpread$G({}, renderState), {}, {
19564
+ instantSearchInstance: renderOptions.instantSearchInstance
19565
+ }), false);
19566
+ },
19567
+ getRenderState: function getRenderState(renderState) {
19568
+ return renderState;
19569
+ },
19570
+ getWidgetRenderState: function getWidgetRenderState(_ref2) {
19571
+ var results = _ref2.results;
19572
+ if (results === null || results === undefined) {
19573
+ return {
19574
+ items: [],
19575
+ widgetParams: widgetParams
19576
+ };
19577
+ }
19578
+ if (escapeHTML && results.hits.length > 0) {
19579
+ results.hits = escapeHits(results.hits);
19580
+ }
19581
+ return {
19582
+ items: transformItems(results.hits, {
19583
+ results: results
19584
+ }),
19585
+ widgetParams: widgetParams
19586
+ };
19587
+ },
19588
+ dispose: function dispose(_ref3) {
19589
+ var recommendState = _ref3.recommendState;
19590
+ unmountFn();
19591
+ return recommendState.removeParams(this.$$id);
19592
+ },
19593
+ getWidgetParameters: function getWidgetParameters(state) {
19594
+ return state.removeParams(this.$$id).addTrendingItems({
19595
+ facetName: facetName,
19596
+ facetValue: facetValue,
19597
+ maxRecommendations: limit,
19598
+ threshold: threshold,
19599
+ fallbackParameters: _objectSpread$G(_objectSpread$G({}, fallbackParameters), escapeHTML ? TAG_PLACEHOLDER : {}),
19600
+ queryParameters: _objectSpread$G(_objectSpread$G({}, queryParameters), escapeHTML ? TAG_PLACEHOLDER : {}),
19601
+ $$id: this.$$id
19602
+ });
19603
+ }
19604
+ };
19605
+ };
19606
+ };
19607
+
19608
+ function useTrendingItems(props, additionalWidgetProperties) {
19609
+ return useConnector(connectTrendingItems, props, additionalWidgetProperties);
19610
+ }
19611
+
19612
+ function _typeof$O(obj) {
19613
+ "@babel/helpers - typeof";
19614
+
19615
+ return _typeof$O = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
19616
+ return typeof obj;
19617
+ } : function (obj) {
19618
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
19619
+ }, _typeof$O(obj);
19620
+ }
19621
+ function ownKeys$H(object, enumerableOnly) {
19622
+ var keys = Object.keys(object);
19623
+ if (Object.getOwnPropertySymbols) {
19624
+ var symbols = Object.getOwnPropertySymbols(object);
19625
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
19626
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
19627
+ })), keys.push.apply(keys, symbols);
19628
+ }
19629
+ return keys;
19630
+ }
19631
+ function _objectSpread$H(target) {
19632
+ for (var i = 1; i < arguments.length; i++) {
19633
+ var source = null != arguments[i] ? arguments[i] : {};
19634
+ i % 2 ? ownKeys$H(Object(source), !0).forEach(function (key) {
19635
+ _defineProperty$J(target, key, source[key]);
19636
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$H(Object(source)).forEach(function (key) {
19637
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
19638
+ });
19639
+ }
19640
+ return target;
19641
+ }
19642
+ function _defineProperty$J(obj, key, value) {
19643
+ key = _toPropertyKey$J(key);
19644
+ if (key in obj) {
19645
+ Object.defineProperty(obj, key, {
19646
+ value: value,
19647
+ enumerable: true,
19648
+ configurable: true,
19649
+ writable: true
19650
+ });
19651
+ } else {
19652
+ obj[key] = value;
19653
+ }
19654
+ return obj;
19655
+ }
19656
+ function _toPropertyKey$J(arg) {
19657
+ var key = _toPrimitive$J(arg, "string");
19658
+ return _typeof$O(key) === "symbol" ? key : String(key);
19659
+ }
19660
+ function _toPrimitive$J(input, hint) {
19661
+ if (_typeof$O(input) !== "object" || input === null) return input;
19662
+ var prim = input[Symbol.toPrimitive];
19663
+ if (prim !== undefined) {
19664
+ var res = prim.call(input, hint || "default");
19665
+ if (_typeof$O(res) !== "object") return res;
19666
+ throw new TypeError("@@toPrimitive must return a primitive value.");
19667
+ }
19668
+ return (hint === "string" ? String : Number)(input);
19669
+ }
19670
+ var withUsage$p = createDocumentationMessageGenerator({
19671
+ name: 'looking-similar',
19672
+ connector: true
19673
+ });
19674
+ var connectLookingSimilar = function connectLookingSimilar(renderFn) {
19675
+ var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
19676
+ checkRendering(renderFn, withUsage$p());
19677
+ return function LookingSimilar(widgetParams) {
19678
+ var _ref = widgetParams || {},
19679
+ _ref$escapeHTML = _ref.escapeHTML,
19680
+ escapeHTML = _ref$escapeHTML === void 0 ? true : _ref$escapeHTML,
19681
+ objectIDs = _ref.objectIDs,
19682
+ limit = _ref.limit,
19683
+ threshold = _ref.threshold,
19684
+ fallbackParameters = _ref.fallbackParameters,
19685
+ queryParameters = _ref.queryParameters,
19686
+ _ref$transformItems = _ref.transformItems,
19687
+ transformItems = _ref$transformItems === void 0 ? function (items) {
19688
+ return items;
19689
+ } : _ref$transformItems;
19690
+ if (!objectIDs || objectIDs.length === 0) {
19691
+ throw new Error(withUsage$p('The `objectIDs` option is required.'));
19692
+ }
19693
+ return {
19694
+ dependsOn: 'recommend',
19695
+ $$type: 'ais.lookingSimilar',
19696
+ init: function init(initOptions) {
19697
+ renderFn(_objectSpread$H(_objectSpread$H({}, this.getWidgetRenderState(initOptions)), {}, {
19698
+ instantSearchInstance: initOptions.instantSearchInstance
19699
+ }), true);
19700
+ },
19701
+ render: function render(renderOptions) {
19702
+ var renderState = this.getWidgetRenderState(renderOptions);
19703
+ renderFn(_objectSpread$H(_objectSpread$H({}, renderState), {}, {
19704
+ instantSearchInstance: renderOptions.instantSearchInstance
19705
+ }), false);
19706
+ },
19707
+ getRenderState: function getRenderState(renderState) {
19708
+ return renderState;
19709
+ },
19710
+ getWidgetRenderState: function getWidgetRenderState(_ref2) {
19711
+ var results = _ref2.results;
19712
+ if (results === null || results === undefined) {
19713
+ return {
19714
+ items: [],
19715
+ widgetParams: widgetParams
19716
+ };
19717
+ }
19718
+ if (escapeHTML && results.hits.length > 0) {
19719
+ results.hits = escapeHits(results.hits);
19720
+ }
19721
+ return {
19722
+ items: transformItems(results.hits, {
19723
+ results: results
19724
+ }),
19725
+ widgetParams: widgetParams
19726
+ };
19727
+ },
19728
+ dispose: function dispose(_ref3) {
19729
+ var recommendState = _ref3.recommendState;
19730
+ unmountFn();
19731
+ return recommendState.removeParams(this.$$id);
19732
+ },
19733
+ getWidgetParameters: function getWidgetParameters(state) {
19734
+ var _this = this;
19735
+ return objectIDs.reduce(function (acc, objectID) {
19736
+ return acc.addLookingSimilar({
19737
+ objectID: objectID,
19738
+ maxRecommendations: limit,
19739
+ threshold: threshold,
19740
+ fallbackParameters: _objectSpread$H(_objectSpread$H({}, fallbackParameters), escapeHTML ? TAG_PLACEHOLDER : {}),
19741
+ queryParameters: _objectSpread$H(_objectSpread$H({}, queryParameters), escapeHTML ? TAG_PLACEHOLDER : {}),
19742
+ $$id: _this.$$id
19743
+ });
19744
+ }, state.removeParams(this.$$id));
19745
+ }
19746
+ };
19747
+ };
19748
+ };
19749
+
19750
+ function useLookingSimilar(props, additionalWidgetProperties) {
19751
+ return useConnector(connectLookingSimilar, props, additionalWidgetProperties);
19752
+ }
19753
+
18980
19754
  function _slicedToArray$e(arr, i) {
18981
19755
  return _arrayWithHoles$e(arr) || _iterableToArrayLimit$e(arr, i) || _unsupportedIterableToArray$l(arr, i) || _nonIterableRest$e();
18982
19756
  }
@@ -19237,16 +20011,16 @@
19237
20011
  return promise;
19238
20012
  }
19239
20013
 
19240
- function _typeof$L(obj) {
20014
+ function _typeof$P(obj) {
19241
20015
  "@babel/helpers - typeof";
19242
20016
 
19243
- return _typeof$L = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
20017
+ return _typeof$P = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
19244
20018
  return typeof obj;
19245
20019
  } : function (obj) {
19246
20020
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
19247
- }, _typeof$L(obj);
20021
+ }, _typeof$P(obj);
19248
20022
  }
19249
- function ownKeys$E(object, enumerableOnly) {
20023
+ function ownKeys$I(object, enumerableOnly) {
19250
20024
  var keys = Object.keys(object);
19251
20025
  if (Object.getOwnPropertySymbols) {
19252
20026
  var symbols = Object.getOwnPropertySymbols(object);
@@ -19256,19 +20030,19 @@
19256
20030
  }
19257
20031
  return keys;
19258
20032
  }
19259
- function _objectSpread$E(target) {
20033
+ function _objectSpread$I(target) {
19260
20034
  for (var i = 1; i < arguments.length; i++) {
19261
20035
  var source = null != arguments[i] ? arguments[i] : {};
19262
- i % 2 ? ownKeys$E(Object(source), !0).forEach(function (key) {
19263
- _defineProperty$G(target, key, source[key]);
19264
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$E(Object(source)).forEach(function (key) {
20036
+ i % 2 ? ownKeys$I(Object(source), !0).forEach(function (key) {
20037
+ _defineProperty$K(target, key, source[key]);
20038
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$I(Object(source)).forEach(function (key) {
19265
20039
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
19266
20040
  });
19267
20041
  }
19268
20042
  return target;
19269
20043
  }
19270
- function _defineProperty$G(obj, key, value) {
19271
- key = _toPropertyKey$G(key);
20044
+ function _defineProperty$K(obj, key, value) {
20045
+ key = _toPropertyKey$K(key);
19272
20046
  if (key in obj) {
19273
20047
  Object.defineProperty(obj, key, {
19274
20048
  value: value,
@@ -19281,16 +20055,16 @@
19281
20055
  }
19282
20056
  return obj;
19283
20057
  }
19284
- function _toPropertyKey$G(arg) {
19285
- var key = _toPrimitive$G(arg, "string");
19286
- return _typeof$L(key) === "symbol" ? key : String(key);
20058
+ function _toPropertyKey$K(arg) {
20059
+ var key = _toPrimitive$K(arg, "string");
20060
+ return _typeof$P(key) === "symbol" ? key : String(key);
19287
20061
  }
19288
- function _toPrimitive$G(input, hint) {
19289
- if (_typeof$L(input) !== "object" || input === null) return input;
20062
+ function _toPrimitive$K(input, hint) {
20063
+ if (_typeof$P(input) !== "object" || input === null) return input;
19290
20064
  var prim = input[Symbol.toPrimitive];
19291
20065
  if (prim !== undefined) {
19292
20066
  var res = prim.call(input, hint || "default");
19293
- if (_typeof$L(res) !== "object") return res;
20067
+ if (_typeof$P(res) !== "object") return res;
19294
20068
  throw new TypeError("@@toPrimitive must return a primitive value.");
19295
20069
  }
19296
20070
  return (hint === "string" ? String : Number)(input);
@@ -19354,10 +20128,10 @@
19354
20128
  var searchResults = widget.getResults();
19355
20129
  if (searchResults) {
19356
20130
  var requestParams = requestParamsList === null || requestParamsList === void 0 ? void 0 : requestParamsList[requestParamsIndex++];
19357
- initialResults[widget.getIndexId()] = _objectSpread$E({
20131
+ initialResults[widget.getIndexId()] = _objectSpread$I({
19358
20132
  // We convert the Helper state to a plain object to pass parsable data
19359
20133
  // structures from server to client.
19360
- state: _objectSpread$E({}, searchResults._state),
20134
+ state: _objectSpread$I({}, searchResults._state),
19361
20135
  results: searchResults._rawResults
19362
20136
  }, requestParams && {
19363
20137
  requestParams: requestParams
@@ -19480,7 +20254,7 @@
19480
20254
  return _arr;
19481
20255
  }
19482
20256
  }
19483
- function ownKeys$F(object, enumerableOnly) {
20257
+ function ownKeys$J(object, enumerableOnly) {
19484
20258
  var keys = Object.keys(object);
19485
20259
  if (Object.getOwnPropertySymbols) {
19486
20260
  var symbols = Object.getOwnPropertySymbols(object);
@@ -19493,16 +20267,16 @@
19493
20267
  function _objectSpread2(target) {
19494
20268
  for (var i = 1; i < arguments.length; i++) {
19495
20269
  var source = null != arguments[i] ? arguments[i] : {};
19496
- i % 2 ? ownKeys$F(Object(source), !0).forEach(function (key) {
19497
- _defineProperty$H(target, key, source[key]);
19498
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$F(Object(source)).forEach(function (key) {
20270
+ i % 2 ? ownKeys$J(Object(source), !0).forEach(function (key) {
20271
+ _defineProperty$L(target, key, source[key]);
20272
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$J(Object(source)).forEach(function (key) {
19499
20273
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
19500
20274
  });
19501
20275
  }
19502
20276
  return target;
19503
20277
  }
19504
- function _defineProperty$H(obj, key, value) {
19505
- key = _toPropertyKey$H(key);
20278
+ function _defineProperty$L(obj, key, value) {
20279
+ key = _toPropertyKey$L(key);
19506
20280
  if (key in obj) {
19507
20281
  Object.defineProperty(obj, key, {
19508
20282
  value: value,
@@ -19578,7 +20352,7 @@
19578
20352
  function _nonIterableRest$g() {
19579
20353
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
19580
20354
  }
19581
- function _toPrimitive$H(input, hint) {
20355
+ function _toPrimitive$L(input, hint) {
19582
20356
  if (typeof input !== "object" || input === null) return input;
19583
20357
  var prim = input[Symbol.toPrimitive];
19584
20358
  if (prim !== undefined) {
@@ -19588,8 +20362,8 @@
19588
20362
  }
19589
20363
  return (hint === "string" ? String : Number)(input);
19590
20364
  }
19591
- function _toPropertyKey$H(arg) {
19592
- var key = _toPrimitive$H(arg, "string");
20365
+ function _toPropertyKey$L(arg) {
20366
+ var key = _toPrimitive$L(arg, "string");
19593
20367
  return typeof key === "symbol" ? key : String(key);
19594
20368
  }
19595
20369
 
@@ -19608,10 +20382,74 @@
19608
20382
  }, module.exports.__esModule = true, module.exports["default"] = module.exports;
19609
20383
  return _extends.apply(this, arguments);
19610
20384
  }
19611
- module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
20385
+ module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
20386
+ });
20387
+
20388
+ var _extends$2 = unwrapExports(_extends_1);
20389
+
20390
+ var _typeof_1 = createCommonjsModule(function (module) {
20391
+ function _typeof(obj) {
20392
+ "@babel/helpers - typeof";
20393
+
20394
+ return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
20395
+ return typeof obj;
20396
+ } : function (obj) {
20397
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
20398
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj);
20399
+ }
20400
+ module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
20401
+ });
20402
+
20403
+ unwrapExports(_typeof_1);
20404
+
20405
+ var toPrimitive = createCommonjsModule(function (module) {
20406
+ var _typeof = _typeof_1["default"];
20407
+ function _toPrimitive(input, hint) {
20408
+ if (_typeof(input) !== "object" || input === null) return input;
20409
+ var prim = input[Symbol.toPrimitive];
20410
+ if (prim !== undefined) {
20411
+ var res = prim.call(input, hint || "default");
20412
+ if (_typeof(res) !== "object") return res;
20413
+ throw new TypeError("@@toPrimitive must return a primitive value.");
20414
+ }
20415
+ return (hint === "string" ? String : Number)(input);
20416
+ }
20417
+ module.exports = _toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
20418
+ });
20419
+
20420
+ unwrapExports(toPrimitive);
20421
+
20422
+ var toPropertyKey = createCommonjsModule(function (module) {
20423
+ var _typeof = _typeof_1["default"];
20424
+
20425
+ function _toPropertyKey(arg) {
20426
+ var key = toPrimitive(arg, "string");
20427
+ return _typeof(key) === "symbol" ? key : String(key);
20428
+ }
20429
+ module.exports = _toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
20430
+ });
20431
+
20432
+ unwrapExports(toPropertyKey);
20433
+
20434
+ var defineProperty = createCommonjsModule(function (module) {
20435
+ function _defineProperty(obj, key, value) {
20436
+ key = toPropertyKey(key);
20437
+ if (key in obj) {
20438
+ Object.defineProperty(obj, key, {
20439
+ value: value,
20440
+ enumerable: true,
20441
+ configurable: true,
20442
+ writable: true
20443
+ });
20444
+ } else {
20445
+ obj[key] = value;
20446
+ }
20447
+ return obj;
20448
+ }
20449
+ module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
19612
20450
  });
19613
20451
 
19614
- var _extends$2 = unwrapExports(_extends_1);
20452
+ var _defineProperty$M = unwrapExports(defineProperty);
19615
20453
 
19616
20454
  var objectWithoutPropertiesLoose = createCommonjsModule(function (module) {
19617
20455
  function _objectWithoutPropertiesLoose(source, excluded) {
@@ -19664,7 +20502,154 @@
19664
20502
  }, []).filter(Boolean).join(' ');
19665
20503
  }
19666
20504
 
19667
- var _excluded$c = ["parts", "highlightedTagName", "nonHighlightedTagName", "separator", "className", "classNames"];
20505
+ function createDefaultEmptyComponent(_ref) {
20506
+ var createElement = _ref.createElement,
20507
+ Fragment = _ref.Fragment;
20508
+ var _ref2 = createElement(Fragment, null, "No results");
20509
+ return function DefaultEmpty() {
20510
+ return _ref2;
20511
+ };
20512
+ }
20513
+
20514
+ function createDefaultHeaderComponent(_ref) {
20515
+ var createElement = _ref.createElement;
20516
+ return function DefaultHeader(userProps) {
20517
+ var _userProps$classNames = userProps.classNames,
20518
+ classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
20519
+ items = userProps.items,
20520
+ translations = userProps.translations;
20521
+ if (!items || items.length < 1) {
20522
+ return null;
20523
+ }
20524
+ if (!translations.title) {
20525
+ return null;
20526
+ }
20527
+ return createElement("h3", {
20528
+ className: classNames.title
20529
+ }, translations.title);
20530
+ };
20531
+ }
20532
+
20533
+ function createDefaultItemComponent(_ref) {
20534
+ var createElement = _ref.createElement,
20535
+ Fragment = _ref.Fragment;
20536
+ return function DefaultItem(userProps) {
20537
+ return createElement(Fragment, null, JSON.stringify(userProps.item, null, 2));
20538
+ };
20539
+ }
20540
+
20541
+ function createListViewComponent(_ref) {
20542
+ var createElement = _ref.createElement;
20543
+ return function ListView(userProps) {
20544
+ var _userProps$classNames = userProps.classNames,
20545
+ classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
20546
+ ItemComponent = userProps.itemComponent,
20547
+ items = userProps.items,
20548
+ sendEvent = userProps.sendEvent;
20549
+ return createElement("div", {
20550
+ className: classNames.container
20551
+ }, createElement("ol", {
20552
+ className: classNames.list
20553
+ }, items.map(function (item) {
20554
+ return createElement("li", {
20555
+ key: item.objectID,
20556
+ className: classNames.item,
20557
+ onClick: sendEvent,
20558
+ onAuxClick: sendEvent
20559
+ }, createElement(ItemComponent, {
20560
+ item: item
20561
+ }));
20562
+ })));
20563
+ };
20564
+ }
20565
+
20566
+ var _excluded$c = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "view", "items", "status", "translations", "sendEvent"];
20567
+ function ownKeys$K(object, enumerableOnly) {
20568
+ var keys = Object.keys(object);
20569
+ if (Object.getOwnPropertySymbols) {
20570
+ var symbols = Object.getOwnPropertySymbols(object);
20571
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
20572
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
20573
+ })), keys.push.apply(keys, symbols);
20574
+ }
20575
+ return keys;
20576
+ }
20577
+ function _objectSpread$J(target) {
20578
+ for (var i = 1; i < arguments.length; i++) {
20579
+ var source = null != arguments[i] ? arguments[i] : {};
20580
+ i % 2 ? ownKeys$K(Object(source), !0).forEach(function (key) {
20581
+ _defineProperty$M(target, key, source[key]);
20582
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$K(Object(source)).forEach(function (key) {
20583
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
20584
+ });
20585
+ }
20586
+ return target;
20587
+ }
20588
+ function createFrequentlyBoughtTogetherComponent(_ref) {
20589
+ var createElement = _ref.createElement,
20590
+ Fragment = _ref.Fragment;
20591
+ return function FrequentlyBoughtTogether(userProps) {
20592
+ var _userProps$classNames = userProps.classNames,
20593
+ classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
20594
+ _userProps$emptyCompo = userProps.emptyComponent,
20595
+ EmptyComponent = _userProps$emptyCompo === void 0 ? createDefaultEmptyComponent({
20596
+ createElement: createElement,
20597
+ Fragment: Fragment
20598
+ }) : _userProps$emptyCompo,
20599
+ _userProps$headerComp = userProps.headerComponent,
20600
+ HeaderComponent = _userProps$headerComp === void 0 ? createDefaultHeaderComponent({
20601
+ createElement: createElement,
20602
+ Fragment: Fragment
20603
+ }) : _userProps$headerComp,
20604
+ _userProps$itemCompon = userProps.itemComponent,
20605
+ ItemComponent = _userProps$itemCompon === void 0 ? createDefaultItemComponent({
20606
+ createElement: createElement,
20607
+ Fragment: Fragment
20608
+ }) : _userProps$itemCompon,
20609
+ _userProps$view = userProps.view,
20610
+ View = _userProps$view === void 0 ? createListViewComponent({
20611
+ createElement: createElement,
20612
+ Fragment: Fragment
20613
+ }) : _userProps$view,
20614
+ items = userProps.items,
20615
+ status = userProps.status,
20616
+ userTranslations = userProps.translations,
20617
+ sendEvent = userProps.sendEvent,
20618
+ props = _objectWithoutProperties$d(userProps, _excluded$c);
20619
+ var translations = _objectSpread$J({
20620
+ title: 'Frequently bought together',
20621
+ sliderLabel: 'Frequently bought together products'
20622
+ }, userTranslations);
20623
+ var cssClasses = {
20624
+ root: cx('ais-FrequentlyBoughtTogether', classNames.root),
20625
+ emptyRoot: cx('ais-FrequentlyBoughtTogether', classNames.root, 'ais-FrequentlyBoughtTogether--empty', classNames.emptyRoot, props.className),
20626
+ title: cx('ais-FrequentlyBoughtTogether-title', classNames.title),
20627
+ container: cx('ais-FrequentlyBoughtTogether-container', classNames.container),
20628
+ list: cx('ais-FrequentlyBoughtTogether-list', classNames.list),
20629
+ item: cx('ais-FrequentlyBoughtTogether-item', classNames.item)
20630
+ };
20631
+ if (items.length === 0 && status === 'idle') {
20632
+ return createElement("section", _extends$2({}, props, {
20633
+ className: cssClasses.emptyRoot
20634
+ }), createElement(EmptyComponent, null));
20635
+ }
20636
+ return createElement("section", _extends$2({}, props, {
20637
+ className: cssClasses.root
20638
+ }), createElement(HeaderComponent, {
20639
+ classNames: cssClasses,
20640
+ items: items,
20641
+ translations: translations
20642
+ }), createElement(View, {
20643
+ classNames: cssClasses,
20644
+ translations: translations,
20645
+ itemComponent: ItemComponent,
20646
+ items: items,
20647
+ sendEvent: sendEvent
20648
+ }));
20649
+ };
20650
+ }
20651
+
20652
+ var _excluded$d = ["parts", "highlightedTagName", "nonHighlightedTagName", "separator", "className", "classNames"];
19668
20653
  function createHighlightPartComponent(_ref) {
19669
20654
  var createElement = _ref.createElement;
19670
20655
  return function HighlightPart(_ref2) {
@@ -19697,7 +20682,7 @@
19697
20682
  className = userProps.className,
19698
20683
  _userProps$classNames = userProps.classNames,
19699
20684
  classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
19700
- props = _objectWithoutProperties$d(userProps, _excluded$c);
20685
+ props = _objectWithoutProperties$d(userProps, _excluded$d);
19701
20686
  return createElement("span", _extends$2({}, props, {
19702
20687
  className: cx(classNames.root, className)
19703
20688
  }), parts.map(function (part, partIndex) {
@@ -19719,14 +20704,13 @@
19719
20704
  };
19720
20705
  }
19721
20706
 
19722
- var _excluded$d = ["classNames", "hits", "itemComponent", "sendEvent", "emptyComponent", "banner", "bannerComponent"];
20707
+ var _excluded$e = ["classNames", "hits", "itemComponent", "sendEvent", "emptyComponent", "banner", "bannerComponent"];
19723
20708
 
19724
20709
  // Should be imported from a shared package in the future
19725
20710
 
19726
20711
  function createDefaultBannerComponent(_ref) {
19727
20712
  var createElement = _ref.createElement;
19728
20713
  return function DefaultBanner(_ref2) {
19729
- var _banner$link;
19730
20714
  var classNames = _ref2.classNames,
19731
20715
  banner = _ref2.banner;
19732
20716
  if (!banner.image.urls[0].url) {
@@ -19734,7 +20718,7 @@
19734
20718
  }
19735
20719
  return createElement("aside", {
19736
20720
  className: cx('ais-Hits-banner', classNames.bannerRoot)
19737
- }, (_banner$link = banner.link) !== null && _banner$link !== void 0 && _banner$link.url ? createElement("a", {
20721
+ }, banner.link ? createElement("a", {
19738
20722
  className: cx('ais-Hits-banner-link', classNames.bannerLink),
19739
20723
  href: banner.link.url,
19740
20724
  target: banner.link.target
@@ -19765,7 +20749,7 @@
19765
20749
  EmptyComponent = userProps.emptyComponent,
19766
20750
  banner = userProps.banner,
19767
20751
  BannerComponent = userProps.bannerComponent,
19768
- props = _objectWithoutProperties$d(userProps, _excluded$d);
20752
+ props = _objectWithoutProperties$d(userProps, _excluded$e);
19769
20753
  return createElement("div", _extends$2({}, props, {
19770
20754
  className: cx('ais-Hits', classNames.root, hits.length === 0 && cx('ais-Hits--empty', classNames.emptyRoot), props.className)
19771
20755
  }), banner && (BannerComponent ? createElement(BannerComponent, {
@@ -19793,12 +20777,270 @@
19793
20777
  };
19794
20778
  }
19795
20779
 
20780
+ var _excluded$f = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "view", "items", "status", "translations", "sendEvent"];
20781
+ function ownKeys$L(object, enumerableOnly) {
20782
+ var keys = Object.keys(object);
20783
+ if (Object.getOwnPropertySymbols) {
20784
+ var symbols = Object.getOwnPropertySymbols(object);
20785
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
20786
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
20787
+ })), keys.push.apply(keys, symbols);
20788
+ }
20789
+ return keys;
20790
+ }
20791
+ function _objectSpread$K(target) {
20792
+ for (var i = 1; i < arguments.length; i++) {
20793
+ var source = null != arguments[i] ? arguments[i] : {};
20794
+ i % 2 ? ownKeys$L(Object(source), !0).forEach(function (key) {
20795
+ _defineProperty$M(target, key, source[key]);
20796
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$L(Object(source)).forEach(function (key) {
20797
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
20798
+ });
20799
+ }
20800
+ return target;
20801
+ }
20802
+ function createRelatedProductsComponent(_ref) {
20803
+ var createElement = _ref.createElement,
20804
+ Fragment = _ref.Fragment;
20805
+ return function RelatedProducts(userProps) {
20806
+ var _userProps$classNames = userProps.classNames,
20807
+ classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
20808
+ _userProps$emptyCompo = userProps.emptyComponent,
20809
+ EmptyComponent = _userProps$emptyCompo === void 0 ? createDefaultEmptyComponent({
20810
+ createElement: createElement,
20811
+ Fragment: Fragment
20812
+ }) : _userProps$emptyCompo,
20813
+ _userProps$headerComp = userProps.headerComponent,
20814
+ HeaderComponent = _userProps$headerComp === void 0 ? createDefaultHeaderComponent({
20815
+ createElement: createElement,
20816
+ Fragment: Fragment
20817
+ }) : _userProps$headerComp,
20818
+ _userProps$itemCompon = userProps.itemComponent,
20819
+ ItemComponent = _userProps$itemCompon === void 0 ? createDefaultItemComponent({
20820
+ createElement: createElement,
20821
+ Fragment: Fragment
20822
+ }) : _userProps$itemCompon,
20823
+ _userProps$view = userProps.view,
20824
+ View = _userProps$view === void 0 ? createListViewComponent({
20825
+ createElement: createElement,
20826
+ Fragment: Fragment
20827
+ }) : _userProps$view,
20828
+ items = userProps.items,
20829
+ status = userProps.status,
20830
+ userTranslations = userProps.translations,
20831
+ sendEvent = userProps.sendEvent,
20832
+ props = _objectWithoutProperties$d(userProps, _excluded$f);
20833
+ var translations = _objectSpread$K({
20834
+ title: 'Related products',
20835
+ sliderLabel: 'Related products'
20836
+ }, userTranslations);
20837
+ var cssClasses = {
20838
+ root: cx('ais-RelatedProducts', classNames.root),
20839
+ emptyRoot: cx('ais-RelatedProducts', classNames.root, 'ais-RelatedProducts--empty', classNames.emptyRoot, props.className),
20840
+ title: cx('ais-RelatedProducts-title', classNames.title),
20841
+ container: cx('ais-RelatedProducts-container', classNames.container),
20842
+ list: cx('ais-RelatedProducts-list', classNames.list),
20843
+ item: cx('ais-RelatedProducts-item', classNames.item)
20844
+ };
20845
+ if (items.length === 0 && status === 'idle') {
20846
+ return createElement("section", _extends$2({}, props, {
20847
+ className: cssClasses.emptyRoot
20848
+ }), createElement(EmptyComponent, null));
20849
+ }
20850
+ return createElement("section", _extends$2({}, props, {
20851
+ className: cssClasses.root
20852
+ }), createElement(HeaderComponent, {
20853
+ classNames: cssClasses,
20854
+ items: items,
20855
+ translations: translations
20856
+ }), createElement(View, {
20857
+ classNames: cssClasses,
20858
+ translations: translations,
20859
+ itemComponent: ItemComponent,
20860
+ items: items,
20861
+ sendEvent: sendEvent
20862
+ }));
20863
+ };
20864
+ }
20865
+
20866
+ var _excluded$g = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "view", "items", "status", "translations", "sendEvent"];
20867
+ function ownKeys$M(object, enumerableOnly) {
20868
+ var keys = Object.keys(object);
20869
+ if (Object.getOwnPropertySymbols) {
20870
+ var symbols = Object.getOwnPropertySymbols(object);
20871
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
20872
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
20873
+ })), keys.push.apply(keys, symbols);
20874
+ }
20875
+ return keys;
20876
+ }
20877
+ function _objectSpread$L(target) {
20878
+ for (var i = 1; i < arguments.length; i++) {
20879
+ var source = null != arguments[i] ? arguments[i] : {};
20880
+ i % 2 ? ownKeys$M(Object(source), !0).forEach(function (key) {
20881
+ _defineProperty$M(target, key, source[key]);
20882
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$M(Object(source)).forEach(function (key) {
20883
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
20884
+ });
20885
+ }
20886
+ return target;
20887
+ }
20888
+ function createTrendingItemsComponent(_ref) {
20889
+ var createElement = _ref.createElement,
20890
+ Fragment = _ref.Fragment;
20891
+ return function TrendingItems(userProps) {
20892
+ var _userProps$classNames = userProps.classNames,
20893
+ classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
20894
+ _userProps$emptyCompo = userProps.emptyComponent,
20895
+ EmptyComponent = _userProps$emptyCompo === void 0 ? createDefaultEmptyComponent({
20896
+ createElement: createElement,
20897
+ Fragment: Fragment
20898
+ }) : _userProps$emptyCompo,
20899
+ _userProps$headerComp = userProps.headerComponent,
20900
+ HeaderComponent = _userProps$headerComp === void 0 ? createDefaultHeaderComponent({
20901
+ createElement: createElement,
20902
+ Fragment: Fragment
20903
+ }) : _userProps$headerComp,
20904
+ _userProps$itemCompon = userProps.itemComponent,
20905
+ ItemComponent = _userProps$itemCompon === void 0 ? createDefaultItemComponent({
20906
+ createElement: createElement,
20907
+ Fragment: Fragment
20908
+ }) : _userProps$itemCompon,
20909
+ _userProps$view = userProps.view,
20910
+ View = _userProps$view === void 0 ? createListViewComponent({
20911
+ createElement: createElement,
20912
+ Fragment: Fragment
20913
+ }) : _userProps$view,
20914
+ items = userProps.items,
20915
+ status = userProps.status,
20916
+ userTranslations = userProps.translations,
20917
+ sendEvent = userProps.sendEvent,
20918
+ props = _objectWithoutProperties$d(userProps, _excluded$g);
20919
+ var translations = _objectSpread$L({
20920
+ title: 'Trending items',
20921
+ sliderLabel: 'Trending items'
20922
+ }, userTranslations);
20923
+ var cssClasses = {
20924
+ root: cx('ais-TrendingItems', classNames.root),
20925
+ emptyRoot: cx('ais-TrendingItems', classNames.root, 'ais-TrendingItems--empty', classNames.emptyRoot, props.className),
20926
+ title: cx('ais-TrendingItems-title', classNames.title),
20927
+ container: cx('ais-TrendingItems-container', classNames.container),
20928
+ list: cx('ais-TrendingItems-list', classNames.list),
20929
+ item: cx('ais-TrendingItems-item', classNames.item)
20930
+ };
20931
+ if (items.length === 0 && status === 'idle') {
20932
+ return createElement("section", _extends$2({}, props, {
20933
+ className: cssClasses.emptyRoot
20934
+ }), createElement(EmptyComponent, null));
20935
+ }
20936
+ return createElement("section", _extends$2({}, props, {
20937
+ className: cssClasses.root
20938
+ }), createElement(HeaderComponent, {
20939
+ classNames: cssClasses,
20940
+ items: items,
20941
+ translations: translations
20942
+ }), createElement(View, {
20943
+ classNames: cssClasses,
20944
+ translations: translations,
20945
+ itemComponent: ItemComponent,
20946
+ items: items,
20947
+ sendEvent: sendEvent
20948
+ }));
20949
+ };
20950
+ }
20951
+
20952
+ var _excluded$h = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "view", "items", "status", "translations", "sendEvent"];
20953
+ function ownKeys$N(object, enumerableOnly) {
20954
+ var keys = Object.keys(object);
20955
+ if (Object.getOwnPropertySymbols) {
20956
+ var symbols = Object.getOwnPropertySymbols(object);
20957
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
20958
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
20959
+ })), keys.push.apply(keys, symbols);
20960
+ }
20961
+ return keys;
20962
+ }
20963
+ function _objectSpread$M(target) {
20964
+ for (var i = 1; i < arguments.length; i++) {
20965
+ var source = null != arguments[i] ? arguments[i] : {};
20966
+ i % 2 ? ownKeys$N(Object(source), !0).forEach(function (key) {
20967
+ _defineProperty$M(target, key, source[key]);
20968
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$N(Object(source)).forEach(function (key) {
20969
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
20970
+ });
20971
+ }
20972
+ return target;
20973
+ }
20974
+ function createLookingSimilarComponent(_ref) {
20975
+ var createElement = _ref.createElement,
20976
+ Fragment = _ref.Fragment;
20977
+ return function LookingSimilar(userProps) {
20978
+ var _userProps$classNames = userProps.classNames,
20979
+ classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
20980
+ _userProps$emptyCompo = userProps.emptyComponent,
20981
+ EmptyComponent = _userProps$emptyCompo === void 0 ? createDefaultEmptyComponent({
20982
+ createElement: createElement,
20983
+ Fragment: Fragment
20984
+ }) : _userProps$emptyCompo,
20985
+ _userProps$headerComp = userProps.headerComponent,
20986
+ HeaderComponent = _userProps$headerComp === void 0 ? createDefaultHeaderComponent({
20987
+ createElement: createElement,
20988
+ Fragment: Fragment
20989
+ }) : _userProps$headerComp,
20990
+ _userProps$itemCompon = userProps.itemComponent,
20991
+ ItemComponent = _userProps$itemCompon === void 0 ? createDefaultItemComponent({
20992
+ createElement: createElement,
20993
+ Fragment: Fragment
20994
+ }) : _userProps$itemCompon,
20995
+ _userProps$view = userProps.view,
20996
+ View = _userProps$view === void 0 ? createListViewComponent({
20997
+ createElement: createElement,
20998
+ Fragment: Fragment
20999
+ }) : _userProps$view,
21000
+ items = userProps.items,
21001
+ status = userProps.status,
21002
+ userTranslations = userProps.translations,
21003
+ sendEvent = userProps.sendEvent,
21004
+ props = _objectWithoutProperties$d(userProps, _excluded$h);
21005
+ var translations = _objectSpread$M({
21006
+ title: 'Looking similar',
21007
+ sliderLabel: 'Looking similar'
21008
+ }, userTranslations);
21009
+ var cssClasses = {
21010
+ root: cx('ais-LookingSimilar', classNames.root),
21011
+ emptyRoot: cx('ais-LookingSimilar', classNames.root, 'ais-LookingSimilar--empty', classNames.emptyRoot, props.className),
21012
+ title: cx('ais-LookingSimilar-title', classNames.title),
21013
+ container: cx('ais-LookingSimilar-container', classNames.container),
21014
+ list: cx('ais-LookingSimilar-list', classNames.list),
21015
+ item: cx('ais-LookingSimilar-item', classNames.item)
21016
+ };
21017
+ if (items.length === 0 && status === 'idle') {
21018
+ return createElement("section", _extends$2({}, props, {
21019
+ className: cssClasses.emptyRoot
21020
+ }), createElement(EmptyComponent, null));
21021
+ }
21022
+ return createElement("section", _extends$2({}, props, {
21023
+ className: cssClasses.root
21024
+ }), createElement(HeaderComponent, {
21025
+ classNames: cssClasses,
21026
+ items: items,
21027
+ translations: translations
21028
+ }), createElement(View, {
21029
+ classNames: cssClasses,
21030
+ translations: translations,
21031
+ itemComponent: ItemComponent,
21032
+ items: items,
21033
+ sendEvent: sendEvent
21034
+ }));
21035
+ };
21036
+ }
21037
+
19796
21038
  function isModifierClick(event) {
19797
21039
  var isMiddleClick = event.button === 1;
19798
21040
  return Boolean(isMiddleClick || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey);
19799
21041
  }
19800
21042
 
19801
- var _excluded$e = ["classNames", "items", "hasItems", "createURL", "onNavigate", "separator", "translations"];
21043
+ var _excluded$i = ["classNames", "items", "hasItems", "createURL", "onNavigate", "separator", "translations"];
19802
21044
  function Breadcrumb(_ref) {
19803
21045
  var _ref$classNames = _ref.classNames,
19804
21046
  classNames = _ref$classNames === void 0 ? {} : _ref$classNames,
@@ -19810,7 +21052,7 @@
19810
21052
  _ref$separator = _ref.separator,
19811
21053
  separator = _ref$separator === void 0 ? '>' : _ref$separator,
19812
21054
  translations = _ref.translations,
19813
- props = _objectWithoutProperties$c(_ref, _excluded$e);
21055
+ props = _objectWithoutProperties$c(_ref, _excluded$i);
19814
21056
  var handleClick = function handleClick(value) {
19815
21057
  return function (event) {
19816
21058
  if (!isModifierClick(event)) {
@@ -19845,14 +21087,14 @@
19845
21087
  })));
19846
21088
  }
19847
21089
 
19848
- var _excluded$f = ["attributes", "rootPath", "separator", "transformItems", "translations"];
21090
+ var _excluded$j = ["attributes", "rootPath", "separator", "transformItems", "translations"];
19849
21091
  function Breadcrumb$1(_ref) {
19850
21092
  var attributes = _ref.attributes,
19851
21093
  rootPath = _ref.rootPath,
19852
21094
  separator = _ref.separator,
19853
21095
  transformItems = _ref.transformItems,
19854
21096
  translations = _ref.translations,
19855
- props = _objectWithoutProperties$c(_ref, _excluded$f);
21097
+ props = _objectWithoutProperties$c(_ref, _excluded$j);
19856
21098
  var _useBreadcrumb = useBreadcrumb({
19857
21099
  attributes: attributes,
19858
21100
  rootPath: rootPath,
@@ -19876,7 +21118,7 @@
19876
21118
  return /*#__PURE__*/React__default.createElement(Breadcrumb, _extends$1({}, props, uiProps));
19877
21119
  }
19878
21120
 
19879
- var _excluded$g = ["classNames", "disabled", "onClick", "translations"];
21121
+ var _excluded$k = ["classNames", "disabled", "onClick", "translations"];
19880
21122
  function ClearRefinements(_ref) {
19881
21123
  var _ref$classNames = _ref.classNames,
19882
21124
  classNames = _ref$classNames === void 0 ? {} : _ref$classNames,
@@ -19885,7 +21127,7 @@
19885
21127
  _ref$onClick = _ref.onClick,
19886
21128
  onClick = _ref$onClick === void 0 ? function () {} : _ref$onClick,
19887
21129
  translations = _ref.translations,
19888
- props = _objectWithoutProperties$c(_ref, _excluded$g);
21130
+ props = _objectWithoutProperties$c(_ref, _excluded$k);
19889
21131
  return /*#__PURE__*/React__default.createElement("div", _extends$1({}, props, {
19890
21132
  className: cx('ais-ClearRefinements', classNames.root, props.className)
19891
21133
  }), /*#__PURE__*/React__default.createElement("button", {
@@ -19895,13 +21137,13 @@
19895
21137
  }, translations.resetButtonText));
19896
21138
  }
19897
21139
 
19898
- var _excluded$h = ["includedAttributes", "excludedAttributes", "transformItems", "translations"];
21140
+ var _excluded$l = ["includedAttributes", "excludedAttributes", "transformItems", "translations"];
19899
21141
  function ClearRefinements$1(_ref) {
19900
21142
  var includedAttributes = _ref.includedAttributes,
19901
21143
  excludedAttributes = _ref.excludedAttributes,
19902
21144
  transformItems = _ref.transformItems,
19903
21145
  translations = _ref.translations,
19904
- props = _objectWithoutProperties$c(_ref, _excluded$h);
21146
+ props = _objectWithoutProperties$c(_ref, _excluded$l);
19905
21147
  var _useClearRefinements = useClearRefinements({
19906
21148
  includedAttributes: includedAttributes,
19907
21149
  excludedAttributes: excludedAttributes,
@@ -19925,7 +21167,7 @@
19925
21167
  return text.toString().charAt(0).toUpperCase() + text.toString().slice(1);
19926
21168
  }
19927
21169
 
19928
- var _excluded$i = ["classNames", "items", "hasRefinements"];
21170
+ var _excluded$m = ["classNames", "items", "hasRefinements"];
19929
21171
  function CurrentRefinements(_ref) {
19930
21172
  var _ref$classNames = _ref.classNames,
19931
21173
  classNames = _ref$classNames === void 0 ? {} : _ref$classNames,
@@ -19933,7 +21175,7 @@
19933
21175
  items = _ref$items === void 0 ? [] : _ref$items,
19934
21176
  _ref$hasRefinements = _ref.hasRefinements,
19935
21177
  hasRefinements = _ref$hasRefinements === void 0 ? false : _ref$hasRefinements,
19936
- props = _objectWithoutProperties$c(_ref, _excluded$i);
21178
+ props = _objectWithoutProperties$c(_ref, _excluded$m);
19937
21179
  return /*#__PURE__*/React__default.createElement("div", _extends$1({}, props, {
19938
21180
  className: cx('ais-CurrentRefinements', classNames.root, !hasRefinements && cx('ais-CurrentRefinements--noRefinement', classNames.noRefinementRoot), props.className)
19939
21181
  }), /*#__PURE__*/React__default.createElement("ul", {
@@ -19965,12 +21207,12 @@
19965
21207
  })));
19966
21208
  }
19967
21209
 
19968
- var _excluded$j = ["includedAttributes", "excludedAttributes", "transformItems"];
21210
+ var _excluded$n = ["includedAttributes", "excludedAttributes", "transformItems"];
19969
21211
  function CurrentRefinements$1(_ref) {
19970
21212
  var includedAttributes = _ref.includedAttributes,
19971
21213
  excludedAttributes = _ref.excludedAttributes,
19972
21214
  transformItems = _ref.transformItems,
19973
- props = _objectWithoutProperties$c(_ref, _excluded$j);
21215
+ props = _objectWithoutProperties$c(_ref, _excluded$n);
19974
21216
  var _useCurrentRefinement = useCurrentRefinements({
19975
21217
  includedAttributes: includedAttributes,
19976
21218
  excludedAttributes: excludedAttributes,
@@ -19987,17 +21229,57 @@
19987
21229
  return /*#__PURE__*/React__default.createElement(CurrentRefinements, _extends$1({}, props, uiProps));
19988
21230
  }
19989
21231
 
19990
- var _excluded$k = ["isShowingMore", "translations"];
21232
+ var _excluded$o = ["objectIDs", "limit", "threshold", "queryParameters", "escapeHTML", "transformItems", "itemComponent", "headerComponent", "emptyComponent"];
21233
+ var FrequentlyBoughtTogetherUiComponent = createFrequentlyBoughtTogetherComponent({
21234
+ createElement: React.createElement,
21235
+ Fragment: React.Fragment
21236
+ });
21237
+ function FrequentlyBoughtTogether(_ref) {
21238
+ var objectIDs = _ref.objectIDs,
21239
+ limit = _ref.limit,
21240
+ threshold = _ref.threshold,
21241
+ queryParameters = _ref.queryParameters,
21242
+ escapeHTML = _ref.escapeHTML,
21243
+ transformItems = _ref.transformItems,
21244
+ itemComponent = _ref.itemComponent,
21245
+ headerComponent = _ref.headerComponent,
21246
+ emptyComponent = _ref.emptyComponent,
21247
+ props = _objectWithoutProperties$c(_ref, _excluded$o);
21248
+ var _useInstantSearch = useInstantSearch(),
21249
+ status = _useInstantSearch.status;
21250
+ var _useFrequentlyBoughtT = useFrequentlyBoughtTogether({
21251
+ objectIDs: objectIDs,
21252
+ limit: limit,
21253
+ threshold: threshold,
21254
+ queryParameters: queryParameters,
21255
+ escapeHTML: escapeHTML,
21256
+ transformItems: transformItems
21257
+ }, {
21258
+ $$widgetType: 'ais.frequentlyBoughtTogether'
21259
+ }),
21260
+ items = _useFrequentlyBoughtT.items;
21261
+ var uiProps = {
21262
+ items: items,
21263
+ itemComponent: itemComponent,
21264
+ headerComponent: headerComponent,
21265
+ emptyComponent: emptyComponent,
21266
+ status: status,
21267
+ sendEvent: function sendEvent() {}
21268
+ };
21269
+ return /*#__PURE__*/React__default.createElement(FrequentlyBoughtTogetherUiComponent, _extends$1({}, props, uiProps));
21270
+ }
21271
+
21272
+ var _excluded$p = ["isShowingMore", "translations"];
19991
21273
  function ShowMoreButton(_ref) {
19992
21274
  var isShowingMore = _ref.isShowingMore,
19993
21275
  translations = _ref.translations,
19994
- props = _objectWithoutProperties$c(_ref, _excluded$k);
21276
+ props = _objectWithoutProperties$c(_ref, _excluded$p);
19995
21277
  return /*#__PURE__*/React__default.createElement("button", props, translations.showMoreButtonText({
19996
21278
  isShowingMore: isShowingMore
19997
21279
  }));
19998
21280
  }
19999
21281
 
20000
- var _excluded$l = ["classNames", "items", "hasItems", "onNavigate", "createURL", "showMore", "canToggleShowMore", "onToggleShowMore", "isShowingMore", "translations"];
21282
+ var _excluded$q = ["classNames", "items", "hasItems", "onNavigate", "createURL", "showMore", "canToggleShowMore", "onToggleShowMore", "isShowingMore", "translations"];
20001
21283
  function HierarchicalList(_ref) {
20002
21284
  var className = _ref.className,
20003
21285
  _ref$classNames = _ref.classNames,
@@ -20049,7 +21331,7 @@
20049
21331
  onToggleShowMore = _ref2.onToggleShowMore,
20050
21332
  isShowingMore = _ref2.isShowingMore,
20051
21333
  translations = _ref2.translations,
20052
- props = _objectWithoutProperties$c(_ref2, _excluded$l);
21334
+ props = _objectWithoutProperties$c(_ref2, _excluded$q);
20053
21335
  return /*#__PURE__*/React__default.createElement("div", _extends$1({}, props, {
20054
21336
  className: cx('ais-HierarchicalMenu', classNames.root, !hasItems && cx('ais-HierarchicalMenu--noRefinement', classNames.noRefinementRoot), props.className)
20055
21337
  }), /*#__PURE__*/React__default.createElement(HierarchicalList, {
@@ -20066,7 +21348,7 @@
20066
21348
  }));
20067
21349
  }
20068
21350
 
20069
- var _excluded$m = ["attributes", "limit", "rootPath", "separator", "showMore", "showMoreLimit", "showParentLevel", "sortBy", "transformItems", "translations"];
21351
+ var _excluded$r = ["attributes", "limit", "rootPath", "separator", "showMore", "showMoreLimit", "showParentLevel", "sortBy", "transformItems", "translations"];
20070
21352
  function HierarchicalMenu$1(_ref) {
20071
21353
  var attributes = _ref.attributes,
20072
21354
  limit = _ref.limit,
@@ -20078,7 +21360,7 @@
20078
21360
  sortBy = _ref.sortBy,
20079
21361
  transformItems = _ref.transformItems,
20080
21362
  translations = _ref.translations,
20081
- props = _objectWithoutProperties$c(_ref, _excluded$m);
21363
+ props = _objectWithoutProperties$c(_ref, _excluded$r);
20082
21364
  var _useHierarchicalMenu = useHierarchicalMenu({
20083
21365
  attributes: attributes,
20084
21366
  limit: limit,
@@ -20123,11 +21405,11 @@
20123
21405
  Fragment: React.Fragment
20124
21406
  });
20125
21407
 
20126
- var _excluded$n = ["classNames"];
21408
+ var _excluded$s = ["classNames"];
20127
21409
  function Highlight(_ref) {
20128
21410
  var _ref$classNames = _ref.classNames,
20129
21411
  classNames = _ref$classNames === void 0 ? {} : _ref$classNames,
20130
- props = _objectWithoutProperties$c(_ref, _excluded$n);
21412
+ props = _objectWithoutProperties$c(_ref, _excluded$s);
20131
21413
  return /*#__PURE__*/React__default.createElement(InternalHighlight, _extends$1({
20132
21414
  classNames: {
20133
21415
  root: cx('ais-Highlight', classNames.root),
@@ -20138,14 +21420,14 @@
20138
21420
  }, props));
20139
21421
  }
20140
21422
 
20141
- var _excluded$o = ["hit", "attribute", "highlightedTagName", "nonHighlightedTagName", "separator"];
21423
+ var _excluded$t = ["hit", "attribute", "highlightedTagName", "nonHighlightedTagName", "separator"];
20142
21424
  function Highlight$1(_ref) {
20143
21425
  var hit = _ref.hit,
20144
21426
  attribute = _ref.attribute,
20145
21427
  highlightedTagName = _ref.highlightedTagName,
20146
21428
  nonHighlightedTagName = _ref.nonHighlightedTagName,
20147
21429
  separator = _ref.separator,
20148
- props = _objectWithoutProperties$c(_ref, _excluded$o);
21430
+ props = _objectWithoutProperties$c(_ref, _excluded$t);
20149
21431
  var property = getPropertyByPath(hit._highlightResult, attribute) || [];
20150
21432
  var properties = Array.isArray(property) ? property : [property];
20151
21433
  var parts = properties.map(function (singleValue) {
@@ -20159,7 +21441,7 @@
20159
21441
  }));
20160
21442
  }
20161
21443
 
20162
- var _excluded$p = ["escapeHTML", "transformItems", "hitComponent", "bannerComponent"],
21444
+ var _excluded$u = ["escapeHTML", "transformItems", "hitComponent", "bannerComponent"],
20163
21445
  _excluded2$4 = ["hit", "index"];
20164
21446
  // @MAJOR: Move default hit component back to the UI library
20165
21447
  // once flavour specificities are erased
@@ -20181,7 +21463,7 @@
20181
21463
  _ref2$hitComponent = _ref2.hitComponent,
20182
21464
  HitComponent = _ref2$hitComponent === void 0 ? DefaultHitComponent : _ref2$hitComponent,
20183
21465
  BannerComponent = _ref2.bannerComponent,
20184
- props = _objectWithoutProperties$c(_ref2, _excluded$p);
21466
+ props = _objectWithoutProperties$c(_ref2, _excluded$u);
20185
21467
  var _useHits = useHits({
20186
21468
  escapeHTML: escapeHTML,
20187
21469
  transformItems: transformItems
@@ -20217,14 +21499,14 @@
20217
21499
  return /*#__PURE__*/React__default.createElement(HitsUiComponent, _extends$1({}, props, uiProps));
20218
21500
  }
20219
21501
 
20220
- var _excluded$q = ["items", "onChange", "currentValue", "classNames"];
21502
+ var _excluded$v = ["items", "onChange", "currentValue", "classNames"];
20221
21503
  function HitsPerPage(_ref) {
20222
21504
  var items = _ref.items,
20223
21505
  _onChange = _ref.onChange,
20224
21506
  currentValue = _ref.currentValue,
20225
21507
  _ref$classNames = _ref.classNames,
20226
21508
  classNames = _ref$classNames === void 0 ? {} : _ref$classNames,
20227
- props = _objectWithoutProperties$c(_ref, _excluded$q);
21509
+ props = _objectWithoutProperties$c(_ref, _excluded$v);
20228
21510
  return /*#__PURE__*/React__default.createElement("div", _extends$1({}, props, {
20229
21511
  className: cx('ais-HitsPerPage', classNames.root, props.className)
20230
21512
  }), /*#__PURE__*/React__default.createElement("select", {
@@ -20242,11 +21524,11 @@
20242
21524
  })));
20243
21525
  }
20244
21526
 
20245
- var _excluded$r = ["items", "transformItems"];
21527
+ var _excluded$w = ["items", "transformItems"];
20246
21528
  function HitsPerPage$1(_ref) {
20247
21529
  var userItems = _ref.items,
20248
21530
  transformItems = _ref.transformItems,
20249
- props = _objectWithoutProperties$c(_ref, _excluded$r);
21531
+ props = _objectWithoutProperties$c(_ref, _excluded$w);
20250
21532
  var _useHitsPerPage = useHitsPerPage({
20251
21533
  items: userItems,
20252
21534
  transformItems: transformItems
@@ -20270,7 +21552,7 @@
20270
21552
  return /*#__PURE__*/React__default.createElement(HitsPerPage, _extends$1({}, props, uiProps));
20271
21553
  }
20272
21554
 
20273
- var _excluded$s = ["hitComponent", "hits", "sendEvent", "isFirstPage", "isLastPage", "onShowPrevious", "onShowMore", "classNames", "translations"];
21555
+ var _excluded$x = ["hitComponent", "hits", "sendEvent", "isFirstPage", "isLastPage", "onShowPrevious", "onShowMore", "classNames", "translations"];
20274
21556
  function DefaultHitComponent$1(_ref) {
20275
21557
  var hit = _ref.hit;
20276
21558
  return /*#__PURE__*/React__default.createElement("div", {
@@ -20291,7 +21573,7 @@
20291
21573
  _ref2$classNames = _ref2.classNames,
20292
21574
  classNames = _ref2$classNames === void 0 ? {} : _ref2$classNames,
20293
21575
  translations = _ref2.translations,
20294
- props = _objectWithoutProperties$c(_ref2, _excluded$s);
21576
+ props = _objectWithoutProperties$c(_ref2, _excluded$x);
20295
21577
  return /*#__PURE__*/React__default.createElement("div", _extends$1({}, props, {
20296
21578
  className: cx('ais-InfiniteHits', classNames.root, hits.length === 0 && cx('ais-InfiniteHits--empty', classNames.emptyRoot), props.className)
20297
21579
  }), onShowPrevious && /*#__PURE__*/React__default.createElement("button", {
@@ -20321,7 +21603,7 @@
20321
21603
  }, translations.showMoreButtonText));
20322
21604
  }
20323
21605
 
20324
- var _excluded$t = ["showPrevious", "cache", "escapeHTML", "showPrevious", "transformItems", "translations"];
21606
+ var _excluded$y = ["showPrevious", "cache", "escapeHTML", "showPrevious", "transformItems", "translations"];
20325
21607
  function InfiniteHits$1(_ref) {
20326
21608
  var _ref$showPrevious = _ref.showPrevious,
20327
21609
  shouldShowPrevious = _ref$showPrevious === void 0 ? true : _ref$showPrevious,
@@ -20330,7 +21612,7 @@
20330
21612
  userShowPrevious = _ref.showPrevious,
20331
21613
  transformItems = _ref.transformItems,
20332
21614
  translations = _ref.translations,
20333
- props = _objectWithoutProperties$c(_ref, _excluded$t);
21615
+ props = _objectWithoutProperties$c(_ref, _excluded$y);
20334
21616
  var _useInfiniteHits = useInfiniteHits({
20335
21617
  cache: cache,
20336
21618
  escapeHTML: escapeHTML,
@@ -20360,7 +21642,7 @@
20360
21642
  return /*#__PURE__*/React__default.createElement(InfiniteHits, _extends$1({}, props, uiProps));
20361
21643
  }
20362
21644
 
20363
- var _excluded$u = ["items", "classNames", "showMore", "canToggleShowMore", "onToggleShowMore", "isShowingMore", "createURL", "onRefine", "translations"];
21645
+ var _excluded$z = ["items", "classNames", "showMore", "canToggleShowMore", "onToggleShowMore", "isShowingMore", "createURL", "onRefine", "translations"];
20364
21646
  function Menu(_ref) {
20365
21647
  var items = _ref.items,
20366
21648
  _ref$classNames = _ref.classNames,
@@ -20372,7 +21654,7 @@
20372
21654
  createURL = _ref.createURL,
20373
21655
  onRefine = _ref.onRefine,
20374
21656
  translations = _ref.translations,
20375
- props = _objectWithoutProperties$c(_ref, _excluded$u);
21657
+ props = _objectWithoutProperties$c(_ref, _excluded$z);
20376
21658
  return /*#__PURE__*/React__default.createElement("div", _extends$1({}, props, {
20377
21659
  className: cx('ais-Menu', classNames.root, items.length === 0 && cx('ais-Menu--noRefinement', classNames.noRefinementRoot), props.className)
20378
21660
  }), /*#__PURE__*/React__default.createElement("ul", {
@@ -20402,7 +21684,7 @@
20402
21684
  }));
20403
21685
  }
20404
21686
 
20405
- var _excluded$v = ["attribute", "limit", "showMore", "showMoreLimit", "sortBy", "transformItems", "translations"];
21687
+ var _excluded$A = ["attribute", "limit", "showMore", "showMoreLimit", "sortBy", "transformItems", "translations"];
20406
21688
  function Menu$1(_ref) {
20407
21689
  var attribute = _ref.attribute,
20408
21690
  limit = _ref.limit,
@@ -20411,7 +21693,7 @@
20411
21693
  sortBy = _ref.sortBy,
20412
21694
  transformItems = _ref.transformItems,
20413
21695
  translations = _ref.translations,
20414
- props = _objectWithoutProperties$c(_ref, _excluded$v);
21696
+ props = _objectWithoutProperties$c(_ref, _excluded$A);
20415
21697
  var _useMenu = useMenu({
20416
21698
  attribute: attribute,
20417
21699
  limit: limit,
@@ -20448,7 +21730,7 @@
20448
21730
  }));
20449
21731
  }
20450
21732
 
20451
- var _excluded$w = ["pages", "currentPage", "nbPages", "isFirstPage", "isLastPage", "showFirst", "showPrevious", "showNext", "showLast", "createURL", "onNavigate", "translations", "classNames"],
21733
+ var _excluded$B = ["pages", "currentPage", "nbPages", "isFirstPage", "isLastPage", "showFirst", "showPrevious", "showNext", "showLast", "createURL", "onNavigate", "translations", "classNames"],
20452
21734
  _excluded2$5 = ["isDisabled", "className", "classNames", "href", "onClick"];
20453
21735
  function Pagination(_ref) {
20454
21736
  var pages = _ref.pages,
@@ -20469,7 +21751,7 @@
20469
21751
  translations = _ref.translations,
20470
21752
  _ref$classNames = _ref.classNames,
20471
21753
  classNames = _ref$classNames === void 0 ? {} : _ref$classNames,
20472
- props = _objectWithoutProperties$c(_ref, _excluded$w);
21754
+ props = _objectWithoutProperties$c(_ref, _excluded$B);
20473
21755
  var firstPageIndex = 0;
20474
21756
  var previousPageIndex = currentPage - 1;
20475
21757
  var nextPageIndex = currentPage + 1;
@@ -20563,7 +21845,7 @@
20563
21845
  }, props)));
20564
21846
  }
20565
21847
 
20566
- var _excluded$x = ["showFirst", "showPrevious", "showNext", "showLast", "padding", "totalPages", "translations"];
21848
+ var _excluded$C = ["showFirst", "showPrevious", "showNext", "showLast", "padding", "totalPages", "translations"];
20567
21849
  function Pagination$1(_ref) {
20568
21850
  var showFirst = _ref.showFirst,
20569
21851
  showPrevious = _ref.showPrevious,
@@ -20572,7 +21854,7 @@
20572
21854
  padding = _ref.padding,
20573
21855
  totalPages = _ref.totalPages,
20574
21856
  translations = _ref.translations,
20575
- props = _objectWithoutProperties$c(_ref, _excluded$x);
21857
+ props = _objectWithoutProperties$c(_ref, _excluded$C);
20576
21858
  var _usePagination = usePagination({
20577
21859
  padding: padding,
20578
21860
  totalPages: totalPages
@@ -20621,14 +21903,14 @@
20621
21903
  }));
20622
21904
  }
20623
21905
 
20624
- var _excluded$y = ["classNames", "url", "theme"];
21906
+ var _excluded$D = ["classNames", "url", "theme"];
20625
21907
  function PoweredBy(_ref) {
20626
21908
  var _ref$classNames = _ref.classNames,
20627
21909
  classNames = _ref$classNames === void 0 ? {} : _ref$classNames,
20628
21910
  url = _ref.url,
20629
21911
  _ref$theme = _ref.theme,
20630
21912
  theme = _ref$theme === void 0 ? 'light' : _ref$theme,
20631
- props = _objectWithoutProperties$c(_ref, _excluded$y);
21913
+ props = _objectWithoutProperties$c(_ref, _excluded$D);
20632
21914
  return /*#__PURE__*/React__default.createElement("div", _extends$1({}, props, {
20633
21915
  className: cx('ais-PoweredBy', theme === 'dark' ? cx('ais-PoweredBy--dark', classNames.dark) : cx('ais-PoweredBy--light', classNames.light), classNames.root, props.className)
20634
21916
  }), /*#__PURE__*/React__default.createElement("a", {
@@ -20658,7 +21940,7 @@
20658
21940
  return /*#__PURE__*/React__default.createElement(PoweredBy, _extends$1({}, props, uiProps));
20659
21941
  }
20660
21942
 
20661
- var _excluded$z = ["classNames", "range", "start", "step", "disabled", "onSubmit", "translations"];
21943
+ var _excluded$E = ["classNames", "range", "start", "step", "disabled", "onSubmit", "translations"];
20662
21944
  // if the default value is undefined, React considers the component uncontrolled initially, which we don't want 0 or NaN as the default value
20663
21945
  var unsetNumberInputValue = '';
20664
21946
 
@@ -20683,7 +21965,7 @@
20683
21965
  disabled = _ref.disabled,
20684
21966
  _onSubmit = _ref.onSubmit,
20685
21967
  translations = _ref.translations,
20686
- props = _objectWithoutProperties$c(_ref, _excluded$z);
21968
+ props = _objectWithoutProperties$c(_ref, _excluded$E);
20687
21969
  var values = {
20688
21970
  min: minValue !== -Infinity && minValue !== min ? minValue : unsetNumberInputValue,
20689
21971
  max: maxValue !== Infinity && maxValue !== max ? maxValue : unsetNumberInputValue
@@ -20763,14 +22045,14 @@
20763
22045
  }, translations.submitButtonText)));
20764
22046
  }
20765
22047
 
20766
- var _excluded$A = ["attribute", "min", "max", "precision", "translations"];
22048
+ var _excluded$F = ["attribute", "min", "max", "precision", "translations"];
20767
22049
  function RangeInput$1(_ref) {
20768
22050
  var attribute = _ref.attribute,
20769
22051
  min = _ref.min,
20770
22052
  max = _ref.max,
20771
22053
  precision = _ref.precision,
20772
22054
  translations = _ref.translations,
20773
- props = _objectWithoutProperties$c(_ref, _excluded$A);
22055
+ props = _objectWithoutProperties$c(_ref, _excluded$F);
20774
22056
  var _useRange = useRange({
20775
22057
  attribute: attribute,
20776
22058
  min: min,
@@ -20798,7 +22080,7 @@
20798
22080
  return /*#__PURE__*/React__default.createElement(RangeInput, _extends$1({}, props, uiProps));
20799
22081
  }
20800
22082
 
20801
- var _excluded$B = ["canRefine", "items", "onRefine", "query", "searchBox", "noResults", "showMore", "canToggleShowMore", "onToggleShowMore", "isShowingMore", "className", "classNames", "translations"];
22083
+ var _excluded$G = ["canRefine", "items", "onRefine", "query", "searchBox", "noResults", "showMore", "canToggleShowMore", "onToggleShowMore", "isShowingMore", "className", "classNames", "translations"];
20802
22084
  function RefinementList$1(_ref) {
20803
22085
  var canRefine = _ref.canRefine,
20804
22086
  items = _ref.items,
@@ -20814,7 +22096,7 @@
20814
22096
  _ref$classNames = _ref.classNames,
20815
22097
  classNames = _ref$classNames === void 0 ? {} : _ref$classNames,
20816
22098
  translations = _ref.translations,
20817
- props = _objectWithoutProperties$c(_ref, _excluded$B);
22099
+ props = _objectWithoutProperties$c(_ref, _excluded$G);
20818
22100
  return /*#__PURE__*/React__default.createElement("div", _extends$1({}, props, {
20819
22101
  className: cx('ais-RefinementList', classNames.root, items.length === 0 && cx('ais-RefinementList--noRefinement', classNames.noRefinementRoot), className)
20820
22102
  }), searchBox && /*#__PURE__*/React__default.createElement("div", {
@@ -20853,7 +22135,7 @@
20853
22135
  }));
20854
22136
  }
20855
22137
 
20856
- var _excluded$C = ["formRef", "inputRef", "isSearchStalled", "onChange", "onReset", "onSubmit", "placeholder", "value", "autoFocus", "resetIconComponent", "submitIconComponent", "loadingIconComponent", "classNames", "translations"];
22138
+ var _excluded$H = ["formRef", "inputRef", "isSearchStalled", "onChange", "onReset", "onSubmit", "placeholder", "value", "autoFocus", "resetIconComponent", "submitIconComponent", "loadingIconComponent", "classNames", "translations"];
20857
22139
  var _ref2 = /*#__PURE__*/React__default.createElement("path", {
20858
22140
  d: "M26.804 29.01c-2.832 2.34-6.465 3.746-10.426 3.746C7.333 32.756 0 25.424 0 16.378 0 7.333 7.333 0 16.378 0c9.046 0 16.378 7.333 16.378 16.378 0 3.96-1.406 7.594-3.746 10.426l10.534 10.534c.607.607.61 1.59-.004 2.202-.61.61-1.597.61-2.202.004L26.804 29.01zm-10.426.627c7.323 0 13.26-5.936 13.26-13.26 0-7.32-5.937-13.257-13.26-13.257C9.056 3.12 3.12 9.056 3.12 16.378c0 7.323 5.936 13.26 13.258 13.26z"
20859
22141
  });
@@ -20933,7 +22215,7 @@
20933
22215
  _ref7$classNames = _ref7.classNames,
20934
22216
  classNames = _ref7$classNames === void 0 ? {} : _ref7$classNames,
20935
22217
  translations = _ref7.translations,
20936
- props = _objectWithoutProperties$c(_ref7, _excluded$C);
22218
+ props = _objectWithoutProperties$c(_ref7, _excluded$H);
20937
22219
  function handleSubmit(event) {
20938
22220
  event.preventDefault();
20939
22221
  event.stopPropagation();
@@ -20998,7 +22280,7 @@
20998
22280
  }))));
20999
22281
  }
21000
22282
 
21001
- var _excluded$D = ["searchable", "searchablePlaceholder", "attribute", "operator", "limit", "showMore", "showMoreLimit", "sortBy", "escapeFacetValues", "transformItems", "translations"];
22283
+ var _excluded$I = ["searchable", "searchablePlaceholder", "attribute", "operator", "limit", "showMore", "showMoreLimit", "sortBy", "escapeFacetValues", "transformItems", "translations"];
21002
22284
  function RefinementList$2(_ref) {
21003
22285
  var searchable = _ref.searchable,
21004
22286
  searchablePlaceholder = _ref.searchablePlaceholder,
@@ -21011,7 +22293,7 @@
21011
22293
  escapeFacetValues = _ref.escapeFacetValues,
21012
22294
  transformItems = _ref.transformItems,
21013
22295
  translations = _ref.translations,
21014
- props = _objectWithoutProperties$c(_ref, _excluded$D);
22296
+ props = _objectWithoutProperties$c(_ref, _excluded$I);
21015
22297
  var _useRefinementList = useRefinementList({
21016
22298
  attribute: attribute,
21017
22299
  operator: operator,
@@ -21100,7 +22382,49 @@
21100
22382
  }));
21101
22383
  }
21102
22384
 
21103
- var _excluded$E = ["queryHook", "searchAsYouType", "ignoreCompositionEvents", "translations"];
22385
+ var _excluded$J = ["objectIDs", "limit", "threshold", "fallbackParameters", "queryParameters", "escapeHTML", "transformItems", "itemComponent", "headerComponent", "emptyComponent"];
22386
+ var RelatedProductsUiComponent = createRelatedProductsComponent({
22387
+ createElement: React.createElement,
22388
+ Fragment: React.Fragment
22389
+ });
22390
+ function RelatedProducts(_ref) {
22391
+ var objectIDs = _ref.objectIDs,
22392
+ limit = _ref.limit,
22393
+ threshold = _ref.threshold,
22394
+ fallbackParameters = _ref.fallbackParameters,
22395
+ queryParameters = _ref.queryParameters,
22396
+ escapeHTML = _ref.escapeHTML,
22397
+ transformItems = _ref.transformItems,
22398
+ itemComponent = _ref.itemComponent,
22399
+ headerComponent = _ref.headerComponent,
22400
+ emptyComponent = _ref.emptyComponent,
22401
+ props = _objectWithoutProperties$c(_ref, _excluded$J);
22402
+ var _useInstantSearch = useInstantSearch(),
22403
+ status = _useInstantSearch.status;
22404
+ var _useRelatedProducts = useRelatedProducts({
22405
+ objectIDs: objectIDs,
22406
+ limit: limit,
22407
+ threshold: threshold,
22408
+ fallbackParameters: fallbackParameters,
22409
+ queryParameters: queryParameters,
22410
+ escapeHTML: escapeHTML,
22411
+ transformItems: transformItems
22412
+ }, {
22413
+ $$widgetType: 'ais.relatedProducts'
22414
+ }),
22415
+ items = _useRelatedProducts.items;
22416
+ var uiProps = {
22417
+ items: items,
22418
+ itemComponent: itemComponent,
22419
+ headerComponent: headerComponent,
22420
+ emptyComponent: emptyComponent,
22421
+ status: status,
22422
+ sendEvent: function sendEvent() {}
22423
+ };
22424
+ return /*#__PURE__*/React__default.createElement(RelatedProductsUiComponent, _extends$1({}, props, uiProps));
22425
+ }
22426
+
22427
+ var _excluded$K = ["queryHook", "searchAsYouType", "ignoreCompositionEvents", "translations"];
21104
22428
  function SearchBox$1(_ref) {
21105
22429
  var queryHook = _ref.queryHook,
21106
22430
  _ref$searchAsYouType = _ref.searchAsYouType,
@@ -21108,7 +22432,7 @@
21108
22432
  _ref$ignoreCompositio = _ref.ignoreCompositionEvents,
21109
22433
  ignoreCompositionEvents = _ref$ignoreCompositio === void 0 ? false : _ref$ignoreCompositio,
21110
22434
  translations = _ref.translations,
21111
- props = _objectWithoutProperties$c(_ref, _excluded$E);
22435
+ props = _objectWithoutProperties$c(_ref, _excluded$K);
21112
22436
  var _useSearchBox = useSearchBox({
21113
22437
  queryHook: queryHook
21114
22438
  }, {
@@ -21169,11 +22493,11 @@
21169
22493
  return /*#__PURE__*/React__default.createElement(SearchBox, _extends$1({}, props, uiProps));
21170
22494
  }
21171
22495
 
21172
- var _excluded$F = ["classNames"];
22496
+ var _excluded$L = ["classNames"];
21173
22497
  function Snippet(_ref) {
21174
22498
  var _ref$classNames = _ref.classNames,
21175
22499
  classNames = _ref$classNames === void 0 ? {} : _ref$classNames,
21176
- props = _objectWithoutProperties$c(_ref, _excluded$F);
22500
+ props = _objectWithoutProperties$c(_ref, _excluded$L);
21177
22501
  return /*#__PURE__*/React__default.createElement(InternalHighlight, _extends$1({
21178
22502
  classNames: {
21179
22503
  root: cx('ais-Snippet', classNames.root),
@@ -21184,14 +22508,14 @@
21184
22508
  }, props));
21185
22509
  }
21186
22510
 
21187
- var _excluded$G = ["hit", "attribute", "highlightedTagName", "nonHighlightedTagName", "separator"];
22511
+ var _excluded$M = ["hit", "attribute", "highlightedTagName", "nonHighlightedTagName", "separator"];
21188
22512
  function Snippet$1(_ref) {
21189
22513
  var hit = _ref.hit,
21190
22514
  attribute = _ref.attribute,
21191
22515
  highlightedTagName = _ref.highlightedTagName,
21192
22516
  nonHighlightedTagName = _ref.nonHighlightedTagName,
21193
22517
  separator = _ref.separator,
21194
- props = _objectWithoutProperties$c(_ref, _excluded$G);
22518
+ props = _objectWithoutProperties$c(_ref, _excluded$M);
21195
22519
  var property = getPropertyByPath(hit._snippetResult, attribute) || [];
21196
22520
  var properties = Array.isArray(property) ? property : [property];
21197
22521
  var parts = properties.map(function (singleValue) {
@@ -21205,7 +22529,7 @@
21205
22529
  }));
21206
22530
  }
21207
22531
 
21208
- var _excluded$H = ["items", "value", "onChange", "classNames"];
22532
+ var _excluded$N = ["items", "value", "onChange", "classNames"];
21209
22533
  function SortBy(_ref) {
21210
22534
  var items = _ref.items,
21211
22535
  value = _ref.value,
@@ -21213,7 +22537,7 @@
21213
22537
  _onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
21214
22538
  _ref$classNames = _ref.classNames,
21215
22539
  classNames = _ref$classNames === void 0 ? {} : _ref$classNames,
21216
- props = _objectWithoutProperties$c(_ref, _excluded$H);
22540
+ props = _objectWithoutProperties$c(_ref, _excluded$N);
21217
22541
  return /*#__PURE__*/React__default.createElement("div", _extends$1({}, props, {
21218
22542
  className: cx('ais-SortBy', classNames.root, props.className)
21219
22543
  }), /*#__PURE__*/React__default.createElement("select", {
@@ -21232,11 +22556,11 @@
21232
22556
  })));
21233
22557
  }
21234
22558
 
21235
- var _excluded$I = ["items", "transformItems"];
22559
+ var _excluded$O = ["items", "transformItems"];
21236
22560
  function SortBy$1(_ref) {
21237
22561
  var items = _ref.items,
21238
22562
  transformItems = _ref.transformItems,
21239
- props = _objectWithoutProperties$c(_ref, _excluded$I);
22563
+ props = _objectWithoutProperties$c(_ref, _excluded$O);
21240
22564
  var _useSortBy = useSortBy({
21241
22565
  items: items,
21242
22566
  transformItems: transformItems
@@ -21254,7 +22578,7 @@
21254
22578
  return /*#__PURE__*/React__default.createElement(SortBy, _extends$1({}, props, uiProps));
21255
22579
  }
21256
22580
 
21257
- var _excluded$J = ["classNames", "nbHits", "processingTimeMS", "nbSortedHits", "areHitsSorted", "translations"];
22581
+ var _excluded$P = ["classNames", "nbHits", "processingTimeMS", "nbSortedHits", "areHitsSorted", "translations"];
21258
22582
  function Stats(_ref) {
21259
22583
  var _ref$classNames = _ref.classNames,
21260
22584
  classNames = _ref$classNames === void 0 ? {} : _ref$classNames,
@@ -21263,7 +22587,7 @@
21263
22587
  nbSortedHits = _ref.nbSortedHits,
21264
22588
  areHitsSorted = _ref.areHitsSorted,
21265
22589
  translations = _ref.translations,
21266
- props = _objectWithoutProperties$c(_ref, _excluded$J);
22590
+ props = _objectWithoutProperties$c(_ref, _excluded$P);
21267
22591
  var translationOptions = {
21268
22592
  nbHits: nbHits,
21269
22593
  processingTimeMS: processingTimeMS,
@@ -21277,10 +22601,10 @@
21277
22601
  }, translations.rootElementText(translationOptions)));
21278
22602
  }
21279
22603
 
21280
- var _excluded$K = ["translations"];
22604
+ var _excluded$Q = ["translations"];
21281
22605
  function Stats$1(_ref) {
21282
22606
  var translations = _ref.translations,
21283
- props = _objectWithoutProperties$c(_ref, _excluded$K);
22607
+ props = _objectWithoutProperties$c(_ref, _excluded$Q);
21284
22608
  var _useStats = useStats(undefined, {
21285
22609
  $$widgetType: 'ais.stats'
21286
22610
  }),
@@ -21330,14 +22654,14 @@
21330
22654
  return '';
21331
22655
  }
21332
22656
 
21333
- var _excluded$L = ["classNames", "checked", "onChange", "label"];
22657
+ var _excluded$R = ["classNames", "checked", "onChange", "label"];
21334
22658
  function ToggleRefinement(_ref) {
21335
22659
  var _ref$classNames = _ref.classNames,
21336
22660
  classNames = _ref$classNames === void 0 ? {} : _ref$classNames,
21337
22661
  checked = _ref.checked,
21338
22662
  _onChange = _ref.onChange,
21339
22663
  label = _ref.label,
21340
- props = _objectWithoutProperties$c(_ref, _excluded$L);
22664
+ props = _objectWithoutProperties$c(_ref, _excluded$R);
21341
22665
  return /*#__PURE__*/React__default.createElement("div", _extends$1({}, props, {
21342
22666
  className: cx('ais-ToggleRefinement', classNames.root, props.className)
21343
22667
  }), /*#__PURE__*/React__default.createElement("label", {
@@ -21354,12 +22678,12 @@
21354
22678
  }, label)));
21355
22679
  }
21356
22680
 
21357
- var _excluded$M = ["attribute", "on", "off"];
22681
+ var _excluded$S = ["attribute", "on", "off"];
21358
22682
  function ToggleRefinement$1(_ref) {
21359
22683
  var attribute = _ref.attribute,
21360
22684
  on = _ref.on,
21361
22685
  off = _ref.off,
21362
- props = _objectWithoutProperties$c(_ref, _excluded$M);
22686
+ props = _objectWithoutProperties$c(_ref, _excluded$S);
21363
22687
  var _useToggleRefinement = useToggleRefinement({
21364
22688
  attribute: attribute,
21365
22689
  on: on,
@@ -21382,11 +22706,100 @@
21382
22706
  }, props, uiProps));
21383
22707
  }
21384
22708
 
22709
+ var _excluded$T = ["facetName", "facetValue", "limit", "threshold", "fallbackParameters", "queryParameters", "escapeHTML", "transformItems", "itemComponent", "headerComponent", "emptyComponent"];
22710
+ var TrendingItemsUiComponent = createTrendingItemsComponent({
22711
+ createElement: React.createElement,
22712
+ Fragment: React.Fragment
22713
+ });
22714
+ function TrendingItems(_ref) {
22715
+ var facetName = _ref.facetName,
22716
+ facetValue = _ref.facetValue,
22717
+ limit = _ref.limit,
22718
+ threshold = _ref.threshold,
22719
+ fallbackParameters = _ref.fallbackParameters,
22720
+ queryParameters = _ref.queryParameters,
22721
+ escapeHTML = _ref.escapeHTML,
22722
+ transformItems = _ref.transformItems,
22723
+ itemComponent = _ref.itemComponent,
22724
+ headerComponent = _ref.headerComponent,
22725
+ emptyComponent = _ref.emptyComponent,
22726
+ props = _objectWithoutProperties$c(_ref, _excluded$T);
22727
+ var facetParameters = facetName && facetValue ? {
22728
+ facetName: facetName,
22729
+ facetValue: facetValue
22730
+ } : {};
22731
+ var _useInstantSearch = useInstantSearch(),
22732
+ status = _useInstantSearch.status;
22733
+ var _useTrendingItems = useTrendingItems(_objectSpread2(_objectSpread2({}, facetParameters), {}, {
22734
+ limit: limit,
22735
+ threshold: threshold,
22736
+ fallbackParameters: fallbackParameters,
22737
+ queryParameters: queryParameters,
22738
+ escapeHTML: escapeHTML,
22739
+ transformItems: transformItems
22740
+ }), {
22741
+ $$widgetType: 'ais.trendingItems'
22742
+ }),
22743
+ items = _useTrendingItems.items;
22744
+ var uiProps = {
22745
+ items: items,
22746
+ itemComponent: itemComponent,
22747
+ headerComponent: headerComponent,
22748
+ emptyComponent: emptyComponent,
22749
+ status: status,
22750
+ sendEvent: function sendEvent() {}
22751
+ };
22752
+ return /*#__PURE__*/React__default.createElement(TrendingItemsUiComponent, _extends$1({}, props, uiProps));
22753
+ }
22754
+
22755
+ var _excluded$U = ["objectIDs", "limit", "threshold", "queryParameters", "fallbackParameters", "escapeHTML", "transformItems", "itemComponent", "headerComponent", "emptyComponent"];
22756
+ var LookingSimilarUiComponent = createLookingSimilarComponent({
22757
+ createElement: React.createElement,
22758
+ Fragment: React.Fragment
22759
+ });
22760
+ function LookingSimilar(_ref) {
22761
+ var objectIDs = _ref.objectIDs,
22762
+ limit = _ref.limit,
22763
+ threshold = _ref.threshold,
22764
+ queryParameters = _ref.queryParameters,
22765
+ fallbackParameters = _ref.fallbackParameters,
22766
+ escapeHTML = _ref.escapeHTML,
22767
+ transformItems = _ref.transformItems,
22768
+ itemComponent = _ref.itemComponent,
22769
+ headerComponent = _ref.headerComponent,
22770
+ emptyComponent = _ref.emptyComponent,
22771
+ props = _objectWithoutProperties$c(_ref, _excluded$U);
22772
+ var _useInstantSearch = useInstantSearch(),
22773
+ status = _useInstantSearch.status;
22774
+ var _useLookingSimilar = useLookingSimilar({
22775
+ objectIDs: objectIDs,
22776
+ limit: limit,
22777
+ threshold: threshold,
22778
+ queryParameters: queryParameters,
22779
+ fallbackParameters: fallbackParameters,
22780
+ escapeHTML: escapeHTML,
22781
+ transformItems: transformItems
22782
+ }, {
22783
+ $$widgetType: 'ais.lookingSimilar'
22784
+ }),
22785
+ items = _useLookingSimilar.items;
22786
+ var uiProps = {
22787
+ items: items,
22788
+ itemComponent: itemComponent,
22789
+ headerComponent: headerComponent,
22790
+ emptyComponent: emptyComponent,
22791
+ status: status,
22792
+ sendEvent: function sendEvent() {}
22793
+ };
22794
+ return /*#__PURE__*/React__default.createElement(LookingSimilarUiComponent, _extends$1({}, props, uiProps));
22795
+ }
22796
+
21385
22797
  exports.Breadcrumb = Breadcrumb$1;
21386
22798
  exports.ClearRefinements = ClearRefinements$1;
21387
22799
  exports.Configure = Configure;
21388
22800
  exports.CurrentRefinements = CurrentRefinements$1;
21389
22801
  exports.DynamicWidgets = DynamicWidgets;
22802
+ exports.FrequentlyBoughtTogether = FrequentlyBoughtTogether;
21390
22803
  exports.HierarchicalMenu = HierarchicalMenu$1;
21391
22804
  exports.Highlight = Highlight$1;
21392
22805
  exports.Hits = Hits;
@@ -21397,16 +22810,19 @@
21397
22810
  exports.InstantSearchRSCContext = InstantSearchRSCContext;
21398
22811
  exports.InstantSearchSSRProvider = InstantSearchSSRProvider;
21399
22812
  exports.InstantSearchServerContext = InstantSearchServerContext;
22813
+ exports.LookingSimilar = LookingSimilar;
21400
22814
  exports.Menu = Menu$1;
21401
22815
  exports.Pagination = Pagination$1;
21402
22816
  exports.PoweredBy = PoweredBy$1;
21403
22817
  exports.RangeInput = RangeInput$1;
21404
22818
  exports.RefinementList = RefinementList$2;
22819
+ exports.RelatedProducts = RelatedProducts;
21405
22820
  exports.SearchBox = SearchBox$1;
21406
22821
  exports.Snippet = Snippet$1;
21407
22822
  exports.SortBy = SortBy$1;
21408
22823
  exports.Stats = Stats$1;
21409
22824
  exports.ToggleRefinement = ToggleRefinement$1;
22825
+ exports.TrendingItems = TrendingItems;
21410
22826
  exports.getServerState = getServerState;
21411
22827
  exports.useBreadcrumb = useBreadcrumb;
21412
22828
  exports.useClearRefinements = useClearRefinements;
@@ -21414,6 +22830,7 @@
21414
22830
  exports.useConnector = useConnector;
21415
22831
  exports.useCurrentRefinements = useCurrentRefinements;
21416
22832
  exports.useDynamicWidgets = useDynamicWidgets;
22833
+ exports.useFrequentlyBoughtTogether = useFrequentlyBoughtTogether;
21417
22834
  exports.useGeoSearch = useGeoSearch;
21418
22835
  exports.useHierarchicalMenu = useHierarchicalMenu;
21419
22836
  exports.useHits = useHits;
@@ -21421,6 +22838,7 @@
21421
22838
  exports.useInfiniteHits = useInfiniteHits;
21422
22839
  exports.useInstantSearch = useInstantSearch;
21423
22840
  exports.useInstantSearchContext = useInstantSearchContext;
22841
+ exports.useLookingSimilar = useLookingSimilar;
21424
22842
  exports.useMenu = useMenu;
21425
22843
  exports.useNumericMenu = useNumericMenu;
21426
22844
  exports.usePagination = usePagination;
@@ -21429,10 +22847,12 @@
21429
22847
  exports.useRSCContext = useRSCContext;
21430
22848
  exports.useRange = useRange;
21431
22849
  exports.useRefinementList = useRefinementList;
22850
+ exports.useRelatedProducts = useRelatedProducts;
21432
22851
  exports.useSearchBox = useSearchBox;
21433
22852
  exports.useSortBy = useSortBy;
21434
22853
  exports.useStats = useStats;
21435
22854
  exports.useToggleRefinement = useToggleRefinement;
22855
+ exports.useTrendingItems = useTrendingItems;
21436
22856
  exports.version = version;
21437
22857
  exports.wrapPromiseWithState = wrapPromiseWithState;
21438
22858