vviinn-widgets 2.20.0 → 2.20.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.
Files changed (35) hide show
  1. package/dist/cjs/{package-3599554e.js → package-5466077a.js} +1 -1
  2. package/dist/cjs/vviinn-carousel_3.cjs.entry.js +1 -1
  3. package/dist/cjs/vviinn-vpr-button.cjs.entry.js +1 -1
  4. package/dist/cjs/vviinn-vps-button.cjs.entry.js +1 -1
  5. package/dist/cjs/vviinn-vps-widget.cjs.entry.js +1 -1
  6. package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.js +5 -2
  7. package/dist/esm/{package-ad0b8509.js → package-a1bd1e95.js} +1 -1
  8. package/dist/esm/vviinn-carousel_3.entry.js +1 -1
  9. package/dist/esm/vviinn-vpr-button.entry.js +1 -1
  10. package/dist/esm/vviinn-vps-button.entry.js +1 -1
  11. package/dist/esm/vviinn-vps-widget.entry.js +1 -1
  12. package/dist/types/components/vviinn-vps-widget/vviinn-vps-widget.d.ts +1 -0
  13. package/dist/types/components.d.ts +0 -7
  14. package/dist/vviinn-widgets/p-47b1b862.entry.js +1 -0
  15. package/dist/vviinn-widgets/{p-7348f855.entry.js → p-7d93f947.entry.js} +1 -1
  16. package/dist/vviinn-widgets/{p-cde43a5d.entry.js → p-80d38a22.entry.js} +1 -1
  17. package/dist/vviinn-widgets/p-91822e21.js +1 -0
  18. package/{www/build/p-09a1977b.entry.js → dist/vviinn-widgets/p-b9f04a14.entry.js} +1 -1
  19. package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
  20. package/package.json +1 -1
  21. package/www/build/p-47b1b862.entry.js +1 -0
  22. package/www/build/{p-7348f855.entry.js → p-7d93f947.entry.js} +1 -1
  23. package/www/build/{p-cde43a5d.entry.js → p-80d38a22.entry.js} +1 -1
  24. package/www/build/p-91822e21.js +1 -0
  25. package/www/build/p-a67898be.css +1 -0
  26. package/{dist/vviinn-widgets/p-09a1977b.entry.js → www/build/p-b9f04a14.entry.js} +1 -1
  27. package/www/build/p-e296f9f6.js +1 -0
  28. package/www/build/vviinn-widgets.esm.js +1 -1
  29. package/www/index.html +1 -1
  30. package/dist/vviinn-widgets/p-71a9e0a9.entry.js +0 -1
  31. package/dist/vviinn-widgets/p-cea6942b.js +0 -1
  32. package/www/build/p-709fb3ad.js +0 -161
  33. package/www/build/p-71a9e0a9.entry.js +0 -1
  34. package/www/build/p-cea6942b.js +0 -1
  35. package/www/build/p-e0153ae2.css +0 -6
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
2
 
3
- const version = "2.20.0";
3
+ const version = "2.20.2";
4
4
 
5
5
  exports.version = version;
@@ -6,7 +6,7 @@ const index = require('./index-a4becaff.js');
6
6
  const imageSearch_store = require('./imageSearch.store-fbe0600a.js');
7
7
  const index$1 = require('./index-610c6c1f.js');
8
8
  const Campaign = require('./Campaign-13258569.js');
9
- const _package = require('./package-3599554e.js');
9
+ const _package = require('./package-5466077a.js');
10
10
  const Handler = require('./Handler-de64afa5.js');
11
11
  const index$2 = require('./index-c4851793.js');
12
12
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-a4becaff.js');
6
- const _package = require('./package-3599554e.js');
6
+ const _package = require('./package-5466077a.js');
7
7
  const index$1 = require('./index-610c6c1f.js');
8
8
 
9
9
  const vviinnVprButtonCss = ":host{display:block}";
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-a4becaff.js');
6
- const _package = require('./package-3599554e.js');
6
+ const _package = require('./package-5466077a.js');
7
7
  const index$1 = require('./index-610c6c1f.js');
8
8
  const customizedSlots = require('./customized-slots-aee3f39d.js');
9
9
  const Campaign = require('./Campaign-13258569.js');
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-a4becaff.js');
6
- const _package = require('./package-3599554e.js');
6
+ const _package = require('./package-5466077a.js');
7
7
  const imageSearch_store = require('./imageSearch.store-fbe0600a.js');
8
8
  const customizedSlots = require('./customized-slots-aee3f39d.js');
9
9
  const index$1 = require('./index-c4851793.js');
