react-instantsearch-nextjs 1.0.16 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,101 +1,96 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.InitializePromise = InitializePromise;
7
- var _server = require("instantsearch.js/cjs/lib/server");
8
- var _utils = require("instantsearch.js/cjs/lib/utils");
9
- var _navigation = require("next/navigation");
10
- var _react = require("react");
11
- var _reactInstantsearchCore = require("react-instantsearch-core");
12
- var _createInsertHTML = require("./createInsertHTML");
13
- 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); }
14
- 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; }
15
- 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; }
16
- 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; }
17
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
18
- 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); }
19
- function InitializePromise(_ref) {
20
- var nonce = _ref.nonce;
21
- var _search = (0, _reactInstantsearchCore.useInstantSearchContext)();
22
- var _useRSCContext = (0, _reactInstantsearchCore.useRSCContext)(),
23
- waitForResultsRef = _useRSCContext.waitForResultsRef;
24
- var insertHTML = (0, _react.useContext)(_navigation.ServerInsertedHTMLContext) || function () {
25
- throw new Error('Missing ServerInsertedHTMLContext');
26
- };
3
+ var _object_spread = require('@swc/helpers/_/_object_spread');
4
+ var _object_spread_props = require('@swc/helpers/_/_object_spread_props');
5
+ var server = require('instantsearch.js/cjs/lib/server');
6
+ var utils = require('instantsearch.js/cjs/lib/utils');
7
+ var navigation = require('next/navigation');
8
+ var React = require('react');
9
+ var reactInstantsearchCore = require('react-instantsearch-core');
10
+ var createInsertHTML = require('./createInsertHTML.js');
27
11
 
28
- // Extract search parameters from the search client to use them
29
- // later during hydration.
30
- var requestParamsList;
31
- if (_search.compositionID) {
32
- _search.mainHelper.setClient(_objectSpread(_objectSpread({}, _search.mainHelper.getClient()), {}, {
33
- search: function search(query) {
34
- requestParamsList = [query.requestBody.params];
35
- return _search.client.search(query);
36
- }
37
- }));
38
- } else {
39
- _search.mainHelper.setClient(_objectSpread(_objectSpread({}, _search.mainHelper.getClient()), {}, {
40
- search: function search(queries) {
41
- requestParamsList = queries.map(function (_ref2) {
42
- var params = _ref2.params;
43
- return params;
44
- });
45
- return _search.client.search(queries);
46
- }
47
- }));
48
- }
49
- (0, _utils.resetWidgetId)();
50
- var waitForResults = function waitForResults() {
51
- return new Promise(function (resolve) {
52
- var searchReceived = false;
53
- var recommendReceived = false;
54
- _search.mainHelper.derivedHelpers[0].once('result', function () {
55
- searchReceived = true;
56
- if (!_search._hasRecommendWidget || recommendReceived) {
57
- resolve();
58
- }
59
- });
60
- _search.mainHelper.derivedHelpers[0].once('recommend:result', function () {
61
- recommendReceived = true;
62
- if (!_search._hasSearchWidget || searchReceived) {
63
- resolve();
64
- }
65
- });
66
- });
67
- };
68
- var injectInitialResults = function injectInitialResults() {
69
- var options = {
70
- inserted: false
12
+ function InitializePromise(param) {
13
+ var nonce = param.nonce;
14
+ var search = reactInstantsearchCore.useInstantSearchContext();
15
+ var waitForResultsRef = reactInstantsearchCore.useRSCContext().waitForResultsRef;
16
+ var insertHTML = React.useContext(navigation.ServerInsertedHTMLContext) || function() {
17
+ throw new Error('Missing ServerInsertedHTMLContext');
71
18
  };
72
- var results = (0, _server.getInitialResults)(_search.mainIndex, requestParamsList);
73
- insertHTML((0, _createInsertHTML.createInsertHTML)({
74
- options: options,
75
- results: results,
76
- nonce: nonce
77
- }));
78
- };
79
- if ((waitForResultsRef === null || waitForResultsRef === void 0 ? void 0 : waitForResultsRef.current) === null) {
80
- waitForResultsRef.current = (0, _reactInstantsearchCore.wrapPromiseWithState)(waitForResults().then(function () {
81
- var shouldRefetch = false;
82
- (0, _utils.walkIndex)(_search.mainIndex, function (index) {
83
- shouldRefetch = index.getWidgets().some(function (widget) {
84
- return widget.$$type === 'ais.dynamicWidgets';
19
+ // Extract search parameters from the search client to use them
20
+ // later during hydration.
21
+ var requestParamsList;
22
+ if (search.compositionID) {
23
+ search.mainHelper.setClient(_object_spread_props._(_object_spread._({}, search.mainHelper.getClient()), {
24
+ search: function search1(query) {
25
+ requestParamsList = [
26
+ query.requestBody.params
27
+ ];
28
+ return search.client.search(query);
29
+ }
30
+ }));
31
+ } else {
32
+ search.mainHelper.setClient(_object_spread_props._(_object_spread._({}, search.mainHelper.getClient()), {
33
+ search: function search1(queries) {
34
+ requestParamsList = queries.map(function(param) {
35
+ var params = param.params;
36
+ return params;
37
+ });
38
+ return search.client.search(queries);
39
+ }
40
+ }));
41
+ }
42
+ utils.resetWidgetId();
43
+ var waitForResults = function waitForResults() {
44
+ return new Promise(function(resolve) {
45
+ var searchReceived = false;
46
+ var recommendReceived = false;
47
+ search.mainHelper.derivedHelpers[0].once('result', function() {
48
+ searchReceived = true;
49
+ if (!search._hasRecommendWidget || recommendReceived) {
50
+ resolve();
51
+ }
52
+ });
53
+ search.mainHelper.derivedHelpers[0].once('recommend:result', function() {
54
+ recommendReceived = true;
55
+ if (!search._hasSearchWidget || searchReceived) {
56
+ resolve();
57
+ }
58
+ });
85
59
  });
86
- });
87
- if (shouldRefetch) {
88
- var _search$_resetSchedul;
89
- (_search$_resetSchedul = _search._resetScheduleSearch) === null || _search$_resetSchedul === void 0 ? void 0 : _search$_resetSchedul.call(_search);
90
- waitForResultsRef.current = (0, _reactInstantsearchCore.wrapPromiseWithState)(waitForResults().then(injectInitialResults));
91
- }
92
- return shouldRefetch;
93
- }).then(function (shouldRefetch) {
94
- if (shouldRefetch) {
95
- return;
96
- }
97
- injectInitialResults();
98
- }));
99
- }
100
- return null;
101
- }
60
+ };
61
+ var injectInitialResults = function injectInitialResults() {
62
+ var options = {
63
+ inserted: false
64
+ };
65
+ var results = server.getInitialResults(search.mainIndex, requestParamsList);
66
+ insertHTML(createInsertHTML.createInsertHTML({
67
+ options: options,
68
+ results: results,
69
+ nonce: nonce
70
+ }));
71
+ };
72
+ if ((waitForResultsRef === null || waitForResultsRef === void 0 ? void 0 : waitForResultsRef.current) === null) {
73
+ waitForResultsRef.current = reactInstantsearchCore.wrapPromiseWithState(waitForResults().then(function() {
74
+ var shouldRefetch = false;
75
+ utils.walkIndex(search.mainIndex, function(index) {
76
+ shouldRefetch = index.getWidgets().some(function(widget) {
77
+ return widget.$$type === 'ais.dynamicWidgets';
78
+ });
79
+ });
80
+ if (shouldRefetch) {
81
+ var _search__resetScheduleSearch;
82
+ (_search__resetScheduleSearch = search._resetScheduleSearch) === null || _search__resetScheduleSearch === void 0 ? void 0 : _search__resetScheduleSearch.call(search);
83
+ waitForResultsRef.current = reactInstantsearchCore.wrapPromiseWithState(waitForResults().then(injectInitialResults));
84
+ }
85
+ return shouldRefetch;
86
+ }).then(function(shouldRefetch) {
87
+ if (shouldRefetch) {
88
+ return;
89
+ }
90
+ injectInitialResults();
91
+ }));
92
+ }
93
+ return null;
94
+ }
95
+
96
+ exports.InitializePromise = InitializePromise;
@@ -1,88 +1,81 @@
1
- "use strict";
1
+ 'use strict';
2
+
3
+ var _object_spread = require('@swc/helpers/_/_object_spread');
4
+ var _object_spread_props = require('@swc/helpers/_/_object_spread_props');
5
+ var _object_without_properties = require('@swc/helpers/_/_object_without_properties');
6
+ var utils = require('instantsearch.js/cjs/lib/utils');
7
+ var React = require('react');
8
+ var reactInstantsearchCore = require('react-instantsearch-core');
9
+ var InitializePromise = require('./InitializePromise.js');
10
+ var TriggerSearch = require('./TriggerSearch.js');
11
+ var useDynamicRouteWarning = require('./useDynamicRouteWarning.js');
12
+ var useInstantSearchRouting = require('./useInstantSearchRouting.js');
13
+ var useNextHeaders = require('./useNextHeaders.js');
2
14
 
3
- 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); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.InstantSearchNext = InstantSearchNext;
8
- exports.createInstantSearchNextInstance = createInstantSearchNextInstance;
9
- var _utils = require("instantsearch.js/cjs/lib/utils");
10
- var _react = _interopRequireWildcard(require("react"));
11
- var _reactInstantsearchCore = require("react-instantsearch-core");
12
- var _InitializePromise = require("./InitializePromise");
13
- var _TriggerSearch = require("./TriggerSearch");
14
- var _useDynamicRouteWarning = require("./useDynamicRouteWarning");
15
- var _useInstantSearchRouting = require("./useInstantSearchRouting");
16
- var _useNextHeaders = require("./useNextHeaders");
17
- var _excluded = ["children", "routing", "instance", "ignoreMultipleHooksWarning"];
18
- 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); }
19
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
20
- 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; }
21
- 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; }
22
15
  var InstantSearchInitialResults = Symbol.for('InstantSearchInitialResults');
