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