algolia-experiences 1.5.3 → 1.5.5

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.
@@ -4313,6 +4313,34 @@
4313
4313
  );
4314
4314
  };
4315
4315
 
4316
+ // NOTE: this behaves like lodash/defaults, but doesn't mutate the target
4317
+ // it also preserve keys order and keep the highest numeric value
4318
+ function mergeNumericMax() {
4319
+ var sources = Array.prototype.slice.call(arguments);
4320
+
4321
+ return sources.reduceRight(function (acc, source) {
4322
+ Object.keys(Object(source)).forEach(function (key) {
4323
+ var accValue = typeof acc[key] === 'number' ? acc[key] : 0;
4324
+ var sourceValue = source[key];
4325
+
4326
+ if (sourceValue === undefined) {
4327
+ return;
4328
+ }
4329
+
4330
+ if (sourceValue >= accValue) {
4331
+ if (acc[key] !== undefined) {
4332
+ // remove if already added, so that we can add it in correct order
4333
+ delete acc[key];
4334
+ }
4335
+ acc[key] = sourceValue;
4336
+ }
4337
+ });
4338
+ return acc;
4339
+ }, {});
4340
+ }
4341
+
4342
+ var mergeNumericMax_1 = mergeNumericMax;
4343
+
4316
4344
  function compareAscending(value, other) {
4317
4345
  if (value !== other) {
4318
4346
  var valIsDefined = value !== undefined;
@@ -5100,7 +5128,7 @@
5100
5128
 
5101
5129
  self.hierarchicalFacets[position][attributeIndex].data =
5102
5130
  self.persistHierarchicalRootCount
5103
- ? defaultsPure(
5131
+ ? mergeNumericMax_1(
5104
5132
  self.hierarchicalFacets[position][attributeIndex].data,
5105
5133
  facetResults
5106
5134
  )
@@ -5116,7 +5144,7 @@
5116
5144
 
5117
5145
  self.disjunctiveFacets[position] = {
5118
5146
  name: dfacet,
5119
- data: defaultsPure(dataFromMainRequest, facetResults),
5147
+ data: mergeNumericMax_1(dataFromMainRequest, facetResults),
5120
5148
  exhaustive: result.exhaustiveFacetsCount,
5121
5149
  };
5122
5150
  assignFacetStats(
@@ -5805,7 +5833,7 @@
5805
5833
 
5806
5834
  var sortAndMergeRecommendations_1 = sortAndMergeRecommendations;
5807
5835
 
5808
- var version = '3.23.0';
5836
+ var version = '3.23.1';
5809
5837
 
5810
5838
  var escapeFacetValue$3 = escapeFacetValue_1.escapeFacetValue;
5811
5839
 
@@ -8899,9 +8927,9 @@
8899
8927
  var queryParameters = transporter.queryParameters || transporter.baseQueryParameters;
8900
8928
  var APP_ID = 'x-algolia-application-id';
8901
8929
  var API_KEY = 'x-algolia-api-key';
8902
- var _appId = headers[APP_ID] || queryParameters[APP_ID];
8903
- var _apiKey = headers[API_KEY] || queryParameters[API_KEY];
8904
- return [_appId, _apiKey];
8930
+ var appId = headers[APP_ID] || queryParameters[APP_ID];
8931
+ var apiKey = headers[API_KEY] || queryParameters[API_KEY];
8932
+ return [appId, apiKey];
8905
8933
  } else {
8906
8934
  // searchClient v3
8907
8935
  return [searchClient.applicationID, searchClient.apiKey];
@@ -12998,7 +13026,7 @@
12998
13026
  };
12999
13027
  }
13000
13028
 
13001
- var version$1 = '4.76.0';
13029
+ var version$1 = '4.77.1';
13002
13030
 
13003
13031
  function _typeof$j(o) {
13004
13032
  "@babel/helpers - typeof";
@@ -14021,16 +14049,21 @@
14021
14049
  return createElement("li", {
14022
14050
  key: item.objectID,
14023
14051
  className: classNames.item,
14024
- onClick: sendEvent,
14025
- onAuxClick: sendEvent
14052
+ onClick: function onClick() {
14053
+ sendEvent('click:internal', item, 'Item Clicked');
14054
+ },
14055
+ onAuxClick: function onAuxClick() {
14056
+ sendEvent('click:internal', item, 'Item Clicked');
14057
+ }
14026
14058
  }, createElement(ItemComponent, {
14027
- item: item
14059
+ item: item,
14060
+ sendEvent: sendEvent
14028
14061
  }));
14029
14062
  })));
14030
14063
  };
14031
14064
  }
14032
14065
 
