instantsearch-ui-components 0.7.0 → 0.9.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/Carousel.js +162 -0
- package/dist/cjs/components/FrequentlyBoughtTogether.js +5 -6
- package/dist/cjs/components/LookingSimilar.js +5 -6
- package/dist/cjs/components/RelatedProducts.js +5 -6
- package/dist/cjs/components/TrendingItems.js +5 -6
- package/dist/cjs/components/index.js +22 -11
- package/dist/cjs/components/recommend-shared/DefaultEmpty.js +1 -2
- package/dist/cjs/components/recommend-shared/{ListView.js → List.js} +3 -3
- package/dist/cjs/components/recommend-shared/index.js +4 -4
- package/dist/cjs/version.js +1 -1
- package/dist/es/components/Carousel.d.ts +63 -0
- package/dist/es/components/Carousel.js +154 -0
- package/dist/es/components/FrequentlyBoughtTogether.d.ts +1 -1
- package/dist/es/components/FrequentlyBoughtTogether.js +6 -7
- package/dist/es/components/LookingSimilar.d.ts +1 -1
- package/dist/es/components/LookingSimilar.js +6 -7
- package/dist/es/components/RelatedProducts.d.ts +1 -1
- package/dist/es/components/RelatedProducts.js +6 -7
- package/dist/es/components/TrendingItems.d.ts +1 -1
- package/dist/es/components/TrendingItems.js +6 -7
- package/dist/es/components/index.d.ts +2 -1
- package/dist/es/components/index.js +3 -2
- package/dist/es/components/recommend-shared/DefaultEmpty.js +1 -2
- package/dist/es/components/recommend-shared/List.d.ts +3 -0
- package/dist/es/components/recommend-shared/{ListView.js → List.js} +2 -2
- package/dist/es/components/recommend-shared/index.d.ts +1 -1
- package/dist/es/components/recommend-shared/index.js +1 -1
- package/dist/es/types/Recommend.d.ts +2 -5
- package/dist/es/types/Renderer.d.ts +3 -0
- package/dist/es/version.d.ts +1 -1
- package/dist/es/version.js +1 -1
- package/package.json +4 -4
- package/dist/es/components/recommend-shared/ListView.d.ts +0 -3
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createCarouselComponent = createCarouselComponent;
|
|
8
|
+
exports.generateCarouselId = generateCarouselId;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
|
+
var _lib = require("../lib");
|
|
13
|
+
var _recommendShared = require("./recommend-shared");
|
|
14
|
+
var _excluded = ["listRef", "nextButtonRef", "previousButtonRef", "carouselIdRef", "classNames", "itemComponent", "previousIconComponent", "nextIconComponent", "items", "translations"];
|
|
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) { (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; }
|
|
17
|
+
var lastCarouselId = 0;
|
|
18
|
+
function generateCarouselId() {
|
|
19
|
+
return "ais-Carousel-".concat(lastCarouselId++);
|
|
20
|
+
}
|
|
21
|
+
function PreviousIconDefaultComponent(_ref) {
|
|
22
|
+
var createElement = _ref.createElement;
|
|
23
|
+
return createElement("svg", {
|
|
24
|
+
width: "8",
|
|
25
|
+
height: "16",
|
|
26
|
+
viewBox: "0 0 8 16",
|
|
27
|
+
fill: "none"
|
|
28
|
+
}, createElement("path", {
|
|
29
|
+
fillRule: "evenodd",
|
|
30
|
+
clipRule: "evenodd",
|
|
31
|
+
fill: "currentColor",
|
|
32
|
+
d: "M7.13809 0.744078C7.39844 1.06951 7.39844 1.59715 7.13809 1.92259L2.27616 8L7.13809 14.0774C7.39844 14.4028 7.39844 14.9305 7.13809 15.2559C6.87774 15.5814 6.45563 15.5814 6.19528 15.2559L0.861949 8.58926C0.6016 8.26382 0.6016 7.73618 0.861949 7.41074L6.19528 0.744078C6.45563 0.418641 6.87774 0.418641 7.13809 0.744078Z"
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
function NextIconDefaultComponent(_ref2) {
|
|
36
|
+
var createElement = _ref2.createElement;
|
|
37
|
+
return createElement("svg", {
|
|
38
|
+
width: "8",
|
|
39
|
+
height: "16",
|
|
40
|
+
viewBox: "0 0 8 16",
|
|
41
|
+
fill: "none"
|
|
42
|
+
}, createElement("path", {
|
|
43
|
+
fillRule: "evenodd",
|
|
44
|
+
clipRule: "evenodd",
|
|
45
|
+
fill: "currentColor",
|
|
46
|
+
d: "M0.861908 15.2559C0.601559 14.9305 0.601559 14.4028 0.861908 14.0774L5.72384 8L0.861908 1.92259C0.601559 1.59715 0.601559 1.06952 0.861908 0.744079C1.12226 0.418642 1.54437 0.418642 1.80472 0.744079L7.13805 7.41074C7.3984 7.73618 7.3984 8.26382 7.13805 8.58926L1.80472 15.2559C1.54437 15.5814 1.12226 15.5814 0.861908 15.2559Z"
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
function createCarouselComponent(_ref3) {
|
|
50
|
+
var createElement = _ref3.createElement,
|
|
51
|
+
Fragment = _ref3.Fragment;
|
|
52
|
+
return function Carousel(userProps) {
|
|
53
|
+
var listRef = userProps.listRef,
|
|
54
|
+
nextButtonRef = userProps.nextButtonRef,
|
|
55
|
+
previousButtonRef = userProps.previousButtonRef,
|
|
56
|
+
carouselIdRef = userProps.carouselIdRef,
|
|
57
|
+
_userProps$classNames = userProps.classNames,
|
|
58
|
+
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
|
|
59
|
+
_userProps$itemCompon = userProps.itemComponent,
|
|
60
|
+
ItemComponent = _userProps$itemCompon === void 0 ? (0, _recommendShared.createDefaultItemComponent)({
|
|
61
|
+
createElement: createElement,
|
|
62
|
+
Fragment: Fragment
|
|
63
|
+
}) : _userProps$itemCompon,
|
|
64
|
+
_userProps$previousIc = userProps.previousIconComponent,
|
|
65
|
+
PreviousIconComponent = _userProps$previousIc === void 0 ? PreviousIconDefaultComponent : _userProps$previousIc,
|
|
66
|
+
_userProps$nextIconCo = userProps.nextIconComponent,
|
|
67
|
+
NextIconComponent = _userProps$nextIconCo === void 0 ? NextIconDefaultComponent : _userProps$nextIconCo,
|
|
68
|
+
items = userProps.items,
|
|
69
|
+
userTranslations = userProps.translations,
|
|
70
|
+
props = (0, _objectWithoutProperties2.default)(userProps, _excluded);
|
|
71
|
+
var translations = _objectSpread({
|
|
72
|
+
listLabel: 'Items',
|
|
73
|
+
nextButtonLabel: 'Next',
|
|
74
|
+
nextButtonTitle: 'Next',
|
|
75
|
+
previousButtonLabel: 'Previous',
|
|
76
|
+
previousButtonTitle: 'Previous'
|
|
77
|
+
}, userTranslations);
|
|
78
|
+
var cssClasses = {
|
|
79
|
+
root: (0, _lib.cx)('ais-Carousel', classNames.root),
|
|
80
|
+
list: (0, _lib.cx)('ais-Carousel-list', classNames.list),
|
|
81
|
+
item: (0, _lib.cx)('ais-Carousel-item', classNames.item),
|
|
82
|
+
navigation: (0, _lib.cx)('ais-Carousel-navigation', classNames.navigation),
|
|
83
|
+
navigationNext: (0, _lib.cx)('ais-Carousel-navigation--next', classNames.navigationNext),
|
|
84
|
+
navigationPrevious: (0, _lib.cx)('ais-Carousel-navigation--previous', classNames.navigationPrevious)
|
|
85
|
+
};
|
|
86
|
+
function scrollLeft() {
|
|
87
|
+
if (listRef.current) {
|
|
88
|
+
listRef.current.scrollLeft -= listRef.current.offsetWidth * 0.75;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function scrollRight() {
|
|
92
|
+
if (listRef.current) {
|
|
93
|
+
listRef.current.scrollLeft += listRef.current.offsetWidth * 0.75;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
function updateNavigationButtonsProps() {
|
|
97
|
+
if (!listRef.current || !previousButtonRef.current || !nextButtonRef.current) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
previousButtonRef.current.hidden = listRef.current.scrollLeft <= 0;
|
|
101
|
+
nextButtonRef.current.hidden = listRef.current.scrollLeft + listRef.current.clientWidth >= listRef.current.scrollWidth;
|
|
102
|
+
}
|
|
103
|
+
if (items.length === 0) {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
return createElement("div", (0, _extends2.default)({}, props, {
|
|
107
|
+
className: (0, _lib.cx)(cssClasses.root)
|
|
108
|
+
}), createElement("button", {
|
|
109
|
+
ref: previousButtonRef,
|
|
110
|
+
title: translations.previousButtonTitle,
|
|
111
|
+
"aria-label": translations.previousButtonLabel,
|
|
112
|
+
hidden: true,
|
|
113
|
+
"aria-controls": carouselIdRef.current,
|
|
114
|
+
className: (0, _lib.cx)(cssClasses.navigation, cssClasses.navigationPrevious),
|
|
115
|
+
onClick: function onClick(event) {
|
|
116
|
+
event.preventDefault();
|
|
117
|
+
scrollLeft();
|
|
118
|
+
}
|
|
119
|
+
}, createElement(PreviousIconComponent, {
|
|
120
|
+
createElement: createElement
|
|
121
|
+
})), createElement("ol", {
|
|
122
|
+
className: (0, _lib.cx)(cssClasses.list),
|
|
123
|
+
ref: listRef,
|
|
124
|
+
tabIndex: 0,
|
|
125
|
+
id: carouselIdRef.current,
|
|
126
|
+
"aria-roledescription": "carousel",
|
|
127
|
+
"aria-label": translations.listLabel,
|
|
128
|
+
"aria-live": "polite",
|
|
129
|
+
onScroll: updateNavigationButtonsProps,
|
|
130
|
+
onKeyDown: function onKeyDown(event) {
|
|
131
|
+
if (event.key === 'ArrowLeft') {
|
|
132
|
+
event.preventDefault();
|
|
133
|
+
scrollLeft();
|
|
134
|
+
} else if (event.key === 'ArrowRight') {
|
|
135
|
+
event.preventDefault();
|
|
136
|
+
scrollRight();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}, items.map(function (item, index) {
|
|
140
|
+
return createElement("li", {
|
|
141
|
+
key: item.objectID,
|
|
142
|
+
className: (0, _lib.cx)(cssClasses.item),
|
|
143
|
+
"aria-roledescription": "slide",
|
|
144
|
+
"aria-label": "".concat(index + 1, " of ").concat(items.length)
|
|
145
|
+
}, createElement(ItemComponent, {
|
|
146
|
+
item: item
|
|
147
|
+
}));
|
|
148
|
+
})), createElement("button", {
|
|
149
|
+
ref: nextButtonRef,
|
|
150
|
+
title: translations.nextButtonTitle,
|
|
151
|
+
"aria-label": translations.nextButtonLabel,
|
|
152
|
+
"aria-controls": carouselIdRef.current,
|
|
153
|
+
className: (0, _lib.cx)(cssClasses.navigation, cssClasses.navigationNext),
|
|
154
|
+
onClick: function onClick(event) {
|
|
155
|
+
event.preventDefault();
|
|
156
|
+
scrollRight();
|
|
157
|
+
}
|
|
158
|
+
}, createElement(NextIconComponent, {
|
|
159
|
+
createElement: createElement
|
|
160
|
+
})));
|
|
161
|
+
};
|
|
162
|
+
}
|
|
@@ -10,7 +10,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
10
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
11
|
var _lib = require("../lib");
|
|
12
12
|
var _recommendShared = require("./recommend-shared");
|
|
13
|
-
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "
|
|
13
|
+
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "layout", "items", "status", "translations", "sendEvent"];
|
|
14
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
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
16
|
function createFrequentlyBoughtTogetherComponent(_ref) {
|
|
@@ -34,11 +34,11 @@ function createFrequentlyBoughtTogetherComponent(_ref) {
|
|
|
34
34
|
createElement: createElement,
|
|
35
35
|
Fragment: Fragment
|
|
36
36
|
}) : _userProps$itemCompon,
|
|
37
|
-
_userProps$
|
|
38
|
-
|
|
37
|
+
_userProps$layout = userProps.layout,
|
|
38
|
+
Layout = _userProps$layout === void 0 ? (0, _recommendShared.createListComponent)({
|
|
39
39
|
createElement: createElement,
|
|
40
40
|
Fragment: Fragment
|
|
41
|
-
}) : _userProps$
|
|
41
|
+
}) : _userProps$layout,
|
|
42
42
|
items = userProps.items,
|
|
43
43
|
status = userProps.status,
|
|
44
44
|
userTranslations = userProps.translations,
|
|
@@ -67,9 +67,8 @@ function createFrequentlyBoughtTogetherComponent(_ref) {
|
|
|
67
67
|
classNames: cssClasses,
|
|
68
68
|
items: items,
|
|
69
69
|
translations: translations
|
|
70
|
-
}), createElement(
|
|
70
|
+
}), createElement(Layout, {
|
|
71
71
|
classNames: cssClasses,
|
|
72
|
-
translations: translations,
|
|
73
72
|
itemComponent: ItemComponent,
|
|
74
73
|
items: items,
|
|
75
74
|
sendEvent: sendEvent
|
|
@@ -10,7 +10,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
10
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
11
|
var _lib = require("../lib");
|
|
12
12
|
var _recommendShared = require("./recommend-shared");
|
|
13
|
-
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "
|
|
13
|
+
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "layout", "items", "status", "translations", "sendEvent"];
|
|
14
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
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
16
|
function createLookingSimilarComponent(_ref) {
|
|
@@ -34,11 +34,11 @@ function createLookingSimilarComponent(_ref) {
|
|
|
34
34
|
createElement: createElement,
|
|
35
35
|
Fragment: Fragment
|
|
36
36
|
}) : _userProps$itemCompon,
|
|
37
|
-
_userProps$
|
|
38
|
-
|
|
37
|
+
_userProps$layout = userProps.layout,
|
|
38
|
+
Layout = _userProps$layout === void 0 ? (0, _recommendShared.createListComponent)({
|
|
39
39
|
createElement: createElement,
|
|
40
40
|
Fragment: Fragment
|
|
41
|
-
}) : _userProps$
|
|
41
|
+
}) : _userProps$layout,
|
|
42
42
|
items = userProps.items,
|
|
43
43
|
status = userProps.status,
|
|
44
44
|
userTranslations = userProps.translations,
|
|
@@ -67,9 +67,8 @@ function createLookingSimilarComponent(_ref) {
|
|
|
67
67
|
classNames: cssClasses,
|
|
68
68
|
items: items,
|
|
69
69
|
translations: translations
|
|
70
|
-
}), createElement(
|
|
70
|
+
}), createElement(Layout, {
|
|
71
71
|
classNames: cssClasses,
|
|
72
|
-
translations: translations,
|
|
73
72
|
itemComponent: ItemComponent,
|
|
74
73
|
items: items,
|
|
75
74
|
sendEvent: sendEvent
|
|
@@ -10,7 +10,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
10
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
11
|
var _lib = require("../lib");
|
|
12
12
|
var _recommendShared = require("./recommend-shared");
|
|
13
|
-
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "
|
|
13
|
+
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "layout", "items", "status", "translations", "sendEvent"];
|
|
14
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
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
16
|
function createRelatedProductsComponent(_ref) {
|
|
@@ -34,11 +34,11 @@ function createRelatedProductsComponent(_ref) {
|
|
|
34
34
|
createElement: createElement,
|
|
35
35
|
Fragment: Fragment
|
|
36
36
|
}) : _userProps$itemCompon,
|
|
37
|
-
_userProps$
|
|
38
|
-
|
|
37
|
+
_userProps$layout = userProps.layout,
|
|
38
|
+
Layout = _userProps$layout === void 0 ? (0, _recommendShared.createListComponent)({
|
|
39
39
|
createElement: createElement,
|
|
40
40
|
Fragment: Fragment
|
|
41
|
-
}) : _userProps$
|
|
41
|
+
}) : _userProps$layout,
|
|
42
42
|
items = userProps.items,
|
|
43
43
|
status = userProps.status,
|
|
44
44
|
userTranslations = userProps.translations,
|
|
@@ -67,9 +67,8 @@ function createRelatedProductsComponent(_ref) {
|
|
|
67
67
|
classNames: cssClasses,
|
|
68
68
|
items: items,
|
|
69
69
|
translations: translations
|
|
70
|
-
}), createElement(
|
|
70
|
+
}), createElement(Layout, {
|
|
71
71
|
classNames: cssClasses,
|
|
72
|
-
translations: translations,
|
|
73
72
|
itemComponent: ItemComponent,
|
|
74
73
|
items: items,
|
|
75
74
|
sendEvent: sendEvent
|
|
@@ -10,7 +10,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
10
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
11
|
var _lib = require("../lib");
|
|
12
12
|
var _recommendShared = require("./recommend-shared");
|
|
13
|
-
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "
|
|
13
|
+
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "layout", "items", "status", "translations", "sendEvent"];
|
|
14
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
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
16
|
function createTrendingItemsComponent(_ref) {
|
|
@@ -34,11 +34,11 @@ function createTrendingItemsComponent(_ref) {
|
|
|
34
34
|
createElement: createElement,
|
|
35
35
|
Fragment: Fragment
|
|
36
36
|
}) : _userProps$itemCompon,
|
|
37
|
-
_userProps$
|
|
38
|
-
|
|
37
|
+
_userProps$layout = userProps.layout,
|
|
38
|
+
Layout = _userProps$layout === void 0 ? (0, _recommendShared.createListComponent)({
|
|
39
39
|
createElement: createElement,
|
|
40
40
|
Fragment: Fragment
|
|
41
|
-
}) : _userProps$
|
|
41
|
+
}) : _userProps$layout,
|
|
42
42
|
items = userProps.items,
|
|
43
43
|
status = userProps.status,
|
|
44
44
|
userTranslations = userProps.translations,
|
|
@@ -67,9 +67,8 @@ function createTrendingItemsComponent(_ref) {
|
|
|
67
67
|
classNames: cssClasses,
|
|
68
68
|
items: items,
|
|
69
69
|
translations: translations
|
|
70
|
-
}), createElement(
|
|
70
|
+
}), createElement(Layout, {
|
|
71
71
|
classNames: cssClasses,
|
|
72
|
-
translations: translations,
|
|
73
72
|
itemComponent: ItemComponent,
|
|
74
73
|
items: items,
|
|
75
74
|
sendEvent: sendEvent
|
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
var _Carousel = require("./Carousel");
|
|
7
|
+
Object.keys(_Carousel).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _Carousel[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _Carousel[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
6
17
|
var _FrequentlyBoughtTogether = require("./FrequentlyBoughtTogether");
|
|
7
18
|
Object.keys(_FrequentlyBoughtTogether).forEach(function (key) {
|
|
8
19
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -36,6 +47,17 @@ Object.keys(_Hits).forEach(function (key) {
|
|
|
36
47
|
}
|
|
37
48
|
});
|
|
38
49
|
});
|
|
50
|
+
var _LookingSimilar = require("./LookingSimilar");
|
|
51
|
+
Object.keys(_LookingSimilar).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (key in exports && exports[key] === _LookingSimilar[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function get() {
|
|
57
|
+
return _LookingSimilar[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
39
61
|
var _RelatedProducts = require("./RelatedProducts");
|
|
40
62
|
Object.keys(_RelatedProducts).forEach(function (key) {
|
|
41
63
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -57,15 +79,4 @@ Object.keys(_TrendingItems).forEach(function (key) {
|
|
|
57
79
|
return _TrendingItems[key];
|
|
58
80
|
}
|
|
59
81
|
});
|
|
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
|
-
});
|
|
71
82
|
});
|
|
@@ -7,8 +7,7 @@ exports.createDefaultEmptyComponent = createDefaultEmptyComponent;
|
|
|
7
7
|
function createDefaultEmptyComponent(_ref) {
|
|
8
8
|
var createElement = _ref.createElement,
|
|
9
9
|
Fragment = _ref.Fragment;
|
|
10
|
-
var _ref2 = createElement(Fragment, null, "No results");
|
|
11
10
|
return function DefaultEmpty() {
|
|
12
|
-
return
|
|
11
|
+
return createElement(Fragment, null, "No results");
|
|
13
12
|
};
|
|
14
13
|
}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
function
|
|
6
|
+
exports.createListComponent = createListComponent;
|
|
7
|
+
function createListComponent(_ref) {
|
|
8
8
|
var createElement = _ref.createElement;
|
|
9
|
-
return function
|
|
9
|
+
return function List(userProps) {
|
|
10
10
|
var _userProps$classNames = userProps.classNames,
|
|
11
11
|
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
|
|
12
12
|
ItemComponent = userProps.itemComponent,
|
|
@@ -36,14 +36,14 @@ Object.keys(_DefaultItem).forEach(function (key) {
|
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
38
|
});
|
|
39
|
-
var
|
|
40
|
-
Object.keys(
|
|
39
|
+
var _List = require("./List");
|
|
40
|
+
Object.keys(_List).forEach(function (key) {
|
|
41
41
|
if (key === "default" || key === "__esModule") return;
|
|
42
|
-
if (key in exports && exports[key] ===
|
|
42
|
+
if (key in exports && exports[key] === _List[key]) return;
|
|
43
43
|
Object.defineProperty(exports, key, {
|
|
44
44
|
enumerable: true,
|
|
45
45
|
get: function get() {
|
|
46
|
-
return
|
|
46
|
+
return _List[key];
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
});
|
package/dist/cjs/version.js
CHANGED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { ComponentProps, MutableRef, RecommendItemComponentProps, RecordWithObjectID, Renderer } from '../types';
|
|
2
|
+
export type CarouselProps<TObject, TComponentProps extends Record<string, unknown> = Record<string, unknown>> = ComponentProps<'div'> & {
|
|
3
|
+
listRef: MutableRef<HTMLOListElement | null>;
|
|
4
|
+
nextButtonRef: MutableRef<HTMLButtonElement | null>;
|
|
5
|
+
previousButtonRef: MutableRef<HTMLButtonElement | null>;
|
|
6
|
+
carouselIdRef: MutableRef<string>;
|
|
7
|
+
items: Array<RecordWithObjectID<TObject>>;
|
|
8
|
+
itemComponent?: (props: RecommendItemComponentProps<RecordWithObjectID<TObject>> & TComponentProps) => JSX.Element;
|
|
9
|
+
previousIconComponent?: () => JSX.Element;
|
|
10
|
+
nextIconComponent?: () => JSX.Element;
|
|
11
|
+
classNames?: Partial<CarouselClassNames>;
|
|
12
|
+
translations?: Partial<CarouselTranslations>;
|
|
13
|
+
};
|
|
14
|
+
export type CarouselClassNames = {
|
|
15
|
+
/**
|
|
16
|
+
* Class names to apply to the root element
|
|
17
|
+
*/
|
|
18
|
+
root: string | string[];
|
|
19
|
+
/**
|
|
20
|
+
* Class names to apply to the list element
|
|
21
|
+
*/
|
|
22
|
+
list: string | string[];
|
|
23
|
+
/**
|
|
24
|
+
* Class names to apply to each item element
|
|
25
|
+
*/
|
|
26
|
+
item: string | string[];
|
|
27
|
+
/**
|
|
28
|
+
* Class names to apply to both navigation elements
|
|
29
|
+
*/
|
|
30
|
+
navigation: string | string[];
|
|
31
|
+
/**
|
|
32
|
+
* Class names to apply to the next navigation element
|
|
33
|
+
*/
|
|
34
|
+
navigationNext: string | string[];
|
|
35
|
+
/**
|
|
36
|
+
* Class names to apply to the previous navigation element
|
|
37
|
+
*/
|
|
38
|
+
navigationPrevious: string | string[];
|
|
39
|
+
};
|
|
40
|
+
export type CarouselTranslations = {
|
|
41
|
+
/**
|
|
42
|
+
* The label of the next navigation element
|
|
43
|
+
*/
|
|
44
|
+
nextButtonLabel: string;
|
|
45
|
+
/**
|
|
46
|
+
* The title of the next navigation element
|
|
47
|
+
*/
|
|
48
|
+
nextButtonTitle: string;
|
|
49
|
+
/**
|
|
50
|
+
* The label of the previous navigation element
|
|
51
|
+
*/
|
|
52
|
+
previousButtonLabel: string;
|
|
53
|
+
/**
|
|
54
|
+
* The title of the previous navigation element
|
|
55
|
+
*/
|
|
56
|
+
previousButtonTitle: string;
|
|
57
|
+
/**
|
|
58
|
+
* The label of the carousel
|
|
59
|
+
*/
|
|
60
|
+
listLabel: string;
|
|
61
|
+
};
|
|
62
|
+
export declare function generateCarouselId(): string;
|
|
63
|
+
export declare function createCarouselComponent({ createElement, Fragment }: Renderer): <TObject extends Record<string, unknown>>(userProps: CarouselProps<TObject>) => JSX.Element | null;
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["listRef", "nextButtonRef", "previousButtonRef", "carouselIdRef", "classNames", "itemComponent", "previousIconComponent", "nextIconComponent", "items", "translations"];
|
|
5
|
+
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; }
|
|
6
|
+
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; }
|
|
7
|
+
import { cx } from "../lib/index.js";
|
|
8
|
+
import { createDefaultItemComponent } from "./recommend-shared/index.js";
|
|
9
|
+
var lastCarouselId = 0;
|
|
10
|
+
export function generateCarouselId() {
|
|
11
|
+
return "ais-Carousel-".concat(lastCarouselId++);
|
|
12
|
+
}
|
|
13
|
+
function PreviousIconDefaultComponent(_ref) {
|
|
14
|
+
var createElement = _ref.createElement;
|
|
15
|
+
return createElement("svg", {
|
|
16
|
+
width: "8",
|
|
17
|
+
height: "16",
|
|
18
|
+
viewBox: "0 0 8 16",
|
|
19
|
+
fill: "none"
|
|
20
|
+
}, createElement("path", {
|
|
21
|
+
fillRule: "evenodd",
|
|
22
|
+
clipRule: "evenodd",
|
|
23
|
+
fill: "currentColor",
|
|
24
|
+
d: "M7.13809 0.744078C7.39844 1.06951 7.39844 1.59715 7.13809 1.92259L2.27616 8L7.13809 14.0774C7.39844 14.4028 7.39844 14.9305 7.13809 15.2559C6.87774 15.5814 6.45563 15.5814 6.19528 15.2559L0.861949 8.58926C0.6016 8.26382 0.6016 7.73618 0.861949 7.41074L6.19528 0.744078C6.45563 0.418641 6.87774 0.418641 7.13809 0.744078Z"
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
function NextIconDefaultComponent(_ref2) {
|
|
28
|
+
var createElement = _ref2.createElement;
|
|
29
|
+
return createElement("svg", {
|
|
30
|
+
width: "8",
|
|
31
|
+
height: "16",
|
|
32
|
+
viewBox: "0 0 8 16",
|
|
33
|
+
fill: "none"
|
|
34
|
+
}, createElement("path", {
|
|
35
|
+
fillRule: "evenodd",
|
|
36
|
+
clipRule: "evenodd",
|
|
37
|
+
fill: "currentColor",
|
|
38
|
+
d: "M0.861908 15.2559C0.601559 14.9305 0.601559 14.4028 0.861908 14.0774L5.72384 8L0.861908 1.92259C0.601559 1.59715 0.601559 1.06952 0.861908 0.744079C1.12226 0.418642 1.54437 0.418642 1.80472 0.744079L7.13805 7.41074C7.3984 7.73618 7.3984 8.26382 7.13805 8.58926L1.80472 15.2559C1.54437 15.5814 1.12226 15.5814 0.861908 15.2559Z"
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
export function createCarouselComponent(_ref3) {
|
|
42
|
+
var createElement = _ref3.createElement,
|
|
43
|
+
Fragment = _ref3.Fragment;
|
|
44
|
+
return function Carousel(userProps) {
|
|
45
|
+
var listRef = userProps.listRef,
|
|
46
|
+
nextButtonRef = userProps.nextButtonRef,
|
|
47
|
+
previousButtonRef = userProps.previousButtonRef,
|
|
48
|
+
carouselIdRef = userProps.carouselIdRef,
|
|
49
|
+
_userProps$classNames = userProps.classNames,
|
|
50
|
+
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
|
|
51
|
+
_userProps$itemCompon = userProps.itemComponent,
|
|
52
|
+
ItemComponent = _userProps$itemCompon === void 0 ? createDefaultItemComponent({
|
|
53
|
+
createElement: createElement,
|
|
54
|
+
Fragment: Fragment
|
|
55
|
+
}) : _userProps$itemCompon,
|
|
56
|
+
_userProps$previousIc = userProps.previousIconComponent,
|
|
57
|
+
PreviousIconComponent = _userProps$previousIc === void 0 ? PreviousIconDefaultComponent : _userProps$previousIc,
|
|
58
|
+
_userProps$nextIconCo = userProps.nextIconComponent,
|
|
59
|
+
NextIconComponent = _userProps$nextIconCo === void 0 ? NextIconDefaultComponent : _userProps$nextIconCo,
|
|
60
|
+
items = userProps.items,
|
|
61
|
+
userTranslations = userProps.translations,
|
|
62
|
+
props = _objectWithoutProperties(userProps, _excluded);
|
|
63
|
+
var translations = _objectSpread({
|
|
64
|
+
listLabel: 'Items',
|
|
65
|
+
nextButtonLabel: 'Next',
|
|
66
|
+
nextButtonTitle: 'Next',
|
|
67
|
+
previousButtonLabel: 'Previous',
|
|
68
|
+
previousButtonTitle: 'Previous'
|
|
69
|
+
}, userTranslations);
|
|
70
|
+
var cssClasses = {
|
|
71
|
+
root: cx('ais-Carousel', classNames.root),
|
|
72
|
+
list: cx('ais-Carousel-list', classNames.list),
|
|
73
|
+
item: cx('ais-Carousel-item', classNames.item),
|
|
74
|
+
navigation: cx('ais-Carousel-navigation', classNames.navigation),
|
|
75
|
+
navigationNext: cx('ais-Carousel-navigation--next', classNames.navigationNext),
|
|
76
|
+
navigationPrevious: cx('ais-Carousel-navigation--previous', classNames.navigationPrevious)
|
|
77
|
+
};
|
|
78
|
+
function scrollLeft() {
|
|
79
|
+
if (listRef.current) {
|
|
80
|
+
listRef.current.scrollLeft -= listRef.current.offsetWidth * 0.75;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function scrollRight() {
|
|
84
|
+
if (listRef.current) {
|
|
85
|
+
listRef.current.scrollLeft += listRef.current.offsetWidth * 0.75;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function updateNavigationButtonsProps() {
|
|
89
|
+
if (!listRef.current || !previousButtonRef.current || !nextButtonRef.current) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
previousButtonRef.current.hidden = listRef.current.scrollLeft <= 0;
|
|
93
|
+
nextButtonRef.current.hidden = listRef.current.scrollLeft + listRef.current.clientWidth >= listRef.current.scrollWidth;
|
|
94
|
+
}
|
|
95
|
+
if (items.length === 0) {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
return createElement("div", _extends({}, props, {
|
|
99
|
+
className: cx(cssClasses.root)
|
|
100
|
+
}), createElement("button", {
|
|
101
|
+
ref: previousButtonRef,
|
|
102
|
+
title: translations.previousButtonTitle,
|
|
103
|
+
"aria-label": translations.previousButtonLabel,
|
|
104
|
+
hidden: true,
|
|
105
|
+
"aria-controls": carouselIdRef.current,
|
|
106
|
+
className: cx(cssClasses.navigation, cssClasses.navigationPrevious),
|
|
107
|
+
onClick: function onClick(event) {
|
|
108
|
+
event.preventDefault();
|
|
109
|
+
scrollLeft();
|
|
110
|
+
}
|
|
111
|
+
}, createElement(PreviousIconComponent, {
|
|
112
|
+
createElement: createElement
|
|
113
|
+
})), createElement("ol", {
|
|
114
|
+
className: cx(cssClasses.list),
|
|
115
|
+
ref: listRef,
|
|
116
|
+
tabIndex: 0,
|
|
117
|
+
id: carouselIdRef.current,
|
|
118
|
+
"aria-roledescription": "carousel",
|
|
119
|
+
"aria-label": translations.listLabel,
|
|
120
|
+
"aria-live": "polite",
|
|
121
|
+
onScroll: updateNavigationButtonsProps,
|
|
122
|
+
onKeyDown: function onKeyDown(event) {
|
|
123
|
+
if (event.key === 'ArrowLeft') {
|
|
124
|
+
event.preventDefault();
|
|
125
|
+
scrollLeft();
|
|
126
|
+
} else if (event.key === 'ArrowRight') {
|
|
127
|
+
event.preventDefault();
|
|
128
|
+
scrollRight();
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}, items.map(function (item, index) {
|
|
132
|
+
return createElement("li", {
|
|
133
|
+
key: item.objectID,
|
|
134
|
+
className: cx(cssClasses.item),
|
|
135
|
+
"aria-roledescription": "slide",
|
|
136
|
+
"aria-label": "".concat(index + 1, " of ").concat(items.length)
|
|
137
|
+
}, createElement(ItemComponent, {
|
|
138
|
+
item: item
|
|
139
|
+
}));
|
|
140
|
+
})), createElement("button", {
|
|
141
|
+
ref: nextButtonRef,
|
|
142
|
+
title: translations.nextButtonTitle,
|
|
143
|
+
"aria-label": translations.nextButtonLabel,
|
|
144
|
+
"aria-controls": carouselIdRef.current,
|
|
145
|
+
className: cx(cssClasses.navigation, cssClasses.navigationNext),
|
|
146
|
+
onClick: function onClick(event) {
|
|
147
|
+
event.preventDefault();
|
|
148
|
+
scrollRight();
|
|
149
|
+
}
|
|
150
|
+
}, createElement(NextIconComponent, {
|
|
151
|
+
createElement: createElement
|
|
152
|
+
})));
|
|
153
|
+
};
|
|
154
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/** @jsx createElement */
|
|
2
2
|
import type { Renderer, ComponentProps, RecommendComponentProps } from '../types';
|
|
3
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
|
|
4
|
+
export declare function createFrequentlyBoughtTogetherComponent({ createElement, Fragment, }: Renderer): <TObject>(userProps: FrequentlyBoughtTogetherProps<TObject>) => JSX.Element;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "
|
|
4
|
+
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "layout", "items", "status", "translations", "sendEvent"];
|
|
5
5
|
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; }
|
|
6
6
|
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; }
|
|
7
7
|
import { cx } from "../lib/index.js";
|
|
8
|
-
import { createDefaultEmptyComponent, createDefaultHeaderComponent, createDefaultItemComponent,
|
|
8
|
+
import { createDefaultEmptyComponent, createDefaultHeaderComponent, createDefaultItemComponent, createListComponent } from "./recommend-shared/index.js";
|
|
9
9
|
export function createFrequentlyBoughtTogetherComponent(_ref) {
|
|
10
10
|
var createElement = _ref.createElement,
|
|
11
11
|
Fragment = _ref.Fragment;
|
|
@@ -27,11 +27,11 @@ export function createFrequentlyBoughtTogetherComponent(_ref) {
|
|
|
27
27
|
createElement: createElement,
|
|
28
28
|
Fragment: Fragment
|
|
29
29
|
}) : _userProps$itemCompon,
|
|
30
|
-
_userProps$
|
|
31
|
-
|
|
30
|
+
_userProps$layout = userProps.layout,
|
|
31
|
+
Layout = _userProps$layout === void 0 ? createListComponent({
|
|
32
32
|
createElement: createElement,
|
|
33
33
|
Fragment: Fragment
|
|
34
|
-
}) : _userProps$
|
|
34
|
+
}) : _userProps$layout,
|
|
35
35
|
items = userProps.items,
|
|
36
36
|
status = userProps.status,
|
|
37
37
|
userTranslations = userProps.translations,
|
|
@@ -60,9 +60,8 @@ export function createFrequentlyBoughtTogetherComponent(_ref) {
|
|
|
60
60
|
classNames: cssClasses,
|
|
61
61
|
items: items,
|
|
62
62
|
translations: translations
|
|
63
|
-
}), createElement(
|
|
63
|
+
}), createElement(Layout, {
|
|
64
64
|
classNames: cssClasses,
|
|
65
|
-
translations: translations,
|
|
66
65
|
itemComponent: ItemComponent,
|
|
67
66
|
items: items,
|
|
68
67
|
sendEvent: sendEvent
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/** @jsx createElement */
|
|
2
2
|
import type { ComponentProps, RecommendComponentProps, Renderer } from '../types';
|
|
3
3
|
export type LookingSimilarProps<TObject, TComponentProps extends Record<string, unknown> = Record<string, unknown>> = ComponentProps<'div'> & RecommendComponentProps<TObject, TComponentProps>;
|
|
4
|
-
export declare function createLookingSimilarComponent({ createElement, Fragment, }: Renderer): <TObject>(userProps: LookingSimilarProps<TObject
|
|
4
|
+
export declare function createLookingSimilarComponent({ createElement, Fragment, }: Renderer): <TObject>(userProps: LookingSimilarProps<TObject>) => JSX.Element;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "
|
|
4
|
+
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "layout", "items", "status", "translations", "sendEvent"];
|
|
5
5
|
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; }
|
|
6
6
|
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; }
|
|
7
7
|
import { cx } from "../lib/index.js";
|
|
8
|
-
import { createDefaultEmptyComponent, createDefaultHeaderComponent, createDefaultItemComponent,
|
|
8
|
+
import { createDefaultEmptyComponent, createDefaultHeaderComponent, createDefaultItemComponent, createListComponent } from "./recommend-shared/index.js";
|
|
9
9
|
export function createLookingSimilarComponent(_ref) {
|
|
10
10
|
var createElement = _ref.createElement,
|
|
11
11
|
Fragment = _ref.Fragment;
|
|
@@ -27,11 +27,11 @@ export function createLookingSimilarComponent(_ref) {
|
|
|
27
27
|
createElement: createElement,
|
|
28
28
|
Fragment: Fragment
|
|
29
29
|
}) : _userProps$itemCompon,
|
|
30
|
-
_userProps$
|
|
31
|
-
|
|
30
|
+
_userProps$layout = userProps.layout,
|
|
31
|
+
Layout = _userProps$layout === void 0 ? createListComponent({
|
|
32
32
|
createElement: createElement,
|
|
33
33
|
Fragment: Fragment
|
|
34
|
-
}) : _userProps$
|
|
34
|
+
}) : _userProps$layout,
|
|
35
35
|
items = userProps.items,
|
|
36
36
|
status = userProps.status,
|
|
37
37
|
userTranslations = userProps.translations,
|
|
@@ -60,9 +60,8 @@ export function createLookingSimilarComponent(_ref) {
|
|
|
60
60
|
classNames: cssClasses,
|
|
61
61
|
items: items,
|
|
62
62
|
translations: translations
|
|
63
|
-
}), createElement(
|
|
63
|
+
}), createElement(Layout, {
|
|
64
64
|
classNames: cssClasses,
|
|
65
|
-
translations: translations,
|
|
66
65
|
itemComponent: ItemComponent,
|
|
67
66
|
items: items,
|
|
68
67
|
sendEvent: sendEvent
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/** @jsx createElement */
|
|
2
2
|
import type { ComponentProps, RecommendComponentProps, Renderer } from '../types';
|
|
3
3
|
export type RelatedProductsProps<TObject, TComponentProps extends Record<string, unknown> = Record<string, unknown>> = ComponentProps<'div'> & RecommendComponentProps<TObject, TComponentProps>;
|
|
4
|
-
export declare function createRelatedProductsComponent({ createElement, Fragment, }: Renderer): <TObject>(userProps: RelatedProductsProps<TObject
|
|
4
|
+
export declare function createRelatedProductsComponent({ createElement, Fragment, }: Renderer): <TObject>(userProps: RelatedProductsProps<TObject>) => JSX.Element;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "
|
|
4
|
+
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "layout", "items", "status", "translations", "sendEvent"];
|
|
5
5
|
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; }
|
|
6
6
|
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; }
|
|
7
7
|
import { cx } from "../lib/index.js";
|
|
8
|
-
import { createDefaultEmptyComponent, createDefaultHeaderComponent, createDefaultItemComponent,
|
|
8
|
+
import { createDefaultEmptyComponent, createDefaultHeaderComponent, createDefaultItemComponent, createListComponent } from "./recommend-shared/index.js";
|
|
9
9
|
export function createRelatedProductsComponent(_ref) {
|
|
10
10
|
var createElement = _ref.createElement,
|
|
11
11
|
Fragment = _ref.Fragment;
|
|
@@ -27,11 +27,11 @@ export function createRelatedProductsComponent(_ref) {
|
|
|
27
27
|
createElement: createElement,
|
|
28
28
|
Fragment: Fragment
|
|
29
29
|
}) : _userProps$itemCompon,
|
|
30
|
-
_userProps$
|
|
31
|
-
|
|
30
|
+
_userProps$layout = userProps.layout,
|
|
31
|
+
Layout = _userProps$layout === void 0 ? createListComponent({
|
|
32
32
|
createElement: createElement,
|
|
33
33
|
Fragment: Fragment
|
|
34
|
-
}) : _userProps$
|
|
34
|
+
}) : _userProps$layout,
|
|
35
35
|
items = userProps.items,
|
|
36
36
|
status = userProps.status,
|
|
37
37
|
userTranslations = userProps.translations,
|
|
@@ -60,9 +60,8 @@ export function createRelatedProductsComponent(_ref) {
|
|
|
60
60
|
classNames: cssClasses,
|
|
61
61
|
items: items,
|
|
62
62
|
translations: translations
|
|
63
|
-
}), createElement(
|
|
63
|
+
}), createElement(Layout, {
|
|
64
64
|
classNames: cssClasses,
|
|
65
|
-
translations: translations,
|
|
66
65
|
itemComponent: ItemComponent,
|
|
67
66
|
items: items,
|
|
68
67
|
sendEvent: sendEvent
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/** @jsx createElement */
|
|
2
2
|
import type { ComponentProps, RecommendComponentProps, Renderer } from '../types';
|
|
3
3
|
export type TrendingItemsProps<TObject, TComponentProps extends Record<string, unknown> = Record<string, unknown>> = ComponentProps<'div'> & RecommendComponentProps<TObject, TComponentProps>;
|
|
4
|
-
export declare function createTrendingItemsComponent({ createElement, Fragment, }: Renderer): <TObject>(userProps: TrendingItemsProps<TObject
|
|
4
|
+
export declare function createTrendingItemsComponent({ createElement, Fragment, }: Renderer): <TObject>(userProps: TrendingItemsProps<TObject>) => JSX.Element;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "
|
|
4
|
+
var _excluded = ["classNames", "emptyComponent", "headerComponent", "itemComponent", "layout", "items", "status", "translations", "sendEvent"];
|
|
5
5
|
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; }
|
|
6
6
|
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; }
|
|
7
7
|
import { cx } from "../lib/index.js";
|
|
8
|
-
import { createDefaultEmptyComponent, createDefaultHeaderComponent, createDefaultItemComponent,
|
|
8
|
+
import { createDefaultEmptyComponent, createDefaultHeaderComponent, createDefaultItemComponent, createListComponent } from "./recommend-shared/index.js";
|
|
9
9
|
export function createTrendingItemsComponent(_ref) {
|
|
10
10
|
var createElement = _ref.createElement,
|
|
11
11
|
Fragment = _ref.Fragment;
|
|
@@ -27,11 +27,11 @@ export function createTrendingItemsComponent(_ref) {
|
|
|
27
27
|
createElement: createElement,
|
|
28
28
|
Fragment: Fragment
|
|
29
29
|
}) : _userProps$itemCompon,
|
|
30
|
-
_userProps$
|
|
31
|
-
|
|
30
|
+
_userProps$layout = userProps.layout,
|
|
31
|
+
Layout = _userProps$layout === void 0 ? createListComponent({
|
|
32
32
|
createElement: createElement,
|
|
33
33
|
Fragment: Fragment
|
|
34
|
-
}) : _userProps$
|
|
34
|
+
}) : _userProps$layout,
|
|
35
35
|
items = userProps.items,
|
|
36
36
|
status = userProps.status,
|
|
37
37
|
userTranslations = userProps.translations,
|
|
@@ -60,9 +60,8 @@ export function createTrendingItemsComponent(_ref) {
|
|
|
60
60
|
classNames: cssClasses,
|
|
61
61
|
items: items,
|
|
62
62
|
translations: translations
|
|
63
|
-
}), createElement(
|
|
63
|
+
}), createElement(Layout, {
|
|
64
64
|
classNames: cssClasses,
|
|
65
|
-
translations: translations,
|
|
66
65
|
itemComponent: ItemComponent,
|
|
67
66
|
items: items,
|
|
68
67
|
sendEvent: sendEvent
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
export * from './Carousel';
|
|
1
2
|
export * from './FrequentlyBoughtTogether';
|
|
2
3
|
export * from './Highlight';
|
|
3
4
|
export * from './Hits';
|
|
5
|
+
export * from './LookingSimilar';
|
|
4
6
|
export * from './RelatedProducts';
|
|
5
7
|
export * from './TrendingItems';
|
|
6
|
-
export * from './LookingSimilar';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
export * from "./Carousel.js";
|
|
1
2
|
export * from "./FrequentlyBoughtTogether.js";
|
|
2
3
|
export * from "./Highlight.js";
|
|
3
4
|
export * from "./Hits.js";
|
|
5
|
+
export * from "./LookingSimilar.js";
|
|
4
6
|
export * from "./RelatedProducts.js";
|
|
5
|
-
export * from "./TrendingItems.js";
|
|
6
|
-
export * from "./LookingSimilar.js";
|
|
7
|
+
export * from "./TrendingItems.js";
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
export function createDefaultEmptyComponent(_ref) {
|
|
2
2
|
var createElement = _ref.createElement,
|
|
3
3
|
Fragment = _ref.Fragment;
|
|
4
|
-
var _ref2 = createElement(Fragment, null, "No results");
|
|
5
4
|
return function DefaultEmpty() {
|
|
6
|
-
return
|
|
5
|
+
return createElement(Fragment, null, "No results");
|
|
7
6
|
};
|
|
8
7
|
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** @jsx createElement */
|
|
2
|
+
import type { RecommendClassNames, RecordWithObjectID, Renderer, RecommendLayoutProps } from '../../types';
|
|
3
|
+
export declare function createListComponent({ createElement }: Renderer): <TItem extends RecordWithObjectID>(userProps: RecommendLayoutProps<TItem, Partial<RecommendClassNames>>) => JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export function
|
|
1
|
+
export function createListComponent(_ref) {
|
|
2
2
|
var createElement = _ref.createElement;
|
|
3
|
-
return function
|
|
3
|
+
return function List(userProps) {
|
|
4
4
|
var _userProps$classNames = userProps.classNames,
|
|
5
5
|
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
|
|
6
6
|
ItemComponent = userProps.itemComponent,
|
|
@@ -35,11 +35,10 @@ export type RecommendTranslations = {
|
|
|
35
35
|
*/
|
|
36
36
|
sliderLabel: string;
|
|
37
37
|
};
|
|
38
|
-
export type
|
|
38
|
+
export type RecommendLayoutProps<TItem extends RecordWithObjectID, TClassNames extends Record<string, string>> = {
|
|
39
39
|
classNames: TClassNames;
|
|
40
40
|
itemComponent: <TComponentProps extends Record<string, unknown> = Record<string, unknown>>(props: RecommendItemComponentProps<RecordWithObjectID<TItem>> & TComponentProps) => JSX.Element;
|
|
41
41
|
items: TItem[];
|
|
42
|
-
translations: TTranslations;
|
|
43
42
|
sendEvent: SendEventForHits;
|
|
44
43
|
};
|
|
45
44
|
export type RecommendComponentProps<TObject, TComponentProps extends Record<string, unknown> = Record<string, unknown>> = {
|
|
@@ -51,7 +50,7 @@ export type RecommendComponentProps<TObject, TComponentProps extends Record<stri
|
|
|
51
50
|
status: RecommendStatus;
|
|
52
51
|
translations?: Partial<RecommendTranslations>;
|
|
53
52
|
sendEvent: SendEventForHits;
|
|
54
|
-
|
|
53
|
+
layout?: (props: RecommendLayoutProps<RecordWithObjectID<TObject>, Record<string, string>> & TComponentProps) => JSX.Element;
|
|
55
54
|
};
|
|
56
55
|
export type RecommendInnerComponentProps<TObject> = {
|
|
57
56
|
classNames: Partial<RecommendClassNames>;
|
|
@@ -60,8 +59,6 @@ export type RecommendInnerComponentProps<TObject> = {
|
|
|
60
59
|
};
|
|
61
60
|
export type RecordWithObjectID<TObject = Record<string, unknown>> = TObject & {
|
|
62
61
|
objectID: string;
|
|
63
|
-
__position: number;
|
|
64
|
-
__queryID?: string;
|
|
65
62
|
};
|
|
66
63
|
export type RecommendItemComponentProps<TObject> = {
|
|
67
64
|
item: TObject;
|
|
@@ -19,6 +19,9 @@ export type ElementType<TProps = any> = {
|
|
|
19
19
|
[TKey in keyof IntrinsicElements]: TProps extends IntrinsicElements[TKey] ? TKey : never;
|
|
20
20
|
}[keyof IntrinsicElements] | FunctionComponent<TProps>;
|
|
21
21
|
export type ComponentProps<TComponent extends keyof IntrinsicElements> = IntrinsicElements[TComponent];
|
|
22
|
+
export type MutableRef<T> = {
|
|
23
|
+
current: T;
|
|
24
|
+
};
|
|
22
25
|
export type VNode<TProps = any> = {
|
|
23
26
|
type: any;
|
|
24
27
|
props: TProps & {
|
package/dist/es/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "0.
|
|
1
|
+
declare const _default: "0.9.0";
|
|
2
2
|
export default _default;
|
package/dist/es/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default '0.
|
|
1
|
+
export default '0.9.0';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "instantsearch-ui-components",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "Common UI components for InstantSearch.",
|
|
5
5
|
"types": "dist/es/index.d.ts",
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
"scripts": {
|
|
40
40
|
"clean": "rm -rf dist",
|
|
41
41
|
"build": "yarn build:cjs && yarn build:es && yarn build:types",
|
|
42
|
-
"build:es:base": "BABEL_ENV=es babel src --root-mode upward --extensions '.js,.ts,.tsx' --out-dir dist/es --ignore '**/__tests__/**/*','**/__mocks__/**/*'",
|
|
42
|
+
"build:es:base": "BABEL_ENV=es,disableHoisting babel src --root-mode upward --extensions '.js,.ts,.tsx' --out-dir dist/es --ignore '**/__tests__/**/*','**/__mocks__/**/*'",
|
|
43
43
|
"build:es": "yarn build:es:base --quiet",
|
|
44
|
-
"build:cjs": "BABEL_ENV=cjs babel src --root-mode upward --extensions '.js,.ts,.tsx' --out-dir dist/cjs --ignore '**/__tests__/**/*','**/__mocks__/**/*' --quiet && ../../scripts/prepare-cjs.sh",
|
|
44
|
+
"build:cjs": "BABEL_ENV=cjs,disableHoisting babel src --root-mode upward --extensions '.js,.ts,.tsx' --out-dir dist/cjs --ignore '**/__tests__/**/*','**/__mocks__/**/*' --quiet && ../../scripts/prepare-cjs.sh",
|
|
45
45
|
"build:types": "tsc -p ./tsconfig.declaration.json --outDir ./dist/es",
|
|
46
46
|
"version": "./scripts/version.cjs",
|
|
47
47
|
"watch:es": "yarn --silent build:es:base --watch"
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"@babel/runtime": "^7.1.2"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "1583f2bc8e74ccccc59a0bd0193f69f9c77bf636"
|
|
53
53
|
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/** @jsx createElement */
|
|
2
|
-
import type { RecommendClassNames, RecommendTranslations, RecordWithObjectID, Renderer, RecommendViewProps } from '../../types';
|
|
3
|
-
export declare function createListViewComponent({ createElement }: Renderer): <TItem extends RecordWithObjectID>(userProps: RecommendViewProps<TItem, RecommendTranslations, Partial<RecommendClassNames>>) => JSX.Element;
|