@mjhls/mjh-framework 1.0.1091 → 1.0.1093

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/AD300x250.js +1 -1
  3. package/dist/cjs/AD300x250x600.js +1 -1
  4. package/dist/cjs/AD728x90.js +1 -1
  5. package/dist/cjs/ADFloatingFooter.js +1 -1
  6. package/dist/cjs/ADGutter.js +1 -1
  7. package/dist/cjs/{ADInfeed-25f53b70.js → ADInfeed-f7c65126.js} +1 -1
  8. package/dist/cjs/ADSkyscraper.js +1 -1
  9. package/dist/cjs/ADSponsoredResources.js +1 -1
  10. package/dist/cjs/ADWebcast.js +1 -1
  11. package/dist/cjs/ADWelcome.js +1 -1
  12. package/dist/cjs/{ADlgInfeed-5d21496c.js → ADlgInfeed-b6e86366.js} +1 -1
  13. package/dist/cjs/AdSlot.js +9 -1
  14. package/dist/cjs/AdSlotsProvider.js +1 -1
  15. package/dist/cjs/AlgoliaSearch.js +532 -248
  16. package/dist/cjs/ArticleCarousel.js +1 -1
  17. package/dist/cjs/ArticleProgramLandingPage.js +4 -4
  18. package/dist/cjs/ArticleSeriesLandingPage.js +4 -4
  19. package/dist/cjs/ArticleSeriesListing.js +2 -2
  20. package/dist/cjs/AuthWrapper.js +266 -642
  21. package/dist/cjs/CEDeckSupabase.js +2 -6
  22. package/dist/cjs/CMEDeck.js +2 -6
  23. package/dist/cjs/Column3.js +1 -1
  24. package/dist/cjs/ConferenceArticleCard.js +1 -1
  25. package/dist/cjs/ContentCardPaginated.js +3 -3
  26. package/dist/cjs/DeckContent.js +3 -3
  27. package/dist/cjs/DeckQueue.js +2 -2
  28. package/dist/cjs/DeckQueuePaginated.js +2 -2
  29. package/dist/cjs/EventsDeck.js +3 -3
  30. package/dist/cjs/ExternalResources.js +5 -5
  31. package/dist/cjs/Feature.js +1 -1
  32. package/dist/cjs/ForbesHero.js +1 -1
  33. package/dist/cjs/GridContent.js +4 -4
  34. package/dist/cjs/GridContentPaginated.js +4 -4
  35. package/dist/cjs/GridHero.js +1 -1
  36. package/dist/cjs/HamMagazine.js +2 -2
  37. package/dist/cjs/HighlightenVideo.js +1 -1
  38. package/dist/cjs/HorizontalArticleListing.js +4 -4
  39. package/dist/cjs/HorizontalHero.js +1 -1
  40. package/dist/cjs/{ImageSlider-984a697b.js → ImageSlider-d65bc9c8.js} +156 -116
  41. package/dist/cjs/IssueContentDeck.js +1 -1
  42. package/dist/cjs/IssueLanding.js +6 -6
  43. package/dist/cjs/LeftNav.js +1 -1
  44. package/dist/cjs/MasterDeck.js +4 -4
  45. package/dist/cjs/MasterDeckPaginated.js +3 -3
  46. package/dist/cjs/MediaSeriesCard.js +4 -4
  47. package/dist/cjs/MediaSeriesLanding.js +9 -9
  48. package/dist/cjs/MediaSeriesLandingPaginated.js +9 -9
  49. package/dist/cjs/NavMagazine.js +2 -2
  50. package/dist/cjs/NavNative.js +1 -1
  51. package/dist/cjs/OncliveHero.js +1 -1
  52. package/dist/cjs/OncliveLargeHero.js +1 -1
  53. package/dist/cjs/PartnerDetailListing.js +7 -8
  54. package/dist/cjs/PartnerDetailListingPaginated.js +7 -8
  55. package/dist/cjs/PodcastsLanding.js +7 -7
  56. package/dist/cjs/PtceDeck.js +1 -1
  57. package/dist/cjs/PubSection.js +4 -4
  58. package/dist/cjs/PublicationLanding.js +7 -5
  59. package/dist/cjs/QueueDeckExpanded.js +4 -4
  60. package/dist/cjs/QueueDeckExpandedPaginated.js +4 -4
  61. package/dist/cjs/RelatedContent.js +1 -1
  62. package/dist/cjs/SeriesListingDeck.js +2 -2
  63. package/dist/cjs/{SeriesSlider-086a8319.js → SeriesSlider-a8b51591.js} +1 -1
  64. package/dist/cjs/{SocialSearchComponent-d7e5d3a6.js → SocialSearchComponent-9d272141.js} +1 -1
  65. package/dist/cjs/TaxonomyDescription.js +4 -4
  66. package/dist/cjs/TemplateNormal.js +2 -2
  67. package/dist/cjs/{Tooltip-96fe6ef6.js → Tooltip-66c1a867.js} +159 -85
  68. package/dist/cjs/Ustream.js +1 -1
  69. package/dist/cjs/VerticalHero.js +1 -1
  70. package/dist/cjs/VideoProgramLandingPage.js +4 -4
  71. package/dist/cjs/VideoSeriesCard.js +1 -1
  72. package/dist/cjs/VideoSeriesLandingPage.js +4 -4
  73. package/dist/cjs/VideoSeriesListing.js +2 -2
  74. package/dist/cjs/View.js +5 -5
  75. package/dist/cjs/YahooHero.js +1 -1
  76. package/dist/cjs/YoutubeGroup.js +1 -1
  77. package/dist/cjs/{brightcove-react-player-loader.es-4c7825a1.js → brightcove-react-player-loader.es-35faab67.js} +3 -3
  78. package/dist/cjs/getRelatedArticle.js +33 -15
  79. package/dist/cjs/getSerializers.js +4 -4
  80. package/dist/cjs/{index-b0e9a7b6.js → index-1c8109ca.js} +234 -15
  81. package/dist/cjs/index-4d21663c.js +1573 -0
  82. package/dist/cjs/{index-50be6759.js → index-9ec837cc.js} +9 -25
  83. package/dist/cjs/index.js +11 -13
  84. package/dist/cjs/{main-ae8472f3.js → main-812888f1.js} +1 -1
  85. package/dist/cjs/{moment-aca40de1.js → moment-f730814d.js} +95 -80
  86. package/dist/cjs/timeDifferenceCalc.js +1 -1
  87. package/dist/esm/AD300x250.js +1 -1
  88. package/dist/esm/AD300x250x600.js +1 -1
  89. package/dist/esm/AD728x90.js +1 -1
  90. package/dist/esm/ADFloatingFooter.js +1 -1
  91. package/dist/esm/ADGutter.js +1 -1
  92. package/dist/esm/{ADInfeed-ca4bb13c.js → ADInfeed-b05502a1.js} +1 -1
  93. package/dist/esm/ADSkyscraper.js +1 -1
  94. package/dist/esm/ADSponsoredResources.js +1 -1
  95. package/dist/esm/ADWebcast.js +1 -1
  96. package/dist/esm/ADWelcome.js +1 -1
  97. package/dist/esm/{ADlgInfeed-142ddf4d.js → ADlgInfeed-6e892331.js} +1 -1
  98. package/dist/esm/AdSlot.js +9 -1
  99. package/dist/esm/AdSlotsProvider.js +1 -1
  100. package/dist/esm/AlgoliaSearch.js +531 -247
  101. package/dist/esm/ArticleCarousel.js +1 -1
  102. package/dist/esm/ArticleProgramLandingPage.js +4 -4
  103. package/dist/esm/ArticleSeriesLandingPage.js +4 -4
  104. package/dist/esm/ArticleSeriesListing.js +2 -2
  105. package/dist/esm/AuthWrapper.js +263 -639
  106. package/dist/esm/CEDeckSupabase.js +2 -6
  107. package/dist/esm/CMEDeck.js +2 -6
  108. package/dist/esm/Column3.js +1 -1
  109. package/dist/esm/ConferenceArticleCard.js +1 -1
  110. package/dist/esm/ContentCardPaginated.js +3 -3
  111. package/dist/esm/DeckContent.js +3 -3
  112. package/dist/esm/DeckQueue.js +2 -2
  113. package/dist/esm/DeckQueuePaginated.js +2 -2
  114. package/dist/esm/EventsDeck.js +3 -3
  115. package/dist/esm/ExternalResources.js +5 -5
  116. package/dist/esm/Feature.js +1 -1
  117. package/dist/esm/ForbesHero.js +1 -1
  118. package/dist/esm/GridContent.js +4 -4
  119. package/dist/esm/GridContentPaginated.js +4 -4
  120. package/dist/esm/GridHero.js +1 -1
  121. package/dist/esm/HamMagazine.js +2 -2
  122. package/dist/esm/HighlightenVideo.js +1 -1
  123. package/dist/esm/HorizontalArticleListing.js +4 -4
  124. package/dist/esm/HorizontalHero.js +1 -1
  125. package/dist/esm/{ImageSlider-9250ddc9.js → ImageSlider-801685f8.js} +157 -117
  126. package/dist/esm/IssueContentDeck.js +1 -1
  127. package/dist/esm/IssueLanding.js +6 -6
  128. package/dist/esm/LeftNav.js +1 -1
  129. package/dist/esm/MasterDeck.js +4 -4
  130. package/dist/esm/MasterDeckPaginated.js +3 -3
  131. package/dist/esm/MediaSeriesCard.js +4 -4
  132. package/dist/esm/MediaSeriesLanding.js +9 -9
  133. package/dist/esm/MediaSeriesLandingPaginated.js +9 -9
  134. package/dist/esm/NavMagazine.js +2 -2
  135. package/dist/esm/NavNative.js +1 -1
  136. package/dist/esm/OncliveHero.js +1 -1
  137. package/dist/esm/OncliveLargeHero.js +1 -1
  138. package/dist/esm/Pagination-9fe9f61d.js +1 -1
  139. package/dist/esm/PartnerDetailListing.js +7 -8
  140. package/dist/esm/PartnerDetailListingPaginated.js +7 -8
  141. package/dist/esm/PodcastsLanding.js +7 -7
  142. package/dist/esm/PtceDeck.js +1 -1
  143. package/dist/esm/PubSection.js +4 -4
  144. package/dist/esm/PublicationLanding.js +7 -5
  145. package/dist/esm/QueueDeckExpanded.js +4 -4
  146. package/dist/esm/QueueDeckExpandedPaginated.js +4 -4
  147. package/dist/esm/RelatedContent.js +1 -1
  148. package/dist/esm/SeriesListingDeck.js +2 -2
  149. package/dist/esm/{SeriesSlider-acbdf4c9.js → SeriesSlider-5757414b.js} +1 -1
  150. package/dist/esm/{SocialSearchComponent-9e65c8d6.js → SocialSearchComponent-98bfc990.js} +1 -1
  151. package/dist/esm/TaxonomyDescription.js +4 -4
  152. package/dist/esm/TemplateNormal.js +2 -2
  153. package/dist/esm/{Tooltip-bc98d17e.js → Tooltip-0b3b4558.js} +318 -244
  154. package/dist/esm/Ustream.js +1 -1
  155. package/dist/esm/VerticalHero.js +1 -1
  156. package/dist/esm/VideoProgramLandingPage.js +4 -4
  157. package/dist/esm/VideoSeriesCard.js +1 -1
  158. package/dist/esm/VideoSeriesLandingPage.js +4 -4
  159. package/dist/esm/VideoSeriesListing.js +2 -2
  160. package/dist/esm/View.js +5 -5
  161. package/dist/esm/YahooHero.js +1 -1
  162. package/dist/esm/YoutubeGroup.js +1 -1
  163. package/dist/esm/{brightcove-react-player-loader.es-57a70a56.js → brightcove-react-player-loader.es-a2422c4b.js} +3 -3
  164. package/dist/esm/getRelatedArticle.js +34 -16
  165. package/dist/esm/getSerializers.js +4 -4
  166. package/dist/esm/{index-98ca9cec.js → index-0ce54f8a.js} +10 -25
  167. package/dist/esm/index-887c1f5e.js +1571 -0
  168. package/dist/esm/{index-cf4b8124.js → index-9b83d509.js} +234 -15
  169. package/dist/esm/index.js +11 -13
  170. package/dist/esm/{main-754d4992.js → main-dde1592e.js} +1 -1
  171. package/dist/esm/{moment-bc12cb97.js → moment-48faeb9c.js} +95 -80
  172. package/dist/esm/timeDifferenceCalc.js +1 -1
  173. package/dist/esm/visibility-sensor-72fd8f8b.js +1 -1
  174. package/package.json +1 -1
  175. package/dist/cjs/defineProperty-e0fb52c5.js +0 -73
  176. package/dist/cjs/index-96c331fd.js +0 -1572
  177. package/dist/cjs/typeof-1358762e.js +0 -33
  178. package/dist/esm/defineProperty-23a8f8cd.js +0 -68
  179. package/dist/esm/index-30a6257d.js +0 -1570
  180. package/dist/esm/typeof-2f07d0e8.js +0 -30
@@ -2,14 +2,13 @@
2
2
 
3
3
  var _extends = require('./extends-be0d85bc.js');
4
4
  var inherits$1 = require('./inherits-e47b5342.js');
5
- var _typeof$2 = require('./typeof-220bbf73.js');
5
+ var _typeof$1 = require('./typeof-220bbf73.js');
6
6
  var React = require('react');
7
7
  var PropTypes = require('prop-types');
8
- var _typeof$1 = require('./typeof-1358762e.js');
9
- var index = require('./index-50be6759.js');
8
+ var index = require('./index-9ec837cc.js');
10
9
  var reactBootstrap = require('react-bootstrap');
11
10
  var urlFor = require('./urlFor.js');
12
- var moment = require('./moment-aca40de1.js');
11
+ var moment = require('./moment-f730814d.js');
13
12
  var index$1 = require('./index-65621b6c.js');
14
13
  require('./_commonjsHelpers-06173234.js');
15
14
  require('./core.get-iterator-method-5643aa10.js');
@@ -76,6 +75,15 @@ function _assertThisInitialized(self) {
76
75
  return self;
77
76
  }
78
77
 
78
+ function _setPrototypeOf(o, p) {
79
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
80
+ o.__proto__ = p;
81
+ return o;
82
+ };
83
+
84
+ return _setPrototypeOf(o, p);
85
+ }
86
+
79
87
  function _inherits(subClass, superClass) {
80
88
  if (typeof superClass !== "function" && superClass !== null) {
81
89
  throw new TypeError("Super expression must either be null or a function");
@@ -88,14 +96,28 @@ function _inherits(subClass, superClass) {
88
96
  configurable: true
89
97
  }
90
98
  });
