react-instantsearch-core

7.25.07.26.0
~

Modified (137 files)

Index: package/dist/cjs/components/Configure.js
===================================================================
--- package/dist/cjs/components/Configure.js
+++ package/dist/cjs/components/Configure.js
@@ -1,19 +1,13 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.Configure = Configure;
-var _useConfigure = require("../connectors/useConfigure");
-function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
-function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
-function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
-function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
-function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
-function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
+var _object_spread = require('@swc/helpers/_/_object_spread');
+var useConfigure = require('../connectors/useConfigure.js');
+
 function Configure(props) {
-  (0, _useConfigure.useConfigure)(_objectSpread({}, props), {
-    $$widgetType: 'ais.configure'
-  });
-  return null;
-}
\ No newline at end of file
+    useConfigure.useConfigure(_object_spread._({}, props), {
+        $$widgetType: 'ais.configure'
+    });
+    return null;
+}
+
+exports.Configure = Configure;
Index: package/dist/es/components/Configure.js
===================================================================
--- package/dist/es/components/Configure.js
+++ package/dist/es/components/Configure.js
@@ -1,13 +1,11 @@
-function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
-function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
-function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
-function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
-function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
-function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
-import { useConfigure } from "../connectors/useConfigure.js";
-export function Configure(props) {
-  useConfigure(_objectSpread({}, props), {
-    $$widgetType: 'ais.configure'
-  });
-  return null;
-}
\ No newline at end of file
+import { _ } from '@swc/helpers/cjs/_object_spread.cjs';
+import { useConfigure } from '../connectors/useConfigure.js';
+
+function Configure(props) {
+    useConfigure(_({}, props), {
+        $$widgetType: 'ais.configure'
+    });
+    return null;
+}
+
+export { Configure };
Index: package/dist/cjs/lib/createSearchResults.js
===================================================================
--- package/dist/cjs/lib/createSearchResults.js
+++ package/dist/cjs/lib/createSearchResults.js
@@ -1,27 +1,26 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.createSearchResults = createSearchResults;
-var _algoliasearchHelper = _interopRequireDefault(require("algoliasearch-helper"));
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var algoliasearchHelper = require('algoliasearch-helper');
+
 function createSearchResults(state) {
-  var _state$query, _state$page, _state$hitsPerPage;
-  return new _algoliasearchHelper.default.SearchResults(state, [{
-    query: (_state$query = state.query) !== null && _state$query !== void 0 ? _state$query : '',
-    page: (_state$page = state.page) !== null && _state$page !== void 0 ? _state$page : 0,
-    hitsPerPage: (_state$hitsPerPage = state.hitsPerPage) !== null && _state$hitsPerPage !== void 0 ? _state$hitsPerPage : 20,
-    hits: [],
-    nbHits: 0,
-    nbPages: 0,
-    params: '',
-    exhaustiveNbHits: true,
-    exhaustiveFacetsCount: true,
-    processingTimeMS: 0,
-    index: state.index
-  }], {
-    /** used by connectors to prevent persisting these results */
-    __isArtificial: true
-  });
-}
\ No newline at end of file
+    var _state_query, _state_page, _state_hitsPerPage;
+    return new algoliasearchHelper.SearchResults(state, [
+        {
+            query: (_state_query = state.query) !== null && _state_query !== void 0 ? _state_query : '',
+            page: (_state_page = state.page) !== null && _state_page !== void 0 ? _state_page : 0,
+            hitsPerPage: (_state_hitsPerPage = state.hitsPerPage) !== null && _state_hitsPerPage !== void 0 ? _state_hitsPerPage : 20,
+            hits: [],
+            nbHits: 0,
+            nbPages: 0,
+            params: '',
+            exhaustiveNbHits: true,
+            exhaustiveFacetsCount: true,
+            processingTimeMS: 0,
+            index: state.index
+        }
+    ], {
+        /** used by connectors to prevent persisting these results */ __isArtificial: true
+    });
+}
+
+exports.createSearchResults = createSearchResults;
Index: package/dist/es/lib/createSearchResults.js
===================================================================
--- package/dist/es/lib/createSearchResults.js
+++ package/dist/es/lib/createSearchResults.js
@@ -1,20 +1,24 @@
 import algoliasearchHelper from 'algoliasearch-helper';
-export function createSearchResults(state) {
-  var _state$query, _state$page, _state$hitsPerPage;
-  return new algoliasearchHelper.SearchResults(state, [{
-    query: (_state$query = state.query) !== null && _state$query !== void 0 ? _state$query : '',
-    page: (_state$page = state.page) !== null && _state$page !== void 0 ? _state$page : 0,
-    hitsPerPage: (_state$hitsPerPage = state.hitsPerPage) !== null && _state$hitsPerPage !== void 0 ? _state$hitsPerPage : 20,
-    hits: [],
-    nbHits: 0,
-    nbPages: 0,
-    params: '',
-    exhaustiveNbHits: true,
-    exhaustiveFacetsCount: true,
-    processingTimeMS: 0,
-    index: state.index
-  }], {
-    /** used by connectors to prevent persisting these results */
-    __isArtificial: true
-  });
-}
\ No newline at end of file
+
+function createSearchResults(state) {
+    var _state_query, _state_page, _state_hitsPerPage;
+    return new algoliasearchHelper.SearchResults(state, [
+        {
+            query: (_state_query = state.query) !== null && _state_query !== void 0 ? _state_query : '',
+            page: (_state_page = state.page) !== null && _state_page !== void 0 ? _state_page : 0,
+            hitsPerPage: (_state_hitsPerPage = state.hitsPerPage) !== null && _state_hitsPerPage !== void 0 ? _state_hitsPerPage : 20,
+            hits: [],
+            nbHits: 0,
+            nbPages: 0,
+            params: '',
+            exhaustiveNbHits: true,
+            exhaustiveFacetsCount: true,
+            processingTimeMS: 0,
+            index: state.index
+        }
+    ], {
+        /** used by connectors to prevent persisting these results */ __isArtificial: true
+    });
+}
+
+export { createSearchResults };
Index: package/dist/cjs/lib/dequal.js
===================================================================
--- package/dist/cjs/lib/dequal.js
+++ package/dist/cjs/lib/dequal.js
@@ -1,53 +1,46 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.dequal = dequal;
-function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
-/* eslint-disable complexity */
+var _type_of = require('@swc/helpers/_/_type_of');
 
-/*
+/* eslint-disable complexity */ /*
  * Code taken from dequal/lite v2.0.0
  * https://github.com/lukeed/dequal/blob/9aa73181ac7e081cd330cac67d313632ac04bb02/src/lite.js
  *
  * It adds a 3rd argument `compare(a, b)` that lets execute custom logic to
  * compare values.
  * We use it to skip comparing function references.
- */
-
-// eslint-disable-next-line @typescript-eslint/unbound-method
+ */ // eslint-disable-next-line @typescript-eslint/unbound-method
 var has = Object.prototype.hasOwnProperty;
 function dequal(foo, bar, compare) {
-  // start of custom implementation
-  if (compare !== null && compare !== void 0 && compare(foo, bar)) {
-    return true;
-  }
-  // end of custom implementation
-
-  var ctor;
-  var len;
-  if (foo === bar) return true;
-  if (foo && bar && (ctor = foo.constructor) === bar.constructor) {
-    if (ctor === Date) return foo.getTime() === bar.getTime();
-    if (ctor === RegExp) return foo.toString() === bar.toString();
-    if (ctor === Array) {
-      if ((len = foo.length) === bar.length) {
-        while (len-- && dequal(foo[len], bar[len], compare));
-      }
-      return len === -1;
+    // start of custom implementation
+    if (compare === null || compare === void 0 ? void 0 : compare(foo, bar)) {
+        return true;
     }
-    if (!ctor || _typeof(foo) === 'object') {
-      len = 0;
-      // eslint-disable-next-line guard-for-in, no-restricted-syntax
-      for (ctor in foo) {
-        if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;
-        if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor], compare)) return false;
-      }
-      return Object.keys(bar).length === len;
+    // end of custom implementation
+    var ctor;
+    var len;
+    if (foo === bar) return true;
+    if (foo && bar && (ctor = foo.constructor) === bar.constructor) {
+        if (ctor === Date) return foo.getTime() === bar.getTime();
+        if (ctor === RegExp) return foo.toString() === bar.toString();
+        if (ctor === Array) {
+            if ((len = foo.length) === bar.length) {
+                while(len-- && dequal(foo[len], bar[len], compare));
+            }
+            return len === -1;
+        }
+        if (!ctor || (typeof foo === "undefined" ? "undefined" : _type_of._(foo)) === 'object') {
+            len = 0;
+            // eslint-disable-next-line guard-for-in, no-restricted-syntax
+            for(ctor in foo){
+                if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;
+                if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor], compare)) return false;
+            }
+            return Object.keys(bar).length === len;
+        }
     }
-  }
+    // eslint-disable-next-line no-self-compare
+    return foo !== foo && bar !== bar;
+}
 
-  // eslint-disable-next-line no-self-compare
-  return foo !== foo && bar !== bar;
-}
\ No newline at end of file
+exports.dequal = dequal;
Index: package/dist/es/lib/dequal.js
===================================================================
--- package/dist/es/lib/dequal.js
+++ package/dist/es/lib/dequal.js
@@ -1,47 +1,44 @@
-function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
-/* eslint-disable complexity */
+import { _ } from '@swc/helpers/cjs/_type_of.cjs';
 
-/*
+/* eslint-disable complexity */ /*
  * Code taken from dequal/lite v2.0.0
  * https://github.com/lukeed/dequal/blob/9aa73181ac7e081cd330cac67d313632ac04bb02/src/lite.js
  *
  * It adds a 3rd argument `compare(a, b)` that lets execute custom logic to
  * compare values.
  * We use it to skip comparing function references.
- */
-
-// eslint-disable-next-line @typescript-eslint/unbound-method
+ */ // eslint-disable-next-line @typescript-eslint/unbound-method
 var has = Object.prototype.hasOwnProperty;
-export function dequal(foo, bar, compare) {
-  // start of custom implementation
-  if (compare !== null && compare !== void 0 && compare(foo, bar)) {
-    return true;
-  }
-  // end of custom implementation
-
-  var ctor;
-  var len;
-  if (foo === bar) return true;
-  if (foo && bar && (ctor = foo.constructor) === bar.constructor) {
-    if (ctor === Date) return foo.getTime() === bar.getTime();
-    if (ctor === RegExp) return foo.toString() === bar.toString();
-    if (ctor === Array) {
-      if ((len = foo.length) === bar.length) {
-        while (len-- && dequal(foo[len], bar[len], compare));
-      }
-      return len === -1;
+function dequal(foo, bar, compare) {
+    // start of custom implementation
+    if (compare === null || compare === void 0 ? void 0 : compare(foo, bar)) {
+        return true;
     }
-    if (!ctor || _typeof(foo) === 'object') {
-      len = 0;
-      // eslint-disable-next-line guard-for-in, no-restricted-syntax
-      for (ctor in foo) {
-        if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;
-        if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor], compare)) return false;
-      }
-      return Object.keys(bar).length === len;
+    // end of custom implementation
+    var ctor;
+    var len;
+    if (foo === bar) return true;
+    if (foo && bar && (ctor = foo.constructor) === bar.constructor) {
+        if (ctor === Date) return foo.getTime() === bar.getTime();
+        if (ctor === RegExp) return foo.toString() === bar.toString();
+        if (ctor === Array) {
+            if ((len = foo.length) === bar.length) {
+                while(len-- && dequal(foo[len], bar[len], compare));
+            }
+            return len === -1;
+        }
+        if (!ctor || (typeof foo === "undefined" ? "undefined" : _(foo)) === 'object') {
+            len = 0;
+            // eslint-disable-next-line guard-for-in, no-restricted-syntax
+            for(ctor in foo){
+                if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;
+                if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor], compare)) return false;
+            }
+            return Object.keys(bar).length === len;
+        }
     }
-  }
+    // eslint-disable-next-line no-self-compare
+    return foo !== foo && bar !== bar;
+}
 
-  // eslint-disable-next-line no-self-compare
-  return foo !== foo && bar !== bar;
-}
\ No newline at end of file
+export { dequal };
Index: package/dist/cjs/components/DynamicWidgets.js
===================================================================
--- package/dist/cjs/components/DynamicWidgets.js
+++ package/dist/cjs/components/DynamicWidgets.js
@@ -1,62 +1,55 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.DynamicWidgets = DynamicWidgets;
-var _react = _interopRequireWildcard(require("react"));
-var _useDynamicWidgets2 = require("../connectors/useDynamicWidgets");
-var _invariant = require("../lib/invariant");
-var _warn = require("../lib/warn");
-var _excluded = ["children", "fallbackComponent"];
-function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
-function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
-function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
-function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
+var _object_without_properties = require('@swc/helpers/_/_object_without_properties');
+var _type_of = require('@swc/helpers/_/_type_of');
+var React = require('react');
+var useDynamicWidgets = require('../connectors/useDynamicWidgets.js');
+var invariant = require('../lib/invariant.js');
+
 function DefaultFallbackComponent() {
-  return null;
+    return null;
 }
-function DynamicWidgets(_ref) {
-  var children = _ref.children,
-    _ref$fallbackComponen = _ref.fallbackComponent,
-    Fallback = _ref$fallbackComponen === void 0 ? DefaultFallbackComponent : _ref$fallbackComponen,
-    props = _objectWithoutProperties(_ref, _excluded);
-  var FallbackComponent = _react.default.useRef(Fallback);
-  process.env.NODE_ENV === 'development' ? (0, _warn.warn)(Fallback === FallbackComponent.current, 'The `fallbackComponent` prop of `DynamicWidgets` changed between renders. Please provide a stable reference, as described in https://www.algolia.com/doc/api-reference/widgets/dynamic-facets/react/#widget-param-fallbackcomponent') : void 0;
-  var _useDynamicWidgets = (0, _useDynamicWidgets2.useDynamicWidgets)(props, {
-      $$widgetType: 'ais.dynamicWidgets'
-    }),
-    attributesToRender = _useDynamicWidgets.attributesToRender;
-  var widgets = new Map();
-  _react.default.Children.forEach(children, function (child) {
-    var attribute = getWidgetAttribute(child);
-    (0, _invariant.invariant)(attribute !== undefined, "<DynamicWidgets> only supports InstantSearch widgets with an `attribute` or `attributes` prop.");
-    widgets.set(attribute, child);
-  });
-  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, attributesToRender.map(function (attribute) {
-    return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
-      key: attribute
-    }, widgets.get(attribute) || /*#__PURE__*/_react.default.createElement(FallbackComponent.current, {
-      attribute: attribute
+function DynamicWidgets(_0) {
+    var children = _0.children, tmp = _0.fallbackComponent, Fallback = tmp === void 0 ? DefaultFallbackComponent : tmp, props = _object_without_properties._(_0, [
+        "children",
+        "fallbackComponent"
+    ]);
+    var FallbackComponent = React.useRef(Fallback);
+    var attributesToRender = useDynamicWidgets.useDynamicWidgets(props, {
+        $$widgetType: 'ais.dynamicWidgets'
+    }).attributesToRender;
+    var widgets = new Map();
+    React.Children.forEach(children, function(child) {
+        var attribute = getWidgetAttribute(child);
+        invariant.invariant(attribute !== undefined);
+        widgets.set(attribute, child);
+    });
+    return /*#__PURE__*/ React.createElement(React.Fragment, null, attributesToRender.map(function(attribute) {
+        return /*#__PURE__*/ React.createElement(React.Fragment, {
+            key: attribute
+        }, widgets.get(attribute) || /*#__PURE__*/ React.createElement(FallbackComponent.current, {
+            attribute: attribute
+        }));
     }));
-  }));
 }
 function isReactElement(element) {
-  return _typeof(element) === 'object' && element.props;
+    return (typeof element === "undefined" ? "undefined" : _type_of._(element)) === 'object' && element.props;
 }
 function getWidgetAttribute(element) {
-  if (!isReactElement(element)) {
+    if (!isReactElement(element)) {
+        return undefined;
+    }
+    if (element.props.attribute) {
+        return element.props.attribute;
+    }
+    if (Array.isArray(element.props.attributes)) {
+        return element.props.attributes[0];
+    }
+    if (element.props.children) {
+        invariant.invariant(React.Children.count(element.props.children) === 1);
+        return getWidgetAttribute(React.Children.only(element.props.children));
+    }
     return undefined;
-  }
-  if (element.props.attribute) {
-    return element.props.attribute;
-  }
-  if (Array.isArray(element.props.attributes)) {
-    return element.props.attributes[0];
-  }
-  if (element.props.children) {
-    (0, _invariant.invariant)(_react.default.Children.count(element.props.children) === 1, "<DynamicWidgets> only supports a single component in nested components. Make sure to not render multiple children in a parent component.\n\nExample of an unsupported scenario:\n\n```\n<DynamicWidgets>\n  <MyComponent>\n    <RefinementList attribute=\"brand\" />\n    <Menu attribute=\"categories\" />\n  </MyComponent>\n</DynamicWidgets>\n```\n");
-    return getWidgetAttribute(_react.default.Children.only(element.props.children));
-  }
-  return undefined;
-}
\ No newline at end of file
+}
+
+exports.DynamicWidgets = DynamicWidgets;
Index: package/dist/es/components/DynamicWidgets.js
===================================================================
--- package/dist/es/components/DynamicWidgets.js
+++ package/dist/es/components/DynamicWidgets.js
@@ -1,55 +1,53 @@
-var _excluded = ["children", "fallbackComponent"];
-function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
-function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
-function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
-import React, { Fragment } from 'react';
-import { useDynamicWidgets } from "../connectors/useDynamicWidgets.js";
-import { invariant } from "../lib/invariant.js";
-import { warn } from "../lib/warn.js";
+import { _ } from '@swc/helpers/cjs/_object_without_properties.cjs';
+import { _ as _$1 } from '@swc/helpers/cjs/_type_of.cjs';
+import React__default, { Fragment } from 'react';
+import { useDynamicWidgets } from '../connectors/useDynamicWidgets.js';
+import { invariant } from '../lib/invariant.js';
+
 function DefaultFallbackComponent() {
-  return null;
+    return null;
 }
