vviinn-widgets 2.216.0 → 2.216.2
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/{index-bn8_Qi8U.js → index-BM7VfZ_J.js} +3 -1
- package/dist/cjs/{search.store-D6AWQWQ5.js → search.store-DX5IRC4l.js} +9 -4
- package/dist/cjs/vviinn-button_6.cjs.entry.js +2 -2
- package/dist/cjs/vviinn-camera_12.cjs.entry.js +29 -12
- package/dist/cjs/vviinn-carousel_10.cjs.entry.js +10 -6
- package/dist/cjs/vviinn-shop-the-look.cjs.entry.js +1 -1
- package/dist/cjs/vviinn-text-search.cjs.entry.js +1 -1
- package/dist/collection/components/vviinn-carousel/constants.js +1 -0
- package/dist/collection/components/vviinn-carousel/vviinn-carousel.css +3 -3
- package/dist/collection/components/vviinn-carousel/vviinn-carousel.js +8 -4
- package/dist/collection/components/vviinn-filters/vviinn-selected-filters.js +26 -9
- package/dist/collection/components/vviinn-suggestions/vviinn-suggestions.css +0 -1
- package/dist/collection/components/vviinn-vpr-button/recommendations-sidebar/recommendations-sidebar.css +0 -1
- package/dist/collection/store/search.store.js +8 -3
- package/dist/esm/{index-CQdC4_WT.js → index-CmCUlnFh.js} +3 -2
- package/dist/esm/{search.store-BIcjmGOC.js → search.store-B0ZhYtWV.js} +9 -4
- package/dist/esm/vviinn-button_6.entry.js +2 -2
- package/dist/esm/vviinn-camera_12.entry.js +29 -12
- package/dist/esm/vviinn-carousel_10.entry.js +10 -6
- package/dist/esm/vviinn-shop-the-look.entry.js +1 -1
- package/dist/esm/vviinn-text-search.entry.js +1 -1
- package/dist/types/components/vviinn-carousel/constants.d.ts +1 -0
- package/dist/types/components/vviinn-filters/vviinn-selected-filters.d.ts +2 -0
- package/{www/build/p-f3d516d5.entry.js → dist/vviinn-widgets/p-137944e9.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-2f0be83c.entry.js → p-1e7d7fc8.entry.js} +1 -1
- package/dist/vviinn-widgets/p-2b96382d.entry.js +1 -0
- package/dist/vviinn-widgets/p-B--7xBdV.js +1 -0
- package/{www/build/p-CG9ZSQJc.js → dist/vviinn-widgets/p-DIMfQtwJ.js} +1 -1
- package/dist/vviinn-widgets/p-a3829a7f.entry.js +1 -0
- package/{www/build/p-6b18661a.entry.js → dist/vviinn-widgets/p-c64a4923.entry.js} +1 -1
- package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
- package/package.json +1 -1
- package/{dist/vviinn-widgets/p-f3d516d5.entry.js → www/build/p-137944e9.entry.js} +1 -1
- package/www/build/{p-2f0be83c.entry.js → p-1e7d7fc8.entry.js} +1 -1
- package/www/build/p-2b96382d.entry.js +1 -0
- package/www/build/{p-458fed7b.js → p-64d1f5a3.js} +1 -1
- package/www/build/p-B--7xBdV.js +1 -0
- package/{dist/vviinn-widgets/p-CG9ZSQJc.js → www/build/p-DIMfQtwJ.js} +1 -1
- package/www/build/p-a3829a7f.entry.js +1 -0
- package/{dist/vviinn-widgets/p-6b18661a.entry.js → www/build/p-c64a4923.entry.js} +1 -1
- package/www/build/vviinn-widgets.esm.js +1 -1
- package/www/index.html +1 -1
- package/dist/vviinn-widgets/p-2085820d.entry.js +0 -1
- package/dist/vviinn-widgets/p-DSzFfOPO.js +0 -1
- package/dist/vviinn-widgets/p-c4a92e67.entry.js +0 -1
- package/www/build/p-2085820d.entry.js +0 -1
- package/www/build/p-DSzFfOPO.js +0 -1
- package/www/build/p-c4a92e67.entry.js +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-D38ORu31.js');
|
|
4
|
-
var search_store = require('./search.store-
|
|
4
|
+
var search_store = require('./search.store-DX5IRC4l.js');
|
|
5
5
|
var store = require('./store-jPZ4ROqV.js');
|
|
6
6
|
|
|
7
7
|
const PlusIcon = () => (index.h("svg", { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: "plus-icon", "aria-hidden": "true" },
|
|
@@ -17,6 +17,7 @@ const CAROUSEL_CONTENT_WIDTH_CSS_VAR = "--vviinn-carousel-content-width";
|
|
|
17
17
|
const CAROUSEL_IMAGE_WIDTH_CSS_VAR = "--vviinn-carousel-image-width";
|
|
18
18
|
const SET_MODE_IMAGE_WIDTH_CSS_VAR = "--vviinn-set-mode-image-width";
|
|
19
19
|
const RESULTS_CALCULATED_COLUMNS_CSS_VAR = "--vviinn-results-calculated-columns";
|
|
20
|
+
const CAROUSEL_COLUMNS_CSS_VAR = "--vviinn-carousel-columns";
|
|
20
21
|
const CONTENT_GROUP_CSS_CLASS = "items-group";
|
|
21
22
|
const DEFAULT_COLUMNS_NUMBER = 4;
|
|
22
23
|
const SCROLL_POSITION_TOLERANCE = 2;
|
|
@@ -369,6 +370,7 @@ const createImageSearchEvent = createTrackingEvent({
|
|
|
369
370
|
typ: SEARCH_EVENT_TYPE,
|
|
370
371
|
});
|
|
371
372
|
|
|
373
|
+
exports.CAROUSEL_COLUMNS_CSS_VAR = CAROUSEL_COLUMNS_CSS_VAR;
|
|
372
374
|
exports.CAROUSEL_CONTENT_WIDTH_CSS_VAR = CAROUSEL_CONTENT_WIDTH_CSS_VAR;
|
|
373
375
|
exports.CAROUSEL_IMAGE_WIDTH_CSS_VAR = CAROUSEL_IMAGE_WIDTH_CSS_VAR;
|
|
374
376
|
exports.CONTENT_GROUP_CSS_CLASS = CONTENT_GROUP_CSS_CLASS;
|
|
@@ -8593,7 +8593,7 @@ const encodeToBase64UTF8 = (str) => {
|
|
|
8593
8593
|
return btoa(String.fromCharCode.apply(null, utf8Array));
|
|
8594
8594
|
};
|
|
8595
8595
|
|
|
8596
|
-
const version = "2.216.
|
|
8596
|
+
const version = "2.216.2";
|
|
8597
8597
|
|
|
8598
8598
|
const appStateGlobalDefaults = {
|
|
8599
8599
|
excluded: null,
|
|
@@ -8682,7 +8682,7 @@ const emitSearchSuccess = (storeName, state, campaignTypeId) => {
|
|
|
8682
8682
|
}));
|
|
8683
8683
|
};
|
|
8684
8684
|
const updateVisualSearchState = (store, isHiResUpdate = false) => async (response) => {
|
|
8685
|
-
var _a;
|
|
8685
|
+
var _a, _b;
|
|
8686
8686
|
const state = useStore(store);
|
|
8687
8687
|
if (store === "shopTheLook") {
|
|
8688
8688
|
state.visualSearchId = response.requestId;
|
|
@@ -8691,10 +8691,15 @@ const updateVisualSearchState = (store, isHiResUpdate = false) => async (respons
|
|
|
8691
8691
|
const detectedObjects = response.interactions.suggestedSearchAreas.map(({ rectangle }) => rectangle);
|
|
8692
8692
|
if (detectedObjects.length > 0)
|
|
8693
8693
|
state.detectedObjects = detectedObjects;
|
|
8694
|
+
const dynamicFilters = (_a = response.interactions.dynamicFilters) !== null && _a !== void 0 ? _a : [];
|
|
8694
8695
|
state.visualSearchId = response.requestId;
|
|
8695
8696
|
state.results = response.data.products;
|
|
8696
|
-
state.dynamicFilters =
|
|
8697
|
-
|
|
8697
|
+
state.dynamicFilters = dynamicFilters;
|
|
8698
|
+
const extractedFilters = extractSelectedFilters(dynamicFilters);
|
|
8699
|
+
if (state.requestFilters.length === 0 && extractedFilters.length > 0) {
|
|
8700
|
+
state.requestFilters = extractedFilters;
|
|
8701
|
+
}
|
|
8702
|
+
state.stream = (_b = response === null || response === void 0 ? void 0 : response.stream) !== null && _b !== void 0 ? _b : null;
|
|
8698
8703
|
state.searchStatus = "success";
|
|
8699
8704
|
if (!isHiResUpdate)
|
|
8700
8705
|
emitSearchSuccess(store, state, "VPS");
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-D38ORu31.js');
|
|
4
4
|
var store = require('./store-jPZ4ROqV.js');
|
|
5
|
-
var search_store = require('./search.store-
|
|
5
|
+
var search_store = require('./search.store-DX5IRC4l.js');
|
|
6
6
|
var index$1 = require('./index-CBteD3gC.js');
|
|
7
7
|
var SecondaryActionIcon = require('./SecondaryActionIcon-Ng84u7-b.js');
|
|
8
8
|
var index$2 = require('./index-CvMi8_tX.js');
|
|
@@ -223,7 +223,7 @@ const VviinnOverlay = class {
|
|
|
223
223
|
};
|
|
224
224
|
VviinnOverlay.style = vviinnOverlayCss;
|
|
225
225
|
|
|
226
|
-
const recommendationsSidebarCss = ":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-display:32px;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-display:40px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#707070;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--surface-bg-color-shadow-01:#dddddd;--surface-bg-color-shadow-02:#c6c6c6;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;--sidebar-animation-duration-default:0.5s;--search-modal-animation-duration-default:0.25s;--search-modal-animation-duration-mobile-default:0.35s;}:host{
|
|
226
|
+
const recommendationsSidebarCss = ":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-display:32px;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-display:40px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#707070;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--surface-bg-color-shadow-01:#dddddd;--surface-bg-color-shadow-02:#c6c6c6;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;--sidebar-animation-duration-default:0.5s;--search-modal-animation-duration-default:0.25s;--search-modal-animation-duration-mobile-default:0.35s;}:host{display:flex;box-sizing:border-box;position:fixed;z-index:9999;height:100vh;left:0;top:0;transition:background 0.1s ease-in-out;width:100vw}:host(.bottom){flex-direction:column;justify-content:flex-end}:host(.no-fixed){position:unset;display:block;width:100%;height:auto}:host(.no-fixed.no-carousel.appended.loading){min-height:calc((var(--product-card-calculated-height) * 3) + 48px)}:host(.right){flex-direction:row;justify-content:flex-end}:host [slot]{visibility:hidden;position:absolute}.sidebar-header{position:relative;text-align:center;padding:var(--spacing-300);padding-top:0px}.sidebar-header.contains-source-img{display:grid;justify-items:center;grid-gap:12px}img.source-image{width:64px;height:64px;border-radius:50%;padding:6px;border:1px solid var(--color-border-02);-o-object-fit:contain;object-fit:contain}:host(.right) .sidebar-header{box-shadow:0px 2px 6px rgba(0, 0, 0, 0.1)}.sidebar-content{padding:0 var(--spacing-300)}:host(.right) .sidebar-content{overflow:auto}.sidebar{background:white;box-sizing:border-box;padding-top:var(--spacing-300);display:flex;flex-direction:column;max-height:100vh;overflow-y:auto}:host(.bottom.idle) .sidebar,:host(.bottom.closed) .sidebar{transform:translateY(100%)}:host(.no-fixed) .sidebar{transform:unset !important}:host(.bottom.closed) .sidebar{animation-name:slideOutFromBottom;animation-duration:var(\n --sidebar-animation-duration,\n var(--sidebar-animation-duration-default)\n );animation-fill-mode:forwards}:host(.open){transition:background 0.3s ease-in-out;background:rgba(0, 0, 0, 0.2)}:host(.bottom.open) .sidebar{animation-name:slideInFromBottom;animation-duration:var(\n --sidebar-animation-duration,\n var(--sidebar-animation-duration-default)\n );animation-fill-mode:forwards}:host(.right.idle) .sidebar{transform:translateX(100%)}:host(.right.closed) .sidebar{animation-name:slideOutFromRight;animation-duration:var(\n --sidebar-animation-duration,\n var(--sidebar-animation-duration-default)\n );animation-fill-mode:forwards}:host(.right.open) .sidebar{animation-name:slideInFromRight;animation-duration:var(\n --sidebar-animation-duration,\n var(--sidebar-animation-duration-default)\n );animation-fill-mode:forwards}:host(.right) .sidebar{max-width:480px}:host(.right) vviinn-vpr-widget::part(recommendations-results){display:grid;grid-template-columns:repeat(2, 1fr);grid-gap:var(--spacing-300)}:host(.right) vviinn-vpr-widget{overflow:auto}.title{font-style:normal;font-weight:var(--font-weight-600);font-size:var(--font-size-title);font-family:var(--font-family, var(--font-family-base));line-height:40px;text-align:center;color:#000000}.subtitle{font-size:var(--font-size-body);font-family:var(--font-family, var(--font-family-base));text-align:center}.close-sidebar{position:absolute;background:transparent;border:none;cursor:pointer;margin:0;top:0;color:var(--color-icon-secondary);transition:color 0.1s ease-in-out;padding:var(--spacing-100);right:var(--spacing-200)}.close-sidebar:hover{color:var(--color-icon-primary)}@keyframes slideInFromBottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideOutFromBottom{from{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes slideInFromRight{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideOutFromRight{from{transform:translateX(0)}to{transform:translateX(100%)}}@media (max-width: 768px){:host{--vviinn-carousel-columns:2}}";
|
|
227
227
|
|
|
228
228
|
const RecommendationsSidebar = class {
|
|
229
229
|
constructor(hostRef) {
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-D38ORu31.js');
|
|
4
4
|
var Rectangle = require('./Rectangle-7dF6_xf3.js');
|
|
5
|
-
var search_store = require('./search.store-
|
|
5
|
+
var search_store = require('./search.store-DX5IRC4l.js');
|
|
6
6
|
var index$2 = require('./index-CBteD3gC.js');
|
|
7
|
-
var index$1 = require('./index-
|
|
7
|
+
var index$1 = require('./index-BM7VfZ_J.js');
|
|
8
8
|
var store = require('./store-jPZ4ROqV.js');
|
|
9
9
|
var cropperUtils = require('./cropperUtils-DCDOLeBS.js');
|
|
10
10
|
var openProductLink = require('./openProductLink-BwHUGXtr.js');
|
|
@@ -1050,7 +1050,7 @@ const VviinnSelectedFilters = class {
|
|
|
1050
1050
|
resetImageFilter && (this.imageSrc = null);
|
|
1051
1051
|
};
|
|
1052
1052
|
this.handleFilterTriggered = ({ detail, }) => {
|
|
1053
|
-
var _a
|
|
1053
|
+
var _a;
|
|
1054
1054
|
if (this.skipStateChanges(detail.isTriggeredByVpsWidget))
|
|
1055
1055
|
return;
|
|
1056
1056
|
if (detail.customTrigger === "TPS") {
|
|
@@ -1058,14 +1058,7 @@ const VviinnSelectedFilters = class {
|
|
|
1058
1058
|
this.textSearchCustomFilter = detail.kind;
|
|
1059
1059
|
}
|
|
1060
1060
|
if (detail.action === "select" && ((_a = detail.filter) === null || _a === void 0 ? void 0 : _a.type) === "interval") {
|
|
1061
|
-
|
|
1062
|
-
if (intervalLabel) {
|
|
1063
|
-
this.intervalCustomFilters = Object.assign(Object.assign({}, this.intervalCustomFilters), { [detail.filter.column]: intervalLabel });
|
|
1064
|
-
}
|
|
1065
|
-
else {
|
|
1066
|
-
const _c = this.intervalCustomFilters, _d = detail.filter.column, remaining = __rest$1(_c, [typeof _d === "symbol" ? _d : _d + ""]);
|
|
1067
|
-
this.intervalCustomFilters = remaining;
|
|
1068
|
-
}
|
|
1061
|
+
this.setIntervalFilterLabel(detail.filter, detail.value.interval);
|
|
1069
1062
|
}
|
|
1070
1063
|
};
|
|
1071
1064
|
this.handleImageUploadStarted = ({ detail }) => {
|
|
@@ -1170,6 +1163,10 @@ const VviinnSelectedFilters = class {
|
|
|
1170
1163
|
this.selectedFilterButtons = [];
|
|
1171
1164
|
const filters = ((_a = this.state) === null || _a === void 0 ? void 0 : _a.dynamicFilters) || [];
|
|
1172
1165
|
filters.forEach((filter) => {
|
|
1166
|
+
if (filter.type === "interval") {
|
|
1167
|
+
this.syncPreselectedIntervalFilter(filter);
|
|
1168
|
+
return;
|
|
1169
|
+
}
|
|
1173
1170
|
if (!("values" in filter))
|
|
1174
1171
|
return;
|
|
1175
1172
|
filter.values.forEach(({ value, label, active }) => {
|
|
@@ -1187,6 +1184,26 @@ const VviinnSelectedFilters = class {
|
|
|
1187
1184
|
});
|
|
1188
1185
|
});
|
|
1189
1186
|
}
|
|
1187
|
+
setIntervalFilterLabel(filter, interval) {
|
|
1188
|
+
var _a;
|
|
1189
|
+
const label = index$1.getIntervalLabel(filter, interval, (_a = this.currencySign) !== null && _a !== void 0 ? _a : store.defaultConfig.currencySign, true);
|
|
1190
|
+
if (label) {
|
|
1191
|
+
this.intervalCustomFilters = Object.assign(Object.assign({}, this.intervalCustomFilters), { [filter.column]: label });
|
|
1192
|
+
}
|
|
1193
|
+
else {
|
|
1194
|
+
const _b = this.intervalCustomFilters, _c = filter.column, remaining = __rest$1(_b, [typeof _c === "symbol" ? _c : _c + ""]);
|
|
1195
|
+
this.intervalCustomFilters = remaining;
|
|
1196
|
+
}
|
|
1197
|
+
}
|
|
1198
|
+
syncPreselectedIntervalFilter(filter) {
|
|
1199
|
+
var _a;
|
|
1200
|
+
if (this.intervalCustomFilters[filter.column])
|
|
1201
|
+
return;
|
|
1202
|
+
const matchingRequest = this.requestFilters.find((rf) => rf.column === filter.column);
|
|
1203
|
+
if (!((_a = matchingRequest === null || matchingRequest === void 0 ? void 0 : matchingRequest.values) === null || _a === void 0 ? void 0 : _a.length))
|
|
1204
|
+
return;
|
|
1205
|
+
this.setIntervalFilterLabel(filter, matchingRequest.values[0]);
|
|
1206
|
+
}
|
|
1190
1207
|
render() {
|
|
1191
1208
|
var _a, _b;
|
|
1192
1209
|
if (this.showInWidget &&
|
|
@@ -1524,7 +1541,7 @@ const syncSuggestionFilters = (activeFilters, stream) => {
|
|
|
1524
1541
|
return updatedAppliedFilters;
|
|
1525
1542
|
};
|
|
1526
1543
|
|
|
1527
|
-
const vviinnSuggestionsCss = ":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-display:32px;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-display:40px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#707070;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--surface-bg-color-shadow-01:#dddddd;--surface-bg-color-shadow-02:#c6c6c6;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;--sidebar-animation-duration-default:0.5s;--search-modal-animation-duration-default:0.25s;--search-modal-animation-duration-mobile-default:0.35s;}:host{display:contents}.container{display:flex;flex-direction:column;gap:var(--spacing-150);font-family:var(--font-family, var(--font-family-base));padding-right:var(--spacing-100);line-height:normal}.header{display:flex;align-items:center;gap:var(--spacing-100)}.icon{font-size:20px}.title{margin:0;font-size:var(--font-size-headline);line-height:var(--line-height-headline);font-weight:600;color:var(--color-text-primary)}.suggestions-wrapper{display:flex;flex-direction:column;gap:var(--spacing-100);width:100%}.suggestions-list{list-style:none;margin:0;padding:0;padding-right:var(--spacing-100);display:flex;align-items:center;gap:var(--spacing-100);flex-wrap:wrap;font-size:var(--font-size-label)}.suggestion-item{display:contents}.suggestion-link{background:none;border:none;color:var(--color-primary-500);text-decoration:underline;cursor:pointer;font-size:inherit;line-height:inherit;padding:0;margin:0}.suggestion-link:hover{color:var(--color-primary-600)}.suggestion-link:focus{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:2px}.suggestion-filter-button{background:none;border:none;cursor:pointer;display:flex;align-items:center;height:36px;padding:var(--spacing-75);gap:var(--spacing-50);white-space:nowrap;border-radius:var(--border-radius-100);background-color:var(--surface-bg-color-01);transition:background-color 0.1s;font-family:var(--font-family, var(--font-family-base));font-size:var(--font-size-label);color:var(--color-text-primary)}.suggestion-filter-button:hover{background-color:var(--surface-bg-color-01-hover)}.suggestion-filter-button.active{background:var(--surface-bg-color-inverse);color:var(--color-text-inverse)}.suggestion-info-text{font-size:var(--font-size-label);color:var(--color-text-primary)}.suggestion-info-text *{font-size:var(--font-size-label);margin:0
|
|
1544
|
+
const vviinnSuggestionsCss = ":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-display:32px;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-display:40px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#707070;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--surface-bg-color-shadow-01:#dddddd;--surface-bg-color-shadow-02:#c6c6c6;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;--sidebar-animation-duration-default:0.5s;--search-modal-animation-duration-default:0.25s;--search-modal-animation-duration-mobile-default:0.35s;}:host{display:contents}.container{display:flex;flex-direction:column;gap:var(--spacing-150);font-family:var(--font-family, var(--font-family-base));padding-right:var(--spacing-100);line-height:normal}.header{display:flex;align-items:center;gap:var(--spacing-100)}.icon{font-size:20px}.title{margin:0;font-size:var(--font-size-headline);line-height:var(--line-height-headline);font-weight:600;color:var(--color-text-primary)}.suggestions-wrapper{display:flex;flex-direction:column;gap:var(--spacing-100);width:100%}.suggestions-list{list-style:none;margin:0;padding:0;padding-right:var(--spacing-100);display:flex;align-items:center;gap:var(--spacing-100);flex-wrap:wrap;font-size:var(--font-size-label)}.suggestion-item{display:contents}.suggestion-link{background:none;border:none;color:var(--color-primary-500);text-decoration:underline;cursor:pointer;font-size:inherit;line-height:inherit;padding:0;margin:0}.suggestion-link:hover{color:var(--color-primary-600)}.suggestion-link:focus{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:2px}.suggestion-filter-button{background:none;border:none;cursor:pointer;display:flex;align-items:center;height:36px;padding:var(--spacing-75);gap:var(--spacing-50);white-space:nowrap;border-radius:var(--border-radius-100);background-color:var(--surface-bg-color-01);transition:background-color 0.1s;font-family:var(--font-family, var(--font-family-base));font-size:var(--font-size-label);color:var(--color-text-primary)}.suggestion-filter-button:hover{background-color:var(--surface-bg-color-01-hover)}.suggestion-filter-button.active{background:var(--surface-bg-color-inverse);color:var(--color-text-inverse)}.suggestion-info-text{font-size:var(--font-size-label);color:var(--color-text-primary)}.suggestion-info-text *{font-size:var(--font-size-label);margin:0}";
|
|
1528
1545
|
|
|
1529
1546
|
const VviinnSuggestions = class {
|
|
1530
1547
|
constructor(hostRef) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-D38ORu31.js');
|
|
4
|
-
var search_store = require('./search.store-
|
|
4
|
+
var search_store = require('./search.store-DX5IRC4l.js');
|
|
5
5
|
var Rectangle = require('./Rectangle-7dF6_xf3.js');
|
|
6
6
|
var store = require('./store-jPZ4ROqV.js');
|
|
7
|
-
var index$1 = require('./index-
|
|
7
|
+
var index$1 = require('./index-BM7VfZ_J.js');
|
|
8
8
|
var constants = require('./constants-BlwqMvns.js');
|
|
9
9
|
var index$2 = require('./index-CBteD3gC.js');
|
|
10
10
|
var index$3 = require('./index-CvMi8_tX.js');
|
|
@@ -131,7 +131,7 @@ function sequenceT(F) {
|
|
|
131
131
|
};
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
const vviinnCarouselCss = ":host{
|
|
134
|
+
const vviinnCarouselCss = ":host{}.body{display:flex;position:relative;width:var(--vviinn-carousel-content-width);flex-direction:column}.body.append-slider{min-height:calc(var(--product-card-calculated-height) + 24px)}.body.append-slider.empty-results{min-height:unset}.bullets{display:flex;flex-direction:row;grid-gap:24px;justify-content:center}.bullet{width:10px;height:10px;background:#e0e0e0;border-radius:50%;cursor:pointer}.bullet.active{background:#161616}.content{display:flex;flex-direction:row;gap:8px;overflow-y:hidden;overflow-x:auto;flex-grow:1;scrollbar-width:thin}:host(.continuity) .content,:host(.grid) .content{padding-bottom:16px}.content:not(.show-scrollbar),.content.grid{scrollbar-color:#fff0 #fff0}content. .content:not(.show-scrollbar)::-webkit-scrollbar,.content.grid::-webkit-scrollbar{opacity:0}@supports (scrollbar-color: unset){.content.continuity,:host(.set){scrollbar-color:transparent transparent}.content.continuity:hover,:host(.set:hover){scrollbar-color:initial}}.content.left>*{scroll-snap-align:start}.content.right>*{scroll-snap-align:end}:host(.continuity) .prev,:host(.continuity) .next{border-radius:2px}:host(.grid) .prev,:host(.grid) .next{border-radius:50%}.prev,.next{align-items:center;background-color:white;border:none;box-shadow:0px 2px 6px rgba(0, 0, 0, 0.15);fill:#525252;cursor:pointer;display:grid;height:40px;justify-items:center;position:absolute;top:calc(50% - 20px);width:40px;z-index:1;padding:0;margin:0;transition:opacity 0.2s ease-in-out}.next:disabled,.prev:disabled{opacity:0.5;cursor:not-allowed}.next.grid-arrows-dynamic:disabled,.prev.grid-arrows-dynamic:disabled{display:none}.prev svg{transform:rotate(180deg);margin-left:-5px}.prev{left:0}.next{right:0}.items-group{display:grid;grid-gap:16px;grid-template-columns:repeat(var(--vviinn-carousel-columns, 4), 1fr);min-width:100%}.body.set{max-width:100%;justify-content:space-between;margin-left:auto;display:flex;flex-direction:row;gap:112px}.body.set::-webkit-scrollbar{display:none}@media (max-width: 768px){.body.set{gap:40px}}@media (max-width: 480px){.items-group{grid-template-columns:repeat(2, 1fr)}}.content.set{grid-gap:20px;height:-moz-fit-content;height:fit-content;max-width:-moz-fit-content;max-width:fit-content;overflow:unset}";
|
|
135
135
|
|
|
136
136
|
const VviinnCarousel = class {
|
|
137
137
|
constructor(hostRef) {
|
|
@@ -425,7 +425,11 @@ const VviinnCarousel = class {
|
|
|
425
425
|
const styleSheet = getComputedStyle(this.el);
|
|
426
426
|
const calculatedColumnsAmount = parseInt(styleSheet.getPropertyValue(index$1.RESULTS_CALCULATED_COLUMNS_CSS_VAR));
|
|
427
427
|
if (!calculatedColumnsAmount || isNaN(calculatedColumnsAmount)) {
|
|
428
|
-
|
|
428
|
+
const cssColumnsAmount = parseInt(styleSheet.getPropertyValue(index$1.CAROUSEL_COLUMNS_CSS_VAR));
|
|
429
|
+
this.columns =
|
|
430
|
+
cssColumnsAmount >= 1
|
|
431
|
+
? cssColumnsAmount
|
|
432
|
+
: index$1.DEFAULT_COLUMNS_NUMBER;
|
|
429
433
|
}
|
|
430
434
|
else {
|
|
431
435
|
this.columns = calculatedColumnsAmount;
|
|
@@ -558,10 +562,10 @@ const VviinnCarousel = class {
|
|
|
558
562
|
}
|
|
559
563
|
render() {
|
|
560
564
|
var _a, _b, _c, _d, _e;
|
|
561
|
-
return (index.h(index.Host, { key: '
|
|
565
|
+
return (index.h(index.Host, { key: 'c5f34b585ae2cf1307d3011db185fcb038a807b6', class: this.getClassMap() }, index.h("div", { key: '098746eefad49ac0cf2bdac38e74fdc53d3b2313', class: Object.assign(Object.assign({}, this.getClassMap()), this.getBodyClassMap()) }, this.isSetMode && this.crossSellingRecommendations.length > 0 && (index.h("vviinn-product-card", { key: '3fe540bbe42a9fd21c5fb1a79d8f8949c9ef08a7', class: "set-mode product-card--source", productTitle: this.sourceProduct.title, image: (_b = (_a = this.sourceProduct.image) === null || _a === void 0 ? void 0 : _a.thumbnail) !== null && _b !== void 0 ? _b : (_c = this.sourceProduct.image) === null || _c === void 0 ? void 0 : _c.original, images: this.sourceProduct.images, showMultipleImages: this.showMultipleImages, disableMobileSwiper: true, entityType: this.sourceProduct.entityType, price: this.sourceProduct.price.actual, salePrice: this.sourceProduct.price.sale, basePrice: (_d = this.sourceProduct.basePrice) === null || _d === void 0 ? void 0 : _d.actual, baseSalePrice: (_e = this.sourceProduct.basePrice) === null || _e === void 0 ? void 0 : _e.sale, addPriceContainer: this.addPriceContainer, imageWidth: 300, imageResolutionWidth: this.imageResolutionWidth, isSourceProduct: true, currencySign: this.currencySign, pricePrefix: this.pricePrefix, isSetMode: this.isSetMode, locale: this.locale, numberLocale: this.numberLocale, favoriteShow: this.favoriteShow, customLabels: index$1.getCustomLabels(this.sourceProduct), responsive: true })), index.h("div", { key: 'f22aa5a751ee14cdd305193280ec61bbb8fffc8b', class: this.getContentClassMap() }, this.renderRecommendations(), this.showArrowButtons() && (index.h(index.Fragment, { key: 'e6a14ce9e7c409cac09d16a0d35b65e70cfff007' }, index.h("button", { key: '8fb9606e5ba9aecf18252422243f9c4072397a9f', class: {
|
|
562
566
|
prev: true,
|
|
563
567
|
"grid-arrows-dynamic": this.gridArrowsDynamic && this.isGridMode,
|
|
564
|
-
}, onClick: () => this.handleCarouselButtonClick("left"), part: "carousel-button carousel-button-prev", disabled: this.isFirst(), "aria-label": store.instance.t("buttons.previous") }, index.h(ChevronIcon, { key: '
|
|
568
|
+
}, onClick: () => this.handleCarouselButtonClick("left"), part: "carousel-button carousel-button-prev", disabled: this.isFirst(), "aria-label": store.instance.t("buttons.previous") }, index.h(ChevronIcon, { key: '70aeaed3d65ebb2344f964f8bfba34f67de1c97a' })), index.h("button", { key: 'edd35c95f6404725cdfe9548f24fc555efe5b21d', class: "next", onClick: () => this.handleCarouselButtonClick("right"), part: "carousel-button carousel-button-next", disabled: this.isLast(), "aria-label": store.instance.t("buttons.next") }, index.h(ChevronIcon, { key: 'e5af48de0f6c1f95dfaaf577ca930a233f8eb488' })))))), this.showBullets() && (index.h("div", { key: 'b0957a0f30c6a43c71198780d650413c4c28c1d3', class: "bullets" }, this.renderBullets()))));
|
|
565
569
|
}
|
|
566
570
|
get el() { return index.getElement(this); }
|
|
567
571
|
static get watchers() { return {
|
|
@@ -4,7 +4,7 @@ var index = require('./index-D38ORu31.js');
|
|
|
4
4
|
var Rectangle = require('./Rectangle-7dF6_xf3.js');
|
|
5
5
|
var cropperUtils = require('./cropperUtils-DCDOLeBS.js');
|
|
6
6
|
var swiperElement = require('./swiper-element-DjtzojCR.js');
|
|
7
|
-
var search_store = require('./search.store-
|
|
7
|
+
var search_store = require('./search.store-DX5IRC4l.js');
|
|
8
8
|
var SecondaryActionIcon = require('./SecondaryActionIcon-Ng84u7-b.js');
|
|
9
9
|
var index$1 = require('./index-CvMi8_tX.js');
|
|
10
10
|
var store = require('./store-jPZ4ROqV.js');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-D38ORu31.js');
|
|
4
4
|
var Rectangle = require('./Rectangle-7dF6_xf3.js');
|
|
5
|
-
var search_store = require('./search.store-
|
|
5
|
+
var search_store = require('./search.store-DX5IRC4l.js');
|
|
6
6
|
var index$2 = require('./index-CBteD3gC.js');
|
|
7
7
|
var store = require('./store-jPZ4ROqV.js');
|
|
8
8
|
var index$1 = require('./index-CvMi8_tX.js');
|
|
@@ -2,6 +2,7 @@ export const CAROUSEL_CONTENT_WIDTH_CSS_VAR = "--vviinn-carousel-content-width";
|
|
|
2
2
|
export const CAROUSEL_IMAGE_WIDTH_CSS_VAR = "--vviinn-carousel-image-width";
|
|
3
3
|
export const SET_MODE_IMAGE_WIDTH_CSS_VAR = "--vviinn-set-mode-image-width";
|
|
4
4
|
export const RESULTS_CALCULATED_COLUMNS_CSS_VAR = "--vviinn-results-calculated-columns";
|
|
5
|
+
export const CAROUSEL_COLUMNS_CSS_VAR = "--vviinn-carousel-columns";
|
|
5
6
|
export const CONTENT_GROUP_CSS_CLASS = "items-group";
|
|
6
7
|
export const DEFAULT_COLUMNS_NUMBER = 4;
|
|
7
8
|
export const SCROLL_POSITION_TOLERANCE = 2;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
:host {
|
|
2
2
|
/**
|
|
3
|
-
|
|
3
|
+
* @prop --vviinn-carousel-columns: A number of items in grid mode.
|
|
4
|
+
* @prop --product-card-calculated-height: Calculated height of Product Card.
|
|
4
5
|
*/
|
|
5
|
-
--vviinn-carousel-columns-internal: var(--vviinn-carousel-columns, 4);
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
.body {
|
|
@@ -140,7 +140,7 @@ content. .content:not(.show-scrollbar)::-webkit-scrollbar,
|
|
|
140
140
|
.items-group {
|
|
141
141
|
display: grid;
|
|
142
142
|
grid-gap: 16px;
|
|
143
|
-
grid-template-columns: repeat(var(--vviinn-carousel-columns
|
|
143
|
+
grid-template-columns: repeat(var(--vviinn-carousel-columns, 4), 1fr);
|
|
144
144
|
min-width: 100%;
|
|
145
145
|
}
|
|
146
146
|
|
|
@@ -4,7 +4,7 @@ import { pipe } from "fp-ts/lib/function";
|
|
|
4
4
|
import i18next from "i18next";
|
|
5
5
|
import { ChevronIcon } from "../vviinn-icons";
|
|
6
6
|
import { campaignTypeNames } from "../../campaign/Campaign";
|
|
7
|
-
import { CAROUSEL_IMAGE_WIDTH_CSS_VAR, CAROUSEL_CONTENT_WIDTH_CSS_VAR, CONTENT_GROUP_CSS_CLASS, DEFAULT_COLUMNS_NUMBER, RESULTS_CALCULATED_COLUMNS_CSS_VAR, SET_MODE_IMAGE_WIDTH_CSS_VAR, SCROLL_POSITION_TOLERANCE, } from "./constants";
|
|
7
|
+
import { CAROUSEL_COLUMNS_CSS_VAR, CAROUSEL_IMAGE_WIDTH_CSS_VAR, CAROUSEL_CONTENT_WIDTH_CSS_VAR, CONTENT_GROUP_CSS_CLASS, DEFAULT_COLUMNS_NUMBER, RESULTS_CALCULATED_COLUMNS_CSS_VAR, SET_MODE_IMAGE_WIDTH_CSS_VAR, SCROLL_POSITION_TOLERANCE, } from "./constants";
|
|
8
8
|
import { calculateDiscount } from "../../utils/number";
|
|
9
9
|
import { getCustomLabels } from "../../recommendation";
|
|
10
10
|
import { addIfNotEmpty } from "../../utils/collections/collectionsUtils";
|
|
@@ -303,7 +303,11 @@ export class VviinnCarousel {
|
|
|
303
303
|
const styleSheet = getComputedStyle(this.el);
|
|
304
304
|
const calculatedColumnsAmount = parseInt(styleSheet.getPropertyValue(RESULTS_CALCULATED_COLUMNS_CSS_VAR));
|
|
305
305
|
if (!calculatedColumnsAmount || isNaN(calculatedColumnsAmount)) {
|
|
306
|
-
|
|
306
|
+
const cssColumnsAmount = parseInt(styleSheet.getPropertyValue(CAROUSEL_COLUMNS_CSS_VAR));
|
|
307
|
+
this.columns =
|
|
308
|
+
cssColumnsAmount >= 1
|
|
309
|
+
? cssColumnsAmount
|
|
310
|
+
: DEFAULT_COLUMNS_NUMBER;
|
|
307
311
|
}
|
|
308
312
|
else {
|
|
309
313
|
this.columns = calculatedColumnsAmount;
|
|
@@ -436,10 +440,10 @@ export class VviinnCarousel {
|
|
|
436
440
|
}
|
|
437
441
|
render() {
|
|
438
442
|
var _a, _b, _c, _d, _e;
|
|
439
|
-
return (h(Host, { key: '
|
|
443
|
+
return (h(Host, { key: 'c5f34b585ae2cf1307d3011db185fcb038a807b6', class: this.getClassMap() }, h("div", { key: '098746eefad49ac0cf2bdac38e74fdc53d3b2313', class: Object.assign(Object.assign({}, this.getClassMap()), this.getBodyClassMap()) }, this.isSetMode && this.crossSellingRecommendations.length > 0 && (h("vviinn-product-card", { key: '3fe540bbe42a9fd21c5fb1a79d8f8949c9ef08a7', class: "set-mode product-card--source", productTitle: this.sourceProduct.title, image: (_b = (_a = this.sourceProduct.image) === null || _a === void 0 ? void 0 : _a.thumbnail) !== null && _b !== void 0 ? _b : (_c = this.sourceProduct.image) === null || _c === void 0 ? void 0 : _c.original, images: this.sourceProduct.images, showMultipleImages: this.showMultipleImages, disableMobileSwiper: true, entityType: this.sourceProduct.entityType, price: this.sourceProduct.price.actual, salePrice: this.sourceProduct.price.sale, basePrice: (_d = this.sourceProduct.basePrice) === null || _d === void 0 ? void 0 : _d.actual, baseSalePrice: (_e = this.sourceProduct.basePrice) === null || _e === void 0 ? void 0 : _e.sale, addPriceContainer: this.addPriceContainer, imageWidth: 300, imageResolutionWidth: this.imageResolutionWidth, isSourceProduct: true, currencySign: this.currencySign, pricePrefix: this.pricePrefix, isSetMode: this.isSetMode, locale: this.locale, numberLocale: this.numberLocale, favoriteShow: this.favoriteShow, customLabels: getCustomLabels(this.sourceProduct), responsive: true })), h("div", { key: 'f22aa5a751ee14cdd305193280ec61bbb8fffc8b', class: this.getContentClassMap() }, this.renderRecommendations(), this.showArrowButtons() && (h(Fragment, { key: 'e6a14ce9e7c409cac09d16a0d35b65e70cfff007' }, h("button", { key: '8fb9606e5ba9aecf18252422243f9c4072397a9f', class: {
|
|
440
444
|
prev: true,
|
|
441
445
|
"grid-arrows-dynamic": this.gridArrowsDynamic && this.isGridMode,
|
|
442
|
-
}, onClick: () => this.handleCarouselButtonClick("left"), part: "carousel-button carousel-button-prev", disabled: this.isFirst(), "aria-label": i18next.t("buttons.previous") }, h(ChevronIcon, { key: '
|
|
446
|
+
}, onClick: () => this.handleCarouselButtonClick("left"), part: "carousel-button carousel-button-prev", disabled: this.isFirst(), "aria-label": i18next.t("buttons.previous") }, h(ChevronIcon, { key: '70aeaed3d65ebb2344f964f8bfba34f67de1c97a' })), h("button", { key: 'edd35c95f6404725cdfe9548f24fc555efe5b21d', class: "next", onClick: () => this.handleCarouselButtonClick("right"), part: "carousel-button carousel-button-next", disabled: this.isLast(), "aria-label": i18next.t("buttons.next") }, h(ChevronIcon, { key: 'e5af48de0f6c1f95dfaaf577ca930a233f8eb488' })))))), this.showBullets() && (h("div", { key: 'b0957a0f30c6a43c71198780d650413c4c28c1d3', class: "bullets" }, this.renderBullets()))));
|
|
443
447
|
}
|
|
444
448
|
static get is() { return "vviinn-carousel"; }
|
|
445
449
|
static get originalStyleUrls() {
|
|
@@ -61,7 +61,7 @@ export class VviinnSelectedFilters {
|
|
|
61
61
|
resetImageFilter && (this.imageSrc = null);
|
|
62
62
|
};
|
|
63
63
|
this.handleFilterTriggered = ({ detail, }) => {
|
|
64
|
-
var _a
|
|
64
|
+
var _a;
|
|
65
65
|
if (this.skipStateChanges(detail.isTriggeredByVpsWidget))
|
|
66
66
|
return;
|
|
67
67
|
if (detail.customTrigger === "TPS") {
|
|
@@ -69,14 +69,7 @@ export class VviinnSelectedFilters {
|
|
|
69
69
|
this.textSearchCustomFilter = detail.kind;
|
|
70
70
|
}
|
|
71
71
|
if (detail.action === "select" && ((_a = detail.filter) === null || _a === void 0 ? void 0 : _a.type) === "interval") {
|
|
72
|
-
|
|
73
|
-
if (intervalLabel) {
|
|
74
|
-
this.intervalCustomFilters = Object.assign(Object.assign({}, this.intervalCustomFilters), { [detail.filter.column]: intervalLabel });
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
const _c = this.intervalCustomFilters, _d = detail.filter.column, removed = _c[_d], remaining = __rest(_c, [typeof _d === "symbol" ? _d : _d + ""]);
|
|
78
|
-
this.intervalCustomFilters = remaining;
|
|
79
|
-
}
|
|
72
|
+
this.setIntervalFilterLabel(detail.filter, detail.value.interval);
|
|
80
73
|
}
|
|
81
74
|
};
|
|
82
75
|
this.handleImageUploadStarted = ({ detail }) => {
|
|
@@ -181,6 +174,10 @@ export class VviinnSelectedFilters {
|
|
|
181
174
|
this.selectedFilterButtons = [];
|
|
182
175
|
const filters = ((_a = this.state) === null || _a === void 0 ? void 0 : _a.dynamicFilters) || [];
|
|
183
176
|
filters.forEach((filter) => {
|
|
177
|
+
if (filter.type === "interval") {
|
|
178
|
+
this.syncPreselectedIntervalFilter(filter);
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
184
181
|
if (!("values" in filter))
|
|
185
182
|
return;
|
|
186
183
|
filter.values.forEach(({ value, label, active }) => {
|
|
@@ -198,6 +195,26 @@ export class VviinnSelectedFilters {
|
|
|
198
195
|
});
|
|
199
196
|
});
|
|
200
197
|
}
|
|
198
|
+
setIntervalFilterLabel(filter, interval) {
|
|
199
|
+
var _a;
|
|
200
|
+
const label = getIntervalLabel(filter, interval, (_a = this.currencySign) !== null && _a !== void 0 ? _a : defaultConfig.currencySign, true);
|
|
201
|
+
if (label) {
|
|
202
|
+
this.intervalCustomFilters = Object.assign(Object.assign({}, this.intervalCustomFilters), { [filter.column]: label });
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
const _b = this.intervalCustomFilters, _c = filter.column, removed = _b[_c], remaining = __rest(_b, [typeof _c === "symbol" ? _c : _c + ""]);
|
|
206
|
+
this.intervalCustomFilters = remaining;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
syncPreselectedIntervalFilter(filter) {
|
|
210
|
+
var _a;
|
|
211
|
+
if (this.intervalCustomFilters[filter.column])
|
|
212
|
+
return;
|
|
213
|
+
const matchingRequest = this.requestFilters.find((rf) => rf.column === filter.column);
|
|
214
|
+
if (!((_a = matchingRequest === null || matchingRequest === void 0 ? void 0 : matchingRequest.values) === null || _a === void 0 ? void 0 : _a.length))
|
|
215
|
+
return;
|
|
216
|
+
this.setIntervalFilterLabel(filter, matchingRequest.values[0]);
|
|
217
|
+
}
|
|
201
218
|
render() {
|
|
202
219
|
var _a, _b;
|
|
203
220
|
if (this.showInWidget &&
|
|
@@ -102,7 +102,7 @@ const emitSearchSuccess = (storeName, state, campaignTypeId) => {
|
|
|
102
102
|
}));
|
|
103
103
|
};
|
|
104
104
|
const updateVisualSearchState = (store, isHiResUpdate = false) => async (response) => {
|
|
105
|
-
var _a;
|
|
105
|
+
var _a, _b;
|
|
106
106
|
const state = useStore(store);
|
|
107
107
|
if (store === "shopTheLook") {
|
|
108
108
|
state.visualSearchId = response.requestId;
|
|
@@ -111,10 +111,15 @@ const updateVisualSearchState = (store, isHiResUpdate = false) => async (respons
|
|
|
111
111
|
const detectedObjects = response.interactions.suggestedSearchAreas.map(({ rectangle }) => rectangle);
|
|
112
112
|
if (detectedObjects.length > 0)
|
|
113
113
|
state.detectedObjects = detectedObjects;
|
|
114
|
+
const dynamicFilters = (_a = response.interactions.dynamicFilters) !== null && _a !== void 0 ? _a : [];
|
|
114
115
|
state.visualSearchId = response.requestId;
|
|
115
116
|
state.results = response.data.products;
|
|
116
|
-
state.dynamicFilters =
|
|
117
|
-
|
|
117
|
+
state.dynamicFilters = dynamicFilters;
|
|
118
|
+
const extractedFilters = extractSelectedFilters(dynamicFilters);
|
|
119
|
+
if (state.requestFilters.length === 0 && extractedFilters.length > 0) {
|
|
120
|
+
state.requestFilters = extractedFilters;
|
|
121
|
+
}
|
|
122
|
+
state.stream = (_b = response === null || response === void 0 ? void 0 : response.stream) !== null && _b !== void 0 ? _b : null;
|
|
118
123
|
state.searchStatus = "success";
|
|
119
124
|
if (!isHiResUpdate)
|
|
120
125
|
emitSearchSuccess(store, state, "VPS");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h } from './index-RkvPN2Rk.js';
|
|
2
|
-
import { j as addIfNotEmpty, p as parseStringToExcluded, o as isValueMatch, q as isIntervalMatch, r as valueToString, t as extractFilterValue } from './search.store-
|
|
2
|
+
import { j as addIfNotEmpty, p as parseStringToExcluded, o as isValueMatch, q as isIntervalMatch, r as valueToString, t as extractFilterValue } from './search.store-B0ZhYtWV.js';
|
|
3
3
|
import { i as instance } from './store-BJxQCbNV.js';
|
|
4
4
|
|
|
5
5
|
const PlusIcon = () => (h("svg", { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: "plus-icon", "aria-hidden": "true" },
|
|
@@ -15,6 +15,7 @@ const CAROUSEL_CONTENT_WIDTH_CSS_VAR = "--vviinn-carousel-content-width";
|
|
|
15
15
|
const CAROUSEL_IMAGE_WIDTH_CSS_VAR = "--vviinn-carousel-image-width";
|
|
16
16
|
const SET_MODE_IMAGE_WIDTH_CSS_VAR = "--vviinn-set-mode-image-width";
|
|
17
17
|
const RESULTS_CALCULATED_COLUMNS_CSS_VAR = "--vviinn-results-calculated-columns";
|
|
18
|
+
const CAROUSEL_COLUMNS_CSS_VAR = "--vviinn-carousel-columns";
|
|
18
19
|
const CONTENT_GROUP_CSS_CLASS = "items-group";
|
|
19
20
|
const DEFAULT_COLUMNS_NUMBER = 4;
|
|
20
21
|
const SCROLL_POSITION_TOLERANCE = 2;
|
|
@@ -367,4 +368,4 @@ const createImageSearchEvent = createTrackingEvent({
|
|
|
367
368
|
typ: SEARCH_EVENT_TYPE,
|
|
368
369
|
});
|
|
369
370
|
|
|
370
|
-
export { CONTENT_GROUP_CSS_CLASS as C, DEFAULT_COLUMNS_NUMBER as D, FilterIconClose as F, PlusIcon as P, RESULTS_CALCULATED_COLUMNS_CSS_VAR as R, SET_MODE_IMAGE_WIDTH_CSS_VAR as S, createFilterEvent as a, createAddToBasketEvent as b, createWidgetEvent as c, createAddToWishlistEvent as d, createResultEventByType as e, createProductEventByType as f, getRemoveFilterAriaLabel as g, getCustomLabels as h,
|
|
371
|
+
export { CONTENT_GROUP_CSS_CLASS as C, DEFAULT_COLUMNS_NUMBER as D, FilterIconClose as F, PlusIcon as P, RESULTS_CALCULATED_COLUMNS_CSS_VAR as R, SET_MODE_IMAGE_WIDTH_CSS_VAR as S, createFilterEvent as a, createAddToBasketEvent as b, createWidgetEvent as c, createAddToWishlistEvent as d, createResultEventByType as e, createProductEventByType as f, getRemoveFilterAriaLabel as g, getCustomLabels as h, triggerRemoveIntervalFilter as i, announceToScreenReader as j, isSubFilterActive as k, RenderFilterButton as l, getIntervalLabel as m, createImageSearchEvent as n, CAROUSEL_IMAGE_WIDTH_CSS_VAR as o, CAROUSEL_CONTENT_WIDTH_CSS_VAR as p, CAROUSEL_COLUMNS_CSS_VAR as q, SCROLL_POSITION_TOLERANCE as r, syncRequestFilters as s, triggerFilter as t, triggerResetFilters as u, v4 as v, isPriceFilter as w, CUSTOM_LABELS_DELIMITER as x, getRecommendationsBody as y };
|
|
@@ -8591,7 +8591,7 @@ const encodeToBase64UTF8 = (str) => {
|
|
|
8591
8591
|
return btoa(String.fromCharCode.apply(null, utf8Array));
|
|
8592
8592
|
};
|
|
8593
8593
|
|
|
8594
|
-
const version = "2.216.
|
|
8594
|
+
const version = "2.216.2";
|
|
8595
8595
|
|
|
8596
8596
|
const appStateGlobalDefaults = {
|
|
8597
8597
|
excluded: null,
|
|
@@ -8680,7 +8680,7 @@ const emitSearchSuccess = (storeName, state, campaignTypeId) => {
|
|
|
8680
8680
|
}));
|
|
8681
8681
|
};
|
|
8682
8682
|
const updateVisualSearchState = (store, isHiResUpdate = false) => async (response) => {
|
|
8683
|
-
var _a;
|
|
8683
|
+
var _a, _b;
|
|
8684
8684
|
const state = useStore(store);
|
|
8685
8685
|
if (store === "shopTheLook") {
|
|
8686
8686
|
state.visualSearchId = response.requestId;
|
|
@@ -8689,10 +8689,15 @@ const updateVisualSearchState = (store, isHiResUpdate = false) => async (respons
|
|
|
8689
8689
|
const detectedObjects = response.interactions.suggestedSearchAreas.map(({ rectangle }) => rectangle);
|
|
8690
8690
|
if (detectedObjects.length > 0)
|
|
8691
8691
|
state.detectedObjects = detectedObjects;
|
|
8692
|
+
const dynamicFilters = (_a = response.interactions.dynamicFilters) !== null && _a !== void 0 ? _a : [];
|
|
8692
8693
|
state.visualSearchId = response.requestId;
|
|
8693
8694
|
state.results = response.data.products;
|
|
8694
|
-
state.dynamicFilters =
|
|
8695
|
-
|
|
8695
|
+
state.dynamicFilters = dynamicFilters;
|
|
8696
|
+
const extractedFilters = extractSelectedFilters(dynamicFilters);
|
|
8697
|
+
if (state.requestFilters.length === 0 && extractedFilters.length > 0) {
|
|
8698
|
+
state.requestFilters = extractedFilters;
|
|
8699
|
+
}
|
|
8700
|
+
state.stream = (_b = response === null || response === void 0 ? void 0 : response.stream) !== null && _b !== void 0 ? _b : null;
|
|
8696
8701
|
state.searchStatus = "success";
|
|
8697
8702
|
if (!isHiResUpdate)
|
|
8698
8703
|
emitSearchSuccess(store, state, "VPS");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { h, r as registerInstance, H as Host, c as createEvent, g as getElement, F as Fragment } from './index-RkvPN2Rk.js';
|
|
2
2
|
import { i as instance } from './store-BJxQCbNV.js';
|
|
3
|
-
import { l as getAcceptableFileFormatsForDisplay, h as campaignTypeNames, j as addIfNotEmpty, n as searchState, u as useSearchStore, v as version } from './search.store-
|
|
3
|
+
import { l as getAcceptableFileFormatsForDisplay, h as campaignTypeNames, j as addIfNotEmpty, n as searchState, u as useSearchStore, v as version } from './search.store-B0ZhYtWV.js';
|
|
4
4
|
import { s as slotChangeListener, a as addEventListenersWithSignal } from './index-OsoUj2Au.js';
|
|
5
5
|
import { S as SecondaryActionIcon } from './SecondaryActionIcon-FWFzrhba.js';
|
|
6
6
|
import { m as modalParts, c as carouselParts, p as productCardParts, r as recommendationsParts, i as initializeLocale } from './index-BtnjaTty.js';
|
|
@@ -221,7 +221,7 @@ const VviinnOverlay = class {
|
|
|
221
221
|
};
|
|
222
222
|
VviinnOverlay.style = vviinnOverlayCss;
|
|
223
223
|
|
|
224
|
-
const recommendationsSidebarCss = ":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-display:32px;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-display:40px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#707070;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--surface-bg-color-shadow-01:#dddddd;--surface-bg-color-shadow-02:#c6c6c6;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;--sidebar-animation-duration-default:0.5s;--search-modal-animation-duration-default:0.25s;--search-modal-animation-duration-mobile-default:0.35s;}:host{
|
|
224
|
+
const recommendationsSidebarCss = ":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-size-display:32px;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-display:40px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:135px;--product-card-results-min-width:250px;--image-set-mode-min-width:155px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#707070;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--button-bg-color-positive:#dcfce7;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--surface-bg-color-shadow-01:#dddddd;--surface-bg-color-shadow-02:#c6c6c6;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;--sidebar-animation-duration-default:0.5s;--search-modal-animation-duration-default:0.25s;--search-modal-animation-duration-mobile-default:0.35s;}:host{display:flex;box-sizing:border-box;position:fixed;z-index:9999;height:100vh;left:0;top:0;transition:background 0.1s ease-in-out;width:100vw}:host(.bottom){flex-direction:column;justify-content:flex-end}:host(.no-fixed){position:unset;display:block;width:100%;height:auto}:host(.no-fixed.no-carousel.appended.loading){min-height:calc((var(--product-card-calculated-height) * 3) + 48px)}:host(.right){flex-direction:row;justify-content:flex-end}:host [slot]{visibility:hidden;position:absolute}.sidebar-header{position:relative;text-align:center;padding:var(--spacing-300);padding-top:0px}.sidebar-header.contains-source-img{display:grid;justify-items:center;grid-gap:12px}img.source-image{width:64px;height:64px;border-radius:50%;padding:6px;border:1px solid var(--color-border-02);-o-object-fit:contain;object-fit:contain}:host(.right) .sidebar-header{box-shadow:0px 2px 6px rgba(0, 0, 0, 0.1)}.sidebar-content{padding:0 var(--spacing-300)}:host(.right) .sidebar-content{overflow:auto}.sidebar{background:white;box-sizing:border-box;padding-top:var(--spacing-300);display:flex;flex-direction:column;max-height:100vh;overflow-y:auto}:host(.bottom.idle) .sidebar,:host(.bottom.closed) .sidebar{transform:translateY(100%)}:host(.no-fixed) .sidebar{transform:unset !important}:host(.bottom.closed) .sidebar{animation-name:slideOutFromBottom;animation-duration:var(\n --sidebar-animation-duration,\n var(--sidebar-animation-duration-default)\n );animation-fill-mode:forwards}:host(.open){transition:background 0.3s ease-in-out;background:rgba(0, 0, 0, 0.2)}:host(.bottom.open) .sidebar{animation-name:slideInFromBottom;animation-duration:var(\n --sidebar-animation-duration,\n var(--sidebar-animation-duration-default)\n );animation-fill-mode:forwards}:host(.right.idle) .sidebar{transform:translateX(100%)}:host(.right.closed) .sidebar{animation-name:slideOutFromRight;animation-duration:var(\n --sidebar-animation-duration,\n var(--sidebar-animation-duration-default)\n );animation-fill-mode:forwards}:host(.right.open) .sidebar{animation-name:slideInFromRight;animation-duration:var(\n --sidebar-animation-duration,\n var(--sidebar-animation-duration-default)\n );animation-fill-mode:forwards}:host(.right) .sidebar{max-width:480px}:host(.right) vviinn-vpr-widget::part(recommendations-results){display:grid;grid-template-columns:repeat(2, 1fr);grid-gap:var(--spacing-300)}:host(.right) vviinn-vpr-widget{overflow:auto}.title{font-style:normal;font-weight:var(--font-weight-600);font-size:var(--font-size-title);font-family:var(--font-family, var(--font-family-base));line-height:40px;text-align:center;color:#000000}.subtitle{font-size:var(--font-size-body);font-family:var(--font-family, var(--font-family-base));text-align:center}.close-sidebar{position:absolute;background:transparent;border:none;cursor:pointer;margin:0;top:0;color:var(--color-icon-secondary);transition:color 0.1s ease-in-out;padding:var(--spacing-100);right:var(--spacing-200)}.close-sidebar:hover{color:var(--color-icon-primary)}@keyframes slideInFromBottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideOutFromBottom{from{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes slideInFromRight{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideOutFromRight{from{transform:translateX(0)}to{transform:translateX(100%)}}@media (max-width: 768px){:host{--vviinn-carousel-columns:2}}";
|
|
225
225
|
|
|
226
226
|
const RecommendationsSidebar = class {
|
|
227
227
|
constructor(hostRef) {
|