23
16
  function createInstantSearchNextInstance() {
24
- return {
25
- current: null
26
- };
17
+ return {
18
+ current: null
19
+ };
20
+ }
21
+ function InstantSearchNext(_0) {
22
+ var children = _0.children, passedRouting = _0.routing, instance = _0.instance, _0_ignoreMultipleHooksWarning = _0.ignoreMultipleHooksWarning, ignoreMultipleHooksWarning = _0_ignoreMultipleHooksWarning === void 0 ? false : _0_ignoreMultipleHooksWarning, instantSearchProps = _object_without_properties._(_0, [
23
+ "children",
24
+ "routing",
25
+ "instance",
26
+ "ignoreMultipleHooksWarning"
27
+ ]);
28
+ var isMounting = React.useRef(true);
29
+ var isServer = typeof window === 'undefined';
30
+ React.useEffect(function() {
31
+ isMounting.current = false;
32
+ }, []);
33
+ var headers = useNextHeaders.useNextHeaders();
34
+ var nonce = utils.safelyRunOnBrowser(function() {
35
+ return undefined;
36
+ }, {
37
+ fallback: function fallback() {
38
+ return (headers === null || headers === void 0 ? void 0 : headers.get('x-nonce')) || undefined;
39
+ }
40
+ });
41
+ useDynamicRouteWarning.useDynamicRouteWarning({
42
+ isServer: isServer,
43
+ isMounting: isMounting,
44
+ instance: instance
45
+ });
46
+ var routing = useInstantSearchRouting.useInstantSearchRouting(passedRouting, isMounting);
47
+ return /*#__PURE__*/ React.createElement(ServerOrHydrationProvider, {
48
+ isServer: isServer,
49
+ instance: instance,
50
+ ignoreMultipleHooksWarning: ignoreMultipleHooksWarning
51
+ }, /*#__PURE__*/ React.createElement(reactInstantsearchCore.InstantSearch, _object_spread_props._(_object_spread._({}, instantSearchProps), {
52
+ routing: routing
53
+ }), isServer && /*#__PURE__*/ React.createElement(InitializePromise.InitializePromise, {
54
+ nonce: nonce
55
+ }), children, isServer && /*#__PURE__*/ React.createElement(TriggerSearch.TriggerSearch, {
56
+ nonce: nonce
57
+ })));
27
58
  }
