instantsearch.js 4.61.0 → 4.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,9 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _utils = require("../../lib/utils");
9
- var _excluded = ["hierarchicalMenu"];
10
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
11
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
12
9
  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; }
13
10
  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; }
14
11
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -126,7 +123,7 @@ var connectBreadcrumb = function connectBreadcrumb(renderFn) {
126
123
  var path = searchParameters.getHierarchicalFacetBreadcrumb(hierarchicalFacetName);
127
124
  return removeEmptyRefinementsFromUiState(_objectSpread(_objectSpread({}, uiState), {}, {
128
125
  hierarchicalMenu: _objectSpread(_objectSpread({}, uiState.hierarchicalMenu), {}, _defineProperty({}, hierarchicalFacetName, path))
129
- }));
126
+ }), hierarchicalFacetName);
130
127
  },
131
128
  getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref4) {
132
129
  var uiState = _ref4.uiState;
@@ -177,18 +174,17 @@ function shiftItemsValues(array) {
177
174
  };
178
175
  });
179
176
  }
180
- function removeEmptyRefinementsFromUiState(indexUiState) {
181
- var hierarchicalMenu = indexUiState.hierarchicalMenu,
182
- indexUiStateBase = _objectWithoutProperties(indexUiState, _excluded);
183
- if (!hierarchicalMenu) {
177
+ function removeEmptyRefinementsFromUiState(indexUiState, attribute) {
178
+ if (!indexUiState.hierarchicalMenu) {
184
179
  return indexUiState;
185
180
  }
186
- var connectorUiState = Object.keys(hierarchicalMenu).reduce(function (acc, key) {
187
- return _objectSpread(_objectSpread({}, acc), hierarchicalMenu[key].length > 0 ? _defineProperty({}, key, hierarchicalMenu[key]) : {});
188
- }, {});
189
- return _objectSpread(_objectSpread({}, indexUiStateBase), Object.keys(connectorUiState).length > 0 ? {
190
- hierarchicalMenu: connectorUiState
191
- } : {});
181
+ if (!indexUiState.hierarchicalMenu[attribute] || !indexUiState.hierarchicalMenu[attribute].length) {
182
+ delete indexUiState.hierarchicalMenu[attribute];
183
+ }
184
+ if (Object.keys(indexUiState.hierarchicalMenu).length === 0) {
185
+ delete indexUiState.hierarchicalMenu;
186
+ }
187
+ return indexUiState;
192
188
  }
193
189
  var _default = connectBreadcrumb;
194
190
  exports.default = _default;
@@ -6,8 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _utils = require("../../lib/utils");
9
- var _excluded = ["name", "escapedValue", "data", "path"],
10
- _excluded2 = ["hierarchicalMenu"];
9
+ var _excluded = ["name", "escapedValue", "data", "path"];
11
10
  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; }
12
11
  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; }
13
12
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -208,7 +207,7 @@ var connectHierarchicalMenu = function connectHierarchicalMenu(renderFn) {
208
207
  var path = searchParameters.getHierarchicalFacetBreadcrumb(hierarchicalFacetName);
209
208
  return removeEmptyRefinementsFromUiState(_objectSpread(_objectSpread({}, uiState), {}, {
210
209
  hierarchicalMenu: _objectSpread(_objectSpread({}, uiState.hierarchicalMenu), {}, _defineProperty({}, hierarchicalFacetName, path))
211
- }));
210
+ }), hierarchicalFacetName);
212
211
  },
213
212
  getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref6) {
214
213
  var uiState = _ref6.uiState;
@@ -241,18 +240,17 @@ var connectHierarchicalMenu = function connectHierarchicalMenu(renderFn) {
241
240
  };
242
241
  };
243
242
  };
