1import{u as T,a as D,m as R,i as u,S as k,b as S,X as b}from"./ClPAakTD.js";import{d as P,aY as A,B as F,aZ as M,S as v,au as N,c as U,o as H,h as O,k as L,l as c,a7 as V,aU as W,_ as q}from"./Cdma0c0o.js";import"./CIh6B0C5.js";import"./C_OorAHm.js";import"./eAdA6b1j.js";import"./CW0BYo67.js";import"./Cm00delk.js";import"./I-9_TdlR.js";import"./l1OykVI3.js";import"./CbrFAXTm.js";import"./uMSCLa-o.js";import"./Ccf9vHAt.js";import"./D5B1-F8b.js";import"./CdBxpRen.js";import"./CK94_uCC.js";import"./BQbzEFue.js";import"./DsmDtB5O.js";import"./DntuBArC.js";import"./BdV0ukCs.js";import"./D5n05oMU.js";import"./9DsBMKOX.js";import"./DkDkP1wG.js";import"./DY8YOfS1.js";import"./DhRZ4Eup.js";import"./Cm3AJC0f.js";import"./BY0WtG4B.js";import"./hDMYBjhG.js";import"./1pidwK5w.js";import"./DiXHFfeS.js";import"./DI8gqP7R.js";import"./C7cbQA_5.js";import"./0qrJZdqr.js";const Y={class:"easy-collage-svg-preview"},X=["innerHTML"],$="/web/fonts/raw/canvas",j=1280,z=85,G=P({__name:"EasyCollageSvgPreview",props:{backgroundColor:{},canvas:{},fonts:{},slotColorsById:{},slotImagesById:{},targetDimension:{},textsById:{}},emits:["overflow"],setup(e,{emit:f}){const p=f,h=t=>`data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="1" height="1"><rect width="1" height="1" fill="${t}"/></svg>`)}`,y=A(),I=t=>Math.round(j*Math.min(1,t/e.canvas.width)),w=c(()=>[...e.canvas.slots.flatMap(t=>{const a=e.slotImagesById[t.id]?.src;return a?[{idExternal:u(t.id),src:y(a,{fit:"scale-down",quality:z,width:I(t.width)})}]:[]}),...Object.entries(e.slotColorsById).map(([t,a])=>({idExternal:u(Number(t)),src:h(a)}))]),{fittedCanvas:l,renderSize:m}=T(()=>({canvas:e.canvas,slotColorsById:e.slotColorsById,slotImagesById:e.slotImagesById,targetDimension:e.targetDimension,textsById:e.textsById})),d=c(()=>{const t=l.value,a=t.slotsData.map((o,B)=>{const s=e.slotImagesById[e.canvas.slots[B]?.id];if(!o.image||!s)return o;const g=D(o,{hasTransparency:!1,height:s.height,idExternal:o.image.idExternal,imageEntityId:s.imageEntityId,sourceType:k,src:s.src,width:s.width},s.focusPoint??null,!1);return{...o,image:s.crop?{...g,...s.crop}:g}});return R({...t,backgroundColor:e.backgroundColor,clipTextToBox:!0,fonts:e.fonts,height:m.value.height,images:w.value,slotsData:a,width:m.value.width})}),r=F("stage"),C=async()=>{if(!r.value)return;const t=await b(r.value,l.value.textsData);p("overflow",t.map(Number))},i=V(""),{getSSRSafeApiUrl:E}=M(),x=c(()=>[...new Set(e.canvas.texts.flatMap(t=>t.style?.fontFamily?[t.style.fontFamily]:[]))]);let n=0;return v(x,async t=>{n+=1;const a=n;if(!t.length){i.value="";return}const o=await S(t,E($));a===n&&(i.value=o)},{immediate:!0}),N({style:[()=>i.value]}),v([d,i],async()=>{await W(),await C()},{immediate:!0}),(t,a)=>(H(),U("div",Y,[O("div",{ref_key:"stage",ref:r,class:"easy-collage-svg-preview__stage",innerHTML:L(d)},null,8,X)]))}}),Rt=q(G,[["__scopeId","data-v-f6cf8dc8"]]);export{Rt 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.