-export function DynamicWidgets(_ref) {
-  var children = _ref.children,
-    _ref$fallbackComponen = _ref.fallbackComponent,
-    Fallback = _ref$fallbackComponen === void 0 ? DefaultFallbackComponent : _ref$fallbackComponen,
-    props = _objectWithoutProperties(_ref, _excluded);
-  var FallbackComponent = React.useRef(Fallback);
-  process.env.NODE_ENV === 'development' ? warn(Fallback === FallbackComponent.current, 'The `fallbackComponent` prop of `DynamicWidgets` changed between renders. Please provide a stable reference, as described in https://www.algolia.com/doc/api-reference/widgets/dynamic-facets/react/#widget-param-fallbackcomponent') : void 0;
-  var _useDynamicWidgets = useDynamicWidgets(props, {
-      $$widgetType: 'ais.dynamicWidgets'
-    }),
-    attributesToRender = _useDynamicWidgets.attributesToRender;
-  var widgets = new Map();
-  React.Children.forEach(children, function (child) {
-    var attribute = getWidgetAttribute(child);
-    invariant(attribute !== undefined, "<DynamicWidgets> only supports InstantSearch widgets with an `attribute` or `attributes` prop.");
-    widgets.set(attribute, child);
-  });
-  return /*#__PURE__*/React.createElement(React.Fragment, null, attributesToRender.map(function (attribute) {
-    return /*#__PURE__*/React.createElement(Fragment, {
-      key: attribute
-    }, widgets.get(attribute) || /*#__PURE__*/React.createElement(FallbackComponent.current, {
-      attribute: attribute
+function DynamicWidgets(_0) {
+    var children = _0.children, tmp = _0.fallbackComponent, Fallback = tmp === void 0 ? DefaultFallbackComponent : tmp, props = _(_0, [
+        "children",
+        "fallbackComponent"
+    ]);
+    var FallbackComponent = React__default.useRef(Fallback);
+    var attributesToRender = useDynamicWidgets(props, {
+        $$widgetType: 'ais.dynamicWidgets'
+    }).attributesToRender;
+    var widgets = new Map();
+    React__default.Children.forEach(children, function(child) {
+        var attribute = getWidgetAttribute(child);
+        invariant(attribute !== undefined);
+        widgets.set(attribute, child);
+    });
+    return /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, attributesToRender.map(function(attribute) {
+        return /*#__PURE__*/ React__default.createElement(Fragment, {
+            key: attribute
+        }, widgets.get(attribute) || /*#__PURE__*/ React__default.createElement(FallbackComponent.current, {
+            attribute: attribute
+        }));
     }));
-  }));
 }
 function isReactElement(element) {
-  return _typeof(element) === 'object' && element.props;
+    return (typeof element === "undefined" ? "undefined" : _$1(element)) === 'object' && element.props;
 }
 function getWidgetAttribute(element) {
-  if (!isReactElement(element)) {
+    if (!isReactElement(element)) {
+        return undefined;
+    }
+    if (element.props.attribute) {
+        return element.props.attribute;
+    }
+    if (Array.isArray(element.props.attributes)) {
+        return element.props.attributes[0];
+    }
+    if (element.props.children) {
+        invariant(React__default.Children.count(element.props.children) === 1);
+        return getWidgetAttribute(React__default.Children.only(element.props.children));
+    }
     return undefined;
-  }
-  if (element.props.attribute) {
-    return element.props.attribute;
-  }
-  if (Array.isArray(element.props.attributes)) {
-    return element.props.attributes[0];
-  }
-  if (element.props.children) {
-    invariant(React.Children.count(element.props.children) === 1, "<DynamicWidgets> only supports a single component in nested components. Make sure to not render multiple children in a parent component.\n\nExample of an unsupported scenario:\n\n```\n<DynamicWidgets>\n  <MyComponent>\n    <RefinementList attribute=\"brand\" />\n    <Menu attribute=\"categories\" />\n  </MyComponent>\n</DynamicWidgets>\n```\n");
-    return getWidgetAttribute(React.Children.only(element.props.children));
-  }
-  return undefined;
-}
\ No newline at end of file
+}
+
+export { DynamicWidgets };
Index: package/dist/cjs/lib/getIndexSearchResults.js
===================================================================
--- package/dist/cjs/lib/getIndexSearchResults.js
+++ package/dist/cjs/lib/getIndexSearchResults.js
@@ -1,33 +1,26 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.getIndexSearchResults = getIndexSearchResults;
-var _createSearchResults = require("./createSearchResults");
-function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
-function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
-function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
-function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
-function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
-function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
+var _object_spread = require('@swc/helpers/_/_object_spread');
+var _object_spread_props = require('@swc/helpers/_/_object_spread_props');
+var createSearchResults = require('./createSearchResults.js');
+
 function getIndexSearchResults(indexWidget) {
-  var helper = indexWidget.getHelper();
-  var results =
-  // On SSR, we get the results injected on the Index.
-  indexWidget.getResults() ||
-  // On the browser, we create fallback results based on the helper state.
-  (0, _createSearchResults.createSearchResults)(helper.state);
-  var scopedResults = indexWidget.getScopedResults().map(function (scopedResult) {
-    var fallbackResults = scopedResult.indexId === indexWidget.getIndexId() ? results : (0, _createSearchResults.createSearchResults)(scopedResult.helper.state);
-    return _objectSpread(_objectSpread({}, scopedResult), {}, {
-      // We keep `results` from being `null`.
-      results: scopedResult.results || fallbackResults
+    var helper = indexWidget.getHelper();
+    var results = // On SSR, we get the results injected on the Index.
+    indexWidget.getResults() || // On the browser, we create fallback results based on the helper state.
+    createSearchResults.createSearchResults(helper.state);
+    var scopedResults = indexWidget.getScopedResults().map(function(scopedResult) {
+        var fallbackResults = scopedResult.indexId === indexWidget.getIndexId() ? results : createSearchResults.createSearchResults(scopedResult.helper.state);
+        return _object_spread_props._(_object_spread._({}, scopedResult), {
+            // We keep `results` from being `null`.
+            results: scopedResult.results || fallbackResults
+        });
     });
-  });
-  return {
-    results: results,
-    scopedResults: scopedResults,
-    recommendResults: helper.lastRecommendResults
-  };
-}
\ No newline at end of file
+    return {
+        results: results,
+        scopedResults: scopedResults,
+        recommendResults: helper.lastRecommendResults
+    };
+}
+
+exports.getIndexSearchResults = getIndexSearchResults;
Index: package/dist/es/lib/getIndexSearchResults.js
===================================================================
--- package/dist/es/lib/getIndexSearchResults.js
+++ package/dist/es/lib/getIndexSearchResults.js
@@ -1,27 +1,24 @@
-function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
-function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
-function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
-function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
-function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
-function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
-import { createSearchResults } from "./createSearchResults.js";
-export function getIndexSearchResults(indexWidget) {
-  var helper = indexWidget.getHelper();
-  var results =
-  // On SSR, we get the results injected on the Index.
-  indexWidget.getResults() ||
-  // On the browser, we create fallback results based on the helper state.
-  createSearchResults(helper.state);
-  var scopedResults = indexWidget.getScopedResults().map(function (scopedResult) {
-    var fallbackResults = scopedResult.indexId === indexWidget.getIndexId() ? results : createSearchResults(scopedResult.helper.state);
-    return _objectSpread(_objectSpread({}, scopedResult), {}, {
-      // We keep `results` from being `null`.
-      results: scopedResult.results || fallbackResults
+import { _ as _$1 } from '@swc/helpers/cjs/_object_spread.cjs';
+import { _ } from '@swc/helpers/cjs/_object_spread_props.cjs';
+import { createSearchResults } from './createSearchResults.js';
+
+function getIndexSearchResults(indexWidget) {
+    var helper = indexWidget.getHelper();
+    var results = // On SSR, we get the results injected on the Index.
+    indexWidget.getResults() || // On the browser, we create fallback results based on the helper state.
+    createSearchResults(helper.state);
+    var scopedResults = indexWidget.getScopedResults().map(function(scopedResult) {
+        var fallbackResults = scopedResult.indexId === indexWidget.getIndexId() ? results : createSearchResults(scopedResult.helper.state);
+        return _(_$1({}, scopedResult), {
+            // We keep `results` from being `null`.
+            results: scopedResult.results || fallbackResults
+        });
     });
-  });
-  return {
-    results: results,
-    scopedResults: scopedResults,
-    recommendResults: helper.lastRecommendResults
-  };
-}
\ No newline at end of file
+    return {
+        results: results,
+        scopedResults: scopedResults,
+        recommendResults: helper.lastRecommendResults
+    };
+}
+
+export { getIndexSearchResults };
Index: package/dist/cjs/server/getServerState.js
===================================================================
--- package/dist/cjs/server/getServerState.js
+++ package/dist/cjs/server/getServerState.js
@@ -1,98 +1,88 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.getServerState = getServerState;
-var _server = require("instantsearch.js/cjs/lib/server");
-var _utils = require("instantsearch.js/cjs/lib/utils");
-var _react = _interopRequireDefault(require("react"));
-var _InstantSearchServerContext = require("../components/InstantSearchServerContext");
-var _InstantSearchSSRProvider = require("../components/InstantSearchSSRProvider");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var server = require('instantsearch.js/cjs/lib/server');
+var utils = require('instantsearch.js/cjs/lib/utils');
+var React = require('react');
+var InstantSearchServerContext = require('../components/InstantSearchServerContext.js');
+var InstantSearchSSRProvider = require('../components/InstantSearchSSRProvider.js');
+
 /**
  * Returns the InstantSearch server state from a component.
- */
-function getServerState(children, _ref) {
-  var renderToString = _ref.renderToString;
-  var searchRef = {
-    current: undefined
-  };
-  (0, _utils.resetWidgetId)();
-  var createNotifyServer = function createNotifyServer() {
-    var hasBeenNotified = false;
-    var notifyServer = function notifyServer(_ref2) {
-      var search = _ref2.search;
-      if (hasBeenNotified) {
-        throw new Error('getServerState should be called with a single InstantSearchSSRProvider and a single InstantSearch component.');
-      }
-      hasBeenNotified = true;
-      searchRef.current = search;
+ */ function getServerState(children, param) {
+    var renderToString = param.renderToString;
+    var searchRef = {
+        current: undefined
     };
-    return notifyServer;
-  };
-  return execute({
-    children: children,
-    renderToString: renderToString,
-    searchRef: searchRef,
-    notifyServer: createNotifyServer()
-  }).then(function (serverState) {
-    var shouldRefetch = false;
-
-    // <DynamicWidgets> requires another query to retrieve the dynamic widgets
-    // to render.
-    (0, _utils.walkIndex)(searchRef.current.mainIndex, function (index) {
-      shouldRefetch = shouldRefetch || index.getWidgets().some(function (widget) {
-        return widget.$$type === 'ais.dynamicWidgets';
-      });
-    });
-    if (shouldRefetch) {
-      (0, _utils.resetWidgetId)();
-      return execute({
-        children: /*#__PURE__*/_react.default.createElement(_InstantSearchSSRProvider.InstantSearchSSRProvider, serverState, children),
+    utils.resetWidgetId();
+    var createNotifyServer = function createNotifyServer() {
+        var hasBeenNotified = false;
+        var notifyServer = function notifyServer(param) {
+            var search = param.search;
+            if (hasBeenNotified) {
+                throw new Error('getServerState should be called with a single InstantSearchSSRProvider and a single InstantSearch component.');
+            }
+            hasBeenNotified = true;
+            searchRef.current = search;
+        };
+        return notifyServer;
+    };
+    return execute({
+        children: children,
         renderToString: renderToString,
         searchRef: searchRef,
-        notifyServer: createNotifyServer(),
-        skipRecommend: true
-      });
-    }
-    return serverState;
-  });
+        notifyServer: createNotifyServer()
+    }).then(function(serverState) {
+        var shouldRefetch = false;
+        // <DynamicWidgets> requires another query to retrieve the dynamic widgets
+        // to render.
+        utils.walkIndex(searchRef.current.mainIndex, function(index) {
+            shouldRefetch = shouldRefetch || index.getWidgets().some(function(widget) {
+                return widget.$$type === 'ais.dynamicWidgets';
+            });
+        });
+        if (shouldRefetch) {
+            utils.resetWidgetId();
+            return execute({
+                children: /*#__PURE__*/ React.createElement(InstantSearchSSRProvider.InstantSearchSSRProvider, serverState, children),
+                renderToString: renderToString,
+                searchRef: searchRef,
+                notifyServer: createNotifyServer(),
+                skipRecommend: true
+            });
+        }
+        return serverState;
+    });
 }
-function execute(_ref3) {
-  var children = _ref3.children,
-    renderToString = _ref3.renderToString,
-    notifyServer = _ref3.notifyServer,
-    searchRef = _ref3.searchRef,
-    skipRecommend = _ref3.skipRecommend;
-  return Promise.resolve().then(function () {
-    renderToString(/*#__PURE__*/_react.default.createElement(_InstantSearchServerContext.InstantSearchServerContext.Provider, {
-      value: {
-        notifyServer: notifyServer
-      }
-    }, children));
-  }).then(function () {
-    return (
-      // We wait for the component to mount so that `notifyServer()` is called.
-      new Promise(function (resolve) {
-        return setTimeout(resolve, 0);
-      })
-    );
-  }).then(function () {
-    // If `notifyServer()` is not called by then, it means that <InstantSearch>
-    // wasn't within the `children`.
-    // We decide to go with a strict behavior in that case; throwing. If users have
-    // some routes that don't mount the <InstantSearch> component, they would need
-    // to try/catch the `getServerState()` call.
-    // If this behavior turns out to be too strict for many users, we can decide
-    // to warn instead of throwing.
-    if (!searchRef.current) {
-      throw new Error("Unable to retrieve InstantSearch's server state in `getServerState()`. Did you mount the <InstantSearch> component?");
-    }
-    return (0, _server.waitForResults)(searchRef.current, skipRecommend);
-  }).then(function (requestParamsList) {
-    return {
-      initialResults: (0, _server.getInitialResults)(searchRef.current.mainIndex, requestParamsList)
-    };
-  });
-}
\ No newline at end of file
+function execute(param) {
+    var children = param.children, renderToString = param.renderToString, notifyServer = param.notifyServer, searchRef = param.searchRef, skipRecommend = param.skipRecommend;
+    return Promise.resolve().then(function() {
+        renderToString(/*#__PURE__*/ React.createElement(InstantSearchServerContext.InstantSearchServerContext.Provider, {
+            value: {
+                notifyServer: notifyServer
+            }
+        }, children));
+    }).then(function() {
+        return(// We wait for the component to mount so that `notifyServer()` is called.
+        new Promise(function(resolve) {
+            return setTimeout(resolve, 0);
+        }));
+    }).then(function() {
+        // If `notifyServer()` is not called by then, it means that <InstantSearch>
+        // wasn't within the `children`.
+        // We decide to go with a strict behavior in that case; throwing. If users have
+        // some routes that don't mount the <InstantSearch> component, they would need
+        // to try/catch the `getServerState()` call.
+        // If this behavior turns out to be too strict for many users, we can decide
+        // to warn instead of throwing.
+        if (!searchRef.current) {
+            throw new Error("Unable to retrieve InstantSearch's server state in `getServerState()`. Did you mount the <InstantSearch> component?");
+        }
+        return server.waitForResults(searchRef.current, skipRecommend);
+    }).then(function(requestParamsList) {
+        return {
+            initialResults: server.getInitialResults(searchRef.current.mainIndex, requestParamsList)
+        };
+    });
+}
+
+exports.getServerState = getServerState;
Index: package/dist/es/server/getServerState.js
===================================================================
--- package/dist/es/server/getServerState.js
+++ package/dist/es/server/getServerState.js
@@ -1,91 +1,86 @@
-import { getInitialResults, waitForResults } from "instantsearch.js/es/lib/server.js";
-import { walkIndex, resetWidgetId } from "instantsearch.js/es/lib/utils/index.js";
-import React from 'react';
-import { InstantSearchServerContext } from "../components/InstantSearchServerContext.js";
-import { InstantSearchSSRProvider } from "../components/InstantSearchSSRProvider.js";
+import { waitForResults, getInitialResults } from 'instantsearch.js/es/lib/server.js';
+import { resetWidgetId, walkIndex } from 'instantsearch.js/es/lib/utils/index.js';
+import React__default from 'react';
+import { InstantSearchServerContext } from '../components/InstantSearchServerContext.js';
+import { InstantSearchSSRProvider } from '../components/InstantSearchSSRProvider.js';
+
 /**
  * Returns the InstantSearch server state from a component.
- */
-export function getServerState(children, _ref) {
-  var renderToString = _ref.renderToString;
-  var searchRef = {
-    current: undefined
-  };
-  resetWidgetId();
-  var createNotifyServer = function createNotifyServer() {
-    var hasBeenNotified = false;
-    var notifyServer = function notifyServer(_ref2) {
-      var search = _ref2.search;
-      if (hasBeenNotified) {
-        throw new Error('getServerState should be called with a single InstantSearchSSRProvider and a single InstantSearch component.');
-      }
-      hasBeenNotified = true;
-      searchRef.current = search;
+ */ function getServerState(children, param) {
+    var renderToString = param.renderToString;
+    var searchRef = {
+        current: undefined
     };
-    return notifyServer;
-  };
-  return execute({
-    children: children,
-    renderToString: renderToString,
-    searchRef: searchRef,
-    notifyServer: createNotifyServer()
-  }).then(function (serverState) {
-    var shouldRefetch = false;
-
-    // <DynamicWidgets> requires another query to retrieve the dynamic widgets
-    // to render.
-    walkIndex(searchRef.current.mainIndex, function (index) {
-      shouldRefetch = shouldRefetch || index.getWidgets().some(function (widget) {
-        return widget.$$type === 'ais.dynamicWidgets';
-      });
-    });
-    if (shouldRefetch) {
-      resetWidgetId();
-      return execute({
-        children: /*#__PURE__*/React.createElement(InstantSearchSSRProvider, serverState, children),
+    resetWidgetId();
+    var createNotifyServer = function createNotifyServer() {
+        var hasBeenNotified = false;
+        var notifyServer = function notifyServer(param) {
+            var search = param.search;
+            if (hasBeenNotified) {
+                throw new Error('getServerState should be called with a single InstantSearchSSRProvider and a single InstantSearch component.');
+            }
+            hasBeenNotified = true;
+            searchRef.current = search;
+        };
+        return notifyServer;
+    };
+    return execute({
+        children: children,
         renderToString: renderToString,
         searchRef: searchRef,
-        notifyServer: createNotifyServer(),
-        skipRecommend: true
-      });
-    }
-    return serverState;
-  });
+        notifyServer: createNotifyServer()
+    }).then(function(serverState) {
+        var shouldRefetch = false;
+        // <DynamicWidgets> requires another query to retrieve the dynamic widgets
+        // to render.
+        walkIndex(searchRef.current.mainIndex, function(index) {
+            shouldRefetch = shouldRefetch || index.getWidgets().some(function(widget) {
+                return widget.$$type === 'ais.dynamicWidgets';
+            });
+        });
+        if (shouldRefetch) {
+            resetWidgetId();
+            return execute({
+                children: /*#__PURE__*/ React__default.createElement(InstantSearchSSRProvider, serverState, children),
+                renderToString: renderToString,
+                searchRef: searchRef,
+                notifyServer: createNotifyServer(),
+                skipRecommend: true
+            });
+        }
+        return serverState;
+    });
 }
-function execute(_ref3) {
-  var children = _ref3.children,
-    renderToString = _ref3.renderToString,
-    notifyServer = _ref3.notifyServer,
-    searchRef = _ref3.searchRef,
-    skipRecommend = _ref3.skipRecommend;
-  return Promise.resolve().then(function () {
-    renderToString(/*#__PURE__*/React.createElement(InstantSearchServerContext.Provider, {
-      value: {
-        notifyServer: notifyServer
-      }
-    }, children));
-  }).then(function () {
-    return (
-      // We wait for the component to mount so that `notifyServer()` is called.
-      new Promise(function (resolve) {
-        return setTimeout(resolve, 0);
-      })
-    );
-  }).then(function () {
-    // If `notifyServer()` is not called by then, it means that <InstantSearch>
-    // wasn't within the `children`.
-    // We decide to go with a strict behavior in that case; throwing. If users have
-    // some routes that don't mount the <InstantSearch> component, they would need
-    // to try/catch the `getServerState()` call.
-    // If this behavior turns out to be too strict for many users, we can decide
-    // to warn instead of throwing.
-    if (!searchRef.current) {
-      throw new Error("Unable to retrieve InstantSearch's server state in `getServerState()`. Did you mount the <InstantSearch> component?");
-    }
-    return waitForResults(searchRef.current, skipRecommend);
-  }).then(function (requestParamsList) {
-    return {
-      initialResults: getInitialResults(searchRef.current.mainIndex, requestParamsList)
-    };
-  });
-}
\ No newline at end of file
+function execute(param) {
+    var children = param.children, renderToString = param.renderToString, notifyServer = param.notifyServer, searchRef = param.searchRef, skipRecommend = param.skipRecommend;
+    return Promise.resolve().then(function() {
+        renderToString(/*#__PURE__*/ React__default.createElement(InstantSearchServerContext.Provider, {
+            value: {
+                notifyServer: notifyServer
+            }
+        }, children));
+    }).then(function() {
+        return(// We wait for the component to mount so that `notifyServer()` is called.
+        new Promise(function(resolve) {
+            return setTimeout(resolve, 0);
+        }));
+    }).then(function() {
+        // If `notifyServer()` is not called by then, it means that <InstantSearch>
+        // wasn't within the `children`.
+        // We decide to go with a strict behavior in that case; throwing. If users have
+        // some routes that don't mount the <InstantSearch> component, they would need
+        // to try/catch the `getServerState()` call.
+        // If this behavior turns out to be too strict for many users, we can decide
+        // to warn instead of throwing.
+        if (!searchRef.current) {
+            throw new Error("Unable to retrieve InstantSearch's server state in `getServerState()`. Did you mount the <InstantSearch> component?");
+        }
+        return waitForResults(searchRef.current, skipRecommend);
+    }).then(function(requestParamsList) {
+        return {
+            initialResults: getInitialResults(searchRef.current.mainIndex, requestParamsList)
+        };
+    });
+}
+
+export { getServerState };
Index: package/dist/cjs/components/Index.js
===================================================================
--- package/dist/cjs/components/Index.js
+++ package/dist/cjs/components/Index.js
@@ -1,24 +1,21 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
+var _object_without_properties = require('@swc/helpers/_/_object_without_properties');
+var React = require('react');
+var IndexContext = require('../lib/IndexContext.js');
+var useIndex = require('../lib/useIndex.js');
+
+function Index(_0) {
+    var children = _0.children, props = _object_without_properties._(_0, [
+        "children"
+    ]);
+    var index = useIndex.useIndex(props);
+    if (index.getHelper() === null) {
+        return null;
+    }
+    return /*#__PURE__*/ React.createElement(IndexContext.IndexContext.Provider, {
+        value: index
+    }, children);
+}
+
 exports.Index = Index;
-var _react = _interopRequireDefault(require("react"));
-var _IndexContext = require("../lib/IndexContext");
-var _useIndex = require("../lib/useIndex");
-var _excluded = ["children"];
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
-function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
-function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
-function Index(_ref) {
-  var children = _ref.children,
-    props = _objectWithoutProperties(_ref, _excluded);
-  var index = (0, _useIndex.useIndex)(props);
-  if (index.getHelper() === null) {
-    return null;
-  }
-  return /*#__PURE__*/_react.default.createElement(_IndexContext.IndexContext.Provider, {
-    value: index
-  }, children);
-}
\ No newline at end of file
Index: package/dist/cjs/index.js
===================================================================
--- package/dist/cjs/index.js
+++ package/dist/cjs/index.js
@@ -1,520 +1,91 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-var _exportNames = {
-  version: true
-};
-Object.defineProperty(exports, "version", {
-  enumerable: true,
-  get: function get() {
-    return _version.default;
-  }
-});
-var _version = _interopRequireDefault(require("./version"));
-var _Configure = require("./components/Configure");
-Object.keys(_Configure).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _Configure[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _Configure[key];
-    }
-  });
-});
-var _DynamicWidgets = require("./components/DynamicWidgets");
-Object.keys(_DynamicWidgets).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _DynamicWidgets[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _DynamicWidgets[key];
-    }
-  });
-});
-var _Index = require("./components/Index");
-Object.keys(_Index).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _Index[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _Index[key];
-    }
-  });
-});
-var _InstantSearch = require("./components/InstantSearch");
-Object.keys(_InstantSearch).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _InstantSearch[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _InstantSearch[key];
-    }
-  });
-});
-var _InstantSearchServerContext = require("./components/InstantSearchServerContext");
-Object.keys(_InstantSearchServerContext).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _InstantSearchServerContext[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _InstantSearchServerContext[key];
-    }
-  });
-});
-var _InstantSearchSSRProvider = require("./components/InstantSearchSSRProvider");
-Object.keys(_InstantSearchSSRProvider).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _InstantSearchSSRProvider[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _InstantSearchSSRProvider[key];
-    }
-  });
-});
-var _useAutocomplete = require("./connectors/useAutocomplete");
-Object.keys(_useAutocomplete).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useAutocomplete[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useAutocomplete[key];
-    }
-  });
-});
-var _useBreadcrumb = require("./connectors/useBreadcrumb");
-Object.keys(_useBreadcrumb).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useBreadcrumb[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useBreadcrumb[key];
-    }
-  });
-});
-var _useChat = require("./connectors/useChat");
-Object.keys(_useChat).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useChat[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useChat[key];
-    }
-  });
-});
-var _useClearRefinements = require("./connectors/useClearRefinements");
-Object.keys(_useClearRefinements).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useClearRefinements[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useClearRefinements[key];
-    }
-  });
-});
-var _useConfigure = require("./connectors/useConfigure");
-Object.keys(_useConfigure).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useConfigure[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useConfigure[key];
-    }
-  });
-});
-var _useCurrentRefinements = require("./connectors/useCurrentRefinements");
-Object.keys(_useCurrentRefinements).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useCurrentRefinements[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useCurrentRefinements[key];
-    }
-  });
-});
-var _useDynamicWidgets = require("./connectors/useDynamicWidgets");
-Object.keys(_useDynamicWidgets).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useDynamicWidgets[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useDynamicWidgets[key];
-    }
-  });
-});
-var _useFrequentlyBoughtTogether = require("./connectors/useFrequentlyBoughtTogether");
-Object.keys(_useFrequentlyBoughtTogether).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useFrequentlyBoughtTogether[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useFrequentlyBoughtTogether[key];
-    }
-  });
-});
-var _useGeoSearch = require("./connectors/useGeoSearch");
-Object.keys(_useGeoSearch).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useGeoSearch[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useGeoSearch[key];
-    }
-  });
-});
-var _useHierarchicalMenu = require("./connectors/useHierarchicalMenu");
-Object.keys(_useHierarchicalMenu).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useHierarchicalMenu[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useHierarchicalMenu[key];
-    }
-  });
-});
-var _useHits = require("./connectors/useHits");
-Object.keys(_useHits).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useHits[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useHits[key];
-    }
-  });
-});
-var _useHitsPerPage = require("./connectors/useHitsPerPage");
-Object.keys(_useHitsPerPage).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useHitsPerPage[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useHitsPerPage[key];
-    }
-  });
-});
-var _useInfiniteHits = require("./connectors/useInfiniteHits");
-Object.keys(_useInfiniteHits).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useInfiniteHits[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useInfiniteHits[key];
-    }
-  });
-});
-var _useMenu = require("./connectors/useMenu");
-Object.keys(_useMenu).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useMenu[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useMenu[key];
-    }
-  });
-});
-var _useNumericMenu = require("./connectors/useNumericMenu");
-Object.keys(_useNumericMenu).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useNumericMenu[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useNumericMenu[key];
-    }
-  });
-});
-var _usePagination = require("./connectors/usePagination");
-Object.keys(_usePagination).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _usePagination[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _usePagination[key];
-    }
-  });
-});
-var _usePoweredBy = require("./connectors/usePoweredBy");
-Object.keys(_usePoweredBy).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _usePoweredBy[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _usePoweredBy[key];
-    }
-  });
-});
-var _useQueryRules = require("./connectors/useQueryRules");
-Object.keys(_useQueryRules).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useQueryRules[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useQueryRules[key];
-    }
-  });
-});
-var _useRange = require("./connectors/useRange");
-Object.keys(_useRange).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useRange[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useRange[key];
-    }
-  });
-});
-var _useRefinementList = require("./connectors/useRefinementList");
-Object.keys(_useRefinementList).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useRefinementList[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useRefinementList[key];
-    }
-  });
-});
-var _useRelatedProducts = require("./connectors/useRelatedProducts");
-Object.keys(_useRelatedProducts).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useRelatedProducts[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useRelatedProducts[key];
-    }
-  });
-});
-var _useSearchBox = require("./connectors/useSearchBox");
-Object.keys(_useSearchBox).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useSearchBox[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useSearchBox[key];
-    }
-  });
-});
-var _useSortBy = require("./connectors/useSortBy");
-Object.keys(_useSortBy).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useSortBy[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useSortBy[key];
-    }
-  });
-});
-var _useStats = require("./connectors/useStats");
-Object.keys(_useStats).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useStats[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useStats[key];
-    }
-  });
-});
-var _useToggleRefinement = require("./connectors/useToggleRefinement");
-Object.keys(_useToggleRefinement).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useToggleRefinement[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useToggleRefinement[key];
-    }
-  });
-});
-var _useTrendingItems = require("./connectors/useTrendingItems");
-Object.keys(_useTrendingItems).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useTrendingItems[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useTrendingItems[key];
-    }
-  });
-});
-var _useLookingSimilar = require("./connectors/useLookingSimilar");
-Object.keys(_useLookingSimilar).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useLookingSimilar[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useLookingSimilar[key];
-    }
-  });
-});
-var _useFilterSuggestions = require("./connectors/useFilterSuggestions");
-Object.keys(_useFilterSuggestions).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useFilterSuggestions[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useFilterSuggestions[key];
-    }
-  });
-});
-var _useConnector = require("./hooks/useConnector");
-Object.keys(_useConnector).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useConnector[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useConnector[key];
-    }
-  });
-});
-var _useInstantSearch = require("./hooks/useInstantSearch");
-Object.keys(_useInstantSearch).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useInstantSearch[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useInstantSearch[key];
-    }
-  });
-});
-var _wrapPromiseWithState = require("./lib/wrapPromiseWithState");
-Object.keys(_wrapPromiseWithState).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _wrapPromiseWithState[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _wrapPromiseWithState[key];
-    }
-  });
-});
-var _useInstantSearchContext = require("./lib/useInstantSearchContext");
-Object.keys(_useInstantSearchContext).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useInstantSearchContext[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useInstantSearchContext[key];
-    }
-  });
-});
-var _useRSCContext = require("./lib/useRSCContext");
-Object.keys(_useRSCContext).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _useRSCContext[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _useRSCContext[key];
-    }
-  });
-});
-var _InstantSearchRSCContext = require("./lib/InstantSearchRSCContext");
-Object.keys(_InstantSearchRSCContext).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _InstantSearchRSCContext[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _InstantSearchRSCContext[key];
-    }
-  });
-});
-var _InstantSearchSSRContext = require("./lib/InstantSearchSSRContext");
-Object.keys(_InstantSearchSSRContext).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _InstantSearchSSRContext[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _InstantSearchSSRContext[key];
-    }
-  });
-});
-var _server = require("./server");
-Object.keys(_server).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
-  if (key in exports && exports[key] === _server[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _server[key];
-    }
-  });
-});
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
\ No newline at end of file
+var version = require('./version.js');
+var Configure = require('./components/Configure.js');
+var DynamicWidgets = require('./components/DynamicWidgets.js');
+var Index = require('./components/Index.js');
+var InstantSearch = require('./components/InstantSearch.js');
+var InstantSearchServerContext = require('./components/InstantSearchServerContext.js');
+var InstantSearchSSRProvider = require('./components/InstantSearchSSRProvider.js');
+var useAutocomplete = require('./connectors/useAutocomplete.js');
+var useBreadcrumb = require('./connectors/useBreadcrumb.js');
+var useChat = require('./connectors/useChat.js');
+var useClearRefinements = require('./connectors/useClearRefinements.js');
+var useConfigure = require('./connectors/useConfigure.js');
+var useCurrentRefinements = require('./connectors/useCurrentRefinements.js');
+var useDynamicWidgets = require('./connectors/useDynamicWidgets.js');
+var useFrequentlyBoughtTogether = require('./connectors/useFrequentlyBoughtTogether.js');
+var useGeoSearch = require('./connectors/useGeoSearch.js');
+var useHierarchicalMenu = require('./connectors/useHierarchicalMenu.js');
+var useHits = require('./connectors/useHits.js');
+var useHitsPerPage = require('./connectors/useHitsPerPage.js');
+var useInfiniteHits = require('./connectors/useInfiniteHits.js');
+var useMenu = require('./connectors/useMenu.js');
+var useNumericMenu = require('./connectors/useNumericMenu.js');
+var usePagination = require('./connectors/usePagination.js');
+var usePoweredBy = require('./connectors/usePoweredBy.js');
+var useQueryRules = require('./connectors/useQueryRules.js');
+var useRange = require('./connectors/useRange.js');
+var useRefinementList = require('./connectors/useRefinementList.js');
+var useRelatedProducts = require('./connectors/useRelatedProducts.js');
+var useSearchBox = require('./connectors/useSearchBox.js');
+var useSortBy = require('./connectors/useSortBy.js');
+var useStats = require('./connectors/useStats.js');
+var useToggleRefinement = require('./connectors/useToggleRefinement.js');
+var useTrendingItems = require('./connectors/useTrendingItems.js');
+var useLookingSimilar = require('./connectors/useLookingSimilar.js');
+var useFilterSuggestions = require('./connectors/useFilterSuggestions.js');
+var useConnector = require('./hooks/useConnector.js');
+var useInstantSearch = require('./hooks/useInstantSearch.js');
+var wrapPromiseWithState = require('./lib/wrapPromiseWithState.js');
+var useInstantSearchContext = require('./lib/useInstantSearchContext.js');
+var useRSCContext = require('./lib/useRSCContext.js');
+var InstantSearchRSCContext = require('./lib/InstantSearchRSCContext.js');
+var InstantSearchSSRContext = require('./lib/InstantSearchSSRContext.js');
+var getServerState = require('./server/getServerState.js');
+
+
+
+exports.version = version.default;
+exports.Configure = Configure.Configure;
+exports.DynamicWidgets = DynamicWidgets.DynamicWidgets;
+exports.Index = Index.Index;
+exports.InstantSearch = InstantSearch.InstantSearch;
+exports.InstantSearchServerContext = InstantSearchServerContext.InstantSearchServerContext;
+exports.InstantSearchSSRProvider = InstantSearchSSRProvider.InstantSearchSSRProvider;
+exports.useAutocomplete = useAutocomplete.useAutocomplete;
+exports.useBreadcrumb = useBreadcrumb.useBreadcrumb;
+exports.useChat = useChat.useChat;
+exports.useClearRefinements = useClearRefinements.useClearRefinements;
+exports.useConfigure = useConfigure.useConfigure;
+exports.useCurrentRefinements = useCurrentRefinements.useCurrentRefinements;
+exports.useDynamicWidgets = useDynamicWidgets.useDynamicWidgets;
+exports.useFrequentlyBoughtTogether = useFrequentlyBoughtTogether.useFrequentlyBoughtTogether;
+exports.useGeoSearch = useGeoSearch.useGeoSearch;
+exports.useHierarchicalMenu = useHierarchicalMenu.useHierarchicalMenu;
+exports.useHits = useHits.useHits;
+exports.useHitsPerPage = useHitsPerPage.useHitsPerPage;
+exports.useInfiniteHits = useInfiniteHits.useInfiniteHits;
+exports.useMenu = useMenu.useMenu;
+exports.useNumericMenu = useNumericMenu.useNumericMenu;
+exports.usePagination = usePagination.usePagination;
+exports.usePoweredBy = usePoweredBy.usePoweredBy;
+exports.useQueryRules = useQueryRules.useQueryRules;
+exports.useRange = useRange.useRange;
+exports.useRefinementList = useRefinementList.useRefinementList;
+exports.useRelatedProducts = useRelatedProducts.useRelatedProducts;
+exports.useSearchBox = useSearchBox.useSearchBox;
+exports.useSortBy = useSortBy.useSortBy;
+exports.useStats = useStats.useStats;
+exports.useToggleRefinement = useToggleRefinement.useToggleRefinement;
+exports.useTrendingItems = useTrendingItems.useTrendingItems;
+exports.useLookingSimilar = useLookingSimilar.useLookingSimilar;
+exports.useFilterSuggestions = useFilterSuggestions.useFilterSuggestions;
+exports.useConnector = useConnector.useConnector;
+exports.useInstantSearch = useInstantSearch.useInstantSearch;
+exports.wrapPromiseWithState = wrapPromiseWithState.wrapPromiseWithState;
+exports.useInstantSearchContext = useInstantSearchContext.useInstantSearchContext;
+exports.useRSCContext = useRSCContext.useRSCContext;
+exports.InstantSearchRSCContext = InstantSearchRSCContext.InstantSearchRSCContext;
+exports.InstantSearchSSRContext = InstantSearchSSRContext.InstantSearchSSRContext;
+exports.getServerState = getServerState.getServerState;
Index: package/dist/cjs/server/index.js
===================================================================
--- package/dist/cjs/server/index.js
+++ package/dist/cjs/server/index.js
@@ -1,16 +1,7 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-var _getServerState = require("./getServerState");
-Object.keys(_getServerState).forEach(function (key) {
-  if (key === "default" || key === "__esModule") return;
-  if (key in exports && exports[key] === _getServerState[key]) return;
-  Object.defineProperty(exports, key, {
-    enumerable: true,
-    get: function get() {
-      return _getServerState[key];
-    }
-  });
-});
\ No newline at end of file
+var getServerState = require('./getServerState.js');
+
+
+
+exports.getServerState = getServerState.getServerState;
Index: package/dist/es/components/Index.js
===================================================================
--- package/dist/es/components/Index.js
+++ package/dist/es/components/Index.js
@@ -1,17 +1,19 @@
-var _excluded = ["children"];
-function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
-function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
-import React from 'react';
-import { IndexContext } from "../lib/IndexContext.js";
-import { useIndex } from "../lib/useIndex.js";
-export function Index(_ref) {
-  var children = _ref.children,
-    props = _objectWithoutProperties(_ref, _excluded);
-  var index = useIndex(props);
-  if (index.getHelper() === null) {
-    return null;
-  }
-  return /*#__PURE__*/React.createElement(IndexContext.Provider, {
-    value: index
-  }, children);
-}
\ No newline at end of file
+import { _ } from '@swc/helpers/cjs/_object_without_properties.cjs';
+import React__default from 'react';
+import { IndexContext } from '../lib/IndexContext.js';
+import { useIndex } from '../lib/useIndex.js';
+
+function Index(_0) {
+    var children = _0.children, props = _(_0, [
+        "children"
+    ]);
+    var index = useIndex(props);
+    if (index.getHelper() === null) {
+        return null;
+    }
+    return /*#__PURE__*/ React__default.createElement(IndexContext.Provider, {
+        value: index
+    }, children);
+}
+
+export { Index };
Index: package/dist/es/index.js
===================================================================
--- package/dist/es/index.js
+++ package/dist/es/index.js
@@ -1,43 +1,43 @@
-export { default as version } from "./version.js";
-export * from "./components/Configure.js";
-export * from "./components/DynamicWidgets.js";
-export * from "./components/Index.js";
-export * from "./components/InstantSearch.js";
-export * from "./components/InstantSearchServerContext.js";
-export * from "./components/InstantSearchSSRProvider.js";
-export * from "./connectors/useAutocomplete.js";
-export * from "./connectors/useBreadcrumb.js";
-export * from "./connectors/useChat.js";
-export * from "./connectors/useClearRefinements.js";
-export * from "./connectors/useConfigure.js";
-export * from "./connectors/useCurrentRefinements.js";
-export * from "./connectors/useDynamicWidgets.js";
-export * from "./connectors/useFrequentlyBoughtTogether.js";
-export * from "./connectors/useGeoSearch.js";
-export * from "./connectors/useHierarchicalMenu.js";
-export * from "./connectors/useHits.js";
-export * from "./connectors/useHitsPerPage.js";
-export * from "./connectors/useInfiniteHits.js";
-export * from "./connectors/useMenu.js";
-export * from "./connectors/useNumericMenu.js";
-export * from "./connectors/usePagination.js";
-export * from "./connectors/usePoweredBy.js";
-export * from "./connectors/useQueryRules.js";
-export * from "./connectors/useRange.js";
-export * from "./connectors/useRefinementList.js";
-export * from "./connectors/useRelatedProducts.js";
-export * from "./connectors/useSearchBox.js";
-export * from "./connectors/useSortBy.js";
-export * from "./connectors/useStats.js";
-export * from "./connectors/useToggleRefinement.js";
-export * from "./connectors/useTrendingItems.js";
-export * from "./connectors/useLookingSimilar.js";
-export * from "./connectors/useFilterSuggestions.js";
-export * from "./hooks/useConnector.js";
-export * from "./hooks/useInstantSearch.js";
-export * from "./lib/wrapPromiseWithState.js";
-export * from "./lib/useInstantSearchContext.js";
-export * from "./lib/useRSCContext.js";
-export * from "./lib/InstantSearchRSCContext.js";
-export * from "./lib/InstantSearchSSRContext.js";
-export * from "./server/index.js";
\ No newline at end of file
+export { default as version } from './version.js';
+export { Configure } from './components/Configure.js';
+export { DynamicWidgets } from './components/DynamicWidgets.js';
+export { Index } from './components/Index.js';
+export { InstantSearch } from './components/InstantSearch.js';
+export { InstantSearchServerContext } from './components/InstantSearchServerContext.js';
+export { InstantSearchSSRProvider } from './components/InstantSearchSSRProvider.js';
+export { useAutocomplete } from './connectors/useAutocomplete.js';
+export { useBreadcrumb } from './connectors/useBreadcrumb.js';
+export { useChat } from './connectors/useChat.js';
+export { useClearRefinements } from './connectors/useClearRefinements.js';
+export { useConfigure } from './connectors/useConfigure.js';
+export { useCurrentRefinements } from './connectors/useCurrentRefinements.js';
+export { useDynamicWidgets } from './connectors/useDynamicWidgets.js';
+export { useFrequentlyBoughtTogether } from './connectors/useFrequentlyBoughtTogether.js';
+export { useGeoSearch } from './connectors/useGeoSearch.js';
+export { useHierarchicalMenu } from './connectors/useHierarchicalMenu.js';
+export { useHits } from './connectors/useHits.js';
+export { useHitsPerPage } from './connectors/useHitsPerPage.js';
+export { useInfiniteHits } from './connectors/useInfiniteHits.js';
+export { useMenu } from './connectors/useMenu.js';
+export { useNumericMenu } from './connectors/useNumericMenu.js';
+export { usePagination } from './connectors/usePagination.js';
+export { usePoweredBy } from './connectors/usePoweredBy.js';
+export { useQueryRules } from './connectors/useQueryRules.js';
+export { useRange } from './connectors/useRange.js';
+export { useRefinementList } from './connectors/useRefinementList.js';
+export { useRelatedProducts } from './connectors/useRelatedProducts.js';
+export { useSearchBox } from './connectors/useSearchBox.js';
+export { useSortBy } from './connectors/useSortBy.js';
+export { useStats } from './connectors/useStats.js';
+export { useToggleRefinement } from './connectors/useToggleRefinement.js';
+export { useTrendingItems } from './connectors/useTrendingItems.js';
+export { useLookingSimilar } from './connectors/useLookingSimilar.js';
+export { useFilterSuggestions } from './connectors/useFilterSuggestions.js';
+export { useConnector } from './hooks/useConnector.js';
+export { useInstantSearch } from './hooks/useInstantSearch.js';
+export { wrapPromiseWithState } from './lib/wrapPromiseWithState.js';
+export { useInstantSearchContext } from './lib/useInstantSearchContext.js';
+export { useRSCContext } from './lib/useRSCContext.js';
+export { InstantSearchRSCContext } from './lib/InstantSearchRSCContext.js';
+export { InstantSearchSSRContext } from './lib/InstantSearchSSRContext.js';
+export { getServerState } from './server/getServerState.js';
Index: package/dist/es/server/index.js
===================================================================
--- package/dist/es/server/index.js
+++ package/dist/es/server/index.js
@@ -1,1 +1,1 @@
-export * from "./getServerState.js";
\ No newline at end of file
+export { getServerState } from './getServerState.js';
Index: package/dist/cjs/lib/IndexContext.js
===================================================================
--- package/dist/cjs/lib/IndexContext.js
+++ package/dist/cjs/lib/IndexContext.js
@@ -1,11 +1,7 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.IndexContext = void 0;
-var _react = require("react");
-var IndexContext = exports.IndexContext = /*#__PURE__*/(0, _react.createContext)(null);
-if (process.env.NODE_ENV === 'development') {
-  IndexContext.displayName = 'Index';
-}
\ No newline at end of file
+var React = require('react');
+
+var IndexContext = React.createContext(null);
+
+exports.IndexContext = IndexContext;
Index: package/dist/es/lib/IndexContext.js
===================================================================
--- package/dist/es/lib/IndexContext.js
+++ package/dist/es/lib/IndexContext.js
@@ -1,5 +1,5 @@
 import { createContext } from 'react';
-export var IndexContext = /*#__PURE__*/createContext(null);
-if (process.env.NODE_ENV === 'development') {
-  IndexContext.displayName = 'Index';
-}
\ No newline at end of file
+
+var IndexContext = createContext(null);
+
+export { IndexContext };
Index: package/dist/cjs/components/InstantSearch.js
===================================================================
--- package/dist/cjs/components/InstantSearch.js
+++ package/dist/cjs/components/InstantSearch.js
@@ -1,39 +1,37 @@
-"use strict";
+'use strict';
 