@@ -419,8 +419,11 @@ export class VviinnVpsWidget {
419
419
  "required": false,
420
420
  "optional": true,
421
421
  "docs": {
422
- "tags": [],
423
- "text": "Set true when showing the widget in button"
422
+ "tags": [{
423
+ "name": "internal",
424
+ "text": undefined
425
+ }],
426
+ "text": ""
424
427
  },
425
428
  "attribute": "showing-in-button",
426
429
  "reflect": false,
@@ -1,3 +1,3 @@
1
- const version = "2.20.0";
1
+ const version = "2.20.2";
2
2
 
3
3
  export { version as v };
@@ -2,7 +2,7 @@ import { r as registerInstance, h, H as Host, g as getElement, c as createEvent,
2
2
  import { _ as _Array, O as Option, S as Semigroup, a as _function, E as Either, i as imageSearchState, s as state, c as chainW, m as makeRequest, f as fromEither, g as getApiPath, b as createInitGetRequest, A as Apply, d as map, e as match, T as TaskEither, h as checkEmpryString } from './imageSearch.store-cccd9b24.js';
3
3
  import { C as ChevronIcon } from './index-714e572a.js';
4
4
  import { c as campaignTypeNames, f as fromString, a as fold } from './Campaign-90ba7e06.js';
5
- import { v as version } from './package-ad0b8509.js';
5
+ import { v as version } from './package-a1bd1e95.js';
6
6
  import { h as has, t as tuple, p as pipe } from './Handler-7bfee84f.js';
7
7
  import { c as createProductViewVprEvent, a as createProductClickVprEvent, v as v4, b as createTrackingApi, d as createWidgetVprEvent } from './index-fdc32fbc.js';
8
8
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-48ef9564.js';
2
- import { v as version } from './package-ad0b8509.js';
2
+ import { v as version } from './package-a1bd1e95.js';
3
3
  import { V as VisualSearchIcon } from './index-714e572a.js';
4
4
 
5
5
  const vviinnVprButtonCss = ":host{display:block}";
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-48ef9564.js';
2
- import { v as version } from './package-ad0b8509.js';
2
+ import { v as version } from './package-a1bd1e95.js';
3
3
  import { a as CameraIcon } from './index-714e572a.js';
4
4
  import { S as SlotSkeleton } from './customized-slots-b372eaed.js';
5
5
  import { c as campaignTypeNames } from './Campaign-90ba7e06.js';
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-48ef9564.js';
2
- import { v as version } from './package-ad0b8509.js';
2
+ import { v as version } from './package-a1bd1e95.js';
3
3
  import { i as imageSearchState, s as state, a as _function, O as Option, l as isEmpty } from './imageSearch.store-cccd9b24.js';
4
4
  import { s as slotChangeListener, S as SlotSkeleton } from './customized-slots-b372eaed.js';
5
5
  import { e as createProductViewVpsEvent, f as createProductClickVpsEvent, g as createSearchEvent, h as createFilterEvent, v as v4, b as createTrackingApi, i as createWidgetVpsEvent } from './index-fdc32fbc.js';
@@ -60,6 +60,7 @@ export declare class VviinnVpsWidget {
60
60
  /** Campaign using for visual search */
61
61
  campaignId?: string;
62
62
  /** Set true when showing the widget in button */
63
+ /** @internal */
63
64
  showingInButton?: boolean;
64
65
  /** Element Id, passed from vps-button */
65
66
  /** @internal */
@@ -317,9 +317,6 @@ export namespace Components {
317
317
  "locale": string;
318
318
  "mode": "modal" | "upload";
319
319
  "resetVpsButton": () => void;
320
- /**
321
- * Set true when showing the widget in button
322
- */
323
320
  "showingInButton"?: boolean;
324
321
  /**
325
322
  * vviinn customer token
@@ -970,10 +967,6 @@ declare namespace LocalJSX {
970
967
  "onVviinnWidgetClose"?: (event: VviinnVpsWidgetCustomEvent<any>) => void;
971
968
  "onVviinnWidgetLoad"?: (event: VviinnVpsWidgetCustomEvent<BasicEventData>) => void;
972
969
  "onVviinnWidgetOpen"?: (event: VviinnVpsWidgetCustomEvent<BasicEventData>) => void;
973
- /**
974
- * Set true when showing the widget in button
975
- */
976
- "showingInButton"?: boolean;
977
970
  /**
978
971
  * vviinn customer token
979
972
  */
@@ -0,0 +1 @@
1
+ import{r as i,c as t,h as s,H as e,g as n}from"./p-fa17e81f.js";import{v as o}from"./p-91822e21.js";import{a as h}from"./p-c24caccd.js";import{S as a}from"./p-53eacbe3.js";import{c as r}from"./p-18fd769b.js";const d=class{constructor(s){i(this,s),this.globalSlotsChanged=t(this,"globalSlotsChanged",7),this.vviinnWidgetOpen=t(this,"vviinnWidgetOpen",7),this.vviinnImageUpload=t(this,"vviinnImageUpload",7),this.vviinnNoResult=t(this,"vviinnNoResult",7),this.vviinnWidgetLoad=t(this,"vviinnWidgetLoad",7),this.vviinnWidgetClose=t(this,"vviinnWidgetClose",7),this.vviinnProductClick=t(this,"vviinnProductClick",7),this.vviinnProductView=t(this,"vviinnProductView",7),this.vviinnProductLoad=t(this,"vviinnProductLoad",7),this.vviinnImageCrop=t(this,"vviinnImageCrop",7),this.vviinnSelectObject=t(this,"vviinnSelectObject",7),this.vviinnSelectFilter=t(this,"vviinnSelectFilter",7),this.getBasicEventData=()=>({widgetType:"VPS",campaignTypeId:"VPS",campaignTypeName:r.VPS,widgetId:this.el.id,widgetVersion:o}),this.token=void 0,this.currencySign="€",this.locale="de-DE",this.campaignId=void 0,this.addStyle=!1,this.mode="modal",this.apiPath=void 0,this.buttonPressed=!1}handleModalClosed(){this.buttonPressed=!1}componentDidLoad(){const i=this.el.querySelectorAll("[slot]");this.globalSlotsChanged.emit(Array.from(i))}handleClick(){this.buttonPressed=!0}resetButton(){this.buttonPressed=!1}render(){return s(e,{tabindex:"0",role:"button"},s("vviinn-button",{onClick:()=>{this.handleClick()},addStyle:this.addStyle,part:"vviinn-button"},s("slot",null,s(h,null))),s(a,null),s("vviinn-vps-widget",{mode:this.mode,"currency-sign":this.currencySign,token:this.token,locale:this.locale,apiPath:this.apiPath,exportparts:"brand, deeplink, currency, image, image-link, price-amount-sale, price-amount-outdated, price-amount-regular, price-container, price-outdated, price-regular, price-sale, price-prefix, title, product-card, example-images",campaignId:this.campaignId,showingInButton:!0,buttonPressed:this.buttonPressed,resetVpsButton:this.resetButton.bind(this),buttonElementId:this.el.id}))}get el(){return n(this)}};d.style=":host{display:block}";export{d as vviinn_vps_button}
@@ -1 +1 @@
1
- import{r as i,c as t,h as s,H as h,g as n}from"./p-fa17e81f.js";import{v as o}from"./p-cea6942b.js";import{V as v}from"./p-c24caccd.js";const e=class{constructor(s){i(this,s),this.vviinnWidgetLoad=t(this,"vviinnWidgetLoad",7),this.vviinnWidgetOpen=t(this,"vviinnWidgetOpen",7),this.vviinnWidgetClose=t(this,"vviinnWidgetClose",7),this.vviinnProductClick=t(this,"vviinnProductClick",7),this.vviinnProductView=t(this,"vviinnProductView",7),this.vviinnProductLoad=t(this,"vviinnProductLoad",7),this.vviinnNoResult=t(this,"vviinnNoResult",7),this.sidebar=null,this.sidebarCloseListener=()=>{document.body.removeChild(this.sidebar)},this.token=void 0,this.productId=void 0,this.position="bottom",this.sourceImage=null,this.sidebarTitle="Visually similar products",this.modalScrollbar=!1,this.campaigns="",this.campaignType="VPR",this.color=void 0,this.addStyle=!0,this.mode="continuity",this.imageWidth=300,this.currencySign="€",this.noResultText=void 0,this.noResultShow=!0,this.gridArrowsDynamic=!1,this.apiPath="https://api.vviinn.com"}render(){return s(h,{onClick:()=>{this.handleClick()},role:"button",tabindex:"0"},s("vviinn-button",{addStyle:this.addStyle,part:"vviinn-button"},s("slot",null,s(v,null))))}handleClick(){const i=document.createElement("vviinn-recommendations-sidebar");i.sidebarTitle=this.sidebarTitle,i.productId=this.productId,i.token=this.token,i.position=this.position,i.sourceImage=this.sourceImage,i.widgetScrollbar=this.modalScrollbar,i.campaigns=this.campaigns,i.campaignType=this.campaignType,i.color=this.color,i.mode="right"===this.position?"grid":this.mode,i.imageWidth=this.imageWidth,i.currencySign=this.currencySign,i.apiPath=this.apiPath,i.buttonElementId=this.el.id,i.noResultText=this.noResultText,i.noResultShow=this.noResultShow,i.gridArrowsDynamic=this.gridArrowsDynamic,i.widgetVersion=o,i.showingInButton=!0,this.sidebar=i,i.addEventListener("vviinnWidgetClose",this.sidebarCloseListener),document.body.append(this.sidebar)}disconnectedCallback(){this.sidebar&&(this.sidebar.removeEventListener("vviinnWidgetClose",this.sidebarCloseListener),document.body.removeChild(this.sidebar))}get el(){return n(this)}};e.style=":host{display:block}";export{e as vviinn_vpr_button}
1
+ import{r as i,c as t,h as s,H as h,g as n}from"./p-fa17e81f.js";import{v as o}from"./p-91822e21.js";import{V as v}from"./p-c24caccd.js";const e=class{constructor(s){i(this,s),this.vviinnWidgetLoad=t(this,"vviinnWidgetLoad",7),this.vviinnWidgetOpen=t(this,"vviinnWidgetOpen",7),this.vviinnWidgetClose=t(this,"vviinnWidgetClose",7),this.vviinnProductClick=t(this,"vviinnProductClick",7),this.vviinnProductView=t(this,"vviinnProductView",7),this.vviinnProductLoad=t(this,"vviinnProductLoad",7),this.vviinnNoResult=t(this,"vviinnNoResult",7),this.sidebar=null,this.sidebarCloseListener=()=>{document.body.removeChild(this.sidebar)},this.token=void 0,this.productId=void 0,this.position="bottom",this.sourceImage=null,this.sidebarTitle="Visually similar products",this.modalScrollbar=!1,this.campaigns="",this.campaignType="VPR",this.color=void 0,this.addStyle=!0,this.mode="continuity",this.imageWidth=300,this.currencySign="€",this.noResultText=void 0,this.noResultShow=!0,this.gridArrowsDynamic=!1,this.apiPath="https://api.vviinn.com"}render(){return s(h,{onClick:()=>{this.handleClick()},role:"button",tabindex:"0"},s("vviinn-button",{addStyle:this.addStyle,part:"vviinn-button"},s("slot",null,s(v,null))))}handleClick(){const i=document.createElement("vviinn-recommendations-sidebar");i.sidebarTitle=this.sidebarTitle,i.productId=this.productId,i.token=this.token,i.position=this.position,i.sourceImage=this.sourceImage,i.widgetScrollbar=this.modalScrollbar,i.campaigns=this.campaigns,i.campaignType=this.campaignType,i.color=this.color,i.mode="right"===this.position?"grid":this.mode,i.imageWidth=this.imageWidth,i.currencySign=this.currencySign,i.apiPath=this.apiPath,i.buttonElementId=this.el.id,i.noResultText=this.noResultText,i.noResultShow=this.noResultShow,i.gridArrowsDynamic=this.gridArrowsDynamic,i.widgetVersion=o,i.showingInButton=!0,this.sidebar=i,i.addEventListener("vviinnWidgetClose",this.sidebarCloseListener),document.body.append(this.sidebar)}disconnectedCallback(){this.sidebar&&(this.sidebar.removeEventListener("vviinnWidgetClose",this.sidebarCloseListener),document.body.removeChild(this.sidebar))}get el(){return n(this)}};e.style=":host{display:block}";export{e as vviinn_vpr_button}
@@ -1 +1 @@
1
- import{r as i,c as t,h as e,H as s,g as r}from"./p-fa17e81f.js";import{v as a}from"./p-cea6942b.js";import{i as o,s as n,a as d,O as p,l}from"./p-3abc679c.js";import{s as c,S as h}from"./p-53eacbe3.js";import{e as g,f as v,g as u,h as m,v as b,b as f,i as x}from"./p-2f7bf983.js";import{c as w}from"./p-18fd769b.js";import"./p-3b99c62d.js";var y=function(i,t){var e={};for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&t.indexOf(s)<0&&(e[s]=i[s]);if(null!=i&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(i);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(i,s[r])&&(e[s[r]]=i[s[r]])}return e};const k=i=>/^[-+]?(\d+|Infinity)$/.test(i)?Number(i):NaN,j=i=>!l(i),I=i=>!isNaN(i),_=class{constructor(e){i(this,e),this.globalSlotsChanged=t(this,"globalSlotsChanged",7),this.vviinnWidgetLoad=t(this,"vviinnWidgetLoad",7),this.vviinnWidgetOpen=t(this,"vviinnWidgetOpen",7),this.vviinnWidgetClose=t(this,"vviinnWidgetClose",7),this.vviinnProductClick=t(this,"vviinnProductClick",7),this.vviinnProductView=t(this,"vviinnProductView",7),this.vviinnProductLoad=t(this,"vviinnProductLoad",7),this.vviinnImageUpload=t(this,"vviinnImageUpload",7),this.vviinnImageCrop=t(this,"vviinnImageCrop",7),this.vviinnSelectObject=t(this,"vviinnSelectObject",7),this.vviinnSelectFilter=t(this,"vviinnSelectFilter",7),this.vviinnNoResult=t(this,"vviinnNoResult",7),this.imageSource=null,this.setTrackingDeactivated=i=>{"rejected"===i.status&&(this.trackingDeactivated=!0)},this.getBasicEventData=()=>{var i;return{widgetType:"VPS",campaignTypeId:"VPS",campaignTypeName:w.VPS,widgetId:null!==(i=this.buttonElementId)&&void 0!==i?i:this.id,widgetVersion:a}},this.token=void 0,this.apiPath="https://api.vviinn.com",this.active=!1,this.currencySign="€",this.locale="de-DE",this.campaignId=void 0,this.showingInButton=!1,this.buttonElementId=void 0,this.buttonPressed=void 0,this.mode="modal",this.resetVpsButton=void 0,this.slidePosition=0,this.width=0,this.wrongImageFormat=!1,this.trackingDeactivated=!1}componentDidLoad(){const i=this.el.querySelectorAll("[slot]");this.globalSlotsChanged.emit(Array.from(i))}activeWatcher(i){i?(this.overflow=document.body.style.overflow,document.body.style.overflow="hidden",this.trackOpenEvent()):document.body.style.overflow=this.overflow}buttonPressedWatcher(i){i&&"modal"===this.mode&&(this.active=!0,this.vviinnWidgetOpen.emit(this.getBasicEventData()))}trackProductView({detail:i}){if(this.trackingDeactivated)return;const{productRank:t,productId:e}=i,s=y(i,["productRank","productId","productName","widgetType","widgetId","campaignTypeId","campaignTypeName"]),r=g(Object.assign({session_id:this.uiSessionId,rank:t,product:e},s));this.trackingApi.trackEvent(r).then(this.setTrackingDeactivated)}async trackProductClick({detail:i}){const{productRank:t,productId:e}=i,s=y(i,["productRank","productId","productName","widgetType","widgetId","campaignTypeId","campaignTypeName"]),r=v(Object.assign({session_id:this.uiSessionId,rank:t,product:e},s));this.trackingDeactivated||await this.trackingApi.trackEvent(this.trackingDeactivated?null:r).then(this.setTrackingDeactivated);const a=o.results.find((t=>t.productId===i.productId));a&&a.deeplink&&(window.location.href=a.deeplink)}trachSearchAreaChanges(){if(this.trackingDeactivated)return;const i=u({session_id:this.uiSessionId,source:this.imageSource,search_area:"manual-selection"});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}trackDetectedObject(){if(this.trackingDeactivated)return;const i=u({session_id:this.uiSessionId,source:this.imageSource,search_area:"attention-point"});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}trackFilter({detail:i}){if(this.trackingDeactivated)return;const t=m({session_id:this.uiSessionId,source:this.imageSource,kind:"category",action:i.action});this.trackingApi.trackEvent(t).then(this.setTrackingDeactivated)}connectedCallback(){n.apiPath=this.apiPath,n.currencySign=this.currencySign,n.locale=this.locale,o.token=this.token,o.campaignId=d.pipe(this.campaignId,p.fromNullable,p.chain(p.fromPredicate(j)),p.map(k),p.chain(p.fromPredicate(I)),p.map((i=>`${i}`))),this.uiSessionId=b(),this.trackingApi=f(this.apiPath,this.token),this.id=this.el.id}componentWillLoad(){c(this,this.el),this.vviinnWidgetLoad.emit(this.getBasicEventData())}trackOpenEvent(){if(this.trackingDeactivated)return;const i=x({action:"open",session_id:this.uiSessionId});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}handleImageSelection(i){this.imageSource=i,this.slidePosition=1,this.el.shadowRoot.querySelector("vviinn-overlayed-modal").shadowRoot.querySelector("vviinn-overlay").querySelector("vviinn-modal").shadowRoot.querySelector(".body").scrollTop=0,this.trackInitialSearch()}trackInitialSearch(){if(this.trackingDeactivated)return;const i=u({session_id:this.uiSessionId,source:this.imageSource,search_area:"full"});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}resetState(){this.resetScroll("onboarding-block"),this.slidePosition=0,o.image=p.none,o.imageUrl=p.none,o.imageBounds=p.none,o.searchArea=p.none,o.results=[],o.filters=[],o.detectedObjects=[],o.activeIonLink=void 0,o.rectangleSearchForm=void 0,o.loading=!1,this.resetScroll("results-block")}haveErrors(){return this.wrongImageFormat||o.serverError}resetScroll(i,t="auto"){this.el.shadowRoot.getElementById(i).scroll({top:0,left:0,behavior:t})}handleModalClose(){if(this.active=!1,this.resetState(),["onboarding-block","results-block"].forEach((i=>this.resetScroll(i))),this.trackingDeactivated)return;const i=x({action:"close",session_id:this.uiSessionId});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}render(){var i;return e(s,null,!this.showingInButton&&e(h,null),e("vviinn-overlayed-modal",{class:{"first-screen":0===this.slidePosition},active:this.active,resetState:this.resetState.bind(this),onVviinnWidgetClose:()=>this.handleModalClose(),buttonElementId:null!==(i=this.buttonElementId)&&void 0!==i?i:this.id,widgetVersion:a,hideBackButton:"upload"===this.mode,exportparts:"secondary-action, title, close-button, example-images"},e("vviinn-slider",{showBullets:!1,position:this.slidePosition},e("vviinn-slide",{class:{"start-page":!0}},e("div",{class:{error:this.haveErrors(),"start-page_block":!0}},e("vviinn-wrong-format",{class:{hidden:!this.wrongImageFormat},handler:()=>this.wrongImageFormat=!1}),e("vviinn-server-error",{class:{hidden:!o.serverError},handler:()=>o.serverError=!1}),e("vviinn-teaser",{class:{hidden:this.haveErrors()}}),e("vviinn-image-selector",{class:{hidden:this.haveErrors()},onVviinnImageUpload:()=>{this.active=!0,this.handleImageSelection("upload"),"upload"===this.mode&&this.vviinnWidgetOpen.emit(this.getBasicEventData())},onVviinnNoResult:()=>this.wrongImageFormat=!0,resetVpsButton:this.resetVpsButton,basicEventData:this.getBasicEventData(),part:"select-image_button",startUpload:this.buttonPressed&&this.showingInButton&&"upload"===this.mode},e("span",{slot:"upload-button-text",class:"upload-button-content"},e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"29",height:"28",fill:"none"},e("defs",null),e("path",{fill:"#fff","fill-rule":"evenodd",d:"M10.271 3.89A.875.875 0 0111 3.5h7c.293 0 .566.146.728.39l1.49 2.235h3.033a2.625 2.625 0 012.625 2.625V21a2.625 2.625 0 01-2.625 2.625H5.75A2.625 2.625 0 013.125 21V8.75A2.625 2.625 0 015.75 6.125h3.031l1.49-2.235zm1.197 1.36l-1.49 2.235a.875.875 0 01-.729.39H5.75a.875.875 0 00-.875.875V21a.875.875 0 00.875.875h17.5a.875.875 0 00.875-.875V8.75a.875.875 0 00-.875-.875h-3.5a.875.875 0 01-.729-.39l-1.49-2.235h-6.063z","clip-rule":"evenodd"}),e("path",{fill:"#fff","fill-rule":"evenodd",d:"M14.5 11.375a3.062 3.062 0 100 6.125 3.062 3.062 0 000-6.125zm-4.813 3.063a4.812 4.812 0 119.625 0 4.812 4.812 0 01-9.625 0z","clip-rule":"evenodd"})),e("slot",{name:"vviinn-image-upload-button-text"},e("span",null,"Kamera oder Bild auswählen")))),e("vviinn-privacy-badge",{class:{hidden:this.haveErrors()}})),e("div",{id:"onboarding-block",class:"start-page_block"},e("div",{class:"onboarding-wrapper"},e("vviinn-onboarding",null),e("vviinn-example-images",{part:"example-images",onVviinnImageUpload:()=>this.handleImageSelection("example"),onVviinnNoResult:()=>this.resetScroll("onboarding-block","smooth"),basicEventData:this.getBasicEventData()})))),e("vviinn-slide",{class:{"results-page":!0,active:1==this.slidePosition}},e("div",{class:"image-wrapper"},e("vviinn-image-view",{basicEventData:this.getBasicEventData()}),e("div",{class:"filters-wrapper"},e("div",{class:"filters"},o.filters.map((i=>e("search-filters",{filter:i,basicEventData:this.getBasicEventData()})))))),e("div",{id:"results-block",class:"products-wrapper"},e("div",{class:{"nothing-found":!0,hidden:o.results.length>0}},e("vviinn-empty-results",null),e("vviinn-onboarding",null)),e("div",{class:{hidden:o.results.length<=0,products:!0}},o.results.map(((i,t)=>{var s;return e("vviinn-product-card",{key:i.productId,hidden:!0,productTitle:i.title,productId:i.productId,brand:i.brand,deeplink:i.deeplink,price:i.price.actual,salePrice:i.price.sale,imageWidth:160,image:null!==(s=i.image.thumbnail)&&void 0!==s?s:i.image.original,part:"product-card",campaignTypeId:"VPS",index:t,widgetElementId:this.id,buttonElementId:this.buttonElementId,widgetVersion:a})}))))))))}get el(){return r(this)}static get watchers(){return{active:["activeWatcher"],buttonPressed:["buttonPressedWatcher"]}}};_.style=":host{--color-primary-system:#0F62FE;--color-primary-hover-system:#014CDA;--color-icons-system:#2F8EDF;--spacer:8px}:host{display:block}.hidden{visibility:hidden;height:1px}vviinn-overlayed-modal.first-screen::part(title),vviinn-overlayed-modal.first-screen::part(secondary-action){visibility:hidden}.start-page{display:grid;grid-template-columns:repeat(2, 1fr);min-height:580px}.start-page_block{align-content:start;border-right:1px solid #f4f4f4;display:grid;padding:48px}.start-page_block.error{align-content:center}#onboarding-block{border-right:unset;box-sizing:border-box;grid-gap:24px;overflow-y:auto;position:relative;width:100%}vviinn-teaser{margin-bottom:32px;margin-top:-24px}vviinn-image-selector{align-items:center;background:var(--color-primary, var(--color-primary-system));border-color:var(--color-primary, var(--color-primary-system));border-radius:2px;color:white;display:grid;font-size:16px;font-weight:600;height:56px;justify-items:center;margin-bottom:16px;transition:background 0.1s ease-in-out}vviinn-image-selector:hover{background:var(--color-primary-hover, var(--color-primary-hover-system));border-color:var(--color-primary-hover, var(--color-primary-hover-system))}vviinn-image-selector:active{border-color:black}.upload-button-content{display:grid;align-items:center;justify-items:start;justify-content:center;grid-template-columns:max-content auto;grid-gap:16px}.results-page{display:grid;grid-template-columns:336px auto;box-sizing:border-box}.results-page>*{padding:24px;box-sizing:border-box}.products{align-content:center;align-items:start;box-sizing:border-box;display:grid;grid-gap:32px 16px;grid-template-columns:repeat(auto-fill, minmax(152px, 1fr));justify-items:center;padding:24px;padding-right:0;position:absolute;width:calc(100% - 16px)}.products.hidden{display:none}vviinn-empty-results{width:280px;align-self:center;justify-self:center}.products-wrapper{display:grid;overflow-y:auto;overflow-x:hidden;padding:unset;position:relative;width:100%}.image-wrapper{border-right:1px solid #f4f4f4;display:grid;grid-template-rows:min-content 170px;grid-gap:24px;min-width:100%}.onboarding-wrapper{position:absolute;width:100%;padding:48px;box-sizing:border-box;display:grid;grid-gap:64px;padding-bottom:24px}vviinn-product-card{gap:0;width:100%}vviinn-product-card::part(image){border:1px solid #eaeaea;margin-bottom:8px}vviinn-product-card::part(price-container),vviinn-product-card::part(deeplink),vviinn-product-card::part(title){align-self:start}search-filters span{display:none}search-filters::part(filter){background:#f4f4f4;border-radius:4px;border:1px solid #f4f4f4;box-sizing:border-box;color:#161616;font-size:14px;font-weight:600;line-height:20px}search-filters::part(show-more-filters){border:1px solid #f4f4f4;border-radius:4px;box-sizing:border-box;color:#161616;font-size:14px;font-weight:600;line-height:20px;padding:6px 16px}search-filters::part(show-more-filters):hover{background:#eaeaea}search-filters::part(filter):hover{background:#eaeaea}search-filters::part(filter):focus{outline:none;border:1px solid var(--color-primary, var(--color-primary-system))}search-filters::part(filter active){background:rgba(15, 98, 254, 0.15);color:var(--color-primary, var(--color-primary-system))}.filters-wrapper{overflow:auto}.results-page:not(.active){display:none}.nothing-found{display:grid;grid-gap:64px;justify-self:center;padding-top:64px;padding-bottom:16px;position:absolute;width:60%}@media (max-width: 768px){.start-page_block{padding:24px}.onboarding-wrapper{padding:24px}}@media (max-width: 640px){.start-page{grid-template-rows:min-content;grid-template-columns:unset;grid-gap:48px;padding:24px 0 48px 0}}@media (max-width: 640px) and (min-width: 415px){.onboarding-wrapper{position:unset}#onboarding-block{overflow:unset}.start-page.active{height:1px;overflow:auto}}@media (max-width: 415px){.results-page>*{box-sizing:border-box;padding:24px}vviinn-slide{padding-bottom:48px}.start-page_block:last-of-type{border-right:unset;overflow-y:unset;position:static;box-sizing:border-box;width:unset}.start-page_block{padding:0 24px}vviinn-teaser{margin-top:24px}.onboarding-wrapper{position:static;width:unset;padding:unset;box-sizing:border-box}.results-page{grid-template-columns:unset;grid-template-rows:min-content auto}.image{margin-bottom:8px}.image-wrapper{grid-template-rows:min-content auto;width:100%}.products-wrapper{align-content:start;position:static;overflow-y:unset;width:100%;padding-top:0}.products{position:static;padding:0;width:unset;grid-gap:32px 16px;justify-content:center}.nothing-found{position:static;grid-gap:64px;padding:unset;align-content:start;width:unset}}@media (max-width: 320px){.products{grid-template-columns:unset}}vviinn-wrong-format,vviinn-server-error{width:280px;align-self:center;justify-self:center}";export{_ as vviinn_vps_widget}
1
+ import{r as i,c as t,h as e,H as s,g as r}from"./p-fa17e81f.js";import{v as a}from"./p-91822e21.js";import{i as o,s as n,a as d,O as p,l}from"./p-3abc679c.js";import{s as c,S as h}from"./p-53eacbe3.js";import{e as g,f as v,g as u,h as m,v as b,b as f,i as x}from"./p-2f7bf983.js";import{c as w}from"./p-18fd769b.js";import"./p-3b99c62d.js";var y=function(i,t){var e={};for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&t.indexOf(s)<0&&(e[s]=i[s]);if(null!=i&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(i);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(i,s[r])&&(e[s[r]]=i[s[r]])}return e};const k=i=>/^[-+]?(\d+|Infinity)$/.test(i)?Number(i):NaN,j=i=>!l(i),I=i=>!isNaN(i),_=class{constructor(e){i(this,e),this.globalSlotsChanged=t(this,"globalSlotsChanged",7),this.vviinnWidgetLoad=t(this,"vviinnWidgetLoad",7),this.vviinnWidgetOpen=t(this,"vviinnWidgetOpen",7),this.vviinnWidgetClose=t(this,"vviinnWidgetClose",7),this.vviinnProductClick=t(this,"vviinnProductClick",7),this.vviinnProductView=t(this,"vviinnProductView",7),this.vviinnProductLoad=t(this,"vviinnProductLoad",7),this.vviinnImageUpload=t(this,"vviinnImageUpload",7),this.vviinnImageCrop=t(this,"vviinnImageCrop",7),this.vviinnSelectObject=t(this,"vviinnSelectObject",7),this.vviinnSelectFilter=t(this,"vviinnSelectFilter",7),this.vviinnNoResult=t(this,"vviinnNoResult",7),this.imageSource=null,this.setTrackingDeactivated=i=>{"rejected"===i.status&&(this.trackingDeactivated=!0)},this.getBasicEventData=()=>{var i;return{widgetType:"VPS",campaignTypeId:"VPS",campaignTypeName:w.VPS,widgetId:null!==(i=this.buttonElementId)&&void 0!==i?i:this.id,widgetVersion:a}},this.token=void 0,this.apiPath="https://api.vviinn.com",this.active=!1,this.currencySign="€",this.locale="de-DE",this.campaignId=void 0,this.showingInButton=!1,this.buttonElementId=void 0,this.buttonPressed=void 0,this.mode="modal",this.resetVpsButton=void 0,this.slidePosition=0,this.width=0,this.wrongImageFormat=!1,this.trackingDeactivated=!1}componentDidLoad(){const i=this.el.querySelectorAll("[slot]");this.globalSlotsChanged.emit(Array.from(i))}activeWatcher(i){i?(this.overflow=document.body.style.overflow,document.body.style.overflow="hidden",this.trackOpenEvent()):document.body.style.overflow=this.overflow}buttonPressedWatcher(i){i&&"modal"===this.mode&&(this.active=!0,this.vviinnWidgetOpen.emit(this.getBasicEventData()))}trackProductView({detail:i}){if(this.trackingDeactivated)return;const{productRank:t,productId:e}=i,s=y(i,["productRank","productId","productName","widgetType","widgetId","campaignTypeId","campaignTypeName"]),r=g(Object.assign({session_id:this.uiSessionId,rank:t,product:e},s));this.trackingApi.trackEvent(r).then(this.setTrackingDeactivated)}async trackProductClick({detail:i}){const{productRank:t,productId:e}=i,s=y(i,["productRank","productId","productName","widgetType","widgetId","campaignTypeId","campaignTypeName"]),r=v(Object.assign({session_id:this.uiSessionId,rank:t,product:e},s));this.trackingDeactivated||await this.trackingApi.trackEvent(this.trackingDeactivated?null:r).then(this.setTrackingDeactivated);const a=o.results.find((t=>t.productId===i.productId));a&&a.deeplink&&(window.location.href=a.deeplink)}trachSearchAreaChanges(){if(this.trackingDeactivated)return;const i=u({session_id:this.uiSessionId,source:this.imageSource,search_area:"manual-selection"});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}trackDetectedObject(){if(this.trackingDeactivated)return;const i=u({session_id:this.uiSessionId,source:this.imageSource,search_area:"attention-point"});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}trackFilter({detail:i}){if(this.trackingDeactivated)return;const t=m({session_id:this.uiSessionId,source:this.imageSource,kind:"category",action:i.action});this.trackingApi.trackEvent(t).then(this.setTrackingDeactivated)}connectedCallback(){n.apiPath=this.apiPath,n.currencySign=this.currencySign,n.locale=this.locale,o.token=this.token,o.campaignId=d.pipe(this.campaignId,p.fromNullable,p.chain(p.fromPredicate(j)),p.map(k),p.chain(p.fromPredicate(I)),p.map((i=>`${i}`))),this.uiSessionId=b(),this.trackingApi=f(this.apiPath,this.token),this.id=this.el.id}componentWillLoad(){c(this,this.el),this.vviinnWidgetLoad.emit(this.getBasicEventData())}trackOpenEvent(){if(this.trackingDeactivated)return;const i=x({action:"open",session_id:this.uiSessionId});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}handleImageSelection(i){this.imageSource=i,this.slidePosition=1,this.el.shadowRoot.querySelector("vviinn-overlayed-modal").shadowRoot.querySelector("vviinn-overlay").querySelector("vviinn-modal").shadowRoot.querySelector(".body").scrollTop=0,this.trackInitialSearch()}trackInitialSearch(){if(this.trackingDeactivated)return;const i=u({session_id:this.uiSessionId,source:this.imageSource,search_area:"full"});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}resetState(){this.resetScroll("onboarding-block"),this.slidePosition=0,o.image=p.none,o.imageUrl=p.none,o.imageBounds=p.none,o.searchArea=p.none,o.results=[],o.filters=[],o.detectedObjects=[],o.activeIonLink=void 0,o.rectangleSearchForm=void 0,o.loading=!1,this.resetScroll("results-block")}haveErrors(){return this.wrongImageFormat||o.serverError}resetScroll(i,t="auto"){this.el.shadowRoot.getElementById(i).scroll({top:0,left:0,behavior:t})}handleModalClose(){if(this.active=!1,this.resetState(),["onboarding-block","results-block"].forEach((i=>this.resetScroll(i))),this.trackingDeactivated)return;const i=x({action:"close",session_id:this.uiSessionId});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}render(){var i;return e(s,null,!this.showingInButton&&e(h,null),e("vviinn-overlayed-modal",{class:{"first-screen":0===this.slidePosition},active:this.active,resetState:this.resetState.bind(this),onVviinnWidgetClose:()=>this.handleModalClose(),buttonElementId:null!==(i=this.buttonElementId)&&void 0!==i?i:this.id,widgetVersion:a,hideBackButton:"upload"===this.mode,exportparts:"secondary-action, title, close-button, example-images"},e("vviinn-slider",{showBullets:!1,position:this.slidePosition},e("vviinn-slide",{class:{"start-page":!0}},e("div",{class:{error:this.haveErrors(),"start-page_block":!0}},e("vviinn-wrong-format",{class:{hidden:!this.wrongImageFormat},handler:()=>this.wrongImageFormat=!1}),e("vviinn-server-error",{class:{hidden:!o.serverError},handler:()=>o.serverError=!1}),e("vviinn-teaser",{class:{hidden:this.haveErrors()}}),e("vviinn-image-selector",{class:{hidden:this.haveErrors()},onVviinnImageUpload:()=>{this.active=!0,this.handleImageSelection("upload"),"upload"===this.mode&&this.vviinnWidgetOpen.emit(this.getBasicEventData())},onVviinnNoResult:()=>this.wrongImageFormat=!0,resetVpsButton:this.resetVpsButton,basicEventData:this.getBasicEventData(),part:"select-image_button",startUpload:this.buttonPressed&&this.showingInButton&&"upload"===this.mode},e("span",{slot:"upload-button-text",class:"upload-button-content"},e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"29",height:"28",fill:"none"},e("defs",null),e("path",{fill:"#fff","fill-rule":"evenodd",d:"M10.271 3.89A.875.875 0 0111 3.5h7c.293 0 .566.146.728.39l1.49 2.235h3.033a2.625 2.625 0 012.625 2.625V21a2.625 2.625 0 01-2.625 2.625H5.75A2.625 2.625 0 013.125 21V8.75A2.625 2.625 0 015.75 6.125h3.031l1.49-2.235zm1.197 1.36l-1.49 2.235a.875.875 0 01-.729.39H5.75a.875.875 0 00-.875.875V21a.875.875 0 00.875.875h17.5a.875.875 0 00.875-.875V8.75a.875.875 0 00-.875-.875h-3.5a.875.875 0 01-.729-.39l-1.49-2.235h-6.063z","clip-rule":"evenodd"}),e("path",{fill:"#fff","fill-rule":"evenodd",d:"M14.5 11.375a3.062 3.062 0 100 6.125 3.062 3.062 0 000-6.125zm-4.813 3.063a4.812 4.812 0 119.625 0 4.812 4.812 0 01-9.625 0z","clip-rule":"evenodd"})),e("slot",{name:"vviinn-image-upload-button-text"},e("span",null,"Kamera oder Bild auswählen")))),e("vviinn-privacy-badge",{class:{hidden:this.haveErrors()}})),e("div",{id:"onboarding-block",class:"start-page_block"},e("div",{class:"onboarding-wrapper"},e("vviinn-onboarding",null),e("vviinn-example-images",{part:"example-images",onVviinnImageUpload:()=>this.handleImageSelection("example"),onVviinnNoResult:()=>this.resetScroll("onboarding-block","smooth"),basicEventData:this.getBasicEventData()})))),e("vviinn-slide",{class:{"results-page":!0,active:1==this.slidePosition}},e("div",{class:"image-wrapper"},e("vviinn-image-view",{basicEventData:this.getBasicEventData()}),e("div",{class:"filters-wrapper"},e("div",{class:"filters"},o.filters.map((i=>e("search-filters",{filter:i,basicEventData:this.getBasicEventData()})))))),e("div",{id:"results-block",class:"products-wrapper"},e("div",{class:{"nothing-found":!0,hidden:o.results.length>0}},e("vviinn-empty-results",null),e("vviinn-onboarding",null)),e("div",{class:{hidden:o.results.length<=0,products:!0}},o.results.map(((i,t)=>{var s;return e("vviinn-product-card",{key:i.productId,hidden:!0,productTitle:i.title,productId:i.productId,brand:i.brand,deeplink:i.deeplink,price:i.price.actual,salePrice:i.price.sale,imageWidth:160,image:null!==(s=i.image.thumbnail)&&void 0!==s?s:i.image.original,part:"product-card",campaignTypeId:"VPS",index:t,widgetElementId:this.id,buttonElementId:this.buttonElementId,widgetVersion:a})}))))))))}get el(){return r(this)}static get watchers(){return{active:["activeWatcher"],buttonPressed:["buttonPressedWatcher"]}}};_.style=":host{--color-primary-system:#0F62FE;--color-primary-hover-system:#014CDA;--color-icons-system:#2F8EDF;--spacer:8px}:host{display:block}.hidden{visibility:hidden;height:1px}vviinn-overlayed-modal.first-screen::part(title),vviinn-overlayed-modal.first-screen::part(secondary-action){visibility:hidden}.start-page{display:grid;grid-template-columns:repeat(2, 1fr);min-height:580px}.start-page_block{align-content:start;border-right:1px solid #f4f4f4;display:grid;padding:48px}.start-page_block.error{align-content:center}#onboarding-block{border-right:unset;box-sizing:border-box;grid-gap:24px;overflow-y:auto;position:relative;width:100%}vviinn-teaser{margin-bottom:32px;margin-top:-24px}vviinn-image-selector{align-items:center;background:var(--color-primary, var(--color-primary-system));border-color:var(--color-primary, var(--color-primary-system));border-radius:2px;color:white;display:grid;font-size:16px;font-weight:600;height:56px;justify-items:center;margin-bottom:16px;transition:background 0.1s ease-in-out}vviinn-image-selector:hover{background:var(--color-primary-hover, var(--color-primary-hover-system));border-color:var(--color-primary-hover, var(--color-primary-hover-system))}vviinn-image-selector:active{border-color:black}.upload-button-content{display:grid;align-items:center;justify-items:start;justify-content:center;grid-template-columns:max-content auto;grid-gap:16px}.results-page{display:grid;grid-template-columns:336px auto;box-sizing:border-box}.results-page>*{padding:24px;box-sizing:border-box}.products{align-content:center;align-items:start;box-sizing:border-box;display:grid;grid-gap:32px 16px;grid-template-columns:repeat(auto-fill, minmax(152px, 1fr));justify-items:center;padding:24px;padding-right:0;position:absolute;width:calc(100% - 16px)}.products.hidden{display:none}vviinn-empty-results{width:280px;align-self:center;justify-self:center}.products-wrapper{display:grid;overflow-y:auto;overflow-x:hidden;padding:unset;position:relative;width:100%}.image-wrapper{border-right:1px solid #f4f4f4;display:grid;grid-template-rows:min-content 170px;grid-gap:24px;min-width:100%}.onboarding-wrapper{position:absolute;width:100%;padding:48px;box-sizing:border-box;display:grid;grid-gap:64px;padding-bottom:24px}vviinn-product-card{gap:0;width:100%}vviinn-product-card::part(image){border:1px solid #eaeaea;margin-bottom:8px}vviinn-product-card::part(price-container),vviinn-product-card::part(deeplink),vviinn-product-card::part(title){align-self:start}search-filters span{display:none}search-filters::part(filter){background:#f4f4f4;border-radius:4px;border:1px solid #f4f4f4;box-sizing:border-box;color:#161616;font-size:14px;font-weight:600;line-height:20px}search-filters::part(show-more-filters){border:1px solid #f4f4f4;border-radius:4px;box-sizing:border-box;color:#161616;font-size:14px;font-weight:600;line-height:20px;padding:6px 16px}search-filters::part(show-more-filters):hover{background:#eaeaea}search-filters::part(filter):hover{background:#eaeaea}search-filters::part(filter):focus{outline:none;border:1px solid var(--color-primary, var(--color-primary-system))}search-filters::part(filter active){background:rgba(15, 98, 254, 0.15);color:var(--color-primary, var(--color-primary-system))}.filters-wrapper{overflow:auto}.results-page:not(.active){display:none}.nothing-found{display:grid;grid-gap:64px;justify-self:center;padding-top:64px;padding-bottom:16px;position:absolute;width:60%}@media (max-width: 768px){.start-page_block{padding:24px}.onboarding-wrapper{padding:24px}}@media (max-width: 640px){.start-page{grid-template-rows:min-content;grid-template-columns:unset;grid-gap:48px;padding:24px 0 48px 0}}@media (max-width: 640px) and (min-width: 415px){.onboarding-wrapper{position:unset}#onboarding-block{overflow:unset}.start-page.active{height:1px;overflow:auto}}@media (max-width: 415px){.results-page>*{box-sizing:border-box;padding:24px}vviinn-slide{padding-bottom:48px}.start-page_block:last-of-type{border-right:unset;overflow-y:unset;position:static;box-sizing:border-box;width:unset}.start-page_block{padding:0 24px}vviinn-teaser{margin-top:24px}.onboarding-wrapper{position:static;width:unset;padding:unset;box-sizing:border-box}.results-page{grid-template-columns:unset;grid-template-rows:min-content auto}.image{margin-bottom:8px}.image-wrapper{grid-template-rows:min-content auto;width:100%}.products-wrapper{align-content:start;position:static;overflow-y:unset;width:100%;padding-top:0}.products{position:static;padding:0;width:unset;grid-gap:32px 16px;justify-content:center}.nothing-found{position:static;grid-gap:64px;padding:unset;align-content:start;width:unset}}@media (max-width: 320px){.products{grid-template-columns:unset}}vviinn-wrong-format,vviinn-server-error{width:280px;align-self:center;justify-self:center}";export{_ as vviinn_vps_widget}
@@ -0,0 +1 @@
1
+ const o="2.20.2";export{o as v}
@@ -1 +1 @@
1
- import{r as t,h as i,H as e,g as s,c as r,F as n}from"./p-fa17e81f.js";import{_ as o,O as a,S as c,a as h,E as d,i as l,s as u,c as p,m as v,f as g,g as m,b as f,A as b,d as y,e as w,T as x,h as k}from"./p-3abc679c.js";import{C}from"./p-c24caccd.js";import{c as I,f as P,a as _}from"./p-18fd769b.js";import{v as R}from"./p-cea6942b.js";import{h as T,t as S,p as V}from"./p-3b99c62d.js";import{c as j,a as $,v as E,b as A,d as N}from"./p-2f7bf983.js";const O="--vviinn-carousel-image-width",z="items-group",L=class{constructor(i){t(this,i),this.columns=0,this.resizeObserver=new ResizeObserver((()=>this.handleResize())),this.mutationObserver=new MutationObserver((()=>this.cloneSlottedContent())),this.isLastGroup=()=>this.activeContentGroup===this.getContentGroups().length-1&&"grid"===this.mode,this.isFirstGroup=()=>0===this.activeContentGroup&&"grid"===this.mode,this.moveDirection="right",this.contentGroups=[],this.activeContentGroup=0,this.isRTL=!1,this.mode="continuity",this.imageWidth=140,this.showScroll=!0,this.campaignTypeId=void 0,this.widgetElementId=void 0,this.gridArrowsDynamic=void 0,this.recommendations=[],this.widgetVersion=void 0}componentWillLoad(){this.isRTL="rtl"===document.dir}connectedCallback(){this.setItemWidth()}disconnectedCallback(){this.resizeObserver.disconnect()}componentDidLoad(){this.setWidth(),this.processScrollbarWidth(),this.columns=this.getColumnsNumber();const t=this.el.querySelector(".content");this.mutationObserver.observe(t,{subtree:!0,childList:!0}),this.resizeObserver.observe(this.getHostParent())}getItemWidthFromDocument(){return parseInt(getComputedStyle(document.body).getPropertyValue(O))}setItemWidth(){const t=this.getItemWidthFromDocument(),i=isNaN(t)?this.imageWidth:t;this.el.style.setProperty(O,`${i}px`)}getContentClassMap(){return{content:!0,[this.moveDirection]:!0,[this.mode]:!0,"show-scrollbar":this.showScroll}}handleResize(){this.setWidth(),this.processScrollbarWidth(),this.setItemWidth();const t=this.getColumnsNumber();t!==this.columns&&(this.columns=t)}calculateMoveStep(){const t=this.getContent().map((t=>t.getBoundingClientRect().width));return t.reduce(((t,i)=>t+i),0)/t.length}getHostParent(){return this.el.parentNode.host.parentElement}setWidth(){const t=this.getHostParent();if(!t)return;const i=getComputedStyle(t),e=t.getBoundingClientRect().width-(parseInt(i["padding-right"])+parseInt(i["padding-left"]));this.el.style.setProperty("--vviinn-carousel-content-width",`${e}px`)}getParent(){return this.el.parentNode.host.parentElement}cloneSlottedContent(){this.setWidth()}getActiveGroupIndex(){var t,i;if(!(null===(i=null===(t=this.getContentNode())||void 0===t?void 0:t.getBoundingClientRect())||void 0===i?void 0:i.left))return 0;const e=this.getContentGroups().map((t=>t.getBoundingClientRect().left)).map(((t,i)=>[t,i])).filter((t=>t[0]>=0));return e.length>0?this.isRTL?e[e.length-1][1]:e[0][1]:0}getContentNode(){return this.el.querySelector(".content")}getContent(){const t=this.getContentNode().children;return Array.from(t).map((t=>t))}getColumnsNumber(){const t=getComputedStyle(this.el).getPropertyValue("--vviinn-carousel-columns-internal"),i=parseInt(t);return i&&!isNaN(i)?i:4}getContentGroups(){return Array.from(this.el.querySelectorAll(`.${z}`))}showNext(){this.moveDirection="right";const t=this.getContentNode();requestAnimationFrame((()=>{t.scrollTo({top:0,left:t.scrollLeft+this.calculateMoveStep(),behavior:"smooth"})}))}showPrev(){this.moveDirection="left";const t=this.getContentNode();requestAnimationFrame((()=>{t.scrollTo({top:0,left:t.scrollLeft-this.calculateMoveStep(),behavior:"smooth"})}))}scroll(t){const i=this.getContentNode();requestAnimationFrame((()=>{i.scrollTo({top:0,left:this.calculateMoveStep()*t,behavior:"smooth"})}))}processScrollbarWidth(){const t=this.getContentNode();t&&(this.el.style.setProperty("--vviinn-progressbar-width",t.clientWidth*((t.scrollLeft+t.clientWidth)/t.scrollWidth)+"px"),this.activeContentGroup=this.getActiveGroupIndex())}showBullets(){return"grid"===this.mode&&this.showScroll}showScrollbar(){return"continuity"===this.mode&&this.showScroll}getClassMap(){return{[this.mode]:!0,"show-scrollbar":this.showScrollbar()}}renderRecommendation(t,e){return i("vviinn-product-card",{part:"product-part",productId:t.productId,productTitle:t.title,deeplink:t.deeplink,image:t.image.thumbnail,brand:t.brand,imageWidth:this.imageWidth,imageRatio:1,price:t.price.actual,salePrice:t.price.sale,responsive:"grid"===this.mode,dimmedBackground:"continuity"===this.mode,campaignTypeId:this.campaignTypeId,index:e,widgetElementId:this.widgetElementId,widgetVersion:this.widgetVersion})}renderRecommendationGroup(t){return i("div",{class:z,part:"items-group"},...t)}renderRecommendationGroups(t){return t.map((t=>this.renderRecommendationGroup(t)))}renderRecommendations(){return"grid"===this.mode?this.renderGrid():this.renderRecommendationsElements()}renderRecommendationsElements(){return this.recommendations.map(((t,i)=>this.renderRecommendation(t,i)))}renderGrid(){const t=this.renderRecommendationsElements(),i=o.chunksOf(this.getColumnsNumber())(t);return this.renderRecommendationGroups(i)}renderBullets(){const t=Math.ceil(this.recommendations.length/this.getColumnsNumber());return Array.from(Array(t).keys()).map((t=>i("div",{class:{bullet:!0,active:this.activeContentGroup===t},onClick:()=>this.scroll(t)})))}render(){return i(e,{class:this.getClassMap()},i("div",{class:Object.assign({body:!0},this.getClassMap())},i("button",{class:"prev",onClick:()=>this.showPrev(),part:"carousel-button",disabled:this.gridArrowsDynamic&&this.isFirstGroup()},i(C,null)),i("div",{class:this.getContentClassMap(),onScroll:()=>this.processScrollbarWidth()},this.renderRecommendations()),i("button",{class:"next",onClick:()=>this.showNext(),part:"carousel-button",disabled:this.gridArrowsDynamic&&this.isLastGroup()},i(C,null))),this.showBullets()&&i("div",{class:"bullets"},this.renderBullets()))}get el(){return s(this)}};L.style=":host{--vviinn-progressbar-width:0;--vviinn-carousel-item-width:150px;--vviinn-carousel-columns-internal:var(--vviinn-carousel-columns, 4);--vviinn-carousel-image-width-system:140px}.body{display:flex;position:relative;width:var(--vviinn-carousel-content-width);flex-direction:column}.content-wrapper *{box-sizing:border-box}.content-wrapper{overflow-y:hidden;overflow-x:auto;flex-grow:1}.bullets{margin-top:16px;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:not(.show-scrollbar),.content.grid{scrollbar-color:#fff0 #fff0}.content:not(.show-scrollbar)::-webkit-scrollbar,.content.grid::-webkit-scrollbar{opacity:0}.content{display:flex;flex-direction:row;grid-gap:8px;scroll-snap-type:x mandatory;overflow-y:hidden;overflow-x:auto;flex-grow:1;padding-bottom:16px}.content.left>*{scroll-snap-align:start}.content.right>*{scroll-snap-align:end}:host(.continuity) button{border-radius:2px}:host(.grid) button{border-radius:50%}button{align-items:center;background-color:white;border:none;box-shadow:0px 2px 6px rgba(0, 0, 0, 0.15);cursor:pointer;display:grid;height:40px;justify-items:center;position:absolute;top:calc(50% - 20px);width:40px;z-index:1;padding:0;margin:0}button{fill:#525252}button:disabled{display:none}button.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-internal), 1fr);min-width:100%}vviinn-product-card::part(price-container){text-align:center}:host(.classic) vviinn-product-card::part(title),:host(.classic) vviinn-product-card::part(brand),:host(.classic) vviinn-product-card::part(type){text-align:center}@media (max-width: 480px){:host(.modern) button{display:none}.items-group{grid-template-columns:repeat(2, 1fr)}}";class W{sendImpression(t){var i,e,s;gtag("event","view_item_list",{items:[{id:t.productId,name:t.title,brand:null!==(i=t.brand)&&void 0!==i?i:"",category:null!==(e=t.productType)&&void 0!==e?e:"",list_name:"VI VPR View",price:Math.min(t.price.actual,null!==(s=t.price.sale)&&void 0!==s?s:1/0)}]})}sendClick(t){var i,e,s;gtag("event","select_content",{content_type:"product",items:[{id:t.productId,name:t.title,brand:null!==(i=t.brand)&&void 0!==i?i:"",category:null!==(e=t.productType)&&void 0!==e?e:"",list_name:"VI VPR View",price:Math.min(t.price.actual,null!==(s=t.price.sale)&&void 0!==s?s:1/0)}]})}}class D{constructor(){ga("require","ec")}convertProduct(t){var i,e,s;return{id:t.productId,name:t.title,brand:null!==(i=t.brand)&&void 0!==i?i:"",category:null!==(e=t.productType)&&void 0!==e?e:"",list:"VI VPR View",price:Math.min(t.price.actual,null!==(s=t.price.sale)&&void 0!==s?s:1/0)}}sendImpression(t){ga("ec:addImpression",this.convertProduct(t))}sendClick(t){var i,e,s;ga("ec:addProduct",{id:t.productId,name:t.title,brand:null!==(i=t.brand)&&void 0!==i?i:"",category:null!==(e=t.productType)&&void 0!==e?e:"",price:Math.min(t.price.actual,null!==(s=t.price.sale)&&void 0!==s?s:1/0)}),ga("ec:setAction","click",{list:"VI VPR View"})}}const M=a.getMonoid(c.first()).concat(h.pipe(a.fromNullable(window.gtag),a.map((()=>new W))),h.pipe(a.fromNullable(window.ga),a.map((()=>new D))));function F(t,i,e){return function(s){for(var r=Array(e.length+1),n=0;n<e.length;n++)r[n]=e[n];return r[e.length]=s,0===i?t.apply(null,r):F(t,i-1,r)}}var B={1:function(t){return[t]},2:function(t){return function(i){return[t,i]}},3:function(t){return function(i){return function(e){return[t,i,e]}}},4:function(t){return function(i){return function(e){return function(s){return[t,i,e,s]}}}},5:function(t){return function(i){return function(e){return function(s){return function(r){return[t,i,e,s,r]}}}}}};function U(t){return T.call(B,t)||(B[t]=F(S,t-1,[])),B[t]}const G=/fit\/\d+\//,q=(t,i)=>h.pipe((t=>h.pipe(t.match(G),d.fromNullable(t),d.map((()=>t))))(t),d.map((t=>t.replace(G,`fit/${i}/`))),d.getOrElse((()=>t))),H=(t,e)=>t.deeplink?i("a",{class:t.part,part:t.part,href:t.deeplink},e):e,J=t=>{const e=t.priceType,s=new Intl.NumberFormat(t.locale,{minimumFractionDigits:2}).format(t.price),r=t.prefix?i("span",{part:"price-prefix"},t.prefix+" "):null,n=t.currency?i("span",{part:"currency"}," "+t.currency):null;return i("span",{class:"price-amount",part:"price-amount"+(e?"-"+e:"")},r,s,n)},K=t=>i("span",{class:"price-container",part:"price-container"},t.salePrice?[i("span",{class:"price-sale",part:"price-sale"},i(J,{prefix:t.prefix,currency:t.currency,price:t.salePrice,locale:t.locale,priceType:"sale"})),i("span",{class:"price-outdated",part:"price-outdated"},i(J,{prefix:t.prefix,currency:t.currency,price:t.price,locale:t.locale,priceType:"outdated"}))]:i("span",{class:"price-regular",part:"price-regular"},i(J,{prefix:t.prefix,currency:t.currency,price:t.price,locale:t.locale,priceType:"regular"}))),Q=class{constructor(i){t(this,i),this.vviinnProductLoad=r(this,"vviinnProductLoad",7),this.vviinnProductView=r(this,"vviinnProductView",7),this.vviinnProductClick=r(this,"vviinnProductClick",7),this.productData=null,this.intersectionObserver=new IntersectionObserver(this.intersectionCallback.bind(this),{threshold:1}),this.brand=void 0,this.currency=void 0,this.deeplink=void 0,this.image=void 0,this.imageRatio=1,this.imageWidth=200,this.locale=void 0,this.price=void 0,this.pricePrefix=void 0,this.productId=void 0,this.productTitle=void 0,this.productType=void 0,this.salePrice=void 0,this.responsive=!1,this.campaignTypeId=void 0,this.dimmedBackground=!1,this.widgetElementId=void 0,this.buttonElementId=void 0,this.widgetVersion=void 0,this.index=0,this.imageLoaded=!1}connectedCallback(){this.productData=this.getProductData()}getWidgetType(){return"VPR"===this.campaignTypeId||"VCS"===this.campaignTypeId?"VPR":"VPS"}getProductData(){var t;return{productId:this.productId,productRank:this.index,productName:this.productTitle,widgetType:this.getWidgetType(),campaignTypeId:this.campaignTypeId,campaignTypeName:I[this.campaignTypeId],widgetId:null!==(t=this.buttonElementId)&&void 0!==t?t:this.widgetElementId,widgetVersion:this.widgetVersion}}intersectionCallback(t){t.some((t=>t.isIntersecting))&&(h.pipe(M,a.map((t=>t.sendImpression(this.getProduct())))),this.vviinnProductView.emit(this.productData),this.intersectionObserver.disconnect())}componentDidLoad(){this.vviinnProductLoad.emit(this.productData),this.intersectionObserver.observe(this.el),this.el.shadowRoot.querySelectorAll("a").forEach((t=>t.addEventListener("click",(t=>{t.preventDefault(),t.stopImmediatePropagation(),this.vviinnProductClick.emit(this.productData),h.pipe(M,a.match((()=>null),(t=>t.sendClick(this.getProduct()))))}))))}getProduct(){return l.results.find((t=>t.productId===this.productId))}renderImage(){const t={width:this.imageWidth,height:this.imageWidth*this.imageRatio,src:this.image,title:this.productTitle,lazy:!1};return this.responsive?((t,e=(()=>{}))=>i("picture",null,i("img",{loading:t.lazy?"lazy":"eager",part:"image",class:"image responsive",src:q(t.src,t.width),alt:t.title,onLoad:e})))(t):((t,e=(()=>{}))=>i("picture",null,i("img",{loading:t.lazy?"lazy":"eager",part:"image",class:"image",width:t.width,height:t.height,src:q(t.src,t.width),alt:t.title,onLoad:e})))(t)}render(){var t,s,r;return i(e,{part:"product-card",class:{dimmed:this.dimmedBackground},exportparts:"brand, currency, deeplink, image, image-link, price-amount-sale, price-amount-outdated, price-amount-regular, price-container, price-outdated, price-regular, price-sale, price-prefix, title"},i(H,{deeplink:this.deeplink,part:"image-link"},this.renderImage()),i(H,{deeplink:this.deeplink,part:"deeplink"},i("span",{class:"title",part:"title"},this.productTitle)),i("span",{class:"brand",part:"brand"},this.brand),i("span",{class:"type",part:"type"},this.productType),i(K,{prefix:null!==(t=this.pricePrefix)&&void 0!==t?t:u.pricePrefix,currency:null!==(s=this.currency)&&void 0!==s?s:u.currencySign,price:this.price,salePrice:this.salePrice,locale:null!==(r=this.locale)&&void 0!==r?r:u.locale}))}get el(){return s(this)}};Q.style=':host{align-items:center;display:flex;flex-direction:column;gap:8px;height:100%}.price-container{display:flex;flex-direction:column}.price-sale,.price-regular{font-style:normal;font-weight:normal;font-size:16px;line-height:24px;color:#161616}.price-outdated{font-style:normal;font-weight:normal;font-size:16px;line-height:24px;color:#757575;text-decoration:line-through}.product-type{word-wrap:anywhere}.image{display:grid;align-content:center;-o-object-position:50% 50%;object-position:50% 50%;-o-object-fit:contain;object-fit:contain;text-align:center;box-sizing:border-box}img.responsive{width:100%;height:auto;aspect-ratio:1}.brand,.type{display:none}.title{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#161616;display:-webkit-box;font-size:16px;font-style:normal;font-weight:500;line-height:24px;margin-bottom:8px;overflow:hidden}.deeplink{text-decoration:none}.image-link{display:contents}picture{position:relative;width:100%}:host(.dimmed) picture::before{content:"";width:100%;height:100%;box-sizing:border-box;background:#f7f7f7;display:block;top:0;left:0;position:absolute;mix-blend-mode:multiply}';const X=h.flow((t=>`Bearer ${t}`),(t=>new Headers({Authorization:t})),(t=>({headers:t}))),Y=(Z=b,function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];for(var e=t.length,s=U(e),r=Z.map(t[0],s),n=1;n<e;n++)r=Z.ap(r,t[n]);return r});var Z;const tt=(t,i={})=>V(Y(m(),f),g,p(v(t,i))),it=t=>i=>e=>s=>{const r=h.pipe(e,y(encodeURIComponent),w((()=>`product/${t}/similar-products${i?`?color=${i}`:""}`),(e=>`product/${t}/similar-products?campaigns=${e}${i?`&color=${i}`:""}`)));return tt(r,s)},et=t=>i=>e=>s=>{const r=h.pipe(e,y(encodeURIComponent),w((()=>`product/${t}/cross-selling-products${i?`?color=${i}`:""}`),(e=>`product/${t}/cross-selling-products?campaigns=${e}${i?`&color=${i}`:""}`)));return tt(r,s)};function st(t){return"function"==typeof t}function rt(t){const i=t((t=>{Error.call(t),t.stack=(new Error).stack}));return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const nt=rt((t=>function(i){t(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map(((t,i)=>`${i+1}) ${t.toString()}`)).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i}));function ot(t,i){if(t){const e=t.indexOf(i);0<=e&&t.splice(e,1)}}class at{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const t of i)t.remove(this);else i.remove(this);const{initialTeardown:e}=this;if(st(e))try{e()}catch(i){t=i instanceof nt?i.errors:[i]}const{_finalizers:s}=this;if(s){this._finalizers=null;for(const i of s)try{dt(i)}catch(i){t=null!=t?t:[],i instanceof nt?t=[...t,...i.errors]:t.push(i)}}if(t)throw new nt(t)}}add(t){var i;if(t&&t!==this)if(this.closed)dt(t);else{if(t instanceof at){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ot(i,t)}remove(t){const{_finalizers:i}=this;i&&ot(i,t),t instanceof at&&t._removeParent(this)}}at.EMPTY=(()=>{const t=new at;return t.closed=!0,t})();const ct=at.EMPTY;function ht(t){return t instanceof at||t&&"closed"in t&&st(t.remove)&&st(t.add)&&st(t.unsubscribe)}function dt(t){st(t)?t():t.unsubscribe()}const lt={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},ut={setTimeout(t,i,...e){const{delegate:s}=ut;return(null==s?void 0:s.setTimeout)?s.setTimeout(t,i,...e):setTimeout(t,i,...e)},clearTimeout(t){const{delegate:i}=ut;return((null==i?void 0:i.clearTimeout)||clearTimeout)(t)},delegate:void 0};function pt(){}const vt=gt("C",void 0,void 0);function gt(t,i,e){return{kind:t,value:i,error:e}}function mt(t){t()}class ft extends at{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,ht(t)&&t.add(this)):this.destination=It}static create(t,i,e){return new xt(t,i,e)}next(t){this.isStopped?Ct(function(t){return gt("N",t,void 0)}(t),this):this._next(t)}error(t){this.isStopped?Ct(gt("E",void 0,t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?Ct(vt,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const bt=Function.prototype.bind;function yt(t,i){return bt.call(t,i)}class wt{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(t){kt(t)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(t){kt(t)}else kt(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(t){kt(t)}}}class xt extends ft{constructor(t,i,e){let s;if(super(),st(t)||!t)s={next:null!=t?t:void 0,error:null!=i?i:void 0,complete:null!=e?e:void 0};else{let i;this&&lt.useDeprecatedNextContext?(i=Object.create(t),i.unsubscribe=()=>this.unsubscribe(),s={next:t.next&&yt(t.next,i),error:t.error&&yt(t.error,i),complete:t.complete&&yt(t.complete,i)}):s=t}this.destination=new wt(s)}}function kt(t){var i;i=t,ut.setTimeout((()=>{const{onUnhandledError:t}=lt;if(!t)throw i;t(i)}))}function Ct(t,i){const{onStoppedNotification:e}=lt;e&&ut.setTimeout((()=>e(t,i)))}const It={closed:!0,next:pt,error:function(t){throw t},complete:pt},Pt="function"==typeof Symbol&&Symbol.observable||"@@observable";function _t(t){return t}class Rt{constructor(t){t&&(this._subscribe=t)}lift(t){const i=new Rt;return i.source=this,i.operator=t,i}subscribe(t,i,e){const s=(r=t)&&r instanceof ft||function(t){return t&&st(t.next)&&st(t.error)&&st(t.complete)}(r)&&ht(r)?t:new xt(t,i,e);var r;return mt((()=>{const{operator:t,source:i}=this;s.add(t?t.call(s,i):i?this._subscribe(s):this._trySubscribe(s))})),s}_trySubscribe(t){try{return this._subscribe(t)}catch(i){t.error(i)}}forEach(t,i){return new(i=Tt(i))(((i,e)=>{const s=new xt({next:i=>{try{t(i)}catch(t){e(t),s.unsubscribe()}},error:e,complete:i});this.subscribe(s)}))}_subscribe(t){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(t)}[Pt](){return this}pipe(...t){return(0===(i=t).length?_t:1===i.length?i[0]:function(t){return i.reduce(((t,i)=>i(t)),t)})(this);var i}toPromise(t){return new(t=Tt(t))(((t,i)=>{let e;this.subscribe((t=>e=t),(t=>i(t)),(()=>t(e)))}))}}function Tt(t){var i;return null!==(i=null!=t?t:lt.Promise)&&void 0!==i?i:Promise}Rt.create=t=>new Rt(t);const St=rt((t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}));class Vt extends Rt{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const i=new jt(this,this);return i.operator=t,i}_throwIfClosed(){if(this.closed)throw new St}next(t){mt((()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(t)}}))}error(t){mt((()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:i}=this;for(;i.length;)i.shift().error(t)}}))}complete(){mt((()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}}))}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:i,isStopped:e,observers:s}=this;return i||e?ct:(this.currentObservers=null,s.push(t),new at((()=>{this.currentObservers=null,ot(s,t)})))}_checkFinalizedStatuses(t){const{hasError:i,thrownError:e,isStopped:s}=this;i?t.error(e):s&&t.complete()}asObservable(){const t=new Rt;return t.source=this,t}}Vt.create=(t,i)=>new jt(t,i);class jt extends Vt{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,e;null===(e=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===e||e.call(i,t)}error(t){var i,e;null===(e=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===e||e.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,e;return null!==(e=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==e?e:ct}}var $t=function(t,i){var e={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&i.indexOf(s)<0&&(e[s]=t[s]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(t);r<s.length;r++)i.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(t,s[r])&&(e[s[r]]=t[s[r]])}return e};const Et=class{constructor(i){t(this,i),this.vviinnWidgetLoad=r(this,"vviinnWidgetLoad",7),this.vviinnWidgetOpen=r(this,"vviinnWidgetOpen",7),this.vviinnProductClick=r(this,"vviinnProductClick",7),this.vviinnProductView=r(this,"vviinnProductView",7),this.vviinnProductLoad=r(this,"vviinnProductLoad",7),this.vviinnNoResult=r(this,"vviinnNoResult",7),this.vviinnRecommendationsLoaded=r(this,"vviinnRecommendationsLoaded",7),this.productImageLoadedSubject=new Vt,this.setTrackingDeactivated=t=>{"rejected"===t.status&&(this.trackingDeactivated=!0)},this.blockTitle="Recommended products",this.imageRatio=1,this.imageWidth=300,this.productId=void 0,this.token=void 0,this.currencySign="€",this.pricePrefix=void 0,this.mode="continuity",this.campaignType="VPR",this.locale="de-DE",this.campaigns="",this.color=void 0,this.gridArrowsDynamic=!1,this.noResultText=void 0,this.noResultShow=!0,this.apiPath="https://api.vviinn.com",this.useCarousel=!0,this.showingInButton=!1,this.showScroll=!0,this.cssUrl=null,this.buttonElementId=void 0,this.recommendations=[],this.trackingDeactivated=!1,this.hasErrorOnLoad=!1}getEventData(){return{widgetType:"VPR",campaignTypeId:this.campaignType,campaignTypeName:I[this.campaignType],widgetId:this.id,widgetVersion:R}}handleProductIdChange(){this.getRecommendations()}handleCampaignTypeChange(){this.getRecommendations()}handleCampaignsChange(){this.getRecommendations()}handleApiPathChange(t){u.apiPath=t,this.getRecommendations()}handleProductLoading({detail:t}){this.productImageLoadedSubject.next(t.productId)}trackProductView({detail:t}){if(this.trackingDeactivated)return;const{productRank:i,productId:e}=t,s=$t(t,["productRank","productId","productName","widgetType","widgetId","campaignTypeId","campaignTypeName"]),r=j(Object.assign({session_id:this.uiSessionId,rank:i,product:e},s));this.trackingApi.trackEvent(r).then(this.setTrackingDeactivated)}async trackProductClick({detail:t}){const{productRank:i,productId:e}=t,s=$t(t,["productRank","productId","productName","widgetType","widgetId","campaignTypeId","campaignTypeName"]),r=$(Object.assign({session_id:this.uiSessionId,rank:i,product:e},s));this.trackingDeactivated||await this.trackingApi.trackEvent(r).then(this.setTrackingDeactivated);const n=this.recommendations.find((i=>i.productId===t.productId));n&&n.deeplink&&(window.location.href=n.deeplink)}connectedCallback(){var t;if(u.apiPath=this.apiPath,u.currencySign=this.currencySign,u.locale=this.locale,this.id=null!==(t=this.buttonElementId)&&void 0!==t?t:this.el.id,this.uiSessionId=E(),this.trackingApi=A(this.apiPath,this.token),this.trackingDeactivated)return;const i=N({action:"open",session_id:this.uiSessionId});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}disconnectedCallback(){if(this.trackingDeactivated)return;const t=N({action:"close",session_id:this.uiSessionId});this.trackingApi.trackEvent(t).then(this.setTrackingDeactivated)}async componentWillLoad(){u.pricePrefix=this.pricePrefix,u.currencySign=this.currencySign,this.vviinnWidgetLoad.emit(this.getEventData()),this.getRecommendations()}async getRecommendations(){if(void 0===this.productId||void 0===this.token)return;const t=this.campaignType.length>0?this.campaignType:"VPR",i=X(this.token),e=h.pipe(x.of((t=>h.pipe(P(t),_((()=>it),(()=>et))))(t)),x.ap(x.of(this.productId)),x.ap(x.of(this.color)),x.ap(x.of(k(this.campaigns))),x.ap(x.of(i)),x.flatten),s=await e();h.pipe(s,d.fold((t=>{this.handleError(t),this.vviinnNoResult.emit(this.getEventData()),this.vviinnRecommendationsLoaded.emit()}),(t=>this.handleRecommendationsSuccess(t))))}handleError(t){this.hasErrorOnLoad=!0}handleRecommendationsSuccess(t){var i;this.recommendations=null!==(i=null==t?void 0:t.extended)&&void 0!==i?i:t,l.results=this.recommendations,this.productIds=this.recommendations.map((t=>t.productId)),this.productImageLoadedSubject.subscribe((t=>{this.productIds=this.productIds.filter((i=>i!==t)),0===this.productIds.length&&this.vviinnRecommendationsLoaded.emit()}))}isExternalCSS(){return this.cssUrl&&this.cssUrl.length>0}renderExternalCSS(){return this.isExternalCSS()?i("link",{href:this.cssUrl,rel:"stylesheet"}):""}render(){var t;return 0===this.recommendations.length&&!1===this.noResultShow?null:i(e,{class:{loaded:!0,empty:0==this.recommendations.length,[this.mode]:!0},"aria-hidden":"false"},i(n,null,this.renderExternalCSS(),i("style",null,u.fallbackStyles),i("h2",{part:"recommendations-title"},this.blockTitle),this.recommendations.length>0&&(this.useCarousel?this.renderCarousel():this.renderResults()),0===this.recommendations.length&&this.hasErrorOnLoad&&i("p",{class:"no-result-text"},`${null!==(t=null==this?void 0:this.noResultText)&&void 0!==t?t:"No results! Please, try again later."}`)))}renderRecommendation(t,e){return i("vviinn-product-card",{part:"product-part",productId:t.productId,productTitle:t.title,deeplink:t.deeplink,image:t.image.thumbnail,brand:t.brand,imageWidth:this.imageWidth,imageRatio:1,price:t.price.actual,salePrice:t.price.sale,responsive:"grid"===this.mode,dimmedBackground:this.useDimmedBackgroundInCard(),campaignTypeId:this.campaignType,index:e,widgetElementId:this.id,widgetVersion:R})}useDimmedBackgroundInCard(){return"continuity"===this.mode||!this.useCarousel}renderResults(){return i("div",{class:"recommendations-grid",part:"recommendations-grid"},this.recommendations.map(((t,i)=>this.renderRecommendation(t,i))))}renderCarousel(){return this.showingInButton&&this.vviinnWidgetOpen.emit(this.getEventData()),i("vviinn-carousel",{mode:this.mode,campaignTypeId:this.campaignType,imageWidth:this.imageWidth,showScroll:this.showScroll,recommendations:this.recommendations,widgetElementId:this.id,widgetVersion:R,gridArrowsDynamic:this.gridArrowsDynamic})}get el(){return s(this)}static get watchers(){return{productId:["handleProductIdChange"],campaignType:["handleCampaignTypeChange"],campaigns:["handleCampaignsChange"],apiPath:["handleApiPathChange"]}}};Et.style=":host{display:grid;grid-gap:1rem;width:100%}:host(:not(.loaded)){position:absolute;visibility:hidden}:host(.grid) vviinn-product-card::part(image){border:1px solid #dddddd;width:100%}h2{margin:0}vviinn-product-card::part(price-container){align-self:flex-start;text-align:left;display:flex}.results{display:grid;grid-gap:1rem}.no-result-text{font-size:20px}.visually-hidden{position:absolute;top:0;left:0;z-index:-1;height:0;width:0}h2{margin:0}:host(.grid) h2{justify-content:center}:host(.grid) vviinn-product-card::part(image){min-width:100%}:host(.grid) vviinn-product-card::part(image-link){width:100%}:host(.grid) vviinn-product-card::part(title),:host(.grid) vviinn-product-card::part(brand),:host(.grid) vviinn-product-card::part(type){text-align:center}:host(.grid) vviinn-product-card::part(price-container){align-self:center}:host(.continuity) vviinn-product-card::part(title),:host(.continuity) vviinn-product-card::part(brand),:host(.continuity) vviinn-product-card::part(type),:host(.continuity) vviinn-product-card::part(deeplink){text-align:left;max-width:unset;align-self:start}";export{L as vviinn_carousel,Q as vviinn_product_card,Et as vviinn_vpr_widget}
1
+ import{r as t,h as i,H as e,g as s,c as r,F as n}from"./p-fa17e81f.js";import{_ as o,O as a,S as c,a as h,E as d,i as l,s as u,c as p,m as v,f as g,g as m,b as f,A as b,d as y,e as w,T as x,h as k}from"./p-3abc679c.js";import{C}from"./p-c24caccd.js";import{c as I,f as P,a as _}from"./p-18fd769b.js";import{v as R}from"./p-91822e21.js";import{h as T,t as S,p as V}from"./p-3b99c62d.js";import{c as j,a as $,v as E,b as A,d as N}from"./p-2f7bf983.js";const O="--vviinn-carousel-image-width",z="items-group",L=class{constructor(i){t(this,i),this.columns=0,this.resizeObserver=new ResizeObserver((()=>this.handleResize())),this.mutationObserver=new MutationObserver((()=>this.cloneSlottedContent())),this.isLastGroup=()=>this.activeContentGroup===this.getContentGroups().length-1&&"grid"===this.mode,this.isFirstGroup=()=>0===this.activeContentGroup&&"grid"===this.mode,this.moveDirection="right",this.contentGroups=[],this.activeContentGroup=0,this.isRTL=!1,this.mode="continuity",this.imageWidth=140,this.showScroll=!0,this.campaignTypeId=void 0,this.widgetElementId=void 0,this.gridArrowsDynamic=void 0,this.recommendations=[],this.widgetVersion=void 0}componentWillLoad(){this.isRTL="rtl"===document.dir}connectedCallback(){this.setItemWidth()}disconnectedCallback(){this.resizeObserver.disconnect()}componentDidLoad(){this.setWidth(),this.processScrollbarWidth(),this.columns=this.getColumnsNumber();const t=this.el.querySelector(".content");this.mutationObserver.observe(t,{subtree:!0,childList:!0}),this.resizeObserver.observe(this.getHostParent())}getItemWidthFromDocument(){return parseInt(getComputedStyle(document.body).getPropertyValue(O))}setItemWidth(){const t=this.getItemWidthFromDocument(),i=isNaN(t)?this.imageWidth:t;this.el.style.setProperty(O,`${i}px`)}getContentClassMap(){return{content:!0,[this.moveDirection]:!0,[this.mode]:!0,"show-scrollbar":this.showScroll}}handleResize(){this.setWidth(),this.processScrollbarWidth(),this.setItemWidth();const t=this.getColumnsNumber();t!==this.columns&&(this.columns=t)}calculateMoveStep(){const t=this.getContent().map((t=>t.getBoundingClientRect().width));return t.reduce(((t,i)=>t+i),0)/t.length}getHostParent(){return this.el.parentNode.host.parentElement}setWidth(){const t=this.getHostParent();if(!t)return;const i=getComputedStyle(t),e=t.getBoundingClientRect().width-(parseInt(i["padding-right"])+parseInt(i["padding-left"]));this.el.style.setProperty("--vviinn-carousel-content-width",`${e}px`)}getParent(){return this.el.parentNode.host.parentElement}cloneSlottedContent(){this.setWidth()}getActiveGroupIndex(){var t,i;if(!(null===(i=null===(t=this.getContentNode())||void 0===t?void 0:t.getBoundingClientRect())||void 0===i?void 0:i.left))return 0;const e=this.getContentGroups().map((t=>t.getBoundingClientRect().left)).map(((t,i)=>[t,i])).filter((t=>t[0]>=0));return e.length>0?this.isRTL?e[e.length-1][1]:e[0][1]:0}getContentNode(){return this.el.querySelector(".content")}getContent(){const t=this.getContentNode().children;return Array.from(t).map((t=>t))}getColumnsNumber(){const t=getComputedStyle(this.el).getPropertyValue("--vviinn-carousel-columns-internal"),i=parseInt(t);return i&&!isNaN(i)?i:4}getContentGroups(){return Array.from(this.el.querySelectorAll(`.${z}`))}showNext(){this.moveDirection="right";const t=this.getContentNode();requestAnimationFrame((()=>{t.scrollTo({top:0,left:t.scrollLeft+this.calculateMoveStep(),behavior:"smooth"})}))}showPrev(){this.moveDirection="left";const t=this.getContentNode();requestAnimationFrame((()=>{t.scrollTo({top:0,left:t.scrollLeft-this.calculateMoveStep(),behavior:"smooth"})}))}scroll(t){const i=this.getContentNode();requestAnimationFrame((()=>{i.scrollTo({top:0,left:this.calculateMoveStep()*t,behavior:"smooth"})}))}processScrollbarWidth(){const t=this.getContentNode();t&&(this.el.style.setProperty("--vviinn-progressbar-width",t.clientWidth*((t.scrollLeft+t.clientWidth)/t.scrollWidth)+"px"),this.activeContentGroup=this.getActiveGroupIndex())}showBullets(){return"grid"===this.mode&&this.showScroll}showScrollbar(){return"continuity"===this.mode&&this.showScroll}getClassMap(){return{[this.mode]:!0,"show-scrollbar":this.showScrollbar()}}renderRecommendation(t,e){return i("vviinn-product-card",{part:"product-part",productId:t.productId,productTitle:t.title,deeplink:t.deeplink,image:t.image.thumbnail,brand:t.brand,imageWidth:this.imageWidth,imageRatio:1,price:t.price.actual,salePrice:t.price.sale,responsive:"grid"===this.mode,dimmedBackground:"continuity"===this.mode,campaignTypeId:this.campaignTypeId,index:e,widgetElementId:this.widgetElementId,widgetVersion:this.widgetVersion})}renderRecommendationGroup(t){return i("div",{class:z,part:"items-group"},...t)}renderRecommendationGroups(t){return t.map((t=>this.renderRecommendationGroup(t)))}renderRecommendations(){return"grid"===this.mode?this.renderGrid():this.renderRecommendationsElements()}renderRecommendationsElements(){return this.recommendations.map(((t,i)=>this.renderRecommendation(t,i)))}renderGrid(){const t=this.renderRecommendationsElements(),i=o.chunksOf(this.getColumnsNumber())(t);return this.renderRecommendationGroups(i)}renderBullets(){const t=Math.ceil(this.recommendations.length/this.getColumnsNumber());return Array.from(Array(t).keys()).map((t=>i("div",{class:{bullet:!0,active:this.activeContentGroup===t},onClick:()=>this.scroll(t)})))}render(){return i(e,{class:this.getClassMap()},i("div",{class:Object.assign({body:!0},this.getClassMap())},i("button",{class:"prev",onClick:()=>this.showPrev(),part:"carousel-button",disabled:this.gridArrowsDynamic&&this.isFirstGroup()},i(C,null)),i("div",{class:this.getContentClassMap(),onScroll:()=>this.processScrollbarWidth()},this.renderRecommendations()),i("button",{class:"next",onClick:()=>this.showNext(),part:"carousel-button",disabled:this.gridArrowsDynamic&&this.isLastGroup()},i(C,null))),this.showBullets()&&i("div",{class:"bullets"},this.renderBullets()))}get el(){return s(this)}};L.style=":host{--vviinn-progressbar-width:0;--vviinn-carousel-item-width:150px;--vviinn-carousel-columns-internal:var(--vviinn-carousel-columns, 4);--vviinn-carousel-image-width-system:140px}.body{display:flex;position:relative;width:var(--vviinn-carousel-content-width);flex-direction:column}.content-wrapper *{box-sizing:border-box}.content-wrapper{overflow-y:hidden;overflow-x:auto;flex-grow:1}.bullets{margin-top:16px;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:not(.show-scrollbar),.content.grid{scrollbar-color:#fff0 #fff0}.content:not(.show-scrollbar)::-webkit-scrollbar,.content.grid::-webkit-scrollbar{opacity:0}.content{display:flex;flex-direction:row;grid-gap:8px;scroll-snap-type:x mandatory;overflow-y:hidden;overflow-x:auto;flex-grow:1;padding-bottom:16px}.content.left>*{scroll-snap-align:start}.content.right>*{scroll-snap-align:end}:host(.continuity) button{border-radius:2px}:host(.grid) button{border-radius:50%}button{align-items:center;background-color:white;border:none;box-shadow:0px 2px 6px rgba(0, 0, 0, 0.15);cursor:pointer;display:grid;height:40px;justify-items:center;position:absolute;top:calc(50% - 20px);width:40px;z-index:1;padding:0;margin:0}button{fill:#525252}button:disabled{display:none}button.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-internal), 1fr);min-width:100%}vviinn-product-card::part(price-container){text-align:center}:host(.classic) vviinn-product-card::part(title),:host(.classic) vviinn-product-card::part(brand),:host(.classic) vviinn-product-card::part(type){text-align:center}@media (max-width: 480px){:host(.modern) button{display:none}.items-group{grid-template-columns:repeat(2, 1fr)}}";class W{sendImpression(t){var i,e,s;gtag("event","view_item_list",{items:[{id:t.productId,name:t.title,brand:null!==(i=t.brand)&&void 0!==i?i:"",category:null!==(e=t.productType)&&void 0!==e?e:"",list_name:"VI VPR View",price:Math.min(t.price.actual,null!==(s=t.price.sale)&&void 0!==s?s:1/0)}]})}sendClick(t){var i,e,s;gtag("event","select_content",{content_type:"product",items:[{id:t.productId,name:t.title,brand:null!==(i=t.brand)&&void 0!==i?i:"",category:null!==(e=t.productType)&&void 0!==e?e:"",list_name:"VI VPR View",price:Math.min(t.price.actual,null!==(s=t.price.sale)&&void 0!==s?s:1/0)}]})}}class D{constructor(){ga("require","ec")}convertProduct(t){var i,e,s;return{id:t.productId,name:t.title,brand:null!==(i=t.brand)&&void 0!==i?i:"",category:null!==(e=t.productType)&&void 0!==e?e:"",list:"VI VPR View",price:Math.min(t.price.actual,null!==(s=t.price.sale)&&void 0!==s?s:1/0)}}sendImpression(t){ga("ec:addImpression",this.convertProduct(t))}sendClick(t){var i,e,s;ga("ec:addProduct",{id:t.productId,name:t.title,brand:null!==(i=t.brand)&&void 0!==i?i:"",category:null!==(e=t.productType)&&void 0!==e?e:"",price:Math.min(t.price.actual,null!==(s=t.price.sale)&&void 0!==s?s:1/0)}),ga("ec:setAction","click",{list:"VI VPR View"})}}const M=a.getMonoid(c.first()).concat(h.pipe(a.fromNullable(window.gtag),a.map((()=>new W))),h.pipe(a.fromNullable(window.ga),a.map((()=>new D))));function F(t,i,e){return function(s){for(var r=Array(e.length+1),n=0;n<e.length;n++)r[n]=e[n];return r[e.length]=s,0===i?t.apply(null,r):F(t,i-1,r)}}var B={1:function(t){return[t]},2:function(t){return function(i){return[t,i]}},3:function(t){return function(i){return function(e){return[t,i,e]}}},4:function(t){return function(i){return function(e){return function(s){return[t,i,e,s]}}}},5:function(t){return function(i){return function(e){return function(s){return function(r){return[t,i,e,s,r]}}}}}};function U(t){return T.call(B,t)||(B[t]=F(S,t-1,[])),B[t]}const G=/fit\/\d+\//,q=(t,i)=>h.pipe((t=>h.pipe(t.match(G),d.fromNullable(t),d.map((()=>t))))(t),d.map((t=>t.replace(G,`fit/${i}/`))),d.getOrElse((()=>t))),H=(t,e)=>t.deeplink?i("a",{class:t.part,part:t.part,href:t.deeplink},e):e,J=t=>{const e=t.priceType,s=new Intl.NumberFormat(t.locale,{minimumFractionDigits:2}).format(t.price),r=t.prefix?i("span",{part:"price-prefix"},t.prefix+" "):null,n=t.currency?i("span",{part:"currency"}," "+t.currency):null;return i("span",{class:"price-amount",part:"price-amount"+(e?"-"+e:"")},r,s,n)},K=t=>i("span",{class:"price-container",part:"price-container"},t.salePrice?[i("span",{class:"price-sale",part:"price-sale"},i(J,{prefix:t.prefix,currency:t.currency,price:t.salePrice,locale:t.locale,priceType:"sale"})),i("span",{class:"price-outdated",part:"price-outdated"},i(J,{prefix:t.prefix,currency:t.currency,price:t.price,locale:t.locale,priceType:"outdated"}))]:i("span",{class:"price-regular",part:"price-regular"},i(J,{prefix:t.prefix,currency:t.currency,price:t.price,locale:t.locale,priceType:"regular"}))),Q=class{constructor(i){t(this,i),this.vviinnProductLoad=r(this,"vviinnProductLoad",7),this.vviinnProductView=r(this,"vviinnProductView",7),this.vviinnProductClick=r(this,"vviinnProductClick",7),this.productData=null,this.intersectionObserver=new IntersectionObserver(this.intersectionCallback.bind(this),{threshold:1}),this.brand=void 0,this.currency=void 0,this.deeplink=void 0,this.image=void 0,this.imageRatio=1,this.imageWidth=200,this.locale=void 0,this.price=void 0,this.pricePrefix=void 0,this.productId=void 0,this.productTitle=void 0,this.productType=void 0,this.salePrice=void 0,this.responsive=!1,this.campaignTypeId=void 0,this.dimmedBackground=!1,this.widgetElementId=void 0,this.buttonElementId=void 0,this.widgetVersion=void 0,this.index=0,this.imageLoaded=!1}connectedCallback(){this.productData=this.getProductData()}getWidgetType(){return"VPR"===this.campaignTypeId||"VCS"===this.campaignTypeId?"VPR":"VPS"}getProductData(){var t;return{productId:this.productId,productRank:this.index,productName:this.productTitle,widgetType:this.getWidgetType(),campaignTypeId:this.campaignTypeId,campaignTypeName:I[this.campaignTypeId],widgetId:null!==(t=this.buttonElementId)&&void 0!==t?t:this.widgetElementId,widgetVersion:this.widgetVersion}}intersectionCallback(t){t.some((t=>t.isIntersecting))&&(h.pipe(M,a.map((t=>t.sendImpression(this.getProduct())))),this.vviinnProductView.emit(this.productData),this.intersectionObserver.disconnect())}componentDidLoad(){this.vviinnProductLoad.emit(this.productData),this.intersectionObserver.observe(this.el),this.el.shadowRoot.querySelectorAll("a").forEach((t=>t.addEventListener("click",(t=>{t.preventDefault(),t.stopImmediatePropagation(),this.vviinnProductClick.emit(this.productData),h.pipe(M,a.match((()=>null),(t=>t.sendClick(this.getProduct()))))}))))}getProduct(){return l.results.find((t=>t.productId===this.productId))}renderImage(){const t={width:this.imageWidth,height:this.imageWidth*this.imageRatio,src:this.image,title:this.productTitle,lazy:!1};return this.responsive?((t,e=(()=>{}))=>i("picture",null,i("img",{loading:t.lazy?"lazy":"eager",part:"image",class:"image responsive",src:q(t.src,t.width),alt:t.title,onLoad:e})))(t):((t,e=(()=>{}))=>i("picture",null,i("img",{loading:t.lazy?"lazy":"eager",part:"image",class:"image",width:t.width,height:t.height,src:q(t.src,t.width),alt:t.title,onLoad:e})))(t)}render(){var t,s,r;return i(e,{part:"product-card",class:{dimmed:this.dimmedBackground},exportparts:"brand, currency, deeplink, image, image-link, price-amount-sale, price-amount-outdated, price-amount-regular, price-container, price-outdated, price-regular, price-sale, price-prefix, title"},i(H,{deeplink:this.deeplink,part:"image-link"},this.renderImage()),i(H,{deeplink:this.deeplink,part:"deeplink"},i("span",{class:"title",part:"title"},this.productTitle)),i("span",{class:"brand",part:"brand"},this.brand),i("span",{class:"type",part:"type"},this.productType),i(K,{prefix:null!==(t=this.pricePrefix)&&void 0!==t?t:u.pricePrefix,currency:null!==(s=this.currency)&&void 0!==s?s:u.currencySign,price:this.price,salePrice:this.salePrice,locale:null!==(r=this.locale)&&void 0!==r?r:u.locale}))}get el(){return s(this)}};Q.style=':host{align-items:center;display:flex;flex-direction:column;gap:8px;height:100%}.price-container{display:flex;flex-direction:column}.price-sale,.price-regular{font-style:normal;font-weight:normal;font-size:16px;line-height:24px;color:#161616}.price-outdated{font-style:normal;font-weight:normal;font-size:16px;line-height:24px;color:#757575;text-decoration:line-through}.product-type{word-wrap:anywhere}.image{display:grid;align-content:center;-o-object-position:50% 50%;object-position:50% 50%;-o-object-fit:contain;object-fit:contain;text-align:center;box-sizing:border-box}img.responsive{width:100%;height:auto;aspect-ratio:1}.brand,.type{display:none}.title{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#161616;display:-webkit-box;font-size:16px;font-style:normal;font-weight:500;line-height:24px;margin-bottom:8px;overflow:hidden}.deeplink{text-decoration:none}.image-link{display:contents}picture{position:relative;width:100%}:host(.dimmed) picture::before{content:"";width:100%;height:100%;box-sizing:border-box;background:#f7f7f7;display:block;top:0;left:0;position:absolute;mix-blend-mode:multiply}';const X=h.flow((t=>`Bearer ${t}`),(t=>new Headers({Authorization:t})),(t=>({headers:t}))),Y=(Z=b,function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];for(var e=t.length,s=U(e),r=Z.map(t[0],s),n=1;n<e;n++)r=Z.ap(r,t[n]);return r});var Z;const tt=(t,i={})=>V(Y(m(),f),g,p(v(t,i))),it=t=>i=>e=>s=>{const r=h.pipe(e,y(encodeURIComponent),w((()=>`product/${t}/similar-products${i?`?color=${i}`:""}`),(e=>`product/${t}/similar-products?campaigns=${e}${i?`&color=${i}`:""}`)));return tt(r,s)},et=t=>i=>e=>s=>{const r=h.pipe(e,y(encodeURIComponent),w((()=>`product/${t}/cross-selling-products${i?`?color=${i}`:""}`),(e=>`product/${t}/cross-selling-products?campaigns=${e}${i?`&color=${i}`:""}`)));return tt(r,s)};function st(t){return"function"==typeof t}function rt(t){const i=t((t=>{Error.call(t),t.stack=(new Error).stack}));return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const nt=rt((t=>function(i){t(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map(((t,i)=>`${i+1}) ${t.toString()}`)).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i}));function ot(t,i){if(t){const e=t.indexOf(i);0<=e&&t.splice(e,1)}}class at{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const t of i)t.remove(this);else i.remove(this);const{initialTeardown:e}=this;if(st(e))try{e()}catch(i){t=i instanceof nt?i.errors:[i]}const{_finalizers:s}=this;if(s){this._finalizers=null;for(const i of s)try{dt(i)}catch(i){t=null!=t?t:[],i instanceof nt?t=[...t,...i.errors]:t.push(i)}}if(t)throw new nt(t)}}add(t){var i;if(t&&t!==this)if(this.closed)dt(t);else{if(t instanceof at){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ot(i,t)}remove(t){const{_finalizers:i}=this;i&&ot(i,t),t instanceof at&&t._removeParent(this)}}at.EMPTY=(()=>{const t=new at;return t.closed=!0,t})();const ct=at.EMPTY;function ht(t){return t instanceof at||t&&"closed"in t&&st(t.remove)&&st(t.add)&&st(t.unsubscribe)}function dt(t){st(t)?t():t.unsubscribe()}const lt={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},ut={setTimeout(t,i,...e){const{delegate:s}=ut;return(null==s?void 0:s.setTimeout)?s.setTimeout(t,i,...e):setTimeout(t,i,...e)},clearTimeout(t){const{delegate:i}=ut;return((null==i?void 0:i.clearTimeout)||clearTimeout)(t)},delegate:void 0};function pt(){}const vt=gt("C",void 0,void 0);function gt(t,i,e){return{kind:t,value:i,error:e}}function mt(t){t()}class ft extends at{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,ht(t)&&t.add(this)):this.destination=It}static create(t,i,e){return new xt(t,i,e)}next(t){this.isStopped?Ct(function(t){return gt("N",t,void 0)}(t),this):this._next(t)}error(t){this.isStopped?Ct(gt("E",void 0,t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?Ct(vt,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const bt=Function.prototype.bind;function yt(t,i){return bt.call(t,i)}class wt{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(t){kt(t)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(t){kt(t)}else kt(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(t){kt(t)}}}class xt extends ft{constructor(t,i,e){let s;if(super(),st(t)||!t)s={next:null!=t?t:void 0,error:null!=i?i:void 0,complete:null!=e?e:void 0};else{let i;this&&lt.useDeprecatedNextContext?(i=Object.create(t),i.unsubscribe=()=>this.unsubscribe(),s={next:t.next&&yt(t.next,i),error:t.error&&yt(t.error,i),complete:t.complete&&yt(t.complete,i)}):s=t}this.destination=new wt(s)}}function kt(t){var i;i=t,ut.setTimeout((()=>{const{onUnhandledError:t}=lt;if(!t)throw i;t(i)}))}function Ct(t,i){const{onStoppedNotification:e}=lt;e&&ut.setTimeout((()=>e(t,i)))}const It={closed:!0,next:pt,error:function(t){throw t},complete:pt},Pt="function"==typeof Symbol&&Symbol.observable||"@@observable";function _t(t){return t}class Rt{constructor(t){t&&(this._subscribe=t)}lift(t){const i=new Rt;return i.source=this,i.operator=t,i}subscribe(t,i,e){const s=(r=t)&&r instanceof ft||function(t){return t&&st(t.next)&&st(t.error)&&st(t.complete)}(r)&&ht(r)?t:new xt(t,i,e);var r;return mt((()=>{const{operator:t,source:i}=this;s.add(t?t.call(s,i):i?this._subscribe(s):this._trySubscribe(s))})),s}_trySubscribe(t){try{return this._subscribe(t)}catch(i){t.error(i)}}forEach(t,i){return new(i=Tt(i))(((i,e)=>{const s=new xt({next:i=>{try{t(i)}catch(t){e(t),s.unsubscribe()}},error:e,complete:i});this.subscribe(s)}))}_subscribe(t){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(t)}[Pt](){return this}pipe(...t){return(0===(i=t).length?_t:1===i.length?i[0]:function(t){return i.reduce(((t,i)=>i(t)),t)})(this);var i}toPromise(t){return new(t=Tt(t))(((t,i)=>{let e;this.subscribe((t=>e=t),(t=>i(t)),(()=>t(e)))}))}}function Tt(t){var i;return null!==(i=null!=t?t:lt.Promise)&&void 0!==i?i:Promise}Rt.create=t=>new Rt(t);const St=rt((t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}));class Vt extends Rt{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const i=new jt(this,this);return i.operator=t,i}_throwIfClosed(){if(this.closed)throw new St}next(t){mt((()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(t)}}))}error(t){mt((()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:i}=this;for(;i.length;)i.shift().error(t)}}))}complete(){mt((()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}}))}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:i,isStopped:e,observers:s}=this;return i||e?ct:(this.currentObservers=null,s.push(t),new at((()=>{this.currentObservers=null,ot(s,t)})))}_checkFinalizedStatuses(t){const{hasError:i,thrownError:e,isStopped:s}=this;i?t.error(e):s&&t.complete()}asObservable(){const t=new Rt;return t.source=this,t}}Vt.create=(t,i)=>new jt(t,i);class jt extends Vt{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,e;null===(e=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===e||e.call(i,t)}error(t){var i,e;null===(e=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===e||e.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,e;return null!==(e=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==e?e:ct}}var $t=function(t,i){var e={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&i.indexOf(s)<0&&(e[s]=t[s]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(t);r<s.length;r++)i.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(t,s[r])&&(e[s[r]]=t[s[r]])}return e};const Et=class{constructor(i){t(this,i),this.vviinnWidgetLoad=r(this,"vviinnWidgetLoad",7),this.vviinnWidgetOpen=r(this,"vviinnWidgetOpen",7),this.vviinnProductClick=r(this,"vviinnProductClick",7),this.vviinnProductView=r(this,"vviinnProductView",7),this.vviinnProductLoad=r(this,"vviinnProductLoad",7),this.vviinnNoResult=r(this,"vviinnNoResult",7),this.vviinnRecommendationsLoaded=r(this,"vviinnRecommendationsLoaded",7),this.productImageLoadedSubject=new Vt,this.setTrackingDeactivated=t=>{"rejected"===t.status&&(this.trackingDeactivated=!0)},this.blockTitle="Recommended products",this.imageRatio=1,this.imageWidth=300,this.productId=void 0,this.token=void 0,this.currencySign="€",this.pricePrefix=void 0,this.mode="continuity",this.campaignType="VPR",this.locale="de-DE",this.campaigns="",this.color=void 0,this.gridArrowsDynamic=!1,this.noResultText=void 0,this.noResultShow=!0,this.apiPath="https://api.vviinn.com",this.useCarousel=!0,this.showingInButton=!1,this.showScroll=!0,this.cssUrl=null,this.buttonElementId=void 0,this.recommendations=[],this.trackingDeactivated=!1,this.hasErrorOnLoad=!1}getEventData(){return{widgetType:"VPR",campaignTypeId:this.campaignType,campaignTypeName:I[this.campaignType],widgetId:this.id,widgetVersion:R}}handleProductIdChange(){this.getRecommendations()}handleCampaignTypeChange(){this.getRecommendations()}handleCampaignsChange(){this.getRecommendations()}handleApiPathChange(t){u.apiPath=t,this.getRecommendations()}handleProductLoading({detail:t}){this.productImageLoadedSubject.next(t.productId)}trackProductView({detail:t}){if(this.trackingDeactivated)return;const{productRank:i,productId:e}=t,s=$t(t,["productRank","productId","productName","widgetType","widgetId","campaignTypeId","campaignTypeName"]),r=j(Object.assign({session_id:this.uiSessionId,rank:i,product:e},s));this.trackingApi.trackEvent(r).then(this.setTrackingDeactivated)}async trackProductClick({detail:t}){const{productRank:i,productId:e}=t,s=$t(t,["productRank","productId","productName","widgetType","widgetId","campaignTypeId","campaignTypeName"]),r=$(Object.assign({session_id:this.uiSessionId,rank:i,product:e},s));this.trackingDeactivated||await this.trackingApi.trackEvent(r).then(this.setTrackingDeactivated);const n=this.recommendations.find((i=>i.productId===t.productId));n&&n.deeplink&&(window.location.href=n.deeplink)}connectedCallback(){var t;if(u.apiPath=this.apiPath,u.currencySign=this.currencySign,u.locale=this.locale,this.id=null!==(t=this.buttonElementId)&&void 0!==t?t:this.el.id,this.uiSessionId=E(),this.trackingApi=A(this.apiPath,this.token),this.trackingDeactivated)return;const i=N({action:"open",session_id:this.uiSessionId});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}disconnectedCallback(){if(this.trackingDeactivated)return;const t=N({action:"close",session_id:this.uiSessionId});this.trackingApi.trackEvent(t).then(this.setTrackingDeactivated)}async componentWillLoad(){u.pricePrefix=this.pricePrefix,u.currencySign=this.currencySign,this.vviinnWidgetLoad.emit(this.getEventData()),this.getRecommendations()}async getRecommendations(){if(void 0===this.productId||void 0===this.token)return;const t=this.campaignType.length>0?this.campaignType:"VPR",i=X(this.token),e=h.pipe(x.of((t=>h.pipe(P(t),_((()=>it),(()=>et))))(t)),x.ap(x.of(this.productId)),x.ap(x.of(this.color)),x.ap(x.of(k(this.campaigns))),x.ap(x.of(i)),x.flatten),s=await e();h.pipe(s,d.fold((t=>{this.handleError(t),this.vviinnNoResult.emit(this.getEventData()),this.vviinnRecommendationsLoaded.emit()}),(t=>this.handleRecommendationsSuccess(t))))}handleError(t){this.hasErrorOnLoad=!0}handleRecommendationsSuccess(t){var i;this.recommendations=null!==(i=null==t?void 0:t.extended)&&void 0!==i?i:t,l.results=this.recommendations,this.productIds=this.recommendations.map((t=>t.productId)),this.productImageLoadedSubject.subscribe((t=>{this.productIds=this.productIds.filter((i=>i!==t)),0===this.productIds.length&&this.vviinnRecommendationsLoaded.emit()}))}isExternalCSS(){return this.cssUrl&&this.cssUrl.length>0}renderExternalCSS(){return this.isExternalCSS()?i("link",{href:this.cssUrl,rel:"stylesheet"}):""}render(){var t;return 0===this.recommendations.length&&!1===this.noResultShow?null:i(e,{class:{loaded:!0,empty:0==this.recommendations.length,[this.mode]:!0},"aria-hidden":"false"},i(n,null,this.renderExternalCSS(),i("style",null,u.fallbackStyles),i("h2",{part:"recommendations-title"},this.blockTitle),this.recommendations.length>0&&(this.useCarousel?this.renderCarousel():this.renderResults()),0===this.recommendations.length&&this.hasErrorOnLoad&&i("p",{class:"no-result-text"},`${null!==(t=null==this?void 0:this.noResultText)&&void 0!==t?t:"No results! Please, try again later."}`)))}renderRecommendation(t,e){return i("vviinn-product-card",{part:"product-part",productId:t.productId,productTitle:t.title,deeplink:t.deeplink,image:t.image.thumbnail,brand:t.brand,imageWidth:this.imageWidth,imageRatio:1,price:t.price.actual,salePrice:t.price.sale,responsive:"grid"===this.mode,dimmedBackground:this.useDimmedBackgroundInCard(),campaignTypeId:this.campaignType,index:e,widgetElementId:this.id,widgetVersion:R})}useDimmedBackgroundInCard(){return"continuity"===this.mode||!this.useCarousel}renderResults(){return i("div",{class:"recommendations-grid",part:"recommendations-grid"},this.recommendations.map(((t,i)=>this.renderRecommendation(t,i))))}renderCarousel(){return this.showingInButton&&this.vviinnWidgetOpen.emit(this.getEventData()),i("vviinn-carousel",{mode:this.mode,campaignTypeId:this.campaignType,imageWidth:this.imageWidth,showScroll:this.showScroll,recommendations:this.recommendations,widgetElementId:this.id,widgetVersion:R,gridArrowsDynamic:this.gridArrowsDynamic})}get el(){return s(this)}static get watchers(){return{productId:["handleProductIdChange"],campaignType:["handleCampaignTypeChange"],campaigns:["handleCampaignsChange"],apiPath:["handleApiPathChange"]}}};Et.style=":host{display:grid;grid-gap:1rem;width:100%}:host(:not(.loaded)){position:absolute;visibility:hidden}:host(.grid) vviinn-product-card::part(image){border:1px solid #dddddd;width:100%}h2{margin:0}vviinn-product-card::part(price-container){align-self:flex-start;text-align:left;display:flex}.results{display:grid;grid-gap:1rem}.no-result-text{font-size:20px}.visually-hidden{position:absolute;top:0;left:0;z-index:-1;height:0;width:0}h2{margin:0}:host(.grid) h2{justify-content:center}:host(.grid) vviinn-product-card::part(image){min-width:100%}:host(.grid) vviinn-product-card::part(image-link){width:100%}:host(.grid) vviinn-product-card::part(title),:host(.grid) vviinn-product-card::part(brand),:host(.grid) vviinn-product-card::part(type){text-align:center}:host(.grid) vviinn-product-card::part(price-container){align-self:center}:host(.continuity) vviinn-product-card::part(title),:host(.continuity) vviinn-product-card::part(brand),:host(.continuity) vviinn-product-card::part(type),:host(.continuity) vviinn-product-card::part(deeplink){text-align:left;max-width:unset;align-self:start}";export{L as vviinn_carousel,Q as vviinn_product_card,Et as vviinn_vpr_widget}
@@ -1 +1 @@
1
- import{p as e,b as i}from"./p-fa17e81f.js";export{s as setNonce}from"./p-fa17e81f.js";(()=>{const i=import.meta.url,t={};return""!==i&&(t.resourcesUrl=new URL(".",i).href),e(t)})().then((e=>i([["p-e3146599",[[1,"vviinn-button",{addStyle:[4,"add-style"]}]]],["p-bae2af67",[[1,"cropper-handler",{handler:[16],disabled:[4]}]]],["p-34b551fb",[[1,"vviinn-error"]]],["p-8036a003",[[1,"vviinn-preloader"]]],["p-09a1977b",[[1,"vviinn-vpr-widget",{blockTitle:[1,"block-title"],imageRatio:[2,"image-ratio"],imageWidth:[2,"image-width"],productId:[1,"product-id"],token:[1],currencySign:[1,"currency-sign"],pricePrefix:[1,"price-prefix"],mode:[1],campaignType:[1,"campaign-type"],locale:[1],campaigns:[1],color:[1],gridArrowsDynamic:[4,"grid-arrows-dynamic"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],apiPath:[1,"api-path"],useCarousel:[4,"use-carousel"],showingInButton:[4,"showing-in-button"],showScroll:[4,"show-scroll"],cssUrl:[1,"css-url"],buttonElementId:[1,"button-element-id"],recommendations:[32],trackingDeactivated:[32],hasErrorOnLoad:[32]},[[0,"vviinnProductLoad","handleProductLoading"],[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"]]],[0,"vviinn-carousel",{mode:[1],imageWidth:[2,"image-width"],showScroll:[4,"show-scroll"],campaignTypeId:[1,"campaign-type-id"],widgetElementId:[1,"widget-element-id"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],recommendations:[16],widgetVersion:[1,"widget-version"],moveDirection:[32],contentGroups:[32],activeContentGroup:[32],isRTL:[32]}],[1,"vviinn-product-card",{brand:[1],currency:[1],deeplink:[1],image:[1],imageRatio:[2,"image-ratio"],imageWidth:[2,"image-width"],locale:[1],price:[2],pricePrefix:[1,"price-prefix"],productId:[1,"product-id"],productTitle:[1,"product-title"],productType:[1,"product-type"],salePrice:[2,"sale-price"],responsive:[4],campaignTypeId:[1,"campaign-type-id"],dimmedBackground:[4,"dimmed-background"],widgetElementId:[1,"widget-element-id"],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],index:[2],imageLoaded:[32]}]]],["p-0ef48c85",[[1,"vviinn-image-view",{basicEventData:[16]}],[1,"vviinn-onboarding"],[1,"vviinn-example-images",{basicEventData:[16]}],[1,"vviinn-overlayed-modal",{active:[4],resetState:[16],buttonElementId:[1,"button-element-id"],hideBackButton:[4,"hide-back-button"],widgetVersion:[1,"widget-version"]}],[1,"vviinn-empty-results"],[1,"vviinn-image-selector",{basicEventData:[16],startUpload:[4,"start-upload"],resetVpsButton:[16]}],[1,"vviinn-server-error",{handler:[16]}],[1,"vviinn-wrong-format",{handler:[16]}],[1,"search-filters",{filter:[16],basicEventData:[16],selectedCategoryId:[32],hideFilters:[32]}],[1,"vviinn-privacy-badge"],[1,"vviinn-teaser"],[1,"image-cropper",{disabled:[4],basicEventData:[16],handleMove:[32]}],[1,"vviinn-example-image",{src:[1],width:[2],height:[2],basicEventData:[16],selected:[32]}],[1,"highlight-box"],[1,"vviinn-detected-object",{detectedObject:[16],basicEventData:[16],position:[32]}],[1,"vviinn-modal",{active:[1540],resetState:[16],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],hideBackButton:[4,"hide-back-button"],slider:[32]}],[1,"vviinn-onboarding-card-1"],[1,"vviinn-onboarding-card-2"],[1,"vviinn-onboarding-card-3"],[1,"vviinn-overlay"],[1,"vviinn-slide"],[1,"vviinn-slider",{showBullets:[4,"show-bullets"],position:[514],showArrows:[4,"show-arrows"],elementsCount:[32],internalPosition:[32],swipeStartPosition:[32],isRTL:[32]}]]],["p-cde43a5d",[[1,"vviinn-vps-widget",{token:[1],apiPath:[1,"api-path"],active:[1028],currencySign:[1,"currency-sign"],locale:[1],campaignId:[1,"campaign-id"],showingInButton:[4,"showing-in-button"],buttonElementId:[1,"button-element-id"],buttonPressed:[4,"button-pressed"],mode:[1],resetVpsButton:[16],slidePosition:[32],width:[32],wrongImageFormat:[32],trackingDeactivated:[32]},[[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"],[0,"vviinnImageCrop","trachSearchAreaChanges"],[0,"vviinnSelectObject","trackDetectedObject"],[0,"vviinnSelectFilter","trackFilter"]]]]],["p-71a9e0a9",[[1,"vviinn-vps-button",{token:[1],currencySign:[1,"currency-sign"],locale:[1],campaignId:[1,"campaign-id"],addStyle:[4,"add-style"],mode:[1],apiPath:[1,"api-path"],buttonPressed:[32]},[[0,"vviinnWidgetClose","handleModalClosed"]]]]],["p-55eef9fc",[[1,"vviinn-recommendations-sidebar",{sidebarTitle:[1,"sidebar-title"],token:[1],productId:[1,"product-id"],position:[1],sourceImage:[1,"source-image"],widgetScrollbar:[4,"widget-scrollbar"],mode:[1],campaigns:[1],campaignType:[1,"campaign-type"],color:[1],imageWidth:[2,"image-width"],currencySign:[1,"currency-sign"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],apiPath:[1,"api-path"],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],showingInButton:[4,"showing-in-button"],state:[32]},[[16,"click","bodyClickListener"]]]]],["p-7348f855",[[1,"vviinn-vpr-button",{token:[1],productId:[1,"product-id"],position:[1],sourceImage:[1,"source-image"],sidebarTitle:[1,"sidebar-title"],modalScrollbar:[4,"modal-scrollbar"],campaigns:[1],campaignType:[1,"campaign-type"],color:[1],addStyle:[4,"add-style"],mode:[1],imageWidth:[2,"image-width"],currencySign:[1,"currency-sign"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],apiPath:[1,"api-path"]}]]]],e)));
1
+ import{p as e,b as i}from"./p-fa17e81f.js";export{s as setNonce}from"./p-fa17e81f.js";(()=>{const i=import.meta.url,t={};return""!==i&&(t.resourcesUrl=new URL(".",i).href),e(t)})().then((e=>i([["p-e3146599",[[1,"vviinn-button",{addStyle:[4,"add-style"]}]]],["p-bae2af67",[[1,"cropper-handler",{handler:[16],disabled:[4]}]]],["p-34b551fb",[[1,"vviinn-error"]]],["p-8036a003",[[1,"vviinn-preloader"]]],["p-b9f04a14",[[1,"vviinn-vpr-widget",{blockTitle:[1,"block-title"],imageRatio:[2,"image-ratio"],imageWidth:[2,"image-width"],productId:[1,"product-id"],token:[1],currencySign:[1,"currency-sign"],pricePrefix:[1,"price-prefix"],mode:[1],campaignType:[1,"campaign-type"],locale:[1],campaigns:[1],color:[1],gridArrowsDynamic:[4,"grid-arrows-dynamic"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],apiPath:[1,"api-path"],useCarousel:[4,"use-carousel"],showingInButton:[4,"showing-in-button"],showScroll:[4,"show-scroll"],cssUrl:[1,"css-url"],buttonElementId:[1,"button-element-id"],recommendations:[32],trackingDeactivated:[32],hasErrorOnLoad:[32]},[[0,"vviinnProductLoad","handleProductLoading"],[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"]]],[0,"vviinn-carousel",{mode:[1],imageWidth:[2,"image-width"],showScroll:[4,"show-scroll"],campaignTypeId:[1,"campaign-type-id"],widgetElementId:[1,"widget-element-id"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],recommendations:[16],widgetVersion:[1,"widget-version"],moveDirection:[32],contentGroups:[32],activeContentGroup:[32],isRTL:[32]}],[1,"vviinn-product-card",{brand:[1],currency:[1],deeplink:[1],image:[1],imageRatio:[2,"image-ratio"],imageWidth:[2,"image-width"],locale:[1],price:[2],pricePrefix:[1,"price-prefix"],productId:[1,"product-id"],productTitle:[1,"product-title"],productType:[1,"product-type"],salePrice:[2,"sale-price"],responsive:[4],campaignTypeId:[1,"campaign-type-id"],dimmedBackground:[4,"dimmed-background"],widgetElementId:[1,"widget-element-id"],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],index:[2],imageLoaded:[32]}]]],["p-0ef48c85",[[1,"vviinn-image-view",{basicEventData:[16]}],[1,"vviinn-onboarding"],[1,"vviinn-example-images",{basicEventData:[16]}],[1,"vviinn-overlayed-modal",{active:[4],resetState:[16],buttonElementId:[1,"button-element-id"],hideBackButton:[4,"hide-back-button"],widgetVersion:[1,"widget-version"]}],[1,"vviinn-empty-results"],[1,"vviinn-image-selector",{basicEventData:[16],startUpload:[4,"start-upload"],resetVpsButton:[16]}],[1,"vviinn-server-error",{handler:[16]}],[1,"vviinn-wrong-format",{handler:[16]}],[1,"search-filters",{filter:[16],basicEventData:[16],selectedCategoryId:[32],hideFilters:[32]}],[1,"vviinn-privacy-badge"],[1,"vviinn-teaser"],[1,"image-cropper",{disabled:[4],basicEventData:[16],handleMove:[32]}],[1,"vviinn-example-image",{src:[1],width:[2],height:[2],basicEventData:[16],selected:[32]}],[1,"highlight-box"],[1,"vviinn-detected-object",{detectedObject:[16],basicEventData:[16],position:[32]}],[1,"vviinn-modal",{active:[1540],resetState:[16],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],hideBackButton:[4,"hide-back-button"],slider:[32]}],[1,"vviinn-onboarding-card-1"],[1,"vviinn-onboarding-card-2"],[1,"vviinn-onboarding-card-3"],[1,"vviinn-overlay"],[1,"vviinn-slide"],[1,"vviinn-slider",{showBullets:[4,"show-bullets"],position:[514],showArrows:[4,"show-arrows"],elementsCount:[32],internalPosition:[32],swipeStartPosition:[32],isRTL:[32]}]]],["p-80d38a22",[[1,"vviinn-vps-widget",{token:[1],apiPath:[1,"api-path"],active:[1028],currencySign:[1,"currency-sign"],locale:[1],campaignId:[1,"campaign-id"],showingInButton:[4,"showing-in-button"],buttonElementId:[1,"button-element-id"],buttonPressed:[4,"button-pressed"],mode:[1],resetVpsButton:[16],slidePosition:[32],width:[32],wrongImageFormat:[32],trackingDeactivated:[32]},[[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"],[0,"vviinnImageCrop","trachSearchAreaChanges"],[0,"vviinnSelectObject","trackDetectedObject"],[0,"vviinnSelectFilter","trackFilter"]]]]],["p-47b1b862",[[1,"vviinn-vps-button",{token:[1],currencySign:[1,"currency-sign"],locale:[1],campaignId:[1,"campaign-id"],addStyle:[4,"add-style"],mode:[1],apiPath:[1,"api-path"],buttonPressed:[32]},[[0,"vviinnWidgetClose","handleModalClosed"]]]]],["p-55eef9fc",[[1,"vviinn-recommendations-sidebar",{sidebarTitle:[1,"sidebar-title"],token:[1],productId:[1,"product-id"],position:[1],sourceImage:[1,"source-image"],widgetScrollbar:[4,"widget-scrollbar"],mode:[1],campaigns:[1],campaignType:[1,"campaign-type"],color:[1],imageWidth:[2,"image-width"],currencySign:[1,"currency-sign"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],apiPath:[1,"api-path"],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],showingInButton:[4,"showing-in-button"],state:[32]},[[16,"click","bodyClickListener"]]]]],["p-7d93f947",[[1,"vviinn-vpr-button",{token:[1],productId:[1,"product-id"],position:[1],sourceImage:[1,"source-image"],sidebarTitle:[1,"sidebar-title"],modalScrollbar:[4,"modal-scrollbar"],campaigns:[1],campaignType:[1,"campaign-type"],color:[1],addStyle:[4,"add-style"],mode:[1],imageWidth:[2,"image-width"],currencySign:[1,"currency-sign"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],apiPath:[1,"api-path"]}]]]],e)));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vviinn-widgets",
3
- "version": "2.20.0",
3
+ "version": "2.20.2",
4
4
  "description": "vviinn web components",
