@unocss/runtime 66.7.0 → 66.7.2-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,6 @@
1
- "use strict";(()=>{var B="default",G="preflights",D="shortcuts",M="imports",Q={[M]:-200,[G]:-100,[D]:-10,[B]:0};function C(e=[]){return Array.isArray(e)?e:[e]}function F(e){return e&&typeof e=="object"&&!Array.isArray(e)}function _(e,n,c=!1){let a=e,t=n;if(Array.isArray(t))return c&&Array.isArray(t)?[...a,...t]:[...t];let s={...a};return F(a)&&F(t)&&Object.keys(t).forEach(o=>{F(a[o])&&F(t[o])||Array.isArray(a[o])&&Array.isArray(t[o])?s[o]=_(a[o],t[o],c):Object.assign(s,{[o]:t[o]})}),s}function z(e,n){return{name:e,getImportUrl(c){let a=c.map(t=>{let{name:s,weights:o,italic:i}=t,y=s.toLowerCase().replace(/\s/g,"-");if(!o?.length)return`${y}${i?":i":""}`;let f=o.map(d=>d.toString());return!f.some(d=>d.endsWith("i"))&&i&&(f=f.map(d=>d+="i")),`${y}:${f.join(",")}`});return`${n}/css?family=${a.join("|")}&display=swap`}}}var R=z("bunny","https://fonts.bunny.net");function H(e){if(!e||e.length===0)return"";let n=[[]];for(let{values:c}of e){let a=[];for(let t of n)for(let s of c)a.push([...t,s]);n=a}return n.map(c=>c.join(",")).join(";")}function j(e,n){return{name:e,getImportUrl(c){let a=c.map(t=>{let s=t.name.replace(/\s+/g,"+"),o=[];return t.italic&&o.push({axis:"ital",values:["0","1"]}),t.widths?.length&&o.push({axis:"wdth",values:t.widths.map(i=>i.toString())}),t.weights?.length&&o.push({axis:"wght",values:t.weights.map(i=>i.toString())}),o.length&&(s+=":",s+=o.map(i=>i.axis).join(","),s+="@",s+=H(o)),`family=${s}`}).join("&");return`${n}/css2?${a}&display=swap`}}}var E=j("google","https://fonts.googleapis.com");var W=j("coollabs","https://api.fonts.coollabs.io");var L=Y("fontshare","https://api.fontshare.com");function Y(e,n){return{name:e,getImportUrl(c){let a=c.map(t=>{let s=t.name.replace(/\s+/g,"-").toLocaleLowerCase();return t.weights?.length?s+=`@${t.weights.flatMap(o=>t.italic?Number(o)+1:o).sort().join()}`:s+=`@${t.italic?2:1}`,`f[]=${s}`}).join("&");return`${n}/v2/css?${a}&display=swap`}}}function K(e,n){let c=new Map,a=new Map;return{name:e,async getPreflight(t,s){return(await Promise.all(t.map(async i=>{let y=[],f=i.name.toLowerCase().replace(/\s+/g,"-"),u=c.get(f);if(!u){let $=`https://api.fontsource.org/v1/fonts/${f}`;try{u=await s($),c.set(f,u)}catch{throw new Error(`Failed to fetch font: ${i.name}`)}}let{weights:d,unicodeRange:b,variants:g,family:x}=u,P=u.subsets.filter($=>i.subsets?i.subsets.includes($):!0),S=i.italic?"italic":"normal";if(u.variable&&!i.preferStatic){let $=a.get(f),r=`https://api.fontsource.org/v1/variable/${f}`;try{$=await s(r),a.set(f,$)}catch{throw new Error(`Failed to fetch font variable: ${i.name}`)}let l=_($.axes,i.variable??{});for(let p of P)if(b[p]){let h=`${n}/fontsource/fonts/${u.id}:vf@latest/${p}-wght-${S}.woff2`,v={family:x,display:"swap",style:S,weight:400,src:[{url:h,format:"woff2-variations"}],variable:{wght:l.wght??void 0,wdth:l.wdth??void 0,slnt:l.slnt??void 0},unicodeRange:b[p],comment:`${u.id}-${p}-wght-normal`};y.push(O(v))}else Object.entries(b).filter(([h])=>!u.subsets.includes(h)).forEach(([h,v])=>{let m=`${n}/fontsource/fonts/${u.id}:vf@latest/${h.slice(1,-1)}-wght-${S}.woff2`,w={family:x,display:"swap",style:S,weight:400,src:[{url:m,format:"woff2-variations"}],variable:{wght:l.wght??void 0,wdth:l.wdth??void 0,slnt:l.slnt??void 0},unicodeRange:v,comment:`${u.id}-${h}-wght-normal`};y.push(O(w))})}else{let $=i.weights&&i.weights.length>0?i.weights:d;for(let r of P)for(let l of $){let p=g[l][S][r].url,h={family:x,display:"swap",style:S,weight:Number(l),src:[{url:p.woff2,format:"woff2"}],unicodeRange:b[r],comment:`${u.id}-${r}-${l}-${S}`};y.push(O(h))}}return y}))).flat().join(`
1
+ (function(){function e(e=[]){return Array.isArray(e)?e:[e]}function t(e){return e&&typeof e==`object`&&!Array.isArray(e)}function n(e,r,i=!1){let a=e,o=r;if(Array.isArray(o))return i&&Array.isArray(o)?[...a,...o]:[...o];let s={...a};return t(a)&&t(o)&&Object.keys(o).forEach(e=>{t(a[e])&&t(o[e])||Array.isArray(a[e])&&Array.isArray(o[e])?s[e]=n(a[e],o[e],i):Object.assign(s,{[e]:o[e]})}),s}function r(e,t){return{name:e,getImportUrl(e){return`${t}/css?family=${e.map(e=>{let{name:t,weights:n,italic:r}=e,i=t.toLowerCase().replace(/\s/g,`-`);if(!n?.length)return`${i}${r?`:i`:``}`;let a=n.map(e=>e.toString());return!a.some(e=>e.endsWith(`i`))&&r&&(a=a.map(e=>e+=`i`)),`${i}:${a.join(`,`)}`}).join(`|`)}&display=swap`}}}let i=r(`bunny`,`https://fonts.bunny.net`);function a(e){if(!e||e.length===0)return``;let t=[[]];for(let{values:n}of e){let e=[];for(let r of t)for(let t of n)e.push([...r,t]);t=e}return t.map(e=>e.join(`,`)).join(`;`)}function o(e,t){return{name:e,getImportUrl(e){return`${t}/css2?${e.map(e=>{let t=e.name.replace(/\s+/g,`+`),n=[];return e.italic&&n.push({axis:`ital`,values:[`0`,`1`]}),e.widths?.length&&n.push({axis:`wdth`,values:e.widths.map(e=>e.toString())}),e.weights?.length&&n.push({axis:`wght`,values:e.weights.map(e=>e.toString())}),n.length&&(t+=`:`,t+=n.map(e=>e.axis).join(`,`),t+=`@`,t+=a(n)),`family=${t}`}).join(`&`)}&display=swap`}}}let s=o(`google`,`https://fonts.googleapis.com`),c=o(`coollabs`,`https://api.fonts.coollabs.io`),l=u(`fontshare`,`https://api.fontshare.com`);function u(e,t){return{name:e,getImportUrl(e){return`${t}/v2/css?${e.map(e=>{let t=e.name.replace(/\s+/g,`-`).toLocaleLowerCase();return e.weights?.length?t+=`@${e.weights.flatMap(t=>e.italic?Number(t)+1:t).sort().join()}`:t+=`@${e.italic?2:1}`,`f[]=${t}`}).join(`&`)}&display=swap`}}}function d(e,t){let r=new Map,i=new Map;return{name:e,async getPreflight(e,a){return(await Promise.all(e.map(async e=>{let o=[],s=e.name.toLowerCase().replace(/\s+/g,`-`),c=r.get(s);if(!c){let t=`https://api.fontsource.org/v1/fonts/${s}`;try{c=await a(t),r.set(s,c)}catch{throw Error(`Failed to fetch font: ${e.name}`)}}let{weights:l,unicodeRange:u,variants:d,family:f}=c,m=c.subsets.filter(t=>e.subsets?e.subsets.includes(t):!0),h=e.italic?`italic`:`normal`;if(c.variable&&!e.preferStatic){let r=i.get(s),l=`https://api.fontsource.org/v1/variable/${s}`;try{r=await a(l),i.set(s,r)}catch{throw Error(`Failed to fetch font variable: ${e.name}`)}let d=n(r.axes,e.variable??{});for(let e of m)if(u[e]){let n={family:f,display:`swap`,style:h,weight:400,src:[{url:`${t}/fontsource/fonts/${c.id}:vf@latest/${e}-wght-${h}.woff2`,format:`woff2-variations`}],variable:{wght:d.wght??void 0,wdth:d.wdth??void 0,slnt:d.slnt??void 0},unicodeRange:u[e],comment:`${c.id}-${e}-wght-normal`};o.push(p(n))}else Object.entries(u).filter(([e])=>!c.subsets.includes(e)).forEach(([e,n])=>{let r={family:f,display:`swap`,style:h,weight:400,src:[{url:`${t}/fontsource/fonts/${c.id}:vf@latest/${e.slice(1,-1)}-wght-${h}.woff2`,format:`woff2-variations`}],variable:{wght:d.wght??void 0,wdth:d.wdth??void 0,slnt:d.slnt??void 0},unicodeRange:n,comment:`${c.id}-${e}-wght-normal`};o.push(p(r))})}else{let t=e.weights&&e.weights.length>0?e.weights:l;for(let e of m)for(let n of t){let t=d[n][h][e].url,r={family:f,display:`swap`,style:h,weight:Number(n),src:[{url:t.woff2,format:`woff2`}],unicodeRange:u[e],comment:`${c.id}-${e}-${n}-${h}`};o.push(p(r))}}return o}))).flat().join(`
2
2
 
3
- `)}}}var N=K("fontsource","https://cdn.jsdelivr.net");function O(e){let{family:n,style:c,display:a,weight:t,variable:s,src:o,unicodeRange:i,comment:y,spacer:f=`
4
- `}=e,{wght:u,wdth:d,slnt:b}=s??{},g="@font-face {";return g+=`${f}font-family: '${n}';`,g+=`${f}font-style: ${b?`oblique ${Number(b.max)*-1}deg ${Number(b.min)*-1}deg`:c};`,g+=`${f}font-display: ${a};`,g+=`${f}font-weight: ${u?Z(u):t};`,d&&(g+=`${f}font-stretch: ${d.min}% ${d.max}%;`),g+=`${f}src: ${o.map(({url:x,format:P})=>`url(${x}) format('${P}')`).join(", ")};`,i&&(g+=`${f}unicode-range: ${i};`),y&&(g=`/* ${y} */
5
- ${g}`),`${g}
6
- }`}function Z(e){return e?e.min===e.max?`${e.min}`:`${e.min} ${e.max}`:"400"}var k={name:"none",getPreflight(){return""},getFontName(e){return e.name}};function I(e){let n=e.lastIndexOf("@");if(n===-1)throw new Error(`[unocss] ZeoSeven provider requires font ID in format "FontFamily@id", e.g. "LXGW WenKai@292". Got: "${e}"`);return{family:e.slice(0,n).trim(),id:e.slice(n+1).trim()}}function q(e,n){return{name:e,getFontName(c){let{family:a}=I(c.name);return`"${a}"`},async getPreflight(c,a){let t=[];for(let s of c){let{id:o}=I(s.name),i=`${n}/${o}/main/`,y=`${i}result.css`;try{let u=(await a(y)).replace(/url\("\.\/([^"]+)"\)/g,`url("${i}$1")`);t.push(u)}catch{throw new Error(`[unocss] Failed to fetch ZeoSeven font CSS for ID "${o}"`)}}return t.join(`
7
- `)}}}var V=q("zeoseven","https://fontsapi.zeoseven.com");var X={google:E,bunny:R,fontshare:L,fontsource:N,coollabs:W,none:k,zeoseven:V};function T(e){return typeof e=="string"?X[e]:e}function J(e,n){if(typeof e!="string")return e.provider=T(e.provider||n),e.weights&&(e.weights=[...new Set(e.weights.sort((t,s)=>t.toString().localeCompare(s.toString(),"en",{numeric:!0})))]),e.widths&&(e.widths=[...new Set(e.widths.sort((t,s)=>t.toString().localeCompare(s.toString(),"en",{numeric:!0})))]),e;let[c,a=""]=e.split(":");return{name:c,weights:[...new Set(a.split(/[,;]\s*/).filter(Boolean).sort((t,s)=>t.localeCompare(s,"en",{numeric:!0})))],provider:T(n)}}function U(e){return(n={})=>{let{provider:c="google",extendTheme:a=!0,inlineImports:t=!0,customFetch:s=e,timeouts:o={}}=n,i="fonts",y=t?i:M,f=C(n.processors||[]),u=Object.fromEntries(Object.entries(n.fonts||{}).map(([r,l])=>[r,C(l).map(p=>J(p,c))])),d=Object.values(u).flatMap(r=>r),b={};async function g(r){if(o===!1)return s(r);let{warning:l=1e3,failure:p=2e3}=o,h=!1,v=setTimeout(()=>{console.warn(`[unocss] Fetching web fonts: ${r}`),h=!0},l);return await Promise.race([s(r),new Promise((m,w)=>{setTimeout(()=>w(new Error("[unocss] Fetch web fonts timeout.")),p)})]).then(m=>(h&&console.info("[unocss] Web fonts fetched."),m)).finally(()=>clearTimeout(v))}async function x(r){return t?(b[r]||(b[r]=g(r).catch(l=>{if(console.error(`[unocss] Failed to fetch web fonts: ${r}`),console.error(l),typeof process<"u"&&process.env.CI)throw l})),await b[r]):`@import url('${r}');`}let P=Array.from(new Set(d.map(r=>r.provider)));async function S(r,l){let p=[];for(let v of l){let m=r.filter(w=>w.provider.name===v.name);if(v.getImportUrl){let w=v.getImportUrl(m);w&&p.push(await x(w))}try{p.push(await v.getPreflight?.(m,g))}catch(w){console.warn("[unocss] Web fonts preflight fetch failed.",w)}}return p.filter(Boolean).join(`
8
- `)}let $={name:"@unocss/preset-web-fonts",preflights:[{async getCSS(){let r;for(let l of f){let p=await l.getCSS?.(d,P,S);if(p){r=p;break}}r||(r=await S(d,P));for(let l of f)r=await l.transformCSS?.(r)||r;return r},layer:y}],layers:{[i]:-200}};return a&&($.extendTheme=(r,l)=>{let p=l.presets.some(m=>m.name==="@unocss/preset-wind4"),h=n.themeKey??(p?"font":"fontFamily");r[h]||(r[h]={});let v=Object.fromEntries(Object.entries(u).map(([m,w])=>[m,w.map(A=>A.provider.getFontName?.(A)??`"${A.name}"`)]));for(let m of Object.keys(v))typeof r[h][m]=="string"?r[h][m]=v[m].map(w=>`${w},`).join("")+r[h][m]:r[h][m]=v[m].join(",")}),$}}window.__unocss_runtime=window.__unocss_runtime??{};window.__unocss_runtime.presets=Object.assign(window.__unocss_runtime?.presets??{},(()=>{let e=U(n=>fetch(n).then(c=>c.json()));return{presetWebFonts:n=>e(n)}})());})();
3
+ `)}}}let f=d(`fontsource`,`https://cdn.jsdelivr.net`);function p(e){let{family:t,style:n,display:r,weight:i,variable:a,src:o,unicodeRange:s,comment:c,spacer:l=`
4
+ `}=e,{wght:u,wdth:d,slnt:f}=a??{},p=`@font-face {`;return p+=`${l}font-family: '${t}';`,p+=`${l}font-style: ${f?`oblique ${Number(f.max)*-1}deg ${Number(f.min)*-1}deg`:n};`,p+=`${l}font-display: ${r};`,p+=`${l}font-weight: ${u?m(u):i};`,d&&(p+=`${l}font-stretch: ${d.min}% ${d.max}%;`),p+=`${l}src: ${o.map(({url:e,format:t})=>`url(${e}) format('${t}')`).join(`, `)};`,s&&(p+=`${l}unicode-range: ${s};`),c&&(p=`/* ${c} */\n${p}`),`${p}\n}`}function m(e){return e?e.min===e.max?`${e.min}`:`${e.min} ${e.max}`:`400`}let h={name:`none`,getPreflight(){return``},getFontName(e){return e.name}};function g(e){let t=e.lastIndexOf(`@`);if(t===-1)throw Error(`[unocss] ZeoSeven provider requires font ID in format "FontFamily@id", e.g. "LXGW WenKai@292". Got: "${e}"`);return{family:e.slice(0,t).trim(),id:e.slice(t+1).trim()}}function _(e,t){return{name:e,getFontName(e){let{family:t}=g(e.name);return`"${t}"`},async getPreflight(e,n){let r=[];for(let i of e){let{id:e}=g(i.name),a=`${t}/${e}/main/`,o=`${a}result.css`;try{let e=(await n(o)).replace(/url\("\.\/([^"]+)"\)/g,`url("${a}$1")`);r.push(e)}catch{throw Error(`[unocss] Failed to fetch ZeoSeven font CSS for ID "${e}"`)}}return r.join(`
5
+ `)}}}let v={google:s,bunny:i,fontshare:l,fontsource:f,coollabs:c,none:h,zeoseven:_(`zeoseven`,`https://fontsapi.zeoseven.com`)};function y(e){return typeof e==`string`?v[e]:e}function b(e,t){if(typeof e!=`string`)return e.provider=y(e.provider||t),e.weights&&=[...new Set(e.weights.sort((e,t)=>e.toString().localeCompare(t.toString(),`en`,{numeric:!0})))],e.widths&&=[...new Set(e.widths.sort((e,t)=>e.toString().localeCompare(t.toString(),`en`,{numeric:!0})))],e;let[n,r=``]=e.split(`:`);return{name:n,weights:[...new Set(r.split(/[,;]\s*/).filter(Boolean).sort((e,t)=>e.localeCompare(t,`en`,{numeric:!0})))],provider:y(t)}}function x(t){return(n={})=>{let{provider:r=`google`,extendTheme:i=!0,inlineImports:a=!0,customFetch:o=t,timeouts:s={}}=n,c=`fonts`,l=a?c:`imports`,u=e(n.processors||[]),d=Object.fromEntries(Object.entries(n.fonts||{}).map(([t,n])=>[t,e(n).map(e=>b(e,r))])),f=Object.values(d).flatMap(e=>e),p={};async function m(e){if(s===!1)return o(e);let{warning:t=1e3,failure:n=2e3}=s,r=!1,i=setTimeout(()=>{console.warn(`[unocss] Fetching web fonts: ${e}`),r=!0},t);return await Promise.race([o(e),new Promise((e,t)=>{setTimeout(()=>t(Error(`[unocss] Fetch web fonts timeout.`)),n)})]).then(e=>(r&&console.info(`[unocss] Web fonts fetched.`),e)).finally(()=>clearTimeout(i))}async function h(e){return a?(p[e]||(p[e]=m(e).catch(t=>{if(console.error(`[unocss] Failed to fetch web fonts: ${e}`),console.error(t),typeof process<`u`&&process.env.CI)throw t})),await p[e]):`@import url('${e}');`}let g=Array.from(new Set(f.map(e=>e.provider)));async function _(e,t){let n=[];for(let r of t){let t=e.filter(e=>e.provider.name===r.name);if(r.getImportUrl){let e=r.getImportUrl(t);e&&n.push(await h(e))}try{n.push(await r.getPreflight?.(t,m))}catch(e){console.warn(`[unocss] Web fonts preflight fetch failed.`,e)}}return n.filter(Boolean).join(`
6
+ `)}let v={name:`@unocss/preset-web-fonts`,preflights:[{async getCSS(){let e;for(let t of u){let n=await t.getCSS?.(f,g,_);if(n){e=n;break}}e||=await _(f,g);for(let t of u)e=await t.transformCSS?.(e)||e;return e},layer:l}],layers:{[c]:-200}};return i&&(v.extendTheme=(e,t)=>{let r=t.presets.some(e=>e.name===`@unocss/preset-wind4`),i=n.themeKey??(r?`font`:`fontFamily`);e[i]||(e[i]={});let a=Object.fromEntries(Object.entries(d).map(([e,t])=>[e,t.map(e=>e.provider.getFontName?.(e)??`"${e.name}"`)]));for(let t of Object.keys(a))typeof e[i][t]==`string`?e[i][t]=a[t].map(e=>`${e},`).join(``)+e[i][t]:e[i][t]=a[t].join(`,`)}),v}}window.__unocss_runtime=window.__unocss_runtime??{},window.__unocss_runtime.presets=Object.assign(window.__unocss_runtime?.presets??{},(()=>{let e=x(e=>fetch(e).then(e=>e.json()));return{presetWebFonts:t=>e(t)}})())})();