244
- function removeEmptyRefinementsFromUiState(indexUiState) {
245
- var hierarchicalMenu = indexUiState.hierarchicalMenu,
246
- indexUiStateBase = _objectWithoutProperties(indexUiState, _excluded2);
247
- if (!hierarchicalMenu) {
243
+ function removeEmptyRefinementsFromUiState(indexUiState, attribute) {
244
+ if (!indexUiState.hierarchicalMenu) {
248
245
  return indexUiState;
249
246
  }
250
- var connectorUiState = Object.keys(hierarchicalMenu).reduce(function (acc, key) {
251
- return _objectSpread(_objectSpread({}, acc), hierarchicalMenu[key].length > 0 ? _defineProperty({}, key, hierarchicalMenu[key]) : {});
252
- }, {});
253
- return _objectSpread(_objectSpread({}, indexUiStateBase), Object.keys(connectorUiState).length > 0 ? {
254
- hierarchicalMenu: connectorUiState
255
- } : {});
247
+ if (!indexUiState.hierarchicalMenu[attribute] || indexUiState.hierarchicalMenu[attribute].length === 0) {
248
+ delete indexUiState.hierarchicalMenu[attribute];
249
+ }
250
+ if (Object.keys(indexUiState.hierarchicalMenu).length === 0) {
251
+ delete indexUiState.hierarchicalMenu;
252
+ }
253
+ return indexUiState;
256
254
  }
257
255
  var _default = connectHierarchicalMenu;
258
256
  exports.default = _default;
@@ -5,8 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _utils = require("../../lib/utils");
8
- var _excluded = ["name", "escapedValue", "path"],
9
- _excluded2 = ["menu"];
8
+ var _excluded = ["name", "escapedValue", "path"];
10
9
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
11
10
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
12
11
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
@@ -180,7 +179,7 @@ var connectMenu = function connectMenu(renderFn) {
180
179
  value = _searchParameters$get2[0];
181
180
  return removeEmptyRefinementsFromUiState(_objectSpread(_objectSpread({}, uiState), {}, {
182
181
  menu: _objectSpread(_objectSpread({}, uiState.menu), {}, _defineProperty({}, attribute, value))
183
- }));
182
+ }), attribute);
184
183
  },
185
184
  getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref5) {
186
185
  var uiState = _ref5.uiState;
@@ -206,19 +205,17 @@ var connectMenu = function connectMenu(renderFn) {
206
205
  };
207
206
  };
208
207
  };
209
- function removeEmptyRefinementsFromUiState(indexUiState) {
210
- var menu = indexUiState.menu,
211
- indexUiStateBase = _objectWithoutProperties(indexUiState, _excluded2);
212
- if (!menu) {
208
+ function removeEmptyRefinementsFromUiState(indexUiState, attribute) {
209
+ if (!indexUiState.menu) {
213
210
  return indexUiState;
214
211
  }
215
- var connectorUiState = Object.keys(menu).reduce(function (acc, key) {
216
- var _menu$key;
217
- return _objectSpread(_objectSpread({}, acc), ((_menu$key = menu[key]) === null || _menu$key === void 0 ? void 0 : _menu$key.length) > 0 ? _defineProperty({}, key, menu[key]) : {});
218
- }, {});
219
- return _objectSpread(_objectSpread({}, indexUiStateBase), Object.keys(connectorUiState).length > 0 ? {
220
- menu: connectorUiState
221
- } : {});
212
+ if (indexUiState.menu[attribute] === undefined) {
213
+ delete indexUiState.menu[attribute];
214
+ }
215
+ if (Object.keys(indexUiState.menu).length === 0) {
216
+ delete indexUiState.menu;
217
+ }
218
+ return indexUiState;
222
219
  }
223
220
  var _default = connectMenu;
224
221
  exports.default = _default;
@@ -5,10 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _utils = require("../../lib/utils");
8
- var _excluded = ["numericMenu"];
9
8
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
10
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
11
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
12
9
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
13
10
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
14
11
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -106,7 +103,7 @@ var connectNumericMenu = function connectNumericMenu(renderFn) {
106
103
  var max = values['<='] && values['<='][0] || '';
107
104
  return removeEmptyRefinementsFromUiState(_objectSpread(_objectSpread({}, uiState), {}, {
108
105
  numericMenu: _objectSpread(_objectSpread({}, uiState.numericMenu), {}, _defineProperty({}, attribute, "".concat(min, ":").concat(max)))
109
- }));
106
+ }), attribute);
110
107
  },