5
5
  "main": "./dist/index.cjs.js",
6
6
  "module": "./dist/index.js",
@@ -0,0 +1 @@
1
+ import{r as i,c as t,h as s,H as e,g as n}from"./p-fa17e81f.js";import{v as o}from"./p-91822e21.js";import{a as h}from"./p-c24caccd.js";import{S as a}from"./p-53eacbe3.js";import{c as r}from"./p-18fd769b.js";const d=class{constructor(s){i(this,s),this.globalSlotsChanged=t(this,"globalSlotsChanged",7),this.vviinnWidgetOpen=t(this,"vviinnWidgetOpen",7),this.vviinnImageUpload=t(this,"vviinnImageUpload",7),this.vviinnNoResult=t(this,"vviinnNoResult",7),this.vviinnWidgetLoad=t(this,"vviinnWidgetLoad",7),this.vviinnWidgetClose=t(this,"vviinnWidgetClose",7),this.vviinnProductClick=t(this,"vviinnProductClick",7),this.vviinnProductView=t(this,"vviinnProductView",7),this.vviinnProductLoad=t(this,"vviinnProductLoad",7),this.vviinnImageCrop=t(this,"vviinnImageCrop",7),this.vviinnSelectObject=t(this,"vviinnSelectObject",7),this.vviinnSelectFilter=t(this,"vviinnSelectFilter",7),this.getBasicEventData=()=>({widgetType:"VPS",campaignTypeId:"VPS",campaignTypeName:r.VPS,widgetId:this.el.id,widgetVersion:o}),this.token=void 0,this.currencySign="€",this.locale="de-DE",this.campaignId=void 0,this.addStyle=!1,this.mode="modal",this.apiPath=void 0,this.buttonPressed=!1}handleModalClosed(){this.buttonPressed=!1}componentDidLoad(){const i=this.el.querySelectorAll("[slot]");this.globalSlotsChanged.emit(Array.from(i))}handleClick(){this.buttonPressed=!0}resetButton(){this.buttonPressed=!1}render(){return s(e,{tabindex:"0",role:"button"},s("vviinn-button",{onClick:()=>{this.handleClick()},addStyle:this.addStyle,part:"vviinn-button"},s("slot",null,s(h,null))),s(a,null),s("vviinn-vps-widget",{mode:this.mode,"currency-sign":this.currencySign,token:this.token,locale:this.locale,apiPath:this.apiPath,exportparts:"brand, deeplink, currency, image, image-link, price-amount-sale, price-amount-outdated, price-amount-regular, price-container, price-outdated, price-regular, price-sale, price-prefix, title, product-card, example-images",campaignId:this.campaignId,showingInButton:!0,buttonPressed:this.buttonPressed,resetVpsButton:this.resetButton.bind(this),buttonElementId:this.el.id}))}get el(){return n(this)}};d.style=":host{display:block}";export{d as vviinn_vps_button}
@@ -1 +1 @@
1
- import{r as i,c as t,h as s,H as h,g as n}from"./p-fa17e81f.js";import{v as o}from"./p-cea6942b.js";import{V as v}from"./p-c24caccd.js";const e=class{constructor(s){i(this,s),this.vviinnWidgetLoad=t(this,"vviinnWidgetLoad",7),this.vviinnWidgetOpen=t(this,"vviinnWidgetOpen",7),this.vviinnWidgetClose=t(this,"vviinnWidgetClose",7),this.vviinnProductClick=t(this,"vviinnProductClick",7),this.vviinnProductView=t(this,"vviinnProductView",7),this.vviinnProductLoad=t(this,"vviinnProductLoad",7),this.vviinnNoResult=t(this,"vviinnNoResult",7),this.sidebar=null,this.sidebarCloseListener=()=>{document.body.removeChild(this.sidebar)},this.token=void 0,this.productId=void 0,this.position="bottom",this.sourceImage=null,this.sidebarTitle="Visually similar products",this.modalScrollbar=!1,this.campaigns="",this.campaignType="VPR",this.color=void 0,this.addStyle=!0,this.mode="continuity",this.imageWidth=300,this.currencySign="€",this.noResultText=void 0,this.noResultShow=!0,this.gridArrowsDynamic=!1,this.apiPath="https://api.vviinn.com"}render(){return s(h,{onClick:()=>{this.handleClick()},role:"button",tabindex:"0"},s("vviinn-button",{addStyle:this.addStyle,part:"vviinn-button"},s("slot",null,s(v,null))))}handleClick(){const i=document.createElement("vviinn-recommendations-sidebar");i.sidebarTitle=this.sidebarTitle,i.productId=this.productId,i.token=this.token,i.position=this.position,i.sourceImage=this.sourceImage,i.widgetScrollbar=this.modalScrollbar,i.campaigns=this.campaigns,i.campaignType=this.campaignType,i.color=this.color,i.mode="right"===this.position?"grid":this.mode,i.imageWidth=this.imageWidth,i.currencySign=this.currencySign,i.apiPath=this.apiPath,i.buttonElementId=this.el.id,i.noResultText=this.noResultText,i.noResultShow=this.noResultShow,i.gridArrowsDynamic=this.gridArrowsDynamic,i.widgetVersion=o,i.showingInButton=!0,this.sidebar=i,i.addEventListener("vviinnWidgetClose",this.sidebarCloseListener),document.body.append(this.sidebar)}disconnectedCallback(){this.sidebar&&(this.sidebar.removeEventListener("vviinnWidgetClose",this.sidebarCloseListener),document.body.removeChild(this.sidebar))}get el(){return n(this)}};e.style=":host{display:block}";export{e as vviinn_vpr_button}
1
+ import{r as i,c as t,h as s,H as h,g as n}from"./p-fa17e81f.js";import{v as o}from"./p-91822e21.js";import{V as v}from"./p-c24caccd.js";const e=class{constructor(s){i(this,s),this.vviinnWidgetLoad=t(this,"vviinnWidgetLoad",7),this.vviinnWidgetOpen=t(this,"vviinnWidgetOpen",7),this.vviinnWidgetClose=t(this,"vviinnWidgetClose",7),this.vviinnProductClick=t(this,"vviinnProductClick",7),this.vviinnProductView=t(this,"vviinnProductView",7),this.vviinnProductLoad=t(this,"vviinnProductLoad",7),this.vviinnNoResult=t(this,"vviinnNoResult",7),this.sidebar=null,this.sidebarCloseListener=()=>{document.body.removeChild(this.sidebar)},this.token=void 0,this.productId=void 0,this.position="bottom",this.sourceImage=null,this.sidebarTitle="Visually similar products",this.modalScrollbar=!1,this.campaigns="",this.campaignType="VPR",this.color=void 0,this.addStyle=!0,this.mode="continuity",this.imageWidth=300,this.currencySign="€",this.noResultText=void 0,this.noResultShow=!0,this.gridArrowsDynamic=!1,this.apiPath="https://api.vviinn.com"}render(){return s(h,{onClick:()=>{this.handleClick()},role:"button",tabindex:"0"},s("vviinn-button",{addStyle:this.addStyle,part:"vviinn-button"},s("slot",null,s(v,null))))}handleClick(){const i=document.createElement("vviinn-recommendations-sidebar");i.sidebarTitle=this.sidebarTitle,i.productId=this.productId,i.token=this.token,i.position=this.position,i.sourceImage=this.sourceImage,i.widgetScrollbar=this.modalScrollbar,i.campaigns=this.campaigns,i.campaignType=this.campaignType,i.color=this.color,i.mode="right"===this.position?"grid":this.mode,i.imageWidth=this.imageWidth,i.currencySign=this.currencySign,i.apiPath=this.apiPath,i.buttonElementId=this.el.id,i.noResultText=this.noResultText,i.noResultShow=this.noResultShow,i.gridArrowsDynamic=this.gridArrowsDynamic,i.widgetVersion=o,i.showingInButton=!0,this.sidebar=i,i.addEventListener("vviinnWidgetClose",this.sidebarCloseListener),document.body.append(this.sidebar)}disconnectedCallback(){this.sidebar&&(this.sidebar.removeEventListener("vviinnWidgetClose",this.sidebarCloseListener),document.body.removeChild(this.sidebar))}get el(){return n(this)}};e.style=":host{display:block}";export{e as vviinn_vpr_button}
@@ -1 +1 @@
1
- import{r as i,c as t,h as e,H as s,g as r}from"./p-fa17e81f.js";import{v as a}from"./p-cea6942b.js";import{i as o,s as n,a as d,O as p,l}from"./p-3abc679c.js";import{s as c,S as h}from"./p-53eacbe3.js";import{e as g,f as v,g as u,h as m,v as b,b as f,i as x}from"./p-2f7bf983.js";import{c as w}from"./p-18fd769b.js";import"./p-3b99c62d.js";var y=function(i,t){var e={};for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&t.indexOf(s)<0&&(e[s]=i[s]);if(null!=i&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(i);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(i,s[r])&&(e[s[r]]=i[s[r]])}return e};const k=i=>/^[-+]?(\d+|Infinity)$/.test(i)?Number(i):NaN,j=i=>!l(i),I=i=>!isNaN(i),_=class{constructor(e){i(this,e),this.globalSlotsChanged=t(this,"globalSlotsChanged",7),this.vviinnWidgetLoad=t(this,"vviinnWidgetLoad",7),this.vviinnWidgetOpen=t(this,"vviinnWidgetOpen",7),this.vviinnWidgetClose=t(this,"vviinnWidgetClose",7),this.vviinnProductClick=t(this,"vviinnProductClick",7),this.vviinnProductView=t(this,"vviinnProductView",7),this.vviinnProductLoad=t(this,"vviinnProductLoad",7),this.vviinnImageUpload=t(this,"vviinnImageUpload",7),this.vviinnImageCrop=t(this,"vviinnImageCrop",7),this.vviinnSelectObject=t(this,"vviinnSelectObject",7),this.vviinnSelectFilter=t(this,"vviinnSelectFilter",7),this.vviinnNoResult=t(this,"vviinnNoResult",7),this.imageSource=null,this.setTrackingDeactivated=i=>{"rejected"===i.status&&(this.trackingDeactivated=!0)},this.getBasicEventData=()=>{var i;return{widgetType:"VPS",campaignTypeId:"VPS",campaignTypeName:w.VPS,widgetId:null!==(i=this.buttonElementId)&&void 0!==i?i:this.id,widgetVersion:a}},this.token=void 0,this.apiPath="https://api.vviinn.com",this.active=!1,this.currencySign="€",this.locale="de-DE",this.campaignId=void 0,this.showingInButton=!1,this.buttonElementId=void 0,this.buttonPressed=void 0,this.mode="modal",this.resetVpsButton=void 0,this.slidePosition=0,this.width=0,this.wrongImageFormat=!1,this.trackingDeactivated=!1}componentDidLoad(){const i=this.el.querySelectorAll("[slot]");this.globalSlotsChanged.emit(Array.from(i))}activeWatcher(i){i?(this.overflow=document.body.style.overflow,document.body.style.overflow="hidden",this.trackOpenEvent()):document.body.style.overflow=this.overflow}buttonPressedWatcher(i){i&&"modal"===this.mode&&(this.active=!0,this.vviinnWidgetOpen.emit(this.getBasicEventData()))}trackProductView({detail:i}){if(this.trackingDeactivated)return;const{productRank:t,productId:e}=i,s=y(i,["productRank","productId","productName","widgetType","widgetId","campaignTypeId","campaignTypeName"]),r=g(Object.assign({session_id:this.uiSessionId,rank:t,product:e},s));this.trackingApi.trackEvent(r).then(this.setTrackingDeactivated)}async trackProductClick({detail:i}){const{productRank:t,productId:e}=i,s=y(i,["productRank","productId","productName","widgetType","widgetId","campaignTypeId","campaignTypeName"]),r=v(Object.assign({session_id:this.uiSessionId,rank:t,product:e},s));this.trackingDeactivated||await this.trackingApi.trackEvent(this.trackingDeactivated?null:r).then(this.setTrackingDeactivated);const a=o.results.find((t=>t.productId===i.productId));a&&a.deeplink&&(window.location.href=a.deeplink)}trachSearchAreaChanges(){if(this.trackingDeactivated)return;const i=u({session_id:this.uiSessionId,source:this.imageSource,search_area:"manual-selection"});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}trackDetectedObject(){if(this.trackingDeactivated)return;const i=u({session_id:this.uiSessionId,source:this.imageSource,search_area:"attention-point"});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}trackFilter({detail:i}){if(this.trackingDeactivated)return;const t=m({session_id:this.uiSessionId,source:this.imageSource,kind:"category",action:i.action});this.trackingApi.trackEvent(t).then(this.setTrackingDeactivated)}connectedCallback(){n.apiPath=this.apiPath,n.currencySign=this.currencySign,n.locale=this.locale,o.token=this.token,o.campaignId=d.pipe(this.campaignId,p.fromNullable,p.chain(p.fromPredicate(j)),p.map(k),p.chain(p.fromPredicate(I)),p.map((i=>`${i}`))),this.uiSessionId=b(),this.trackingApi=f(this.apiPath,this.token),this.id=this.el.id}componentWillLoad(){c(this,this.el),this.vviinnWidgetLoad.emit(this.getBasicEventData())}trackOpenEvent(){if(this.trackingDeactivated)return;const i=x({action:"open",session_id:this.uiSessionId});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}handleImageSelection(i){this.imageSource=i,this.slidePosition=1,this.el.shadowRoot.querySelector("vviinn-overlayed-modal").shadowRoot.querySelector("vviinn-overlay").querySelector("vviinn-modal").shadowRoot.querySelector(".body").scrollTop=0,this.trackInitialSearch()}trackInitialSearch(){if(this.trackingDeactivated)return;const i=u({session_id:this.uiSessionId,source:this.imageSource,search_area:"full"});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}resetState(){this.resetScroll("onboarding-block"),this.slidePosition=0,o.image=p.none,o.imageUrl=p.none,o.imageBounds=p.none,o.searchArea=p.none,o.results=[],o.filters=[],o.detectedObjects=[],o.activeIonLink=void 0,o.rectangleSearchForm=void 0,o.loading=!1,this.resetScroll("results-block")}haveErrors(){return this.wrongImageFormat||o.serverError}resetScroll(i,t="auto"){this.el.shadowRoot.getElementById(i).scroll({top:0,left:0,behavior:t})}handleModalClose(){if(this.active=!1,this.resetState(),["onboarding-block","results-block"].forEach((i=>this.resetScroll(i))),this.trackingDeactivated)return;const i=x({action:"close",session_id:this.uiSessionId});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}render(){var i;return e(s,null,!this.showingInButton&&e(h,null),e("vviinn-overlayed-modal",{class:{"first-screen":0===this.slidePosition},active:this.active,resetState:this.resetState.bind(this),onVviinnWidgetClose:()=>this.handleModalClose(),buttonElementId:null!==(i=this.buttonElementId)&&void 0!==i?i:this.id,widgetVersion:a,hideBackButton:"upload"===this.mode,exportparts:"secondary-action, title, close-button, example-images"},e("vviinn-slider",{showBullets:!1,position:this.slidePosition},e("vviinn-slide",{class:{"start-page":!0}},e("div",{class:{error:this.haveErrors(),"start-page_block":!0}},e("vviinn-wrong-format",{class:{hidden:!this.wrongImageFormat},handler:()=>this.wrongImageFormat=!1}),e("vviinn-server-error",{class:{hidden:!o.serverError},handler:()=>o.serverError=!1}),e("vviinn-teaser",{class:{hidden:this.haveErrors()}}),e("vviinn-image-selector",{class:{hidden:this.haveErrors()},onVviinnImageUpload:()=>{this.active=!0,this.handleImageSelection("upload"),"upload"===this.mode&&this.vviinnWidgetOpen.emit(this.getBasicEventData())},onVviinnNoResult:()=>this.wrongImageFormat=!0,resetVpsButton:this.resetVpsButton,basicEventData:this.getBasicEventData(),part:"select-image_button",startUpload:this.buttonPressed&&this.showingInButton&&"upload"===this.mode},e("span",{slot:"upload-button-text",class:"upload-button-content"},e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"29",height:"28",fill:"none"},e("defs",null),e("path",{fill:"#fff","fill-rule":"evenodd",d:"M10.271 3.89A.875.875 0 0111 3.5h7c.293 0 .566.146.728.39l1.49 2.235h3.033a2.625 2.625 0 012.625 2.625V21a2.625 2.625 0 01-2.625 2.625H5.75A2.625 2.625 0 013.125 21V8.75A2.625 2.625 0 015.75 6.125h3.031l1.49-2.235zm1.197 1.36l-1.49 2.235a.875.875 0 01-.729.39H5.75a.875.875 0 00-.875.875V21a.875.875 0 00.875.875h17.5a.875.875 0 00.875-.875V8.75a.875.875 0 00-.875-.875h-3.5a.875.875 0 01-.729-.39l-1.49-2.235h-6.063z","clip-rule":"evenodd"}),e("path",{fill:"#fff","fill-rule":"evenodd",d:"M14.5 11.375a3.062 3.062 0 100 6.125 3.062 3.062 0 000-6.125zm-4.813 3.063a4.812 4.812 0 119.625 0 4.812 4.812 0 01-9.625 0z","clip-rule":"evenodd"})),e("slot",{name:"vviinn-image-upload-button-text"},e("span",null,"Kamera oder Bild auswählen")))),e("vviinn-privacy-badge",{class:{hidden:this.haveErrors()}})),e("div",{id:"onboarding-block",class:"start-page_block"},e("div",{class:"onboarding-wrapper"},e("vviinn-onboarding",null),e("vviinn-example-images",{part:"example-images",onVviinnImageUpload:()=>this.handleImageSelection("example"),onVviinnNoResult:()=>this.resetScroll("onboarding-block","smooth"),basicEventData:this.getBasicEventData()})))),e("vviinn-slide",{class:{"results-page":!0,active:1==this.slidePosition}},e("div",{class:"image-wrapper"},e("vviinn-image-view",{basicEventData:this.getBasicEventData()}),e("div",{class:"filters-wrapper"},e("div",{class:"filters"},o.filters.map((i=>e("search-filters",{filter:i,basicEventData:this.getBasicEventData()})))))),e("div",{id:"results-block",class:"products-wrapper"},e("div",{class:{"nothing-found":!0,hidden:o.results.length>0}},e("vviinn-empty-results",null),e("vviinn-onboarding",null)),e("div",{class:{hidden:o.results.length<=0,products:!0}},o.results.map(((i,t)=>{var s;return e("vviinn-product-card",{key:i.productId,hidden:!0,productTitle:i.title,productId:i.productId,brand:i.brand,deeplink:i.deeplink,price:i.price.actual,salePrice:i.price.sale,imageWidth:160,image:null!==(s=i.image.thumbnail)&&void 0!==s?s:i.image.original,part:"product-card",campaignTypeId:"VPS",index:t,widgetElementId:this.id,buttonElementId:this.buttonElementId,widgetVersion:a})}))))))))}get el(){return r(this)}static get watchers(){return{active:["activeWatcher"],buttonPressed:["buttonPressedWatcher"]}}};_.style=":host{--color-primary-system:#0F62FE;--color-primary-hover-system:#014CDA;--color-icons-system:#2F8EDF;--spacer:8px}:host{display:block}.hidden{visibility:hidden;height:1px}vviinn-overlayed-modal.first-screen::part(title),vviinn-overlayed-modal.first-screen::part(secondary-action){visibility:hidden}.start-page{display:grid;grid-template-columns:repeat(2, 1fr);min-height:580px}.start-page_block{align-content:start;border-right:1px solid #f4f4f4;display:grid;padding:48px}.start-page_block.error{align-content:center}#onboarding-block{border-right:unset;box-sizing:border-box;grid-gap:24px;overflow-y:auto;position:relative;width:100%}vviinn-teaser{margin-bottom:32px;margin-top:-24px}vviinn-image-selector{align-items:center;background:var(--color-primary, var(--color-primary-system));border-color:var(--color-primary, var(--color-primary-system));border-radius:2px;color:white;display:grid;font-size:16px;font-weight:600;height:56px;justify-items:center;margin-bottom:16px;transition:background 0.1s ease-in-out}vviinn-image-selector:hover{background:var(--color-primary-hover, var(--color-primary-hover-system));border-color:var(--color-primary-hover, var(--color-primary-hover-system))}vviinn-image-selector:active{border-color:black}.upload-button-content{display:grid;align-items:center;justify-items:start;justify-content:center;grid-template-columns:max-content auto;grid-gap:16px}.results-page{display:grid;grid-template-columns:336px auto;box-sizing:border-box}.results-page>*{padding:24px;box-sizing:border-box}.products{align-content:center;align-items:start;box-sizing:border-box;display:grid;grid-gap:32px 16px;grid-template-columns:repeat(auto-fill, minmax(152px, 1fr));justify-items:center;padding:24px;padding-right:0;position:absolute;width:calc(100% - 16px)}.products.hidden{display:none}vviinn-empty-results{width:280px;align-self:center;justify-self:center}.products-wrapper{display:grid;overflow-y:auto;overflow-x:hidden;padding:unset;position:relative;width:100%}.image-wrapper{border-right:1px solid #f4f4f4;display:grid;grid-template-rows:min-content 170px;grid-gap:24px;min-width:100%}.onboarding-wrapper{position:absolute;width:100%;padding:48px;box-sizing:border-box;display:grid;grid-gap:64px;padding-bottom:24px}vviinn-product-card{gap:0;width:100%}vviinn-product-card::part(image){border:1px solid #eaeaea;margin-bottom:8px}vviinn-product-card::part(price-container),vviinn-product-card::part(deeplink),vviinn-product-card::part(title){align-self:start}search-filters span{display:none}search-filters::part(filter){background:#f4f4f4;border-radius:4px;border:1px solid #f4f4f4;box-sizing:border-box;color:#161616;font-size:14px;font-weight:600;line-height:20px}search-filters::part(show-more-filters){border:1px solid #f4f4f4;border-radius:4px;box-sizing:border-box;color:#161616;font-size:14px;font-weight:600;line-height:20px;padding:6px 16px}search-filters::part(show-more-filters):hover{background:#eaeaea}search-filters::part(filter):hover{background:#eaeaea}search-filters::part(filter):focus{outline:none;border:1px solid var(--color-primary, var(--color-primary-system))}search-filters::part(filter active){background:rgba(15, 98, 254, 0.15);color:var(--color-primary, var(--color-primary-system))}.filters-wrapper{overflow:auto}.results-page:not(.active){display:none}.nothing-found{display:grid;grid-gap:64px;justify-self:center;padding-top:64px;padding-bottom:16px;position:absolute;width:60%}@media (max-width: 768px){.start-page_block{padding:24px}.onboarding-wrapper{padding:24px}}@media (max-width: 640px){.start-page{grid-template-rows:min-content;grid-template-columns:unset;grid-gap:48px;padding:24px 0 48px 0}}@media (max-width: 640px) and (min-width: 415px){.onboarding-wrapper{position:unset}#onboarding-block{overflow:unset}.start-page.active{height:1px;overflow:auto}}@media (max-width: 415px){.results-page>*{box-sizing:border-box;padding:24px}vviinn-slide{padding-bottom:48px}.start-page_block:last-of-type{border-right:unset;overflow-y:unset;position:static;box-sizing:border-box;width:unset}.start-page_block{padding:0 24px}vviinn-teaser{margin-top:24px}.onboarding-wrapper{position:static;width:unset;padding:unset;box-sizing:border-box}.results-page{grid-template-columns:unset;grid-template-rows:min-content auto}.image{margin-bottom:8px}.image-wrapper{grid-template-rows:min-content auto;width:100%}.products-wrapper{align-content:start;position:static;overflow-y:unset;width:100%;padding-top:0}.products{position:static;padding:0;width:unset;grid-gap:32px 16px;justify-content:center}.nothing-found{position:static;grid-gap:64px;padding:unset;align-content:start;width:unset}}@media (max-width: 320px){.products{grid-template-columns:unset}}vviinn-wrong-format,vviinn-server-error{width:280px;align-self:center;justify-self:center}";export{_ as vviinn_vps_widget}
1
+ import{r as i,c as t,h as e,H as s,g as r}from"./p-fa17e81f.js";import{v as a}from"./p-91822e21.js";import{i as o,s as n,a as d,O as p,l}from"./p-3abc679c.js";import{s as c,S as h}from"./p-53eacbe3.js";import{e as g,f as v,g as u,h as m,v as b,b as f,i as x}from"./p-2f7bf983.js";import{c as w}from"./p-18fd769b.js";import"./p-3b99c62d.js";var y=function(i,t){var e={};for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&t.indexOf(s)<0&&(e[s]=i[s]);if(null!=i&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(i);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(i,s[r])&&(e[s[r]]=i[s[r]])}return e};const k=i=>/^[-+]?(\d+|Infinity)$/.test(i)?Number(i):NaN,j=i=>!l(i),I=i=>!isNaN(i),_=class{constructor(e){i(this,e),this.globalSlotsChanged=t(this,"globalSlotsChanged",7),this.vviinnWidgetLoad=t(this,"vviinnWidgetLoad",7),this.vviinnWidgetOpen=t(this,"vviinnWidgetOpen",7),this.vviinnWidgetClose=t(this,"vviinnWidgetClose",7),this.vviinnProductClick=t(this,"vviinnProductClick",7),this.vviinnProductView=t(this,"vviinnProductView",7),this.vviinnProductLoad=t(this,"vviinnProductLoad",7),this.vviinnImageUpload=t(this,"vviinnImageUpload",7),this.vviinnImageCrop=t(this,"vviinnImageCrop",7),this.vviinnSelectObject=t(this,"vviinnSelectObject",7),this.vviinnSelectFilter=t(this,"vviinnSelectFilter",7),this.vviinnNoResult=t(this,"vviinnNoResult",7),this.imageSource=null,this.setTrackingDeactivated=i=>{"rejected"===i.status&&(this.trackingDeactivated=!0)},this.getBasicEventData=()=>{var i;return{widgetType:"VPS",campaignTypeId:"VPS",campaignTypeName:w.VPS,widgetId:null!==(i=this.buttonElementId)&&void 0!==i?i:this.id,widgetVersion:a}},this.token=void 0,this.apiPath="https://api.vviinn.com",this.active=!1,this.currencySign="€",this.locale="de-DE",this.campaignId=void 0,this.showingInButton=!1,this.buttonElementId=void 0,this.buttonPressed=void 0,this.mode="modal",this.resetVpsButton=void 0,this.slidePosition=0,this.width=0,this.wrongImageFormat=!1,this.trackingDeactivated=!1}componentDidLoad(){const i=this.el.querySelectorAll("[slot]");this.globalSlotsChanged.emit(Array.from(i))}activeWatcher(i){i?(this.overflow=document.body.style.overflow,document.body.style.overflow="hidden",this.trackOpenEvent()):document.body.style.overflow=this.overflow}buttonPressedWatcher(i){i&&"modal"===this.mode&&(this.active=!0,this.vviinnWidgetOpen.emit(this.getBasicEventData()))}trackProductView({detail:i}){if(this.trackingDeactivated)return;const{productRank:t,productId:e}=i,s=y(i,["productRank","productId","productName","widgetType","widgetId","campaignTypeId","campaignTypeName"]),r=g(Object.assign({session_id:this.uiSessionId,rank:t,product:e},s));this.trackingApi.trackEvent(r).then(this.setTrackingDeactivated)}async trackProductClick({detail:i}){const{productRank:t,productId:e}=i,s=y(i,["productRank","productId","productName","widgetType","widgetId","campaignTypeId","campaignTypeName"]),r=v(Object.assign({session_id:this.uiSessionId,rank:t,product:e},s));this.trackingDeactivated||await this.trackingApi.trackEvent(this.trackingDeactivated?null:r).then(this.setTrackingDeactivated);const a=o.results.find((t=>t.productId===i.productId));a&&a.deeplink&&(window.location.href=a.deeplink)}trachSearchAreaChanges(){if(this.trackingDeactivated)return;const i=u({session_id:this.uiSessionId,source:this.imageSource,search_area:"manual-selection"});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}trackDetectedObject(){if(this.trackingDeactivated)return;const i=u({session_id:this.uiSessionId,source:this.imageSource,search_area:"attention-point"});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}trackFilter({detail:i}){if(this.trackingDeactivated)return;const t=m({session_id:this.uiSessionId,source:this.imageSource,kind:"category",action:i.action});this.trackingApi.trackEvent(t).then(this.setTrackingDeactivated)}connectedCallback(){n.apiPath=this.apiPath,n.currencySign=this.currencySign,n.locale=this.locale,o.token=this.token,o.campaignId=d.pipe(this.campaignId,p.fromNullable,p.chain(p.fromPredicate(j)),p.map(k),p.chain(p.fromPredicate(I)),p.map((i=>`${i}`))),this.uiSessionId=b(),this.trackingApi=f(this.apiPath,this.token),this.id=this.el.id}componentWillLoad(){c(this,this.el),this.vviinnWidgetLoad.emit(this.getBasicEventData())}trackOpenEvent(){if(this.trackingDeactivated)return;const i=x({action:"open",session_id:this.uiSessionId});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}handleImageSelection(i){this.imageSource=i,this.slidePosition=1,this.el.shadowRoot.querySelector("vviinn-overlayed-modal").shadowRoot.querySelector("vviinn-overlay").querySelector("vviinn-modal").shadowRoot.querySelector(".body").scrollTop=0,this.trackInitialSearch()}trackInitialSearch(){if(this.trackingDeactivated)return;const i=u({session_id:this.uiSessionId,source:this.imageSource,search_area:"full"});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}resetState(){this.resetScroll("onboarding-block"),this.slidePosition=0,o.image=p.none,o.imageUrl=p.none,o.imageBounds=p.none,o.searchArea=p.none,o.results=[],o.filters=[],o.detectedObjects=[],o.activeIonLink=void 0,o.rectangleSearchForm=void 0,o.loading=!1,this.resetScroll("results-block")}haveErrors(){return this.wrongImageFormat||o.serverError}resetScroll(i,t="auto"){this.el.shadowRoot.getElementById(i).scroll({top:0,left:0,behavior:t})}handleModalClose(){if(this.active=!1,this.resetState(),["onboarding-block","results-block"].forEach((i=>this.resetScroll(i))),this.trackingDeactivated)return;const i=x({action:"close",session_id:this.uiSessionId});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}render(){var i;return e(s,null,!this.showingInButton&&e(h,null),e("vviinn-overlayed-modal",{class:{"first-screen":0===this.slidePosition},active:this.active,resetState:this.resetState.bind(this),onVviinnWidgetClose:()=>this.handleModalClose(),buttonElementId:null!==(i=this.buttonElementId)&&void 0!==i?i:this.id,widgetVersion:a,hideBackButton:"upload"===this.mode,exportparts:"secondary-action, title, close-button, example-images"},e("vviinn-slider",{showBullets:!1,position:this.slidePosition},e("vviinn-slide",{class:{"start-page":!0}},e("div",{class:{error:this.haveErrors(),"start-page_block":!0}},e("vviinn-wrong-format",{class:{hidden:!this.wrongImageFormat},handler:()=>this.wrongImageFormat=!1}),e("vviinn-server-error",{class:{hidden:!o.serverError},handler:()=>o.serverError=!1}),e("vviinn-teaser",{class:{hidden:this.haveErrors()}}),e("vviinn-image-selector",{class:{hidden:this.haveErrors()},onVviinnImageUpload:()=>{this.active=!0,this.handleImageSelection("upload"),"upload"===this.mode&&this.vviinnWidgetOpen.emit(this.getBasicEventData())},onVviinnNoResult:()=>this.wrongImageFormat=!0,resetVpsButton:this.resetVpsButton,basicEventData:this.getBasicEventData(),part:"select-image_button",startUpload:this.buttonPressed&&this.showingInButton&&"upload"===this.mode},e("span",{slot:"upload-button-text",class:"upload-button-content"},e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"29",height:"28",fill:"none"},e("defs",null),e("path",{fill:"#fff","fill-rule":"evenodd",d:"M10.271 3.89A.875.875 0 0111 3.5h7c.293 0 .566.146.728.39l1.49 2.235h3.033a2.625 2.625 0 012.625 2.625V21a2.625 2.625 0 01-2.625 2.625H5.75A2.625 2.625 0 013.125 21V8.75A2.625 2.625 0 015.75 6.125h3.031l1.49-2.235zm1.197 1.36l-1.49 2.235a.875.875 0 01-.729.39H5.75a.875.875 0 00-.875.875V21a.875.875 0 00.875.875h17.5a.875.875 0 00.875-.875V8.75a.875.875 0 00-.875-.875h-3.5a.875.875 0 01-.729-.39l-1.49-2.235h-6.063z","clip-rule":"evenodd"}),e("path",{fill:"#fff","fill-rule":"evenodd",d:"M14.5 11.375a3.062 3.062 0 100 6.125 3.062 3.062 0 000-6.125zm-4.813 3.063a4.812 4.812 0 119.625 0 4.812 4.812 0 01-9.625 0z","clip-rule":"evenodd"})),e("slot",{name:"vviinn-image-upload-button-text"},e("span",null,"Kamera oder Bild auswählen")))),e("vviinn-privacy-badge",{class:{hidden:this.haveErrors()}})),e("div",{id:"onboarding-block",class:"start-page_block"},e("div",{class:"onboarding-wrapper"},e("vviinn-onboarding",null),e("vviinn-example-images",{part:"example-images",onVviinnImageUpload:()=>this.handleImageSelection("example"),onVviinnNoResult:()=>this.resetScroll("onboarding-block","smooth"),basicEventData:this.getBasicEventData()})))),e("vviinn-slide",{class:{"results-page":!0,active:1==this.slidePosition}},e("div",{class:"image-wrapper"},e("vviinn-image-view",{basicEventData:this.getBasicEventData()}),e("div",{class:"filters-wrapper"},e("div",{class:"filters"},o.filters.map((i=>e("search-filters",{filter:i,basicEventData:this.getBasicEventData()})))))),e("div",{id:"results-block",class:"products-wrapper"},e("div",{class:{"nothing-found":!0,hidden:o.results.length>0}},e("vviinn-empty-results",null),e("vviinn-onboarding",null)),e("div",{class:{hidden:o.results.length<=0,products:!0}},o.results.map(((i,t)=>{var s;return e("vviinn-product-card",{key:i.productId,hidden:!0,productTitle:i.title,productId:i.productId,brand:i.brand,deeplink:i.deeplink,price:i.price.actual,salePrice:i.price.sale,imageWidth:160,image:null!==(s=i.image.thumbnail)&&void 0!==s?s:i.image.original,part:"product-card",campaignTypeId:"VPS",index:t,widgetElementId:this.id,buttonElementId:this.buttonElementId,widgetVersion:a})}))))))))}get el(){return r(this)}static get watchers(){return{active:["activeWatcher"],buttonPressed:["buttonPressedWatcher"]}}};_.style=":host{--color-primary-system:#0F62FE;--color-primary-hover-system:#014CDA;--color-icons-system:#2F8EDF;--spacer:8px}:host{display:block}.hidden{visibility:hidden;height:1px}vviinn-overlayed-modal.first-screen::part(title),vviinn-overlayed-modal.first-screen::part(secondary-action){visibility:hidden}.start-page{display:grid;grid-template-columns:repeat(2, 1fr);min-height:580px}.start-page_block{align-content:start;border-right:1px solid #f4f4f4;display:grid;padding:48px}.start-page_block.error{align-content:center}#onboarding-block{border-right:unset;box-sizing:border-box;grid-gap:24px;overflow-y:auto;position:relative;width:100%}vviinn-teaser{margin-bottom:32px;margin-top:-24px}vviinn-image-selector{align-items:center;background:var(--color-primary, var(--color-primary-system));border-color:var(--color-primary, var(--color-primary-system));border-radius:2px;color:white;display:grid;font-size:16px;font-weight:600;height:56px;justify-items:center;margin-bottom:16px;transition:background 0.1s ease-in-out}vviinn-image-selector:hover{background:var(--color-primary-hover, var(--color-primary-hover-system));border-color:var(--color-primary-hover, var(--color-primary-hover-system))}vviinn-image-selector:active{border-color:black}.upload-button-content{display:grid;align-items:center;justify-items:start;justify-content:center;grid-template-columns:max-content auto;grid-gap:16px}.results-page{display:grid;grid-template-columns:336px auto;box-sizing:border-box}.results-page>*{padding:24px;box-sizing:border-box}.products{align-content:center;align-items:start;box-sizing:border-box;display:grid;grid-gap:32px 16px;grid-template-columns:repeat(auto-fill, minmax(152px, 1fr));justify-items:center;padding:24px;padding-right:0;position:absolute;width:calc(100% - 16px)}.products.hidden{display:none}vviinn-empty-results{width:280px;align-self:center;justify-self:center}.products-wrapper{display:grid;overflow-y:auto;overflow-x:hidden;padding:unset;position:relative;width:100%}.image-wrapper{border-right:1px solid #f4f4f4;display:grid;grid-template-rows:min-content 170px;grid-gap:24px;min-width:100%}.onboarding-wrapper{position:absolute;width:100%;padding:48px;box-sizing:border-box;display:grid;grid-gap:64px;padding-bottom:24px}vviinn-product-card{gap:0;width:100%}vviinn-product-card::part(image){border:1px solid #eaeaea;margin-bottom:8px}vviinn-product-card::part(price-container),vviinn-product-card::part(deeplink),vviinn-product-card::part(title){align-self:start}search-filters span{display:none}search-filters::part(filter){background:#f4f4f4;border-radius:4px;border:1px solid #f4f4f4;box-sizing:border-box;color:#161616;font-size:14px;font-weight:600;line-height:20px}search-filters::part(show-more-filters){border:1px solid #f4f4f4;border-radius:4px;box-sizing:border-box;color:#161616;font-size:14px;font-weight:600;line-height:20px;padding:6px 16px}search-filters::part(show-more-filters):hover{background:#eaeaea}search-filters::part(filter):hover{background:#eaeaea}search-filters::part(filter):focus{outline:none;border:1px solid var(--color-primary, var(--color-primary-system))}search-filters::part(filter active){background:rgba(15, 98, 254, 0.15);color:var(--color-primary, var(--color-primary-system))}.filters-wrapper{overflow:auto}.results-page:not(.active){display:none}.nothing-found{display:grid;grid-gap:64px;justify-self:center;padding-top:64px;padding-bottom:16px;position:absolute;width:60%}@media (max-width: 768px){.start-page_block{padding:24px}.onboarding-wrapper{padding:24px}}@media (max-width: 640px){.start-page{grid-template-rows:min-content;grid-template-columns:unset;grid-gap:48px;padding:24px 0 48px 0}}@media (max-width: 640px) and (min-width: 415px){.onboarding-wrapper{position:unset}#onboarding-block{overflow:unset}.start-page.active{height:1px;overflow:auto}}@media (max-width: 415px){.results-page>*{box-sizing:border-box;padding:24px}vviinn-slide{padding-bottom:48px}.start-page_block:last-of-type{border-right:unset;overflow-y:unset;position:static;box-sizing:border-box;width:unset}.start-page_block{padding:0 24px}vviinn-teaser{margin-top:24px}.onboarding-wrapper{position:static;width:unset;padding:unset;box-sizing:border-box}.results-page{grid-template-columns:unset;grid-template-rows:min-content auto}.image{margin-bottom:8px}.image-wrapper{grid-template-rows:min-content auto;width:100%}.products-wrapper{align-content:start;position:static;overflow-y:unset;width:100%;padding-top:0}.products{position:static;padding:0;width:unset;grid-gap:32px 16px;justify-content:center}.nothing-found{position:static;grid-gap:64px;padding:unset;align-content:start;width:unset}}@media (max-width: 320px){.products{grid-template-columns:unset}}vviinn-wrong-format,vviinn-server-error{width:280px;align-self:center;justify-self:center}";export{_ as vviinn_vps_widget}
@@ -0,0 +1 @@
1
+ const o="2.20.2";export{o as v}
@@ -0,0 +1 @@
1
+ :host{--color-primary-system:#0F62FE;--color-primary-hover-system:#014CDA;--color-icons-system:#2F8EDF;--spacer:8px}
@@ -1 +1 @@
1
- import{r as t,h as i,H as e,g as s,c as r,F as n}from"./p-fa17e81f.js";import{_ as o,O as a,S as c,a as h,E as d,i as l,s as u,c as p,m as v,f as g,g as m,b as f,A as b,d as y,e as w,T as x,h as k}from"./p-3abc679c.js";import{C}from"./p-c24caccd.js";import{c as I,f as P,a as _}from"./p-18fd769b.js";import{v as R}from"./p-cea6942b.js";import{h as T,t as S,p as V}from"./p-3b99c62d.js";import{c as j,a as $,v as E,b as A,d as N}from"./p-2f7bf983.js";const O="--vviinn-carousel-image-width",z="items-group",L=class{constructor(i){t(this,i),this.columns=0,this.resizeObserver=new ResizeObserver((()=>this.handleResize())),this.mutationObserver=new MutationObserver((()=>this.cloneSlottedContent())),this.isLastGroup=()=>this.activeContentGroup===this.getContentGroups().length-1&&"grid"===this.mode,this.isFirstGroup=()=>0===this.activeContentGroup&&"grid"===this.mode,this.moveDirection="right",this.contentGroups=[],this.activeContentGroup=0,this.isRTL=!1,this.mode="continuity",this.imageWidth=140,this.showScroll=!0,this.campaignTypeId=void 0,this.widgetElementId=void 0,this.gridArrowsDynamic=void 0,this.recommendations=[],this.widgetVersion=void 0}componentWillLoad(){this.isRTL="rtl"===document.dir}connectedCallback(){this.setItemWidth()}disconnectedCallback(){this.resizeObserver.disconnect()}componentDidLoad(){this.setWidth(),this.processScrollbarWidth(),this.columns=this.getColumnsNumber();const t=this.el.querySelector(".content");this.mutationObserver.observe(t,{subtree:!0,childList:!0}),this.resizeObserver.observe(this.getHostParent())}getItemWidthFromDocument(){return parseInt(getComputedStyle(document.body).getPropertyValue(O))}setItemWidth(){const t=this.getItemWidthFromDocument(),i=isNaN(t)?this.imageWidth:t;this.el.style.setProperty(O,`${i}px`)}getContentClassMap(){return{content:!0,[this.moveDirection]:!0,[this.mode]:!0,"show-scrollbar":this.showScroll}}handleResize(){this.setWidth(),this.processScrollbarWidth(),this.setItemWidth();const t=this.getColumnsNumber();t!==this.columns&&(this.columns=t)}calculateMoveStep(){const t=this.getContent().map((t=>t.getBoundingClientRect().width));return t.reduce(((t,i)=>t+i),0)/t.length}getHostParent(){return this.el.parentNode.host.parentElement}setWidth(){const t=this.getHostParent();if(!t)return;const i=getComputedStyle(t),e=t.getBoundingClientRect().width-(parseInt(i["padding-right"])+parseInt(i["padding-left"]));this.el.style.setProperty("--vviinn-carousel-content-width",`${e}px`)}getParent(){return this.el.parentNode.host.parentElement}cloneSlottedContent(){this.setWidth()}getActiveGroupIndex(){var t,i;if(!(null===(i=null===(t=this.getContentNode())||void 0===t?void 0:t.getBoundingClientRect())||void 0===i?void 0:i.left))return 0;const e=this.getContentGroups().map((t=>t.getBoundingClientRect().left)).map(((t,i)=>[t,i])).filter((t=>t[0]>=0));return e.length>0?this.isRTL?e[e.length-1][1]:e[0][1]:0}getContentNode(){return this.el.querySelector(".content")}getContent(){const t=this.getContentNode().children;return Array.from(t).map((t=>t))}getColumnsNumber(){const t=getComputedStyle(this.el).getPropertyValue("--vviinn-carousel-columns-internal"),i=parseInt(t);return i&&!isNaN(i)?i:4}getContentGroups(){return Array.from(this.el.querySelectorAll(`.${z}`))}showNext(){this.moveDirection="right";const t=this.getContentNode();requestAnimationFrame((()=>{t.scrollTo({top:0,left:t.scrollLeft+this.calculateMoveStep(),behavior:"smooth"})}))}showPrev(){this.moveDirection="left";const t=this.getContentNode();requestAnimationFrame((()=>{t.scrollTo({top:0,left:t.scrollLeft-this.calculateMoveStep(),behavior:"smooth"})}))}scroll(t){const i=this.getContentNode();requestAnimationFrame((()=>{i.scrollTo({top:0,left:this.calculateMoveStep()*t,behavior:"smooth"})}))}processScrollbarWidth(){const t=this.getContentNode();t&&(this.el.style.setProperty("--vviinn-progressbar-width",t.clientWidth*((t.scrollLeft+t.clientWidth)/t.scrollWidth)+"px"),this.activeContentGroup=this.getActiveGroupIndex())}showBullets(){return"grid"===this.mode&&this.showScroll}showScrollbar(){return"continuity"===this.mode&&this.showScroll}getClassMap(){return{[this.mode]:!0,"show-scrollbar":this.showScrollbar()}}renderRecommendation(t,e){return i("vviinn-product-card",{part:"product-part",productId:t.productId,productTitle:t.title,deeplink:t.deeplink,image:t.image.thumbnail,brand:t.brand,imageWidth:this.imageWidth,imageRatio:1,price:t.price.actual,salePrice:t.price.sale,responsive:"grid"===this.mode,dimmedBackground:"continuity"===this.mode,campaignTypeId:this.campaignTypeId,index:e,widgetElementId:this.widgetElementId,widgetVersion:this.widgetVersion})}renderRecommendationGroup(t){return i("div",{class:z,part:"items-group"},...t)}renderRecommendationGroups(t){return t.map((t=>this.renderRecommendationGroup(t)))}renderRecommendations(){return"grid"===this.mode?this.renderGrid():this.renderRecommendationsElements()}renderRecommendationsElements(){return this.recommendations.map(((t,i)=>this.renderRecommendation(t,i)))}renderGrid(){const t=this.renderRecommendationsElements(),i=o.chunksOf(this.getColumnsNumber())(t);return this.renderRecommendationGroups(i)}renderBullets(){const t=Math.ceil(this.recommendations.length/this.getColumnsNumber());return Array.from(Array(t).keys()).map((t=>i("div",{class:{bullet:!0,active:this.activeContentGroup===t},onClick:()=>this.scroll(t)})))}render(){return i(e,{class:this.getClassMap()},i("div",{class:Object.assign({body:!0},this.getClassMap())},i("button",{class:"prev",onClick:()=>this.showPrev(),part:"carousel-button",disabled:this.gridArrowsDynamic&&this.isFirstGroup()},i(C,null)),i("div",{class:this.getContentClassMap(),onScroll:()=>this.processScrollbarWidth()},this.renderRecommendations()),i("button",{class:"next",onClick:()=>this.showNext(),part:"carousel-button",disabled:this.gridArrowsDynamic&&this.isLastGroup()},i(C,null))),this.showBullets()&&i("div",{class:"bullets"},this.renderBullets()))}get el(){return s(this)}};L.style=":host{--vviinn-progressbar-width:0;--vviinn-carousel-item-width:150px;--vviinn-carousel-columns-internal:var(--vviinn-carousel-columns, 4);--vviinn-carousel-image-width-system:140px}.body{display:flex;position:relative;width:var(--vviinn-carousel-content-width);flex-direction:column}.content-wrapper *{box-sizing:border-box}.content-wrapper{overflow-y:hidden;overflow-x:auto;flex-grow:1}.bullets{margin-top:16px;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:not(.show-scrollbar),.content.grid{scrollbar-color:#fff0 #fff0}.content:not(.show-scrollbar)::-webkit-scrollbar,.content.grid::-webkit-scrollbar{opacity:0}.content{display:flex;flex-direction:row;grid-gap:8px;scroll-snap-type:x mandatory;overflow-y:hidden;overflow-x:auto;flex-grow:1;padding-bottom:16px}.content.left>*{scroll-snap-align:start}.content.right>*{scroll-snap-align:end}:host(.continuity) button{border-radius:2px}:host(.grid) button{border-radius:50%}button{align-items:center;background-color:white;border:none;box-shadow:0px 2px 6px rgba(0, 0, 0, 0.15);cursor:pointer;display:grid;height:40px;justify-items:center;position:absolute;top:calc(50% - 20px);width:40px;z-index:1;padding:0;margin:0}button{fill:#525252}button:disabled{display:none}button.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-internal), 1fr);min-width:100%}vviinn-product-card::part(price-container){text-align:center}:host(.classic) vviinn-product-card::part(title),:host(.classic) vviinn-product-card::part(brand),:host(.classic) vviinn-product-card::part(type){text-align:center}@media (max-width: 480px){:host(.modern) button{display:none}.items-group{grid-template-columns:repeat(2, 1fr)}}";class W{sendImpression(t){var i,e,s;gtag("event","view_item_list",{items:[{id:t.productId,name:t.title,brand:null!==(i=t.brand)&&void 0!==i?i:"",category:null!==(e=t.productType)&&void 0!==e?e:"",list_name:"VI VPR View",price:Math.min(t.price.actual,null!==(s=t.price.sale)&&void 0!==s?s:1/0)}]})}sendClick(t){var i,e,s;gtag("event","select_content",{content_type:"product",items:[{id:t.productId,name:t.title,brand:null!==(i=t.brand)&&void 0!==i?i:"",category:null!==(e=t.productType)&&void 0!==e?e:"",list_name:"VI VPR View",price:Math.min(t.price.actual,null!==(s=t.price.sale)&&void 0!==s?s:1/0)}]})}}class D{constructor(){ga("require","ec")}convertProduct(t){var i,e,s;return{id:t.productId,name:t.title,brand:null!==(i=t.brand)&&void 0!==i?i:"",category:null!==(e=t.productType)&&void 0!==e?e:"",list:"VI VPR View",price:Math.min(t.price.actual,null!==(s=t.price.sale)&&void 0!==s?s:1/0)}}sendImpression(t){ga("ec:addImpression",this.convertProduct(t))}sendClick(t){var i,e,s;ga("ec:addProduct",{id:t.productId,name:t.title,brand:null!==(i=t.brand)&&void 0!==i?i:"",category:null!==(e=t.productType)&&void 0!==e?e:"",price:Math.min(t.price.actual,null!==(s=t.price.sale)&&void 0!==s?s:1/0)}),ga("ec:setAction","click",{list:"VI VPR View"})}}const M=a.getMonoid(c.first()).concat(h.pipe(a.fromNullable(window.gtag),a.map((()=>new W))),h.pipe(a.fromNullable(window.ga),a.map((()=>new D))));function F(t,i,e){return function(s){for(var r=Array(e.length+1),n=0;n<e.length;n++)r[n]=e[n];return r[e.length]=s,0===i?t.apply(null,r):F(t,i-1,r)}}var B={1:function(t){return[t]},2:function(t){return function(i){return[t,i]}},3:function(t){return function(i){return function(e){return[t,i,e]}}},4:function(t){return function(i){return function(e){return function(s){return[t,i,e,s]}}}},5:function(t){return function(i){return function(e){return function(s){return function(r){return[t,i,e,s,r]}}}}}};function U(t){return T.call(B,t)||(B[t]=F(S,t-1,[])),B[t]}const G=/fit\/\d+\//,q=(t,i)=>h.pipe((t=>h.pipe(t.match(G),d.fromNullable(t),d.map((()=>t))))(t),d.map((t=>t.replace(G,`fit/${i}/`))),d.getOrElse((()=>t))),H=(t,e)=>t.deeplink?i("a",{class:t.part,part:t.part,href:t.deeplink},e):e,J=t=>{const e=t.priceType,s=new Intl.NumberFormat(t.locale,{minimumFractionDigits:2}).format(t.price),r=t.prefix?i("span",{part:"price-prefix"},t.prefix+" "):null,n=t.currency?i("span",{part:"currency"}," "+t.currency):null;return i("span",{class:"price-amount",part:"price-amount"+(e?"-"+e:"")},r,s,n)},K=t=>i("span",{class:"price-container",part:"price-container"},t.salePrice?[i("span",{class:"price-sale",part:"price-sale"},i(J,{prefix:t.prefix,currency:t.currency,price:t.salePrice,locale:t.locale,priceType:"sale"})),i("span",{class:"price-outdated",part:"price-outdated"},i(J,{prefix:t.prefix,currency:t.currency,price:t.price,locale:t.locale,priceType:"outdated"}))]:i("span",{class:"price-regular",part:"price-regular"},i(J,{prefix:t.prefix,currency:t.currency,price:t.price,locale:t.locale,priceType:"regular"}))),Q=class{constructor(i){t(this,i),this.vviinnProductLoad=r(this,"vviinnProductLoad",7),this.vviinnProductView=r(this,"vviinnProductView",7),this.vviinnProductClick=r(this,"vviinnProductClick",7),this.productData=null,this.intersectionObserver=new IntersectionObserver(this.intersectionCallback.bind(this),{threshold:1}),this.brand=void 0,this.currency=void 0,this.deeplink=void 0,this.image=void 0,this.imageRatio=1,this.imageWidth=200,this.locale=void 0,this.price=void 0,this.pricePrefix=void 0,this.productId=void 0,this.productTitle=void 0,this.productType=void 0,this.salePrice=void 0,this.responsive=!1,this.campaignTypeId=void 0,this.dimmedBackground=!1,this.widgetElementId=void 0,this.buttonElementId=void 0,this.widgetVersion=void 0,this.index=0,this.imageLoaded=!1}connectedCallback(){this.productData=this.getProductData()}getWidgetType(){return"VPR"===this.campaignTypeId||"VCS"===this.campaignTypeId?"VPR":"VPS"}getProductData(){var t;return{productId:this.productId,productRank:this.index,productName:this.productTitle,widgetType:this.getWidgetType(),campaignTypeId:this.campaignTypeId,campaignTypeName:I[this.campaignTypeId],widgetId:null!==(t=this.buttonElementId)&&void 0!==t?t:this.widgetElementId,widgetVersion:this.widgetVersion}}intersectionCallback(t){t.some((t=>t.isIntersecting))&&(h.pipe(M,a.map((t=>t.sendImpression(this.getProduct())))),this.vviinnProductView.emit(this.productData),this.intersectionObserver.disconnect())}componentDidLoad(){this.vviinnProductLoad.emit(this.productData),this.intersectionObserver.observe(this.el),this.el.shadowRoot.querySelectorAll("a").forEach((t=>t.addEventListener("click",(t=>{t.preventDefault(),t.stopImmediatePropagation(),this.vviinnProductClick.emit(this.productData),h.pipe(M,a.match((()=>null),(t=>t.sendClick(this.getProduct()))))}))))}getProduct(){return l.results.find((t=>t.productId===this.productId))}renderImage(){const t={width:this.imageWidth,height:this.imageWidth*this.imageRatio,src:this.image,title:this.productTitle,lazy:!1};return this.responsive?((t,e=(()=>{}))=>i("picture",null,i("img",{loading:t.lazy?"lazy":"eager",part:"image",class:"image responsive",src:q(t.src,t.width),alt:t.title,onLoad:e})))(t):((t,e=(()=>{}))=>i("picture",null,i("img",{loading:t.lazy?"lazy":"eager",part:"image",class:"image",width:t.width,height:t.height,src:q(t.src,t.width),alt:t.title,onLoad:e})))(t)}render(){var t,s,r;return i(e,{part:"product-card",class:{dimmed:this.dimmedBackground},exportparts:"brand, currency, deeplink, image, image-link, price-amount-sale, price-amount-outdated, price-amount-regular, price-container, price-outdated, price-regular, price-sale, price-prefix, title"},i(H,{deeplink:this.deeplink,part:"image-link"},this.renderImage()),i(H,{deeplink:this.deeplink,part:"deeplink"},i("span",{class:"title",part:"title"},this.productTitle)),i("span",{class:"brand",part:"brand"},this.brand),i("span",{class:"type",part:"type"},this.productType),i(K,{prefix:null!==(t=this.pricePrefix)&&void 0!==t?t:u.pricePrefix,currency:null!==(s=this.currency)&&void 0!==s?s:u.currencySign,price:this.price,salePrice:this.salePrice,locale:null!==(r=this.locale)&&void 0!==r?r:u.locale}))}get el(){return s(this)}};Q.style=':host{align-items:center;display:flex;flex-direction:column;gap:8px;height:100%}.price-container{display:flex;flex-direction:column}.price-sale,.price-regular{font-style:normal;font-weight:normal;font-size:16px;line-height:24px;color:#161616}.price-outdated{font-style:normal;font-weight:normal;font-size:16px;line-height:24px;color:#757575;text-decoration:line-through}.product-type{word-wrap:anywhere}.image{display:grid;align-content:center;-o-object-position:50% 50%;object-position:50% 50%;-o-object-fit:contain;object-fit:contain;text-align:center;box-sizing:border-box}img.responsive{width:100%;height:auto;aspect-ratio:1}.brand,.type{display:none}.title{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#161616;display:-webkit-box;font-size:16px;font-style:normal;font-weight:500;line-height:24px;margin-bottom:8px;overflow:hidden}.deeplink{text-decoration:none}.image-link{display:contents}picture{position:relative;width:100%}:host(.dimmed) picture::before{content:"";width:100%;height:100%;box-sizing:border-box;background:#f7f7f7;display:block;top:0;left:0;position:absolute;mix-blend-mode:multiply}';const X=h.flow((t=>`Bearer ${t}`),(t=>new Headers({Authorization:t})),(t=>({headers:t}))),Y=(Z=b,function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];for(var e=t.length,s=U(e),r=Z.map(t[0],s),n=1;n<e;n++)r=Z.ap(r,t[n]);return r});var Z;const tt=(t,i={})=>V(Y(m(),f),g,p(v(t,i))),it=t=>i=>e=>s=>{const r=h.pipe(e,y(encodeURIComponent),w((()=>`product/${t}/similar-products${i?`?color=${i}`:""}`),(e=>`product/${t}/similar-products?campaigns=${e}${i?`&color=${i}`:""}`)));return tt(r,s)},et=t=>i=>e=>s=>{const r=h.pipe(e,y(encodeURIComponent),w((()=>`product/${t}/cross-selling-products${i?`?color=${i}`:""}`),(e=>`product/${t}/cross-selling-products?campaigns=${e}${i?`&color=${i}`:""}`)));return tt(r,s)};function st(t){return"function"==typeof t}function rt(t){const i=t((t=>{Error.call(t),t.stack=(new Error).stack}));return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const nt=rt((t=>function(i){t(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map(((t,i)=>`${i+1}) ${t.toString()}`)).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i}));function ot(t,i){if(t){const e=t.indexOf(i);0<=e&&t.splice(e,1)}}class at{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const t of i)t.remove(this);else i.remove(this);const{initialTeardown:e}=this;if(st(e))try{e()}catch(i){t=i instanceof nt?i.errors:[i]}const{_finalizers:s}=this;if(s){this._finalizers=null;for(const i of s)try{dt(i)}catch(i){t=null!=t?t:[],i instanceof nt?t=[...t,...i.errors]:t.push(i)}}if(t)throw new nt(t)}}add(t){var i;if(t&&t!==this)if(this.closed)dt(t);else{if(t instanceof at){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ot(i,t)}remove(t){const{_finalizers:i}=this;i&&ot(i,t),t instanceof at&&t._removeParent(this)}}at.EMPTY=(()=>{const t=new at;return t.closed=!0,t})();const ct=at.EMPTY;function ht(t){return t instanceof at||t&&"closed"in t&&st(t.remove)&&st(t.add)&&st(t.unsubscribe)}function dt(t){st(t)?t():t.unsubscribe()}const lt={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},ut={setTimeout(t,i,...e){const{delegate:s}=ut;return(null==s?void 0:s.setTimeout)?s.setTimeout(t,i,...e):setTimeout(t,i,...e)},clearTimeout(t){const{delegate:i}=ut;return((null==i?void 0:i.clearTimeout)||clearTimeout)(t)},delegate:void 0};function pt(){}const vt=gt("C",void 0,void 0);function gt(t,i,e){return{kind:t,value:i,error:e}}function mt(t){t()}class ft extends at{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,ht(t)&&t.add(this)):this.destination=It}static create(t,i,e){return new xt(t,i,e)}next(t){this.isStopped?Ct(function(t){return gt("N",t,void 0)}(t),this):this._next(t)}error(t){this.isStopped?Ct(gt("E",void 0,t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?Ct(vt,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const bt=Function.prototype.bind;function yt(t,i){return bt.call(t,i)}class wt{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(t){kt(t)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(t){kt(t)}else kt(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(t){kt(t)}}}class xt extends ft{constructor(t,i,e){let s;if(super(),st(t)||!t)s={next:null!=t?t:void 0,error:null!=i?i:void 0,complete:null!=e?e:void 0};else{let i;this&&lt.useDeprecatedNextContext?(i=Object.create(t),i.unsubscribe=()=>this.unsubscribe(),s={next:t.next&&yt(t.next,i),error:t.error&&yt(t.error,i),complete:t.complete&&yt(t.complete,i)}):s=t}this.destination=new wt(s)}}function kt(t){var i;i=t,ut.setTimeout((()=>{const{onUnhandledError:t}=lt;if(!t)throw i;t(i)}))}function Ct(t,i){const{onStoppedNotification:e}=lt;e&&ut.setTimeout((()=>e(t,i)))}const It={closed:!0,next:pt,error:function(t){throw t},complete:pt},Pt="function"==typeof Symbol&&Symbol.observable||"@@observable";function _t(t){return t}class Rt{constructor(t){t&&(this._subscribe=t)}lift(t){const i=new Rt;return i.source=this,i.operator=t,i}subscribe(t,i,e){const s=(r=t)&&r instanceof ft||function(t){return t&&st(t.next)&&st(t.error)&&st(t.complete)}(r)&&ht(r)?t:new xt(t,i,e);var r;return mt((()=>{const{operator:t,source:i}=this;s.add(t?t.call(s,i):i?this._subscribe(s):this._trySubscribe(s))})),s}_trySubscribe(t){try{return this._subscribe(t)}catch(i){t.error(i)}}forEach(t,i){return new(i=Tt(i))(((i,e)=>{const s=new xt({next:i=>{try{t(i)}catch(t){e(t),s.unsubscribe()}},error:e,complete:i});this.subscribe(s)}))}_subscribe(t){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(t)}[Pt](){return this}pipe(...t){return(0===(i=t).length?_t:1===i.length?i[0]:function(t){return i.reduce(((t,i)=>i(t)),t)})(this);var i}toPromise(t){return new(t=Tt(t))(((t,i)=>{let e;this.subscribe((t=>e=t),(t=>i(t)),(()=>t(e)))}))}}function Tt(t){var i;return null!==(i=null!=t?t:lt.Promise)&&void 0!==i?i:Promise}Rt.create=t=>new Rt(t);const St=rt((t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}));class Vt extends Rt{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const i=new jt(this,this);return i.operator=t,i}_throwIfClosed(){if(this.closed)throw new St}next(t){mt((()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(t)}}))}error(t){mt((()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:i}=this;for(;i.length;)i.shift().error(t)}}))}complete(){mt((()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}}))}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:i,isStopped:e,observers:s}=this;return i||e?ct:(this.currentObservers=null,s.push(t),new at((()=>{this.currentObservers=null,ot(s,t)})))}_checkFinalizedStatuses(t){const{hasError:i,thrownError:e,isStopped:s}=this;i?t.error(e):s&&t.complete()}asObservable(){const t=new Rt;return t.source=this,t}}Vt.create=(t,i)=>new jt(t,i);class jt extends Vt{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,e;null===(e=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===e||e.call(i,t)}error(t){var i,e;null===(e=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===e||e.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,e;return null!==(e=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==e?e:ct}}var $t=function(t,i){var e={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&i.indexOf(s)<0&&(e[s]=t[s]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(t);r<s.length;r++)i.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(t,s[r])&&(e[s[r]]=t[s[r]])}return e};const Et=class{constructor(i){t(this,i),this.vviinnWidgetLoad=r(this,"vviinnWidgetLoad",7),this.vviinnWidgetOpen=r(this,"vviinnWidgetOpen",7),this.vviinnProductClick=r(this,"vviinnProductClick",7),this.vviinnProductView=r(this,"vviinnProductView",7),this.vviinnProductLoad=r(this,"vviinnProductLoad",7),this.vviinnNoResult=r(this,"vviinnNoResult",7),this.vviinnRecommendationsLoaded=r(this,"vviinnRecommendationsLoaded",7),this.productImageLoadedSubject=new Vt,this.setTrackingDeactivated=t=>{"rejected"===t.status&&(this.trackingDeactivated=!0)},this.blockTitle="Recommended products",this.imageRatio=1,this.imageWidth=300,this.productId=void 0,this.token=void 0,this.currencySign="€",this.pricePrefix=void 0,this.mode="continuity",this.campaignType="VPR",this.locale="de-DE",this.campaigns="",this.color=void 0,this.gridArrowsDynamic=!1,this.noResultText=void 0,this.noResultShow=!0,this.apiPath="https://api.vviinn.com",this.useCarousel=!0,this.showingInButton=!1,this.showScroll=!0,this.cssUrl=null,this.buttonElementId=void 0,this.recommendations=[],this.trackingDeactivated=!1,this.hasErrorOnLoad=!1}getEventData(){return{widgetType:"VPR",campaignTypeId:this.campaignType,campaignTypeName:I[this.campaignType],widgetId:this.id,widgetVersion:R}}handleProductIdChange(){this.getRecommendations()}handleCampaignTypeChange(){this.getRecommendations()}handleCampaignsChange(){this.getRecommendations()}handleApiPathChange(t){u.apiPath=t,this.getRecommendations()}handleProductLoading({detail:t}){this.productImageLoadedSubject.next(t.productId)}trackProductView({detail:t}){if(this.trackingDeactivated)return;const{productRank:i,productId:e}=t,s=$t(t,["productRank","productId","productName","widgetType","widgetId","campaignTypeId","campaignTypeName"]),r=j(Object.assign({session_id:this.uiSessionId,rank:i,product:e},s));this.trackingApi.trackEvent(r).then(this.setTrackingDeactivated)}async trackProductClick({detail:t}){const{productRank:i,productId:e}=t,s=$t(t,["productRank","productId","productName","widgetType","widgetId","campaignTypeId","campaignTypeName"]),r=$(Object.assign({session_id:this.uiSessionId,rank:i,product:e},s));this.trackingDeactivated||await this.trackingApi.trackEvent(r).then(this.setTrackingDeactivated);const n=this.recommendations.find((i=>i.productId===t.productId));n&&n.deeplink&&(window.location.href=n.deeplink)}connectedCallback(){var t;if(u.apiPath=this.apiPath,u.currencySign=this.currencySign,u.locale=this.locale,this.id=null!==(t=this.buttonElementId)&&void 0!==t?t:this.el.id,this.uiSessionId=E(),this.trackingApi=A(this.apiPath,this.token),this.trackingDeactivated)return;const i=N({action:"open",session_id:this.uiSessionId});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}disconnectedCallback(){if(this.trackingDeactivated)return;const t=N({action:"close",session_id:this.uiSessionId});this.trackingApi.trackEvent(t).then(this.setTrackingDeactivated)}async componentWillLoad(){u.pricePrefix=this.pricePrefix,u.currencySign=this.currencySign,this.vviinnWidgetLoad.emit(this.getEventData()),this.getRecommendations()}async getRecommendations(){if(void 0===this.productId||void 0===this.token)return;const t=this.campaignType.length>0?this.campaignType:"VPR",i=X(this.token),e=h.pipe(x.of((t=>h.pipe(P(t),_((()=>it),(()=>et))))(t)),x.ap(x.of(this.productId)),x.ap(x.of(this.color)),x.ap(x.of(k(this.campaigns))),x.ap(x.of(i)),x.flatten),s=await e();h.pipe(s,d.fold((t=>{this.handleError(t),this.vviinnNoResult.emit(this.getEventData()),this.vviinnRecommendationsLoaded.emit()}),(t=>this.handleRecommendationsSuccess(t))))}handleError(t){this.hasErrorOnLoad=!0}handleRecommendationsSuccess(t){var i;this.recommendations=null!==(i=null==t?void 0:t.extended)&&void 0!==i?i:t,l.results=this.recommendations,this.productIds=this.recommendations.map((t=>t.productId)),this.productImageLoadedSubject.subscribe((t=>{this.productIds=this.productIds.filter((i=>i!==t)),0===this.productIds.length&&this.vviinnRecommendationsLoaded.emit()}))}isExternalCSS(){return this.cssUrl&&this.cssUrl.length>0}renderExternalCSS(){return this.isExternalCSS()?i("link",{href:this.cssUrl,rel:"stylesheet"}):""}render(){var t;return 0===this.recommendations.length&&!1===this.noResultShow?null:i(e,{class:{loaded:!0,empty:0==this.recommendations.length,[this.mode]:!0},"aria-hidden":"false"},i(n,null,this.renderExternalCSS(),i("style",null,u.fallbackStyles),i("h2",{part:"recommendations-title"},this.blockTitle),this.recommendations.length>0&&(this.useCarousel?this.renderCarousel():this.renderResults()),0===this.recommendations.length&&this.hasErrorOnLoad&&i("p",{class:"no-result-text"},`${null!==(t=null==this?void 0:this.noResultText)&&void 0!==t?t:"No results! Please, try again later."}`)))}renderRecommendation(t,e){return i("vviinn-product-card",{part:"product-part",productId:t.productId,productTitle:t.title,deeplink:t.deeplink,image:t.image.thumbnail,brand:t.brand,imageWidth:this.imageWidth,imageRatio:1,price:t.price.actual,salePrice:t.price.sale,responsive:"grid"===this.mode,dimmedBackground:this.useDimmedBackgroundInCard(),campaignTypeId:this.campaignType,index:e,widgetElementId:this.id,widgetVersion:R})}useDimmedBackgroundInCard(){return"continuity"===this.mode||!this.useCarousel}renderResults(){return i("div",{class:"recommendations-grid",part:"recommendations-grid"},this.recommendations.map(((t,i)=>this.renderRecommendation(t,i))))}renderCarousel(){return this.showingInButton&&this.vviinnWidgetOpen.emit(this.getEventData()),i("vviinn-carousel",{mode:this.mode,campaignTypeId:this.campaignType,imageWidth:this.imageWidth,showScroll:this.showScroll,recommendations:this.recommendations,widgetElementId:this.id,widgetVersion:R,gridArrowsDynamic:this.gridArrowsDynamic})}get el(){return s(this)}static get watchers(){return{productId:["handleProductIdChange"],campaignType:["handleCampaignTypeChange"],campaigns:["handleCampaignsChange"],apiPath:["handleApiPathChange"]}}};Et.style=":host{display:grid;grid-gap:1rem;width:100%}:host(:not(.loaded)){position:absolute;visibility:hidden}:host(.grid) vviinn-product-card::part(image){border:1px solid #dddddd;width:100%}h2{margin:0}vviinn-product-card::part(price-container){align-self:flex-start;text-align:left;display:flex}.results{display:grid;grid-gap:1rem}.no-result-text{font-size:20px}.visually-hidden{position:absolute;top:0;left:0;z-index:-1;height:0;width:0}h2{margin:0}:host(.grid) h2{justify-content:center}:host(.grid) vviinn-product-card::part(image){min-width:100%}:host(.grid) vviinn-product-card::part(image-link){width:100%}:host(.grid) vviinn-product-card::part(title),:host(.grid) vviinn-product-card::part(brand),:host(.grid) vviinn-product-card::part(type){text-align:center}:host(.grid) vviinn-product-card::part(price-container){align-self:center}:host(.continuity) vviinn-product-card::part(title),:host(.continuity) vviinn-product-card::part(brand),:host(.continuity) vviinn-product-card::part(type),:host(.continuity) vviinn-product-card::part(deeplink){text-align:left;max-width:unset;align-self:start}";export{L as vviinn_carousel,Q as vviinn_product_card,Et as vviinn_vpr_widget}
1
+ import{r as t,h as i,H as e,g as s,c as r,F as n}from"./p-fa17e81f.js";import{_ as o,O as a,S as c,a as h,E as d,i as l,s as u,c as p,m as v,f as g,g as m,b as f,A as b,d as y,e as w,T as x,h as k}from"./p-3abc679c.js";import{C}from"./p-c24caccd.js";import{c as I,f as P,a as _}from"./p-18fd769b.js";import{v as R}from"./p-91822e21.js";import{h as T,t as S,p as V}from"./p-3b99c62d.js";import{c as j,a as $,v as E,b as A,d as N}from"./p-2f7bf983.js";const O="--vviinn-carousel-image-width",z="items-group",L=class{constructor(i){t(this,i),this.columns=0,this.resizeObserver=new ResizeObserver((()=>this.handleResize())),this.mutationObserver=new MutationObserver((()=>this.cloneSlottedContent())),this.isLastGroup=()=>this.activeContentGroup===this.getContentGroups().length-1&&"grid"===this.mode,this.isFirstGroup=()=>0===this.activeContentGroup&&"grid"===this.mode,this.moveDirection="right",this.contentGroups=[],this.activeContentGroup=0,this.isRTL=!1,this.mode="continuity",this.imageWidth=140,this.showScroll=!0,this.campaignTypeId=void 0,this.widgetElementId=void 0,this.gridArrowsDynamic=void 0,this.recommendations=[],this.widgetVersion=void 0}componentWillLoad(){this.isRTL="rtl"===document.dir}connectedCallback(){this.setItemWidth()}disconnectedCallback(){this.resizeObserver.disconnect()}componentDidLoad(){this.setWidth(),this.processScrollbarWidth(),this.columns=this.getColumnsNumber();const t=this.el.querySelector(".content");this.mutationObserver.observe(t,{subtree:!0,childList:!0}),this.resizeObserver.observe(this.getHostParent())}getItemWidthFromDocument(){return parseInt(getComputedStyle(document.body).getPropertyValue(O))}setItemWidth(){const t=this.getItemWidthFromDocument(),i=isNaN(t)?this.imageWidth:t;this.el.style.setProperty(O,`${i}px`)}getContentClassMap(){return{content:!0,[this.moveDirection]:!0,[this.mode]:!0,"show-scrollbar":this.showScroll}}handleResize(){this.setWidth(),this.processScrollbarWidth(),this.setItemWidth();const t=this.getColumnsNumber();t!==this.columns&&(this.columns=t)}calculateMoveStep(){const t=this.getContent().map((t=>t.getBoundingClientRect().width));return t.reduce(((t,i)=>t+i),0)/t.length}getHostParent(){return this.el.parentNode.host.parentElement}setWidth(){const t=this.getHostParent();if(!t)return;const i=getComputedStyle(t),e=t.getBoundingClientRect().width-(parseInt(i["padding-right"])+parseInt(i["padding-left"]));this.el.style.setProperty("--vviinn-carousel-content-width",`${e}px`)}getParent(){return this.el.parentNode.host.parentElement}cloneSlottedContent(){this.setWidth()}getActiveGroupIndex(){var t,i;if(!(null===(i=null===(t=this.getContentNode())||void 0===t?void 0:t.getBoundingClientRect())||void 0===i?void 0:i.left))return 0;const e=this.getContentGroups().map((t=>t.getBoundingClientRect().left)).map(((t,i)=>[t,i])).filter((t=>t[0]>=0));return e.length>0?this.isRTL?e[e.length-1][1]:e[0][1]:0}getContentNode(){return this.el.querySelector(".content")}getContent(){const t=this.getContentNode().children;return Array.from(t).map((t=>t))}getColumnsNumber(){const t=getComputedStyle(this.el).getPropertyValue("--vviinn-carousel-columns-internal"),i=parseInt(t);return i&&!isNaN(i)?i:4}getContentGroups(){return Array.from(this.el.querySelectorAll(`.${z}`))}showNext(){this.moveDirection="right";const t=this.getContentNode();requestAnimationFrame((()=>{t.scrollTo({top:0,left:t.scrollLeft+this.calculateMoveStep(),behavior:"smooth"})}))}showPrev(){this.moveDirection="left";const t=this.getContentNode();requestAnimationFrame((()=>{t.scrollTo({top:0,left:t.scrollLeft-this.calculateMoveStep(),behavior:"smooth"})}))}scroll(t){const i=this.getContentNode();requestAnimationFrame((()=>{i.scrollTo({top:0,left:this.calculateMoveStep()*t,behavior:"smooth"})}))}processScrollbarWidth(){const t=this.getContentNode();t&&(this.el.style.setProperty("--vviinn-progressbar-width",t.clientWidth*((t.scrollLeft+t.clientWidth)/t.scrollWidth)+"px"),this.activeContentGroup=this.getActiveGroupIndex())}showBullets(){return"grid"===this.mode&&this.showScroll}showScrollbar(){return"continuity"===this.mode&&this.showScroll}getClassMap(){return{[this.mode]:!0,"show-scrollbar":this.showScrollbar()}}renderRecommendation(t,e){return i("vviinn-product-card",{part:"product-part",productId:t.productId,productTitle:t.title,deeplink:t.deeplink,image:t.image.thumbnail,brand:t.brand,imageWidth:this.imageWidth,imageRatio:1,price:t.price.actual,salePrice:t.price.sale,responsive:"grid"===this.mode,dimmedBackground:"continuity"===this.mode,campaignTypeId:this.campaignTypeId,index:e,widgetElementId:this.widgetElementId,widgetVersion:this.widgetVersion})}renderRecommendationGroup(t){return i("div",{class:z,part:"items-group"},...t)}renderRecommendationGroups(t){return t.map((t=>this.renderRecommendationGroup(t)))}renderRecommendations(){return"grid"===this.mode?this.renderGrid():this.renderRecommendationsElements()}renderRecommendationsElements(){return this.recommendations.map(((t,i)=>this.renderRecommendation(t,i)))}renderGrid(){const t=this.renderRecommendationsElements(),i=o.chunksOf(this.getColumnsNumber())(t);return this.renderRecommendationGroups(i)}renderBullets(){const t=Math.ceil(this.recommendations.length/this.getColumnsNumber());return Array.from(Array(t).keys()).map((t=>i("div",{class:{bullet:!0,active:this.activeContentGroup===t},onClick:()=>this.scroll(t)})))}render(){return i(e,{class:this.getClassMap()},i("div",{class:Object.assign({body:!0},this.getClassMap())},i("button",{class:"prev",onClick:()=>this.showPrev(),part:"carousel-button",disabled:this.gridArrowsDynamic&&this.isFirstGroup()},i(C,null)),i("div",{class:this.getContentClassMap(),onScroll:()=>this.processScrollbarWidth()},this.renderRecommendations()),i("button",{class:"next",onClick:()=>this.showNext(),part:"carousel-button",disabled:this.gridArrowsDynamic&&this.isLastGroup()},i(C,null))),this.showBullets()&&i("div",{class:"bullets"},this.renderBullets()))}get el(){return s(this)}};L.style=":host{--vviinn-progressbar-width:0;--vviinn-carousel-item-width:150px;--vviinn-carousel-columns-internal:var(--vviinn-carousel-columns, 4);--vviinn-carousel-image-width-system:140px}.body{display:flex;position:relative;width:var(--vviinn-carousel-content-width);flex-direction:column}.content-wrapper *{box-sizing:border-box}.content-wrapper{overflow-y:hidden;overflow-x:auto;flex-grow:1}.bullets{margin-top:16px;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:not(.show-scrollbar),.content.grid{scrollbar-color:#fff0 #fff0}.content:not(.show-scrollbar)::-webkit-scrollbar,.content.grid::-webkit-scrollbar{opacity:0}.content{display:flex;flex-direction:row;grid-gap:8px;scroll-snap-type:x mandatory;overflow-y:hidden;overflow-x:auto;flex-grow:1;padding-bottom:16px}.content.left>*{scroll-snap-align:start}.content.right>*{scroll-snap-align:end}:host(.continuity) button{border-radius:2px}:host(.grid) button{border-radius:50%}button{align-items:center;background-color:white;border:none;box-shadow:0px 2px 6px rgba(0, 0, 0, 0.15);cursor:pointer;display:grid;height:40px;justify-items:center;position:absolute;top:calc(50% - 20px);width:40px;z-index:1;padding:0;margin:0}button{fill:#525252}button:disabled{display:none}button.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-internal), 1fr);min-width:100%}vviinn-product-card::part(price-container){text-align:center}:host(.classic) vviinn-product-card::part(title),:host(.classic) vviinn-product-card::part(brand),:host(.classic) vviinn-product-card::part(type){text-align:center}@media (max-width: 480px){:host(.modern) button{display:none}.items-group{grid-template-columns:repeat(2, 1fr)}}";class W{sendImpression(t){var i,e,s;gtag("event","view_item_list",{items:[{id:t.productId,name:t.title,brand:null!==(i=t.brand)&&void 0!==i?i:"",category:null!==(e=t.productType)&&void 0!==e?e:"",list_name:"VI VPR View",price:Math.min(t.price.actual,null!==(s=t.price.sale)&&void 0!==s?s:1/0)}]})}sendClick(t){var i,e,s;gtag("event","select_content",{content_type:"product",items:[{id:t.productId,name:t.title,brand:null!==(i=t.brand)&&void 0!==i?i:"",category:null!==(e=t.productType)&&void 0!==e?e:"",list_name:"VI VPR View",price:Math.min(t.price.actual,null!==(s=t.price.sale)&&void 0!==s?s:1/0)}]})}}class D{constructor(){ga("require","ec")}convertProduct(t){var i,e,s;return{id:t.productId,name:t.title,brand:null!==(i=t.brand)&&void 0!==i?i:"",category:null!==(e=t.productType)&&void 0!==e?e:"",list:"VI VPR View",price:Math.min(t.price.actual,null!==(s=t.price.sale)&&void 0!==s?s:1/0)}}sendImpression(t){ga("ec:addImpression",this.convertProduct(t))}sendClick(t){var i,e,s;ga("ec:addProduct",{id:t.productId,name:t.title,brand:null!==(i=t.brand)&&void 0!==i?i:"",category:null!==(e=t.productType)&&void 0!==e?e:"",price:Math.min(t.price.actual,null!==(s=t.price.sale)&&void 0!==s?s:1/0)}),ga("ec:setAction","click",{list:"VI VPR View"})}}const M=a.getMonoid(c.first()).concat(h.pipe(a.fromNullable(window.gtag),a.map((()=>new W))),h.pipe(a.fromNullable(window.ga),a.map((()=>new D))));function F(t,i,e){return function(s){for(var r=Array(e.length+1),n=0;n<e.length;n++)r[n]=e[n];return r[e.length]=s,0===i?t.apply(null,r):F(t,i-1,r)}}var B={1:function(t){return[t]},2:function(t){return function(i){return[t,i]}},3:function(t){return function(i){return function(e){return[t,i,e]}}},4:function(t){return function(i){return function(e){return function(s){return[t,i,e,s]}}}},5:function(t){return function(i){return function(e){return function(s){return function(r){return[t,i,e,s,r]}}}}}};function U(t){return T.call(B,t)||(B[t]=F(S,t-1,[])),B[t]}const G=/fit\/\d+\//,q=(t,i)=>h.pipe((t=>h.pipe(t.match(G),d.fromNullable(t),d.map((()=>t))))(t),d.map((t=>t.replace(G,`fit/${i}/`))),d.getOrElse((()=>t))),H=(t,e)=>t.deeplink?i("a",{class:t.part,part:t.part,href:t.deeplink},e):e,J=t=>{const e=t.priceType,s=new Intl.NumberFormat(t.locale,{minimumFractionDigits:2}).format(t.price),r=t.prefix?i("span",{part:"price-prefix"},t.prefix+" "):null,n=t.currency?i("span",{part:"currency"}," "+t.currency):null;return i("span",{class:"price-amount",part:"price-amount"+(e?"-"+e:"")},r,s,n)},K=t=>i("span",{class:"price-container",part:"price-container"},t.salePrice?[i("span",{class:"price-sale",part:"price-sale"},i(J,{prefix:t.prefix,currency:t.currency,price:t.salePrice,locale:t.locale,priceType:"sale"})),i("span",{class:"price-outdated",part:"price-outdated"},i(J,{prefix:t.prefix,currency:t.currency,price:t.price,locale:t.locale,priceType:"outdated"}))]:i("span",{class:"price-regular",part:"price-regular"},i(J,{prefix:t.prefix,currency:t.currency,price:t.price,locale:t.locale,priceType:"regular"}))),Q=class{constructor(i){t(this,i),this.vviinnProductLoad=r(this,"vviinnProductLoad",7),this.vviinnProductView=r(this,"vviinnProductView",7),this.vviinnProductClick=r(this,"vviinnProductClick",7),this.productData=null,this.intersectionObserver=new IntersectionObserver(this.intersectionCallback.bind(this),{threshold:1}),this.brand=void 0,this.currency=void 0,this.deeplink=void 0,this.image=void 0,this.imageRatio=1,this.imageWidth=200,this.locale=void 0,this.price=void 0,this.pricePrefix=void 0,this.productId=void 0,this.productTitle=void 0,this.productType=void 0,this.salePrice=void 0,this.responsive=!1,this.campaignTypeId=void 0,this.dimmedBackground=!1,this.widgetElementId=void 0,this.buttonElementId=void 0,this.widgetVersion=void 0,this.index=0,this.imageLoaded=!1}connectedCallback(){this.productData=this.getProductData()}getWidgetType(){return"VPR"===this.campaignTypeId||"VCS"===this.campaignTypeId?"VPR":"VPS"}getProductData(){var t;return{productId:this.productId,productRank:this.index,productName:this.productTitle,widgetType:this.getWidgetType(),campaignTypeId:this.campaignTypeId,campaignTypeName:I[this.campaignTypeId],widgetId:null!==(t=this.buttonElementId)&&void 0!==t?t:this.widgetElementId,widgetVersion:this.widgetVersion}}intersectionCallback(t){t.some((t=>t.isIntersecting))&&(h.pipe(M,a.map((t=>t.sendImpression(this.getProduct())))),this.vviinnProductView.emit(this.productData),this.intersectionObserver.disconnect())}componentDidLoad(){this.vviinnProductLoad.emit(this.productData),this.intersectionObserver.observe(this.el),this.el.shadowRoot.querySelectorAll("a").forEach((t=>t.addEventListener("click",(t=>{t.preventDefault(),t.stopImmediatePropagation(),this.vviinnProductClick.emit(this.productData),h.pipe(M,a.match((()=>null),(t=>t.sendClick(this.getProduct()))))}))))}getProduct(){return l.results.find((t=>t.productId===this.productId))}renderImage(){const t={width:this.imageWidth,height:this.imageWidth*this.imageRatio,src:this.image,title:this.productTitle,lazy:!1};return this.responsive?((t,e=(()=>{}))=>i("picture",null,i("img",{loading:t.lazy?"lazy":"eager",part:"image",class:"image responsive",src:q(t.src,t.width),alt:t.title,onLoad:e})))(t):((t,e=(()=>{}))=>i("picture",null,i("img",{loading:t.lazy?"lazy":"eager",part:"image",class:"image",width:t.width,height:t.height,src:q(t.src,t.width),alt:t.title,onLoad:e})))(t)}render(){var t,s,r;return i(e,{part:"product-card",class:{dimmed:this.dimmedBackground},exportparts:"brand, currency, deeplink, image, image-link, price-amount-sale, price-amount-outdated, price-amount-regular, price-container, price-outdated, price-regular, price-sale, price-prefix, title"},i(H,{deeplink:this.deeplink,part:"image-link"},this.renderImage()),i(H,{deeplink:this.deeplink,part:"deeplink"},i("span",{class:"title",part:"title"},this.productTitle)),i("span",{class:"brand",part:"brand"},this.brand),i("span",{class:"type",part:"type"},this.productType),i(K,{prefix:null!==(t=this.pricePrefix)&&void 0!==t?t:u.pricePrefix,currency:null!==(s=this.currency)&&void 0!==s?s:u.currencySign,price:this.price,salePrice:this.salePrice,locale:null!==(r=this.locale)&&void 0!==r?r:u.locale}))}get el(){return s(this)}};Q.style=':host{align-items:center;display:flex;flex-direction:column;gap:8px;height:100%}.price-container{display:flex;flex-direction:column}.price-sale,.price-regular{font-style:normal;font-weight:normal;font-size:16px;line-height:24px;color:#161616}.price-outdated{font-style:normal;font-weight:normal;font-size:16px;line-height:24px;color:#757575;text-decoration:line-through}.product-type{word-wrap:anywhere}.image{display:grid;align-content:center;-o-object-position:50% 50%;object-position:50% 50%;-o-object-fit:contain;object-fit:contain;text-align:center;box-sizing:border-box}img.responsive{width:100%;height:auto;aspect-ratio:1}.brand,.type{display:none}.title{-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#161616;display:-webkit-box;font-size:16px;font-style:normal;font-weight:500;line-height:24px;margin-bottom:8px;overflow:hidden}.deeplink{text-decoration:none}.image-link{display:contents}picture{position:relative;width:100%}:host(.dimmed) picture::before{content:"";width:100%;height:100%;box-sizing:border-box;background:#f7f7f7;display:block;top:0;left:0;position:absolute;mix-blend-mode:multiply}';const X=h.flow((t=>`Bearer ${t}`),(t=>new Headers({Authorization:t})),(t=>({headers:t}))),Y=(Z=b,function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];for(var e=t.length,s=U(e),r=Z.map(t[0],s),n=1;n<e;n++)r=Z.ap(r,t[n]);return r});var Z;const tt=(t,i={})=>V(Y(m(),f),g,p(v(t,i))),it=t=>i=>e=>s=>{const r=h.pipe(e,y(encodeURIComponent),w((()=>`product/${t}/similar-products${i?`?color=${i}`:""}`),(e=>`product/${t}/similar-products?campaigns=${e}${i?`&color=${i}`:""}`)));return tt(r,s)},et=t=>i=>e=>s=>{const r=h.pipe(e,y(encodeURIComponent),w((()=>`product/${t}/cross-selling-products${i?`?color=${i}`:""}`),(e=>`product/${t}/cross-selling-products?campaigns=${e}${i?`&color=${i}`:""}`)));return tt(r,s)};function st(t){return"function"==typeof t}function rt(t){const i=t((t=>{Error.call(t),t.stack=(new Error).stack}));return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const nt=rt((t=>function(i){t(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map(((t,i)=>`${i+1}) ${t.toString()}`)).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=i}));function ot(t,i){if(t){const e=t.indexOf(i);0<=e&&t.splice(e,1)}}class at{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const t of i)t.remove(this);else i.remove(this);const{initialTeardown:e}=this;if(st(e))try{e()}catch(i){t=i instanceof nt?i.errors:[i]}const{_finalizers:s}=this;if(s){this._finalizers=null;for(const i of s)try{dt(i)}catch(i){t=null!=t?t:[],i instanceof nt?t=[...t,...i.errors]:t.push(i)}}if(t)throw new nt(t)}}add(t){var i;if(t&&t!==this)if(this.closed)dt(t);else{if(t instanceof at){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ot(i,t)}remove(t){const{_finalizers:i}=this;i&&ot(i,t),t instanceof at&&t._removeParent(this)}}at.EMPTY=(()=>{const t=new at;return t.closed=!0,t})();const ct=at.EMPTY;function ht(t){return t instanceof at||t&&"closed"in t&&st(t.remove)&&st(t.add)&&st(t.unsubscribe)}function dt(t){st(t)?t():t.unsubscribe()}const lt={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},ut={setTimeout(t,i,...e){const{delegate:s}=ut;return(null==s?void 0:s.setTimeout)?s.setTimeout(t,i,...e):setTimeout(t,i,...e)},clearTimeout(t){const{delegate:i}=ut;return((null==i?void 0:i.clearTimeout)||clearTimeout)(t)},delegate:void 0};function pt(){}const vt=gt("C",void 0,void 0);function gt(t,i,e){return{kind:t,value:i,error:e}}function mt(t){t()}class ft extends at{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,ht(t)&&t.add(this)):this.destination=It}static create(t,i,e){return new xt(t,i,e)}next(t){this.isStopped?Ct(function(t){return gt("N",t,void 0)}(t),this):this._next(t)}error(t){this.isStopped?Ct(gt("E",void 0,t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?Ct(vt,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const bt=Function.prototype.bind;function yt(t,i){return bt.call(t,i)}class wt{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(t){kt(t)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(t){kt(t)}else kt(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(t){kt(t)}}}class xt extends ft{constructor(t,i,e){let s;if(super(),st(t)||!t)s={next:null!=t?t:void 0,error:null!=i?i:void 0,complete:null!=e?e:void 0};else{let i;this&&lt.useDeprecatedNextContext?(i=Object.create(t),i.unsubscribe=()=>this.unsubscribe(),s={next:t.next&&yt(t.next,i),error:t.error&&yt(t.error,i),complete:t.complete&&yt(t.complete,i)}):s=t}this.destination=new wt(s)}}function kt(t){var i;i=t,ut.setTimeout((()=>{const{onUnhandledError:t}=lt;if(!t)throw i;t(i)}))}function Ct(t,i){const{onStoppedNotification:e}=lt;e&&ut.setTimeout((()=>e(t,i)))}const It={closed:!0,next:pt,error:function(t){throw t},complete:pt},Pt="function"==typeof Symbol&&Symbol.observable||"@@observable";function _t(t){return t}class Rt{constructor(t){t&&(this._subscribe=t)}lift(t){const i=new Rt;return i.source=this,i.operator=t,i}subscribe(t,i,e){const s=(r=t)&&r instanceof ft||function(t){return t&&st(t.next)&&st(t.error)&&st(t.complete)}(r)&&ht(r)?t:new xt(t,i,e);var r;return mt((()=>{const{operator:t,source:i}=this;s.add(t?t.call(s,i):i?this._subscribe(s):this._trySubscribe(s))})),s}_trySubscribe(t){try{return this._subscribe(t)}catch(i){t.error(i)}}forEach(t,i){return new(i=Tt(i))(((i,e)=>{const s=new xt({next:i=>{try{t(i)}catch(t){e(t),s.unsubscribe()}},error:e,complete:i});this.subscribe(s)}))}_subscribe(t){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(t)}[Pt](){return this}pipe(...t){return(0===(i=t).length?_t:1===i.length?i[0]:function(t){return i.reduce(((t,i)=>i(t)),t)})(this);var i}toPromise(t){return new(t=Tt(t))(((t,i)=>{let e;this.subscribe((t=>e=t),(t=>i(t)),(()=>t(e)))}))}}function Tt(t){var i;return null!==(i=null!=t?t:lt.Promise)&&void 0!==i?i:Promise}Rt.create=t=>new Rt(t);const St=rt((t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}));class Vt extends Rt{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const i=new jt(this,this);return i.operator=t,i}_throwIfClosed(){if(this.closed)throw new St}next(t){mt((()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(t)}}))}error(t){mt((()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:i}=this;for(;i.length;)i.shift().error(t)}}))}complete(){mt((()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}}))}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:i,isStopped:e,observers:s}=this;return i||e?ct:(this.currentObservers=null,s.push(t),new at((()=>{this.currentObservers=null,ot(s,t)})))}_checkFinalizedStatuses(t){const{hasError:i,thrownError:e,isStopped:s}=this;i?t.error(e):s&&t.complete()}asObservable(){const t=new Rt;return t.source=this,t}}Vt.create=(t,i)=>new jt(t,i);class jt extends Vt{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,e;null===(e=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===e||e.call(i,t)}error(t){var i,e;null===(e=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===e||e.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,e;return null!==(e=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==e?e:ct}}var $t=function(t,i){var e={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&i.indexOf(s)<0&&(e[s]=t[s]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(t);r<s.length;r++)i.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(t,s[r])&&(e[s[r]]=t[s[r]])}return e};const Et=class{constructor(i){t(this,i),this.vviinnWidgetLoad=r(this,"vviinnWidgetLoad",7),this.vviinnWidgetOpen=r(this,"vviinnWidgetOpen",7),this.vviinnProductClick=r(this,"vviinnProductClick",7),this.vviinnProductView=r(this,"vviinnProductView",7),this.vviinnProductLoad=r(this,"vviinnProductLoad",7),this.vviinnNoResult=r(this,"vviinnNoResult",7),this.vviinnRecommendationsLoaded=r(this,"vviinnRecommendationsLoaded",7),this.productImageLoadedSubject=new Vt,this.setTrackingDeactivated=t=>{"rejected"===t.status&&(this.trackingDeactivated=!0)},this.blockTitle="Recommended products",this.imageRatio=1,this.imageWidth=300,this.productId=void 0,this.token=void 0,this.currencySign="€",this.pricePrefix=void 0,this.mode="continuity",this.campaignType="VPR",this.locale="de-DE",this.campaigns="",this.color=void 0,this.gridArrowsDynamic=!1,this.noResultText=void 0,this.noResultShow=!0,this.apiPath="https://api.vviinn.com",this.useCarousel=!0,this.showingInButton=!1,this.showScroll=!0,this.cssUrl=null,this.buttonElementId=void 0,this.recommendations=[],this.trackingDeactivated=!1,this.hasErrorOnLoad=!1}getEventData(){return{widgetType:"VPR",campaignTypeId:this.campaignType,campaignTypeName:I[this.campaignType],widgetId:this.id,widgetVersion:R}}handleProductIdChange(){this.getRecommendations()}handleCampaignTypeChange(){this.getRecommendations()}handleCampaignsChange(){this.getRecommendations()}handleApiPathChange(t){u.apiPath=t,this.getRecommendations()}handleProductLoading({detail:t}){this.productImageLoadedSubject.next(t.productId)}trackProductView({detail:t}){if(this.trackingDeactivated)return;const{productRank:i,productId:e}=t,s=$t(t,["productRank","productId","productName","widgetType","widgetId","campaignTypeId","campaignTypeName"]),r=j(Object.assign({session_id:this.uiSessionId,rank:i,product:e},s));this.trackingApi.trackEvent(r).then(this.setTrackingDeactivated)}async trackProductClick({detail:t}){const{productRank:i,productId:e}=t,s=$t(t,["productRank","productId","productName","widgetType","widgetId","campaignTypeId","campaignTypeName"]),r=$(Object.assign({session_id:this.uiSessionId,rank:i,product:e},s));this.trackingDeactivated||await this.trackingApi.trackEvent(r).then(this.setTrackingDeactivated);const n=this.recommendations.find((i=>i.productId===t.productId));n&&n.deeplink&&(window.location.href=n.deeplink)}connectedCallback(){var t;if(u.apiPath=this.apiPath,u.currencySign=this.currencySign,u.locale=this.locale,this.id=null!==(t=this.buttonElementId)&&void 0!==t?t:this.el.id,this.uiSessionId=E(),this.trackingApi=A(this.apiPath,this.token),this.trackingDeactivated)return;const i=N({action:"open",session_id:this.uiSessionId});this.trackingApi.trackEvent(i).then(this.setTrackingDeactivated)}disconnectedCallback(){if(this.trackingDeactivated)return;const t=N({action:"close",session_id:this.uiSessionId});this.trackingApi.trackEvent(t).then(this.setTrackingDeactivated)}async componentWillLoad(){u.pricePrefix=this.pricePrefix,u.currencySign=this.currencySign,this.vviinnWidgetLoad.emit(this.getEventData()),this.getRecommendations()}async getRecommendations(){if(void 0===this.productId||void 0===this.token)return;const t=this.campaignType.length>0?this.campaignType:"VPR",i=X(this.token),e=h.pipe(x.of((t=>h.pipe(P(t),_((()=>it),(()=>et))))(t)),x.ap(x.of(this.productId)),x.ap(x.of(this.color)),x.ap(x.of(k(this.campaigns))),x.ap(x.of(i)),x.flatten),s=await e();h.pipe(s,d.fold((t=>{this.handleError(t),this.vviinnNoResult.emit(this.getEventData()),this.vviinnRecommendationsLoaded.emit()}),(t=>this.handleRecommendationsSuccess(t))))}handleError(t){this.hasErrorOnLoad=!0}handleRecommendationsSuccess(t){var i;this.recommendations=null!==(i=null==t?void 0:t.extended)&&void 0!==i?i:t,l.results=this.recommendations,this.productIds=this.recommendations.map((t=>t.productId)),this.productImageLoadedSubject.subscribe((t=>{this.productIds=this.productIds.filter((i=>i!==t)),0===this.productIds.length&&this.vviinnRecommendationsLoaded.emit()}))}isExternalCSS(){return this.cssUrl&&this.cssUrl.length>0}renderExternalCSS(){return this.isExternalCSS()?i("link",{href:this.cssUrl,rel:"stylesheet"}):""}render(){var t;return 0===this.recommendations.length&&!1===this.noResultShow?null:i(e,{class:{loaded:!0,empty:0==this.recommendations.length,[this.mode]:!0},"aria-hidden":"false"},i(n,null,this.renderExternalCSS(),i("style",null,u.fallbackStyles),i("h2",{part:"recommendations-title"},this.blockTitle),this.recommendations.length>0&&(this.useCarousel?this.renderCarousel():this.renderResults()),0===this.recommendations.length&&this.hasErrorOnLoad&&i("p",{class:"no-result-text"},`${null!==(t=null==this?void 0:this.noResultText)&&void 0!==t?t:"No results! Please, try again later."}`)))}renderRecommendation(t,e){return i("vviinn-product-card",{part:"product-part",productId:t.productId,productTitle:t.title,deeplink:t.deeplink,image:t.image.thumbnail,brand:t.brand,imageWidth:this.imageWidth,imageRatio:1,price:t.price.actual,salePrice:t.price.sale,responsive:"grid"===this.mode,dimmedBackground:this.useDimmedBackgroundInCard(),campaignTypeId:this.campaignType,index:e,widgetElementId:this.id,widgetVersion:R})}useDimmedBackgroundInCard(){return"continuity"===this.mode||!this.useCarousel}renderResults(){return i("div",{class:"recommendations-grid",part:"recommendations-grid"},this.recommendations.map(((t,i)=>this.renderRecommendation(t,i))))}renderCarousel(){return this.showingInButton&&this.vviinnWidgetOpen.emit(this.getEventData()),i("vviinn-carousel",{mode:this.mode,campaignTypeId:this.campaignType,imageWidth:this.imageWidth,showScroll:this.showScroll,recommendations:this.recommendations,widgetElementId:this.id,widgetVersion:R,gridArrowsDynamic:this.gridArrowsDynamic})}get el(){return s(this)}static get watchers(){return{productId:["handleProductIdChange"],campaignType:["handleCampaignTypeChange"],campaigns:["handleCampaignsChange"],apiPath:["handleApiPathChange"]}}};Et.style=":host{display:grid;grid-gap:1rem;width:100%}:host(:not(.loaded)){position:absolute;visibility:hidden}:host(.grid) vviinn-product-card::part(image){border:1px solid #dddddd;width:100%}h2{margin:0}vviinn-product-card::part(price-container){align-self:flex-start;text-align:left;display:flex}.results{display:grid;grid-gap:1rem}.no-result-text{font-size:20px}.visually-hidden{position:absolute;top:0;left:0;z-index:-1;height:0;width:0}h2{margin:0}:host(.grid) h2{justify-content:center}:host(.grid) vviinn-product-card::part(image){min-width:100%}:host(.grid) vviinn-product-card::part(image-link){width:100%}:host(.grid) vviinn-product-card::part(title),:host(.grid) vviinn-product-card::part(brand),:host(.grid) vviinn-product-card::part(type){text-align:center}:host(.grid) vviinn-product-card::part(price-container){align-self:center}:host(.continuity) vviinn-product-card::part(title),:host(.continuity) vviinn-product-card::part(brand),:host(.continuity) vviinn-product-card::part(type),:host(.continuity) vviinn-product-card::part(deeplink){text-align:left;max-width:unset;align-self:start}";export{L as vviinn_carousel,Q as vviinn_product_card,Et as vviinn_vpr_widget}
@@ -0,0 +1 @@
1
+ import{p as e,b as i}from"./p-fa17e81f.js";export{s as setNonce}from"./p-fa17e81f.js";(()=>{const i=import.meta.url,t={};return""!==i&&(t.resourcesUrl=new URL(".",i).href),e(t)})().then((e=>i([["p-e3146599",[[1,"vviinn-button",{addStyle:[4,"add-style"]}]]],["p-bae2af67",[[1,"cropper-handler",{handler:[16],disabled:[4]}]]],["p-34b551fb",[[1,"vviinn-error"]]],["p-8036a003",[[1,"vviinn-preloader"]]],["p-b9f04a14",[[1,"vviinn-vpr-widget",{blockTitle:[1,"block-title"],imageRatio:[2,"image-ratio"],imageWidth:[2,"image-width"],productId:[1,"product-id"],token:[1],currencySign:[1,"currency-sign"],pricePrefix:[1,"price-prefix"],mode:[1],campaignType:[1,"campaign-type"],locale:[1],campaigns:[1],color:[1],gridArrowsDynamic:[4,"grid-arrows-dynamic"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],apiPath:[1,"api-path"],useCarousel:[4,"use-carousel"],showingInButton:[4,"showing-in-button"],showScroll:[4,"show-scroll"],cssUrl:[1,"css-url"],buttonElementId:[1,"button-element-id"],recommendations:[32],trackingDeactivated:[32],hasErrorOnLoad:[32]},[[0,"vviinnProductLoad","handleProductLoading"],[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"]]],[0,"vviinn-carousel",{mode:[1],imageWidth:[2,"image-width"],showScroll:[4,"show-scroll"],campaignTypeId:[1,"campaign-type-id"],widgetElementId:[1,"widget-element-id"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],recommendations:[16],widgetVersion:[1,"widget-version"],moveDirection:[32],contentGroups:[32],activeContentGroup:[32],isRTL:[32]}],[1,"vviinn-product-card",{brand:[1],currency:[1],deeplink:[1],image:[1],imageRatio:[2,"image-ratio"],imageWidth:[2,"image-width"],locale:[1],price:[2],pricePrefix:[1,"price-prefix"],productId:[1,"product-id"],productTitle:[1,"product-title"],productType:[1,"product-type"],salePrice:[2,"sale-price"],responsive:[4],campaignTypeId:[1,"campaign-type-id"],dimmedBackground:[4,"dimmed-background"],widgetElementId:[1,"widget-element-id"],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],index:[2],imageLoaded:[32]}]]],["p-0ef48c85",[[1,"vviinn-image-view",{basicEventData:[16]}],[1,"vviinn-onboarding"],[1,"vviinn-example-images",{basicEventData:[16]}],[1,"vviinn-overlayed-modal",{active:[4],resetState:[16],buttonElementId:[1,"button-element-id"],hideBackButton:[4,"hide-back-button"],widgetVersion:[1,"widget-version"]}],[1,"vviinn-empty-results"],[1,"vviinn-image-selector",{basicEventData:[16],startUpload:[4,"start-upload"],resetVpsButton:[16]}],[1,"vviinn-server-error",{handler:[16]}],[1,"vviinn-wrong-format",{handler:[16]}],[1,"search-filters",{filter:[16],basicEventData:[16],selectedCategoryId:[32],hideFilters:[32]}],[1,"vviinn-privacy-badge"],[1,"vviinn-teaser"],[1,"image-cropper",{disabled:[4],basicEventData:[16],handleMove:[32]}],[1,"vviinn-example-image",{src:[1],width:[2],height:[2],basicEventData:[16],selected:[32]}],[1,"highlight-box"],[1,"vviinn-detected-object",{detectedObject:[16],basicEventData:[16],position:[32]}],[1,"vviinn-modal",{active:[1540],resetState:[16],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],hideBackButton:[4,"hide-back-button"],slider:[32]}],[1,"vviinn-onboarding-card-1"],[1,"vviinn-onboarding-card-2"],[1,"vviinn-onboarding-card-3"],[1,"vviinn-overlay"],[1,"vviinn-slide"],[1,"vviinn-slider",{showBullets:[4,"show-bullets"],position:[514],showArrows:[4,"show-arrows"],elementsCount:[32],internalPosition:[32],swipeStartPosition:[32],isRTL:[32]}]]],["p-80d38a22",[[1,"vviinn-vps-widget",{token:[1],apiPath:[1,"api-path"],active:[1028],currencySign:[1,"currency-sign"],locale:[1],campaignId:[1,"campaign-id"],showingInButton:[4,"showing-in-button"],buttonElementId:[1,"button-element-id"],buttonPressed:[4,"button-pressed"],mode:[1],resetVpsButton:[16],slidePosition:[32],width:[32],wrongImageFormat:[32],trackingDeactivated:[32]},[[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"],[0,"vviinnImageCrop","trachSearchAreaChanges"],[0,"vviinnSelectObject","trackDetectedObject"],[0,"vviinnSelectFilter","trackFilter"]]]]],["p-47b1b862",[[1,"vviinn-vps-button",{token:[1],currencySign:[1,"currency-sign"],locale:[1],campaignId:[1,"campaign-id"],addStyle:[4,"add-style"],mode:[1],apiPath:[1,"api-path"],buttonPressed:[32]},[[0,"vviinnWidgetClose","handleModalClosed"]]]]],["p-55eef9fc",[[1,"vviinn-recommendations-sidebar",{sidebarTitle:[1,"sidebar-title"],token:[1],productId:[1,"product-id"],position:[1],sourceImage:[1,"source-image"],widgetScrollbar:[4,"widget-scrollbar"],mode:[1],campaigns:[1],campaignType:[1,"campaign-type"],color:[1],imageWidth:[2,"image-width"],currencySign:[1,"currency-sign"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],apiPath:[1,"api-path"],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],showingInButton:[4,"showing-in-button"],state:[32]},[[16,"click","bodyClickListener"]]]]],["p-7d93f947",[[1,"vviinn-vpr-button",{token:[1],productId:[1,"product-id"],position:[1],sourceImage:[1,"source-image"],sidebarTitle:[1,"sidebar-title"],modalScrollbar:[4,"modal-scrollbar"],campaigns:[1],campaignType:[1,"campaign-type"],color:[1],addStyle:[4,"add-style"],mode:[1],imageWidth:[2,"image-width"],currencySign:[1,"currency-sign"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],apiPath:[1,"api-path"]}]]]],e)));
@@ -1 +1 @@
1
- import{p as e,b as i}from"./p-fa17e81f.js";export{s as setNonce}from"./p-fa17e81f.js";(()=>{const i=import.meta.url,t={};return""!==i&&(t.resourcesUrl=new URL(".",i).href),e(t)})().then((e=>i([["p-e3146599",[[1,"vviinn-button",{addStyle:[4,"add-style"]}]]],["p-bae2af67",[[1,"cropper-handler",{handler:[16],disabled:[4]}]]],["p-34b551fb",[[1,"vviinn-error"]]],["p-8036a003",[[1,"vviinn-preloader"]]],["p-09a1977b",[[1,"vviinn-vpr-widget",{blockTitle:[1,"block-title"],imageRatio:[2,"image-ratio"],imageWidth:[2,"image-width"],productId:[1,"product-id"],token:[1],currencySign:[1,"currency-sign"],pricePrefix:[1,"price-prefix"],mode:[1],campaignType:[1,"campaign-type"],locale:[1],campaigns:[1],color:[1],gridArrowsDynamic:[4,"grid-arrows-dynamic"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],apiPath:[1,"api-path"],useCarousel:[4,"use-carousel"],showingInButton:[4,"showing-in-button"],showScroll:[4,"show-scroll"],cssUrl:[1,"css-url"],buttonElementId:[1,"button-element-id"],recommendations:[32],trackingDeactivated:[32],hasErrorOnLoad:[32]},[[0,"vviinnProductLoad","handleProductLoading"],[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"]]],[0,"vviinn-carousel",{mode:[1],imageWidth:[2,"image-width"],showScroll:[4,"show-scroll"],campaignTypeId:[1,"campaign-type-id"],widgetElementId:[1,"widget-element-id"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],recommendations:[16],widgetVersion:[1,"widget-version"],moveDirection:[32],contentGroups:[32],activeContentGroup:[32],isRTL:[32]}],[1,"vviinn-product-card",{brand:[1],currency:[1],deeplink:[1],image:[1],imageRatio:[2,"image-ratio"],imageWidth:[2,"image-width"],locale:[1],price:[2],pricePrefix:[1,"price-prefix"],productId:[1,"product-id"],productTitle:[1,"product-title"],productType:[1,"product-type"],salePrice:[2,"sale-price"],responsive:[4],campaignTypeId:[1,"campaign-type-id"],dimmedBackground:[4,"dimmed-background"],widgetElementId:[1,"widget-element-id"],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],index:[2],imageLoaded:[32]}]]],["p-0ef48c85",[[1,"vviinn-image-view",{basicEventData:[16]}],[1,"vviinn-onboarding"],[1,"vviinn-example-images",{basicEventData:[16]}],[1,"vviinn-overlayed-modal",{active:[4],resetState:[16],buttonElementId:[1,"button-element-id"],hideBackButton:[4,"hide-back-button"],widgetVersion:[1,"widget-version"]}],[1,"vviinn-empty-results"],[1,"vviinn-image-selector",{basicEventData:[16],startUpload:[4,"start-upload"],resetVpsButton:[16]}],[1,"vviinn-server-error",{handler:[16]}],[1,"vviinn-wrong-format",{handler:[16]}],[1,"search-filters",{filter:[16],basicEventData:[16],selectedCategoryId:[32],hideFilters:[32]}],[1,"vviinn-privacy-badge"],[1,"vviinn-teaser"],[1,"image-cropper",{disabled:[4],basicEventData:[16],handleMove:[32]}],[1,"vviinn-example-image",{src:[1],width:[2],height:[2],basicEventData:[16],selected:[32]}],[1,"highlight-box"],[1,"vviinn-detected-object",{detectedObject:[16],basicEventData:[16],position:[32]}],[1,"vviinn-modal",{active:[1540],resetState:[16],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],hideBackButton:[4,"hide-back-button"],slider:[32]}],[1,"vviinn-onboarding-card-1"],[1,"vviinn-onboarding-card-2"],[1,"vviinn-onboarding-card-3"],[1,"vviinn-overlay"],[1,"vviinn-slide"],[1,"vviinn-slider",{showBullets:[4,"show-bullets"],position:[514],showArrows:[4,"show-arrows"],elementsCount:[32],internalPosition:[32],swipeStartPosition:[32],isRTL:[32]}]]],["p-cde43a5d",[[1,"vviinn-vps-widget",{token:[1],apiPath:[1,"api-path"],active:[1028],currencySign:[1,"currency-sign"],locale:[1],campaignId:[1,"campaign-id"],showingInButton:[4,"showing-in-button"],buttonElementId:[1,"button-element-id"],buttonPressed:[4,"button-pressed"],mode:[1],resetVpsButton:[16],slidePosition:[32],width:[32],wrongImageFormat:[32],trackingDeactivated:[32]},[[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"],[0,"vviinnImageCrop","trachSearchAreaChanges"],[0,"vviinnSelectObject","trackDetectedObject"],[0,"vviinnSelectFilter","trackFilter"]]]]],["p-71a9e0a9",[[1,"vviinn-vps-button",{token:[1],currencySign:[1,"currency-sign"],locale:[1],campaignId:[1,"campaign-id"],addStyle:[4,"add-style"],mode:[1],apiPath:[1,"api-path"],buttonPressed:[32]},[[0,"vviinnWidgetClose","handleModalClosed"]]]]],["p-55eef9fc",[[1,"vviinn-recommendations-sidebar",{sidebarTitle:[1,"sidebar-title"],token:[1],productId:[1,"product-id"],position:[1],sourceImage:[1,"source-image"],widgetScrollbar:[4,"widget-scrollbar"],mode:[1],campaigns:[1],campaignType:[1,"campaign-type"],color:[1],imageWidth:[2,"image-width"],currencySign:[1,"currency-sign"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],apiPath:[1,"api-path"],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],showingInButton:[4,"showing-in-button"],state:[32]},[[16,"click","bodyClickListener"]]]]],["p-7348f855",[[1,"vviinn-vpr-button",{token:[1],productId:[1,"product-id"],position:[1],sourceImage:[1,"source-image"],sidebarTitle:[1,"sidebar-title"],modalScrollbar:[4,"modal-scrollbar"],campaigns:[1],campaignType:[1,"campaign-type"],color:[1],addStyle:[4,"add-style"],mode:[1],imageWidth:[2,"image-width"],currencySign:[1,"currency-sign"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],apiPath:[1,"api-path"]}]]]],e)));
1
+ import{p as e,b as i}from"./p-fa17e81f.js";export{s as setNonce}from"./p-fa17e81f.js";(()=>{const i=import.meta.url,t={};return""!==i&&(t.resourcesUrl=new URL(".",i).href),e(t)})().then((e=>i([["p-e3146599",[[1,"vviinn-button",{addStyle:[4,"add-style"]}]]],["p-bae2af67",[[1,"cropper-handler",{handler:[16],disabled:[4]}]]],["p-34b551fb",[[1,"vviinn-error"]]],["p-8036a003",[[1,"vviinn-preloader"]]],["p-b9f04a14",[[1,"vviinn-vpr-widget",{blockTitle:[1,"block-title"],imageRatio:[2,"image-ratio"],imageWidth:[2,"image-width"],productId:[1,"product-id"],token:[1],currencySign:[1,"currency-sign"],pricePrefix:[1,"price-prefix"],mode:[1],campaignType:[1,"campaign-type"],locale:[1],campaigns:[1],color:[1],gridArrowsDynamic:[4,"grid-arrows-dynamic"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],apiPath:[1,"api-path"],useCarousel:[4,"use-carousel"],showingInButton:[4,"showing-in-button"],showScroll:[4,"show-scroll"],cssUrl:[1,"css-url"],buttonElementId:[1,"button-element-id"],recommendations:[32],trackingDeactivated:[32],hasErrorOnLoad:[32]},[[0,"vviinnProductLoad","handleProductLoading"],[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"]]],[0,"vviinn-carousel",{mode:[1],imageWidth:[2,"image-width"],showScroll:[4,"show-scroll"],campaignTypeId:[1,"campaign-type-id"],widgetElementId:[1,"widget-element-id"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],recommendations:[16],widgetVersion:[1,"widget-version"],moveDirection:[32],contentGroups:[32],activeContentGroup:[32],isRTL:[32]}],[1,"vviinn-product-card",{brand:[1],currency:[1],deeplink:[1],image:[1],imageRatio:[2,"image-ratio"],imageWidth:[2,"image-width"],locale:[1],price:[2],pricePrefix:[1,"price-prefix"],productId:[1,"product-id"],productTitle:[1,"product-title"],productType:[1,"product-type"],salePrice:[2,"sale-price"],responsive:[4],campaignTypeId:[1,"campaign-type-id"],dimmedBackground:[4,"dimmed-background"],widgetElementId:[1,"widget-element-id"],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],index:[2],imageLoaded:[32]}]]],["p-0ef48c85",[[1,"vviinn-image-view",{basicEventData:[16]}],[1,"vviinn-onboarding"],[1,"vviinn-example-images",{basicEventData:[16]}],[1,"vviinn-overlayed-modal",{active:[4],resetState:[16],buttonElementId:[1,"button-element-id"],hideBackButton:[4,"hide-back-button"],widgetVersion:[1,"widget-version"]}],[1,"vviinn-empty-results"],[1,"vviinn-image-selector",{basicEventData:[16],startUpload:[4,"start-upload"],resetVpsButton:[16]}],[1,"vviinn-server-error",{handler:[16]}],[1,"vviinn-wrong-format",{handler:[16]}],[1,"search-filters",{filter:[16],basicEventData:[16],selectedCategoryId:[32],hideFilters:[32]}],[1,"vviinn-privacy-badge"],[1,"vviinn-teaser"],[1,"image-cropper",{disabled:[4],basicEventData:[16],handleMove:[32]}],[1,"vviinn-example-image",{src:[1],width:[2],height:[2],basicEventData:[16],selected:[32]}],[1,"highlight-box"],[1,"vviinn-detected-object",{detectedObject:[16],basicEventData:[16],position:[32]}],[1,"vviinn-modal",{active:[1540],resetState:[16],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],hideBackButton:[4,"hide-back-button"],slider:[32]}],[1,"vviinn-onboarding-card-1"],[1,"vviinn-onboarding-card-2"],[1,"vviinn-onboarding-card-3"],[1,"vviinn-overlay"],[1,"vviinn-slide"],[1,"vviinn-slider",{showBullets:[4,"show-bullets"],position:[514],showArrows:[4,"show-arrows"],elementsCount:[32],internalPosition:[32],swipeStartPosition:[32],isRTL:[32]}]]],["p-80d38a22",[[1,"vviinn-vps-widget",{token:[1],apiPath:[1,"api-path"],active:[1028],currencySign:[1,"currency-sign"],locale:[1],campaignId:[1,"campaign-id"],showingInButton:[4,"showing-in-button"],buttonElementId:[1,"button-element-id"],buttonPressed:[4,"button-pressed"],mode:[1],resetVpsButton:[16],slidePosition:[32],width:[32],wrongImageFormat:[32],trackingDeactivated:[32]},[[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"],[0,"vviinnImageCrop","trachSearchAreaChanges"],[0,"vviinnSelectObject","trackDetectedObject"],[0,"vviinnSelectFilter","trackFilter"]]]]],["p-47b1b862",[[1,"vviinn-vps-button",{token:[1],currencySign:[1,"currency-sign"],locale:[1],campaignId:[1,"campaign-id"],addStyle:[4,"add-style"],mode:[1],apiPath:[1,"api-path"],buttonPressed:[32]},[[0,"vviinnWidgetClose","handleModalClosed"]]]]],["p-55eef9fc",[[1,"vviinn-recommendations-sidebar",{sidebarTitle:[1,"sidebar-title"],token:[1],productId:[1,"product-id"],position:[1],sourceImage:[1,"source-image"],widgetScrollbar:[4,"widget-scrollbar"],mode:[1],campaigns:[1],campaignType:[1,"campaign-type"],color:[1],imageWidth:[2,"image-width"],currencySign:[1,"currency-sign"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],apiPath:[1,"api-path"],buttonElementId:[1,"button-element-id"],widgetVersion:[1,"widget-version"],showingInButton:[4,"showing-in-button"],state:[32]},[[16,"click","bodyClickListener"]]]]],["p-7d93f947",[[1,"vviinn-vpr-button",{token:[1],productId:[1,"product-id"],position:[1],sourceImage:[1,"source-image"],sidebarTitle:[1,"sidebar-title"],modalScrollbar:[4,"modal-scrollbar"],campaigns:[1],campaignType:[1,"campaign-type"],color:[1],addStyle:[4,"add-style"],mode:[1],imageWidth:[2,"image-width"],currencySign:[1,"currency-sign"],noResultText:[1,"no-result-text"],noResultShow:[4,"no-result-show"],gridArrowsDynamic:[4,"grid-arrows-dynamic"],apiPath:[1,"api-path"]}]]]],e)));
package/www/index.html CHANGED
@@ -1,4 +1,4 @@
1
- <!doctype html><html dir="ltr" lang="en"><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=5.0"> <title>Stencil Component Starter</title> <link rel="preconnect" href="https://cdn.vviinn.com"> <link rel="preconnect" href="https://d1rgjmn2wmqeif.cloudfront.net"> <link rel="modulepreload" href="/build/p-709fb3ad.js"><script type="module" src="/build/p-709fb3ad.js" data-stencil data-resources-url="/build/" data-stencil-namespace="vviinn-widgets"></script> <script nomodule="" src="/build/vviinn-widgets.js" data-stencil></script> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""> <link href="https://fonts.googleapis.com/css2?family=Lato:wght@300;400&amp;display=swap" rel="stylesheet"> <style>vviinn-vps-button [slot] {
1
+ <!doctype html><html dir="ltr" lang="en"><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=5.0"> <title>Stencil Component Starter</title> <link rel="preconnect" href="https://cdn.vviinn.com"> <link rel="preconnect" href="https://d1rgjmn2wmqeif.cloudfront.net"> <link rel="modulepreload" href="/build/p-e296f9f6.js"><script type="module" src="/build/p-e296f9f6.js" data-stencil data-resources-url="/build/" data-stencil-namespace="vviinn-widgets"></script> <script nomodule="" src="/build/vviinn-widgets.js" data-stencil></script> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""> <link href="https://fonts.googleapis.com/css2?family=Lato:wght@300;400&amp;display=swap" rel="stylesheet"> <style>vviinn-vps-button [slot] {
2
2
  visibility: hidden;
