react-instantsearch 7.15.0 → 7.15.2

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.
@@ -57,9 +57,16 @@ function FrequentlyBoughtTogether(_ref) {
57
57
  }
58
58
  }));
59
59
  } : undefined;
60
+ var _itemComponent = (0, _react.useMemo)(function () {
61
+ return itemComponent ? function (itemProps) {
62
+ return itemComponent(_objectSpread(_objectSpread({}, itemProps), {}, {
63
+ sendEvent: sendEvent
64
+ }));
65
+ } : undefined;
66
+ }, [itemComponent, sendEvent]);
60
67
  var uiProps = {
61
68
  items: items,
62
- itemComponent: itemComponent,
69
+ itemComponent: _itemComponent,
63
70
  headerComponent: headerComponent,
64
71
  emptyComponent: emptyComponent,
65
72
  layout: layout,
@@ -59,9 +59,16 @@ function LookingSimilar(_ref) {
59
59
  }
60
60
  }));
61
61
  } : undefined;
62
+ var _itemComponent = (0, _react.useMemo)(function () {
63
+ return itemComponent ? function (itemProps) {
64
+ return itemComponent(_objectSpread(_objectSpread({}, itemProps), {}, {
65
+ sendEvent: sendEvent
66
+ }));
67
+ } : undefined;
68
+ }, [itemComponent, sendEvent]);
62
69
  var uiProps = {
63
70
  items: items,
64
- itemComponent: itemComponent,
71
+ itemComponent: _itemComponent,
65
72
  headerComponent: headerComponent,
66
73
  emptyComponent: emptyComponent,
67
74
  layout: layout,
@@ -59,9 +59,16 @@ function RelatedProducts(_ref) {
59
59
  }
60
60
  }));
61
61
  } : undefined;
62
+ var _itemComponent = (0, _react.useMemo)(function () {
63
+ return itemComponent ? function (itemProps) {
64
+ return itemComponent(_objectSpread(_objectSpread({}, itemProps), {}, {
65
+ sendEvent: sendEvent
66
+ }));
67
+ } : undefined;
68
+ }, [itemComponent, sendEvent]);
62
69
  var uiProps = {
63
70
  items: items,
64
- itemComponent: itemComponent,
71
+ itemComponent: _itemComponent,
65
72
  headerComponent: headerComponent,
66
73
  emptyComponent: emptyComponent,
67
74
  layout: layout,
@@ -63,9 +63,16 @@ function TrendingItems(_ref) {
63
63
  }
64
64
  }));
65
65
  } : undefined;
