react-instantsearch-core 7.14.0 → 7.15.1

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.
@@ -66,7 +66,7 @@ function execute(_ref3) {
66
66
  searchRef = _ref3.searchRef,
67
67
  skipRecommend = _ref3.skipRecommend;
68
68
  return Promise.resolve().then(function () {
69
- renderToString( /*#__PURE__*/_react.default.createElement(_InstantSearchServerContext.InstantSearchServerContext.Provider, {
69
+ renderToString(/*#__PURE__*/_react.default.createElement(_InstantSearchServerContext.InstantSearchServerContext.Provider, {
70
70
  value: {
71
71
  notifyServer: notifyServer
72
72
  }
@@ -4,4 +4,4 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _default = exports.default = '7.14.0';
7
+ var _default = exports.default = '7.15.1';
@@ -59,7 +59,7 @@ function execute(_ref3) {
59
59
  searchRef = _ref3.searchRef,
60
60
  skipRecommend = _ref3.skipRecommend;
61
61
  return Promise.resolve().then(function () {
62
- renderToString( /*#__PURE__*/React.createElement(InstantSearchServerContext.Provider, {
62
+ renderToString(/*#__PURE__*/React.createElement(InstantSearchServerContext.Provider, {
63
63
  value: {
64
64
  notifyServer: notifyServer
65
65
  }
@@ -1,2 +1,2 @@
1
- declare const _default: "7.14.0";
1
+ declare const _default: "7.15.1";
2
2
  export default _default;
@@ -1 +1 @@
1
- export default '7.14.0';
1
+ export default '7.15.1';
@@ -7,7 +7,7 @@
7
7
 
8
8
  var React__default = 'default' in React ? React['default'] : React;
9
9
 
10
- var version = '7.14.0';
10
+ var version = '7.15.1';
11
11
 
12
12
  function _iterableToArrayLimit(r, l) {
13
13
  var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
@@ -3238,6 +3238,34 @@
3238
3238
  );
3239
3239
  };
3240
3240
 
3241
+ // NOTE: this behaves like lodash/defaults, but doesn't mutate the target
3242
+ // it also preserve keys order and keep the highest numeric value
3243
+ function mergeNumericMax() {
3244
+ var sources = Array.prototype.slice.call(arguments);
3245
+
3246
+ return sources.reduceRight(function (acc, source) {
3247
+ Object.keys(Object(source)).forEach(function (key) {
3248
+ var accValue = typeof acc[key] === 'number' ? acc[key] : 0;
3249
+ var sourceValue = source[key];
3250
+
3251
+ if (sourceValue === undefined) {
3252
+ return;
3253
+ }
3254
+
3255
+ if (sourceValue >= accValue) {
3256
+ if (acc[key] !== undefined) {
3257
+ // remove if already added, so that we can add it in correct order
3258
+ delete acc[key];
3259
+ }
3260
+ acc[key] = sourceValue;
3261
+ }
3262
+ });
3263
+ return acc;
3264
+ }, {});
3265
+ }
3266
+
3267
+ var mergeNumericMax_1 = mergeNumericMax;
3268
+
3241
3269
  function compareAscending(value, other) {
3242
3270
  if (value !== other) {
3243
3271
  var valIsDefined = value !== undefined;
@@ -4025,7 +4053,7 @@
4025
4053
 
4026
4054
  self.hierarchicalFacets[position][attributeIndex].data =
4027
4055
  self.persistHierarchicalRootCount
4028
- ? defaultsPure(
4056
+ ? mergeNumericMax_1(
4029
4057
  self.hierarchicalFacets[position][attributeIndex].data,
4030
4058
  facetResults
4031
4059
  )
@@ -4041,7 +4069,7 @@
4041
4069
 
4042
4070
  self.disjunctiveFacets[position] = {
4043
4071
  name: dfacet,
4044
- data: defaultsPure(dataFromMainRequest, facetResults),
4072
+ data: mergeNumericMax_1(dataFromMainRequest, facetResults),
4045
4073
  exhaustive: result.exhaustiveFacetsCount,
4046
4074
  };
4047
4075
  assignFacetStats(
@@ -4730,7 +4758,7 @@
4730
4758
 
4731
4759
  var sortAndMergeRecommendations_1 = sortAndMergeRecommendations;
4732
4760
 
4733
- var version$1 = '3.23.0';
4761
+ var version$1 = '3.23.1';
4734
4762
 
4735
4763
  var escapeFacetValue$3 = escapeFacetValue_1.escapeFacetValue;
4736
4764
 
@@ -7942,9 +7970,9 @@
7942
7970
  var queryParameters = transporter.queryParameters || transporter.baseQueryParameters;
7943
7971
  var APP_ID = 'x-algolia-application-id';
7944
7972
  var API_KEY = 'x-algolia-api-key';
7945
- var _appId = headers[APP_ID] || queryParameters[APP_ID];
7946
- var _apiKey = headers[API_KEY] || queryParameters[API_KEY];
7947
- return [_appId, _apiKey];
7973
+ var appId = headers[APP_ID] || queryParameters[APP_ID];
7974
+ var apiKey = headers[API_KEY] || queryParameters[API_KEY];
7975
+ return [appId, apiKey];
7948
7976
  } else {
7949
7977
  // searchClient v3
7950
7978
  return [searchClient.applicationID, searchClient.apiKey];
@@ -12824,7 +12852,7 @@
12824
12852
  };
12825
12853
  }
12826
12854
 
12827
- var version$2 = '4.76.0';
12855
+ var version$2 = '4.77.1';
12828
12856
 
12829
12857
  function _typeof$l(o) {
12830
12858
  "@babel/helpers - typeof";
@@ -14662,6 +14690,7 @@
14662
14690
  if (!objectIDs || objectIDs.length === 0) {
14663
14691
  throw new Error(withUsage$7('The `objectIDs` option is required.'));
14664
14692
  }
14693
+ var sendEvent;
14665
14694
  return {
14666
14695
  dependsOn: 'recommend',
14667
14696
  $$type: 'ais.frequentlyBoughtTogether',
@@ -14680,22 +14709,37 @@
14680
14709
  return renderState;
14681
14710
  },
14682
14711
  getWidgetRenderState: function getWidgetRenderState(_ref2) {
14683
- var results = _ref2.results;
14712
+ var results = _ref2.results,
14713
+ helper = _ref2.helper,
14714
+ instantSearchInstance = _ref2.instantSearchInstance;
14715
+ if (!sendEvent) {
14716
+ sendEvent = createSendEventForHits({
14717
+ instantSearchInstance: instantSearchInstance,
14718
+ getIndex: function getIndex() {
14719
+ return helper.getIndex();
14720
+ },
14721
+ widgetType: this.$$type
14722
+ });
14723
+ }
14684
14724
  if (results === null || results === undefined) {
14685
14725
  return {
14686
14726
  items: [],
14687
- widgetParams: widgetParams
14727
+ widgetParams: widgetParams,
14728
+ sendEvent: sendEvent
14688
14729
  };
14689
14730
  }
14690
14731
  if (escapeHTML && results.hits.length > 0) {
14691
14732
  results.hits = escapeHits(results.hits);
14692
14733
  }
14693
- var transformedItems = transformItems(results.hits, {
14734
+ var itemsWithAbsolutePosition = addAbsolutePosition(results.hits, 0, 1);
14735
+ var itemsWithAbsolutePositionAndQueryID = addQueryID(itemsWithAbsolutePosition, results.queryID);
14736
+ var transformedItems = transformItems(itemsWithAbsolutePositionAndQueryID, {
14694
14737
  results: results
14695
14738
  });
14696
14739
  return {
14697
14740
  items: transformedItems,
14698
- widgetParams: widgetParams
14741
+ widgetParams: widgetParams,
14742
+ sendEvent: sendEvent
14699
14743
  };
14700
14744
  },
14701
14745
  dispose: function dispose(_ref3) {
@@ -18258,6 +18302,7 @@
18258
18302
  if (!objectIDs || objectIDs.length === 0) {
18259
18303
  throw new Error(withUsage$j('The `objectIDs` option is required.'));
18260
18304
  }
18305
+ var sendEvent;
18261
18306
  return {
18262
18307
  dependsOn: 'recommend',
18263
18308
  $$type: 'ais.relatedProducts',
@@ -18276,21 +18321,37 @@
18276
18321
  return renderState;
18277
18322
  },
18278
18323
  getWidgetRenderState: function getWidgetRenderState(_ref2) {
18279
- var results = _ref2.results;
18324
+ var results = _ref2.results,
18325
+ helper = _ref2.helper,
18326
+ instantSearchInstance = _ref2.instantSearchInstance;
18327
+ if (!sendEvent) {
18328
+ sendEvent = createSendEventForHits({
18329
+ instantSearchInstance: instantSearchInstance,
18330
+ getIndex: function getIndex() {
18331
+ return helper.getIndex();
18332
+ },
18333
+ widgetType: this.$$type
18334
+ });
18335
+ }
18280
18336
  if (results === null || results === undefined) {
18281
18337
  return {
18282
18338
  items: [],
18283
- widgetParams: widgetParams
18339
+ widgetParams: widgetParams,
18340
+ sendEvent: sendEvent
18284
18341
  };
18285
18342
  }
18286
18343
  if (escapeHTML && results.hits.length > 0) {
18287
18344
  results.hits = escapeHits(results.hits);
18288
18345
  }
18346
+ var itemsWithAbsolutePosition = addAbsolutePosition(results.hits, 0, 1);
18347
+ var itemsWithAbsolutePositionAndQueryID = addQueryID(itemsWithAbsolutePosition, results.queryID);
18348
+ var transformedItems = transformItems(itemsWithAbsolutePositionAndQueryID, {
18349
+ results: results
18350
+ });
18289
18351
  return {
18290
- items: transformItems(results.hits, {
18291
- results: results
18292
- }),
18293
- widgetParams: widgetParams
18352
+ items: transformedItems,
18353
+ widgetParams: widgetParams,
18354
+ sendEvent: sendEvent
18294
18355
  };
18295
18356
  },
18296
18357
  dispose: function dispose(_ref3) {
@@ -19252,6 +19313,7 @@
19252
19313
  if (facetName && !facetValue || !facetName && facetValue) {
19253
19314
  throw new Error(withUsage$o("When you provide facetName (received type ".concat(getObjectType(facetName), "), you must also provide facetValue (received type ").concat(getObjectType(facetValue), ").")));
19254
19315
  }
19316
+ var sendEvent;
19255
19317
  return {
19256
19318
  dependsOn: 'recommend',
19257
19319
  $$type: 'ais.trendingItems',
@@ -19270,21 +19332,37 @@
19270
19332
  return renderState;
19271
19333
  },
19272
19334
  getWidgetRenderState: function getWidgetRenderState(_ref2) {
19273
- var results = _ref2.results;
19335
+ var results = _ref2.results,
19336
+ helper = _ref2.helper,
19337
+ instantSearchInstance = _ref2.instantSearchInstance;
19338
+ if (!sendEvent) {
19339
+ sendEvent = createSendEventForHits({
19340
+ instantSearchInstance: instantSearchInstance,
19341
+ getIndex: function getIndex() {
19342
+ return helper.getIndex();
19343
+ },
19344
+ widgetType: this.$$type
19345
+ });
19346
+ }
19274
19347
  if (results === null || results === undefined) {
19275
19348
  return {
19276
19349
  items: [],
19277
- widgetParams: widgetParams
19350
+ widgetParams: widgetParams,
19351
+ sendEvent: sendEvent
19278
19352
  };
19279
19353
  }
19280
19354
  if (escapeHTML && results.hits.length > 0) {
19281
19355
  results.hits = escapeHits(results.hits);
19282
19356
  }
19357
+ var itemsWithAbsolutePosition = addAbsolutePosition(results.hits, 0, 1);
19358
+ var itemsWithAbsolutePositionAndQueryID = addQueryID(itemsWithAbsolutePosition, results.queryID);
19359
+ var transformedItems = transformItems(itemsWithAbsolutePositionAndQueryID, {
19360
+ results: results
19361
+ });
19283
19362
  return {
19284
- items: transformItems(results.hits, {
19285
- results: results
19286
- }),
19287
- widgetParams: widgetParams
19363
+ items: transformedItems,
19364
+ widgetParams: widgetParams,
19365
+ sendEvent: sendEvent
19288
19366
  };
19289
19367
  },
19290
19368
  dispose: function dispose(_ref3) {
@@ -19392,6 +19470,7 @@
19392
19470
  if (!objectIDs || objectIDs.length === 0) {
19393
19471
  throw new Error(withUsage$p('The `objectIDs` option is required.'));
19394
19472
  }
19473
+ var sendEvent;
19395
19474
  return {
19396
19475
  dependsOn: 'recommend',
19397
19476
  $$type: 'ais.lookingSimilar',
@@ -19410,21 +19489,37 @@
19410
19489
  return renderState;
19411
19490
  },
19412
19491
  getWidgetRenderState: function getWidgetRenderState(_ref2) {
19413
- var results = _ref2.results;
19492
+ var results = _ref2.results,
19493
+ helper = _ref2.helper,
19494
+ instantSearchInstance = _ref2.instantSearchInstance;
19495
+ if (!sendEvent) {
19496
+ sendEvent = createSendEventForHits({
19497
+ instantSearchInstance: instantSearchInstance,
19498
+ getIndex: function getIndex() {
19499
+ return helper.getIndex();
19500
+ },
19501
+ widgetType: this.$$type
19502
+ });
19503
+ }
19414
19504
  if (results === null || results === undefined) {
19415
19505
  return {
19416
19506
  items: [],
19417
- widgetParams: widgetParams
19507
+ widgetParams: widgetParams,
19508
+ sendEvent: sendEvent
19418
19509
  };
19419
19510
  }
19420
19511
  if (escapeHTML && results.hits.length > 0) {
19421
19512
  results.hits = escapeHits(results.hits);
19422
19513
  }
19514
+ var itemsWithAbsolutePosition = addAbsolutePosition(results.hits, 0, 1);
19515
+ var itemsWithAbsolutePositionAndQueryID = addQueryID(itemsWithAbsolutePosition, results.queryID);
19516
+ var transformedItems = transformItems(itemsWithAbsolutePositionAndQueryID, {
19517
+ results: results
19518
+ });
19423
19519
  return {
19424
- items: transformItems(results.hits, {
19425
- results: results
19426
- }),
19427
- widgetParams: widgetParams
19520
+ items: transformedItems,
19521
+ widgetParams: widgetParams,
19522
+ sendEvent: sendEvent
19428
19523
  };
19429
19524
  },
19430
19525
  dispose: function dispose(_ref3) {
@@ -19849,7 +19944,7 @@
19849
19944
  searchRef = _ref3.searchRef,
19850
19945
  skipRecommend = _ref3.skipRecommend;
19851
19946
  return Promise.resolve().then(function () {
19852
- renderToString( /*#__PURE__*/React__default.createElement(InstantSearchServerContext.Provider, {
19947
+ renderToString(/*#__PURE__*/React__default.createElement(InstantSearchServerContext.Provider, {
19853
19948
  value: {
19854
19949
  notifyServer: notifyServer
19855
19950
  }