111
108
  getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref6) {
112
109
  var uiState = _ref6.uiState;
@@ -268,18 +265,17 @@ function getRefinedState(state, attribute, facetValue) {
268
265
  function hasNumericRefinement(currentRefinements, operator, value) {
269
266
  return currentRefinements[operator] !== undefined && currentRefinements[operator].includes(value);
270
267
  }
271
- function removeEmptyRefinementsFromUiState(indexUiState) {
272
- var numericMenu = indexUiState.numericMenu,
273
- indexUiStateBase = _objectWithoutProperties(indexUiState, _excluded);
274
- if (!numericMenu) {
268
+ function removeEmptyRefinementsFromUiState(indexUiState, attribute) {
269
+ if (!indexUiState.numericMenu) {
275
270
  return indexUiState;
276
271
  }
277
- var connectorUiState = Object.keys(numericMenu).reduce(function (acc, key) {
278
- return _objectSpread(_objectSpread({}, acc), numericMenu[key] !== ':' ? _defineProperty({}, key, numericMenu[key]) : {});
279
- }, {});
280
- return _objectSpread(_objectSpread({}, indexUiStateBase), Object.keys(connectorUiState).length > 0 ? {
281
- numericMenu: connectorUiState
282
- } : {});
272
+ if (indexUiState.numericMenu[attribute] === ':') {
273
+ delete indexUiState.numericMenu[attribute];
274
+ }
275
+ if (Object.keys(indexUiState.numericMenu).length === 0) {
276
+ delete indexUiState.numericMenu;
277
+ }
278
+ return indexUiState;
283
279
  }
284
280
  var _default = connectNumericMenu;
285
281
  exports.default = _default;
@@ -6,9 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _utils = require("../../lib/utils");
9
- var _excluded = ["ratingMenu"];
10
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
11
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
12
9
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
13
10
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
11
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
@@ -267,7 +264,7 @@ var connectRatingMenu = function connectRatingMenu(renderFn) {
267
264
  var value = _getRefinedStar(searchParameters);
268
265
  return removeEmptyRefinementsFromUiState(_objectSpread(_objectSpread({}, uiState), {}, {
269
266
  ratingMenu: _objectSpread(_objectSpread({}, uiState.ratingMenu), {}, _defineProperty({}, attribute, typeof value === 'number' ? value : undefined))
270
- }));
267
+ }), attribute);
271
268
  },
272
269
  getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref8) {
273
270
  var uiState = _ref8.uiState;
@@ -284,18 +281,17 @@ var connectRatingMenu = function connectRatingMenu(renderFn) {
284
281
  };
285
282
  };
286
283
  };
287
- function removeEmptyRefinementsFromUiState(indexUiState) {
288
- var ratingMenu = indexUiState.ratingMenu,
289
- indexUiStateBase = _objectWithoutProperties(indexUiState, _excluded);
290
- if (!ratingMenu) {
284
+ function removeEmptyRefinementsFromUiState(indexUiState, attribute) {
285
+ if (!indexUiState.ratingMenu) {
291
286
  return indexUiState;
292
287
  }
293
- var connectorUiState = Object.keys(ratingMenu).reduce(function (acc, key) {
294
- return _objectSpread(_objectSpread({}, acc), typeof ratingMenu[key] === 'number' ? _defineProperty({}, key, ratingMenu[key]) : {});
295
- }, {});
296
- return _objectSpread(_objectSpread({}, indexUiStateBase), Object.keys(connectorUiState).length > 0 ? {
297
- ratingMenu: connectorUiState
298
- } : {});
288
+ if (typeof indexUiState.ratingMenu[attribute] !== 'number') {
289
+ delete indexUiState.ratingMenu[attribute];
290
+ }
291
+ if (Object.keys(indexUiState.ratingMenu).length === 0) {
292
+ delete indexUiState.ratingMenu;
293
+ }
294
+ return indexUiState;
299
295
  }
300
296
  var _default = connectRatingMenu;
301
297
  exports.default = _default;
@@ -7,8 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _utils = require("../../lib/utils");
9
9
  var _excluded = ["name", "escapedValue"],
10
- _excluded2 = ["escapedValue", "value"],
11
- _excluded3 = ["refinementList"];
10
+ _excluded2 = ["escapedValue", "value"];
12
11
  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; }
13
12
  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; }