66
+ var _itemComponent = (0, _react.useMemo)(function () {
67
+ return itemComponent ? function (itemProps) {
68
+ return itemComponent(_objectSpread(_objectSpread({}, itemProps), {}, {
69
+ sendEvent: sendEvent
70
+ }));
71
+ } : undefined;
72
+ }, [itemComponent, sendEvent]);
66
73
  var uiProps = {
67
74
  items: items,
68
- itemComponent: itemComponent,
75
+ itemComponent: _itemComponent,
69
76
  headerComponent: headerComponent,
70
77
  emptyComponent: emptyComponent,
71
78
  layout: layout,
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import type { FrequentlyBoughtTogetherProps as FrequentlyBoughtTogetherPropsUiComponentProps } from 'instantsearch-ui-components';
3
- import type { AlgoliaHit, BaseHit } from 'instantsearch.js';
3
+ import type { Hit, BaseHit } from 'instantsearch.js';
4
4
  import type { UseFrequentlyBoughtTogetherProps } from 'react-instantsearch-core';
5
- type UiProps<THit extends BaseHit> = Pick<FrequentlyBoughtTogetherPropsUiComponentProps<AlgoliaHit<THit>>, 'items' | 'itemComponent' | 'headerComponent' | 'emptyComponent' | 'layout' | 'status' | 'sendEvent'>;
6
- export type FrequentlyBoughtTogetherProps<THit extends BaseHit> = Omit<FrequentlyBoughtTogetherPropsUiComponentProps<AlgoliaHit<THit>>, keyof UiProps<THit>> & UseFrequentlyBoughtTogetherProps<THit> & {
5
+ type UiProps<THit extends BaseHit> = Pick<FrequentlyBoughtTogetherPropsUiComponentProps<Hit<THit>>, 'items' | 'itemComponent' | 'headerComponent' | 'emptyComponent' | 'layout' | 'status' | 'sendEvent'>;
6
+ export type FrequentlyBoughtTogetherProps<THit extends BaseHit> = Omit<FrequentlyBoughtTogetherPropsUiComponentProps<Hit<THit>>, keyof UiProps<THit>> & UseFrequentlyBoughtTogetherProps<THit> & {
7
7
  itemComponent?: FrequentlyBoughtTogetherPropsUiComponentProps<THit>['itemComponent'];
8
8
  headerComponent?: FrequentlyBoughtTogetherPropsUiComponentProps<THit>['headerComponent'];
9
9
  emptyComponent?: FrequentlyBoughtTogetherPropsUiComponentProps<THit>['emptyComponent'];
@@ -9,7 +9,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
9
9
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
11
  import { createFrequentlyBoughtTogetherComponent } from 'instantsearch-ui-components';
12
- import React, { createElement, Fragment } from 'react';
12
+ import React, { createElement, Fragment, useMemo } from 'react';
13
13
  import { useFrequentlyBoughtTogether, useInstantSearch } from 'react-instantsearch-core';
14
14
  var FrequentlyBoughtTogetherUiComponent = createFrequentlyBoughtTogetherComponent({
15
15
  createElement: createElement,
@@ -49,9 +49,16 @@ export function FrequentlyBoughtTogether(_ref) {
49
49
  }
50
50
  }));
51
51
  } : undefined;
52
+ var _itemComponent = useMemo(function () {
53
+ return itemComponent ? function (itemProps) {
54
+ return itemComponent(_objectSpread(_objectSpread({}, itemProps), {}, {
55
+ sendEvent: sendEvent
56
+ }));
57
+ } : undefined;
58
+ }, [itemComponent, sendEvent]);
52
59
  var uiProps = {
53
60
  items: items,
54
- itemComponent: itemComponent,
61
+ itemComponent: _itemComponent,
55
62
  headerComponent: headerComponent,
56
63
  emptyComponent: emptyComponent,
57
64
  layout: layout,
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import type { LookingSimilarProps as LookingSimilarPropsUiComponentProps } from 'instantsearch-ui-components';
3
- import type { AlgoliaHit, BaseHit } from 'instantsearch.js';
3
+ import type { Hit, BaseHit } from 'instantsearch.js';
4
4
  import type { UseLookingSimilarProps } from 'react-instantsearch-core';
5
- type UiProps<THit extends BaseHit> = Pick<LookingSimilarPropsUiComponentProps<AlgoliaHit<THit>>, 'items' | 'itemComponent' | 'headerComponent' | 'emptyComponent' | 'layout' | 'status' | 'sendEvent'>;
6
- export type LookingSimilarProps<THit extends BaseHit> = Omit<LookingSimilarPropsUiComponentProps<AlgoliaHit<THit>>, keyof UiProps<THit>> & UseLookingSimilarProps<THit> & {
5
+ type UiProps<THit extends BaseHit> = Pick<LookingSimilarPropsUiComponentProps<Hit<THit>>, 'items' | 'itemComponent' | 'headerComponent' | 'emptyComponent' | 'layout' | 'status' | 'sendEvent'>;
6
+ export type LookingSimilarProps<THit extends BaseHit> = Omit<LookingSimilarPropsUiComponentProps<Hit<THit>>, keyof UiProps<THit>> & UseLookingSimilarProps<THit> & {
7
7
  itemComponent?: LookingSimilarPropsUiComponentProps<THit>['itemComponent'];
8
8
  headerComponent?: LookingSimilarPropsUiComponentProps<THit>['headerComponent'];
9
9
  emptyComponent?: LookingSimilarPropsUiComponentProps<THit>['emptyComponent'];
@@ -9,7 +9,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
9
9
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
11
  import { createLookingSimilarComponent } from 'instantsearch-ui-components';
12
- import React, { createElement, Fragment } from 'react';
12
+ import React, { createElement, Fragment, useMemo } from 'react';
13
13
  import { useLookingSimilar, useInstantSearch } from 'react-instantsearch-core';
14
14
  var LookingSimilarUiComponent = createLookingSimilarComponent({
15
15
  createElement: createElement,
@@ -51,9 +51,16 @@ export function LookingSimilar(_ref) {
51
51
  }
52
52
  }));
53
53
  } : undefined;
54
+ var _itemComponent = useMemo(function () {
55
+ return itemComponent ? function (itemProps) {
56
+ return itemComponent(_objectSpread(_objectSpread({}, itemProps), {}, {
57
+ sendEvent: sendEvent
58
+ }));
59
+ } : undefined;
60
+ }, [itemComponent, sendEvent]);
54
61
  var uiProps = {
55
62
  items: items,
56
- itemComponent: itemComponent,
63
+ itemComponent: _itemComponent,
57
64
  headerComponent: headerComponent,
58
65
  emptyComponent: emptyComponent,
59
66
  layout: layout,
@@ -9,7 +9,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
9
9
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
11
  import { createRelatedProductsComponent } from 'instantsearch-ui-components';
12
- import React, { createElement, Fragment } from 'react';
12
+ import React, { createElement, Fragment, useMemo } from 'react';
13
13
  import { useInstantSearch, useRelatedProducts } from 'react-instantsearch-core';
14
14
  var RelatedProductsUiComponent = createRelatedProductsComponent({
15
15
  createElement: createElement,
@@ -51,9 +51,16 @@ export function RelatedProducts(_ref) {
51
51
  }
52
52
  }));
53
53
  } : undefined;
54
+ var _itemComponent = useMemo(function () {
55
+ return itemComponent ? function (itemProps) {
56
+ return itemComponent(_objectSpread(_objectSpread({}, itemProps), {}, {
57
+ sendEvent: sendEvent
58
+ }));
59
+ } : undefined;
60
+ }, [itemComponent, sendEvent]);
54
61
  var uiProps = {
55
62
  items: items,
56
- itemComponent: itemComponent,
63
+ itemComponent: _itemComponent,
57
64
  headerComponent: headerComponent,
58
65
  emptyComponent: emptyComponent,
59
66
  layout: layout,
@@ -9,7 +9,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
9
9
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
11
  import { createTrendingItemsComponent } from 'instantsearch-ui-components';
12
- import React, { createElement, Fragment } from 'react';
12
+ import React, { createElement, Fragment, useMemo } from 'react';
13
13
  import { useInstantSearch, useTrendingItems } from 'react-instantsearch-core';
14
14
  var TrendingItemsUiComponent = createTrendingItemsComponent({
15
15
  createElement: createElement,
@@ -55,9 +55,16 @@ export function TrendingItems(_ref) {
55
55
  }
56
56
  }));
57
57
  } : undefined;
