react-instantsearch-nextjs 1.0.16 → 1.1.1
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.
- package/dist/cjs/InitializePromise.js +92 -91
- package/dist/cjs/InstantSearchNext.js +82 -75
- package/dist/cjs/TriggerSearch.js +42 -39
- package/dist/cjs/createInsertHTML.js +25 -22
- package/dist/cjs/htmlEscape.js +26 -16
- package/dist/cjs/index.js +4 -13
- package/dist/cjs/package.json +4 -1
- package/dist/cjs/useDynamicRouteWarning.js +22 -27
- package/dist/cjs/useInstantSearchRouting.js +63 -59
- package/dist/cjs/useNextHeaders.js +19 -18
- package/dist/cjs/warn.js +22 -35
- package/dist/es/InitializePromise.js +89 -90
- package/dist/es/InstantSearchNext.js +74 -75
- package/dist/es/TriggerSearch.js +37 -36
- package/dist/es/createInsertHTML.js +19 -18
- package/dist/es/htmlEscape.js +13 -13
- package/dist/es/index.js +1 -1
- package/dist/es/package.json +4 -0
- package/dist/es/useDynamicRouteWarning.js +15 -26
- package/dist/es/useInstantSearchRouting.js +60 -58
- package/dist/es/useNextHeaders.d.ts +9 -2
- package/dist/es/useNextHeaders.js +14 -15
- package/dist/es/warn.js +9 -29
- package/package.json +9 -9
|
@@ -1,101 +1,102 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
4
|
+
value: true
|
|
5
5
|
});
|
|
6
|
-
exports
|
|
6
|
+
Object.defineProperty(exports, "InitializePromise", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function() {
|
|
9
|
+
return InitializePromise;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _object_spread = require("@swc/helpers/_/_object_spread");
|
|
13
|
+
var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
|
|
7
14
|
var _server = require("instantsearch.js/cjs/lib/server");
|
|
8
15
|
var _utils = require("instantsearch.js/cjs/lib/utils");
|
|
9
16
|
var _navigation = require("next/navigation");
|
|
10
17
|
var _react = require("react");
|
|
11
|
-
var
|
|
18
|
+
var _reactinstantsearchcore = require("react-instantsearch-core");
|
|
12
19
|
var _createInsertHTML = require("./createInsertHTML");
|
|
13
|
-
function
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
};
|
|
27
|
-
|
|
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
|
|
20
|
+
function InitializePromise(param) {
|
|
21
|
+
var nonce = param.nonce;
|
|
22
|
+
var search = (0, _reactinstantsearchcore.useInstantSearchContext)();
|
|
23
|
+
var waitForResultsRef = (0, _reactinstantsearchcore.useRSCContext)().waitForResultsRef;
|
|
24
|
+
var insertHTML = (0, _react.useContext)(_navigation.ServerInsertedHTMLContext) || function() {
|
|
25
|
+
throw new Error('Missing ServerInsertedHTMLContext');
|
|
71
26
|
};
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
27
|
+
// Extract search parameters from the search client to use them
|
|
28
|
+
// later during hydration.
|
|
29
|
+
var requestParamsList;
|
|
30
|
+
if (search.compositionID) {
|
|
31
|
+
search.mainHelper.setClient(_object_spread_props._(_object_spread._({}, search.mainHelper.getClient()), {
|
|
32
|
+
search: function search1(query) {
|
|
33
|
+
requestParamsList = [
|
|
34
|
+
query.requestBody.params
|
|
35
|
+
];
|
|
36
|
+
return search.client.search(query);
|
|
37
|
+
}
|
|
38
|
+
}));
|
|
39
|
+
} else {
|
|
40
|
+
search.mainHelper.setClient(_object_spread_props._(_object_spread._({}, search.mainHelper.getClient()), {
|
|
41
|
+
search: function search1(queries) {
|
|
42
|
+
requestParamsList = queries.map(function(param) {
|
|
43
|
+
var params = param.params;
|
|
44
|
+
return params;
|
|
45
|
+
});
|
|
46
|
+
return search.client.search(queries);
|
|
47
|
+
}
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
(0, _utils.resetWidgetId)();
|
|
51
|
+
var waitForResults = function waitForResults() {
|
|
52
|
+
return new Promise(function(resolve) {
|
|
53
|
+
var searchReceived = false;
|
|
54
|
+
var recommendReceived = false;
|
|
55
|
+
search.mainHelper.derivedHelpers[0].once('result', function() {
|
|
56
|
+
searchReceived = true;
|
|
57
|
+
if (!search._hasRecommendWidget || recommendReceived) {
|
|
58
|
+
resolve();
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
search.mainHelper.derivedHelpers[0].once('recommend:result', function() {
|
|
62
|
+
recommendReceived = true;
|
|
63
|
+
if (!search._hasSearchWidget || searchReceived) {
|
|
64
|
+
resolve();
|
|
65
|
+
}
|
|
66
|
+
});
|
|
85
67
|
});
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
var
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
68
|
+
};
|
|
69
|
+
var injectInitialResults = function injectInitialResults() {
|
|
70
|
+
var options = {
|
|
71
|
+
inserted: false
|
|
72
|
+
};
|
|
73
|
+
var results = (0, _server.getInitialResults)(search.mainIndex, requestParamsList);
|
|
74
|
+
insertHTML((0, _createInsertHTML.createInsertHTML)({
|
|
75
|
+
options: options,
|
|
76
|
+
results: results,
|
|
77
|
+
nonce: nonce
|
|
78
|
+
}));
|
|
79
|
+
};
|
|
80
|
+
if ((waitForResultsRef === null || waitForResultsRef === void 0 ? void 0 : waitForResultsRef.current) === null) {
|
|
81
|
+
waitForResultsRef.current = (0, _reactinstantsearchcore.wrapPromiseWithState)(waitForResults().then(function() {
|
|
82
|
+
var shouldRefetch = false;
|
|
83
|
+
(0, _utils.walkIndex)(search.mainIndex, function(index) {
|
|
84
|
+
shouldRefetch = index.getWidgets().some(function(widget) {
|
|
85
|
+
return widget.$$type === 'ais.dynamicWidgets';
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
if (shouldRefetch) {
|
|
89
|
+
var _search__resetScheduleSearch;
|
|
90
|
+
(_search__resetScheduleSearch = search._resetScheduleSearch) === null || _search__resetScheduleSearch === void 0 ? void 0 : _search__resetScheduleSearch.call(search);
|
|
91
|
+
waitForResultsRef.current = (0, _reactinstantsearchcore.wrapPromiseWithState)(waitForResults().then(injectInitialResults));
|
|
92
|
+
}
|
|
93
|
+
return shouldRefetch;
|
|
94
|
+
}).then(function(shouldRefetch) {
|
|
95
|
+
if (shouldRefetch) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
injectInitialResults();
|
|
99
|
+
}));
|
|
100
|
+
}
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
@@ -1,88 +1,95 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
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
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
|
|
4
|
+
value: true
|
|
6
5
|
});
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
function _export(target, all) {
|
|
7
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
13
|
+
get InstantSearchNext () {
|
|
14
|
+
return InstantSearchNext;
|
|
15
|
+
},
|
|
16
|
+
get createInstantSearchNextInstance () {
|
|
17
|
+
return createInstantSearchNextInstance;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
var _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
21
|
+
var _object_spread = require("@swc/helpers/_/_object_spread");
|
|
22
|
+
var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
|
|
23
|
+
var _object_without_properties = require("@swc/helpers/_/_object_without_properties");
|
|
9
24
|
var _utils = require("instantsearch.js/cjs/lib/utils");
|
|
10
|
-
var _react =
|
|
11
|
-
var
|
|
25
|
+
var _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
|
26
|
+
var _reactinstantsearchcore = require("react-instantsearch-core");
|
|
12
27
|
var _InitializePromise = require("./InitializePromise");
|
|
13
28
|
var _TriggerSearch = require("./TriggerSearch");
|
|
14
29
|
var _useDynamicRouteWarning = require("./useDynamicRouteWarning");
|
|
15
30
|
var _useInstantSearchRouting = require("./useInstantSearchRouting");
|
|
16
31
|
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
32
|
var InstantSearchInitialResults = Symbol.for('InstantSearchInitialResults');
|
|
23
33
|
function createInstantSearchNextInstance() {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
34
|
+
return {
|
|
35
|
+
current: null
|
|
36
|
+
};
|
|
27
37
|
}
|
|
28
|
-
function InstantSearchNext(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
38
|
+
function InstantSearchNext(_0) {
|
|
39
|
+
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, [
|
|
40
|
+
"children",
|
|
41
|
+
"routing",
|
|
42
|
+
"instance",
|
|
43
|
+
"ignoreMultipleHooksWarning"
|
|
44
|
+
]);
|
|
45
|
+
var isMounting = (0, _react.useRef)(true);
|
|
46
|
+
var isServer = typeof window === 'undefined';
|
|
47
|
+
(0, _react.useEffect)(function() {
|
|
48
|
+
isMounting.current = false;
|
|
49
|
+
}, []);
|
|
50
|
+
var headers = (0, _useNextHeaders.useNextHeaders)();
|
|
51
|
+
var nonce = (0, _utils.safelyRunOnBrowser)(function() {
|
|
52
|
+
return undefined;
|
|
53
|
+
}, {
|
|
54
|
+
fallback: function fallback() {
|
|
55
|
+
return (headers === null || headers === void 0 ? void 0 : headers.get('x-nonce')) || undefined;
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
(0, _useDynamicRouteWarning.useDynamicRouteWarning)({
|
|
59
|
+
isServer: isServer,
|
|
60
|
+
isMounting: isMounting,
|
|
61
|
+
instance: instance
|
|
62
|
+
});
|
|
63
|
+
var routing = (0, _useInstantSearchRouting.useInstantSearchRouting)(passedRouting, isMounting);
|
|
64
|
+
return /*#__PURE__*/ _react.default.createElement(ServerOrHydrationProvider, {
|
|
65
|
+
isServer: isServer,
|
|
66
|
+
instance: instance,
|
|
67
|
+
ignoreMultipleHooksWarning: ignoreMultipleHooksWarning
|
|
68
|
+
}, /*#__PURE__*/ _react.default.createElement(_reactinstantsearchcore.InstantSearch, _object_spread_props._(_object_spread._({}, instantSearchProps), {
|
|
69
|
+
routing: routing
|
|
70
|
+
}), isServer && /*#__PURE__*/ _react.default.createElement(_InitializePromise.InitializePromise, {
|
|
71
|
+
nonce: nonce
|
|
72
|
+
}), children, isServer && /*#__PURE__*/ _react.default.createElement(_TriggerSearch.TriggerSearch, {
|
|
73
|
+
nonce: nonce
|
|
74
|
+
})));
|
|
75
|
+
}
|
|
76
|
+
function ServerOrHydrationProvider(param) {
|
|
77
|
+
var isServer = param.isServer, children = param.children, instance = param.instance, ignoreMultipleHooksWarning = param.ignoreMultipleHooksWarning;
|
|
78
|
+
var promiseRef = (0, _react.useRef)(null);
|
|
79
|
+
var countRef = (0, _react.useRef)(0);
|
|
80
|
+
var initialResults = (0, _utils.safelyRunOnBrowser)(function() {
|
|
81
|
+
return window[InstantSearchInitialResults];
|
|
82
|
+
});
|
|
83
|
+
return /*#__PURE__*/ _react.default.createElement(_reactinstantsearchcore.InstantSearchRSCContext.Provider, {
|
|
84
|
+
value: {
|
|
85
|
+
waitForResultsRef: promiseRef,
|
|
86
|
+
countRef: countRef,
|
|
87
|
+
ignoreMultipleHooksWarning: ignoreMultipleHooksWarning
|
|
88
|
+
}
|
|
89
|
+
}, /*#__PURE__*/ _react.default.createElement(_reactinstantsearchcore.InstantSearchSSRContext.Provider, {
|
|
90
|
+
value: {
|
|
91
|
+
initialResults: initialResults,
|
|
92
|
+
ssrSearchRef: isServer ? undefined : instance
|
|
93
|
+
}
|
|
94
|
+
}, children));
|
|
65
95
|
}
|
|
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
|
-
}
|
|
@@ -1,46 +1,49 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "TriggerSearch", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function() {
|
|
9
|
+
return TriggerSearch;
|
|
10
|
+
}
|
|
5
11
|
});
|
|
6
|
-
exports.TriggerSearch = TriggerSearch;
|
|
7
12
|
var _navigation = require("next/navigation");
|
|
8
13
|
var _react = require("react");
|
|
9
|
-
var
|
|
14
|
+
var _reactinstantsearchcore = require("react-instantsearch-core");
|
|
10
15
|
var _createInsertHTML = require("./createInsertHTML");
|
|
11
|
-
function TriggerSearch(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}));
|
|
16
|
+
function TriggerSearch(param) {
|
|
17
|
+
var nonce = param.nonce;
|
|
18
|
+
var _waitForResultsRef_current;
|
|
19
|
+
var instantsearch = (0, _reactinstantsearchcore.useInstantSearchContext)();
|
|
20
|
+
var waitForResultsRef = (0, _reactinstantsearchcore.useRSCContext)().waitForResultsRef;
|
|
21
|
+
var insertHTML = (0, _react.useContext)(_navigation.ServerInsertedHTMLContext) || function() {
|
|
22
|
+
throw new Error('Missing ServerInsertedHTMLContext');
|
|
23
|
+
};
|
|
24
|
+
if ((waitForResultsRef === null || waitForResultsRef === void 0 ? void 0 : (_waitForResultsRef_current = waitForResultsRef.current) === null || _waitForResultsRef_current === void 0 ? void 0 : _waitForResultsRef_current.status) === 'pending') {
|
|
25
|
+
var _instantsearch_mainHelper;
|
|
26
|
+
if (instantsearch._hasSearchWidget) {
|
|
27
|
+
if (instantsearch.compositionID) {
|
|
28
|
+
var _instantsearch_mainHelper1;
|
|
29
|
+
(_instantsearch_mainHelper1 = instantsearch.mainHelper) === null || _instantsearch_mainHelper1 === void 0 ? void 0 : _instantsearch_mainHelper1.searchWithComposition();
|
|
30
|
+
} else {
|
|
31
|
+
var _instantsearch_mainHelper2;
|
|
32
|
+
(_instantsearch_mainHelper2 = instantsearch.mainHelper) === null || _instantsearch_mainHelper2 === void 0 ? void 0 : _instantsearch_mainHelper2.searchOnlyWithDerivedHelpers();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
instantsearch._hasRecommendWidget && ((_instantsearch_mainHelper = instantsearch.mainHelper) === null || _instantsearch_mainHelper === void 0 ? void 0 : _instantsearch_mainHelper.recommend());
|
|
36
|
+
// If there are no widgets, we inject empty initial results instantly
|
|
37
|
+
if (!instantsearch._hasSearchWidget && !instantsearch._hasRecommendWidget) {
|
|
38
|
+
var options = {
|
|
39
|
+
inserted: false
|
|
40
|
+
};
|
|
41
|
+
insertHTML((0, _createInsertHTML.createInsertHTML)({
|
|
42
|
+
options: options,
|
|
43
|
+
results: {},
|
|
44
|
+
nonce: nonce
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
43
47
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
@@ -1,26 +1,29 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
4
|
+
value: true
|
|
5
5
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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);
|
|
6
|
+
Object.defineProperty(exports, "createInsertHTML", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function() {
|
|
9
|
+
return createInsertHTML;
|
|
17
10
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
11
|
+
});
|
|
12
|
+
var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
13
|
+
var _react = /*#__PURE__*/ _interop_require_default._(require("react"));
|
|
14
|
+
var _htmlEscape = require("./htmlEscape");
|
|
15
|
+
var createInsertHTML = function createInsertHTML(param) {
|
|
16
|
+
var options = param.options, results = param.results, nonce = param.nonce;
|
|
17
|
+
return function() {
|
|
18
|
+
if (options.inserted) {
|
|
19
|
+
return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null);
|
|
20
|
+
}
|
|
21
|
+
options.inserted = true;
|
|
22
|
+
return /*#__PURE__*/ _react.default.createElement("script", {
|
|
23
|
+
nonce: nonce,
|
|
24
|
+
dangerouslySetInnerHTML: {
|
|
25
|
+
__html: 'window[Symbol.for("InstantSearchInitialResults")] = '.concat((0, _htmlEscape.htmlEscapeJsonString)(JSON.stringify(results)))
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
};
|
package/dist/cjs/htmlEscape.js
CHANGED
|
@@ -1,26 +1,36 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
function _export(target, all) {
|
|
7
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
13
|
+
get ESCAPE_REGEX () {
|
|
14
|
+
return ESCAPE_REGEX;
|
|
15
|
+
},
|
|
16
|
+
get htmlEscapeJsonString () {
|
|
17
|
+
return htmlEscapeJsonString;
|
|
18
|
+
}
|
|
5
19
|
});
|
|
6
|
-
exports.ESCAPE_REGEX = void 0;
|
|
7
|
-
exports.htmlEscapeJsonString = htmlEscapeJsonString;
|
|
8
20
|
// This file was taken from the Next.js repo : https://github.com/vercel/next.js/blob/754fadacf30c145009506662bfbd2a4ccebb377d/packages/next/src/server/htmlescape.ts
|
|
9
21
|
// License: https://github.com/vercel/next.js/blob/754fadacf30c145009506662bfbd2a4ccebb377d/license.md
|
|
10
|
-
|
|
11
22
|
// This utility is based on https://github.com/zertosh/htmlescape
|
|
12
23
|
// License: https://github.com/zertosh/htmlescape/blob/0527ca7156a524d256101bb310a9f970f63078ad/LICENSE
|
|
13
|
-
|
|
14
24
|
var ESCAPE_LOOKUP = {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
25
|
+
'&': '\\u0026',
|
|
26
|
+
'>': '\\u003e',
|
|
27
|
+
'<': '\\u003c',
|
|
28
|
+
'\u2028': '\\u2028',
|
|
29
|
+
'\u2029': '\\u2029'
|
|
20
30
|
};
|
|
21
|
-
var ESCAPE_REGEX =
|
|
31
|
+
var ESCAPE_REGEX = /[&><\u2028\u2029]/g;
|
|
22
32
|
function htmlEscapeJsonString(str) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
33
|
+
return str.replace(ESCAPE_REGEX, function(match) {
|
|
34
|
+
return ESCAPE_LOOKUP[match];
|
|
35
|
+
});
|
|
36
|
+
}
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
|
|
4
|
+
value: true
|
|
5
5
|
});
|
|
6
|
-
var
|
|
7
|
-
|
|
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
|
-
});
|
|
6
|
+
var _export_star = require("@swc/helpers/_/_export_star");
|
|
7
|
+
_export_star._(require("./InstantSearchNext"), exports);
|
package/dist/cjs/package.json
CHANGED