@searchspring/snap-preact-components 0.20.3 → 0.21.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/Atoms/Merchandising/InlineBanner.d.ts +1 -0
- package/dist/cjs/components/Atoms/Merchandising/InlineBanner.d.ts.map +1 -1
- package/dist/cjs/components/Atoms/Merchandising/InlineBanner.js +5 -3
- package/dist/cjs/components/Atoms/Merchandising/InlineBanner.stories.d.ts +9 -0
- package/dist/cjs/components/Atoms/Merchandising/InlineBanner.stories.d.ts.map +1 -1
- package/dist/cjs/components/Atoms/Merchandising/InlineBanner.stories.js +8 -0
- package/dist/cjs/components/Molecules/Carousel/Carousel.d.ts +37 -2
- package/dist/cjs/components/Molecules/Carousel/Carousel.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/Carousel/Carousel.js +26 -11
- package/dist/cjs/components/Molecules/Carousel/Carousel.stories.d.ts +15 -0
- package/dist/cjs/components/Molecules/Carousel/Carousel.stories.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/Carousel/Carousel.stories.js +10 -0
- package/dist/cjs/components/Molecules/FacetGridOptions/FacetGridOptions.d.ts +2 -1
- package/dist/cjs/components/Molecules/FacetGridOptions/FacetGridOptions.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/FacetGridOptions/FacetGridOptions.js +6 -2
- package/dist/cjs/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.d.ts +2 -1
- package/dist/cjs/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.js +6 -2
- package/dist/cjs/components/Molecules/FacetListOptions/FacetListOptions.d.ts +2 -1
- package/dist/cjs/components/Molecules/FacetListOptions/FacetListOptions.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/FacetListOptions/FacetListOptions.js +6 -2
- package/dist/cjs/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.d.ts +2 -1
- package/dist/cjs/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.js +6 -2
- package/dist/cjs/components/Molecules/Result/Result.d.ts +1 -0
- package/dist/cjs/components/Molecules/Result/Result.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/Result/Result.js +5 -3
- package/dist/cjs/components/Molecules/Result/Result.stories.d.ts +9 -0
- package/dist/cjs/components/Molecules/Result/Result.stories.d.ts.map +1 -1
- package/dist/cjs/components/Molecules/Result/Result.stories.js +8 -0
- package/dist/cjs/components/Organisms/Autocomplete/Autocomplete.d.ts +3 -2
- package/dist/cjs/components/Organisms/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/cjs/components/Organisms/Autocomplete/Autocomplete.js +52 -52
- package/dist/cjs/components/Organisms/Autocomplete/Autocomplete.stories.d.ts +18 -0
- package/dist/cjs/components/Organisms/Autocomplete/Autocomplete.stories.d.ts.map +1 -1
- package/dist/cjs/components/Organisms/Autocomplete/Autocomplete.stories.js +16 -0
- package/dist/cjs/components/Organisms/Recommendation/Recommendation.d.ts +2 -2
- package/dist/cjs/components/Organisms/Recommendation/Recommendation.d.ts.map +1 -1
- package/dist/cjs/components/Organisms/Recommendation/Recommendation.js +9 -36
- package/dist/cjs/components/Organisms/Results/Results.d.ts +1 -7
- package/dist/cjs/components/Organisms/Results/Results.d.ts.map +1 -1
- package/dist/cjs/hooks/useDisplaySettings.d.ts +1 -1
- package/dist/cjs/hooks/useDisplaySettings.d.ts.map +1 -1
- package/dist/cjs/types.d.ts +6 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/components/Atoms/Merchandising/InlineBanner.d.ts +1 -0
- package/dist/esm/components/Atoms/Merchandising/InlineBanner.d.ts.map +1 -1
- package/dist/esm/components/Atoms/Merchandising/InlineBanner.js +6 -4
- package/dist/esm/components/Atoms/Merchandising/InlineBanner.stories.d.ts +9 -0
- package/dist/esm/components/Atoms/Merchandising/InlineBanner.stories.d.ts.map +1 -1
- package/dist/esm/components/Atoms/Merchandising/InlineBanner.stories.js +9 -0
- package/dist/esm/components/Molecules/Carousel/Carousel.d.ts +37 -2
- package/dist/esm/components/Molecules/Carousel/Carousel.d.ts.map +1 -1
- package/dist/esm/components/Molecules/Carousel/Carousel.js +30 -10
- package/dist/esm/components/Molecules/Carousel/Carousel.stories.d.ts +15 -0
- package/dist/esm/components/Molecules/Carousel/Carousel.stories.d.ts.map +1 -1
- package/dist/esm/components/Molecules/Carousel/Carousel.stories.js +11 -0
- package/dist/esm/components/Molecules/FacetGridOptions/FacetGridOptions.d.ts +2 -1
- package/dist/esm/components/Molecules/FacetGridOptions/FacetGridOptions.d.ts.map +1 -1
- package/dist/esm/components/Molecules/FacetGridOptions/FacetGridOptions.js +4 -1
- package/dist/esm/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.d.ts +2 -1
- package/dist/esm/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.d.ts.map +1 -1
- package/dist/esm/components/Molecules/FacetHierarchyOptions/FacetHierarchyOptions.js +4 -1
- package/dist/esm/components/Molecules/FacetListOptions/FacetListOptions.d.ts +2 -1
- package/dist/esm/components/Molecules/FacetListOptions/FacetListOptions.d.ts.map +1 -1
- package/dist/esm/components/Molecules/FacetListOptions/FacetListOptions.js +4 -1
- package/dist/esm/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.d.ts +2 -1
- package/dist/esm/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.d.ts.map +1 -1
- package/dist/esm/components/Molecules/FacetPaletteOptions/FacetPaletteOptions.js +4 -1
- package/dist/esm/components/Molecules/Result/Result.d.ts +1 -0
- package/dist/esm/components/Molecules/Result/Result.d.ts.map +1 -1
- package/dist/esm/components/Molecules/Result/Result.js +5 -3
- package/dist/esm/components/Molecules/Result/Result.stories.d.ts +9 -0
- package/dist/esm/components/Molecules/Result/Result.stories.d.ts.map +1 -1
- package/dist/esm/components/Molecules/Result/Result.stories.js +9 -0
- package/dist/esm/components/Organisms/Autocomplete/Autocomplete.d.ts +3 -2
- package/dist/esm/components/Organisms/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/esm/components/Organisms/Autocomplete/Autocomplete.js +52 -51
- package/dist/esm/components/Organisms/Autocomplete/Autocomplete.stories.d.ts +18 -0
- package/dist/esm/components/Organisms/Autocomplete/Autocomplete.stories.d.ts.map +1 -1
- package/dist/esm/components/Organisms/Autocomplete/Autocomplete.stories.js +18 -0
- package/dist/esm/components/Organisms/Recommendation/Recommendation.d.ts +2 -2
- package/dist/esm/components/Organisms/Recommendation/Recommendation.d.ts.map +1 -1
- package/dist/esm/components/Organisms/Recommendation/Recommendation.js +15 -38
- package/dist/esm/components/Organisms/Results/Results.d.ts +1 -7
- package/dist/esm/components/Organisms/Results/Results.d.ts.map +1 -1
- package/dist/esm/hooks/useDisplaySettings.d.ts +1 -1
- package/dist/esm/hooks/useDisplaySettings.d.ts.map +1 -1
- package/dist/esm/types.d.ts +6 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +11 -11
|
@@ -161,21 +161,7 @@ exports.Autocomplete = (0, mobx_react_lite_1.observer)(function (properties) {
|
|
|
161
161
|
rows: 3,
|
|
162
162
|
},
|
|
163
163
|
};
|
|
164
|
-
var
|
|
165
|
-
if (displaySettings && Object.keys(displaySettings).length) {
|
|
166
|
-
var theme_1 = (0, deepmerge_1.default)((props === null || props === void 0 ? void 0 : props.theme) || {}, (displaySettings === null || displaySettings === void 0 ? void 0 : displaySettings.theme) || {});
|
|
167
|
-
props = __assign(__assign(__assign({}, props), displaySettings), { theme: theme_1 });
|
|
168
|
-
}
|
|
169
|
-
var hideTerms = props.hideTerms, hideFacets = props.hideFacets, hideContent = props.hideContent, hideBanners = props.hideBanners, hideLink = props.hideLink, horizontalTerms = props.horizontalTerms, vertical = props.vertical, termsTitle = props.termsTitle, trendingTitle = props.trendingTitle, facetsTitle = props.facetsTitle, contentTitle = props.contentTitle, viewportMaxHeight = props.viewportMaxHeight, termsSlot = props.termsSlot, facetsSlot = props.facetsSlot, contentSlot = props.contentSlot, resultsSlot = props.resultsSlot, noResultsSlot = props.noResultsSlot, linkSlot = props.linkSlot, disableStyles = props.disableStyles, className = props.className, width = props.width, style = props.style, controller = props.controller;
|
|
170
|
-
var input = props.input;
|
|
171
|
-
var inputViewportOffsetBottom;
|
|
172
|
-
if (input) {
|
|
173
|
-
if (typeof input === 'string') {
|
|
174
|
-
input = document.querySelector(input);
|
|
175
|
-
}
|
|
176
|
-
var rect = input === null || input === void 0 ? void 0 : input.getBoundingClientRect();
|
|
177
|
-
inputViewportOffsetBottom = (rect === null || rect === void 0 ? void 0 : rect.bottom) || 0;
|
|
178
|
-
}
|
|
164
|
+
var hideTerms = props.hideTerms, hideFacets = props.hideFacets, hideContent = props.hideContent, hideBanners = props.hideBanners, hideLink = props.hideLink, horizontalTerms = props.horizontalTerms, vertical = props.vertical, termsTitle = props.termsTitle, trendingTitle = props.trendingTitle, facetsTitle = props.facetsTitle, contentTitle = props.contentTitle, viewportMaxHeight = props.viewportMaxHeight, termsSlot = props.termsSlot, facetsSlot = props.facetsSlot, contentSlot = props.contentSlot, resultsSlot = props.resultsSlot, noResultsSlot = props.noResultsSlot, linkSlot = props.linkSlot, onFacetOptionClick = props.onFacetOptionClick, onTermClick = props.onTermClick, disableStyles = props.disableStyles, className = props.className, width = props.width, style = props.style, controller = props.controller;
|
|
179
165
|
var delayTimeout;
|
|
180
166
|
var delayTime = 333;
|
|
181
167
|
var valueProps = {
|
|
@@ -189,38 +175,58 @@ exports.Autocomplete = (0, mobx_react_lite_1.observer)(function (properties) {
|
|
|
189
175
|
clearTimeout(delayTimeout);
|
|
190
176
|
},
|
|
191
177
|
};
|
|
178
|
+
var themeOverride = {
|
|
179
|
+
components: {
|
|
180
|
+
facet: {
|
|
181
|
+
limit: 6,
|
|
182
|
+
disableOverflow: true,
|
|
183
|
+
disableCollapse: true,
|
|
184
|
+
previewOnFocus: true,
|
|
185
|
+
valueProps: valueProps,
|
|
186
|
+
},
|
|
187
|
+
facetGridOptions: {
|
|
188
|
+
columns: 3,
|
|
189
|
+
onClick: onFacetOptionClick,
|
|
190
|
+
},
|
|
191
|
+
facetHierarchyOptions: {
|
|
192
|
+
hideCount: true,
|
|
193
|
+
onClick: onFacetOptionClick,
|
|
194
|
+
},
|
|
195
|
+
facetListOptions: {
|
|
196
|
+
hideCheckbox: true,
|
|
197
|
+
hideCount: true,
|
|
198
|
+
onClick: onFacetOptionClick,
|
|
199
|
+
},
|
|
200
|
+
facetPaletteOptions: {
|
|
201
|
+
hideLabel: true,
|
|
202
|
+
columns: 3,
|
|
203
|
+
onClick: onFacetOptionClick,
|
|
204
|
+
},
|
|
205
|
+
result: {
|
|
206
|
+
hideBadge: true,
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
};
|
|
210
|
+
var displaySettings = (0, useDisplaySettings_1.useDisplaySettings)(breakpoints);
|
|
211
|
+
if (displaySettings && Object.keys(displaySettings).length) {
|
|
212
|
+
var theme_1 = (0, deepmerge_1.default)(themeOverride, (props === null || props === void 0 ? void 0 : props.theme) || {}, (displaySettings === null || displaySettings === void 0 ? void 0 : displaySettings.theme) || {});
|
|
213
|
+
props = __assign(__assign(__assign({}, props), displaySettings), { theme: theme_1 });
|
|
214
|
+
}
|
|
215
|
+
var input = props.input;
|
|
216
|
+
var inputViewportOffsetBottom;
|
|
217
|
+
if (input) {
|
|
218
|
+
if (typeof input === 'string') {
|
|
219
|
+
input = document.querySelector(input);
|
|
220
|
+
}
|
|
221
|
+
var rect = input === null || input === void 0 ? void 0 : input.getBoundingClientRect();
|
|
222
|
+
inputViewportOffsetBottom = (rect === null || rect === void 0 ? void 0 : rect.bottom) || 0;
|
|
223
|
+
}
|
|
192
224
|
var subProps = {
|
|
193
225
|
facets: __assign(__assign(__assign({
|
|
194
226
|
// default props
|
|
195
227
|
limit: 3 }, (_d = globalTheme === null || globalTheme === void 0 ? void 0 : globalTheme.components) === null || _d === void 0 ? void 0 : _d.facets), (0, utilities_1.defined)({
|
|
196
228
|
disableStyles: disableStyles,
|
|
197
|
-
})), {
|
|
198
|
-
// component theme overrides
|
|
199
|
-
theme: (0, deepmerge_1.default)({
|
|
200
|
-
components: {
|
|
201
|
-
facet: {
|
|
202
|
-
limit: 6,
|
|
203
|
-
disableOverflow: true,
|
|
204
|
-
disableCollapse: true,
|
|
205
|
-
previewOnFocus: true,
|
|
206
|
-
valueProps: valueProps,
|
|
207
|
-
},
|
|
208
|
-
facetGridOptions: {
|
|
209
|
-
columns: 3,
|
|
210
|
-
},
|
|
211
|
-
facetHierarchyOptions: {
|
|
212
|
-
hideCount: true,
|
|
213
|
-
},
|
|
214
|
-
facetListOptions: {
|
|
215
|
-
hideCheckbox: true,
|
|
216
|
-
hideCount: true,
|
|
217
|
-
},
|
|
218
|
-
facetPaletteOptions: {
|
|
219
|
-
hideLabel: true,
|
|
220
|
-
columns: 3,
|
|
221
|
-
},
|
|
222
|
-
},
|
|
223
|
-
}, __assign({}, props.theme)) }),
|
|
229
|
+
})), { theme: props.theme }),
|
|
224
230
|
banner: __assign(__assign(__assign({
|
|
225
231
|
// default props
|
|
226
232
|
className: 'ss__autocomplete__banner' }, (_e = globalTheme === null || globalTheme === void 0 ? void 0 : globalTheme.components) === null || _e === void 0 ? void 0 : _e.banner), (0, utilities_1.defined)({
|
|
@@ -234,13 +240,7 @@ exports.Autocomplete = (0, mobx_react_lite_1.observer)(function (properties) {
|
|
|
234
240
|
disableStyles: disableStyles,
|
|
235
241
|
})), {
|
|
236
242
|
// component theme overrides
|
|
237
|
-
theme:
|
|
238
|
-
components: {
|
|
239
|
-
result: {
|
|
240
|
-
hideBadge: true,
|
|
241
|
-
},
|
|
242
|
-
},
|
|
243
|
-
}, __assign({}, props.theme)) }),
|
|
243
|
+
theme: props.theme }),
|
|
244
244
|
icon: __assign(__assign(__assign({
|
|
245
245
|
// default props
|
|
246
246
|
className: 'ss__autocomplete__icon', icon: 'angle-right', size: '10px' }, (_g = globalTheme === null || globalTheme === void 0 ? void 0 : globalTheme.components) === null || _g === void 0 ? void 0 : _g.icon), (0, utilities_1.defined)({
|
|
@@ -286,21 +286,21 @@ exports.Autocomplete = (0, mobx_react_lite_1.observer)(function (properties) {
|
|
|
286
286
|
}
|
|
287
287
|
return (visible && ((0, react_1.jsx)(providers_1.CacheProvider, null,
|
|
288
288
|
(0, react_1.jsx)("div", __assign({}, styling, { className: (0, classnames_1.default)('ss__autocomplete', className, { 'ss__autocomplete--only-terms': onlyTerms }), onClick: function (e) { return e.stopPropagation(); } }),
|
|
289
|
-
!hideTerms && ((0, react_1.jsx)("div", { className: (0, classnames_1.default)('ss__autocomplete__terms', { 'ss__autocomplete__terms-trending': showTrending }) }, termsSlot ? ((0, utilities_1.cloneWithProps)(termsSlot, { terms: terms, trending: trending, termsTitle: termsTitle, trendingTitle: trendingTitle, showTrending: showTrending, valueProps: valueProps, emIfy: emIfy, controller: controller })) : ((0, react_1.jsx)(preact_1.Fragment, null,
|
|
289
|
+
!hideTerms && ((0, react_1.jsx)("div", { className: (0, classnames_1.default)('ss__autocomplete__terms', { 'ss__autocomplete__terms-trending': showTrending }) }, termsSlot ? ((0, utilities_1.cloneWithProps)(termsSlot, { terms: terms, trending: trending, termsTitle: termsTitle, trendingTitle: trendingTitle, showTrending: showTrending, valueProps: valueProps, emIfy: emIfy, onTermClick: onTermClick, controller: controller })) : ((0, react_1.jsx)(preact_1.Fragment, null,
|
|
290
290
|
terms.length > 0 ? ((0, react_1.jsx)(preact_1.Fragment, null,
|
|
291
291
|
termsTitle ? ((0, react_1.jsx)("div", { className: "ss__autocomplete__title ss__autocomplete__title--terms" },
|
|
292
292
|
(0, react_1.jsx)("h5", null, termsTitle))) : null,
|
|
293
293
|
(0, react_1.jsx)("div", { className: "ss__autocomplete__terms__options" }, terms.map(function (term) { return ((0, react_1.jsx)("div", { className: (0, classnames_1.default)('ss__autocomplete__terms__option', {
|
|
294
294
|
'ss__autocomplete__terms__option--active': term.active,
|
|
295
295
|
}) },
|
|
296
|
-
(0, react_1.jsx)("a", __assign({ href: term.url.href }, valueProps, { onFocus: function () { return term.preview(); } }), emIfy(term.value, state.input)))); })))) : null,
|
|
296
|
+
(0, react_1.jsx)("a", __assign({ onClick: function (e) { return onTermClick && onTermClick(e); }, href: term.url.href }, valueProps, { onFocus: function () { return term.preview(); } }), emIfy(term.value, state.input)))); })))) : null,
|
|
297
297
|
showTrending ? ((0, react_1.jsx)(preact_1.Fragment, null,
|
|
298
298
|
trendingTitle ? ((0, react_1.jsx)("div", { className: "ss__autocomplete__title ss__autocomplete__title--trending" },
|
|
299
299
|
(0, react_1.jsx)("h5", null, trendingTitle))) : null,
|
|
300
300
|
(0, react_1.jsx)("div", { className: "ss__autocomplete__terms__options" }, trending.map(function (term) { return ((0, react_1.jsx)("div", { className: (0, classnames_1.default)('ss__autocomplete__terms__option', {
|
|
301
301
|
'ss__autocomplete__terms__option--active': term.active,
|
|
302
302
|
}) },
|
|
303
|
-
(0, react_1.jsx)("a", __assign({ href: term.url.href }, valueProps, { onFocus: function () { return term.preview(); } }), emIfy(term.value, state.input)))); })))) : null)))),
|
|
303
|
+
(0, react_1.jsx)("a", __assign({ onClick: function (e) { return onTermClick && onTermClick(e); }, href: term.url.href }, valueProps, { onFocus: function () { return term.preview(); } }), emIfy(term.value, state.input)))); })))) : null)))),
|
|
304
304
|
!hideFacets &&
|
|
305
305
|
(facetsSlot ? ((0, react_1.jsx)("div", { className: "ss__autocomplete__facets" }, (0, utilities_1.cloneWithProps)(facetsSlot, { facets: facetsToShow, merchandising: merchandising, facetsTitle: facetsTitle, hideBanners: hideBanners, controller: controller, valueProps: valueProps }))) : (facetsToShow.length > 0 && ((0, react_1.jsx)(preact_1.Fragment, null,
|
|
306
306
|
facetsTitle && vertical ? ((0, react_1.jsx)("div", { className: (0, classnames_1.default)('ss__autocomplete__title', 'ss__autocomplete__title--facets') },
|
|
@@ -316,6 +316,24 @@ declare const _default: {
|
|
|
316
316
|
type: string;
|
|
317
317
|
};
|
|
318
318
|
};
|
|
319
|
+
onFacetOptionClick: {
|
|
320
|
+
description: string;
|
|
321
|
+
table: {
|
|
322
|
+
type: {
|
|
323
|
+
summary: string;
|
|
324
|
+
};
|
|
325
|
+
};
|
|
326
|
+
action: string;
|
|
327
|
+
};
|
|
328
|
+
onTermClick: {
|
|
329
|
+
description: string;
|
|
330
|
+
table: {
|
|
331
|
+
type: {
|
|
332
|
+
summary: string;
|
|
333
|
+
};
|
|
334
|
+
};
|
|
335
|
+
action: string;
|
|
336
|
+
};
|
|
319
337
|
};
|
|
320
338
|
};
|
|
321
339
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Organisms/Autocomplete/Autocomplete.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAY,MAAM,QAAQ,CAAC;AAIrC,OAAO,EAAgB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC
|
|
1
|
+
{"version":3,"file":"Autocomplete.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Organisms/Autocomplete/Autocomplete.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAY,MAAM,QAAQ,CAAC;AAIrC,OAAO,EAAgB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKjE,wBA8PE;AAuBF,eAAO,MAAM,OAAO,KAAoB,CAAC"}
|
|
@@ -257,6 +257,22 @@ exports.default = {
|
|
|
257
257
|
control: {
|
|
258
258
|
type: 'object',
|
|
259
259
|
},
|
|
260
|
+
}, onFacetOptionClick: {
|
|
261
|
+
description: 'Custom onClick event handler for facet options.',
|
|
262
|
+
table: {
|
|
263
|
+
type: {
|
|
264
|
+
summary: 'function',
|
|
265
|
+
},
|
|
266
|
+
},
|
|
267
|
+
action: 'onFacetOptionClick',
|
|
268
|
+
}, onTermClick: {
|
|
269
|
+
description: 'Custom onClick event handler for Suggested & Trending Terms',
|
|
270
|
+
table: {
|
|
271
|
+
type: {
|
|
272
|
+
summary: 'function',
|
|
273
|
+
},
|
|
274
|
+
},
|
|
275
|
+
action: 'onTermClick',
|
|
260
276
|
} }, utilities_1.componentArgs),
|
|
261
277
|
};
|
|
262
278
|
var snapInstance = snapify_1.Snapify.autocomplete({
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { RecommendationController } from '@searchspring/snap-controller';
|
|
3
|
-
import { ComponentProps } from '../../../types';
|
|
3
|
+
import { ComponentProps, BreakpointsProps } from '../../../types';
|
|
4
4
|
export declare const Recommendation: ((properties: RecommendationProps) => JSX.Element) & {
|
|
5
5
|
displayName: string;
|
|
6
6
|
};
|
|
7
7
|
export interface RecommendationProps extends ComponentProps {
|
|
8
8
|
title?: JSX.Element | string;
|
|
9
|
-
breakpoints?:
|
|
9
|
+
breakpoints?: BreakpointsProps;
|
|
10
10
|
prevButton?: JSX.Element | string;
|
|
11
11
|
nextButton?: JSX.Element | string;
|
|
12
12
|
hideButtons?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Recommendation.d.ts","sourceRoot":"","sources":["../../../../../src/components/Organisms/Recommendation/Recommendation.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Recommendation.d.ts","sourceRoot":"","sources":["../../../../../src/components/Organisms/Recommendation/Recommendation.tsx"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAM9E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAclE,eAAO,MAAM,cAAc,gBAAyB,mBAAmB,KAAG,WAAW;;CAoKnF,CAAC;AAEH,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IAC1D,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,wBAAwB,CAAC;IACrC,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB"}
|
|
@@ -30,11 +30,13 @@ var hooks_1 = require("preact/hooks");
|
|
|
30
30
|
var react_1 = require("@emotion/react");
|
|
31
31
|
var classnames_1 = __importDefault(require("classnames"));
|
|
32
32
|
var mobx_react_lite_1 = require("mobx-react-lite");
|
|
33
|
+
var deepmerge_1 = __importDefault(require("deepmerge"));
|
|
33
34
|
var Carousel_1 = require("../../Molecules/Carousel");
|
|
34
35
|
var Result_1 = require("../../Molecules/Result");
|
|
35
36
|
var utilities_1 = require("../../../utilities");
|
|
36
37
|
var providers_1 = require("../../../providers");
|
|
37
38
|
var hooks_2 = require("../../../hooks");
|
|
39
|
+
var useDisplaySettings_1 = require("../../../hooks/useDisplaySettings");
|
|
38
40
|
var CSS = {
|
|
39
41
|
recommendation: function (_a) {
|
|
40
42
|
var vertical = _a.vertical;
|
|
@@ -46,46 +48,17 @@ var CSS = {
|
|
|
46
48
|
});
|
|
47
49
|
},
|
|
48
50
|
};
|
|
49
|
-
var defaultRecommendationBreakpoints = {
|
|
50
|
-
0: {
|
|
51
|
-
slidesPerView: 1,
|
|
52
|
-
slidesPerGroup: 1,
|
|
53
|
-
spaceBetween: 0,
|
|
54
|
-
},
|
|
55
|
-
480: {
|
|
56
|
-
slidesPerView: 2,
|
|
57
|
-
slidesPerGroup: 2,
|
|
58
|
-
spaceBetween: 10,
|
|
59
|
-
},
|
|
60
|
-
768: {
|
|
61
|
-
slidesPerView: 3,
|
|
62
|
-
slidesPerGroup: 3,
|
|
63
|
-
spaceBetween: 10,
|
|
64
|
-
},
|
|
65
|
-
1024: {
|
|
66
|
-
slidesPerView: 4,
|
|
67
|
-
slidesPerGroup: 4,
|
|
68
|
-
spaceBetween: 10,
|
|
69
|
-
},
|
|
70
|
-
1200: {
|
|
71
|
-
slidesPerView: 5,
|
|
72
|
-
slidesPerGroup: 5,
|
|
73
|
-
spaceBetween: 10,
|
|
74
|
-
},
|
|
75
|
-
};
|
|
76
|
-
var defaultVerticalRecommendationBreakpoints = {
|
|
77
|
-
0: {
|
|
78
|
-
slidesPerView: 1,
|
|
79
|
-
slidesPerGroup: 1,
|
|
80
|
-
spaceBetween: 0,
|
|
81
|
-
},
|
|
82
|
-
};
|
|
83
51
|
exports.Recommendation = (0, mobx_react_lite_1.observer)(function (properties) {
|
|
84
52
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
85
53
|
var globalTheme = (0, providers_1.useTheme)();
|
|
86
54
|
var props = __assign(__assign(__assign({
|
|
87
55
|
// default props
|
|
88
|
-
breakpoints: properties.vertical ?
|
|
56
|
+
breakpoints: properties.vertical ? Carousel_1.defaultVerticalCarouselBreakpoints : Carousel_1.defaultCarouselBreakpoints, pagination: false, loop: true }, (_a = globalTheme === null || globalTheme === void 0 ? void 0 : globalTheme.components) === null || _a === void 0 ? void 0 : _a.recommendation), properties), (_c = (_b = properties.theme) === null || _b === void 0 ? void 0 : _b.components) === null || _c === void 0 ? void 0 : _c.recommendation);
|
|
57
|
+
var displaySettings = (0, useDisplaySettings_1.useDisplaySettings)(props.breakpoints);
|
|
58
|
+
if (displaySettings && Object.keys(displaySettings).length) {
|
|
59
|
+
var theme = (0, deepmerge_1.default)((props === null || props === void 0 ? void 0 : props.theme) || {}, (displaySettings === null || displaySettings === void 0 ? void 0 : displaySettings.theme) || {});
|
|
60
|
+
props = __assign(__assign(__assign({}, props), displaySettings), { theme: theme });
|
|
61
|
+
}
|
|
89
62
|
var title = props.title, controller = props.controller, children = props.children, breakpoints = props.breakpoints, loop = props.loop, pagination = props.pagination, nextButton = props.nextButton, prevButton = props.prevButton, hideButtons = props.hideButtons, disableStyles = props.disableStyles, style = props.style, className = props.className, vertical = props.vertical, additionalProps = __rest(props, ["title", "controller", "children", "breakpoints", "loop", "pagination", "nextButton", "prevButton", "hideButtons", "disableStyles", "style", "className", "vertical"]);
|
|
90
63
|
if (!controller || controller.type !== 'recommendation') {
|
|
91
64
|
throw new Error("<Recommendation> Component requires 'controller' prop with an instance of RecommendationController");
|
|
@@ -162,7 +135,7 @@ exports.Recommendation = (0, mobx_react_lite_1.observer)(function (properties) {
|
|
|
162
135
|
if (!Number.isNaN(clickedIndex)) {
|
|
163
136
|
controller.track.product.click(e, results[clickedIndex]);
|
|
164
137
|
}
|
|
165
|
-
}, loop: loop,
|
|
138
|
+
}, loop: loop, pagination: pagination, breakpoints: breakpoints }, subProps.carousel, additionalProps, displaySettings), children
|
|
166
139
|
? children.map(function (child) { return child; })
|
|
167
140
|
: results.map(function (result) { return (0, react_1.jsx)(Result_1.Result, __assign({ controller: controller, result: result }, subProps.result)); }))))));
|
|
168
141
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SearchController, AutocompleteController, RecommendationController } from '@searchspring/snap-controller';
|
|
2
|
-
import { ComponentProps, Result as ResultType, LayoutType, InlineBannerContent } from '../../../types';
|
|
2
|
+
import { ComponentProps, Result as ResultType, LayoutType, InlineBannerContent, BreakpointsProps } from '../../../types';
|
|
3
3
|
export declare const Results: ((properties: ResultsProp) => JSX.Element) & {
|
|
4
4
|
displayName: string;
|
|
5
5
|
};
|
|
@@ -12,10 +12,4 @@ export interface ResultsProp extends ComponentProps {
|
|
|
12
12
|
breakpoints?: BreakpointsProps;
|
|
13
13
|
controller?: SearchController | AutocompleteController | RecommendationController;
|
|
14
14
|
}
|
|
15
|
-
export declare type BreakpointsProps = {
|
|
16
|
-
[key: number]: BreakpointsEntry;
|
|
17
|
-
};
|
|
18
|
-
export declare type BreakpointsEntry = {
|
|
19
|
-
[property: string]: any;
|
|
20
|
-
};
|
|
21
15
|
//# sourceMappingURL=Results.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Results.d.ts","sourceRoot":"","sources":["../../../../../src/components/Organisms/Results/Results.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAIxH,OAAO,EAAE,cAAc,EAAU,MAAM,IAAI,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAc,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"Results.d.ts","sourceRoot":"","sources":["../../../../../src/components/Organisms/Results/Results.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAIxH,OAAO,EAAE,cAAc,EAAU,MAAM,IAAI,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAc,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAsD7I,eAAO,MAAM,OAAO,gBAAyB,WAAW,KAAG,WAAW;;CAoFpE,CAAC;AAEH,MAAM,WAAW,WAAY,SAAQ,cAAc;IAClD,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,UAAU,CAAC,EAAE,gBAAgB,GAAG,sBAAsB,GAAG,wBAAwB,CAAC;CAClF"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { BreakpointsProps, BreakpointsEntry } from '../
|
|
1
|
+
import { BreakpointsProps, BreakpointsEntry } from '../types';
|
|
2
2
|
export declare function useDisplaySettings(breakpointsObj: BreakpointsProps): BreakpointsEntry;
|
|
3
3
|
//# sourceMappingURL=useDisplaySettings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDisplaySettings.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDisplaySettings.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useDisplaySettings.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDisplaySettings.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE9D,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,gBAAgB,GAAG,gBAAgB,CAoBrF"}
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -227,4 +227,10 @@ export declare enum FacetDisplay {
|
|
|
227
227
|
SLIDER = "slider",
|
|
228
228
|
HIERARCHY = "hierarchy"
|
|
229
229
|
}
|
|
230
|
+
export declare type BreakpointsProps = {
|
|
231
|
+
[key: number]: BreakpointsEntry;
|
|
232
|
+
};
|
|
233
|
+
export declare type BreakpointsEntry = {
|
|
234
|
+
[property: string]: any;
|
|
235
|
+
};
|
|
230
236
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/cjs/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineBanner.d.ts","sourceRoot":"","sources":["../../../../../src/components/Atoms/Merchandising/InlineBanner.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAU,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAyBzF,wBAAgB,YAAY,CAAC,UAAU,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"InlineBanner.d.ts","sourceRoot":"","sources":["../../../../../src/components/Atoms/Merchandising/InlineBanner.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAU,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAyBzF,wBAAgB,YAAY,CAAC,UAAU,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAwCvE;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACxD,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CACxC"}
|
|
@@ -30,12 +30,12 @@ export function InlineBanner(properties) {
|
|
|
30
30
|
layout: Layout.GRID,
|
|
31
31
|
banner: {},
|
|
32
32
|
// global theme
|
|
33
|
-
...globalTheme?.components?.
|
|
33
|
+
...globalTheme?.components?.inlineBanner,
|
|
34
34
|
// props
|
|
35
35
|
...properties,
|
|
36
|
-
...properties.theme?.components?.
|
|
36
|
+
...properties.theme?.components?.inlineBanner,
|
|
37
37
|
};
|
|
38
|
-
const { banner, disableStyles, className, width, layout, style } = props;
|
|
38
|
+
const { banner, disableStyles, className, width, layout, onClick, style } = props;
|
|
39
39
|
const styling = {};
|
|
40
40
|
if (!disableStyles) {
|
|
41
41
|
styling.css = [CSS.inlineBanner({ width }), style];
|
|
@@ -45,7 +45,9 @@ export function InlineBanner(properties) {
|
|
|
45
45
|
}
|
|
46
46
|
return (banner &&
|
|
47
47
|
banner.value && (jsx(CacheProvider, null,
|
|
48
|
-
jsx("div", {
|
|
48
|
+
jsx("div", { onClick: (e) => {
|
|
49
|
+
onClick && onClick(e);
|
|
50
|
+
}, className: classnames('ss__inline-banner', `ss__inline-banner--${layout}`, className), ...styling, dangerouslySetInnerHTML: {
|
|
49
51
|
__html: banner.value,
|
|
50
52
|
} }))));
|
|
51
53
|
}
|
|
@@ -99,6 +99,15 @@ declare const _default: {
|
|
|
99
99
|
type: string;
|
|
100
100
|
};
|
|
101
101
|
};
|
|
102
|
+
onClick: {
|
|
103
|
+
description: string;
|
|
104
|
+
table: {
|
|
105
|
+
type: {
|
|
106
|
+
summary: string;
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
action: string;
|
|
110
|
+
};
|
|
102
111
|
};
|
|
103
112
|
decorators: ((Story: any) => h.JSX.Element)[];
|
|
104
113
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineBanner.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Atoms/Merchandising/InlineBanner.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,OAAO,EAAE,YAAY,EAAqB,MAAM,gBAAgB,CAAC;AAIjE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC
|
|
1
|
+
{"version":3,"file":"InlineBanner.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Atoms/Merchandising/InlineBanner.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,OAAO,EAAE,YAAY,EAAqB,MAAM,gBAAgB,CAAC;AAIjE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExC,wBAsEE;AASF,eAAO,MAAM,OAAO,KAAoB,CAAC"}
|
|
@@ -48,6 +48,15 @@ export default {
|
|
|
48
48
|
},
|
|
49
49
|
control: { type: 'text' },
|
|
50
50
|
},
|
|
51
|
+
onClick: {
|
|
52
|
+
description: 'Custom onClick event handler',
|
|
53
|
+
table: {
|
|
54
|
+
type: {
|
|
55
|
+
summary: 'function',
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
action: 'onClick',
|
|
59
|
+
},
|
|
51
60
|
...componentArgs,
|
|
52
61
|
},
|
|
53
62
|
decorators: [
|
|
@@ -1,17 +1,52 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import 'swiper/swiper.min.css';
|
|
3
|
-
import { ComponentProps } from '../../../types';
|
|
3
|
+
import { ComponentProps, BreakpointsProps } from '../../../types';
|
|
4
|
+
export declare const defaultCarouselBreakpoints: {
|
|
5
|
+
0: {
|
|
6
|
+
slidesPerView: number;
|
|
7
|
+
slidesPerGroup: number;
|
|
8
|
+
spaceBetween: number;
|
|
9
|
+
};
|
|
10
|
+
480: {
|
|
11
|
+
slidesPerView: number;
|
|
12
|
+
slidesPerGroup: number;
|
|
13
|
+
spaceBetween: number;
|
|
14
|
+
};
|
|
15
|
+
768: {
|
|
16
|
+
slidesPerView: number;
|
|
17
|
+
slidesPerGroup: number;
|
|
18
|
+
spaceBetween: number;
|
|
19
|
+
};
|
|
20
|
+
1024: {
|
|
21
|
+
slidesPerView: number;
|
|
22
|
+
slidesPerGroup: number;
|
|
23
|
+
spaceBetween: number;
|
|
24
|
+
};
|
|
25
|
+
1200: {
|
|
26
|
+
slidesPerView: number;
|
|
27
|
+
slidesPerGroup: number;
|
|
28
|
+
spaceBetween: number;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
export declare const defaultVerticalCarouselBreakpoints: {
|
|
32
|
+
0: {
|
|
33
|
+
slidesPerView: number;
|
|
34
|
+
slidesPerGroup: number;
|
|
35
|
+
spaceBetween: number;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
4
38
|
export declare const Carousel: ((properties: CarouselProps) => JSX.Element) & {
|
|
5
39
|
displayName: string;
|
|
6
40
|
};
|
|
7
41
|
export interface CarouselProps extends ComponentProps {
|
|
8
|
-
breakpoints?:
|
|
42
|
+
breakpoints?: BreakpointsProps;
|
|
9
43
|
prevButton?: JSX.Element | string;
|
|
10
44
|
nextButton?: JSX.Element | string;
|
|
11
45
|
hideButtons?: boolean;
|
|
12
46
|
loop?: boolean;
|
|
13
47
|
vertical?: boolean;
|
|
14
48
|
pagination?: boolean;
|
|
49
|
+
autoAdjustSlides?: boolean;
|
|
15
50
|
onClick?: (swiper: any, e: any) => void;
|
|
16
51
|
onNextButtonClick?: (e: any) => void;
|
|
17
52
|
onPrevButtonClick?: (e: any) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Carousel/Carousel.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../../../src/components/Molecules/Carousel/Carousel.tsx"],"names":[],"mappings":";AASA,OAAO,uBAAuB,CAAC;AAM/B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AA2FlE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BtC,CAAC;AAEF,eAAO,MAAM,kCAAkC;;;;;;CAM9C,CAAC;AAEF,eAAO,MAAM,QAAQ,gBAAyB,aAAa,KAAG,WAAW;;CA8IvE,CAAC;AAEH,MAAM,WAAW,aAAc,SAAQ,cAAc;IACpD,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,MAAM,KAAA,EAAE,CAAC,KAAA,KAAK,IAAI,CAAC;IAC9B,iBAAiB,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,IAAI,CAAC;IAChC,iBAAiB,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAA,KAAK,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;CACzB"}
|
|
@@ -2,12 +2,14 @@ import { useRef } from 'preact/hooks';
|
|
|
2
2
|
import { jsx, css } from '@emotion/react';
|
|
3
3
|
import classnames from 'classnames';
|
|
4
4
|
import { observer } from 'mobx-react-lite';
|
|
5
|
+
import deepmerge from 'deepmerge';
|
|
5
6
|
import SwiperCore, { Pagination, Navigation } from 'swiper/core';
|
|
6
7
|
import 'swiper/swiper.min.css';
|
|
7
8
|
import { Icon } from '../../Atoms/Icon/Icon';
|
|
8
9
|
import { Swiper, SwiperSlide } from 'swiper/react';
|
|
9
10
|
import { defined } from '../../../utilities';
|
|
10
11
|
import { useTheme, CacheProvider } from '../../../providers';
|
|
12
|
+
import { useDisplaySettings } from '../../../hooks/useDisplaySettings';
|
|
11
13
|
const CSS = {
|
|
12
14
|
carousel: ({ theme, vertical }) => css({
|
|
13
15
|
display: 'flex',
|
|
@@ -45,6 +47,9 @@ const CSS = {
|
|
|
45
47
|
display: 'flex',
|
|
46
48
|
justifyContent: 'center',
|
|
47
49
|
alignItems: 'center',
|
|
50
|
+
'&.ss__carousel__next-wrapper--hidden, &.ss__carousel__prev-wrapper--hidden': {
|
|
51
|
+
display: 'none',
|
|
52
|
+
},
|
|
48
53
|
},
|
|
49
54
|
'.ss__carousel__next, .ss__carousel__prev': {
|
|
50
55
|
padding: '5px',
|
|
@@ -86,7 +91,7 @@ const CSS = {
|
|
|
86
91
|
},
|
|
87
92
|
}),
|
|
88
93
|
};
|
|
89
|
-
const defaultCarouselBreakpoints = {
|
|
94
|
+
export const defaultCarouselBreakpoints = {
|
|
90
95
|
0: {
|
|
91
96
|
slidesPerView: 1,
|
|
92
97
|
slidesPerGroup: 1,
|
|
@@ -113,7 +118,7 @@ const defaultCarouselBreakpoints = {
|
|
|
113
118
|
spaceBetween: 10,
|
|
114
119
|
},
|
|
115
120
|
};
|
|
116
|
-
const defaultVerticalCarouselBreakpoints = {
|
|
121
|
+
export const defaultVerticalCarouselBreakpoints = {
|
|
117
122
|
0: {
|
|
118
123
|
slidesPerView: 1,
|
|
119
124
|
slidesPerGroup: 1,
|
|
@@ -123,18 +128,33 @@ const defaultVerticalCarouselBreakpoints = {
|
|
|
123
128
|
export const Carousel = observer((properties) => {
|
|
124
129
|
const globalTheme = useTheme();
|
|
125
130
|
const theme = { ...globalTheme, ...properties.theme };
|
|
126
|
-
|
|
131
|
+
let props = {
|
|
127
132
|
// default props
|
|
128
133
|
breakpoints: properties.vertical ? defaultVerticalCarouselBreakpoints : defaultCarouselBreakpoints,
|
|
129
134
|
pagination: false,
|
|
130
135
|
loop: true,
|
|
136
|
+
autoAdjustSlides: true,
|
|
131
137
|
// global theme
|
|
132
138
|
...globalTheme?.components?.carousel,
|
|
133
139
|
//props
|
|
134
140
|
...properties,
|
|
135
141
|
...properties.theme?.components?.carousel,
|
|
136
142
|
};
|
|
137
|
-
const
|
|
143
|
+
const displaySettings = useDisplaySettings(props.breakpoints);
|
|
144
|
+
if (displaySettings && Object.keys(displaySettings).length) {
|
|
145
|
+
const theme = deepmerge(props?.theme || {}, displaySettings?.theme || {});
|
|
146
|
+
if (props.autoAdjustSlides && props.children.length < displaySettings.slidesPerView) {
|
|
147
|
+
displaySettings.slidesPerView = props.children.length;
|
|
148
|
+
displaySettings.slidesPerGroup = props.children.length;
|
|
149
|
+
displaySettings.loop = false;
|
|
150
|
+
}
|
|
151
|
+
props = {
|
|
152
|
+
...props,
|
|
153
|
+
...displaySettings,
|
|
154
|
+
theme,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
const { children, breakpoints, loop, pagination, nextButton, prevButton, hideButtons, vertical, autoAdjustSlides, onInit, onNextButtonClick, onPrevButtonClick, onClick, disableStyles, style, className, ...additionalProps } = props;
|
|
138
158
|
const subProps = {
|
|
139
159
|
icon: {
|
|
140
160
|
// default props
|
|
@@ -162,8 +182,8 @@ export const Carousel = observer((properties) => {
|
|
|
162
182
|
}
|
|
163
183
|
return (children && (jsx(CacheProvider, null,
|
|
164
184
|
jsx("div", { ref: rootComponentRef, ...styling, className: classnames('ss__carousel', vertical ? 'ss__carousel-vertical' : '', className) },
|
|
165
|
-
|
|
166
|
-
jsx("div", { className: "ss__carousel__prev", ref: navigationPrevRef, onClick: onPrevButtonClick && ((e) => onPrevButtonClick(e)) }, prevButton || jsx(Icon, { icon: vertical ? 'angle-up' : 'angle-left', ...subProps.icon })))
|
|
185
|
+
jsx("div", { className: classnames('ss__carousel__prev-wrapper', { 'ss__carousel__prev-wrapper--hidden': hideButtons }) },
|
|
186
|
+
jsx("div", { className: "ss__carousel__prev", ref: navigationPrevRef, onClick: onPrevButtonClick && ((e) => onPrevButtonClick(e)) }, prevButton || jsx(Icon, { icon: vertical ? 'angle-up' : 'angle-left', ...subProps.icon }))),
|
|
167
187
|
jsx(Swiper, { centerInsufficientSlides: true, onInit: (swiper) => {
|
|
168
188
|
//@ts-ignore
|
|
169
189
|
swiper.params.navigation.prevEl = navigationPrevRef.current ? navigationPrevRef.current : undefined;
|
|
@@ -174,13 +194,13 @@ export const Carousel = observer((properties) => {
|
|
|
174
194
|
}
|
|
175
195
|
}, onClick: (swiper, e) => {
|
|
176
196
|
onClick && onClick(swiper, e);
|
|
177
|
-
}, direction: vertical ? 'vertical' : 'horizontal', loop: loop,
|
|
197
|
+
}, direction: vertical ? 'vertical' : 'horizontal', loop: loop, pagination: pagination
|
|
178
198
|
? {
|
|
179
199
|
clickable: true,
|
|
180
200
|
}
|
|
181
|
-
: false, ...additionalProps }, children.map((child) => {
|
|
201
|
+
: false, ...additionalProps, ...displaySettings }, children.map((child) => {
|
|
182
202
|
return jsx(SwiperSlide, null, child);
|
|
183
203
|
})),
|
|
184
|
-
|
|
185
|
-
jsx("div", { className: "ss__carousel__next", ref: navigationNextRef, onClick: onNextButtonClick && ((e) => onNextButtonClick(e)) }, nextButton || jsx(Icon, { icon: vertical ? 'angle-down' : 'angle-right', ...subProps.icon })))))))
|
|
204
|
+
jsx("div", { className: classnames('ss__carousel__next-wrapper', { 'ss__carousel__next-wrapper--hidden': hideButtons }) },
|
|
205
|
+
jsx("div", { className: "ss__carousel__next", ref: navigationNextRef, onClick: onNextButtonClick && ((e) => onNextButtonClick(e)) }, nextButton || jsx(Icon, { icon: vertical ? 'angle-down' : 'angle-right', ...subProps.icon })))))));
|
|
186
206
|
});
|