3
3
  position: absolute;
4
4
  }
@@ -1 +0,0 @@
1
- import{r as i,c as t,h as s,H as e,g as n}from"./p-fa17e81f.js";import{v as o}from"./p-cea6942b.js";import{a}from"./p-c24caccd.js";import{S as h}from"./p-53eacbe3.js";import{c as r}from"./p-18fd769b.js";const d=class{constructor(s){i(this,s),this.globalSlotsChanged=t(this,"globalSlotsChanged",7),this.vviinnWidgetOpen=t(this,"vviinnWidgetOpen",7),this.vviinnImageUpload=t(this,"vviinnImageUpload",7),this.vviinnNoResult=t(this,"vviinnNoResult",7),this.vviinnWidgetLoad=t(this,"vviinnWidgetLoad",7),this.vviinnWidgetClose=t(this,"vviinnWidgetClose",7),this.vviinnProductClick=t(this,"vviinnProductClick",7),this.vviinnProductView=t(this,"vviinnProductView",7),this.vviinnProductLoad=t(this,"vviinnProductLoad",7),this.vviinnImageCrop=t(this,"vviinnImageCrop",7),this.vviinnSelectObject=t(this,"vviinnSelectObject",7),this.vviinnSelectFilter=t(this,"vviinnSelectFilter",7),this.getBasicEventData=()=>({widgetType:"VPS",campaignTypeId:"VPS",campaignTypeName:r.VPS,widgetId:this.el.id,widgetVersion:o}),this.token=void 0,this.currencySign="€",this.locale="de-DE",this.campaignId=void 0,this.addStyle=!1,this.mode="modal",this.apiPath=void 0,this.buttonPressed=!1}handleModalClosed(){this.buttonPressed=!1}componentDidLoad(){const i=this.el.querySelectorAll("[slot]");this.globalSlotsChanged.emit(Array.from(i))}handleClick(){this.buttonPressed=!0}resetButton(){this.buttonPressed=!1}render(){return s(e,{tabindex:"0",role:"button"},s("vviinn-button",{onClick:()=>{this.handleClick()},addStyle:this.addStyle,part:"vviinn-button"},s("slot",null,s(a,null))),s(h,null),s("vviinn-vps-widget",{mode:this.mode,"currency-sign":this.currencySign,token:this.token,locale:this.locale,apiPath:this.apiPath,exportparts:"brand, deeplink, currency, image, image-link, price-amount-sale, price-amount-outdated, price-amount-regular, price-container, price-outdated, price-regular, price-sale, price-prefix, title, product-card, example-images",campaignId:this.campaignId,showingInButton:!0,buttonPressed:this.buttonPressed,resetVpsButton:this.resetButton.bind(this),buttonElementId:this.el.id}))}get el(){return n(this)}};d.style=":host{display:block}";export{d as vviinn_vps_button}
@@ -1 +0,0 @@
1
- const o="2.20.0";export{o as v}
@@ -1,161 +0,0 @@
1
- import { B as BUILD, c as consoleDevInfo, p as plt, w as win, H, d as doc, N as NAMESPACE, a as promiseResolve, b as bootstrapLazy } from './index-87247c6a.js';
2
- export { s as setNonce } from './index-87247c6a.js';
3
- import { g as globalScripts } from './app-globals-76b20e61.js';
4
-
5
- /*
6
- Stencil Client Patch Browser v3.3.1 | MIT Licensed | https://stenciljs.com
7
- */
8
- /**
9
- * Helper method for querying a `meta` tag that contains a nonce value
10
- * out of a DOM's head.
11
- *
12
- * @param doc The DOM containing the `head` to query against
13
- * @returns The content of the meta tag representing the nonce value, or `undefined` if no tag
14
- * exists or the tag has no content.
15
- */
16
- function queryNonceMetaTagContent(doc) {
17
- var _a, _b, _c;
18
- return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;
19
- }
20
- // TODO(STENCIL-661): Remove code related to the dynamic import shim
21
- const getDynamicImportFunction = (namespace) => `__sc_import_${namespace.replace(/\s|-/g, '_')}`;
22
- const patchBrowser = () => {
23
- // NOTE!! This fn cannot use async/await!
24
- if (BUILD.isDev && !BUILD.isTesting) {
25
- consoleDevInfo('Running in development mode.');
26
- }
27
- // TODO(STENCIL-659): Remove code implementing the CSS variable shim
28
- if (BUILD.cssVarShim) {
29
- // shim css vars
30
- // TODO(STENCIL-659): Remove code implementing the CSS variable shim
31
- plt.$cssShim$ = win.__cssshim;
32
- }
33
- if (BUILD.cloneNodeFix) {
34
- // opted-in to polyfill cloneNode() for slot polyfilled components
35
- patchCloneNodeFix(H.prototype);
36
- }
37
- if (BUILD.profile && !performance.mark) {
38
- // not all browsers support performance.mark/measure (Safari 10)
39
- // because the mark/measure APIs are designed to write entries to a buffer in the browser that does not exist,
40
- // simply stub the implementations out.
41
- // TODO(STENCIL-323): Remove this patch when support for older browsers is removed (breaking)
42
- // @ts-ignore
43
- performance.mark = performance.measure = () => {
44
- /*noop*/
45
- };
46
- performance.getEntriesByName = () => [];
47
- }
48
- // @ts-ignore
49
- const scriptElm =
50
- // TODO(STENCIL-661): Remove code related to the dynamic import shim
51
- // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.
52
- BUILD.scriptDataOpts || BUILD.safari10 || BUILD.dynamicImportShim
53
- ? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\/${NAMESPACE}(\\.esm)?\\.js($|\\?|#)`).test(s.src) ||
54
- s.getAttribute('data-stencil-namespace') === NAMESPACE)
55
- : null;
56
- const importMeta = import.meta.url;
57
- const opts = BUILD.scriptDataOpts ? (scriptElm || {})['data-opts'] || {} : {};
58
- // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.
59
- if (BUILD.safari10 && 'onbeforeload' in scriptElm && !history.scrollRestoration /* IS_ESM_BUILD */) {
60
- // Safari < v11 support: This IF is true if it's Safari below v11.
61
- // This fn cannot use async/await since Safari didn't support it until v11,
62
- // however, Safari 10 did support modules. Safari 10 also didn't support "nomodule",
63
- // so both the ESM file and nomodule file would get downloaded. Only Safari
64
- // has 'onbeforeload' in the script, and "history.scrollRestoration" was added
65
- // to Safari in v11. Return a noop then() so the async/await ESM code doesn't continue.
66
- // IS_ESM_BUILD is replaced at build time so this check doesn't happen in systemjs builds.
67
- return {
68
- then() {
69
- /* promise noop */
70
- },
71
- };
72
- }
73
- // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.
74
- if (!BUILD.safari10 && importMeta !== '') {
75
- opts.resourcesUrl = new URL('.', importMeta).href;
76
- // TODO(STENCIL-661): Remove code related to the dynamic import shim
77
- // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.
78
- }
79
- else if (BUILD.dynamicImportShim || BUILD.safari10) {
80
- opts.resourcesUrl = new URL('.', new URL(scriptElm.getAttribute('data-resources-url') || scriptElm.src, win.location.href)).href;
81
- // TODO(STENCIL-661): Remove code related to the dynamic import shim
82
- if (BUILD.dynamicImportShim) {
83
- patchDynamicImport(opts.resourcesUrl, scriptElm);
84
- }
85
- // TODO(STENCIL-661): Remove code related to the dynamic import shim
86
- if (BUILD.dynamicImportShim && !win.customElements) {
87
- // module support, but no custom elements support (Old Edge)
88
- // @ts-ignore
89
- return import(/* webpackChunkName: "polyfills-dom" */ './dom-8aeda3ee.js').then(() => opts);
90
- }
91
- }
92
- return promiseResolve(opts);
93
- };
94
- // TODO(STENCIL-661): Remove code related to the dynamic import shim
95
- const patchDynamicImport = (base, orgScriptElm) => {
96
- const importFunctionName = getDynamicImportFunction(NAMESPACE);
97
- try {
98
- // test if this browser supports dynamic imports
99
- // There is a caching issue in V8, that breaks using import() in Function
100
- // By generating a random string, we can workaround it
101
- // Check https://bugs.chromium.org/p/chromium/issues/detail?id=990810 for more info
102
- win[importFunctionName] = new Function('w', `return import(w);//${Math.random()}`);
103
- }
104
- catch (e) {
105
- // this shim is specifically for browsers that do support "esm" imports
106
- // however, they do NOT support "dynamic" imports
107
- // basically this code is for old Edge, v18 and below
108
- const moduleMap = new Map();
109
- win[importFunctionName] = (src) => {
110
- var _a;
111
- const url = new URL(src, base).href;
112
- let mod = moduleMap.get(url);
113
- if (!mod) {
114
- const script = doc.createElement('script');
115
- script.type = 'module';
116
- script.crossOrigin = orgScriptElm.crossOrigin;
117
- script.src = URL.createObjectURL(new Blob([`import * as m from '${url}'; window.${importFunctionName}.m = m;`], {
118
- type: 'application/javascript',
119
- }));
120
- // Apply CSP nonce to the script tag if it exists
121
- const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
122
- if (nonce != null) {
123
- script.setAttribute('nonce', nonce);
124
- }
125
- mod = new Promise((resolve) => {
126
- script.onload = () => {
127
- resolve(win[importFunctionName].m);
128
- script.remove();
129
- };
130
- });
131
- moduleMap.set(url, mod);
132
- doc.head.appendChild(script);
133
- }
134
- return mod;
135
- };
136
- }
137
- };
138
- const patchCloneNodeFix = (HTMLElementPrototype) => {
139
- const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;
140
- HTMLElementPrototype.cloneNode = function (deep) {
141
- if (this.nodeName === 'TEMPLATE') {
142
- return nativeCloneNodeFn.call(this, deep);
143
- }
144
- const clonedNode = nativeCloneNodeFn.call(this, false);
145
- const srcChildNodes = this.childNodes;
146
- if (deep) {
147
- for (let i = 0; i < srcChildNodes.length; i++) {
148
- // Node.ATTRIBUTE_NODE === 2, and checking because IE11
149
- if (srcChildNodes[i].nodeType !== 2) {
150
- clonedNode.appendChild(srcChildNodes[i].cloneNode(true));
151
- }
152
- }
153
- }
154
- return clonedNode;
155
- };
156
- };
157
-
158
- patchBrowser().then(options => {
159
- globalScripts();
160
- return bootstrapLazy([["vviinn-vps-widget",[[1,"vviinn-vps-widget",{"token":[1],"apiPath":[1,"api-path"],"active":[1028],"currencySign":[1,"currency-sign"],"locale":[1],"campaignId":[1,"campaign-id"],"showingInButton":[4,"showing-in-button"],"buttonElementId":[1,"button-element-id"],"buttonPressed":[4,"button-pressed"],"mode":[1],"resetVpsButton":[16],"slidePosition":[32],"width":[32],"wrongImageFormat":[32],"trackingDeactivated":[32]},[[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"],[0,"vviinnImageCrop","trachSearchAreaChanges"],[0,"vviinnSelectObject","trackDetectedObject"],[0,"vviinnSelectFilter","trackFilter"]]]]],["vviinn-vps-button",[[1,"vviinn-vps-button",{"token":[1],"currencySign":[1,"currency-sign"],"locale":[1],"campaignId":[1,"campaign-id"],"addStyle":[4,"add-style"],"mode":[1],"apiPath":[1,"api-path"],"buttonPressed":[32]},[[0,"vviinnWidgetClose","handleModalClosed"]]]]],["vviinn-recommendations-sidebar",[[1,"vviinn-recommendations-sidebar",{"sidebarTitle":[1,"sidebar-title"],"token":[1],"productId":[1,"product-id"],"position":[1],"sourceImage":[1,"source-image"],"widgetScrollbar":[4,"widget-scrollbar"],"mode":[1],"campaigns":[1],"campaignType":[1,"campaign-type"],"color":[1],"imageWidth":[2,"image-width"],"currencySign":[1,"currency-sign"],"noResultText":[1,"no-result-text"],"noResultShow":[4,"no-result-show"],"gridArrowsDynamic":[4,"grid-arrows-dynamic"],"apiPath":[1,"api-path"],"buttonElementId":[1,"button-element-id"],"widgetVersion":[1,"widget-version"],"showingInButton":[4,"showing-in-button"],"state":[32]},[[16,"click","bodyClickListener"]]]]],["vviinn-vpr-button",[[1,"vviinn-vpr-button",{"token":[1],"productId":[1,"product-id"],"position":[1],"sourceImage":[1,"source-image"],"sidebarTitle":[1,"sidebar-title"],"modalScrollbar":[4,"modal-scrollbar"],"campaigns":[1],"campaignType":[1,"campaign-type"],"color":[1],"addStyle":[4,"add-style"],"mode":[1],"imageWidth":[2,"image-width"],"currencySign":[1,"currency-sign"],"noResultText":[1,"no-result-text"],"noResultShow":[4,"no-result-show"],"gridArrowsDynamic":[4,"grid-arrows-dynamic"],"apiPath":[1,"api-path"]}]]],["vviinn-image-view",[[1,"vviinn-image-view",{"basicEventData":[16]}]]],["vviinn-onboarding",[[1,"vviinn-onboarding"]]],["vviinn-example-images",[[1,"vviinn-example-images",{"basicEventData":[16]}]]],["vviinn-overlayed-modal",[[1,"vviinn-overlayed-modal",{"active":[4],"resetState":[16],"buttonElementId":[1,"button-element-id"],"hideBackButton":[4,"hide-back-button"],"widgetVersion":[1,"widget-version"]}]]],["vviinn-vpr-widget",[[1,"vviinn-vpr-widget",{"blockTitle":[1,"block-title"],"imageRatio":[2,"image-ratio"],"imageWidth":[2,"image-width"],"productId":[1,"product-id"],"token":[1],"currencySign":[1,"currency-sign"],"pricePrefix":[1,"price-prefix"],"mode":[1],"campaignType":[1,"campaign-type"],"locale":[1],"campaigns":[1],"color":[1],"gridArrowsDynamic":[4,"grid-arrows-dynamic"],"noResultText":[1,"no-result-text"],"noResultShow":[4,"no-result-show"],"apiPath":[1,"api-path"],"useCarousel":[4,"use-carousel"],"showingInButton":[4,"showing-in-button"],"showScroll":[4,"show-scroll"],"cssUrl":[1,"css-url"],"buttonElementId":[1,"button-element-id"],"recommendations":[32],"trackingDeactivated":[32],"hasErrorOnLoad":[32]},[[0,"vviinnProductLoad","handleProductLoading"],[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"]]]]],["vviinn-empty-results",[[1,"vviinn-empty-results"]]],["vviinn-image-selector",[[1,"vviinn-image-selector",{"basicEventData":[16],"startUpload":[4,"start-upload"],"resetVpsButton":[16]}]]],["vviinn-server-error",[[1,"vviinn-server-error",{"handler":[16]}]]],["vviinn-wrong-format",[[1,"vviinn-wrong-format",{"handler":[16]}]]],["search-filters",[[1,"search-filters",{"filter":[16],"basicEventData":[16],"selectedCategoryId":[32],"hideFilters":[32]}]]],["vviinn-button",[[1,"vviinn-button",{"addStyle":[4,"add-style"]}]]],["vviinn-privacy-badge",[[1,"vviinn-privacy-badge"]]],["vviinn-teaser",[[1,"vviinn-teaser"]]],["image-cropper",[[1,"image-cropper",{"disabled":[4],"basicEventData":[16],"handleMove":[32]}]]],["vviinn-carousel",[[0,"vviinn-carousel",{"mode":[1],"imageWidth":[2,"image-width"],"showScroll":[4,"show-scroll"],"campaignTypeId":[1,"campaign-type-id"],"widgetElementId":[1,"widget-element-id"],"gridArrowsDynamic":[4,"grid-arrows-dynamic"],"recommendations":[16],"widgetVersion":[1,"widget-version"],"moveDirection":[32],"contentGroups":[32],"activeContentGroup":[32],"isRTL":[32]}]]],["vviinn-example-image",[[1,"vviinn-example-image",{"src":[1],"width":[2],"height":[2],"basicEventData":[16],"selected":[32]}]]],["highlight-box",[[1,"highlight-box"]]],["vviinn-detected-object",[[1,"vviinn-detected-object",{"detectedObject":[16],"basicEventData":[16],"position":[32]}]]],["vviinn-modal",[[1,"vviinn-modal",{"active":[1540],"resetState":[16],"buttonElementId":[1,"button-element-id"],"widgetVersion":[1,"widget-version"],"hideBackButton":[4,"hide-back-button"],"slider":[32]}]]],["vviinn-onboarding-card-1",[[1,"vviinn-onboarding-card-1"]]],["vviinn-onboarding-card-2",[[1,"vviinn-onboarding-card-2"]]],["vviinn-onboarding-card-3",[[1,"vviinn-onboarding-card-3"]]],["vviinn-overlay",[[1,"vviinn-overlay"]]],["vviinn-slide",[[1,"vviinn-slide"]]],["vviinn-slider",[[1,"vviinn-slider",{"showBullets":[4,"show-bullets"],"position":[514],"showArrows":[4,"show-arrows"],"elementsCount":[32],"internalPosition":[32],"swipeStartPosition":[32],"isRTL":[32]}]]],["cropper-handler",[[1,"cropper-handler",{"handler":[16],"disabled":[4]}]]],["vviinn-error",[[1,"vviinn-error"]]],["vviinn-preloader",[[1,"vviinn-preloader"]]],["vviinn-product-card",[[1,"vviinn-product-card",{"brand":[1],"currency":[1],"deeplink":[1],"image":[1],"imageRatio":[2,"image-ratio"],"imageWidth":[2,"image-width"],"locale":[1],"price":[2],"pricePrefix":[1,"price-prefix"],"productId":[1,"product-id"],"productTitle":[1,"product-title"],"productType":[1,"product-type"],"salePrice":[2,"sale-price"],"responsive":[4],"campaignTypeId":[1,"campaign-type-id"],"dimmedBackground":[4,"dimmed-background"],"widgetElementId":[1,"widget-element-id"],"buttonElementId":[1,"button-element-id"],"widgetVersion":[1,"widget-version"],"index":[2],"imageLoaded":[32]}]]]], options);
161
- });
@@ -1 +0,0 @@
1
- import{r as i,c as t,h as s,H as e,g as n}from"./p-fa17e81f.js";import{v as o}from"./p-cea6942b.js";import{a}from"./p-c24caccd.js";import{S as h}from"./p-53eacbe3.js";import{c as r}from"./p-18fd769b.js";const d=class{constructor(s){i(this,s),this.globalSlotsChanged=t(this,"globalSlotsChanged",7),this.vviinnWidgetOpen=t(this,"vviinnWidgetOpen",7),this.vviinnImageUpload=t(this,"vviinnImageUpload",7),this.vviinnNoResult=t(this,"vviinnNoResult",7),this.vviinnWidgetLoad=t(this,"vviinnWidgetLoad",7),this.vviinnWidgetClose=t(this,"vviinnWidgetClose",7),this.vviinnProductClick=t(this,"vviinnProductClick",7),this.vviinnProductView=t(this,"vviinnProductView",7),this.vviinnProductLoad=t(this,"vviinnProductLoad",7),this.vviinnImageCrop=t(this,"vviinnImageCrop",7),this.vviinnSelectObject=t(this,"vviinnSelectObject",7),this.vviinnSelectFilter=t(this,"vviinnSelectFilter",7),this.getBasicEventData=()=>({widgetType:"VPS",campaignTypeId:"VPS",campaignTypeName:r.VPS,widgetId:this.el.id,widgetVersion:o}),this.token=void 0,this.currencySign="€",this.locale="de-DE",this.campaignId=void 0,this.addStyle=!1,this.mode="modal",this.apiPath=void 0,this.buttonPressed=!1}handleModalClosed(){this.buttonPressed=!1}componentDidLoad(){const i=this.el.querySelectorAll("[slot]");this.globalSlotsChanged.emit(Array.from(i))}handleClick(){this.buttonPressed=!0}resetButton(){this.buttonPressed=!1}render(){return s(e,{tabindex:"0",role:"button"},s("vviinn-button",{onClick:()=>{this.handleClick()},addStyle:this.addStyle,part:"vviinn-button"},s("slot",null,s(a,null))),s(h,null),s("vviinn-vps-widget",{mode:this.mode,"currency-sign":this.currencySign,token:this.token,locale:this.locale,apiPath:this.apiPath,exportparts:"brand, deeplink, currency, image, image-link, price-amount-sale, price-amount-outdated, price-amount-regular, price-container, price-outdated, price-regular, price-sale, price-prefix, title, product-card, example-images",campaignId:this.campaignId,showingInButton:!0,buttonPressed:this.buttonPressed,resetVpsButton:this.resetButton.bind(this),buttonElementId:this.el.id}))}get el(){return n(this)}};d.style=":host{display:block}";export{d as vviinn_vps_button}
@@ -1 +0,0 @@
1
- const o="2.20.0";export{o as v}
@@ -1,6 +0,0 @@
1
- :host {
2
- --color-primary-system: #0F62FE;
3
- --color-primary-hover-system: #014CDA;
4
- --color-icons-system: #2F8EDF;
5
- --spacer: 8px;
6
- }