28
- function InstantSearchNext(_ref) {
29
- var children = _ref.children,
30
- passedRouting = _ref.routing,
31
- instance = _ref.instance,
32
- _ref$ignoreMultipleHo = _ref.ignoreMultipleHooksWarning,
33
- ignoreMultipleHooksWarning = _ref$ignoreMultipleHo === void 0 ? false : _ref$ignoreMultipleHo,
34
- instantSearchProps = _objectWithoutProperties(_ref, _excluded);
35
- var isMounting = (0, _react.useRef)(true);
36
- var isServer = typeof window === 'undefined';
37
- (0, _react.useEffect)(function () {
38
- isMounting.current = false;
39
- }, []);
40
- var headers = (0, _useNextHeaders.useNextHeaders)();
41
- var nonce = (0, _utils.safelyRunOnBrowser)(function () {
42
- return undefined;
43
- }, {
44
- fallback: function fallback() {
45
- return (headers === null || headers === void 0 ? void 0 : headers.get('x-nonce')) || undefined;
46
- }
47
- });
48
- (0, _useDynamicRouteWarning.useDynamicRouteWarning)({
49
- isServer: isServer,
50
- isMounting: isMounting,
51
- instance: instance
52
- });
53
- var routing = (0, _useInstantSearchRouting.useInstantSearchRouting)(passedRouting, isMounting);
54
- return /*#__PURE__*/_react.default.createElement(ServerOrHydrationProvider, {
55
- isServer: isServer,
56
- instance: instance,
57
- ignoreMultipleHooksWarning: ignoreMultipleHooksWarning
58
- }, /*#__PURE__*/_react.default.createElement(_reactInstantsearchCore.InstantSearch, _extends({}, instantSearchProps, {
59
- routing: routing
60
- }), isServer && /*#__PURE__*/_react.default.createElement(_InitializePromise.InitializePromise, {
61
- nonce: nonce
62
- }), children, isServer && /*#__PURE__*/_react.default.createElement(_TriggerSearch.TriggerSearch, {
63
- nonce: nonce
64
- })));
59
+ function ServerOrHydrationProvider(param) {
60
+ var isServer = param.isServer, children = param.children, instance = param.instance, ignoreMultipleHooksWarning = param.ignoreMultipleHooksWarning;
61
+ var promiseRef = React.useRef(null);
62
+ var countRef = React.useRef(0);
63
+ var initialResults = utils.safelyRunOnBrowser(function() {
64
+ return window[InstantSearchInitialResults];
65
+ });
66
+ return /*#__PURE__*/ React.createElement(reactInstantsearchCore.InstantSearchRSCContext.Provider, {
67
+ value: {
68
+ waitForResultsRef: promiseRef,
69
+ countRef: countRef,
70
+ ignoreMultipleHooksWarning: ignoreMultipleHooksWarning
71
+ }
72
+ }, /*#__PURE__*/ React.createElement(reactInstantsearchCore.InstantSearchSSRContext.Provider, {
73
+ value: {
74
+ initialResults: initialResults,
75
+ ssrSearchRef: isServer ? undefined : instance
76
+ }
77
+ }, children));
65
78
  }
66
- function ServerOrHydrationProvider(_ref2) {
67
- var isServer = _ref2.isServer,
68
- children = _ref2.children,
69
- instance = _ref2.instance,
70
- ignoreMultipleHooksWarning = _ref2.ignoreMultipleHooksWarning;
71
- var promiseRef = (0, _react.useRef)(null);
72
- var countRef = (0, _react.useRef)(0);
73
- var initialResults = (0, _utils.safelyRunOnBrowser)(function () {
74
- return window[InstantSearchInitialResults];
75
- });
76
- return /*#__PURE__*/_react.default.createElement(_reactInstantsearchCore.InstantSearchRSCContext.Provider, {
77
- value: {
78
- waitForResultsRef: promiseRef,
79
- countRef: countRef,
80
- ignoreMultipleHooksWarning: ignoreMultipleHooksWarning
81
- }
82
- }, /*#__PURE__*/_react.default.createElement(_reactInstantsearchCore.InstantSearchSSRContext.Provider, {
83
- value: {
84
- initialResults: initialResults,
85
- ssrSearchRef: isServer ? undefined : instance
86
- }
87
- }, children));
88
- }
79
+
80
+ exports.InstantSearchNext = InstantSearchNext;
81
+ exports.createInstantSearchNextInstance = createInstantSearchNextInstance;
@@ -1,46 +1,43 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.TriggerSearch = TriggerSearch;
7
- var _navigation = require("next/navigation");
8
- var _react = require("react");
9
- var _reactInstantsearchCore = require("react-instantsearch-core");
10
- var _createInsertHTML = require("./createInsertHTML");
11
- function TriggerSearch(_ref) {
12
- var _waitForResultsRef$cu;
13
- var nonce = _ref.nonce;
14
- var instantsearch = (0, _reactInstantsearchCore.useInstantSearchContext)();
15
- var _useRSCContext = (0, _reactInstantsearchCore.useRSCContext)(),
16
- waitForResultsRef = _useRSCContext.waitForResultsRef;
17
- var insertHTML = (0, _react.useContext)(_navigation.ServerInsertedHTMLContext) || function () {
18
- throw new Error('Missing ServerInsertedHTMLContext');
19
- };
20
- if ((waitForResultsRef === null || waitForResultsRef === void 0 ? void 0 : (_waitForResultsRef$cu = waitForResultsRef.current) === null || _waitForResultsRef$cu === void 0 ? void 0 : _waitForResultsRef$cu.status) === 'pending') {
21
- var _instantsearch$mainHe3;
22
- if (instantsearch._hasSearchWidget) {
23
- if (instantsearch.compositionID) {
24
- var _instantsearch$mainHe;
25
- (_instantsearch$mainHe = instantsearch.mainHelper) === null || _instantsearch$mainHe === void 0 ? void 0 : _instantsearch$mainHe.searchWithComposition();
26
- } else {
27
- var _instantsearch$mainHe2;
28
- (_instantsearch$mainHe2 = instantsearch.mainHelper) === null || _instantsearch$mainHe2 === void 0 ? void 0 : _instantsearch$mainHe2.searchOnlyWithDerivedHelpers();
29
- }
30
- }
31
- instantsearch._hasRecommendWidget && ((_instantsearch$mainHe3 = instantsearch.mainHelper) === null || _instantsearch$mainHe3 === void 0 ? void 0 : _instantsearch$mainHe3.recommend());
3
+ var navigation = require('next/navigation');
4
+ var React = require('react');
5
+ var reactInstantsearchCore = require('react-instantsearch-core');
6
+ var createInsertHTML = require('./createInsertHTML.js');
32
7
 
33
- // If there are no widgets, we inject empty initial results instantly
34
- if (!instantsearch._hasSearchWidget && !instantsearch._hasRecommendWidget) {
35
- var options = {
36
- inserted: false
37
- };
38
- insertHTML((0, _createInsertHTML.createInsertHTML)({
39
- options: options,
40
- results: {},
41
- nonce: nonce
42
- }));
8
+ function TriggerSearch(param) {
9
+ var nonce = param.nonce;
10
+ var _waitForResultsRef_current;
11
+ var instantsearch = reactInstantsearchCore.useInstantSearchContext();
12
+ var waitForResultsRef = reactInstantsearchCore.useRSCContext().waitForResultsRef;
13
+ var insertHTML = React.useContext(navigation.ServerInsertedHTMLContext) || function() {
14
+ throw new Error('Missing ServerInsertedHTMLContext');
15
+ };
16
+ if ((waitForResultsRef === null || waitForResultsRef === void 0 ? void 0 : (_waitForResultsRef_current = waitForResultsRef.current) === null || _waitForResultsRef_current === void 0 ? void 0 : _waitForResultsRef_current.status) === 'pending') {
17
+ var _instantsearch_mainHelper;
18
+ if (instantsearch._hasSearchWidget) {
19
+ if (instantsearch.compositionID) {
20
+ var _instantsearch_mainHelper1;
21
+ (_instantsearch_mainHelper1 = instantsearch.mainHelper) === null || _instantsearch_mainHelper1 === void 0 ? void 0 : _instantsearch_mainHelper1.searchWithComposition();
22
+ } else {
23
+ var _instantsearch_mainHelper2;
24
+ (_instantsearch_mainHelper2 = instantsearch.mainHelper) === null || _instantsearch_mainHelper2 === void 0 ? void 0 : _instantsearch_mainHelper2.searchOnlyWithDerivedHelpers();
25
+ }
26
+ }
27
+ instantsearch._hasRecommendWidget && ((_instantsearch_mainHelper = instantsearch.mainHelper) === null || _instantsearch_mainHelper === void 0 ? void 0 : _instantsearch_mainHelper.recommend());
28
+ // If there are no widgets, we inject empty initial results instantly
29
+ if (!instantsearch._hasSearchWidget && !instantsearch._hasRecommendWidget) {
30
+ var options = {
31
+ inserted: false
32
+ };
33
+ insertHTML(createInsertHTML.createInsertHTML({
34
+ options: options,
35
+ results: {},
36
+ nonce: nonce
37
+ }));
38
+ }
43
39
  }
44
- }
45
- return null;
46
- }
40
+ return null;
41
+ }
42
+
43
+ exports.TriggerSearch = TriggerSearch;
@@ -1,26 +1,22 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createInsertHTML = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _htmlEscape = require("./htmlEscape");
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
- var createInsertHTML = exports.createInsertHTML = function createInsertHTML(_ref) {
11
- var options = _ref.options,
12
- results = _ref.results,
13
- nonce = _ref.nonce;
14
- return function () {
15
- if (options.inserted) {
16
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
17
- }
18
- options.inserted = true;
19
- return /*#__PURE__*/_react.default.createElement("script", {
20
- nonce: nonce,
21
- dangerouslySetInnerHTML: {
22
- __html: "window[Symbol.for(\"InstantSearchInitialResults\")] = ".concat((0, _htmlEscape.htmlEscapeJsonString)(JSON.stringify(results)))
23
- }
24
- });
25
- };
26
- };
3
+ var React = require('react');
4
+ var htmlEscape = require('./htmlEscape.js');
5
+
6
+ var createInsertHTML = function createInsertHTML(param) {
7
+ var options = param.options, results = param.results, nonce = param.nonce;
8
+ return function() {
9
+ if (options.inserted) {
10
+ return /*#__PURE__*/ React.createElement(React.Fragment, null);
11
+ }
12
+ options.inserted = true;
13
+ return /*#__PURE__*/ React.createElement("script", {
14
+ nonce: nonce,
15
+ dangerouslySetInnerHTML: {
16
+ __html: 'window[Symbol.for("InstantSearchInitialResults")] = '.concat(htmlEscape.htmlEscapeJsonString(JSON.stringify(results)))
17
+ }
18
+ });
19
+ };
20
+ };
21
+
22
+ exports.createInsertHTML = createInsertHTML;
@@ -1,26 +1,22 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ESCAPE_REGEX = void 0;
7
- exports.htmlEscapeJsonString = htmlEscapeJsonString;
8
3
  // This file was taken from the Next.js repo : https://github.com/vercel/next.js/blob/754fadacf30c145009506662bfbd2a4ccebb377d/packages/next/src/server/htmlescape.ts
9
4
  // License: https://github.com/vercel/next.js/blob/754fadacf30c145009506662bfbd2a4ccebb377d/license.md
10
-
11
5
  // This utility is based on https://github.com/zertosh/htmlescape
12
6
  // License: https://github.com/zertosh/htmlescape/blob/0527ca7156a524d256101bb310a9f970f63078ad/LICENSE
13
-
14
7
  var ESCAPE_LOOKUP = {
15
- '&': "\\u0026",
16
- '>': "\\u003e",
17
- '<': "\\u003c",
18
- "\u2028": "\\u2028",
19
- "\u2029": "\\u2029"
8
+ '&': '\\u0026',
9
+ '>': '\\u003e',
10
+ '<': '\\u003c',
11
+ '\u2028': '\\u2028',
12
+ '\u2029': '\\u2029'
20
13
  };
21
- var ESCAPE_REGEX = exports.ESCAPE_REGEX = /[&><\u2028\u2029]/g;
14
+ var ESCAPE_REGEX = /[&><\u2028\u2029]/g;
22
15
  function htmlEscapeJsonString(str) {
23
- return str.replace(ESCAPE_REGEX, function (match) {
24
- return ESCAPE_LOOKUP[match];
25
- });
26
- }
16
+ return str.replace(ESCAPE_REGEX, function(match) {
17
+ return ESCAPE_LOOKUP[match];
18
+ });
19
+ }
20
+
21
+ exports.ESCAPE_REGEX = ESCAPE_REGEX;
22
+ exports.htmlEscapeJsonString = htmlEscapeJsonString;
package/dist/cjs/index.js CHANGED
@@ -1,16 +1,8 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _InstantSearchNext = require("./InstantSearchNext");
7
- Object.keys(_InstantSearchNext).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _InstantSearchNext[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function get() {
13
- return _InstantSearchNext[key];
14
- }
15
- });
16
- });
3
+ var InstantSearchNext = require('./InstantSearchNext.js');
4
+
5
+
6
+
7
+ exports.InstantSearchNext = InstantSearchNext.InstantSearchNext;
8
+ exports.createInstantSearchNextInstance = InstantSearchNext.createInstantSearchNextInstance;
@@ -1 +1,4 @@
1
- { "type": "commonjs", "sideEffects": false }
1
+ {
2
+ "type": "commonjs",
3
+ "sideEffects": false
4
+ }
@@ -1,34 +1,20 @@
1
- "use strict";
2
- 'use client';
1
+ 'use strict';
2
+
3
+ var _sliced_to_array = require('@swc/helpers/_/_sliced_to_array');
4
+ var navigation = require('next/navigation');
3
5
 
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.useDynamicRouteWarning = useDynamicRouteWarning;
8
- var _navigation = require("next/navigation");
9
- var _warn = require("./warn");
10
- function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
11
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
12
- 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; } }
13
- 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; }
14
- 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; } }
15
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
16
6
  var lastParams = null;
