1import{_ as Z}from"./D6mRZqG8.js";import{ah as G,X as ee,aM as te,Y as K,aa as d,a3 as b,aH as F,aR as N,aS as O,ac as M,a2 as c,a5 as v,bk as C,b0 as L,aJ as T,aY as J,a8 as I,i as W,aC as le,b3 as ae,ap as se,bf as Q,a9 as j,av as X,a4 as E,aQ as oe,aw as q,bT as ce,aV as ne}from"./gtL6pf2-.js";import{a as D}from"./yrvxvcJ6.js";import{b as ue}from"./CmpFLWgZ.js";import{u as de}from"./DIuEaS-r.js";import"./HePYngiv.js";import"./BxY3FqLP.js";import"./BiRwdywk.js";const ie={class:"product-compare-html-table"},re={key:0},pe={class:"product-compare-html-table-header-row"},me=["data-cslp"],be={class:"product-compare-html-table-header-inner"},_e=["data-cslp"],ve={key:1},he=["data-cslp"],fe=["data-cslp"],ke=["data-cslp"],ye={__name:"ProductCompareHtmlTable",props:J({cslp:{type:Object,default:()=>({})}},{modelValue:{type:Object},modelModifiers:{}}),emits:J(["update"],["update:modelValue"]),setup(p,{emit:H}){const{t:P}=ee(),i=te(p,"modelValue"),B=p,U=H,y=K(),n=I(()=>(y.fullPath,W())),w=k=>C(k?.groupCslp)||D(B.cslp,"compare_items",k?.compareIndex),V=(k,a,r)=>{const $=i.value?.tableHeader?.[r];return C(k?.$)||D($?.$,"items",a)},R=(k,a)=>{U("update",{event:k,index:a})};return(k,a)=>{const r=Z,$=le,A=ae;return d(),b("table",ie,[i.value&&i.value.tableHeader?(d(),b("thead",re,[F("tr",pe,[(d(!0),b(N,null,O(i.value.tableHeader,(o,e)=>(d(),b("th",{key:`product-compare-html-table-header-${i.value.id}-${o.uid}-${e}`,class:"product-compare-html-table-header","data-cslp":w(o)},[o.options&&i.value.displaySelects?(d(),M(r,{key:0,id:`compare-product-select-${i.value.id}-${o.uid}-${e}`,name:`compare-product-select-${i.value.id}-${o.uid}-${e}`,label:c(P)("blocks.productCompareTable.productCompareInput",{number:e+1}),"hide-label":!0,options:o.options,"model-value":o.uid,onInput:t=>R(t,e)},null,8,["id","name","label","options","model-value","onInput"])):v("",!0),F("div",be,[!o.hideTitle&&(o.title||c(n))?(d(),b("h3",{key:0,class:L({"is-editable-empty":c(n)&&!o.title}),"data-cslp":c(C)(o.$?.title)},T(o.title),11,_e)):v("",!0),!o.hideButton&&o.buttonLabel&&o.buttonLink?(d(),M($,{key:1,size:"sm","link-path":o.buttonLink,"button-title":o.buttonAriaLabel,text:o.buttonLabel,"data-cslp":c(C)(o.$?.button_label)},null,8,["link-path","button-title","text","data-cslp"])):v("",!0)])],8,me))),128))])])):v("",!0),i.value&&i.value.tableRows?(d(),b("tbody",ve,[(d(!0),b(N,null,O(i.value.tableRows,(o,e)=>(d(),b("tr",{key:`product-compare-html-table-row-${i.value.id}-${e}`,class:"product-compare-html-table-row"},[(d(!0),b(N,null,O(o,(t,s)=>(d(),b("td",{key:`product-compare-html-table-row-${i.value.id}-${e}-division-${s}`,class:"product-compare-html-table-division","data-cslp":V(t,e,s)},[t&&t.icon&&t.icon.url?(d(),M(A,{key:0,"icon-src":t.icon.url,size:"xl",class:"icon"},null,8,["icon-src"])):v("",!0),t&&(t.headline||c(n))?(d(),b("h4",{key:1,class:"product-compare-html-table-division-headline","data-cslp":c(C)(t.$?.headline)},T(t.headline),9,fe)):v("",!0),t&&(t.description||c(n))?(d(),b("p",{key:2,class:L(["paragraph-md paragraph-bold product-compare-html-table-division-description",{"is-editable-empty":c(n)&&!t.description}]),"data-cslp":c(C)(t.$?.description)},T(t.description),11,ke)):v("",!0)],8,he))),128))]))),128))])):v("",!0)])}}},Ve=G(ye,[["__scopeId","data-v-ebc6871a"]]),we={key:0,class:"product-compare-table-heading"},ge=["data-cslp"],Re=["data-cslp"],$e=["data-cslp","innerHTML"],g=2,z=3,Ce={__name:"ProductCompareTable",props:{heading:{type:String,default:""},description:{type:String,default:""},compareItems:{type:Array,default:()=>[]},disclaimer:{type:String,default:""},anchorLink:{type:String,default:""},...ue},setup(p){const H=p,{blockCslp:P,fieldCslp:i}=ce(()=>H.cslp,()=>H.blockType),B=j(null);de(B);const U=K(),y=I(()=>(U.fullPath,W())),{compareItems:n}=se(H),w=I(()=>n.value.map(e=>({value:e.uid,label:e.title}))),V=I(()=>n.value.map(e=>({...e,options:w.value,selected:e.uid}))),R=I(()=>n.value[0]?.items.length||0),k=e=>I(()=>Array.from({length:R.value}).map((t,s)=>e.map(_=>n.value.find(l=>l.uid===_)?.items[s]||null))),a=Q({id:"desktop",displaySelects:n.value.length>z,selectedValues:n.value.slice(0,z).map(e=>e.uid),tableHeader:V.value.slice(0,z),tableRows:j(k(n.value.slice(0,z).map(e=>e.uid)))}),r=Q({id:"mobile",displaySelects:n.value.length>g,selectedValues:n.value.slice(0,g).map(e=>e.uid),tableHeader:V.value.slice(0,g),tableRows:j(k(n.value.slice(0,g).map(e=>e.uid)))}),$=({event:e,index:t,compareData:s})=>{const _=e.target.value;if(s.selectedValues[t]===_)return;const m=s.selectedValues.indexOf(_),l=w.value.findIndex(u=>u.value===_);if(l!==-1){if(m!==-1&&m!==t){const u=w.value.find(h=>!s.selectedValues.includes(h.value)&&h.value!==_);if(u){const h=w.value.findIndex(f=>f.value===u.value);s.selectedValues[m]=u.value,s.tableHeader[m]=V.value[h];for(let f=0;f<R.value;f++){const x=n.value.find(S=>S.uid===u.value);s.tableRows[f][m]=x?.items[f]||null}}}s.selectedValues[t]=_,s.tableHeader[t]=V.value[l];for(let u=0;u<R.value;u++){const h=n.value.find(f=>f.uid===_);
1s.tableRows[u][t]=h?.items[u]||null}}},A=({event:e,index:t})=>{$({event:e,index:t,compareData:a}),r.selectedValues=a.selectedValues.slice(0,g),r.tableHeader=a.tableHeader.slice(0,g),r.tableRows.length=0,a.tableRows.forEach(s=>{r.tableRows.push(s.slice(0,g))})},o=({event:e,index:t})=>{$({event:e,index:t,compareData:r});const[s,_]=r.selectedValues;a.selectedValues=[s,_],a.tableHeader[0]=r.tableHeader[0],a.tableHeader[1]=r.tableHeader[1];let m=a.selectedValues[2];if(!m||m===s||m===_){const l=w.value.find(u=>u.value!==s&&u.value!==_);if(l){m=l.value,a.selectedValues[2]=m;const u=V.value.findIndex(h=>h.uid===m);a.tableHeader[2]=V.value[u]}}for(let l=0;l<R.value;l++){a.tableRows[l]||(a.tableRows[l]=[]),a.tableRows[l][0]=r.tableRows[l][0],a.tableRows[l][1]=r.tableRows[l][1];const u=n.value.find(x=>x.uid===m)?.items[l]||null,h=a.tableRows[l][0],f=a.tableRows[l][1];if(u!==h&&u!==f)a.tableRows[l][2]=u;else{const x=n.value.find(S=>{const Y=S.items[l];return S.uid!==s&&S.uid!==_&&Y!==h&&Y!==f});a.tableRows[l][2]=x?.items[l]||null}}};return(e,t)=>{const s=Ve,_=oe,m=ne;return d(),M(m,{spacing:"","anchor-link":p.anchorLink,"data-cslp":c(P)},{default:X(()=>[E(_,{class:"product-compare-table-container"},{default:X(()=>[p.heading||p.description||c(y)?(d(),b("div",we,[p.heading||c(y)?(d(),b("h2",{key:0,class:L({"is-editable-empty":c(y)&&!p.heading}),"data-cslp":c(i).headline},T(p.heading),11,ge)):v("",!0),p.description||c(y)?(d(),b("p",{key:1,class:L({"is-editable-empty":c(y)&&!p.description}),"data-cslp":c(i).description},T(p.description),11,Re)):v("",!0)])):v("",!0),E(s,{modelValue:c(a),"onUpdate:modelValue":t[0]||(t[0]=l=>q(a)?a.value=l:null),class:"product-compare-desktop-html-table",cslp:e.cslp,onUpdate:A},null,8,["modelValue","cslp"]),E(s,{modelValue:c(r),"onUpdate:modelValue":t[1]||(t[1]=l=>q(r)?r.value=l:null),class:"product-compare-mobile-html-table",cslp:e.cslp,onUpdate:o},null,8,["modelValue","cslp"]),p.disclaimer||c(y)?(d(),b("div",{key:1,ref_key:"disclaimerRoot",ref:B,class:L(["paragraph-xs disclaimer-paragraph",{"is-editable-empty":c(y)&&!p.disclaimer}]),"data-cslp":c(i).disclaimer,innerHTML:p.disclaimer},null,10,$e)):v("",!0)]),_:1})]),_:1},8,["anchor-link","data-cslp"])}}},Me=G(Ce,[["__scopeId","data-v-91413c7f"]]);export{Me as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.