58
+ var _itemComponent = useMemo(function () {
59
+ return itemComponent ? function (itemProps) {
60
+ return itemComponent(_objectSpread(_objectSpread({}, itemProps), {}, {
61
+ sendEvent: sendEvent
62
+ }));
63
+ } : undefined;
64
+ }, [itemComponent, sendEvent]);
58
65
  var uiProps = {
59
66
  items: items,
60
- itemComponent: itemComponent,
67
+ itemComponent: _itemComponent,
61
68
  headerComponent: headerComponent,
62
69
  emptyComponent: emptyComponent,
63
70
  layout: layout,
@@ -7,7 +7,7 @@
7
7
 
8
8
  var React__default = 'default' in React ? React['default'] : React;
9
9
 
10
- var version = '7.15.0';
10
+ var version = '7.15.2';
11
11
 
12
12
  // Copyright Joyent, Inc. and other Node contributors.
13
13
  //
@@ -3103,6 +3103,34 @@
3103
3103
  );
3104
3104
  };
3105
3105
 
3106
+ // NOTE: this behaves like lodash/defaults, but doesn't mutate the target
3107
+ // it also preserve keys order and keep the highest numeric value
3108
+ function mergeNumericMax() {
3109
+ var sources = Array.prototype.slice.call(arguments);
3110
+
3111
+ return sources.reduceRight(function (acc, source) {
3112
+ Object.keys(Object(source)).forEach(function (key) {
3113
+ var accValue = typeof acc[key] === 'number' ? acc[key] : 0;
3114
+ var sourceValue = source[key];
3115
+
3116
+ if (sourceValue === undefined) {
3117
+ return;
3118
+ }
3119
+
3120
+ if (sourceValue >= accValue) {
3121
+ if (acc[key] !== undefined) {
3122
+ // remove if already added, so that we can add it in correct order
3123
+ delete acc[key];
3124
+ }
3125
+ acc[key] = sourceValue;
3126
+ }
3127
+ });
3128
+ return acc;
3129
+ }, {});
3130
+ }
3131
+
3132
+ var mergeNumericMax_1 = mergeNumericMax;
3133
+
3106
3134
  function compareAscending(value, other) {
3107
3135
  if (value !== other) {
3108
3136
  var valIsDefined = value !== undefined;
@@ -3890,7 +3918,7 @@
3890
3918
 
3891
3919
  self.hierarchicalFacets[position][attributeIndex].data =
3892
3920
  self.persistHierarchicalRootCount
3893
- ? defaultsPure(
3921
+ ? mergeNumericMax_1(
3894
3922
  self.hierarchicalFacets[position][attributeIndex].data,
3895
3923
  facetResults
3896
3924
  )
@@ -3906,7 +3934,7 @@
3906
3934
 
3907
3935
  self.disjunctiveFacets[position] = {
3908
3936
  name: dfacet,
3909
- data: defaultsPure(dataFromMainRequest, facetResults),
3937
+ data: mergeNumericMax_1(dataFromMainRequest, facetResults),
3910
3938
  exhaustive: result.exhaustiveFacetsCount,
3911
3939
  };
3912
3940
  assignFacetStats(
@@ -4595,7 +4623,7 @@
4595
4623
 
4596
4624
  var sortAndMergeRecommendations_1 = sortAndMergeRecommendations;
4597
4625
 
4598
- var version$1 = '3.23.0';
4626
+ var version$1 = '3.24.0';
4599
4627
 
4600
4628
  var escapeFacetValue$3 = escapeFacetValue_1.escapeFacetValue;
4601
4629
 
@@ -6438,6 +6466,11 @@
6438
6466
  if (this._currentNbQueries === 0) this.emit('searchQueueEmpty');
6439
6467
 
6440
6468
  var results = content.results.slice();
6469
+ var rawContent = Object.create(content);
6470
+ delete rawContent.results;
6471
+ if (Object.keys(rawContent).length <= 0) {
6472
+ rawContent = undefined;
6473
+ }
6441
6474
 
6442
6475
  states.forEach(function (s) {
6443
6476
  var state = s.state;
@@ -6458,10 +6491,12 @@
6458
6491
  specificResults,
6459
6492
  self._searchResultsOptions
6460
6493
  );
6494
+ helper.lastResults._rawContent = rawContent;
6461
6495
 
6462
6496
  helper.emit('result', {
6463
6497
  results: helper.lastResults,
6464
6498
  state: state,
6499
+ _rawContent: rawContent,
6465
6500
  });
6466
6501
  });
6467
6502
  };
@@ -8019,9 +8054,9 @@
8019
8054
  var queryParameters = transporter.queryParameters || transporter.baseQueryParameters;
8020
8055
  var APP_ID = 'x-algolia-application-id';
8021
8056
  var API_KEY = 'x-algolia-api-key';
8022
- var _appId = headers[APP_ID] || queryParameters[APP_ID];
8023
- var _apiKey = headers[API_KEY] || queryParameters[API_KEY];
8024
- return [_appId, _apiKey];
8057
+ var appId = headers[APP_ID] || queryParameters[APP_ID];
8058
+ var apiKey = headers[API_KEY] || queryParameters[API_KEY];
8059
+ return [appId, apiKey];
8025
8060
  } else {
8026
8061
  // searchClient v3
8027
8062
  return [searchClient.applicationID, searchClient.apiKey];
@@ -13380,7 +13415,7 @@
13380
13415
  };
13381
13416
  }
