instantsearch.js 4.68.1 → 4.69.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.
- package/cjs/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.js +93 -0
- package/cjs/connectors/index.js +28 -0
- package/cjs/connectors/looking-similar/connectLookingSimilar.js +94 -0
- package/cjs/connectors/related-products/connectRelatedProducts.js +94 -0
- package/cjs/connectors/trending-items/connectTrendingItems.js +90 -0
- package/cjs/lib/InstantSearch.js +9 -1
- package/cjs/lib/utils/addWidgetId.js +13 -0
- package/cjs/lib/utils/render-args.js +3 -3
- package/cjs/lib/version.js +1 -1
- package/cjs/widgets/frequently-bought-together/frequently-bought-together.js +120 -0
- package/cjs/widgets/index/index.js +81 -19
- package/cjs/widgets/index.js +28 -0
- package/cjs/widgets/looking-similar/looking-similar.js +122 -0
- package/cjs/widgets/related-products/related-products.js +122 -0
- package/cjs/widgets/trending-items/trending-items.js +126 -0
- package/dist/instantsearch.development.d.ts +403 -10
- package/dist/instantsearch.development.js +1678 -273
- package/dist/instantsearch.development.js.map +1 -1
- package/dist/instantsearch.production.d.ts +403 -10
- package/dist/instantsearch.production.min.d.ts +403 -10
- package/dist/instantsearch.production.min.js +2 -2
- package/dist/instantsearch.production.min.js.map +1 -1
- package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.d.ts +45 -0
- package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.js +86 -0
- package/es/connectors/index.d.ts +4 -0
- package/es/connectors/index.js +5 -1
- package/es/connectors/looking-similar/connectLookingSimilar.d.ts +49 -0
- package/es/connectors/looking-similar/connectLookingSimilar.js +87 -0
- package/es/connectors/related-products/connectRelatedProducts.d.ts +49 -0
- package/es/connectors/related-products/connectRelatedProducts.js +87 -0
- package/es/connectors/trending-items/connectTrendingItems.d.ts +57 -0
- package/es/connectors/trending-items/connectTrendingItems.js +83 -0
- package/es/lib/InstantSearch.d.ts +2 -0
- package/es/lib/InstantSearch.js +9 -1
- package/es/lib/templating/renderTemplate.d.ts +1 -1
- package/es/lib/utils/addWidgetId.d.ts +2 -0
- package/es/lib/utils/addWidgetId.js +7 -0
- package/es/lib/utils/render-args.d.ts +3 -3
- package/es/lib/utils/render-args.js +3 -3
- package/es/lib/version.d.ts +1 -1
- package/es/lib/version.js +1 -1
- package/es/types/templates.d.ts +1 -1
- package/es/types/widget.d.ts +16 -9
- package/es/widgets/frequently-bought-together/frequently-bought-together.d.ts +41 -0
- package/es/widgets/frequently-bought-together/frequently-bought-together.js +112 -0
- package/es/widgets/index/index.d.ts +2 -1
- package/es/widgets/index/index.js +81 -19
- package/es/widgets/index.d.ts +4 -0
- package/es/widgets/index.js +5 -1
- package/es/widgets/looking-similar/looking-similar.d.ts +41 -0
- package/es/widgets/looking-similar/looking-similar.js +114 -0
- package/es/widgets/related-products/related-products.d.ts +41 -0
- package/es/widgets/related-products/related-products.js +114 -0
- package/es/widgets/trending-items/trending-items.d.ts +41 -0
- package/es/widgets/trending-items/trending-items.js +118 -0
- package/package.json +7 -7
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _utils = require("../../lib/utils");
|
|
8
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
9
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
10
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
11
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
12
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
13
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
14
|
+
var withUsage = (0, _utils.createDocumentationMessageGenerator)({
|
|
15
|
+
name: 'frequently-bought-together',
|
|
16
|
+
connector: true
|
|
17
|
+
});
|
|
18
|
+
var connectFrequentlyBoughtTogether = function connectFrequentlyBoughtTogether(renderFn) {
|
|
19
|
+
var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _utils.noop;
|
|
20
|
+
(0, _utils.checkRendering)(renderFn, withUsage());
|
|
21
|
+
return function (widgetParams) {
|
|
22
|
+
var _ref = widgetParams || {},
|
|
23
|
+
_ref$escapeHTML = _ref.escapeHTML,
|
|
24
|
+
escapeHTML = _ref$escapeHTML === void 0 ? true : _ref$escapeHTML,
|
|
25
|
+
_ref$transformItems = _ref.transformItems,
|
|
26
|
+
transformItems = _ref$transformItems === void 0 ? function (items) {
|
|
27
|
+
return items;
|
|
28
|
+
} : _ref$transformItems,
|
|
29
|
+
objectIDs = _ref.objectIDs,
|
|
30
|
+
limit = _ref.limit,
|
|
31
|
+
threshold = _ref.threshold,
|
|
32
|
+
queryParameters = _ref.queryParameters;
|
|
33
|
+
if (!objectIDs || objectIDs.length === 0) {
|
|
34
|
+
throw new Error(withUsage('The `objectIDs` option is required.'));
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
dependsOn: 'recommend',
|
|
38
|
+
$$type: 'ais.frequentlyBoughtTogether',
|
|
39
|
+
init: function init(initOptions) {
|
|
40
|
+
renderFn(_objectSpread(_objectSpread({}, this.getWidgetRenderState(initOptions)), {}, {
|
|
41
|
+
instantSearchInstance: initOptions.instantSearchInstance
|
|
42
|
+
}), true);
|
|
43
|
+
},
|
|
44
|
+
render: function render(renderOptions) {
|
|
45
|
+
var renderState = this.getWidgetRenderState(renderOptions);
|
|
46
|
+
renderFn(_objectSpread(_objectSpread({}, renderState), {}, {
|
|
47
|
+
instantSearchInstance: renderOptions.instantSearchInstance
|
|
48
|
+
}), false);
|
|
49
|
+
},
|
|
50
|
+
getRenderState: function getRenderState(renderState) {
|
|
51
|
+
return renderState;
|
|
52
|
+
},
|
|
53
|
+
getWidgetRenderState: function getWidgetRenderState(_ref2) {
|
|
54
|
+
var results = _ref2.results;
|
|
55
|
+
if (results === null || results === undefined) {
|
|
56
|
+
return {
|
|
57
|
+
items: [],
|
|
58
|
+
widgetParams: widgetParams
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
if (escapeHTML && results.hits.length > 0) {
|
|
62
|
+
results.hits = (0, _utils.escapeHits)(results.hits);
|
|
63
|
+
}
|
|
64
|
+
var transformedItems = transformItems(results.hits, {
|
|
65
|
+
results: results
|
|
66
|
+
});
|
|
67
|
+
return {
|
|
68
|
+
items: transformedItems,
|
|
69
|
+
widgetParams: widgetParams
|
|
70
|
+
};
|
|
71
|
+
},
|
|
72
|
+
dispose: function dispose(_ref3) {
|
|
73
|
+
var recommendState = _ref3.recommendState;
|
|
74
|
+
unmountFn();
|
|
75
|
+
return recommendState.removeParams(this.$$id);
|
|
76
|
+
},
|
|
77
|
+
getWidgetParameters: function getWidgetParameters(state) {
|
|
78
|
+
var _this = this;
|
|
79
|
+
return objectIDs.reduce(function (acc, objectID) {
|
|
80
|
+
return acc.addFrequentlyBoughtTogether({
|
|
81
|
+
objectID: objectID,
|
|
82
|
+
threshold: threshold,
|
|
83
|
+
maxRecommendations: limit,
|
|
84
|
+
queryParameters: _objectSpread(_objectSpread({}, queryParameters), escapeHTML ? _utils.TAG_PLACEHOLDER : {}),
|
|
85
|
+
$$id: _this.$$id
|
|
86
|
+
});
|
|
87
|
+
}, state.removeParams(this.$$id));
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
var _default = connectFrequentlyBoughtTogether;
|
|
93
|
+
exports.default = _default;
|
package/cjs/connectors/index.js
CHANGED
|
@@ -47,6 +47,12 @@ Object.defineProperty(exports, "connectDynamicWidgets", {
|
|
|
47
47
|
return _connectDynamicWidgets.default;
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
|
+
Object.defineProperty(exports, "connectFrequentlyBoughtTogether", {
|
|
51
|
+
enumerable: true,
|
|
52
|
+
get: function get() {
|
|
53
|
+
return _connectFrequentlyBoughtTogether.default;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
50
56
|
Object.defineProperty(exports, "connectGeoSearch", {
|
|
51
57
|
enumerable: true,
|
|
52
58
|
get: function get() {
|
|
@@ -89,6 +95,12 @@ Object.defineProperty(exports, "connectInfiniteHitsWithInsights", {
|
|
|
89
95
|
return _connectInfiniteHitsWithInsights.default;
|
|
90
96
|
}
|
|
91
97
|
});
|
|
98
|
+
Object.defineProperty(exports, "connectLookingSimilar", {
|
|
99
|
+
enumerable: true,
|
|
100
|
+
get: function get() {
|
|
101
|
+
return _connectLookingSimilar.default;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
92
104
|
Object.defineProperty(exports, "connectMenu", {
|
|
93
105
|
enumerable: true,
|
|
94
106
|
get: function get() {
|
|
@@ -137,6 +149,12 @@ Object.defineProperty(exports, "connectRefinementList", {
|
|
|
137
149
|
return _connectRefinementList.default;
|
|
138
150
|
}
|
|
139
151
|
});
|
|
152
|
+
Object.defineProperty(exports, "connectRelatedProducts", {
|
|
153
|
+
enumerable: true,
|
|
154
|
+
get: function get() {
|
|
155
|
+
return _connectRelatedProducts.default;
|
|
156
|
+
}
|
|
157
|
+
});
|
|
140
158
|
Object.defineProperty(exports, "connectRelevantSort", {
|
|
141
159
|
enumerable: true,
|
|
142
160
|
get: function get() {
|
|
@@ -167,6 +185,12 @@ Object.defineProperty(exports, "connectToggleRefinement", {
|
|
|
167
185
|
return _connectToggleRefinement.default;
|
|
168
186
|
}
|
|
169
187
|
});
|
|
188
|
+
Object.defineProperty(exports, "connectTrendingItems", {
|
|
189
|
+
enumerable: true,
|
|
190
|
+
get: function get() {
|
|
191
|
+
return _connectTrendingItems.default;
|
|
192
|
+
}
|
|
193
|
+
});
|
|
170
194
|
Object.defineProperty(exports, "connectVoiceSearch", {
|
|
171
195
|
enumerable: true,
|
|
172
196
|
get: function get() {
|
|
@@ -189,11 +213,13 @@ var _connectNumericMenu = _interopRequireDefault(require("./numeric-menu/connect
|
|
|
189
213
|
var _connectPagination = _interopRequireDefault(require("./pagination/connectPagination"));
|
|
190
214
|
var _connectRange = _interopRequireDefault(require("./range/connectRange"));
|
|
191
215
|
var _connectRefinementList = _interopRequireDefault(require("./refinement-list/connectRefinementList"));
|
|
216
|
+
var _connectRelatedProducts = _interopRequireDefault(require("./related-products/connectRelatedProducts"));
|
|
192
217
|
var _connectSearchBox = _interopRequireDefault(require("./search-box/connectSearchBox"));
|
|
193
218
|
var _connectSortBy = _interopRequireDefault(require("./sort-by/connectSortBy"));
|
|
194
219
|
var _connectRatingMenu = _interopRequireDefault(require("./rating-menu/connectRatingMenu"));
|
|
195
220
|
var _connectStats = _interopRequireDefault(require("./stats/connectStats"));
|
|
196
221
|
var _connectToggleRefinement = _interopRequireDefault(require("./toggle-refinement/connectToggleRefinement"));
|
|
222
|
+
var _connectTrendingItems = _interopRequireDefault(require("./trending-items/connectTrendingItems"));
|
|
197
223
|
var _connectBreadcrumb = _interopRequireDefault(require("./breadcrumb/connectBreadcrumb"));
|
|
198
224
|
var _connectGeoSearch = _interopRequireDefault(require("./geo-search/connectGeoSearch"));
|
|
199
225
|
var _connectPoweredBy = _interopRequireDefault(require("./powered-by/connectPoweredBy"));
|
|
@@ -203,6 +229,8 @@ var _connectAutocomplete = _interopRequireDefault(require("./autocomplete/connec
|
|
|
203
229
|
var _connectQueryRules = _interopRequireDefault(require("./query-rules/connectQueryRules"));
|
|
204
230
|
var _connectVoiceSearch = _interopRequireDefault(require("./voice-search/connectVoiceSearch"));
|
|
205
231
|
var _connectRelevantSort = _interopRequireDefault(require("./relevant-sort/connectRelevantSort"));
|
|
232
|
+
var _connectFrequentlyBoughtTogether = _interopRequireDefault(require("./frequently-bought-together/connectFrequentlyBoughtTogether"));
|
|
233
|
+
var _connectLookingSimilar = _interopRequireDefault(require("./looking-similar/connectLookingSimilar"));
|
|
206
234
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
207
235
|
/** @deprecated answers is no longer supported */
|
|
208
236
|
var EXPERIMENTAL_connectAnswers = (0, _utils.deprecate)(_connectAnswers.default, 'answers is no longer supported');
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _utils = require("../../lib/utils");
|
|
8
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
9
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
10
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
11
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
12
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
13
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
14
|
+
var withUsage = (0, _utils.createDocumentationMessageGenerator)({
|
|
15
|
+
name: 'looking-similar',
|
|
16
|
+
connector: true
|
|
17
|
+
});
|
|
18
|
+
var connectLookingSimilar = function connectLookingSimilar(renderFn) {
|
|
19
|
+
var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _utils.noop;
|
|
20
|
+
(0, _utils.checkRendering)(renderFn, withUsage());
|
|
21
|
+
return function LookingSimilar(widgetParams) {
|
|
22
|
+
var _ref = widgetParams || {},
|
|
23
|
+
_ref$escapeHTML = _ref.escapeHTML,
|
|
24
|
+
escapeHTML = _ref$escapeHTML === void 0 ? true : _ref$escapeHTML,
|
|
25
|
+
objectIDs = _ref.objectIDs,
|
|
26
|
+
limit = _ref.limit,
|
|
27
|
+
threshold = _ref.threshold,
|
|
28
|
+
fallbackParameters = _ref.fallbackParameters,
|
|
29
|
+
queryParameters = _ref.queryParameters,
|
|
30
|
+
_ref$transformItems = _ref.transformItems,
|
|
31
|
+
transformItems = _ref$transformItems === void 0 ? function (items) {
|
|
32
|
+
return items;
|
|
33
|
+
} : _ref$transformItems;
|
|
34
|
+
if (!objectIDs || objectIDs.length === 0) {
|
|
35
|
+
throw new Error(withUsage('The `objectIDs` option is required.'));
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
dependsOn: 'recommend',
|
|
39
|
+
$$type: 'ais.lookingSimilar',
|
|
40
|
+
init: function init(initOptions) {
|
|
41
|
+
renderFn(_objectSpread(_objectSpread({}, this.getWidgetRenderState(initOptions)), {}, {
|
|
42
|
+
instantSearchInstance: initOptions.instantSearchInstance
|
|
43
|
+
}), true);
|
|
44
|
+
},
|
|
45
|
+
render: function render(renderOptions) {
|
|
46
|
+
var renderState = this.getWidgetRenderState(renderOptions);
|
|
47
|
+
renderFn(_objectSpread(_objectSpread({}, renderState), {}, {
|
|
48
|
+
instantSearchInstance: renderOptions.instantSearchInstance
|
|
49
|
+
}), false);
|
|
50
|
+
},
|
|
51
|
+
getRenderState: function getRenderState(renderState) {
|
|
52
|
+
return renderState;
|
|
53
|
+
},
|
|
54
|
+
getWidgetRenderState: function getWidgetRenderState(_ref2) {
|
|
55
|
+
var results = _ref2.results;
|
|
56
|
+
if (results === null || results === undefined) {
|
|
57
|
+
return {
|
|
58
|
+
items: [],
|
|
59
|
+
widgetParams: widgetParams
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
if (escapeHTML && results.hits.length > 0) {
|
|
63
|
+
results.hits = (0, _utils.escapeHits)(results.hits);
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
items: transformItems(results.hits, {
|
|
67
|
+
results: results
|
|
68
|
+
}),
|
|
69
|
+
widgetParams: widgetParams
|
|
70
|
+
};
|
|
71
|
+
},
|
|
72
|
+
dispose: function dispose(_ref3) {
|
|
73
|
+
var recommendState = _ref3.recommendState;
|
|
74
|
+
unmountFn();
|
|
75
|
+
return recommendState.removeParams(this.$$id);
|
|
76
|
+
},
|
|
77
|
+
getWidgetParameters: function getWidgetParameters(state) {
|
|
78
|
+
var _this = this;
|
|
79
|
+
return objectIDs.reduce(function (acc, objectID) {
|
|
80
|
+
return acc.addLookingSimilar({
|
|
81
|
+
objectID: objectID,
|
|
82
|
+
maxRecommendations: limit,
|
|
83
|
+
threshold: threshold,
|
|
84
|
+
fallbackParameters: _objectSpread(_objectSpread({}, fallbackParameters), escapeHTML ? _utils.TAG_PLACEHOLDER : {}),
|
|
85
|
+
queryParameters: _objectSpread(_objectSpread({}, queryParameters), escapeHTML ? _utils.TAG_PLACEHOLDER : {}),
|
|
86
|
+
$$id: _this.$$id
|
|
87
|
+
});
|
|
88
|
+
}, state.removeParams(this.$$id));
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
var _default = connectLookingSimilar;
|
|
94
|
+
exports.default = _default;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _utils = require("../../lib/utils");
|
|
8
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
9
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
10
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
11
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
12
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
13
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
14
|
+
var withUsage = (0, _utils.createDocumentationMessageGenerator)({
|
|
15
|
+
name: 'related-products',
|
|
16
|
+
connector: true
|
|
17
|
+
});
|
|
18
|
+
var connectRelatedProducts = function connectRelatedProducts(renderFn) {
|
|
19
|
+
var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _utils.noop;
|
|
20
|
+
(0, _utils.checkRendering)(renderFn, withUsage());
|
|
21
|
+
return function relatedProducts(widgetParams) {
|
|
22
|
+
var _ref = widgetParams || {},
|
|
23
|
+
_ref$escapeHTML = _ref.escapeHTML,
|
|
24
|
+
escapeHTML = _ref$escapeHTML === void 0 ? true : _ref$escapeHTML,
|
|
25
|
+
objectIDs = _ref.objectIDs,
|
|
26
|
+
limit = _ref.limit,
|
|
27
|
+
threshold = _ref.threshold,
|
|
28
|
+
fallbackParameters = _ref.fallbackParameters,
|
|
29
|
+
queryParameters = _ref.queryParameters,
|
|
30
|
+
_ref$transformItems = _ref.transformItems,
|
|
31
|
+
transformItems = _ref$transformItems === void 0 ? function (items) {
|
|
32
|
+
return items;
|
|
33
|
+
} : _ref$transformItems;
|
|
34
|
+
if (!objectIDs || objectIDs.length === 0) {
|
|
35
|
+
throw new Error(withUsage('The `objectIDs` option is required.'));
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
dependsOn: 'recommend',
|
|
39
|
+
$$type: 'ais.relatedProducts',
|
|
40
|
+
init: function init(initOptions) {
|
|
41
|
+
renderFn(_objectSpread(_objectSpread({}, this.getWidgetRenderState(initOptions)), {}, {
|
|
42
|
+
instantSearchInstance: initOptions.instantSearchInstance
|
|
43
|
+
}), true);
|
|
44
|
+
},
|
|
45
|
+
render: function render(renderOptions) {
|
|
46
|
+
var renderState = this.getWidgetRenderState(renderOptions);
|
|
47
|
+
renderFn(_objectSpread(_objectSpread({}, renderState), {}, {
|
|
48
|
+
instantSearchInstance: renderOptions.instantSearchInstance
|
|
49
|
+
}), false);
|
|
50
|
+
},
|
|
51
|
+
getRenderState: function getRenderState(renderState) {
|
|
52
|
+
return renderState;
|
|
53
|
+
},
|
|
54
|
+
getWidgetRenderState: function getWidgetRenderState(_ref2) {
|
|
55
|
+
var results = _ref2.results;
|
|
56
|
+
if (results === null || results === undefined) {
|
|
57
|
+
return {
|
|
58
|
+
items: [],
|
|
59
|
+
widgetParams: widgetParams
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
if (escapeHTML && results.hits.length > 0) {
|
|
63
|
+
results.hits = (0, _utils.escapeHits)(results.hits);
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
items: transformItems(results.hits, {
|
|
67
|
+
results: results
|
|
68
|
+
}),
|
|
69
|
+
widgetParams: widgetParams
|
|
70
|
+
};
|
|
71
|
+
},
|
|
72
|
+
dispose: function dispose(_ref3) {
|
|
73
|
+
var recommendState = _ref3.recommendState;
|
|
74
|
+
unmountFn();
|
|
75
|
+
return recommendState.removeParams(this.$$id);
|
|
76
|
+
},
|
|
77
|
+
getWidgetParameters: function getWidgetParameters(state) {
|
|
78
|
+
var _this = this;
|
|
79
|
+
return objectIDs.reduce(function (acc, objectID) {
|
|
80
|
+
return acc.addRelatedProducts({
|
|
81
|
+
objectID: objectID,
|
|
82
|
+
maxRecommendations: limit,
|
|
83
|
+
threshold: threshold,
|
|
84
|
+
fallbackParameters: _objectSpread(_objectSpread({}, fallbackParameters), escapeHTML ? _utils.TAG_PLACEHOLDER : {}),
|
|
85
|
+
queryParameters: _objectSpread(_objectSpread({}, queryParameters), escapeHTML ? _utils.TAG_PLACEHOLDER : {}),
|
|
86
|
+
$$id: _this.$$id
|
|
87
|
+
});
|
|
88
|
+
}, state.removeParams(this.$$id));
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
var _default = connectRelatedProducts;
|
|
94
|
+
exports.default = _default;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _utils = require("../../lib/utils");
|
|
8
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
9
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
10
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
11
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
12
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
13
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
14
|
+
var withUsage = (0, _utils.createDocumentationMessageGenerator)({
|
|
15
|
+
name: 'trending-items',
|
|
16
|
+
connector: true
|
|
17
|
+
});
|
|
18
|
+
var connectTrendingItems = function connectTrendingItems(renderFn) {
|
|
19
|
+
var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _utils.noop;
|
|
20
|
+
(0, _utils.checkRendering)(renderFn, withUsage());
|
|
21
|
+
return function trendingItems(widgetParams) {
|
|
22
|
+
var _ref = widgetParams || {},
|
|
23
|
+
facetName = _ref.facetName,
|
|
24
|
+
facetValue = _ref.facetValue,
|
|
25
|
+
limit = _ref.limit,
|
|
26
|
+
threshold = _ref.threshold,
|
|
27
|
+
fallbackParameters = _ref.fallbackParameters,
|
|
28
|
+
queryParameters = _ref.queryParameters,
|
|
29
|
+
_ref$escapeHTML = _ref.escapeHTML,
|
|
30
|
+
escapeHTML = _ref$escapeHTML === void 0 ? true : _ref$escapeHTML,
|
|
31
|
+
_ref$transformItems = _ref.transformItems,
|
|
32
|
+
transformItems = _ref$transformItems === void 0 ? function (items) {
|
|
33
|
+
return items;
|
|
34
|
+
} : _ref$transformItems;
|
|
35
|
+
return {
|
|
36
|
+
dependsOn: 'recommend',
|
|
37
|
+
$$type: 'ais.trendingItems',
|
|
38
|
+
init: function init(initOptions) {
|
|
39
|
+
renderFn(_objectSpread(_objectSpread({}, this.getWidgetRenderState(initOptions)), {}, {
|
|
40
|
+
instantSearchInstance: initOptions.instantSearchInstance
|
|
41
|
+
}), true);
|
|
42
|
+
},
|
|
43
|
+
render: function render(renderOptions) {
|
|
44
|
+
var renderState = this.getWidgetRenderState(renderOptions);
|
|
45
|
+
renderFn(_objectSpread(_objectSpread({}, renderState), {}, {
|
|
46
|
+
instantSearchInstance: renderOptions.instantSearchInstance
|
|
47
|
+
}), false);
|
|
48
|
+
},
|
|
49
|
+
getRenderState: function getRenderState(renderState) {
|
|
50
|
+
return renderState;
|
|
51
|
+
},
|
|
52
|
+
getWidgetRenderState: function getWidgetRenderState(_ref2) {
|
|
53
|
+
var results = _ref2.results;
|
|
54
|
+
if (results === null || results === undefined) {
|
|
55
|
+
return {
|
|
56
|
+
items: [],
|
|
57
|
+
widgetParams: widgetParams
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
if (escapeHTML && results.hits.length > 0) {
|
|
61
|
+
results.hits = (0, _utils.escapeHits)(results.hits);
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
items: transformItems(results.hits, {
|
|
65
|
+
results: results
|
|
66
|
+
}),
|
|
67
|
+
widgetParams: widgetParams
|
|
68
|
+
};
|
|
69
|
+
},
|
|
70
|
+
dispose: function dispose(_ref3) {
|
|
71
|
+
var recommendState = _ref3.recommendState;
|
|
72
|
+
unmountFn();
|
|
73
|
+
return recommendState.removeParams(this.$$id);
|
|
74
|
+
},
|
|
75
|
+
getWidgetParameters: function getWidgetParameters(state) {
|
|
76
|
+
return state.removeParams(this.$$id).addTrendingItems({
|
|
77
|
+
facetName: facetName,
|
|
78
|
+
facetValue: facetValue,
|
|
79
|
+
maxRecommendations: limit,
|
|
80
|
+
threshold: threshold,
|
|
81
|
+
fallbackParameters: _objectSpread(_objectSpread({}, fallbackParameters), escapeHTML ? _utils.TAG_PLACEHOLDER : {}),
|
|
82
|
+
queryParameters: _objectSpread(_objectSpread({}, queryParameters), escapeHTML ? _utils.TAG_PLACEHOLDER : {}),
|
|
83
|
+
$$id: this.$$id
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
var _default = connectTrendingItems;
|
|
90
|
+
exports.default = _default;
|
package/cjs/lib/InstantSearch.js
CHANGED
|
@@ -82,6 +82,8 @@ var InstantSearch = /*#__PURE__*/function (_EventEmitter) {
|
|
|
82
82
|
_defineProperty(_assertThisInitialized(_this), "_createURL", void 0);
|
|
83
83
|
_defineProperty(_assertThisInitialized(_this), "_searchFunction", void 0);
|
|
84
84
|
_defineProperty(_assertThisInitialized(_this), "_mainHelperSearch", void 0);
|
|
85
|
+
_defineProperty(_assertThisInitialized(_this), "_hasSearchWidget", false);
|
|
86
|
+
_defineProperty(_assertThisInitialized(_this), "_hasRecommendWidget", false);
|
|
85
87
|
_defineProperty(_assertThisInitialized(_this), "_insights", void 0);
|
|
86
88
|
_defineProperty(_assertThisInitialized(_this), "middleware", []);
|
|
87
89
|
_defineProperty(_assertThisInitialized(_this), "sendEventToInsights", void 0);
|
|
@@ -392,7 +394,13 @@ var InstantSearch = /*#__PURE__*/function (_EventEmitter) {
|
|
|
392
394
|
// under the hood, we have a different implementation. It should be
|
|
393
395
|
// completely transparent for the rest of the codebase. Only this module
|
|
394
396
|
// is impacted.
|
|
395
|
-
|
|
397
|
+
if (_this3._hasSearchWidget) {
|
|
398
|
+
mainHelper.searchOnlyWithDerivedHelpers();
|
|
399
|
+
}
|
|
400
|
+
if (_this3._hasRecommendWidget) {
|
|
401
|
+
mainHelper.recommend();
|
|
402
|
+
}
|
|
403
|
+
return mainHelper;
|
|
396
404
|
};
|
|
397
405
|
if (this._searchFunction) {
|
|
398
406
|
// this client isn't used to actually search, but required for the helper
|
|
@@ -24,8 +24,8 @@ function createInitArgs(instantSearchInstance, parent, uiState) {
|
|
|
24
24
|
error: instantSearchInstance.error
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
function createRenderArgs(instantSearchInstance, parent) {
|
|
28
|
-
var results = parent.
|
|
27
|
+
function createRenderArgs(instantSearchInstance, parent, widget) {
|
|
28
|
+
var results = parent.getResultsForWidget(widget);
|
|
29
29
|
var helper = parent.getHelper();
|
|
30
30
|
return {
|
|
31
31
|
helper: helper,
|
|
@@ -33,7 +33,7 @@ function createRenderArgs(instantSearchInstance, parent) {
|
|
|
33
33
|
instantSearchInstance: instantSearchInstance,
|
|
34
34
|
results: results,
|
|
35
35
|
scopedResults: parent.getScopedResults(),
|
|
36
|
-
state: results ? results._state : helper.state,
|
|
36
|
+
state: results && '_state' in results ? results._state : helper.state,
|
|
37
37
|
renderState: instantSearchInstance.renderState,
|
|
38
38
|
templatesConfig: instantSearchInstance.templatesConfig,
|
|
39
39
|
createURL: parent.createURL,
|
package/cjs/lib/version.js
CHANGED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _instantsearchUiComponents = require("instantsearch-ui-components");
|
|
9
|
+
var _preact = require("preact");
|
|
10
|
+
var _Template = _interopRequireDefault(require("../../components/Template/Template"));
|
|
11
|
+
var _connectFrequentlyBoughtTogether = _interopRequireDefault(require("../../connectors/frequently-bought-together/connectFrequentlyBoughtTogether"));
|
|
12
|
+
var _templating = require("../../lib/templating");
|
|
13
|
+
var _utils = require("../../lib/utils");
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
16
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
17
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
18
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
19
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
20
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
21
|
+
var withUsage = (0, _utils.createDocumentationMessageGenerator)({
|
|
22
|
+
name: 'frequently-bought-together'
|
|
23
|
+
});
|
|
24
|
+
var FrequentlyBoughtTogether = (0, _instantsearchUiComponents.createFrequentlyBoughtTogetherComponent)({
|
|
25
|
+
createElement: _preact.h,
|
|
26
|
+
Fragment: _preact.Fragment
|
|
27
|
+
});
|
|
28
|
+
var renderer = function renderer(_ref) {
|
|
29
|
+
var renderState = _ref.renderState,
|
|
30
|
+
cssClasses = _ref.cssClasses,
|
|
31
|
+
containerNode = _ref.containerNode,
|
|
32
|
+
templates = _ref.templates;
|
|
33
|
+
return function (_ref2, isFirstRendering) {
|
|
34
|
+
var items = _ref2.items,
|
|
35
|
+
results = _ref2.results,
|
|
36
|
+
instantSearchInstance = _ref2.instantSearchInstance;
|
|
37
|
+
if (isFirstRendering) {
|
|
38
|
+
renderState.templateProps = (0, _templating.prepareTemplateProps)({
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
40
|
+
defaultTemplates: {},
|
|
41
|
+
templatesConfig: instantSearchInstance.templatesConfig,
|
|
42
|
+
templates: templates
|
|
43
|
+
});
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
var headerComponent = templates.header ? function (data) {
|
|
47
|
+
return (0, _preact.h)(_Template.default, _extends({}, renderState.templateProps, {
|
|
48
|
+
templateKey: "header",
|
|
49
|
+
rootTagName: "fragment",
|
|
50
|
+
data: {
|
|
51
|
+
cssClasses: data.classNames,
|
|
52
|
+
items: data.items
|
|
53
|
+
}
|
|
54
|
+
}));
|
|
55
|
+
} : undefined;
|
|
56
|
+
var itemComponent = templates.item ? function (_ref3) {
|
|
57
|
+
var item = _ref3.item;
|
|
58
|
+
return (0, _preact.h)(_Template.default, _extends({}, renderState.templateProps, {
|
|
59
|
+
templateKey: "item",
|
|
60
|
+
rootTagName: "fragment",
|
|
61
|
+
data: item
|
|
62
|
+
}));
|
|
63
|
+
} : undefined;
|
|
64
|
+
var emptyComponent = templates.empty ? function () {
|
|
65
|
+
return (0, _preact.h)(_Template.default, _extends({}, renderState.templateProps, {
|
|
66
|
+
templateKey: "empty",
|
|
67
|
+
rootTagName: "fragment",
|
|
68
|
+
data: results
|
|
69
|
+
}));
|
|
70
|
+
} : undefined;
|
|
71
|
+
(0, _preact.render)((0, _preact.h)(FrequentlyBoughtTogether, {
|
|
72
|
+
items: items,
|
|
73
|
+
headerComponent: headerComponent,
|
|
74
|
+
itemComponent: itemComponent,
|
|
75
|
+
sendEvent: function sendEvent() {},
|
|
76
|
+
classNames: cssClasses,
|
|
77
|
+
emptyComponent: emptyComponent,
|
|
78
|
+
status: instantSearchInstance.status
|
|
79
|
+
}), containerNode);
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
var frequentlyBoughtTogether = function frequentlyBoughtTogether(widgetParams) {
|
|
83
|
+
var _ref4 = widgetParams || {},
|
|
84
|
+
container = _ref4.container,
|
|
85
|
+
objectIDs = _ref4.objectIDs,
|
|
86
|
+
limit = _ref4.limit,
|
|
87
|
+
queryParameters = _ref4.queryParameters,
|
|
88
|
+
threshold = _ref4.threshold,
|
|
89
|
+
escapeHTML = _ref4.escapeHTML,
|
|
90
|
+
transformItems = _ref4.transformItems,
|
|
91
|
+
_ref4$templates = _ref4.templates,
|
|
92
|
+
templates = _ref4$templates === void 0 ? {} : _ref4$templates,
|
|
93
|
+
_ref4$cssClasses = _ref4.cssClasses,
|
|
94
|
+
cssClasses = _ref4$cssClasses === void 0 ? {} : _ref4$cssClasses;
|
|
95
|
+
if (!container) {
|
|
96
|
+
throw new Error(withUsage('The `container` option is required.'));
|
|
97
|
+
}
|
|
98
|
+
var containerNode = (0, _utils.getContainerNode)(container);
|
|
99
|
+
var specializedRenderer = renderer({
|
|
100
|
+
containerNode: containerNode,
|
|
101
|
+
cssClasses: cssClasses,
|
|
102
|
+
renderState: {},
|
|
103
|
+
templates: templates
|
|
104
|
+
});
|
|
105
|
+
var makeWidget = (0, _connectFrequentlyBoughtTogether.default)(specializedRenderer, function () {
|
|
106
|
+
return (0, _preact.render)(null, containerNode);
|
|
107
|
+
});
|
|
108
|
+
return _objectSpread(_objectSpread({}, makeWidget({
|
|
109
|
+
objectIDs: objectIDs,
|
|
110
|
+
limit: limit,
|
|
111
|
+
queryParameters: queryParameters,
|
|
112
|
+
threshold: threshold,
|
|
113
|
+
escapeHTML: escapeHTML,
|
|
114
|
+
transformItems: transformItems
|
|
115
|
+
})), {}, {
|
|
116
|
+
$$widgetType: 'ais.frequentlyBoughtTogether'
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
var _default = frequentlyBoughtTogether;
|
|
120
|
+
exports.default = _default;
|