vviinn-widgets 2.97.0 → 2.97.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{emitRequestFiltersMore-8b713194.js → emitRequestFiltersMore-35a9fed4.js} +1 -1
- package/dist/cjs/{index-105aee62.js → index-3035bd2b.js} +1 -1
- package/dist/cjs/{package-c4d4f888.js → package-721c5a8c.js} +1 -1
- package/dist/cjs/search-filters_19.cjs.entry.js +4 -4
- package/dist/cjs/{search.store-d2b420fd.js → search.store-4593a19d.js} +9 -0
- package/dist/cjs/vviinn-carousel_8.cjs.entry.js +4 -4
- package/dist/cjs/vviinn-preloader.cjs.entry.js +1 -1
- package/dist/cjs/vviinn-recommendations-sidebar.cjs.entry.js +2 -8
- package/dist/cjs/vviinn-vpr-button.cjs.entry.js +1 -1
- package/dist/cjs/vviinn-vps-button.cjs.entry.js +1 -1
- package/dist/cjs/vviinn-vps-widget.cjs.entry.js +3 -3
- package/dist/collection/components/vviinn-vpr-button/recommendations-sidebar/recommendations-sidebar.js +2 -7
- package/dist/collection/geometry/Rectangle.js +8 -0
- package/dist/esm/{emitRequestFiltersMore-3b8ae486.js → emitRequestFiltersMore-d84828f1.js} +1 -1
- package/dist/esm/{index-279b5fe1.js → index-60812b71.js} +1 -1
- package/dist/esm/{package-4ceb52bb.js → package-40e32dab.js} +1 -1
- package/dist/esm/search-filters_19.entry.js +4 -4
- package/dist/esm/{search.store-24896fcf.js → search.store-a11affa8.js} +9 -1
- package/dist/esm/vviinn-carousel_8.entry.js +4 -4
- package/dist/esm/vviinn-preloader.entry.js +1 -1
- package/dist/esm/vviinn-recommendations-sidebar.entry.js +2 -8
- package/dist/esm/vviinn-vpr-button.entry.js +1 -1
- package/dist/esm/vviinn-vps-button.entry.js +1 -1
- package/dist/esm/vviinn-vps-widget.entry.js +3 -3
- package/dist/types/components/vviinn-vpr-button/recommendations-sidebar/recommendations-sidebar.d.ts +1 -4
- package/dist/types/geometry/Rectangle.d.ts +5 -0
- package/dist/vviinn-widgets/{p-91937557.entry.js → p-19671ffc.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-67e72877.entry.js → p-1d31a842.entry.js} +1 -1
- package/dist/vviinn-widgets/{p-aad518d7.js → p-25a4ca73.js} +1 -1
- package/dist/vviinn-widgets/{p-263f64ad.entry.js → p-299751a4.entry.js} +1 -1
- package/{www/build/p-e3199f82.entry.js → dist/vviinn-widgets/p-3bada1d3.entry.js} +1 -1
- package/{www/build/p-042b091b.js → dist/vviinn-widgets/p-43242068.js} +1 -1
- package/{www/build/p-707f4189.js → dist/vviinn-widgets/p-57e0dbdb.js} +1 -1
- package/dist/vviinn-widgets/{p-926b0a0f.entry.js → p-cd704fa1.entry.js} +1 -1
- package/dist/vviinn-widgets/p-df78d39a.js +1 -0
- package/{www/build/p-fb2e2d42.entry.js → dist/vviinn-widgets/p-e2f8874f.entry.js} +1 -1
- package/dist/vviinn-widgets/p-e61fa361.entry.js +1 -0
- package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
- package/package.json +1 -1
- package/www/build/{p-91937557.entry.js → p-19671ffc.entry.js} +1 -1
- package/www/build/{p-67e72877.entry.js → p-1d31a842.entry.js} +1 -1
- package/www/build/{p-aad518d7.js → p-25a4ca73.js} +1 -1
- package/www/build/{p-263f64ad.entry.js → p-299751a4.entry.js} +1 -1
- package/{dist/vviinn-widgets/p-e3199f82.entry.js → www/build/p-3bada1d3.entry.js} +1 -1
- package/{dist/vviinn-widgets/p-042b091b.js → www/build/p-43242068.js} +1 -1
- package/{dist/vviinn-widgets/p-707f4189.js → www/build/p-57e0dbdb.js} +1 -1
- package/www/build/{p-926b0a0f.entry.js → p-cd704fa1.entry.js} +1 -1
- package/www/build/p-df78d39a.js +1 -0
- package/{dist/vviinn-widgets/p-fb2e2d42.entry.js → www/build/p-e2f8874f.entry.js} +1 -1
- package/www/build/p-e61fa361.entry.js +1 -0
- package/www/build/vviinn-widgets.esm.js +1 -1
- package/dist/vviinn-widgets/p-6963f7bf.entry.js +0 -1
- package/dist/vviinn-widgets/p-fc276eec.js +0 -1
- package/www/build/p-6963f7bf.entry.js +0 -1
- package/www/build/p-fc276eec.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as t,r as e,c as i,H as r,g as o,F as s}from"./p-1c863deb.js";import{h as n,t as a,s as l,_ as c,a as d,O as p,S as h,p as f,c as u,m as b,f as g,g as v,b as x,A as m,d as w,T as y,E as k}from"./p-042b091b.js";import{c as C,s as z,S as I,f as S,a as j}from"./p-499b1c72.js";import{c as P,s as _,e as T,C as V,S as L,a as O,R,b as A,I as M,L as E,P as W,p as F}from"./p-aad518d7.js";import{i as H,r as B,v as N,c as D,a as $,b as Z,d as U,e as G,f as J,g as q,h as X,j as K}from"./p-707f4189.js";import{v as Q}from"./p-fc276eec.js";const Y=()=>t("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("g",{id:"shopping-bag"},t("path",{id:"Vector",d:"M6 22C5.45 22 4.97917 21.8042 4.5875 21.4125C4.19583 21.0208 4 20.55 4 20V8C4 7.45 4.19583 6.97917 4.5875 6.5875C4.97917 6.19583 5.45 6 6 6H8C8 4.9 8.39167 3.95833 9.175 3.175C9.95833 2.39167 10.9 2 12 2C13.1 2 14.0417 2.39167 14.825 3.175C15.6083 3.95833 16 4.9 16 6H18C18.55 6 19.0208 6.19583 19.4125 6.5875C19.8042 6.97917 20 7.45 20 8V20C20 20.55 19.8042 21.0208 19.4125 21.4125C19.0208 21.8042 18.55 22 18 22H6ZM6 20H18V8H16V10C16 10.2833 15.9042 10.5208 15.7125 10.7125C15.5208 10.9042 15.2833 11 15 11C14.7167 11 14.4792 10.9042 14.2875 10.7125C14.0958 10.5208 14 10.2833 14 10V8H10V10C10 10.2833 9.90417 10.5208 9.7125 10.7125C9.52083 10.9042 9.28333 11 9 11C8.71667 11 8.47917 10.9042 8.2875 10.7125C8.09583 10.5208 8 10.2833 8 10V8H6V20ZM10 6H14C14 5.45 13.8042 4.97917 13.4125 4.5875C13.0208 4.19583 12.55 4 12 4C11.45 4 10.9792 4.19583 10.5875 4.5875C10.1958 4.97917 10 5.45 10 6Z",fill:"#161616"}))),tt=()=>t("svg",{width:"25",height:"24",viewBox:"0 0 25 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{d:"M11.1 13.8L8.95 11.65C8.76667 11.4667 8.53333 11.375 8.25 11.375C7.96667 11.375 7.73333 11.4667 7.55 11.65C7.36667 11.8333 7.275 12.0667 7.275 12.35C7.275 12.6333 7.36667 12.8667 7.55 13.05L10.4 15.9C10.6 16.1 10.8333 16.2 11.1 16.2C11.3667 16.2 11.6 16.1 11.8 15.9L17.45 10.25C17.6333 10.0667 17.725 9.83333 17.725 9.55C17.725 9.26667 17.6333 9.03333 17.45 8.85C17.2667 8.66667 17.0333 8.575 16.75 8.575C16.4667 8.575 16.2333 8.66667 16.05 8.85L11.1 13.8ZM12.5 22C11.1167 22 9.81667 21.7375 8.6 21.2125C7.38333 20.6875 6.325 19.975 5.425 19.075C4.525 18.175 3.8125 17.1167 3.2875 15.9C2.7625 14.6833 2.5 13.3833 2.5 12C2.5 10.6167 2.7625 9.31667 3.2875 8.1C3.8125 6.88333 4.525 5.825 5.425 4.925C6.325 4.025 7.38333 3.3125 8.6 2.7875C9.81667 2.2625 11.1167 2 12.5 2C13.8833 2 15.1833 2.2625 16.4 2.7875C17.6167 3.3125 18.675 4.025 19.575 4.925C20.475 5.825 21.1875 6.88333 21.7125 8.1C22.2375 9.31667 22.5 10.6167 22.5 12C22.5 13.3833 22.2375 14.6833 21.7125 15.9C21.1875 17.1167 20.475 18.175 19.575 19.075C18.675 19.975 17.6167 20.6875 16.4 21.2125C15.1833 21.7375 13.8833 22 12.5 22ZM12.5 20C14.7333 20 16.625 19.225 18.175 17.675C19.725 16.125 20.5 14.2333 20.5 12C20.5 9.76667 19.725 7.875 18.175 6.325C16.625 4.775 14.7333 4 12.5 4C10.2667 4 8.375 4.775 6.825 6.325C5.275 7.875 4.5 9.76667 4.5 12C4.5 14.2333 5.275 16.125 6.825 17.675C8.375 19.225 10.2667 20 12.5 20Z",fill:"#0FC373"})),et=()=>t("svg",{width:"9",height:"16",xmlns:"http://www.w3.org/2000/svg"},t("path",{d:"m9 8-7.895 8L0 14.88 6.79 8 0 1.12 1.105 0 9 8Z"})),it=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},t("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M23.5998 4.57C20.3898 4.19 19.8798 3.68 19.4198 0.37C19.3798 0.15 19.2198 0 19.0098 0C18.7998 0 18.6298 0.15 18.5898 0.37C18.1198 3.66 17.6298 4.13 14.4098 4.57C14.1698 4.61 14.0098 4.77 14.0098 5C14.0098 5.23 14.1698 5.39 14.4098 5.42C17.6298 5.81 18.1398 6.31 18.5898 9.62C18.6298 9.84 18.7998 10 19.0098 10C19.2198 10 19.3898 9.84 19.4198 9.62C19.8898 6.31 20.3898 5.81 23.5998 5.42C23.8398 5.38 23.9998 5.22 23.9998 5C23.9998 4.78 23.8298 4.6 23.5998 4.57Z",fill:"currentColor"}),t("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M19.93 13C19.43 13 19.01 13.37 18.95 13.86C18.52 17.36 15.51 20.06 11.89 20C8.24 19.94 5.15 16.92 5.01 13.27C4.92 10.79 6.13 8.58 8.01 7.27V11C8.01 11.55 8.46 12 9.01 12C9.56 12 10.01 11.55 10.01 11V5C10.01 4.45 9.56 4 9.01 4H3C2.45 4 2 4.45 2 5C2 5.55 2.45 6 3 6H6.35C4.24 7.71 2.91 10.35 3 13.3C3.15 17.98 7.06 21.87 11.74 22C16.45 22.13 20.37 18.65 20.93 14.13C21 13.53 20.53 13.01 19.93 13.01V13Z",fill:"currentColor"})),rt=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},t("path",{d:"M12 21C11.7167 21 11.4792 20.9042 11.2875 20.7125C11.0958 20.5208 11 20.2833 11 20V16C11 15.7167 11.0958 15.4792 11.2875 15.2875C11.4792 15.0958 11.7167 15 12 15C12.2833 15 12.5208 15.0958 12.7125 15.2875C12.9042 15.4792 13 15.7167 13 16V17H20C20.2833 17 20.5208 17.0958 20.7125 17.2875C20.9042 17.4792 21 17.7167 21 18C21 18.2833 20.9042 18.5208 20.7125 18.7125C20.5208 18.9042 20.2833 19 20 19H13V20C13 20.2833 12.9042 20.5208 12.7125 20.7125C12.5208 20.9042 12.2833 21 12 21ZM4 19C3.71667 19 3.47917 18.9042 3.2875 18.7125C3.09583 18.5208 3 18.2833 3 18C3 17.7167 3.09583 17.4792 3.2875 17.2875C3.47917 17.0958 3.71667 17 4 17H8C8.28333 17 8.52083 17.0958 8.7125 17.2875C8.90417 17.4792 9 17.7167 9 18C9 18.2833 8.90417 18.5208 8.7125 18.7125C8.52083 18.9042 8.28333 19 8 19H4ZM8 15C7.71667 15 7.47917 14.9042 7.2875 14.7125C7.09583 14.5208 7 14.2833 7 14V13H4C3.71667 13 3.47917 12.9042 3.2875 12.7125C3.09583 12.5208 3 12.2833 3 12C3 11.7167 3.09583 11.4792 3.2875 11.2875C3.47917 11.0958 3.71667 11 4 11H7V10C7 9.71667 7.09583 9.47917 7.2875 9.2875C7.47917 9.09583 7.71667 9 8 9C8.28333 9 8.52083 9.09583 8.7125 9.2875C8.90417 9.47917 9 9.71667 9 10V14C9 14.2833 8.90417 14.5208 8.7125 14.7125C8.52083 14.9042 8.28333 15 8 15ZM12 13C11.7167 13 11.4792 12.9042 11.2875 12.7125C11.0958 12.5208 11 12.2833 11 12C11 11.7167 11.0958 11.4792 11.2875 11.2875C11.4792 11.0958 11.7167 11 12 11H20C20.2833 11 20.5208 11.0958 20.7125 11.2875C20.9042 11.4792 21 11.7167 21 12C21 12.2833 20.9042 12.5208 20.7125 12.7125C20.5208 12.9042 20.2833 13 20 13H12ZM16 9C15.7167 9 15.4792 8.90417 15.2875 8.7125C15.0958 8.52083 15 8.28333 15 8V4C15 3.71667 15.0958 3.47917 15.2875 3.2875C15.4792 3.09583 15.7167 3 16 3C16.2833 3 16.5208 3.09583 16.7125 3.2875C16.9042 3.47917 17 3.71667 17 4V5H20C20.2833 5 20.5208 5.09583 20.7125 5.2875C20.9042 5.47917 21 5.71667 21 6C21 6.28333 20.9042 6.52083 20.7125 6.7125C20.5208 6.90417 20.2833 7 20 7H17V8C17 8.28333 16.9042 8.52083 16.7125 8.7125C16.5208 8.90417 16.2833 9 16 9ZM4 7C3.71667 7 3.47917 6.90417 3.2875 6.7125C3.09583 6.52083 3 6.28333 3 6C3 5.71667 3.09583 5.47917 3.2875 5.2875C3.47917 5.09583 3.71667 5 4 5H12C12.2833 5 12.5208 5.09583 12.7125 5.2875C12.9042 5.47917 13 5.71667 13 6C13 6.28333 12.9042 6.52083 12.7125 6.7125C12.5208 6.90417 12.2833 7 12 7H4Z",fill:"#161616"})),ot=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",fill:"none"},t("g",{"clip-path":"url(#clip0_1696_811)"},t("path",{d:"M24 9.4L22.6 8L16 14.6L9.4 8L8 9.4L14.6 16L8 22.6L9.4 24L16 17.4L22.6 24L24 22.6L17.4 16L24 9.4Z",fill:"#C6C6C6"})),t("defs",null,t("clipPath",{id:"clip0_1696_811"},t("rect",{width:"32",height:"32",fill:"white"})))),st="--vviinn-carousel-image-width",nt="items-group";function at(t,e,i){return function(r){for(var o=Array(i.length+1),s=0;s<i.length;s++)o[s]=i[s];return o[i.length]=r,0===e?t.apply(null,o):at(t,e-1,o)}}Object.assign(Object.assign({},{concat:(t,e)=>t/e}),{empty:1});var lt={1:function(t){return[t]},2:function(t){return function(e){return[t,e]}},3:function(t){return function(e){return function(i){return[t,e,i]}}},4:function(t){return function(e){return function(i){return function(r){return[t,e,i,r]}}}},5:function(t){return function(e){return function(i){return function(r){return function(o){return[t,e,i,r,o]}}}}}};function ct(t){return n.call(lt,t)||(lt[t]=at(a,t-1,[])),lt[t]}const dt=class{constructor(t){e(this,t),this.vviinnProductLoad=i(this,"vviinnProductLoad",7),this.vviinnProductView=i(this,"vviinnProductView",7),this.columns=0,this.resizeObserver=new ResizeObserver((()=>this.handleResize())),this.defaultAnimationInterval=2e3,this.setModeMaxDiscount=null,this.mutationObserver=new MutationObserver((()=>this.cloneSlottedContent())),this.handleWindowResize=()=>this.setImageWidthSetMode("100%"),this.isLastGroup=()=>this.isGridMode&&this.activeContentGroup===this.getContentGroups().length-1,this.isFirstGroup=()=>this.isGridMode&&0===this.activeContentGroup,this.updateCard=(t,e,i)=>{let r=this.crossSellingRecommendations.find((e=>e.productId===t));const o=this.crossSellingRecommendations.indexOf(r),s=this.recommendations.indexOf(r),n=this.crossSellingRecommendations;if(s+e<this.recommendations.length){const r=this.recommendations[s+e];n[o]=r;const a=this.getProductData(r,s+e);this.vviinnProductLoad.emit(a),this.crossSellingRecommendations=[...n];let l=this.el.querySelector(`[data-id="${t}"]`);const c=l.shadowRoot.querySelector(".update-button");null==c||c.classList.add("hidden");const d=l.getBoundingClientRect().width;this.setImageWidthSetMode(`${d}px`);const p=setTimeout((()=>{s+2*e<=this.recommendations.length-1&&(null==c||c.classList.remove("hidden")),this.vviinnProductView.emit(a),clearTimeout(p)}),i)}},this.moveDirection="right",this.contentGroups=[],this.activeContentGroup=0,this.isRTL=!1,this.crossSellingRecommendations=[],this.setModeDiscount=null,this.currentDiscountIndex=0,this.setModeAppliedDiscounts={},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,this.addToBasketShow=void 0,this.updatingAllCards=void 0,this.updateButtonLocation=void 0,this.replaceSlotsContent=void 0,this.setModeDiscountsArray=void 0,this.imageRatio=void 0,this.currencySign=void 0,this.pricePrefix="",this.locale=void 0}getProductData(t,e){return{productId:t.productId,productRank:e,productName:t.productTitle,productType:t.productType,widgetType:"VPR",campaignTypeId:this.campaignTypeId,campaignTypeName:C[this.campaignTypeId],widgetId:this.widgetElementId,widgetVersion:this.widgetVersion}}componentWillLoad(){this.isRTL="rtl"===document.dir}connectedCallback(){this.setItemWidth(),this.isSetMode="set"===this.mode,this.isGridMode="grid"===this.mode,this.isContinuityMode="continuity"===this.mode;const t=this.getColumnsNumber();this.isSetMode&&(window.addEventListener("resize",this.handleWindowResize),this.sourceProduct=l.sourceProduct,this.setModeDiscount=this.setModeDiscountsArray[0],this.setModeMaxDiscount=this.setModeDiscountsArray[this.setModeDiscountsArray.length-1]),this.isSetMode&&this.recommendations.length>=t&&(this.crossSellingRecommendations=this.recommendations.slice(0,t))}disconnectedCallback(){this.resizeObserver.disconnect(),window.removeEventListener("resize",this.handleWindowResize)}componentDidUpdate(){this.replaceSlotsContent()}componentDidLoad(){this.setWidth(),this.columns=this.getColumnsNumber();const t=this.el.querySelector(".content");this.mutationObserver.observe(t,{subtree:!0,childList:!0}),this.resizeObserver.observe(this.getHostParent()),this.isGridMode&&this.getContentNode().addEventListener("scrollend",(()=>{this.activeContentGroup=this.getActiveGroupIndex()}))}updatingAllCardsWatcher(){if(!this.updatingAllCards)return;const t=this.getColumnsNumber();this.crossSellingRecommendations.forEach((e=>{this.updateCard(e.productId,t,this.defaultAnimationInterval)}))}crossSellingClickListener({detail:t}){const e=this.getColumnsNumber(),{animationInterval:i,productData:r}=t;this.updateCard(r.productId,e,i)}getItemWidthFromDocument(){return parseInt(getComputedStyle(document.body).getPropertyValue(st))}async trackAddToBasket({detail:t}){if(!this.isSetMode)return;const{productId:e}=t;this.setModeAppliedDiscounts.hasOwnProperty(e)||(this.setModeAppliedDiscounts=Object.assign(Object.assign({},this.setModeAppliedDiscounts),{[e]:this.setModeDiscount}),this.setModeDiscount===this.setModeMaxDiscount||(this.currentDiscountIndex+=1,this.setModeDiscount=this.setModeDiscountsArray[this.currentDiscountIndex]))}setItemWidth(){const t=this.getItemWidthFromDocument(),e=isNaN(t)?this.imageWidth:t;this.el.style.setProperty(st,`${e}px`)}setImageWidthSetMode(t){this.el.style.setProperty("--vviinn-set-mode-image-width",t)}getContentClassMap(){return{content:!0,[this.moveDirection]:!0,[this.mode]:!0,"show-scrollbar":!this.isSetMode&&this.showScroll}}handleResize(){this.setWidth(),this.setItemWidth();const t=this.getColumnsNumber();t!==this.columns&&(this.columns=t)}calculateMoveStep(){const t=this.getContent().map((t=>t.getBoundingClientRect().width)),e=t.reduce(((t,e)=>t+e),0),i=c.pipe(window.getComputedStyle(this.getContentNode()),(t=>t.getPropertyValue("gap")),(t=>parseInt(t.split("px")[0])),(t=>isNaN(t)?0:t));return e/t.length+i}getHostParent(){return this.el.parentNode.host.parentElement}setWidth(){const t=this.getHostParent();if(!t)return;const e=getComputedStyle(t),i=t.getBoundingClientRect().width-(parseInt(e["padding-right"])+parseInt(e["padding-left"]));this.el.style.setProperty("--vviinn-carousel-content-width",`${i}px`)}getParent(){return this.el.parentNode.host.parentElement}cloneSlottedContent(){this.setWidth()}getActiveGroupIndex(){const t=this.getContentGroups().map((t=>t.getBoundingClientRect().left)).map(((t,e)=>[t,e])).filter((t=>t[0]>=0));return t.length>0?this.isRTL?t[t.length-1][1]:t[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"),e=parseInt(t);return e&&!isNaN(e)?e:4}getContentGroups(){return Array.from(this.el.querySelectorAll(`.${nt}`))}handleCarouselButtonClick(t){this.moveDirection=t;const e=this.getContentNode(),{scrollLeft:i}=e,r=this.calculateMoveStep();requestAnimationFrame((()=>{e.scrollTo({top:0,left:"right"===t?i+r:i-r,behavior:"smooth"})}))}scroll(t){const e=this.getContentNode();requestAnimationFrame((()=>{e.scrollTo({top:0,left:this.calculateMoveStep()*t,behavior:"smooth"})}))}showBullets(){return this.isGridMode&&this.showScroll}showScrollbar(){return this.isContinuityMode&&this.showScroll}getClassMap(){return{[this.mode]:!0,"show-scrollbar":this.showScrollbar()}}renderRecommendation(e,i){var r,o,s;const n=this.setModeAppliedDiscounts[e.productId],a=(l=null===(r=e.price)||void 0===r?void 0:r.actual,Math.round(l*(1-(null!=n?n:this.setModeDiscount)/100)*100)/100);var l;return t("vviinn-product-card",{part:"product-part",productId:e.productId,productTitle:e.title,productType:e.productType,deeplink:e.deeplink,image:e.image.thumbnail,brand:e.brand,imageWidth:this.imageWidth,imageRatio:this.imageRatio,price:e.price.actual,salePrice:this.isSetMode?a:e.price.sale,basePrice:null===(o=e.basePrice)||void 0===o?void 0:o.actual,baseSalePrice:null===(s=e.basePrice)||void 0===s?void 0:s.sale,responsive:this.isGridMode,campaignTypeId:this.campaignTypeId,index:i,widgetElementId:this.widgetElementId,widgetVersion:this.widgetVersion,basketButtonShow:this.addToBasketShow,mode:this.mode,"data-id":e.productId,energyCertifications:e.energyCertifications,updatingAllCards:this.updatingAllCards,defaultAnimationInterval:this.defaultAnimationInterval,updateButtonLocation:this.updateButtonLocation,appliedDiscountPercentage:n,currentDiscountPercentage:this.setModeDiscount,currency:this.currencySign,pricePrefix:this.pricePrefix,locale:this.locale,priceLabel:P(e)})}renderRecommendationGroup(e){return t("div",{class:nt,part:"items-group"},...e)}renderRecommendationGroups(t){return t.map((t=>this.renderRecommendationGroup(t)))}renderRecommendations(){return this.isGridMode?this.renderGrid():this.renderRecommendationsElements()}renderRecommendationsElements(){return(this.isSetMode?this.crossSellingRecommendations:this.recommendations).map(((t,e)=>this.renderRecommendation(t,e)))}renderGrid(){const t=this.renderRecommendationsElements(),e=d.chunksOf(this.getColumnsNumber())(t);return this.renderRecommendationGroups(e)}renderBullets(){const e=Math.ceil(this.recommendations.length/this.getColumnsNumber());return Array.from(Array(e).keys()).map((e=>t("div",{class:{bullet:!0,active:this.activeContentGroup===e},onClick:()=>this.scroll(e)})))}render(){var e,i;return t(r,{class:this.getClassMap()},t("div",{class:Object.assign({body:!0},this.getClassMap())},!this.isSetMode&&t("button",{class:"prev",onClick:()=>this.handleCarouselButtonClick("left"),part:"carousel-button",disabled:this.gridArrowsDynamic&&this.isFirstGroup()},t(et,null)),this.isSetMode&&this.crossSellingRecommendations.length>0&&t("vviinn-product-card",{part:"product-part",class:"set-mode product-card--source",productTitle:this.sourceProduct.title,image:this.sourceProduct.image.thumbnail,price:this.sourceProduct.price.actual,salePrice:this.sourceProduct.price.sale,basePrice:null===(e=this.sourceProduct.basePrice)||void 0===e?void 0:e.actual,baseSalePrice:null===(i=this.sourceProduct.basePrice)||void 0===i?void 0:i.sale,imageRatio:1,imageWidth:300,isSourceProduct:!0,currency:this.currencySign,pricePrefix:this.pricePrefix,locale:this.locale}),t("div",{class:this.getContentClassMap()},this.renderRecommendations()),!this.isSetMode&&t("button",{class:"next",onClick:()=>this.handleCarouselButtonClick("right"),part:"carousel-button",disabled:this.gridArrowsDynamic&&this.isLastGroup()},t(et,null))),this.showBullets()&&t("div",{class:"bullets"},this.renderBullets()))}get el(){return o(this)}static get watchers(){return{updatingAllCards:["updatingAllCardsWatcher"]}}};dt.style=":host{--vviinn-carousel-columns-internal:var(--vviinn-carousel-columns, 4)}.body{display:flex;position:relative;width:var(--vviinn-carousel-content-width);flex-direction:column}.bullets{display:flex;flex-direction:row;grid-gap:24px;justify-content:center}.bullet{width:10px;height:10px;background:#e0e0e0;border-radius:50%;cursor:pointer}.bullet.active{background:#161616}.content: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;gap:8px;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) .prev,:host(.continuity) .next{border-radius:2px}:host(.grid) .prev,:host(.grid) .next{border-radius:50%}.prev,.next{align-items:center;background-color:white;border:none;box-shadow:0px 2px 6px rgba(0, 0, 0, 0.15);fill:#525252;cursor:pointer;display:grid;height:40px;justify-items:center;position:absolute;top:calc(50% - 20px);width:40px;z-index:1;padding:0;margin:0}.next:disabled,.prev:disabled{display:none}.prev svg{transform:rotate(180deg);margin-left:-5px}.prev{left:0}.next{right:0}.items-group{display:grid;grid-gap:16px;grid-template-columns:repeat(var(--vviinn-carousel-columns-internal), 1fr);min-width:100%}@media (max-width: 480px){.items-group{grid-template-columns:repeat(2, 1fr)}}.body.set{max-width:100%;justify-content:space-between;margin-left:auto;display:flex;flex-direction:row;gap:112px}.body.set::-webkit-scrollbar{display:none}@media (max-width: 768px){.body.set{gap:40px}}.content.set{grid-gap:20px;height:-moz-fit-content;height:fit-content;max-width:-moz-fit-content;max-width:fit-content;overflow:unset}";const pt=class{constructor(t){e(this,t),this.labelClickHandler=t=>{this.classLabelUrl?(t.preventDefault(),window.open(this.classLabelUrl,"_blank","noopener noreferrer")):this.productClickHandler(t)},this.classLabelUrl=void 0,this.classIconUrls=void 0,this.productType=void 0,this.classDataSheetUrl=void 0,this.iconDirection="right",this.productClickHandler=void 0}componentWillLoad(){z(this,this.el)}render(){return t(r,{class:{hidden:!this.classIconUrls&&!this.productType&&!this.classDataSheetUrl},exportparts:"energy-label-container, energy-label-icon, energy-label-product-type, energy-label-data-sheet-link"},t("div",{class:"container",part:"energy-label-container"},!!this.classIconUrls&&t("a",{class:"class-label-link",onClick:this.labelClickHandler},t("img",{class:"class-label-icon",part:"energy-label-icon",src:this.classIconUrls[this.iconDirection]})),(this.productType||this.classDataSheetUrl)&&t("div",{class:"info-container"},this.productType&&t("span",{class:"product-type",part:"energy-label-product-type"},this.productType),this.classDataSheetUrl&&t("a",{class:"data-sheet-link",part:"energy-label-data-sheet-link",href:this.classDataSheetUrl,target:"_blank",rel:"noopener noreferrer"},t("slot",{name:"vviinn-energy-label-data-sheet-text"},H.t("energyLabel.dataSheetText"))))))}get el(){return o(this)}};pt.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:130px;--product-card-results-min-width:250px;--image-set-mode-min-size:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{display:contents;line-height:0px}:host(.hidden){display:none}.container{display:flex;flex-direction:row;max-width:100%;gap:var(--spacing-75);align-items:center}.info-container{width:100%;height:100%;display:flex;justify-content:center;text-align:left;flex-direction:column;font-size:var(--font-size-caption);font-weight:var(--font-weight-400);line-height:var(--line-height-caption);letter-spacing:var(--letter-spacing-caption);font-style:normal}.class-label-link{cursor:pointer}.class-label-icon{display:inline-block;height:32px;width:auto;flex-shrink:0}.product-type,.data-sheet-link{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow-wrap:anywhere;overflow:hidden;text-overflow:ellipsis;text-decoration:none;color:var(--color-text-primary)}.product-type{color:var(--color-text-helper)}.data-sheet-link{cursor:pointer;text-decoration:none;color:var(--color-text-primary)}";const ht=t=>t&&"values"in t?t.values:t&&"histogram"in t?t.histogram:[],ft=class{constructor(t){e(this,t),this.vviinnFiltersChanged=i(this,"vviinnFiltersChanged",7),this.vviinnFilters=i(this,"vviinnFilters",7),this.globalSlotsChanged=i(this,"globalSlotsChanged",7),this.handleSetFilters=({detail:t})=>{this.filters=t},this.handleFiltersChanged=({detail:t})=>{const{filters:e,el:i}=t;i!==this.el&&(this.requestFilters=e)},this.timer=null,this.priceChangeHandler=t=>{this.timer&&clearTimeout(this.timer);const e=this.filters.find((t=>"price"===t.column));e&&(this.timer=setTimeout((()=>{this.handleSubFilterSelection(t,e)}),200))},this.filters=[],this.filtersString="",this.locale="de-DE",this.mode="button",this.requestFilters=[],this.showMore=!1,this.selectedMoreOptions=[]}replaceSlotsContent(){const t=this.el.querySelectorAll("[slot]");this.globalSlotsChanged.emit({slots:Array.from(t),element:this.el})}componentDidRender(){this.replaceSlotsContent()}async componentWillLoad(){await H.init({lng:this.locale,fallbackLng:"en",resources:B}),z(this,this.el)}handleSubFilterSelection(t,e){this.requestFilters=_(this.requestFilters,e,t),T([...this.requestFilters],this.el,this.vviinnFiltersChanged)}showActiveOnModalSubButton(t,e){let i=!1;return t.forEach((t=>{t.values.some((t=>t===e||t===e.interval||t===e.value))&&(i=!0)})),i}handleMoreOptionsMainClick(t){this.selectedMoreOptions=this.selectedMoreOptions.includes(t)?this.selectedMoreOptions.filter((e=>e!==t)):[...this.selectedMoreOptions,t]}filtersStringWatcher(){if(""!==this.filtersString)try{this.filters=JSON.parse(this.filtersString)}catch(t){console.error("Invalid filters string",t)}}connectedCallback(){document.addEventListener("vviinnFilters",this.handleSetFilters),document.addEventListener("vviinnFiltersChanged",this.handleFiltersChanged),this.filtersStringWatcher()}disconnectedCallback(){document.removeEventListener("vviinnFilters",this.handleSetFilters),document.addEventListener("vviinnFiltersChanged",this.handleFiltersChanged)}resetModal(){T([],this.el,this.vviinnFiltersChanged),this.requestFilters=[],this.showMore=!1}render(){return t(r,null,I("filters"),this.filters.length>0&&"button"===this.mode&&t("button",{class:"filters-more-button",onClick:()=>this.showMore=!0,part:"extended-filters-button"},t(rt,null)),t("div",{class:`filters-modal filters-modal-${this.mode} ${this.showMore?"open":""}`,part:"extended-filters-modal"},t("div",{class:"filters-modal-wrapper",part:"extended-filters-modal-wrapper"},t("div",{class:"filters-modal-header",part:"extended-filters-header"},t("slot",{name:"vviinn-extended-filters-title"},t("span",null,H.t("filters.modal.title"))),t("button",{class:"filters-modal-close",onClick:()=>{this.showMore=!1,this.requestFilters=[]},part:"extended-filters-modal-close"},t(ot,null))),t("ul",{class:"filters-modal-list",part:"extended-filters-list"},this.filters.map((e=>{var i,r,o;const s=e.column,n=ht(e),a=this.requestFilters.find((({column:t})=>t===s)),l=[];return null===(i=null==a?void 0:a.values)||void 0===i||i.forEach((e=>{const i=n.findIndex((t=>t.value.value===e||t.value===e));i>-1&&l.push(t("span",null,n[i].label))})),t("li",{part:"extended-filters-row"},t("div",{class:"filters-modal-main-button-wrapper",part:"extended-filters-row-wrapper"},t("button",{onClick:()=>this.handleMoreOptionsMainClick(e.column),class:"filters-modal-main-button",part:"extended-filters-main-button"},e.label),l.length>0&&t("div",{class:"filters-modal-main-button-added-options",part:"extended-filters-selected-wrapper"},l)),"price"===s&&this.selectedMoreOptions.includes(e.column)?t("vviinn-price-range",{histogram:n,priceChangeHandler:this.priceChangeHandler,selectedInterval:null!==(o=null===(r=this.requestFilters.find((({column:t})=>"price"===t)))||void 0===r?void 0:r.values[0])&&void 0!==o?o:{}}):t("ul",{class:`filters-modal-sub-list ${"color_confirmed"===s?"filters-modal-sub-list-inline":""} ${this.selectedMoreOptions.includes(e.column)?"open":""}`,part:"extended-filters-sub-list"},n&&n.map((({value:i,label:r,active:o})=>{const s=i.hexCode,n=this.showActiveOnModalSubButton(this.requestFilters,i);return t("li",{part:"extended-filters-sub-row"},t("button",{onClick:()=>this.handleSubFilterSelection(i,e),class:`filters-more-modal-button ${s?"filters-sub-button-color":""} ${n?"active":""}`,style:{backgroundColor:s},disabled:!o,part:"extended-filters-option-button"},t("span",null,t("span",null,r),t(n?V:L,null))))}))))}))),t("div",{class:"filters-modal-actions",part:"extended-filters-actions"},t("button",{class:"filters-modal-apply",onClick:()=>this.showMore=!1,disabled:0===this.requestFilters.length,part:"extended-filters-apply"},t("slot",{name:"vviinn-extended-filters-apply"},H.t("filters.modal.apply"))),t("button",{class:"filters-modal-reset",onClick:()=>this.resetModal(),part:"extended-filters-reset"},t("slot",{name:"vviinn-extended-filters-reset"},H.t("filters.modal.resetFilters")))))))}get el(){return o(this)}static get watchers(){return{filtersString:["filtersStringWatcher"]}}};ft.style=':host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:130px;--product-card-results-min-width:250px;--image-set-mode-min-size:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{display:block;font-family:var(--font-family, var(--font-family-base));font-style:normal;}:host(.show-in-widget){padding-left:24px}.filters-modal-list,.sub-filters-wrapper,.main-filters-list,.filters-modal-sub-list,.selected-filters-wrapper{list-style:none;margin:0;padding:0}.main-filters-list{padding:var(--spacing-25);gap:var(--spacing-25);border-radius:8px;background:var(--surface-bg-color-01);display:inline-flex}.filters-modal-main-button,.filters-sub-button,.filters-main-button,.filters-modal-close,.filters-sub-button-selected{font-family:var(--font-family, var(--font-family-base));cursor:pointer;border:none}.filters-sub-button,.filters-main-button{font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);display:flex;justify-content:center;align-items:center;border-radius:6px}.filters-main-button{padding:var(--spacing-100);color:var(--color-text-helper);background:none}.filters-main-button.active,.filters-main-button:hover{background:var(--surface-bg-color-02);color:var(--color-text-primary)}.sub-filters-wrapper,.selected-filters-wrapper{gap:var(--spacing-100);display:flex;flex-direction:row;overflow-x:auto;scrollbar-width:thin;padding-bottom:6px}.sub-filters-wrapper{gap:var(--spacing-100);margin-top:16px;margin:16px -2px 0}.sub-filters-wrapper>li{padding:2px}.selected-filters-wrapper{margin-top:10px;gap:var(--spacing-100);flex-wrap:wrap}:host(.show-in-widget) .selected-filters-wrapper{flex-wrap:unset;overflow-x:auto}:host(.show-in-widget) .sub-filters-wrapper,:host(.show-in-widget) .selected-filters-wrapper{transform:translateX(-24px);padding-left:24px;padding-right:24px;width:calc(100% - 24px)}@media (max-width: 768px){.sub-filters-wrapper,.selected-filters-wrapper{flex-wrap:unset;overflow-x:auto;padding-bottom:0}.sub-filters-wrapper,.selected-filters-wrapper{margin-top:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.sub-filters-wrapper::-webkit-scrollbar,.selected-filters-wrapper::-webkit-scrollbar{display:none}}.filters-sub-button{color:var(--color-text-primary);background:var(--surface-bg-color-01);padding:var(--spacing-100);gap:var(--spacing-25);height:100%}.filters-sub-button>span,.filters-sub-button-selected>span{display:inline-flex;justify-content:center;align-items:center;gap:var(--spacing-25);white-space:nowrap}.filters-sub-button>span>span,.filters-sub-button-selected>span>span{padding:2px}.filters-sub-button:hover{background:var(--surface-bg-color-01-hover)}.filters-sub-button:disabled{cursor:not-allowed;background:var(--surface-bg-color-disabled);color:var(--color-text-disabled)}.filters-more-button{display:flex;padding:var(--spacing-100);gap:var(--spacing-50);border-radius:var(--border-radius-100);align-items:flex-start;background:var(--button-bg-color-secondary);border:none;cursor:pointer}.filters-modal.filters-modal-button{display:none;position:fixed;top:0;bottom:0;right:0;left:0;background-color:rgba(0, 0, 0, 0.5);z-index:98}.filters-modal.filters-modal-preview{display:block}.filters-modal.open{display:block}.filters-modal-wrapper{display:flex;flex-direction:column}.filters-modal.filters-modal-button .filters-modal-wrapper{position:fixed;top:0;bottom:0;right:0;width:420px;background-color:#ffffff;z-index:99;border-radius:32px 0px 0px 32px}@media (max-width: 768px){.filters-modal.filters-modal-button .filters-modal-wrapper{width:100%;top:20%;border-radius:32px 32px 0px 0px}}.filters-modal-header{position:relative;padding:20px 0;color:var(--color-text-primary);text-align:center;font-size:var(--font-size-headline);font-weight:var(--font-weight-500);line-height:var(--line-height-headline);letter-spacing:var(--letter-spacing-headline);border-bottom:1px solid var(--color-border-01);display:flex;justify-content:center;gap:5px}.filters-modal-list{margin:4px 0 0 24px;flex:1;overflow-y:auto;padding-bottom:20px}.filters-modal-list>li{padding-right:24px}.filters-modal-main-button-wrapper{border-bottom:1px solid var(--color-border-01);padding:20px 0}.filters-modal-main-button{width:100%;background:none;text-align:left;padding:0;color:var(--color-text-primary);font-size:var(--font-size-label-large);font-weight:var(--font-weight-500);line-height:var(--line-height-label-large);letter-spacing:var(--letter-spacing-label-large)}.filters-modal-sub-list{display:none;margin:0 -6px}.filters-modal-sub-list>li{display:inline-block;margin:0 4px}.filters-modal-sub-list-inline{margin:0 -6px}.filters-modal-sub-list-inline>li{margin:0 6px}.filters-modal-sub-list.open{display:block}.filters-modal-sub-list>li{margin-top:10px;padding:2px}.filters-modal.filters-modal-button .filters-modal-close{position:absolute;right:0;top:15px;cursor:pointer;background:none}.filters-modal.filters-modal-preview .filters-modal-close{display:none}.filters-more-modal-button{background:none;border:none;cursor:pointer;display:flex;padding:var(--spacing-100);align-items:center;gap:var(--spacing-25);border-radius:var(--border-radius-100);background:var(--surface-bg-color-01);font-family:var(--font-family, var(--font-family-base));color:var(--color-text-primary)}.filters-more-modal-button.active{background:var(--surface-bg-color-inverse);color:var(--color-text-inverse)}.filters-more-modal-button>span{display:flex;align-items:center;justify-content:center;gap:var(--spacing-25)}.filters-more-modal-button>span>span{padding:2px}.filters-more-modal-button:disabled{cursor:not-allowed;opacity:0.5}.filters-modal-actions{border-top:1px solid var(--color-border-01);padding:var(--spacing-250);z-index:10;background:#ffffff;border-radius:0px 0px 0px 32px}.filters-modal-apply,.filters-modal-reset{font-family:var(--font-family, var(--font-family-base))}.filters-modal-apply{cursor:pointer;width:100%;border:none;display:flex;padding:var(--spacing-150);justify-content:center;align-items:center;gap:var(--spacing-50);align-self:stretch;color:var(--color-text-inverse);text-align:center;border-radius:var(--border-radius-150);background:var(--button-bg-color-primary);font-size:var(--font-size-label-large);font-weight:var(--font-weight-500);line-height:var(--line-height-label-large);letter-spacing:var(--letter-spacing-label-large)}.filters-modal-apply:disabled{background:var(--button-bg-color-disabled);color:var(--color-text-disabled)}.filters-modal-reset{background:none;border:none;cursor:pointer;display:block;text-align:center;width:100%;margin-top:20px;color:var(--color-text-secondary);text-align:center;font-size:var(--font-size-label);font-weight:var(--font-weight-500);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label)}.selected-filters-wrapper>li{border-radius:var(--border-radius-100);background:var(--surface-bg-color-inverse);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:var(--spacing-100)}.filters-sub-button-selected{display:flex;align-items:center;gap:var(--spacing-25);background:var(--surface-bg-color-inverse);border-radius:var(--border-radius-100);color:var(--color-text-inverse);text-overflow:ellipsis;font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);padding:var(--spacing-100)}.selected-filters-wrapper>li .filters-sub-button-selected{padding:0}.filters-sub-button-color{width:40px;height:40px;border:2px solid var(--color-border-01);outline:2px solid var(--color-border-01);border-radius:20px}.filters-sub-button-color:disabled{opacity:0.25}.selected-filters-wrapper .filters-sub-button-selected.filters-sub-button-color{width:24px;height:24px;border:none}.filters-sub-button-color>span{display:none}.filters-sub-button-color.active{border:2px solid #fff;outline:2px solid #000}.filters-modal-main-button-added-options{color:var(--color-text-secondary);text-overflow:ellipsis;font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body)}.filters-modal-main-button-added-options>span::after{content:", "}.filters-modal-main-button-added-options>span:last-child::after{content:""}';const ut=class{constructor(t){e(this,t),this.vviinnFiltersChanged=i(this,"vviinnFiltersChanged",7),this.vviinnFilters=i(this,"vviinnFilters",7),this.globalSlotsChanged=i(this,"globalSlotsChanged",7),this.timer=null,this.priceChangeHandler=t=>{this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>{this.handleSubFilterSelection(t,this.selectedFilter)}),200)},this.handleSetFilters=({detail:t})=>{this.filters=t,this.selectedFilter&&(this.selectedFilter=this.filters.find((t=>t.column===this.selectedFilter.column))),t.some((({column:t})=>{var e;return t===(null===(e=this.selectedFilter)||void 0===e?void 0:e.column)}))||(this.selectedFilter=void 0)},this.handleFiltersChanged=({detail:t})=>{const{filters:e,el:i}=t;i!==this.el&&(this.requestFilters=e,this.selectedFilter||(this.selectedFilter=this.filters.find((t=>t.column===e[0].column))))},this.filters=[],this.filtersString="",this.showInWidget=!1,this.selectedFilter=void 0,this.requestFilters=[]}handleMainFilterSelection(t){this.selectedFilter=t}handleSubFilterSelection(t,e){this.requestFilters=_(this.requestFilters,e,t),T([...this.requestFilters],this.el,this.vviinnFiltersChanged)}showActiveOnMainButton({column:t}){return this.selectedFilter&&this.selectedFilter.column===t?"active":""}filtersStringWatcher(){if(""!==this.filtersString)try{this.filters=JSON.parse(this.filtersString)}catch(t){console.error("Invalid filters string",t)}}connectedCallback(){document.addEventListener("vviinnFilters",this.handleSetFilters),document.addEventListener("vviinnFiltersChanged",this.handleFiltersChanged),this.filtersStringWatcher()}disconnectedCallback(){document.removeEventListener("vviinnFilters",this.handleSetFilters),document.removeEventListener("vviinnFiltersChanged",this.handleFiltersChanged)}render(){var e,i,o;const{column:s}=null!==(e=this.selectedFilter)&&void 0!==e?e:{},n=ht(this.selectedFilter),a=this.filters.filter((t=>t.isPrimary));return 0===a.length?t(r,null):t(r,{class:{"show-in-widget":this.showInWidget}},t("div",{class:"main-filters-wrapper",part:"filters-wrapper"},t("ul",{class:"main-filters-list",part:"filters-list"},a.map((e=>t("li",null,t("button",{class:`filters-main-button ${this.showActiveOnMainButton(e)}`,onClick:()=>this.handleMainFilterSelection(e),part:"filters-main-button"},e.label)))))),void 0!==this.selectedFilter&&t("div",{class:"filters-footer",part:"filters-footer"},"price"===s?t("vviinn-price-range",{histogram:n,priceChangeHandler:this.priceChangeHandler,selectedInterval:null!==(o=null===(i=this.requestFilters.find((({column:t})=>"price"===t)))||void 0===i?void 0:i.values[0])&&void 0!==o?o:{}}):t("ul",{class:"sub-filters-wrapper",part:"filters-footer-list"},n&&n.map((({value:t,label:e,active:i})=>{const r=O(this.requestFilters,t,this.selectedFilter);return R(this.handleSubFilterSelection.bind(this),t,e,i,this.selectedFilter,r)})))))}get el(){return o(this)}static get watchers(){return{filtersString:["filtersStringWatcher"]}}};ut.style=':host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:130px;--product-card-results-min-width:250px;--image-set-mode-min-size:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{display:block;font-family:var(--font-family, var(--font-family-base));font-style:normal;}:host(.show-in-widget){padding-left:24px}.filters-modal-list,.sub-filters-wrapper,.main-filters-list,.filters-modal-sub-list,.selected-filters-wrapper{list-style:none;margin:0;padding:0}.main-filters-list{padding:var(--spacing-25);gap:var(--spacing-25);border-radius:8px;background:var(--surface-bg-color-01);display:inline-flex}.filters-modal-main-button,.filters-sub-button,.filters-main-button,.filters-modal-close,.filters-sub-button-selected{font-family:var(--font-family, var(--font-family-base));cursor:pointer;border:none}.filters-sub-button,.filters-main-button{font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);display:flex;justify-content:center;align-items:center;border-radius:6px}.filters-main-button{padding:var(--spacing-100);color:var(--color-text-helper);background:none}.filters-main-button.active,.filters-main-button:hover{background:var(--surface-bg-color-02);color:var(--color-text-primary)}.sub-filters-wrapper,.selected-filters-wrapper{gap:var(--spacing-100);display:flex;flex-direction:row;overflow-x:auto;scrollbar-width:thin;padding-bottom:6px}.sub-filters-wrapper{gap:var(--spacing-100);margin-top:16px;margin:16px -2px 0}.sub-filters-wrapper>li{padding:2px}.selected-filters-wrapper{margin-top:10px;gap:var(--spacing-100);flex-wrap:wrap}:host(.show-in-widget) .selected-filters-wrapper{flex-wrap:unset;overflow-x:auto}:host(.show-in-widget) .sub-filters-wrapper,:host(.show-in-widget) .selected-filters-wrapper{transform:translateX(-24px);padding-left:24px;padding-right:24px;width:calc(100% - 24px)}@media (max-width: 768px){.sub-filters-wrapper,.selected-filters-wrapper{flex-wrap:unset;overflow-x:auto;padding-bottom:0}.sub-filters-wrapper,.selected-filters-wrapper{margin-top:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.sub-filters-wrapper::-webkit-scrollbar,.selected-filters-wrapper::-webkit-scrollbar{display:none}}.filters-sub-button{color:var(--color-text-primary);background:var(--surface-bg-color-01);padding:var(--spacing-100);gap:var(--spacing-25);height:100%}.filters-sub-button>span,.filters-sub-button-selected>span{display:inline-flex;justify-content:center;align-items:center;gap:var(--spacing-25);white-space:nowrap}.filters-sub-button>span>span,.filters-sub-button-selected>span>span{padding:2px}.filters-sub-button:hover{background:var(--surface-bg-color-01-hover)}.filters-sub-button:disabled{cursor:not-allowed;background:var(--surface-bg-color-disabled);color:var(--color-text-disabled)}.filters-more-button{display:flex;padding:var(--spacing-100);gap:var(--spacing-50);border-radius:var(--border-radius-100);align-items:flex-start;background:var(--button-bg-color-secondary);border:none;cursor:pointer}.filters-modal.filters-modal-button{display:none;position:fixed;top:0;bottom:0;right:0;left:0;background-color:rgba(0, 0, 0, 0.5);z-index:98}.filters-modal.filters-modal-preview{display:block}.filters-modal.open{display:block}.filters-modal-wrapper{display:flex;flex-direction:column}.filters-modal.filters-modal-button .filters-modal-wrapper{position:fixed;top:0;bottom:0;right:0;width:420px;background-color:#ffffff;z-index:99;border-radius:32px 0px 0px 32px}@media (max-width: 768px){.filters-modal.filters-modal-button .filters-modal-wrapper{width:100%;top:20%;border-radius:32px 32px 0px 0px}}.filters-modal-header{position:relative;padding:20px 0;color:var(--color-text-primary);text-align:center;font-size:var(--font-size-headline);font-weight:var(--font-weight-500);line-height:var(--line-height-headline);letter-spacing:var(--letter-spacing-headline);border-bottom:1px solid var(--color-border-01);display:flex;justify-content:center;gap:5px}.filters-modal-list{margin:4px 0 0 24px;flex:1;overflow-y:auto;padding-bottom:20px}.filters-modal-list>li{padding-right:24px}.filters-modal-main-button-wrapper{border-bottom:1px solid var(--color-border-01);padding:20px 0}.filters-modal-main-button{width:100%;background:none;text-align:left;padding:0;color:var(--color-text-primary);font-size:var(--font-size-label-large);font-weight:var(--font-weight-500);line-height:var(--line-height-label-large);letter-spacing:var(--letter-spacing-label-large)}.filters-modal-sub-list{display:none;margin:0 -6px}.filters-modal-sub-list>li{display:inline-block;margin:0 4px}.filters-modal-sub-list-inline{margin:0 -6px}.filters-modal-sub-list-inline>li{margin:0 6px}.filters-modal-sub-list.open{display:block}.filters-modal-sub-list>li{margin-top:10px;padding:2px}.filters-modal.filters-modal-button .filters-modal-close{position:absolute;right:0;top:15px;cursor:pointer;background:none}.filters-modal.filters-modal-preview .filters-modal-close{display:none}.filters-more-modal-button{background:none;border:none;cursor:pointer;display:flex;padding:var(--spacing-100);align-items:center;gap:var(--spacing-25);border-radius:var(--border-radius-100);background:var(--surface-bg-color-01);font-family:var(--font-family, var(--font-family-base));color:var(--color-text-primary)}.filters-more-modal-button.active{background:var(--surface-bg-color-inverse);color:var(--color-text-inverse)}.filters-more-modal-button>span{display:flex;align-items:center;justify-content:center;gap:var(--spacing-25)}.filters-more-modal-button>span>span{padding:2px}.filters-more-modal-button:disabled{cursor:not-allowed;opacity:0.5}.filters-modal-actions{border-top:1px solid var(--color-border-01);padding:var(--spacing-250);z-index:10;background:#ffffff;border-radius:0px 0px 0px 32px}.filters-modal-apply,.filters-modal-reset{font-family:var(--font-family, var(--font-family-base))}.filters-modal-apply{cursor:pointer;width:100%;border:none;display:flex;padding:var(--spacing-150);justify-content:center;align-items:center;gap:var(--spacing-50);align-self:stretch;color:var(--color-text-inverse);text-align:center;border-radius:var(--border-radius-150);background:var(--button-bg-color-primary);font-size:var(--font-size-label-large);font-weight:var(--font-weight-500);line-height:var(--line-height-label-large);letter-spacing:var(--letter-spacing-label-large)}.filters-modal-apply:disabled{background:var(--button-bg-color-disabled);color:var(--color-text-disabled)}.filters-modal-reset{background:none;border:none;cursor:pointer;display:block;text-align:center;width:100%;margin-top:20px;color:var(--color-text-secondary);text-align:center;font-size:var(--font-size-label);font-weight:var(--font-weight-500);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label)}.selected-filters-wrapper>li{border-radius:var(--border-radius-100);background:var(--surface-bg-color-inverse);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:var(--spacing-100)}.filters-sub-button-selected{display:flex;align-items:center;gap:var(--spacing-25);background:var(--surface-bg-color-inverse);border-radius:var(--border-radius-100);color:var(--color-text-inverse);text-overflow:ellipsis;font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);padding:var(--spacing-100)}.selected-filters-wrapper>li .filters-sub-button-selected{padding:0}.filters-sub-button-color{width:40px;height:40px;border:2px solid var(--color-border-01);outline:2px solid var(--color-border-01);border-radius:20px}.filters-sub-button-color:disabled{opacity:0.25}.selected-filters-wrapper .filters-sub-button-selected.filters-sub-button-color{width:24px;height:24px;border:none}.filters-sub-button-color>span{display:none}.filters-sub-button-color.active{border:2px solid #fff;outline:2px solid #000}.filters-modal-main-button-added-options{color:var(--color-text-secondary);text-overflow:ellipsis;font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body)}.filters-modal-main-button-added-options>span::after{content:", "}.filters-modal-main-button-added-options>span:last-child::after{content:""}';const bt=class{constructor(t){e(this,t),this.histogram=[],this.addStyle=!0,this.priceChangeHandler=void 0,this.selectedInterval=void 0,this.minIndex=0,this.maxIndex=void 0,this.scalingFactor=void 0}getParsed(t,e){return[parseInt(t.value,10),parseInt(e.value,10)]}componentDidLoad(){this.setToggleAccessible(this.toSlider)}componentWillLoad(){this.maxIndex=this.histogram.length-1;const t=Math.max(...this.histogram.map((({value:t})=>t.frequency)));this.scalingFactor=1/t,this.updatingSelectedInterval()}updatingSelectedInterval(){this.minIndex=void 0!==this.selectedInterval.start?this.histogram.findIndex((({value:t})=>t.interval.start===this.selectedInterval.start)):0,this.maxIndex=this.selectedInterval.end?this.histogram.findIndex((t=>t.value.interval.end===this.selectedInterval.end)):this.histogram.length-1}controlFromSlider(t,e){const[i,r]=this.getParsed(t,e);i>r&&(t.value=r),this.sendBackValue()}controlToSlider(t,e){const[i,r]=this.getParsed(t,e);this.setToggleAccessible(e),e.value=i<=r?r:i,this.sendBackValue()}sendBackValue(){this.priceChangeHandler({interval:{start:this.histogram[this.minIndex].value.interval.start,end:this.histogram[this.maxIndex].value.interval.end}})}setToggleAccessible(t){this.toSlider.style.zIndex=Number(t.value)<=0?"2":"0"}calculateBarHeight(t){return t*this.scalingFactor*100}render(){const e=this.histogram.length-1;return t(r,{exportparts:"histogram, histogram-bar, histogram-range-container, histogram-sliders-control, histogram-from-slider, histogram-to-slider, histogram-label-wrapper, histogram-label"},t("div",{class:"histogram",part:"histogram"},this.histogram.map(((e,i)=>t("div",{class:"histogram-bar "+(i<this.minIndex||i>this.maxIndex?"histogram-bar-inactive":""),style:{height:`${this.calculateBarHeight(e.value.frequency)}%`},part:"histogram-bar"})))),t("div",{class:"range_container",part:"histogram-range-container"},t("div",{class:"sliders_control",part:"histogram-sliders-control"},t("input",{ref:t=>this.fromSlider=t,id:"fromSlider",type:"range",min:"0",max:e,value:this.minIndex,onInput:t=>{this.minIndex=parseInt(t.target.value),this.controlFromSlider(this.fromSlider,this.toSlider)},part:"histogram-from-slider"}),t("input",{ref:t=>this.toSlider=t,id:"toSlider",type:"range",min:"0",max:e,value:this.maxIndex,onInput:t=>{this.maxIndex=parseInt(t.target.value),this.controlToSlider(this.fromSlider,this.toSlider)},part:"histogram-to-slider"}))),t("div",{class:"label-wrapper",part:"histogram-label-wrapper"},t("div",{class:"label",part:"histogram-label"},this.histogram[this.minIndex].label),t("div",{class:"label",part:"histogram-label"},this.histogram[this.maxIndex].label)))}get el(){return o(this)}static get watchers(){return{selectedInterval:["updatingSelectedInterval"]}}};bt.style=':host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:130px;--product-card-results-min-width:250px;--image-set-mode-min-size:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{display:block;max-width:400px;font-family:var(--font-family, var(--font-family-base))}.histogram{height:64px;display:flex;align-items:flex-end;gap:1px;margin:0 0.6%}.histogram-bar{background:var(--surface-inverse-bg-color, #262626);flex:1;border-radius:2px 2px 0px 0px}.histogram-bar.histogram-bar-inactive{background:var(--surface-bg-color-disabled)}.range_container{display:flex;flex-direction:column;width:99.4%;margin-top:-2px}.range_container .sliders_control{position:relative;min-height:25px}.range_container .form_control{position:relative;display:flex;justify-content:space-between;font-size:24px;color:#635a5a}.range_container input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:all;width:32px;height:32px;background-color:var(--color-bg-base);border-radius:50%;box-shadow:0 0 0 1px var(--color-border-02);cursor:pointer}.range_container input[type="range"]::-moz-range-thumb{-webkit-appearance:none;pointer-events:all;width:32px;height:32px;background-color:var(--color-bg-base);border-radius:50%;box-shadow:0 0 0 1px var(--color-border-02);cursor:pointer}.range_container input[type="range"]::-webkit-slider-thumb:hover{background:#f7f7f7}.range_container input[type="range"]::-webkit-slider-thumb:active{box-shadow:inset 0 0 3px #387bbe, 0 0 9px #387bbe;-webkit-box-shadow:inset 0 0 3px #387bbe, 0 0 9px #387bbe}.range_container input[type="range"]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2px;width:99.4%;position:absolute;background:var(--color-border-01);pointer-events:none}.range_container #fromSlider{height:0;z-index:1}.label-wrapper{display:flex;justify-content:space-between;margin-top:6px}.label-wrapper .label{display:flex;padding:var(--spacing-25) var(--spacing-100);justify-content:center;align-items:center;border-radius:var(--border-radius-100);background:var(--chip-bg-color-primary);color:var(--color-text-inverse);text-align:center;font-size:var(--font-size-label);font-style:normal;font-weight:var(--font-weight-500);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label)}';class gt{sendImpression(t){var e,i,r;t&>ag("event","view_item_list",{items:[{id:t.productId,name:t.title,brand:null!==(e=t.brand)&&void 0!==e?e:"",category:null!==(i=t.productType)&&void 0!==i?i:"",list_name:"VI VPR View",price:Math.min(t.price.actual,null!==(r=t.price.sale)&&void 0!==r?r:1/0)}]})}sendClick(t){var e,i,r;gtag("event","select_content",{content_type:"product",items:[{id:t.productId,name:t.title,brand:null!==(e=t.brand)&&void 0!==e?e:"",category:null!==(i=t.productType)&&void 0!==i?i:"",list_name:"VI VPR View",price:Math.min(t.price.actual,null!==(r=t.price.sale)&&void 0!==r?r:1/0)}]})}}class vt{constructor(){ga("require","ec")}convertProduct(t){var e,i,r;return{id:t.productId,name:t.title,brand:null!==(e=t.brand)&&void 0!==e?e:"",category:null!==(i=t.productType)&&void 0!==i?i:"",list:"VI VPR View",price:Math.min(t.price.actual,null!==(r=t.price.sale)&&void 0!==r?r:1/0)}}sendImpression(t){ga("ec:addImpression",this.convertProduct(t))}sendClick(t){var e,i,r;ga("ec:addProduct",{id:t.productId,name:t.title,brand:null!==(e=t.brand)&&void 0!==e?e:"",category:null!==(i=t.productType)&&void 0!==i?i:"",price:Math.min(t.price.actual,null!==(r=t.price.sale)&&void 0!==r?r:1/0)}),ga("ec:setAction","click",{list:"VI VPR View"})}}const xt=p.getMonoid(h.first()).concat(c.pipe(p.fromNullable(window.gtag),p.map((()=>new gt))),c.pipe(p.fromNullable(window.ga),p.map((()=>new vt)))),mt=class{constructor(t){e(this,t),this.vviinnProductLoad=i(this,"vviinnProductLoad",7),this.vviinnProductView=i(this,"vviinnProductView",7),this.vviinnProductClick=i(this,"vviinnProductClick",7),this.vviinnAddToBasket=i(this,"vviinnAddToBasket",7),this.vviinnAuxClick=i(this,"vviinnAuxClick",7),this.vviinnCrossSellingClick=i(this,"vviinnCrossSellingClick",7),this.vviinnUpdatingAllCardsStarted=i(this,"vviinnUpdatingAllCardsStarted",7),this.vviinnUpdatingAllCardsFinished=i(this,"vviinnUpdatingAllCardsFinished",7),this.productData=null,this.intersectionCallback=t=>{t.length&&t.some((t=>t.isIntersecting))&&(c.pipe(xt,p.map((t=>t.sendImpression(this.getProduct())))),this.vviinnProductView.emit(this.productData),this.intersectionObserver.disconnect())},this.brand=void 0,this.currency=void 0,this.image=void 0,this.imageRatio=1,this.imageWidth=200,this.locale=void 0,this.price=void 0,this.basePrice=void 0,this.pricePrefix=void 0,this.productTitle=void 0,this.productType=void 0,this.salePrice=void 0,this.baseSalePrice=void 0,this.responsive=!1,this.mode="continuity",this.basketButtonShow=void 0,this.updateButtonLocation=void 0,this.priceLabel=void 0,this.energyCertifications=void 0,this.productId=void 0,this.campaignTypeId=void 0,this.widgetElementId=void 0,this.buttonElementId=void 0,this.widgetVersion=void 0,this.deeplink=void 0,this.index=0,this.updatingAllCards=void 0,this.defaultAnimationInterval=void 0,this.appliedDiscountPercentage=void 0,this.currentDiscountPercentage=void 0,this.isSourceProduct=!1,this.isResultsWidget=!1,this.energyCertificationsString="",this.isTransitioning=!1,this.basketButonPressed=!1}connectedCallback(){this.productData=this.getProductData(),this.isSetMode="set"===this.mode,this.isGridMode="grid"===this.mode,this.isContinuityMode="continuity"===this.mode,this.energyCertificationsString.length>0&&(this.parseEnergyCertificationsString(),H.init({lng:this.locale,fallbackLng:"en",resources:B}))}componentWillLoad(){z(this,this.el)}componentDidLoad(){this.vviinnProductLoad.emit(this.productData),this.intersectionObserver=new IntersectionObserver(this.intersectionCallback.bind(this.imageElement),{threshold:1}),this.intersectionObserver.observe(this.imageElement),this.addLinksEventListeners()}crossSellingClickListener({detail:t}){const{animationInterval:e}=t;this.isTransitioning=!0,this.basketButonPressed=!1;const i=setTimeout((()=>{this.isTransitioning=!1,clearTimeout(i)}),e)}updatingAllCardsWatcher(){if(!this.updatingAllCards)return;this.vviinnUpdatingAllCardsStarted.emit(),this.isTransitioning=!0,this.basketButonPressed=!1;const t=setTimeout((()=>{this.vviinnUpdatingAllCardsFinished.emit(),this.isTransitioning=!1,clearTimeout(t)}),this.defaultAnimationInterval)}productIdWatcher(){this.productData=this.getProductData()}parseEnergyCertificationsString(){if(""!==this.energyCertificationsString)try{this.energyCertifications=JSON.parse(this.energyCertificationsString)}catch(t){console.error("Invalid filters string",t)}}getWidgetType(){return"VPR"===this.campaignTypeId||"VCS"===this.campaignTypeId?"VPR":"VPS"}getProductData(){var t;return{productId:this.productId,productRank:this.index,productName:this.productTitle,productType:this.productType,widgetType:this.getWidgetType(),campaignTypeId:this.campaignTypeId,campaignTypeName:C[this.campaignTypeId],widgetId:null!==(t=this.buttonElementId)&&void 0!==t?t:this.widgetElementId,widgetVersion:this.widgetVersion}}productClickHandler(t){t.preventDefault(),t.stopImmediatePropagation(),this.vviinnProductClick.emit(Object.assign(Object.assign({},this.productData),{clickEvent:t})),c.pipe(xt,p.match((()=>null),(t=>t.sendClick(this.getProduct()))))}addLinksEventListeners(){this.el.shadowRoot.querySelectorAll("a").forEach((t=>{t.addEventListener("click",this.productClickHandler.bind(this)),t.addEventListener("auxclick",(()=>{this.vviinnAuxClick.emit(Object.assign({},this.productData))}))}))}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,ref:t=>{this.imageElement=t},isSource:this.isSourceProduct};return this.responsive?A(t):M(t)}render(){var e;return t(r,{part:"product-card",class:{animated:this.isTransitioning,"set-mode":this.isSetMode,"grid-mode":this.isGridMode,"continuity-mode":this.isContinuityMode,"results-widget":this.isResultsWidget},exportparts:"brand, price-label, price-label-0, price-label-1, price-label-2, price-label-3, price-label-4, currency, deeplink, image, image-link, price-amount-regular, price-amount-sale, price-amount-outdated, price-amount-base-regular, price-amount-base-sale, price-amount-base-outdated, price-container, price-outdated, price-regular, price-sale, price-prefix, discount-label, discount-percentage, title, basket-button, update-button-item, energy-label-container, energy-label-icon, energy-label-product-type, energy-label-data-sheet-link"},t(E,{deeplink:this.deeplink,part:"image-link"},this.renderImage()),this.isTransitioning?t(s,null,t("vviinn-skeleton",{height:40}),t("vviinn-skeleton",{height:20,halfWidth:!0})):t(s,null,t(E,{deeplink:this.deeplink,part:"deeplink"},t("span",{class:"title",part:"title"},this.productTitle)),t("span",{class:"brand",part:"brand"},this.brand),(null!==(e=null==this?void 0:this.energyCertifications)&&void 0!==e?e:[]).map((e=>t("vviinn-energy-label",{classLabelUrl:null==e?void 0:e.classLabelUrl,classIconUrls:null==e?void 0:e.classIconUrls,classDataSheetUrl:null==e?void 0:e.classDataSheetUrl,productType:null==e?void 0:e.productType,productClickHandler:this.productClickHandler.bind(this)}))),t(W,{prefix:this.pricePrefix,currency:this.currency,price:this.price,basePrice:F(this.basePrice),salePrice:this.salePrice,baseSalePrice:F(this.baseSalePrice),locale:this.locale,priceLabel:this.priceLabel}),this.isSetMode&&!this.appliedDiscountPercentage&&this.currentDiscountPercentage&&t("div",{class:"discount-label",part:"discount-label"},`-${this.currentDiscountPercentage}%`)),(this.basketButtonShow||this.isSetMode)&&t(s,null,this.isTransitioning&&t("vviinn-skeleton",{height:40}),t("div",{class:"basket-button-wrapper"},t("button",{class:{"basket-button":!0,"basket-button--hidden":this.isTransitioning,"basket-button-grid":this.isGridMode||this.isSetMode,"basket-button-continuity ":this.isContinuityMode,pressed:this.basketButonPressed},part:"basket-button",onClick:()=>{this.vviinnAddToBasket.emit(Object.assign(Object.assign({},this.productData),{discount:this.currentDiscountPercentage})),this.basketButonPressed=!0}},this.isSetMode?t(s,null,!this.basketButonPressed&&t("div",{class:"basket-button-content",key:"set-not-pressed"},t("span",{class:"basket-button-icon-container"},t("slot",{name:"vviinn-basket-button-icon"},t(Y,null))),t("span",null,t("slot",{name:"vviinn-basket-button-text"},H.t("setMode.basketButtonText")))),this.basketButonPressed&&t("div",{key:"set-pressed",class:"basket-button-content"},t("span",{class:"basket-button-icon-container"},t("slot",{name:"vviinn-basket-button-icon-pressed"},t(tt,null))),t("span",null,this.appliedDiscountPercentage&&t("span",{class:"discount-percentage",part:"discount-percentage"},this.appliedDiscountPercentage,"%"),t("slot",{name:"vviinn-basket-button-text-pressed"},H.t("setMode.appliedDiscountText"))))):t("div",{key:"not-pressed",class:"basket-button-content"},t("span",{class:"basket-button-icon-container"},t("slot",{name:"vviinn-basket-button-icon"},t(Y,null))),t("span",null,t("slot",{name:"vviinn-basket-button-text"},H.t("basketButtonText"))))))),this.isSetMode&&!this.basketButonPressed&&t("button",{class:{"update-button":!0,hidden:"onTop"===this.updateButtonLocation},part:"update-button-item",onClick:()=>{this.vviinnCrossSellingClick.emit({animationInterval:(800,1400,Math.floor(601*Math.random())+800),productData:this.productData})}},t("slot",{name:"vviinn-update-button-icon"},t(it,null))))}get el(){return o(this)}static get watchers(){return{updatingAllCards:["updatingAllCardsWatcher"],productId:["productIdWatcher"]}}};mt.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:130px;--product-card-results-min-width:250px;--image-set-mode-min-size:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host(.grid-mode){--product-card-content-align-default:center;--product-card-text-align-default:center;--product-card-image-border-default:1px solid var(--color-border-02);--product-card-image-bg-color-default:unset}:host(.continuity-mode){--product-card-content-align-default:flex-start;--product-card-text-align-default:left;--product-card-image-border-default:var(--surface-bg-color-01);--product-card-image-bg-color-default:var(--surface-bg-color-01)}:host(.set-mode){--product-card-content-align-default:flex-start;--product-card-text-align-default:left;--product-card-image-border-default:none;--product-card-image-bg-color-default:var(--surface-bg-color-01)}:host(.results-widget){--product-card-content-align-default:flex-start;--product-card-text-align-default:left;--product-card-image-border-default:1px solid var(--color-border-02);--product-card-image-bg-color-default:unset}:host{position:relative;height:-moz-fit-content;height:fit-content;display:flex;flex-direction:column;align-items:var(\n --product-card-content-align,\n var(--product-card-content-align-default)\n );text-align:var(\n --product-card-text-align,\n var(--product-card-text-align-default)\n );font-family:var(--font-family, var(--font-family-base));font-weight:var(--font-weight-400);font-size:var(--font-size-body);line-height:var(--line-height-body);font-style:normal;color:var(--color-text-primary);gap:var(--spacing-100)}.price-container{display:flex;flex-direction:column;gap:var(--spacing-75)}.price-outdated,.price-sale,.price-regular{justify-content:var(\n --product-card-content-align,\n var(--product-card-content-align-default)\n );display:flex;gap:var(--spacing-100);flex-wrap:wrap}.price-outdated{color:var(--color-text-helper);text-decoration:line-through}.price-amount,.price-label>span,.currency{white-space:nowrap}.price-label>span{margin-right:var(--spacing-75)}.price-amount--base{color:var(--color-text-helper);font-size:var(--font-size-caption)}.product-type{word-wrap:anywhere}.image{box-sizing:border-box;display:grid;align-content:center;-o-object-position:50% 50%;object-position:50% 50%;-o-object-fit:contain;object-fit:contain;text-align:center}.image.responsive{width:100%;height:auto;aspect-ratio:1}.brand{display:none}.currency{padding-left:var(--spacing-50)}.title{display:-webkit-box;max-width:var(--product-card-set-mode-max-width);color:var(--color-text-primary);-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere;text-overflow:ellipsis;overflow:hidden}.title,.brand{text-align:var(\n --product-card-text-align,\n var(--product-card-text-align-default)\n )}.deeplink{max-width:100%;text-decoration:none}.image-link{display:contents}picture{position:relative;margin-bottom:var(--spacing-50);width:100%}picture::before{display:block;box-sizing:border-box;position:absolute;width:100%;height:100%;top:0;left:0;content:\"\";opacity:0}.update-button{position:absolute;width:32px;height:32px;top:var(--spacing-100);right:var(--spacing-100);z-index:1;background-color:var(--button-bg-color-frosted);color:var(--color-icon-on-color);-webkit-backdrop-filter:blur(calc(var(--filter-blur-150) / 2));backdrop-filter:blur(calc(var(--filter-blur-150) / 2));padding:var(--spacing-50);border:none;cursor:pointer}.update-button::after{position:absolute;width:calc(100% + var(--spacing-100));height:calc(100% + var(--spacing-100));top:calc(-1 * var(--spacing-50));right:calc(-1 * var(--spacing-50));content:\"\"}.update-button:hover{background-color:var(--button-bg-color-frosted-hover)}.update-button.hidden{display:none}.basket-button{box-sizing:border-box;border:none;padding:var(--spacing-100);font-size:var(--font-size-label);font-weight:var(--font-weight-400);font-family:var(--font-family, var(--font-family-base));cursor:pointer}.basket-button-icon-container{display:inline-flex;align-items:center;justify-content:center}.basket-button-grid{width:100%;background-color:unset;border:1px solid var(--color-border-02)}.basket-button-continuity{background-color:var(--button-bg-color-secondary);align-self:start}.basket-button-continuity:hover,:host(.set-mode) .basket-button:hover{background-color:var(--button-bg-color-secondary-hover)}.basket-button-grid:hover{background-color:var(--button-bg-color-ghost-hover)}picture::after{box-sizing:border-box;display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:var(\n --product-card-image-bg-color,\n var(--product-card-image-bg-color-default)\n );mix-blend-mode:multiply;content:\"\"}:host(.animated) picture::after{mix-blend-mode:normal}:host(.animated) picture::before{opacity:1;animation:pulse 1.8s infinite}:host(.animated) picture::after{content:url(\"data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_810_154)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M64.7332 1.23333C66.2665 12.2667 67.9665 13.9667 78.6665 15.2333C79.4332 15.3333 79.9999 15.9333 79.9999 16.6667C79.9999 17.4 79.4665 17.9333 78.6665 18.0667C67.9665 19.3667 66.2999 21.0333 64.7332 32.0667C64.6332 32.8 64.0665 33.3333 63.3665 33.3333C62.6665 33.3333 62.0999 32.8 61.9665 32.0667C60.4665 21.0333 58.7665 19.3667 48.0332 18.0667C47.2332 17.9667 46.6999 17.4333 46.6999 16.6667C46.6999 15.9 47.2332 15.3667 48.0332 15.2333C58.7665 13.7667 60.3999 12.2 61.9665 1.23333C62.0999 0.5 62.6665 0 63.3665 0C64.0665 0 64.5999 0.5 64.7332 1.23333ZM38.5665 71.5667C38.3665 72.6 37.6665 73.3333 36.6665 73.3333C35.6665 73.3333 34.9665 72.6 34.7998 71.5667C31.9332 50.7 29.0998 47.9 8.49984 45.2C7.39984 45.1 6.6665 44.3 6.6665 43.3C6.6665 42.3 7.39984 41.5333 8.49984 41.4333C29.1332 39.1333 32.0998 35.9333 34.7998 15.0333C34.9665 14.0333 35.6665 13.3333 36.6665 13.3333C37.6665 13.3333 38.3665 14 38.5665 15.0333C41.2665 35.9333 44.1998 39.1333 64.8665 41.4333C65.9332 41.5333 66.6665 42.2667 66.6665 43.3C66.6665 44.3333 65.9332 45.1 64.8665 45.2C44.1998 47.5 41.2665 50.7 38.5665 71.5667Z' fill='white'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_810_154'%3E%3Crect width='80' height='80' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E\");position:absolute;width:80px;height:80px;left:calc(50% - 40px);top:calc(50% - 40px);background-color:transparent}:host(.animated) .update-button{display:none}.basket-button-wrapper{width:100%;display:flex;justify-content:var(\n --product-card-content-align,\n var(--product-card-content-align-default)\n )}.basket-button-content{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:var(--spacing-75)}:host(.grid-mode) .image,:host(.continuity-mode) .image{border:var(\n --product-card-image-border,\n var(--product-card-image-border-default)\n )}:host(.grid-mode) .image-link{width:100%}:host(.results-widget) .image{border:var(\n --product-card-image-border,\n var(--product-card-image-border-default)\n )}:host(.set-mode) .image{width:var(--vviinn-set-mode-image-width, 100%);height:auto;min-width:var(--image-set-mode-min-size);min-height:var(--image-set-mode-min-size);border:var(\n --product-card-image-border,\n var(--product-card-image-border-default)\n );aspect-ratio:1}:host(.set-mode.product-card--source){height:-moz-fit-content;height:fit-content;max-width:var(--source-card-set-mode-max-width);flex-grow:1}:host(.set-mode.product-card--source) .image{width:100%;height:100%;aspect-ratio:1}:host(.set-mode) picture .plus-icon{position:absolute;width:32px;height:32px;top:calc(50% - 32px);right:-88px;padding:var(--spacing-200);background-color:var(--color-bg-base);color:var(--color-text-placeholder);outline:1px solid var(--color-border-01);z-index:1;border-radius:50%}:host(.set-mode) .basket-button{background-color:var(--button-bg-color-secondary);border:none}:host(.set-mode:not(.animated)) .basket-button{margin-top:auto}:host(.set-mode) .price-container{flex-direction:row;flex-wrap:wrap;justify-content:var(\n --product-card-content-align,\n var(--product-card-content-align-default)\n )}:host(.set-mode) .basket-button.pressed{background:transparent;border:1px solid var(--color-border-02)}:host(.set-mode) .basket-button.pressed .discount-percentage{padding-right:var(--spacing-50)}:host(.set-mode) .basket-button--hidden{display:none}@media (max-width: 768px){:host(.set-mode) picture .plus-icon{padding:var(--spacing-100);top:calc(50% - var(--spacing-300));right:calc(-1 * var(--spacing-300))}}@keyframes pulse{0%{background-color:var(--surface-bg-color-01)}50%{background-color:var(--surface-bg-color-01-active)}100%{background-color:var(--surface-bg-color-01)}}.discount-label{position:absolute;left:var(--spacing-none);top:var(--spacing-150);padding:var(--spacing-25) var(--spacing-50);border-radius:var(--border-radius-none) var(--border-radius-50)\n var(--border-radius-50) var(--border-radius-none);color:var(--color-text-on-color);background-color:var(--label-bg-color-accent);letter-spacing:var(--letter-spacing-label)}vviinn-energy-label{justify-content:var(\n --product-card-content-align,\n var(--product-card-content-align-default)\n )}";const wt=class{constructor(t){e(this,t),this.height=void 0,this.halfWidth=!1}render(){return t(r,null,t("div",{class:{"vviinn-skeleton":!0},style:{height:`${this.height.toString()}px`,width:this.halfWidth?"50%":"100%"}}))}get el(){return o(this)}};function yt(t){return"function"==typeof t}function kt(t){const e=t((t=>{Error.call(t),t.stack=(new Error).stack}));return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}wt.style=":host{display:block;width:100%;height:100%;line-height:0}.vviinn-skeleton{display:inline-block;animation:pulse 1.2s infinite}@keyframes pulse{0%{background-color:rgb(244, 244, 244)}50%{background-color:rgb(232, 232, 232)}100%{background-color:rgba(244, 244, 244)}}";const Ct=kt((t=>function(e){t(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map(((t,e)=>`${e+1}) ${t.toString()}`)).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e}));function zt(t,e){if(t){const i=t.indexOf(e);0<=i&&t.splice(i,1)}}class It{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:e}=this;if(e)if(this._parentage=null,Array.isArray(e))for(const t of e)t.remove(this);else e.remove(this);const{initialTeardown:i}=this;if(yt(i))try{i()}catch(e){t=e instanceof Ct?e.errors:[e]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const e of r)try{Pt(e)}catch(e){t=null!=t?t:[],e instanceof Ct?t=[...t,...e.errors]:t.push(e)}}if(t)throw new Ct(t)}}add(t){var e;if(t&&t!==this)if(this.closed)Pt(t);else{if(t instanceof It){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(e=this._finalizers)&&void 0!==e?e:[]).push(t)}}_hasParent(t){const{_parentage:e}=this;return e===t||Array.isArray(e)&&e.includes(t)}_addParent(t){const{_parentage:e}=this;this._parentage=Array.isArray(e)?(e.push(t),e):e?[e,t]:t}_removeParent(t){const{_parentage:e}=this;e===t?this._parentage=null:Array.isArray(e)&&zt(e,t)}remove(t){const{_finalizers:e}=this;e&&zt(e,t),t instanceof It&&t._removeParent(this)}}It.EMPTY=(()=>{const t=new It;return t.closed=!0,t})();const St=It.EMPTY;function jt(t){return t instanceof It||t&&"closed"in t&&yt(t.remove)&&yt(t.add)&&yt(t.unsubscribe)}function Pt(t){yt(t)?t():t.unsubscribe()}const _t={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Tt={setTimeout(t,e,...i){const{delegate:r}=Tt;return(null==r?void 0:r.setTimeout)?r.setTimeout(t,e,...i):setTimeout(t,e,...i)},clearTimeout(t){const{delegate:e}=Tt;return((null==e?void 0:e.clearTimeout)||clearTimeout)(t)},delegate:void 0};function Vt(){}const Lt=Ot("C",void 0,void 0);function Ot(t,e,i){return{kind:t,value:e,error:i}}function Rt(t){t()}class At extends It{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,jt(t)&&t.add(this)):this.destination=Nt}static create(t,e,i){return new Ft(t,e,i)}next(t){this.isStopped?Bt(function(t){return Ot("N",t,void 0)}(t),this):this._next(t)}error(t){this.isStopped?Bt(Ot("E",void 0,t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?Bt(Lt,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 Mt=Function.prototype.bind;function Et(t,e){return Mt.call(t,e)}class Wt{constructor(t){this.partialObserver=t}next(t){const{partialObserver:e}=this;if(e.next)try{e.next(t)}catch(t){Ht(t)}}error(t){const{partialObserver:e}=this;if(e.error)try{e.error(t)}catch(t){Ht(t)}else Ht(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(t){Ht(t)}}}class Ft extends At{constructor(t,e,i){let r;if(super(),yt(t)||!t)r={next:null!=t?t:void 0,error:null!=e?e:void 0,complete:null!=i?i:void 0};else{let e;this&&_t.useDeprecatedNextContext?(e=Object.create(t),e.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,e),error:t.error&&Et(t.error,e),complete:t.complete&&Et(t.complete,e)}):r=t}this.destination=new Wt(r)}}function Ht(t){var e;e=t,Tt.setTimeout((()=>{const{onUnhandledError:t}=_t;if(!t)throw e;t(e)}))}function Bt(t,e){const{onStoppedNotification:i}=_t;i&&Tt.setTimeout((()=>i(t,e)))}const Nt={closed:!0,next:Vt,error:function(t){throw t},complete:Vt},Dt="function"==typeof Symbol&&Symbol.observable||"@@observable";function $t(t){return t}class Zt{constructor(t){t&&(this._subscribe=t)}lift(t){const e=new Zt;return e.source=this,e.operator=t,e}subscribe(t,e,i){const r=(o=t)&&o instanceof At||function(t){return t&&yt(t.next)&&yt(t.error)&&yt(t.complete)}(o)&&jt(o)?t:new Ft(t,e,i);var o;return Rt((()=>{const{operator:t,source:e}=this;r.add(t?t.call(r,e):e?this._subscribe(r):this._trySubscribe(r))})),r}_trySubscribe(t){try{return this._subscribe(t)}catch(e){t.error(e)}}forEach(t,e){return new(e=Ut(e))(((e,i)=>{const r=new Ft({next:e=>{try{t(e)}catch(t){i(t),r.unsubscribe()}},error:i,complete:e});this.subscribe(r)}))}_subscribe(t){var e;return null===(e=this.source)||void 0===e?void 0:e.subscribe(t)}[Dt](){return this}pipe(...t){return(0===(e=t).length?$t:1===e.length?e[0]:function(t){return e.reduce(((t,e)=>e(t)),t)})(this);var e}toPromise(t){return new(t=Ut(t))(((t,e)=>{let i;this.subscribe((t=>i=t),(t=>e(t)),(()=>t(i)))}))}}function Ut(t){var e;return null!==(e=null!=t?t:_t.Promise)&&void 0!==e?e:Promise}Zt.create=t=>new Zt(t);const Gt=kt((t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}));class Jt extends Zt{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const e=new qt(this,this);return e.operator=t,e}_throwIfClosed(){if(this.closed)throw new Gt}next(t){Rt((()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const e of this.currentObservers)e.next(t)}}))}error(t){Rt((()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:e}=this;for(;e.length;)e.shift().error(t)}}))}complete(){Rt((()=>{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:e,isStopped:i,observers:r}=this;return e||i?St:(this.currentObservers=null,r.push(t),new It((()=>{this.currentObservers=null,zt(r,t)})))}_checkFinalizedStatuses(t){const{hasError:e,thrownError:i,isStopped:r}=this;e?t.error(i):r&&t.complete()}asObservable(){const t=new Zt;return t.source=this,t}}Jt.create=(t,e)=>new qt(t,e);class qt extends Jt{constructor(t,e){super(),this.destination=t,this.source=e}next(t){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===i||i.call(e,t)}error(t){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===i||i.call(e,t)}complete(){var t,e;null===(e=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===e||e.call(t)}_subscribe(t){var e,i;return null!==(i=null===(e=this.source)||void 0===e?void 0:e.subscribe(t))&&void 0!==i?i:St}}const Xt=c.flow((t=>`Bearer ${t}`),(t=>new Headers({Authorization:t,"Content-Type":"application/json"})),(t=>({headers:t}))),Kt=(Qt=m,function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var i=t.length,r=ct(i),o=Qt.map(t[0],r),s=1;s<i;s++)o=Qt.ap(o,t[s]);return o});var Qt;const Yt=(t,e={})=>f(Kt(v(),x),g,u(b(t,e))),te=t=>e=>Yt("similar-products",Object.assign(Object.assign({},e),{body:JSON.stringify(t)})),ee=t=>e=>Yt("cross-selling",Object.assign(Object.assign({},e),{body:JSON.stringify(t)})),ie=t=>t.split(";").map((t=>{const[e,i]=t.split(":");return{column:e,values:[i]}})),re=t=>t.split(",").map((t=>{const e=t.trim();return isNaN(parseInt(e))?e:parseInt(e)}));var oe=function(t,e){var i={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(i[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(t);o<r.length;o++)e.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(t,r[o])&&(i[r[o]]=t[r[o]])}return i};const se=class{constructor(t){e(this,t),this.vviinnWidgetLoad=i(this,"vviinnWidgetLoad",7),this.vviinnProductLoad=i(this,"vviinnProductLoad",7),this.vviinnProductView=i(this,"vviinnProductView",7),this.vviinnProductClick=i(this,"vviinnProductClick",7),this.vviinnResultLoad=i(this,"vviinnResultLoad",7),this.vviinnResultView=i(this,"vviinnResultView",7),this.vviinnNoResult=i(this,"vviinnNoResult",7),this.vviinnAddToBasket=i(this,"vviinnAddToBasket",7),this.vviinnFiltersChanged=i(this,"vviinnFiltersChanged",7),this.globalSlotsChanged=i(this,"globalSlotsChanged",7),this.vviinnRecommendationsLoaded=i(this,"vviinnRecommendationsLoaded",7),this.vviinnWidgetOpen=i(this,"vviinnWidgetOpen",7),this.vviinnWidgetClose=i(this,"vviinnWidgetClose",7),this.productImageLoadedSubject=new Jt,this.resultViewed=!1,this.requestDynamicFilters=[],this.setTrackingDeactivated=t=>{"rejected"===t.status&&(this.trackingDeactivated=!0)},this.token=void 0,this.productId=void 0,this.mode="continuity",this.campaigns="",this.excluded="",this.campaignType="set"===this.mode?"VCS":"VPR",this.locale="de-DE",this.color="",this.imageWidth=300,this.imageRatio=1,this.cssUrl=null,this.currencySign="€",this.pricePrefix="",this.noResultText="",this.noResultShow=!0,this.gridArrowsDynamic=!1,this.productDetailsNewTab=!1,this.productDetailsRedirect=!0,this.addToBasketShow=!1,this.showFilters=!1,this.showExtendedFilters=!1,this.setModeDiscounts="set"===this.mode?"5, 10, 15":"",this.updateButtonLocation="topAndItem",this.blockTitle="Recommended products",this.showScroll=!0,this.apiPath="https://api.vviinn.com",this.useCarousel=!0,this.showingInButton=!1,this.buttonElementId=void 0,this.closed=void 0,this.opened=void 0,this.recommendations=[],this.dynamicFilters=[],this.sourceProduct=null,this.trackingDeactivated=!1,this.hasErrorOnLoad=!1,this.updatingAllCards=!1,this.updatedCardsAmount=0,this.setModeDiscountsArray=[]}getBasicEventData(){return{widgetType:"VPR",campaignTypeId:this.campaignType,campaignTypeName:C[this.campaignType],widgetId:this.id,widgetVersion:Q}}handleOpenLink(t,e){if(this.productDetailsRedirect)if(this.productDetailsNewTab||e.ctrlKey||e.metaKey){let e=window.open();e?e.location.href=t:window.location.href=t}else window.location.href=t}findProductById(t){return this.recommendations.find((e=>e.productId===t))}replaceSlotsContent(){const t=this.el.querySelectorAll("[slot]");this.globalSlotsChanged.emit({slots:Array.from(t),element:this.el})}handleProductIdChange(){this.getRecommendations()}handleCampaignTypeChange(){this.getRecommendations()}handleCampaignsChange(){this.getRecommendations()}handleApiPathChange(t){w.apiPath=t,this.getRecommendations()}trackWidgetOpen(){this.opened&&(this.vviinnWidgetOpen.emit(this.getBasicEventData()),this.trackWidgetEvent("open"))}trackWidgetClose(){this.closed&&(this.vviinnWidgetClose.emit(this.getBasicEventData()),this.trackWidgetEvent("close"))}componentDidRender(){this.showingInButton&&this.closed||this.replaceSlotsContent()}connectedCallback(){var t;w.apiPath=this.apiPath,w.pricePrefix=this.pricePrefix,w.currencySign=this.currencySign,w.locale=this.locale,this.id=null!==(t=this.buttonElementId)&&void 0!==t?t:this.el.id,this.uiSessionId=N(),this.trackingApi=D(this.apiPath,this.token),this.getRecommendations(),this.vviinnWidgetLoad.emit(this.getBasicEventData()),this.trackWidgetEvent("load"),this.isSetMode="set"===this.mode,this.isGridMode="grid"===this.mode,this.isSetMode&&this.setModeDiscounts.length&&(this.setModeDiscountsArray=this.setModeDiscounts.split(",").map((t=>parseInt(t.trim()))).filter((t=>!isNaN(t))))}async componentWillLoad(){await H.init({lng:this.locale,fallbackLng:"en",resources:B}),z(this,this.el)}trackProductLoad({detail:t}){this.productImageLoadedSubject.next(t.productId);const e=this.getProductTrackEvent(t,"load");e&&this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated)}trackProductView({detail:t}){this.resultViewed||(this.resultViewed=!0,this.vviinnResultView.emit(this.getBasicEventData()),this.trackResultEvent("view"));const e=this.getProductTrackEvent(t,"view");e&&this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated)}async trackProductClick({detail:t}){const{productId:e,clickEvent:i}=t,r=this.findProductById(e);if(!r||!r.deeplink)return;const o=this.getProductTrackEvent(t,"click");this.trackingDeactivated?this.handleOpenLink(r.deeplink,i):await this.trackingApi.trackEvent(o).then(this.setTrackingDeactivated).finally((()=>{this.handleOpenLink(r.deeplink,i)}))}async trackAuxClick({detail:t}){const{productId:e}=t,i=this.findProductById(e);if(!i||!i.deeplink)return;const r=this.getProductTrackEvent(t,"click");this.trackingDeactivated||await this.trackingApi.trackEvent(r).then(this.setTrackingDeactivated)}async trackAddToBasket({detail:t}){const{productRank:e,productId:i}=t,r=oe(t,["productRank","productId","campaignTypeId","widgetType"]);let o;const s=Object.assign({session_id:this.uiSessionId,rank:e,product:i},r);"VCS"===this.campaignType?o=$(s):"VPR"===this.campaignType&&(o=Z(s)),this.trackingApi.trackEvent(o).then(this.setTrackingDeactivated)}updatingAllCardsFinishedListener(){this.updatingAllCards&&(this.updatingAllCards=!1)}async filtersChanged({detail:t}){this.requestDynamicFilters=t.filters,this.getRecommendations()}trackWidgetEvent(t){if(this.trackingDeactivated)return;const e=this.getBasicEventData(),i=oe(e,["campaignTypeId","widgetType"]);let r;const o=Object.assign({action:t,session_id:this.uiSessionId},i);"VCS"===this.campaignType?r=U(o):"VPR"===this.campaignType&&(r=G(o)),this.trackingApi.trackEvent(r).then(this.setTrackingDeactivated)}trackResultEvent(t){if(this.trackingDeactivated)return;const e=this.getBasicEventData(),i=oe(e,["campaignTypeId","widgetType"]);let r;const o=Object.assign({session_id:this.uiSessionId},i);"VCS"===this.campaignType?r=J(t)(o):"VPR"===this.campaignType&&(r=q(t)(o)),this.trackingApi.trackEvent(r).then(this.setTrackingDeactivated)}getProductTrackEvent(t,e){if(this.trackingDeactivated)return null;const{productRank:i,productId:r,campaignTypeId:o}=t,s=oe(t,["productRank","productId","campaignTypeId","widgetType","clickEvent"]);let n;const a=Object.assign({session_id:this.uiSessionId,rank:i,product:r},s);return"VCS"===o?n=X(e)(a):"VPR"===o&&(n=K(e)(a)),n}async getRecommendations(){if(void 0===this.productId||void 0===this.token)return;l.loading=!0;const t=this.campaignType.length>0?this.campaignType:"VPR",e=Xt(this.token),i=(({productId:t,campaigns:e,color:i,excluded:r,dynamicFilters:o=[]})=>{const s=Object.assign(Object.assign({},i.length?{color:i}:{}),r.length?{excluded:ie(r)}:{});return Object.assign(Object.assign(Object.assign({productId:t},o.length?{dynamicFilters:o}:{}),e.length?{campaigns:re(e)}:{}),Object.keys(s).length?{staticFilters:s}:{})})({productId:this.productId,color:this.color,excluded:this.excluded,campaigns:this.campaigns,dynamicFilters:this.requestDynamicFilters}),r=c.pipe(y.of((t=>c.pipe(S(t),j((()=>te),(()=>ee))))(t)),y.ap(y.of(i)),y.ap(y.of(e)),y.flatten),o=await r();c.pipe(o,k.fold((t=>{this.handleError(t),this.vviinnNoResult.emit(this.getBasicEventData()),this.vviinnRecommendationsLoaded.emit(),l.loading=!1}),(t=>{this.handleRecommendationsSuccess(t),l.loading=!1})))}handleError(t){this.hasErrorOnLoad=!0}handleRecommendationsSuccess({data:t,interactions:e}){this.vviinnResultLoad.emit(this.getBasicEventData()),this.trackResultEvent("load"),this.dynamicFilters=e.dynamicFilters;const{products:i,sourceProduct:r}=t;this.recommendations=i,this.sourceProduct=r,l.results=this.recommendations,l.sourceProduct=this.sourceProduct,this.productIds=this.recommendations.map((t=>t.productId)),this.productImageLoadedSubject.subscribe((t=>{this.productIds=this.productIds.filter((e=>e!==t)),this.isSetMode||0!==this.productIds.length||this.vviinnRecommendationsLoaded.emit(),this.isSetMode&&this.productIds.length===this.recommendations.length-4&&this.vviinnRecommendationsLoaded.emit()}))}isExternalCSS(){return this.cssUrl&&this.cssUrl.length>0}renderExternalCSS(){return this.isExternalCSS()?t("link",{href:this.cssUrl,rel:"stylesheet"}):""}render(){return 0===this.recommendations.length&&!1===this.noResultShow?null:t(r,{class:{loaded:!0,empty:0==this.recommendations.length,[this.mode]:!0},"aria-hidden":"false"},t(s,null,this.renderExternalCSS(),I("vpr"),t("style",null,w.fallbackStyles),t("div",{class:"widget-header"},t("div",null,t("h2",{part:"recommendations-title"},t("slot",{name:"vviinn-recommendations-title"},this.isSetMode?H.t("setMode.widgetTitle"):this.blockTitle)),this.isSetMode&&t("h3",{part:"recommendations-subtitle"},t("slot",{name:"vviinn-recommendations-subtitle"},H.t("setMode.widgetSubtitle")))),this.isSetMode&&"onItem"!==this.updateButtonLocation?t("button",{class:"update-button",part:"update-button-top",onClick:()=>this.updatingAllCards=!0},t("slot",{name:"vviinn-update-button-icon"},t(it,null)),t("slot",{name:"vviinn-update-button-text"},t("span",null,H.t("setMode.updateButtonText")))):null),(this.showFilters||this.showExtendedFilters)&&t("div",{class:"filters-header "},this.showFilters&&t("vviinn-filters",{filters:this.dynamicFilters}),this.showExtendedFilters&&t("vviinn-extended-filters",{filters:this.dynamicFilters,locale:this.locale})),this.recommendations.length>0&&(this.useCarousel?this.renderCarousel():this.renderResults()),(0===this.recommendations.length||this.recommendations.length<4&&this.isSetMode||this.hasErrorOnLoad)&&!l.loading&&t("p",{class:"no-result-text"},this.noResultText.length?this.noResultText:H.t("noResultText"))))}renderRecommendation(e,i){var r,o;return t("vviinn-product-card",{part:"product-part",productId:e.productId,productTitle:e.title,productType:e.productType,deeplink:e.deeplink,image:e.image.thumbnail,brand:e.brand,imageWidth:this.imageWidth,imageRatio:this.imageRatio,price:e.price.actual,salePrice:e.price.sale,basePrice:null===(r=e.basePrice)||void 0===r?void 0:r.actual,baseSalePrice:null===(o=e.basePrice)||void 0===o?void 0:o.sale,energyCertifications:e.energyCertifications,responsive:this.isGridMode,basketButtonShow:this.addToBasketShow,mode:this.mode,campaignTypeId:this.campaignType,index:i,widgetElementId:this.id,widgetVersion:Q,currency:this.currencySign,pricePrefix:this.pricePrefix,locale:this.locale,priceLabel:P(e)})}renderResults(){return t("div",{class:"recommendations-grid",part:"recommendations-grid"},this.recommendations.map(((t,e)=>this.renderRecommendation(t,e))))}renderCarousel(){return t("vviinn-carousel",{mode:this.mode,campaignTypeId:this.campaignType,imageWidth:this.imageWidth,showScroll:this.showScroll,recommendations:this.recommendations,widgetElementId:this.id,widgetVersion:Q,gridArrowsDynamic:this.gridArrowsDynamic,addToBasketShow:this.addToBasketShow,updatingAllCards:this.updatingAllCards,updateButtonLocation:this.updateButtonLocation,replaceSlotsContent:this.replaceSlotsContent.bind(this),setModeDiscountsArray:this.setModeDiscountsArray,currencySign:this.currencySign,pricePrefix:this.pricePrefix,locale:this.locale,imageRatio:this.imageRatio})}get el(){return o(this)}static get watchers(){return{productId:["handleProductIdChange"],campaignType:["handleCampaignTypeChange"],campaigns:["handleCampaignsChange"],apiPath:["handleApiPathChange"],opened:["trackWidgetOpen"],closed:["trackWidgetClose"]}}};se.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:130px;--product-card-results-min-width:250px;--image-set-mode-min-size:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{display:grid;grid-gap:var(--spacing-200);width:100%}:host(:not(.loaded)){position:absolute;visibility:hidden}:host(.set){grid-gap:var(--spacing-300)}:host(.set) vviinn-carousel{overflow-x:auto;scrollbar-width:thin}:host(.grid) h2{justify-content:center}.filters-header{display:flex;justify-content:space-between;gap:14px}.filters-header>vviinn-extended-filters{width:44px;height:44px}@media (max-width: 768px){.filters-header>vviinn-filters{flex:1;width:100px}}.widget-header{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}.widget-header h3{margin-top:8px;margin-bottom:0;font-size:14px;font-weight:400;line-height:20px}.widget-header h2,.widget-header h3{margin:0;font-family:var(--font-family, var(--font-family-base))}.widget-header h2{font-weight:var(--font-weight-600);line-height:var(--line-height-title)}.widget-header h3{line-height:var(--line-height-body);margin-top:var(--spacing-100)}.update-button{display:flex;align-items:center;justify-content:center;font-family:var(--font-family, var(--font-family-base));color:#525252;gap:8px;padding:8px 10px;background:rgb(244, 244, 244);border:none;cursor:pointer}.update-button:hover{background:rgb(234, 234, 234)}.update-button svg{color:#6f6f6f}.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}";export{dt as vviinn_carousel,pt as vviinn_energy_label,ft as vviinn_extended_filters,ut as vviinn_filters,bt as vviinn_price_range,mt as vviinn_product_card,wt as vviinn_skeleton,se as vviinn_vpr_widget}
|
|
1
|
+
import{h as t,r as e,c as i,H as r,g as o,F as s}from"./p-1c863deb.js";import{h as n,t as a,s as l,_ as c,a as d,O as p,S as h,p as f,c as u,m as b,f as g,g as v,b as x,A as m,d as w,T as y,E as k}from"./p-43242068.js";import{c as C,s as z,S as I,f as S,a as j}from"./p-499b1c72.js";import{c as P,s as _,e as T,C as V,S as L,a as O,R,b as A,I as M,L as E,P as W,p as F}from"./p-25a4ca73.js";import{i as H,r as B,v as N,c as D,a as $,b as Z,d as U,e as G,f as J,g as q,h as X,j as K}from"./p-57e0dbdb.js";import{v as Q}from"./p-df78d39a.js";const Y=()=>t("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("g",{id:"shopping-bag"},t("path",{id:"Vector",d:"M6 22C5.45 22 4.97917 21.8042 4.5875 21.4125C4.19583 21.0208 4 20.55 4 20V8C4 7.45 4.19583 6.97917 4.5875 6.5875C4.97917 6.19583 5.45 6 6 6H8C8 4.9 8.39167 3.95833 9.175 3.175C9.95833 2.39167 10.9 2 12 2C13.1 2 14.0417 2.39167 14.825 3.175C15.6083 3.95833 16 4.9 16 6H18C18.55 6 19.0208 6.19583 19.4125 6.5875C19.8042 6.97917 20 7.45 20 8V20C20 20.55 19.8042 21.0208 19.4125 21.4125C19.0208 21.8042 18.55 22 18 22H6ZM6 20H18V8H16V10C16 10.2833 15.9042 10.5208 15.7125 10.7125C15.5208 10.9042 15.2833 11 15 11C14.7167 11 14.4792 10.9042 14.2875 10.7125C14.0958 10.5208 14 10.2833 14 10V8H10V10C10 10.2833 9.90417 10.5208 9.7125 10.7125C9.52083 10.9042 9.28333 11 9 11C8.71667 11 8.47917 10.9042 8.2875 10.7125C8.09583 10.5208 8 10.2833 8 10V8H6V20ZM10 6H14C14 5.45 13.8042 4.97917 13.4125 4.5875C13.0208 4.19583 12.55 4 12 4C11.45 4 10.9792 4.19583 10.5875 4.5875C10.1958 4.97917 10 5.45 10 6Z",fill:"#161616"}))),tt=()=>t("svg",{width:"25",height:"24",viewBox:"0 0 25 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{d:"M11.1 13.8L8.95 11.65C8.76667 11.4667 8.53333 11.375 8.25 11.375C7.96667 11.375 7.73333 11.4667 7.55 11.65C7.36667 11.8333 7.275 12.0667 7.275 12.35C7.275 12.6333 7.36667 12.8667 7.55 13.05L10.4 15.9C10.6 16.1 10.8333 16.2 11.1 16.2C11.3667 16.2 11.6 16.1 11.8 15.9L17.45 10.25C17.6333 10.0667 17.725 9.83333 17.725 9.55C17.725 9.26667 17.6333 9.03333 17.45 8.85C17.2667 8.66667 17.0333 8.575 16.75 8.575C16.4667 8.575 16.2333 8.66667 16.05 8.85L11.1 13.8ZM12.5 22C11.1167 22 9.81667 21.7375 8.6 21.2125C7.38333 20.6875 6.325 19.975 5.425 19.075C4.525 18.175 3.8125 17.1167 3.2875 15.9C2.7625 14.6833 2.5 13.3833 2.5 12C2.5 10.6167 2.7625 9.31667 3.2875 8.1C3.8125 6.88333 4.525 5.825 5.425 4.925C6.325 4.025 7.38333 3.3125 8.6 2.7875C9.81667 2.2625 11.1167 2 12.5 2C13.8833 2 15.1833 2.2625 16.4 2.7875C17.6167 3.3125 18.675 4.025 19.575 4.925C20.475 5.825 21.1875 6.88333 21.7125 8.1C22.2375 9.31667 22.5 10.6167 22.5 12C22.5 13.3833 22.2375 14.6833 21.7125 15.9C21.1875 17.1167 20.475 18.175 19.575 19.075C18.675 19.975 17.6167 20.6875 16.4 21.2125C15.1833 21.7375 13.8833 22 12.5 22ZM12.5 20C14.7333 20 16.625 19.225 18.175 17.675C19.725 16.125 20.5 14.2333 20.5 12C20.5 9.76667 19.725 7.875 18.175 6.325C16.625 4.775 14.7333 4 12.5 4C10.2667 4 8.375 4.775 6.825 6.325C5.275 7.875 4.5 9.76667 4.5 12C4.5 14.2333 5.275 16.125 6.825 17.675C8.375 19.225 10.2667 20 12.5 20Z",fill:"#0FC373"})),et=()=>t("svg",{width:"9",height:"16",xmlns:"http://www.w3.org/2000/svg"},t("path",{d:"m9 8-7.895 8L0 14.88 6.79 8 0 1.12 1.105 0 9 8Z"})),it=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},t("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M23.5998 4.57C20.3898 4.19 19.8798 3.68 19.4198 0.37C19.3798 0.15 19.2198 0 19.0098 0C18.7998 0 18.6298 0.15 18.5898 0.37C18.1198 3.66 17.6298 4.13 14.4098 4.57C14.1698 4.61 14.0098 4.77 14.0098 5C14.0098 5.23 14.1698 5.39 14.4098 5.42C17.6298 5.81 18.1398 6.31 18.5898 9.62C18.6298 9.84 18.7998 10 19.0098 10C19.2198 10 19.3898 9.84 19.4198 9.62C19.8898 6.31 20.3898 5.81 23.5998 5.42C23.8398 5.38 23.9998 5.22 23.9998 5C23.9998 4.78 23.8298 4.6 23.5998 4.57Z",fill:"currentColor"}),t("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M19.93 13C19.43 13 19.01 13.37 18.95 13.86C18.52 17.36 15.51 20.06 11.89 20C8.24 19.94 5.15 16.92 5.01 13.27C4.92 10.79 6.13 8.58 8.01 7.27V11C8.01 11.55 8.46 12 9.01 12C9.56 12 10.01 11.55 10.01 11V5C10.01 4.45 9.56 4 9.01 4H3C2.45 4 2 4.45 2 5C2 5.55 2.45 6 3 6H6.35C4.24 7.71 2.91 10.35 3 13.3C3.15 17.98 7.06 21.87 11.74 22C16.45 22.13 20.37 18.65 20.93 14.13C21 13.53 20.53 13.01 19.93 13.01V13Z",fill:"currentColor"})),rt=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none"},t("path",{d:"M12 21C11.7167 21 11.4792 20.9042 11.2875 20.7125C11.0958 20.5208 11 20.2833 11 20V16C11 15.7167 11.0958 15.4792 11.2875 15.2875C11.4792 15.0958 11.7167 15 12 15C12.2833 15 12.5208 15.0958 12.7125 15.2875C12.9042 15.4792 13 15.7167 13 16V17H20C20.2833 17 20.5208 17.0958 20.7125 17.2875C20.9042 17.4792 21 17.7167 21 18C21 18.2833 20.9042 18.5208 20.7125 18.7125C20.5208 18.9042 20.2833 19 20 19H13V20C13 20.2833 12.9042 20.5208 12.7125 20.7125C12.5208 20.9042 12.2833 21 12 21ZM4 19C3.71667 19 3.47917 18.9042 3.2875 18.7125C3.09583 18.5208 3 18.2833 3 18C3 17.7167 3.09583 17.4792 3.2875 17.2875C3.47917 17.0958 3.71667 17 4 17H8C8.28333 17 8.52083 17.0958 8.7125 17.2875C8.90417 17.4792 9 17.7167 9 18C9 18.2833 8.90417 18.5208 8.7125 18.7125C8.52083 18.9042 8.28333 19 8 19H4ZM8 15C7.71667 15 7.47917 14.9042 7.2875 14.7125C7.09583 14.5208 7 14.2833 7 14V13H4C3.71667 13 3.47917 12.9042 3.2875 12.7125C3.09583 12.5208 3 12.2833 3 12C3 11.7167 3.09583 11.4792 3.2875 11.2875C3.47917 11.0958 3.71667 11 4 11H7V10C7 9.71667 7.09583 9.47917 7.2875 9.2875C7.47917 9.09583 7.71667 9 8 9C8.28333 9 8.52083 9.09583 8.7125 9.2875C8.90417 9.47917 9 9.71667 9 10V14C9 14.2833 8.90417 14.5208 8.7125 14.7125C8.52083 14.9042 8.28333 15 8 15ZM12 13C11.7167 13 11.4792 12.9042 11.2875 12.7125C11.0958 12.5208 11 12.2833 11 12C11 11.7167 11.0958 11.4792 11.2875 11.2875C11.4792 11.0958 11.7167 11 12 11H20C20.2833 11 20.5208 11.0958 20.7125 11.2875C20.9042 11.4792 21 11.7167 21 12C21 12.2833 20.9042 12.5208 20.7125 12.7125C20.5208 12.9042 20.2833 13 20 13H12ZM16 9C15.7167 9 15.4792 8.90417 15.2875 8.7125C15.0958 8.52083 15 8.28333 15 8V4C15 3.71667 15.0958 3.47917 15.2875 3.2875C15.4792 3.09583 15.7167 3 16 3C16.2833 3 16.5208 3.09583 16.7125 3.2875C16.9042 3.47917 17 3.71667 17 4V5H20C20.2833 5 20.5208 5.09583 20.7125 5.2875C20.9042 5.47917 21 5.71667 21 6C21 6.28333 20.9042 6.52083 20.7125 6.7125C20.5208 6.90417 20.2833 7 20 7H17V8C17 8.28333 16.9042 8.52083 16.7125 8.7125C16.5208 8.90417 16.2833 9 16 9ZM4 7C3.71667 7 3.47917 6.90417 3.2875 6.7125C3.09583 6.52083 3 6.28333 3 6C3 5.71667 3.09583 5.47917 3.2875 5.2875C3.47917 5.09583 3.71667 5 4 5H12C12.2833 5 12.5208 5.09583 12.7125 5.2875C12.9042 5.47917 13 5.71667 13 6C13 6.28333 12.9042 6.52083 12.7125 6.7125C12.5208 6.90417 12.2833 7 12 7H4Z",fill:"#161616"})),ot=()=>t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",fill:"none"},t("g",{"clip-path":"url(#clip0_1696_811)"},t("path",{d:"M24 9.4L22.6 8L16 14.6L9.4 8L8 9.4L14.6 16L8 22.6L9.4 24L16 17.4L22.6 24L24 22.6L17.4 16L24 9.4Z",fill:"#C6C6C6"})),t("defs",null,t("clipPath",{id:"clip0_1696_811"},t("rect",{width:"32",height:"32",fill:"white"})))),st="--vviinn-carousel-image-width",nt="items-group";function at(t,e,i){return function(r){for(var o=Array(i.length+1),s=0;s<i.length;s++)o[s]=i[s];return o[i.length]=r,0===e?t.apply(null,o):at(t,e-1,o)}}Object.assign(Object.assign({},{concat:(t,e)=>t/e}),{empty:1});var lt={1:function(t){return[t]},2:function(t){return function(e){return[t,e]}},3:function(t){return function(e){return function(i){return[t,e,i]}}},4:function(t){return function(e){return function(i){return function(r){return[t,e,i,r]}}}},5:function(t){return function(e){return function(i){return function(r){return function(o){return[t,e,i,r,o]}}}}}};function ct(t){return n.call(lt,t)||(lt[t]=at(a,t-1,[])),lt[t]}const dt=class{constructor(t){e(this,t),this.vviinnProductLoad=i(this,"vviinnProductLoad",7),this.vviinnProductView=i(this,"vviinnProductView",7),this.columns=0,this.resizeObserver=new ResizeObserver((()=>this.handleResize())),this.defaultAnimationInterval=2e3,this.setModeMaxDiscount=null,this.mutationObserver=new MutationObserver((()=>this.cloneSlottedContent())),this.handleWindowResize=()=>this.setImageWidthSetMode("100%"),this.isLastGroup=()=>this.isGridMode&&this.activeContentGroup===this.getContentGroups().length-1,this.isFirstGroup=()=>this.isGridMode&&0===this.activeContentGroup,this.updateCard=(t,e,i)=>{let r=this.crossSellingRecommendations.find((e=>e.productId===t));const o=this.crossSellingRecommendations.indexOf(r),s=this.recommendations.indexOf(r),n=this.crossSellingRecommendations;if(s+e<this.recommendations.length){const r=this.recommendations[s+e];n[o]=r;const a=this.getProductData(r,s+e);this.vviinnProductLoad.emit(a),this.crossSellingRecommendations=[...n];let l=this.el.querySelector(`[data-id="${t}"]`);const c=l.shadowRoot.querySelector(".update-button");null==c||c.classList.add("hidden");const d=l.getBoundingClientRect().width;this.setImageWidthSetMode(`${d}px`);const p=setTimeout((()=>{s+2*e<=this.recommendations.length-1&&(null==c||c.classList.remove("hidden")),this.vviinnProductView.emit(a),clearTimeout(p)}),i)}},this.moveDirection="right",this.contentGroups=[],this.activeContentGroup=0,this.isRTL=!1,this.crossSellingRecommendations=[],this.setModeDiscount=null,this.currentDiscountIndex=0,this.setModeAppliedDiscounts={},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,this.addToBasketShow=void 0,this.updatingAllCards=void 0,this.updateButtonLocation=void 0,this.replaceSlotsContent=void 0,this.setModeDiscountsArray=void 0,this.imageRatio=void 0,this.currencySign=void 0,this.pricePrefix="",this.locale=void 0}getProductData(t,e){return{productId:t.productId,productRank:e,productName:t.productTitle,productType:t.productType,widgetType:"VPR",campaignTypeId:this.campaignTypeId,campaignTypeName:C[this.campaignTypeId],widgetId:this.widgetElementId,widgetVersion:this.widgetVersion}}componentWillLoad(){this.isRTL="rtl"===document.dir}connectedCallback(){this.setItemWidth(),this.isSetMode="set"===this.mode,this.isGridMode="grid"===this.mode,this.isContinuityMode="continuity"===this.mode;const t=this.getColumnsNumber();this.isSetMode&&(window.addEventListener("resize",this.handleWindowResize),this.sourceProduct=l.sourceProduct,this.setModeDiscount=this.setModeDiscountsArray[0],this.setModeMaxDiscount=this.setModeDiscountsArray[this.setModeDiscountsArray.length-1]),this.isSetMode&&this.recommendations.length>=t&&(this.crossSellingRecommendations=this.recommendations.slice(0,t))}disconnectedCallback(){this.resizeObserver.disconnect(),window.removeEventListener("resize",this.handleWindowResize)}componentDidUpdate(){this.replaceSlotsContent()}componentDidLoad(){this.setWidth(),this.columns=this.getColumnsNumber();const t=this.el.querySelector(".content");this.mutationObserver.observe(t,{subtree:!0,childList:!0}),this.resizeObserver.observe(this.getHostParent()),this.isGridMode&&this.getContentNode().addEventListener("scrollend",(()=>{this.activeContentGroup=this.getActiveGroupIndex()}))}updatingAllCardsWatcher(){if(!this.updatingAllCards)return;const t=this.getColumnsNumber();this.crossSellingRecommendations.forEach((e=>{this.updateCard(e.productId,t,this.defaultAnimationInterval)}))}crossSellingClickListener({detail:t}){const e=this.getColumnsNumber(),{animationInterval:i,productData:r}=t;this.updateCard(r.productId,e,i)}getItemWidthFromDocument(){return parseInt(getComputedStyle(document.body).getPropertyValue(st))}async trackAddToBasket({detail:t}){if(!this.isSetMode)return;const{productId:e}=t;this.setModeAppliedDiscounts.hasOwnProperty(e)||(this.setModeAppliedDiscounts=Object.assign(Object.assign({},this.setModeAppliedDiscounts),{[e]:this.setModeDiscount}),this.setModeDiscount===this.setModeMaxDiscount||(this.currentDiscountIndex+=1,this.setModeDiscount=this.setModeDiscountsArray[this.currentDiscountIndex]))}setItemWidth(){const t=this.getItemWidthFromDocument(),e=isNaN(t)?this.imageWidth:t;this.el.style.setProperty(st,`${e}px`)}setImageWidthSetMode(t){this.el.style.setProperty("--vviinn-set-mode-image-width",t)}getContentClassMap(){return{content:!0,[this.moveDirection]:!0,[this.mode]:!0,"show-scrollbar":!this.isSetMode&&this.showScroll}}handleResize(){this.setWidth(),this.setItemWidth();const t=this.getColumnsNumber();t!==this.columns&&(this.columns=t)}calculateMoveStep(){const t=this.getContent().map((t=>t.getBoundingClientRect().width)),e=t.reduce(((t,e)=>t+e),0),i=c.pipe(window.getComputedStyle(this.getContentNode()),(t=>t.getPropertyValue("gap")),(t=>parseInt(t.split("px")[0])),(t=>isNaN(t)?0:t));return e/t.length+i}getHostParent(){return this.el.parentNode.host.parentElement}setWidth(){const t=this.getHostParent();if(!t)return;const e=getComputedStyle(t),i=t.getBoundingClientRect().width-(parseInt(e["padding-right"])+parseInt(e["padding-left"]));this.el.style.setProperty("--vviinn-carousel-content-width",`${i}px`)}getParent(){return this.el.parentNode.host.parentElement}cloneSlottedContent(){this.setWidth()}getActiveGroupIndex(){const t=this.getContentGroups().map((t=>t.getBoundingClientRect().left)).map(((t,e)=>[t,e])).filter((t=>t[0]>=0));return t.length>0?this.isRTL?t[t.length-1][1]:t[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"),e=parseInt(t);return e&&!isNaN(e)?e:4}getContentGroups(){return Array.from(this.el.querySelectorAll(`.${nt}`))}handleCarouselButtonClick(t){this.moveDirection=t;const e=this.getContentNode(),{scrollLeft:i}=e,r=this.calculateMoveStep();requestAnimationFrame((()=>{e.scrollTo({top:0,left:"right"===t?i+r:i-r,behavior:"smooth"})}))}scroll(t){const e=this.getContentNode();requestAnimationFrame((()=>{e.scrollTo({top:0,left:this.calculateMoveStep()*t,behavior:"smooth"})}))}showBullets(){return this.isGridMode&&this.showScroll}showScrollbar(){return this.isContinuityMode&&this.showScroll}getClassMap(){return{[this.mode]:!0,"show-scrollbar":this.showScrollbar()}}renderRecommendation(e,i){var r,o,s;const n=this.setModeAppliedDiscounts[e.productId],a=(l=null===(r=e.price)||void 0===r?void 0:r.actual,Math.round(l*(1-(null!=n?n:this.setModeDiscount)/100)*100)/100);var l;return t("vviinn-product-card",{part:"product-part",productId:e.productId,productTitle:e.title,productType:e.productType,deeplink:e.deeplink,image:e.image.thumbnail,brand:e.brand,imageWidth:this.imageWidth,imageRatio:this.imageRatio,price:e.price.actual,salePrice:this.isSetMode?a:e.price.sale,basePrice:null===(o=e.basePrice)||void 0===o?void 0:o.actual,baseSalePrice:null===(s=e.basePrice)||void 0===s?void 0:s.sale,responsive:this.isGridMode,campaignTypeId:this.campaignTypeId,index:i,widgetElementId:this.widgetElementId,widgetVersion:this.widgetVersion,basketButtonShow:this.addToBasketShow,mode:this.mode,"data-id":e.productId,energyCertifications:e.energyCertifications,updatingAllCards:this.updatingAllCards,defaultAnimationInterval:this.defaultAnimationInterval,updateButtonLocation:this.updateButtonLocation,appliedDiscountPercentage:n,currentDiscountPercentage:this.setModeDiscount,currency:this.currencySign,pricePrefix:this.pricePrefix,locale:this.locale,priceLabel:P(e)})}renderRecommendationGroup(e){return t("div",{class:nt,part:"items-group"},...e)}renderRecommendationGroups(t){return t.map((t=>this.renderRecommendationGroup(t)))}renderRecommendations(){return this.isGridMode?this.renderGrid():this.renderRecommendationsElements()}renderRecommendationsElements(){return(this.isSetMode?this.crossSellingRecommendations:this.recommendations).map(((t,e)=>this.renderRecommendation(t,e)))}renderGrid(){const t=this.renderRecommendationsElements(),e=d.chunksOf(this.getColumnsNumber())(t);return this.renderRecommendationGroups(e)}renderBullets(){const e=Math.ceil(this.recommendations.length/this.getColumnsNumber());return Array.from(Array(e).keys()).map((e=>t("div",{class:{bullet:!0,active:this.activeContentGroup===e},onClick:()=>this.scroll(e)})))}render(){var e,i;return t(r,{class:this.getClassMap()},t("div",{class:Object.assign({body:!0},this.getClassMap())},!this.isSetMode&&t("button",{class:"prev",onClick:()=>this.handleCarouselButtonClick("left"),part:"carousel-button",disabled:this.gridArrowsDynamic&&this.isFirstGroup()},t(et,null)),this.isSetMode&&this.crossSellingRecommendations.length>0&&t("vviinn-product-card",{part:"product-part",class:"set-mode product-card--source",productTitle:this.sourceProduct.title,image:this.sourceProduct.image.thumbnail,price:this.sourceProduct.price.actual,salePrice:this.sourceProduct.price.sale,basePrice:null===(e=this.sourceProduct.basePrice)||void 0===e?void 0:e.actual,baseSalePrice:null===(i=this.sourceProduct.basePrice)||void 0===i?void 0:i.sale,imageRatio:1,imageWidth:300,isSourceProduct:!0,currency:this.currencySign,pricePrefix:this.pricePrefix,locale:this.locale}),t("div",{class:this.getContentClassMap()},this.renderRecommendations()),!this.isSetMode&&t("button",{class:"next",onClick:()=>this.handleCarouselButtonClick("right"),part:"carousel-button",disabled:this.gridArrowsDynamic&&this.isLastGroup()},t(et,null))),this.showBullets()&&t("div",{class:"bullets"},this.renderBullets()))}get el(){return o(this)}static get watchers(){return{updatingAllCards:["updatingAllCardsWatcher"]}}};dt.style=":host{--vviinn-carousel-columns-internal:var(--vviinn-carousel-columns, 4)}.body{display:flex;position:relative;width:var(--vviinn-carousel-content-width);flex-direction:column}.bullets{display:flex;flex-direction:row;grid-gap:24px;justify-content:center}.bullet{width:10px;height:10px;background:#e0e0e0;border-radius:50%;cursor:pointer}.bullet.active{background:#161616}.content: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;gap:8px;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) .prev,:host(.continuity) .next{border-radius:2px}:host(.grid) .prev,:host(.grid) .next{border-radius:50%}.prev,.next{align-items:center;background-color:white;border:none;box-shadow:0px 2px 6px rgba(0, 0, 0, 0.15);fill:#525252;cursor:pointer;display:grid;height:40px;justify-items:center;position:absolute;top:calc(50% - 20px);width:40px;z-index:1;padding:0;margin:0}.next:disabled,.prev:disabled{display:none}.prev svg{transform:rotate(180deg);margin-left:-5px}.prev{left:0}.next{right:0}.items-group{display:grid;grid-gap:16px;grid-template-columns:repeat(var(--vviinn-carousel-columns-internal), 1fr);min-width:100%}@media (max-width: 480px){.items-group{grid-template-columns:repeat(2, 1fr)}}.body.set{max-width:100%;justify-content:space-between;margin-left:auto;display:flex;flex-direction:row;gap:112px}.body.set::-webkit-scrollbar{display:none}@media (max-width: 768px){.body.set{gap:40px}}.content.set{grid-gap:20px;height:-moz-fit-content;height:fit-content;max-width:-moz-fit-content;max-width:fit-content;overflow:unset}";const pt=class{constructor(t){e(this,t),this.labelClickHandler=t=>{this.classLabelUrl?(t.preventDefault(),window.open(this.classLabelUrl,"_blank","noopener noreferrer")):this.productClickHandler(t)},this.classLabelUrl=void 0,this.classIconUrls=void 0,this.productType=void 0,this.classDataSheetUrl=void 0,this.iconDirection="right",this.productClickHandler=void 0}componentWillLoad(){z(this,this.el)}render(){return t(r,{class:{hidden:!this.classIconUrls&&!this.productType&&!this.classDataSheetUrl},exportparts:"energy-label-container, energy-label-icon, energy-label-product-type, energy-label-data-sheet-link"},t("div",{class:"container",part:"energy-label-container"},!!this.classIconUrls&&t("a",{class:"class-label-link",onClick:this.labelClickHandler},t("img",{class:"class-label-icon",part:"energy-label-icon",src:this.classIconUrls[this.iconDirection]})),(this.productType||this.classDataSheetUrl)&&t("div",{class:"info-container"},this.productType&&t("span",{class:"product-type",part:"energy-label-product-type"},this.productType),this.classDataSheetUrl&&t("a",{class:"data-sheet-link",part:"energy-label-data-sheet-link",href:this.classDataSheetUrl,target:"_blank",rel:"noopener noreferrer"},t("slot",{name:"vviinn-energy-label-data-sheet-text"},H.t("energyLabel.dataSheetText"))))))}get el(){return o(this)}};pt.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:130px;--product-card-results-min-width:250px;--image-set-mode-min-size:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{display:contents;line-height:0px}:host(.hidden){display:none}.container{display:flex;flex-direction:row;max-width:100%;gap:var(--spacing-75);align-items:center}.info-container{width:100%;height:100%;display:flex;justify-content:center;text-align:left;flex-direction:column;font-size:var(--font-size-caption);font-weight:var(--font-weight-400);line-height:var(--line-height-caption);letter-spacing:var(--letter-spacing-caption);font-style:normal}.class-label-link{cursor:pointer}.class-label-icon{display:inline-block;height:32px;width:auto;flex-shrink:0}.product-type,.data-sheet-link{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow-wrap:anywhere;overflow:hidden;text-overflow:ellipsis;text-decoration:none;color:var(--color-text-primary)}.product-type{color:var(--color-text-helper)}.data-sheet-link{cursor:pointer;text-decoration:none;color:var(--color-text-primary)}";const ht=t=>t&&"values"in t?t.values:t&&"histogram"in t?t.histogram:[],ft=class{constructor(t){e(this,t),this.vviinnFiltersChanged=i(this,"vviinnFiltersChanged",7),this.vviinnFilters=i(this,"vviinnFilters",7),this.globalSlotsChanged=i(this,"globalSlotsChanged",7),this.handleSetFilters=({detail:t})=>{this.filters=t},this.handleFiltersChanged=({detail:t})=>{const{filters:e,el:i}=t;i!==this.el&&(this.requestFilters=e)},this.timer=null,this.priceChangeHandler=t=>{this.timer&&clearTimeout(this.timer);const e=this.filters.find((t=>"price"===t.column));e&&(this.timer=setTimeout((()=>{this.handleSubFilterSelection(t,e)}),200))},this.filters=[],this.filtersString="",this.locale="de-DE",this.mode="button",this.requestFilters=[],this.showMore=!1,this.selectedMoreOptions=[]}replaceSlotsContent(){const t=this.el.querySelectorAll("[slot]");this.globalSlotsChanged.emit({slots:Array.from(t),element:this.el})}componentDidRender(){this.replaceSlotsContent()}async componentWillLoad(){await H.init({lng:this.locale,fallbackLng:"en",resources:B}),z(this,this.el)}handleSubFilterSelection(t,e){this.requestFilters=_(this.requestFilters,e,t),T([...this.requestFilters],this.el,this.vviinnFiltersChanged)}showActiveOnModalSubButton(t,e){let i=!1;return t.forEach((t=>{t.values.some((t=>t===e||t===e.interval||t===e.value))&&(i=!0)})),i}handleMoreOptionsMainClick(t){this.selectedMoreOptions=this.selectedMoreOptions.includes(t)?this.selectedMoreOptions.filter((e=>e!==t)):[...this.selectedMoreOptions,t]}filtersStringWatcher(){if(""!==this.filtersString)try{this.filters=JSON.parse(this.filtersString)}catch(t){console.error("Invalid filters string",t)}}connectedCallback(){document.addEventListener("vviinnFilters",this.handleSetFilters),document.addEventListener("vviinnFiltersChanged",this.handleFiltersChanged),this.filtersStringWatcher()}disconnectedCallback(){document.removeEventListener("vviinnFilters",this.handleSetFilters),document.addEventListener("vviinnFiltersChanged",this.handleFiltersChanged)}resetModal(){T([],this.el,this.vviinnFiltersChanged),this.requestFilters=[],this.showMore=!1}render(){return t(r,null,I("filters"),this.filters.length>0&&"button"===this.mode&&t("button",{class:"filters-more-button",onClick:()=>this.showMore=!0,part:"extended-filters-button"},t(rt,null)),t("div",{class:`filters-modal filters-modal-${this.mode} ${this.showMore?"open":""}`,part:"extended-filters-modal"},t("div",{class:"filters-modal-wrapper",part:"extended-filters-modal-wrapper"},t("div",{class:"filters-modal-header",part:"extended-filters-header"},t("slot",{name:"vviinn-extended-filters-title"},t("span",null,H.t("filters.modal.title"))),t("button",{class:"filters-modal-close",onClick:()=>{this.showMore=!1,this.requestFilters=[]},part:"extended-filters-modal-close"},t(ot,null))),t("ul",{class:"filters-modal-list",part:"extended-filters-list"},this.filters.map((e=>{var i,r,o;const s=e.column,n=ht(e),a=this.requestFilters.find((({column:t})=>t===s)),l=[];return null===(i=null==a?void 0:a.values)||void 0===i||i.forEach((e=>{const i=n.findIndex((t=>t.value.value===e||t.value===e));i>-1&&l.push(t("span",null,n[i].label))})),t("li",{part:"extended-filters-row"},t("div",{class:"filters-modal-main-button-wrapper",part:"extended-filters-row-wrapper"},t("button",{onClick:()=>this.handleMoreOptionsMainClick(e.column),class:"filters-modal-main-button",part:"extended-filters-main-button"},e.label),l.length>0&&t("div",{class:"filters-modal-main-button-added-options",part:"extended-filters-selected-wrapper"},l)),"price"===s&&this.selectedMoreOptions.includes(e.column)?t("vviinn-price-range",{histogram:n,priceChangeHandler:this.priceChangeHandler,selectedInterval:null!==(o=null===(r=this.requestFilters.find((({column:t})=>"price"===t)))||void 0===r?void 0:r.values[0])&&void 0!==o?o:{}}):t("ul",{class:`filters-modal-sub-list ${"color_confirmed"===s?"filters-modal-sub-list-inline":""} ${this.selectedMoreOptions.includes(e.column)?"open":""}`,part:"extended-filters-sub-list"},n&&n.map((({value:i,label:r,active:o})=>{const s=i.hexCode,n=this.showActiveOnModalSubButton(this.requestFilters,i);return t("li",{part:"extended-filters-sub-row"},t("button",{onClick:()=>this.handleSubFilterSelection(i,e),class:`filters-more-modal-button ${s?"filters-sub-button-color":""} ${n?"active":""}`,style:{backgroundColor:s},disabled:!o,part:"extended-filters-option-button"},t("span",null,t("span",null,r),t(n?V:L,null))))}))))}))),t("div",{class:"filters-modal-actions",part:"extended-filters-actions"},t("button",{class:"filters-modal-apply",onClick:()=>this.showMore=!1,disabled:0===this.requestFilters.length,part:"extended-filters-apply"},t("slot",{name:"vviinn-extended-filters-apply"},H.t("filters.modal.apply"))),t("button",{class:"filters-modal-reset",onClick:()=>this.resetModal(),part:"extended-filters-reset"},t("slot",{name:"vviinn-extended-filters-reset"},H.t("filters.modal.resetFilters")))))))}get el(){return o(this)}static get watchers(){return{filtersString:["filtersStringWatcher"]}}};ft.style=':host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:130px;--product-card-results-min-width:250px;--image-set-mode-min-size:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{display:block;font-family:var(--font-family, var(--font-family-base));font-style:normal;}:host(.show-in-widget){padding-left:24px}.filters-modal-list,.sub-filters-wrapper,.main-filters-list,.filters-modal-sub-list,.selected-filters-wrapper{list-style:none;margin:0;padding:0}.main-filters-list{padding:var(--spacing-25);gap:var(--spacing-25);border-radius:8px;background:var(--surface-bg-color-01);display:inline-flex}.filters-modal-main-button,.filters-sub-button,.filters-main-button,.filters-modal-close,.filters-sub-button-selected{font-family:var(--font-family, var(--font-family-base));cursor:pointer;border:none}.filters-sub-button,.filters-main-button{font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);display:flex;justify-content:center;align-items:center;border-radius:6px}.filters-main-button{padding:var(--spacing-100);color:var(--color-text-helper);background:none}.filters-main-button.active,.filters-main-button:hover{background:var(--surface-bg-color-02);color:var(--color-text-primary)}.sub-filters-wrapper,.selected-filters-wrapper{gap:var(--spacing-100);display:flex;flex-direction:row;overflow-x:auto;scrollbar-width:thin;padding-bottom:6px}.sub-filters-wrapper{gap:var(--spacing-100);margin-top:16px;margin:16px -2px 0}.sub-filters-wrapper>li{padding:2px}.selected-filters-wrapper{margin-top:10px;gap:var(--spacing-100);flex-wrap:wrap}:host(.show-in-widget) .selected-filters-wrapper{flex-wrap:unset;overflow-x:auto}:host(.show-in-widget) .sub-filters-wrapper,:host(.show-in-widget) .selected-filters-wrapper{transform:translateX(-24px);padding-left:24px;padding-right:24px;width:calc(100% - 24px)}@media (max-width: 768px){.sub-filters-wrapper,.selected-filters-wrapper{flex-wrap:unset;overflow-x:auto;padding-bottom:0}.sub-filters-wrapper,.selected-filters-wrapper{margin-top:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.sub-filters-wrapper::-webkit-scrollbar,.selected-filters-wrapper::-webkit-scrollbar{display:none}}.filters-sub-button{color:var(--color-text-primary);background:var(--surface-bg-color-01);padding:var(--spacing-100);gap:var(--spacing-25);height:100%}.filters-sub-button>span,.filters-sub-button-selected>span{display:inline-flex;justify-content:center;align-items:center;gap:var(--spacing-25);white-space:nowrap}.filters-sub-button>span>span,.filters-sub-button-selected>span>span{padding:2px}.filters-sub-button:hover{background:var(--surface-bg-color-01-hover)}.filters-sub-button:disabled{cursor:not-allowed;background:var(--surface-bg-color-disabled);color:var(--color-text-disabled)}.filters-more-button{display:flex;padding:var(--spacing-100);gap:var(--spacing-50);border-radius:var(--border-radius-100);align-items:flex-start;background:var(--button-bg-color-secondary);border:none;cursor:pointer}.filters-modal.filters-modal-button{display:none;position:fixed;top:0;bottom:0;right:0;left:0;background-color:rgba(0, 0, 0, 0.5);z-index:98}.filters-modal.filters-modal-preview{display:block}.filters-modal.open{display:block}.filters-modal-wrapper{display:flex;flex-direction:column}.filters-modal.filters-modal-button .filters-modal-wrapper{position:fixed;top:0;bottom:0;right:0;width:420px;background-color:#ffffff;z-index:99;border-radius:32px 0px 0px 32px}@media (max-width: 768px){.filters-modal.filters-modal-button .filters-modal-wrapper{width:100%;top:20%;border-radius:32px 32px 0px 0px}}.filters-modal-header{position:relative;padding:20px 0;color:var(--color-text-primary);text-align:center;font-size:var(--font-size-headline);font-weight:var(--font-weight-500);line-height:var(--line-height-headline);letter-spacing:var(--letter-spacing-headline);border-bottom:1px solid var(--color-border-01);display:flex;justify-content:center;gap:5px}.filters-modal-list{margin:4px 0 0 24px;flex:1;overflow-y:auto;padding-bottom:20px}.filters-modal-list>li{padding-right:24px}.filters-modal-main-button-wrapper{border-bottom:1px solid var(--color-border-01);padding:20px 0}.filters-modal-main-button{width:100%;background:none;text-align:left;padding:0;color:var(--color-text-primary);font-size:var(--font-size-label-large);font-weight:var(--font-weight-500);line-height:var(--line-height-label-large);letter-spacing:var(--letter-spacing-label-large)}.filters-modal-sub-list{display:none;margin:0 -6px}.filters-modal-sub-list>li{display:inline-block;margin:0 4px}.filters-modal-sub-list-inline{margin:0 -6px}.filters-modal-sub-list-inline>li{margin:0 6px}.filters-modal-sub-list.open{display:block}.filters-modal-sub-list>li{margin-top:10px;padding:2px}.filters-modal.filters-modal-button .filters-modal-close{position:absolute;right:0;top:15px;cursor:pointer;background:none}.filters-modal.filters-modal-preview .filters-modal-close{display:none}.filters-more-modal-button{background:none;border:none;cursor:pointer;display:flex;padding:var(--spacing-100);align-items:center;gap:var(--spacing-25);border-radius:var(--border-radius-100);background:var(--surface-bg-color-01);font-family:var(--font-family, var(--font-family-base));color:var(--color-text-primary)}.filters-more-modal-button.active{background:var(--surface-bg-color-inverse);color:var(--color-text-inverse)}.filters-more-modal-button>span{display:flex;align-items:center;justify-content:center;gap:var(--spacing-25)}.filters-more-modal-button>span>span{padding:2px}.filters-more-modal-button:disabled{cursor:not-allowed;opacity:0.5}.filters-modal-actions{border-top:1px solid var(--color-border-01);padding:var(--spacing-250);z-index:10;background:#ffffff;border-radius:0px 0px 0px 32px}.filters-modal-apply,.filters-modal-reset{font-family:var(--font-family, var(--font-family-base))}.filters-modal-apply{cursor:pointer;width:100%;border:none;display:flex;padding:var(--spacing-150);justify-content:center;align-items:center;gap:var(--spacing-50);align-self:stretch;color:var(--color-text-inverse);text-align:center;border-radius:var(--border-radius-150);background:var(--button-bg-color-primary);font-size:var(--font-size-label-large);font-weight:var(--font-weight-500);line-height:var(--line-height-label-large);letter-spacing:var(--letter-spacing-label-large)}.filters-modal-apply:disabled{background:var(--button-bg-color-disabled);color:var(--color-text-disabled)}.filters-modal-reset{background:none;border:none;cursor:pointer;display:block;text-align:center;width:100%;margin-top:20px;color:var(--color-text-secondary);text-align:center;font-size:var(--font-size-label);font-weight:var(--font-weight-500);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label)}.selected-filters-wrapper>li{border-radius:var(--border-radius-100);background:var(--surface-bg-color-inverse);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:var(--spacing-100)}.filters-sub-button-selected{display:flex;align-items:center;gap:var(--spacing-25);background:var(--surface-bg-color-inverse);border-radius:var(--border-radius-100);color:var(--color-text-inverse);text-overflow:ellipsis;font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);padding:var(--spacing-100)}.selected-filters-wrapper>li .filters-sub-button-selected{padding:0}.filters-sub-button-color{width:40px;height:40px;border:2px solid var(--color-border-01);outline:2px solid var(--color-border-01);border-radius:20px}.filters-sub-button-color:disabled{opacity:0.25}.selected-filters-wrapper .filters-sub-button-selected.filters-sub-button-color{width:24px;height:24px;border:none}.filters-sub-button-color>span{display:none}.filters-sub-button-color.active{border:2px solid #fff;outline:2px solid #000}.filters-modal-main-button-added-options{color:var(--color-text-secondary);text-overflow:ellipsis;font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body)}.filters-modal-main-button-added-options>span::after{content:", "}.filters-modal-main-button-added-options>span:last-child::after{content:""}';const ut=class{constructor(t){e(this,t),this.vviinnFiltersChanged=i(this,"vviinnFiltersChanged",7),this.vviinnFilters=i(this,"vviinnFilters",7),this.globalSlotsChanged=i(this,"globalSlotsChanged",7),this.timer=null,this.priceChangeHandler=t=>{this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>{this.handleSubFilterSelection(t,this.selectedFilter)}),200)},this.handleSetFilters=({detail:t})=>{this.filters=t,this.selectedFilter&&(this.selectedFilter=this.filters.find((t=>t.column===this.selectedFilter.column))),t.some((({column:t})=>{var e;return t===(null===(e=this.selectedFilter)||void 0===e?void 0:e.column)}))||(this.selectedFilter=void 0)},this.handleFiltersChanged=({detail:t})=>{const{filters:e,el:i}=t;i!==this.el&&(this.requestFilters=e,this.selectedFilter||(this.selectedFilter=this.filters.find((t=>t.column===e[0].column))))},this.filters=[],this.filtersString="",this.showInWidget=!1,this.selectedFilter=void 0,this.requestFilters=[]}handleMainFilterSelection(t){this.selectedFilter=t}handleSubFilterSelection(t,e){this.requestFilters=_(this.requestFilters,e,t),T([...this.requestFilters],this.el,this.vviinnFiltersChanged)}showActiveOnMainButton({column:t}){return this.selectedFilter&&this.selectedFilter.column===t?"active":""}filtersStringWatcher(){if(""!==this.filtersString)try{this.filters=JSON.parse(this.filtersString)}catch(t){console.error("Invalid filters string",t)}}connectedCallback(){document.addEventListener("vviinnFilters",this.handleSetFilters),document.addEventListener("vviinnFiltersChanged",this.handleFiltersChanged),this.filtersStringWatcher()}disconnectedCallback(){document.removeEventListener("vviinnFilters",this.handleSetFilters),document.removeEventListener("vviinnFiltersChanged",this.handleFiltersChanged)}render(){var e,i,o;const{column:s}=null!==(e=this.selectedFilter)&&void 0!==e?e:{},n=ht(this.selectedFilter),a=this.filters.filter((t=>t.isPrimary));return 0===a.length?t(r,null):t(r,{class:{"show-in-widget":this.showInWidget}},t("div",{class:"main-filters-wrapper",part:"filters-wrapper"},t("ul",{class:"main-filters-list",part:"filters-list"},a.map((e=>t("li",null,t("button",{class:`filters-main-button ${this.showActiveOnMainButton(e)}`,onClick:()=>this.handleMainFilterSelection(e),part:"filters-main-button"},e.label)))))),void 0!==this.selectedFilter&&t("div",{class:"filters-footer",part:"filters-footer"},"price"===s?t("vviinn-price-range",{histogram:n,priceChangeHandler:this.priceChangeHandler,selectedInterval:null!==(o=null===(i=this.requestFilters.find((({column:t})=>"price"===t)))||void 0===i?void 0:i.values[0])&&void 0!==o?o:{}}):t("ul",{class:"sub-filters-wrapper",part:"filters-footer-list"},n&&n.map((({value:t,label:e,active:i})=>{const r=O(this.requestFilters,t,this.selectedFilter);return R(this.handleSubFilterSelection.bind(this),t,e,i,this.selectedFilter,r)})))))}get el(){return o(this)}static get watchers(){return{filtersString:["filtersStringWatcher"]}}};ut.style=':host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:130px;--product-card-results-min-width:250px;--image-set-mode-min-size:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{display:block;font-family:var(--font-family, var(--font-family-base));font-style:normal;}:host(.show-in-widget){padding-left:24px}.filters-modal-list,.sub-filters-wrapper,.main-filters-list,.filters-modal-sub-list,.selected-filters-wrapper{list-style:none;margin:0;padding:0}.main-filters-list{padding:var(--spacing-25);gap:var(--spacing-25);border-radius:8px;background:var(--surface-bg-color-01);display:inline-flex}.filters-modal-main-button,.filters-sub-button,.filters-main-button,.filters-modal-close,.filters-sub-button-selected{font-family:var(--font-family, var(--font-family-base));cursor:pointer;border:none}.filters-sub-button,.filters-main-button{font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);display:flex;justify-content:center;align-items:center;border-radius:6px}.filters-main-button{padding:var(--spacing-100);color:var(--color-text-helper);background:none}.filters-main-button.active,.filters-main-button:hover{background:var(--surface-bg-color-02);color:var(--color-text-primary)}.sub-filters-wrapper,.selected-filters-wrapper{gap:var(--spacing-100);display:flex;flex-direction:row;overflow-x:auto;scrollbar-width:thin;padding-bottom:6px}.sub-filters-wrapper{gap:var(--spacing-100);margin-top:16px;margin:16px -2px 0}.sub-filters-wrapper>li{padding:2px}.selected-filters-wrapper{margin-top:10px;gap:var(--spacing-100);flex-wrap:wrap}:host(.show-in-widget) .selected-filters-wrapper{flex-wrap:unset;overflow-x:auto}:host(.show-in-widget) .sub-filters-wrapper,:host(.show-in-widget) .selected-filters-wrapper{transform:translateX(-24px);padding-left:24px;padding-right:24px;width:calc(100% - 24px)}@media (max-width: 768px){.sub-filters-wrapper,.selected-filters-wrapper{flex-wrap:unset;overflow-x:auto;padding-bottom:0}.sub-filters-wrapper,.selected-filters-wrapper{margin-top:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.sub-filters-wrapper::-webkit-scrollbar,.selected-filters-wrapper::-webkit-scrollbar{display:none}}.filters-sub-button{color:var(--color-text-primary);background:var(--surface-bg-color-01);padding:var(--spacing-100);gap:var(--spacing-25);height:100%}.filters-sub-button>span,.filters-sub-button-selected>span{display:inline-flex;justify-content:center;align-items:center;gap:var(--spacing-25);white-space:nowrap}.filters-sub-button>span>span,.filters-sub-button-selected>span>span{padding:2px}.filters-sub-button:hover{background:var(--surface-bg-color-01-hover)}.filters-sub-button:disabled{cursor:not-allowed;background:var(--surface-bg-color-disabled);color:var(--color-text-disabled)}.filters-more-button{display:flex;padding:var(--spacing-100);gap:var(--spacing-50);border-radius:var(--border-radius-100);align-items:flex-start;background:var(--button-bg-color-secondary);border:none;cursor:pointer}.filters-modal.filters-modal-button{display:none;position:fixed;top:0;bottom:0;right:0;left:0;background-color:rgba(0, 0, 0, 0.5);z-index:98}.filters-modal.filters-modal-preview{display:block}.filters-modal.open{display:block}.filters-modal-wrapper{display:flex;flex-direction:column}.filters-modal.filters-modal-button .filters-modal-wrapper{position:fixed;top:0;bottom:0;right:0;width:420px;background-color:#ffffff;z-index:99;border-radius:32px 0px 0px 32px}@media (max-width: 768px){.filters-modal.filters-modal-button .filters-modal-wrapper{width:100%;top:20%;border-radius:32px 32px 0px 0px}}.filters-modal-header{position:relative;padding:20px 0;color:var(--color-text-primary);text-align:center;font-size:var(--font-size-headline);font-weight:var(--font-weight-500);line-height:var(--line-height-headline);letter-spacing:var(--letter-spacing-headline);border-bottom:1px solid var(--color-border-01);display:flex;justify-content:center;gap:5px}.filters-modal-list{margin:4px 0 0 24px;flex:1;overflow-y:auto;padding-bottom:20px}.filters-modal-list>li{padding-right:24px}.filters-modal-main-button-wrapper{border-bottom:1px solid var(--color-border-01);padding:20px 0}.filters-modal-main-button{width:100%;background:none;text-align:left;padding:0;color:var(--color-text-primary);font-size:var(--font-size-label-large);font-weight:var(--font-weight-500);line-height:var(--line-height-label-large);letter-spacing:var(--letter-spacing-label-large)}.filters-modal-sub-list{display:none;margin:0 -6px}.filters-modal-sub-list>li{display:inline-block;margin:0 4px}.filters-modal-sub-list-inline{margin:0 -6px}.filters-modal-sub-list-inline>li{margin:0 6px}.filters-modal-sub-list.open{display:block}.filters-modal-sub-list>li{margin-top:10px;padding:2px}.filters-modal.filters-modal-button .filters-modal-close{position:absolute;right:0;top:15px;cursor:pointer;background:none}.filters-modal.filters-modal-preview .filters-modal-close{display:none}.filters-more-modal-button{background:none;border:none;cursor:pointer;display:flex;padding:var(--spacing-100);align-items:center;gap:var(--spacing-25);border-radius:var(--border-radius-100);background:var(--surface-bg-color-01);font-family:var(--font-family, var(--font-family-base));color:var(--color-text-primary)}.filters-more-modal-button.active{background:var(--surface-bg-color-inverse);color:var(--color-text-inverse)}.filters-more-modal-button>span{display:flex;align-items:center;justify-content:center;gap:var(--spacing-25)}.filters-more-modal-button>span>span{padding:2px}.filters-more-modal-button:disabled{cursor:not-allowed;opacity:0.5}.filters-modal-actions{border-top:1px solid var(--color-border-01);padding:var(--spacing-250);z-index:10;background:#ffffff;border-radius:0px 0px 0px 32px}.filters-modal-apply,.filters-modal-reset{font-family:var(--font-family, var(--font-family-base))}.filters-modal-apply{cursor:pointer;width:100%;border:none;display:flex;padding:var(--spacing-150);justify-content:center;align-items:center;gap:var(--spacing-50);align-self:stretch;color:var(--color-text-inverse);text-align:center;border-radius:var(--border-radius-150);background:var(--button-bg-color-primary);font-size:var(--font-size-label-large);font-weight:var(--font-weight-500);line-height:var(--line-height-label-large);letter-spacing:var(--letter-spacing-label-large)}.filters-modal-apply:disabled{background:var(--button-bg-color-disabled);color:var(--color-text-disabled)}.filters-modal-reset{background:none;border:none;cursor:pointer;display:block;text-align:center;width:100%;margin-top:20px;color:var(--color-text-secondary);text-align:center;font-size:var(--font-size-label);font-weight:var(--font-weight-500);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label)}.selected-filters-wrapper>li{border-radius:var(--border-radius-100);background:var(--surface-bg-color-inverse);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:var(--spacing-100)}.filters-sub-button-selected{display:flex;align-items:center;gap:var(--spacing-25);background:var(--surface-bg-color-inverse);border-radius:var(--border-radius-100);color:var(--color-text-inverse);text-overflow:ellipsis;font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);padding:var(--spacing-100)}.selected-filters-wrapper>li .filters-sub-button-selected{padding:0}.filters-sub-button-color{width:40px;height:40px;border:2px solid var(--color-border-01);outline:2px solid var(--color-border-01);border-radius:20px}.filters-sub-button-color:disabled{opacity:0.25}.selected-filters-wrapper .filters-sub-button-selected.filters-sub-button-color{width:24px;height:24px;border:none}.filters-sub-button-color>span{display:none}.filters-sub-button-color.active{border:2px solid #fff;outline:2px solid #000}.filters-modal-main-button-added-options{color:var(--color-text-secondary);text-overflow:ellipsis;font-size:var(--font-size-body);font-weight:var(--font-weight-400);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body)}.filters-modal-main-button-added-options>span::after{content:", "}.filters-modal-main-button-added-options>span:last-child::after{content:""}';const bt=class{constructor(t){e(this,t),this.histogram=[],this.addStyle=!0,this.priceChangeHandler=void 0,this.selectedInterval=void 0,this.minIndex=0,this.maxIndex=void 0,this.scalingFactor=void 0}getParsed(t,e){return[parseInt(t.value,10),parseInt(e.value,10)]}componentDidLoad(){this.setToggleAccessible(this.toSlider)}componentWillLoad(){this.maxIndex=this.histogram.length-1;const t=Math.max(...this.histogram.map((({value:t})=>t.frequency)));this.scalingFactor=1/t,this.updatingSelectedInterval()}updatingSelectedInterval(){this.minIndex=void 0!==this.selectedInterval.start?this.histogram.findIndex((({value:t})=>t.interval.start===this.selectedInterval.start)):0,this.maxIndex=this.selectedInterval.end?this.histogram.findIndex((t=>t.value.interval.end===this.selectedInterval.end)):this.histogram.length-1}controlFromSlider(t,e){const[i,r]=this.getParsed(t,e);i>r&&(t.value=r),this.sendBackValue()}controlToSlider(t,e){const[i,r]=this.getParsed(t,e);this.setToggleAccessible(e),e.value=i<=r?r:i,this.sendBackValue()}sendBackValue(){this.priceChangeHandler({interval:{start:this.histogram[this.minIndex].value.interval.start,end:this.histogram[this.maxIndex].value.interval.end}})}setToggleAccessible(t){this.toSlider.style.zIndex=Number(t.value)<=0?"2":"0"}calculateBarHeight(t){return t*this.scalingFactor*100}render(){const e=this.histogram.length-1;return t(r,{exportparts:"histogram, histogram-bar, histogram-range-container, histogram-sliders-control, histogram-from-slider, histogram-to-slider, histogram-label-wrapper, histogram-label"},t("div",{class:"histogram",part:"histogram"},this.histogram.map(((e,i)=>t("div",{class:"histogram-bar "+(i<this.minIndex||i>this.maxIndex?"histogram-bar-inactive":""),style:{height:`${this.calculateBarHeight(e.value.frequency)}%`},part:"histogram-bar"})))),t("div",{class:"range_container",part:"histogram-range-container"},t("div",{class:"sliders_control",part:"histogram-sliders-control"},t("input",{ref:t=>this.fromSlider=t,id:"fromSlider",type:"range",min:"0",max:e,value:this.minIndex,onInput:t=>{this.minIndex=parseInt(t.target.value),this.controlFromSlider(this.fromSlider,this.toSlider)},part:"histogram-from-slider"}),t("input",{ref:t=>this.toSlider=t,id:"toSlider",type:"range",min:"0",max:e,value:this.maxIndex,onInput:t=>{this.maxIndex=parseInt(t.target.value),this.controlToSlider(this.fromSlider,this.toSlider)},part:"histogram-to-slider"}))),t("div",{class:"label-wrapper",part:"histogram-label-wrapper"},t("div",{class:"label",part:"histogram-label"},this.histogram[this.minIndex].label),t("div",{class:"label",part:"histogram-label"},this.histogram[this.maxIndex].label)))}get el(){return o(this)}static get watchers(){return{selectedInterval:["updatingSelectedInterval"]}}};bt.style=':host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:130px;--product-card-results-min-width:250px;--image-set-mode-min-size:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{display:block;max-width:400px;font-family:var(--font-family, var(--font-family-base))}.histogram{height:64px;display:flex;align-items:flex-end;gap:1px;margin:0 0.6%}.histogram-bar{background:var(--surface-inverse-bg-color, #262626);flex:1;border-radius:2px 2px 0px 0px}.histogram-bar.histogram-bar-inactive{background:var(--surface-bg-color-disabled)}.range_container{display:flex;flex-direction:column;width:99.4%;margin-top:-2px}.range_container .sliders_control{position:relative;min-height:25px}.range_container .form_control{position:relative;display:flex;justify-content:space-between;font-size:24px;color:#635a5a}.range_container input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:all;width:32px;height:32px;background-color:var(--color-bg-base);border-radius:50%;box-shadow:0 0 0 1px var(--color-border-02);cursor:pointer}.range_container input[type="range"]::-moz-range-thumb{-webkit-appearance:none;pointer-events:all;width:32px;height:32px;background-color:var(--color-bg-base);border-radius:50%;box-shadow:0 0 0 1px var(--color-border-02);cursor:pointer}.range_container input[type="range"]::-webkit-slider-thumb:hover{background:#f7f7f7}.range_container input[type="range"]::-webkit-slider-thumb:active{box-shadow:inset 0 0 3px #387bbe, 0 0 9px #387bbe;-webkit-box-shadow:inset 0 0 3px #387bbe, 0 0 9px #387bbe}.range_container input[type="range"]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2px;width:99.4%;position:absolute;background:var(--color-border-01);pointer-events:none}.range_container #fromSlider{height:0;z-index:1}.label-wrapper{display:flex;justify-content:space-between;margin-top:6px}.label-wrapper .label{display:flex;padding:var(--spacing-25) var(--spacing-100);justify-content:center;align-items:center;border-radius:var(--border-radius-100);background:var(--chip-bg-color-primary);color:var(--color-text-inverse);text-align:center;font-size:var(--font-size-label);font-style:normal;font-weight:var(--font-weight-500);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label)}';class gt{sendImpression(t){var e,i,r;t&>ag("event","view_item_list",{items:[{id:t.productId,name:t.title,brand:null!==(e=t.brand)&&void 0!==e?e:"",category:null!==(i=t.productType)&&void 0!==i?i:"",list_name:"VI VPR View",price:Math.min(t.price.actual,null!==(r=t.price.sale)&&void 0!==r?r:1/0)}]})}sendClick(t){var e,i,r;gtag("event","select_content",{content_type:"product",items:[{id:t.productId,name:t.title,brand:null!==(e=t.brand)&&void 0!==e?e:"",category:null!==(i=t.productType)&&void 0!==i?i:"",list_name:"VI VPR View",price:Math.min(t.price.actual,null!==(r=t.price.sale)&&void 0!==r?r:1/0)}]})}}class vt{constructor(){ga("require","ec")}convertProduct(t){var e,i,r;return{id:t.productId,name:t.title,brand:null!==(e=t.brand)&&void 0!==e?e:"",category:null!==(i=t.productType)&&void 0!==i?i:"",list:"VI VPR View",price:Math.min(t.price.actual,null!==(r=t.price.sale)&&void 0!==r?r:1/0)}}sendImpression(t){ga("ec:addImpression",this.convertProduct(t))}sendClick(t){var e,i,r;ga("ec:addProduct",{id:t.productId,name:t.title,brand:null!==(e=t.brand)&&void 0!==e?e:"",category:null!==(i=t.productType)&&void 0!==i?i:"",price:Math.min(t.price.actual,null!==(r=t.price.sale)&&void 0!==r?r:1/0)}),ga("ec:setAction","click",{list:"VI VPR View"})}}const xt=p.getMonoid(h.first()).concat(c.pipe(p.fromNullable(window.gtag),p.map((()=>new gt))),c.pipe(p.fromNullable(window.ga),p.map((()=>new vt)))),mt=class{constructor(t){e(this,t),this.vviinnProductLoad=i(this,"vviinnProductLoad",7),this.vviinnProductView=i(this,"vviinnProductView",7),this.vviinnProductClick=i(this,"vviinnProductClick",7),this.vviinnAddToBasket=i(this,"vviinnAddToBasket",7),this.vviinnAuxClick=i(this,"vviinnAuxClick",7),this.vviinnCrossSellingClick=i(this,"vviinnCrossSellingClick",7),this.vviinnUpdatingAllCardsStarted=i(this,"vviinnUpdatingAllCardsStarted",7),this.vviinnUpdatingAllCardsFinished=i(this,"vviinnUpdatingAllCardsFinished",7),this.productData=null,this.intersectionCallback=t=>{t.length&&t.some((t=>t.isIntersecting))&&(c.pipe(xt,p.map((t=>t.sendImpression(this.getProduct())))),this.vviinnProductView.emit(this.productData),this.intersectionObserver.disconnect())},this.brand=void 0,this.currency=void 0,this.image=void 0,this.imageRatio=1,this.imageWidth=200,this.locale=void 0,this.price=void 0,this.basePrice=void 0,this.pricePrefix=void 0,this.productTitle=void 0,this.productType=void 0,this.salePrice=void 0,this.baseSalePrice=void 0,this.responsive=!1,this.mode="continuity",this.basketButtonShow=void 0,this.updateButtonLocation=void 0,this.priceLabel=void 0,this.energyCertifications=void 0,this.productId=void 0,this.campaignTypeId=void 0,this.widgetElementId=void 0,this.buttonElementId=void 0,this.widgetVersion=void 0,this.deeplink=void 0,this.index=0,this.updatingAllCards=void 0,this.defaultAnimationInterval=void 0,this.appliedDiscountPercentage=void 0,this.currentDiscountPercentage=void 0,this.isSourceProduct=!1,this.isResultsWidget=!1,this.energyCertificationsString="",this.isTransitioning=!1,this.basketButonPressed=!1}connectedCallback(){this.productData=this.getProductData(),this.isSetMode="set"===this.mode,this.isGridMode="grid"===this.mode,this.isContinuityMode="continuity"===this.mode,this.energyCertificationsString.length>0&&(this.parseEnergyCertificationsString(),H.init({lng:this.locale,fallbackLng:"en",resources:B}))}componentWillLoad(){z(this,this.el)}componentDidLoad(){this.vviinnProductLoad.emit(this.productData),this.intersectionObserver=new IntersectionObserver(this.intersectionCallback.bind(this.imageElement),{threshold:1}),this.intersectionObserver.observe(this.imageElement),this.addLinksEventListeners()}crossSellingClickListener({detail:t}){const{animationInterval:e}=t;this.isTransitioning=!0,this.basketButonPressed=!1;const i=setTimeout((()=>{this.isTransitioning=!1,clearTimeout(i)}),e)}updatingAllCardsWatcher(){if(!this.updatingAllCards)return;this.vviinnUpdatingAllCardsStarted.emit(),this.isTransitioning=!0,this.basketButonPressed=!1;const t=setTimeout((()=>{this.vviinnUpdatingAllCardsFinished.emit(),this.isTransitioning=!1,clearTimeout(t)}),this.defaultAnimationInterval)}productIdWatcher(){this.productData=this.getProductData()}parseEnergyCertificationsString(){if(""!==this.energyCertificationsString)try{this.energyCertifications=JSON.parse(this.energyCertificationsString)}catch(t){console.error("Invalid filters string",t)}}getWidgetType(){return"VPR"===this.campaignTypeId||"VCS"===this.campaignTypeId?"VPR":"VPS"}getProductData(){var t;return{productId:this.productId,productRank:this.index,productName:this.productTitle,productType:this.productType,widgetType:this.getWidgetType(),campaignTypeId:this.campaignTypeId,campaignTypeName:C[this.campaignTypeId],widgetId:null!==(t=this.buttonElementId)&&void 0!==t?t:this.widgetElementId,widgetVersion:this.widgetVersion}}productClickHandler(t){t.preventDefault(),t.stopImmediatePropagation(),this.vviinnProductClick.emit(Object.assign(Object.assign({},this.productData),{clickEvent:t})),c.pipe(xt,p.match((()=>null),(t=>t.sendClick(this.getProduct()))))}addLinksEventListeners(){this.el.shadowRoot.querySelectorAll("a").forEach((t=>{t.addEventListener("click",this.productClickHandler.bind(this)),t.addEventListener("auxclick",(()=>{this.vviinnAuxClick.emit(Object.assign({},this.productData))}))}))}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,ref:t=>{this.imageElement=t},isSource:this.isSourceProduct};return this.responsive?A(t):M(t)}render(){var e;return t(r,{part:"product-card",class:{animated:this.isTransitioning,"set-mode":this.isSetMode,"grid-mode":this.isGridMode,"continuity-mode":this.isContinuityMode,"results-widget":this.isResultsWidget},exportparts:"brand, price-label, price-label-0, price-label-1, price-label-2, price-label-3, price-label-4, currency, deeplink, image, image-link, price-amount-regular, price-amount-sale, price-amount-outdated, price-amount-base-regular, price-amount-base-sale, price-amount-base-outdated, price-container, price-outdated, price-regular, price-sale, price-prefix, discount-label, discount-percentage, title, basket-button, update-button-item, energy-label-container, energy-label-icon, energy-label-product-type, energy-label-data-sheet-link"},t(E,{deeplink:this.deeplink,part:"image-link"},this.renderImage()),this.isTransitioning?t(s,null,t("vviinn-skeleton",{height:40}),t("vviinn-skeleton",{height:20,halfWidth:!0})):t(s,null,t(E,{deeplink:this.deeplink,part:"deeplink"},t("span",{class:"title",part:"title"},this.productTitle)),t("span",{class:"brand",part:"brand"},this.brand),(null!==(e=null==this?void 0:this.energyCertifications)&&void 0!==e?e:[]).map((e=>t("vviinn-energy-label",{classLabelUrl:null==e?void 0:e.classLabelUrl,classIconUrls:null==e?void 0:e.classIconUrls,classDataSheetUrl:null==e?void 0:e.classDataSheetUrl,productType:null==e?void 0:e.productType,productClickHandler:this.productClickHandler.bind(this)}))),t(W,{prefix:this.pricePrefix,currency:this.currency,price:this.price,basePrice:F(this.basePrice),salePrice:this.salePrice,baseSalePrice:F(this.baseSalePrice),locale:this.locale,priceLabel:this.priceLabel}),this.isSetMode&&!this.appliedDiscountPercentage&&this.currentDiscountPercentage&&t("div",{class:"discount-label",part:"discount-label"},`-${this.currentDiscountPercentage}%`)),(this.basketButtonShow||this.isSetMode)&&t(s,null,this.isTransitioning&&t("vviinn-skeleton",{height:40}),t("div",{class:"basket-button-wrapper"},t("button",{class:{"basket-button":!0,"basket-button--hidden":this.isTransitioning,"basket-button-grid":this.isGridMode||this.isSetMode,"basket-button-continuity ":this.isContinuityMode,pressed:this.basketButonPressed},part:"basket-button",onClick:()=>{this.vviinnAddToBasket.emit(Object.assign(Object.assign({},this.productData),{discount:this.currentDiscountPercentage})),this.basketButonPressed=!0}},this.isSetMode?t(s,null,!this.basketButonPressed&&t("div",{class:"basket-button-content",key:"set-not-pressed"},t("span",{class:"basket-button-icon-container"},t("slot",{name:"vviinn-basket-button-icon"},t(Y,null))),t("span",null,t("slot",{name:"vviinn-basket-button-text"},H.t("setMode.basketButtonText")))),this.basketButonPressed&&t("div",{key:"set-pressed",class:"basket-button-content"},t("span",{class:"basket-button-icon-container"},t("slot",{name:"vviinn-basket-button-icon-pressed"},t(tt,null))),t("span",null,this.appliedDiscountPercentage&&t("span",{class:"discount-percentage",part:"discount-percentage"},this.appliedDiscountPercentage,"%"),t("slot",{name:"vviinn-basket-button-text-pressed"},H.t("setMode.appliedDiscountText"))))):t("div",{key:"not-pressed",class:"basket-button-content"},t("span",{class:"basket-button-icon-container"},t("slot",{name:"vviinn-basket-button-icon"},t(Y,null))),t("span",null,t("slot",{name:"vviinn-basket-button-text"},H.t("basketButtonText"))))))),this.isSetMode&&!this.basketButonPressed&&t("button",{class:{"update-button":!0,hidden:"onTop"===this.updateButtonLocation},part:"update-button-item",onClick:()=>{this.vviinnCrossSellingClick.emit({animationInterval:(800,1400,Math.floor(601*Math.random())+800),productData:this.productData})}},t("slot",{name:"vviinn-update-button-icon"},t(it,null))))}get el(){return o(this)}static get watchers(){return{updatingAllCards:["updatingAllCardsWatcher"],productId:["productIdWatcher"]}}};mt.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:130px;--product-card-results-min-width:250px;--image-set-mode-min-size:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host(.grid-mode){--product-card-content-align-default:center;--product-card-text-align-default:center;--product-card-image-border-default:1px solid var(--color-border-02);--product-card-image-bg-color-default:unset}:host(.continuity-mode){--product-card-content-align-default:flex-start;--product-card-text-align-default:left;--product-card-image-border-default:var(--surface-bg-color-01);--product-card-image-bg-color-default:var(--surface-bg-color-01)}:host(.set-mode){--product-card-content-align-default:flex-start;--product-card-text-align-default:left;--product-card-image-border-default:none;--product-card-image-bg-color-default:var(--surface-bg-color-01)}:host(.results-widget){--product-card-content-align-default:flex-start;--product-card-text-align-default:left;--product-card-image-border-default:1px solid var(--color-border-02);--product-card-image-bg-color-default:unset}:host{position:relative;height:-moz-fit-content;height:fit-content;display:flex;flex-direction:column;align-items:var(\n --product-card-content-align,\n var(--product-card-content-align-default)\n );text-align:var(\n --product-card-text-align,\n var(--product-card-text-align-default)\n );font-family:var(--font-family, var(--font-family-base));font-weight:var(--font-weight-400);font-size:var(--font-size-body);line-height:var(--line-height-body);font-style:normal;color:var(--color-text-primary);gap:var(--spacing-100)}.price-container{display:flex;flex-direction:column;gap:var(--spacing-75)}.price-outdated,.price-sale,.price-regular{justify-content:var(\n --product-card-content-align,\n var(--product-card-content-align-default)\n );display:flex;gap:var(--spacing-100);flex-wrap:wrap}.price-outdated{color:var(--color-text-helper);text-decoration:line-through}.price-amount,.price-label>span,.currency{white-space:nowrap}.price-label>span{margin-right:var(--spacing-75)}.price-amount--base{color:var(--color-text-helper);font-size:var(--font-size-caption)}.product-type{word-wrap:anywhere}.image{box-sizing:border-box;display:grid;align-content:center;-o-object-position:50% 50%;object-position:50% 50%;-o-object-fit:contain;object-fit:contain;text-align:center}.image.responsive{width:100%;height:auto;aspect-ratio:1}.brand{display:none}.currency{padding-left:var(--spacing-50)}.title{display:-webkit-box;max-width:var(--product-card-set-mode-max-width);color:var(--color-text-primary);-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere;text-overflow:ellipsis;overflow:hidden}.title,.brand{text-align:var(\n --product-card-text-align,\n var(--product-card-text-align-default)\n )}.deeplink{max-width:100%;text-decoration:none}.image-link{display:contents}picture{position:relative;margin-bottom:var(--spacing-50);width:100%}picture::before{display:block;box-sizing:border-box;position:absolute;width:100%;height:100%;top:0;left:0;content:\"\";opacity:0}.update-button{position:absolute;width:32px;height:32px;top:var(--spacing-100);right:var(--spacing-100);z-index:1;background-color:var(--button-bg-color-frosted);color:var(--color-icon-on-color);-webkit-backdrop-filter:blur(calc(var(--filter-blur-150) / 2));backdrop-filter:blur(calc(var(--filter-blur-150) / 2));padding:var(--spacing-50);border:none;cursor:pointer}.update-button::after{position:absolute;width:calc(100% + var(--spacing-100));height:calc(100% + var(--spacing-100));top:calc(-1 * var(--spacing-50));right:calc(-1 * var(--spacing-50));content:\"\"}.update-button:hover{background-color:var(--button-bg-color-frosted-hover)}.update-button.hidden{display:none}.basket-button{box-sizing:border-box;border:none;padding:var(--spacing-100);font-size:var(--font-size-label);font-weight:var(--font-weight-400);font-family:var(--font-family, var(--font-family-base));cursor:pointer}.basket-button-icon-container{display:inline-flex;align-items:center;justify-content:center}.basket-button-grid{width:100%;background-color:unset;border:1px solid var(--color-border-02)}.basket-button-continuity{background-color:var(--button-bg-color-secondary);align-self:start}.basket-button-continuity:hover,:host(.set-mode) .basket-button:hover{background-color:var(--button-bg-color-secondary-hover)}.basket-button-grid:hover{background-color:var(--button-bg-color-ghost-hover)}picture::after{box-sizing:border-box;display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:var(\n --product-card-image-bg-color,\n var(--product-card-image-bg-color-default)\n );mix-blend-mode:multiply;content:\"\"}:host(.animated) picture::after{mix-blend-mode:normal}:host(.animated) picture::before{opacity:1;animation:pulse 1.8s infinite}:host(.animated) picture::after{content:url(\"data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_810_154)'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M64.7332 1.23333C66.2665 12.2667 67.9665 13.9667 78.6665 15.2333C79.4332 15.3333 79.9999 15.9333 79.9999 16.6667C79.9999 17.4 79.4665 17.9333 78.6665 18.0667C67.9665 19.3667 66.2999 21.0333 64.7332 32.0667C64.6332 32.8 64.0665 33.3333 63.3665 33.3333C62.6665 33.3333 62.0999 32.8 61.9665 32.0667C60.4665 21.0333 58.7665 19.3667 48.0332 18.0667C47.2332 17.9667 46.6999 17.4333 46.6999 16.6667C46.6999 15.9 47.2332 15.3667 48.0332 15.2333C58.7665 13.7667 60.3999 12.2 61.9665 1.23333C62.0999 0.5 62.6665 0 63.3665 0C64.0665 0 64.5999 0.5 64.7332 1.23333ZM38.5665 71.5667C38.3665 72.6 37.6665 73.3333 36.6665 73.3333C35.6665 73.3333 34.9665 72.6 34.7998 71.5667C31.9332 50.7 29.0998 47.9 8.49984 45.2C7.39984 45.1 6.6665 44.3 6.6665 43.3C6.6665 42.3 7.39984 41.5333 8.49984 41.4333C29.1332 39.1333 32.0998 35.9333 34.7998 15.0333C34.9665 14.0333 35.6665 13.3333 36.6665 13.3333C37.6665 13.3333 38.3665 14 38.5665 15.0333C41.2665 35.9333 44.1998 39.1333 64.8665 41.4333C65.9332 41.5333 66.6665 42.2667 66.6665 43.3C66.6665 44.3333 65.9332 45.1 64.8665 45.2C44.1998 47.5 41.2665 50.7 38.5665 71.5667Z' fill='white'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_810_154'%3E%3Crect width='80' height='80' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E\");position:absolute;width:80px;height:80px;left:calc(50% - 40px);top:calc(50% - 40px);background-color:transparent}:host(.animated) .update-button{display:none}.basket-button-wrapper{width:100%;display:flex;justify-content:var(\n --product-card-content-align,\n var(--product-card-content-align-default)\n )}.basket-button-content{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:var(--spacing-75)}:host(.grid-mode) .image,:host(.continuity-mode) .image{border:var(\n --product-card-image-border,\n var(--product-card-image-border-default)\n )}:host(.grid-mode) .image-link{width:100%}:host(.results-widget) .image{border:var(\n --product-card-image-border,\n var(--product-card-image-border-default)\n )}:host(.set-mode) .image{width:var(--vviinn-set-mode-image-width, 100%);height:auto;min-width:var(--image-set-mode-min-size);min-height:var(--image-set-mode-min-size);border:var(\n --product-card-image-border,\n var(--product-card-image-border-default)\n );aspect-ratio:1}:host(.set-mode.product-card--source){height:-moz-fit-content;height:fit-content;max-width:var(--source-card-set-mode-max-width);flex-grow:1}:host(.set-mode.product-card--source) .image{width:100%;height:100%;aspect-ratio:1}:host(.set-mode) picture .plus-icon{position:absolute;width:32px;height:32px;top:calc(50% - 32px);right:-88px;padding:var(--spacing-200);background-color:var(--color-bg-base);color:var(--color-text-placeholder);outline:1px solid var(--color-border-01);z-index:1;border-radius:50%}:host(.set-mode) .basket-button{background-color:var(--button-bg-color-secondary);border:none}:host(.set-mode:not(.animated)) .basket-button{margin-top:auto}:host(.set-mode) .price-container{flex-direction:row;flex-wrap:wrap;justify-content:var(\n --product-card-content-align,\n var(--product-card-content-align-default)\n )}:host(.set-mode) .basket-button.pressed{background:transparent;border:1px solid var(--color-border-02)}:host(.set-mode) .basket-button.pressed .discount-percentage{padding-right:var(--spacing-50)}:host(.set-mode) .basket-button--hidden{display:none}@media (max-width: 768px){:host(.set-mode) picture .plus-icon{padding:var(--spacing-100);top:calc(50% - var(--spacing-300));right:calc(-1 * var(--spacing-300))}}@keyframes pulse{0%{background-color:var(--surface-bg-color-01)}50%{background-color:var(--surface-bg-color-01-active)}100%{background-color:var(--surface-bg-color-01)}}.discount-label{position:absolute;left:var(--spacing-none);top:var(--spacing-150);padding:var(--spacing-25) var(--spacing-50);border-radius:var(--border-radius-none) var(--border-radius-50)\n var(--border-radius-50) var(--border-radius-none);color:var(--color-text-on-color);background-color:var(--label-bg-color-accent);letter-spacing:var(--letter-spacing-label)}vviinn-energy-label{justify-content:var(\n --product-card-content-align,\n var(--product-card-content-align-default)\n )}";const wt=class{constructor(t){e(this,t),this.height=void 0,this.halfWidth=!1}render(){return t(r,null,t("div",{class:{"vviinn-skeleton":!0},style:{height:`${this.height.toString()}px`,width:this.halfWidth?"50%":"100%"}}))}get el(){return o(this)}};function yt(t){return"function"==typeof t}function kt(t){const e=t((t=>{Error.call(t),t.stack=(new Error).stack}));return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}wt.style=":host{display:block;width:100%;height:100%;line-height:0}.vviinn-skeleton{display:inline-block;animation:pulse 1.2s infinite}@keyframes pulse{0%{background-color:rgb(244, 244, 244)}50%{background-color:rgb(232, 232, 232)}100%{background-color:rgba(244, 244, 244)}}";const Ct=kt((t=>function(e){t(this),this.message=e?`${e.length} errors occurred during unsubscription:\n${e.map(((t,e)=>`${e+1}) ${t.toString()}`)).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=e}));function zt(t,e){if(t){const i=t.indexOf(e);0<=i&&t.splice(i,1)}}class It{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:e}=this;if(e)if(this._parentage=null,Array.isArray(e))for(const t of e)t.remove(this);else e.remove(this);const{initialTeardown:i}=this;if(yt(i))try{i()}catch(e){t=e instanceof Ct?e.errors:[e]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const e of r)try{Pt(e)}catch(e){t=null!=t?t:[],e instanceof Ct?t=[...t,...e.errors]:t.push(e)}}if(t)throw new Ct(t)}}add(t){var e;if(t&&t!==this)if(this.closed)Pt(t);else{if(t instanceof It){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(e=this._finalizers)&&void 0!==e?e:[]).push(t)}}_hasParent(t){const{_parentage:e}=this;return e===t||Array.isArray(e)&&e.includes(t)}_addParent(t){const{_parentage:e}=this;this._parentage=Array.isArray(e)?(e.push(t),e):e?[e,t]:t}_removeParent(t){const{_parentage:e}=this;e===t?this._parentage=null:Array.isArray(e)&&zt(e,t)}remove(t){const{_finalizers:e}=this;e&&zt(e,t),t instanceof It&&t._removeParent(this)}}It.EMPTY=(()=>{const t=new It;return t.closed=!0,t})();const St=It.EMPTY;function jt(t){return t instanceof It||t&&"closed"in t&&yt(t.remove)&&yt(t.add)&&yt(t.unsubscribe)}function Pt(t){yt(t)?t():t.unsubscribe()}const _t={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Tt={setTimeout(t,e,...i){const{delegate:r}=Tt;return(null==r?void 0:r.setTimeout)?r.setTimeout(t,e,...i):setTimeout(t,e,...i)},clearTimeout(t){const{delegate:e}=Tt;return((null==e?void 0:e.clearTimeout)||clearTimeout)(t)},delegate:void 0};function Vt(){}const Lt=Ot("C",void 0,void 0);function Ot(t,e,i){return{kind:t,value:e,error:i}}function Rt(t){t()}class At extends It{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,jt(t)&&t.add(this)):this.destination=Nt}static create(t,e,i){return new Ft(t,e,i)}next(t){this.isStopped?Bt(function(t){return Ot("N",t,void 0)}(t),this):this._next(t)}error(t){this.isStopped?Bt(Ot("E",void 0,t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?Bt(Lt,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 Mt=Function.prototype.bind;function Et(t,e){return Mt.call(t,e)}class Wt{constructor(t){this.partialObserver=t}next(t){const{partialObserver:e}=this;if(e.next)try{e.next(t)}catch(t){Ht(t)}}error(t){const{partialObserver:e}=this;if(e.error)try{e.error(t)}catch(t){Ht(t)}else Ht(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(t){Ht(t)}}}class Ft extends At{constructor(t,e,i){let r;if(super(),yt(t)||!t)r={next:null!=t?t:void 0,error:null!=e?e:void 0,complete:null!=i?i:void 0};else{let e;this&&_t.useDeprecatedNextContext?(e=Object.create(t),e.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,e),error:t.error&&Et(t.error,e),complete:t.complete&&Et(t.complete,e)}):r=t}this.destination=new Wt(r)}}function Ht(t){var e;e=t,Tt.setTimeout((()=>{const{onUnhandledError:t}=_t;if(!t)throw e;t(e)}))}function Bt(t,e){const{onStoppedNotification:i}=_t;i&&Tt.setTimeout((()=>i(t,e)))}const Nt={closed:!0,next:Vt,error:function(t){throw t},complete:Vt},Dt="function"==typeof Symbol&&Symbol.observable||"@@observable";function $t(t){return t}class Zt{constructor(t){t&&(this._subscribe=t)}lift(t){const e=new Zt;return e.source=this,e.operator=t,e}subscribe(t,e,i){const r=(o=t)&&o instanceof At||function(t){return t&&yt(t.next)&&yt(t.error)&&yt(t.complete)}(o)&&jt(o)?t:new Ft(t,e,i);var o;return Rt((()=>{const{operator:t,source:e}=this;r.add(t?t.call(r,e):e?this._subscribe(r):this._trySubscribe(r))})),r}_trySubscribe(t){try{return this._subscribe(t)}catch(e){t.error(e)}}forEach(t,e){return new(e=Ut(e))(((e,i)=>{const r=new Ft({next:e=>{try{t(e)}catch(t){i(t),r.unsubscribe()}},error:i,complete:e});this.subscribe(r)}))}_subscribe(t){var e;return null===(e=this.source)||void 0===e?void 0:e.subscribe(t)}[Dt](){return this}pipe(...t){return(0===(e=t).length?$t:1===e.length?e[0]:function(t){return e.reduce(((t,e)=>e(t)),t)})(this);var e}toPromise(t){return new(t=Ut(t))(((t,e)=>{let i;this.subscribe((t=>i=t),(t=>e(t)),(()=>t(i)))}))}}function Ut(t){var e;return null!==(e=null!=t?t:_t.Promise)&&void 0!==e?e:Promise}Zt.create=t=>new Zt(t);const Gt=kt((t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}));class Jt extends Zt{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const e=new qt(this,this);return e.operator=t,e}_throwIfClosed(){if(this.closed)throw new Gt}next(t){Rt((()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const e of this.currentObservers)e.next(t)}}))}error(t){Rt((()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:e}=this;for(;e.length;)e.shift().error(t)}}))}complete(){Rt((()=>{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:e,isStopped:i,observers:r}=this;return e||i?St:(this.currentObservers=null,r.push(t),new It((()=>{this.currentObservers=null,zt(r,t)})))}_checkFinalizedStatuses(t){const{hasError:e,thrownError:i,isStopped:r}=this;e?t.error(i):r&&t.complete()}asObservable(){const t=new Zt;return t.source=this,t}}Jt.create=(t,e)=>new qt(t,e);class qt extends Jt{constructor(t,e){super(),this.destination=t,this.source=e}next(t){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===i||i.call(e,t)}error(t){var e,i;null===(i=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===i||i.call(e,t)}complete(){var t,e;null===(e=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===e||e.call(t)}_subscribe(t){var e,i;return null!==(i=null===(e=this.source)||void 0===e?void 0:e.subscribe(t))&&void 0!==i?i:St}}const Xt=c.flow((t=>`Bearer ${t}`),(t=>new Headers({Authorization:t,"Content-Type":"application/json"})),(t=>({headers:t}))),Kt=(Qt=m,function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var i=t.length,r=ct(i),o=Qt.map(t[0],r),s=1;s<i;s++)o=Qt.ap(o,t[s]);return o});var Qt;const Yt=(t,e={})=>f(Kt(v(),x),g,u(b(t,e))),te=t=>e=>Yt("similar-products",Object.assign(Object.assign({},e),{body:JSON.stringify(t)})),ee=t=>e=>Yt("cross-selling",Object.assign(Object.assign({},e),{body:JSON.stringify(t)})),ie=t=>t.split(";").map((t=>{const[e,i]=t.split(":");return{column:e,values:[i]}})),re=t=>t.split(",").map((t=>{const e=t.trim();return isNaN(parseInt(e))?e:parseInt(e)}));var oe=function(t,e){var i={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(i[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(t);o<r.length;o++)e.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(t,r[o])&&(i[r[o]]=t[r[o]])}return i};const se=class{constructor(t){e(this,t),this.vviinnWidgetLoad=i(this,"vviinnWidgetLoad",7),this.vviinnProductLoad=i(this,"vviinnProductLoad",7),this.vviinnProductView=i(this,"vviinnProductView",7),this.vviinnProductClick=i(this,"vviinnProductClick",7),this.vviinnResultLoad=i(this,"vviinnResultLoad",7),this.vviinnResultView=i(this,"vviinnResultView",7),this.vviinnNoResult=i(this,"vviinnNoResult",7),this.vviinnAddToBasket=i(this,"vviinnAddToBasket",7),this.vviinnFiltersChanged=i(this,"vviinnFiltersChanged",7),this.globalSlotsChanged=i(this,"globalSlotsChanged",7),this.vviinnRecommendationsLoaded=i(this,"vviinnRecommendationsLoaded",7),this.vviinnWidgetOpen=i(this,"vviinnWidgetOpen",7),this.vviinnWidgetClose=i(this,"vviinnWidgetClose",7),this.productImageLoadedSubject=new Jt,this.resultViewed=!1,this.requestDynamicFilters=[],this.setTrackingDeactivated=t=>{"rejected"===t.status&&(this.trackingDeactivated=!0)},this.token=void 0,this.productId=void 0,this.mode="continuity",this.campaigns="",this.excluded="",this.campaignType="set"===this.mode?"VCS":"VPR",this.locale="de-DE",this.color="",this.imageWidth=300,this.imageRatio=1,this.cssUrl=null,this.currencySign="€",this.pricePrefix="",this.noResultText="",this.noResultShow=!0,this.gridArrowsDynamic=!1,this.productDetailsNewTab=!1,this.productDetailsRedirect=!0,this.addToBasketShow=!1,this.showFilters=!1,this.showExtendedFilters=!1,this.setModeDiscounts="set"===this.mode?"5, 10, 15":"",this.updateButtonLocation="topAndItem",this.blockTitle="Recommended products",this.showScroll=!0,this.apiPath="https://api.vviinn.com",this.useCarousel=!0,this.showingInButton=!1,this.buttonElementId=void 0,this.closed=void 0,this.opened=void 0,this.recommendations=[],this.dynamicFilters=[],this.sourceProduct=null,this.trackingDeactivated=!1,this.hasErrorOnLoad=!1,this.updatingAllCards=!1,this.updatedCardsAmount=0,this.setModeDiscountsArray=[]}getBasicEventData(){return{widgetType:"VPR",campaignTypeId:this.campaignType,campaignTypeName:C[this.campaignType],widgetId:this.id,widgetVersion:Q}}handleOpenLink(t,e){if(this.productDetailsRedirect)if(this.productDetailsNewTab||e.ctrlKey||e.metaKey){let e=window.open();e?e.location.href=t:window.location.href=t}else window.location.href=t}findProductById(t){return this.recommendations.find((e=>e.productId===t))}replaceSlotsContent(){const t=this.el.querySelectorAll("[slot]");this.globalSlotsChanged.emit({slots:Array.from(t),element:this.el})}handleProductIdChange(){this.getRecommendations()}handleCampaignTypeChange(){this.getRecommendations()}handleCampaignsChange(){this.getRecommendations()}handleApiPathChange(t){w.apiPath=t,this.getRecommendations()}trackWidgetOpen(){this.opened&&(this.vviinnWidgetOpen.emit(this.getBasicEventData()),this.trackWidgetEvent("open"))}trackWidgetClose(){this.closed&&(this.vviinnWidgetClose.emit(this.getBasicEventData()),this.trackWidgetEvent("close"))}componentDidRender(){this.showingInButton&&this.closed||this.replaceSlotsContent()}connectedCallback(){var t;w.apiPath=this.apiPath,w.pricePrefix=this.pricePrefix,w.currencySign=this.currencySign,w.locale=this.locale,this.id=null!==(t=this.buttonElementId)&&void 0!==t?t:this.el.id,this.uiSessionId=N(),this.trackingApi=D(this.apiPath,this.token),this.getRecommendations(),this.vviinnWidgetLoad.emit(this.getBasicEventData()),this.trackWidgetEvent("load"),this.isSetMode="set"===this.mode,this.isGridMode="grid"===this.mode,this.isSetMode&&this.setModeDiscounts.length&&(this.setModeDiscountsArray=this.setModeDiscounts.split(",").map((t=>parseInt(t.trim()))).filter((t=>!isNaN(t))))}async componentWillLoad(){await H.init({lng:this.locale,fallbackLng:"en",resources:B}),z(this,this.el)}trackProductLoad({detail:t}){this.productImageLoadedSubject.next(t.productId);const e=this.getProductTrackEvent(t,"load");e&&this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated)}trackProductView({detail:t}){this.resultViewed||(this.resultViewed=!0,this.vviinnResultView.emit(this.getBasicEventData()),this.trackResultEvent("view"));const e=this.getProductTrackEvent(t,"view");e&&this.trackingApi.trackEvent(e).then(this.setTrackingDeactivated)}async trackProductClick({detail:t}){const{productId:e,clickEvent:i}=t,r=this.findProductById(e);if(!r||!r.deeplink)return;const o=this.getProductTrackEvent(t,"click");this.trackingDeactivated?this.handleOpenLink(r.deeplink,i):await this.trackingApi.trackEvent(o).then(this.setTrackingDeactivated).finally((()=>{this.handleOpenLink(r.deeplink,i)}))}async trackAuxClick({detail:t}){const{productId:e}=t,i=this.findProductById(e);if(!i||!i.deeplink)return;const r=this.getProductTrackEvent(t,"click");this.trackingDeactivated||await this.trackingApi.trackEvent(r).then(this.setTrackingDeactivated)}async trackAddToBasket({detail:t}){const{productRank:e,productId:i}=t,r=oe(t,["productRank","productId","campaignTypeId","widgetType"]);let o;const s=Object.assign({session_id:this.uiSessionId,rank:e,product:i},r);"VCS"===this.campaignType?o=$(s):"VPR"===this.campaignType&&(o=Z(s)),this.trackingApi.trackEvent(o).then(this.setTrackingDeactivated)}updatingAllCardsFinishedListener(){this.updatingAllCards&&(this.updatingAllCards=!1)}async filtersChanged({detail:t}){this.requestDynamicFilters=t.filters,this.getRecommendations()}trackWidgetEvent(t){if(this.trackingDeactivated)return;const e=this.getBasicEventData(),i=oe(e,["campaignTypeId","widgetType"]);let r;const o=Object.assign({action:t,session_id:this.uiSessionId},i);"VCS"===this.campaignType?r=U(o):"VPR"===this.campaignType&&(r=G(o)),this.trackingApi.trackEvent(r).then(this.setTrackingDeactivated)}trackResultEvent(t){if(this.trackingDeactivated)return;const e=this.getBasicEventData(),i=oe(e,["campaignTypeId","widgetType"]);let r;const o=Object.assign({session_id:this.uiSessionId},i);"VCS"===this.campaignType?r=J(t)(o):"VPR"===this.campaignType&&(r=q(t)(o)),this.trackingApi.trackEvent(r).then(this.setTrackingDeactivated)}getProductTrackEvent(t,e){if(this.trackingDeactivated)return null;const{productRank:i,productId:r,campaignTypeId:o}=t,s=oe(t,["productRank","productId","campaignTypeId","widgetType","clickEvent"]);let n;const a=Object.assign({session_id:this.uiSessionId,rank:i,product:r},s);return"VCS"===o?n=X(e)(a):"VPR"===o&&(n=K(e)(a)),n}async getRecommendations(){if(void 0===this.productId||void 0===this.token)return;l.loading=!0;const t=this.campaignType.length>0?this.campaignType:"VPR",e=Xt(this.token),i=(({productId:t,campaigns:e,color:i,excluded:r,dynamicFilters:o=[]})=>{const s=Object.assign(Object.assign({},i.length?{color:i}:{}),r.length?{excluded:ie(r)}:{});return Object.assign(Object.assign(Object.assign({productId:t},o.length?{dynamicFilters:o}:{}),e.length?{campaigns:re(e)}:{}),Object.keys(s).length?{staticFilters:s}:{})})({productId:this.productId,color:this.color,excluded:this.excluded,campaigns:this.campaigns,dynamicFilters:this.requestDynamicFilters}),r=c.pipe(y.of((t=>c.pipe(S(t),j((()=>te),(()=>ee))))(t)),y.ap(y.of(i)),y.ap(y.of(e)),y.flatten),o=await r();c.pipe(o,k.fold((t=>{this.handleError(t),this.vviinnNoResult.emit(this.getBasicEventData()),this.vviinnRecommendationsLoaded.emit(),l.loading=!1}),(t=>{this.handleRecommendationsSuccess(t),l.loading=!1})))}handleError(t){this.hasErrorOnLoad=!0}handleRecommendationsSuccess({data:t,interactions:e}){this.vviinnResultLoad.emit(this.getBasicEventData()),this.trackResultEvent("load"),this.dynamicFilters=e.dynamicFilters;const{products:i,sourceProduct:r}=t;this.recommendations=i,this.sourceProduct=r,l.results=this.recommendations,l.sourceProduct=this.sourceProduct,this.productIds=this.recommendations.map((t=>t.productId)),this.productImageLoadedSubject.subscribe((t=>{this.productIds=this.productIds.filter((e=>e!==t)),this.isSetMode||0!==this.productIds.length||this.vviinnRecommendationsLoaded.emit(),this.isSetMode&&this.productIds.length===this.recommendations.length-4&&this.vviinnRecommendationsLoaded.emit()}))}isExternalCSS(){return this.cssUrl&&this.cssUrl.length>0}renderExternalCSS(){return this.isExternalCSS()?t("link",{href:this.cssUrl,rel:"stylesheet"}):""}render(){return 0===this.recommendations.length&&!1===this.noResultShow?null:t(r,{class:{loaded:!0,empty:0==this.recommendations.length,[this.mode]:!0},"aria-hidden":"false"},t(s,null,this.renderExternalCSS(),I("vpr"),t("style",null,w.fallbackStyles),t("div",{class:"widget-header"},t("div",null,t("h2",{part:"recommendations-title"},t("slot",{name:"vviinn-recommendations-title"},this.isSetMode?H.t("setMode.widgetTitle"):this.blockTitle)),this.isSetMode&&t("h3",{part:"recommendations-subtitle"},t("slot",{name:"vviinn-recommendations-subtitle"},H.t("setMode.widgetSubtitle")))),this.isSetMode&&"onItem"!==this.updateButtonLocation?t("button",{class:"update-button",part:"update-button-top",onClick:()=>this.updatingAllCards=!0},t("slot",{name:"vviinn-update-button-icon"},t(it,null)),t("slot",{name:"vviinn-update-button-text"},t("span",null,H.t("setMode.updateButtonText")))):null),(this.showFilters||this.showExtendedFilters)&&t("div",{class:"filters-header "},this.showFilters&&t("vviinn-filters",{filters:this.dynamicFilters}),this.showExtendedFilters&&t("vviinn-extended-filters",{filters:this.dynamicFilters,locale:this.locale})),this.recommendations.length>0&&(this.useCarousel?this.renderCarousel():this.renderResults()),(0===this.recommendations.length||this.recommendations.length<4&&this.isSetMode||this.hasErrorOnLoad)&&!l.loading&&t("p",{class:"no-result-text"},this.noResultText.length?this.noResultText:H.t("noResultText"))))}renderRecommendation(e,i){var r,o;return t("vviinn-product-card",{part:"product-part",productId:e.productId,productTitle:e.title,productType:e.productType,deeplink:e.deeplink,image:e.image.thumbnail,brand:e.brand,imageWidth:this.imageWidth,imageRatio:this.imageRatio,price:e.price.actual,salePrice:e.price.sale,basePrice:null===(r=e.basePrice)||void 0===r?void 0:r.actual,baseSalePrice:null===(o=e.basePrice)||void 0===o?void 0:o.sale,energyCertifications:e.energyCertifications,responsive:this.isGridMode,basketButtonShow:this.addToBasketShow,mode:this.mode,campaignTypeId:this.campaignType,index:i,widgetElementId:this.id,widgetVersion:Q,currency:this.currencySign,pricePrefix:this.pricePrefix,locale:this.locale,priceLabel:P(e)})}renderResults(){return t("div",{class:"recommendations-grid",part:"recommendations-grid"},this.recommendations.map(((t,e)=>this.renderRecommendation(t,e))))}renderCarousel(){return t("vviinn-carousel",{mode:this.mode,campaignTypeId:this.campaignType,imageWidth:this.imageWidth,showScroll:this.showScroll,recommendations:this.recommendations,widgetElementId:this.id,widgetVersion:Q,gridArrowsDynamic:this.gridArrowsDynamic,addToBasketShow:this.addToBasketShow,updatingAllCards:this.updatingAllCards,updateButtonLocation:this.updateButtonLocation,replaceSlotsContent:this.replaceSlotsContent.bind(this),setModeDiscountsArray:this.setModeDiscountsArray,currencySign:this.currencySign,pricePrefix:this.pricePrefix,locale:this.locale,imageRatio:this.imageRatio})}get el(){return o(this)}static get watchers(){return{productId:["handleProductIdChange"],campaignType:["handleCampaignTypeChange"],campaigns:["handleCampaignsChange"],apiPath:["handleApiPathChange"],opened:["trackWidgetOpen"],closed:["trackWidgetClose"]}}};se.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:130px;--product-card-results-min-width:250px;--image-set-mode-min-size:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{display:grid;grid-gap:var(--spacing-200);width:100%}:host(:not(.loaded)){position:absolute;visibility:hidden}:host(.set){grid-gap:var(--spacing-300)}:host(.set) vviinn-carousel{overflow-x:auto;scrollbar-width:thin}:host(.grid) h2{justify-content:center}.filters-header{display:flex;justify-content:space-between;gap:14px}.filters-header>vviinn-extended-filters{width:44px;height:44px}@media (max-width: 768px){.filters-header>vviinn-filters{flex:1;width:100px}}.widget-header{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}.widget-header h3{margin-top:8px;margin-bottom:0;font-size:14px;font-weight:400;line-height:20px}.widget-header h2,.widget-header h3{margin:0;font-family:var(--font-family, var(--font-family-base))}.widget-header h2{font-weight:var(--font-weight-600);line-height:var(--line-height-title)}.widget-header h3{line-height:var(--line-height-body);margin-top:var(--spacing-100)}.update-button{display:flex;align-items:center;justify-content:center;font-family:var(--font-family, var(--font-family-base));color:#525252;gap:8px;padding:8px 10px;background:rgb(244, 244, 244);border:none;cursor:pointer}.update-button:hover{background:rgb(234, 234, 234)}.update-button svg{color:#6f6f6f}.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}";export{dt as vviinn_carousel,pt as vviinn_energy_label,ft as vviinn_extended_filters,ut as vviinn_filters,bt as vviinn_price_range,mt as vviinn_product_card,wt as vviinn_skeleton,se as vviinn_vpr_widget}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{h as i,r as t,c as o,H as e,g as r}from"./p-1c863deb.js";import{s,j as a}from"./p-43242068.js";const n=()=>i("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i("path",{d:"M16 1.4L14.6 0L8 6.6L1.4 0L0 1.4L6.6 8L0 14.6L1.4 16L8 9.4L14.6 16L16 14.6L9.4 8L16 1.4Z",fill:"#161616"})),l=class{constructor(i){t(this,i),this.vviinnWidgetClose=o(this,"vviinnWidgetClose",7),this.isSourceImageValid=()=>{var i;return!!(null===(i=null==s?void 0:s.sourceProduct)||void 0===i?void 0:i.image)},this.sidebarTitle=void 0,this.token=void 0,this.productId=void 0,this.position="bottom",this.widgetScrollbar=!1,this.mode="continuity",this.campaigns="",this.campaignType=void 0,this.color=void 0,this.locale=void 0,this.imageWidth=300,this.imageRatio=void 0,this.cssUrl=void 0,this.currencySign="€",this.pricePrefix=void 0,this.noResultText=void 0,this.noResultShow=void 0,this.gridArrowsDynamic=void 0,this.excluded=void 0,this.productDetailsNewTab=void 0,this.productDetailsRedirect=void 0,this.addToBasketShow=!1,this.showFilters=!1,this.setModeDiscounts=void 0,this.updateButtonLocation=void 0,this.buttonChildren=void 0,this.apiPath="https://api.vviinn.com",this.buttonElementId=void 0,this.widgetVersion=void 0,this.showingInButton=void 0,this.state="idle"}updatingAllCardsStarted(){const{height:i}=this.getSidebarRectangle(),t=this.getAsideElement();t.style.height!==`${i}px`&&(t.style.height=`${i}px`)}updatingAllCardsFinished(){const i=this.getAsideElement();"auto"!==i.style.height&&(i.style.height="auto")}bodyClickListener(i){const t=this.getSidebarRectangle();t&&(a(i,t)||(this.state="closed"))}getClassMap(){return{[this.position]:!0,[this.state]:!0}}getAsideElement(){return this.el.shadowRoot.querySelector("aside")}getSidebarRectangle(){var i;return null===(i=this.getAsideElement())||void 0===i?void 0:i.getBoundingClientRect()}componentDidLoad(){const i=this.el.shadowRoot.querySelector("vviinn-vpr-widget");Array.from(this.buttonChildren).forEach((t=>{const o=t.cloneNode(!0);t.hasAttribute("slot")&&i.appendChild(o)}))}render(){return i(e,{class:this.getClassMap()},i("aside",{class:"sidebar",part:"body",onAnimationEnd:i=>this.handleAnimationEnd(i)},"set"!==this.mode&&i("header",{class:{"contains-source-img":this.isSourceImageValid()},part:"sidebar-header"},this.renderSourceImage(),i("span",{class:"title",part:"title"},this.sidebarTitle),i("button",{class:"close-sidebar",onClick:()=>this.state="closed"},i(n,null))),i("main",{part:"sidebar-content"},i("vviinn-vpr-widget",{exportparts:"brand, currency, deeplink, image, image-link, price-amount, price-container, price-prefix, price-outdated, price-regular, price-amount-base-regular, price-amount-base-sale, price-amount-base-outdated, price-sale, price-label, price-label-0, price-label-1, price-label-2, price-label-3, price-label-4, title: product-title, carousel-button, product-card, items-group, energy-label-container, energy-label-icon, energy-label-product-type, energy-label-data-sheet-link",token:this.token,productId:this.productId,imageWidth:this.imageWidth,imageRatio:this.imageRatio,blockTitle:"",mode:this.mode,"campaign-type":this.campaignType,useCarousel:"bottom"===this.position,onVviinnRecommendationsLoaded:()=>this.state="open",showScroll:this.widgetScrollbar,campaigns:this.campaigns,color:this.color,currencySign:this.currencySign,pricePrefix:this.pricePrefix,apiPath:this.apiPath,locale:this.locale,buttonElementId:this.buttonElementId,noResultText:this.noResultText,noResultShow:this.noResultShow,gridArrowsDynamic:this.gridArrowsDynamic,showingInButton:this.showingInButton,excluded:this.excluded,productDetailsNewTab:this.productDetailsNewTab,productDetailsRedirect:this.productDetailsRedirect,closed:"closed"===this.state,opened:"open"===this.state,addToBasketShow:this.addToBasketShow,cssUrl:this.cssUrl,showFilters:this.showFilters,setModeDiscounts:this.setModeDiscounts,updateButtonLocation:this.updateButtonLocation}))))}renderSourceImage(){var t,o,e,r,a,n;const l=null!==(n=null!==(e=null===(o=null===(t=null==s?void 0:s.sourceProduct)||void 0===t?void 0:t.image)||void 0===o?void 0:o.thumbnail)&&void 0!==e?e:null===(a=null===(r=null==s?void 0:s.sourceProduct)||void 0===r?void 0:r.image)||void 0===a?void 0:a.original)&&void 0!==n?n:null;return l?i("img",{class:"source-image",part:"source-image",src:l}):null}handleAnimationEnd({animationName:i}){i.includes("slideOut")}get el(){return r(this)}};l.style=":host{--font-family-base:Inter, system-ui, sans-serif;--font-family-mono:monospace;--font-size-title:24px;--font-size-headline:18px;--font-size-label-large:16px;--font-size-label:14px;--font-size-body-large:16px;--font-size-body:14px;--font-size-caption:12px;--line-height-title:32px;--line-height-headline:24px;--line-height-label-large:24px;--line-height-label:20px;--line-height-body-large:24px;--line-height-body:20px;--line-height-caption:16px;--letter-spacing-title:0px;--letter-spacing-headline:0px;--letter-spacing-label-large:0px;--letter-spacing-label:0px;--letter-spacing-body-large:0px;--letter-spacing-body:0px;--letter-spacing-caption:0px;--font-weight-400:400;--font-weight-500:500;--font-weight-600:600;--font-weight-700:700;--spacing-none:0px;--spacing-25:2px;--spacing-50:4px;--spacing-75:6px;--spacing-100:8px;--spacing-125:10px;--spacing-150:12px;--spacing-200:16px;--spacing-250:20px;--spacing-300:24px;--spacing-400:32px;--spacing-500:40px;--spacing-600:48px;--border-radius-none:0px;--border-radius-25:2px;--border-radius-50:4px;--border-radius-100:8px;--border-radius-150:12px;--border-radius-200:16px;--border-radius-300:24px;--border-radius-400:32px;--border-radius-full:9999px;--stroke-width-none:0px;--stroke-width-25:1px;--stroke-width-50:2px;--stroke-width-75:3px;--stroke-width-100:4px;--stroke-width-150:6px;--stroke-width-200:8px;--stroke-width-300:12px;--product-card-widget-min-width:130px;--product-card-results-min-width:250px;--image-set-mode-min-size:155px;--product-card-set-mode-max-width:300px;--source-card-set-mode-max-width:500px;--filter-blur-none:0px;--filter-blur-100:8px;--filter-blur-150:12px;--filter-blur-200:16px;--color-bg-base:#ffffff;--color-bg-inverse:#161616;--color-border-00:#ffffff;--color-border-01:#f4f4f4;--color-border-02:#e0e0e0;--color-border-03:#c6c6c6;--color-border-inverse-00:#161616;--color-border-inverse-01:#393939;--color-field-01:#ffffff;--color-field-02:#f4f4f4;--color-icon-primary:#161616;--color-icon-secondary:#525252;--color-icon-helper:#8d8d8d;--color-icon-on-color:#ffffff;--color-icon-inverse:#ffffff;--color-icon-disabled:#16161640;--color-text-primary:#161616;--color-text-secondary:#525252;--color-text-helper:#8d8d8d;--color-text-placeholder:#a8a8a8;--color-text-on-color:#ffffff;--color-text-inverse:#ffffff;--color-text-disabled:#16161640;--button-bg-color-primary:#000000;--button-bg-color-primary-hover:#161616;--button-bg-color-primary-active:#1e1e1e;--button-bg-color-secondary:#f4f4f4;--button-bg-color-secondary-hover:#e0e0e0;--button-bg-color-secondary-active:#c6c6c6;--button-bg-color-ghost-hover:#f4f4f4;--button-bg-color-ghost-active:#eaeaea;--button-bg-color-frosted:#6f6f6f66;--button-bg-color-frosted-hover:#6f6f6f80;--button-bg-color-frosted-active:#6f6f6f99;--button-bg-color-disabled:#e0e0e0;--surface-bg-color-01:#f4f4f4;--surface-bg-color-01-hover:#eaeaea;--surface-bg-color-01-active:#e0e0e0;--surface-bg-color-02:#ffffff;--surface-bg-color-inverse:#262626;--surface-bg-color-inverse-hover:#303030;--surface-bg-color-inverse-active:#393939;--surface-bg-color-disabled:#e0e0e0;--chip-bg-color-primary:#161616;--chip-bg-color-primary-hover:#1e1e1e;--chip-bg-color-primary-active:#262626;--chip-bg-color-subtle:#f4f4f4;--chip-bg-color-subtle-hover:#eaeaea;--chip-bg-color-subtle-active:#e0e0e0;--chip-bg-color-outline-hover:#f4f4f4;--chip-bg-color-outline-active:#eaeaea;--label-bg-color-accent:#ff3944;}:host{--vviinn-carousel-columns:4;box-sizing:border-box;position:fixed;z-index:2;display:block;display:flex;height:100vh;left:0;top:0;transition:background 0.1s ease-in-out;width:100vw}:host(.open){background:rgba(0, 0, 0, 0.2)}:host(.bottom){flex-direction:column;justify-content:end}:host(.right){flex-direction:row;justify-content:flex-end}:host [slot]{visibility:hidden;position:absolute}header{position:relative;text-align:center;padding:var(--spacing-300);padding-top:0px}header.contains-source-img{display:grid;justify-items:center;grid-gap:12px}img.source-image{width:64px;height:64px;border-radius:50%;padding:6px;border:1px solid var(--color-border-02)}:host(.right) header{box-shadow:0px 2px 6px rgba(0, 0, 0, 0.1)}main{padding:0 var(--spacing-300);min-height:100px}:host(.right) main{overflow:auto}.sidebar{background:white;box-sizing:border-box;padding-top:var(--spacing-300);display:flex;flex-direction:column;max-height:100vh;overflow-y:auto}:host(.bottom.idle) .sidebar,:host(.bottom.closed) .sidebar{transform:translateY(100%)}:host(.bottom.closed) .sidebar{animation-name:slideOutFromBottom;animation-duration:0.5s;animation-fill-mode:forwards}:host(.bottom.open) .sidebar{animation-name:slideInFromBottom;animation-duration:0.5s;animation-fill-mode:forwards}:host(.right.idle) .sidebar{transform:translateX(100%)}:host(.right.closed) .sidebar{animation-name:slideOutFromRight;animation-duration:0.5s;animation-fill-mode:forwards}:host(.right.open) .sidebar{animation-name:slideInFromRight;animation-duration:0.5s;animation-fill-mode:forwards}:host(.right) .sidebar{max-width:480px}:host(.right) vviinn-vpr-widget::part(recommendations-grid){display:grid;grid-template-columns:repeat(2, 1fr);grid-gap:var(--spacing-300)}:host(.right) vviinn-vpr-widget{overflow:auto}.title{font-style:normal;font-weight:var(--font-weight-600);font-size:var(--font-size-title);line-height:40px;text-align:center;color:#000000}.close-sidebar{position:absolute;background:transparent;border:none;cursor:pointer;margin:0;padding:0;top:0;right:var(--spacing-300)}@keyframes slideInFromBottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideOutFromBottom{from{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes slideInFromRight{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideOutFromRight{from{transform:translateX(0)}to{transform:translateX(100%)}}@media (max-width: 768px){:host{--vviinn-carousel-columns:2}}";export{l as vviinn_recommendations_sidebar}
|