'))}window.customElements.define(v.is,v);var _,S,k,w,C,P,x,E=i(7854);const I=Object.freeze({DetailedLinksContainer:'[data-container="detailedLinks"]',HiddenLinksContainer:'[data-container="hiddenLinks"]',DetailedLinksContent:'[data-content="detailedLinks"]',HiddenLinksContent:'[data-content="hiddenLinks"]',SelectBoxPlaceholderOption:"option:not([data-template])",SelectBoxOptionTemplate:"option[data-template]",ToggleWrapper:".ffw-wrapper",ShowMoreContainer:'[data-container="showMore"]',ShowLessContainer:'[data-container="showLess"]',GroupCaptionContainer:'[slot="groupCaption"]',RemoveFilterContainer:'[data-container="removeFilter"]',FilterSearchFieldContainer:'[slot="filterSearch"]'});class A extends((0,s.X)([(0,g.d)(),(0,E.E)()],p.jD)){static get is(){return"ff-asn-group"}static get properties(){return{collapsible:{type:p.k_},opened:{type:Boolean,reflect:!0},forGroup:{type:String,attribute:"for-group",reflect:!0},filterStyle:{type:String,attribute:"filter-style",reflect:!0},disableAutoExpand:{type:Boolean,attribute:"disable-auto-expand",reflect:!0},group:{type:Object,attribute:!1},selectBox:{type:p.k_,attribute:"select-box"},notSearchable:{type:Boolean,attribute:"not-searchable"}}}render(){if(!this._initialized)return(0,n.dy)(_||(_=(0,r.Z)(['
']))))}}(this),this._hiddenLinksContainer=this.querySelector(I.HiddenLinksContainer),this._filterSearchField=function(e){const t=e.querySelector(I.FilterSearchFieldContainer);return t?t.cloneNode(!0):i();function i(){return(0,h.yi)('')}}(this),function(e){if(null===e._filterSearchField.querySelector("input"))throw new Error(" not found in filterSearch template")}(this),this._filterSearchContainer=(0,h.yi)(''),this._hiddenLinksContainer&&!this._hiddenLinksContainer.hasAttribute("opened")&&(this._hiddenLinksContainer.style.height="0",this._hiddenLinksContainer.style.overflow="hidden"),this._initShowMore(),this._initShowLess(),this._initHiddenLinksContainer(),this._removeFilterContainer=function(e,t){const i=e.querySelector(I.RemoveFilterContainer)||r();return i.addEventListener("click",(()=>{const i=t(),r=Object.assign({},(i.selectedElements[0]||i.elements[0]).searchParams),s=n(i,r.filters);s.length?r.filters=s:delete r.filters,(0,b.hT)(r,e)})),i;function r(){return(0,h.yi)('
'),this._showLessContainer.style.display="none",this._showLessContainer.addEventListener("click",(()=>this.hideHiddenLinksContainer(!0)))}_initHiddenLinksContainer(){if(this.selectBox)this._hiddenLinksContainer?"SELECT"!==this._hiddenLinksContainer.tagName?(this.warn("Provided template for select box is not a select element. Using default template."),this._hiddenLinksContainer=e()):0===this._hiddenLinksContainer.querySelectorAll(I.SelectBoxPlaceholderOption).length&&this._hiddenLinksContainer.insertBefore((0,h.yi)(""),this._hiddenLinksContainer.firstElementChild):this._hiddenLinksContainer=e(),this._selectBoxPlaceholderOption=this._hiddenLinksContainer.querySelector(I.SelectBoxPlaceholderOption),this._hiddenLinksContainer.addEventListener("change",function(e){return()=>{const t=e._hiddenLinksContainer.options[e._hiddenLinksContainer.selectedIndex].data;t&&(0,b.hT)(t.searchParams,this)}}(this)),this._show(this._hiddenLinksContainer);else{if(!this._hiddenLinksContainer){const e=(0,h.iS)(w||(w=(0,r.Z)(['
'])));class U extends p.jD{static get is(){return"ff-slider-control"}static get properties(){return{disableInputFields:{type:p.k_,attribute:"disable-input-fields"},submitOnInput:{type:p.k_,attribute:"submit-on-input"},group:{type:Object,attribute:!1},fractionDigits:{type:Number,attribute:"fraction-digits"}}}render(){return(0,n.dy)(q||(q=(0,r.Z)(['
',"
"])),this._content)}constructor(){super(),this.disableInputFields=!1,this.submitOnInput=!1,this.group=void 0,this.fractionDigits=0,this._inputMin=void 0,this._inputMax=void 0,this._slider=void 0,this._unitElements=void 0,this._submitDelay=500,this._content=void 0,this._isSubmitScheduled=!1,this._submitInputMinDebouncerJob=void 0,this._submitInputMaxDebouncerJob=void 0}initDefaultTemplates(){if(this._content)return;let e;(0,p.np)(this)?(this._content=(0,h.yi)(V),e=this._content):(this._content=Array.from(this.childNodes),e=this),this._slider=e.querySelector(H[0]),this._inputMin=e.querySelector(H[1]),this._inputMax=e.querySelector(H[2]),function(e){const t=H.filter((t=>!e.querySelector(t)));if(0===t.length)return;throw Error("".concat(U.is,' does not have all required templates.\nYou must provide a template for each of the following selectors: "').concat(H.join('", "'),'".\nMissing templates are: "').concat(t.join('", "'),'".\nAlternatively, you may leave ').concat(U.is," empty. In this case, default templates will be used."))}(e),this._unitElements=e.querySelectorAll("[data-unit]"),this._slider.addEventListener("slider-moved",this._valueChanged.bind(this)),this._slider.addEventListener("value-changed",this._valueChanged.bind(this))}update(e){e.has("group")&&this._groupChanged(),super.update(e)}disconnectedCallback(){this._submitInputMinDebouncerJob&&this._submitInputMinDebouncerJob.cancel(),this._submitInputMaxDebouncerJob&&this._submitInputMaxDebouncerJob.cancel(),super.disconnectedCallback()}init(e){this._inputMin.value=this._format(e.selectedMinValue),this._inputMax.value=this._format(e.selectedMaxValue),this.disableInputFields?this._disableFocusInput():this._initInputSubmit(),Promise.resolve().then((()=>this.style.opacity="1"))}submit(){this._submitInputMax(),this._submitInputMin()}_groupChanged(){this.group&&setTimeout((()=>{this._updateInput(this._inputMax,this._slider.selectedMaxValue),this._updateInput(this._inputMin,this._slider.selectedMinValue),this._unitElements.forEach((e=>e.innerText=this.group.unit))}),1)}_updateInput(e,t){if(!e)return;this._slider&&void 0!==t&&(e.value=this._format(t));const i=e.attributes;for(let e=0;e{this._isSubmitScheduled=!1,this._slider.submit()})))}_initInputSubmit(){function e(e){return e>=48&&e<=57||e>=96&&e<=105}this._submitInputMinDebouncerJob=(0,B.D)(this._submitInputMinDebouncerJob,(()=>{this._submitInputMin(),this._inputMin.focus()}),this._submitDelay),this._submitInputMaxDebouncerJob=(0,B.D)(this._submitInputMinDebouncerJob,(()=>{this._submitInputMax(),this._inputMax.focus()}),this._submitDelay),this._inputMin.onkeyup=t=>{const i=(t=window.event||t).keyCode||t.which;if(13===i)return this._submitInputMin(),!1;this.submitOnInput&&e(i)&&this._submitInputMinDebouncerJob.run()},this._inputMax.onkeyup=t=>{const i=(t=window.event||t).keyCode||t.which;if(13===i)return this._submitInputMax(),!1;this.submitOnInput&&e(i)&&this._submitInputMaxDebouncerJob.run()}}_format(e){var t;const i=this.fractionDigits;return Intl.NumberFormat(null===(t=R.c.config.formatting)||void 0===t?void 0:t.locale,{minimumFractionDigits:i,maximumFractionDigits:i,useGrouping:!1}).format(e)}_valueChanged(e){const{slider:t,selectedMinValue:i,selectedMaxValue:r}=e.detail;if("min"===t)this._inputMin.value=this._format(i);else{if("max"!==t)throw"Unexpected slider: ".concat(t);this._inputMax.value=this._format(r)}}}function W(e){var t;const i=Intl.NumberFormat(null===(t=R.c.config.formatting)||void 0===t?void 0:t.locale).formatToParts(.1).find((e=>"decimal"===e.type)).value;return parseFloat(e.value.replace(i,"."))}function K(e,t){let i=1e3*e;const r=1e3*t,n=i%r;return i-=n,n/r>=.5&&(i+=r),i/1e3}var z,$;window.customElements.define(U.is,U);class J extends((0,s.X)([(0,g.d)(),(0,E.E)()],p.jD)){static get is(){return"ff-asn-group-slider"}static get properties(){return{collapsible:{type:p.k_},opened:{type:Boolean,reflect:!0},forGroup:{type:String,reflect:!0,attribute:"for-group"},filterStyle:{type:String,reflect:!0,attribute:"filter-style"},disableAutoExpand:{type:Boolean,reflect:!0,attribute:"disable-auto-expand"},group:{type:Object,attribute:!1}}}render(){return this._initialized?(0,n.dy)($||($=(0,r.Z)(['
')}_updateSliderControls(){this.querySelectorAll(U.is).forEach((e=>e.group=this.group)),this._sliderControl&&(this._sliderControl.group=this.group)}_hideGroup(){this.style.display="none",this.offsetHeight,this.style.opacity="0"}update(e){e.has("group")&&this._asnGroupChanged(),super.update(e)}_processAndRenderGroup(e){this.forGroup=e.associatedFieldName;const t=X(e);if("number"!=typeof t.absoluteMinValue||"number"!=typeof t.absoluteMaxValue)return this.warn("[".concat(J.is,"]: absoluteMinValue and absoluteMaxValue must be numbers but are:"),t.absoluteMinValue,t.absoluteMaxValue),void this._hideGroup();if(t.absoluteMinValue!==t.absoluteMaxValue){t.selectedMinValue=Math.max(t.absoluteMinValue,t.selectedMinValue),t.selectedMaxValue=Math.min(t.absoluteMaxValue,t.selectedMaxValue),this._updateSliderControls();try{Promise.resolve().then((()=>{const e=this.querySelector("".concat(D.Slider.is));e&&e.updateComplete.then((()=>e.updateData(t)))})),this.style.display="",this.offsetHeight,function(e){if(!e||!e.elements[0])return!1;const{selectedMinValue:t,selectedMaxValue:i,absoluteMinValue:r,absoluteMaxValue:n}=e.elements[0];return i!==n||t!==r}(e)&&!0!==this.opened&&!this.disableAutoExpand&&this.updateComplete.then((()=>this.show())),this.dispatchEvent(new CustomEvent("records-updated",{bubbles:!0,composed:!0})),this.style.opacity="1",this.offsetHeight}catch(e){this.error(e)}}else this._hideGroup()}_asnGroupChanged(){this.group?this._processAndRenderGroup(this.group):this._hideGroup()}_initRemoveFilter(){const e=this.querySelector(this.selectRemoveFilterContainer)||(0,h.yi)('
Reset Filter
');return e.addEventListener("click",(()=>{(0,b.hT)(X(this.group).searchParams,this)})),e}toggle(e){this.collapsible&&(this._wrapper&&this._wrapper.hasAttribute("opened")?this._toggle(this._wrapper,e,(()=>this.opened=!1)):(this._toggle(this._wrapper,e),this.opened=!0))}show(e){this.collapsible&&(this._show(this._wrapper,e),this.opened=!0)}hide(e){this.collapsible&&!1!==this.opened&&(!0!==e?(this._hide(this._wrapper,e),this.opened=!1):this._hide(this._wrapper,e,(()=>this.opened=!1)))}clone(){return(0,h.yi)(this._rawOuterHtml)}}function G(e,t){if(e._removeFilterContainer){const i=e._removeFilterContainer.style.display,r=t.selectedMinValue>t.absoluteMinValue||t.selectedMaxValue{const t=this._getGroupTemplate(e);return t.group=e,(0,n.dy)(Q||(Q=(0,r.Z)(["",""])),t)})))}constructor(){super(),this.align=te.vertical,this.asnGroups=[],this.subscribe=!0,this.topic=void 0,this.hideFacets="",this._hideFacets=[],this._templates=void 0,this._searchableFrom=1/0}connectedCallback(){this._hideFacets=re(this.hideFacets),super.connectedCallback(),this._initTemplates()}update(e){e.has("hideFacets")&&(this._hideFacets=re(this.hideFacets)),e.has("topic")&&"string"!=typeof this.topic&&void 0!==this.topic&&(this.error('Attribute "topic" must be either undefined or a string but was: '.concat(typeof this.topic,". Subscription cancelled.")),this.subscribe=!1,this.topic=void 0),this.updateComplete.then((()=>{const e=this.querySelectorAll("".concat(A.is,",").concat(J.is));Promise.all(Array.from(e).map((e=>e.updateComplete))).then((()=>{this.dispatchEvent(new CustomEvent("dom-updated",{bubbles:!0,composed:!0}))}))})),super.update(e)}set searchableFrom(e){"number"!=typeof e||isNaN(e)||e<1?this.warn("searchableFrom was expected to be a valid positive number, but was [".concat(e,"] instead")):this._searchableFrom=e}get searchableFrom(){return this._searchableFrom}_getGroupTemplate(e){const t=e.associatedFieldName;let i=this._templates[t];if(!i){const r=e.filterStyle?e.filterStyle.toUpperCase():"";this._templates[r]&&(i=this._templates[r].clone(),this._templates[t]=i)}return i||(i=this._templates.all.clone(),this._templates[t]=i),i}_initTemplates(){if(!this._templates)try{this._templates={};if(this.querySelectorAll("".concat(A.is,",").concat(J.is)).forEach((e=>{try{const t=e.getAttribute("for-group"),i=e.getAttribute("filter-style");t&&"all"!==t.toLowerCase()?this._templates[t]=e:i?this._templates[i]=e:"FF-ASN-GROUP-SLIDER"===e.tagName?this._templates.SLIDER=e:this._templates.all||(this._templates.all=e)}catch(e){this.error(e)}})),!this._templates.all){const e=document.createElement(A.is);e.setAttribute("opened",void 0),e._init(),this._templates.all=e}if(!this._templates.SLIDER){const e=document.createElement(J.is);e.setAttribute("filter-style","SLIDER"),e.setAttribute("opened",void 0),e.init(),this._templates.SLIDER=e}}catch(e){this.error(e)}}_subscriptionCallback(e){this.asnGroups=e.facets.filter((e=>!this._hideFacets.some((t=>e.associatedFieldName===t)))).filter((e=>e.elements.length||e.selectedElements.length))}}function re(e){return e.split(",").map((e=>e.trim()))}window.customElements.define(ie.is,ie)},6803:function(e,t,i){"use strict";i.r(t),i.d(t,{BreadcrumbTrail:function(){return v}});var r,n=i(168),s=i(3282),a=i(4474),o=i(9528),c=i(6041);const u={dataTemplate:"{{text}}",attributes:{}};class l extends a.jD{static get is(){return"ff-breadcrumb-trail-item"}static get properties(){return{type:{type:String,reflect:!0},breadCrumbTrailItem:{type:Object,attribute:"bread-crumb-trail-item"},_relatedFacet:{type:Object,attribute:!1}}}get template(){return this.templates[this.type]||this.templates[d.default]||u}render(){return(0,a.SM)(this.template.dataTemplate,{item:(0,o.J)(this.breadCrumbTrailItem,"text"),facet:this._relatedFacet})}constructor(){super(),this.templates={},this.addEventListener("click",(()=>{const e=(0,c.M7)();if(0===e.length)return(0,c.hT)(this.breadCrumbTrailItem.searchParams,this);const t=this.breadCrumbTrailItem.searchParams.filters||[],i=[];e.forEach((e=>{t.some((t=>t.name===e.name))||i.push(e)})),i.push(...t);const r={...this.breadCrumbTrailItem.searchParams,filters:i};(0,c.hT)(r,this)}))}firstUpdated(e){super.firstUpdated(e),Object.keys(this.template.attributes).forEach((e=>this.setAttribute(e,this.template.attributes[e])))}update(e){e.has("breadCrumbTrailItem")&&this.breadCrumbTrailItem&&(this.type=d.hasOwnProperty(this.breadCrumbTrailItem.type)?this.breadCrumbTrailItem.type:void 0),super.update(e)}}window.customElements.define(l.is,l);const d=Object.freeze({search:"search",filter:"filter",all:"all",advisor:"advisor",default:"search"});function p(e,t){let{item:i,facet:a}=e;return(0,s.dy)(r||(r=(0,n.Z)([''])),i,a,t)}function h(e){return!e||(0,a.np)(e)?u:{dataTemplate:e.innerHTML,attributes:Array.prototype.reduce.call(e.attributes,((e,t)=>{let{name:i,value:r}=t;return"unresolved"!==i&&(e[i]=r),e}),{})}}var f,m=i(3940),g=i(7982),b=i(2240);class v extends((0,m.X)([(0,g.d)(),(0,b.D)(b.l.SearchAndNavigation)],a.jD)){static get is(){return"ff-breadcrumb-trail"}static get properties(){return{breadCrumbTrailItems:{type:Array,attribute:"bread-crumb-trail-items"},showAsteriskQuery:{type:a.k_,attribute:"show-asterisk-query"}}}render(){const e=[],t=(this.breadCrumbTrailItems||[]).length;for(let i=0;ie.associatedFieldName===r.associatedFieldName));if(e.push(p({item:r,facet:n},this.templates)),i ")}update(e){e.has("breadCrumbTrailItems")&&(this.breadCrumbTrailItems&&0!==this.breadCrumbTrailItems.length?this.showSelf():this.hideSelf(),this.updateComplete.then((()=>{Promise.all(Array.from(this.querySelectorAll(l.is)).map((e=>e.updateComplete))).then((()=>{this.dispatchEvent(new CustomEvent("dom-updated",{bubbles:!0,composed:!0}))}))}))),super.update(e)}_subscriptionCallback(e){this.breadCrumbTrailItems=e.breadCrumbTrail,this._facets=e.facets}}window.customElements.define(v.is,v)},6480:function(e,t,i){"use strict";i.r(t),i.d(t,{CampaignAdvisor:function(){return p}});var r=i(3940),n=i(2240),s=i(4474),a=i(498),o=i(6041);class c extends s.jD{static get is(){return"ff-campaign-advisor-answer"}static get properties(){return{answer:{type:Object,attribute:!1}}}render(){return(0,s.SM)(this._template,this.answer)}connectedCallback(){super.connectedCallback(),this.hideSelf(),this._template=(0,s.np)(this)?"":this.innerHTML,this.addEventListener("click",u)}updated(e){e.has("answer")&&(this.answer?this.showSelf():this.hideSelf())}}function u(e){e.preventDefault(),e.stopPropagation(),(0,o.hT)(this.answer.searchParams,this)}window.customElements.define(c.is,c);var l=i(3643);class d extends s.jD{static get is(){return"ff-campaign-advisor-question"}static get properties(){return{question:{type:Object,attribute:!1}}}connectedCallback(){super.connectedCallback(),this.hideSelf(),this._renderQuestion=function(e){const t=(0,a.PU)(e.querySelector(c.is)||document.createElement(c.is),e);let i=e.querySelector("[data-question]");i||(i=(0,a.yi)("
{{text}}
"),e.insertBefore(i,e.firstChild));const r=i.innerHTML;return n=>{i.innerHTML=(0,l.s)(r,n),t(e.querySelectorAll(c.is),n.answers,((e,t)=>{e.answer=t}))}}(this)}update(e){e.has("question")&&(this.question?(this.showSelf(),this._renderQuestion(this.question)):this.hideSelf()),super.update(e)}}window.customElements.define(d.is,d);class p extends((0,r.X)([(0,n.D)(n.l.SearchAndNavigation)],s.jD)){static get is(){return"ff-campaign-advisor"}static get properties(){return{name:{type:String,reflect:!0},not:{type:String},campaign:{type:Object,attribute:!1}}}constructor(){super(),this.name="",this.not=void 0,this._renderCampaign=void 0}connectedCallback(){super.connectedCallback(),this.hideSelf(),this._renderCampaign=function(e){const t=(0,a.PU)(e.querySelector(d.is)||document.createElement(d.is),e);return i=>t(e.querySelectorAll(d.is),i.activeQuestions,((e,t)=>{e.question=t}))}(this)}update(e){var t;e.has("campaign")&&(this.campaign?(this._renderCampaign(this.campaign),this.showSelf(),(t=this,Promise.all(Array.from(t.querySelectorAll(d.is)).map((e=>e.updateComplete))).then((()=>Promise.all(Array.from(t.querySelectorAll(c.is)).map((e=>e.updateComplete)))))).then((()=>this.dispatchEvent(new CustomEvent("dom-updated",{bubbles:!0,composed:!0}))))):this.hideSelf()),super.update(e)}_subscriptionCallback(e){var t;const i=this.name.length&&this.name.split(",")||[],r=(null===(t=this.not)||void 0===t?void 0:t.split(","))||[];this.campaign=e.campaigns.find((e=>"ADVISOR"===e.flavour&&e.activeQuestions.length&&(i.includes(e.name)||0===i.length&&!r.includes(e.name))))}}window.customElements.define(p.is,p)},410:function(e,t,i){"use strict";i.r(t),i.d(t,{CampaignFeedbackText:function(){return s}});var r=i(2207),n=i(4474);class s extends n.jD{static get is(){return"ff-campaign-feedbacktext"}static get properties(){return{label:{type:String},isLandingPageCampaign:{type:Boolean,attribute:"is-landing-page-campaign"},isProductCampaign:{type:Boolean,attribute:"is-product-campaign"},isShoppingCartCampaign:{type:Boolean,attribute:"is-shopping-cart-campaign"},campaignData:{type:Object,attribute:!1}}}render(){return(0,n.SM)(this._template,this.campaignData)}constructor(){super(),this.label="",this.isLandingPageCampaign=!1,this.isProductCampaign=!1,this.isShoppingCartCampaign=!1,this.campaignData=void 0}connectedCallback(){super.connectedCallback(),this._template=(0,n.np)(this)?"{{text}}":this.innerHTML,this.hideSelf()}update(e){(e.has("label")||e.has("isLandingPageCampaign")||e.has("isProductCampaign")||e.has("isShoppingCartCampaign"))&&function(e){e.subscriptionKey&&r.u.elementsUnsubscribe(e.subscriptionKey);const t=t=>{let{campaigns:i}=t;const r=i.flatMap((t=>t.feedbackTexts.filter((t=>t.label===e.label||!e.label&&!t.teaser))));e.campaignData=r[r.length-1]};e.isLandingPageCampaign?e.subscriptionKey=r.u.elementsSubscribeCampaignPage(t):e.isProductCampaign?e.subscriptionKey=r.u.elementsSubscribeCampaignProduct(t):e.isShoppingCartCampaign?e.subscriptionKey=r.u.elementsSubscribeCampaignShoppingCart(t):e.subscriptionKey=r.u.elementsSubscribeSearchAndNavigation(t)}(this),e.has("campaignData")&&(this.campaignData?this.showSelf():this.hideSelf(),this.updateComplete.then((()=>{this.dispatchEvent(new CustomEvent("dom-updated",{bubbles:!0,composed:!0}))}))),super.update(e)}disconnectedCallback(){super.disconnectedCallback(),r.u.elementsUnsubscribe(this.subscriptionKey)}}window.customElements.define(s.is,s)},5430:function(e,t,i){"use strict";i.r(t),i.d(t,{CampaignLandingPage:function(){return a}});var r=i(2207),n=i(3940),s=i(7982);class a extends((0,n.X)([(0,s.d)()],HTMLElement)){static get is(){return"ff-campaign-landing-page"}static get observedAttributes(){return["page-id"]}get pageId(){return this._pageId}set pageId(e){this._pageId=e,e?r.c.request.campaignPage({pageId:e},{origin:this}):this.debug("No page id for page campaign specified.")}attributeChangedCallback(e,t,i){"page-id"===e&&(this.pageId=i)}}window.customElements.define(a.is,a)},5663:function(e,t,i){"use strict";i.r(t),i.d(t,{CampaignProduct:function(){return c}});var r=i(2207),n=i(4474),s=i(3940),a=i(7982);const o=Object.freeze({ProductNumber:"productNumber",Id:"id"});class c extends((0,s.X)([(0,a.d)()],n.jD)){static get is(){return"ff-campaign-product"}static get properties(){return{productId:{type:String,attribute:"product-id"},idType:{type:String,attribute:"id-type"}}}constructor(){super(),this.productId=void 0,this.idType=o.ProductNumber}update(e){if(e.has("idType")){const e=Object.values(o);if(!e.includes(this.idType))return void this.warn("idType must be one of [".concat(e.join(", "),"]. Was: ").concat(this.idType,"."))}if(e.has("productId")&&this.productId){if(!Object.values(o).includes(this.idType))return void this.warn("idType invalid. Not sending request.");r.c.request.campaignProduct({id:this.productId,idType:this.idType},{origin:this})}}}window.customElements.define(c.is,c)},8358:function(e,t,i){"use strict";i.r(t),i.d(t,{CampaignPushedProducts:function(){return c}});var r=i(4474),n=i(3940),s=i(961),a=i(7982),o=i(2207);class c extends((0,n.X)([(0,a.d)()],r.jD)){static get is(){return"ff-campaign-pushed-products"}static get properties(){return{name:{type:String},isLandingPageCampaign:{type:Boolean,attribute:"is-landing-page-campaign"},isProductCampaign:{type:Boolean,attribute:"is-product-campaign"},isShoppingCartCampaign:{type:Boolean,attribute:"is-shopping-cart-campaign"}}}constructor(){super(),this.name="",this.isLandingPageCampaign=!1,this.isProductCampaign=!1,this.isShoppingCartCampaign=!1}update(e){(e.has("name")||e.has("isLandingPageCampaign")||e.has("isProductCampaign")||e.has("isShoppingCartCampaign"))&&u(this),super.update(e)}connectedCallback(){super.connectedCallback(),this.hideSelf(),u(this);const e=this.querySelector(s.RecordList.is);e&&("true"===e.subscribe&&(this.warn("Automatic subscription of ".concat(s.RecordList.is," child component is turned on and will be turned off. Please, set ").concat(s.RecordList.is," 'subscribe' property to 'false' in your HTML code.")),e.setAttribute("subscribe","false")),e._subscriptionKey&&(this.warn("".concat(s.RecordList.is," child component is subscribed to search result and will be unsubscribed.")),e.unsubscribe()),this.isLandingPageCampaign&&(e.__isLandingPage=!0))}disconnectedCallback(){super.disconnectedCallback(),this._subscriptionKey&&(l(this),this._subscriptionKey=void 0)}}function u(e){function t(t,i){var r;let{campaigns:n}=t;const a=e.querySelector(s.RecordList.is);if(!a)return e.hideSelf(),void e.warn("No ".concat(s.RecordList.is," element found for pushed products."));const o=n.findLast((e=>"PRODUCT"===e.flavour||"FEEDBACK"===e.flavour));(null==o||null===(r=o.hits)||void 0===r?void 0:r.length)>0?(a.__campaign=o,e.isLandingPageCampaign&&(a.__pageId=i.campaignPageParams.pageId),a.records=o.hits,e.showSelf()):e.hideSelf()}e._subscriptionKey&&l(e),e.isLandingPageCampaign?e._subscriptionKey=o.u.elementsSubscribeCampaignPage(t):e.isProductCampaign?e._subscriptionKey=o.u.elementsSubscribeCampaignProduct(t):e.isShoppingCartCampaign?e._subscriptionKey=o.u.elementsSubscribeCampaignShoppingCart(t):e._subscriptionKey=o.u.elementsSubscribeSearchAndNavigation(t)}function l(e){o.u.elementsUnsubscribe(e._subscriptionKey)}window.customElements.define(c.is,c)},2132:function(e,t,i){"use strict";i.r(t),i.d(t,{CampaignRedirect:function(){return n}});var r=i(2207);class n extends HTMLElement{static get is(){return"ff-campaign-redirect"}connectedCallback(){this._subscriptionKey=r.c.response.subscribeCampaignRedirect((e=>{let{campaign:t}=e;return document.location.replace(t.target.destination),!1}))}disconnectedCallback(){r.c.response.unsubscribe(this._subscriptionKey),this._subscriptionKey=void 0}}window.customElements.define(n.is,n)},3458:function(e,t,i){"use strict";i.r(t),i.d(t,{CampaignShoppingCart:function(){return n}});var r=i(2207);class n extends HTMLElement{static get is(){return"ff-campaign-shopping-cart"}static get observedAttributes(){return["product-id"]}get productId(){return this._productId}set productId(e){this._productId=e,e&&r.c.request.campaignShoppingCart({productNumber:e.split(",")},{origin:this})}attributeChangedCallback(e,t,i){"product-id"===e&&(this.productId=i)}}window.customElements.define(n.is,n)},4410:function(e,t,i){"use strict";i.r(t),i.d(t,{CheckoutTracking:function(){return c}});var r=i(2207),n=i(3940),s=i(3282);class a extends s.oi{static get is(){return"ff-checkout-tracking-item"}static get properties(){return{count:Number,productNumber:{type:String,attribute:"product-number"},campaign:String,masterId:{type:String,attribute:"master-id"},price:Number,title:String,channel:String}}constructor(){super(),this.count=void 0,this.productNumber=void 0,this.campaign=void 0,this.masterId=void 0,this.price=void 0,this.title=void 0,this.channel=void 0}connectedCallback(){this.count||(this.count=1)}}window.customElements.define(a.is,a);var o=i(7982);class c extends((0,n.X)([(0,o.d)()],HTMLElement)){static get is(){return"ff-checkout-tracking"}get disableAutoTracking(){return this.hasAttribute("disable-auto-tracking")}connectedCallback(){!0!==this.disableAutoTracking&&this.trackCheckoutItems()}async trackCheckoutItems(){const e=Array.from(this.querySelectorAll(a.is),(e=>({element:e,data:{id:e.productNumber,campaign:e.campaign,count:Number(e.count),channel:e.channel,masterId:e.masterId,price:Number(e.price),title:e.title}})));if(0===e.length)return this.warn("No checkout items to track.");const t=[];if(e.forEach((e=>e.data.id?0===e.data.count?this.warn("Cannot track item. 'count' must be greater than zero.",e.element):(e.data.count||(e.data.count=1),void t.push(e.data)):this.warn("Cannot track item. 'productNumber' not specified.",e.element))),0===t.length)return this.warn("No trackable checkout items found.");const i=[];if(t.forEach(((e,t)=>{e.masterId&&e.price&&e.title||i.push({i:t,data:e})})),i.length){const{records:e,fieldRoles:n}=await r.c.request.records({productNumber:i.map((e=>{let{data:t}=e;return t.id}))});e.forEach(((e,r)=>{const s=t[i[r].i];s.masterId=e[n.masterId],s.price=e[n.price],s.title=e[n.productName]}))}const n=t.reduce(((e,t)=>{let{channel:i,...r}=t;const n=Object.fromEntries(Object.entries(r).filter((e=>{let[t,i]=e;return null!=i})));return e.set(i,e.get(i)||[]),e.get(i).push(n),e}),new Map);return Promise.all(Array.from(n.entries(),(e=>{let[t,i]=e;const n={origin:this};return t&&(n.channel=t),r.c.tracking.checkout(i,n)})))}}window.customElements.define(c.is,c)},1254:function(e,t,i){"use strict";i.r(t),i.d(t,{Compare:function(){return u}});var r=i(2207),n=i(3940),s=i(961),a=i(4474),o=i(7982),c=i(2240);class u extends((0,n.X)([(0,o.d)(),(0,c.D)(c.l.Compare)],a.jD)){static get is(){return"ff-compare"}static get properties(){return{productNumber:{type:Array,attribute:"product-number"},maxResults:{type:Number,attribute:"max-result"},subscribe:{type:a.k_},autoCompare:{type:String,attribute:"auto-compare"}}}constructor(){super(),this.maxResults=4,this.subscribe=!0,this.autoCompare="false"}connectedCallback(){super.connectedCallback(),this.hideSelf();const e=this.querySelector(s.RecordList.is);e?("true"===e.subscribe&&(this.warn("Automatic subscription of ff-record-list child component is turned on and will be turned off. Please, set ff-record-list 'subscribe' property to 'false' in your HTML code."),e.setAttribute("subscribe","false")),e._subscriptionKey&&(this.warn("ff-record-list child component is subscribed to search result and will be unsubscribed."),e.unsubscribe())):this.warn("Record list for 'ff-compare' component was not found.")}_subscriptionCallback(e){this._handleCompareResult(e)}updated(e){super.updated(e),e.has("productNumber")&&"true"===this.autoCompare&&this.compareRecords(this.productNumber)}_handleCompareResult(e){const t=e.records||[],i=e.attributes.reduce(((e,t)=>(e[t.name]=t.different,e)),{});if(t.length>=2){t.forEach((e=>e.diff=i));const e=this.querySelector(s.RecordList.is);e&&(e.records=t.slice(0,this.maxResults),e.addEventListener("dom-updated",(()=>{const t=Array.from(e.querySelectorAll("[data-attribute]"));this._updateCssClasses(t,i),this.showSelf()}),{once:!0}))}else this.hideSelf()}compareRecords(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];e.length>=2?r.c.request.compare({id:e},{origin:this}):(this.debug("Must specify at least two product numbers to compare."),this.hideSelf())}_updateCssClasses(e,t){e.forEach((e=>{const i=e.getAttribute("data-attribute");!0===t[i]?(e.classList.add("ffw-compare-diff"),e.classList.remove("ffw-compare-equal")):!1===t[i]?(e.classList.remove("ffw-compare-diff"),e.classList.add("ffw-compare-equal")):(e.classList.remove("ffw-compare-diff"),e.classList.remove("ffw-compare-equal"))}))}}window.customElements.define(u.is,u)},8616:function(e,t,i){"use strict";i.r(t),i.d(t,{FilterCloud:function(){return b}});var r,n,s,a=i(168),o=i(3282),c=i(3643),u=i(498),l=i(3940),d=i(7982),p=i(2240),h=i(4474),f=i(6041);const m=Object.freeze({factfinder:"fact-finder",alphabetical:"alphabetical",userSelection:"user-selection"}),g="[data-template=filter]";class b extends((0,l.X)([(0,d.d)(),(0,p.D)(p.l.SearchAndNavigation)],h.jD)){static get is(){return"ff-filter-cloud"}static get properties(){return{order:{type:String},blacklist:{type:String},whitelist:{type:String},_selectedFilters:{type:Array,attribute:!1}}}render(){if(!this._template)return(0,o.dy)(r||(r=(0,a.Z)([""])));const e=document.createElement("div");e.innerHTML=this._template;const t=e.querySelector(g),i=t.outerHTML;var l;return this._selectedFilters.map((l=i,e=>{const t=(0,u.yi)(l);return t.item=e,t.innerHTML=(0,c.s)(t.innerHTML,{...e,element:e.element}),t.addEventListener("click",(t=>{t.item=e})),t})).forEach((e=>{t.parentNode.insertBefore(e,t)})),t.parentNode.removeChild(t),(0,o.dy)(n||(n=(0,a.Z)(["",""])),Array.from(e.childNodes).map((e=>(0,o.dy)(s||(s=(0,a.Z)(["",""])),e))))}constructor(){super(),this.order=m.factfinder,this.blacklist=void 0,this.whitelist=void 0,this._selectedFilters=[],this._blacklist=[],this._whitelist=[],this._userSelectionOrder=[],this._factFinderOrder=[]}connectedCallback(){super.connectedCallback(),this._template||((0,h.np)(this)?this._template='{{element.text}}':this.querySelector(g)?this._template=this.innerHTML.trim():(this.error("An error occurred: template HTML contains no elements marked as ".concat(g,".")),this.hideSelf())),this.addEventListener("click",v)}disconnectedCallback(){this.removeEventListener("click",v),super.disconnectedCallback()}update(e){this._selectedFilters&&0!==this._selectedFilters.length?this.showSelf():this.hideSelf(),e.has("blacklist")&&(this._blacklist=this.blacklist?this.blacklist.split(","):[]),e.has("whitelist")&&(this._whitelist=this.whitelist?this.whitelist.split(","):[]),e.has("order")&&!1===Object.keys(m).some((e=>m[e]===this.order))&&(this.hideSelf(),this.error("Invalid 'order' value: '".concat(this.order,"'."))),this.blacklist&&this.whitelist&&(this.hideSelf(),this.error("'blacklist' and 'whitelist' are mutually exclusive, but both properties are set.")),(e.has("order")||e.has("blacklist")||e.has("whitelist"))&&(this._selectedFilters=y(this.order,this)),super.update(e)}updated(e){super.updated(e),this.updateComplete.then((()=>{this.dispatchEvent(new CustomEvent("dom-updated",{bubbles:!0,composed:!0}))}))}_subscriptionCallback(e){this._selectedFilters=function(e,t,i,r){const n=(o=function(e){return e.reduce(((e,t)=>e.concat([...t.selectedElements,...t.elements.filter((e=>"TRUE"===e.selected))].map((e=>({facet:t,element:e}))))),[])}(r),o.reduce(((e,t)=>0!==e.filter((e=>e.element.text===t.element.text&&e.facet.associatedFieldName===t.facet.associatedFieldName)).length?e:[...e,t]),[])),s=i.filter((e=>_(n,e))),a=n.filter((e=>!_(s,e)));var o;return e._factFinderOrder=n,e._userSelectionOrder=s.concat(a),y(t,e)}(this,this.order,this._userSelectionOrder,e.facets)}}function v(e){const t=e.item;t&&(0,f.hT)(t.element.searchParams,this)}function y(e,t){switch(e){case m.userSelection:return S(t._userSelectionOrder,t._blacklist,t._whitelist);case m.alphabetical:return S(t._factFinderOrder,t._blacklist,t._whitelist).sort(((e,t)=>e.element.text.localeCompare(t.element.text)));default:return S(t._factFinderOrder,t._blacklist,t._whitelist)}}function _(e,t){let{element:i}=t;return e.some((e=>e.element.text===i.text))}function S(e,t,i){return e.filter((e=>{let{facet:r,element:n}=e;const s=t.indexOf(r.associatedFieldName)<0,a=0===i.length||i.indexOf(r.associatedFieldName)>=0,o="IMPLICIT"!==!n.selected,c=(0,f.pk)((0,f.rE)(r))(n);return s&&a&&o&&c}))}window.customElements.define(b.is,b)},4487:function(e,t,i){"use strict";i.r(t),i.d(t,{HeaderNavigation:function(){return b}});var r,n=i(168),s=i(3282),a=i(2207),o=i(4474);const c="_item-clicked";class u extends o.jD{static get is(){return"ff-nav-element"}static get properties(){return{element:{attribute:!1,type:Object}}}render(){return(0,s.dy)(r||(r=(0,n.Z)(['',""])),(this.element.__TARGET_URL__||{}).url,this.element.text)}constructor(){var e;super(),this.element={},this.addEventListener("click",(e=this,t=>{t.preventDefault(),t.stopPropagation(),e.dispatchEvent(new CustomEvent(c,{bubbles:!0}))}))}}window.customElements.define(u.is,u);var l,d,p,h,f,m=i(3940),g=i(2240);class b extends((0,m.X)([(0,g.D)(g.l.NavigationCategory)],o.jD)){static get is(){return"ff-header-navigation"}static get properties(){return{elements:{attribute:!1,type:Array},groupCount:{attribute:"group-count",type:Number},groupSize:{attribute:"group-size",type:Number},hideEmptyGroups:{attribute:"hide-empty-groups",type:o.k_},fetchInitial:{attribute:"fetch-initial",type:o.k_},mouseenterDelay:{attribute:"mouseenter-delay",type:Number},mouseleaveDelay:{attribute:"mouseleave-delay",type:Number},_selectedElement:{attribute:!1,type:Object},_showBody:{attribute:!1,type:Boolean}}}render(){return(0,s.dy)(l||(l=(0,n.Z)(['
"])),(0,o.$)({"ffw-selected":"currentLink"===this.type}),(0,a.SM)(this._template,{page:this.page}||{}))}constructor(){super(),this.type="currentLink",this.showSelected=!1,this.showOnly=!1,this.addEventListener("click",l)}connectedCallback(){super.connectedCallback(),this.hideSelf(),this._template||(this._template=(0,a.np)(this)?"{{page}}":this.innerHTML)}update(e){e.has("page")&&(void 0===this.page?(this.classList.add("ffw-disabled"),this.hideSelf()):(this.classList.remove("ffw-disabled"),this.showSelf())),super.update(e)}_clone(){const e=this.cloneNode(!0);return e._template=this._template,e}}function l(e){this.showOnly||this.dispatchEvent(new CustomEvent(c,{bubbles:!0}))}window.customElements.define(u.is,u)},3742:function(e,t,i){"use strict";i.r(t),i.d(t,{PagingSelect:function(){return l}});var r,n=i(168),s=i(3282),a=i(4474),o=i(3940),c=i(2240),u=i(6621);class l extends((0,o.X)([u.T,(0,c.D)(c.l.SearchAndNavigation)],a.jD)){static get is(){return"ff-paging-select"}static get properties(){return{pages:{type:Array,attribute:!1}}}render(){var e;return(0,s.dy)(r||(r=(0,n.Z)(['"])),d,null===(e=this.pages)||void 0===e?void 0:e.map((e=>(0,a.SM)(this._optionTemplate,{page:e}))))}constructor(){super(),this._optionTemplate=void 0,this._selectAttributes=[],this._searchParams=void 0,this._paging=void 0}connectedCallback(){super.connectedCallback(),this.hideSelf();const e=this.querySelector("select");this._selectAttributes=e?Array.from(e.attributes):[],this._optionTemplate=this.querySelector("option")||""}firstUpdated(){const e=this.querySelector("select");this._selectAttributes.forEach((t=>{let{name:i,value:r}=t;return e.setAttribute(i,r)}))}updated(e){var t;e.has("pages")&&(null!==(t=this.pages)&&void 0!==t&&t.length?(this.querySelector("select").selectedIndex=this.pages.findIndex((e=>e===this._paging.currentPage)),this.showSelf()):this.hideSelf())}_subscriptionCallback(e){super._onResponse(e),this._searchParams=e.searchParams,this._paging=e.paging;const t=e.paging,i=t&&t.pageCount>1?Array.from({length:9},((e,i)=>i+t.currentPage-4)):[];this.pages=i.filter((e=>e>0&&e<=t.pageCount))}}function d(e){const{page:t,...i}=this._searchParams,r=this.pages[e.target.selectedIndex];r>1&&(i.page=r),(0,u.S)(i,this)}window.customElements.define(l.is,l)},876:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,{z:function(){return PagingSet}});var _behaviors_BehaviorDecorator__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(3940),utils_FACTFinderLitElement__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(4474),_behaviors_ElementLog__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7982);class PagingSet extends((0,_behaviors_BehaviorDecorator__WEBPACK_IMPORTED_MODULE_1__.X)([(0,_behaviors_ElementLog__WEBPACK_IMPORTED_MODULE_2__.d)()],utils_FACTFinderLitElement__WEBPACK_IMPORTED_MODULE_0__.jD)){static get is(){return"ff-paging-set"}static get properties(){return{state:{type:String,reflect:!0},paging:{type:Object,attribute:!1}}}constructor(){super(),this.state="all",this._isActive=!1}connectedCallback(){super.connectedCallback(),this.hideSelf()}update(e){e.has("paging")&&pagingChanged.call(this),super.update(e)}get isActive(){return this._isActive}}function pagingChanged(){if("all"===this.state)return this._isActive=!0,void this.showSelf();const state=this.state.replace(/currentPage/g,this.paging.currentPage).replace(/pageCount/g,this.paging.pageCount);if(/[a-z_]/i.test(state))return this._isActive=!1,this.hideSelf(),void this.error("Alphabetical values are not allowed. Could not resolve [".concat(/[a-z_].*/i.exec(state),"] in state [").concat(state,"]"));try{this._isActive=eval(state),this.isActive?this.showSelf():this.hideSelf()}catch(e){this._isActive=!1,this.hideSelf()}}window.customElements.define(PagingSet.is,PagingSet)},5841:function(e,t,i){"use strict";i.r(t),i.d(t,{Paging:function(){return u}});var r=i(4474),n=i(480),s=i(876),a=i(3940),o=i(2240),c=i(6621);class u extends((0,a.X)([c.T,(0,o.D)(o.l.SearchAndNavigation)],r.jD)){static get is(){return"ff-paging"}static get properties(){return{paging:{type:Object,attribute:!1},showOnly:{type:Boolean,attribute:"show-only",reflect:!0}}}constructor(){super(),this.showOnly=!1,this._searchParams=void 0,this.addEventListener(n.M,l)}connectedCallback(){super.connectedCallback(),this.hideSelf()}update(e){e.has("paging")&&d.call(this),super.update(e)}updated(e){e.has("paging")&&Promise.all(Array.from(this.querySelectorAll("".concat(n.p.is))).map((e=>e.updateComplete))).then((()=>{this.dispatchEvent(new CustomEvent("dom-updated",{bubbles:!0,composed:!0}))}))}_subscriptionCallback(e){super._onResponse(e),this.paging=e.paging,this._searchParams=e.searchParams}}function l(e){e.stopPropagation();const t=e.target;if(!0===this.showOnly||t.page===this.paging.currentPage)return;const i={...this._searchParams};1===t.page?delete i.page:i.page=t.page,(0,c.S)(i,this)}function d(){if(!this.paging||1===this.paging.pageCount)return void this.hideSelf();const e=this.querySelectorAll(s.z.is);0===e.length?p(this.paging,this):e.forEach((e=>{e.paging=this.paging,e.updateComplete.then((()=>{e.isActive&&p(this.paging,e)}))})),this.showSelf()}function p(e,t){const i=(e,t)=>{e&&(e.page=t)};i(t.querySelector("".concat(n.p.is,'[type="firstLink"]')),e.currentPage>1?1:void 0),i(t.querySelector("".concat(n.p.is,'[type="lastLink"]')),e.currentPage1?e.currentPage-1:void 0),i(t.querySelector("".concat(n.p.is,'[type="nextLink"]')),e.currentPage{const i=/-?\d+/.exec(t.type)||[],r=parseInt(i[0])||0,n=e.currentPage+r;t.page=n>0&&n<=e.pageCount?n:void 0}))}window.customElements.define(u.is,u)},6621:function(e,t,i){"use strict";i.d(t,{S:function(){return s},T:function(){return n}});i(2207);var r=i(6041);const n=e=>class extends e{constructor(){super(),this._facets=void 0}_onResponse(e){this._facets=e.facets}};function s(e,t){(0,r.hT)(e,t)}},4849:function(e,t,i){"use strict";i.r(t),i.d(t,{PredictiveBasket:function(){return u}});var r=i(2207),n=i(4474),s=i(3940),a=i(7982),o=i(961),c=i(2240);class u extends((0,s.X)([(0,a.d)(),(0,c.D)(c.l.PredictiveBasket)],n.jD)){static get is(){return"ff-predictive-basket"}static get properties(){return{userId:{attribute:"user-id",type:String,reflect:!0},maxResults:{attribute:"max-results",type:Number},blacklist:String}}constructor(){super(),this.userId=void 0,this.maxResults=void 0,this.blacklist=void 0}connectedCallback(){super.connectedCallback(),this.hideSelf();const e=this.querySelector(o.RecordList.is);e&&(e.subscribe=!1,e.__isPredBasket=!0),this.userId&&!e&&this.warn("No ff-record-list provided. Provide one to make ".concat(u.is," work properly."))}_subscriptionCallback(e){if(e.hits.length>0){const t=this.querySelector(o.RecordList.is);t&&(t.records=e.hits),this.showSelf()}else this.hideSelf()}update(e){e.has("userId")&&this.getPredictions(),super.update(e)}getPredictions(){if(void 0===this.userId||null===this.userId||""===this.userId)return this.error("No user id specified."),void this.hideSelf();const e={userId:this.userId};void 0!==this.maxResults&&(e.maxResults=this.maxResults),"string"==typeof this.blacklist&&(e.blacklist=this.blacklist.split(",").map((e=>e.trim())).filter((e=>!!e))),r.c.request.predictiveBasket(e,{origin:this})}}window.customElements.define(u.is,u)},6731:function(e,t,i){"use strict";i.r(t),i.d(t,{ProductsPerPageDropdown:function(){return f}});var r,n=i(168),s=i(3282),a=i(1448),o=i(8474),c=i(6342),u=i(4474),l=i(6041),d=i(3940),p=i(2240),h=i(8122);class f extends((0,d.X)([(0,p.D)(p.l.SearchAndNavigation)],u.jD)){static get is(){return"ff-products-per-page-dropdown"}static get properties(){return{values:{type:String},opened:{type:Boolean,reflect:!0},showSelected:{type:Boolean,attribute:"show-selected"},collapseOnblur:{type:u.k_,attribute:"collapse-onblur"},_items:{type:Array,attribute:!1}}}render(){const e=this._items.find((e=>e.selected));return(0,s.dy)(r||(r=(0,n.Z)(["",'
',"
"])),e?(0,h.renderPPPItem)(this._ffPPPTemplate,e):"",(0,a.$)({"ffw-ppp-dropdown-closed":!this.opened}),m,(0,o.l)([this._items,this.showSelected],(()=>(0,c.r)(this._items,(e=>e.value),(e=>this.showSelected||!e.selected?(0,h.renderPPPItem)(this._ffPPPTemplate,e):"")))))}constructor(){var e;super(),this.opened=!1,this.showSelected=!1,this.collapseOnblur=!0,this._items=[],this._paging=void 0,this._searchParams=void 0,this._dropdownContainer=void 0,this._ffPPPTemplate=void 0,this._haveItemsBeenInitialised=!1,this.addEventListener(h.eventClick,(()=>this.toggle())),this.addEventListener("blur",(e=this,()=>{e.collapseOnblur&&setTimeout((()=>e.collapse()),16)}))}connectedCallback(){super.connectedCallback(),this.hideSelf(),!this.getAttribute("tabindex")&&this.setAttribute("tabindex","1"),this._ffPPPTemplate=(0,h.getTemplate)(this)}update(e){e.has("_items")&&function(e){if(0===e._items.length)return void e.hideSelf();e._haveItemsBeenInitialised?e.collapse():e._haveItemsBeenInitialised=!0;e.showSelf()}(this),super.update(e)}firstUpdated(){this._dropdownContainer=this.getElementsByClassName("ffw-ppp-dropdown-container")[0]}updated(e){e.has("_items")&&this.dispatchEvent(new CustomEvent("dom-updated",{bubbles:!0,composed:!0}))}expand(){const e=this._dropdownContainer;e.style.height=e.scrollHeight+"px",this.opened=!0}collapse(){this._dropdownContainer.style.height=null,this.opened=!1}toggle(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.opened)?this.expand():this.collapse()}_subscriptionCallback(e){var t;this._searchParams=e.searchParams,this._paging=e.paging;const i=null===(t=e.paging)||void 0===t?void 0:t.hitsPerPage;if(!i)return;let r=this.values.split(",").map((e=>parseInt(e.trim()))).filter((e=>e));r.includes(i)||(r=[...r,i].sort()),this._items=r.map((e=>({value:e,selected:e===i})))}}function m(e){var t,i;const r=e.target.productsPerPageItem;if(r.value===(null===(t=this._paging)||void 0===t?void 0:t.hitsPerPage))return;const{hitsPerPage:n,page:s,...a}=this._searchParams;r.value!==(null===(i=this._paging)||void 0===i?void 0:i.defaultHitsPerPage)&&(a.hitsPerPage=r.value),(0,l.hT)(a,this)}window.customElements.define(f.is,f)},8122:function(e,t,i){"use strict";i.r(t),i.d(t,{ProductsPerPageItem:function(){return l},eventClick:function(){return u},getTemplate:function(){return h},renderPPPItem:function(){return p}});var r,n=i(168),s=i(3282),a=i(1448),o=i(4474);const c={dataTemplate:"{{value}}",attributes:{}},u="_item-clicked";class l extends o.jD{static get is(){return"ff-products-per-page-item"}static get properties(){return{productsPerPageItem:{type:Object},template:{type:Object,attribute:!1}}}render(){return(0,o.SM)(this.template.dataTemplate,this.productsPerPageItem)}constructor(){super(),this.template=c,this.addEventListener("click",d)}firstUpdated(e){Object.keys(this.template.attributes).forEach((e=>this.setAttribute(e,this.template.attributes[e])))}}function d(e){this.dispatchEvent(new CustomEvent(u,{bubbles:!0}))}function p(e,t){return(0,s.dy)(r||(r=(0,n.Z)([''])),(0,a.$)({"ffw-selected":t.selected,...e.classNames}),e,t)}function h(e){const t=e.querySelector(l.is);return!t||(0,o.np)(t)?c:{dataTemplate:t.innerHTML,attributes:Array.prototype.reduce.call(t.attributes,((e,t)=>{let{name:i,value:r}=t;return"class"!==i&&(e[i]=r),e}),{}),classNames:(t.className||"").split(" ").reduce(((e,t)=>(t&&(e[t]=!0),e)),{})}}window.customElements.define(l.is,l)},2997:function(e,t,i){"use strict";i.r(t),i.d(t,{ProductsPerPageList:function(){return h}});var r,n=i(168),s=i(3282),a=i(6342),o=i(4474),c=i(6041),u=i(3940),l=i(2240),d=i(8122),p=i(480);class h extends((0,u.X)([(0,l.D)(l.l.SearchAndNavigation)],o.jD)){static get is(){return"ff-products-per-page-list"}static get properties(){return{values:{type:String},_items:{type:Array,attribute:!1}}}render(){return(0,s.dy)(r||(r=(0,n.Z)(["",""])),(0,a.r)(this._items,(e=>e.value),(e=>(0,d.renderPPPItem)(this._ffPPPTemplate,e))))}constructor(){super(),this._items=[],this._paging=void 0,this._searchParams=void 0,this._ffPPPTemplate=void 0,this.addEventListener(p.M,f)}connectedCallback(){super.connectedCallback(),this.hideSelf(),this._ffPPPTemplate=(0,d.getTemplate)(this)}update(e){super.update(e),e.has("_items")&&(0===this._items.length?this.hideSelf():this.showSelf())}updated(e){e.has("_items")&&this.dispatchEvent(new CustomEvent("dom-updated",{bubbles:!0,composed:!0}))}_subscriptionCallback(e){var t;this._searchParams=e.searchParams,this._paging=e.paging;const i=null===(t=e.paging)||void 0===t?void 0:t.hitsPerPage;if(!i)return;let r=this.values.split(",").map((e=>parseInt(e.trim()))).filter((e=>e));r.includes(i)||(r=[...r,i].sort()),this._items=r.map((e=>({value:e,selected:e===i})))}}function f(e){var t,i;const r=e.target.productsPerPageItem;if(r.value===(null===(t=this._paging)||void 0===t?void 0:t.hitsPerPage))return;const{hitsPerPage:n,page:s,...a}=this._searchParams;r.value!==(null===(i=this._paging)||void 0===i?void 0:i.defaultHitsPerPage)&&(a.hitsPerPage=r.value),(0,c.hT)(a,this)}window.customElements.define(h.is,h)},825:function(e,t,i){"use strict";i.r(t),i.d(t,{ProductsPerPageSelect:function(){return d}});var r,n=i(168),s=i(3282),a=i(6342),o=i(4474),c=i(3940),u=i(2240),l=i(6041);class d extends((0,c.X)([(0,u.D)(u.l.SearchAndNavigation)],o.jD)){static get is(){return"ff-products-per-page-select"}static get properties(){return{values:{type:String},_items:{type:Array,attribute:!1}}}render(){return(0,s.dy)(r||(r=(0,n.Z)(['"])),p,(0,a.r)(this._items,(e=>(0,o.SM)(this._optionTemplate,e))))}constructor(){super(),this._items=[],this._paging=void 0,this._searchParams=void 0,this._select=void 0,this._optionTemplate=void 0}connectedCallback(){super.connectedCallback(),this.hideSelf(),this._optionTemplate=this.querySelector("option")||""}firstUpdated(){this._select=this.querySelector("select")}update(e){super.update(e),e.has("_items")&&(0===this._items.length?this.hideSelf():this.showSelf())}updated(e){e.has("_items")&&(this._select.selectedIndex=this._items.findIndex((e=>e.selected)),this.dispatchEvent(new CustomEvent("dom-updated",{bubbles:!0,composed:!0})))}_subscriptionCallback(e){var t;this._searchParams=e.searchParams,this._paging=e.paging;const i=null===(t=e.paging)||void 0===t?void 0:t.hitsPerPage;if(!i)return;let r=this.values.split(",").map((e=>parseInt(e.trim()))).filter((e=>e));r.includes(i)||(r=[...r,i].sort()),this._items=r.map((e=>({value:e,selected:e===i})))}}function p(){var e,t,i;const r=null===(e=this._items[this._select.selectedIndex])||void 0===e?void 0:e.value;if(!r||r===(null===(t=this._paging)||void 0===t?void 0:t.hitsPerPage))return;const{hitsPerPage:n,page:s,...a}=this._searchParams||{};r!==(null===(i=this._paging)||void 0===i?void 0:i.defaultHitsPerPage)&&(a.hitsPerPage=r),(0,l.hT)(a,this)}window.customElements.define(d.is,d)},5608:function(e,t,i){"use strict";i.r(t),i.d(t,{Recommendation:function(){return c}});var r=i(2207),n=i(3940),s=i(4474),a=i(961),o=i(7982);class c extends((0,n.X)([(0,o.d)()],s.jD)){static get is(){return"ff-recommendation"}static get properties(){return{productNumber:{type:s.ye,attribute:"product-number"},maxResults:{type:Number,attribute:"max-results"},usePersonalization:{type:s.k_,attribute:"use-personalization"}}}constructor(){super(),this.productNumber=void 0,this.maxResults=void 0,this.usePersonalization=!0}connectedCallback(){super.connectedCallback(),this.hideSelf();const e=this.querySelector(a.RecordList.is);e&&(e.subscribe=!1,e.__isRecommendation=!0)}update(e){e.has("productNumber")&&this.getRecommendations(),super.update(e)}getRecommendations(){if(!this.productNumber)return this.debug("No product number for recommendations specified."),void this.hideSelf();const e={id:this.productNumber.split(",")};this.maxResults&&(e.maxResults=this.maxResults),!1===this.usePersonalization&&(e.usePersonalization=!1),r.c.request.recommendation(e,{origin:this}).then((e=>{const t=e.hits;if(t.length>0){const e=this.querySelector(a.RecordList.is);e?(e.records=t,this.showSelf()):this.hideSelf()}else this.hideSelf()}))}}window.customElements.define(c.is,c)},961:function(e,t,i){"use strict";i.r(t),i.d(t,{RecordList:function(){return c}});var r=i(2207),n=i(3940),s=i(814),a=i(7361),o=i(4474);class c extends((0,n.X)([(0,a.z)()],o.jD)){static get is(){return"ff-record-list"}static get properties(){return{records:{type:Array},subscribe:{type:o.k_},ssr:{type:Boolean,reflectToAttribute:!0}}}constructor(){super(),this.subscribe=!0,this.__isRecommendation=!1,this.__isSimilarProducts=!1,this.__isLandingPage=!1,this.__isPredBasket=!1,this.__campaign=void 0,this.__pageId="",this._origHTML=this.innerHTML,this._templateRecord=void 0,this._templateInsertionInfo=void 0,this._subscriptionKey=void 0}connectedCallback(){if(super.connectedCallback(),!this._templateRecord){const e='template[data-role="record"]',t=this.querySelector(e);if(!t)throw console.log("".concat(c.is," without ").concat(s.Record.is," template."),this),Error("Could not find ".concat(s.Record.is," template with selector '").concat(e,"'. Initialization of ").concat(c.is," failed."));const i=document.importNode(t.content,!0);this._templateRecord=i.querySelector(s.Record.is),this._templateRecord._updateTemplate(),this._templateInsertionInfo={parentNode:t.parentNode,nextElementSibling:t}}if(this.ssr){const e=this._templateRecord.innerHTML;this.querySelectorAll(s.Record.is).forEach((t=>{t._updateTemplate(e)}))}else this.records&&this.records.length||this.hideSelf();!0===this.subscribe&&this._subscribe()}update(e){e.has("records")&&this._recordsPropertyChanged(this.records),e.has("subscribe")&&(this.subscribe?this._subscribe():this.unsubscribe()),super.update(e)}disconnectedCallback(){super.disconnectedCallback(),this.unsubscribe()}unsubscribe(){if(!this._subscriptionKey)return!1;r.u.elementsUnsubscribe(this._subscriptionKey),this._subscriptionKey=void 0}loadNextPage(){}_subscribe(){this._subscriptionKey||(this._subscriptionKey=r.u.elementsSubscribeSearchAndNavigation((e=>this._recordsChangedFFEventHandler(e))))}_recordsChangedFFEventHandler(e){this._currentLoadingNextPage=!1,u(this,e.hits,e)}_recordsPropertyChanged(e,t){var i,r;(i=e,r=t,Boolean(i&&r&&i.length===r.length&&i.every(((e,t)=>(0,s.isSameRecordData)(e,r[t])))))||u(this,e)}}function u(e,t,i){return new Promise((r=>{if(!t||!t.length)return e.hideSelf(),void r();const{parentNode:n}=e._templateInsertionInfo,a=n.removeChild.bind(n);Array.from(e.querySelectorAll(s.Record.is)).slice(t.length).forEach(a);const o=function(e){const t=[];for(let i=0;i{const n=o[r];n&&l(n)?p(n,t,e,i):d(e,t,i)})),e.showSelf(),requestAnimationFrame((()=>{e.dispatchEvent(new CustomEvent("dom-updated",{bubbles:!0,composed:!0})),r()}))}))}function l(e){return e.nodeName===s.Record.is.toUpperCase()}function d(e,t,i){const r=p(e._templateRecord.clone(),t,e,i),{parentNode:n,nextElementSibling:s}=e._templateInsertionInfo;n.insertBefore(r,s)}function p(e,t,i,r){return e.__isRecommendation=i.__isRecommendation,e.__isSimilarProducts=i.__isSimilarProducts,e.recordData=t,e.__isLandingPage=i.__isLandingPage,e.__isPredBasket=i.__isPredBasket,e.__campaign=i.__campaign,e.__pageId=i.__pageId,e.__result=r,i._currentLoadingNextPage&&(e.recordData.page=i._currentLoadingNextPage),e}window.customElements.define(c.is,c)},814:function(e,t,i){"use strict";i.r(t),i.d(t,{Record:function(){return f},isSameRecordData:function(){return h}});var r=i(6041),n=i(3940);var s=i(8486),a=i(7361),o=i(2207);function c(e,t,i,r){const n=(r||e).querySelectorAll(t);return!!n.length&&(i=i.bind(e),n.forEach((e=>e.addEventListener("click",i))),!0)}const u={getPrice:e=>{var t,i,r;const n=null===(t=o.c.config.fieldRoles)||void 0===t?void 0:t.price;return n&&(null!==(i=e.masterValues[n])&&void 0!==i?i:null===(r=e.variantValues[0])||void 0===r?void 0:r[n])},getProductNumber:e=>{var t,i,r;const n=null===(t=o.c.config.fieldRoles)||void 0===t?void 0:t.productNumber;return n&&(null!==(i=e.masterValues[n])&&void 0!==i?i:null===(r=e.variantValues[0])||void 0===r?void 0:r[n])},getTitle:e=>{var t,i,r,n;const s=null===(t=o.c.config.fieldRoles)||void 0===t?void 0:t.productName;return s&&null!==(i=null!==(r=e.masterValues[s])&&void 0!==r?r:null===(n=e.variantValues[0])||void 0===n?void 0:n[s])&&void 0!==i?i:""},getMasterId:e=>{var t,i,r,n;const s=null===(t=o.c.config.fieldRoles)||void 0===t?void 0:t.masterId;return s&&null!==(i=null!==(r=e.masterValues[s])&&void 0!==r?r:null===(n=e.variantValues[0])||void 0===n?void 0:n[s])&&void 0!==i?i:""}};var l=i(4474),d=i(3643);const p=[e=>class extends e{static get properties(){return{searchLightDOM:{type:Boolean},productImageIdentifier:{type:"String"},productImageErrorIdentifier:{type:"String"},redirectIdentifier:{type:"String"},redirectTargetIdentifier:{type:"String"},productAnchorIdentifier:{type:"String"},recommendationIdentifier:{type:"String"},bindImmediate:{type:Boolean},disableOverwrite:{type:Boolean}}}constructor(){super(),this.searchLightDOM=!0,this.productImageIdentifier="[data-image]",this.productImageErrorIdentifier="[data-image-onerror]",this.redirectIdentifier="[data-redirect]",this.redirectTargetIdentifier="[data-redirect-target]",this.productAnchorIdentifier="[data-anchor]",this.recommendationIdentifier="[data-recommendation]",this.bindImmediate=!1}ready(){super.ready(),this.bindImmediate&&(this.bindProductAnchors(),this.bindProductActions(),this.bindProductImage())}bindProductActions(){this._bindProductRedirect()}bindProductImage(){this.searchLightDOM&&this._bindProductImage(this)}bindProductAnchors(){this.searchLightDOM&&this._bindProductAnchors(this)}_bindProductImage(e){e.querySelectorAll(this.productImageIdentifier).forEach((e=>{e.onerror||(e.onerror=this._bindOnError(e));const t=e.getAttribute("data-image");t?e.setAttribute("src",t):e.onerror()}))}_bindOnError(e){return()=>{const t=e.getAttribute("data-image-onerror");e.onerror=null,t?e.setAttribute("src",t):console.debug("No image data for this record: ".concat(this.recordData.id))}}_bindProductAnchors(e){e.querySelectorAll(this.productAnchorIdentifier).forEach((e=>{const t=e.getAttribute("data-anchor");t&&0!==t.length&&(e.setAttribute("href",t),e.removeAttribute("data-anchor"))}))}_bindProductRedirect(){this.searchLightDOM&&this.bindRedirect(this)}bindRedirect(e){e&&e.querySelectorAll(this.redirectIdentifier).forEach((e=>{e.querySelectorAll("[data-track]").forEach((e=>e.attributes.removeNamedItem("data-track"))),this.registerClickListener(e)}))}registerClickListener(e){const t=e=>{const t=e.ctrlKey||e.shiftKey||e.metaKey||e.altKey;return 0===e.button&&!t&&!this.disableOverwrite},i=r=>{e.removeEventListener("mouseup",i),2!==r.button&&this._handleTrackingAndRedirect(r,t(r))};e.addEventListener("click",(e=>{t(e)&&e.preventDefault()})),e.addEventListener("mousedown",(t=>{e.addEventListener("mouseup",i),e.addEventListener("mouseleave",(()=>e.removeEventListener("mouseup",i)))}))}_handleTrackingAndRedirect(e,t){e.stopPropagation();const i=e.currentTarget,r=this.getRedirectTarget(i),n=this.getRedirectLocation(i);if(!n)return;const s=()=>{!0===t&&this.redirect(n,r)};if("_blank"===r){try{!0===this.__isRecommendation?this._trackRecommendationClick(this):!0===this.__isSimilarProducts?this._trackSimilarProductsClick(this):!0===this.__isLandingPage?this._trackLandingPageClick(this):!this.__result&&this.__campaign?this._trackProductCampaignClick(this):!0===this.__isPredBasket?this._trackPredBasketClick(this):this._trackProductClick(this)}catch(e){console.log(e)}s()}else!0===this.__isRecommendation?this._trackRecommendationClick(this,void 0,s):!0===this.__isSimilarProducts?this._trackSimilarProductsClick(this,void 0,s):!0===this.__isLandingPage?this._trackLandingPageClick(this,s):!this.__result&&this.__campaign?this._trackProductCampaignClick(this,s):!0===this.__isPredBasket?this._trackPredBasketClick(this,s):this._trackProductClick(this,s)}getRedirectLocation(e){const t=e.attributes.getNamedItem("data-redirect");if(t){const e=t.nodeValue;if(e&&e.length>0)return e;if(this.recordData)return this.recordData.record.Deeplink;console.debug("No record data available for data-redirect action.")}}getRedirectTarget(e){const t=e.attributes.getNamedItem("data-redirect-target");if(t){const e=t.nodeValue;if(e)return e}return"_blank"}redirect(e,t){window.open(e,t)}},(0,s.h)(!1),(0,a.z)(),e=>class extends e{constructor(){super(),this.clickSelector="[data-track]",this.productClickSelector='[data-track="productClick"]',this.recommendationClickSelector='[data-track="recommendationClick"]',this.checkoutClickSelector='[data-track="checkoutClick"]',this.cartClickSelector='[data-track="cartClick"]',this.dataCountSelector="[data-track-count]",this.getPrice=u.getPrice,this.getMasterId=u.getMasterId,this.getTitle=u.getTitle}getCount(e){const t=e.querySelector(this.dataCountSelector);if(t){const e=t.getAttribute("data-track-count");return parseInt(t[e]||t.value)}return 1}appendQuery(e,t,i){var r;if(null!==(r=o.c.config.categoryPage)&&void 0!==r&&r.length){if(i){const t=o.c.config.categoryPage[0].values[0];e.query=Array.isArray(t.value)?t.value.map((e=>e.replaceAll("/","%2F"))).join("/"):t.value}}else e.query=t.__result.searchParams.query}appendCampaign(e,t){null!=t&&t.__campaign&&(e.campaign=t.__campaign.id)}appendPrice(e,t){const i=this.getPrice(t);null!=i&&(e.price=i)}appendScore(e,t){t.score&&(e.score=t.score)}appendTitle(e,t){const i=this.getTitle(t);null!=i&&(e.title=i)}appendPage(e,t){t&&(e.page=t.paging.currentPage)}appendPageSize(e,t){t&&(e.pageSize=t.hits.length)}appendMasterId(e,t){const i=this.getMasterId(t);null!=i&&(e.masterId=i)}bindClick(e){e=e||this,!0===this.__isRecommendation?c(this,this.clickSelector,(t=>{e._trackRecommendationClick(e)}),e):!0===this.__isSimilarProducts?c(this,this.clickSelector,(t=>{e._trackSimilarProductsClick(e)}),e):!0===this.__isLandingPage?c(this,this.clickSelector,(t=>{e._trackLandingPageClick(e)}),e):!this.__result&&this.__campaign?c(this,this.clickSelector,(t=>{e._trackProductCampaignClick(e)}),e):!0===this.__isPredBasket?c(this,this.clickSelector,(t=>{e._trackPredBasketClick(e)}),e):c(this,this.clickSelector,(t=>{e._trackProductClick(e)}),e)}bindCheckoutClick(e){e=e||this,c(this,this.checkoutClickSelector,(t=>{e._trackCheckoutClick(e)}),e)}bindCartClick(e){e=e||this,c(this,this.cartClickSelector,(t=>{e._trackCartClick(e)}),e)}_trackRecommendationClick(e,t,i){const{recordElement:r,containerElement:n}=this._getRecoLikeElements("ff-recommendation",e,t);if(r){const e={id:u.getProductNumber(r.recordData),mainId:n.productNumber};this.appendMasterId(e,r.recordData),this.appendTitle(e,r.recordData),o.c.tracking.recommendationClick([e],{origin:r}).finally((()=>{i&&i()}))}}_trackSimilarProductsClick(e,t,i){const{recordElement:r,containerElement:n}=this._getRecoLikeElements("ff-similar-products",e,t);if(r){const e={id:u.getProductNumber(r.recordData),mainId:n.productId};this.appendMasterId(e,r.recordData),this.appendTitle(e,r.recordData),o.c.tracking.recommendationClick([e],{origin:r}).finally((()=>{i&&i()}))}}_getRecoLikeElements(e,t,i){let n,s;return n=i?{recordData:i}:t.tagName&&"ff-record"===t.tagName.toLowerCase()?this:(0,r.mZ)(t,"ff-record"),s=t.tagName.toLowerCase()===e?t:(0,r.mZ)(t,e),{recordElement:n,containerElement:s}}_trackLandingPageClick(e,t){const i={campaign:e.__campaign.id,id:u.getProductNumber(e.recordData),pageId:e.__pageId};this.appendMasterId(i,e.recordData),this.appendTitle(i,e.recordData),o.c.tracking.landingPageClick([i],{origin:e}).finally((()=>{t&&t()}))}_trackCheckoutClick(e,t){const i=this._buildCartOrCheckoutEvent(e);o.c.tracking.checkout([i],{origin:e}).finally((()=>{t&&t()}))}_trackCartClick(e,t){const i=this._buildCartOrCheckoutEvent(e);o.c.tracking.cart([i],{origin:e}).finally((()=>{t&&t()}))}_buildCartOrCheckoutEvent(e){const t={count:this.getCount(e)};if(this.appendCampaign(t,e),e.__isPredBasket){var i,r,n,s;t.id=e.recordData.values[null===(i=o.c.config.fieldRoles)||void 0===i?void 0:i.productNumber];const a=e.recordData.values[null===(r=o.c.config.fieldRoles)||void 0===r?void 0:r.masterId],c=e.recordData.values[null===(n=o.c.config.fieldRoles)||void 0===n?void 0:n.price],u=e.recordData.values[null===(s=o.c.config.fieldRoles)||void 0===s?void 0:s.productName];a&&(t.masterId=a),c&&(t.price=c),u&&(t.title=u)}else t.id=u.getProductNumber(e.recordData),this.appendMasterId(t,e.recordData),this.appendPrice(t,e.recordData),this.appendTitle(t,e.recordData);return t}_trackPredBasketClick(e,t){var i,r,n;const s={id:e.recordData.values[null===(i=o.c.config.fieldRoles)||void 0===i?void 0:i.productNumber]},a=e.recordData.values[null===(r=o.c.config.fieldRoles)||void 0===r?void 0:r.masterId],c=e.recordData.values[null===(n=o.c.config.fieldRoles)||void 0===n?void 0:n.productName];a&&(s.masterId=a),c&&(s.title=c),o.c.tracking.predbasketClick([s],{origin:e}).finally((()=>{t&&t()}))}_trackProductClick(e,t){const i=e.__result;if(!i)return void(t&&t());const r={id:u.getProductNumber(e.recordData),pos:e.recordData.position};this.appendQuery(r,e,i),this.appendCampaign(r,e),this.appendMasterId(r,e.recordData),this.appendPage(r,i),this.appendPageSize(r,i),this.appendScore(r,e.recordData),this.appendTitle(r,e.recordData),o.c.tracking.click([r],{origin:e}).finally((()=>{t&&t()}))}_trackProductCampaignClick(e,t){const i=e.__campaign.hits.findIndex((t=>t.id===e.recordData.id)),r={id:u.getProductNumber(e.recordData),pos:i+1,query:"Product campaign - ".concat(e.__campaign.name)};this.appendCampaign(r,e),this.appendMasterId(r,e.recordData),this.appendTitle(r,e.recordData),o.c.tracking.click([r],{origin:e}).finally((()=>{t&&t()}))}}],h=(e,t)=>Boolean(e&&t&&e.id===t.id&&JSON.stringify(e)===JSON.stringify(t));class f extends((0,n.X)(p,l.jD)){static get is(){return"ff-record"}static get properties(){return{recordData:{type:Object},addCartClick:{type:Boolean,attribute:"add-cart-click"},addCheckoutClick:{type:Boolean,attribute:"add-checkout-click"}}}constructor(){super(),this.addCartClick=!1,this.addCheckoutClick=!1,this.recordData=void 0,this._templateString=void 0,this.__isRecommendation=!1,this.__isSimilarProducts=!1,this.__isLandingPage=!1,this.__isPredBasket=!1,this.__campaign=void 0,this.__pageId="",this.__result=void 0}connectedCallback(){this._updateTemplate(),super.connectedCallback()}updated(e){e.has("recordData")&&this._recordDataChanged(this.recordData,e.get("recordData")),super.updated(e)}clone(){const e=document.createElement(f.is);return(0,r.FB)(this,e),e._updateTemplate(this._templateString),e}_recordDataChanged(e,t){if(e){if(!0===e.teaser)return this.innerHTML=e.text,!this.hasAttribute("is-teaser")&&this.setAttribute("is-teaser",""),void this.showSelf();this.hasAttribute("is-teaser")&&this.removeAttribute("is-teaser"),h(e,t)||(this._stamp(e),this.updateComplete.then((()=>{this.bindProductActions(),this.bindProductImage(),this.bindProductAnchors(),this.resolveDeferredAttributes(),this.bindClick(),this.addCartClick&&this.bindCartClick(),this.addCheckoutClick&&this.bindCheckoutClick()}))),this.showSelf()}else this.hideSelf()}_stamp(e){this.innerHTML=(0,d.s)(this._templateString,e)}_updateTemplate(e){e?this._templateString=e:this._templateString||(this._templateString=this.innerHTML)}}window.customElements.define(f.is,f)},8153:function(e,t,i){"use strict";i.r(t),i.d(t,{SearchBox:function(){return h}});var r=i(2207),n=i(792),s=i(4474),a=i(177),o=i(3940),c=i(8016),u=i(7982),l=i(2240),d=i(6041);const p=new WeakMap;class h extends((0,o.X)([(0,u.d)(),(0,l.D)(l.l.SearchAndNavigation)],s.jD)){static get is(){return"ff-searchbox"}static get properties(){return{suggestOnfocus:{type:s.k_,attribute:"suggest-onfocus"},selectOnclick:{type:s.k_,attribute:"select-onclick"},useSuggest:{type:s.k_,attribute:"use-suggest"},suggestDelay:{type:Number,attribute:"suggest-delay"},showAsteriskQuery:{type:s.k_,attribute:"show-asterisk-query"}}}get value(){if(this.input)return this.input.value;this.error("Input element not initialized.")}set value(e){this.input?(this.input.value=e,this.input.dispatchEvent(new Event("input",{bubbles:!0}))):this.error("Input element not initialized.")}constructor(){super(),this.selectedIndex=-1,this._inputValueChanged=this._inputValueChanged.bind(this),this.suggestOnfocus=!1,this.selectOnclick=!1,this.useSuggest=!0,this.suggestDelay=350,this.showAsteriskQuery=!1,this._enableTextSelection=!0,this._fireSuggestDebouncerJob=void 0,this._lastResult=void 0}firstUpdated(e){super.firstUpdated(e),this.input||(this.appendChild(document.createElement("input")),this.resetInput()),this.input.addEventListener("input",this._inputValueChanged),this.input.addEventListener("blur",this._inputValueChanged),this.input.addEventListener("focus",this._inputValueChanged),!0===this.selectOnclick?this.addEventListener("click",(()=>{this._enableTextSelection&&(this.input.select(),this._enableTextSelection=!1)})):!1!==this.selectOnclick&&this.warn("select-onclick has to be either 'true' or 'false'"),this.input.onkeyup=e=>{13===e.keyCode&&this._onEnter(),27===e.keyCode&&this._hideSuggest(),40===e.keyCode&&this._onArrowDown(e),38===e.keyCode&&this._onArrowUp(e)}}updated(e){super.updated(),e.has("suggestDelay")&&(null===this.suggestDelay||isNaN(this.suggestDelay)||(this._fireSuggestDebouncerJob=(0,n.D)(this._fireSuggestDebouncerJob,(()=>this._fireSuggest()),this.suggestDelay)))}connectedCallback(){this.resetInput(),super.connectedCallback();if(!this.querySelector(a.SearchButton.is))return;const e=e=>{e.stopPropagation(),this._fireSearch(this.value)};p.set(this,e),this.addEventListener(a.Events.ButtonClicked,e)}disconnectedCallback(){this.removeEventListener(a.Events.ButtonClicked,p.get(this)),p.delete(this),this._fireSuggestDebouncerJob&&this._fireSuggestDebouncerJob.cancel(),super.disconnectedCallback()}_subscriptionCallback(e){const t=e.searchParams.query;this.input.value="*"!==t||this.showAsteriskQuery?t:"",this._lastResult=e}_inputValueChanged(e){e&&("focus"===e.type&&!0===this.suggestOnfocus||"input"===e.type?this._triggerSuggest():"blur"===e.type&&(this._enableTextSelection=!0))}_triggerSuggest(){!1!==this.useSuggest&&(this.resetHighlight(),this._fireSuggestDebouncerJob.run())}_fireSuggest(){if(this.value&&this.value.length>=2){var e;const t={query:this.value};null!==(e=this._lastResult)&&void 0!==e&&e.followSearch&&(t.followSearch=this._lastResult.followSearch),r.c.request.suggest(t,{origin:this})}else this._hideSuggest()}_hideSuggest(){var e;this.resetHighlight(),this.selectedIndex=-1,null===(e=this._fireSuggestDebouncerJob)||void 0===e||e.cancel(),r.u.notifications.dispatchSuggestHide(this)}search(){this._fireSearch(this.value)}_fireSearch(e){var t;if(!e)return;const i={query:e};null!==(t=this._lastResult)&&void 0!==t&&t.followSearch&&(i.followSearch=this._lastResult.followSearch),r.c.request.search(i,{requestOptions:{origin:this}})}_onEnter(){-1!==this.selectedIndex?this.searchSelected():this.search(),this._hideSuggest()}_onArrowUp(e){if(this.selectedIndex<=0)return;this.input.setSelectionRange(0,this.value.length);const t=this.getSuggestItems();return t.length>0&&(this.removeHighlight(t[this.selectedIndex]),this.selectedIndex--,this.selectedIndex>=0&&this.setHighlight(t[this.selectedIndex])),e.stopPropagation(),e.preventDefault(),e.returnValue=!1,e.cancelBubble=!0,!1}_onArrowDown(e){const t=this.getSuggestItems();this.selectedIndex!==t.length-1&&t.length>0&&(-1!==this.selectedIndex&&this.removeHighlight(t[this.selectedIndex]),this.selectedIndex++,this.selectedIndex0!==e.offsetHeight))}resetInput(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"input";this.input=this.querySelector(e)}_handleExternalHighlight(e){this.resetHighlight(),this.setHighlight(e.element),this.selectedIndex=e.selectedIndex}setHighlight(e){e.classList.add("ffw-highlight-suggest-item")}removeHighlight(e){e.classList.remove("ffw-highlight-suggest-item")}resetHighlight(){this.selectedIndex=-1,this.getSuggestItems().forEach((e=>{e.classList.remove("ffw-highlight-suggest-item")}))}}window.customElements.define(h.is,h)},177:function(e,t,i){"use strict";i.r(t),i.d(t,{Events:function(){return o},SearchButton:function(){return c}});var r=i(4474),n=i(3940),s=i(7982),a=i(8153);const o={ButtonClicked:"ffSearchButton"};class c extends((0,n.X)([(0,s.d)()],r.jD)){static get is(){return"ff-searchbutton"}static get properties(){return{for:{type:String}}}constructor(){super(),this._button=void 0}firstUpdated(){var e;this.resetButton(),this.addEventListener("click",(e=this,t=>{if(!e._button)return e.error("No button element initialized.");if(!e._button.contains(t.target))return;if(!e.for)return void e.dispatchEvent(new CustomEvent(o.ButtonClicked,{bubbles:!0}));const i=document.getElementById(e.for);if(!i)return e.error("Could not find ".concat(a.SearchBox.is," with id '").concat(e.for,"'."));i.search()})),super.firstUpdated()}resetButton(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"button";const t=this.querySelector(e);t?this._button=t:this.error("Couldn't find element for selector: ".concat(e))}}window.customElements.define(c.is,c)},4700:function(e,t,i){"use strict";i.r(t),i.d(t,{SimilarProducts:function(){return u}});var r=i(2207),n=i(3940),s=i(961),a=i(4474),o=i(7982);const c=Object.freeze({ProductNumber:"productNumber",Id:"id"});class u extends((0,n.X)([(0,o.d)()],a.jD)){static get is(){return"ff-similar-products"}static get properties(){return{productId:{type:a.ye,attribute:"product-id"},maxResults:{type:Number,attribute:"max-results"},idType:{type:String,attribute:"id-type"}}}constructor(){super(),this.productId=void 0,this.maxResults=void 0,this.idType=void 0}connectedCallback(){super.connectedCallback(),this.hideSelf();const e=this.querySelector(s.RecordList.is);e&&(e.subscribe=!1,e.__isSimilarProducts=!0)}update(e){if(e.has("idType")){const e=Object.values(c);if(!e.includes(this.idType))return void this.warn("idType must be one of [".concat(e.join(", "),"]. Was: ").concat(this.idType,"."))}e.has("productId")&&this.getSimilarProducts(),super.update(e)}getSimilarProducts(){if(!Object.values(c).includes(this.idType))return void this.warn("idType invalid. Not sending request.");if(!this.productId)return void this.debug("No product id for similarProducts specified.");const e={id:this.productId,idType:this.idType};this.maxResults&&(e.maxResults=this.maxResults),r.c.request.similar(e,{origin:this}).then((e=>{const t=e.hits;if(t.length>0){const e=this.querySelector(s.RecordList.is);e?(e.records=t,this.showSelf()):this.hideSelf()}else this.hideSelf()}))}}window.customElements.define(u.is,u)},6637:function(e,t,i){"use strict";i.r(t),i.d(t,{SingleWordSearch:function(){return k}});var r,n=i(168),s=i(9890),a=i(961),o=i(3940),c=i(7982),u=i(4474),l=i(3643),d=i(6041);const p="[data-search='singleWord']";class h extends((0,o.X)([(0,c.d)()],u.jD)){static get is(){return"ff-single-word-search-record"}static get properties(){return{_template:{type:Object,attribute:!1},singleWordResult:{type:Object,attribute:!1}}}render(){return(0,s.dy)(this._template?[this._template.dataTemplate]:[])}constructor(){super(),this._template=void 0,this._handleSingleSearchClick=f(this)}firstUpdated(e){super.firstUpdated(e),this._template&&Object.keys(this._template.attributes).forEach((e=>this.setAttribute(e,this._template.attributes[e])))}updated(e){super.updated(e),e.has("singleWordResult")&&m(this,this.singleWordResult)}connectedCallback(){super.connectedCallback();const e=this.querySelector(a.RecordList.is);e?(e.setAttribute("subscribe","false"),e.innerHTML=e._origHTML):(0,u.np)(this)||this.warn("".concat(a.RecordList.is," not found. Data will not be displayed."))}}const f=e=>()=>{(0,d.hT)(e.singleWordResult.searchParams,e)},m=(e,t)=>{if(e.hideSelf(),!t)return;const i=e.querySelector(p);i&&(i.innerHTML=(0,l.s)(i.innerHTML,t));const r=e.querySelector(a.RecordList.is);r?r.records=t.previewRecords:e.warn("".concat(a.RecordList.is," not found. Data will not be displayed.")),g(e,e._handleSingleSearchClick),b(e,e._handleSingleSearchClick),e.showSelf()},g=(e,t)=>{e.querySelectorAll(p).forEach((e=>e.removeEventListener("click",t)))},b=(e,t)=>{e.querySelectorAll(p).forEach((e=>e.addEventListener("click",t)))};window.customElements.define(h.is,h);var v,y,_=i(6342),S=i(2240);class k extends((0,o.X)([(0,S.D)(S.l.SearchAndNavigation)],u.jD)){static get is(){return"ff-single-word-search"}static get properties(){return{singleWordResults:{type:Array,attribute:!1}}}render(){return!this.singleWordResults||!this.singleWordResults.length>0?(0,s.dy)(v||(v=(0,n.Z)([""]))):(0,s.dy)(y||(y=(0,n.Z)([""," "," ",""])),(0,u.SM)(this._headerTemplate),(0,_.r)(this.singleWordResults,(e=>e.word),(e=>{return t=this._singleWordRecordTemplate,i=e,(0,s.dy)(r||(r=(0,n.Z)([''])),t,i);var t,i})),(0,u.SM)(this._footerTemplate))}constructor(){super(),this._headerTemplate=void 0,this._singleWordRecordTemplate=void 0,this._footerTemplate=void 0,this.singleWordResults=[]}updated(e){super.updated(e),this.updateComplete.then((()=>{Promise.all(Array.from(this.querySelectorAll(h.is)).map((e=>e.updateComplete))).then((()=>{this.dispatchEvent(new CustomEvent("dom-updated",{bubbles:!0,composed:!0}))}))}))}connectedCallback(){super.connectedCallback();const e=this.querySelector(h.is),t=w(e),i=C(e);this._headerTemplate=this._headerTemplate||P(t),this._singleWordRecordTemplate=this._singleWordRecordTemplate||(e=>!e||(0,u.np)(e)?{dataTemplate:"",attributes:{}}:{dataTemplate:e.innerHTML,attributes:Array.prototype.reduce.call(e.attributes,((e,t)=>{let{name:i,value:r}=t;return e[i]=r,e}),{})})(e),this._footerTemplate=this._footerTemplate||P(i)}_subscriptionCallback(e){this.singleWordResults=e.singleWordResults}}const w=e=>{if(!e)return[];const t=[...e.parentNode.childNodes];return t.slice(0,t.indexOf(e))},C=e=>{if(!e)return[];const t=[...e.parentNode.childNodes];return t.slice(t.indexOf(e)+1)},P=e=>{const t=document.createElement("div");return e.forEach((e=>t.appendChild(e))),t.innerHTML};window.customElements.define(k.is,k)},4675:function(e,t,i){"use strict";i.r(t),i.d(t,{Slider:function(){return h}});var r=i(168),n=i(3282),s=i(4474),a=i(6041);const o=e=>Math.round(1e3*e)/1e3;class c extends s.jD{static get properties(){return{selectedMinValue:{type:Number,attribute:"selected-min-value"},selectedMaxValue:{type:Number,attribute:"selected-max-value"},absoluteMaxValue:{type:Number,attribute:"absolute-max-value"},absoluteMinValue:{type:Number,attribute:"absolute-min-value"},step:{type:Number}}}constructor(){super(),this.step=1,this._initialized=!1}update(e){e.has("absoluteMinValue")&&(this.absoluteMinValue=o(Math.floor(this.absoluteMinValue/this.step)*this.step)),e.has("absoluteMaxValue")&&(this.absoluteMaxValue=o(Math.ceil(this.absoluteMaxValue/this.step)*this.step)),e.has("selectedMinValue")&&(this.selectedMinValue=o(Math.floor(this.selectedMinValue/this.step)*this.step)),e.has("selectedMaxValue")&&(this.selectedMaxValue=o(Math.ceil(this.selectedMaxValue/this.step)*this.step)),super.update(e)}updateData(e){!e||this.selectedMaxValue===e.selectedMaxValue&&this.selectedMinValue===e.selectedMinValue||(this.absoluteMaxValue=e.absoluteMaxValue,this.absoluteMinValue=e.absoluteMinValue,this.selectedMaxValue=e.selectedMaxValue,this.selectedMinValue=e.selectedMinValue),function(e,t){if(e._initialized)return;Promise.resolve().then((()=>{const i=(0,a.mZ)(e,"FF-Slider-CONTROL");i&&i.init(t)})),e._initialized=!0}(this,e)}submit(){if(this.selectedMinValue<=this.absoluteMinValue&&this.selectedMaxValue>=this.absoluteMaxValue)this.dispatchEvent(new CustomEvent("_slider-submit",{bubbles:!0,composed:!0}));else{(e=this).selectedMinValue=o(Math.round(e.selectedMinValue/e.step)*e.step),e.selectedMaxValue=o(Math.round(e.selectedMaxValue/e.step)*e.step);const t="[".concat(this.selectedMinValue,",").concat(this.selectedMaxValue,"]");this.dispatchEvent(new CustomEvent("_slider-submit",{detail:t,bubbles:!0,composed:!0}))}var e}}var u,l;const d=Object.freeze({Triangle:".ffw-triangle",LeftButton:".ffw-slider-button-left",RightButton:".ffw-slider-button-right",Line:".ffw-line",SelectedRange:".ffw-selected-range"}),p=Object.freeze({NoTransition:"ffw-no-transition",Active:"ffw-active"});class h extends c{static get is(){return"ff-slider"}static get properties(){return{ratio:{type:Number},oneTouch:{type:Boolean,attribute:"one-touch"}}}constructor(){super(),this.ratio=.5,this.oneTouch=!1,this._listener=void 0}render(){const e=this.querySelector(".ffw-slider-button-left"),t=this.querySelector(".ffw-slider-button-right"),i=this.offsetWidth;let s=i;e&&t&&(s=i-e.offsetWidth-t.offsetWidth);const a=s*this.ratio;return(0,n.dy)(u||(u=(0,r.Z)(['
"])),(0,o.$)({"ffw-selected":"currentLink"===this.type}),(0,a.SM)(this._template,{page:this.page}||{}))}constructor(){super(),this.type="currentLink",this.showSelected=!1,this.showOnly=!1,this.addEventListener("click",l)}connectedCallback(){super.connectedCallback(),this.hideSelf(),this._template||(this._template=(0,a.np)(this)?"{{page}}":this.innerHTML)}update(e){e.has("page")&&(void 0===this.page?(this.classList.add("ffw-disabled"),this.hideSelf()):(this.classList.remove("ffw-disabled"),this.showSelf())),super.update(e)}_clone(){const e=this.cloneNode(!0);return e._template=this._template,e}}function l(e){this.showOnly||this.dispatchEvent(new CustomEvent(c,{bubbles:!0}))}window.customElements.define(u.is,u)},3742:function(e,t,i){"use strict";i.r(t),i.d(t,{PagingSelect:function(){return l}});var r,n=i(168),s=i(3282),a=i(4474),o=i(3940),c=i(2240),u=i(6621);class l extends((0,o.X)([u.T,(0,c.D)(c.l.SearchAndNavigation)],a.jD)){static get is(){return"ff-paging-select"}static get properties(){return{pages:{type:Array,attribute:!1}}}render(){var e;return(0,s.dy)(r||(r=(0,n.Z)(['"])),d,null===(e=this.pages)||void 0===e?void 0:e.map((e=>(0,a.SM)(this._optionTemplate,{page:e}))))}constructor(){super(),this._optionTemplate=void 0,this._selectAttributes=[],this._searchParams=void 0,this._paging=void 0}connectedCallback(){super.connectedCallback(),this.hideSelf();const e=this.querySelector("select");this._selectAttributes=e?Array.from(e.attributes):[],this._optionTemplate=this.querySelector("option")||""}firstUpdated(){const e=this.querySelector("select");this._selectAttributes.forEach((t=>{let{name:i,value:r}=t;return e.setAttribute(i,r)}))}updated(e){var t;e.has("pages")&&(null!==(t=this.pages)&&void 0!==t&&t.length?(this.querySelector("select").selectedIndex=this.pages.findIndex((e=>e===this._paging.currentPage)),this.showSelf()):this.hideSelf())}_subscriptionCallback(e){super._onResponse(e),this._searchParams=e.searchParams,this._paging=e.paging;const t=e.paging,i=t&&t.pageCount>1?Array.from({length:9},((e,i)=>i+t.currentPage-4)):[];this.pages=i.filter((e=>e>0&&e<=t.pageCount))}}function d(e){const{page:t,...i}=this._searchParams,r=this.pages[e.target.selectedIndex];r>1&&(i.page=r),(0,u.S)(i,this)}window.customElements.define(l.is,l)},876:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,{z:function(){return PagingSet}});var _behaviors_BehaviorDecorator__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(3940),utils_FACTFinderLitElement__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(4474),_behaviors_ElementLog__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7982);class PagingSet extends((0,_behaviors_BehaviorDecorator__WEBPACK_IMPORTED_MODULE_1__.X)([(0,_behaviors_ElementLog__WEBPACK_IMPORTED_MODULE_2__.d)()],utils_FACTFinderLitElement__WEBPACK_IMPORTED_MODULE_0__.jD)){static get is(){return"ff-paging-set"}static get properties(){return{state:{type:String,reflect:!0},paging:{type:Object,attribute:!1}}}constructor(){super(),this.state="all",this._isActive=!1}connectedCallback(){super.connectedCallback(),this.hideSelf()}update(e){e.has("paging")&&pagingChanged.call(this),super.update(e)}get isActive(){return this._isActive}}function pagingChanged(){if("all"===this.state)return this._isActive=!0,void this.showSelf();const state=this.state.replace(/currentPage/g,this.paging.currentPage).replace(/pageCount/g,this.paging.pageCount);if(/[a-z_]/i.test(state))return this._isActive=!1,this.hideSelf(),void this.error("Alphabetical values are not allowed. Could not resolve [".concat(/[a-z_].*/i.exec(state),"] in state [").concat(state,"]"));try{this._isActive=eval(state),this.isActive?this.showSelf():this.hideSelf()}catch(e){this._isActive=!1,this.hideSelf()}}window.customElements.define(PagingSet.is,PagingSet)},5841:function(e,t,i){"use strict";i.r(t),i.d(t,{Paging:function(){return u}});var r=i(4474),n=i(480),s=i(876),a=i(3940),o=i(2240),c=i(6621);class u extends((0,a.X)([c.T,(0,o.D)(o.l.SearchAndNavigation)],r.jD)){static get is(){return"ff-paging"}static get properties(){return{paging:{type:Object,attribute:!1},showOnly:{type:Boolean,attribute:"show-only",reflect:!0}}}constructor(){super(),this.showOnly=!1,this._searchParams=void 0,this.addEventListener(n.M,l)}connectedCallback(){super.connectedCallback(),this.hideSelf()}update(e){e.has("paging")&&d.call(this),super.update(e)}updated(e){e.has("paging")&&Promise.all(Array.from(this.querySelectorAll("".concat(n.p.is))).map((e=>e.updateComplete))).then((()=>{this.dispatchEvent(new CustomEvent("dom-updated",{bubbles:!0,composed:!0}))}))}_subscriptionCallback(e){super._onResponse(e),this.paging=e.paging,this._searchParams=e.searchParams}}function l(e){e.stopPropagation();const t=e.target;if(!0===this.showOnly||t.page===this.paging.currentPage)return;const i={...this._searchParams};1===t.page?delete i.page:i.page=t.page,(0,c.S)(i,this)}function d(){if(!this.paging||1===this.paging.pageCount)return void this.hideSelf();const e=this.querySelectorAll(s.z.is);0===e.length?p(this.paging,this):e.forEach((e=>{e.paging=this.paging,e.updateComplete.then((()=>{e.isActive&&p(this.paging,e)}))})),this.showSelf()}function p(e,t){const i=(e,t)=>{e&&(e.page=t)};i(t.querySelector("".concat(n.p.is,'[type="firstLink"]')),e.currentPage>1?1:void 0),i(t.querySelector("".concat(n.p.is,'[type="lastLink"]')),e.currentPage1?e.currentPage-1:void 0),i(t.querySelector("".concat(n.p.is,'[type="nextLink"]')),e.currentPage{const i=/-?\d+/.exec(t.type)||[],r=parseInt(i[0])||0,n=e.currentPage+r;t.page=n>0&&n<=e.pageCount?n:void 0}))}window.customElements.define(u.is,u)},6621:function(e,t,i){"use strict";i.d(t,{S:function(){return s},T:function(){return n}});i(2207);var r=i(6041);const n=e=>class extends e{constructor(){super(),this._facets=void 0}_onResponse(e){this._facets=e.facets}};function s(e,t){(0,r.hT)(e,t)}},4849:function(e,t,i){"use strict";i.r(t),i.d(t,{PredictiveBasket:function(){return u}});var r=i(2207),n=i(4474),s=i(3940),a=i(7982),o=i(961),c=i(2240);class u extends((0,s.X)([(0,a.d)(),(0,c.D)(c.l.PredictiveBasket)],n.jD)){static get is(){return"ff-predictive-basket"}static get properties(){return{userId:{attribute:"user-id",type:String,reflect:!0},maxResults:{attribute:"max-results",type:Number},blacklist:String}}constructor(){super(),this.userId=void 0,this.maxResults=void 0,this.blacklist=void 0}connectedCallback(){super.connectedCallback(),this.hideSelf();const e=this.querySelector(o.RecordList.is);e&&(e.subscribe=!1,e.__isPredBasket=!0),this.userId&&!e&&this.warn("No ff-record-list provided. Provide one to make ".concat(u.is," work properly."))}_subscriptionCallback(e){if(e.hits.length>0){const t=this.querySelector(o.RecordList.is);t&&(t.records=e.hits),this.showSelf()}else this.hideSelf()}update(e){e.has("userId")&&this.getPredictions(),super.update(e)}getPredictions(){if(void 0===this.userId||null===this.userId||""===this.userId)return this.error("No user id specified."),void this.hideSelf();const e={userId:this.userId};void 0!==this.maxResults&&(e.maxResults=this.maxResults),"string"==typeof this.blacklist&&(e.blacklist=this.blacklist.split(",").map((e=>e.trim())).filter((e=>!!e))),r.c.request.predictiveBasket(e,{origin:this})}}window.customElements.define(u.is,u)},6731:function(e,t,i){"use strict";i.r(t),i.d(t,{ProductsPerPageDropdown:function(){return f}});var r,n=i(168),s=i(3282),a=i(1448),o=i(8474),c=i(6342),u=i(4474),l=i(6041),d=i(3940),p=i(2240),h=i(8122);class f extends((0,d.X)([(0,p.D)(p.l.SearchAndNavigation)],u.jD)){static get is(){return"ff-products-per-page-dropdown"}static get properties(){return{values:{type:String},opened:{type:Boolean,reflect:!0},showSelected:{type:Boolean,attribute:"show-selected"},collapseOnblur:{type:u.k_,attribute:"collapse-onblur"},_items:{type:Array,attribute:!1}}}render(){const e=this._items.find((e=>e.selected));return(0,s.dy)(r||(r=(0,n.Z)(["",'
',"
"])),e?(0,h.renderPPPItem)(this._ffPPPTemplate,e):"",(0,a.$)({"ffw-ppp-dropdown-closed":!this.opened}),m,(0,o.l)([this._items,this.showSelected],(()=>(0,c.r)(this._items,(e=>e.value),(e=>this.showSelected||!e.selected?(0,h.renderPPPItem)(this._ffPPPTemplate,e):"")))))}constructor(){var e;super(),this.opened=!1,this.showSelected=!1,this.collapseOnblur=!0,this._items=[],this._paging=void 0,this._searchParams=void 0,this._dropdownContainer=void 0,this._ffPPPTemplate=void 0,this._haveItemsBeenInitialised=!1,this.addEventListener(h.eventClick,(()=>this.toggle())),this.addEventListener("blur",(e=this,()=>{e.collapseOnblur&&setTimeout((()=>e.collapse()),16)}))}connectedCallback(){super.connectedCallback(),this.hideSelf(),!this.getAttribute("tabindex")&&this.setAttribute("tabindex","1"),this._ffPPPTemplate=(0,h.getTemplate)(this)}update(e){e.has("_items")&&function(e){if(0===e._items.length)return void e.hideSelf();e._haveItemsBeenInitialised?e.collapse():e._haveItemsBeenInitialised=!0;e.showSelf()}(this),super.update(e)}firstUpdated(){this._dropdownContainer=this.getElementsByClassName("ffw-ppp-dropdown-container")[0]}updated(e){e.has("_items")&&this.dispatchEvent(new CustomEvent("dom-updated",{bubbles:!0,composed:!0}))}expand(){const e=this._dropdownContainer;e.style.height=e.scrollHeight+"px",this.opened=!0}collapse(){this._dropdownContainer.style.height=null,this.opened=!1}toggle(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.opened)?this.expand():this.collapse()}_subscriptionCallback(e){var t;this._searchParams=e.searchParams,this._paging=e.paging;const i=null===(t=e.paging)||void 0===t?void 0:t.hitsPerPage;if(!i)return;let r=this.values.split(",").map((e=>parseInt(e.trim()))).filter((e=>e));r.includes(i)||(r=[...r,i].sort()),this._items=r.map((e=>({value:e,selected:e===i})))}}function m(e){var t,i;const r=e.target.productsPerPageItem;if(r.value===(null===(t=this._paging)||void 0===t?void 0:t.hitsPerPage))return;const{hitsPerPage:n,page:s,...a}=this._searchParams;r.value!==(null===(i=this._paging)||void 0===i?void 0:i.defaultHitsPerPage)&&(a.hitsPerPage=r.value),(0,l.hT)(a,this)}window.customElements.define(f.is,f)},8122:function(e,t,i){"use strict";i.r(t),i.d(t,{ProductsPerPageItem:function(){return l},eventClick:function(){return u},getTemplate:function(){return h},renderPPPItem:function(){return p}});var r,n=i(168),s=i(3282),a=i(1448),o=i(4474);const c={dataTemplate:"{{value}}",attributes:{}},u="_item-clicked";class l extends o.jD{static get is(){return"ff-products-per-page-item"}static get properties(){return{productsPerPageItem:{type:Object},template:{type:Object,attribute:!1}}}render(){return(0,o.SM)(this.template.dataTemplate,this.productsPerPageItem)}constructor(){super(),this.template=c,this.addEventListener("click",d)}firstUpdated(e){Object.keys(this.template.attributes).forEach((e=>this.setAttribute(e,this.template.attributes[e])))}}function d(e){this.dispatchEvent(new CustomEvent(u,{bubbles:!0}))}function p(e,t){return(0,s.dy)(r||(r=(0,n.Z)([''])),(0,a.$)({"ffw-selected":t.selected,...e.classNames}),e,t)}function h(e){const t=e.querySelector(l.is);return!t||(0,o.np)(t)?c:{dataTemplate:t.innerHTML,attributes:Array.prototype.reduce.call(t.attributes,((e,t)=>{let{name:i,value:r}=t;return"class"!==i&&(e[i]=r),e}),{}),classNames:(t.className||"").split(" ").reduce(((e,t)=>(t&&(e[t]=!0),e)),{})}}window.customElements.define(l.is,l)},2997:function(e,t,i){"use strict";i.r(t),i.d(t,{ProductsPerPageList:function(){return h}});var r,n=i(168),s=i(3282),a=i(6342),o=i(4474),c=i(6041),u=i(3940),l=i(2240),d=i(8122),p=i(480);class h extends((0,u.X)([(0,l.D)(l.l.SearchAndNavigation)],o.jD)){static get is(){return"ff-products-per-page-list"}static get properties(){return{values:{type:String},_items:{type:Array,attribute:!1}}}render(){return(0,s.dy)(r||(r=(0,n.Z)(["",""])),(0,a.r)(this._items,(e=>e.value),(e=>(0,d.renderPPPItem)(this._ffPPPTemplate,e))))}constructor(){super(),this._items=[],this._paging=void 0,this._searchParams=void 0,this._ffPPPTemplate=void 0,this.addEventListener(p.M,f)}connectedCallback(){super.connectedCallback(),this.hideSelf(),this._ffPPPTemplate=(0,d.getTemplate)(this)}update(e){super.update(e),e.has("_items")&&(0===this._items.length?this.hideSelf():this.showSelf())}updated(e){e.has("_items")&&this.dispatchEvent(new CustomEvent("dom-updated",{bubbles:!0,composed:!0}))}_subscriptionCallback(e){var t;this._searchParams=e.searchParams,this._paging=e.paging;const i=null===(t=e.paging)||void 0===t?void 0:t.hitsPerPage;if(!i)return;let r=this.values.split(",").map((e=>parseInt(e.trim()))).filter((e=>e));r.includes(i)||(r=[...r,i].sort()),this._items=r.map((e=>({value:e,selected:e===i})))}}function f(e){var t,i;const r=e.target.productsPerPageItem;if(r.value===(null===(t=this._paging)||void 0===t?void 0:t.hitsPerPage))return;const{hitsPerPage:n,page:s,...a}=this._searchParams;r.value!==(null===(i=this._paging)||void 0===i?void 0:i.defaultHitsPerPage)&&(a.hitsPerPage=r.value),(0,c.hT)(a,this)}window.customElements.define(h.is,h)},825:function(e,t,i){"use strict";i.r(t),i.d(t,{ProductsPerPageSelect:function(){return d}});var r,n=i(168),s=i(3282),a=i(6342),o=i(4474),c=i(3940),u=i(2240),l=i(6041);class d extends((0,c.X)([(0,u.D)(u.l.SearchAndNavigation)],o.jD)){static get is(){return"ff-products-per-page-select"}static get properties(){return{values:{type:String},_items:{type:Array,attribute:!1}}}render(){return(0,s.dy)(r||(r=(0,n.Z)(['"])),p,(0,a.r)(this._items,(e=>(0,o.SM)(this._optionTemplate,e))))}constructor(){super(),this._items=[],this._paging=void 0,this._searchParams=void 0,this._select=void 0,this._optionTemplate=void 0}connectedCallback(){super.connectedCallback(),this.hideSelf(),this._optionTemplate=this.querySelector("option")||""}firstUpdated(){this._select=this.querySelector("select")}update(e){super.update(e),e.has("_items")&&(0===this._items.length?this.hideSelf():this.showSelf())}updated(e){e.has("_items")&&(this._select.selectedIndex=this._items.findIndex((e=>e.selected)),this.dispatchEvent(new CustomEvent("dom-updated",{bubbles:!0,composed:!0})))}_subscriptionCallback(e){var t;this._searchParams=e.searchParams,this._paging=e.paging;const i=null===(t=e.paging)||void 0===t?void 0:t.hitsPerPage;if(!i)return;let r=this.values.split(",").map((e=>parseInt(e.trim()))).filter((e=>e));r.includes(i)||(r=[...r,i].sort()),this._items=r.map((e=>({value:e,selected:e===i})))}}function p(){var e,t,i;const r=null===(e=this._items[this._select.selectedIndex])||void 0===e?void 0:e.value;if(!r||r===(null===(t=this._paging)||void 0===t?void 0:t.hitsPerPage))return;const{hitsPerPage:n,page:s,...a}=this._searchParams||{};r!==(null===(i=this._paging)||void 0===i?void 0:i.defaultHitsPerPage)&&(a.hitsPerPage=r),(0,l.hT)(a,this)}window.customElements.define(d.is,d)},5608:function(e,t,i){"use strict";i.r(t),i.d(t,{Recommendation:function(){return c}});var r=i(2207),n=i(3940),s=i(4474),a=i(961),o=i(7982);class c extends((0,n.X)([(0,o.d)()],s.jD)){static get is(){return"ff-recommendation"}static get properties(){return{productNumber:{type:s.ye,attribute:"product-number"},maxResults:{type:Number,attribute:"max-results"},usePersonalization:{type:s.k_,attribute:"use-personalization"}}}constructor(){super(),this.productNumber=void 0,this.maxResults=void 0,this.usePersonalization=!0}connectedCallback(){super.connectedCallback(),this.hideSelf();const e=this.querySelector(a.RecordList.is);e&&(e.subscribe=!1,e.__isRecommendation=!0)}update(e){e.has("productNumber")&&this.getRecommendations(),super.update(e)}getRecommendations(){if(!this.productNumber)return this.debug("No product number for recommendations specified."),void this.hideSelf();const e={id:this.productNumber.split(",")};this.maxResults&&(e.maxResults=this.maxResults),!1===this.usePersonalization&&(e.usePersonalization=!1),r.c.request.recommendation(e,{origin:this}).then((e=>{const t=e.hits;if(t.length>0){const e=this.querySelector(a.RecordList.is);e?(e.records=t,this.showSelf()):this.hideSelf()}else this.hideSelf()}))}}window.customElements.define(c.is,c)},961:function(e,t,i){"use strict";i.r(t),i.d(t,{RecordList:function(){return c}});var r=i(2207),n=i(3940),s=i(814),a=i(7361),o=i(4474);class c extends((0,n.X)([(0,a.z)()],o.jD)){static get is(){return"ff-record-list"}static get properties(){return{records:{type:Array},subscribe:{type:o.k_},ssr:{type:Boolean,reflectToAttribute:!0}}}constructor(){super(),this.subscribe=!0,this.__isRecommendation=!1,this.__isSimilarProducts=!1,this.__isLandingPage=!1,this.__isPredBasket=!1,this.__campaign=void 0,this.__pageId="",this._origHTML=this.innerHTML,this._templateRecord=void 0,this._templateInsertionInfo=void 0,this._subscriptionKey=void 0}connectedCallback(){if(super.connectedCallback(),!this._templateRecord){const e='template[data-role="record"]',t=this.querySelector(e);if(!t)throw console.log("".concat(c.is," without ").concat(s.Record.is," template."),this),Error("Could not find ".concat(s.Record.is," template with selector '").concat(e,"'. Initialization of ").concat(c.is," failed."));const i=document.importNode(t.content,!0);this._templateRecord=i.querySelector(s.Record.is),this._templateRecord._updateTemplate(),this._templateInsertionInfo={parentNode:t.parentNode,nextElementSibling:t}}if(this.ssr){const e=this._templateRecord.innerHTML;this.querySelectorAll(s.Record.is).forEach((t=>{t._updateTemplate(e)}))}else this.records&&this.records.length||this.hideSelf();!0===this.subscribe&&this._subscribe()}update(e){e.has("records")&&this._recordsPropertyChanged(this.records),e.has("subscribe")&&(this.subscribe?this._subscribe():this.unsubscribe()),super.update(e)}disconnectedCallback(){super.disconnectedCallback(),this.unsubscribe()}unsubscribe(){if(!this._subscriptionKey)return!1;r.u.elementsUnsubscribe(this._subscriptionKey),this._subscriptionKey=void 0}loadNextPage(){}_subscribe(){this._subscriptionKey||(this._subscriptionKey=r.u.elementsSubscribeSearchAndNavigation((e=>this._recordsChangedFFEventHandler(e))))}_recordsChangedFFEventHandler(e){this._currentLoadingNextPage=!1,u(this,e.hits,e)}_recordsPropertyChanged(e,t){var i,r;(i=e,r=t,Boolean(i&&r&&i.length===r.length&&i.every(((e,t)=>(0,s.isSameRecordData)(e,r[t])))))||u(this,e)}}function u(e,t,i){return new Promise((r=>{if(!t||!t.length)return e.hideSelf(),void r();const{parentNode:n}=e._templateInsertionInfo,a=n.removeChild.bind(n);Array.from(e.querySelectorAll(s.Record.is)).slice(t.length).forEach(a);const o=function(e){const t=[];for(let i=0;i{const n=o[r];n&&l(n)?p(n,t,e,i):d(e,t,i)})),e.showSelf(),requestAnimationFrame((()=>{e.dispatchEvent(new CustomEvent("dom-updated",{bubbles:!0,composed:!0})),r()}))}))}function l(e){return e.nodeName===s.Record.is.toUpperCase()}function d(e,t,i){const r=p(e._templateRecord.clone(),t,e,i),{parentNode:n,nextElementSibling:s}=e._templateInsertionInfo;n.insertBefore(r,s)}function p(e,t,i,r){return e.__isRecommendation=i.__isRecommendation,e.__isSimilarProducts=i.__isSimilarProducts,e.recordData=t,e.__isLandingPage=i.__isLandingPage,e.__isPredBasket=i.__isPredBasket,e.__campaign=i.__campaign,e.__pageId=i.__pageId,e.__result=r,i._currentLoadingNextPage&&(e.recordData.page=i._currentLoadingNextPage),e}window.customElements.define(c.is,c)},814:function(e,t,i){"use strict";i.r(t),i.d(t,{Record:function(){return f},isSameRecordData:function(){return h}});var r=i(6041),n=i(3940);var s=i(8486),a=i(7361),o=i(2207);function c(e,t,i,r){const n=(r||e).querySelectorAll(t);return!!n.length&&(i=i.bind(e),n.forEach((e=>e.addEventListener("click",i))),!0)}const u={getPrice:e=>{var t,i,r;const n=null===(t=o.u.getConfig().appConfig)||void 0===t||null===(t=t.fieldRoles)||void 0===t?void 0:t.price;return n&&(null!==(i=e.masterValues[n])&&void 0!==i?i:null===(r=e.variantValues[0])||void 0===r?void 0:r[n])},getProductNumber:e=>{var t,i,r;const n=null===(t=o.u.getConfig().appConfig)||void 0===t||null===(t=t.fieldRoles)||void 0===t?void 0:t.productNumber;return n&&(null!==(i=e.masterValues[n])&&void 0!==i?i:null===(r=e.variantValues[0])||void 0===r?void 0:r[n])},getTitle:e=>{var t,i,r,n;const s=null===(t=o.u.getConfig().appConfig)||void 0===t||null===(t=t.fieldRoles)||void 0===t?void 0:t.productName;return s&&null!==(i=null!==(r=e.masterValues[s])&&void 0!==r?r:null===(n=e.variantValues[0])||void 0===n?void 0:n[s])&&void 0!==i?i:""},getMasterId:e=>{var t,i,r,n;const s=null===(t=o.u.getConfig().appConfig)||void 0===t||null===(t=t.fieldRoles)||void 0===t?void 0:t.masterId;return s&&null!==(i=null!==(r=e.masterValues[s])&&void 0!==r?r:null===(n=e.variantValues[0])||void 0===n?void 0:n[s])&&void 0!==i?i:""}};var l=i(4474),d=i(3643);const p=[e=>class extends e{static get properties(){return{searchLightDOM:{type:Boolean},productImageIdentifier:{type:"String"},productImageErrorIdentifier:{type:"String"},redirectIdentifier:{type:"String"},redirectTargetIdentifier:{type:"String"},productAnchorIdentifier:{type:"String"},recommendationIdentifier:{type:"String"},bindImmediate:{type:Boolean},disableOverwrite:{type:Boolean}}}constructor(){super(),this.searchLightDOM=!0,this.productImageIdentifier="[data-image]",this.productImageErrorIdentifier="[data-image-onerror]",this.redirectIdentifier="[data-redirect]",this.redirectTargetIdentifier="[data-redirect-target]",this.productAnchorIdentifier="[data-anchor]",this.recommendationIdentifier="[data-recommendation]",this.bindImmediate=!1}ready(){super.ready(),this.bindImmediate&&(this.bindProductAnchors(),this.bindProductActions(),this.bindProductImage())}bindProductActions(){this._bindProductRedirect()}bindProductImage(){this.searchLightDOM&&this._bindProductImage(this)}bindProductAnchors(){this.searchLightDOM&&this._bindProductAnchors(this)}_bindProductImage(e){e.querySelectorAll(this.productImageIdentifier).forEach((e=>{e.onerror||(e.onerror=this._bindOnError(e));const t=e.getAttribute("data-image");t?e.setAttribute("src",t):e.onerror()}))}_bindOnError(e){return()=>{const t=e.getAttribute("data-image-onerror");e.onerror=null,t?e.setAttribute("src",t):console.debug("No image data for this record: ".concat(this.recordData.id))}}_bindProductAnchors(e){e.querySelectorAll(this.productAnchorIdentifier).forEach((e=>{const t=e.getAttribute("data-anchor");t&&0!==t.length&&(e.setAttribute("href",t),e.removeAttribute("data-anchor"))}))}_bindProductRedirect(){this.searchLightDOM&&this.bindRedirect(this)}bindRedirect(e){e&&e.querySelectorAll(this.redirectIdentifier).forEach((e=>{e.querySelectorAll("[data-track]").forEach((e=>e.attributes.removeNamedItem("data-track"))),this.registerClickListener(e)}))}registerClickListener(e){const t=e=>{const t=e.ctrlKey||e.shiftKey||e.metaKey||e.altKey;return 0===e.button&&!t&&!this.disableOverwrite},i=r=>{e.removeEventListener("mouseup",i),2!==r.button&&this._handleTrackingAndRedirect(r,t(r))};e.addEventListener("click",(e=>{t(e)&&e.preventDefault()})),e.addEventListener("mousedown",(t=>{e.addEventListener("mouseup",i),e.addEventListener("mouseleave",(()=>e.removeEventListener("mouseup",i)))}))}_handleTrackingAndRedirect(e,t){e.stopPropagation();const i=e.currentTarget,r=this.getRedirectTarget(i),n=this.getRedirectLocation(i);if(!n)return;const s=()=>{!0===t&&this.redirect(n,r)};if("_blank"===r){try{!0===this.__isRecommendation?this._trackRecommendationClick(this):!0===this.__isSimilarProducts?this._trackSimilarProductsClick(this):!0===this.__isLandingPage?this._trackLandingPageClick(this):!this.__result&&this.__campaign?this._trackProductCampaignClick(this):!0===this.__isPredBasket?this._trackPredBasketClick(this):this._trackProductClick(this)}catch(e){console.log(e)}s()}else!0===this.__isRecommendation?this._trackRecommendationClick(this,void 0,s):!0===this.__isSimilarProducts?this._trackSimilarProductsClick(this,void 0,s):!0===this.__isLandingPage?this._trackLandingPageClick(this,s):!this.__result&&this.__campaign?this._trackProductCampaignClick(this,s):!0===this.__isPredBasket?this._trackPredBasketClick(this,s):this._trackProductClick(this,s)}getRedirectLocation(e){const t=e.attributes.getNamedItem("data-redirect");if(t){const e=t.nodeValue;if(e&&e.length>0)return e;if(this.recordData)return this.recordData.record.Deeplink;console.debug("No record data available for data-redirect action.")}}getRedirectTarget(e){const t=e.attributes.getNamedItem("data-redirect-target");if(t){const e=t.nodeValue;if(e)return e}return"_blank"}redirect(e,t){window.open(e,t)}},(0,s.h)(!1),(0,a.z)(),e=>class extends e{constructor(){super(),this.clickSelector="[data-track]",this.productClickSelector='[data-track="productClick"]',this.recommendationClickSelector='[data-track="recommendationClick"]',this.checkoutClickSelector='[data-track="checkoutClick"]',this.cartClickSelector='[data-track="cartClick"]',this.dataCountSelector="[data-track-count]",this.getPrice=u.getPrice,this.getMasterId=u.getMasterId,this.getTitle=u.getTitle}getCount(e){const t=e.querySelector(this.dataCountSelector);if(t){const e=t.getAttribute("data-track-count");return parseInt(t[e]||t.value)}return 1}appendQuery(e,t,i){var r;const n=null===(r=o.u.getConfig().appConfig)||void 0===r?void 0:r.categoryPage;if(null!=n&&n.length){if(i){const t=n[0].values[0];e.query=Array.isArray(t.value)?t.value.map((e=>e.replaceAll("/","%2F"))).join("/"):t.value}}else e.query=t.__result.searchParams.query}appendCampaign(e,t){null!=t&&t.__campaign&&(e.campaign=t.__campaign.id)}appendPrice(e,t){const i=this.getPrice(t);null!=i&&(e.price=i)}appendScore(e,t){t.score&&(e.score=t.score)}appendTitle(e,t){const i=this.getTitle(t);null!=i&&(e.title=i)}appendPage(e,t){t&&(e.page=t.paging.currentPage)}appendPageSize(e,t){t&&(e.pageSize=t.hits.length)}appendMasterId(e,t){const i=this.getMasterId(t);null!=i&&(e.masterId=i)}bindClick(e){e=e||this,!0===this.__isRecommendation?c(this,this.clickSelector,(t=>{e._trackRecommendationClick(e)}),e):!0===this.__isSimilarProducts?c(this,this.clickSelector,(t=>{e._trackSimilarProductsClick(e)}),e):!0===this.__isLandingPage?c(this,this.clickSelector,(t=>{e._trackLandingPageClick(e)}),e):!this.__result&&this.__campaign?c(this,this.clickSelector,(t=>{e._trackProductCampaignClick(e)}),e):!0===this.__isPredBasket?c(this,this.clickSelector,(t=>{e._trackPredBasketClick(e)}),e):c(this,this.clickSelector,(t=>{e._trackProductClick(e)}),e)}bindCheckoutClick(e){e=e||this,c(this,this.checkoutClickSelector,(t=>{e._trackCheckoutClick(e)}),e)}bindCartClick(e){e=e||this,c(this,this.cartClickSelector,(t=>{e._trackCartClick(e)}),e)}_trackRecommendationClick(e,t,i){const{recordElement:r,containerElement:n}=this._getRecoLikeElements("ff-recommendation",e,t);if(r){const e={id:u.getProductNumber(r.recordData),mainId:n.productNumber};this.appendMasterId(e,r.recordData),this.appendTitle(e,r.recordData),o.c.tracking.recommendationClick([e],{origin:r}).finally((()=>{i&&i()}))}}_trackSimilarProductsClick(e,t,i){const{recordElement:r,containerElement:n}=this._getRecoLikeElements("ff-similar-products",e,t);if(r){const e={id:u.getProductNumber(r.recordData),mainId:n.productId};this.appendMasterId(e,r.recordData),this.appendTitle(e,r.recordData),o.c.tracking.recommendationClick([e],{origin:r}).finally((()=>{i&&i()}))}}_getRecoLikeElements(e,t,i){let n,s;return n=i?{recordData:i}:t.tagName&&"ff-record"===t.tagName.toLowerCase()?this:(0,r.mZ)(t,"ff-record"),s=t.tagName.toLowerCase()===e?t:(0,r.mZ)(t,e),{recordElement:n,containerElement:s}}_trackLandingPageClick(e,t){const i={campaign:e.__campaign.id,id:u.getProductNumber(e.recordData),pageId:e.__pageId};this.appendMasterId(i,e.recordData),this.appendTitle(i,e.recordData),o.c.tracking.landingPageClick([i],{origin:e}).finally((()=>{t&&t()}))}_trackCheckoutClick(e,t){const i=this._buildCartOrCheckoutEvent(e);o.c.tracking.checkout([i],{origin:e}).finally((()=>{t&&t()}))}_trackCartClick(e,t){const i=this._buildCartOrCheckoutEvent(e);o.c.tracking.cart([i],{origin:e}).finally((()=>{t&&t()}))}_buildCartOrCheckoutEvent(e){const t={count:this.getCount(e)};if(this.appendCampaign(t,e),e.__isPredBasket){var i;const r=null===(i=o.u.getConfig().appConfig)||void 0===i?void 0:i.fieldRoles;t.id=e.recordData.values[null==r?void 0:r.productNumber];const n=e.recordData.values[null==r?void 0:r.masterId],s=e.recordData.values[null==r?void 0:r.price],a=e.recordData.values[null==r?void 0:r.productName];n&&(t.masterId=n),s&&(t.price=s),a&&(t.title=a)}else t.id=u.getProductNumber(e.recordData),this.appendMasterId(t,e.recordData),this.appendPrice(t,e.recordData),this.appendTitle(t,e.recordData);return t}_trackPredBasketClick(e,t){var i;const r=null===(i=o.u.getConfig().appConfig)||void 0===i?void 0:i.fieldRoles,n={id:e.recordData.values[null==r?void 0:r.productNumber]},s=e.recordData.values[null==r?void 0:r.masterId],a=e.recordData.values[null==r?void 0:r.productName];s&&(n.masterId=s),a&&(n.title=a),o.c.tracking.predbasketClick([n],{origin:e}).finally((()=>{t&&t()}))}_trackProductClick(e,t){const i=e.__result;if(!i)return void(t&&t());const r={id:u.getProductNumber(e.recordData),pos:e.recordData.position};this.appendQuery(r,e,i),this.appendCampaign(r,e),this.appendMasterId(r,e.recordData),this.appendPage(r,i),this.appendPageSize(r,i),this.appendScore(r,e.recordData),this.appendTitle(r,e.recordData),o.c.tracking.click([r],{origin:e}).finally((()=>{t&&t()}))}_trackProductCampaignClick(e,t){const i=e.__campaign.hits.findIndex((t=>t.id===e.recordData.id)),r={id:u.getProductNumber(e.recordData),pos:i+1,query:"Product campaign - ".concat(e.__campaign.name)};this.appendCampaign(r,e),this.appendMasterId(r,e.recordData),this.appendTitle(r,e.recordData),o.c.tracking.click([r],{origin:e}).finally((()=>{t&&t()}))}}],h=(e,t)=>Boolean(e&&t&&e.id===t.id&&JSON.stringify(e)===JSON.stringify(t));class f extends((0,n.X)(p,l.jD)){static get is(){return"ff-record"}static get properties(){return{recordData:{type:Object},addCartClick:{type:Boolean,attribute:"add-cart-click"},addCheckoutClick:{type:Boolean,attribute:"add-checkout-click"}}}constructor(){super(),this.addCartClick=!1,this.addCheckoutClick=!1,this.recordData=void 0,this._templateString=void 0,this.__isRecommendation=!1,this.__isSimilarProducts=!1,this.__isLandingPage=!1,this.__isPredBasket=!1,this.__campaign=void 0,this.__pageId="",this.__result=void 0}connectedCallback(){this._updateTemplate(),super.connectedCallback()}updated(e){e.has("recordData")&&this._recordDataChanged(this.recordData,e.get("recordData")),super.updated(e)}clone(){const e=document.createElement(f.is);return(0,r.FB)(this,e),e._updateTemplate(this._templateString),e}_recordDataChanged(e,t){if(e){if(!0===e.teaser)return this.innerHTML=e.text,!this.hasAttribute("is-teaser")&&this.setAttribute("is-teaser",""),void this.showSelf();this.hasAttribute("is-teaser")&&this.removeAttribute("is-teaser"),h(e,t)||(this._stamp(e),this.updateComplete.then((()=>{this.bindProductActions(),this.bindProductImage(),this.bindProductAnchors(),this.resolveDeferredAttributes(),this.bindClick(),this.addCartClick&&this.bindCartClick(),this.addCheckoutClick&&this.bindCheckoutClick()}))),this.showSelf()}else this.hideSelf()}_stamp(e){this.innerHTML=(0,d.s)(this._templateString,e)}_updateTemplate(e){e?this._templateString=e:this._templateString||(this._templateString=this.innerHTML)}}window.customElements.define(f.is,f)},8153:function(e,t,i){"use strict";i.r(t),i.d(t,{SearchBox:function(){return h}});var r=i(2207),n=i(792),s=i(4474),a=i(177),o=i(3940),c=i(8016),u=i(7982),l=i(2240),d=i(6041);const p=new WeakMap;class h extends((0,o.X)([(0,u.d)(),(0,l.D)(l.l.SearchAndNavigation)],s.jD)){static get is(){return"ff-searchbox"}static get properties(){return{suggestOnfocus:{type:s.k_,attribute:"suggest-onfocus"},selectOnclick:{type:s.k_,attribute:"select-onclick"},useSuggest:{type:s.k_,attribute:"use-suggest"},suggestDelay:{type:Number,attribute:"suggest-delay"},showAsteriskQuery:{type:s.k_,attribute:"show-asterisk-query"}}}get value(){if(this.input)return this.input.value;this.error("Input element not initialized.")}set value(e){this.input?(this.input.value=e,this.input.dispatchEvent(new Event("input",{bubbles:!0}))):this.error("Input element not initialized.")}constructor(){super(),this.selectedIndex=-1,this._inputValueChanged=this._inputValueChanged.bind(this),this.suggestOnfocus=!1,this.selectOnclick=!1,this.useSuggest=!0,this.suggestDelay=350,this.showAsteriskQuery=!1,this._enableTextSelection=!0,this._fireSuggestDebouncerJob=void 0,this._lastResult=void 0}firstUpdated(e){super.firstUpdated(e),this.input||(this.appendChild(document.createElement("input")),this.resetInput()),this.input.addEventListener("input",this._inputValueChanged),this.input.addEventListener("blur",this._inputValueChanged),this.input.addEventListener("focus",this._inputValueChanged),!0===this.selectOnclick?this.addEventListener("click",(()=>{this._enableTextSelection&&(this.input.select(),this._enableTextSelection=!1)})):!1!==this.selectOnclick&&this.warn("select-onclick has to be either 'true' or 'false'"),this.input.onkeyup=e=>{13===e.keyCode&&this._onEnter(),27===e.keyCode&&this._hideSuggest(),40===e.keyCode&&this._onArrowDown(e),38===e.keyCode&&this._onArrowUp(e)}}updated(e){super.updated(),e.has("suggestDelay")&&(null===this.suggestDelay||isNaN(this.suggestDelay)||(this._fireSuggestDebouncerJob=(0,n.D)(this._fireSuggestDebouncerJob,(()=>this._fireSuggest()),this.suggestDelay)))}connectedCallback(){this.resetInput(),super.connectedCallback();if(!this.querySelector(a.SearchButton.is))return;const e=e=>{e.stopPropagation(),this._fireSearch(this.value)};p.set(this,e),this.addEventListener(a.Events.ButtonClicked,e)}disconnectedCallback(){this.removeEventListener(a.Events.ButtonClicked,p.get(this)),p.delete(this),this._fireSuggestDebouncerJob&&this._fireSuggestDebouncerJob.cancel(),super.disconnectedCallback()}_subscriptionCallback(e){const t=e.searchParams.query;this.input.value="*"!==t||this.showAsteriskQuery?t:"",this._lastResult=e}_inputValueChanged(e){e&&("focus"===e.type&&!0===this.suggestOnfocus||"input"===e.type?this._triggerSuggest():"blur"===e.type&&(this._enableTextSelection=!0))}_triggerSuggest(){!1!==this.useSuggest&&(this.resetHighlight(),this._fireSuggestDebouncerJob.run())}_fireSuggest(){if(this.value&&this.value.length>=2){var e;const t={query:this.value};null!==(e=this._lastResult)&&void 0!==e&&e.followSearch&&(t.followSearch=this._lastResult.followSearch),r.c.request.suggest(t,{origin:this})}else this._hideSuggest()}_hideSuggest(){var e;this.resetHighlight(),this.selectedIndex=-1,null===(e=this._fireSuggestDebouncerJob)||void 0===e||e.cancel(),r.u.notifications.dispatchSuggestHide(this)}search(){this._fireSearch(this.value)}_fireSearch(e){var t;if(!e)return;const i={query:e};null!==(t=this._lastResult)&&void 0!==t&&t.followSearch&&(i.followSearch=this._lastResult.followSearch),r.c.request.search(i,{requestOptions:{origin:this}})}_onEnter(){-1!==this.selectedIndex?this.searchSelected():this.search(),this._hideSuggest()}_onArrowUp(e){if(this.selectedIndex<=0)return;this.input.setSelectionRange(0,this.value.length);const t=this.getSuggestItems();return t.length>0&&(this.removeHighlight(t[this.selectedIndex]),this.selectedIndex--,this.selectedIndex>=0&&this.setHighlight(t[this.selectedIndex])),e.stopPropagation(),e.preventDefault(),e.returnValue=!1,e.cancelBubble=!0,!1}_onArrowDown(e){const t=this.getSuggestItems();this.selectedIndex!==t.length-1&&t.length>0&&(-1!==this.selectedIndex&&this.removeHighlight(t[this.selectedIndex]),this.selectedIndex++,this.selectedIndex0!==e.offsetHeight))}resetInput(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"input";this.input=this.querySelector(e)}_handleExternalHighlight(e){this.resetHighlight(),this.setHighlight(e.element),this.selectedIndex=e.selectedIndex}setHighlight(e){e.classList.add("ffw-highlight-suggest-item")}removeHighlight(e){e.classList.remove("ffw-highlight-suggest-item")}resetHighlight(){this.selectedIndex=-1,this.getSuggestItems().forEach((e=>{e.classList.remove("ffw-highlight-suggest-item")}))}}window.customElements.define(h.is,h)},177:function(e,t,i){"use strict";i.r(t),i.d(t,{Events:function(){return o},SearchButton:function(){return c}});var r=i(4474),n=i(3940),s=i(7982),a=i(8153);const o={ButtonClicked:"ffSearchButton"};class c extends((0,n.X)([(0,s.d)()],r.jD)){static get is(){return"ff-searchbutton"}static get properties(){return{for:{type:String}}}constructor(){super(),this._button=void 0}firstUpdated(){var e;this.resetButton(),this.addEventListener("click",(e=this,t=>{if(!e._button)return e.error("No button element initialized.");if(!e._button.contains(t.target))return;if(!e.for)return void e.dispatchEvent(new CustomEvent(o.ButtonClicked,{bubbles:!0}));const i=document.getElementById(e.for);if(!i)return e.error("Could not find ".concat(a.SearchBox.is," with id '").concat(e.for,"'."));i.search()})),super.firstUpdated()}resetButton(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"button";const t=this.querySelector(e);t?this._button=t:this.error("Couldn't find element for selector: ".concat(e))}}window.customElements.define(c.is,c)},4700:function(e,t,i){"use strict";i.r(t),i.d(t,{SimilarProducts:function(){return u}});var r=i(2207),n=i(3940),s=i(961),a=i(4474),o=i(7982);const c=Object.freeze({ProductNumber:"productNumber",Id:"id"});class u extends((0,n.X)([(0,o.d)()],a.jD)){static get is(){return"ff-similar-products"}static get properties(){return{productId:{type:a.ye,attribute:"product-id"},maxResults:{type:Number,attribute:"max-results"},idType:{type:String,attribute:"id-type"}}}constructor(){super(),this.productId=void 0,this.maxResults=void 0,this.idType=void 0}connectedCallback(){super.connectedCallback(),this.hideSelf();const e=this.querySelector(s.RecordList.is);e&&(e.subscribe=!1,e.__isSimilarProducts=!0)}update(e){if(e.has("idType")){const e=Object.values(c);if(!e.includes(this.idType))return void this.warn("idType must be one of [".concat(e.join(", "),"]. Was: ").concat(this.idType,"."))}e.has("productId")&&this.getSimilarProducts(),super.update(e)}getSimilarProducts(){if(!Object.values(c).includes(this.idType))return void this.warn("idType invalid. Not sending request.");if(!this.productId)return void this.debug("No product id for similarProducts specified.");const e={id:this.productId,idType:this.idType};this.maxResults&&(e.maxResults=this.maxResults),r.c.request.similar(e,{origin:this}).then((e=>{const t=e.hits;if(t.length>0){const e=this.querySelector(s.RecordList.is);e?(e.records=t,this.showSelf()):this.hideSelf()}else this.hideSelf()}))}}window.customElements.define(u.is,u)},6637:function(e,t,i){"use strict";i.r(t),i.d(t,{SingleWordSearch:function(){return k}});var r,n=i(168),s=i(9890),a=i(961),o=i(3940),c=i(7982),u=i(4474),l=i(3643),d=i(6041);const p="[data-search='singleWord']";class h extends((0,o.X)([(0,c.d)()],u.jD)){static get is(){return"ff-single-word-search-record"}static get properties(){return{_template:{type:Object,attribute:!1},singleWordResult:{type:Object,attribute:!1}}}render(){return(0,s.dy)(this._template?[this._template.dataTemplate]:[])}constructor(){super(),this._template=void 0,this._handleSingleSearchClick=f(this)}firstUpdated(e){super.firstUpdated(e),this._template&&Object.keys(this._template.attributes).forEach((e=>this.setAttribute(e,this._template.attributes[e])))}updated(e){super.updated(e),e.has("singleWordResult")&&m(this,this.singleWordResult)}connectedCallback(){super.connectedCallback();const e=this.querySelector(a.RecordList.is);e?(e.setAttribute("subscribe","false"),e.innerHTML=e._origHTML):(0,u.np)(this)||this.warn("".concat(a.RecordList.is," not found. Data will not be displayed."))}}const f=e=>()=>{(0,d.hT)(e.singleWordResult.searchParams,e)},m=(e,t)=>{if(e.hideSelf(),!t)return;const i=e.querySelector(p);i&&(i.innerHTML=(0,l.s)(i.innerHTML,t));const r=e.querySelector(a.RecordList.is);r?r.records=t.previewRecords:e.warn("".concat(a.RecordList.is," not found. Data will not be displayed.")),g(e,e._handleSingleSearchClick),b(e,e._handleSingleSearchClick),e.showSelf()},g=(e,t)=>{e.querySelectorAll(p).forEach((e=>e.removeEventListener("click",t)))},b=(e,t)=>{e.querySelectorAll(p).forEach((e=>e.addEventListener("click",t)))};window.customElements.define(h.is,h);var v,y,_=i(6342),S=i(2240);class k extends((0,o.X)([(0,S.D)(S.l.SearchAndNavigation)],u.jD)){static get is(){return"ff-single-word-search"}static get properties(){return{singleWordResults:{type:Array,attribute:!1}}}render(){return!this.singleWordResults||!this.singleWordResults.length>0?(0,s.dy)(v||(v=(0,n.Z)([""]))):(0,s.dy)(y||(y=(0,n.Z)([""," "," ",""])),(0,u.SM)(this._headerTemplate),(0,_.r)(this.singleWordResults,(e=>e.word),(e=>{return t=this._singleWordRecordTemplate,i=e,(0,s.dy)(r||(r=(0,n.Z)([''])),t,i);var t,i})),(0,u.SM)(this._footerTemplate))}constructor(){super(),this._headerTemplate=void 0,this._singleWordRecordTemplate=void 0,this._footerTemplate=void 0,this.singleWordResults=[]}updated(e){super.updated(e),this.updateComplete.then((()=>{Promise.all(Array.from(this.querySelectorAll(h.is)).map((e=>e.updateComplete))).then((()=>{this.dispatchEvent(new CustomEvent("dom-updated",{bubbles:!0,composed:!0}))}))}))}connectedCallback(){super.connectedCallback();const e=this.querySelector(h.is),t=C(e),i=w(e);this._headerTemplate=this._headerTemplate||P(t),this._singleWordRecordTemplate=this._singleWordRecordTemplate||(e=>!e||(0,u.np)(e)?{dataTemplate:"",attributes:{}}:{dataTemplate:e.innerHTML,attributes:Array.prototype.reduce.call(e.attributes,((e,t)=>{let{name:i,value:r}=t;return e[i]=r,e}),{})})(e),this._footerTemplate=this._footerTemplate||P(i)}_subscriptionCallback(e){this.singleWordResults=e.singleWordResults}}const C=e=>{if(!e)return[];const t=[...e.parentNode.childNodes];return t.slice(0,t.indexOf(e))},w=e=>{if(!e)return[];const t=[...e.parentNode.childNodes];return t.slice(t.indexOf(e)+1)},P=e=>{const t=document.createElement("div");return e.forEach((e=>t.appendChild(e))),t.innerHTML};window.customElements.define(k.is,k)},4675:function(e,t,i){"use strict";i.r(t),i.d(t,{Slider:function(){return h}});var r=i(168),n=i(3282),s=i(4474),a=i(6041);const o=e=>Math.round(1e3*e)/1e3;class c extends s.jD{static get properties(){return{selectedMinValue:{type:Number,attribute:"selected-min-value"},selectedMaxValue:{type:Number,attribute:"selected-max-value"},absoluteMaxValue:{type:Number,attribute:"absolute-max-value"},absoluteMinValue:{type:Number,attribute:"absolute-min-value"},step:{type:Number}}}constructor(){super(),this.step=1,this._initialized=!1}update(e){e.has("absoluteMinValue")&&(this.absoluteMinValue=o(Math.floor(this.absoluteMinValue/this.step)*this.step)),e.has("absoluteMaxValue")&&(this.absoluteMaxValue=o(Math.ceil(this.absoluteMaxValue/this.step)*this.step)),e.has("selectedMinValue")&&(this.selectedMinValue=o(Math.floor(this.selectedMinValue/this.step)*this.step)),e.has("selectedMaxValue")&&(this.selectedMaxValue=o(Math.ceil(this.selectedMaxValue/this.step)*this.step)),super.update(e)}updateData(e){!e||this.selectedMaxValue===e.selectedMaxValue&&this.selectedMinValue===e.selectedMinValue||(this.absoluteMaxValue=e.absoluteMaxValue,this.absoluteMinValue=e.absoluteMinValue,this.selectedMaxValue=e.selectedMaxValue,this.selectedMinValue=e.selectedMinValue),function(e,t){if(e._initialized)return;Promise.resolve().then((()=>{const i=(0,a.mZ)(e,"FF-Slider-CONTROL");i&&i.init(t)})),e._initialized=!0}(this,e)}submit(){if(this.selectedMinValue<=this.absoluteMinValue&&this.selectedMaxValue>=this.absoluteMaxValue)this.dispatchEvent(new CustomEvent("_slider-submit",{bubbles:!0,composed:!0}));else{(e=this).selectedMinValue=o(Math.round(e.selectedMinValue/e.step)*e.step),e.selectedMaxValue=o(Math.round(e.selectedMaxValue/e.step)*e.step);const t="[".concat(this.selectedMinValue,",").concat(this.selectedMaxValue,"]");this.dispatchEvent(new CustomEvent("_slider-submit",{detail:t,bubbles:!0,composed:!0}))}var e}}var u,l;const d=Object.freeze({Triangle:".ffw-triangle",LeftButton:".ffw-slider-button-left",RightButton:".ffw-slider-button-right",Line:".ffw-line",SelectedRange:".ffw-selected-range"}),p=Object.freeze({NoTransition:"ffw-no-transition",Active:"ffw-active"});class h extends c{static get is(){return"ff-slider"}static get properties(){return{ratio:{type:Number},oneTouch:{type:Boolean,attribute:"one-touch"}}}constructor(){super(),this.ratio=.5,this.oneTouch=!1,this._listener=void 0}render(){const e=this.querySelector(".ffw-slider-button-left"),t=this.querySelector(".ffw-slider-button-right"),i=this.offsetWidth;let s=i;e&&t&&(s=i-e.offsetWidth-t.offsetWidth);const a=s*this.ratio;return(0,n.dy)(u||(u=(0,r.Z)(['