14
13
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -252,7 +251,7 @@ var connectRefinementList = function connectRefinementList(renderFn) {
252
251
  var values = operator === 'or' ? searchParameters.getDisjunctiveRefinements(attribute) : searchParameters.getConjunctiveRefinements(attribute);
253
252
  return removeEmptyRefinementsFromUiState(_objectSpread(_objectSpread({}, uiState), {}, {
254
253
  refinementList: _objectSpread(_objectSpread({}, uiState.refinementList), {}, _defineProperty({}, attribute, values))
255
- }));
254
+ }), attribute);
256
255
  },
257
256
  getWidgetSearchParameters: function getWidgetSearchParameters(searchParameters, _ref6) {
258
257
  var uiState = _ref6.uiState;
@@ -282,18 +281,17 @@ var connectRefinementList = function connectRefinementList(renderFn) {
282
281
  };
283
282
  };
284
283
  };
285
- function removeEmptyRefinementsFromUiState(indexUiState) {
286
- var refinementList = indexUiState.refinementList,
287
- indexUiStateBase = _objectWithoutProperties(indexUiState, _excluded3);
288
- if (!refinementList) {
284
+ function removeEmptyRefinementsFromUiState(indexUiState, attribute) {
285
+ if (!indexUiState.refinementList) {
289
286
  return indexUiState;
290
287
  }
291
- var connectorUiState = Object.keys(refinementList).reduce(function (acc, key) {
292
- return _objectSpread(_objectSpread({}, acc), refinementList[key].length > 0 ? _defineProperty({}, key, refinementList[key]) : {});
293
- }, {});
294
- return _objectSpread(_objectSpread({}, indexUiStateBase), Object.keys(connectorUiState).length > 0 ? {
295
- refinementList: connectorUiState
296
- } : {});
288
+ if (!indexUiState.refinementList[attribute] || indexUiState.refinementList[attribute].length === 0) {
289
+ delete indexUiState.refinementList[attribute];
290
+ }
291
+ if (Object.keys(indexUiState.refinementList).length === 0) {
292
+ delete indexUiState.refinementList;
293
+ }
294
+ return indexUiState;
297
295
  }
298
296
  var _default = connectRefinementList;
299
297
  exports.default = _default;
@@ -44,7 +44,8 @@ function defaultCreateURL() {
44
44
  * Global options for an InstantSearch instance.
45
45
  */
46
46
  var INSTANTSEARCH_FUTURE_DEFAULTS = {
47
- preserveSharedStateOnUnmount: false
47
+ preserveSharedStateOnUnmount: false,
48
+ persistHierarchicalRootCount: false
48
49
  };
49
50
 
50
51
  /**
@@ -381,7 +382,9 @@ var InstantSearch = /*#__PURE__*/function (_EventEmitter) {
381
382
  // DerivedHelper scoped into the `index` widgets.
382
383
  // In Vue InstantSearch' hydrate, a main helper gets set before start, so
383
384
  // we need to respect this helper as a way to keep all listeners correct.
384
- var mainHelper = this.mainHelper || (0, _algoliasearchHelper.default)(this.client, this.indexName);
385
+ var mainHelper = this.mainHelper || (0, _algoliasearchHelper.default)(this.client, this.indexName, undefined, {
386
+ persistHierarchicalRootCount: this.future.persistHierarchicalRootCount
387
+ });
385
388
  mainHelper.search = function () {
386
389
  _this3.status = 'loading';
387
390
  _this3.scheduleRender(false);
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _default = '4.61.0';
7
+ var _default = '4.62.0';
8
8
  exports.default = _default;
@@ -2627,6 +2627,16 @@ declare type InstantSearchOptions<TUiState extends UiState = UiState, TRouteStat
2627
2627
  * @default false
2628
2628
  */
2629
2629
  preserveSharedStateOnUnmount?: boolean;
2630
+ /**
2631
+ * Changes the way root levels of hierarchical facets have their count displayed.
2632
+ *
2633
+ * If `false` (by default), the count of the refined root level is updated to match the count of the actively refined parent level.
2634
+ *
2635
+ * If `true`, the count of the root level stays the same as the count of all children levels.
2636
+ *
2637
+ * @default false
2638
+ */
2639
+ persistHierarchicalRootCount?: boolean;
2630
2640
  };
2631
2641
  };
2632
2642