-function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.InstantSearch = InstantSearch;
-var _react = _interopRequireWildcard(require("react"));
-var _IndexContext = require("../lib/IndexContext");
-var _InstantSearchContext = require("../lib/InstantSearchContext");
-var _useInstantSearchApi = require("../lib/useInstantSearchApi");
-var _excluded = ["children"];
-function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
-function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
-function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
-function InstantSearch(_ref) {
-  var children = _ref.children,
-    props = _objectWithoutProperties(_ref, _excluded);
-  var search = (0, _useInstantSearchApi.useInstantSearchApi)(props);
-  if (!search.started) {
+var _object_without_properties = require('@swc/helpers/_/_object_without_properties');
+var React = require('react');
+var IndexContext = require('../lib/IndexContext.js');
+var InstantSearchContext = require('../lib/InstantSearchContext.js');
+var useInstantSearchApi = require('../lib/useInstantSearchApi.js');
+
+function InstantSearch(_0) {
+    var children = _0.children, props = _object_without_properties._(_0, [
+        "children"
+    ]);
+    var search = useInstantSearchApi.useInstantSearchApi(props);
+    if (!search.started) {
+        return null;
+    }
+    return /*#__PURE__*/ React.createElement(InstantSearchContext.InstantSearchContext.Provider, {
+        value: search
+    }, /*#__PURE__*/ React.createElement(IndexContext.IndexContext.Provider, {
+        value: search.mainIndex
+    }, children, /*#__PURE__*/ React.createElement(ResetScheduleSearch, {
+        search: search
+    })));
+}
+function ResetScheduleSearch(param) {
+    var search = param.search;
+    React.useEffect(function() {
+        if (search._resetScheduleSearch) {
+            search._resetScheduleSearch();
+        }
+    }, [
+        search
+    ]);
     return null;
-  }
-  return /*#__PURE__*/_react.default.createElement(_InstantSearchContext.InstantSearchContext.Provider, {
-    value: search
-  }, /*#__PURE__*/_react.default.createElement(_IndexContext.IndexContext.Provider, {
-    value: search.mainIndex
-  }, children, /*#__PURE__*/_react.default.createElement(ResetScheduleSearch, {
-    search: search
-  })));
 }
-function ResetScheduleSearch(_ref2) {
-  var search = _ref2.search;
-  (0, _react.useEffect)(function () {
-    if (search._resetScheduleSearch) {
-      search._resetScheduleSearch();
-    }
-  }, [search]);
-  return null;
-}
\ No newline at end of file
+
+exports.InstantSearch = InstantSearch;
Index: package/dist/es/components/InstantSearch.js
===================================================================
--- package/dist/es/components/InstantSearch.js
+++ package/dist/es/components/InstantSearch.js
@@ -1,31 +1,35 @@
-var _excluded = ["children"];
-function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
-function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
-import React, { useEffect } from 'react';
-import { IndexContext } from "../lib/IndexContext.js";
-import { InstantSearchContext } from "../lib/InstantSearchContext.js";
-import { useInstantSearchApi } from "../lib/useInstantSearchApi.js";
-export function InstantSearch(_ref) {
-  var children = _ref.children,
-    props = _objectWithoutProperties(_ref, _excluded);
-  var search = useInstantSearchApi(props);
-  if (!search.started) {
+import { _ } from '@swc/helpers/cjs/_object_without_properties.cjs';
+import React__default, { useEffect } from 'react';
+import { IndexContext } from '../lib/IndexContext.js';
+import { InstantSearchContext } from '../lib/InstantSearchContext.js';
+import { useInstantSearchApi } from '../lib/useInstantSearchApi.js';
+
+function InstantSearch(_0) {
+    var children = _0.children, props = _(_0, [
+        "children"
+    ]);
+    var search = useInstantSearchApi(props);
+    if (!search.started) {
+        return null;
+    }
+    return /*#__PURE__*/ React__default.createElement(InstantSearchContext.Provider, {
+        value: search
+    }, /*#__PURE__*/ React__default.createElement(IndexContext.Provider, {
+        value: search.mainIndex
+    }, children, /*#__PURE__*/ React__default.createElement(ResetScheduleSearch, {
+        search: search
+    })));
+}
+function ResetScheduleSearch(param) {
+    var search = param.search;
+    useEffect(function() {
+        if (search._resetScheduleSearch) {
+            search._resetScheduleSearch();
+        }
+    }, [
+        search
+    ]);
     return null;
-  }
-  return /*#__PURE__*/React.createElement(InstantSearchContext.Provider, {
-    value: search
-  }, /*#__PURE__*/React.createElement(IndexContext.Provider, {
-    value: search.mainIndex
-  }, children, /*#__PURE__*/React.createElement(ResetScheduleSearch, {
-    search: search
-  })));
 }
-function ResetScheduleSearch(_ref2) {
-  var search = _ref2.search;
-  useEffect(function () {
-    if (search._resetScheduleSearch) {
-      search._resetScheduleSearch();
-    }
-  }, [search]);
-  return null;
-}
\ No newline at end of file
+
+export { InstantSearch };
Index: package/dist/cjs/lib/InstantSearchContext.js
===================================================================
--- package/dist/cjs/lib/InstantSearchContext.js
+++ package/dist/cjs/lib/InstantSearchContext.js
@@ -1,11 +1,7 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.InstantSearchContext = void 0;
-var _react = require("react");
-var InstantSearchContext = exports.InstantSearchContext = /*#__PURE__*/(0, _react.createContext)(null);
-if (process.env.NODE_ENV === 'development') {
-  InstantSearchContext.displayName = 'InstantSearch';
-}
\ No newline at end of file
+var React = require('react');
+
+var InstantSearchContext = React.createContext(null);
+
+exports.InstantSearchContext = InstantSearchContext;
Index: package/dist/es/lib/InstantSearchContext.js
===================================================================
--- package/dist/es/lib/InstantSearchContext.js
+++ package/dist/es/lib/InstantSearchContext.js
@@ -1,5 +1,5 @@
 import { createContext } from 'react';
-export var InstantSearchContext = /*#__PURE__*/createContext(null);
-if (process.env.NODE_ENV === 'development') {
-  InstantSearchContext.displayName = 'InstantSearch';
-}
\ No newline at end of file
+
+var InstantSearchContext = createContext(null);
+
+export { InstantSearchContext };
Index: package/dist/cjs/lib/InstantSearchRSCContext.js
===================================================================
--- package/dist/cjs/lib/InstantSearchRSCContext.js
+++ package/dist/cjs/lib/InstantSearchRSCContext.js
@@ -1,14 +1,13 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
+var React = require('react');
+
+var InstantSearchRSCContext = React.createContext({
+    countRef: {
+        current: 0
+    },
+    waitForResultsRef: null,
+    ignoreMultipleHooksWarning: false
 });
-exports.InstantSearchRSCContext = void 0;
-var _react = require("react");
-var InstantSearchRSCContext = exports.InstantSearchRSCContext = /*#__PURE__*/(0, _react.createContext)({
-  countRef: {
-    current: 0
-  },
-  waitForResultsRef: null,
-  ignoreMultipleHooksWarning: false
-});
\ No newline at end of file
+
+exports.InstantSearchRSCContext = InstantSearchRSCContext;
Index: package/dist/es/lib/InstantSearchRSCContext.js
===================================================================
--- package/dist/es/lib/InstantSearchRSCContext.js
+++ package/dist/es/lib/InstantSearchRSCContext.js
@@ -1,8 +1,11 @@
 import { createContext } from 'react';
-export var InstantSearchRSCContext = /*#__PURE__*/createContext({
-  countRef: {
-    current: 0
-  },
-  waitForResultsRef: null,
-  ignoreMultipleHooksWarning: false
-});
\ No newline at end of file
+
+var InstantSearchRSCContext = createContext({
+    countRef: {
+        current: 0
+    },
+    waitForResultsRef: null,
+    ignoreMultipleHooksWarning: false
+});
+
+export { InstantSearchRSCContext };
Index: package/dist/cjs/components/InstantSearchServerContext.js
===================================================================
--- package/dist/cjs/components/InstantSearchServerContext.js
+++ package/dist/cjs/components/InstantSearchServerContext.js
@@ -1,11 +1,7 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.InstantSearchServerContext = void 0;
-var _react = require("react");
-var InstantSearchServerContext = exports.InstantSearchServerContext = /*#__PURE__*/(0, _react.createContext)(null);
-if (process.env.NODE_ENV === 'development') {
-  InstantSearchServerContext.displayName = 'InstantSearchServer';
-}
\ No newline at end of file
+var React = require('react');
+
+var InstantSearchServerContext = React.createContext(null);
+
+exports.InstantSearchServerContext = InstantSearchServerContext;
Index: package/dist/es/components/InstantSearchServerContext.js
===================================================================
--- package/dist/es/components/InstantSearchServerContext.js
+++ package/dist/es/components/InstantSearchServerContext.js
@@ -1,5 +1,5 @@
 import { createContext } from 'react';
-export var InstantSearchServerContext = /*#__PURE__*/createContext(null);
-if (process.env.NODE_ENV === 'development') {
-  InstantSearchServerContext.displayName = 'InstantSearchServer';
-}
\ No newline at end of file
+
+var InstantSearchServerContext = createContext(null);
+
+export { InstantSearchServerContext };
Index: package/dist/cjs/lib/InstantSearchSSRContext.js
===================================================================
--- package/dist/cjs/lib/InstantSearchSSRContext.js
+++ package/dist/cjs/lib/InstantSearchSSRContext.js
@@ -1,11 +1,7 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.InstantSearchSSRContext = void 0;
-var _react = require("react");
-var InstantSearchSSRContext = exports.InstantSearchSSRContext = /*#__PURE__*/(0, _react.createContext)(null);
-if (process.env.NODE_ENV === 'development') {
-  InstantSearchSSRContext.displayName = 'InstantSearchSSR';
-}
\ No newline at end of file
+var React = require('react');
+
+var InstantSearchSSRContext = React.createContext(null);
+
+exports.InstantSearchSSRContext = InstantSearchSSRContext;
Index: package/dist/es/lib/InstantSearchSSRContext.js
===================================================================
--- package/dist/es/lib/InstantSearchSSRContext.js
+++ package/dist/es/lib/InstantSearchSSRContext.js
@@ -1,5 +1,5 @@
 import { createContext } from 'react';
-export var InstantSearchSSRContext = /*#__PURE__*/createContext(null);
-if (process.env.NODE_ENV === 'development') {
-  InstantSearchSSRContext.displayName = 'InstantSearchSSR';
-}
\ No newline at end of file
+
+var InstantSearchSSRContext = createContext(null);
+
+export { InstantSearchSSRContext };
Index: package/dist/cjs/components/InstantSearchSSRProvider.js
===================================================================
--- package/dist/cjs/components/InstantSearchSSRProvider.js
+++ package/dist/cjs/components/InstantSearchSSRProvider.js
@@ -1,46 +1,36 @@
-"use strict";
+'use strict';
 
-function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.InstantSearchSSRProvider = InstantSearchSSRProvider;
-var _react = _interopRequireDefault(require("react"));
-var _InstantSearchSSRContext = require("../lib/InstantSearchSSRContext");
-var _excluded = ["children"];
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
-function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
-function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
-function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
-function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
-function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
-function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
-function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
+var _object_spread = require('@swc/helpers/_/_object_spread');
+var _object_spread_props = require('@swc/helpers/_/_object_spread_props');
+var _object_without_properties = require('@swc/helpers/_/_object_without_properties');
+var React = require('react');
+var InstantSearchSSRContext = require('../lib/InstantSearchSSRContext.js');
+
 /**
  * Provider to pass the server state retrieved from `getServerState()` to
  * <InstantSearch>.
- */
-function InstantSearchSSRProvider(_ref) {
-  var children = _ref.children,
-    props = _objectWithoutProperties(_ref, _excluded);
-  // This is used in `useInstantSearchApi()` to avoid creating and starting multiple instances of
-  // `InstantSearch` on mount.
-  var ssrSearchRef = _react.default.useRef(null);
+ */ function InstantSearchSSRProvider(_0) {
+    var children = _0.children, props = _object_without_properties._(_0, [
+        "children"
+    ]);
+    // This is used in `useInstantSearchApi()` to avoid creating and starting multiple instances of
+    // `InstantSearch` on mount.
+    var ssrSearchRef = React.useRef(null);
+    // This is used to re-map the result index to the requesting widget
+    var recommendIdx = React.useRef(0);
+    // When <DynamicWidgets> is mounted, a second provider is used above the user-land
+    // <InstantSearchSSRProvider> in `getServerState()`.
+    // To avoid the user's provider overriding the context value with an empty object,
+    // we skip this provider.
+    if (Object.keys(props).length === 0) {
+        return /*#__PURE__*/ React.createElement(React.Fragment, null, children);
+    }
+    return /*#__PURE__*/ React.createElement(InstantSearchSSRContext.InstantSearchSSRContext.Provider, {
+        value: _object_spread_props._(_object_spread._({}, props), {
+            ssrSearchRef: ssrSearchRef,
+            recommendIdx: recommendIdx
+        })
+    }, children);
+}
 
-  // This is used to re-map the result index to the requesting widget
-  var recommendIdx = _react.default.useRef(0);
-
-  // When <DynamicWidgets> is mounted, a second provider is used above the user-land
-  // <InstantSearchSSRProvider> in `getServerState()`.
-  // To avoid the user's provider overriding the context value with an empty object,
-  // we skip this provider.
-  if (Object.keys(props).length === 0) {
-    return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
-  }
-  return /*#__PURE__*/_react.default.createElement(_InstantSearchSSRContext.InstantSearchSSRContext.Provider, {
-    value: _objectSpread(_objectSpread({}, props), {}, {
-      ssrSearchRef: ssrSearchRef,
-      recommendIdx: recommendIdx
-    })
-  }, children);
-}
\ No newline at end of file
+exports.InstantSearchSSRProvider = InstantSearchSSRProvider;
Index: package/dist/es/components/InstantSearchSSRProvider.js
===================================================================
--- package/dist/es/components/InstantSearchSSRProvider.js
+++ package/dist/es/components/InstantSearchSSRProvider.js
@@ -1,39 +1,34 @@
-function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
-var _excluded = ["children"];
-function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
-function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
-function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
-function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
-function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
-function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
-function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
-import React from 'react';
-import { InstantSearchSSRContext } from "../lib/InstantSearchSSRContext.js";
+import { _ as _$2 } from '@swc/helpers/cjs/_object_spread.cjs';
+import { _ as _$1 } from '@swc/helpers/cjs/_object_spread_props.cjs';
+import { _ } from '@swc/helpers/cjs/_object_without_properties.cjs';
+import React__default from 'react';
+import { InstantSearchSSRContext } from '../lib/InstantSearchSSRContext.js';
+
 /**
  * Provider to pass the server state retrieved from `getServerState()` to
  * <InstantSearch>.
- */
-export function InstantSearchSSRProvider(_ref) {
-  var children = _ref.children,
-    props = _objectWithoutProperties(_ref, _excluded);
-  // This is used in `useInstantSearchApi()` to avoid creating and starting multiple instances of
-  // `InstantSearch` on mount.
-  var ssrSearchRef = React.useRef(null);
+ */ function InstantSearchSSRProvider(_0) {
+    var children = _0.children, props = _(_0, [
+        "children"
+    ]);
+    // This is used in `useInstantSearchApi()` to avoid creating and starting multiple instances of
+    // `InstantSearch` on mount.
+    var ssrSearchRef = React__default.useRef(null);
+    // This is used to re-map the result index to the requesting widget
+    var recommendIdx = React__default.useRef(0);
+    // When <DynamicWidgets> is mounted, a second provider is used above the user-land
+    // <InstantSearchSSRProvider> in `getServerState()`.
+    // To avoid the user's provider overriding the context value with an empty object,
+    // we skip this provider.
+    if (Object.keys(props).length === 0) {
+        return /*#__PURE__*/ React__default.createElement(React__default.Fragment, null, children);
+    }
+    return /*#__PURE__*/ React__default.createElement(InstantSearchSSRContext.Provider, {
+        value: _$1(_$2({}, props), {
+            ssrSearchRef: ssrSearchRef,
+            recommendIdx: recommendIdx
+        })
+    }, children);
+}
 
-  // This is used to re-map the result index to the requesting widget
-  var recommendIdx = React.useRef(0);
-
-  // When <DynamicWidgets> is mounted, a second provider is used above the user-land
-  // <InstantSearchSSRProvider> in `getServerState()`.
-  // To avoid the user's provider overriding the context value with an empty object,
-  // we skip this provider.
-  if (Object.keys(props).length === 0) {
-    return /*#__PURE__*/React.createElement(React.Fragment, null, children);
-  }
-  return /*#__PURE__*/React.createElement(InstantSearchSSRContext.Provider, {
-    value: _objectSpread(_objectSpread({}, props), {}, {
-      ssrSearchRef: ssrSearchRef,
-      recommendIdx: recommendIdx
-    })
-  }, children);
-}
\ No newline at end of file
+export { InstantSearchSSRProvider };
Index: package/dist/cjs/lib/invariant.js
===================================================================
--- package/dist/cjs/lib/invariant.js
+++ package/dist/cjs/lib/invariant.js
@@ -1,25 +1,19 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.invariant = invariant;
 /**
  * Throws an error if the condition is not met.
  *
  * The error is exhaustive in development, and becomes generic in production.
  *
  * This is used to make development a better experience to provide guidance as
  * to where the error comes from.
- */
-function invariant(condition, message) {
-  if (condition) {
-    return;
-  }
-  if (!(process.env.NODE_ENV === 'development')) {
-    throw new Error('Invariant failed');
-  }
-  if (process.env.NODE_ENV === 'development') {
-    throw new Error("[InstantSearch] ".concat(typeof message === 'function' ? message() : message));
-  }
-}
\ No newline at end of file
+ */ function invariant(condition, message) {
+    if (condition) {
+        return;
+    }
+    {
+        throw new Error('Invariant failed');
+    }
+}
+
+exports.invariant = invariant;
Index: package/dist/es/lib/invariant.js
===================================================================
--- package/dist/es/lib/invariant.js
+++ package/dist/es/lib/invariant.js
@@ -4,16 +4,14 @@
  * The error is exhaustive in development, and becomes generic in production.
  *
  * This is used to make development a better experience to provide guidance as
  * to where the error comes from.
- */
-export function invariant(condition, message) {
-  if (condition) {
-    return;
-  }
-  if (!(process.env.NODE_ENV === 'development')) {
-    throw new Error('Invariant failed');
-  }
-  if (process.env.NODE_ENV === 'development') {
-    throw new Error("[InstantSearch] ".concat(typeof message === 'function' ? message() : message));
-  }
-}
\ No newline at end of file
+ */ function invariant(condition, message) {
+    if (condition) {
+        return;
+    }
+    {
+        throw new Error('Invariant failed');
+    }
+}
+
+export { invariant };
Index: package/dist/cjs/lib/noop.js
===================================================================
--- package/dist/cjs/lib/noop.js
+++ package/dist/cjs/lib/noop.js
@@ -1,7 +1,9 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.noop = void 0;
-var noop = exports.noop = function noop() {};
\ No newline at end of file
+var noop = function noop() {
+    for(var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++){
+        _args[_key] = arguments[_key];
+    }
+};
+
+exports.noop = noop;
Index: package/dist/es/lib/noop.js
===================================================================
--- package/dist/es/lib/noop.js
+++ package/dist/es/lib/noop.js
@@ -1,1 +1,7 @@
-export var noop = function noop() {};
\ No newline at end of file
+var noop = function noop() {
+    for(var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++){
+        _args[_key] = arguments[_key];
+    }
+};
+
+export { noop };
File too large for inline diff
File too large for inline diff
Index: package/dist/cjs/lib/use.js
===================================================================
--- package/dist/cjs/lib/use.js
+++ package/dist/cjs/lib/use.js
@@ -1,13 +1,28 @@
-"use strict";
+'use strict';
 
-function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.use = void 0;
-var React = _interopRequireWildcard(require("react"));
-function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
-var useKey = 'use';
+var React = require('react');
 
+function _interopNamespaceDefault(e) {
+	var n = Object.create(null);
+	if (e) {
+		Object.keys(e).forEach(function (k) {
+			if (k !== 'default') {
+				var d = Object.getOwnPropertyDescriptor(e, k);
+				Object.defineProperty(n, k, d.get ? d : {
+					enumerable: true,
+					get: function () { return e[k]; }
+				});
+			}
+		});
+	}
+	n.default = e;
+	return Object.freeze(n);
+}
+
+var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
+
+var useKey = 'use';
 // @TODO: Remove this file and import directly from React when available.
-var use = exports.use = React[useKey];
\ No newline at end of file
+var use = React__namespace[useKey];
+
+exports.use = use;
Index: package/dist/es/lib/use.js
===================================================================
--- package/dist/es/lib/use.js
+++ package/dist/es/lib/use.js
@@ -1,5 +1,7 @@
 import * as React from 'react';
-var useKey = 'use';
 
+var useKey = 'use';
 // @TODO: Remove this file and import directly from React when available.
-export var use = React[useKey];
\ No newline at end of file
+var use = React[useKey];
+
+export { use };
Index: package/dist/cjs/lib/useAppIdAndApiKey.js
===================================================================
--- package/dist/cjs/lib/useAppIdAndApiKey.js
+++ package/dist/cjs/lib/useAppIdAndApiKey.js
@@ -1,13 +1,11 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useAppIdAndApiKey = void 0;
-var _utils = require("instantsearch.js/cjs/lib/utils");
-var _useInstantSearchContext = require("./useInstantSearchContext");
-var useAppIdAndApiKey = exports.useAppIdAndApiKey = function useAppIdAndApiKey() {
-  var _useInstantSearchCont = (0, _useInstantSearchContext.useInstantSearchContext)(),
-    client = _useInstantSearchCont.client;
-  return (0, _utils.getAppIdAndApiKey)(client);
-};
\ No newline at end of file
+var utils = require('instantsearch.js/cjs/lib/utils');
+var useInstantSearchContext = require('./useInstantSearchContext.js');
+
+var useAppIdAndApiKey = function useAppIdAndApiKey() {
+    var client = useInstantSearchContext.useInstantSearchContext().client;
+    return utils.getAppIdAndApiKey(client);
+};
+
+exports.useAppIdAndApiKey = useAppIdAndApiKey;
Index: package/dist/es/lib/useAppIdAndApiKey.js
===================================================================
--- package/dist/es/lib/useAppIdAndApiKey.js
+++ package/dist/es/lib/useAppIdAndApiKey.js
@@ -1,7 +1,9 @@
-import { getAppIdAndApiKey } from "instantsearch.js/es/lib/utils/index.js";
-import { useInstantSearchContext } from "./useInstantSearchContext.js";
-export var useAppIdAndApiKey = function useAppIdAndApiKey() {
-  var _useInstantSearchCont = useInstantSearchContext(),
-    client = _useInstantSearchCont.client;
-  return getAppIdAndApiKey(client);
-};
\ No newline at end of file
+import { getAppIdAndApiKey } from 'instantsearch.js/es/lib/utils/index.js';
+import { useInstantSearchContext } from './useInstantSearchContext.js';
+
+var useAppIdAndApiKey = function useAppIdAndApiKey() {
+    var client = useInstantSearchContext().client;
+    return getAppIdAndApiKey(client);
+};
+
+export { useAppIdAndApiKey };
Index: package/dist/cjs/connectors/useAutocomplete.js
===================================================================
--- package/dist/cjs/connectors/useAutocomplete.js
+++ package/dist/cjs/connectors/useAutocomplete.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useAutocomplete = useAutocomplete;
-var _connectAutocomplete = _interopRequireDefault(require("instantsearch.js/cjs/connectors/autocomplete/connectAutocomplete"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectAutocomplete = require('instantsearch.js/cjs/connectors/autocomplete/connectAutocomplete');
+var useConnector = require('../hooks/useConnector.js');
+
 function useAutocomplete(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectAutocomplete.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectAutocomplete, props, additionalWidgetProperties);
+}
+
+exports.useAutocomplete = useAutocomplete;
Index: package/dist/es/connectors/useAutocomplete.js
===================================================================
--- package/dist/es/connectors/useAutocomplete.js
+++ package/dist/es/connectors/useAutocomplete.js
@@ -1,5 +1,8 @@
-import connectAutocomplete from "instantsearch.js/es/connectors/autocomplete/connectAutocomplete.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useAutocomplete(props, additionalWidgetProperties) {
-  return useConnector(connectAutocomplete, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectAutocomplete from 'instantsearch.js/es/connectors/autocomplete/connectAutocomplete.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useAutocomplete(props, additionalWidgetProperties) {
+    return useConnector(connectAutocomplete, props, additionalWidgetProperties);
+}
+
+export { useAutocomplete };
Index: package/dist/cjs/connectors/useBreadcrumb.js
===================================================================
--- package/dist/cjs/connectors/useBreadcrumb.js
+++ package/dist/cjs/connectors/useBreadcrumb.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useBreadcrumb = useBreadcrumb;
-var _connectBreadcrumb = _interopRequireDefault(require("instantsearch.js/cjs/connectors/breadcrumb/connectBreadcrumb"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectBreadcrumb = require('instantsearch.js/cjs/connectors/breadcrumb/connectBreadcrumb');
+var useConnector = require('../hooks/useConnector.js');
+
 function useBreadcrumb(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectBreadcrumb.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectBreadcrumb, props, additionalWidgetProperties);
+}
+
+exports.useBreadcrumb = useBreadcrumb;
Index: package/dist/es/connectors/useBreadcrumb.js
===================================================================
--- package/dist/es/connectors/useBreadcrumb.js
+++ package/dist/es/connectors/useBreadcrumb.js
@@ -1,5 +1,8 @@
-import connectBreadcrumb from "instantsearch.js/es/connectors/breadcrumb/connectBreadcrumb.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useBreadcrumb(props, additionalWidgetProperties) {
-  return useConnector(connectBreadcrumb, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectBreadcrumb from 'instantsearch.js/es/connectors/breadcrumb/connectBreadcrumb.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useBreadcrumb(props, additionalWidgetProperties) {
+    return useConnector(connectBreadcrumb, props, additionalWidgetProperties);
+}
+
+export { useBreadcrumb };
Index: package/dist/cjs/connectors/useChat.js
===================================================================
--- package/dist/cjs/connectors/useChat.js
+++ package/dist/cjs/connectors/useChat.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useChat = useChat;
-var _connectChat = _interopRequireDefault(require("instantsearch.js/cjs/connectors/chat/connectChat"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectChat = require('instantsearch.js/cjs/connectors/chat/connectChat');
+var useConnector = require('../hooks/useConnector.js');
+
 function useChat(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectChat.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectChat, props, additionalWidgetProperties);
+}
+
+exports.useChat = useChat;
Index: package/dist/es/connectors/useChat.js
===================================================================
--- package/dist/es/connectors/useChat.js
+++ package/dist/es/connectors/useChat.js
@@ -1,5 +1,8 @@
-import connectChat from "instantsearch.js/es/connectors/chat/connectChat.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useChat(props, additionalWidgetProperties) {
-  return useConnector(connectChat, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectChat from 'instantsearch.js/es/connectors/chat/connectChat.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useChat(props, additionalWidgetProperties) {
+    return useConnector(connectChat, props, additionalWidgetProperties);
+}
+
+export { useChat };
Index: package/dist/cjs/connectors/useClearRefinements.js
===================================================================
--- package/dist/cjs/connectors/useClearRefinements.js
+++ package/dist/cjs/connectors/useClearRefinements.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useClearRefinements = useClearRefinements;
-var _connectClearRefinements = _interopRequireDefault(require("instantsearch.js/cjs/connectors/clear-refinements/connectClearRefinements"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectClearRefinements = require('instantsearch.js/cjs/connectors/clear-refinements/connectClearRefinements');
+var useConnector = require('../hooks/useConnector.js');
+
 function useClearRefinements(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectClearRefinements.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectClearRefinements, props, additionalWidgetProperties);
+}
+
+exports.useClearRefinements = useClearRefinements;
Index: package/dist/es/connectors/useClearRefinements.js
===================================================================
--- package/dist/es/connectors/useClearRefinements.js
+++ package/dist/es/connectors/useClearRefinements.js
@@ -1,5 +1,8 @@
-import connectClearRefinements from "instantsearch.js/es/connectors/clear-refinements/connectClearRefinements.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useClearRefinements(props, additionalWidgetProperties) {
-  return useConnector(connectClearRefinements, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectClearRefinements from 'instantsearch.js/es/connectors/clear-refinements/connectClearRefinements.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useClearRefinements(props, additionalWidgetProperties) {
+    return useConnector(connectClearRefinements, props, additionalWidgetProperties);
+}
+
+export { useClearRefinements };
Index: package/dist/cjs/connectors/useConfigure.js
===================================================================
--- package/dist/cjs/connectors/useConfigure.js
+++ package/dist/cjs/connectors/useConfigure.js
@@ -1,14 +1,12 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useConfigure = useConfigure;
-var _connectConfigure = _interopRequireDefault(require("instantsearch.js/cjs/connectors/configure/connectConfigure"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectConfigure = require('instantsearch.js/cjs/connectors/configure/connectConfigure');
+var useConnector = require('../hooks/useConnector.js');
+
 function useConfigure(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectConfigure.default, {
-    searchParameters: props
-  }, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectConfigure, {
+        searchParameters: props
+    }, additionalWidgetProperties);
+}
+
+exports.useConfigure = useConfigure;
Index: package/dist/es/connectors/useConfigure.js
===================================================================
--- package/dist/es/connectors/useConfigure.js
+++ package/dist/es/connectors/useConfigure.js
@@ -1,7 +1,10 @@
-import connectConfigure from "instantsearch.js/es/connectors/configure/connectConfigure.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useConfigure(props, additionalWidgetProperties) {
-  return useConnector(connectConfigure, {
-    searchParameters: props
-  }, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectConfigure from 'instantsearch.js/es/connectors/configure/connectConfigure.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useConfigure(props, additionalWidgetProperties) {
+    return useConnector(connectConfigure, {
+        searchParameters: props
+    }, additionalWidgetProperties);
+}
+
+export { useConfigure };
Index: package/dist/cjs/hooks/useConnector.js
===================================================================
--- package/dist/cjs/hooks/useConnector.js
+++ package/dist/cjs/hooks/useConnector.js
@@ -1,144 +1,128 @@
-"use strict";
+'use strict';
 
-function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useConnector = useConnector;
-var _react = require("react");
-var _dequal = require("../lib/dequal");
-var _getIndexSearchResults = require("../lib/getIndexSearchResults");
-var _useIndexContext = require("../lib/useIndexContext");
-var _useInstantSearchContext = require("../lib/useInstantSearchContext");
-var _useInstantSearchServerContext = require("../lib/useInstantSearchServerContext");
-var _useInstantSearchSSRContext = require("../lib/useInstantSearchSSRContext");
-var _useStableValue = require("../lib/useStableValue");
-var _useWidget = require("../lib/useWidget");
-var _excluded = ["skipSuspense"],
-  _excluded2 = ["instantSearchInstance", "widgetParams"],
-  _excluded3 = ["widgetParams"];
-function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
-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."); }
-function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
-function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
-function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
-function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
-function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
-function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
-function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
-function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
-function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
-function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
-function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
-function useConnector(connector) {
-  var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
-  var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
-    _ref$skipSuspense = _ref.skipSuspense,
-    skipSuspense = _ref$skipSuspense === void 0 ? false : _ref$skipSuspense,
-    additionalWidgetProperties = _objectWithoutProperties(_ref, _excluded);
-  var serverContext = (0, _useInstantSearchServerContext.useInstantSearchServerContext)();
-  var ssrContext = (0, _useInstantSearchSSRContext.useInstantSearchSSRContext)();
-  var search = (0, _useInstantSearchContext.useInstantSearchContext)();
-  var parentIndex = (0, _useIndexContext.useIndexContext)();
-  var stableProps = (0, _useStableValue.useStableValue)(props);
-  var stableAdditionalWidgetProperties = (0, _useStableValue.useStableValue)(additionalWidgetProperties);
-  var shouldSetStateRef = (0, _react.useRef)(true);
-  var previousRenderStateRef = (0, _react.useRef)(null);
-  var previousStatusRef = (0, _react.useRef)(search.status);
-  var widget = (0, _react.useMemo)(function () {
-    var createWidget = connector(function (connectorState, isFirstRender) {
-      // We skip the `init` widget render because:
-      // - We rely on `getWidgetRenderState` to compute the initial state before
-      //   the InstantSearch.js lifecycle starts.
-      // - It prevents UI flashes when updating the widget props.
-      if (isFirstRender) {
-        shouldSetStateRef.current = true;
-        return;
-      }
+var _object_spread = require('@swc/helpers/_/_object_spread');
+var _object_without_properties = require('@swc/helpers/_/_object_without_properties');
+var _sliced_to_array = require('@swc/helpers/_/_sliced_to_array');
+var _to_array = require('@swc/helpers/_/_to_array');
+var React = require('react');
+var dequal = require('../lib/dequal.js');
+var getIndexSearchResults = require('../lib/getIndexSearchResults.js');
+var useIndexContext = require('../lib/useIndexContext.js');
+var useInstantSearchContext = require('../lib/useInstantSearchContext.js');
+var useInstantSearchServerContext = require('../lib/useInstantSearchServerContext.js');
+var useInstantSearchSSRContext = require('../lib/useInstantSearchSSRContext.js');
+var useStableValue = require('../lib/useStableValue.js');
+var useWidget = require('../lib/useWidget.js');
 
-      // There are situations where InstantSearch.js may render widgets slightly
-      // after they're removed by React, and thus try to update the React state
-      // on unmounted components. React 16 and 17 consider them as memory leaks
-      // and display a warning.
-      // This happens in <DynamicWidgets> when `attributesToRender` contains a
-      // value without an attribute previously mounted. React will unmount the
-      // component controlled by that attribute, but InstantSearch.js will stay
-      // unaware of this change until the render pass finishes, and therefore
-      // notifies of a state change.
-      // This ref lets us track this situation and ignore these state updates.
-      if (shouldSetStateRef.current) {
-        var instantSearchInstance = connectorState.instantSearchInstance,
-          widgetParams = connectorState.widgetParams,
-          renderState = _objectWithoutProperties(connectorState, _excluded2);
-
-        // We only update the state when a widget render state param changes,
-        // except for functions. We ignore function reference changes to avoid
-        // infinite loops. It's safe to omit them because they get updated
-        // every time another render param changes.
-        if (!(0, _dequal.dequal)(renderState, previousRenderStateRef.current, function (a, b) {
-          return (a === null || a === void 0 ? void 0 : a.constructor) === Function && (b === null || b === void 0 ? void 0 : b.constructor) === Function;
-        }) || instantSearchInstance.status !== previousStatusRef.current) {
-          // eslint-disable-next-line @typescript-eslint/no-use-before-define
-          setState(renderState);
-          previousRenderStateRef.current = renderState;
-          previousStatusRef.current = instantSearchInstance.status;
+function useConnector(connector) {
+    var _1 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : void 0, _2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : void 0;
+    var _ref = [
+        _1,
+        _2
+    ], _ref1 = _to_array._(_ref), tmp = _ref1[0], props = tmp === void 0 ? {} : tmp, _rest = _ref1.slice(1), _rest1 = _sliced_to_array._(_rest, 1), tmp1 = _rest1[0], _ref2 = tmp1 === void 0 ? {} : tmp1, _ref_skipSuspense = _ref2.skipSuspense, skipSuspense = _ref_skipSuspense === void 0 ? false : _ref_skipSuspense, additionalWidgetProperties = _object_without_properties._(_ref2, [
+        "skipSuspense"
+    ]);
+    var serverContext = useInstantSearchServerContext.useInstantSearchServerContext();
+    var ssrContext = useInstantSearchSSRContext.useInstantSearchSSRContext();
+    var search = useInstantSearchContext.useInstantSearchContext();
+    var parentIndex = useIndexContext.useIndexContext();
+    var stableProps = useStableValue.useStableValue(props);
+    var stableAdditionalWidgetProperties = useStableValue.useStableValue(additionalWidgetProperties);
+    var shouldSetStateRef = React.useRef(true);
+    var previousRenderStateRef = React.useRef(null);
+    var previousStatusRef = React.useRef(search.status);
+    var widget = React.useMemo(function() {
+        var createWidget = connector(function(connectorState, isFirstRender) {
+            // We skip the `init` widget render because:
+            // - We rely on `getWidgetRenderState` to compute the initial state before
+            //   the InstantSearch.js lifecycle starts.
+            // - It prevents UI flashes when updating the widget props.
+            if (isFirstRender) {
+                shouldSetStateRef.current = true;
+                return;
+            }
+            // There are situations where InstantSearch.js may render widgets slightly
+            // after they're removed by React, and thus try to update the React state
+            // on unmounted components. React 16 and 17 consider them as memory leaks
+            // and display a warning.
+            // This happens in <DynamicWidgets> when `attributesToRender` contains a
+            // value without an attribute previously mounted. React will unmount the
+            // component controlled by that attribute, but InstantSearch.js will stay
+            // unaware of this change until the render pass finishes, and therefore
+            // notifies of a state change.
+            // This ref lets us track this situation and ignore these state updates.
+            if (shouldSetStateRef.current) {
+                var instantSearchInstance = connectorState.instantSearchInstance; connectorState.widgetParams; var renderState = _object_without_properties._(connectorState, [
+                    "instantSearchInstance",
+                    "widgetParams"
+                ]);
+                // We only update the state when a widget render state param changes,
+                // except for functions. We ignore function reference changes to avoid
+                // infinite loops. It's safe to omit them because they get updated
+                // every time another render param changes.
+                if (!dequal.dequal(renderState, previousRenderStateRef.current, function(a, b) {
+                    return (a === null || a === void 0 ? void 0 : a.constructor) === Function && (b === null || b === void 0 ? void 0 : b.constructor) === Function;
+                }) || instantSearchInstance.status !== previousStatusRef.current) {
+                    // eslint-disable-next-line @typescript-eslint/no-use-before-define
+                    setState(renderState);
+                    previousRenderStateRef.current = renderState;
+                    previousStatusRef.current = instantSearchInstance.status;
+                }
+            }
+        }, function() {
+            // We'll ignore the next state update until we know for sure that
+            // InstantSearch.js re-inits the component.
+            shouldSetStateRef.current = false;
+        });
+        return _object_spread._({}, createWidget(stableProps), stableAdditionalWidgetProperties);
+    }, [
+        connector,
+        stableProps,
+        stableAdditionalWidgetProperties
+    ]);
+    var _useState = _sliced_to_array._(React.useState(function() {
+        if (widget.getWidgetRenderState) {
+            var _widget_getWidgetSearchParameters;
+            // The helper exists because we've started InstantSearch.
+            var helper = parentIndex.getHelper();
+            var uiState = parentIndex.getWidgetUiState({})[parentIndex.getIndexId()];
+            helper.state = ((_widget_getWidgetSearchParameters = widget.getWidgetSearchParameters) === null || _widget_getWidgetSearchParameters === void 0 ? void 0 : _widget_getWidgetSearchParameters.call(widget, helper.state, {
+                uiState: uiState
+            })) || helper.state;
+            var _getIndexSearchResults = getIndexSearchResults.getIndexSearchResults(parentIndex), results = _getIndexSearchResults.results, scopedResults = _getIndexSearchResults.scopedResults, recommendResults = _getIndexSearchResults.recommendResults;
+            // We get the widget render state by providing the same parameters as
+            // InstantSearch provides to the widget's `render` method.
+            // See https://github.com/algolia/instantsearch/blob/019cd18d0de6dd320284aa4890541b7fe2198c65/src/widgets/index/index.ts#L604-L617
+            var _widget_getWidgetRenderState = widget.getWidgetRenderState({
+                helper: helper,
+                parent: parentIndex,
+                instantSearchInstance: search,
+                results: widget.dependsOn === 'recommend' && recommendResults && ssrContext ? recommendResults[ssrContext.recommendIdx.current++] : results,
+                scopedResults: scopedResults,
+                state: helper.state,
+                renderState: search.renderState,
+                templatesConfig: search.templatesConfig,
+                createURL: parentIndex.createURL,
+                searchMetadata: {
+                    isSearchStalled: search.status === 'stalled'
+                },
+                status: search.status,
+                error: search.error
+            }); _widget_getWidgetRenderState.widgetParams; var renderState = _object_without_properties._(_widget_getWidgetRenderState, [
+                "widgetParams"
+            ]);
+            return renderState;
         }
-      }
-    }, function () {
-      // We'll ignore the next state update until we know for sure that
-      // InstantSearch.js re-inits the component.
-      shouldSetStateRef.current = false;
+        return {};
+    }), 2), state = _useState[0], setState = _useState[1];
+    useWidget.useWidget({
+        widget: widget,
+        parentIndex: parentIndex,
+        props: stableProps,
+        shouldSsr: Boolean(serverContext),
+        skipSuspense: skipSuspense
     });
-    return _objectSpread(_objectSpread({}, createWidget(stableProps)), stableAdditionalWidgetProperties);
-  }, [connector, stableProps, stableAdditionalWidgetProperties]);
-  var _useState = (0, _react.useState)(function () {
-      if (widget.getWidgetRenderState) {
-        var _widget$getWidgetSear;
-        // The helper exists because we've started InstantSearch.
-        var helper = parentIndex.getHelper();
-        var uiState = parentIndex.getWidgetUiState({})[parentIndex.getIndexId()];
-        helper.state = ((_widget$getWidgetSear = widget.getWidgetSearchParameters) === null || _widget$getWidgetSear === void 0 ? void 0 : _widget$getWidgetSear.call(widget, helper.state, {
-          uiState: uiState
-        })) || helper.state;
-        var _getIndexSearchResult = (0, _getIndexSearchResults.getIndexSearchResults)(parentIndex),
-          results = _getIndexSearchResult.results,
-          scopedResults = _getIndexSearchResult.scopedResults,
-          recommendResults = _getIndexSearchResult.recommendResults;
+    return state;
+}
 
-        // We get the widget render state by providing the same parameters as
-        // InstantSearch provides to the widget's `render` method.
-        // See https://github.com/algolia/instantsearch/blob/019cd18d0de6dd320284aa4890541b7fe2198c65/src/widgets/index/index.ts#L604-L617
-        var _widget$getWidgetRend = widget.getWidgetRenderState({
-            helper: helper,
-            parent: parentIndex,
-            instantSearchInstance: search,
-            results: widget.dependsOn === 'recommend' && recommendResults && ssrContext ? recommendResults[ssrContext.recommendIdx.current++] : results,
-            scopedResults: scopedResults,
-            state: helper.state,
-            renderState: search.renderState,
-            templatesConfig: search.templatesConfig,
-            createURL: parentIndex.createURL,
-            searchMetadata: {
-              isSearchStalled: search.status === 'stalled'
-            },
-            status: search.status,
-            error: search.error
-          }),
-          widgetParams = _widget$getWidgetRend.widgetParams,
-          renderState = _objectWithoutProperties(_widget$getWidgetRend, _excluded3);
-        return renderState;
-      }
-      return {};
-    }),
-    _useState2 = _slicedToArray(_useState, 2),
-    state = _useState2[0],
-    setState = _useState2[1];
-  (0, _useWidget.useWidget)({
-    widget: widget,
-    parentIndex: parentIndex,
-    props: stableProps,
-    shouldSsr: Boolean(serverContext),
-    skipSuspense: skipSuspense
-  });
-  return state;
-}
\ No newline at end of file
+exports.useConnector = useConnector;
Index: package/dist/es/hooks/useConnector.js
===================================================================
--- package/dist/es/hooks/useConnector.js
+++ package/dist/es/hooks/useConnector.js
@@ -1,138 +1,126 @@
-function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
-var _excluded = ["skipSuspense"],
-  _excluded2 = ["instantSearchInstance", "widgetParams"],
-  _excluded3 = ["widgetParams"];
-function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
-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."); }
-function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
-function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
-function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
-function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
-function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
-function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
-function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
-function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
-function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
-function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
-function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
-import { useMemo, useRef, useState } from 'react';
-import { dequal } from "../lib/dequal.js";
-import { getIndexSearchResults } from "../lib/getIndexSearchResults.js";
-import { useIndexContext } from "../lib/useIndexContext.js";
-import { useInstantSearchContext } from "../lib/useInstantSearchContext.js";
-import { useInstantSearchServerContext } from "../lib/useInstantSearchServerContext.js";
-import { useInstantSearchSSRContext } from "../lib/useInstantSearchSSRContext.js";
-import { useStableValue } from "../lib/useStableValue.js";
-import { useWidget } from "../lib/useWidget.js";
-export function useConnector(connector) {
-  var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
-  var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
-    _ref$skipSuspense = _ref.skipSuspense,
-    skipSuspense = _ref$skipSuspense === void 0 ? false : _ref$skipSuspense,
-    additionalWidgetProperties = _objectWithoutProperties(_ref, _excluded);
-  var serverContext = useInstantSearchServerContext();
-  var ssrContext = useInstantSearchSSRContext();
-  var search = useInstantSearchContext();
-  var parentIndex = useIndexContext();
-  var stableProps = useStableValue(props);
-  var stableAdditionalWidgetProperties = useStableValue(additionalWidgetProperties);
-  var shouldSetStateRef = useRef(true);
-  var previousRenderStateRef = useRef(null);
-  var previousStatusRef = useRef(search.status);
-  var widget = useMemo(function () {
-    var createWidget = connector(function (connectorState, isFirstRender) {
-      // We skip the `init` widget render because:
-      // - We rely on `getWidgetRenderState` to compute the initial state before
-      //   the InstantSearch.js lifecycle starts.
-      // - It prevents UI flashes when updating the widget props.
-      if (isFirstRender) {
-        shouldSetStateRef.current = true;
-        return;
-      }
+import { _ as _$3 } from '@swc/helpers/cjs/_object_spread.cjs';
+import { _ as _$2 } from '@swc/helpers/cjs/_object_without_properties.cjs';
+import { _ as _$1 } from '@swc/helpers/cjs/_sliced_to_array.cjs';
+import { _ } from '@swc/helpers/cjs/_to_array.cjs';
+import { useRef, useMemo, useState } from 'react';
+import { dequal } from '../lib/dequal.js';
+import { getIndexSearchResults } from '../lib/getIndexSearchResults.js';
+import { useIndexContext } from '../lib/useIndexContext.js';
+import { useInstantSearchContext } from '../lib/useInstantSearchContext.js';
+import { useInstantSearchServerContext } from '../lib/useInstantSearchServerContext.js';
+import { useInstantSearchSSRContext } from '../lib/useInstantSearchSSRContext.js';
+import { useStableValue } from '../lib/useStableValue.js';
+import { useWidget } from '../lib/useWidget.js';
 
-      // There are situations where InstantSearch.js may render widgets slightly
-      // after they're removed by React, and thus try to update the React state
-      // on unmounted components. React 16 and 17 consider them as memory leaks
-      // and display a warning.
-      // This happens in <DynamicWidgets> when `attributesToRender` contains a
-      // value without an attribute previously mounted. React will unmount the
-      // component controlled by that attribute, but InstantSearch.js will stay
-      // unaware of this change until the render pass finishes, and therefore
-      // notifies of a state change.
-      // This ref lets us track this situation and ignore these state updates.
-      if (shouldSetStateRef.current) {
-        var instantSearchInstance = connectorState.instantSearchInstance,
-          widgetParams = connectorState.widgetParams,
-          renderState = _objectWithoutProperties(connectorState, _excluded2);
-
-        // We only update the state when a widget render state param changes,
-        // except for functions. We ignore function reference changes to avoid
-        // infinite loops. It's safe to omit them because they get updated
-        // every time another render param changes.
-        if (!dequal(renderState, previousRenderStateRef.current, function (a, b) {
-          return (a === null || a === void 0 ? void 0 : a.constructor) === Function && (b === null || b === void 0 ? void 0 : b.constructor) === Function;
-        }) || instantSearchInstance.status !== previousStatusRef.current) {
-          // eslint-disable-next-line @typescript-eslint/no-use-before-define
-          setState(renderState);
-          previousRenderStateRef.current = renderState;
-          previousStatusRef.current = instantSearchInstance.status;
+function useConnector(connector) {
+    var _1 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : void 0, _2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : void 0;
+    var _ref = [
+        _1,
+        _2
+    ], _ref1 = _(_ref), tmp = _ref1[0], props = tmp === void 0 ? {} : tmp, _rest = _ref1.slice(1), _rest1 = _$1(_rest, 1), tmp1 = _rest1[0], _ref2 = tmp1 === void 0 ? {} : tmp1, _ref_skipSuspense = _ref2.skipSuspense, skipSuspense = _ref_skipSuspense === void 0 ? false : _ref_skipSuspense, additionalWidgetProperties = _$2(_ref2, [
+        "skipSuspense"
+    ]);
+    var serverContext = useInstantSearchServerContext();
+    var ssrContext = useInstantSearchSSRContext();
+    var search = useInstantSearchContext();
+    var parentIndex = useIndexContext();
+    var stableProps = useStableValue(props);
+    var stableAdditionalWidgetProperties = useStableValue(additionalWidgetProperties);
+    var shouldSetStateRef = useRef(true);
+    var previousRenderStateRef = useRef(null);
+    var previousStatusRef = useRef(search.status);
+    var widget = useMemo(function() {
+        var createWidget = connector(function(connectorState, isFirstRender) {
+            // We skip the `init` widget render because:
+            // - We rely on `getWidgetRenderState` to compute the initial state before
+            //   the InstantSearch.js lifecycle starts.
+            // - It prevents UI flashes when updating the widget props.
+            if (isFirstRender) {
+                shouldSetStateRef.current = true;
+                return;
+            }
+            // There are situations where InstantSearch.js may render widgets slightly
+            // after they're removed by React, and thus try to update the React state
+            // on unmounted components. React 16 and 17 consider them as memory leaks
+            // and display a warning.
+            // This happens in <DynamicWidgets> when `attributesToRender` contains a
+            // value without an attribute previously mounted. React will unmount the
+            // component controlled by that attribute, but InstantSearch.js will stay
+            // unaware of this change until the render pass finishes, and therefore
+            // notifies of a state change.
+            // This ref lets us track this situation and ignore these state updates.
+            if (shouldSetStateRef.current) {
+                var instantSearchInstance = connectorState.instantSearchInstance; connectorState.widgetParams; var renderState = _$2(connectorState, [
+                    "instantSearchInstance",
+                    "widgetParams"
+                ]);
+                // We only update the state when a widget render state param changes,
+                // except for functions. We ignore function reference changes to avoid
+                // infinite loops. It's safe to omit them because they get updated
+                // every time another render param changes.
+                if (!dequal(renderState, previousRenderStateRef.current, function(a, b) {
+                    return (a === null || a === void 0 ? void 0 : a.constructor) === Function && (b === null || b === void 0 ? void 0 : b.constructor) === Function;
+                }) || instantSearchInstance.status !== previousStatusRef.current) {
+                    // eslint-disable-next-line @typescript-eslint/no-use-before-define
+                    setState(renderState);
+                    previousRenderStateRef.current = renderState;
+                    previousStatusRef.current = instantSearchInstance.status;
+                }
+            }
+        }, function() {
+            // We'll ignore the next state update until we know for sure that
+            // InstantSearch.js re-inits the component.
+            shouldSetStateRef.current = false;
+        });
+        return _$3({}, createWidget(stableProps), stableAdditionalWidgetProperties);
+    }, [
+        connector,
+        stableProps,
+        stableAdditionalWidgetProperties
+    ]);
+    var _useState = _$1(useState(function() {
+        if (widget.getWidgetRenderState) {
+            var _widget_getWidgetSearchParameters;
+            // The helper exists because we've started InstantSearch.
+            var helper = parentIndex.getHelper();
+            var uiState = parentIndex.getWidgetUiState({})[parentIndex.getIndexId()];
+            helper.state = ((_widget_getWidgetSearchParameters = widget.getWidgetSearchParameters) === null || _widget_getWidgetSearchParameters === void 0 ? void 0 : _widget_getWidgetSearchParameters.call(widget, helper.state, {
+                uiState: uiState
+            })) || helper.state;
+            var _getIndexSearchResults = getIndexSearchResults(parentIndex), results = _getIndexSearchResults.results, scopedResults = _getIndexSearchResults.scopedResults, recommendResults = _getIndexSearchResults.recommendResults;
+            // We get the widget render state by providing the same parameters as
+            // InstantSearch provides to the widget's `render` method.
+            // See https://github.com/algolia/instantsearch/blob/019cd18d0de6dd320284aa4890541b7fe2198c65/src/widgets/index/index.ts#L604-L617
+            var _widget_getWidgetRenderState = widget.getWidgetRenderState({
+                helper: helper,
+                parent: parentIndex,
+                instantSearchInstance: search,
+                results: widget.dependsOn === 'recommend' && recommendResults && ssrContext ? recommendResults[ssrContext.recommendIdx.current++] : results,
+                scopedResults: scopedResults,
+                state: helper.state,
+                renderState: search.renderState,
+                templatesConfig: search.templatesConfig,
+                createURL: parentIndex.createURL,
+                searchMetadata: {
+                    isSearchStalled: search.status === 'stalled'
+                },
+                status: search.status,
+                error: search.error
+            }); _widget_getWidgetRenderState.widgetParams; var renderState = _$2(_widget_getWidgetRenderState, [
+                "widgetParams"
+            ]);
+            return renderState;
         }
-      }
-    }, function () {
-      // We'll ignore the next state update until we know for sure that
-      // InstantSearch.js re-inits the component.
-      shouldSetStateRef.current = false;
+        return {};
+    }), 2), state = _useState[0], setState = _useState[1];
+    useWidget({
+        widget: widget,
+        parentIndex: parentIndex,
+        props: stableProps,
+        shouldSsr: Boolean(serverContext),
+        skipSuspense: skipSuspense
     });
-    return _objectSpread(_objectSpread({}, createWidget(stableProps)), stableAdditionalWidgetProperties);
-  }, [connector, stableProps, stableAdditionalWidgetProperties]);
-  var _useState = useState(function () {
-      if (widget.getWidgetRenderState) {
-        var _widget$getWidgetSear;
-        // The helper exists because we've started InstantSearch.
-        var helper = parentIndex.getHelper();
-        var uiState = parentIndex.getWidgetUiState({})[parentIndex.getIndexId()];
-        helper.state = ((_widget$getWidgetSear = widget.getWidgetSearchParameters) === null || _widget$getWidgetSear === void 0 ? void 0 : _widget$getWidgetSear.call(widget, helper.state, {
-          uiState: uiState
-        })) || helper.state;
-        var _getIndexSearchResult = getIndexSearchResults(parentIndex),
-          results = _getIndexSearchResult.results,
-          scopedResults = _getIndexSearchResult.scopedResults,
-          recommendResults = _getIndexSearchResult.recommendResults;
+    return state;
+}
 
-        // We get the widget render state by providing the same parameters as
-        // InstantSearch provides to the widget's `render` method.
-        // See https://github.com/algolia/instantsearch/blob/019cd18d0de6dd320284aa4890541b7fe2198c65/src/widgets/index/index.ts#L604-L617
-        var _widget$getWidgetRend = widget.getWidgetRenderState({
-            helper: helper,
-            parent: parentIndex,
-            instantSearchInstance: search,
-            results: widget.dependsOn === 'recommend' && recommendResults && ssrContext ? recommendResults[ssrContext.recommendIdx.current++] : results,
-            scopedResults: scopedResults,
-            state: helper.state,
-            renderState: search.renderState,
-            templatesConfig: search.templatesConfig,
-            createURL: parentIndex.createURL,
-            searchMetadata: {
-              isSearchStalled: search.status === 'stalled'
-            },
-            status: search.status,
-            error: search.error
-          }),
-          widgetParams = _widget$getWidgetRend.widgetParams,
-          renderState = _objectWithoutProperties(_widget$getWidgetRend, _excluded3);
-        return renderState;
-      }
-      return {};
-    }),
-    _useState2 = _slicedToArray(_useState, 2),
-    state = _useState2[0],
-    setState = _useState2[1];
-  useWidget({
-    widget: widget,
-    parentIndex: parentIndex,
-    props: stableProps,
-    shouldSsr: Boolean(serverContext),
-    skipSuspense: skipSuspense
-  });
-  return state;
-}
\ No newline at end of file
+export { useConnector };
Index: package/dist/cjs/connectors/useCurrentRefinements.js
===================================================================
--- package/dist/cjs/connectors/useCurrentRefinements.js
+++ package/dist/cjs/connectors/useCurrentRefinements.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useCurrentRefinements = useCurrentRefinements;
-var _connectCurrentRefinements = _interopRequireDefault(require("instantsearch.js/cjs/connectors/current-refinements/connectCurrentRefinements"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectCurrentRefinements = require('instantsearch.js/cjs/connectors/current-refinements/connectCurrentRefinements');
+var useConnector = require('../hooks/useConnector.js');
+
 function useCurrentRefinements(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectCurrentRefinements.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectCurrentRefinements, props, additionalWidgetProperties);
+}
+
+exports.useCurrentRefinements = useCurrentRefinements;
Index: package/dist/es/connectors/useCurrentRefinements.js
===================================================================
--- package/dist/es/connectors/useCurrentRefinements.js
+++ package/dist/es/connectors/useCurrentRefinements.js
@@ -1,5 +1,8 @@
-import connectCurrentRefinements from "instantsearch.js/es/connectors/current-refinements/connectCurrentRefinements.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useCurrentRefinements(props, additionalWidgetProperties) {
-  return useConnector(connectCurrentRefinements, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectCurrentRefinements from 'instantsearch.js/es/connectors/current-refinements/connectCurrentRefinements.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useCurrentRefinements(props, additionalWidgetProperties) {
+    return useConnector(connectCurrentRefinements, props, additionalWidgetProperties);
+}
+
+export { useCurrentRefinements };
Index: package/dist/cjs/connectors/useDynamicWidgets.js
===================================================================
--- package/dist/cjs/connectors/useDynamicWidgets.js
+++ package/dist/cjs/connectors/useDynamicWidgets.js
@@ -1,22 +1,16 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useDynamicWidgets = useDynamicWidgets;
-var _connectDynamicWidgets = _interopRequireDefault(require("instantsearch.js/cjs/connectors/dynamic-widgets/connectDynamicWidgets"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
-function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
-function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
-function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
-function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
-function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
-function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
+var _object_spread = require('@swc/helpers/_/_object_spread');
+var _object_spread_props = require('@swc/helpers/_/_object_spread_props');
+var connectDynamicWidgets = require('instantsearch.js/cjs/connectors/dynamic-widgets/connectDynamicWidgets');
+var useConnector = require('../hooks/useConnector.js');
+
 function useDynamicWidgets(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectDynamicWidgets.default, _objectSpread(_objectSpread({}, props), {}, {
-    // We don't rely on InstantSearch.js for rendering widgets because React
-    // directly manipulates the children.
-    widgets: []
-  }), additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectDynamicWidgets, _object_spread_props._(_object_spread._({}, props), {
+        // We don't rely on InstantSearch.js for rendering widgets because React
+        // directly manipulates the children.
+        widgets: []
+    }), additionalWidgetProperties);
+}
+
+exports.useDynamicWidgets = useDynamicWidgets;
Index: package/dist/es/connectors/useDynamicWidgets.js
===================================================================
--- package/dist/es/connectors/useDynamicWidgets.js
+++ package/dist/es/connectors/useDynamicWidgets.js
@@ -1,15 +1,14 @@
-function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
-function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
-function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
-function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
-function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
-function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
-import connectDynamicWidgets from "instantsearch.js/es/connectors/dynamic-widgets/connectDynamicWidgets.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useDynamicWidgets(props, additionalWidgetProperties) {
-  return useConnector(connectDynamicWidgets, _objectSpread(_objectSpread({}, props), {}, {
-    // We don't rely on InstantSearch.js for rendering widgets because React
-    // directly manipulates the children.
-    widgets: []
-  }), additionalWidgetProperties);
-}
\ No newline at end of file
+import { _ as _$1 } from '@swc/helpers/cjs/_object_spread.cjs';
+import { _ } from '@swc/helpers/cjs/_object_spread_props.cjs';
+import connectDynamicWidgets from 'instantsearch.js/es/connectors/dynamic-widgets/connectDynamicWidgets.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useDynamicWidgets(props, additionalWidgetProperties) {
+    return useConnector(connectDynamicWidgets, _(_$1({}, props), {
+        // We don't rely on InstantSearch.js for rendering widgets because React
+        // directly manipulates the children.
+        widgets: []
+    }), additionalWidgetProperties);
+}
+
+export { useDynamicWidgets };
Index: package/dist/cjs/connectors/useFilterSuggestions.js
===================================================================
--- package/dist/cjs/connectors/useFilterSuggestions.js
+++ package/dist/cjs/connectors/useFilterSuggestions.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useFilterSuggestions = useFilterSuggestions;
-var _connectFilterSuggestions = _interopRequireDefault(require("instantsearch.js/cjs/connectors/filter-suggestions/connectFilterSuggestions"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectFilterSuggestions = require('instantsearch.js/cjs/connectors/filter-suggestions/connectFilterSuggestions');
+var useConnector = require('../hooks/useConnector.js');
+
 function useFilterSuggestions(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectFilterSuggestions.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectFilterSuggestions, props, additionalWidgetProperties);
+}
+
+exports.useFilterSuggestions = useFilterSuggestions;
Index: package/dist/es/connectors/useFilterSuggestions.js
===================================================================
--- package/dist/es/connectors/useFilterSuggestions.js
+++ package/dist/es/connectors/useFilterSuggestions.js
@@ -1,5 +1,8 @@
-import connectFilterSuggestions from "instantsearch.js/es/connectors/filter-suggestions/connectFilterSuggestions.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useFilterSuggestions(props, additionalWidgetProperties) {
-  return useConnector(connectFilterSuggestions, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectFilterSuggestions from 'instantsearch.js/es/connectors/filter-suggestions/connectFilterSuggestions.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useFilterSuggestions(props, additionalWidgetProperties) {
+    return useConnector(connectFilterSuggestions, props, additionalWidgetProperties);
+}
+
+export { useFilterSuggestions };
Index: package/dist/cjs/lib/useForceUpdate.js
===================================================================
--- package/dist/cjs/lib/useForceUpdate.js
+++ package/dist/cjs/lib/useForceUpdate.js
@@ -1,25 +1,16 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useForceUpdate = useForceUpdate;
-var _react = require("react");
-function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
-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."); }
-function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
-function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
-function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
-function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
+var _sliced_to_array = require('@swc/helpers/_/_sliced_to_array');
+var React = require('react');
+
 /**
  * Forces a React update that triggers a rerender.
  * @link https://reactjs.org/docs/hooks-faq.html#is-there-something-like-forceupdate
- */
-function useForceUpdate() {
-  var _useReducer = (0, _react.useReducer)(function (x) {
-      return x + 1;
-    }, 0),
-    _useReducer2 = _slicedToArray(_useReducer, 2),
-    forceUpdate = _useReducer2[1];
-  return forceUpdate;
-}
\ No newline at end of file
+ */ function useForceUpdate() {
+    var _useReducer = _sliced_to_array._(React.useReducer(function(x) {
+        return x + 1;
+    }, 0), 2), forceUpdate = _useReducer[1];
+    return forceUpdate;
+}
+
+exports.useForceUpdate = useForceUpdate;
Index: package/dist/es/lib/useForceUpdate.js
===================================================================
--- package/dist/es/lib/useForceUpdate.js
+++ package/dist/es/lib/useForceUpdate.js
@@ -1,20 +1,14 @@
-function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
-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."); }
-function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
-function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
-function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
-function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
+import { _ } from '@swc/helpers/cjs/_sliced_to_array.cjs';
 import { useReducer } from 'react';
 
 /**
  * Forces a React update that triggers a rerender.
  * @link https://reactjs.org/docs/hooks-faq.html#is-there-something-like-forceupdate
- */
-export function useForceUpdate() {
-  var _useReducer = useReducer(function (x) {
-      return x + 1;
-    }, 0),
-    _useReducer2 = _slicedToArray(_useReducer, 2),
-    forceUpdate = _useReducer2[1];
-  return forceUpdate;
-}
\ No newline at end of file
+ */ function useForceUpdate() {
+    var _useReducer = _(useReducer(function(x) {
+        return x + 1;
+    }, 0), 2), forceUpdate = _useReducer[1];
+    return forceUpdate;
+}
+
+export { useForceUpdate };
Index: package/dist/cjs/connectors/useFrequentlyBoughtTogether.js
===================================================================
--- package/dist/cjs/connectors/useFrequentlyBoughtTogether.js
+++ package/dist/cjs/connectors/useFrequentlyBoughtTogether.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useFrequentlyBoughtTogether = useFrequentlyBoughtTogether;
-var _connectFrequentlyBoughtTogether = _interopRequireDefault(require("instantsearch.js/cjs/connectors/frequently-bought-together/connectFrequentlyBoughtTogether"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectFrequentlyBoughtTogether = require('instantsearch.js/cjs/connectors/frequently-bought-together/connectFrequentlyBoughtTogether');
+var useConnector = require('../hooks/useConnector.js');
+
 function useFrequentlyBoughtTogether(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectFrequentlyBoughtTogether.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectFrequentlyBoughtTogether, props, additionalWidgetProperties);
+}
+
+exports.useFrequentlyBoughtTogether = useFrequentlyBoughtTogether;
Index: package/dist/es/connectors/useFrequentlyBoughtTogether.js
===================================================================
--- package/dist/es/connectors/useFrequentlyBoughtTogether.js
+++ package/dist/es/connectors/useFrequentlyBoughtTogether.js
@@ -1,5 +1,8 @@
-import connectFrequentlyBoughtTogether from "instantsearch.js/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useFrequentlyBoughtTogether(props, additionalWidgetProperties) {
-  return useConnector(connectFrequentlyBoughtTogether, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectFrequentlyBoughtTogether from 'instantsearch.js/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useFrequentlyBoughtTogether(props, additionalWidgetProperties) {
+    return useConnector(connectFrequentlyBoughtTogether, props, additionalWidgetProperties);
+}
+
+export { useFrequentlyBoughtTogether };
Index: package/dist/cjs/connectors/useGeoSearch.js
===================================================================
--- package/dist/cjs/connectors/useGeoSearch.js
+++ package/dist/cjs/connectors/useGeoSearch.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useGeoSearch = useGeoSearch;
-var _connectGeoSearch = _interopRequireDefault(require("instantsearch.js/cjs/connectors/geo-search/connectGeoSearch"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectGeoSearch = require('instantsearch.js/cjs/connectors/geo-search/connectGeoSearch');
+var useConnector = require('../hooks/useConnector.js');
+
 function useGeoSearch(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectGeoSearch.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectGeoSearch, props, additionalWidgetProperties);
+}
+
+exports.useGeoSearch = useGeoSearch;
Index: package/dist/es/connectors/useGeoSearch.js
===================================================================
--- package/dist/es/connectors/useGeoSearch.js
+++ package/dist/es/connectors/useGeoSearch.js
@@ -1,5 +1,8 @@
-import connectGeoSearch from "instantsearch.js/es/connectors/geo-search/connectGeoSearch.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useGeoSearch(props, additionalWidgetProperties) {
-  return useConnector(connectGeoSearch, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectGeoSearch from 'instantsearch.js/es/connectors/geo-search/connectGeoSearch.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useGeoSearch(props, additionalWidgetProperties) {
+    return useConnector(connectGeoSearch, props, additionalWidgetProperties);
+}
+
+export { useGeoSearch };
Index: package/dist/cjs/connectors/useHierarchicalMenu.js
===================================================================
--- package/dist/cjs/connectors/useHierarchicalMenu.js
+++ package/dist/cjs/connectors/useHierarchicalMenu.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useHierarchicalMenu = useHierarchicalMenu;
-var _connectHierarchicalMenu = _interopRequireDefault(require("instantsearch.js/cjs/connectors/hierarchical-menu/connectHierarchicalMenu"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectHierarchicalMenu = require('instantsearch.js/cjs/connectors/hierarchical-menu/connectHierarchicalMenu');
+var useConnector = require('../hooks/useConnector.js');
+
 function useHierarchicalMenu(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectHierarchicalMenu.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectHierarchicalMenu, props, additionalWidgetProperties);
+}
+
+exports.useHierarchicalMenu = useHierarchicalMenu;
Index: package/dist/es/connectors/useHierarchicalMenu.js
===================================================================
--- package/dist/es/connectors/useHierarchicalMenu.js
+++ package/dist/es/connectors/useHierarchicalMenu.js
@@ -1,5 +1,8 @@
-import connectHierarchicalMenu from "instantsearch.js/es/connectors/hierarchical-menu/connectHierarchicalMenu.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useHierarchicalMenu(props, additionalWidgetProperties) {
-  return useConnector(connectHierarchicalMenu, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectHierarchicalMenu from 'instantsearch.js/es/connectors/hierarchical-menu/connectHierarchicalMenu.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useHierarchicalMenu(props, additionalWidgetProperties) {
+    return useConnector(connectHierarchicalMenu, props, additionalWidgetProperties);
+}
+
+export { useHierarchicalMenu };
Index: package/dist/cjs/connectors/useHits.js
===================================================================
--- package/dist/cjs/connectors/useHits.js
+++ package/dist/cjs/connectors/useHits.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useHits = useHits;
-var _connectHits = _interopRequireDefault(require("instantsearch.js/cjs/connectors/hits/connectHits"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectHits = require('instantsearch.js/cjs/connectors/hits/connectHits');
+var useConnector = require('../hooks/useConnector.js');
+
 function useHits(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectHits.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectHits, props, additionalWidgetProperties);
+}
+
+exports.useHits = useHits;
Index: package/dist/es/connectors/useHits.js
===================================================================
--- package/dist/es/connectors/useHits.js
+++ package/dist/es/connectors/useHits.js
@@ -1,5 +1,8 @@
-import connectHits from "instantsearch.js/es/connectors/hits/connectHits.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useHits(props, additionalWidgetProperties) {
-  return useConnector(connectHits, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectHits from 'instantsearch.js/es/connectors/hits/connectHits.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useHits(props, additionalWidgetProperties) {
+    return useConnector(connectHits, props, additionalWidgetProperties);
+}
+
+export { useHits };
Index: package/dist/cjs/connectors/useHitsPerPage.js
===================================================================
--- package/dist/cjs/connectors/useHitsPerPage.js
+++ package/dist/cjs/connectors/useHitsPerPage.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useHitsPerPage = useHitsPerPage;
-var _connectHitsPerPage = _interopRequireDefault(require("instantsearch.js/cjs/connectors/hits-per-page/connectHitsPerPage"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectHitsPerPage = require('instantsearch.js/cjs/connectors/hits-per-page/connectHitsPerPage');
+var useConnector = require('../hooks/useConnector.js');
+
 function useHitsPerPage(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectHitsPerPage.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectHitsPerPage, props, additionalWidgetProperties);
+}
+
+exports.useHitsPerPage = useHitsPerPage;
Index: package/dist/es/connectors/useHitsPerPage.js
===================================================================
--- package/dist/es/connectors/useHitsPerPage.js
+++ package/dist/es/connectors/useHitsPerPage.js
@@ -1,5 +1,8 @@
-import connectHitsPerPage from "instantsearch.js/es/connectors/hits-per-page/connectHitsPerPage.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useHitsPerPage(props, additionalWidgetProperties) {
-  return useConnector(connectHitsPerPage, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectHitsPerPage from 'instantsearch.js/es/connectors/hits-per-page/connectHitsPerPage.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useHitsPerPage(props, additionalWidgetProperties) {
+    return useConnector(connectHitsPerPage, props, additionalWidgetProperties);
+}
+
+export { useHitsPerPage };
Index: package/dist/cjs/lib/useIndex.js
===================================================================
--- package/dist/cjs/lib/useIndex.js
+++ package/dist/cjs/lib/useIndex.js
@@ -1,39 +1,42 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useIndex = useIndex;
-var _index = _interopRequireDefault(require("instantsearch.js/cjs/widgets/index/index"));
-var _react = require("react");
-var _useForceUpdate = require("./useForceUpdate");
-var _useIndexContext = require("./useIndexContext");
-var _useInstantSearchServerContext = require("./useInstantSearchServerContext");
-var _useInstantSearchSSRContext = require("./useInstantSearchSSRContext");
-var _useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect");
-var _useStableValue = require("./useStableValue");
-var _useWidget = require("./useWidget");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var index = require('instantsearch.js/cjs/widgets/index/index');
+var React = require('react');
+var useForceUpdate = require('./useForceUpdate.js');
+var useIndexContext = require('./useIndexContext.js');
+var useInstantSearchServerContext = require('./useInstantSearchServerContext.js');
+var useInstantSearchSSRContext = require('./useInstantSearchSSRContext.js');
+var useIsomorphicLayoutEffect = require('./useIsomorphicLayoutEffect.js');
+var useStableValue = require('./useStableValue.js');
+var useWidget = require('./useWidget.js');
+
 function useIndex(props) {
-  var serverContext = (0, _useInstantSearchServerContext.useInstantSearchServerContext)();
-  var ssrContext = (0, _useInstantSearchSSRContext.useInstantSearchSSRContext)();
-  var initialResults = ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.initialResults;
-  var parentIndex = (0, _useIndexContext.useIndexContext)();
-  var stableProps = (0, _useStableValue.useStableValue)(props);
-  var indexWidget = (0, _react.useMemo)(function () {
-    return (0, _index.default)(stableProps);
-  }, [stableProps]);
-  var helper = indexWidget.getHelper();
-  var forceUpdate = (0, _useForceUpdate.useForceUpdate)();
-  (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () {
-    forceUpdate();
-  }, [helper, forceUpdate]);
-  (0, _useWidget.useWidget)({
-    widget: indexWidget,
-    parentIndex: parentIndex,
-    props: stableProps,
-    shouldSsr: Boolean(serverContext || initialResults),
-    skipSuspense: true
-  });
-  return indexWidget;
-}
\ No newline at end of file
+    var serverContext = useInstantSearchServerContext.useInstantSearchServerContext();
+    var ssrContext = useInstantSearchSSRContext.useInstantSearchSSRContext();
+    var initialResults = ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.initialResults;
+    var parentIndex = useIndexContext.useIndexContext();
+    var stableProps = useStableValue.useStableValue(props);
+    var indexWidget = React.useMemo(function() {
+        return index(stableProps);
+    }, [
+        stableProps
+    ]);
+    var helper = indexWidget.getHelper();
+    var forceUpdate = useForceUpdate.useForceUpdate();
+    useIsomorphicLayoutEffect.useIsomorphicLayoutEffect(function() {
+        forceUpdate();
+    }, [
+        helper,
+        forceUpdate
+    ]);
+    useWidget.useWidget({
+        widget: indexWidget,
+        parentIndex: parentIndex,
+        props: stableProps,
+        shouldSsr: Boolean(serverContext || initialResults),
+        skipSuspense: true
+    });
+    return indexWidget;
+}
+
+exports.useIndex = useIndex;
Index: package/dist/es/lib/useIndex.js
===================================================================
--- package/dist/es/lib/useIndex.js
+++ package/dist/es/lib/useIndex.js
@@ -1,32 +1,40 @@
-import index from "instantsearch.js/es/widgets/index/index.js";
+import index from 'instantsearch.js/es/widgets/index/index.js';
 import { useMemo } from 'react';
-import { useForceUpdate } from "./useForceUpdate.js";
-import { useIndexContext } from "./useIndexContext.js";
-import { useInstantSearchServerContext } from "./useInstantSearchServerContext.js";
-import { useInstantSearchSSRContext } from "./useInstantSearchSSRContext.js";
-import { useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect.js";
-import { useStableValue } from "./useStableValue.js";
-import { useWidget } from "./useWidget.js";
-export function useIndex(props) {
-  var serverContext = useInstantSearchServerContext();
-  var ssrContext = useInstantSearchSSRContext();
-  var initialResults = ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.initialResults;
-  var parentIndex = useIndexContext();
-  var stableProps = useStableValue(props);
-  var indexWidget = useMemo(function () {
-    return index(stableProps);
-  }, [stableProps]);
-  var helper = indexWidget.getHelper();
-  var forceUpdate = useForceUpdate();
-  useIsomorphicLayoutEffect(function () {
-    forceUpdate();
-  }, [helper, forceUpdate]);
-  useWidget({
-    widget: indexWidget,
-    parentIndex: parentIndex,
-    props: stableProps,
-    shouldSsr: Boolean(serverContext || initialResults),
-    skipSuspense: true
-  });
-  return indexWidget;
-}
\ No newline at end of file
+import { useForceUpdate } from './useForceUpdate.js';
+import { useIndexContext } from './useIndexContext.js';
+import { useInstantSearchServerContext } from './useInstantSearchServerContext.js';
+import { useInstantSearchSSRContext } from './useInstantSearchSSRContext.js';
+import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect.js';
+import { useStableValue } from './useStableValue.js';
+import { useWidget } from './useWidget.js';
+
+function useIndex(props) {
+    var serverContext = useInstantSearchServerContext();
+    var ssrContext = useInstantSearchSSRContext();
+    var initialResults = ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.initialResults;
+    var parentIndex = useIndexContext();
+    var stableProps = useStableValue(props);
+    var indexWidget = useMemo(function() {
+        return index(stableProps);
+    }, [
+        stableProps
+    ]);
+    var helper = indexWidget.getHelper();
+    var forceUpdate = useForceUpdate();
+    useIsomorphicLayoutEffect(function() {
+        forceUpdate();
+    }, [
+        helper,
+        forceUpdate
+    ]);
+    useWidget({
+        widget: indexWidget,
+        parentIndex: parentIndex,
+        props: stableProps,
+        shouldSsr: Boolean(serverContext || initialResults),
+        skipSuspense: true
+    });
+    return indexWidget;
+}
+
+export { useIndex };
Index: package/dist/cjs/lib/useIndexContext.js
===================================================================
--- package/dist/cjs/lib/useIndexContext.js
+++ package/dist/cjs/lib/useIndexContext.js
@@ -1,14 +1,13 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useIndexContext = useIndexContext;
-var _react = require("react");
-var _IndexContext = require("./IndexContext");
-var _invariant = require("./invariant");
+var React = require('react');
+var IndexContext = require('./IndexContext.js');
+var invariant = require('./invariant.js');
+
 function useIndexContext() {
-  var context = (0, _react.useContext)(_IndexContext.IndexContext);
-  (0, _invariant.invariant)(context !== null, 'The <Index> component must be used within <InstantSearch>.');
-  return context;
-}
\ No newline at end of file
+    var context = React.useContext(IndexContext.IndexContext);
+    invariant.invariant(context !== null);
+    return context;
+}
+
+exports.useIndexContext = useIndexContext;
Index: package/dist/es/lib/useIndexContext.js
===================================================================
--- package/dist/es/lib/useIndexContext.js
+++ package/dist/es/lib/useIndexContext.js
@@ -1,8 +1,11 @@
 import { useContext } from 'react';
-import { IndexContext } from "./IndexContext.js";
-import { invariant } from "./invariant.js";
-export function useIndexContext() {
-  var context = useContext(IndexContext);
-  invariant(context !== null, 'The <Index> component must be used within <InstantSearch>.');
-  return context;
-}
\ No newline at end of file
+import { IndexContext } from './IndexContext.js';
+import { invariant } from './invariant.js';
+
+function useIndexContext() {
+    var context = useContext(IndexContext);
+    invariant(context !== null);
+    return context;
+}
+
+export { useIndexContext };
Index: package/dist/cjs/connectors/useInfiniteHits.js
===================================================================
--- package/dist/cjs/connectors/useInfiniteHits.js
+++ package/dist/cjs/connectors/useInfiniteHits.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useInfiniteHits = useInfiniteHits;
-var _connectInfiniteHits = _interopRequireDefault(require("instantsearch.js/cjs/connectors/infinite-hits/connectInfiniteHits"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectInfiniteHits = require('instantsearch.js/cjs/connectors/infinite-hits/connectInfiniteHits');
+var useConnector = require('../hooks/useConnector.js');
+
 function useInfiniteHits(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectInfiniteHits.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectInfiniteHits, props, additionalWidgetProperties);
+}
+
+exports.useInfiniteHits = useInfiniteHits;
Index: package/dist/es/connectors/useInfiniteHits.js
===================================================================
--- package/dist/es/connectors/useInfiniteHits.js
+++ package/dist/es/connectors/useInfiniteHits.js
@@ -1,5 +1,8 @@
-import connectInfiniteHits from "instantsearch.js/es/connectors/infinite-hits/connectInfiniteHits.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useInfiniteHits(props, additionalWidgetProperties) {
-  return useConnector(connectInfiniteHits, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectInfiniteHits from 'instantsearch.js/es/connectors/infinite-hits/connectInfiniteHits.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useInfiniteHits(props, additionalWidgetProperties) {
+    return useConnector(connectInfiniteHits, props, additionalWidgetProperties);
+}
+
+export { useInfiniteHits };
Index: package/dist/cjs/hooks/useInstantSearch.js
===================================================================
--- package/dist/cjs/hooks/useInstantSearch.js
+++ package/dist/cjs/hooks/useInstantSearch.js
@@ -1,62 +1,62 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useInstantSearch = useInstantSearch;
-var _react = require("react");
-var _useInstantSearchContext = require("../lib/useInstantSearchContext");
-var _useIsomorphicLayoutEffect = require("../lib/useIsomorphicLayoutEffect");
-var _useSearchResults2 = require("../lib/useSearchResults");
-var _useSearchState2 = require("../lib/useSearchState");
+var _to_consumable_array = require('@swc/helpers/_/_to_consumable_array');
+var React = require('react');
+var useInstantSearchContext = require('../lib/useInstantSearchContext.js');
+var useIsomorphicLayoutEffect = require('../lib/useIsomorphicLayoutEffect.js');
+var useSearchResults = require('../lib/useSearchResults.js');
+var useSearchState = require('../lib/useSearchState.js');
+
 function useInstantSearch() {
-  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-    catchError = _ref.catchError;
-  var search = (0, _useInstantSearchContext.useInstantSearchContext)();
-  var _useSearchState = (0, _useSearchState2.useSearchState)(),
-    uiState = _useSearchState.uiState,
-    setUiState = _useSearchState.setUiState,
-    indexUiState = _useSearchState.indexUiState,
-    setIndexUiState = _useSearchState.setIndexUiState,
-    renderState = _useSearchState.renderState,
-    indexRenderState = _useSearchState.indexRenderState;
-  var _useSearchResults = (0, _useSearchResults2.useSearchResults)(),
-    results = _useSearchResults.results,
-    scopedResults = _useSearchResults.scopedResults;
-  var addMiddlewares = (0, _react.useCallback)(function () {
-    for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {
-      middlewares[_key] = arguments[_key];
-    }
-    search.use.apply(search, middlewares);
-    return function () {
-      search.unuse.apply(search, middlewares);
+    var catchError = (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}).catchError;
+    var search = useInstantSearchContext.useInstantSearchContext();
+    var _useSearchState = useSearchState.useSearchState(), uiState = _useSearchState.uiState, setUiState = _useSearchState.setUiState, indexUiState = _useSearchState.indexUiState, setIndexUiState = _useSearchState.setIndexUiState, renderState = _useSearchState.renderState, indexRenderState = _useSearchState.indexRenderState;
+    var _useSearchResults = useSearchResults.useSearchResults(), results = _useSearchResults.results, scopedResults = _useSearchResults.scopedResults;
+    var addMiddlewares = React.useCallback(function() {
+        for(var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++){
+            middlewares[_key] = arguments[_key];
+        }
+        var _search;
+        (_search = search).use.apply(_search, _to_consumable_array._(middlewares));
+        return function() {
+            var _search;
+            (_search = search).unuse.apply(_search, _to_consumable_array._(middlewares));
+        };
+    }, [
+        search
+    ]);
+    var refresh = React.useCallback(function() {
+        search.refresh();
+    }, [
+        search
+    ]);
+    useIsomorphicLayoutEffect.useIsomorphicLayoutEffect(function() {
+        if (catchError) {
+            var onError = function onError() {};
+            search.addListener('error', onError);
+            return function() {
+                return search.removeListener('error', onError);
+            };
+        }
+        return function() {};
+    }, [
+        search,
+        catchError
+    ]);
+    return {
+        results: results,
+        scopedResults: scopedResults,
+        uiState: uiState,
+        setUiState: setUiState,
+        indexUiState: indexUiState,
+        setIndexUiState: setIndexUiState,
+        renderState: renderState,
+        indexRenderState: indexRenderState,
+        addMiddlewares: addMiddlewares,
+        refresh: refresh,
+        status: search.status,
+        error: search.error
     };
-  }, [search]);
-  var refresh = (0, _react.useCallback)(function () {
-    search.refresh();
-  }, [search]);
-  (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () {
-    if (catchError) {
-      var onError = function onError() {};
-      search.addListener('error', onError);
-      return function () {
-        return search.removeListener('error', onError);
-      };
-    }
-    return function () {};
-  }, [search, catchError]);
-  return {
-    results: results,
-    scopedResults: scopedResults,
-    uiState: uiState,
-    setUiState: setUiState,
-    indexUiState: indexUiState,
-    setIndexUiState: setIndexUiState,
-    renderState: renderState,
-    indexRenderState: indexRenderState,
-    addMiddlewares: addMiddlewares,
-    refresh: refresh,
-    status: search.status,
-    error: search.error
-  };
-}
\ No newline at end of file
+}
+
+exports.useInstantSearch = useInstantSearch;
Index: package/dist/es/hooks/useInstantSearch.js
===================================================================
--- package/dist/es/hooks/useInstantSearch.js
+++ package/dist/es/hooks/useInstantSearch.js
@@ -1,56 +1,60 @@
+import { _ } from '@swc/helpers/cjs/_to_consumable_array.cjs';
 import { useCallback } from 'react';
-import { useInstantSearchContext } from "../lib/useInstantSearchContext.js";
-import { useIsomorphicLayoutEffect } from "../lib/useIsomorphicLayoutEffect.js";
-import { useSearchResults } from "../lib/useSearchResults.js";
-import { useSearchState } from "../lib/useSearchState.js";
-export function useInstantSearch() {
-  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-    catchError = _ref.catchError;
-  var search = useInstantSearchContext();
-  var _useSearchState = useSearchState(),
-    uiState = _useSearchState.uiState,
-    setUiState = _useSearchState.setUiState,
-    indexUiState = _useSearchState.indexUiState,
-    setIndexUiState = _useSearchState.setIndexUiState,
-    renderState = _useSearchState.renderState,
-    indexRenderState = _useSearchState.indexRenderState;
-  var _useSearchResults = useSearchResults(),
-    results = _useSearchResults.results,
-    scopedResults = _useSearchResults.scopedResults;
-  var addMiddlewares = useCallback(function () {
-    for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {
-      middlewares[_key] = arguments[_key];
-    }
-    search.use.apply(search, middlewares);
-    return function () {
-      search.unuse.apply(search, middlewares);
+import { useInstantSearchContext } from '../lib/useInstantSearchContext.js';
+import { useIsomorphicLayoutEffect } from '../lib/useIsomorphicLayoutEffect.js';
+import { useSearchResults } from '../lib/useSearchResults.js';
+import { useSearchState } from '../lib/useSearchState.js';
+
+function useInstantSearch() {
+    var catchError = (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}).catchError;
+    var search = useInstantSearchContext();
+    var _useSearchState = useSearchState(), uiState = _useSearchState.uiState, setUiState = _useSearchState.setUiState, indexUiState = _useSearchState.indexUiState, setIndexUiState = _useSearchState.setIndexUiState, renderState = _useSearchState.renderState, indexRenderState = _useSearchState.indexRenderState;
+    var _useSearchResults = useSearchResults(), results = _useSearchResults.results, scopedResults = _useSearchResults.scopedResults;
+    var addMiddlewares = useCallback(function() {
+        for(var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++){
+            middlewares[_key] = arguments[_key];
+        }
+        var _search;
+        (_search = search).use.apply(_search, _(middlewares));
+        return function() {
+            var _search;
+            (_search = search).unuse.apply(_search, _(middlewares));
+        };
+    }, [
+        search
+    ]);
+    var refresh = useCallback(function() {
+        search.refresh();
+    }, [
+        search
+    ]);
+    useIsomorphicLayoutEffect(function() {
+        if (catchError) {
+            var onError = function onError() {};
+            search.addListener('error', onError);
+            return function() {
+                return search.removeListener('error', onError);
+            };
+        }
+        return function() {};
+    }, [
+        search,
+        catchError
+    ]);
+    return {
+        results: results,
+        scopedResults: scopedResults,
+        uiState: uiState,
+        setUiState: setUiState,
+        indexUiState: indexUiState,
+        setIndexUiState: setIndexUiState,
+        renderState: renderState,
+        indexRenderState: indexRenderState,
+        addMiddlewares: addMiddlewares,
+        refresh: refresh,
+        status: search.status,
+        error: search.error
     };
-  }, [search]);
-  var refresh = useCallback(function () {
-    search.refresh();
-  }, [search]);
-  useIsomorphicLayoutEffect(function () {
-    if (catchError) {
-      var onError = function onError() {};
-      search.addListener('error', onError);
-      return function () {
-        return search.removeListener('error', onError);
-      };
-    }
-    return function () {};
-  }, [search, catchError]);
-  return {
-    results: results,
-    scopedResults: scopedResults,
-    uiState: uiState,
-    setUiState: setUiState,
-    indexUiState: indexUiState,
-    setIndexUiState: setIndexUiState,
-    renderState: renderState,
-    indexRenderState: indexRenderState,
-    addMiddlewares: addMiddlewares,
-    refresh: refresh,
-    status: search.status,
-    error: search.error
-  };
-}
\ No newline at end of file
+}
+
+export { useInstantSearch };
Index: package/dist/cjs/lib/useInstantSearchApi.js
===================================================================
--- package/dist/cjs/lib/useInstantSearchApi.js
+++ package/dist/cjs/lib/useInstantSearchApi.js
@@ -1,220 +1,197 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useInstantSearchApi = useInstantSearchApi;
-var _InstantSearch = _interopRequireWildcard(require("instantsearch.js/cjs/lib/InstantSearch"));
-var _react = require("react");
-var _shim = require("use-sync-external-store/shim");
-var _version = _interopRequireDefault(require("../version"));
-var _dequal = require("./dequal");
-var _useForceUpdate = require("./useForceUpdate");
-var _useInstantSearchServerContext = require("./useInstantSearchServerContext");
-var _useInstantSearchSSRContext = require("./useInstantSearchSSRContext");
-var _useRSCContext2 = require("./useRSCContext");
-var _warn = require("./warn");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
-function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
-function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
-function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
-function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
-function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
-function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
-function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
-var defaultUserAgents = ["react (".concat(_react.version, ")"), "react-instantsearch (".concat(_version.default, ")"), "react-instantsearch-core (".concat(_version.default, ")")];
-var serverUserAgent = "react-instantsearch-server (".concat(_version.default, ")");
+var _object_spread = require('@swc/helpers/_/_object_spread');
+var _to_consumable_array = require('@swc/helpers/_/_to_consumable_array');
+var InstantSearch = require('instantsearch.js/cjs/lib/InstantSearch');
+var React = require('react');
+var shim = require('use-sync-external-store/shim');
+var version = require('../version.js');
+var dequal = require('./dequal.js');
+var useForceUpdate = require('./useForceUpdate.js');
+var useInstantSearchServerContext = require('./useInstantSearchServerContext.js');
+var useInstantSearchSSRContext = require('./useInstantSearchSSRContext.js');
+var useRSCContext = require('./useRSCContext.js');
+
+var defaultUserAgents = [
+    "react (".concat(React.version, ")"),
+    "react-instantsearch (".concat(version.default, ")"),
+    "react-instantsearch-core (".concat(version.default, ")")
+];
+var serverUserAgent = "react-instantsearch-server (".concat(version.default, ")");
 var nextUserAgent = function nextUserAgent(nextVersion) {
-  return nextVersion ? "next.js (".concat(nextVersion, ")") : null;
+    return nextVersion ? "next.js (".concat(nextVersion, ")") : null;
 };
 function useInstantSearchApi(props) {
-  var forceUpdate = (0, _useForceUpdate.useForceUpdate)();
-  var serverContext = (0, _useInstantSearchServerContext.useInstantSearchServerContext)();
-  var serverState = (0, _useInstantSearchSSRContext.useInstantSearchSSRContext)();
-  var _useRSCContext = (0, _useRSCContext2.useRSCContext)(),
-    waitForResultsRef = _useRSCContext.waitForResultsRef;
-  var initialResults = serverState === null || serverState === void 0 ? void 0 : serverState.initialResults;
-  var prevPropsRef = (0, _react.useRef)(props);
-  var shouldRenderAtOnce = serverContext || initialResults || waitForResultsRef;
-  var searchRef = (0, _react.useRef)(null);
-  // As we need to render on mount with SSR, using the local ref above in `StrictMode` will
-  // create and start two instances of InstantSearch. To avoid this, we instead discard it and use
-  // an upward ref from `InstantSearchSSRContext` as it has already been mounted a second time at this point.
-  if (serverState !== null && serverState !== void 0 && serverState.ssrSearchRef) {
-    searchRef = serverState.ssrSearchRef;
-  }
-  if (searchRef.current === null) {
-    // We don't use the `instantsearch()` function because it comes with other
-    // top-level APIs that we don't need.
-    // See https://github.com/algolia/instantsearch/blob/5b529f43d8acc680f85837eaaa41f7fd03a3f833/src/index.es.ts#L63-L86
-    var search = new _InstantSearch.default(props);
-    search._schedule = function _schedule(cb) {
-      search._schedule.queue.push(cb);
-      clearTimeout(search._schedule.timer);
-      search._schedule.timer = setTimeout(function () {
-        search._schedule.queue.forEach(function (callback) {
-          callback();
-        });
+    var forceUpdate = useForceUpdate.useForceUpdate();
+    var serverContext = useInstantSearchServerContext.useInstantSearchServerContext();
+    var serverState = useInstantSearchSSRContext.useInstantSearchSSRContext();
+    var waitForResultsRef = useRSCContext.useRSCContext().waitForResultsRef;
+    var initialResults = serverState === null || serverState === void 0 ? void 0 : serverState.initialResults;
+    var prevPropsRef = React.useRef(props);
+    var shouldRenderAtOnce = serverContext || initialResults || waitForResultsRef;
+    var searchRef = React.useRef(null);
+    // As we need to render on mount with SSR, using the local ref above in `StrictMode` will
+    // create and start two instances of InstantSearch. To avoid this, we instead discard it and use
+    // an upward ref from `InstantSearchSSRContext` as it has already been mounted a second time at this point.
+    if (serverState === null || serverState === void 0 ? void 0 : serverState.ssrSearchRef) {
+        searchRef = serverState.ssrSearchRef;
+    }
+    if (searchRef.current === null) {
+        // We don't use the `instantsearch()` function because it comes with other
+        // top-level APIs that we don't need.
+        // See https://github.com/algolia/instantsearch/blob/5b529f43d8acc680f85837eaaa41f7fd03a3f833/src/index.es.ts#L63-L86
+        var search = new InstantSearch(props);
+        search._schedule = function _schedule(cb) {
+            search._schedule.queue.push(cb);
+            clearTimeout(search._schedule.timer);
+            search._schedule.timer = setTimeout(function() {
+                search._schedule.queue.forEach(function(callback) {
+                    callback();
+                });
+                search._schedule.queue = [];
+            }, 0);
+        };
         search._schedule.queue = [];
-      }, 0);
-    };
-    search._schedule.queue = [];
-    if (shouldRenderAtOnce) {
-      // InstantSearch.js has a private Initial Results API that lets us inject
-      // results on the search instance.
-      // On the server, we default the initial results to an empty object so that
-      // InstantSearch.js doesn't schedule a search that isn't used, leading to
-      // an additional network request. (This is equivalent to monkey-patching
-      // `scheduleSearch` to a noop.)
-      search._initialResults = initialResults || {};
-      // We don't rely on the `defer` to reset the schedule search, but will call
-      // `search._resetScheduleSearch()` manually in the effect after children
-      // mount in `InstantSearch`.
-      search._manuallyResetScheduleSearch = true;
+        if (shouldRenderAtOnce) {
+            // InstantSearch.js has a private Initial Results API that lets us inject
+            // results on the search instance.
+            // On the server, we default the initial results to an empty object so that
+            // InstantSearch.js doesn't schedule a search that isn't used, leading to
+            // an additional network request. (This is equivalent to monkey-patching
+            // `scheduleSearch` to a noop.)
+            search._initialResults = initialResults || {};
+            // We don't rely on the `defer` to reset the schedule search, but will call
+            // `search._resetScheduleSearch()` manually in the effect after children
+            // mount in `InstantSearch`.
+            search._manuallyResetScheduleSearch = true;
+        }
+        addAlgoliaAgents(props.searchClient, _to_consumable_array._(defaultUserAgents).concat([
+            serverContext && serverUserAgent,
+            nextUserAgent(getNextVersion())
+        ]));
+        // On the server, we start the search early to compute the search parameters.
+        // On SSR, we start the search early to directly catch up with the lifecycle
+        // and render.
+        if (shouldRenderAtOnce) {
+            search.start();
+        }
+        if (serverContext) {
+            // We notify `getServerState()` of the InstantSearch internals to retrieve
+            // the server state and pass it to the render on SSR.
+            serverContext.notifyServer({
+                search: search
+            });
+        }
+        warnNextRouter(props.routing);
+        searchRef.current = search;
     }
-    addAlgoliaAgents(props.searchClient, [].concat(defaultUserAgents, [serverContext && serverUserAgent, nextUserAgent(getNextVersion())]));
-
-    // On the server, we start the search early to compute the search parameters.
-    // On SSR, we start the search early to directly catch up with the lifecycle
-    // and render.
-    if (shouldRenderAtOnce) {
-      search.start();
-    }
-    if (serverContext) {
-      // We notify `getServerState()` of the InstantSearch internals to retrieve
-      // the server state and pass it to the render on SSR.
-      serverContext.notifyServer({
-        search: search
-      });
-    }
-    warnNextRouter(props.routing);
-    warnNextAppDir(Boolean(waitForResultsRef));
-    searchRef.current = search;
-  }
-  {
-    var _search = searchRef.current;
-    var prevProps = prevPropsRef.current;
-    if (prevProps.indexName !== props.indexName) {
-      _search.helper.setIndex(props.indexName || '').search();
-      prevPropsRef.current = props;
-    }
-    if (prevProps.searchClient !== props.searchClient) {
-      process.env.NODE_ENV === 'development' ? (0, _warn.warn)(false, 'The `searchClient` prop of `<InstantSearch>` changed between renders, which may cause more search requests than necessary. If this is an unwanted behavior, please provide a stable reference: https://www.algolia.com/doc/api-reference/widgets/instantsearch/react/#widget-param-searchclient') : void 0;
-      addAlgoliaAgents(props.searchClient, [].concat(defaultUserAgents, [serverContext && serverUserAgent]));
-      _search.mainHelper.setClient(props.searchClient).search();
-      prevPropsRef.current = props;
-    }
-    if (prevProps.onStateChange !== props.onStateChange) {
-      _search.onStateChange = props.onStateChange;
-      prevPropsRef.current = props;
-    }
-    if (prevProps.searchFunction !== props.searchFunction) {
-      // Updating the `searchFunction` to `undefined` is not supported by
-      // InstantSearch.js, so it will throw an error.
-      // This is a fair behavior until we add an update API in InstantSearch.js.
-      _search._searchFunction = props.searchFunction;
-      prevPropsRef.current = props;
-    }
-    if (prevProps.stalledSearchDelay !== props.stalledSearchDelay) {
-      var _props$stalledSearchD;
-      // The default `stalledSearchDelay` in InstantSearch.js is 200ms.
-      // We need to reset it when it's undefined to get back to the original value.
-      _search._stalledSearchDelay = (_props$stalledSearchD = props.stalledSearchDelay) !== null && _props$stalledSearchD !== void 0 ? _props$stalledSearchD : 200;
-      prevPropsRef.current = props;
-    }
-    if (!(0, _dequal.dequal)(prevProps.future, props.future)) {
-      _search.future = _objectSpread(_objectSpread({}, _InstantSearch.INSTANTSEARCH_FUTURE_DEFAULTS), props.future);
-      prevPropsRef.current = props;
-    }
-
+    {
+        var search1 = searchRef.current;
+        var prevProps = prevPropsRef.current;
+        if (prevProps.indexName !== props.indexName) {
+            search1.helper.setIndex(props.indexName || '').search();
+            prevPropsRef.current = props;
+        }
+        if (prevProps.searchClient !== props.searchClient) {
+            addAlgoliaAgents(props.searchClient, _to_consumable_array._(defaultUserAgents).concat([
+                serverContext && serverUserAgent
+            ]));
+            search1.mainHelper.setClient(props.searchClient).search();
+            prevPropsRef.current = props;
+        }
+        if (prevProps.onStateChange !== props.onStateChange) {
+            search1.onStateChange = props.onStateChange;
+            prevPropsRef.current = props;
+        }
+        if (prevProps.searchFunction !== props.searchFunction) {
+            // Updating the `searchFunction` to `undefined` is not supported by
+            // InstantSearch.js, so it will throw an error.
+            // This is a fair behavior until we add an update API in InstantSearch.js.
+            search1._searchFunction = props.searchFunction;
+            prevPropsRef.current = props;
+        }
+        if (prevProps.stalledSearchDelay !== props.stalledSearchDelay) {
+            var _props_stalledSearchDelay;
+            // The default `stalledSearchDelay` in InstantSearch.js is 200ms.
+            // We need to reset it when it's undefined to get back to the original value.
+            search1._stalledSearchDelay = (_props_stalledSearchDelay = props.stalledSearchDelay) !== null && _props_stalledSearchDelay !== void 0 ? _props_stalledSearchDelay : 200;
+            prevPropsRef.current = props;
+        }
+        if (!dequal.dequal(prevProps.future, props.future)) {
+            search1.future = _object_spread._({}, InstantSearch.INSTANTSEARCH_FUTURE_DEFAULTS, props.future);
+            prevPropsRef.current = props;
+        }
     // Updating the `routing` prop is not supported because InstantSearch.js
     // doesn't let us change it. This might not be a problem though, because `routing`
     // shouldn't need to be dynamic.
     // If we find scenarios where `routing` needs to change, we can always expose
     // it privately on the InstantSearch instance. Another way would be to
     // manually inject the routing middleware in this library, and not rely
     // on the provided `routing` prop.
-  }
-  var cleanupTimerRef = (0, _react.useRef)(null);
-  var store = (0, _shim.useSyncExternalStore)((0, _react.useCallback)(function () {
-    var search = searchRef.current;
-
-    // Scenario 1: the component mounts.
-    if (cleanupTimerRef.current === null) {
-      // On SSR, the instance is already started so we don't start it again.
-      if (!search.started) {
-        search.start();
-        forceUpdate();
-      }
     }
-    // Scenario 2: the component updates.
-    else {
-      // We cancel the previous cleanup function because we don't want to
-      // dispose the search during an update.
-      clearTimeout(cleanupTimerRef.current);
-      search._preventWidgetCleanup = false;
-    }
-    return function () {
-      if (serverState !== null && serverState !== void 0 && serverState.ssrSearchRef) {
-        return;
-      }
-      function cleanup() {
-        search.dispose();
-      }
-      clearTimeout(search._schedule.timer);
-      // We clean up only when the component that uses this subscription unmounts,
-      // but not when it updates, because it would dispose the instance, which
-      // would remove all the widgets and break routing.
-      // Executing the cleanup function in a `setTimeout()` lets us cancel it
-      // in the next effect.
-      // (There might be better ways to do this.)
-      cleanupTimerRef.current = setTimeout(cleanup);
-      // We need to prevent the `useWidget` cleanup function so that widgets
-      // are not removed before the instance is disposed, triggering
-      // an unwanted search request.
-      search._preventWidgetCleanup = true;
-    };
-  }, [forceUpdate, serverState]), function () {
-    return searchRef.current;
-  }, function () {
-    return searchRef.current;
-  });
-  return store;
+    var cleanupTimerRef = React.useRef(null);
+    var store = shim.useSyncExternalStore(React.useCallback(function() {
+        var search = searchRef.current;
+        // Scenario 1: the component mounts.
+        if (cleanupTimerRef.current === null) {
+            // On SSR, the instance is already started so we don't start it again.
+            if (!search.started) {
+                search.start();
+                forceUpdate();
+            }
+        } else {
+            // We cancel the previous cleanup function because we don't want to
+            // dispose the search during an update.
+            clearTimeout(cleanupTimerRef.current);
+            search._preventWidgetCleanup = false;
+        }
+        return function() {
+            if (serverState === null || serverState === void 0 ? void 0 : serverState.ssrSearchRef) {
+                return;
+            }
+            function cleanup() {
+                search.dispose();
+            }
+            clearTimeout(search._schedule.timer);
+            // We clean up only when the component that uses this subscription unmounts,
+            // but not when it updates, because it would dispose the instance, which
+            // would remove all the widgets and break routing.
+            // Executing the cleanup function in a `setTimeout()` lets us cancel it
+            // in the next effect.
+            // (There might be better ways to do this.)
+            cleanupTimerRef.current = setTimeout(cleanup);
+            // We need to prevent the `useWidget` cleanup function so that widgets
+            // are not removed before the instance is disposed, triggering
+            // an unwanted search request.
+            search._preventWidgetCleanup = true;
+        };
+    }, [
+        forceUpdate,
+        serverState
+    ]), function() {
+        return searchRef.current;
+    }, function() {
+        return searchRef.current;
+    });
+    return store;
 }
 function addAlgoliaAgents(searchClient, userAgents) {
-  if (typeof searchClient.addAlgoliaAgent !== 'function') {
-    return;
-  }
-  userAgents.filter(Boolean).forEach(function (userAgent) {
-    searchClient.addAlgoliaAgent(userAgent);
-  });
+    if (typeof searchClient.addAlgoliaAgent !== 'function') {
+        return;
+    }
+    userAgents.filter(Boolean).forEach(function(userAgent) {
+        searchClient.addAlgoliaAgent(userAgent);
+    });
 }
 function warnNextRouter(routing) {
-  if (process.env.NODE_ENV === 'development') {
-    var _routing$router;
-    if (!routing || typeof window === 'undefined' || !('__NEXT_DATA__' in window)) {
-      return;
-    }
-    var isUsingNextRouter =
-    // @ts-expect-error: _isNextRouter is only set on the Next.js router
-    routing !== true && (routing === null || routing === void 0 ? void 0 : (_routing$router = routing.router) === null || _routing$router === void 0 ? void 0 : _routing$router._isNextRouter);
-    process.env.NODE_ENV === 'development' ? (0, _warn.warn)(isUsingNextRouter, "\nYou are using Next.js with InstantSearch without the \"react-instantsearch-router-nextjs\" package.\nThis package is recommended to make the routing work correctly with Next.js.\nPlease check its usage instructions: https://github.com/algolia/instantsearch/tree/master/packages/react-instantsearch-router-nextjs\n\nYou can ignore this warning if you are using a custom router that suits your needs, it won't be outputted in production builds.") : void 0;
-  }
 }
-function warnNextAppDir(isRscContextDefined) {
-  var _next;
-  if (!(process.env.NODE_ENV === 'development') || typeof window === 'undefined' || isRscContextDefined) {
-    return;
-  }
-  process.env.NODE_ENV === 'development' ? (0, _warn.warn)(Boolean((_next = window.next) === null || _next === void 0 ? void 0 : _next.appDir) === false, "\nWe've detected you are using Next.js with the App Router.\nWe released a package called \"react-instantsearch-nextjs\" that makes SSR work with the App Router.\nPlease check its usage instructions: https://www.algolia.com/doc/guides/building-search-ui/going-further/server-side-rendering/react/#with-nextjs-app-router\n\nThis warning will not be outputted in production builds.") : void 0;
-}
-
 /**
  * Gets the version of Next.js if it is available in the `window` object,
  * otherwise it returns the NEXT_RUNTIME environment variable (in SSR),
  * which is either `nodejs` or `edge`.
- */
-function getNextVersion() {
-  var _next2, _process$env;
-  return typeof window !== 'undefined' && ((_next2 = window.next) === null || _next2 === void 0 ? void 0 : _next2.version) || (typeof process !== 'undefined' ? (_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env.NEXT_RUNTIME : undefined);
-}
\ No newline at end of file
+ */ function getNextVersion() {
+    var _window_next, _process_env;
+    return typeof window !== 'undefined' && ((_window_next = window.next) === null || _window_next === void 0 ? void 0 : _window_next.version) || (typeof process !== 'undefined' ? (_process_env = process.env) === null || _process_env === void 0 ? void 0 : _process_env.NEXT_RUNTIME : undefined);
+}
+
+exports.useInstantSearchApi = useInstantSearchApi;
Index: package/dist/es/lib/useInstantSearchApi.js
===================================================================
--- package/dist/es/lib/useInstantSearchApi.js
+++ package/dist/es/lib/useInstantSearchApi.js
@@ -1,212 +1,195 @@
-function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
-function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
-function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
-function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
-function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
-function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
-import InstantSearch, { INSTANTSEARCH_FUTURE_DEFAULTS } from "instantsearch.js/es/lib/InstantSearch.js";
-import { useCallback, useRef, version as ReactVersion } from 'react';
-import { useSyncExternalStore } from "use-sync-external-store/shim/index.js";
-import version from "../version.js";
-import { dequal } from "./dequal.js";
-import { useForceUpdate } from "./useForceUpdate.js";
-import { useInstantSearchServerContext } from "./useInstantSearchServerContext.js";
-import { useInstantSearchSSRContext } from "./useInstantSearchSSRContext.js";
-import { useRSCContext } from "./useRSCContext.js";
-import { warn } from "./warn.js";
-var defaultUserAgents = ["react (".concat(ReactVersion, ")"), "react-instantsearch (".concat(version, ")"), "react-instantsearch-core (".concat(version, ")")];
-var serverUserAgent = "react-instantsearch-server (".concat(version, ")");
+import { _ as _$1 } from '@swc/helpers/cjs/_object_spread.cjs';
+import { _ } from '@swc/helpers/cjs/_to_consumable_array.cjs';
+import InstantSearch, { INSTANTSEARCH_FUTURE_DEFAULTS } from 'instantsearch.js/es/lib/InstantSearch.js';
+import { useRef, useCallback, version } from 'react';
+import { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';
+import version$1 from '../version.js';
+import { dequal } from './dequal.js';
+import { useForceUpdate } from './useForceUpdate.js';
+import { useInstantSearchServerContext } from './useInstantSearchServerContext.js';
+import { useInstantSearchSSRContext } from './useInstantSearchSSRContext.js';
+import { useRSCContext } from './useRSCContext.js';
+
+var defaultUserAgents = [
+    "react (".concat(version, ")"),
+    "react-instantsearch (".concat(version$1, ")"),
+    "react-instantsearch-core (".concat(version$1, ")")
+];
+var serverUserAgent = "react-instantsearch-server (".concat(version$1, ")");
 var nextUserAgent = function nextUserAgent(nextVersion) {
-  return nextVersion ? "next.js (".concat(nextVersion, ")") : null;
+    return nextVersion ? "next.js (".concat(nextVersion, ")") : null;
 };
-export function useInstantSearchApi(props) {
-  var forceUpdate = useForceUpdate();
-  var serverContext = useInstantSearchServerContext();
-  var serverState = useInstantSearchSSRContext();
-  var _useRSCContext = useRSCContext(),
-    waitForResultsRef = _useRSCContext.waitForResultsRef;
-  var initialResults = serverState === null || serverState === void 0 ? void 0 : serverState.initialResults;
-  var prevPropsRef = useRef(props);
-  var shouldRenderAtOnce = serverContext || initialResults || waitForResultsRef;
-  var searchRef = useRef(null);
-  // As we need to render on mount with SSR, using the local ref above in `StrictMode` will
-  // create and start two instances of InstantSearch. To avoid this, we instead discard it and use
-  // an upward ref from `InstantSearchSSRContext` as it has already been mounted a second time at this point.
-  if (serverState !== null && serverState !== void 0 && serverState.ssrSearchRef) {
-    searchRef = serverState.ssrSearchRef;
-  }
-  if (searchRef.current === null) {
-    // We don't use the `instantsearch()` function because it comes with other
-    // top-level APIs that we don't need.
-    // See https://github.com/algolia/instantsearch/blob/5b529f43d8acc680f85837eaaa41f7fd03a3f833/src/index.es.ts#L63-L86
-    var search = new InstantSearch(props);
-    search._schedule = function _schedule(cb) {
-      search._schedule.queue.push(cb);
-      clearTimeout(search._schedule.timer);
-      search._schedule.timer = setTimeout(function () {
-        search._schedule.queue.forEach(function (callback) {
-          callback();
-        });
+function useInstantSearchApi(props) {
+    var forceUpdate = useForceUpdate();
+    var serverContext = useInstantSearchServerContext();
+    var serverState = useInstantSearchSSRContext();
+    var waitForResultsRef = useRSCContext().waitForResultsRef;
+    var initialResults = serverState === null || serverState === void 0 ? void 0 : serverState.initialResults;
+    var prevPropsRef = useRef(props);
+    var shouldRenderAtOnce = serverContext || initialResults || waitForResultsRef;
+    var searchRef = useRef(null);
+    // As we need to render on mount with SSR, using the local ref above in `StrictMode` will
+    // create and start two instances of InstantSearch. To avoid this, we instead discard it and use
+    // an upward ref from `InstantSearchSSRContext` as it has already been mounted a second time at this point.
+    if (serverState === null || serverState === void 0 ? void 0 : serverState.ssrSearchRef) {
+        searchRef = serverState.ssrSearchRef;
+    }
+    if (searchRef.current === null) {
+        // We don't use the `instantsearch()` function because it comes with other
+        // top-level APIs that we don't need.
+        // See https://github.com/algolia/instantsearch/blob/5b529f43d8acc680f85837eaaa41f7fd03a3f833/src/index.es.ts#L63-L86
+        var search = new InstantSearch(props);
+        search._schedule = function _schedule(cb) {
+            search._schedule.queue.push(cb);
+            clearTimeout(search._schedule.timer);
+            search._schedule.timer = setTimeout(function() {
+                search._schedule.queue.forEach(function(callback) {
+                    callback();
+                });
+                search._schedule.queue = [];
+            }, 0);
+        };
         search._schedule.queue = [];
-      }, 0);
-    };
-    search._schedule.queue = [];
-    if (shouldRenderAtOnce) {
-      // InstantSearch.js has a private Initial Results API that lets us inject
-      // results on the search instance.
-      // On the server, we default the initial results to an empty object so that
-      // InstantSearch.js doesn't schedule a search that isn't used, leading to
-      // an additional network request. (This is equivalent to monkey-patching
-      // `scheduleSearch` to a noop.)
-      search._initialResults = initialResults || {};
-      // We don't rely on the `defer` to reset the schedule search, but will call
-      // `search._resetScheduleSearch()` manually in the effect after children
-      // mount in `InstantSearch`.
-      search._manuallyResetScheduleSearch = true;
+        if (shouldRenderAtOnce) {
+            // InstantSearch.js has a private Initial Results API that lets us inject
+            // results on the search instance.
+            // On the server, we default the initial results to an empty object so that
+            // InstantSearch.js doesn't schedule a search that isn't used, leading to
+            // an additional network request. (This is equivalent to monkey-patching
+            // `scheduleSearch` to a noop.)
+            search._initialResults = initialResults || {};
+            // We don't rely on the `defer` to reset the schedule search, but will call
+            // `search._resetScheduleSearch()` manually in the effect after children
+            // mount in `InstantSearch`.
+            search._manuallyResetScheduleSearch = true;
+        }
+        addAlgoliaAgents(props.searchClient, _(defaultUserAgents).concat([
+            serverContext && serverUserAgent,
+            nextUserAgent(getNextVersion())
+        ]));
+        // On the server, we start the search early to compute the search parameters.
+        // On SSR, we start the search early to directly catch up with the lifecycle
+        // and render.
+        if (shouldRenderAtOnce) {
+            search.start();
+        }
+        if (serverContext) {
+            // We notify `getServerState()` of the InstantSearch internals to retrieve
+            // the server state and pass it to the render on SSR.
+            serverContext.notifyServer({
+                search: search
+            });
+        }
+        warnNextRouter(props.routing);
+        searchRef.current = search;
     }
-    addAlgoliaAgents(props.searchClient, [].concat(defaultUserAgents, [serverContext && serverUserAgent, nextUserAgent(getNextVersion())]));
-
-    // On the server, we start the search early to compute the search parameters.
-    // On SSR, we start the search early to directly catch up with the lifecycle
-    // and render.
-    if (shouldRenderAtOnce) {
-      search.start();
-    }
-    if (serverContext) {
-      // We notify `getServerState()` of the InstantSearch internals to retrieve
-      // the server state and pass it to the render on SSR.
-      serverContext.notifyServer({
-        search: search
-      });
-    }
-    warnNextRouter(props.routing);
-    warnNextAppDir(Boolean(waitForResultsRef));
-    searchRef.current = search;
-  }
-  {
-    var _search = searchRef.current;
-    var prevProps = prevPropsRef.current;
-    if (prevProps.indexName !== props.indexName) {
-      _search.helper.setIndex(props.indexName || '').search();
-      prevPropsRef.current = props;
-    }
-    if (prevProps.searchClient !== props.searchClient) {
-      process.env.NODE_ENV === 'development' ? warn(false, 'The `searchClient` prop of `<InstantSearch>` changed between renders, which may cause more search requests than necessary. If this is an unwanted behavior, please provide a stable reference: https://www.algolia.com/doc/api-reference/widgets/instantsearch/react/#widget-param-searchclient') : void 0;
-      addAlgoliaAgents(props.searchClient, [].concat(defaultUserAgents, [serverContext && serverUserAgent]));
-      _search.mainHelper.setClient(props.searchClient).search();
-      prevPropsRef.current = props;
-    }
-    if (prevProps.onStateChange !== props.onStateChange) {
-      _search.onStateChange = props.onStateChange;
-      prevPropsRef.current = props;
-    }
-    if (prevProps.searchFunction !== props.searchFunction) {
-      // Updating the `searchFunction` to `undefined` is not supported by
-      // InstantSearch.js, so it will throw an error.
-      // This is a fair behavior until we add an update API in InstantSearch.js.
-      _search._searchFunction = props.searchFunction;
-      prevPropsRef.current = props;
-    }
-    if (prevProps.stalledSearchDelay !== props.stalledSearchDelay) {
-      var _props$stalledSearchD;
-      // The default `stalledSearchDelay` in InstantSearch.js is 200ms.
-      // We need to reset it when it's undefined to get back to the original value.
-      _search._stalledSearchDelay = (_props$stalledSearchD = props.stalledSearchDelay) !== null && _props$stalledSearchD !== void 0 ? _props$stalledSearchD : 200;
-      prevPropsRef.current = props;
-    }
-    if (!dequal(prevProps.future, props.future)) {
-      _search.future = _objectSpread(_objectSpread({}, INSTANTSEARCH_FUTURE_DEFAULTS), props.future);
-      prevPropsRef.current = props;
-    }
-
+    {
+        var search1 = searchRef.current;
+        var prevProps = prevPropsRef.current;
+        if (prevProps.indexName !== props.indexName) {
+            search1.helper.setIndex(props.indexName || '').search();
+            prevPropsRef.current = props;
+        }
+        if (prevProps.searchClient !== props.searchClient) {
+            addAlgoliaAgents(props.searchClient, _(defaultUserAgents).concat([
+                serverContext && serverUserAgent
+            ]));
+            search1.mainHelper.setClient(props.searchClient).search();
+            prevPropsRef.current = props;
+        }
+        if (prevProps.onStateChange !== props.onStateChange) {
+            search1.onStateChange = props.onStateChange;
+            prevPropsRef.current = props;
+        }
+        if (prevProps.searchFunction !== props.searchFunction) {
+            // Updating the `searchFunction` to `undefined` is not supported by
+            // InstantSearch.js, so it will throw an error.
+            // This is a fair behavior until we add an update API in InstantSearch.js.
+            search1._searchFunction = props.searchFunction;
+            prevPropsRef.current = props;
+        }
+        if (prevProps.stalledSearchDelay !== props.stalledSearchDelay) {
+            var _props_stalledSearchDelay;
+            // The default `stalledSearchDelay` in InstantSearch.js is 200ms.
+            // We need to reset it when it's undefined to get back to the original value.
+            search1._stalledSearchDelay = (_props_stalledSearchDelay = props.stalledSearchDelay) !== null && _props_stalledSearchDelay !== void 0 ? _props_stalledSearchDelay : 200;
+            prevPropsRef.current = props;
+        }
+        if (!dequal(prevProps.future, props.future)) {
+            search1.future = _$1({}, INSTANTSEARCH_FUTURE_DEFAULTS, props.future);
+            prevPropsRef.current = props;
+        }
     // Updating the `routing` prop is not supported because InstantSearch.js
     // doesn't let us change it. This might not be a problem though, because `routing`
     // shouldn't need to be dynamic.
     // If we find scenarios where `routing` needs to change, we can always expose
     // it privately on the InstantSearch instance. Another way would be to
     // manually inject the routing middleware in this library, and not rely
     // on the provided `routing` prop.
-  }
-  var cleanupTimerRef = useRef(null);
-  var store = useSyncExternalStore(useCallback(function () {
-    var search = searchRef.current;
-
-    // Scenario 1: the component mounts.
-    if (cleanupTimerRef.current === null) {
-      // On SSR, the instance is already started so we don't start it again.
-      if (!search.started) {
-        search.start();
-        forceUpdate();
-      }
     }
-    // Scenario 2: the component updates.
-    else {
-      // We cancel the previous cleanup function because we don't want to
-      // dispose the search during an update.
-      clearTimeout(cleanupTimerRef.current);
-      search._preventWidgetCleanup = false;
-    }
-    return function () {
-      if (serverState !== null && serverState !== void 0 && serverState.ssrSearchRef) {
-        return;
-      }
-      function cleanup() {
-        search.dispose();
-      }
-      clearTimeout(search._schedule.timer);
-      // We clean up only when the component that uses this subscription unmounts,
-      // but not when it updates, because it would dispose the instance, which
-      // would remove all the widgets and break routing.
-      // Executing the cleanup function in a `setTimeout()` lets us cancel it
-      // in the next effect.
-      // (There might be better ways to do this.)
-      cleanupTimerRef.current = setTimeout(cleanup);
-      // We need to prevent the `useWidget` cleanup function so that widgets
-      // are not removed before the instance is disposed, triggering
-      // an unwanted search request.
-      search._preventWidgetCleanup = true;
-    };
-  }, [forceUpdate, serverState]), function () {
-    return searchRef.current;
-  }, function () {
-    return searchRef.current;
-  });
-  return store;
+    var cleanupTimerRef = useRef(null);
+    var store = useSyncExternalStore(useCallback(function() {
+        var search = searchRef.current;
+        // Scenario 1: the component mounts.
+        if (cleanupTimerRef.current === null) {
+            // On SSR, the instance is already started so we don't start it again.
+            if (!search.started) {
+                search.start();
+                forceUpdate();
+            }
+        } else {
+            // We cancel the previous cleanup function because we don't want to
+            // dispose the search during an update.
+            clearTimeout(cleanupTimerRef.current);
+            search._preventWidgetCleanup = false;
+        }
+        return function() {
+            if (serverState === null || serverState === void 0 ? void 0 : serverState.ssrSearchRef) {
+                return;
+            }
+            function cleanup() {
+                search.dispose();
+            }
+            clearTimeout(search._schedule.timer);
+            // We clean up only when the component that uses this subscription unmounts,
+            // but not when it updates, because it would dispose the instance, which
+            // would remove all the widgets and break routing.
+            // Executing the cleanup function in a `setTimeout()` lets us cancel it
+            // in the next effect.
+            // (There might be better ways to do this.)
+            cleanupTimerRef.current = setTimeout(cleanup);
+            // We need to prevent the `useWidget` cleanup function so that widgets
+            // are not removed before the instance is disposed, triggering
+            // an unwanted search request.
+            search._preventWidgetCleanup = true;
+        };
+    }, [
+        forceUpdate,
+        serverState
+    ]), function() {
+        return searchRef.current;
+    }, function() {
+        return searchRef.current;
+    });
+    return store;
 }
 function addAlgoliaAgents(searchClient, userAgents) {
-  if (typeof searchClient.addAlgoliaAgent !== 'function') {
-    return;
-  }
-  userAgents.filter(Boolean).forEach(function (userAgent) {
-    searchClient.addAlgoliaAgent(userAgent);
-  });
+    if (typeof searchClient.addAlgoliaAgent !== 'function') {
+        return;
+    }
+    userAgents.filter(Boolean).forEach(function(userAgent) {
+        searchClient.addAlgoliaAgent(userAgent);
+    });
 }
 function warnNextRouter(routing) {
-  if (process.env.NODE_ENV === 'development') {
-    var _routing$router;
-    if (!routing || typeof window === 'undefined' || !('__NEXT_DATA__' in window)) {
-      return;
-    }
-    var isUsingNextRouter =
-    // @ts-expect-error: _isNextRouter is only set on the Next.js router
-    routing !== true && (routing === null || routing === void 0 ? void 0 : (_routing$router = routing.router) === null || _routing$router === void 0 ? void 0 : _routing$router._isNextRouter);
-    process.env.NODE_ENV === 'development' ? warn(isUsingNextRouter, "\nYou are using Next.js with InstantSearch without the \"react-instantsearch-router-nextjs\" package.\nThis package is recommended to make the routing work correctly with Next.js.\nPlease check its usage instructions: https://github.com/algolia/instantsearch/tree/master/packages/react-instantsearch-router-nextjs\n\nYou can ignore this warning if you are using a custom router that suits your needs, it won't be outputted in production builds.") : void 0;
-  }
 }
-function warnNextAppDir(isRscContextDefined) {
-  var _next;
-  if (!(process.env.NODE_ENV === 'development') || typeof window === 'undefined' || isRscContextDefined) {
-    return;
-  }
-  process.env.NODE_ENV === 'development' ? warn(Boolean((_next = window.next) === null || _next === void 0 ? void 0 : _next.appDir) === false, "\nWe've detected you are using Next.js with the App Router.\nWe released a package called \"react-instantsearch-nextjs\" that makes SSR work with the App Router.\nPlease check its usage instructions: https://www.algolia.com/doc/guides/building-search-ui/going-further/server-side-rendering/react/#with-nextjs-app-router\n\nThis warning will not be outputted in production builds.") : void 0;
-}
-
 /**
  * Gets the version of Next.js if it is available in the `window` object,
  * otherwise it returns the NEXT_RUNTIME environment variable (in SSR),
  * which is either `nodejs` or `edge`.
- */
-function getNextVersion() {
-  var _next2, _process$env;
-  return typeof window !== 'undefined' && ((_next2 = window.next) === null || _next2 === void 0 ? void 0 : _next2.version) || (typeof process !== 'undefined' ? (_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env.NEXT_RUNTIME : undefined);
-}
\ No newline at end of file
+ */ function getNextVersion() {
+    var _window_next, _process_env;
+    return typeof window !== 'undefined' && ((_window_next = window.next) === null || _window_next === void 0 ? void 0 : _window_next.version) || (typeof process !== 'undefined' ? (_process_env = process.env) === null || _process_env === void 0 ? void 0 : _process_env.NEXT_RUNTIME : undefined);
+}
+
+export { useInstantSearchApi };
Index: package/dist/cjs/lib/useInstantSearchContext.js
===================================================================
--- package/dist/cjs/lib/useInstantSearchContext.js
+++ package/dist/cjs/lib/useInstantSearchContext.js
@@ -1,14 +1,13 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useInstantSearchContext = useInstantSearchContext;
-var _react = require("react");
-var _InstantSearchContext = require("./InstantSearchContext");
-var _invariant = require("./invariant");
+var React = require('react');
+var InstantSearchContext = require('./InstantSearchContext.js');
+var invariant = require('./invariant.js');
+
 function useInstantSearchContext() {
-  var search = (0, _react.useContext)(_InstantSearchContext.InstantSearchContext);
-  (0, _invariant.invariant)(search !== null, 'Hooks must be used inside the <InstantSearch> component.\n\n' + 'They are not compatible with the `[email protected]` and `react-instantsearch-dom` packages, so make sure to use the <InstantSearch> component from `[email protected]`.');
-  return search;
-}
\ No newline at end of file
+    var search = React.useContext(InstantSearchContext.InstantSearchContext);
+    invariant.invariant(search !== null);
+    return search;
+}
+
+exports.useInstantSearchContext = useInstantSearchContext;
Index: package/dist/es/lib/useInstantSearchContext.js
===================================================================
--- package/dist/es/lib/useInstantSearchContext.js
+++ package/dist/es/lib/useInstantSearchContext.js
@@ -1,8 +1,11 @@
 import { useContext } from 'react';
-import { InstantSearchContext } from "./InstantSearchContext.js";
-import { invariant } from "./invariant.js";
-export function useInstantSearchContext() {
-  var search = useContext(InstantSearchContext);
-  invariant(search !== null, 'Hooks must be used inside the <InstantSearch> component.\n\n' + 'They are not compatible with the `[email protected]` and `react-instantsearch-dom` packages, so make sure to use the <InstantSearch> component from `[email protected]`.');
-  return search;
-}
\ No newline at end of file
+import { InstantSearchContext } from './InstantSearchContext.js';
+import { invariant } from './invariant.js';
+
+function useInstantSearchContext() {
+    var search = useContext(InstantSearchContext);
+    invariant(search !== null);
+    return search;
+}
+
+export { useInstantSearchContext };
Index: package/dist/cjs/lib/useInstantSearchServerContext.js
===================================================================
--- package/dist/cjs/lib/useInstantSearchServerContext.js
+++ package/dist/cjs/lib/useInstantSearchServerContext.js
@@ -1,11 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useInstantSearchServerContext = useInstantSearchServerContext;
-var _react = require("react");
-var _InstantSearchServerContext = require("../components/InstantSearchServerContext");
+var React = require('react');
+var InstantSearchServerContext = require('../components/InstantSearchServerContext.js');
+
 function useInstantSearchServerContext() {
-  return (0, _react.useContext)(_InstantSearchServerContext.InstantSearchServerContext);
-}
\ No newline at end of file
+    return React.useContext(InstantSearchServerContext.InstantSearchServerContext);
+}
+
+exports.useInstantSearchServerContext = useInstantSearchServerContext;
Index: package/dist/es/lib/useInstantSearchServerContext.js
===================================================================
--- package/dist/es/lib/useInstantSearchServerContext.js
+++ package/dist/es/lib/useInstantSearchServerContext.js
@@ -1,5 +1,8 @@
 import { useContext } from 'react';
-import { InstantSearchServerContext } from "../components/InstantSearchServerContext.js";
-export function useInstantSearchServerContext() {
-  return useContext(InstantSearchServerContext);
-}
\ No newline at end of file
+import { InstantSearchServerContext } from '../components/InstantSearchServerContext.js';
+
+function useInstantSearchServerContext() {
+    return useContext(InstantSearchServerContext);
+}
+
+export { useInstantSearchServerContext };
Index: package/dist/cjs/lib/useInstantSearchSSRContext.js
===================================================================
--- package/dist/cjs/lib/useInstantSearchSSRContext.js
+++ package/dist/cjs/lib/useInstantSearchSSRContext.js
@@ -1,11 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useInstantSearchSSRContext = useInstantSearchSSRContext;
-var _react = require("react");
-var _InstantSearchSSRContext = require("./InstantSearchSSRContext");
+var React = require('react');
+var InstantSearchSSRContext = require('./InstantSearchSSRContext.js');
+
 function useInstantSearchSSRContext() {
-  return (0, _react.useContext)(_InstantSearchSSRContext.InstantSearchSSRContext);
-}
\ No newline at end of file
+    return React.useContext(InstantSearchSSRContext.InstantSearchSSRContext);
+}
+
+exports.useInstantSearchSSRContext = useInstantSearchSSRContext;
Index: package/dist/es/lib/useInstantSearchSSRContext.js
===================================================================
--- package/dist/es/lib/useInstantSearchSSRContext.js
+++ package/dist/es/lib/useInstantSearchSSRContext.js
@@ -1,5 +1,8 @@
 import { useContext } from 'react';
-import { InstantSearchSSRContext } from "./InstantSearchSSRContext.js";
-export function useInstantSearchSSRContext() {
-  return useContext(InstantSearchSSRContext);
-}
\ No newline at end of file
+import { InstantSearchSSRContext } from './InstantSearchSSRContext.js';
+
+function useInstantSearchSSRContext() {
+    return useContext(InstantSearchSSRContext);
+}
+
+export { useInstantSearchSSRContext };
Index: package/dist/cjs/lib/useIsomorphicLayoutEffect.js
===================================================================
--- package/dist/cjs/lib/useIsomorphicLayoutEffect.js
+++ package/dist/cjs/lib/useIsomorphicLayoutEffect.js
@@ -1,13 +1,11 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useIsomorphicLayoutEffect = void 0;
-var _react = require("react");
+var React = require('react');
+
 /**
  * `useLayoutEffect` that doesn't show a warning when server-side rendering.
  *
  * It uses `useEffect` on the server (no-op), and `useLayoutEffect` on the browser.
- */
-var useIsomorphicLayoutEffect = exports.useIsomorphicLayoutEffect = typeof window !== 'undefined' ? _react.useLayoutEffect : _react.useEffect;
\ No newline at end of file
+ */ var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
+
+exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect;
Index: package/dist/es/lib/useIsomorphicLayoutEffect.js
===================================================================
--- package/dist/es/lib/useIsomorphicLayoutEffect.js
+++ package/dist/es/lib/useIsomorphicLayoutEffect.js
@@ -1,8 +1,9 @@
-import { useEffect, useLayoutEffect } from 'react';
+import { useLayoutEffect, useEffect } from 'react';
 
 /**
  * `useLayoutEffect` that doesn't show a warning when server-side rendering.
  *
  * It uses `useEffect` on the server (no-op), and `useLayoutEffect` on the browser.
- */
-export var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
\ No newline at end of file
+ */ var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
+
+export { useIsomorphicLayoutEffect };
Index: package/dist/cjs/connectors/useLookingSimilar.js
===================================================================
--- package/dist/cjs/connectors/useLookingSimilar.js
+++ package/dist/cjs/connectors/useLookingSimilar.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useLookingSimilar = useLookingSimilar;
-var _connectLookingSimilar = _interopRequireDefault(require("instantsearch.js/cjs/connectors/looking-similar/connectLookingSimilar"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectLookingSimilar = require('instantsearch.js/cjs/connectors/looking-similar/connectLookingSimilar');
+var useConnector = require('../hooks/useConnector.js');
+
 function useLookingSimilar(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectLookingSimilar.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectLookingSimilar, props, additionalWidgetProperties);
+}
+
+exports.useLookingSimilar = useLookingSimilar;
Index: package/dist/es/connectors/useLookingSimilar.js
===================================================================
--- package/dist/es/connectors/useLookingSimilar.js
+++ package/dist/es/connectors/useLookingSimilar.js
@@ -1,5 +1,8 @@
-import connectLookingSimilar from "instantsearch.js/es/connectors/looking-similar/connectLookingSimilar.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useLookingSimilar(props, additionalWidgetProperties) {
-  return useConnector(connectLookingSimilar, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectLookingSimilar from 'instantsearch.js/es/connectors/looking-similar/connectLookingSimilar.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useLookingSimilar(props, additionalWidgetProperties) {
+    return useConnector(connectLookingSimilar, props, additionalWidgetProperties);
+}
+
+export { useLookingSimilar };
Index: package/dist/cjs/connectors/useMenu.js
===================================================================
--- package/dist/cjs/connectors/useMenu.js
+++ package/dist/cjs/connectors/useMenu.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useMenu = useMenu;
-var _connectMenu = _interopRequireDefault(require("instantsearch.js/cjs/connectors/menu/connectMenu"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectMenu = require('instantsearch.js/cjs/connectors/menu/connectMenu');
+var useConnector = require('../hooks/useConnector.js');
+
 function useMenu(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectMenu.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectMenu, props, additionalWidgetProperties);
+}
+
+exports.useMenu = useMenu;
Index: package/dist/es/connectors/useMenu.js
===================================================================
--- package/dist/es/connectors/useMenu.js
+++ package/dist/es/connectors/useMenu.js
@@ -1,5 +1,8 @@
-import connectMenu from "instantsearch.js/es/connectors/menu/connectMenu.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useMenu(props, additionalWidgetProperties) {
-  return useConnector(connectMenu, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectMenu from 'instantsearch.js/es/connectors/menu/connectMenu.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useMenu(props, additionalWidgetProperties) {
+    return useConnector(connectMenu, props, additionalWidgetProperties);
+}
+
+export { useMenu };
Index: package/dist/cjs/connectors/useNumericMenu.js
===================================================================
--- package/dist/cjs/connectors/useNumericMenu.js
+++ package/dist/cjs/connectors/useNumericMenu.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useNumericMenu = useNumericMenu;
-var _connectNumericMenu = _interopRequireDefault(require("instantsearch.js/cjs/connectors/numeric-menu/connectNumericMenu"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectNumericMenu = require('instantsearch.js/cjs/connectors/numeric-menu/connectNumericMenu');
+var useConnector = require('../hooks/useConnector.js');
+
 function useNumericMenu(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectNumericMenu.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectNumericMenu, props, additionalWidgetProperties);
+}
+
+exports.useNumericMenu = useNumericMenu;
Index: package/dist/es/connectors/useNumericMenu.js
===================================================================
--- package/dist/es/connectors/useNumericMenu.js
+++ package/dist/es/connectors/useNumericMenu.js
@@ -1,5 +1,8 @@
-import connectNumericMenu from "instantsearch.js/es/connectors/numeric-menu/connectNumericMenu.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useNumericMenu(props, additionalWidgetProperties) {
-  return useConnector(connectNumericMenu, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectNumericMenu from 'instantsearch.js/es/connectors/numeric-menu/connectNumericMenu.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useNumericMenu(props, additionalWidgetProperties) {
+    return useConnector(connectNumericMenu, props, additionalWidgetProperties);
+}
+
+export { useNumericMenu };
Index: package/dist/cjs/connectors/usePagination.js
===================================================================
--- package/dist/cjs/connectors/usePagination.js
+++ package/dist/cjs/connectors/usePagination.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.usePagination = usePagination;
-var _connectPagination = _interopRequireDefault(require("instantsearch.js/cjs/connectors/pagination/connectPagination"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectPagination = require('instantsearch.js/cjs/connectors/pagination/connectPagination');
+var useConnector = require('../hooks/useConnector.js');
+
 function usePagination(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectPagination.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectPagination, props, additionalWidgetProperties);
+}
+
+exports.usePagination = usePagination;
Index: package/dist/es/connectors/usePagination.js
===================================================================
--- package/dist/es/connectors/usePagination.js
+++ package/dist/es/connectors/usePagination.js
@@ -1,5 +1,8 @@
-import connectPagination from "instantsearch.js/es/connectors/pagination/connectPagination.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function usePagination(props, additionalWidgetProperties) {
-  return useConnector(connectPagination, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectPagination from 'instantsearch.js/es/connectors/pagination/connectPagination.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function usePagination(props, additionalWidgetProperties) {
+    return useConnector(connectPagination, props, additionalWidgetProperties);
+}
+
+export { usePagination };
Index: package/dist/cjs/connectors/usePoweredBy.js
===================================================================
--- package/dist/cjs/connectors/usePoweredBy.js
+++ package/dist/cjs/connectors/usePoweredBy.js
@@ -1,21 +1,20 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.usePoweredBy = usePoweredBy;
-var _utils = require("instantsearch.js/cjs/lib/utils");
+var utils = require('instantsearch.js/cjs/lib/utils');
+
 function usePoweredBy() {
-  var hostname = (0, _utils.safelyRunOnBrowser)(function (_ref) {
-    var _window$location;
-    var window = _ref.window;
-    return ((_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location.hostname) || '';
-  }, {
-    fallback: function fallback() {
-      return '';
-    }
-  });
-  return {
-    url: "https://www.algolia.com/?utm_source=react-instantsearch&utm_medium=website&utm_content=".concat(hostname, "&utm_campaign=poweredby")
-  };
-}
\ No newline at end of file
+    var hostname = utils.safelyRunOnBrowser(function(param) {
+        var window = param.window;
+        var _window_location;
+        return ((_window_location = window.location) === null || _window_location === void 0 ? void 0 : _window_location.hostname) || '';
+    }, {
+        fallback: function fallback() {
+            return '';
+        }
+    });
+    return {
+        url: "https://www.algolia.com/?utm_source=react-instantsearch&utm_medium=website&utm_content=".concat(hostname, "&utm_campaign=poweredby")
+    };
+}
+
+exports.usePoweredBy = usePoweredBy;
Index: package/dist/es/connectors/usePoweredBy.js
===================================================================
--- package/dist/es/connectors/usePoweredBy.js
+++ package/dist/es/connectors/usePoweredBy.js
@@ -1,15 +1,18 @@
-import { safelyRunOnBrowser } from "instantsearch.js/es/lib/utils/index.js";
-export function usePoweredBy() {
-  var hostname = safelyRunOnBrowser(function (_ref) {
-    var _window$location;
-    var window = _ref.window;
-    return ((_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location.hostname) || '';
-  }, {
-    fallback: function fallback() {
-      return '';
-    }
-  });
-  return {
-    url: "https://www.algolia.com/?utm_source=react-instantsearch&utm_medium=website&utm_content=".concat(hostname, "&utm_campaign=poweredby")
-  };
-}
\ No newline at end of file
+import { safelyRunOnBrowser } from 'instantsearch.js/es/lib/utils/index.js';
+
+function usePoweredBy() {
+    var hostname = safelyRunOnBrowser(function(param) {
+        var window = param.window;
+        var _window_location;
+        return ((_window_location = window.location) === null || _window_location === void 0 ? void 0 : _window_location.hostname) || '';
+    }, {
+        fallback: function fallback() {
+            return '';
+        }
+    });
+    return {
+        url: "https://www.algolia.com/?utm_source=react-instantsearch&utm_medium=website&utm_content=".concat(hostname, "&utm_campaign=poweredby")
+    };
+}
+
+export { usePoweredBy };
Index: package/dist/cjs/connectors/useQueryRules.js
===================================================================
--- package/dist/cjs/connectors/useQueryRules.js
+++ package/dist/cjs/connectors/useQueryRules.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useQueryRules = useQueryRules;
-var _connectQueryRules = _interopRequireDefault(require("instantsearch.js/cjs/connectors/query-rules/connectQueryRules"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectQueryRules = require('instantsearch.js/cjs/connectors/query-rules/connectQueryRules');
+var useConnector = require('../hooks/useConnector.js');
+
 function useQueryRules(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectQueryRules.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectQueryRules, props, additionalWidgetProperties);
+}
+
+exports.useQueryRules = useQueryRules;
Index: package/dist/es/connectors/useQueryRules.js
===================================================================
--- package/dist/es/connectors/useQueryRules.js
+++ package/dist/es/connectors/useQueryRules.js
@@ -1,5 +1,8 @@
-import connectQueryRules from "instantsearch.js/es/connectors/query-rules/connectQueryRules.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useQueryRules(props, additionalWidgetProperties) {
-  return useConnector(connectQueryRules, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectQueryRules from 'instantsearch.js/es/connectors/query-rules/connectQueryRules.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useQueryRules(props, additionalWidgetProperties) {
+    return useConnector(connectQueryRules, props, additionalWidgetProperties);
+}
+
+export { useQueryRules };
Index: package/dist/cjs/connectors/useRange.js
===================================================================
--- package/dist/cjs/connectors/useRange.js
+++ package/dist/cjs/connectors/useRange.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useRange = useRange;
-var _connectRange = _interopRequireDefault(require("instantsearch.js/cjs/connectors/range/connectRange"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectRange = require('instantsearch.js/cjs/connectors/range/connectRange');
+var useConnector = require('../hooks/useConnector.js');
+
 function useRange(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectRange.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectRange, props, additionalWidgetProperties);
+}
+
+exports.useRange = useRange;
Index: package/dist/es/connectors/useRange.js
===================================================================
--- package/dist/es/connectors/useRange.js
+++ package/dist/es/connectors/useRange.js
@@ -1,5 +1,8 @@
-import connectRange from "instantsearch.js/es/connectors/range/connectRange.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useRange(props, additionalWidgetProperties) {
-  return useConnector(connectRange, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectRange from 'instantsearch.js/es/connectors/range/connectRange.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useRange(props, additionalWidgetProperties) {
+    return useConnector(connectRange, props, additionalWidgetProperties);
+}
+
+export { useRange };
Index: package/dist/cjs/connectors/useRefinementList.js
===================================================================
--- package/dist/cjs/connectors/useRefinementList.js
+++ package/dist/cjs/connectors/useRefinementList.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useRefinementList = useRefinementList;
-var _connectRefinementList = _interopRequireDefault(require("instantsearch.js/cjs/connectors/refinement-list/connectRefinementList"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectRefinementList = require('instantsearch.js/cjs/connectors/refinement-list/connectRefinementList');
+var useConnector = require('../hooks/useConnector.js');
+
 function useRefinementList(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectRefinementList.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectRefinementList, props, additionalWidgetProperties);
+}
+
+exports.useRefinementList = useRefinementList;
Index: package/dist/es/connectors/useRefinementList.js
===================================================================
--- package/dist/es/connectors/useRefinementList.js
+++ package/dist/es/connectors/useRefinementList.js
@@ -1,5 +1,8 @@
-import connectRefinementList from "instantsearch.js/es/connectors/refinement-list/connectRefinementList.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useRefinementList(props, additionalWidgetProperties) {
-  return useConnector(connectRefinementList, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectRefinementList from 'instantsearch.js/es/connectors/refinement-list/connectRefinementList.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useRefinementList(props, additionalWidgetProperties) {
+    return useConnector(connectRefinementList, props, additionalWidgetProperties);
+}
+
+export { useRefinementList };
Index: package/dist/cjs/connectors/useRelatedProducts.js
===================================================================
--- package/dist/cjs/connectors/useRelatedProducts.js
+++ package/dist/cjs/connectors/useRelatedProducts.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useRelatedProducts = useRelatedProducts;
-var _connectRelatedProducts = _interopRequireDefault(require("instantsearch.js/cjs/connectors/related-products/connectRelatedProducts"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectRelatedProducts = require('instantsearch.js/cjs/connectors/related-products/connectRelatedProducts');
+var useConnector = require('../hooks/useConnector.js');
+
 function useRelatedProducts(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectRelatedProducts.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectRelatedProducts, props, additionalWidgetProperties);
+}
+
+exports.useRelatedProducts = useRelatedProducts;
Index: package/dist/es/connectors/useRelatedProducts.js
===================================================================
--- package/dist/es/connectors/useRelatedProducts.js
+++ package/dist/es/connectors/useRelatedProducts.js
@@ -1,5 +1,8 @@
-import connectRelatedProducts from "instantsearch.js/es/connectors/related-products/connectRelatedProducts.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useRelatedProducts(props, additionalWidgetProperties) {
-  return useConnector(connectRelatedProducts, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectRelatedProducts from 'instantsearch.js/es/connectors/related-products/connectRelatedProducts.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useRelatedProducts(props, additionalWidgetProperties) {
+    return useConnector(connectRelatedProducts, props, additionalWidgetProperties);
+}
+
+export { useRelatedProducts };
Index: package/dist/cjs/lib/useRSCContext.js
===================================================================
--- package/dist/cjs/lib/useRSCContext.js
+++ package/dist/cjs/lib/useRSCContext.js
@@ -1,11 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useRSCContext = useRSCContext;
-var _react = require("react");
-var _InstantSearchRSCContext = require("./InstantSearchRSCContext");
+var React = require('react');
+var InstantSearchRSCContext = require('./InstantSearchRSCContext.js');
+
 function useRSCContext() {
-  return (0, _react.useContext)(_InstantSearchRSCContext.InstantSearchRSCContext);
-}
\ No newline at end of file
+    return React.useContext(InstantSearchRSCContext.InstantSearchRSCContext);
+}
+
+exports.useRSCContext = useRSCContext;
Index: package/dist/es/lib/useRSCContext.js
===================================================================
--- package/dist/es/lib/useRSCContext.js
+++ package/dist/es/lib/useRSCContext.js
@@ -1,5 +1,8 @@
 import { useContext } from 'react';
-import { InstantSearchRSCContext } from "./InstantSearchRSCContext.js";
-export function useRSCContext() {
-  return useContext(InstantSearchRSCContext);
-}
\ No newline at end of file
+import { InstantSearchRSCContext } from './InstantSearchRSCContext.js';
+
+function useRSCContext() {
+    return useContext(InstantSearchRSCContext);
+}
+
+export { useRSCContext };
Index: package/dist/cjs/connectors/useSearchBox.js
===================================================================
--- package/dist/cjs/connectors/useSearchBox.js
+++ package/dist/cjs/connectors/useSearchBox.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useSearchBox = useSearchBox;
-var _connectSearchBox = _interopRequireDefault(require("instantsearch.js/cjs/connectors/search-box/connectSearchBox"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectSearchBox = require('instantsearch.js/cjs/connectors/search-box/connectSearchBox');
+var useConnector = require('../hooks/useConnector.js');
+
 function useSearchBox(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectSearchBox.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectSearchBox, props, additionalWidgetProperties);
+}
+
+exports.useSearchBox = useSearchBox;
Index: package/dist/es/connectors/useSearchBox.js
===================================================================
--- package/dist/es/connectors/useSearchBox.js
+++ package/dist/es/connectors/useSearchBox.js
@@ -1,5 +1,8 @@
-import connectSearchBox from "instantsearch.js/es/connectors/search-box/connectSearchBox.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useSearchBox(props, additionalWidgetProperties) {
-  return useConnector(connectSearchBox, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectSearchBox from 'instantsearch.js/es/connectors/search-box/connectSearchBox.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useSearchBox(props, additionalWidgetProperties) {
+    return useConnector(connectSearchBox, props, additionalWidgetProperties);
+}
+
+export { useSearchBox };
Index: package/dist/cjs/lib/useSearchResults.js
===================================================================
--- package/dist/cjs/lib/useSearchResults.js
+++ package/dist/cjs/lib/useSearchResults.js
@@ -1,65 +1,57 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useSearchResults = useSearchResults;
-var _utils = require("instantsearch.js/cjs/lib/utils");
-var _react = require("react");
-var _getIndexSearchResults = require("./getIndexSearchResults");
-var _useIndexContext = require("./useIndexContext");
-var _useInstantSearchContext = require("./useInstantSearchContext");
-function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
-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."); }
-function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
-function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
-function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
-function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
+var _sliced_to_array = require('@swc/helpers/_/_sliced_to_array');
+var utils = require('instantsearch.js/cjs/lib/utils');
+var React = require('react');
+var getIndexSearchResults = require('./getIndexSearchResults.js');
+var useIndexContext = require('./useIndexContext.js');
+var useInstantSearchContext = require('./useInstantSearchContext.js');
+
 function useSearchResults() {
-  var search = (0, _useInstantSearchContext.useInstantSearchContext)();
-  var searchIndex = (0, _useIndexContext.useIndexContext)();
-  var _useState = (0, _react.useState)(function () {
-      var indexSearchResults = (0, _getIndexSearchResults.getIndexSearchResults)(searchIndex);
-      // We do this not to leak `recommendResults` in the API.
-      return {
-        results: indexSearchResults.results,
-        scopedResults: indexSearchResults.scopedResults
-      };
-    }),
-    _useState2 = _slicedToArray(_useState, 2),
-    searchResults = _useState2[0],
-    setSearchResults = _useState2[1];
-  (0, _react.useEffect)(function () {
-    function handleRender() {
-      var results = searchIndex.getResults();
+    var search = useInstantSearchContext.useInstantSearchContext();
+    var searchIndex = useIndexContext.useIndexContext();
+    var _useState = _sliced_to_array._(React.useState(function() {
+        var indexSearchResults = getIndexSearchResults.getIndexSearchResults(searchIndex);
+        // We do this not to leak `recommendResults` in the API.
+        return {
+            results: indexSearchResults.results,
+            scopedResults: indexSearchResults.scopedResults
+        };
+    }), 2), searchResults = _useState[0], setSearchResults = _useState[1];
+    React.useEffect(function() {
+        function handleRender() {
+            var results = searchIndex.getResults();
+            // Results can be `null` when the first search is stalled.
+            // In this case, we skip the update.
+            // See: https://github.com/algolia/instantsearch/blob/20996c7a159988c58e00ff24d2d2dc98af8b980f/src/widgets/index/index.ts#L652-L657
+            if (results !== null) {
+                setSearchResults({
+                    results: results,
+                    scopedResults: searchIndex.getScopedResults()
+                });
+            } else if (search.mainIndex.getIndexName().length === 0) {
+                // If the main index has no name, we get the scoped results from
+                // the first child index instead.
+                var childIndex = search.mainIndex.getWidgets().find(utils.isIndexWidget);
+                childIndex && setSearchResults({
+                    results: getIndexSearchResults.getIndexSearchResults(searchIndex).results,
+                    scopedResults: childIndex.getScopedResults()
+                });
+            }
+        }
+        search.addListener('render', handleRender);
+        // Force setting results to mitigate potential race conditions where
+        // render listener is added after search results have been returned.
+        // This edge case is currently not covered by the tests.
+        handleRender();
+        return function() {
+            search.removeListener('render', handleRender);
+        };
+    }, [
+        search,
+        searchIndex
+    ]);
+    return searchResults;
+}
 
-      // Results can be `null` when the first search is stalled.
-      // In this case, we skip the update.
-      // See: https://github.com/algolia/instantsearch/blob/20996c7a159988c58e00ff24d2d2dc98af8b980f/src/widgets/index/index.ts#L652-L657
-      if (results !== null) {
-        setSearchResults({
-          results: results,
-          scopedResults: searchIndex.getScopedResults()
-        });
-      } else if (search.mainIndex.getIndexName().length === 0) {
-        // If the main index has no name, we get the scoped results from
-        // the first child index instead.
-        var childIndex = search.mainIndex.getWidgets().find(_utils.isIndexWidget);
-        childIndex && setSearchResults({
-          results: (0, _getIndexSearchResults.getIndexSearchResults)(searchIndex).results,
-          scopedResults: childIndex.getScopedResults()
-        });
-      }
-    }
-    search.addListener('render', handleRender);
-
-    // Force setting results to mitigate potential race conditions where
-    // render listener is added after search results have been returned.
-    // This edge case is currently not covered by the tests.
-    handleRender();
-    return function () {
-      search.removeListener('render', handleRender);
-    };
-  }, [search, searchIndex]);
-  return searchResults;
-}
\ No newline at end of file
+exports.useSearchResults = useSearchResults;
Index: package/dist/es/lib/useSearchResults.js
===================================================================
--- package/dist/es/lib/useSearchResults.js
+++ package/dist/es/lib/useSearchResults.js
@@ -1,59 +1,55 @@
-function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
-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."); }
-function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
-function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
-function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
-function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
-import { isIndexWidget } from "instantsearch.js/es/lib/utils/index.js";
-import { useEffect, useState } from 'react';
-import { getIndexSearchResults } from "./getIndexSearchResults.js";
-import { useIndexContext } from "./useIndexContext.js";
-import { useInstantSearchContext } from "./useInstantSearchContext.js";
-export function useSearchResults() {
-  var search = useInstantSearchContext();
-  var searchIndex = useIndexContext();
-  var _useState = useState(function () {
-      var indexSearchResults = getIndexSearchResults(searchIndex);
-      // We do this not to leak `recommendResults` in the API.
-      return {
-        results: indexSearchResults.results,
-        scopedResults: indexSearchResults.scopedResults
-      };
-    }),
-    _useState2 = _slicedToArray(_useState, 2),
-    searchResults = _useState2[0],
-    setSearchResults = _useState2[1];
-  useEffect(function () {
-    function handleRender() {
-      var results = searchIndex.getResults();
+import { _ } from '@swc/helpers/cjs/_sliced_to_array.cjs';
+import { isIndexWidget } from 'instantsearch.js/es/lib/utils/index.js';
+import { useState, useEffect } from 'react';
+import { getIndexSearchResults } from './getIndexSearchResults.js';
+import { useIndexContext } from './useIndexContext.js';
+import { useInstantSearchContext } from './useInstantSearchContext.js';
 
-      // Results can be `null` when the first search is stalled.
-      // In this case, we skip the update.
-      // See: https://github.com/algolia/instantsearch/blob/20996c7a159988c58e00ff24d2d2dc98af8b980f/src/widgets/index/index.ts#L652-L657
-      if (results !== null) {
-        setSearchResults({
-          results: results,
-          scopedResults: searchIndex.getScopedResults()
-        });
-      } else if (search.mainIndex.getIndexName().length === 0) {
-        // If the main index has no name, we get the scoped results from
-        // the first child index instead.
-        var childIndex = search.mainIndex.getWidgets().find(isIndexWidget);
-        childIndex && setSearchResults({
-          results: getIndexSearchResults(searchIndex).results,
-          scopedResults: childIndex.getScopedResults()
-        });
-      }
-    }
-    search.addListener('render', handleRender);
+function useSearchResults() {
+    var search = useInstantSearchContext();
+    var searchIndex = useIndexContext();
+    var _useState = _(useState(function() {
+        var indexSearchResults = getIndexSearchResults(searchIndex);
+        // We do this not to leak `recommendResults` in the API.
+        return {
+            results: indexSearchResults.results,
+            scopedResults: indexSearchResults.scopedResults
+        };
+    }), 2), searchResults = _useState[0], setSearchResults = _useState[1];
+    useEffect(function() {
+        function handleRender() {
+            var results = searchIndex.getResults();
+            // Results can be `null` when the first search is stalled.
+            // In this case, we skip the update.
+            // See: https://github.com/algolia/instantsearch/blob/20996c7a159988c58e00ff24d2d2dc98af8b980f/src/widgets/index/index.ts#L652-L657
+            if (results !== null) {
+                setSearchResults({
+                    results: results,
+                    scopedResults: searchIndex.getScopedResults()
+                });
+            } else if (search.mainIndex.getIndexName().length === 0) {
+                // If the main index has no name, we get the scoped results from
+                // the first child index instead.
+                var childIndex = search.mainIndex.getWidgets().find(isIndexWidget);
+                childIndex && setSearchResults({
+                    results: getIndexSearchResults(searchIndex).results,
+                    scopedResults: childIndex.getScopedResults()
+                });
+            }
+        }
+        search.addListener('render', handleRender);
+        // Force setting results to mitigate potential race conditions where
+        // render listener is added after search results have been returned.
+        // This edge case is currently not covered by the tests.
+        handleRender();
+        return function() {
+            search.removeListener('render', handleRender);
+        };
+    }, [
+        search,
+        searchIndex
+    ]);
+    return searchResults;
+}
 
-    // Force setting results to mitigate potential race conditions where
-    // render listener is added after search results have been returned.
-    // This edge case is currently not covered by the tests.
-    handleRender();
-    return function () {
-      search.removeListener('render', handleRender);
-    };
-  }, [search, searchIndex]);
-  return searchResults;
-}
\ No newline at end of file
+export { useSearchResults };
Index: package/dist/cjs/lib/useSearchState.js
===================================================================
--- package/dist/cjs/lib/useSearchState.js
+++ package/dist/cjs/lib/useSearchState.js
@@ -1,63 +1,56 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useSearchState = useSearchState;
-var _react = require("react");
-var _useIndexContext = require("./useIndexContext");
-var _useInstantSearchContext = require("./useInstantSearchContext");
-function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
-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."); }
-function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
-function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
-function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
-function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
-function useSearchState() {
-  var search = (0, _useInstantSearchContext.useInstantSearchContext)();
-  var searchIndex = (0, _useIndexContext.useIndexContext)();
-  var indexId = searchIndex.getIndexId();
-  var _useState = (0, _react.useState)(function () {
-      return search.getUiState();
-    }),
-    _useState2 = _slicedToArray(_useState, 2),
-    uiState = _useState2[0],
-    setLocalUiState = _useState2[1];
-  var indexUiState = uiState[indexId];
-  var _useState3 = (0, _react.useState)(function () {
-      return search.renderState;
-    }),
-    _useState4 = _slicedToArray(_useState3, 2),
-    renderState = _useState4[0],
-    setRenderState = _useState4[1];
-  var indexRenderState = renderState[indexId] || {};
-  var setUiState = (0, _react.useCallback)(function (nextUiState) {
-    search.setUiState(nextUiState);
-  }, [search]);
-  var setIndexUiState = (0, _react.useCallback)(function (nextIndexUiState) {
-    searchIndex.setIndexUiState(nextIndexUiState);
-  }, [searchIndex]);
-  (0, _react.useEffect)(function () {
-    function handleRender() {
-      setLocalUiState(search.getUiState());
-      setRenderState(search.renderState);
-    }
-    search.addListener('render', handleRender);
+var _sliced_to_array = require('@swc/helpers/_/_sliced_to_array');
+var React = require('react');
+var useIndexContext = require('./useIndexContext.js');
+var useInstantSearchContext = require('./useInstantSearchContext.js');
 
-    // Force setting state to mitigate potential race conditions where
-    // render listener is added after search results have been returned.
-    // This edge case is currently not covered by the tests.
-    handleRender();
-    return function () {
-      search.removeListener('render', handleRender);
+function useSearchState() {
+    var search = useInstantSearchContext.useInstantSearchContext();
+    var searchIndex = useIndexContext.useIndexContext();
+    var indexId = searchIndex.getIndexId();
+    var _useState = _sliced_to_array._(React.useState(function() {
+        return search.getUiState();
+    }), 2), uiState = _useState[0], setLocalUiState = _useState[1];
+    var indexUiState = uiState[indexId];
+    var _useState1 = _sliced_to_array._(React.useState(function() {
+        return search.renderState;
+    }), 2), renderState = _useState1[0], setRenderState = _useState1[1];
+    var indexRenderState = renderState[indexId] || {};
+    var setUiState = React.useCallback(function(nextUiState) {
+        search.setUiState(nextUiState);
+    }, [
+        search
+    ]);
+    var setIndexUiState = React.useCallback(function(nextIndexUiState) {
+        searchIndex.setIndexUiState(nextIndexUiState);
+    }, [
+        searchIndex
+    ]);
+    React.useEffect(function() {
+        function handleRender() {
+            setLocalUiState(search.getUiState());
+            setRenderState(search.renderState);
+        }
+        search.addListener('render', handleRender);
+        // Force setting state to mitigate potential race conditions where
+        // render listener is added after search results have been returned.
+        // This edge case is currently not covered by the tests.
+        handleRender();
+        return function() {
+            search.removeListener('render', handleRender);
+        };
+    }, [
+        search
+    ]);
+    return {
+        uiState: uiState,
+        setUiState: setUiState,
+        indexUiState: indexUiState,
+        setIndexUiState: setIndexUiState,
+        renderState: renderState,
+        indexRenderState: indexRenderState
     };
-  }, [search]);
-  return {
-    uiState: uiState,
-    setUiState: setUiState,
-    indexUiState: indexUiState,
-    setIndexUiState: setIndexUiState,
-    renderState: renderState,
-    indexRenderState: indexRenderState
-  };
-}
\ No newline at end of file
+}
+
+exports.useSearchState = useSearchState;
Index: package/dist/es/lib/useSearchState.js
===================================================================
--- package/dist/es/lib/useSearchState.js
+++ package/dist/es/lib/useSearchState.js
@@ -1,57 +1,54 @@
-function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
-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."); }
-function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
-function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
-function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
-function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
-import { useCallback, useEffect, useState } from 'react';
-import { useIndexContext } from "./useIndexContext.js";
-import { useInstantSearchContext } from "./useInstantSearchContext.js";
-export function useSearchState() {
-  var search = useInstantSearchContext();
-  var searchIndex = useIndexContext();
-  var indexId = searchIndex.getIndexId();
-  var _useState = useState(function () {
-      return search.getUiState();
-    }),
-    _useState2 = _slicedToArray(_useState, 2),
-    uiState = _useState2[0],
-    setLocalUiState = _useState2[1];
-  var indexUiState = uiState[indexId];
-  var _useState3 = useState(function () {
-      return search.renderState;
-    }),
-    _useState4 = _slicedToArray(_useState3, 2),
-    renderState = _useState4[0],
-    setRenderState = _useState4[1];
-  var indexRenderState = renderState[indexId] || {};
-  var setUiState = useCallback(function (nextUiState) {
-    search.setUiState(nextUiState);
-  }, [search]);
-  var setIndexUiState = useCallback(function (nextIndexUiState) {
-    searchIndex.setIndexUiState(nextIndexUiState);
-  }, [searchIndex]);
-  useEffect(function () {
-    function handleRender() {
-      setLocalUiState(search.getUiState());
-      setRenderState(search.renderState);
-    }
-    search.addListener('render', handleRender);
+import { _ } from '@swc/helpers/cjs/_sliced_to_array.cjs';
+import { useState, useCallback, useEffect } from 'react';
+import { useIndexContext } from './useIndexContext.js';
+import { useInstantSearchContext } from './useInstantSearchContext.js';
 
-    // Force setting state to mitigate potential race conditions where
-    // render listener is added after search results have been returned.
-    // This edge case is currently not covered by the tests.
-    handleRender();
-    return function () {
-      search.removeListener('render', handleRender);
+function useSearchState() {
+    var search = useInstantSearchContext();
+    var searchIndex = useIndexContext();
+    var indexId = searchIndex.getIndexId();
+    var _useState = _(useState(function() {
+        return search.getUiState();
+    }), 2), uiState = _useState[0], setLocalUiState = _useState[1];
+    var indexUiState = uiState[indexId];
+    var _useState1 = _(useState(function() {
+        return search.renderState;
+    }), 2), renderState = _useState1[0], setRenderState = _useState1[1];
+    var indexRenderState = renderState[indexId] || {};
+    var setUiState = useCallback(function(nextUiState) {
+        search.setUiState(nextUiState);
+    }, [
+        search
+    ]);
+    var setIndexUiState = useCallback(function(nextIndexUiState) {
+        searchIndex.setIndexUiState(nextIndexUiState);
+    }, [
+        searchIndex
+    ]);
+    useEffect(function() {
+        function handleRender() {
+            setLocalUiState(search.getUiState());
+            setRenderState(search.renderState);
+        }
+        search.addListener('render', handleRender);
+        // Force setting state to mitigate potential race conditions where
+        // render listener is added after search results have been returned.
+        // This edge case is currently not covered by the tests.
+        handleRender();
+        return function() {
+            search.removeListener('render', handleRender);
+        };
+    }, [
+        search
+    ]);
+    return {
+        uiState: uiState,
+        setUiState: setUiState,
+        indexUiState: indexUiState,
+        setIndexUiState: setIndexUiState,
+        renderState: renderState,
+        indexRenderState: indexRenderState
     };
-  }, [search]);
-  return {
-    uiState: uiState,
-    setUiState: setUiState,
-    indexUiState: indexUiState,
-    setIndexUiState: setIndexUiState,
-    renderState: renderState,
-    indexRenderState: indexRenderState
-  };
-}
\ No newline at end of file
+}
+
+export { useSearchState };
Index: package/dist/cjs/connectors/useSortBy.js
===================================================================
--- package/dist/cjs/connectors/useSortBy.js
+++ package/dist/cjs/connectors/useSortBy.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useSortBy = useSortBy;
-var _connectSortBy = _interopRequireDefault(require("instantsearch.js/cjs/connectors/sort-by/connectSortBy"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectSortBy = require('instantsearch.js/cjs/connectors/sort-by/connectSortBy');
+var useConnector = require('../hooks/useConnector.js');
+
 function useSortBy(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectSortBy.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectSortBy, props, additionalWidgetProperties);
+}
+
+exports.useSortBy = useSortBy;
Index: package/dist/es/connectors/useSortBy.js
===================================================================
--- package/dist/es/connectors/useSortBy.js
+++ package/dist/es/connectors/useSortBy.js
@@ -1,5 +1,8 @@
-import connectSortBy from "instantsearch.js/es/connectors/sort-by/connectSortBy.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useSortBy(props, additionalWidgetProperties) {
-  return useConnector(connectSortBy, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectSortBy from 'instantsearch.js/es/connectors/sort-by/connectSortBy.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useSortBy(props, additionalWidgetProperties) {
+    return useConnector(connectSortBy, props, additionalWidgetProperties);
+}
+
+export { useSortBy };
Index: package/dist/cjs/lib/useStableValue.js
===================================================================
--- package/dist/cjs/lib/useStableValue.js
+++ package/dist/cjs/lib/useStableValue.js
@@ -1,26 +1,17 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useStableValue = useStableValue;
-var _react = require("react");
-var _dequal = require("./dequal");
-function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
-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."); }
-function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
-function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
-function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
-function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
+var _sliced_to_array = require('@swc/helpers/_/_sliced_to_array');
+var React = require('react');
+var dequal = require('./dequal.js');
+
 function useStableValue(value) {
-  var _useState = (0, _react.useState)(function () {
-      return value;
-    }),
-    _useState2 = _slicedToArray(_useState, 2),
-    stableValue = _useState2[0],
-    setStableValue = _useState2[1];
-  if (!(0, _dequal.dequal)(stableValue, value)) {
-    setStableValue(value);
-  }
-  return stableValue;
-}
\ No newline at end of file
+    var _useState = _sliced_to_array._(React.useState(function() {
+        return value;
+    }), 2), stableValue = _useState[0], setStableValue = _useState[1];
+    if (!dequal.dequal(stableValue, value)) {
+        setStableValue(value);
+    }
+    return stableValue;
+}
+
+exports.useStableValue = useStableValue;
Index: package/dist/es/lib/useStableValue.js
===================================================================
--- package/dist/es/lib/useStableValue.js
+++ package/dist/es/lib/useStableValue.js
@@ -1,20 +1,15 @@
-function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
-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."); }
-function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
-function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
-function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
-function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
+import { _ } from '@swc/helpers/cjs/_sliced_to_array.cjs';
 import { useState } from 'react';
-import { dequal } from "./dequal.js";
-export function useStableValue(value) {
-  var _useState = useState(function () {
-      return value;
-    }),
-    _useState2 = _slicedToArray(_useState, 2),
-    stableValue = _useState2[0],
-    setStableValue = _useState2[1];
-  if (!dequal(stableValue, value)) {
-    setStableValue(value);
-  }
-  return stableValue;
-}
\ No newline at end of file
+import { dequal } from './dequal.js';
+
+function useStableValue(value) {
+    var _useState = _(useState(function() {
+        return value;
+    }), 2), stableValue = _useState[0], setStableValue = _useState[1];
+    if (!dequal(stableValue, value)) {
+        setStableValue(value);
+    }
+    return stableValue;
+}
+
+export { useStableValue };
Index: package/dist/cjs/connectors/useStats.js
===================================================================
--- package/dist/cjs/connectors/useStats.js
+++ package/dist/cjs/connectors/useStats.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useStats = useStats;
-var _connectStats = _interopRequireDefault(require("instantsearch.js/cjs/connectors/stats/connectStats"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectStats = require('instantsearch.js/cjs/connectors/stats/connectStats');
+var useConnector = require('../hooks/useConnector.js');
+
 function useStats(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectStats.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectStats, props, additionalWidgetProperties);
+}
+
+exports.useStats = useStats;
Index: package/dist/es/connectors/useStats.js
===================================================================
--- package/dist/es/connectors/useStats.js
+++ package/dist/es/connectors/useStats.js
@@ -1,5 +1,8 @@
-import connectStats from "instantsearch.js/es/connectors/stats/connectStats.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useStats(props, additionalWidgetProperties) {
-  return useConnector(connectStats, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectStats from 'instantsearch.js/es/connectors/stats/connectStats.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useStats(props, additionalWidgetProperties) {
+    return useConnector(connectStats, props, additionalWidgetProperties);
+}
+
+export { useStats };
Index: package/dist/cjs/connectors/useToggleRefinement.js
===================================================================
--- package/dist/cjs/connectors/useToggleRefinement.js
+++ package/dist/cjs/connectors/useToggleRefinement.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useToggleRefinement = useToggleRefinement;
-var _connectToggleRefinement = _interopRequireDefault(require("instantsearch.js/cjs/connectors/toggle-refinement/connectToggleRefinement"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectToggleRefinement = require('instantsearch.js/cjs/connectors/toggle-refinement/connectToggleRefinement');
+var useConnector = require('../hooks/useConnector.js');
+
 function useToggleRefinement(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectToggleRefinement.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectToggleRefinement, props, additionalWidgetProperties);
+}
+
+exports.useToggleRefinement = useToggleRefinement;
Index: package/dist/es/connectors/useToggleRefinement.js
===================================================================
--- package/dist/es/connectors/useToggleRefinement.js
+++ package/dist/es/connectors/useToggleRefinement.js
@@ -1,5 +1,8 @@
-import connectToggleRefinement from "instantsearch.js/es/connectors/toggle-refinement/connectToggleRefinement.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useToggleRefinement(props, additionalWidgetProperties) {
-  return useConnector(connectToggleRefinement, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectToggleRefinement from 'instantsearch.js/es/connectors/toggle-refinement/connectToggleRefinement.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useToggleRefinement(props, additionalWidgetProperties) {
+    return useConnector(connectToggleRefinement, props, additionalWidgetProperties);
+}
+
+export { useToggleRefinement };
Index: package/dist/cjs/connectors/useTrendingItems.js
===================================================================
--- package/dist/cjs/connectors/useTrendingItems.js
+++ package/dist/cjs/connectors/useTrendingItems.js
@@ -1,12 +1,10 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useTrendingItems = useTrendingItems;
-var _connectTrendingItems = _interopRequireDefault(require("instantsearch.js/cjs/connectors/trending-items/connectTrendingItems"));
-var _useConnector = require("../hooks/useConnector");
-function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
+var connectTrendingItems = require('instantsearch.js/cjs/connectors/trending-items/connectTrendingItems');
+var useConnector = require('../hooks/useConnector.js');
+
 function useTrendingItems(props, additionalWidgetProperties) {
-  return (0, _useConnector.useConnector)(_connectTrendingItems.default, props, additionalWidgetProperties);
-}
\ No newline at end of file
+    return useConnector.useConnector(connectTrendingItems, props, additionalWidgetProperties);
+}
+
+exports.useTrendingItems = useTrendingItems;
Index: package/dist/es/connectors/useTrendingItems.js
===================================================================
--- package/dist/es/connectors/useTrendingItems.js
+++ package/dist/es/connectors/useTrendingItems.js
@@ -1,5 +1,8 @@
-import connectTrendingItems from "instantsearch.js/es/connectors/trending-items/connectTrendingItems.js";
-import { useConnector } from "../hooks/useConnector.js";
-export function useTrendingItems(props, additionalWidgetProperties) {
-  return useConnector(connectTrendingItems, props, additionalWidgetProperties);
-}
\ No newline at end of file
+import connectTrendingItems from 'instantsearch.js/es/connectors/trending-items/connectTrendingItems.js';
+import { useConnector } from '../hooks/useConnector.js';
+
+function useTrendingItems(props, additionalWidgetProperties) {
+    return useConnector(connectTrendingItems, props, additionalWidgetProperties);
+}
+
+export { useTrendingItems };
Index: package/dist/cjs/lib/useWidget.js
===================================================================
--- package/dist/cjs/lib/useWidget.js
+++ package/dist/cjs/lib/useWidget.js
@@ -1,100 +1,104 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.useWidget = useWidget;
-var _react = require("react");
-var _dequal = require("./dequal");
-var _use = require("./use");
-var _useInstantSearchContext = require("./useInstantSearchContext");
-var _useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect");
-var _useRSCContext2 = require("./useRSCContext");
-var _warn = require("./warn");
-function useWidget(_ref) {
-  var _waitForResultsRef$cu, _waitForResultsRef$cu2;
-  var widget = _ref.widget,
-    parentIndex = _ref.parentIndex,
-    props = _ref.props,
-    shouldSsr = _ref.shouldSsr,
-    skipSuspense = _ref.skipSuspense;
-  var _useRSCContext = (0, _useRSCContext2.useRSCContext)(),
-    waitForResultsRef = _useRSCContext.waitForResultsRef,
-    countRef = _useRSCContext.countRef,
-    ignoreMultipleHooksWarning = _useRSCContext.ignoreMultipleHooksWarning;
-  var prevPropsRef = (0, _react.useRef)(props);
-  (0, _react.useEffect)(function () {
-    prevPropsRef.current = props;
-  }, [props]);
-  var prevWidgetRef = (0, _react.useRef)(widget);
-  (0, _react.useEffect)(function () {
-    prevWidgetRef.current = widget;
-  }, [widget]);
-  var cleanupTimerRef = (0, _react.useRef)(null);
-  var shouldAddWidgetEarly = shouldSsr && !parentIndex.getWidgets().includes(widget);
-  var search = (0, _useInstantSearchContext.useInstantSearchContext)();
+var React = require('react');
+var dequal = require('./dequal.js');
+var use = require('./use.js');
+var useInstantSearchContext = require('./useInstantSearchContext.js');
+var useIsomorphicLayoutEffect = require('./useIsomorphicLayoutEffect.js');
+var useRSCContext = require('./useRSCContext.js');
 
-  // This effect is responsible for adding, removing, and updating the widget.
-  // We need to support scenarios where the widget is remounted quickly, like in
-  // Strict Mode, so that we don't lose its state, and therefore that we don't
-  // break routing.
-  (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () {
-    var previousWidget = prevWidgetRef.current;
-
-    // Scenario 1: the widget is added for the first time.
-    if (!cleanupTimerRef.current) {
-      if (!shouldSsr) {
-        parentIndex.addWidgets([widget]);
-      }
+function useWidget(param) {
+    var widget = param.widget, parentIndex = param.parentIndex, props = param.props, shouldSsr = param.shouldSsr, skipSuspense = param.skipSuspense;
+    var _waitForResultsRef_current, _waitForResultsRef_current1;
+    var _useRSCContext = useRSCContext.useRSCContext(), waitForResultsRef = _useRSCContext.waitForResultsRef, countRef = _useRSCContext.countRef; _useRSCContext.ignoreMultipleHooksWarning;
+    var prevPropsRef = React.useRef(props);
+    React.useEffect(function() {
+        prevPropsRef.current = props;
+    }, [
+        props
+    ]);
+    var prevWidgetRef = React.useRef(widget);
+    React.useEffect(function() {
+        prevWidgetRef.current = widget;
+    }, [
+        widget
+    ]);
+    var cleanupTimerRef = React.useRef(null);
+    var shouldAddWidgetEarly = shouldSsr && !parentIndex.getWidgets().includes(widget);
+    var search = useInstantSearchContext.useInstantSearchContext();
+    // This effect is responsible for adding, removing, and updating the widget.
+    // We need to support scenarios where the widget is remounted quickly, like in
+    // Strict Mode, so that we don't lose its state, and therefore that we don't
+    // break routing.
+    useIsomorphicLayoutEffect.useIsomorphicLayoutEffect(function() {
+        var previousWidget = prevWidgetRef.current;
+        // Scenario 1: the widget is added for the first time.
+        if (!cleanupTimerRef.current) {
+            if (!shouldSsr) {
+                parentIndex.addWidgets([
+                    widget
+                ]);
+            }
+        } else {
+            // We cancel the original effect cleanup because it may not be necessary if
+            // props haven't changed. (We manually call it if it is below.)
+            clearTimeout(cleanupTimerRef.current);
+            // Warning: if an unstable function prop is provided, `dequal` is not able
+            // to keep its reference and therefore will consider that props did change.
+            // This could unsollicitely remove/add the widget, therefore forget its state,
+            // and could be a source of confusion.
+            // If users face this issue, we should advise them to provide stable function
+            // references.
+            var arePropsEqual = dequal.dequal(props, prevPropsRef.current);
+            // If props did change, then we execute the cleanup function instantly
+            // and then add the widget back. This lets us add the widget without
+            // waiting for the scheduled cleanup function to finish (that we canceled
+            // above).
+            if (!arePropsEqual) {
+                parentIndex.removeWidgets([
+                    previousWidget
+                ]);
+                parentIndex.addWidgets([
+                    widget
+                ]);
+            }
+        }
+        return function() {
+            // We don't remove the widget right away, but rather schedule it so that
+            // we're able to cancel it in the next effect.
+            cleanupTimerRef.current = setTimeout(function() {
+                search._schedule(function() {
+                    if (search._preventWidgetCleanup) return;
+                    parentIndex.removeWidgets([
+                        previousWidget
+                    ]);
+                });
+            });
+        };
+    }, [
+        parentIndex,
+        widget,
+        shouldSsr,
+        search,
+        props
+    ]);
+    if (shouldAddWidgetEarly || (waitForResultsRef === null || waitForResultsRef === void 0 ? void 0 : (_waitForResultsRef_current = waitForResultsRef.current) === null || _waitForResultsRef_current === void 0 ? void 0 : _waitForResultsRef_current.status) === 'pending') {
+        parentIndex.addWidgets([
+            widget
+        ]);
     }
-    // Scenario 2: the widget is rerendered or updated.
-    else {
-      // We cancel the original effect cleanup because it may not be necessary if
-      // props haven't changed. (We manually call it if it is below.)
-      clearTimeout(cleanupTimerRef.current);
-
-      // Warning: if an unstable function prop is provided, `dequal` is not able
-      // to keep its reference and therefore will consider that props did change.
-      // This could unsollicitely remove/add the widget, therefore forget its state,
-      // and could be a source of confusion.
-      // If users face this issue, we should advise them to provide stable function
-      // references.
-      var arePropsEqual = (0, _dequal.dequal)(props, prevPropsRef.current);
-
-      // If props did change, then we execute the cleanup function instantly
-      // and then add the widget back. This lets us add the widget without
-      // waiting for the scheduled cleanup function to finish (that we canceled
-      // above).
-      if (!arePropsEqual) {
-        parentIndex.removeWidgets([previousWidget]);
-        parentIndex.addWidgets([widget]);
-      }
+    if ((waitForResultsRef === null || waitForResultsRef === void 0 ? void 0 : waitForResultsRef.current) && !skipSuspense) {
+        var _search_helper;
+        use.use(waitForResultsRef.current);
+        // If we made a second request because of DynamicWidgets, we need to wait for the second result,
+        // except for DynamicWidgets itself which needs to render its children after the first result.
+        if (widget.$$type !== 'ais.dynamicWidgets' && ((_search_helper = search.helper) === null || _search_helper === void 0 ? void 0 : _search_helper.lastResults)) {
+            use.use(waitForResultsRef.current);
+        }
     }
-    return function () {
-      // We don't remove the widget right away, but rather schedule it so that
-      // we're able to cancel it in the next effect.
-      cleanupTimerRef.current = setTimeout(function () {
-        search._schedule(function () {
-          if (search._preventWidgetCleanup) return;
-          parentIndex.removeWidgets([previousWidget]);
-        });
-      });
-    };
-  }, [parentIndex, widget, shouldSsr, search, props]);
-  if (shouldAddWidgetEarly || (waitForResultsRef === null || waitForResultsRef === void 0 ? void 0 : (_waitForResultsRef$cu = waitForResultsRef.current) === null || _waitForResultsRef$cu === void 0 ? void 0 : _waitForResultsRef$cu.status) === 'pending') {
-    parentIndex.addWidgets([widget]);
-  }
-  if (waitForResultsRef !== null && waitForResultsRef !== void 0 && waitForResultsRef.current && !skipSuspense) {
-    var _search$helper;
-    (0, _use.use)(waitForResultsRef.current);
-    // If we made a second request because of DynamicWidgets, we need to wait for the second result,
-    // except for DynamicWidgets itself which needs to render its children after the first result.
-    if (widget.$$type !== 'ais.dynamicWidgets' && (_search$helper = search.helper) !== null && _search$helper !== void 0 && _search$helper.lastResults) {
-      (0, _use.use)(waitForResultsRef.current);
+    if ((waitForResultsRef === null || waitForResultsRef === void 0 ? void 0 : (_waitForResultsRef_current1 = waitForResultsRef.current) === null || _waitForResultsRef_current1 === void 0 ? void 0 : _waitForResultsRef_current1.status) === 'fulfilled') {
+        countRef.current += 1;
     }
-  }
-  if ((waitForResultsRef === null || waitForResultsRef === void 0 ? void 0 : (_waitForResultsRef$cu2 = waitForResultsRef.current) === null || _waitForResultsRef$cu2 === void 0 ? void 0 : _waitForResultsRef$cu2.status) === 'fulfilled') {
-    countRef.current += 1;
-    process.env.NODE_ENV === 'development' ? (0, _warn.warn)(ignoreMultipleHooksWarning || countRef.current <= parentIndex.getWidgets().length, "We detected you may have a component with multiple InstantSearch hooks.\n\nWith Next.js, you need to set `skipSuspense` to `true` for all but the last hook in the component, otherwise, only the first hook will be rendered on the server.\n\nThis warning can be a false positive if you are using dynamic widgets or multi-index, in which case you can ignore it by setting `ignoreMultipleHooksWarning` to `true` in `<InstantSearchNext`.\n\nFor more information, see https://www.algolia.com/doc/guides/building-search-ui/going-further/server-side-rendering/react/#composing-hooks") : void 0;
-  }
-}
\ No newline at end of file
+}
+
+exports.useWidget = useWidget;
Index: package/dist/es/lib/useWidget.js
===================================================================
--- package/dist/es/lib/useWidget.js
+++ package/dist/es/lib/useWidget.js
@@ -1,94 +1,102 @@
-import { useEffect, useRef } from 'react';
-import { dequal } from "./dequal.js";
-import { use } from "./use.js";
-import { useInstantSearchContext } from "./useInstantSearchContext.js";
-import { useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect.js";
-import { useRSCContext } from "./useRSCContext.js";
-import { warn } from "./warn.js";
-export function useWidget(_ref) {
-  var _waitForResultsRef$cu, _waitForResultsRef$cu2;
-  var widget = _ref.widget,
-    parentIndex = _ref.parentIndex,
-    props = _ref.props,
-    shouldSsr = _ref.shouldSsr,
-    skipSuspense = _ref.skipSuspense;
-  var _useRSCContext = useRSCContext(),
-    waitForResultsRef = _useRSCContext.waitForResultsRef,
-    countRef = _useRSCContext.countRef,
-    ignoreMultipleHooksWarning = _useRSCContext.ignoreMultipleHooksWarning;
-  var prevPropsRef = useRef(props);
-  useEffect(function () {
-    prevPropsRef.current = props;
-  }, [props]);
-  var prevWidgetRef = useRef(widget);
-  useEffect(function () {
-    prevWidgetRef.current = widget;
-  }, [widget]);
-  var cleanupTimerRef = useRef(null);
-  var shouldAddWidgetEarly = shouldSsr && !parentIndex.getWidgets().includes(widget);
-  var search = useInstantSearchContext();
+import { useRef, useEffect } from 'react';
+import { dequal } from './dequal.js';
+import { use } from './use.js';
+import { useInstantSearchContext } from './useInstantSearchContext.js';
+import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect.js';
+import { useRSCContext } from './useRSCContext.js';
 
-  // This effect is responsible for adding, removing, and updating the widget.
-  // We need to support scenarios where the widget is remounted quickly, like in
-  // Strict Mode, so that we don't lose its state, and therefore that we don't
-  // break routing.
-  useIsomorphicLayoutEffect(function () {
-    var previousWidget = prevWidgetRef.current;
-
-    // Scenario 1: the widget is added for the first time.
-    if (!cleanupTimerRef.current) {
-      if (!shouldSsr) {
-        parentIndex.addWidgets([widget]);
-      }
+function useWidget(param) {
+    var widget = param.widget, parentIndex = param.parentIndex, props = param.props, shouldSsr = param.shouldSsr, skipSuspense = param.skipSuspense;
+    var _waitForResultsRef_current, _waitForResultsRef_current1;
+    var _useRSCContext = useRSCContext(), waitForResultsRef = _useRSCContext.waitForResultsRef, countRef = _useRSCContext.countRef; _useRSCContext.ignoreMultipleHooksWarning;
+    var prevPropsRef = useRef(props);
+    useEffect(function() {
+        prevPropsRef.current = props;
+    }, [
+        props
+    ]);
+    var prevWidgetRef = useRef(widget);
+    useEffect(function() {
+        prevWidgetRef.current = widget;
+    }, [
+        widget
+    ]);
+    var cleanupTimerRef = useRef(null);
+    var shouldAddWidgetEarly = shouldSsr && !parentIndex.getWidgets().includes(widget);
+    var search = useInstantSearchContext();
+    // This effect is responsible for adding, removing, and updating the widget.
+    // We need to support scenarios where the widget is remounted quickly, like in
+    // Strict Mode, so that we don't lose its state, and therefore that we don't
+    // break routing.
+    useIsomorphicLayoutEffect(function() {
+        var previousWidget = prevWidgetRef.current;
+        // Scenario 1: the widget is added for the first time.
+        if (!cleanupTimerRef.current) {
+            if (!shouldSsr) {
+                parentIndex.addWidgets([
+                    widget
+                ]);
+            }
+        } else {
+            // We cancel the original effect cleanup because it may not be necessary if
+            // props haven't changed. (We manually call it if it is below.)
+            clearTimeout(cleanupTimerRef.current);
+            // Warning: if an unstable function prop is provided, `dequal` is not able
+            // to keep its reference and therefore will consider that props did change.
+            // This could unsollicitely remove/add the widget, therefore forget its state,
+            // and could be a source of confusion.
+            // If users face this issue, we should advise them to provide stable function
+            // references.
+            var arePropsEqual = dequal(props, prevPropsRef.current);
+            // If props did change, then we execute the cleanup function instantly
+            // and then add the widget back. This lets us add the widget without
+            // waiting for the scheduled cleanup function to finish (that we canceled
+            // above).
+            if (!arePropsEqual) {
+                parentIndex.removeWidgets([
+                    previousWidget
+                ]);
+                parentIndex.addWidgets([
+                    widget
+                ]);
+            }
+        }
+        return function() {
+            // We don't remove the widget right away, but rather schedule it so that
+            // we're able to cancel it in the next effect.
+            cleanupTimerRef.current = setTimeout(function() {
+                search._schedule(function() {
+                    if (search._preventWidgetCleanup) return;
+                    parentIndex.removeWidgets([
+                        previousWidget
+                    ]);
+                });
+            });
+        };
+    }, [
+        parentIndex,
+        widget,
+        shouldSsr,
+        search,
+        props
+    ]);
+    if (shouldAddWidgetEarly || (waitForResultsRef === null || waitForResultsRef === void 0 ? void 0 : (_waitForResultsRef_current = waitForResultsRef.current) === null || _waitForResultsRef_current === void 0 ? void 0 : _waitForResultsRef_current.status) === 'pending') {
+        parentIndex.addWidgets([
+            widget
+        ]);
     }
-    // Scenario 2: the widget is rerendered or updated.
-    else {
-      // We cancel the original effect cleanup because it may not be necessary if
-      // props haven't changed. (We manually call it if it is below.)
-      clearTimeout(cleanupTimerRef.current);
-
-      // Warning: if an unstable function prop is provided, `dequal` is not able
-      // to keep its reference and therefore will consider that props did change.
-      // This could unsollicitely remove/add the widget, therefore forget its state,
-      // and could be a source of confusion.
-      // If users face this issue, we should advise them to provide stable function
-      // references.
-      var arePropsEqual = dequal(props, prevPropsRef.current);
-
-      // If props did change, then we execute the cleanup function instantly
-      // and then add the widget back. This lets us add the widget without
-      // waiting for the scheduled cleanup function to finish (that we canceled
-      // above).
-      if (!arePropsEqual) {
-        parentIndex.removeWidgets([previousWidget]);
-        parentIndex.addWidgets([widget]);
-      }
+    if ((waitForResultsRef === null || waitForResultsRef === void 0 ? void 0 : waitForResultsRef.current) && !skipSuspense) {
+        var _search_helper;
+        use(waitForResultsRef.current);
+        // If we made a second request because of DynamicWidgets, we need to wait for the second result,
+        // except for DynamicWidgets itself which needs to render its children after the first result.
+        if (widget.$$type !== 'ais.dynamicWidgets' && ((_search_helper = search.helper) === null || _search_helper === void 0 ? void 0 : _search_helper.lastResults)) {
+            use(waitForResultsRef.current);
+        }
     }
-    return function () {
-      // We don't remove the widget right away, but rather schedule it so that
-      // we're able to cancel it in the next effect.
-      cleanupTimerRef.current = setTimeout(function () {
-        search._schedule(function () {
-          if (search._preventWidgetCleanup) return;
-          parentIndex.removeWidgets([previousWidget]);
-        });
-      });
-    };
-  }, [parentIndex, widget, shouldSsr, search, props]);
-  if (shouldAddWidgetEarly || (waitForResultsRef === null || waitForResultsRef === void 0 ? void 0 : (_waitForResultsRef$cu = waitForResultsRef.current) === null || _waitForResultsRef$cu === void 0 ? void 0 : _waitForResultsRef$cu.status) === 'pending') {
-    parentIndex.addWidgets([widget]);
-  }
-  if (waitForResultsRef !== null && waitForResultsRef !== void 0 && waitForResultsRef.current && !skipSuspense) {
-    var _search$helper;
-    use(waitForResultsRef.current);
-    // If we made a second request because of DynamicWidgets, we need to wait for the second result,
-    // except for DynamicWidgets itself which needs to render its children after the first result.
-    if (widget.$$type !== 'ais.dynamicWidgets' && (_search$helper = search.helper) !== null && _search$helper !== void 0 && _search$helper.lastResults) {
-      use(waitForResultsRef.current);
+    if ((waitForResultsRef === null || waitForResultsRef === void 0 ? void 0 : (_waitForResultsRef_current1 = waitForResultsRef.current) === null || _waitForResultsRef_current1 === void 0 ? void 0 : _waitForResultsRef_current1.status) === 'fulfilled') {
+        countRef.current += 1;
     }
-  }
-  if ((waitForResultsRef === null || waitForResultsRef === void 0 ? void 0 : (_waitForResultsRef$cu2 = waitForResultsRef.current) === null || _waitForResultsRef$cu2 === void 0 ? void 0 : _waitForResultsRef$cu2.status) === 'fulfilled') {
-    countRef.current += 1;
-    process.env.NODE_ENV === 'development' ? warn(ignoreMultipleHooksWarning || countRef.current <= parentIndex.getWidgets().length, "We detected you may have a component with multiple InstantSearch hooks.\n\nWith Next.js, you need to set `skipSuspense` to `true` for all but the last hook in the component, otherwise, only the first hook will be rendered on the server.\n\nThis warning can be a false positive if you are using dynamic widgets or multi-index, in which case you can ignore it by setting `ignoreMultipleHooksWarning` to `true` in `<InstantSearchNext`.\n\nFor more information, see https://www.algolia.com/doc/guides/building-search-ui/going-further/server-side-rendering/react/#composing-hooks") : void 0;
-  }
-}
\ No newline at end of file
+}
+
+export { useWidget };
Index: package/dist/cjs/version.js
===================================================================
--- package/dist/cjs/version.js
+++ package/dist/cjs/version.js
@@ -1,7 +1,7 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.default = void 0;
-var _default = exports.default = '7.25.0';
\ No newline at end of file
+Object.defineProperty(exports, '__esModule', { value: true });
+
+var version = '7.26.0';
+
+exports.default = version;
Index: package/dist/es/version.js
===================================================================
--- package/dist/es/version.js
+++ package/dist/es/version.js
@@ -1,1 +1,3 @@
-export default '7.25.0';
\ No newline at end of file
+var version = '7.26.0';
+
+export { version as default };
Index: package/dist/cjs/lib/warn.js
===================================================================
--- package/dist/cjs/lib/warn.js
+++ package/dist/cjs/lib/warn.js
@@ -1,40 +1,16 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.warn = warn;
-exports.warnCache = void 0;
-/* eslint-disable no-console, no-empty */
-
-var warnCache = exports.warnCache = {
-  current: {}
+/* eslint-disable no-console, no-empty */ var warnCache = {
+    current: {}
 };
-
 /**
  * Logs a warning if the condition is not met.
  * This is used to log issues in development environment only.
- */
-function warn(condition, message) {
-  if (!(process.env.NODE_ENV === 'development')) {
-    return;
-  }
-  if (condition) {
-    return;
-  }
-  var sanitizedMessage = message.trim();
-  var hasAlreadyPrinted = warnCache.current[sanitizedMessage];
-  if (!hasAlreadyPrinted) {
-    warnCache.current[sanitizedMessage] = true;
-    var warning = "[InstantSearch] ".concat(sanitizedMessage);
-    console.warn(warning);
-    try {
-      // Welcome to debugging InstantSearch.
-      //
-      // This error was thrown as a convenience so that you can find the source
-      // of the warning that appears in the console by enabling "Pause on exceptions"
-      // in your debugger.
-      throw new Error(warning);
-    } catch (error) {}
-  }
-}
\ No newline at end of file
+ */ function warn(condition, message) {
+    {
+        return;
+    }
+}
+
+exports.warn = warn;
+exports.warnCache = warnCache;
Index: package/dist/es/lib/warn.js
===================================================================
--- package/dist/es/lib/warn.js
+++ package/dist/es/lib/warn.js
@@ -1,33 +1,13 @@
-/* eslint-disable no-console, no-empty */
-
-export var warnCache = {
-  current: {}
+/* eslint-disable no-console, no-empty */ var warnCache = {
+    current: {}
 };
-
 /**
  * Logs a warning if the condition is not met.
  * This is used to log issues in development environment only.
- */
-export function warn(condition, message) {
-  if (!(process.env.NODE_ENV === 'development')) {
-    return;
-  }
-  if (condition) {
-    return;
-  }
-  var sanitizedMessage = message.trim();
-  var hasAlreadyPrinted = warnCache.current[sanitizedMessage];
-  if (!hasAlreadyPrinted) {
-    warnCache.current[sanitizedMessage] = true;
-    var warning = "[InstantSearch] ".concat(sanitizedMessage);
-    console.warn(warning);
-    try {
-      // Welcome to debugging InstantSearch.
-      //
-      // This error was thrown as a convenience so that you can find the source
-      // of the warning that appears in the console by enabling "Pause on exceptions"
-      // in your debugger.
-      throw new Error(warning);
-    } catch (error) {}
-  }
-}
\ No newline at end of file
+ */ function warn(condition, message) {
+    {
+        return;
+    }
+}
+
+export { warn, warnCache };
Index: package/dist/cjs/lib/wrapPromiseWithState.js
===================================================================
--- package/dist/cjs/lib/wrapPromiseWithState.js
+++ package/dist/cjs/lib/wrapPromiseWithState.js
@@ -1,32 +1,29 @@
-"use strict";
+'use strict';
 
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.wrapPromiseWithState = wrapPromiseWithState;
 // This is needed in order to work with RSC Suspense, perhaps they will later provide a wrapper.
-
 function isStatefulPromise(promise) {
-  return 'status' in promise;
+    return 'status' in promise;
 }
 function wrapPromiseWithState(promise) {
-  if (isStatefulPromise(promise)) {
-    return promise;
-  }
-  var pendingPromise = promise;
-  pendingPromise.status = 'pending';
-  pendingPromise.then(function (value) {
-    if (pendingPromise.status === 'pending') {
-      var fulfilledPromise = pendingPromise;
-      fulfilledPromise.status = 'fulfilled';
-      fulfilledPromise.value = value;
+    if (isStatefulPromise(promise)) {
+        return promise;
     }
-  }, function (reason) {
-    if (pendingPromise.status === 'pending') {
-      var rejectedPromise = pendingPromise;
-      rejectedPromise.status = 'rejected';
-      rejectedPromise.reason = reason;
-    }
-  });
-  return promise;
-}
\ No newline at end of file
+    var pendingPromise = promise;
+    pendingPromise.status = 'pending';
+    pendingPromise.then(function(value) {
+        if (pendingPromise.status === 'pending') {
+            var fulfilledPromise = pendingPromise;
+            fulfilledPromise.status = 'fulfilled';
+            fulfilledPromise.value = value;
+        }
+    }, function(reason) {
+        if (pendingPromise.status === 'pending') {
+            var rejectedPromise = pendingPromise;
+            rejectedPromise.status = 'rejected';
+            rejectedPromise.reason = reason;
+        }
+    });
+    return promise;
+}
+
+exports.wrapPromiseWithState = wrapPromiseWithState;
Index: package/dist/es/lib/wrapPromiseWithState.js
===================================================================
--- package/dist/es/lib/wrapPromiseWithState.js
+++ package/dist/es/lib/wrapPromiseWithState.js
@@ -1,26 +1,27 @@
 // This is needed in order to work with RSC Suspense, perhaps they will later provide a wrapper.
-
 function isStatefulPromise(promise) {
-  return 'status' in promise;
+    return 'status' in promise;
 }
-export function wrapPromiseWithState(promise) {
-  if (isStatefulPromise(promise)) {
-    return promise;
-  }
-  var pendingPromise = promise;
-  pendingPromise.status = 'pending';
-  pendingPromise.then(function (value) {
-    if (pendingPromise.status === 'pending') {
-      var fulfilledPromise = pendingPromise;
-      fulfilledPromise.status = 'fulfilled';
-      fulfilledPromise.value = value;
+function wrapPromiseWithState(promise) {
+    if (isStatefulPromise(promise)) {
+        return promise;
     }
-  }, function (reason) {
-    if (pendingPromise.status === 'pending') {
-      var rejectedPromise = pendingPromise;
-      rejectedPromise.status = 'rejected';
-      rejectedPromise.reason = reason;
-    }
-  });
-  return promise;
-}
\ No newline at end of file
+    var pendingPromise = promise;
+    pendingPromise.status = 'pending';
+    pendingPromise.then(function(value) {
+        if (pendingPromise.status === 'pending') {
+            var fulfilledPromise = pendingPromise;
+            fulfilledPromise.status = 'fulfilled';
+            fulfilledPromise.value = value;
+        }
+    }, function(reason) {
+        if (pendingPromise.status === 'pending') {
+            var rejectedPromise = pendingPromise;
+            rejectedPromise.status = 'rejected';
+            rejectedPromise.reason = reason;
+        }
+    });
+    return promise;
+}
+
+export { wrapPromiseWithState };
Index: package/dist/cjs/package.json
===================================================================
--- package/dist/cjs/package.json
+++ package/dist/cjs/package.json
@@ -1,1 +1,4 @@
-{ "type": "commonjs", "sideEffects": false }
+{
+  "type": "commonjs",
+  "sideEffects": false
+}
\ No newline at end of file
Index: package/package.json
===================================================================
--- package/package.json
+++ package/package.json
@@ -1,7 +1,7 @@
 {
   "name": "react-instantsearch-core",
-  "version": "7.25.0",
+  "version": "7.26.0",
   "description": "⚡ Lightning-fast search for React, by Algolia",
   "types": "dist/es/index.d.ts",
   "main": "dist/cjs/index.js",
   "module": "dist/es/index.js",
@@ -37,22 +37,18 @@
     "dist"
   ],
   "scripts": {
     "clean": "rm -rf dist",
-    "build": "yarn build:cjs && yarn build:es && yarn build:umd && yarn build:types",
-    "build:cjs": "BABEL_ENV=cjs babel src --root-mode upward --extensions '.js,.ts,.tsx' --out-dir dist/cjs --ignore '**/__tests__/**/*','**/__mocks__/**/*' --quiet && ../../scripts/prepare-cjs.sh",
-    "build:es:base": "BABEL_ENV=es babel src --root-mode upward --extensions '.js,.ts,.tsx' --out-dir dist/es --ignore '**/__tests__/**/*','**/__mocks__/**/*'",
-    "build:es": "yarn build:es:base --quiet",
-    "build:umd": "BABEL_ENV=rollup rollup -c rollup.config.js",
+    "build": "BABEL_ENV=es,rollup BUILD_FORMAT=esm rollup -c rollup.config.mjs && BABEL_ENV=rollup BUILD_FORMAT=cjs rollup -c rollup.config.mjs && BABEL_ENV=rollup BUILD_FORMAT=umd rollup -c rollup.config.mjs && yarn build:types",
     "build:types": "tsc -p ./tsconfig.declaration.json --outDir ./dist/es",
     "test:exports": "node ./test/module/is-es-module.mjs && node ./test/module/is-cjs-module.cjs",
     "version": "./scripts/version.cjs",
-    "watch:es": "yarn --silent build:es:base --watch"
+    "watch:es": "BABEL_ENV=es,rollup BUILD_FORMAT=esm rollup -c rollup.config.mjs --watch"
   },
   "dependencies": {
-    "@babel/runtime": "^7.27.6",
-    "algoliasearch-helper": "3.27.1",
-    "instantsearch.js": "4.89.0",
+    "@swc/helpers": "0.5.18",
+    "algoliasearch-helper": "3.28.0",
+    "instantsearch.js": "4.90.0",
     "use-sync-external-store": "^1.0.0",
     "zod": "^3.25.76 || ^4",
     "zod-to-json-schema": "3.24.6"
   },
@@ -63,6 +59,6 @@
   "peerDependencies": {
     "algoliasearch": ">= 3.1 < 6",
     "react": ">= 16.8.0 < 20"
   },
-  "gitHead": "b1d19a647b42add5bbf0a5b70bd2705d3b6ca92e"
+  "gitHead": "47788afa47a402d506f94f72ec0836fb36085b57"
 }
Index: package/dist/es/version.d.ts
===================================================================
--- package/dist/es/version.d.ts
+++ package/dist/es/version.d.ts
@@ -1,2 +1,2 @@
-declare const _default: "7.25.0";
+declare const _default: "7.26.0";
 export default _default;