instantsearch-ui-components 0.4.0 → 0.6.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/dist/cjs/components/FrequentlyBoughtTogether.js +78 -0
- package/dist/cjs/components/Hits.js +41 -8
- package/dist/cjs/components/LookingSimilar.js +78 -0
- package/dist/cjs/components/RelatedProducts.js +78 -0
- package/dist/cjs/components/TrendingItems.js +78 -0
- package/dist/cjs/components/index.js +44 -0
- package/dist/cjs/components/recommend-shared/DefaultEmpty.js +14 -0
- package/dist/cjs/components/recommend-shared/DefaultHeader.js +24 -0
- package/dist/cjs/components/recommend-shared/DefaultItem.js +13 -0
- package/dist/cjs/components/recommend-shared/ListView.js +30 -0
- package/dist/cjs/components/recommend-shared/index.js +49 -0
- package/dist/cjs/types/Recommend.js +1 -0
- package/dist/cjs/types/index.js +22 -0
- package/dist/cjs/types/shared.js +1 -0
- package/dist/cjs/version.js +1 -1
- package/dist/es/components/FrequentlyBoughtTogether.d.ts +4 -0
- package/dist/es/components/FrequentlyBoughtTogether.js +71 -0
- package/dist/es/components/Hits.d.ts +31 -3
- package/dist/es/components/Hits.js +41 -8
- package/dist/es/components/LookingSimilar.d.ts +4 -0
- package/dist/es/components/LookingSimilar.js +71 -0
- package/dist/es/components/RelatedProducts.d.ts +4 -0
- package/dist/es/components/RelatedProducts.js +71 -0
- package/dist/es/components/TrendingItems.d.ts +4 -0
- package/dist/es/components/TrendingItems.js +71 -0
- package/dist/es/components/index.d.ts +4 -0
- package/dist/es/components/index.js +5 -1
- package/dist/es/components/recommend-shared/DefaultEmpty.d.ts +3 -0
- package/dist/es/components/recommend-shared/DefaultEmpty.js +8 -0
- package/dist/es/components/recommend-shared/DefaultHeader.d.ts +3 -0
- package/dist/es/components/recommend-shared/DefaultHeader.js +18 -0
- package/dist/es/components/recommend-shared/DefaultItem.d.ts +3 -0
- package/dist/es/components/recommend-shared/DefaultItem.js +7 -0
- package/dist/es/components/recommend-shared/ListView.d.ts +3 -0
- package/dist/es/components/recommend-shared/ListView.js +24 -0
- package/dist/es/components/recommend-shared/index.d.ts +4 -0
- package/dist/es/components/recommend-shared/index.js +4 -0
- package/dist/es/types/Recommend.d.ts +71 -0
- package/dist/es/types/Recommend.js +1 -0
- package/dist/es/types/index.d.ts +2 -0
- package/dist/es/types/index.js +3 -1
- package/dist/es/types/shared.d.ts +1 -0
- package/dist/es/types/shared.js +1 -0
- package/dist/es/version.d.ts +1 -1
- package/dist/es/version.js +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createFrequentlyBoughtTogetherComponent = createFrequentlyBoughtTogetherComponent;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _lib = require("../lib");
|
|
12
|
+
var _recommendShared = require("./recommend-shared");
|
|
13
|
+
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "view", "items", "status", "translations", "sendEvent"];
|
|
14
|
+
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; }
|
|
15
|
+
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) { (0, _defineProperty2.default)(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; }
|
|
16
|
+
function createFrequentlyBoughtTogetherComponent(_ref) {
|
|
17
|
+
var createElement = _ref.createElement,
|
|
18
|
+
Fragment = _ref.Fragment;
|
|
19
|
+
return function FrequentlyBoughtTogether(userProps) {
|
|
20
|
+
var _userProps$classNames = userProps.classNames,
|
|
21
|
+
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
|
|
22
|
+
_userProps$emptyCompo = userProps.emptyComponent,
|
|
23
|
+
EmptyComponent = _userProps$emptyCompo === void 0 ? (0, _recommendShared.createDefaultEmptyComponent)({
|
|
24
|
+
createElement: createElement,
|
|
25
|
+
Fragment: Fragment
|
|
26
|
+
}) : _userProps$emptyCompo,
|
|
27
|
+
_userProps$headerComp = userProps.headerComponent,
|
|
28
|
+
HeaderComponent = _userProps$headerComp === void 0 ? (0, _recommendShared.createDefaultHeaderComponent)({
|
|
29
|
+
createElement: createElement,
|
|
30
|
+
Fragment: Fragment
|
|
31
|
+
}) : _userProps$headerComp,
|
|
32
|
+
_userProps$itemCompon = userProps.itemComponent,
|
|
33
|
+
ItemComponent = _userProps$itemCompon === void 0 ? (0, _recommendShared.createDefaultItemComponent)({
|
|
34
|
+
createElement: createElement,
|
|
35
|
+
Fragment: Fragment
|
|
36
|
+
}) : _userProps$itemCompon,
|
|
37
|
+
_userProps$view = userProps.view,
|
|
38
|
+
View = _userProps$view === void 0 ? (0, _recommendShared.createListViewComponent)({
|
|
39
|
+
createElement: createElement,
|
|
40
|
+
Fragment: Fragment
|
|
41
|
+
}) : _userProps$view,
|
|
42
|
+
items = userProps.items,
|
|
43
|
+
status = userProps.status,
|
|
44
|
+
userTranslations = userProps.translations,
|
|
45
|
+
sendEvent = userProps.sendEvent,
|
|
46
|
+
props = (0, _objectWithoutProperties2.default)(userProps, _excluded);
|
|
47
|
+
var translations = _objectSpread({
|
|
48
|
+
title: 'Frequently bought together',
|
|
49
|
+
sliderLabel: 'Frequently bought together products'
|
|
50
|
+
}, userTranslations);
|
|
51
|
+
var cssClasses = {
|
|
52
|
+
root: (0, _lib.cx)('ais-FrequentlyBoughtTogether', classNames.root),
|
|
53
|
+
emptyRoot: (0, _lib.cx)('ais-FrequentlyBoughtTogether', classNames.root, 'ais-FrequentlyBoughtTogether--empty', classNames.emptyRoot, props.className),
|
|
54
|
+
title: (0, _lib.cx)('ais-FrequentlyBoughtTogether-title', classNames.title),
|
|
55
|
+
container: (0, _lib.cx)('ais-FrequentlyBoughtTogether-container', classNames.container),
|
|
56
|
+
list: (0, _lib.cx)('ais-FrequentlyBoughtTogether-list', classNames.list),
|
|
57
|
+
item: (0, _lib.cx)('ais-FrequentlyBoughtTogether-item', classNames.item)
|
|
58
|
+
};
|
|
59
|
+
if (items.length === 0 && status === 'idle') {
|
|
60
|
+
return createElement("section", (0, _extends2.default)({}, props, {
|
|
61
|
+
className: cssClasses.emptyRoot
|
|
62
|
+
}), createElement(EmptyComponent, null));
|
|
63
|
+
}
|
|
64
|
+
return createElement("section", (0, _extends2.default)({}, props, {
|
|
65
|
+
className: cssClasses.root
|
|
66
|
+
}), createElement(HeaderComponent, {
|
|
67
|
+
classNames: cssClasses,
|
|
68
|
+
items: items,
|
|
69
|
+
translations: translations
|
|
70
|
+
}), createElement(View, {
|
|
71
|
+
classNames: cssClasses,
|
|
72
|
+
translations: translations,
|
|
73
|
+
itemComponent: ItemComponent,
|
|
74
|
+
items: items,
|
|
75
|
+
sendEvent: sendEvent
|
|
76
|
+
}));
|
|
77
|
+
};
|
|
78
|
+
}
|
|
@@ -8,11 +8,41 @@ exports.createHitsComponent = createHitsComponent;
|
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
10
|
var _lib = require("../lib");
|
|
11
|
-
var _excluded = ["classNames", "hits", "itemComponent", "sendEvent", "emptyComponent"];
|
|
11
|
+
var _excluded = ["classNames", "hits", "itemComponent", "sendEvent", "emptyComponent", "banner", "bannerComponent"];
|
|
12
12
|
// Should be imported from a shared package in the future
|
|
13
13
|
|
|
14
|
-
function
|
|
14
|
+
function createDefaultBannerComponent(_ref) {
|
|
15
15
|
var createElement = _ref.createElement;
|
|
16
|
+
return function DefaultBanner(_ref2) {
|
|
17
|
+
var classNames = _ref2.classNames,
|
|
18
|
+
banner = _ref2.banner;
|
|
19
|
+
if (!banner.image.urls[0].url) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
return createElement("aside", {
|
|
23
|
+
className: (0, _lib.cx)('ais-Hits-banner', classNames.bannerRoot)
|
|
24
|
+
}, banner.link ? createElement("a", {
|
|
25
|
+
className: (0, _lib.cx)('ais-Hits-banner-link', classNames.bannerLink),
|
|
26
|
+
href: banner.link.url,
|
|
27
|
+
target: banner.link.target
|
|
28
|
+
}, createElement("img", {
|
|
29
|
+
className: (0, _lib.cx)('ais-Hits-banner-image', classNames.bannerImage),
|
|
30
|
+
src: banner.image.urls[0].url,
|
|
31
|
+
alt: banner.image.title
|
|
32
|
+
})) : createElement("img", {
|
|
33
|
+
className: (0, _lib.cx)('ais-Hits-banner-image', classNames.bannerImage),
|
|
34
|
+
src: banner.image.urls[0].url,
|
|
35
|
+
alt: banner.image.title
|
|
36
|
+
}));
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function createHitsComponent(_ref3) {
|
|
40
|
+
var createElement = _ref3.createElement,
|
|
41
|
+
Fragment = _ref3.Fragment;
|
|
42
|
+
var DefaultBannerComponent = createDefaultBannerComponent({
|
|
43
|
+
createElement: createElement,
|
|
44
|
+
Fragment: Fragment
|
|
45
|
+
});
|
|
16
46
|
return function Hits(userProps) {
|
|
17
47
|
var _userProps$classNames = userProps.classNames,
|
|
18
48
|
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
|
|
@@ -20,15 +50,18 @@ function createHitsComponent(_ref) {
|
|
|
20
50
|
ItemComponent = userProps.itemComponent,
|
|
21
51
|
sendEvent = userProps.sendEvent,
|
|
22
52
|
EmptyComponent = userProps.emptyComponent,
|
|
53
|
+
banner = userProps.banner,
|
|
54
|
+
BannerComponent = userProps.bannerComponent,
|
|
23
55
|
props = (0, _objectWithoutProperties2.default)(userProps, _excluded);
|
|
24
|
-
if (hits.length === 0 && EmptyComponent) {
|
|
25
|
-
return createElement(EmptyComponent, {
|
|
26
|
-
className: (0, _lib.cx)('ais-Hits', classNames.root, (0, _lib.cx)('ais-Hits--empty', classNames.emptyRoot), props.className)
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
56
|
return createElement("div", (0, _extends2.default)({}, props, {
|
|
30
57
|
className: (0, _lib.cx)('ais-Hits', classNames.root, hits.length === 0 && (0, _lib.cx)('ais-Hits--empty', classNames.emptyRoot), props.className)
|
|
31
|
-
}), createElement(
|
|
58
|
+
}), banner && (BannerComponent ? createElement(BannerComponent, {
|
|
59
|
+
className: (0, _lib.cx)('ais-Hits-banner', classNames.bannerRoot),
|
|
60
|
+
banner: banner
|
|
61
|
+
}) : createElement(DefaultBannerComponent, {
|
|
62
|
+
classNames: classNames,
|
|
63
|
+
banner: banner
|
|
64
|
+
})), hits.length === 0 && EmptyComponent ? createElement(EmptyComponent, null) : createElement("ol", {
|
|
32
65
|
className: (0, _lib.cx)('ais-Hits-list', classNames.list)
|
|
33
66
|
}, hits.map(function (hit, index) {
|
|
34
67
|
return createElement(ItemComponent, {
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createLookingSimilarComponent = createLookingSimilarComponent;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _lib = require("../lib");
|
|
12
|
+
var _recommendShared = require("./recommend-shared");
|
|
13
|
+
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "view", "items", "status", "translations", "sendEvent"];
|
|
14
|
+
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; }
|
|
15
|
+
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) { (0, _defineProperty2.default)(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; }
|
|
16
|
+
function createLookingSimilarComponent(_ref) {
|
|
17
|
+
var createElement = _ref.createElement,
|
|
18
|
+
Fragment = _ref.Fragment;
|
|
19
|
+
return function LookingSimilar(userProps) {
|
|
20
|
+
var _userProps$classNames = userProps.classNames,
|
|
21
|
+
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
|
|
22
|
+
_userProps$emptyCompo = userProps.emptyComponent,
|
|
23
|
+
EmptyComponent = _userProps$emptyCompo === void 0 ? (0, _recommendShared.createDefaultEmptyComponent)({
|
|
24
|
+
createElement: createElement,
|
|
25
|
+
Fragment: Fragment
|
|
26
|
+
}) : _userProps$emptyCompo,
|
|
27
|
+
_userProps$headerComp = userProps.headerComponent,
|
|
28
|
+
HeaderComponent = _userProps$headerComp === void 0 ? (0, _recommendShared.createDefaultHeaderComponent)({
|
|
29
|
+
createElement: createElement,
|
|
30
|
+
Fragment: Fragment
|
|
31
|
+
}) : _userProps$headerComp,
|
|
32
|
+
_userProps$itemCompon = userProps.itemComponent,
|
|
33
|
+
ItemComponent = _userProps$itemCompon === void 0 ? (0, _recommendShared.createDefaultItemComponent)({
|
|
34
|
+
createElement: createElement,
|
|
35
|
+
Fragment: Fragment
|
|
36
|
+
}) : _userProps$itemCompon,
|
|
37
|
+
_userProps$view = userProps.view,
|
|
38
|
+
View = _userProps$view === void 0 ? (0, _recommendShared.createListViewComponent)({
|
|
39
|
+
createElement: createElement,
|
|
40
|
+
Fragment: Fragment
|
|
41
|
+
}) : _userProps$view,
|
|
42
|
+
items = userProps.items,
|
|
43
|
+
status = userProps.status,
|
|
44
|
+
userTranslations = userProps.translations,
|
|
45
|
+
sendEvent = userProps.sendEvent,
|
|
46
|
+
props = (0, _objectWithoutProperties2.default)(userProps, _excluded);
|
|
47
|
+
var translations = _objectSpread({
|
|
48
|
+
title: 'Looking similar',
|
|
49
|
+
sliderLabel: 'Looking similar'
|
|
50
|
+
}, userTranslations);
|
|
51
|
+
var cssClasses = {
|
|
52
|
+
root: (0, _lib.cx)('ais-LookingSimilar', classNames.root),
|
|
53
|
+
emptyRoot: (0, _lib.cx)('ais-LookingSimilar', classNames.root, 'ais-LookingSimilar--empty', classNames.emptyRoot, props.className),
|
|
54
|
+
title: (0, _lib.cx)('ais-LookingSimilar-title', classNames.title),
|
|
55
|
+
container: (0, _lib.cx)('ais-LookingSimilar-container', classNames.container),
|
|
56
|
+
list: (0, _lib.cx)('ais-LookingSimilar-list', classNames.list),
|
|
57
|
+
item: (0, _lib.cx)('ais-LookingSimilar-item', classNames.item)
|
|
58
|
+
};
|
|
59
|
+
if (items.length === 0 && status === 'idle') {
|
|
60
|
+
return createElement("section", (0, _extends2.default)({}, props, {
|
|
61
|
+
className: cssClasses.emptyRoot
|
|
62
|
+
}), createElement(EmptyComponent, null));
|
|
63
|
+
}
|
|
64
|
+
return createElement("section", (0, _extends2.default)({}, props, {
|
|
65
|
+
className: cssClasses.root
|
|
66
|
+
}), createElement(HeaderComponent, {
|
|
67
|
+
classNames: cssClasses,
|
|
68
|
+
items: items,
|
|
69
|
+
translations: translations
|
|
70
|
+
}), createElement(View, {
|
|
71
|
+
classNames: cssClasses,
|
|
72
|
+
translations: translations,
|
|
73
|
+
itemComponent: ItemComponent,
|
|
74
|
+
items: items,
|
|
75
|
+
sendEvent: sendEvent
|
|
76
|
+
}));
|
|
77
|
+
};
|
|
78
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createRelatedProductsComponent = createRelatedProductsComponent;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _lib = require("../lib");
|
|
12
|
+
var _recommendShared = require("./recommend-shared");
|
|
13
|
+
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "view", "items", "status", "translations", "sendEvent"];
|
|
14
|
+
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; }
|
|
15
|
+
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) { (0, _defineProperty2.default)(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; }
|
|
16
|
+
function createRelatedProductsComponent(_ref) {
|
|
17
|
+
var createElement = _ref.createElement,
|
|
18
|
+
Fragment = _ref.Fragment;
|
|
19
|
+
return function RelatedProducts(userProps) {
|
|
20
|
+
var _userProps$classNames = userProps.classNames,
|
|
21
|
+
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
|
|
22
|
+
_userProps$emptyCompo = userProps.emptyComponent,
|
|
23
|
+
EmptyComponent = _userProps$emptyCompo === void 0 ? (0, _recommendShared.createDefaultEmptyComponent)({
|
|
24
|
+
createElement: createElement,
|
|
25
|
+
Fragment: Fragment
|
|
26
|
+
}) : _userProps$emptyCompo,
|
|
27
|
+
_userProps$headerComp = userProps.headerComponent,
|
|
28
|
+
HeaderComponent = _userProps$headerComp === void 0 ? (0, _recommendShared.createDefaultHeaderComponent)({
|
|
29
|
+
createElement: createElement,
|
|
30
|
+
Fragment: Fragment
|
|
31
|
+
}) : _userProps$headerComp,
|
|
32
|
+
_userProps$itemCompon = userProps.itemComponent,
|
|
33
|
+
ItemComponent = _userProps$itemCompon === void 0 ? (0, _recommendShared.createDefaultItemComponent)({
|
|
34
|
+
createElement: createElement,
|
|
35
|
+
Fragment: Fragment
|
|
36
|
+
}) : _userProps$itemCompon,
|
|
37
|
+
_userProps$view = userProps.view,
|
|
38
|
+
View = _userProps$view === void 0 ? (0, _recommendShared.createListViewComponent)({
|
|
39
|
+
createElement: createElement,
|
|
40
|
+
Fragment: Fragment
|
|
41
|
+
}) : _userProps$view,
|
|
42
|
+
items = userProps.items,
|
|
43
|
+
status = userProps.status,
|
|
44
|
+
userTranslations = userProps.translations,
|
|
45
|
+
sendEvent = userProps.sendEvent,
|
|
46
|
+
props = (0, _objectWithoutProperties2.default)(userProps, _excluded);
|
|
47
|
+
var translations = _objectSpread({
|
|
48
|
+
title: 'Related products',
|
|
49
|
+
sliderLabel: 'Related products'
|
|
50
|
+
}, userTranslations);
|
|
51
|
+
var cssClasses = {
|
|
52
|
+
root: (0, _lib.cx)('ais-RelatedProducts', classNames.root),
|
|
53
|
+
emptyRoot: (0, _lib.cx)('ais-RelatedProducts', classNames.root, 'ais-RelatedProducts--empty', classNames.emptyRoot, props.className),
|
|
54
|
+
title: (0, _lib.cx)('ais-RelatedProducts-title', classNames.title),
|
|
55
|
+
container: (0, _lib.cx)('ais-RelatedProducts-container', classNames.container),
|
|
56
|
+
list: (0, _lib.cx)('ais-RelatedProducts-list', classNames.list),
|
|
57
|
+
item: (0, _lib.cx)('ais-RelatedProducts-item', classNames.item)
|
|
58
|
+
};
|
|
59
|
+
if (items.length === 0 && status === 'idle') {
|
|
60
|
+
return createElement("section", (0, _extends2.default)({}, props, {
|
|
61
|
+
className: cssClasses.emptyRoot
|
|
62
|
+
}), createElement(EmptyComponent, null));
|
|
63
|
+
}
|
|
64
|
+
return createElement("section", (0, _extends2.default)({}, props, {
|
|
65
|
+
className: cssClasses.root
|
|
66
|
+
}), createElement(HeaderComponent, {
|
|
67
|
+
classNames: cssClasses,
|
|
68
|
+
items: items,
|
|
69
|
+
translations: translations
|
|
70
|
+
}), createElement(View, {
|
|
71
|
+
classNames: cssClasses,
|
|
72
|
+
translations: translations,
|
|
73
|
+
itemComponent: ItemComponent,
|
|
74
|
+
items: items,
|
|
75
|
+
sendEvent: sendEvent
|
|
76
|
+
}));
|
|
77
|
+
};
|
|
78
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createTrendingItemsComponent = createTrendingItemsComponent;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _lib = require("../lib");
|
|
12
|
+
var _recommendShared = require("./recommend-shared");
|
|
13
|
+
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "view", "items", "status", "translations", "sendEvent"];
|
|
14
|
+
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; }
|
|
15
|
+
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) { (0, _defineProperty2.default)(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; }
|
|
16
|
+
function createTrendingItemsComponent(_ref) {
|
|
17
|
+
var createElement = _ref.createElement,
|
|
18
|
+
Fragment = _ref.Fragment;
|
|
19
|
+
return function TrendingItems(userProps) {
|
|
20
|
+
var _userProps$classNames = userProps.classNames,
|
|
21
|
+
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
|
|
22
|
+
_userProps$emptyCompo = userProps.emptyComponent,
|
|
23
|
+
EmptyComponent = _userProps$emptyCompo === void 0 ? (0, _recommendShared.createDefaultEmptyComponent)({
|
|
24
|
+
createElement: createElement,
|
|
25
|
+
Fragment: Fragment
|
|
26
|
+
}) : _userProps$emptyCompo,
|
|
27
|
+
_userProps$headerComp = userProps.headerComponent,
|
|
28
|
+
HeaderComponent = _userProps$headerComp === void 0 ? (0, _recommendShared.createDefaultHeaderComponent)({
|
|
29
|
+
createElement: createElement,
|
|
30
|
+
Fragment: Fragment
|
|
31
|
+
}) : _userProps$headerComp,
|
|
32
|
+
_userProps$itemCompon = userProps.itemComponent,
|
|
33
|
+
ItemComponent = _userProps$itemCompon === void 0 ? (0, _recommendShared.createDefaultItemComponent)({
|
|
34
|
+
createElement: createElement,
|
|
35
|
+
Fragment: Fragment
|
|
36
|
+
}) : _userProps$itemCompon,
|
|
37
|
+
_userProps$view = userProps.view,
|
|
38
|
+
View = _userProps$view === void 0 ? (0, _recommendShared.createListViewComponent)({
|
|
39
|
+
createElement: createElement,
|
|
40
|
+
Fragment: Fragment
|
|
41
|
+
}) : _userProps$view,
|
|
42
|
+
items = userProps.items,
|
|
43
|
+
status = userProps.status,
|
|
44
|
+
userTranslations = userProps.translations,
|
|
45
|
+
sendEvent = userProps.sendEvent,
|
|
46
|
+
props = (0, _objectWithoutProperties2.default)(userProps, _excluded);
|
|
47
|
+
var translations = _objectSpread({
|
|
48
|
+
title: 'Trending items',
|
|
49
|
+
sliderLabel: 'Trending items'
|
|
50
|
+
}, userTranslations);
|
|
51
|
+
var cssClasses = {
|
|
52
|
+
root: (0, _lib.cx)('ais-TrendingItems', classNames.root),
|
|
53
|
+
emptyRoot: (0, _lib.cx)('ais-TrendingItems', classNames.root, 'ais-TrendingItems--empty', classNames.emptyRoot, props.className),
|
|
54
|
+
title: (0, _lib.cx)('ais-TrendingItems-title', classNames.title),
|
|
55
|
+
container: (0, _lib.cx)('ais-TrendingItems-container', classNames.container),
|
|
56
|
+
list: (0, _lib.cx)('ais-TrendingItems-list', classNames.list),
|
|
57
|
+
item: (0, _lib.cx)('ais-TrendingItems-item', classNames.item)
|
|
58
|
+
};
|
|
59
|
+
if (items.length === 0 && status === 'idle') {
|
|
60
|
+
return createElement("section", (0, _extends2.default)({}, props, {
|
|
61
|
+
className: cssClasses.emptyRoot
|
|
62
|
+
}), createElement(EmptyComponent, null));
|
|
63
|
+
}
|
|
64
|
+
return createElement("section", (0, _extends2.default)({}, props, {
|
|
65
|
+
className: cssClasses.root
|
|
66
|
+
}), createElement(HeaderComponent, {
|
|
67
|
+
classNames: cssClasses,
|
|
68
|
+
items: items,
|
|
69
|
+
translations: translations
|
|
70
|
+
}), createElement(View, {
|
|
71
|
+
classNames: cssClasses,
|
|
72
|
+
translations: translations,
|
|
73
|
+
itemComponent: ItemComponent,
|
|
74
|
+
items: items,
|
|
75
|
+
sendEvent: sendEvent
|
|
76
|
+
}));
|
|
77
|
+
};
|
|
78
|
+
}
|
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
var _FrequentlyBoughtTogether = require("./FrequentlyBoughtTogether");
|
|
7
|
+
Object.keys(_FrequentlyBoughtTogether).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _FrequentlyBoughtTogether[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _FrequentlyBoughtTogether[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
6
17
|
var _Highlight = require("./Highlight");
|
|
7
18
|
Object.keys(_Highlight).forEach(function (key) {
|
|
8
19
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -24,4 +35,37 @@ Object.keys(_Hits).forEach(function (key) {
|
|
|
24
35
|
return _Hits[key];
|
|
25
36
|
}
|
|
26
37
|
});
|
|
38
|
+
});
|
|
39
|
+
var _RelatedProducts = require("./RelatedProducts");
|
|
40
|
+
Object.keys(_RelatedProducts).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _RelatedProducts[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function get() {
|
|
46
|
+
return _RelatedProducts[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
var _TrendingItems = require("./TrendingItems");
|
|
51
|
+
Object.keys(_TrendingItems).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (key in exports && exports[key] === _TrendingItems[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function get() {
|
|
57
|
+
return _TrendingItems[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
var _LookingSimilar = require("./LookingSimilar");
|
|
62
|
+
Object.keys(_LookingSimilar).forEach(function (key) {
|
|
63
|
+
if (key === "default" || key === "__esModule") return;
|
|
64
|
+
if (key in exports && exports[key] === _LookingSimilar[key]) return;
|
|
65
|
+
Object.defineProperty(exports, key, {
|
|
66
|
+
enumerable: true,
|
|
67
|
+
get: function get() {
|
|
68
|
+
return _LookingSimilar[key];
|
|
69
|
+
}
|
|
70
|
+
});
|
|
27
71
|
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createDefaultEmptyComponent = createDefaultEmptyComponent;
|
|
7
|
+
function createDefaultEmptyComponent(_ref) {
|
|
8
|
+
var createElement = _ref.createElement,
|
|
9
|
+
Fragment = _ref.Fragment;
|
|
10
|
+
var _ref2 = createElement(Fragment, null, "No results");
|
|
11
|
+
return function DefaultEmpty() {
|
|
12
|
+
return _ref2;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createDefaultHeaderComponent = createDefaultHeaderComponent;
|
|
7
|
+
function createDefaultHeaderComponent(_ref) {
|
|
8
|
+
var createElement = _ref.createElement;
|
|
9
|
+
return function DefaultHeader(userProps) {
|
|
10
|
+
var _userProps$classNames = userProps.classNames,
|
|
11
|
+
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
|
|
12
|
+
items = userProps.items,
|
|
13
|
+
translations = userProps.translations;
|
|
14
|
+
if (!items || items.length < 1) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
if (!translations.title) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
return createElement("h3", {
|
|
21
|
+
className: classNames.title
|
|
22
|
+
}, translations.title);
|
|
23
|
+
};
|
|
24
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createDefaultItemComponent = createDefaultItemComponent;
|
|
7
|
+
function createDefaultItemComponent(_ref) {
|
|
8
|
+
var createElement = _ref.createElement,
|
|
9
|
+
Fragment = _ref.Fragment;
|
|
10
|
+
return function DefaultItem(userProps) {
|
|
11
|
+
return createElement(Fragment, null, JSON.stringify(userProps.item, null, 2));
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createListViewComponent = createListViewComponent;
|
|
7
|
+
function createListViewComponent(_ref) {
|
|
8
|
+
var createElement = _ref.createElement;
|
|
9
|
+
return function ListView(userProps) {
|
|
10
|
+
var _userProps$classNames = userProps.classNames,
|
|
11
|
+
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
|
|
12
|
+
ItemComponent = userProps.itemComponent,
|
|
13
|
+
items = userProps.items,
|
|
14
|
+
sendEvent = userProps.sendEvent;
|
|
15
|
+
return createElement("div", {
|
|
16
|
+
className: classNames.container
|
|
17
|
+
}, createElement("ol", {
|
|
18
|
+
className: classNames.list
|
|
19
|
+
}, items.map(function (item) {
|
|
20
|
+
return createElement("li", {
|
|
21
|
+
key: item.objectID,
|
|
22
|
+
className: classNames.item,
|
|
23
|
+
onClick: sendEvent,
|
|
24
|
+
onAuxClick: sendEvent
|
|
25
|
+
}, createElement(ItemComponent, {
|
|
26
|
+
item: item
|
|
27
|
+
}));
|
|
28
|
+
})));
|
|
29
|
+
};
|
|
30
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _DefaultEmpty = require("./DefaultEmpty");
|
|
7
|
+
Object.keys(_DefaultEmpty).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _DefaultEmpty[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _DefaultEmpty[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _DefaultHeader = require("./DefaultHeader");
|
|
18
|
+
Object.keys(_DefaultHeader).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _DefaultHeader[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function get() {
|
|
24
|
+
return _DefaultHeader[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _DefaultItem = require("./DefaultItem");
|
|
29
|
+
Object.keys(_DefaultItem).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _DefaultItem[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function get() {
|
|
35
|
+
return _DefaultItem[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
var _ListView = require("./ListView");
|
|
40
|
+
Object.keys(_ListView).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _ListView[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function get() {
|
|
46
|
+
return _ListView[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
package/dist/cjs/types/index.js
CHANGED
|
@@ -13,4 +13,26 @@ Object.keys(_Renderer).forEach(function (key) {
|
|
|
13
13
|
return _Renderer[key];
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
|
+
});
|
|
17
|
+
var _Recommend = require("./Recommend");
|
|
18
|
+
Object.keys(_Recommend).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _Recommend[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function get() {
|
|
24
|
+
return _Recommend[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _shared = require("./shared");
|
|
29
|
+
Object.keys(_shared).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _shared[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function get() {
|
|
35
|
+
return _shared[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
16
38
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
package/dist/cjs/version.js
CHANGED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** @jsx createElement */
|
|
2
|
+
import type { Renderer, ComponentProps, RecommendComponentProps } from '../types';
|
|
3
|
+
export type FrequentlyBoughtTogetherProps<TObject, TComponentProps extends Record<string, unknown> = Record<string, unknown>> = ComponentProps<'div'> & RecommendComponentProps<TObject, TComponentProps>;
|
|
4
|
+
export declare function createFrequentlyBoughtTogetherComponent({ createElement, Fragment, }: Renderer): <TObject>(userProps: FrequentlyBoughtTogetherProps<TObject, Record<string, unknown>>) => JSX.Element;
|