91
- if (superClass) index._setPrototypeOf(subClass, superClass);
99
+ if (superClass) _setPrototypeOf(subClass, superClass);
100
+ }
101
+
102
+ function _typeof(obj) {
103
+ "@babel/helpers - typeof";
104
+
105
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
106
+ _typeof = function _typeof(obj) {
107
+ return typeof obj;
108
+ };
109
+ } else {
110
+ _typeof = function _typeof(obj) {
111
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
112
+ };
113
+ }
114
+
115
+ return _typeof(obj);
92
116
  }
93
117
 
94
118
  function _possibleConstructorReturn(self, call) {
95
- if (call && (_typeof$1._typeof(call) === "object" || typeof call === "function")) {
119
+ if (call && (_typeof(call) === "object" || typeof call === "function")) {
96
120
  return call;
97
- } else if (call !== void 0) {
98
- throw new TypeError("Derived constructors may only return object or undefined");
99
121
  }
100
122
 
101
123
  return _assertThisInitialized(self);
@@ -258,25 +280,9 @@ var reactFastCompare = function isEqual(a, b) {
258
280
  }
259
281
  };
260
282
 
261
- function _typeof(obj) {
262
- "@babel/helpers - typeof";
263
-
264
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
265
- _typeof = function _typeof(obj) {
266
- return typeof obj;
267
- };
268
- } else {
269
- _typeof = function _typeof(obj) {
270
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
271
- };
272
- }
273
-
274
- return _typeof(obj);
275
- }
276
-
277
- function ownKeys$f(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
283
+ function ownKeys$f(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
278
284
 
279
- function _objectSpread$f(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$f(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$f(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
285
+ function _objectSpread$f(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$f(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$f(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
280
286
 
281
287
  // From https://github.com/reactjs/react-redux/blob/master/src/utils/shallowEqual.js
282
288
  var shallowEqual = function shallowEqual(objA, objB) {
@@ -422,6 +428,9 @@ var getPropertyByPath = function getPropertyByPath(object, path) {
422
428
  function getObjectType(object) {
423
429
  return Object.prototype.toString.call(object).slice(8, -1);
424
430
  }
431
+ function unescapeFacetValue$3(value) {
432
+ return value.replace(/^\\-/, '-');
433
+ }
425
434
 
426
435
  var instantSearchContext = /*#__PURE__*/React.createContext({
427
436
  onInternalStateUpdate: function onInternalStateUpdate() {
@@ -452,9 +461,9 @@ var _createContext$1 = /*#__PURE__*/React.createContext(undefined),
452
461
 
453
462
  var _excluded$4 = ["contextValue"];
454
463
 
455
- function ownKeys$e(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
464
+ function ownKeys$e(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
456
465
 
457
- function _objectSpread$e(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$e(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$e(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
466
+ function _objectSpread$e(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$e(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$e(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
458
467
 
459
468
  function _createSuper$q(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$q(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
460
469
 
@@ -477,6 +486,8 @@ function createConnectorWithoutContext(connectorDesc) {
477
486
 
478
487
  var isWidget = typeof connectorDesc.getSearchParameters === 'function' || typeof connectorDesc.getMetadata === 'function' || typeof connectorDesc.transitionState === 'function';
479
488
  return function (Composed) {
489
+ var additionalWidgetProperties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
490
+
480
491
  var Connector = /*#__PURE__*/function (_Component) {
481
492
  _inherits(Connector, _Component);
482
493
 
@@ -493,6 +504,8 @@ function createConnectorWithoutContext(connectorDesc) {
493
504
 
494
505
  _defineProperty(_assertThisInitialized(_this), "unregisterWidget", void 0);
495
506
 
507
+ _defineProperty(_assertThisInitialized(_this), "cleanupTimerRef", null);
508
+
496
509
  _defineProperty(_assertThisInitialized(_this), "isUnmounting", false);
497
510
 
498
511
  _defineProperty(_assertThisInitialized(_this), "state", {
@@ -536,7 +549,7 @@ function createConnectorWithoutContext(connectorDesc) {
536
549
  _this.props.contextValue.onSearchParameters(connectorDesc.getSearchParameters.bind(_assertThisInitialized(_this)), {
537
550
  ais: _this.props.contextValue,
538
551
  multiIndexContext: _this.props.indexContextValue
539
- }, _this.props, connectorDesc.getMetadata && connectorDesc.getMetadata.bind(_assertThisInitialized(_this)));
552
+ }, _this.props, connectorDesc.getMetadata && connectorDesc.getMetadata.bind(_assertThisInitialized(_this)), connectorDesc.displayName);
540
553
  }
541
554
 
542
555
  return _this;
@@ -547,6 +560,11 @@ function createConnectorWithoutContext(connectorDesc) {
547
560
  value: function componentDidMount() {
548
561
  var _this2 = this;
549
562
 
563
+ if (this.cleanupTimerRef) {
564
+ clearTimeout(this.cleanupTimerRef);
565
+ this.cleanupTimerRef = null;
566
+ }
567
+
550
568
  this.unsubscribe = this.props.contextValue.store.subscribe(function () {
551
569
  if (!_this2.isUnmounting) {
552
570
  _this2.setState({
@@ -598,23 +616,29 @@ function createConnectorWithoutContext(connectorDesc) {
598
616
  }, {
599
617
  key: "componentWillUnmount",
600
618
  value: function componentWillUnmount() {
601
- this.isUnmounting = true;
619
+ var _this3 = this;
602
620
 
603
- if (this.unsubscribe) {
604
- this.unsubscribe();
605
- }
621
+ this.cleanupTimerRef = setTimeout(function () {
622
+ _this3.isUnmounting = true;
623
+
624
+ if (_this3.unsubscribe) {
625
+ _this3.unsubscribe();
626
+ }
606
627
 
607
- if (this.unregisterWidget) {
608
- this.unregisterWidget();
628
+ if (_this3.unregisterWidget) {
629
+ _this3.unregisterWidget();
609
630
 
610
- if (typeof connectorDesc.cleanUp === 'function') {
611
- var nextState = connectorDesc.cleanUp.call(this, this.props, this.props.contextValue.store.getState().widgets);
612
- this.props.contextValue.store.setState(_objectSpread$e(_objectSpread$e({}, this.props.contextValue.store.getState()), {}, {
613
- widgets: nextState
614
- }));
615
- this.props.contextValue.onSearchStateChange(removeEmptyKey(nextState));
631
+ if (typeof connectorDesc.cleanUp === 'function') {
632
+ var nextState = connectorDesc.cleanUp.call(_this3, _this3.props, _this3.props.contextValue.store.getState().widgets);
633
+
634
+ _this3.props.contextValue.store.setState(_objectSpread$e(_objectSpread$e({}, _this3.props.contextValue.store.getState()), {}, {
635
+ widgets: nextState
636
+ }));
637
+
638
+ _this3.props.contextValue.onSearchStateChange(removeEmptyKey(nextState));
639
+ }
616
640
  }
617
- }
641
+ });
618
642
  }
619
643
  }, {
620
644
  key: "getProvidedProps",
@@ -697,6 +721,10 @@ function createConnectorWithoutContext(connectorDesc) {
697
721
 
698
722
  _defineProperty(Connector, "displayName", "".concat(connectorDesc.displayName, "(").concat(getDisplayName(Composed), ")"));
699
723
 
724
+ _defineProperty(Connector, "$$type", connectorDesc.$$type);
725
+
726
+ _defineProperty(Connector, "$$widgetType", additionalWidgetProperties.$$widgetType);
727
+
700
728
  _defineProperty(Connector, "propTypes", connectorDesc.propTypes);
701
729
 
702
730
  _defineProperty(Connector, "defaultProps", connectorDesc.defaultProps);
@@ -708,8 +736,8 @@ function createConnectorWithoutContext(connectorDesc) {
708
736
  }
709
737
 
710
738
  var createConnectorWithContext = function createConnectorWithContext(connectorDesc) {
711
- return function (Composed) {
712
- var Connector = createConnectorWithoutContext(connectorDesc)(Composed);
739
+ return function (Composed, additionalWidgetProperties) {
740
+ var Connector = createConnectorWithoutContext(connectorDesc)(Composed, additionalWidgetProperties);
713
741
 
714
742
  var ConnectorWrapper = function ConnectorWrapper(props) {
715
743
  return /*#__PURE__*/React__default["default"].createElement(InstantSearchConsumer, null, function (contextValue) {
@@ -826,7 +854,7 @@ function parseAlgoliaHit(_ref2) {
826
854
  });
827
855
  }
828
856
 
829
- var version$1 = '6.17.0';
857
+ var version$1 = '6.38.0';
830
858
 
831
859
  function _createSuper$p(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$p(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
832
860
 
@@ -837,6 +865,7 @@ var withKeysPropType = function withKeysPropType(keys) {
837
865
  var prop = props[propName];
838
866
 
839
867
  if (prop) {
868
+ // eslint-disable-next-line no-restricted-syntax
840
869
  for (var _i = 0, _Object$keys = Object.keys(prop); _i < _Object$keys.length; _i++) {
841
870
  var key = _Object$keys[_i];
842
871
 
@@ -907,9 +936,9 @@ function translatable(defaultTranslations) {
907
936
  };
908
937
  }
909
938
 
910
- function ownKeys$d(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
939
+ function ownKeys$d(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
911
940
 
912
- function _objectSpread$d(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$d(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$d(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
941
+ function _objectSpread$d(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$d(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$d(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
913
942
  function getIndexId(context) {
914
943
  return hasMultipleIndices(context) ? context.multiIndexContext.targetedIndex : context.ais.mainTargetedIndex;
915
944
  }
@@ -1145,9 +1174,9 @@ function cleanUpValueWithMultiIndex(_ref4) {
1145
1174
  var _excluded$3 = ["children", "contextValue", "indexContextValue"],
1146
1175
  _excluded2$1 = ["children", "contextValue", "indexContextValue"];
1147
1176
 
1148
- function ownKeys$c(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1177
+ function ownKeys$c(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1149
1178
 
1150
- function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$c(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1179
+ function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$c(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1151
1180
 
1152
1181
  function getId$f() {
1153
1182
  return 'configure';
@@ -1155,6 +1184,7 @@ function getId$f() {
1155
1184
 
1156
1185
  var connectConfigure = createConnectorWithContext({
1157
1186
  displayName: 'AlgoliaConfigure',
1187
+ $$type: 'ais.configure',
1158
1188
  getProvidedProps: function getProvidedProps() {
1159
1189
  return {};
1160
1190
  },
@@ -1252,6 +1282,8 @@ var connectConfigure = createConnectorWithContext({
1252
1282
 
1253
1283
  var Configure = connectConfigure(function Configure() {
1254
1284
  return null;
1285
+ }, {
1286
+ $$widgetType: 'ais.configure'
1255
1287
  });
1256
1288
 
1257
1289
  function _arrayLikeToArray(arr, len) {
@@ -1269,7 +1301,7 @@ function _arrayWithoutHoles(arr) {
1269
1301
  }
1270
1302
 
1271
1303
  function _iterableToArray(iter) {
1272
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
1304
+ if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
1273
1305
  }
1274
1306
 
1275
1307
  function _unsupportedIterableToArray(o, minLen) {
@@ -3236,12 +3268,44 @@ var formatSort = function formatSort(sortBy, defaults) {
3236
3268
  );
3237
3269
  };
3238
3270
 
3271
+ /**
3272
+ * Replaces a leading - with \-
3273
+ * @private
3274
+ * @param {any} value the facet value to replace
3275
+ * @returns any
3276
+ */
3277
+ function escapeFacetValue$3(value) {
3278
+ if (typeof value !== 'string') return value;
3279
+
3280
+ return String(value).replace(/^-/, '\\-');
3281
+ }
3282
+
3283
+ /**
3284
+ * Replaces a leading \- with -
3285
+ * @private
3286
+ * @param {any} value the escaped facet value
3287
+ * @returns any
3288
+ */
3289
+ function unescapeFacetValue$2(value) {
3290
+ if (typeof value !== 'string') return value;
3291
+
3292
+ return value.replace(/^\\-/, '-');
3293
+ }
3294
+
3295
+ var escapeFacetValue_1 = {
3296
+ escapeFacetValue: escapeFacetValue$3,
3297
+ unescapeFacetValue: unescapeFacetValue$2
3298
+ };
3299
+
3239
3300
  var generateHierarchicalTree_1 = generateTrees;
3240
3301
 
3241
3302
 
3242
3303
 
3243
3304
 
3244
3305
 
3306
+ var escapeFacetValue$2 = escapeFacetValue_1.escapeFacetValue;
3307
+ var unescapeFacetValue$1 = escapeFacetValue_1.unescapeFacetValue;
3308
+
3245
3309
  function generateTrees(state) {
3246
3310
  return function generate(hierarchicalFacetResult, hierarchicalFacetIndex) {
3247
3311
  var hierarchicalFacet = state.hierarchicalFacets[hierarchicalFacetIndex];
@@ -3287,6 +3351,7 @@ function generateTrees(state) {
3287
3351
  count: null, // root level, no count
3288
3352
  isRefined: true, // root level, always refined
3289
3353
  path: null, // root level, no path
3354
+ escapedValue: null,
3290
3355
  exhaustive: rootExhaustive,
3291
3356
  data: null
3292
3357
  });
@@ -3362,7 +3427,7 @@ function generateHierarchicalTree(
3362
3427
  facetCount,
3363
3428
  facetValue,
3364
3429
  hierarchicalSeparator,
3365
- currentRefinement,
3430
+ unescapeFacetValue$1(currentRefinement),
3366
3431
  hierarchicalFacetResult.exhaustive
3367
3432
  );
3368
3433
  }),
@@ -3425,6 +3490,7 @@ function format(
3425
3490
  return {
3426
3491
  name: parts[parts.length - 1].trim(),
3427
3492
  path: facetValue,
3493
+ escapedValue: escapeFacetValue$2(facetValue),
3428
3494
  count: facetCount,
3429
3495
  isRefined:
3430
3496
  currentRefinement === facetValue ||
@@ -3434,6 +3500,11 @@ function format(
3434
3500
  };
3435
3501
  }
3436
3502
 
3503
+ var escapeFacetValue$1 = escapeFacetValue_1.escapeFacetValue;
3504
+ var unescapeFacetValue = escapeFacetValue_1.unescapeFacetValue;
3505
+
3506
+
3507
+
3437
3508
  /**
3438
3509
  * @typedef SearchResults.Facet
3439
3510
  * @type {object}
@@ -3648,7 +3719,7 @@ function findMatchingHierarchicalFacetFromAttributeName(
3648
3719
  }
3649
3720
  **/
3650
3721
  /*eslint-enable */
3651
- function SearchResults(state, results) {
3722
+ function SearchResults(state, results, options) {
3652
3723
  var mainSubResponse = results[0];
3653
3724
 
3654
3725
  this._rawResults = results;
@@ -3660,6 +3731,11 @@ function SearchResults(state, results) {
3660
3731
  self[key] = mainSubResponse[key];
3661
3732
  });
3662
3733
 
3734
+ // Make every key of the result options reachable from the instance
3735
+ Object.keys(options || {}).forEach(function(key) {
3736
+ self[key] = options[key];
3737
+ });
3738
+
3663
3739
  /**
3664
3740
  * query used to generate the results
3665
3741
  * @name query
@@ -3927,7 +4003,7 @@ function SearchResults(state, results) {
3927
4003
  state.disjunctiveFacetsRefinements[dfacet].forEach(function(refinementValue) {
3928
4004
  // add the disjunctive refinements if it is no more retrieved
3929
4005
  if (!self.disjunctiveFacets[position].data[refinementValue] &&
3930
- state.disjunctiveFacetsRefinements[dfacet].indexOf(refinementValue) > -1) {
4006
+ state.disjunctiveFacetsRefinements[dfacet].indexOf(unescapeFacetValue(refinementValue)) > -1) {
3931
4007
  self.disjunctiveFacets[position].data[refinementValue] = 0;
3932
4008
  }
3933
4009
  });
@@ -3937,7 +4013,7 @@ function SearchResults(state, results) {
3937
4013
  nextDisjunctiveResult++;
3938
4014
  });
3939
4015
 
3940
- // if we have some root level values for hierarchical facets, merge them
4016
+ // if we have some parent level values for hierarchical facets, merge them
3941
4017
  state.getRefinedHierarchicalFacets().forEach(function(refinedFacet) {
3942
4018
  var hierarchicalFacet = state.getHierarchicalFacetByName(refinedFacet);
3943
4019
  var separator = state._getHierarchicalFacetSeparator(hierarchicalFacet);
@@ -3949,47 +4025,49 @@ function SearchResults(state, results) {
3949
4025
  return;
3950
4026
  }
3951
4027
 
3952
- var result = results[nextDisjunctiveResult];
3953
- var facets = result && result.facets
3954
- ? result.facets
3955
- : {};
3956
- Object.keys(facets).forEach(function(dfacet) {
3957
- var facetResults = facets[dfacet];
3958
- var position = findIndex(state.hierarchicalFacets, function(f) {
3959
- return f.name === hierarchicalFacet.name;
3960
- });
3961
- var attributeIndex = findIndex(self.hierarchicalFacets[position], function(f) {
3962
- return f.attribute === dfacet;
3963
- });
4028
+ results.slice(nextDisjunctiveResult).forEach(function(result) {
4029
+ var facets = result && result.facets
4030
+ ? result.facets
4031
+ : {};
3964
4032
 
3965
- // previous refinements and no results so not able to find it
3966
- if (attributeIndex === -1) {
3967
- return;
3968
- }
4033
+ Object.keys(facets).forEach(function(dfacet) {
4034
+ var facetResults = facets[dfacet];
4035
+ var position = findIndex(state.hierarchicalFacets, function(f) {
4036
+ return f.name === hierarchicalFacet.name;
4037
+ });
4038
+ var attributeIndex = findIndex(self.hierarchicalFacets[position], function(f) {
4039
+ return f.attribute === dfacet;
4040
+ });
3969
4041
 
3970
- // when we always get root levels, if the hits refinement is `beers > IPA` (count: 5),
3971
- // then the disjunctive values will be `beers` (count: 100),
3972
- // but we do not want to display
3973
- // | beers (100)
3974
- // > IPA (5)
3975
- // We want
3976
- // | beers (5)
3977
- // > IPA (5)
3978
- var defaultData = {};
3979
-
3980
- if (currentRefinement.length > 0) {
3981
- var root = currentRefinement[0].split(separator)[0];
3982
- defaultData[root] = self.hierarchicalFacets[position][attributeIndex].data[root];
3983
- }
4042
+ // previous refinements and no results so not able to find it
4043
+ if (attributeIndex === -1) {
4044
+ return;
4045
+ }
3984
4046
 
3985
- self.hierarchicalFacets[position][attributeIndex].data = defaultsPure(
3986
- defaultData,
3987
- facetResults,
3988
- self.hierarchicalFacets[position][attributeIndex].data
3989
- );
3990
- });
4047
+ // when we always get root levels, if the hits refinement is `beers > IPA` (count: 5),
4048
+ // then the disjunctive values will be `beers` (count: 100),
4049
+ // but we do not want to display
4050
+ // | beers (100)
4051
+ // > IPA (5)
4052
+ // We want
4053
+ // | beers (5)
4054
+ // > IPA (5)
4055
+ var defaultData = {};
4056
+
4057
+ if (currentRefinement.length > 0) {
4058
+ var root = currentRefinement[0].split(separator)[0];
4059
+ defaultData[root] = self.hierarchicalFacets[position][attributeIndex].data[root];
4060
+ }
3991
4061
 
3992
- nextDisjunctiveResult++;
4062
+ self.hierarchicalFacets[position][attributeIndex].data = defaultsPure(
4063
+ defaultData,
4064
+ facetResults,
4065
+ self.hierarchicalFacets[position][attributeIndex].data
4066
+ );
4067
+ });
4068
+
4069
+ nextDisjunctiveResult++;
4070
+ });
3993
4071
  });
3994
4072
 
3995
4073
  // add the excludes
@@ -4059,10 +4137,12 @@ function extractNormalizedFacetValues(results, attribute) {
4059
4137
  if (!facet) return [];
4060
4138
 
4061
4139
  return Object.keys(facet.data).map(function(name) {
4140
+ var value = escapeFacetValue$1(name);
4062
4141
  return {
4063
4142
  name: name,
4143
+ escapedValue: value,
4064
4144
  count: facet.data[name],
4065
- isRefined: results._state.isFacetRefined(attribute, name),
4145
+ isRefined: results._state.isFacetRefined(attribute, value),
4066
4146
  isExcluded: results._state.isExcludeRefined(attribute, name)
4067
4147
  };
4068
4148
  });
@@ -4071,10 +4151,12 @@ function extractNormalizedFacetValues(results, attribute) {
4071
4151
  if (!disjunctiveFacet) return [];
4072
4152
 
4073
4153
  return Object.keys(disjunctiveFacet.data).map(function(name) {
4154
+ var value = escapeFacetValue$1(name);
4074
4155
  return {
4075
4156
  name: name,
4157
+ escapedValue: value,
4076
4158
  count: disjunctiveFacet.data[name],
4077
- isRefined: results._state.isDisjunctiveFacetRefined(attribute, name)
4159
+ isRefined: results._state.isDisjunctiveFacetRefined(attribute, value)
4078
4160
  };
4079
4161
  });
4080
4162
  } else if (results._state.isHierarchicalFacet(attribute)) {
@@ -4789,6 +4871,17 @@ DerivedHelper.prototype.getModifiedState = function(parameters) {
4789
4871
 
4790
4872
  var DerivedHelper_1 = DerivedHelper;
4791
4873
 
4874
+ function sortObject(obj) {
4875
+ return Object.keys(obj)
4876
+ .sort(function(a, b) {
4877
+ return a.localeCompare(b);
4878
+ })
4879
+ .reduce(function(acc, curr) {
4880
+ acc[curr] = obj[curr];
4881
+ return acc;
4882
+ }, {});
4883
+ }
4884
+
4792
4885
  var requestBuilder = {
4793
4886
  /**
4794
4887
  * Get all the queries to send to the client, those queries can used directly
@@ -4813,18 +4906,67 @@ var requestBuilder = {
4813
4906
  });
4814
4907
  });
4815
4908
 
4816
- // maybe more to get the root level of hierarchical facets when activated
4909
+ // More to get the parent levels of the hierarchical facets when refined
4817
4910
  state.getRefinedHierarchicalFacets().forEach(function(refinedFacet) {
4818
4911
  var hierarchicalFacet = state.getHierarchicalFacetByName(refinedFacet);
4819
-
4820
4912
  var currentRefinement = state.getHierarchicalRefinement(refinedFacet);
4821
- // if we are deeper than level 0 (starting from `beer > IPA`)
4822
- // we want to get the root values
4823
4913
  var separator = state._getHierarchicalFacetSeparator(hierarchicalFacet);
4914
+
4915
+ // If we are deeper than level 0 (starting from `beer > IPA`)
4916
+ // we want to get all parent values
4824
4917
  if (currentRefinement.length > 0 && currentRefinement[0].split(separator).length > 1) {
4825
- queries.push({
4826
- indexName: index,
4827
- params: requestBuilder._getDisjunctiveFacetSearchParams(state, refinedFacet, true)
4918
+ // We generate a map of the filters we will use for our facet values queries
4919
+ var filtersMap = currentRefinement[0].split(separator).slice(0, -1).reduce(
4920
+ function createFiltersMap(map, segment, level) {
4921
+ return map.concat({
4922
+ attribute: hierarchicalFacet.attributes[level],
4923
+ value: level === 0
4924
+ ? segment
4925
+ : [map[map.length - 1].value, segment].join(separator)
4926
+ });
4927
+ }
4928
+ , []);
4929
+
4930
+ filtersMap.forEach(function(filter, level) {
4931
+ var params = requestBuilder._getDisjunctiveFacetSearchParams(
4932
+ state,
4933
+ filter.attribute,
4934
+ level === 0
4935
+ );
4936
+
4937
+ // Keep facet filters unrelated to current hierarchical attributes
4938
+ function hasHierarchicalFacetFilter(value) {
4939
+ return hierarchicalFacet.attributes.some(function(attribute) {
4940
+ return attribute === value.split(':')[0];
4941
+ });
4942
+ }
4943
+
4944
+ var filteredFacetFilters = (params.facetFilters || []).reduce(function(acc, facetFilter) {
4945
+ if (Array.isArray(facetFilter)) {
4946
+ var filtered = facetFilter.filter(function(filterValue) {
4947
+ return !hasHierarchicalFacetFilter(filterValue);
4948
+ });
4949
+
4950
+ if (filtered.length > 0) {
4951
+ acc.push(filtered);
4952
+ }
4953
+ }
4954
+
4955
+ if (typeof facetFilter === 'string' && !hasHierarchicalFacetFilter(facetFilter)) {
4956
+ acc.push(facetFilter);
4957
+ }
4958
+
4959
+ return acc;
4960
+ }, []);
4961
+
4962
+ var parent = filtersMap[level - 1];
4963
+ if (level > 0) {
4964
+ params.facetFilters = filteredFacetFilters.concat(parent.attribute + ':' + parent.value);
4965
+ } else {
4966
+ params.facetFilters = filteredFacetFilters.length > 0 ? filteredFacetFilters : undefined;
4967
+ }
4968
+
4969
+ queries.push({indexName: index, params: params});
4828
4970
  });
4829
4971
  }
4830
4972
  });
@@ -4859,7 +5001,7 @@ var requestBuilder = {
4859
5001
  additionalParams.numericFilters = numericFilters;
4860
5002
  }
4861
5003
 
4862
- return merge_1({}, state.getQueryParams(), additionalParams);
5004
+ return sortObject(merge_1({}, state.getQueryParams(), additionalParams));
4863
5005
  },
4864
5006
 
4865
5007
  /**
@@ -4874,16 +5016,16 @@ var requestBuilder = {
4874
5016
  var numericFilters = requestBuilder._getNumericFilters(state, facet);
4875
5017
  var tagFilters = requestBuilder._getTagFilters(state);
4876
5018
  var additionalParams = {
4877
- hitsPerPage: 1,
5019
+ hitsPerPage: 0,
4878
5020
  page: 0,
4879
- attributesToRetrieve: [],
4880
- attributesToHighlight: [],
4881
- attributesToSnippet: [],
4882
- tagFilters: tagFilters,
4883
5021
  analytics: false,
4884
5022
  clickAnalytics: false
4885
5023
  };
4886
5024
 
5025
+ if (tagFilters.length > 0) {
5026
+ additionalParams.tagFilters = tagFilters;
5027
+ }
5028
+
4887
5029
  var hierarchicalFacet = state.getHierarchicalFacetByName(facet);
4888
5030
 
4889
5031
  if (hierarchicalFacet) {
@@ -4904,7 +5046,7 @@ var requestBuilder = {
4904
5046
  additionalParams.facetFilters = facetFilters;
4905
5047
  }
4906
5048
 
4907
- return merge_1({}, state.getQueryParams(), additionalParams);
5049
+ return sortObject(merge_1({}, state.getQueryParams(), additionalParams));
4908
5050
  },
4909
5051
 
4910
5052
  /**
@@ -5097,17 +5239,19 @@ var requestBuilder = {
5097
5239
  if (typeof maxFacetHits === 'number') {
5098
5240
  searchForFacetSearchParameters.maxFacetHits = maxFacetHits;
5099
5241
  }
5100
- return merge_1(
5242
+ return sortObject(merge_1(
5101
5243
  {},
5102
5244
  requestBuilder._getHitsSearchParams(stateForSearchForFacetValues),
5103
5245
  searchForFacetSearchParameters
5104
- );
5246
+ ));
5105
5247
  }
5106
5248
  };
5107
5249
 
5108
5250
  var requestBuilder_1 = requestBuilder;
5109
5251
 
5110
- var version = '3.7.0';
5252
+ var version = '3.11.1';
5253
+
5254
+ var escapeFacetValue = escapeFacetValue_1.escapeFacetValue;
5111
5255
 
5112
5256
  /**
5113
5257
  * Event triggered when a parameter is set or updated
@@ -5425,20 +5569,51 @@ AlgoliaSearchHelper.prototype.findAnswers = function(options) {
5425
5569
  */
5426
5570
  AlgoliaSearchHelper.prototype.searchForFacetValues = function(facet, query, maxFacetHits, userState) {
5427
5571
  var clientHasSFFV = typeof this.client.searchForFacetValues === 'function';
5572
+ var clientHasInitIndex = typeof this.client.initIndex === 'function';
5428
5573
  if (
5429
5574
  !clientHasSFFV &&
5430
- typeof this.client.initIndex !== 'function'
5575
+ !clientHasInitIndex &&
5576
+ typeof this.client.search !== 'function'
5431
5577
  ) {
5432
5578
  throw new Error(
5433
5579
  'search for facet values (searchable) was called, but this client does not have a function client.searchForFacetValues or client.initIndex(index).searchForFacetValues'
5434
5580
  );
5435
5581
  }
5582
+
5436
5583
  var state = this.state.setQueryParameters(userState || {});
5437
5584
  var isDisjunctive = state.isDisjunctiveFacet(facet);
5438
5585
  var algoliaQuery = requestBuilder_1.getSearchForFacetQuery(facet, query, maxFacetHits, state);
5439
5586
 
5440
5587
  this._currentNbQueries++;
5441
5588
  var self = this;
5589
+ var searchForFacetValuesPromise;
5590
+ // newer algoliasearch ^3.27.1 - ~4.0.0
5591
+ if (clientHasSFFV) {
5592
+ searchForFacetValuesPromise = this.client.searchForFacetValues([
5593
+ {indexName: state.index, params: algoliaQuery}
5594
+ ]);
5595
+ // algoliasearch < 3.27.1
5596
+ } else if (clientHasInitIndex) {
5597
+ searchForFacetValuesPromise = this.client
5598
+ .initIndex(state.index)
5599
+ .searchForFacetValues(algoliaQuery);
5600
+ // algoliasearch ~5.0.0
5601
+ } else {
5602
+ // @MAJOR only use client.search
5603
+ delete algoliaQuery.facetName;
5604
+ searchForFacetValuesPromise = this.client
5605
+ .search([
5606
+ {
5607
+ type: 'facet',
5608
+ facet: facet,
5609
+ indexName: state.index,
5610
+ params: algoliaQuery
5611
+ }
5612
+ ])
5613
+ .then(function processResponse(response) {
5614
+ return response.results[0];
5615
+ });
5616
+ }
5442
5617
 
5443
5618
  this.emit('searchForFacetValues', {
5444
5619
  state: state,
@@ -5446,10 +5621,6 @@ AlgoliaSearchHelper.prototype.searchForFacetValues = function(facet, query, maxF
5446
5621
  query: query
5447
5622
  });
5448
5623
 
5449
- var searchForFacetValuesPromise = clientHasSFFV
5450
- ? this.client.searchForFacetValues([{indexName: state.index, params: algoliaQuery}])
5451
- : this.client.initIndex(state.index).searchForFacetValues(algoliaQuery);
5452
-
5453
5624
  return searchForFacetValuesPromise.then(function addIsRefined(content) {
5454
5625
  self._currentNbQueries--;
5455
5626
  if (self._currentNbQueries === 0) self.emit('searchQueueEmpty');
@@ -5457,9 +5628,10 @@ AlgoliaSearchHelper.prototype.searchForFacetValues = function(facet, query, maxF
5457
5628
  content = Array.isArray(content) ? content[0] : content;
5458
5629
 
5459
5630
  content.facetHits.forEach(function(f) {
5631
+ f.escapedValue = escapeFacetValue(f.value);
5460
5632
  f.isRefined = isDisjunctive
5461
- ? state.isDisjunctiveFacetRefined(facet, f.value)
5462
- : state.isFacetRefined(facet, f.value);
5633
+ ? state.isDisjunctiveFacetRefined(facet, f.escapedValue)
5634
+ : state.isFacetRefined(facet, f.escapedValue);
5463
5635
  });
5464
5636
 
5465
5637
  return content;
@@ -6627,9 +6799,9 @@ algoliasearchHelper.SearchResults = SearchResults_1;
6627
6799
 
6628
6800
  var algoliasearchHelper_1 = algoliasearchHelper;
6629
6801
 
6630
- function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
6802
+ function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6631
6803
 
6632
- function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$b(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6804
+ function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$b(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6633
6805
 
6634
6806
  function createOptionalFilter(_ref) {
6635
6807
  var attributeName = _ref.attributeName,
@@ -6692,6 +6864,7 @@ function getSearchParametersFromProps(props) {
6692
6864
 
6693
6865
  var connectConfigureRelatedItems = createConnectorWithContext({
6694
6866
  displayName: 'AlgoliaConfigureRelatedItems',
6867
+ $$type: 'ais.configureRelatedItems',
6695
6868
  defaultProps: defaultProps$1,
6696
6869
  getProvidedProps: function getProvidedProps() {
6697
6870
  return {};
@@ -6757,17 +6930,24 @@ ConfigureRelatedItems.propTypes = {
6757
6930
  matchingPatterns: PropTypes__default["default"].object.isRequired,
6758
6931
  transformSearchParameters: PropTypes__default["default"].func
6759
6932
  };
6760
- connectConfigureRelatedItems(ConfigureRelatedItems);
6933
+ connectConfigureRelatedItems(ConfigureRelatedItems, {
6934
+ $$widgetType: 'ais.configureRelatedItems'
6935
+ });
6761
6936
 
6937
+ var MAX_WILDCARD_FACETS = 20;
6762
6938
  var connectDynamicWidgets = createConnectorWithContext({
6763
6939
  displayName: 'AlgoliaDynamicWidgets',
6940
+ $$type: 'ais.dynamicWidgets',
6764
6941
  defaultProps: {
6765
6942
  transformItems: function transformItems(items) {
6766
6943
  return items;
6767
- }
6944
+ },
6945
+ maxValuesPerFacet: 20
6768
6946
  },
6769
6947
  propTypes: {
6770
- transformItems: PropTypes__default["default"].func
6948
+ transformItems: PropTypes__default["default"].func,
6949
+ facets: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),
6950
+ maxValuesPerFacet: PropTypes__default["default"].number
6771
6951
  },
6772
6952
  getProvidedProps: function getProvidedProps(props, _searchState, searchResults) {
6773
6953
  var results = getResults(searchResults, {
@@ -6775,6 +6955,10 @@ var connectDynamicWidgets = createConnectorWithContext({
6775
6955
  multiIndexContext: props.indexContextValue
6776
6956
  });
6777
6957
 
6958
+ if (props.facets && !(Array.isArray(props.facets) && props.facets.length <= 1 && (props.facets[0] === '*' || props.facets[0] === undefined))) {
6959
+ throw new Error("The `facets` prop only accepts [] or [\"*\"], you passed ".concat(JSON.stringify(props.facets)));
6960
+ }
6961
+
6778
6962
  if (!results) {
6779
6963
  return {
6780
6964
  attributesToRender: []
@@ -6782,29 +6966,52 @@ var connectDynamicWidgets = createConnectorWithContext({
6782
6966
  }
6783
6967
 
6784
6968
  var facetOrder = results.renderingContent && results.renderingContent.facetOrdering && results.renderingContent.facetOrdering.facets && results.renderingContent.facetOrdering.facets.order || [];
6969
+ var attributesToRender = props.transformItems(facetOrder, {
6970
+ results: results
6971
+ });
6972
+
6973
+ if (attributesToRender.length > MAX_WILDCARD_FACETS && !props.facets) {
6974
+ // eslint-disable-next-line no-console
6975
+ console.warn("More than ".concat(MAX_WILDCARD_FACETS, " facets are requested to be displayed without explicitly setting which facets to retrieve. This could have a performance impact. Set \"facets\" to [] to do two smaller network requests, or explicitly to ['*'] to avoid this warning."));
6976
+ }
6977
+
6978
+ if (props.maxValuesPerFacet < results._state.maxValuesPerFacet) {
6979
+ // eslint-disable-next-line no-console
6980
+ console.warn("The maxValuesPerFacet set by dynamic widgets (".concat(props.maxValuesPerFacet, ") is smaller than one of the limits set by a widget (").concat(results._state.maxValuesPerFacet, "). This causes a mismatch in query parameters and thus an extra network request when that widget is mounted."));
6981
+ }
6982
+
6785
6983
  return {
6786
- attributesToRender: props.transformItems(facetOrder, {
6787
- results: results
6788
- })
6984
+ attributesToRender: attributesToRender
6789
6985
  };
6986
+ },
6987
+ getSearchParameters: function getSearchParameters(searchParameters, props) {
6988
+ return (props.facets || ['*']).reduce(function (acc, curr) {
6989
+ return acc.addFacet(curr);
6990
+ }, searchParameters.setQueryParameters({
6991
+ maxValuesPerFacet: Math.max(props.maxValuesPerFacet || 0, searchParameters.maxValuesPerFacet || 0)
6992
+ }));
6790
6993
  }
6791
6994
  });
6792
6995
 
6793
- function getAttribute(component) {
6794
- if (_typeof(component) !== 'object') {
6996
+ function isReactElement(element) {
6997
+ return _typeof(element) === 'object' && element.props;
6998
+ }
6999
+
7000
+ function getAttribute(element) {
7001
+ if (!isReactElement(element)) {
6795
7002
  return undefined;
6796
7003
  }
6797
7004
 
6798
- if (component.props.attribute) {
6799
- return component.props.attribute;
7005
+ if (element.props.attribute) {
7006
+ return element.props.attribute;
6800
7007
  }
6801
7008
 
6802
- if (Array.isArray(component.props.attributes)) {
6803
- return component.props.attributes[0];
7009
+ if (Array.isArray(element.props.attributes)) {
7010
+ return element.props.attributes[0];
6804
7011
  }
6805
7012
 
6806
- if (component.props.children) {
6807
- return getAttribute(React__default["default"].Children.only(component.props.children));
7013
+ if (element.props.children) {
7014
+ return getAttribute(React__default["default"].Children.only(element.props.children));
6808
7015
  }
6809
7016
 
6810
7017
  return undefined;
@@ -6838,7 +7045,9 @@ function DynamicWidgets(_ref) {
6838
7045
  }));
6839
7046
  }
6840
7047
 
6841
- connectDynamicWidgets(DynamicWidgets);
7048
+ connectDynamicWidgets(DynamicWidgets, {
7049
+ $$widgetType: 'ais.dynamicWidgets'
7050
+ });
6842
7051
 
6843
7052
  // A context rule must consist only of alphanumeric characters, hyphens, and underscores.
6844
7053
  // See https://www.algolia.com/doc/guides/managing-results/refine-results/merchandising-and-promoting/in-depth/implementing-query-rules/#context
@@ -6915,6 +7124,7 @@ var defaultProps = {
6915
7124
  };
6916
7125
  var connectQueryRules = createConnectorWithContext({
6917
7126
  displayName: 'AlgoliaQueryRules',
7127
+ $$type: 'ais.queryRules',
6918
7128
  defaultProps: defaultProps,
6919
7129
  getProvidedProps: function getProvidedProps(props, _1, searchResults) {
6920
7130
  var results = getResults(searchResults, {
@@ -6971,6 +7181,8 @@ var connectQueryRules = createConnectorWithContext({
6971
7181
 
6972
7182
  connectQueryRules(function QueryRuleContext() {
6973
7183
  return null;
7184
+ }, {
7185
+ $$widgetType: 'ais.queryRuleContext'
6974
7186
  });
6975
7187
 
6976
7188
  function _createSuper$o(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$o(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
@@ -7034,7 +7246,7 @@ var Index = /*#__PURE__*/function (_Component) {
7034
7246
  _this.props.contextValue.onSearchParameters(_this.getSearchParameters.bind(_assertThisInitialized(_this)), {
7035
7247
  ais: _this.props.contextValue,
7036
7248
  multiIndexContext: _this.state.indexContext
7037
- }, _this.props, undefined);
7249
+ }, _this.props, undefined, Index.displayName);
7038
7250
 
7039
7251
  return _this;
7040
7252
  }
@@ -7096,6 +7308,10 @@ _defineProperty(Index, "propTypes", {
7096
7308
 
7097
7309
  _defineProperty(Index, "displayName", 'AlgoliaIndex');
7098
7310
 
7311
+ _defineProperty(Index, "$$type", 'ais.index');
7312
+
7313
+ _defineProperty(Index, "$$widgetType", 'ais.index');
7314
+
7099
7315
  ({
7100
7316
  indexName: PropTypes__default["default"].string.isRequired,
7101
7317
  indexId: PropTypes__default["default"].string
@@ -7161,9 +7377,9 @@ var _excluded$2 = ["resultsFacetValues"],
7161
7377
  _excluded2 = ["resultsFacetValues"],
7162
7378
  _excluded3 = ["resultsFacetValues"];
7163
7379
 
7164
- function ownKeys$a(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
7380
+ function ownKeys$a(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7165
7381
 
7166
- function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$a(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7382
+ function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$a(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7167
7383
 
7168
7384
  function addAlgoliaAgents(searchClient) {
7169
7385
  if (typeof searchClient.addAlgoliaAgent === 'function') {
@@ -7257,6 +7473,7 @@ function createInstantSearchManager(_ref) {
7257
7473
  var skip = false;
7258
7474
  var stalledSearchTimer = null;
7259
7475
  var initialSearchParameters = helper.state;
7476
+ var searchCounter;
7260
7477
  var widgetsManager = createWidgetsManager(onWidgetsUpdate);
7261
7478
  hydrateSearchClient(searchClient, resultsState);
7262
7479
  var store = createStore({
@@ -7342,12 +7559,13 @@ function createInstantSearchManager(_ref) {
7342
7559
  if (!skip) {
7343
7560
  var _getSearchParameters = getSearchParameters(helper.state),
7344
7561
  mainParameters = _getSearchParameters.mainParameters,
7345
- derivedParameters = _getSearchParameters.derivedParameters; // We have to call `slice` because the method `detach` on the derived
7562
+ derivedParameters = _getSearchParameters.derivedParameters;
7563
+
7564
+ searchCounter = derivedParameters.length + 1; // We have to call `slice` because the method `detach` on the derived
7346
7565
  // helpers mutates the value `derivedHelpers`. The `forEach` loop does
7347
7566
  // not iterate on each value and we're not able to correctly clear the
7348
7567
  // previous derived helpers (memory leak + useless requests).
7349
7568
 
7350
-
7351
7569
  helper.derivedHelpers.slice().forEach(function (derivedHelper) {
7352
7570
  // Since we detach the derived helpers on **every** new search they
7353
7571
  // won't receive intermediate results in case of a stalled search.
@@ -7383,6 +7601,7 @@ function createInstantSearchManager(_ref) {
7383
7601
  function handleSearchSuccess(_ref3) {
7384
7602
  var indexId = _ref3.indexId;
7385
7603
  return function (event) {
7604
+ searchCounter--;
7386
7605
  var state = store.getState();
7387
7606
  var isDerivedHelpersEmpty = !helper.derivedHelpers.length;
7388
7607
  var results = state.results ? state.results : {}; // Switching from mono index to multi index and vice versa must reset the
@@ -7412,7 +7631,7 @@ function createInstantSearchManager(_ref) {
7412
7631
  store.setState(_objectSpread$a(_objectSpread$a({}, partialState), {}, {
7413
7632
  results: results,
7414
7633
  isSearchStalled: nextIsSearchStalled,
7415
- searching: false,
7634
+ searching: searchCounter > 0,
7416
7635
  error: null
7417
7636
  }));
7418
7637
  };
@@ -7737,6 +7956,8 @@ function getMetadataPayload(widgets, searchClient) {
7737
7956
 
7738
7957
  return {
7739
7958
  displayName: displayName,
7959
+ $$type: constructor.$$type,
7960
+ $$widgetType: constructor.$$widgetType,
7740
7961
  params: Object.keys(props).filter(function (prop) {
7741
7962
  return !internalProps.includes(prop) && defaultProps[prop] !== props[prop] && props[prop] !== undefined;
7742
7963
  })
@@ -7758,9 +7979,9 @@ function injectMetadata(widgets, searchClient) {
7758
7979
  refNode.appendChild(payloadContainer);
7759
7980
  }
7760
7981
 
7761
- function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
7982
+ function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7762
7983
 
7763
- function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$9(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7984
+ function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$9(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7764
7985
 
7765
7986
  function _createSuper$n(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$n(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
7766
7987
 
@@ -7821,6 +8042,8 @@ var InstantSearch = /*#__PURE__*/function (_Component) {
7821
8042
 
7822
8043
  _this = _super.call(this, props);
7823
8044
 
8045
+ _defineProperty(_assertThisInitialized(_this), "cleanupTimerRef", null);
8046
+
7824
8047
  _defineProperty(_assertThisInitialized(_this), "isUnmounting", false);
7825
8048
 
7826
8049
  var instantSearchManager = createInstantSearchManager({
@@ -7876,6 +8099,11 @@ var InstantSearch = /*#__PURE__*/function (_Component) {
7876
8099
  }, {
7877
8100
  key: "componentDidMount",
7878
8101
  value: function componentDidMount() {
8102
+ if (this.cleanupTimerRef) {
8103
+ clearTimeout(this.cleanupTimerRef);
8104
+ this.cleanupTimerRef = null;
8105
+ }
8106
+
7879
8107
  if (isMetadataEnabled()) {
7880
8108
  injectMetadata(this.state.instantSearchManager.widgetsManager.getWidgets(), this.props.searchClient);
7881
8109
  }
@@ -7883,8 +8111,13 @@ var InstantSearch = /*#__PURE__*/function (_Component) {
7883
8111
  }, {
7884
8112
  key: "componentWillUnmount",
7885
8113
  value: function componentWillUnmount() {
7886
- this.isUnmounting = true;
7887
- this.state.instantSearchManager.skipSearch();
8114
+ var _this2 = this;
8115
+
8116
+ this.cleanupTimerRef = setTimeout(function () {
8117
+ _this2.isUnmounting = true;
8118
+
8119
+ _this2.state.instantSearchManager.skipSearch();
8120
+ });
7888
8121
  }
7889
8122
  }, {
7890
8123
  key: "createHrefForState",
@@ -7911,7 +8144,7 @@ var InstantSearch = /*#__PURE__*/function (_Component) {
7911
8144
  }
7912
8145
  }, {
7913
8146
  key: "onSearchParameters",
7914
- value: function onSearchParameters(getSearchParameters, context, props, getMetadata) {
8147
+ value: function onSearchParameters(getSearchParameters, context, props, getMetadata, displayName) {
7915
8148
  if (this.props.onSearchParameters) {
7916
8149
  var _searchState = this.props.searchState ? this.props.searchState : {};
7917
8150
 
@@ -7926,7 +8159,8 @@ var InstantSearch = /*#__PURE__*/function (_Component) {
7926
8159
  getMetadata: getMetadata,
7927
8160
  context: context,
7928
8161
  props: props,
7929
- searchState: _searchState2
8162
+ searchState: _searchState2,
8163
+ displayName: displayName
7930
8164
  });
7931
8165
  }
7932
8166
  }
@@ -8018,9 +8252,9 @@ function transformValue$1(values) {
8018
8252
  if (item.isRefined) {
8019
8253
  acc.push({
8020
8254
  label: item.name,
8021
- // If dealing with a nested "items", "value" is equal to the previous value concatenated with the current label
8022
- // If dealing with the first level, "value" is equal to the current label
8023
- value: item.path
8255
+ // If dealing with a nested "items", "value" is equal to the previous value concatenated with the current value
8256
+ // If dealing with the first level, "value" is equal to the current value
8257
+ value: item.escapedValue
8024
8258
  }); // Create a variable in order to keep the same acc for the recursion, otherwise "reduce" returns a new one
8025
8259
 
8026
8260
  if (item.data) {
@@ -8071,6 +8305,7 @@ function transformValue$1(values) {
8071
8305
 
8072
8306
  var connectBreadcrumb = createConnectorWithContext({
8073
8307
  displayName: 'AlgoliaBreadcrumb',
8308
+ $$type: 'ais.breadcrumb',
8074
8309
  propTypes: {
8075
8310
  attributes: function attributes(props, propName, componentName) {
8076
8311
  var isNotString = function isNotString(val) {
@@ -8116,9 +8351,9 @@ var connectBreadcrumb = createConnectorWithContext({
8116
8351
  }
8117
8352
  });
8118
8353
 
8119
- function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8354
+ function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8120
8355
 
8121
- function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$8(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8356
+ function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8122
8357
  /**
8123
8358
  * connectCurrentRefinements connector provides the logic to build a widget that will
8124
8359
  * give the user the ability to remove all or some of the filters that were
@@ -8134,6 +8369,7 @@ function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) {
8134
8369
 
8135
8370
  var connectCurrentRefinements = createConnectorWithContext({
8136
8371
  displayName: 'AlgoliaCurrentRefinements',
8372
+ $$type: 'ais.currentRefinements',
8137
8373
  propTypes: {
8138
8374
  transformItems: PropTypes__default["default"].func
8139
8375
  },
@@ -8175,9 +8411,9 @@ var connectCurrentRefinements = createConnectorWithContext({
8175
8411
  }
8176
8412
  });
8177
8413
 
8178
- function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8414
+ function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8179
8415
 
8180
- function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$7(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8416
+ function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8181
8417
  var getId$c = function getId(props) {
8182
8418
  return props.attributes[0];
8183
8419
  };
@@ -8193,7 +8429,7 @@ function getCurrentRefinement$b(props, searchState, context) {
8193
8429
  return currentRefinement;
8194
8430
  }
8195
8431
 
8196
- function getValue$2(path, props, searchState, context) {
8432
+ function getValue$2(value, props, searchState, context) {
8197
8433
  var id = props.id,
8198
8434
  attributes = props.attributes,
8199
8435
  separator = props.separator,
@@ -8203,7 +8439,7 @@ function getValue$2(path, props, searchState, context) {
8203
8439
  var nextRefinement;
8204
8440
 
8205
8441
  if (currentRefinement === null) {
8206
- nextRefinement = path;
8442
+ nextRefinement = value;
8207
8443
  } else {
8208
8444
  var tmpSearchParameters = new algoliasearchHelper_1.SearchParameters({
8209
8445
  hierarchicalFacets: [{
@@ -8214,7 +8450,7 @@ function getValue$2(path, props, searchState, context) {
8214
8450
  showParentLevel: showParentLevel
8215
8451
  }]
8216
8452
  });
8217
- nextRefinement = tmpSearchParameters.toggleHierarchicalFacetRefinement(id, currentRefinement).toggleHierarchicalFacetRefinement(id, path).getHierarchicalRefinement(id)[0];
8453
+ nextRefinement = tmpSearchParameters.toggleHierarchicalFacetRefinement(id, currentRefinement).toggleHierarchicalFacetRefinement(id, value).getHierarchicalRefinement(id)[0];
8218
8454
  }
8219
8455
 
8220
8456
  return nextRefinement;
@@ -8224,7 +8460,7 @@ function transformValue(value, props, searchState, context) {
8224
8460
  return value.map(function (v) {
8225
8461
  return {
8226
8462
  label: v.name,
8227
- value: getValue$2(v.path, props, searchState, context),
8463
+ value: getValue$2(v.escapedValue, props, searchState, context),
8228
8464
  count: v.count,
8229
8465
  isRefined: v.isRefined,
8230
8466
  items: v.data && transformValue(v.data, props, searchState, context)
@@ -8264,7 +8500,7 @@ var sortBy$1 = ['name:asc'];
8264
8500
  * websites. From a UX point of view, we suggest not displaying more than two levels deep.
8265
8501
  * @name connectHierarchicalMenu
8266
8502
  * @requirements To use this widget, your attributes must be formatted in a specific way.
8267
- * If you want for example to have a hiearchical menu of categories, objects in your index
8503
+ * If you want for example to have a hierarchical menu of categories, objects in your index
8268
8504
  * should be formatted this way:
8269
8505
  *
8270
8506
  * ```json
@@ -8305,6 +8541,7 @@ var sortBy$1 = ['name:asc'];
8305
8541
 
8306
8542
  var connectHierarchicalMenu = createConnectorWithContext({
8307
8543
  displayName: 'AlgoliaHierarchicalMenu',
8544
+ $$type: 'ais.hierarchicalMenu',
8308
8545
  propTypes: {
8309
8546
  attributes: function attributes(props, propName, componentName) {
8310
8547
  var isNotString = function isNotString(val) {
@@ -8429,7 +8666,7 @@ var connectHierarchicalMenu = createConnectorWithContext({
8429
8666
  multiIndexContext: props.indexContextValue
8430
8667
  });
8431
8668
  var items = !currentRefinement ? [] : [{
8432
- label: "".concat(rootAttribute, ": ").concat(currentRefinement),
8669
+ label: "".concat(rootAttribute, ": ").concat(unescapeFacetValue$3(currentRefinement)),
8433
8670
  attribute: rootAttribute,
8434
8671
  value: function value(nextState) {
8435
8672
  return _refine$8(props, nextState, '', {
@@ -8520,6 +8757,7 @@ var highlight = function highlight(_ref) {
8520
8757
 
8521
8758
  var connectHighlight = createConnectorWithContext({
8522
8759
  displayName: 'AlgoliaHighlighter',
8760
+ $$type: 'ais.highlighter',
8523
8761
  propTypes: {},
8524
8762
  getProvidedProps: function getProvidedProps() {
8525
8763
  return {
@@ -8574,6 +8812,7 @@ var connectHighlight = createConnectorWithContext({
8574
8812
 
8575
8813
  var connectHits = createConnectorWithContext({
8576
8814
  displayName: 'AlgoliaHits',
8815
+ $$type: 'ais.hits',
8577
8816
  getProvidedProps: function getProvidedProps(props, searchState, searchResults) {
8578
8817
  var results = getResults(searchResults, {
8579
8818
  ais: props.contextValue,
@@ -8609,9 +8848,9 @@ var connectHits = createConnectorWithContext({
8609
8848
  }
8610
8849
  });
8611
8850
 
8612
- function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
8851
+ function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8613
8852
 
8614
- function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8853
+ function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8615
8854
 
8616
8855
  function getId$b() {
8617
8856
  return 'hitsPerPage';
@@ -8644,6 +8883,7 @@ function getCurrentRefinement$a(props, searchState, context) {
8644
8883
 
8645
8884
  var connectHitsPerPage = createConnectorWithContext({
8646
8885
  displayName: 'AlgoliaHitsPerPage',
8886
+ $$type: 'ais.hitsPerPage',
8647
8887
  propTypes: {
8648
8888
  defaultRefinement: PropTypes__default["default"].number.isRequired,
8649
8889
  items: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({
@@ -8763,6 +9003,7 @@ function extractHitsFromCachedHits(cachedHits) {
8763
9003
 
8764
9004
  var connectInfiniteHits = createConnectorWithContext({
8765
9005
  displayName: 'AlgoliaInfiniteHits',
9006
+ $$type: 'ais.infiniteHits',
8766
9007
  getProvidedProps: function getProvidedProps(props, searchState, searchResults) {
8767
9008
  var _this = this;
8768
9009
 
@@ -8864,9 +9105,9 @@ function getCurrentRefinement$8(props, searchState, context) {
8864
9105
  return currentRefinement;
8865
9106
  }
8866
9107
 
8867
- function getValue$1(name, props, searchState, context) {
9108
+ function getValue$1(value, props, searchState, context) {
8868
9109
  var currentRefinement = getCurrentRefinement$8(props, searchState, context);
8869
- return name === currentRefinement ? '' : name;
9110
+ return value === currentRefinement ? '' : value;
8870
9111
  }
8871
9112
 
8872
9113
  function getLimit$1(_ref) {
@@ -8913,6 +9154,7 @@ var defaultSortBy = ['count:desc', 'name:asc'];
8913
9154
 
8914
9155
  var connectMenu = createConnectorWithContext({
8915
9156
  displayName: 'AlgoliaMenu',
9157
+ $$type: 'ais.menu',
8916
9158
  propTypes: {
8917
9159
  attribute: PropTypes__default["default"].string.isRequired,
8918
9160
  showMore: PropTypes__default["default"].bool,
@@ -8964,7 +9206,7 @@ var connectMenu = createConnectorWithContext({
8964
9206
  items = searchForFacetValuesResults[attribute].map(function (v) {
8965
9207
  return {
8966
9208
  label: v.value,
8967
- value: getValue$1(v.value, props, searchState, {
9209
+ value: getValue$1(v.escapedValue, props, searchState, {
8968
9210
  ais: props.contextValue,
8969
9211
  multiIndexContext: props.indexContextValue
8970
9212
  }),
@@ -8984,7 +9226,7 @@ var connectMenu = createConnectorWithContext({
8984
9226
  }).map(function (v) {
8985
9227
  return {
8986
9228
  label: v.name,
8987
- value: getValue$1(v.name, props, searchState, {
9229
+ value: getValue$1(v.escapedValue, props, searchState, {
8988
9230
  ais: props.contextValue,
8989
9231
  multiIndexContext: props.indexContextValue
8990
9232
  }),
@@ -9055,7 +9297,7 @@ var connectMenu = createConnectorWithContext({
9055
9297
  multiIndexContext: props.indexContextValue
9056
9298
  }),
9057
9299
  items: currentRefinement === null ? [] : [{
9058
- label: "".concat(props.attribute, ": ").concat(currentRefinement),
9300
+ label: "".concat(props.attribute, ": ").concat(unescapeFacetValue$3(currentRefinement)),
9059
9301
  attribute: props.attribute,
9060
9302
  value: function value(nextState) {
9061
9303
  return _refine$7(props, nextState, '', {
@@ -9074,17 +9316,14 @@ function _arrayWithHoles(arr) {
9074
9316
  }
9075
9317
 
9076
9318
  function _iterableToArrayLimit(arr, i) {
9077
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
9078
-
9079
- if (_i == null) return;
9319
+ if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
9080
9320
  var _arr = [];
9081
9321
  var _n = true;
9082
9322
  var _d = false;
9083
-
9084
- var _s, _e;
9323
+ var _e = undefined;
9085
9324
 
9086
9325
  try {
9087
- for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
9326
+ for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
9088
9327
  _arr.push(_s.value);
9089
9328
 
9090
9329
  if (i && _arr.length === i) break;
@@ -9151,11 +9390,11 @@ function getCurrentRefinement$7(props, searchState, context) {
9151
9390
  }
9152
9391
 
9153
9392
  function isRefinementsRangeIncludesInsideItemRange(stats, start, end) {
9154
- return stats.min > start && stats.min < end || stats.max > start && stats.max < end;
9393
+ return stats.min >= start && stats.min <= end || stats.max >= start && stats.max <= end;
9155
9394
  }
9156
9395
 
9157
9396
  function isItemRangeIncludedInsideRefinementsRange(stats, start, end) {
9158
- return start > stats.min && start < stats.max || end > stats.min && end < stats.max;
9397
+ return start >= stats.min && start <= stats.max || end >= stats.min && end <= stats.max;
9159
9398
  }
9160
9399
 
9161
9400
  function itemHasRefinement(attribute, results, value) {
@@ -9196,6 +9435,7 @@ function _cleanUp$5(props, searchState, context) {
9196
9435
 
9197
9436
  var connectNumericMenu = createConnectorWithContext({
9198
9437
  displayName: 'AlgoliaNumericMenu',
9438
+ $$type: 'ais.numericMenu',
9199
9439
  propTypes: {
9200
9440
  id: PropTypes__default["default"].string,
9201
9441
  attribute: PropTypes__default["default"].string.isRequired,
@@ -9367,6 +9607,7 @@ function _refine$5(props, searchState, nextPage, context) {
9367
9607
 
9368
9608
  var connectPagination = createConnectorWithContext({
9369
9609
  displayName: 'AlgoliaPagination',
9610
+ $$type: 'ais.pagination',
9370
9611
  getProvidedProps: function getProvidedProps(props, searchState, searchResults) {
9371
9612
  var results = getResults(searchResults, {
9372
9613
  ais: props.contextValue,
@@ -9422,6 +9663,7 @@ var connectPagination = createConnectorWithContext({
9422
9663
 
9423
9664
  var connectPoweredBy = createConnectorWithContext({
9424
9665
  displayName: 'AlgoliaPoweredBy',
9666
+ $$type: 'ais.poweredBy',
9425
9667
  getProvidedProps: function getProvidedProps() {
9426
9668
  var hostname = typeof window === 'undefined' || typeof window.location === 'undefined' ? '' : window.location.hostname;
9427
9669
  var url = 'https://www.algolia.com/?' + 'utm_source=react-instantsearch&' + 'utm_medium=website&' + "utm_content=".concat(hostname, "&") + 'utm_campaign=poweredby';
@@ -9595,6 +9837,7 @@ function _cleanUp$4(props, searchState, context) {
9595
9837
 
9596
9838
  var connectRange = createConnectorWithContext({
9597
9839
  displayName: 'AlgoliaRange',
9840
+ $$type: 'ais.range',
9598
9841
  propTypes: {
9599
9842
  id: PropTypes__default["default"].string,
9600
9843
  attribute: PropTypes__default["default"].string.isRequired,
@@ -9764,12 +10007,12 @@ function getCurrentRefinement$4(props, searchState, context) {
9764
10007
  return [];
9765
10008
  }
9766
10009
 
9767
- function getValue(name, props, searchState, context) {
10010
+ function getValue(value, props, searchState, context) {
9768
10011
  var currentRefinement = getCurrentRefinement$4(props, searchState, context);
9769
- var isAnewValue = currentRefinement.indexOf(name) === -1;
9770
- var nextRefinement = isAnewValue ? currentRefinement.concat([name]) // cannot use .push(), it mutates
10012
+ var isAnewValue = currentRefinement.indexOf(value) === -1;
10013
+ var nextRefinement = isAnewValue ? currentRefinement.concat([value]) // cannot use .push(), it mutates
9771
10014
  : currentRefinement.filter(function (selectedValue) {
9772
- return selectedValue !== name;
10015
+ return selectedValue !== value;
9773
10016
  }); // cannot use .splice(), it mutates
9774
10017
 
9775
10018
  return nextRefinement;
@@ -9828,6 +10071,7 @@ function _cleanUp$3(props, searchState, context) {
9828
10071
  var sortBy = ['isRefined', 'count:desc', 'name:asc'];
9829
10072
  var connectRefinementList = createConnectorWithContext({
9830
10073
  displayName: 'AlgoliaRefinementList',
10074
+ $$type: 'ais.refinementList',
9831
10075
  propTypes: {
9832
10076
  id: PropTypes__default["default"].string,
9833
10077
  attribute: PropTypes__default["default"].string.isRequired,
@@ -9879,7 +10123,7 @@ var connectRefinementList = createConnectorWithContext({
9879
10123
  var items = isFromSearch ? searchForFacetValuesResults[attribute].map(function (v) {
9880
10124
  return {
9881
10125
  label: v.value,
9882
- value: getValue(v.value, props, searchState, {
10126
+ value: getValue(v.escapedValue, props, searchState, {
9883
10127
  ais: props.contextValue,
9884
10128
  multiIndexContext: props.indexContextValue
9885
10129
  }),
@@ -9897,7 +10141,7 @@ var connectRefinementList = createConnectorWithContext({
9897
10141
  }).map(function (v) {
9898
10142
  return {
9899
10143
  label: v.name,
9900
- value: getValue(v.name, props, searchState, {
10144
+ value: getValue(v.escapedValue, props, searchState, {
9901
10145
  ais: props.contextValue,
9902
10146
  multiIndexContext: props.indexContextValue
9903
10147
  }),
@@ -9970,7 +10214,7 @@ var connectRefinementList = createConnectorWithContext({
9970
10214
  },
9971
10215
  items: getCurrentRefinement$4(props, searchState, context).map(function (item) {
9972
10216
  return {
9973
- label: "".concat(item),
10217
+ label: unescapeFacetValue$3("".concat(item)),
9974
10218
  value: function value(nextState) {
9975
10219
  var nextSelectedItems = getCurrentRefinement$4(props, nextState, context).filter(function (other) {
9976
10220
  return other !== item;
@@ -9996,6 +10240,7 @@ var connectRefinementList = createConnectorWithContext({
9996
10240
 
9997
10241
  var connectScrollTo = createConnectorWithContext({
9998
10242
  displayName: 'AlgoliaScrollTo',
10243
+ $$type: 'ais.scrollTo',
9999
10244
  propTypes: {
10000
10245
  scrollOn: PropTypes__default["default"].string
10001
10246
  },
@@ -10085,6 +10330,7 @@ function _cleanUp$2(props, searchState, context) {
10085
10330
 
10086
10331
  var connectSearchBox = createConnectorWithContext({
10087
10332
  displayName: 'AlgoliaSearchBox',
10333
+ $$type: 'ais.searchBox',
10088
10334
  propTypes: {
10089
10335
  defaultRefinement: PropTypes__default["default"].string
10090
10336
  },
@@ -10153,6 +10399,7 @@ function getCurrentRefinement$2(props, searchState, context) {
10153
10399
 
10154
10400
  var connectRelevantSort = createConnectorWithContext({
10155
10401
  displayName: 'AlgoliaRelevantSort',
10402
+ $$type: 'ais.relevantSort',
10156
10403
  getProvidedProps: function getProvidedProps(props, _searchState, searchResults) {
10157
10404
  var results = getResults(searchResults, {
10158
10405
  ais: props.contextValue,
@@ -10188,9 +10435,9 @@ var connectRelevantSort = createConnectorWithContext({
10188
10435
  }
10189
10436
  });
10190
10437
 
10191
- function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
10438
+ function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10192
10439
 
10193
- function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
10440
+ function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10194
10441
 
10195
10442
  function getId$2() {
10196
10443
  return 'sortBy';
@@ -10225,6 +10472,7 @@ function getCurrentRefinement$1(props, searchState, context) {
10225
10472
 
10226
10473
  var connectSortBy = createConnectorWithContext({
10227
10474
  displayName: 'AlgoliaSortBy',
10475
+ $$type: 'ais.sortBy',
10228
10476
  propTypes: {
10229
10477
  defaultRefinement: PropTypes__default["default"].string,
10230
10478
  items: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({
@@ -10293,6 +10541,7 @@ var connectSortBy = createConnectorWithContext({
10293
10541
 
10294
10542
  var connectStats = createConnectorWithContext({
10295
10543
  displayName: 'AlgoliaStats',
10544
+ $$type: 'ais.stats',
10296
10545
  getProvidedProps: function getProvidedProps(props, _searchState, searchResults) {
10297
10546
  var results = getResults(searchResults, {
10298
10547
  ais: props.contextValue,
@@ -10364,6 +10613,7 @@ function _cleanUp$1(props, searchState, context) {
10364
10613
 
10365
10614
  var connectToggleRefinement = createConnectorWithContext({
10366
10615
  displayName: 'AlgoliaToggle',
10616
+ $$type: 'ais.toggle',
10367
10617
  propTypes: {
10368
10618
  label: PropTypes__default["default"].string.isRequired,
10369
10619
  attribute: PropTypes__default["default"].string.isRequired,
@@ -10471,9 +10721,9 @@ var connectToggleRefinement = createConnectorWithContext({
10471
10721
  }
10472
10722
  });
10473
10723
 
10474
- function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
10724
+ function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10475
10725
 
10476
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
10726
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10477
10727
 
10478
10728
  function getId() {
10479
10729
  return 'query';
@@ -10532,6 +10782,7 @@ function _cleanUp(props, searchState, context) {
10532
10782
 
10533
10783
  var connectVoiceSearch = createConnectorWithContext({
10534
10784
  displayName: 'AlgoliaVoiceSearch',
10785
+ $$type: 'ais.voiceSearch',
10535
10786
  propTypes: {
10536
10787
  defaultRefinement: PropTypes__default["default"].string
10537
10788
  },
@@ -11014,7 +11265,9 @@ var BreadcrumbWidget = function BreadcrumbWidget(props) {
11014
11265
  return /*#__PURE__*/React__default["default"].createElement(PanelWrapper, props, /*#__PURE__*/React__default["default"].createElement(Breadcrumb$1, props));
11015
11266
  };
11016
11267
 
11017
- connectBreadcrumb(BreadcrumbWidget);
11268
+ connectBreadcrumb(BreadcrumbWidget, {
11269
+ $$widgetType: 'ais.breadcrumb'
11270
+ });
11018
11271
 
11019
11272
  function _createSuper$i(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$i(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
11020
11273
 
@@ -11110,7 +11363,9 @@ var ClearRefinementsWidget = function ClearRefinementsWidget(props) {
11110
11363
  return /*#__PURE__*/React__default["default"].createElement(PanelWrapper, props, /*#__PURE__*/React__default["default"].createElement(ClearRefinements$2, props));
11111
11364
  };
11112
11365
 
11113
- var ClearRefinements = connectCurrentRefinements(ClearRefinementsWidget);
11366
+ var ClearRefinements = connectCurrentRefinements(ClearRefinementsWidget, {
11367
+ $$widgetType: 'ais.clearRefinements'
11368
+ });
11114
11369
 
11115
11370
  var cx$m = createClassNames('CurrentRefinements');
11116
11371
  var CurrentRefinements = function CurrentRefinements(_ref) {
@@ -11218,11 +11473,13 @@ var CurrentRefinementsWidget = function CurrentRefinementsWidget(props) {
11218
11473
  return /*#__PURE__*/React__default["default"].createElement(PanelWrapper, props, /*#__PURE__*/React__default["default"].createElement(CurrentRefinements$1, props));
11219
11474
  };
11220
11475
 
11221
- connectCurrentRefinements(CurrentRefinementsWidget);
11476
+ connectCurrentRefinements(CurrentRefinementsWidget, {
11477
+ $$widgetType: 'ais.currentRefinements'
11478
+ });
11222
11479
 
11223
- function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
11480
+ function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11224
11481
 
11225
- function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
11482
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11226
11483
 
11227
11484
  function _createSuper$h(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$h(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
11228
11485
 
@@ -11439,6 +11696,7 @@ var SearchBox$1 = /*#__PURE__*/function (_Component) {
11439
11696
  return /*#__PURE__*/React__default["default"].createElement("div", {
11440
11697
  className: index.classnames(cx$l(''), className)
11441
11698
  }, /*#__PURE__*/React__default["default"].createElement("form", {
11699
+ ref: this.props.formRef,
11442
11700
  noValidate: true,
11443
11701
  onSubmit: this.props.onSubmit ? this.props.onSubmit : this.onSubmit,
11444
11702
  onReset: this.onReset,
@@ -11496,6 +11754,9 @@ _defineProperty(SearchBox$1, "propTypes", {
11496
11754
  onChange: PropTypes__default["default"].func,
11497
11755
  isSearchStalled: PropTypes__default["default"].bool,
11498
11756
  showLoadingIndicator: PropTypes__default["default"].bool,
11757
+ formRef: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].exact({
11758
+ current: PropTypes__default["default"].object
11759
+ })]),
11499
11760
  inputRef: PropTypes__default["default"].oneOfType([PropTypes__default["default"].func, PropTypes__default["default"].exact({
11500
11761
  current: PropTypes__default["default"].object
11501
11762
  })]),
@@ -11736,7 +11997,7 @@ var HierarchicalMenu = /*#__PURE__*/function (_Component) {
11736
11997
  createURL = _this$props.createURL,
11737
11998
  refine = _this$props.refine;
11738
11999
  return /*#__PURE__*/React__default["default"].createElement(Link, {
11739
- className: cx$k('link'),
12000
+ className: cx$k('link', item.isRefined && 'link--selected'),
11740
12001
  onClick: function onClick() {
11741
12002
  return refine(item.value);
11742
12003
  },
@@ -11811,7 +12072,7 @@ var HierarchicalMenu$1 = translatable({
11811
12072
  * @name HierarchicalMenu
11812
12073
  * @kind widget
11813
12074
  * @requirements To use this widget, your attributes must be formatted in a specific way.
11814
- * If you want for example to have a hiearchical menu of categories, objects in your index
12075
+ * If you want for example to have a hierarchical menu of categories, objects in your index
11815
12076
  * should be formatted this way:
11816
12077
  *
11817
12078
  * ```json
@@ -11861,6 +12122,7 @@ var HierarchicalMenu$1 = translatable({
11861
12122
  * @themeKey ais-HierarchicalMenu-item--selected - the selected menu list item
11862
12123
  * @themeKey ais-HierarchicalMenu-item--parent - the menu list item containing children
11863
12124
  * @themeKey ais-HierarchicalMenu-link - the clickable menu element
12125
+ * @themeKey ais-HierarchicalMenu-link--selected - the clickable element of a selected menu list item
11864
12126
  * @themeKey ais-HierarchicalMenu-label - the label of each item
11865
12127
  * @themeKey ais-HierarchicalMenu-count - the count of values for each item
11866
12128
  * @themeKey ais-HierarchicalMenu-showMore - the button used to display more categories
@@ -11896,7 +12158,9 @@ var HierarchicalMenuWidget = function HierarchicalMenuWidget(props) {
11896
12158
  return /*#__PURE__*/React__default["default"].createElement(PanelWrapper, props, /*#__PURE__*/React__default["default"].createElement(HierarchicalMenu$1, props));
11897
12159
  };
11898
12160
 
11899
- connectHierarchicalMenu(HierarchicalMenuWidget);
12161
+ connectHierarchicalMenu(HierarchicalMenuWidget, {
12162
+ $$widgetType: 'ais.hierarchicalMenu'
12163
+ });
11900
12164
 
11901
12165
  var Highlight$2 = function Highlight(_ref) {
11902
12166
  var cx = _ref.cx,
@@ -12033,7 +12297,9 @@ var Highlight$1 = function Highlight(props) {
12033
12297
  * );
12034
12298
  */
12035
12299
 
12036
- var Highlight = connectHighlight(Highlight$1);
12300
+ var Highlight = connectHighlight(Highlight$1, {
12301
+ $$widgetType: 'ais.highlight'
12302
+ });
12037
12303
 
12038
12304
  var cx$i = createClassNames('Hits');
12039
12305
 
@@ -12111,7 +12377,9 @@ Hits$1.propTypes = {
12111
12377
  * );
12112
12378
  */
12113
12379
 
12114
- var Hits = connectHits(Hits$1);
12380
+ var Hits = connectHits(Hits$1, {
12381
+ $$widgetType: 'ais.hits'
12382
+ });
12115
12383
 
12116
12384
  function _createSuper$e(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$e(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
12117
12385
 
@@ -12278,7 +12546,9 @@ _defineProperty(HitsPerPage, "defaultProps", {
12278
12546
  * );
12279
12547
  */
12280
12548
 
12281
- connectHitsPerPage(HitsPerPage);
12549
+ connectHitsPerPage(HitsPerPage, {
12550
+ $$widgetType: 'ais.hitsPerPage'
12551
+ });
12282
12552
 
12283
12553
  function _createSuper$c(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$c(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
12284
12554
 
@@ -12407,7 +12677,9 @@ var InfiniteHits$1 = translatable({
12407
12677
  * );
12408
12678
  */
12409
12679
 
12410
- connectInfiniteHits(InfiniteHits$1);
12680
+ connectInfiniteHits(InfiniteHits$1, {
12681
+ $$widgetType: 'ais.infiniteHits'
12682
+ });
12411
12683
 
12412
12684
  function _createSuper$b(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$b(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
12413
12685
 
@@ -12583,7 +12855,9 @@ var MenuWidget = function MenuWidget(props) {
12583
12855
  return /*#__PURE__*/React__default["default"].createElement(PanelWrapper, props, /*#__PURE__*/React__default["default"].createElement(Menu$1, props));
12584
12856
  };
12585
12857
 
12586
- connectMenu(MenuWidget);
12858
+ connectMenu(MenuWidget, {
12859
+ $$widgetType: 'ais.menu'
12860
+ });
12587
12861
 
12588
12862
  function _createSuper$a(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$a(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
12589
12863
 
@@ -12722,11 +12996,13 @@ var MenuSelectWidget = function MenuSelectWidget(props) {
12722
12996
  return /*#__PURE__*/React__default["default"].createElement(PanelWrapper, props, /*#__PURE__*/React__default["default"].createElement(MenuSelect$1, props));
12723
12997
  };
12724
12998
 
12725
- connectMenu(MenuSelectWidget);
12999
+ connectMenu(MenuSelectWidget, {
13000
+ $$widgetType: 'ais.menuSelect'
13001
+ });
12726
13002
 
12727
- function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
13003
+ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12728
13004
 
12729
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
13005
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12730
13006
 
12731
13007
  function _createSuper$9(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$9(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
12732
13008
 
@@ -12867,7 +13143,9 @@ var NumericMenuWidget = function NumericMenuWidget(props) {
12867
13143
  return /*#__PURE__*/React__default["default"].createElement(PanelWrapper, props, /*#__PURE__*/React__default["default"].createElement(NumericMenu$1, props));
12868
13144
  };
12869
13145
 
12870
- connectNumericMenu(NumericMenuWidget);
13146
+ connectNumericMenu(NumericMenuWidget, {
13147
+ $$widgetType: 'ais.numericMenu'
13148
+ });
12871
13149
 
12872
13150
  function _createSuper$8(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$8(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
12873
13151
 
@@ -13196,7 +13474,9 @@ var PaginationWidget = function PaginationWidget(props) {
13196
13474
  return /*#__PURE__*/React__default["default"].createElement(PanelWrapper, props, /*#__PURE__*/React__default["default"].createElement(Pagination$2, props));
13197
13475
  };
13198
13476
 
13199
- var Pagination = connectPagination(PaginationWidget);
13477
+ var Pagination = connectPagination(PaginationWidget, {
13478
+ $$widgetType: 'ais.pagination'
13479
+ });
13200
13480
 
13201
13481
  function _createSuper$6(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$6(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
13202
13482
 
@@ -13205,35 +13485,13 @@ var cx$b = createClassNames('PoweredBy');
13205
13485
 
13206
13486
  var AlgoliaLogo = function AlgoliaLogo() {
13207
13487
  return /*#__PURE__*/React__default["default"].createElement("svg", {
13208
- xmlns: "http://www.w3.org/2000/svg",
13209
- baseProfile: "basic",
13210
- viewBox: "0 0 1366 362",
13211
- width: "100",
13488
+ viewBox: "0 0 512 117",
13489
+ width: "118",
13212
13490
  height: "27",
13213
13491
  className: cx$b('logo')
13214
- }, /*#__PURE__*/React__default["default"].createElement("linearGradient", {
13215
- id: "g",
13216
- x1: "428.258",
13217
- x2: "434.145",
13218
- y1: "404.15",
13219
- y2: "409.85",
13220
- gradientUnits: "userSpaceOnUse",
13221
- gradientTransform: "matrix(94.045 0 0 -94.072 -40381.527 38479.52)"
13222
- }, /*#__PURE__*/React__default["default"].createElement("stop", {
13223
- offset: "0",
13224
- stopColor: "#00AEFF"
13225
- }), /*#__PURE__*/React__default["default"].createElement("stop", {
13226
- offset: "1",
13227
- stopColor: "#3369E7"
13228
- })), /*#__PURE__*/React__default["default"].createElement("path", {
13229
- d: "M61.8 15.4h242.8c23.9 0 43.4 19.4 43.4 43.4v242.9c0 23.9-19.4 43.4-43.4 43.4H61.8c-23.9 0-43.4-19.4-43.4-43.4v-243c0-23.9 19.4-43.3 43.4-43.3z",
13230
- fill: "url(#g)"
13231
- }), /*#__PURE__*/React__default["default"].createElement("path", {
13232
- d: "M187 98.7c-51.4 0-93.1 41.7-93.1 93.2S135.6 285 187 285s93.1-41.7 93.1-93.2-41.6-93.1-93.1-93.1zm0 158.8c-36.2 0-65.6-29.4-65.6-65.6s29.4-65.6 65.6-65.6 65.6 29.4 65.6 65.6-29.3 65.6-65.6 65.6zm0-117.8v48.9c0 1.4 1.5 2.4 2.8 1.7l43.4-22.5c1-.5 1.3-1.7.8-2.7-9-15.8-25.7-26.6-45-27.3-1 0-2 .8-2 1.9zm-60.8-35.9l-5.7-5.7c-5.6-5.6-14.6-5.6-20.2 0l-6.8 6.8c-5.6 5.6-5.6 14.6 0 20.2l5.6 5.6c.9.9 2.2.7 3-.2 3.3-4.5 6.9-8.8 10.9-12.8 4.1-4.1 8.3-7.7 12.9-11 1-.6 1.1-2 .3-2.9zM217.5 89V77.7c0-7.9-6.4-14.3-14.3-14.3h-33.3c-7.9 0-14.3 6.4-14.3 14.3v11.6c0 1.3 1.2 2.2 2.5 1.9 9.3-2.7 19.1-4.1 29-4.1 9.5 0 18.9 1.3 28 3.8 1.2.3 2.4-.6 2.4-1.9z",
13233
- fill: "#FFFFFF"
13234
- }), /*#__PURE__*/React__default["default"].createElement("path", {
13235
- d: "M842.5 267.6c0 26.7-6.8 46.2-20.5 58.6-13.7 12.4-34.6 18.6-62.8 18.6-10.3 0-31.7-2-48.8-5.8l6.3-31c14.3 3 33.2 3.8 43.1 3.8 15.7 0 26.9-3.2 33.6-9.6s10-15.9 10-28.5v-6.4c-3.9 1.9-9 3.8-15.3 5.8-6.3 1.9-13.6 2.9-21.8 2.9-10.8 0-20.6-1.7-29.5-5.1-8.9-3.4-16.6-8.4-22.9-15-6.3-6.6-11.3-14.9-14.8-24.8s-5.3-27.6-5.3-40.6c0-12.2 1.9-27.5 5.6-37.7 3.8-10.2 9.2-19 16.5-26.3 7.2-7.3 16-12.9 26.3-17s22.4-6.7 35.5-6.7c12.7 0 24.4 1.6 35.8 3.5 11.4 1.9 21.1 3.9 29 6.1v155.2zm-108.7-77.2c0 16.4 3.6 34.6 10.8 42.2 7.2 7.6 16.5 11.4 27.9 11.4 6.2 0 12.1-.9 17.6-2.6 5.5-1.7 9.9-3.7 13.4-6.1v-97.1c-2.8-.6-14.5-3-25.8-3.3-14.2-.4-25 5.4-32.6 14.7-7.5 9.3-11.3 25.6-11.3 40.8zm294.3 0c0 13.2-1.9 23.2-5.8 34.1s-9.4 20.2-16.5 27.9c-7.1 7.7-15.6 13.7-25.6 17.9s-25.4 6.6-33.1 6.6c-7.7-.1-23-2.3-32.9-6.6-9.9-4.3-18.4-10.2-25.5-17.9-7.1-7.7-12.6-17-16.6-27.9s-6-20.9-6-34.1c0-13.2 1.8-25.9 5.8-36.7 4-10.8 9.6-20 16.8-27.7s15.8-13.6 25.6-17.8c9.9-4.2 20.8-6.2 32.6-6.2s22.7 2.1 32.7 6.2c10 4.2 18.6 10.1 25.6 17.8 7.1 7.7 12.6 16.9 16.6 27.7 4.2 10.8 6.3 23.5 6.3 36.7zm-40 .1c0-16.9-3.7-31-10.9-40.8-7.2-9.9-17.3-14.8-30.2-14.8-12.9 0-23 4.9-30.2 14.8-7.2 9.9-10.7 23.9-10.7 40.8 0 17.1 3.6 28.6 10.8 38.5 7.2 10 17.3 14.9 30.2 14.9 12.9 0 23-5 30.2-14.9 7.2-10 10.8-21.4 10.8-38.5zm127.1 86.4c-64.1.3-64.1-51.8-64.1-60.1L1051 32l39.1-6.2v183.6c0 4.7 0 34.5 25.1 34.6v32.9zm68.9 0h-39.3V108.1l39.3-6.2v175zm-19.7-193.5c13.1 0 23.8-10.6 23.8-23.7S1177.6 36 1164.4 36s-23.8 10.6-23.8 23.7 10.7 23.7 23.8 23.7zm117.4 18.6c12.9 0 23.8 1.6 32.6 4.8 8.8 3.2 15.9 7.7 21.1 13.4s8.9 13.5 11.1 21.7c2.3 8.2 3.4 17.2 3.4 27.1v100.6c-6 1.3-15.1 2.8-27.3 4.6s-25.9 2.7-41.1 2.7c-10.1 0-19.4-1-27.7-2.9-8.4-1.9-15.5-5-21.5-9.3-5.9-4.3-10.5-9.8-13.9-16.6-3.3-6.8-5-16.4-5-26.4 0-9.6 1.9-15.7 5.6-22.3 3.8-6.6 8.9-12 15.3-16.2 6.5-4.2 13.9-7.2 22.4-9s17.4-2.7 26.6-2.7c4.3 0 8.8.3 13.6.8s9.8 1.4 15.2 2.7v-6.4c0-4.5-.5-8.8-1.6-12.8-1.1-4.1-3-7.6-5.6-10.7-2.7-3.1-6.2-5.5-10.6-7.2s-10-3-16.7-3c-9 0-17.2 1.1-24.7 2.4-7.5 1.3-13.7 2.8-18.4 4.5l-4.7-32.1c4.9-1.7 12.2-3.4 21.6-5.1s19.5-2.6 30.3-2.6zm3.3 141.9c12 0 20.9-.7 27.1-1.9v-39.8c-2.2-.6-5.3-1.3-9.4-1.9-4.1-.6-8.6-1-13.6-1-4.3 0-8.7.3-13.1 1-4.4.6-8.4 1.8-11.9 3.5s-6.4 4.1-8.5 7.2c-2.2 3.1-3.2 4.9-3.2 9.6 0 9.2 3.2 14.5 9 18 5.9 3.6 13.7 5.3 23.6 5.3zM512.9 103c12.9 0 23.8 1.6 32.6 4.8 8.8 3.2 15.9 7.7 21.1 13.4 5.3 5.8 8.9 13.5 11.1 21.7 2.3 8.2 3.4 17.2 3.4 27.1v100.6c-6 1.3-15.1 2.8-27.3 4.6-12.2 1.8-25.9 2.7-41.1 2.7-10.1 0-19.4-1-27.7-2.9-8.4-1.9-15.5-5-21.5-9.3-5.9-4.3-10.5-9.8-13.9-16.6-3.3-6.8-5-16.4-5-26.4 0-9.6 1.9-15.7 5.6-22.3 3.8-6.6 8.9-12 15.3-16.2 6.5-4.2 13.9-7.2 22.4-9s17.4-2.7 26.6-2.7c4.3 0 8.8.3 13.6.8 4.7.5 9.8 1.4 15.2 2.7v-6.4c0-4.5-.5-8.8-1.6-12.8-1.1-4.1-3-7.6-5.6-10.7-2.7-3.1-6.2-5.5-10.6-7.2-4.4-1.7-10-3-16.7-3-9 0-17.2 1.1-24.7 2.4-7.5 1.3-13.7 2.8-18.4 4.5l-4.7-32.1c4.9-1.7 12.2-3.4 21.6-5.1 9.4-1.8 19.5-2.6 30.3-2.6zm3.4 142c12 0 20.9-.7 27.1-1.9v-39.8c-2.2-.6-5.3-1.3-9.4-1.9-4.1-.6-8.6-1-13.6-1-4.3 0-8.7.3-13.1 1-4.4.6-8.4 1.8-11.9 3.5s-6.4 4.1-8.5 7.2c-2.2 3.1-3.2 4.9-3.2 9.6 0 9.2 3.2 14.5 9 18s13.7 5.3 23.6 5.3zm158.5 31.9c-64.1.3-64.1-51.8-64.1-60.1L610.6 32l39.1-6.2v183.6c0 4.7 0 34.5 25.1 34.6v32.9z",
13236
- fill: "#182359"
13492
+ }, /*#__PURE__*/React__default["default"].createElement("path", {
13493
+ fill: "#003DFF",
13494
+ d: "M249.5 64.2V1.4c0-.9-.7-1.5-1.6-1.4L236.2 2a1.4 1.4 0 0 0-1.2 1.3V67c0 3 0 21.6 22.4 22.3a1.4 1.4 0 0 0 1.5-1.4v-9.5c0-.7-.6-1.3-1.2-1.4-8.2-.9-8.2-11-8.2-12.7ZM443.5 24.4h-11.8c-.8 0-1.4.6-1.4 1.4v62c0 .8.6 1.4 1.4 1.4h11.8c.8 0 1.4-.6 1.4-1.4v-62c0-.8-.6-1.4-1.4-1.4ZM431.7 16.6h11.8c.8 0 1.4-.6 1.4-1.3v-14c0-.8-.7-1.4-1.6-1.3L431.5 2a1.4 1.4 0 0 0-1.2 1.3v12c0 .8.6 1.4 1.4 1.4Zm-20.5 47.6V1.4c0-.9-.7-1.5-1.5-1.4L397.9 2a1.4 1.4 0 0 0-1.2 1.3V67c0 3 0 21.6 22.4 22.3a1.4 1.4 0 0 0 1.5-1.4v-9.5c0-.7-.5-1.3-1.2-1.4-8.2-.9-8.2-11-8.2-12.7Zm-30.7-31c-2.6-2.8-5.8-5-9.6-6.5a31.7 31.7 0 0 0-12-2.3c-4.5 0-8.5.7-12.2 2.3A27.9 27.9 0 0 0 331 43.5a39.6 39.6 0 0 0 0 26.3c1.5 4 3.6 7.5 6.2 10.3 2.6 2.9 5.8 5 9.5 6.7a38 38 0 0 0 12.2 2.4c2.8 0 8.6-.9 12.3-2.4a27 27 0 0 0 9.5-6.7 35.1 35.1 0 0 0 8.3-23c0-4.9-.8-9.6-2.4-13.6-1.5-4-3.5-7.4-6.1-10.2ZM370 71.5a13.1 13.1 0 0 1-11.2 5.6 13 13 0 0 1-11.2-5.6c-2.7-3.6-4-7.9-4-14.2 0-6.3 1.3-11.5 4-15.1a13 13 0 0 1 11.1-5.5 13 13 0 0 1 11.3 5.5c2.6 3.6 4 8.8 4 15 0 6.4-1.3 10.6-4 14.3Zm-161.6-47H197a32 32 0 0 0-27 15 33.8 33.8 0 0 0 8.9 45.9 18.8 18.8 0 0 0 11.2 3.1H191.2l.6-.2h.2a21 21 0 0 0 16.5-14.6V87c0 .8.6 1.4 1.4 1.4h11.7c.8 0 1.4-.6 1.4-1.4V25.8c0-.8-.6-1.4-1.4-1.4h-13Zm0 48.3a17.8 17.8 0 0 1-10.4 3.5h-.2a12.5 12.5 0 0 1-.7 0A18.4 18.4 0 0 1 180.4 51c2.7-6.8 9-11.6 16.6-11.6h11.5v33.3Zm289-48.3H486a32 32 0 0 0-27 15 33.8 33.8 0 0 0 8.8 45.9 18.8 18.8 0 0 0 11.3 3.1h1.1l.6-.2h.2a21 21 0 0 0 16.5-14.6V87c0 .8.6 1.4 1.4 1.4h11.7c.8 0 1.4-.6 1.4-1.4V25.8c0-.8-.6-1.4-1.4-1.4h-13.1Zm0 48.3a17.8 17.8 0 0 1-10.5 3.5h-.9A18.4 18.4 0 0 1 469.4 51c2.6-6.8 9-11.6 16.6-11.6h11.5v33.3ZM306.3 24.4h-11.5a32 32 0 0 0-27 15 33.7 33.7 0 0 0-5.1 14.6 34.6 34.6 0 0 0 0 7.6c1 8.9 5.4 16.7 11.8 22a19.5 19.5 0 0 0 2.2 1.7 18.8 18.8 0 0 0 21.6-.6c3.8-2.7 6.7-6.7 8-11.1V87.9c0 5-1.3 8.9-4 11.5-2.7 2.6-7.3 3.9-13.6 3.9-2.6 0-6.7-.2-10.9-.6a1.4 1.4 0 0 0-1.4 1l-3 10a1.4 1.4 0 0 0 1.1 1.8c5 .7 10 1 12.8 1 11.4 0 19.8-2.4 25.3-7.4 5-4.6 7.8-11.4 8.2-20.7V25.8c0-.8-.6-1.4-1.3-1.4h-13.2Zm0 15s.2 32.4 0 33.4a17.5 17.5 0 0 1-10 3.4h-.2a13.6 13.6 0 0 1-1.7 0A18.7 18.7 0 0 1 278.3 51c2.6-6.8 9-11.6 16.5-11.6h11.5ZM58.2 0A58.3 58.3 0 1 0 86 109.5c.9-.5 1-1.6.3-2.2l-5.5-4.9a3.8 3.8 0 0 0-4-.6A47 47 0 0 1 11 57.5 47.3 47.3 0 0 1 58.2 11h47.3v84L78.7 71.2a2 2 0 0 0-3 .3 22 22 0 1 1 4.4-15.2 4 4 0 0 0 1.3 2.6l7 6.2c.8.7 2 .3 2.3-.8a33 33 0 0 0-30.4-39 33 33 0 0 0-35 32 33.3 33.3 0 0 0 32.2 33.9 32.8 32.8 0 0 0 20-6.3l35.1 31c1.5 1.4 3.9.3 3.9-1.7V2.2a2.2 2.2 0 0 0-2.2-2.2h-56Z"
13237
13495
  }));
13238
13496
  };
13239
13497
 
@@ -13313,7 +13571,9 @@ var PoweredBy$1 = translatable({
13313
13571
  * );
13314
13572
  */
13315
13573
 
13316
- connectPoweredBy(PoweredBy$1);
13574
+ connectPoweredBy(PoweredBy$1, {
13575
+ $$widgetType: 'ais.poweredBy'
13576
+ });
13317
13577
 
13318
13578
  function _createSuper$5(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$5(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
13319
13579
 
@@ -13512,11 +13772,13 @@ var RangeInputWidget = function RangeInputWidget(props) {
13512
13772
  return /*#__PURE__*/React__default["default"].createElement(PanelWrapper, props, /*#__PURE__*/React__default["default"].createElement(RangeInput, props));
13513
13773
  };
13514
13774
 
13515
- connectRange(RangeInputWidget);
13775
+ connectRange(RangeInputWidget, {
13776
+ $$widgetType: 'ais.rangeInput'
13777
+ });
13516
13778
 
13517
- function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
13779
+ function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13518
13780
 
13519
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
13781
+ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13520
13782
 
13521
13783
  function _createSuper$4(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$4(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
13522
13784
 
@@ -13762,7 +14024,9 @@ var RatingMenuWidget = function RatingMenuWidget(props) {
13762
14024
  return /*#__PURE__*/React__default["default"].createElement(PanelWrapper, props, /*#__PURE__*/React__default["default"].createElement(RatingMenu$1, props));
13763
14025
  };
13764
14026
 
13765
- connectRange(RatingMenuWidget);
14027
+ connectRange(RatingMenuWidget, {
14028
+ $$widgetType: 'ais.ratingMenu'
14029
+ });
13766
14030
 
13767
14031
  function _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
13768
14032
 
@@ -13948,7 +14212,9 @@ var RefinementListWidget = function RefinementListWidget(props) {
13948
14212
  return /*#__PURE__*/React__default["default"].createElement(PanelWrapper, props, /*#__PURE__*/React__default["default"].createElement(RefinementList$2, props));
13949
14213
  };
13950
14214
 
13951
- var RefinementList = connectRefinementList(RefinementListWidget);
14215
+ var RefinementList = connectRefinementList(RefinementListWidget, {
14216
+ $$widgetType: 'ais.refinementList'
14217
+ });
13952
14218
 
13953
14219
  function _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
13954
14220
 
@@ -14031,7 +14297,9 @@ _defineProperty(ScrollTo, "propTypes", {
14031
14297
  * );
14032
14298
  */
14033
14299
 
14034
- connectScrollTo(ScrollTo);
14300
+ connectScrollTo(ScrollTo, {
14301
+ $$widgetType: 'ais.scrollTo'
14302
+ });
14035
14303
 
14036
14304
  /**
14037
14305
  * The SearchBox component displays a search box that lets the user search for a specific query.
@@ -14081,7 +14349,9 @@ connectScrollTo(ScrollTo);
14081
14349
  * );
14082
14350
  */
14083
14351
 
14084
- var SearchBox = connectSearchBox(SearchBox$2);
14352
+ var SearchBox = connectSearchBox(SearchBox$2, {
14353
+ $$widgetType: 'ais.searchBox'
14354
+ });
14085
14355
 
14086
14356
  var cx$6 = createClassNames('Snippet');
14087
14357
 
@@ -14136,7 +14406,9 @@ var Snippet = function Snippet(props) {
14136
14406
  * );
14137
14407
  */
14138
14408
 
14139
- connectHighlight(Snippet);
14409
+ connectHighlight(Snippet, {
14410
+ $$widgetType: 'ais.snippet'
14411
+ });
14140
14412
 
14141
14413
  var cx$5 = createClassNames('RelevantSort');
14142
14414
 
@@ -14179,7 +14451,9 @@ RelevantSort.propTypes = {
14179
14451
  textComponent: PropTypes__default["default"].func
14180
14452
  };
14181
14453
 
14182
- connectRelevantSort(RelevantSort);
14454
+ connectRelevantSort(RelevantSort, {
14455
+ $$widgetType: 'ais.relevantSort'
14456
+ });
14183
14457
 
14184
14458
  function _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
14185
14459
 
@@ -14276,7 +14550,9 @@ _defineProperty(SortBy, "defaultProps", {
14276
14550
  * );
14277
14551
  */
14278
14552
 
14279
- connectSortBy(SortBy);
14553
+ connectSortBy(SortBy, {
14554
+ $$widgetType: 'ais.sortBy'
14555
+ });
14280
14556
 
14281
14557
  var cx$3 = createClassNames('Stats');
14282
14558
 
@@ -14337,7 +14613,9 @@ var Stats$1 = translatable({
14337
14613
  * );
14338
14614
  */
14339
14615
 
14340
- connectStats(Stats$1);
14616
+ connectStats(Stats$1, {
14617
+ $$widgetType: 'ais.stats'
14618
+ });
14341
14619
 
14342
14620
  var cx$2 = createClassNames('ToggleRefinement');
14343
14621
 
@@ -14417,11 +14695,13 @@ ToggleRefinement.defaultProps = {
14417
14695
  * );
14418
14696
  */
14419
14697
 
14420
- connectToggleRefinement(ToggleRefinement);
14698
+ connectToggleRefinement(ToggleRefinement, {
14699
+ $$widgetType: 'ais.toggleRefinement'
14700
+ });
14421
14701
 
14422
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
14702
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14423
14703
 
14424
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
14704
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14425
14705
 
14426
14706
  // copied from https://github.com/algolia/instantsearch.js/blob/688e36a67bb4c63d008d8abc02257a7b7c04e513/src/lib/voiceSearchHelper/index.ts
14427
14707
  // #region wrong SpeechRecognition-related types
@@ -14753,7 +15033,9 @@ var VoiceSearch$1 = translatable({
14753
15033
  disabledButtonTitle: 'Search by voice (not supported on this browser)'
14754
15034
  })(VoiceSearch);
14755
15035
 
14756
- connectVoiceSearch(VoiceSearch$1);
15036
+ connectVoiceSearch(VoiceSearch$1, {
15037
+ $$widgetType: 'ais.voiceSearch'
15038
+ });
14757
15039
 
14758
15040
  var cx = createClassNames('QueryRuleCustomData');
14759
15041
 
@@ -14778,7 +15060,9 @@ var QueryRuleCustomDataWidget = function QueryRuleCustomDataWidget(props) {
14778
15060
  return /*#__PURE__*/React__default["default"].createElement(PanelWrapper, props, /*#__PURE__*/React__default["default"].createElement(QueryRuleCustomData, props));
14779
15061
  };
14780
15062
 
14781
- connectQueryRules(QueryRuleCustomDataWidget);
15063
+ connectQueryRules(QueryRuleCustomDataWidget, {
15064
+ $$widgetType: 'ais.queryRuleCustomData'
15065
+ });
14782
15066
 
14783
15067
  var HitComponent = function HitComponent(hits, props) {
14784
15068
  var propsObj = {
@@ -14850,7 +15134,7 @@ var imageDiv = function imageDiv(hit, styles, client, siteType, defaultImage, va
14850
15134
  index$1.LazyLoad,
14851
15135
  { once: true },
14852
15136
  React__default["default"].createElement('img', {
14853
- src: hit.thumbnail && hit.thumbnail.asset ? urlFor({ client: client, source: hit.thumbnail }) : hit.thumbnail && _typeof$2._typeof(hit.thumbnail === 'string') ? hit.thumbnail : defaultImage
15137
+ src: hit.thumbnail && hit.thumbnail.asset ? urlFor({ client: client, source: hit.thumbnail }) : hit.thumbnail && _typeof$1._typeof(hit.thumbnail === 'string') ? hit.thumbnail : defaultImage
14854
15138
  })
14855
15139
  )
14856
15140
  )