react-instantsearch-core 7.12.1 → 7.12.3

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,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useIndex = useIndex;
7
7
  var _index = _interopRequireDefault(require("instantsearch.js/cjs/widgets/index/index"));
8
8
  var _react = require("react");
9
- var _useIndexContext = require("../lib/useIndexContext");
10
9
  var _useForceUpdate = require("./useForceUpdate");
10
+ var _useIndexContext = require("./useIndexContext");
11
11
  var _useInstantSearchServerContext = require("./useInstantSearchServerContext");
12
12
  var _useInstantSearchSSRContext = require("./useInstantSearchSSRContext");
13
13
  var _useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect");
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useIndexContext = useIndexContext;
7
7
  var _react = require("react");
8
- var _invariant = require("../lib/invariant");
9
8
  var _IndexContext = require("./IndexContext");
9
+ var _invariant = require("./invariant");
10
10
  function useIndexContext() {
11
11
  var context = (0, _react.useContext)(_IndexContext.IndexContext);
12
12
  (0, _invariant.invariant)(context !== null, 'The <Index> component must be used within <InstantSearch>.');
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useInstantSearchContext = useInstantSearchContext;
7
7
  var _react = require("react");
8
- var _invariant = require("../lib/invariant");
9
8
  var _InstantSearchContext = require("./InstantSearchContext");
9
+ var _invariant = require("./invariant");
10
10
  function useInstantSearchContext() {
11
11
  var search = (0, _react.useContext)(_InstantSearchContext.InstantSearchContext);
12
12
  (0, _invariant.invariant)(search !== null, 'Hooks must be used inside the <InstantSearch> component.\n\n' + 'They are not compatible with the `react-instantsearch-core@6.x` and `react-instantsearch-dom` packages, so make sure to use the <InstantSearch> component from `react-instantsearch-core@7.x`.');
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useStableValue = useStableValue;
7
7
  var _react = require("react");
8
- var _dequal = require("../lib/dequal");
8
+ var _dequal = require("./dequal");
9
9
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
10
10
  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."); }
11
11
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -7,7 +7,8 @@ exports.getServerState = getServerState;
7
7
  var _server = require("instantsearch.js/cjs/lib/server");
8
8
  var _utils = require("instantsearch.js/cjs/lib/utils");
9
9
  var _react = _interopRequireDefault(require("react"));
10
- var _ = require("..");
10
+ var _InstantSearchServerContext = require("../components/InstantSearchServerContext");
11
+ var _InstantSearchSSRProvider = require("../components/InstantSearchSSRProvider");
11
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13
  /**
13
14
  * Returns the InstantSearch server state from a component.
@@ -48,7 +49,7 @@ function getServerState(children, _ref) {
48
49
  if (shouldRefetch) {
49
50
  (0, _utils.resetWidgetId)();
50
51
  return execute({
51
- children: /*#__PURE__*/_react.default.createElement(_.InstantSearchSSRProvider, serverState, children),
52
+ children: /*#__PURE__*/_react.default.createElement(_InstantSearchSSRProvider.InstantSearchSSRProvider, serverState, children),
52
53
  renderToString: renderToString,
53
54
  searchRef: searchRef,
54
55
  notifyServer: createNotifyServer(),
@@ -65,7 +66,7 @@ function execute(_ref3) {
65
66
  searchRef = _ref3.searchRef,
66
67
  skipRecommend = _ref3.skipRecommend;
67
68
  return Promise.resolve().then(function () {
68
- renderToString( /*#__PURE__*/_react.default.createElement(_.InstantSearchServerContext.Provider, {
69
+ renderToString( /*#__PURE__*/_react.default.createElement(_InstantSearchServerContext.InstantSearchServerContext.Provider, {
69
70
  value: {
70
71
  notifyServer: notifyServer
71
72
  }
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _default = '7.12.1';
7
+ var _default = '7.12.3';
8
8
  exports.default = _default;
@@ -1,7 +1,7 @@
1
1
  import index from "instantsearch.js/es/widgets/index/index.js";
2
2
  import { useMemo } from 'react';
3
- import { useIndexContext } from "./useIndexContext.js";
4
3
  import { useForceUpdate } from "./useForceUpdate.js";
4
+ import { useIndexContext } from "./useIndexContext.js";
5
5
  import { useInstantSearchServerContext } from "./useInstantSearchServerContext.js";
6
6
  import { useInstantSearchSSRContext } from "./useInstantSearchSSRContext.js";
7
7
  import { useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect.js";
@@ -1,6 +1,6 @@
1
1
  import { useContext } from 'react';
2
- import { invariant } from "./invariant.js";
3
2
  import { IndexContext } from "./IndexContext.js";
3
+ import { invariant } from "./invariant.js";
4
4
  export function useIndexContext() {
5
5
  var context = useContext(IndexContext);
6
6
  invariant(context !== null, 'The <Index> component must be used within <InstantSearch>.');
@@ -1,6 +1,6 @@
1
1
  import { useContext } from 'react';
2
- import { invariant } from "./invariant.js";
3
2
  import { InstantSearchContext } from "./InstantSearchContext.js";
3
+ import { invariant } from "./invariant.js";
4
4
  export function useInstantSearchContext() {
5
5
  var search = useContext(InstantSearchContext);
6
6
  invariant(search !== null, 'Hooks must be used inside the <InstantSearch> component.\n\n' + 'They are not compatible with the `react-instantsearch-core@6.x` and `react-instantsearch-dom` packages, so make sure to use the <InstantSearch> component from `react-instantsearch-core@7.x`.');
@@ -1,4 +1,4 @@
1
- import type { InstantSearchServerState } from '..';
1
+ import type { InstantSearchServerState } from '../components/InstantSearchSSRProvider';
2
2
  import type { ReactNode } from 'react';
3
3
  export type RenderToString = (element: JSX.Element) => unknown;
4
4
  export type GetServerStateOptions = {
@@ -1,7 +1,8 @@
1
1
  import { getInitialResults, waitForResults } from "instantsearch.js/es/lib/server.js";
2
2
  import { walkIndex, resetWidgetId } from "instantsearch.js/es/lib/utils/index.js";
3
3
  import React from 'react';
4
- import { InstantSearchServerContext, InstantSearchSSRProvider } from "../index.js";
4
+ import { InstantSearchServerContext } from "../components/InstantSearchServerContext.js";
5
+ import { InstantSearchSSRProvider } from "../components/InstantSearchSSRProvider.js";
5
6
  /**
6
7
  * Returns the InstantSearch server state from a component.
7
8
  */
@@ -1,2 +1,2 @@
1
- declare const _default: "7.12.1";
1
+ declare const _default: "7.12.3";
2
2
  export default _default;
@@ -1 +1 @@
1
- export default '7.12.1';
1
+ export default '7.12.3';
@@ -7,7 +7,7 @@
7
7
 
8
8
  var React__default = 'default' in React ? React['default'] : React;
9
9
 
10
- var version = '7.12.1';
10
+ var version = '7.12.3';
11
11
 
12
12
  function _iterableToArrayLimit(arr, i) {
13
13
  var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
@@ -861,11 +861,10 @@
861
861
  params.facetFilters = filteredFacetFilters.concat(
862
862
  parent.attribute + ':' + parent.value
863
863
  );
864
+ } else if (filteredFacetFilters.length > 0) {
865
+ params.facetFilters = filteredFacetFilters;
864
866
  } else {
865
- params.facetFilters =
866
- filteredFacetFilters.length > 0
867
- ? filteredFacetFilters
868
- : undefined;
867
+ delete params.facetFilters;
869
868
  }
870
869
 
871
870
  queries.push({ indexName: index, params: params });
@@ -4667,7 +4666,7 @@
4667
4666
 
4668
4667
  var sortAndMergeRecommendations_1 = sortAndMergeRecommendations;
4669
4668
 
4670
- var version$1 = '3.22.2';
4669
+ var version$1 = '3.22.3';
4671
4670
 
4672
4671
  var escapeFacetValue$3 = escapeFacetValue_1.escapeFacetValue;
4673
4672
 
@@ -8248,19 +8247,20 @@
8248
8247
  if ((!('transporter' in client) || client._cacheHydrated) && (!client._useCache || typeof client.addAlgoliaAgent !== 'function')) {
8249
8248
  return;
8250
8249
  }
8251
- var cachedRequest = Object.keys(results).map(function (key) {
8250
+ var cachedRequest = [Object.keys(results).reduce(function (acc, key) {
8252
8251
  var _results$key = results[key],
8253
8252
  state = _results$key.state,
8254
8253
  requestParams = _results$key.requestParams,
8255
8254
  serverResults = _results$key.results;
8256
- return serverResults && state ? serverResults.map(function (result) {
8255
+ var mappedResults = serverResults && state ? serverResults.map(function (result, idx) {
8257
8256
  return _objectSpread$6({
8258
8257
  indexName: state.index || result.index
8259
- }, requestParams || result.params ? {
8260
- params: serializeQueryParameters(requestParams || deserializeQueryParameters(result.params))
8258
+ }, requestParams !== null && requestParams !== void 0 && requestParams[idx] || result.params ? {
8259
+ params: serializeQueryParameters((requestParams === null || requestParams === void 0 ? void 0 : requestParams[idx]) || deserializeQueryParameters(result.params))
8261
8260
  } : {});
8262
8261
  }) : [];
8263
- });
8262
+ return acc.concat(mappedResults);
8263
+ }, [])];
8264
8264
  var cachedResults = Object.keys(results).reduce(function (acc, key) {
8265
8265
  var res = results[key].results;
8266
8266
  if (!res) {
@@ -9027,6 +9027,8 @@
9027
9027
  };
9028
9028
  }
9029
9029
 
9030
+ var IndexContext = /*#__PURE__*/React.createContext(null);
9031
+
9030
9032
  /**
9031
9033
  * Throws an error if the condition is not met.
9032
9034
  *
@@ -9044,8 +9046,6 @@
9044
9046
  }
9045
9047
  }
9046
9048
 
9047
- var IndexContext = /*#__PURE__*/React.createContext(null);
9048
-
9049
9049
  function useIndexContext() {
9050
9050
  var context = React.useContext(IndexContext);
9051
9051
  invariant(context !== null);
@@ -12083,6 +12083,11 @@
12083
12083
  var _this5 = this;
12084
12084
  return safelyRunOnBrowser(function (_ref6) {
12085
12085
  var window = _ref6.window;
12086
+ // When disposed and the cleanUrlOnDispose is set to false, we do not want to write the URL.
12087
+ if (_this5.isDisposed && !_this5._cleanUrlOnDispose) {
12088
+ return false;
12089
+ }
12090
+
12086
12091
  // We do want to `pushState` if:
12087
12092
  // - the router is not disposed, IS.js needs to update the URL
12088
12093
  // OR
@@ -18070,7 +18075,7 @@
18070
18075
  };
18071
18076
  }
18072
18077
 
18073
- var version$2 = '4.73.1';
18078
+ var version$2 = '4.73.3';
18074
18079
 
18075
18080
  function _typeof$I(obj) {
18076
18081
  "@babel/helpers - typeof";
@@ -19439,7 +19444,10 @@
19439
19444
  var searchResults = widget.getResults();
19440
19445
  var recommendResults = (_widget$getHelper = widget.getHelper()) === null || _widget$getHelper === void 0 ? void 0 : _widget$getHelper.lastRecommendResults;
19441
19446
  if (searchResults || recommendResults) {
19442
- var requestParams = requestParamsList === null || requestParamsList === void 0 ? void 0 : requestParamsList[requestParamsIndex++];
19447
+ var _searchResults$_rawRe;
19448
+ var resultsCount = (searchResults === null || searchResults === void 0 ? void 0 : (_searchResults$_rawRe = searchResults._rawResults) === null || _searchResults$_rawRe === void 0 ? void 0 : _searchResults$_rawRe.length) || 0;
19449
+ var requestParams = resultsCount ? requestParamsList === null || requestParamsList === void 0 ? void 0 : requestParamsList.slice(requestParamsIndex, requestParamsIndex + resultsCount) : [];
19450
+ requestParamsIndex += resultsCount;
19443
19451
  initialResults[widget.getIndexId()] = _objectSpread$D(_objectSpread$D(_objectSpread$D({}, searchResults && {
19444
19452
  state: _objectSpread$D({}, searchResults._state),
19445
19453
  results: searchResults._rawResults