17
- function useDynamicRouteWarning(_ref) {
18
- var isServer = _ref.isServer,
19
- isMounting = _ref.isMounting,
20
- instance = _ref.instance;
21
- var params = (0, _navigation.useParams)();
22
- if (!isServer && isMounting.current && !instance) {
23
- // Warn if lastParams and current params have the same keys but different values
24
- if (lastParams && Object.keys(lastParams).length === Object.keys(params).length && Object.entries(lastParams).some(function (_ref2) {
25
- var _ref3 = _slicedToArray(_ref2, 2),
26
- key = _ref3[0],
27
- value = _ref3[1];
28
- return params[key] !== value;
29
- })) {
30
- process.env.NODE_ENV === 'development' ? (0, _warn.warn)(false, "\nWe detected you may be using `<InstantSearchNext>` on a dynamic route.\n\nThis can lead to unexpected behavior, we recommend passing an `instance` prop to <InstantSearchNext>, created from the `createInstantSearchNextInstance` function.\n\nThis message can be safely ignored if you are not using dynamic routes.\n\nFor more information, see https://www.algolia.com/doc/guides/building-search-ui/going-further/server-side-rendering/react/#dynamic-routes\n") : void 0;
7
+ function useDynamicRouteWarning(param) {
8
+ var isServer = param.isServer, isMounting = param.isMounting, instance = param.instance;
9
+ var params = navigation.useParams();
10
+ if (!isServer && isMounting.current && !instance) {
11
+ // Warn if lastParams and current params have the same keys but different values
12
+ if (lastParams && Object.keys(lastParams).length === Object.keys(params).length && Object.entries(lastParams).some(function(param) {
13
+ var _param = _sliced_to_array._(param, 2), key = _param[0], value = _param[1];
14
+ return params[key] !== value;
15
+ })) ;
16
+ lastParams = params;
31
17
  }
32
- lastParams = params;
33
- }
34
- }
18
+ }
19
+
20
+ exports.useDynamicRouteWarning = useDynamicRouteWarning;