1import{_ as M}from"./DsREJ9PE.js";import R from"./CoF4RYIx.js";import{Q as V,c as C,a as B}from"./CjvMFcA_.js";import{u as P}from"./DRM4_NvB.js";import{D as q}from"./DLpWEnbD.js";import{X as G,u as j,c as g,x as m,E as Q,a4 as W,y as J,J as X,b as s,d as f,e as i,o as r,F as w,r as y,f as c,k as Y,T as Z,A as K,g as O,t as k}from"#entry";import"./BjG08TLT.js";import"./B0j9oPnd.js";import"./5X9PRNeR.js";import"./DT3pA5ti.js";import"./nBx1Eet5.js";import"./9Vs1RS5Z.js";import"./B8N4gG51.js";import"./Dsj8IbqZ.js";import"./Dh8kheJ-.js";import"./C3PkVKXc.js";import"./DH4nZI0u.js";const tt={key:0,class:"tiptap-electronic-catalog"},et=["data-card-id"],nt={class:"tiptap-electronic-catalog__card-container"},ot={class:"tiptap-electronic-catalog__image-container image-invert-wrapper"},it={class:"tiptap-electronic-catalog__content"},at={class:"tiptap-electronic-catalog__text-content"},rt={key:0,class:"tiptap-electronic-catalog__description"},st=["onClick"],ct=["href","target","rel"],S="cover",Tt=G({__name:"TipTapElectronicCatalog",props:{node:{}},setup(x){const E=["cover","content"],T=x,{t:I}=j(),L=g(()=>{if(!a.value)return 6;const t=window.innerWidth;return t<=480?16:t<=991?8:6}),{getLinkProps:h}=P(),a=m(!1),v=()=>{a.value&&_()};Q(()=>{a.value=!0,window.addEventListener("resize",v),_(),setTimeout(()=>_(),100)}),W(()=>{window.removeEventListener("resize",v)});const N=g(()=>T.node.attrs?.catalog?.cards||[]),p=g(()=>N.value.map(t=>{const e=t.fit??S,n=E.includes(e)?e:S;return{...t,fit:n}}));J(p,()=>{a.value&&_()},{deep:!0});const u=m(new Set),d=m(new Set),A=t=>({objectFit:t.fit==="content"?"contain":"cover"}),b=t=>{if(!t.content?.content)return"";const e=t.content.content.find(n=>n.type==="heading");return e?.content?e.content.filter(n=>n.type==="text").map(n=>n.text).join(""):""},F=t=>t.linkTitle?.trim()||String(I("ui.goToCatalog")),D=t=>{const e=parseFloat(getComputedStyle(t).lineHeight);if(!Number.isNaN(e)&&e>0)return e;const n=parseFloat(getComputedStyle(t).fontSize);return(Number.isNaN(n)?16:n)*1.2},U=t=>{const e=D(t);return e<=0?0:Math.round(t.scrollHeight/e)},_=()=>{a.value&&(d.value=new Set,X(()=>{const t=new Set;p.value.forEach(e=>{const n=document.querySelector(`[data-card-id="${e.id}"] .tiptap-electronic-catalog__text-inner`);n&&U(n)>L.value&&t.add(e.id)}),d.value=t}))},z=(t,e)=>{e.stopPropagation();const n=new Set(u.value);n.has(t)?n.delete(t):n.add(t),u.value=n};return(t,e)=>{const n=M,H=R;return i(p).length>0?(r(),s("div",tt,[(r(!0),s(w,null,y(i(p),o=>(r(),s("div",{key:o.id,"data-card-id":o.id,class:"tiptap-electronic-catalog__card"},[c("div",nt,[c("div",ot,[Y(n,{src:o.imageUrl?i(B)(o.imageUrl):i(q),alt:b(o)||t.$t("ui.cardImageAlt"),width:i(C).width,height:i(C).height,style:Z(A(o)),class:"tiptap-electronic-catalog__image-content",fit:o.fit==="content"?"contain":"cover",quality:i(V),loading:"eager",format:"webp",decoding:"async"},null,8,["src","alt","width","height","style","fit","quality"])]),c("div",it,[c("div",at,[c("div",{class:K(["tiptap-electronic-catalog__text-inner",{"tiptap-electronic-catalog__text-inner--clamped":i(a)&&i(d).has(o.id)&&!i(u).has(o.id)}])},[o.content&&o.content.content&&o.content.content.length>0?(r(),s("div",rt,[(r(!0),s(w,null,y(o.content.content,(l,$)=>(r(),O(H,{key:$,node:l},null,8,["node"]))),128))])):f("",!0)],2),i(a)&&i(d).has(o.id)?(r(),s("button",{key:0,class:"tiptap-electronic-catalog__expand-button",onClick:l=>z(o.id,l)},k(i(u).has(o.id)?t.$t("ui.collapse"):t.$t("ui.more")),9,st)):f("",!0)]),c("a",{href:o.pageUrl,class:"tiptap-electronic-catalog__button constructor-button constructor-button--size-xl constructor-button--primary-full",target:i(h)(o.pageUrl).target,rel:i(h)(o.pageUrl).rel,onClick:e[0]||(e[0]=l=>l.stopPropagation())},k(F(o)),9,ct)])])],8,et))),128))])):f("",!0)}}});export{Tt 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.