14033
- var _excluded$3 = ["listRef", "nextButtonRef", "previousButtonRef", "carouselIdRef", "classNames", "itemComponent", "previousIconComponent", "nextIconComponent", "items", "translations"];
14066
+ var _excluded$3 = ["listRef", "nextButtonRef", "previousButtonRef", "carouselIdRef", "classNames", "itemComponent", "previousIconComponent", "nextIconComponent", "items", "translations", "sendEvent"];
14034
14067
  function ownKeys$g(e, r) {
14035
14068
  var t = Object.keys(e);
14036
14069
  if (Object.getOwnPropertySymbols) {
@@ -14105,6 +14138,7 @@
14105
14138
  NextIconComponent = _userProps$nextIconCo === void 0 ? NextIconDefaultComponent : _userProps$nextIconCo,
14106
14139
  items = userProps.items,
14107
14140
  userTranslations = userProps.translations,
14141
+ sendEvent = userProps.sendEvent,
14108
14142
  props = _objectWithoutProperties$4(userProps, _excluded$3);
14109
14143
  var translations = _objectSpread$f({
14110
14144
  listLabel: 'Items',
@@ -14179,9 +14213,16 @@
14179
14213
  key: item.objectID,
14180
14214
  className: cx(cssClasses.item),
14181
14215
  "aria-roledescription": "slide",
14182
- "aria-label": "".concat(index + 1, " of ").concat(items.length)
14216
+ "aria-label": "".concat(index + 1, " of ").concat(items.length),
14217
+ onClick: function onClick() {
14218
+ sendEvent('click:internal', item, 'Item Clicked');
14219
+ },
14220
+ onAuxClick: function onAuxClick() {
14221
+ sendEvent('click:internal', item, 'Item Clicked');
14222
+ }
14183
14223
  }, createElement(ItemComponent, {
14184
- item: item
14224
+ item: item,
14225
+ sendEvent: sendEvent
14185
14226
  }));
14186
14227
  })), createElement("button", {
14187
14228
  ref: nextButtonRef,
@@ -14763,11 +14804,14 @@
14763
14804
  var items = _ref2.items,
14764
14805
  widgetTemplates = _ref2.templates,
14765
14806
  _ref2$cssClasses = _ref2.cssClasses,
14766
- widgetCssClasses = _ref2$cssClasses === void 0 ? {} : _ref2$cssClasses;
14807
+ widgetCssClasses = _ref2$cssClasses === void 0 ? {} : _ref2$cssClasses,
14808
+ _ref2$sendEvent = _ref2.sendEvent,
14809
+ sendEvent = _ref2$sendEvent === void 0 ? function () {} : _ref2$sendEvent;
14767
14810
  var previous = templates.previous,
14768
14811
  next = templates.next;
14769
14812
  return h(CarouselWithRefs, {
14770
14813
  items: items,
14814
+ sendEvent: sendEvent,
14771
14815
  itemComponent: widgetTemplates.item,
14772
14816
  previousIconComponent: previous ? function () {
14773
14817
  return previous({
@@ -18923,8 +18967,8 @@
18923
18967
  }, {
18924
18968
  key: "componentDidUpdate",
18925
18969
  value: function componentDidUpdate() {
18926
- var _this$listRef$current, _this$listRef$current2;
18927
- (_this$listRef$current = this.listRef.current) === null || _this$listRef$current === void 0 ? void 0 : (_this$listRef$current2 = _this$listRef$current.querySelector("input[value=\"".concat(this.lastRefinedValue, "\"]"))) === null || _this$listRef$current2 === void 0 ? void 0 : _this$listRef$current2.focus();
18970
+ var _this$listRef$current, _this$listRef$current2, _this$lastRefinedValu;
18971
+ (_this$listRef$current = this.listRef.current) === null || _this$listRef$current === void 0 ? void 0 : (_this$listRef$current2 = _this$listRef$current.querySelector("input[value=\"".concat((_this$lastRefinedValu = this.lastRefinedValue) === null || _this$lastRefinedValu === void 0 ? void 0 : _this$lastRefinedValu.replace('"', '\\"'), "\"]"))) === null || _this$listRef$current2 === void 0 ? void 0 : _this$listRef$current2.focus();
18928
18972
  this.lastRefinedValue = undefined;
18929
18973
  }
18930
18974
  }, {
@@ -23471,6 +23515,7 @@
23471
23515
  if (!objectIDs || objectIDs.length === 0) {
23472
23516
  throw new Error(withUsage$o('The `objectIDs` option is required.'));
23473
23517
  }
23518
+ var sendEvent;
23474
23519
  return {
23475
23520
  dependsOn: 'recommend',
23476
23521
  $$type: 'ais.relatedProducts',
@@ -23489,21 +23534,37 @@
23489
23534
  return renderState;
23490
23535
  },
23491
23536
  getWidgetRenderState: function getWidgetRenderState(_ref2) {
23492
- var results = _ref2.results;
23537
+ var results = _ref2.results,
23538
+ helper = _ref2.helper,
23539
+ instantSearchInstance = _ref2.instantSearchInstance;
23540
+ if (!sendEvent) {
23541
+ sendEvent = createSendEventForHits({
23542
+ instantSearchInstance: instantSearchInstance,
23543
+ getIndex: function getIndex() {
23544
+ return helper.getIndex();
23545
+ },
23546
+ widgetType: this.$$type
23547
+ });
23548
+ }
23493
23549
  if (results === null || results === undefined) {
23494
23550
  return {
23495
23551
  items: [],
23496
- widgetParams: widgetParams
23552
+ widgetParams: widgetParams,
23553
+ sendEvent: sendEvent
23497
23554
  };
23498
23555
  }
23499
23556
  if (escapeHTML && results.hits.length > 0) {
23500
23557
  results.hits = escapeHits(results.hits);
23501
23558
  }
23559
+ var itemsWithAbsolutePosition = addAbsolutePosition(results.hits, 0, 1);
23560
+ var itemsWithAbsolutePositionAndQueryID = addQueryID(itemsWithAbsolutePosition, results.queryID);
23561
+ var transformedItems = transformItems(itemsWithAbsolutePositionAndQueryID, {
23562
+ results: results
23563
+ });
23502
23564
  return {
23503
- items: transformItems(results.hits, {
23504
- results: results
23505
- }),
23506
- widgetParams: widgetParams
23565
+ items: transformedItems,
23566
+ widgetParams: widgetParams,
23567
+ sendEvent: sendEvent
23507
23568
  };
23508
23569
  },
23509
23570
  dispose: function dispose(_ref3) {
@@ -23537,6 +23598,7 @@
23537
23598
  return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
23538
23599
  }, _typeof$T(o);
23539
23600
  }
23601
+ var _excluded$n = ["item", "sendEvent"];
23540
23602
  function ownKeys$R(e, r) {
23541
23603
  var t = Object.keys(e);
23542
23604
  if (Object.getOwnPropertySymbols) {
@@ -23586,6 +23648,33 @@
23586
23648
  }
23587
23649
  return ("string" === r ? String : Number)(t);
23588
23650
  }
23651
+ function _objectWithoutProperties$i(source, excluded) {
23652
+ if (source == null) return {};
23653
+ var target = _objectWithoutPropertiesLoose$i(source, excluded);
23654
+ var key, i;
23655
+ if (Object.getOwnPropertySymbols) {
23656
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
23657
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
23658
+ key = sourceSymbolKeys[i];
23659
+ if (excluded.indexOf(key) >= 0) continue;
23660
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
23661
+ target[key] = source[key];
23662
+ }
23663
+ }
23664
+ return target;
23665
+ }
23666
+ function _objectWithoutPropertiesLoose$i(source, excluded) {
23667
+ if (source == null) return {};
23668
+ var target = {};
23669
+ var sourceKeys = Object.keys(source);
23670
+ var key, i;
23671
+ for (i = 0; i < sourceKeys.length; i++) {
23672
+ key = sourceKeys[i];
23673
+ if (excluded.indexOf(key) >= 0) continue;
23674
+ target[key] = source[key];
23675
+ }
23676
+ return target;
23677
+ }
23589
23678
  function _extends$i() {
23590
23679
  _extends$i = Object.assign ? Object.assign.bind() : function (target) {
23591
23680
  for (var i = 1; i < arguments.length; i++) {
@@ -23615,7 +23704,8 @@
23615
23704
  return function renderer(_ref2, isFirstRendering) {
23616
23705
  var items = _ref2.items,
23617
23706
  results = _ref2.results,
23618
- instantSearchInstance = _ref2.instantSearchInstance;
23707
+ instantSearchInstance = _ref2.instantSearchInstance,
23708
+ sendEvent = _ref2.sendEvent;
23619
23709
  if (isFirstRendering) {
23620
23710
  renderState.templateProps = prepareTemplateProps({
23621
23711
  defaultTemplates: {},
@@ -23635,11 +23725,15 @@
23635
23725
  }));
23636
23726
  } : undefined;
23637
23727
  var itemComponent = templates.item ? function (_ref3) {
23638
- var item = _ref3.item;
23728
+ var item = _ref3.item,
23729
+ _sendEvent = _ref3.sendEvent,
23730
+ rootProps = _objectWithoutProperties$i(_ref3, _excluded$n);
23639
23731
  return h(Template, _extends$i({}, renderState.templateProps, {
23640
23732
  templateKey: "item",
23641
23733
  rootTagName: "fragment",
23642
- data: item
23734
+ data: item,
23735
+ sendEvent: _sendEvent,
23736
+ rootProps: _objectSpread$Q({}, rootProps)
23643
23737
  }));
23644
23738
  } : undefined;
23645
23739
  var emptyComponent = templates.empty ? function () {
@@ -23654,6 +23748,7 @@
23654
23748
  templateKey: "layout",
23655
23749
  rootTagName: "fragment",
23656
23750
  data: {
23751
+ sendEvent: sendEvent,
23657
23752
  items: data.items,
23658
23753
  templates: {
23659
23754
  item: templates.item ? function (_ref4) {
@@ -23661,7 +23756,8 @@
23661
23756
  return h(Template, _extends$i({}, renderState.templateProps, {
23662
23757
  templateKey: "item",
23663
23758
  rootTagName: "fragment",
23664
- data: item
23759
+ data: item,
23760
+ sendEvent: sendEvent
23665
23761
  }));
23666
23762
  } : undefined
23667
23763
  },
@@ -23669,12 +23765,13 @@
23669
23765
  list: data.classNames.list,
23670
23766
  item: data.classNames.item
23671
23767
  }
23672
- }
23768
+ },
23769
+ sendEvent: sendEvent
23673
23770
  }));
23674
23771
  } : undefined;
23675
23772
  P(h(RelatedProducts, {
23676
23773
  items: items,
23677
- sendEvent: function sendEvent() {},
23774
+ sendEvent: sendEvent,
23678
23775
  classNames: cssClasses,
23679
23776
  headerComponent: headerComponent,
23680
23777
  itemComponent: itemComponent,
@@ -26455,7 +26552,7 @@
26455
26552
  return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
26456
26553
  }, _typeof$11(o);
26457
26554
  }
26458
- var _excluded$n = ["name", "escapedValue"],
26555
+ var _excluded$o = ["name", "escapedValue"],
26459
26556
  _excluded2$4 = ["escapedValue", "value"];
26460
26557
  function ownKeys$Y(e, r) {
26461
26558
  var t = Object.keys(e);
@@ -26506,9 +26603,9 @@
26506
26603
  }
26507
26604
  return ("string" === r ? String : Number)(t);
26508
26605
  }
26509
- function _objectWithoutProperties$i(source, excluded) {
26606
+ function _objectWithoutProperties$j(source, excluded) {
26510
26607
  if (source == null) return {};
26511
- var target = _objectWithoutPropertiesLoose$i(source, excluded);
26608
+ var target = _objectWithoutPropertiesLoose$j(source, excluded);
26512
26609
  var key, i;
26513
26610
  if (Object.getOwnPropertySymbols) {
26514
26611
  var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
@@ -26521,7 +26618,7 @@
26521
26618
  }
26522
26619
  return target;
26523
26620
  }
26524
- function _objectWithoutPropertiesLoose$i(source, excluded) {
26621
+ function _objectWithoutPropertiesLoose$j(source, excluded) {
26525
26622
  if (source == null) return {};
26526
26623
  var target = {};
26527
26624
  var sourceKeys = Object.keys(source);
@@ -26584,7 +26681,7 @@
26584
26681
  var formatItems = function formatItems(_ref2) {
26585
26682
  var label = _ref2.name,
26586
26683
  value = _ref2.escapedValue,
26587
- item = _objectWithoutProperties$i(_ref2, _excluded$n);
26684
+ item = _objectWithoutProperties$j(_ref2, _excluded$o);
26588
26685
  return _objectSpread$X(_objectSpread$X({}, item), {}, {
26589
26686
  value: value,
26590
26687
  label: label,
@@ -26641,7 +26738,7 @@
26641
26738
  var normalizedFacetValues = transformItems(facetValues.map(function (_ref3) {
26642
26739
  var escapedValue = _ref3.escapedValue,
26643
26740
  value = _ref3.value,
26644
- item = _objectWithoutProperties$i(_ref3, _excluded2$4);
26741
+ item = _objectWithoutProperties$j(_ref3, _excluded2$4);
26645
26742
  return _objectSpread$X(_objectSpread$X({}, item), {}, {
26646
26743
  value: escapedValue,
26647
26744
  label: value
@@ -27790,7 +27887,7 @@
27790
27887
  return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
27791
27888
  }, _typeof$17(o);
27792
27889
  }
27793
- var _excluded$o = ["nbHits", "nbSortedHits", "cssClasses", "templateProps"];
27890
+ var _excluded$p = ["nbHits", "nbSortedHits", "cssClasses", "templateProps"];
27794
27891
  function _extends$m() {
27795
27892
  _extends$m = Object.assign ? Object.assign.bind() : function (target) {
27796
27893
  for (var i = 1; i < arguments.length; i++) {
@@ -27854,9 +27951,9 @@
27854
27951
  }
27855
27952
  return ("string" === r ? String : Number)(t);
27856
27953
  }
27857
- function _objectWithoutProperties$j(source, excluded) {
27954
+ function _objectWithoutProperties$k(source, excluded) {
27858
27955
  if (source == null) return {};
27859
- var target = _objectWithoutPropertiesLoose$j(source, excluded);
27956
+ var target = _objectWithoutPropertiesLoose$k(source, excluded);
27860
27957
  var key, i;
27861
27958
  if (Object.getOwnPropertySymbols) {
27862
27959
  var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
@@ -27869,7 +27966,7 @@
27869
27966
  }
27870
27967
  return target;
27871
27968
  }
27872
- function _objectWithoutPropertiesLoose$j(source, excluded) {
27969
+ function _objectWithoutPropertiesLoose$k(source, excluded) {
27873
27970
  if (source == null) return {};
27874
27971
  var target = {};
27875
27972
  var sourceKeys = Object.keys(source);
@@ -27886,7 +27983,7 @@
27886
27983
  nbSortedHits = _ref.nbSortedHits,
27887
27984
  cssClasses = _ref.cssClasses,
27888
27985
  templateProps = _ref.templateProps,
27889
- rest = _objectWithoutProperties$j(_ref, _excluded$o);
27986
+ rest = _objectWithoutProperties$k(_ref, _excluded$p);
27890
27987
  return h("div", {
27891
27988
  className: cx(cssClasses.root)
27892
27989
  }, h(Template, _extends$m({}, templateProps, {
@@ -28888,6 +28985,7 @@
28888
28985
  if (facetName && !facetValue || !facetName && facetValue) {
28889
28986
  throw new Error(withUsage$F("When you provide facetName (received type ".concat(getObjectType(facetName), "), you must also provide facetValue (received type ").concat(getObjectType(facetValue), ").")));
28890
28987
  }
28988
+ var sendEvent;
28891
28989
  return {
28892
28990
  dependsOn: 'recommend',
28893
28991
  $$type: 'ais.trendingItems',
@@ -28906,21 +29004,37 @@
28906
29004
  return renderState;
28907
29005
  },
28908
29006
  getWidgetRenderState: function getWidgetRenderState(_ref2) {
28909
- var results = _ref2.results;
29007
+ var results = _ref2.results,
29008
+ helper = _ref2.helper,
29009
+ instantSearchInstance = _ref2.instantSearchInstance;
29010
+ if (!sendEvent) {
29011
+ sendEvent = createSendEventForHits({
29012
+ instantSearchInstance: instantSearchInstance,
29013
+ getIndex: function getIndex() {
29014
+ return helper.getIndex();
29015
+ },
29016
+ widgetType: this.$$type
29017
+ });
29018
+ }
28910
29019
  if (results === null || results === undefined) {
28911
29020
  return {
28912
29021
  items: [],
28913
- widgetParams: widgetParams
29022
+ widgetParams: widgetParams,
29023
+ sendEvent: sendEvent
28914
29024
  };
28915
29025
  }
28916
29026
  if (escapeHTML && results.hits.length > 0) {
28917
29027
  results.hits = escapeHits(results.hits);
28918
29028
  }
29029
+ var itemsWithAbsolutePosition = addAbsolutePosition(results.hits, 0, 1);
29030
+ var itemsWithAbsolutePositionAndQueryID = addQueryID(itemsWithAbsolutePosition, results.queryID);
29031
+ var transformedItems = transformItems(itemsWithAbsolutePositionAndQueryID, {
29032
+ results: results
29033
+ });
28919
29034
  return {
28920
- items: transformItems(results.hits, {
28921
- results: results
28922
- }),
28923
- widgetParams: widgetParams
29035
+ items: transformedItems,
29036
+ widgetParams: widgetParams,
29037
+ sendEvent: sendEvent
28924
29038
  };
28925
29039
  },
28926
29040
  dispose: function dispose(_ref3) {
@@ -28952,6 +29066,7 @@
28952
29066
  return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
28953
29067
  }, _typeof$1d(o);
28954
29068
  }
29069
+ var _excluded$q = ["item", "sendEvent"];
28955
29070
  function ownKeys$18(e, r) {
28956
29071
  var t = Object.keys(e);
28957
29072
  if (Object.getOwnPropertySymbols) {
@@ -29001,6 +29116,33 @@
29001
29116
  }
29002
29117
  return ("string" === r ? String : Number)(t);
29003
29118
  }
29119
+ function _objectWithoutProperties$l(source, excluded) {
29120
+ if (source == null) return {};
29121
+ var target = _objectWithoutPropertiesLoose$l(source, excluded);
29122
+ var key, i;
29123
+ if (Object.getOwnPropertySymbols) {
29124
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
29125
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
29126
+ key = sourceSymbolKeys[i];
29127
+ if (excluded.indexOf(key) >= 0) continue;
29128
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
29129
+ target[key] = source[key];
29130
+ }
29131
+ }
29132
+ return target;
29133
+ }
29134
+ function _objectWithoutPropertiesLoose$l(source, excluded) {
29135
+ if (source == null) return {};
29136
+ var target = {};
29137
+ var sourceKeys = Object.keys(source);
29138
+ var key, i;
29139
+ for (i = 0; i < sourceKeys.length; i++) {
29140
+ key = sourceKeys[i];
29141
+ if (excluded.indexOf(key) >= 0) continue;
29142
+ target[key] = source[key];
29143
+ }
29144
+ return target;
29145
+ }
29004
29146
  function _extends$o() {
29005
29147
  _extends$o = Object.assign ? Object.assign.bind() : function (target) {
29006
29148
  for (var i = 1; i < arguments.length; i++) {
@@ -29030,7 +29172,8 @@
29030
29172
  return function renderer(_ref2, isFirstRendering) {
29031
29173
  var items = _ref2.items,
29032
29174
  results = _ref2.results,
29033
- instantSearchInstance = _ref2.instantSearchInstance;
29175
+ instantSearchInstance = _ref2.instantSearchInstance,
29176
+ sendEvent = _ref2.sendEvent;
29034
29177
  if (isFirstRendering) {
29035
29178
  renderState.templateProps = prepareTemplateProps({
29036
29179
  defaultTemplates: {},
@@ -29050,11 +29193,15 @@
29050
29193
  }));
29051
29194
  } : undefined;
29052
29195
  var itemComponent = templates.item ? function (_ref3) {
29053
- var item = _ref3.item;
29196
+ var item = _ref3.item,
29197
+ _sendEvent = _ref3.sendEvent,
29198
+ rootProps = _objectWithoutProperties$l(_ref3, _excluded$q);
29054
29199
  return h(Template, _extends$o({}, renderState.templateProps, {
29055
29200
  templateKey: "item",
29056
29201
  rootTagName: "fragment",
29057
- data: item
29202
+ data: item,
29203
+ sendEvent: _sendEvent,
29204
+ rootProps: _objectSpread$17({}, rootProps)
29058
29205
  }));
29059
29206
  } : undefined;
29060
29207
  var emptyComponent = templates.empty ? function () {
@@ -29069,6 +29216,7 @@
29069
29216
  templateKey: "layout",
29070
29217
  rootTagName: "fragment",
29071
29218
  data: {
29219
+ sendEvent: sendEvent,
29072
29220
  items: data.items,
29073
29221
  templates: {
29074
29222
  item: templates.item ? function (_ref4) {
@@ -29076,7 +29224,8 @@
29076
29224
  return h(Template, _extends$o({}, renderState.templateProps, {
29077
29225
  templateKey: "item",
29078
29226
  rootTagName: "fragment",
29079
- data: item
29227
+ data: item,
29228
+ sendEvent: sendEvent
29080
29229
  }));
29081
29230
  } : undefined
29082
29231
  },
@@ -29084,12 +29233,13 @@
29084
29233
  list: data.classNames.list,
29085
29234
  item: data.classNames.item
29086
29235
  }
29087
- }
29236
+ },
29237
+ sendEvent: sendEvent
29088
29238
  }));
29089
29239
  } : undefined;
29090
29240
  P(h(TrendingItems, {
29091
29241
  items: items,
29092
- sendEvent: function sendEvent() {},
29242
+ sendEvent: sendEvent,
29093
29243
  classNames: cssClasses,
29094
29244
  headerComponent: headerComponent,
29095
29245
  itemComponent: itemComponent,
@@ -29223,6 +29373,7 @@
29223
29373
  if (!objectIDs || objectIDs.length === 0) {
29224
29374
  throw new Error(withUsage$H('The `objectIDs` option is required.'));
29225
29375
  }
29376
+ var sendEvent;
29226
29377
  return {
29227
29378
  dependsOn: 'recommend',
29228
29379
  $$type: 'ais.frequentlyBoughtTogether',
@@ -29241,22 +29392,37 @@
29241
29392
  return renderState;
29242
29393
  },
29243
29394
  getWidgetRenderState: function getWidgetRenderState(_ref2) {
29244
- var results = _ref2.results;
29395
+ var results = _ref2.results,
29396
+ helper = _ref2.helper,
29397
+ instantSearchInstance = _ref2.instantSearchInstance;
29398
+ if (!sendEvent) {
29399
+ sendEvent = createSendEventForHits({
29400
+ instantSearchInstance: instantSearchInstance,
29401
+ getIndex: function getIndex() {
29402
+ return helper.getIndex();
29403
+ },
29404
+ widgetType: this.$$type
29405
+ });
29406
+ }
29245
29407
  if (results === null || results === undefined) {
29246
29408
  return {
29247
29409
  items: [],
29248
- widgetParams: widgetParams
29410
+ widgetParams: widgetParams,
29411
+ sendEvent: sendEvent
29249
29412
  };
29250
29413
  }
29251
29414
  if (escapeHTML && results.hits.length > 0) {
29252
29415
  results.hits = escapeHits(results.hits);
29253
29416
  }
29254
- var transformedItems = transformItems(results.hits, {
29417
+ var itemsWithAbsolutePosition = addAbsolutePosition(results.hits, 0, 1);
29418
+ var itemsWithAbsolutePositionAndQueryID = addQueryID(itemsWithAbsolutePosition, results.queryID);
29419
+ var transformedItems = transformItems(itemsWithAbsolutePositionAndQueryID, {
29255
29420
  results: results
29256
29421
  });
29257
29422
  return {
29258
29423
  items: transformedItems,
29259
- widgetParams: widgetParams
29424
+ widgetParams: widgetParams,
29425
+ sendEvent: sendEvent
29260
29426
  };
29261
29427
  },
29262
29428
  dispose: function dispose(_ref3) {
@@ -29289,6 +29455,7 @@
29289
29455
  return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
29290
29456
  }, _typeof$1f(o);
29291
29457
  }
29458
+ var _excluded$r = ["item", "sendEvent"];
29292
29459
  function ownKeys$1a(e, r) {
29293
29460
  var t = Object.keys(e);
29294
29461
  if (Object.getOwnPropertySymbols) {
@@ -29338,6 +29505,33 @@
29338
29505
  }
29339
29506
  return ("string" === r ? String : Number)(t);
29340
29507
  }
29508
+ function _objectWithoutProperties$m(source, excluded) {
29509
+ if (source == null) return {};
29510
+ var target = _objectWithoutPropertiesLoose$m(source, excluded);
29511
+ var key, i;
29512
+ if (Object.getOwnPropertySymbols) {
29513
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
29514
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
29515
+ key = sourceSymbolKeys[i];
29516
+ if (excluded.indexOf(key) >= 0) continue;
29517
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
29518
+ target[key] = source[key];
29519
+ }
29520
+ }
29521
+ return target;
29522
+ }
29523
+ function _objectWithoutPropertiesLoose$m(source, excluded) {
29524
+ if (source == null) return {};
29525
+ var target = {};
29526
+ var sourceKeys = Object.keys(source);
29527
+ var key, i;
29528
+ for (i = 0; i < sourceKeys.length; i++) {
29529
+ key = sourceKeys[i];
29530
+ if (excluded.indexOf(key) >= 0) continue;
29531
+ target[key] = source[key];
29532
+ }
29533
+ return target;
29534
+ }
29341
29535
  function _extends$p() {
29342
29536
  _extends$p = Object.assign ? Object.assign.bind() : function (target) {
29343
29537
  for (var i = 1; i < arguments.length; i++) {
@@ -29367,7 +29561,8 @@
29367
29561
  return function (_ref2, isFirstRendering) {
29368
29562
  var items = _ref2.items,
29369
29563
  results = _ref2.results,
29370
- instantSearchInstance = _ref2.instantSearchInstance;
29564
+ instantSearchInstance = _ref2.instantSearchInstance,
29565
+ sendEvent = _ref2.sendEvent;
29371
29566
  if (isFirstRendering) {
29372
29567
  renderState.templateProps = prepareTemplateProps({
29373
29568
  defaultTemplates: {},
@@ -29387,11 +29582,15 @@
29387
29582
  }));
29388
29583
  } : undefined;
29389
29584
  var itemComponent = templates.item ? function (_ref3) {
29390
- var item = _ref3.item;
29585
+ var item = _ref3.item,
29586
+ _sendEvent = _ref3.sendEvent,
29587
+ rootProps = _objectWithoutProperties$m(_ref3, _excluded$r);
29391
29588
  return h(Template, _extends$p({}, renderState.templateProps, {
29392
29589
  templateKey: "item",
29393
29590
  rootTagName: "fragment",
29394
- data: item
29591
+ data: item,
29592
+ sendEvent: _sendEvent,
29593
+ rootProps: _objectSpread$19({}, rootProps)
29395
29594
  }));
29396
29595
  } : undefined;
29397
29596
  var emptyComponent = templates.empty ? function () {
@@ -29406,6 +29605,7 @@
29406
29605
  templateKey: "layout",
29407
29606
  rootTagName: "fragment",
29408
29607
  data: {
29608
+ sendEvent: sendEvent,
29409
29609
  items: data.items,
29410
29610
  templates: {
29411
29611
  item: templates.item ? function (_ref4) {
@@ -29413,7 +29613,8 @@
29413
29613
  return h(Template, _extends$p({}, renderState.templateProps, {
29414
29614
  templateKey: "item",
29415
29615
  rootTagName: "fragment",
29416
- data: item
29616
+ data: item,
29617
+ sendEvent: sendEvent
29417
29618
  }));
29418
29619
  } : undefined
29419
29620
  },
@@ -29421,14 +29622,15 @@
29421
29622
  list: data.classNames.list,
29422
29623
  item: data.classNames.item
29423
29624
  }
29424
- }
29625
+ },
29626
+ sendEvent: sendEvent
29425
29627
  }));
29426
29628
  } : undefined;
29427
29629
  P(h(FrequentlyBoughtTogether, {
29428
29630
  items: items,
29429
29631
  headerComponent: headerComponent,
29430
29632
  itemComponent: itemComponent,
29431
- sendEvent: function sendEvent() {},
29633
+ sendEvent: sendEvent,
29432
29634
  classNames: cssClasses,
29433
29635
  emptyComponent: emptyComponent,
29434
29636
  layout: layoutComponent,
@@ -29555,6 +29757,7 @@
29555
29757
  if (!objectIDs || objectIDs.length === 0) {
29556
29758
  throw new Error(withUsage$J('The `objectIDs` option is required.'));
29557
29759
  }
29760
+ var sendEvent;
29558
29761
  return {
29559
29762
  dependsOn: 'recommend',
29560
29763
  $$type: 'ais.lookingSimilar',
@@ -29573,21 +29776,37 @@
29573
29776
  return renderState;
29574
29777
  },
29575
29778
  getWidgetRenderState: function getWidgetRenderState(_ref2) {
29576
- var results = _ref2.results;
29779
+ var results = _ref2.results,
29780
+ helper = _ref2.helper,
29781
+ instantSearchInstance = _ref2.instantSearchInstance;
29782
+ if (!sendEvent) {
29783
+ sendEvent = createSendEventForHits({
29784
+ instantSearchInstance: instantSearchInstance,
29785
+ getIndex: function getIndex() {
29786
+ return helper.getIndex();
29787
+ },
29788
+ widgetType: this.$$type
29789
+ });
29790
+ }
29577
29791
  if (results === null || results === undefined) {
29578
29792
  return {
29579
29793
  items: [],
29580
- widgetParams: widgetParams
29794
+ widgetParams: widgetParams,
29795
+ sendEvent: sendEvent
29581
29796
  };
29582
29797
  }
29583
29798
  if (escapeHTML && results.hits.length > 0) {
29584
29799
  results.hits = escapeHits(results.hits);
29585
29800
  }
29801
+ var itemsWithAbsolutePosition = addAbsolutePosition(results.hits, 0, 1);
29802
+ var itemsWithAbsolutePositionAndQueryID = addQueryID(itemsWithAbsolutePosition, results.queryID);
29803
+ var transformedItems = transformItems(itemsWithAbsolutePositionAndQueryID, {
29804
+ results: results
29805
+ });
29586
29806
  return {
29587
- items: transformItems(results.hits, {
29588
- results: results
29589
- }),
29590
- widgetParams: widgetParams
29807
+ items: transformedItems,
29808
+ widgetParams: widgetParams,
29809
+ sendEvent: sendEvent
29591
29810
  };
29592
29811
  },
29593
29812
  dispose: function dispose(_ref3) {
@@ -29621,6 +29840,7 @@
29621
29840
  return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
29622
29841
  }, _typeof$1h(o);
29623
29842
  }
29843
+ var _excluded$s = ["item", "sendEvent"];
29624
29844
  function ownKeys$1c(e, r) {
29625
29845
  var t = Object.keys(e);
29626
29846
  if (Object.getOwnPropertySymbols) {
@@ -29670,6 +29890,33 @@
29670
29890
  }
29671
29891
  return ("string" === r ? String : Number)(t);
29672
29892
  }
29893
+ function _objectWithoutProperties$n(source, excluded) {
29894
+ if (source == null) return {};
29895
+ var target = _objectWithoutPropertiesLoose$n(source, excluded);
29896
+ var key, i;
29897
+ if (Object.getOwnPropertySymbols) {
29898
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
29899
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
29900
+ key = sourceSymbolKeys[i];
29901
+ if (excluded.indexOf(key) >= 0) continue;
29902
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
29903
+ target[key] = source[key];
29904
+ }
29905
+ }
29906
+ return target;
29907
+ }
29908
+ function _objectWithoutPropertiesLoose$n(source, excluded) {
29909
+ if (source == null) return {};
29910
+ var target = {};
29911
+ var sourceKeys = Object.keys(source);
29912
+ var key, i;
29913
+ for (i = 0; i < sourceKeys.length; i++) {
29914
+ key = sourceKeys[i];
29915
+ if (excluded.indexOf(key) >= 0) continue;
29916
+ target[key] = source[key];
29917
+ }
29918
+ return target;
29919
+ }
29673
29920
  function _extends$q() {
29674
29921
  _extends$q = Object.assign ? Object.assign.bind() : function (target) {
29675
29922
  for (var i = 1; i < arguments.length; i++) {
@@ -29699,7 +29946,8 @@
29699
29946
  return function (_ref2, isFirstRendering) {
29700
29947
  var items = _ref2.items,
29701
29948
  results = _ref2.results,
29702
- instantSearchInstance = _ref2.instantSearchInstance;
29949
+ instantSearchInstance = _ref2.instantSearchInstance,
29950
+ sendEvent = _ref2.sendEvent;
29703
29951
  if (isFirstRendering) {
29704
29952
  renderState.templateProps = prepareTemplateProps({
29705
29953
  defaultTemplates: {},
@@ -29719,11 +29967,15 @@
29719
29967
  }));
29720
29968
  } : undefined;
29721
29969
  var itemComponent = templates.item ? function (_ref3) {
29722
- var item = _ref3.item;
29970
+ var item = _ref3.item,
29971
+ _sendEvent = _ref3.sendEvent,
29972
+ rootProps = _objectWithoutProperties$n(_ref3, _excluded$s);
29723
29973
  return h(Template, _extends$q({}, renderState.templateProps, {
29724
29974
  templateKey: "item",
29725
29975
  rootTagName: "fragment",
29726
- data: item
29976
+ data: item,
29977
+ sendEvent: _sendEvent,
29978
+ rootProps: _objectSpread$1b({}, rootProps)
29727
29979
  }));
29728
29980
  } : undefined;
29729
29981
  var emptyComponent = templates.empty ? function () {
@@ -29738,6 +29990,7 @@
29738
29990
  templateKey: "layout",
29739
29991
  rootTagName: "fragment",
29740
29992
  data: {
29993
+ sendEvent: sendEvent,
29741
29994
  items: data.items,
29742
29995
  templates: {
29743
29996
  item: templates.item ? function (_ref4) {
@@ -29745,7 +29998,8 @@
29745
29998
  return h(Template, _extends$q({}, renderState.templateProps, {
29746
29999
  templateKey: "item",
29747
30000
  rootTagName: "fragment",
29748
- data: item
30001
+ data: item,
30002
+ sendEvent: sendEvent
29749
30003
  }));
29750
30004
  } : undefined
29751
30005
  },
@@ -29753,7 +30007,8 @@
29753
30007
  list: data.classNames.list,
29754
30008
  item: data.classNames.item
29755
30009
  }
29756
- }
30010
+ },
30011
+ sendEvent: sendEvent
29757
30012
  }));
29758
30013
  } : undefined;
29759
30014
  P(h(LookingSimilar, {
@@ -29906,7 +30161,7 @@
29906
30161
  'ais.trendingItems': trendingItems
29907
30162
  };
29908
30163
 
29909
- var _excluded$p = ["header", "collapsed"];
30164
+ var _excluded$t = ["header", "collapsed"];
29910
30165
  function injectStyles() {
29911
30166
  var style = document.createElement('style');
29912
30167
  style.dataset.source = 'instantsearch';
@@ -30089,7 +30344,7 @@
30089
30344
  var _ref7 = child.parameters,
30090
30345
  header = _ref7.header,
30091
30346
  defaultCollapsed = _ref7.collapsed,
30092
- _parameters3 = _objectWithoutProperties(_ref7, _excluded$p);
30347
+ _parameters3 = _objectWithoutProperties(_ref7, _excluded$t);
30093
30348
  var _widget3 = widgets[child.type];
30094
30349
  return [panel({
30095
30350
  templates: {
@@ -30193,7 +30448,7 @@
30193
30448
  }
30194
30449
  }]);
30195
30450
  return AlgoliaExperience;
30196
- }( /*#__PURE__*/_wrapNativeSuper(HTMLElement));
30451
+ }(/*#__PURE__*/_wrapNativeSuper(HTMLElement));
30197
30452
  _defineProperty(AlgoliaExperience, "observedAttributes", ['experience-id']);
30198
30453
  customElements.define('algolia-experience', AlgoliaExperience);
30199
30454
  }