import{N as j,l as v,d as E,q as B,a as k,o as L,c as U,z as q,u as _,r as C,at as D,e as x}from"./DINJ4NqB.js";import{w as z,J as H,v as b,K as R,M as F,N as $,k as A,c as J}from"./Cw10yt2r.js";async function V(e,t){return await G(t).catch(i=>(console.error("Failed to get image meta for "+t,i+""),{width:0,height:0,ratio:0}))}async function G(e){if(typeof Image>"u")throw new TypeError("Image not supported");return new Promise((t,r)=>{const i=new Image;i.onload=()=>{const s={width:i.width,height:i.height,ratio:i.width/i.height};t(s)},i.onerror=s=>r(s),i.src=e})}function I(e){return t=>t?e[t]||t:e.missingValue}function T({formatter:e,keyMap:t,joinWith:r="/",valueMap:i}={}){e||(e=(n,o)=>`${n}=${o}`),t&&typeof t!="function"&&(t=I(t));const s=i||{};return Object.keys(s).forEach(n=>{typeof s[n]!="function"&&(s[n]=I(s[n]))}),(n={})=>Object.entries(n).filter(([a,l])=>typeof l<"u").map(([a,l])=>{const d=s[a];return typeof d=="function"&&(l=d(n[a])),a=typeof t=="function"?t(a):a,e(a,l)}).join(r)}function m(e=""){if(typeof e=="number")return e;if(typeof e=="string"&&e.replace("px","").match(/^\d+$/g))return Number.parseInt(e,10)}function Q(e=""){if(e===void 0||!e.length)return[];const t=new Set;for(const r of e.split(" ")){const i=Number.parseInt(r.replace("x",""));i&&t.add(i)}return Array.from(t)}function Z(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 X(e){const t={};if(typeof e=="string")for(const r of e.split(/[\s,]+/).filter(i=>i)){const i=r.split(":");i.length!==2?t["1px"]=i[0].trim():t[i[0].trim()]=i[1].trim()}else Object.assign(t,e);return t}function Y(e){const t={options:e},r=(s,n={})=>N(t,s,n),i=(s,n={},o={})=>r(s,{...o,modifiers:j(n,o.modifiers||{})}).url;for(const s in e.presets)i[s]=(n,o,a)=>i(n,o,{...e.presets[s],...a});return i.options=e,i.getImage=r,i.getMeta=(s,n)=>K(t,s,n),i.getSizes=(s,n)=>re(t,s,n),t.$img=i,i}async function K(e,t,r){const i=N(e,t,{...r});return typeof i.getMeta=="function"?await i.getMeta():await V(e,i.url)}function N(e,t,r){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:i,defaults:s}=ee(e,r.provider||e.options.provider),n=te(e,r.preset);if(t=z(t)?t:H(t),!i.supportsAlias){for(const d in e.options.alias)if(t.startsWith(d)){const f=e.options.alias[d];f&&(t=b(f,t.slice(d.length)))}}if(i.validateDomains&&z(t)){const d=R(t).host;if(!e.options.domains.find(f=>f===d))return{url:t}}const o=j(r,n,s);o.modifiers={...o.modifiers};const a=o.modifiers.format;o.modifiers?.width&&(o.modifiers.width=m(o.modifiers.width)),o.modifiers?.height&&(o.modifiers.height=m(o.modifiers.height));const l=i.getImage(t,o,e);return l.format=l.format||a||"",l}function ee(e,t){const r=e.options.providers[t];if(!r)throw new Error("Unknown provider: "+t);return r}function te(e,t){if(!t)return{};if(!e.options.presets[t])throw new Error("Unknown preset: "+t);return e.options.presets[t]}function re(e,t,r){const i=m(r.modifiers?.width),s=m(r.modifiers?.height),n=X(r.sizes),o=r.densities?.trim()?Q(r.densities.trim()):e.options.densities;Z(o);const a=i&&s?s/i:0,l=[],d=[];if(Object.keys(n).length>=1){for(const u in n){const g=W(u,String(n[u]),s,a,e);if(g!==void 0){l.push({size:g.size,screenMaxWidth:g.screenMaxWidth,media:`(max-width: ${g.screenMaxWidth}px)`});for(const p of o)d.push({width:g._cWidth*p,src:M(e,t,r,g,p)})}}ie(l)}else for(const u of o){const g=Object.keys(n)[0];let p=g?W(g,String(n[g]),s,a,e):void 0;p===void 0&&(p={size:"",screenMaxWidth:0,_cWidth:r.modifiers?.width,_cHeight:r.modifiers?.height}),d.push({width:u,src:M(e,t,r,p,u)})}se(d);const f=d[d.length-1],w=l.length?l.map(u=>`${u.media?u.media+" ":""}${u.size}`).join(", "):void 0,y=w?"w":"x",S=d.map(u=>`${u.src} ${u.width}${y}`).join(", ");return{sizes:w,srcset:S,src:f?.src}}function W(e,t,r,i,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 a=Number.parseInt(t);if(!n||!a)return;o&&(a=Math.round(a/100*n));const l=i?Math.round(a*i):r;return{size:t,screenMaxWidth:n,_cWidth:a,_cHeight:l}}function M(e,t,r,i,s){return e.$img(t,{...r.modifiers,width:i._cWidth?i._cWidth*s:void 0,height:i._cHeight?i._cHeight*s:void 0},r)}function ie(e){e.sort((r,i)=>r.screenMaxWidth-i.screenMaxWidth);let t=null;for(let r=e.length-1;r>=0;r--){const i=e[r];i.media===t&&e.splice(r,1),t=i.media}for(let r=0;r<e.length;r++)e[r].media=e[r+1]?.media||""}function se(e){e.sort((r,i)=>r.width-i.width);let t=null;for(let r=e.length-1;r>=0;r--){const i=e[r];i.width===t&&e.splice(r,1),t=i.width}}const O=T({keyMap:{format:"f",fit:"fit",width:"w",height:"h",resize:"s",quality:"q",background:"b"},joinWith:"&",formatter:(e,t)=>$(e)+"_"+$(t)}),ne=(e,{modifiers:t={},baseURL:r}={},i)=>{t.width&&t.height&&(t.resize=`${t.width}x${t.height}`,delete t.width,delete t.height);const s=O(t)||"_";return r||(r=b(i.options.nuxt.baseURL,"/_ipx")),{url:b(r,s,F(e))}},oe=!0,ae=!0,ce=Object.freeze(Object.defineProperty({__proto__:null,getImage:ne,operationsGenerator:O,supportsAlias:ae,validateDomains:oe},Symbol.toStringTag,{value:"Module"})),de={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"],providers:{ipx:{provider:ce,defaults:{}}}},P=e=>{const t=J(),r=A();return r.$img||r._img||(r._img=Y({...de,event:r.ssrContext?.event,nuxt:{baseURL:t.app.baseURL},runtimeConfig:t}))};function le(e){performance?.mark?.("mark_feature_usage",{detail:{feature:e}})}const ue={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}},fe=e=>{const t=v(()=>({provider:e.provider,preset:e.preset})),r=v(()=>({width:m(e.width),height:m(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})),i=P(),s=v(()=>({...e.modifiers,width:m(e.width),height:m(e.height),format:e.format,quality:e.quality||i.options.quality,background:e.background,fit:e.fit}));return{options:t,attrs:r,modifiers:s}},ge={...ue,placeholder:{type:[Boolean,String,Number,Array],required:!1},placeholderClass:{type:String,required:!1},custom:{type:Boolean,required:!1}},me=["src"],he=E({__name:"NuxtImg",props:ge,emits:["load","error"],setup(e,{emit:t}){const r=e,i=B(),s=t,n=!1,o=P(),a=fe(r),l=x(!1),d=x(),f=v(()=>o.getSizes(r.src,{...a.options.value,sizes:r.sizes,densities:r.densities,modifiers:{...a.modifiers.value,width:m(r.width),height:m(r.height)}})),w=v(()=>{const c={...a.attrs.value,"data-nuxt-img":""};return(!r.placeholder||l.value)&&(c.sizes=f.value.sizes,c.srcset=f.value.srcset),c}),y=v(()=>{let c=r.placeholder;if(c===""&&(c=!0),!c||l.value)return!1;if(typeof c=="string")return c;const h=Array.isArray(c)?c:typeof c=="number"?[c,c]:[10,10];return o(r.src,{...a.modifiers.value,width:h[0],height:h[1],quality:h[2]||50,blur:h[3]||3},a.options.value)}),S=v(()=>r.sizes?f.value.src:o(r.src,a.modifiers.value,a.options.value)),u=v(()=>y.value?y.value:S.value),p=A().isHydrating;return k(()=>{if(y.value||r.custom){const c=new Image;S.value&&(c.src=S.value),r.sizes&&(c.sizes=f.value.sizes||"",c.srcset=f.value.srcset),c.onload=h=>{l.value=!0,s("load",h)},c.onerror=h=>{s("error",h)},le("nuxt-image");return}d.value&&(d.value.complete&&p&&(d.value.getAttribute("data-error")?s("error",new Event("error")):s("load",new Event("load"))),d.value.onload=c=>{s("load",c)},d.value.onerror=c=>{s("error",c)})}),(c,h)=>c.custom?C(c.$slots,"default",D(q({key:1},{..._(n)?{onerror:"this.setAttribute('data-error', 1)"}:{},imgAttrs:{...w.value,..._(i)},isLoaded:l.value,src:u.value}))):(L(),U("img",q({key:0,ref_key:"imgEl",ref:d,class:y.value&&!l.value?c.placeholderClass:void 0},{..._(n)?{onerror:"this.setAttribute('data-error', 1)"}:{},...w.value,..._(i)},{src:u.value}),null,16,me))}}),ye=Object.assign(he,{__name:"NuxtImg"});export{ye as _};
