import{b1 as M,aN as U,T as $,U as z,b2 as C,b3 as I,b4 as H,K as E,z as D,B as v,e as F,b5 as T,m as W,p as G,c as J,r as Q,o as O,b6 as N,h as q,b7 as k,k as V,b8 as X}from"./yzumqs9c.js";async function Y(e,t){return await Z(t).catch(r=>(console.error("Failed to get image meta for "+t,r+""),{width:0,height:0,ratio:0}))}async function Z(e){if(typeof Image>"u")throw new TypeError("Image not supported");return new Promise((t,i)=>{const r=new Image;r.onload=()=>{const s={width:r.width,height:r.height,ratio:r.width/r.height};t(s)},r.onerror=s=>i(s),r.src=e})}function j(e){return t=>t?e[t]||t:e.missingValue}function K({formatter:e,keyMap:t,joinWith:i="/",valueMap:r}={}){e||(e=(n,o)=>`${n}=${o}`),t&&typeof t!="function"&&(t=j(t));const s=r||{};return Object.keys(s).forEach(n=>{typeof s[n]!="function"&&(s[n]=j(s[n]))}),(n={})=>Object.entries(n).filter(([d,c])=>typeof c<"u").map(([d,c])=>{const l=s[d];return typeof l=="function"&&(c=l(n[d])),d=typeof t=="function"?t(d):d,e(d,c)}).join(i)}function y(e=""){if(typeof e=="number")return e;if(typeof e=="string"&&e.replace("px","").match(/^\d+$/g))return Number.parseInt(e,10)}function ee(e=""){if(e===void 0||!e.length)return[];const t=new Set;for(const i of e.split(" ")){const r=Number.parseInt(i.replace("x",""));r&&t.add(r)}return Array.from(t)}function te(e){if(e.length===0)throw new Error("`densities` must not be empty, configure to `1` to render regular size only (DPR 1.0)")}function re(e){const t={};if(typeof e=="string")for(const i of e.split(/[\s,]+/).filter(r=>r)){const r=i.split(":");r.length!==2?t["1px"]=r[0].trim():t[r[0].trim()]=r[1].trim()}else Object.assign(t,e);return t}function ie(e){const t={options:e},i=(s,n={})=>B(t,s,n),r=(s,n={},o={})=>i(s,{...o,modifiers:M(n,o.modifiers||{})}).url;for(const s in e.presets)r[s]=(n,o,d)=>r(n,o,{...e.presets[s],...d});return r.options=e,r.getImage=i,r.getMeta=(s,n)=>se(t,s,n),r.getSizes=(s,n)=>ae(t,s,n),t.$img=r,r}async function se(e,t,i){const r=B(e,t,{...i});return typeof r.getMeta=="function"?await r.getMeta():await Y(e,r.url)}function B(e,t,i){var l,u;if(t&&typeof t!="string")throw new TypeError(`input must be a string (received ${typeof t}: ${JSON.stringify(t)})`);if(!t||t.startsWith("data:"))return{url:t};const{provider:r,defaults:s}=ne(e,i.provider||e.options.provider),n=oe(e,i.preset);if(t=$(t)?t:U(t),!r.supportsAlias){for(const h in e.options.alias)if(t.startsWith(h)){const m=e.options.alias[h];m&&(t=z(m,t.slice(h.length)))}}if(r.validateDomains&&$(t)){const h=C(t).host;if(!e.options.domains.find(m=>m===h))return{url:t}}const o=M(i,n,s);o.modifiers={...o.modifiers};const d=o.modifiers.format;(l=o.modifiers)!=null&&l.width&&(o.modifiers.width=y(o.modifiers.width)),(u=o.modifiers)!=null&&u.height&&(o.modifiers.height=y(o.modifiers.height));const c=r.getImage(t,o,e);return c.format=c.format||d||"",c}function ne(e,t){const i=e.options.providers[t];if(!i)throw new Error("Unknown provider: "+t);return i}function oe(e,t){if(!t)return{};if(!e.options.presets[t])throw new Error("Unknown preset: "+t);return e.options.presets[t]}function ae(e,t,i){var b,x,_,a,f;const r=y((b=i.modifiers)==null?void 0:b.width),s=y((x=i.modifiers)==null?void 0:x.height),n=re(i.sizes),o=(_=i.densities)!=null&&_.trim()?ee(i.densities.trim()):e.options.densities;te(o);const d=r&&s?s/r:0,c=[],l=[];if(Object.keys(n).length>=1){for(const g in n){const p=A(g,String(n[g]),s,d,e);if(p!==void 0){c.push({size:p.size,screenMaxWidth:p.screenMaxWidth,media:`(max-width: ${p.screenMaxWidth}px)`});for(const w of o)l.push({width:p._cWidth*w,src:P(e,t,i,p,w)})}}de(c)}else for(const g of o){const p=Object.keys(n)[0];let w=p?A(p,String(n[p]),s,d,e):void 0;w===void 0&&(w={size:"",screenMaxWidth:0,_cWidth:(a=i.modifiers)==null?void 0:a.width,_cHeight:(f=i.modifiers)==null?void 0:f.height}),l.push({width:g,src:P(e,t,i,w,g)})}ce(l);const u=l[l.length-1],h=c.length?c.map(g=>`${g.media?g.media+" ":""}${g.size}`).join(", "):void 0,m=h?"w":"x",S=l.map(g=>`${g.src} ${g.width}${m}`).join(", ");return{sizes:h,srcset:S,src:u==null?void 0:u.src}}function A(e,t,i,r,s){const n=s.options.screens&&s.options.screens[e]||Number.parseInt(e),o=t.endsWith("vw");if(!o&&/^\d+$/.test(t)&&(t=t+"px"),!o&&!t.endsWith("px"))return;let d=Number.parseInt(t);if(!n||!d)return;o&&(d=Math.round(d/100*n));const c=r?Math.round(d*r):i;return{size:t,screenMaxWidth:n,_cWidth:d,_cHeight:c}}function P(e,t,i,r,s){return e.$img(t,{...i.modifiers,width:r._cWidth?r._cWidth*s:void 0,height:r._cHeight?r._cHeight*s:void 0},i)}function de(e){var i;e.sort((r,s)=>r.screenMaxWidth-s.screenMaxWidth);let t=null;for(let r=e.length-1;r>=0;r--){const s=e[r];s.media===t&&e.splice(r,1),t=s.media}for(let r=0;ri.width-r.width);let t=null;for(let i=e.length-1;i>=0;i--){const r=e[i];r.width===t&&e.splice(i,1),t=r.width}}const le=K({keyMap:{format:"f",fit:"fit",width:"w",height:"h",resize:"s",quality:"q",background:"b"},joinWith:"&",formatter:(e,t)=>I(e)+"_"+I(t)}),ue=(e,{modifiers:t={},baseURL:i}={},r)=>{t.width&&t.height&&(t.resize=`${t.width}x${t.height}`,delete t.width,delete t.height);const s=le(t)||"_";return i||(i=z(r.options.nuxt.baseURL,"/_ipx")),{url:z(i,s,H(e))}},fe=!0,ge=!0,he=Object.freeze(Object.defineProperty({__proto__:null,getImage:ue,supportsAlias:ge,validateDomains:fe},Symbol.toStringTag,{value:"Module"})),R={screens:{xs:320,sm:640,md:768,lg:1024,xl:1280,xxl:1536,"2xl":1536},presets:{},provider:"ipx",domains:[],alias:{},densities:[1,2],format:["webp"]};R.providers={ipx:{provider:he,defaults:{}}};const L=()=>{const e=D(),t=E();return t.$img||t._img||(t._img=ie({...R,nuxt:{baseURL:e.app.baseURL},runtimeConfig:e}))};function me(e){var t;(t=performance==null?void 0:performance.mark)==null||t.call(performance,"mark_feature_usage",{detail:{feature:e}})}const pe={src:{type:String,required:!1},format:{type:String,required:!1},quality:{type:[Number,String],required:!1},background:{type:String,required:!1},fit:{type:String,required:!1},modifiers:{type:Object,required:!1},preset:{type:String,required:!1},provider:{type:String,required:!1},sizes:{type:[Object,String],required:!1},densities:{type:String,required:!1},preload:{type:[Boolean,Object],required:!1},width:{type:[String,Number],required:!1},height:{type:[String,Number],required:!1},alt:{type:String,required:!1},referrerpolicy:{type:String,required:!1},usemap:{type:String,required:!1},longdesc:{type:String,required:!1},ismap:{type:Boolean,required:!1},loading:{type:String,required:!1,validator:e=>["lazy","eager"].includes(e)},crossorigin:{type:[Boolean,String],required:!1,validator:e=>["anonymous","use-credentials","",!0,!1].includes(e)},decoding:{type:String,required:!1,validator:e=>["async","auto","sync"].includes(e)},nonce:{type:[String],required:!1}},ye=e=>{const t=v(()=>({provider:e.provider,preset:e.preset})),i=v(()=>({width:y(e.width),height:y(e.height),alt:e.alt,referrerpolicy:e.referrerpolicy,usemap:e.usemap,longdesc:e.longdesc,ismap:e.ismap,crossorigin:e.crossorigin===!0?"anonymous":e.crossorigin||void 0,loading:e.loading,decoding:e.decoding,nonce:e.nonce})),r=L(),s=v(()=>({...e.modifiers,width:y(e.width),height:y(e.height),format:e.format,quality:e.quality||r.options.quality,background:e.background,fit:e.fit}));return{options:t,attrs:i,modifiers:s}},ve={...pe,placeholder:{type:[Boolean,String,Number,Array],required:!1},placeholderClass:{type:String,required:!1},custom:{type:Boolean,required:!1}},we=["src"],Se=F({__name:"NuxtImg",props:ve,emits:["load","error"],setup(e,{emit:t}){const i=e,r=T(),s=t,n=!1,o=L(),d=ye(i),c=W(!1),l=W(),u=v(()=>o.getSizes(i.src,{...d.options.value,sizes:i.sizes,densities:i.densities,modifiers:{...d.modifiers.value,width:y(i.width),height:y(i.height)}})),h=v(()=>{const a={...d.attrs.value,"data-nuxt-img":""};return(!i.placeholder||c.value)&&(a.sizes=u.value.sizes,a.srcset=u.value.srcset),a}),m=v(()=>{let a=i.placeholder;if(a===""&&(a=!0),!a||c.value)return!1;if(typeof a=="string")return a;const f=Array.isArray(a)?a:typeof a=="number"?[a,a]:[10,10];return o(i.src,{...d.modifiers.value,width:f[0],height:f[1],quality:f[2]||50,blur:f[3]||3},d.options.value)}),S=v(()=>i.sizes?u.value.src:o(i.src,d.modifiers.value,d.options.value)),b=v(()=>m.value?m.value:S.value),_=E().isHydrating;return G(()=>{if(m.value||i.custom){const a=new Image;S.value&&(a.src=S.value),i.sizes&&(a.sizes=u.value.sizes||"",a.srcset=u.value.srcset),a.onload=f=>{c.value=!0,s("load",f)},a.onerror=f=>{s("error",f)},me("nuxt-image");return}l.value&&(l.value.complete&&_&&(l.value.getAttribute("data-error")?s("error",new Event("error")):s("load",new Event("load"))),l.value.onload=a=>{s("load",a)},l.value.onerror=a=>{s("error",a)})}),(a,f)=>a.custom?Q(a.$slots,"default",k(N({key:1},{...q(n)?{onerror:"this.setAttribute('data-error', 1)"}:{},imgAttrs:{...h.value,...q(r)},isLoaded:c.value,src:b.value}))):(O(),J("img",N({key:0,ref_key:"imgEl",ref:l,class:i.placeholder&&!c.value?i.placeholderClass:void 0},{...q(n)?{onerror:"this.setAttribute('data-error', 1)"}:{},...h.value,...q(r)},{src:b.value}),null,16,we))}}),_e={__name:"Image",props:{src:{type:String,default:void 0},alt:{type:String,default:void 0},width:{type:[String,Number],default:void 0},height:{type:[String,Number],default:void 0},sizes:{type:String,default:"100vw sm:50vw"},modifiers:{type:String,default:'{ "rotate": null }'}},setup(e){const t=e,i={width:t.width,height:t.height,sizes:t.sizes,src:t.src,alt:t.alt,loading:"lazy",placeholderClass:"img-placeholder",quality:50,...t.src.endsWith(".svg")?{}:{format:"avif,webp,jpg"},densities:"x1 x2",modifiers:JSON.parse(t.modifiers)};return(r,s)=>{const n=Se;return O(),V(n,k(X(i)),null,16)}}};export{_e as _};