13382
13417
 
13383
- var version$3 = '4.77.0';
13418
+ var version$3 = '4.77.2';
13384
13419
 
13385
13420
  function _typeof$q(o) {
13386
13421
  "@babel/helpers - typeof";
@@ -20744,7 +20779,7 @@
20744
20779
  searchRef = _ref3.searchRef,
20745
20780
  skipRecommend = _ref3.skipRecommend;
20746
20781
  return Promise.resolve().then(function () {
20747
- renderToString( /*#__PURE__*/React__default.createElement(InstantSearchServerContext.Provider, {
20782
+ renderToString(/*#__PURE__*/React__default.createElement(InstantSearchServerContext.Provider, {
20748
20783
  value: {
20749
20784
  notifyServer: notifyServer
20750
20785
  }
@@ -21108,7 +21143,8 @@
21108
21143
  sendEvent('click:internal', item, 'Item Clicked');
21109
21144
  }
21110
21145
  }, createElement(ItemComponent, {
21111
- item: item
21146
+ item: item,
21147
+ sendEvent: sendEvent
21112
21148
  }));
21113
21149
  })));
21114
21150
  };
@@ -21272,7 +21308,8 @@
21272
21308
  sendEvent('click:internal', item, 'Item Clicked');
21273
21309
  }
21274
21310
  }, createElement(ItemComponent, {
21275
- item: item
21311
+ item: item,
21312
+ sendEvent: sendEvent
21276
21313
  }));
