1import{M as e,_ as t,ct as n,ft as r,lt as i,ut as a}from"./reactivity.esm-bundler-x1_zu9BU.js";import{$ as o,I as s,L as c,P as l,Z as u,c as d,g as f,h as p,l as m,o as h,q as g,r as _,s as v,u as y,v as b,w as ee,x}from"./runtime-core.esm-bundler-C1Mtyx-k.js";import{n as te}from"./fischerPlugin-Dppx8pDF.js";import{I as ne}from"./main-DKmMhoeX.js";import{t as S}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{Et as C,J as w,bt as re,i as T,nt as ie,rt as ae,yt as oe}from"./atoms-DDJxNjhD.js";import{n as E,t as D}from"./ComponentWrapper-CqRS4Wn3.js";import{t as se}from"./breakpoint-Cvwkeu8e.js";import{t as ce}from"./GridContainerFi-DXyimIHU.js";import{t as O}from"./containerPaddings-DOEyLHOF.js";var k=[`draggable`],A=b({__name:`BenefitsNrFi`,props:{draggable:{type:Boolean},dataSourceId:{},placeholderProps:{},box:{}},setup(t){let i=t,o=h(()=>i.box?{left:`calc(${i.box.left*.1}% - (var(--box-width) * 0.5))`,top:`calc(${i.box.top*.1}% - (var(--box-width) * 0.5))`}:void 0),s=i.placeholderProps.benefitsCount[i.dataSourceId]||0,c=h(()=>i.dataSourceId===i.placeholderProps.active||!i.placeholderProps.carousel&&(i.placeholderProps.active===null||i.placeholderProps.active===``)),u=()=>{i.placeholderProps.active===i.dataSourceId?i.placeholderProps.activate(null):i.placeholderProps.activate(i.dataSourceId)};return(t,i)=>(l(),y(`div`,{class:n({"benefits-nr-fi":!0,"benefits-nr-fi--boxed":t.box,"benefits-nr-fi--active":c.value}),style:a(o.value),draggable:t.draggable,onClick:u},r(e(s)),15,k))}}),j={class:`benefits-wrapper-fi`},M=S(b({__name:`BenefitsWrapperFi`,props:{placeholderProps:{},placeholder:{}},setup(t){let n=t.placeholder.dataSource||``;return(t,r)=>(l(),y(`div`,j,[f(A,{class:`fi-mr-18`,"placeholder-props":t.placeholderProps,"data-source-id":e(n)},null,8,[`placeholder-props`,`data-source-id`]),c(t.$slots,`default`,{},void 0,!0)]))}}),[[`__scopeId`,`data-v-d2359f1a`]]),le=b({__name:`BenefitsCarouselWrapperFi`,props:{placeholderProps:{},placeholder:{}},setup(e){let t=e;return(e,n)=>(l(),d(M,i(x(t)),{default:o(()=>[c(e.$slots,`default`)]),_:3},16))}}),ue={class:`fi-relative fi-w-full`},de=[`src`],fe={class:`fi-mb-18 fi-flex`},N=[`innerHTML`],P=[`innerHTML`],F=[`innerHTML`],I={class:`product-benefits-fi__list`},L=[`innerHTML`],R={class:`fi-relative fi-w-full`},z=[`innerHTML`],B=[`innerHTML`],pe={class:`fi-mt-30 fi-flex fi-items-end fi-justify-between`},me={key:3,class:`product-benefits-fi__list`},V=S(b({__name:`ProductBenefitsFi`,props:{placeholders:{default:()=>({})},fields:{default:()=>({})}},setup(i){let a=ee(`sitecoreState`),c=te(),{isSM:b,isMD:x}=se(),S=i,D=a?.rendering?.dataSource?.replace(/[{}]/g,``),k=E.lg-2*O.lg,j=h(()=>S.fields.carousel?.value?1:x.value?8:3),V=h(()=>S.fields.carousel?.value||U.length>10),H=h(()=>{let e=[];for(let t=0;t<U.length;t+=j.value){let n=[];for(let e=t;e<t+j.value&&e<U.length;e++)n.push(U[e]);e.push(n)}return e}),he=(()=>{try{let e=Object.keys(E).map(e=>{let t=e;return{mediaWidth:E[t],imageWidth:E[t]-2*O[t]}});return e.sort((e,t)=>t.mediaWidth-e.mediaWidth),e}catch(e){return console.error(`Could not create breakpoints`,e),[]}})(),U=S.placeholders[`product-benefits`]||[],W=Object.fromEntries(U.filter(e=>e.dataSource).map((e,t)=>[e.dataSource,t+1])),G=t(null),K=null,q=t((e=>{if(!e)return{};let t=Object.entries(e).filter(([e])=>U.some(t=>t.dataSource===e));return Object.fromEntries(t)})(JSON.parse(S.fields.json?.value||`{}`)));U.forEach(e=>{let t=e?.dataSource;t&&!q.value[t]&&(q.value[t]={left:0,top:0})});let J=t(`clean`),ge=async()=>{if(J.value!==`ready`&&J.value!==`error`){console.info(`save json not ready`);return}if(!D){J.value=`error`,console.error(`Could not get id`);return}console.info(`saving json...`),J.value=`busy`;try{let e=new Headers;e.append(`Content-Type`,`application/json`);let t=await fetch(`/sitecore/api/ssc/item/${D}?language=${c.siteLanguage()}`,{method:`PATCH`,body:JSON.stringify({json:JSON.stringify(q.value)}),headers:e});if(t.status!==204)throw Error(`sitecore error ${t.status} ${t}`);J.value=`success`}catch(e){console.error(e),J.value=`error`}},Y=[],_e=e=>{if(!G.value)return console.error(`no image to drop on`),null;let t=0,n=K?W[K]-1:0,r=Y[n];r?t=r.$el.getBoundingClientRect().width/2:console.error(`could not find box`,n,Y,K);let i=G.value.getBoundingClientRect(),a=Math.round(e.pageX-i.left-window.scrollX-t),o=Math.round(e.pageY-i.top-window.scrollY-t),s=Math.round((a+t)/i.width*1e3),c=Math.round((o+t)/i.height*1e3);return J.value=`ready`,{left:s,top:c}},ve=e=>{Z.value.active=e===null?e:String(e)},X=e=>{let t=String(e);K=t,Z.value.active=t},Z=t({startDrag:X,boxes:q.value,active:S.fields.carousel?.value&&!c.app.isEditMode()&&U[0]?.dataSource||``,activate:ve,benefitsCount:W,headline:S.fields.headline,subheadline:S.fields.subheadline,buttonLink:S.fields.buttonLink,carousel:!!S.fields.carousel?.value}),ye=e=>{if(e.preventDefault(),K!==null){let t=_e(e);t&&(q.value[K]=t)}K=null},be=e=>{e.preventDefault()},Q=e=>Math.ceil(W[e]/j.value)-1,$=g(`carousel`),xe=({newSlideIndex:e})=>{S.fields.carousel?.value&&(Z.value.active?e!==Q(Z.value.active)&&(Z.value.active=H.value[e][0].dataSource||null):Z.value.active=H.value[e][0].dataSource||null)};return u(()=>{if(!$.value||!Z.value.active)return;let e=Q(Z.value.active),t=$.value.getIndex();t===e||t===void 0||$.value.go(e)}),(t,i)=>(l(),d(ce,{class:`product-benefits-fi`,container:!1},{default:o(()=>[t.isEditMode?(l(),y(_,{key:0},[v(`div`,{class:n({"product-benefits-fi__image":!0,"product-benefits-fi__image--dark-image":t.fields.darkImage?.value})}
1,[v(`div`,ue,[v(`img`,{ref_key:`img`,ref:G,src:t.fields.image?.value?.src,class:`fi-w-full`,onDrop:ye,onDragover:be},null,40,de),(l(!0),y(_,null,s(q.value,(e,n)=>(l(),d(A,{key:n,ref_for:!0,ref:`editorBoxes`,draggable:t.isEditMode,"placeholder-props":Z.value,"data-source-id":n,box:e,onDragstart:e=>X(n)},null,8,[`draggable`,`placeholder-props`,`data-source-id`,`box`,`onDragstart`]))),128))])],2),v(`div`,{class:n({"product-benefits-fi__texts":!0,"product-benefits-fi__texts--dark-image":t.fields.darkImage?.value})},[v(`div`,fe,[i[0]||=v(`div`,{class:`fi-mr-9`},`edit image:`,-1),v(`div`,{class:`product-benefits-fi__editable-image`,innerHTML:t.fields?.image?.editable},null,8,N)]),J.value===`clean`?m(``,!0):(l(),d(e(ae),{key:0,class:`fi-mb-24`,loading:J.value===`busy`},{default:o(()=>[f(e(C),{class:`button-fi__primary !fi-bg-warn`,onClick:ge},{default:o(()=>[i[1]||=p(` save positions `,-1),[`error`,`success`].includes(J.value)?(l(),d(e(ne),{key:0,icon:J.value===`error`?`alert-triangle`:`check`},null,8,[`icon`])):m(``,!0)]),_:1,__:[1]})]),_:1},8,[`loading`])),v(`div`,{class:`product-benefits-fi__headline`,innerHTML:t.fields?.headline?.editable},null,8,P),v(`div`,{class:`product-benefits-fi__subheadline`,innerHTML:t.fields?.subheadline?.editable},null,8,F),v(`div`,I,[f(e(w),{placeholder:e(U),"placeholder-props":Z.value,"wrapper-component":M},null,8,[`placeholder`,`placeholder-props`])]),v(`div`,{class:`product-benefits-fi__editable-button button-fi__primary fi-mr-auto fi-mt-42`,innerHTML:t.fields?.buttonLink?.editable},null,8,L)],2)],64)):(l(),y(_,{key:1},[v(`div`,{class:n({"product-benefits-fi__image":!0,"product-benefits-fi__image--dark-image":t.fields.darkImage?.value})},[v(`div`,R,[f(e(ie),{field:t.fields.image,breakpoints:e(he),unlimited:k,class:`image-fi__img`},null,8,[`field`,`breakpoints`]),(l(!0),y(_,null,s(q.value,(e,t)=>(l(),d(A,{key:t,box:e,"data-source-id":t,"placeholder-props":Z.value},null,8,[`box`,`data-source-id`,`placeholder-props`]))),128))])],2),v(`div`,{class:n({"product-benefits-fi__texts":!0,"product-benefits-fi__texts--dark-image":t.fields.darkImage?.value})},[t.fields?.headline?.value?(l(),y(`div`,{key:0,class:`product-benefits-fi__headline`,innerHTML:t.fields.headline.value},null,8,z)):m(``,!0),t.fields?.subheadline?.value?(l(),y(`div`,{key:1,class:`product-benefits-fi__subheadline`,innerHTML:t.fields.subheadline.value},null,8,B)):m(``,!0),V.value?(l(),d(e(oe),{key:2,ref_key:`carousel`,ref:$,class:`product-benefits-fi__carousel carousel-fi--full-height carousel-fi--pagination-start`,settings:{gap:12},"no-arrows":``,onAfterChange:xe},{footer:o(()=>[v(`div`,pe,[Z.value.buttonLink?.value?.text?(l(),d(e(C),{key:0,class:n({"button-fi__primary button-fi--fi-mt-42":!0,"button-fi--stretched":!e(b)}),href:Z.value.buttonLink.value.href,target:Z.value.buttonLink.value.target},{default:o(()=>[p(r(Z.value.buttonLink.value.text),1)]),_:1},8,[`class`,`href`,`target`])):m(``,!0),e(b)?(l(),d(e(T),{key:1,carousel:$.value,dark:t.fields.darkImage?.value},null,8,[`carousel`,`dark`])):m(``,!0)])]),default:o(()=>[(l(!0),y(_,null,s(H.value,(t,n)=>(l(),d(e(re),{key:`${n}_${H.value.length}`,theme:`benefits-slider`},{default:o(()=>[f(e(w),{placeholder:t,"placeholder-props":Z.value,"wrapper-component":le},null,8,[`placeholder`,`placeholder-props`])]),_:2},1024))),128))]),_:1},512)):(l(),y(`div`,me,[f(e(w),{placeholder:e(U),"placeholder-props":Z.value,"wrapper-component":M},null,8,[`placeholder`,`placeholder-props`]),v(`div`,null,[t.fields.buttonLink?.value?.text?(l(),d(e(C),{key:0,class:n({"button-fi__primary button-fi--fi-mt-42":!0,"button-fi--stretched":!e(b)}),href:t.fields.buttonLink.value.href,target:t.fields.buttonLink.value.target},{default:o(()=>[p(r(t.fields.buttonLink.value.text),1)]),_:1},8,[`class`,`href`,`target`])):m(``,!0)])]))],2)],64))]),_:1}))}}),[[`__scopeId`,`data-v-5c3ce3da`]]),H=S(b({__name:`ProductBenefitsPageFi`,props:{fields:{},placeholders:{},reloadEditorOnAdd:{type:Function}},setup(e){let t=e;t.reloadEditorOnAdd?.();let n=h(()=>t.placeholders);return(e,r)=>(l(),d(D,{class:`product-benefits-page-fi`},{default:o(()=>[f(V,{fields:t.fields,placeholders:n.value},null,8,[`fields`,`placeholders`])]),_:1}))}}),[[`__scopeId`,`data-v-a5467467`]]);export{H as default};
2//# sourceMappingURL=ProductBenefitsPageFi-DJdX9AnP.js.map
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.