21277
21314
  })), createElement("button", {
21278
21315
  ref: nextButtonRef,
@@ -21991,9 +22028,16 @@
21991
22028
  }
21992
22029
  }));
21993
22030
  } : undefined;
22031
+ var _itemComponent = React.useMemo(function () {
22032
+ return itemComponent ? function (itemProps) {
22033
+ return itemComponent(_objectSpread2(_objectSpread2({}, itemProps), {}, {
22034
+ sendEvent: sendEvent
22035
+ }));
22036
+ } : undefined;
22037
+ }, [itemComponent, sendEvent]);
21994
22038
  var uiProps = {
21995
22039
  items: items,
21996
- itemComponent: itemComponent,
22040
+ itemComponent: _itemComponent,
21997
22041
  headerComponent: headerComponent,
21998
22042
  emptyComponent: emptyComponent,
21999
22043
  layout: layout,
@@ -23197,9 +23241,16 @@
23197
23241
  }
23198
23242
  }));
23199
23243
  } : undefined;
23244
+ var _itemComponent = React.useMemo(function () {
23245
+ return itemComponent ? function (itemProps) {
23246
+ return itemComponent(_objectSpread2(_objectSpread2({}, itemProps), {}, {
23247
+ sendEvent: sendEvent
23248
+ }));
23249
+ } : undefined;
23250
+ }, [itemComponent, sendEvent]);
23200
23251
  var uiProps = {
23201
23252
  items: items,
23202
- itemComponent: itemComponent,
23253
+ itemComponent: _itemComponent,
23203
23254
  headerComponent: headerComponent,
23204
23255
  emptyComponent: emptyComponent,
23205
23256
  layout: layout,
@@ -23536,9 +23587,16 @@
23536
23587
  }
23537
23588
  }));
23538
23589
  } : undefined;
23590
+ var _itemComponent = React.useMemo(function () {
23591
+ return itemComponent ? function (itemProps) {
23592
+ return itemComponent(_objectSpread2(_objectSpread2({}, itemProps), {}, {
23593
+ sendEvent: sendEvent
23594
+ }));
23595
+ } : undefined;
23596
+ }, [itemComponent, sendEvent]);
23539
23597
  var uiProps = {
23540
23598
  items: items,
23541
- itemComponent: itemComponent,
23599
+ itemComponent: _itemComponent,
23542
23600
  headerComponent: headerComponent,
23543
23601
  emptyComponent: emptyComponent,
23544
23602
  layout: layout,
@@ -23589,9 +23647,16 @@
23589
23647
  }
23590
23648
  }));
23591
23649
  } : undefined;
23650
+ var _itemComponent = React.useMemo(function () {
23651
+ return itemComponent ? function (itemProps) {
23652
+ return itemComponent(_objectSpread2(_objectSpread2({}, itemProps), {}, {
23653
+ sendEvent: sendEvent
23654
+ }));
23655
+ } : undefined;
23656
+ }, [itemComponent, sendEvent]);
23592
23657
  var uiProps = {
23593
23658
  items: items,
23594
- itemComponent: itemComponent,
23659
+ itemComponent: _itemComponent,
23595
23660
  headerComponent: headerComponent,
23596
23661
  emptyComponent: emptyComponent,
23597
23662
  layout: layout,