@unocss/runtime 0.62.3 → 0.63.0
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.
- package/attributify.global.js +7 -7
- package/core.global.js +2 -2
- package/dist/index.d.ts +6 -1
- package/dist/index.js +5 -1
- package/full.global.js +7 -7
- package/mini.global.js +8 -8
- package/package.json +4 -4
- package/preset-icons.global.js +4 -4
- package/preset-mini.global.js +6 -6
- package/preset-uno.global.js +6 -6
- package/preset-web-fonts.global.js +34 -2
- package/preset-wind.global.js +6 -6
- package/uno.global.js +7 -7
package/core.global.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(()=>{function
|
|
2
|
-
`,S=new Set([H]),b=u?new Map:new Set,M=new Map,w={},T=Array.from(l).map(async x=>{if(b.has(x))return;let o=await this.parseToken(x);if(o!=null){b instanceof Map?b.set(x,{data:o,count:Z(l)?l.getCount(x):-1}):b.add(x);for(let h of o){let v=h[3]||"",$=h[4]?.layer;M.has(v)||M.set(v,[]),M.get(v).push(h),$&&S.add($)}}});await Promise.all(T),await(async()=>{if(!i)return;let x={generator:this,theme:this.config.theme},o=new Set([]);this.config.preflights.forEach(({layer:h=X})=>{S.add(h),o.add(h)}),w=Object.fromEntries(await Promise.all(Array.from(o).map(async h=>{let $=(await Promise.all(this.config.preflights.filter(O=>(O.layer||X)===h).map(async O=>await O.getCSS(x)))).filter(Boolean).join(f);return[h,$]})))})();let P=this.config.sortLayers(Array.from(S).sort((x,o)=>(this.config.layers[x]??0)-(this.config.layers[o]??0)||x.localeCompare(o))),m={},y=(x=H)=>{if(m[x])return m[x];let o=Array.from(M).sort((v,$)=>(this.parentOrders.get(v[0])??0)-(this.parentOrders.get($[0])??0)||v[0]?.localeCompare($[0]||"")||0).map(([v,$])=>{let O=$.length,D=$.filter(d=>(d[4]?.layer||H)===x).sort((d,C)=>d[0]-C[0]||(d[4]?.sort||0)-(C[4]?.sort||0)||d[5]?.currentSelector?.localeCompare(C[5]?.currentSelector??"")||d[1]?.localeCompare(C[1]||"")||d[2]?.localeCompare(C[2]||"")||0).map(([,d,C,,R,,V])=>[[[(d&&Ne(d,s))??"",R?.sort??0]],C,!!(V??R?.noMerge)]);if(!D.length)return;let B=D.reverse().map(([d,C,R],V)=>{if(!R&&this.config.mergeSelectors)for(let L=V+1;L<O;L++){let _=D[L];if(_&&!_[2]&&(d&&_[0]||d==null&&_[0]==null)&&_[1]===C)return d&&_[0]&&_[0].push(...d),null}let k=d?j(d.sort((L,_)=>L[1]-_[1]||L[0]?.localeCompare(_[0]||"")||0).map(L=>L[0]).filter(Boolean)):[];return k.length?`${k.join(`,${f}`)}{${C}}`:C}).filter(Boolean).reverse().join(f);if(!v)return B;let g=v.split(" $$ ");return`${g.join("{")}{${f}${B}${f}${"}".repeat(g.length)}`}).filter(Boolean).join(f);if(i&&(o=[w[x],o].filter(Boolean).join(f)),p&&o){let v=typeof p=="object"?p.cssLayerName?.(x):void 0;v!==null&&(v||(v=x),o=`@layer ${v}{${f}${o}${f}}`)}let h=c?"":`/* layer: ${x} */${f}`;return m[x]=o?h+o:""},E=(x=P,o)=>x.filter(h=>!o?.includes(h)).map(h=>y(h)||"").filter(Boolean).join(f);return{get css(){return E()},layers:P,matched:b,getLayers:E,getLayer:y}}async matchVariants(e,t){let r=new Set,s=[],i=t||e,a=!0,c={rawSelector:e,theme:this.config.theme,generator:this};for(;a;){a=!1;for(let u of this.config.variants){if(!u.multiPass&&r.has(u))continue;let p=await u.match(i,c);if(p){if(A(p)){if(p===i)continue;p={matcher:p}}i=p.matcher??i,s.unshift(p),r.add(u),a=!0;break}}if(!a)break;if(s.length>500)throw new Error(`Too many variants applied to "${e}"`)}return[e,i,s,r]}applyVariants(e,t=e[4],r=e[1]){let i=t.slice().sort((p,l)=>(p.order||0)-(l.order||0)).reduceRight((p,l)=>f=>{let S=l.body?.(f.entries)||f.entries,b=Array.isArray(l.parent)?l.parent:[l.parent,void 0];return(l.handle??We)({...f,entries:S,selector:l.selector?.(f.selector,S)||f.selector,parent:b[0]||f.parent,parentOrder:b[1]||f.parentOrder,layer:l.layer||f.layer,sort:l.sort||f.sort},p)},p=>p)({prefix:"",selector:ze(r),pseudo:"",entries:e[2]}),{parent:a,parentOrder:c}=i;a!=null&&c!=null&&this.parentOrders.set(a,c);let u={selector:[i.prefix,i.selector,i.pseudo].join(""),entries:i.entries,parent:a,layer:i.layer,sort:i.sort,noMerge:i.noMerge};for(let p of this.config.postprocess)p(u);return u}constructCustomCSS(e,t,r){let s=F(t);if(A(s))return s;let{selector:i,entries:a,parent:c}=this.applyVariants([0,r||e.rawSelector,s,void 0,e.variantHandlers]),u=`${i}{${W(a)}}`;return c?`${c}{${u}}`:u}async parseUtil(e,t,r=!1,s){let[i,a,c]=A(e)?await this.matchVariants(e):e;this.config.details&&(t.rules=t.rules??[]);let u=this.config.rulesStaticMap[a];if(u&&u[1]&&(r||!u[2]?.internal)){this.config.details&&t.rules.push(u[3]);let l=u[0],f=F(u[1]),S=u[2];return A(f)?[[l,f,S]]:[[l,i,f,S,c]]}t.variantHandlers=c;let{rulesDynamic:p}=this.config;for(let[l,f,S,b]of p){if(b?.internal&&!r)continue;let M=a;if(b?.prefix){let m=U(b.prefix);if(s){let y=U(s);if(!m.some(E=>y.includes(E)))continue}else{let y=m.find(E=>a.startsWith(E));if(y==null)continue;M=a.slice(y.length)}}let w=M.match(f);if(!w)continue;let T=await S(w,t);if(!T)continue;if(this.config.details&&t.rules.push([f,S,b]),typeof T!="string")if(Symbol.asyncIterator in T){let m=[];for await(let y of T)y&&m.push(y);T=m}else Symbol.iterator in T&&!Array.isArray(T)&&(T=Array.from(T).filter(re));let P=ae(T).filter(m=>m.length);if(P.length)return P.map(m=>{if(A(m))return[l,m,b];let y=c;for(let E of m)E[0]===K.variants?y=[...U(E[1]),...y]:E[0]===K.parent?y=[{parent:E[1]},...y]:E[0]===K.selector&&(y=[{selector:E[1]},...y]);return[l,i,m,b,y]})}}stringifyUtil(e,t){if(!e)return;if(ne(e))return[e[0],void 0,e[1],void 0,e[2],this.config.details?t:void 0,void 0];let{selector:r,entries:s,parent:i,layer:a,sort:c,noMerge:u}=this.applyVariants(e),p=W(s);if(!p)return;let{layer:l,sort:f,...S}=e[3]??{},b={...S,layer:a??l,sort:c??f};return[e[0],r,p,i,b,this.config.details?t:void 0,u]}async expandShortcut(e,t,r=5){if(r===0)return;let s=this.config.details?c=>{t.shortcuts=t.shortcuts??[],t.shortcuts.push(c)}:fe,i,a;for(let c of this.config.shortcuts){let u=e;if(c[2]?.prefix){let l=U(c[2].prefix).find(f=>e.startsWith(f));if(l==null)continue;u=e.slice(l.length)}if(le(c)){if(c[0]===u){i=i||c[2],a=c[1],s(c);break}}else{let p=u.match(c[0]);if(p&&(a=c[1](p,t)),a){i=i||c[2],s(c);break}}}if(a&&(a=U(a).map(c=>A(c)?pe(c.trim()).split(/\s+/g):c).flat()),!a){let[c,u]=A(e)?await this.matchVariants(e):e;if(c!==u){let p=await this.expandShortcut(u,t,r-1);p&&(a=p[0].map(l=>A(l)?c.replace(u,l):l))}}if(a)return[(await Promise.all(a.map(async c=>(A(c)?(await this.expandShortcut(c,t,r-1))?.[0]:void 0)||[c]))).flat(1).filter(Boolean),i]}async stringifyShortcuts(e,t,r,s={layer:this.config.shortcutsLayer}){let i=new q,a=(await Promise.all(j(r).map(async l=>{let f=A(l)?await this.parseUtil(l,t,!0,s.prefix):[[Number.POSITIVE_INFINITY,"{inline}",F(l),void 0,[]]];return!f&&this.config.warn&&me(`unmatched utility "${l}" in shortcut "${e[1]}"`),f||[]}))).flat(1).filter(Boolean).sort((l,f)=>l[0]-f[0]),[c,,u]=e,p=[];for(let l of a){if(ne(l)){p.push([l[0],void 0,l[1],void 0,l[2],t,void 0]);continue}let{selector:f,entries:S,parent:b,sort:M,noMerge:w,layer:T}=this.applyVariants(l,[...l[4],...u],c);i.getFallback(T??s.layer,new Y).getFallback(f,b,[[],l[0]])[0].push([S,!!(w??l[3]?.noMerge),M??0])}return p.concat(i.flatMap((l,f)=>l.map(([S,b],M,w)=>{let T=(m,y,E)=>{let x=Math.max(...E.map(h=>h[1])),o=E.map(h=>h[0]);return(m?[o.flat(1)]:o).map(h=>{let v=W(h);if(v)return[b,M,v,w,{...s,noMerge:y,sort:x,layer:f},t,void 0]})};return[[S.filter(([,m])=>m).map(([m,,y])=>[m,y]),!0],[S.filter(([,m])=>!m).map(([m,,y])=>[m,y]),!1]].map(([m,y])=>[...T(!1,y,m.filter(([E])=>E.some(x=>x[0]===K.shortcutsNoMerge))),...T(!0,y,m.filter(([E])=>E.every(x=>x[0]!==K.shortcutsNoMerge)))])}).flat(2).filter(Boolean)))}isBlocked(e){return!e||this.config.blocklist.map(t=>Array.isArray(t)?t[0]:t).some(t=>typeof t=="function"?t(e):A(t)?t===e:t.test(e))}getBlocked(e){let t=this.config.blocklist.find(r=>{let s=Array.isArray(r)?r[0]:r;return typeof s=="function"?s(e):A(s)?s===e:s.test(e)});return t?Array.isArray(t)?t:[t,void 0]:void 0}};function Re(n,e){return new ie(n,e)}var ve=/\s\$\$\s+/g;function Be(n){return ve.test(n)}function Ne(n,e){return Be(n)?n.replace(ve,e?` ${e} `:" "):e?`${e} ${n}`:n}var Ee=/^\[(.+?)(~?=)"(.*)"\]$/;function ze(n){return Ee.test(n)?n.replace(Ee,(e,t,r,s)=>`[${N(t)}${r}"${N(s)}"]`):`.${N(n)}`}function We(n,e){return e(n)}function Ye(n){return n.replace(/-(\w)/g,(e,t)=>t?t.toUpperCase():"")}function Me(n){return n.charAt(0).toUpperCase()+n.slice(1)}function we(n){return n.replace(/(?:^|\B)([A-Z])/g,"-$1").toLowerCase()}var Ae=["Webkit","Moz","ms"];function Ue(n){let e={};function t(r){let s=e[r];if(s)return s;let i=Ye(r);if(i!=="filter"&&i in n)return e[r]=we(i);i=Me(i);for(let a=0;a<Ae.length;a++){let c=`${Ae[a]}${i}`;if(c in n)return e[r]=we(Me(c))}return r}return({entries:r})=>r.forEach(s=>{s[0].startsWith("--")||(s[0]=t(s[0]))})}function Ve(n){return n.replace(/&/g,"&").replace(/>/g,">").replace(/</g,"<")}function oe(n={}){if(typeof window>"u"){console.warn("@unocss/runtime been used in non-browser environment, skipped.");return}let e=window,t=window.document,r=()=>t.documentElement,s=e.__unocss||{},i=Object.assign({},n,s.runtime),a=i.defaults||{},c=i.cloakAttribute??"un-cloak";i.autoPrefix&&(a.postprocess=U(a.postprocess)).unshift(Ue(t.createElement("div").style)),i.configResolved?.(s,a);let u=Re(s,a),p=g=>i.inject?i.inject(g):r().prepend(g),l=()=>i.rootElement?i.rootElement():t.body,f=new Map,S=!0,b=new Set,M,w,T=[],P=()=>new Promise(g=>{T.push(g),w!=null&&clearTimeout(w),w=setTimeout(()=>E().then(()=>{let d=T;T=[],d.forEach(C=>C())}),0)});function m(g,d=!1){if(g.nodeType!==1)return;let C=g;C.hasAttribute(c)&&C.removeAttribute(c),d&&C.querySelectorAll(`[${c}]`).forEach(R=>{R.removeAttribute(c)})}function y(g,d){let C=f.get(g);if(!C)if(C=t.createElement("style"),C.setAttribute("data-unocss-runtime-layer",g),f.set(g,C),d==null)p(C);else{let R=y(d),V=R.parentNode;V?V.insertBefore(C,R.nextSibling):p(C)}return C}async function E(){let g=[...b],d=await u.generate(g);return d.layers.reduce((R,V)=>(y(V,R).innerHTML=d.getLayer(V)??"",V),void 0),g.filter(R=>!d.matched.has(R)).forEach(R=>b.delete(R)),{...d,getStyleElement:R=>f.get(R),getStyleElements:()=>f}}async function x(g){let d=b.size;await u.applyExtractors(g,void 0,b),d!==b.size&&await P()}async function o(g=l()){let d=g&&g.outerHTML;d&&(await x(`${d} ${Ve(d)}`),m(r()),m(g,!0))}let h=new MutationObserver(g=>{S||g.forEach(async d=>{if(d.target.nodeType!==1)return;let C=d.target;for(let R of f)if(C===R[1])return;if(d.type==="childList")d.addedNodes.forEach(async R=>{if(R.nodeType!==1)return;let V=R;M&&!M(V)||(await x(V.outerHTML),m(V))});else{if(M&&!M(C))return;if(d.attributeName!==c){let R=Array.from(C.attributes).map(k=>k.value?`${k.name}="${k.value}"`:k.name).join(" "),V=`<${C.tagName.toLowerCase()} ${R}>`;await x(V)}m(C)}})}),v=!1;function $(){if(v)return;let g=i.observer?.target?i.observer.target():l();g&&(h.observe(g,{childList:!0,subtree:!0,attributes:!0,attributeFilter:i.observer?.attributeFilter}),v=!0)}function O(){i.bypassDefined&&qe(u.blocked),o(),$()}function D(){t.readyState==="loading"?e.addEventListener("DOMContentLoaded",O):O()}let B=e.__unocss_runtime=e.__unocss_runtime={version:u.version,uno:u,async extract(g){A(g)||(g.forEach(d=>b.add(d)),g=""),await x(g)},extractAll:o,inspect(g){M=g},toggleObserver(g){g===void 0?S=!S:S=!!g,!v&&!S&&D()},update:E,presets:e.__unocss_runtime?.presets??{}};i.ready?.(B)!==!1&&(S=!1,D())}function qe(n=new Set){for(let e=0;e<document.styleSheets.length;e++){let t=document.styleSheets[e],r;try{if(r=t.cssRules||t.rules,!r)continue;Array.from(r).flatMap(s=>s.selectorText?.split(/,/g)||[]).forEach(s=>{s&&(s=s.trim(),s.startsWith(".")&&(s=s.slice(1)),n.add(s))})}catch{continue}}return n}oe();})();
|
|
1
|
+
"use strict";(()=>{var G="default",N="preflights",Pe="shortcuts",je="imports",ce={[je]:-200,[N]:-100,[Pe]:-10,[G]:0};var le=/[\\:]?[\s'"`;{}]+/g;function _e(n){return n.split(le)}var z={name:"@unocss/core/extractor-split",order:0,extract({code:n}){return _e(n)}};function V(n=[]){return Array.isArray(n)?n:[n]}function _(n){return Array.from(new Set(n))}function te(n,e){return n.reduce((t,r)=>(t.findIndex(i=>e(r,i))===-1&&t.push(r),t),[])}function w(n){return typeof n=="string"}var H=class extends Set{_map;constructor(e){super(e),this._map??=new Map}add(e){return this._map??=new Map,this._map.set(e,(this._map.get(e)??0)+1),super.add(e)}delete(e){return this._map.delete(e),super.delete(e)}clear(){this._map.clear(),super.clear()}getCount(e){return this._map.get(e)??0}setCount(e,t){return this._map.set(e,t),super.add(e)}};function W(n){return n instanceof H}function Oe(n){let e=n.length,t=-1,r,s="",i=n.charCodeAt(0);for(;++t<e;){if(r=n.charCodeAt(t),r===0){s+="\uFFFD";continue}if(r===37){s+="\\%";continue}if(r===44){s+="\\,";continue}if(r>=1&&r<=31||r===127||t===0&&r>=48&&r<=57||t===1&&r>=48&&r<=57&&i===45){s+=`\\${r.toString(16)} `;continue}if(t===0&&e===1&&r===45){s+=`\\${n.charAt(t)}`;continue}if(r>=128||r===45||r===95||r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122){s+=n.charAt(t);continue}s+=`\\${n.charAt(t)}`}return s}var Y=Oe;function ue(n){return typeof n=="function"?{match:n}:n}function ne(n){return n.length===3}function re(n){return n!=null}function fe(){}var q=class{_map=new Map;get(e,t){let r=this._map.get(e);if(r)return r.get(t)}getFallback(e,t,r){let s=this._map.get(e);return s||(s=new Map,this._map.set(e,s)),s.has(t)||s.set(t,r),s.get(t)}set(e,t,r){let s=this._map.get(e);return s||(s=new Map,this._map.set(e,s)),s.set(t,r),this}has(e,t){return this._map.get(e)?.has(t)}delete(e,t){return this._map.get(e)?.delete(t)||!1}deleteTop(e){return this._map.delete(e)}map(e){return Array.from(this._map.entries()).flatMap(([t,r])=>Array.from(r.entries()).map(([s,i])=>e(i,t,s)))}},Z=class extends Map{getFallback(e,t){let r=this.get(e);return r===void 0?(this.set(e,t),t):r}map(e){let t=[];return this.forEach((r,s)=>{t.push(e(r,s))}),t}flatMap(e){let t=[];return this.forEach((r,s)=>{t.push(...e(r,s))}),t}};function K(n){return w(n)?n:(Array.isArray(n)?n:Object.entries(n)).filter(e=>e[1]!=null)}function pe(n){return Array.isArray(n)?n.find(e=>!Array.isArray(e)||Array.isArray(e[0]))?n.map(e=>K(e)):[n]:[K(n)]}function ke(n){return n.filter(([e,t],r)=>{if(e.startsWith("$$"))return!1;for(let s=r-1;s>=0;s--)if(n[s][0]===e&&n[s][1]===t)return!1;return!0})}function Q(n){return n==null?"":ke(n).map(([e,t])=>t!=null&&typeof t!="function"?`${e}:${t};`:void 0).filter(Boolean).join("")}function J(n){return n&&typeof n=="object"&&!Array.isArray(n)}function se(n,e,t=!1){let r=n,s=e;if(Array.isArray(s))return t&&Array.isArray(s)?[...r,...s]:[...s];let i={...r};return J(r)&&J(s)&&Object.keys(s).forEach(a=>{J(r[a])&&J(s[a])||Array.isArray(r[a])&&Array.isArray(s[a])?i[a]=se(r[a],s[a],t):Object.assign(i,{[a]:s[a]})}),i}function B(n){let e,t,r;if(Array.isArray(n)){for(t=Array.from({length:e=n.length});e--;)t[e]=(r=n[e])&&typeof r=="object"?B(r):r;return t}if(Object.prototype.toString.call(n)==="[object Object]"){t={};for(e in n)e==="__proto__"?Object.defineProperty(t,e,{value:B(n[e]),configurable:!0,enumerable:!0,writable:!0}):t[e]=(r=n[e])&&typeof r=="object"?B(r):r;return t}return n}function de(n){return w(n[0])}function me(n){return w(n[0])}var X={};function Le(n=["-",":"]){let e=n.join("|");return X[e]||(X[e]=new RegExp(`((?:[!@<~\\w+:_/-]|\\[&?>?:?\\S*\\])+?)(${e})\\(((?:[~!<>\\w\\s:/\\\\,%#.$?-]|\\[.*?\\])+?)\\)(?!\\s*?=>)`,"gm")),X[e].lastIndex=0,X[e]}function De(n,e=["-",":"],t=5){let r=Le(e),s,i=n.toString(),a=new Set,c=new Map;do s=!1,i=i.replace(r,(p,l,f,x,S)=>{if(!e.includes(f))return p;s=!0,a.add(l+f);let v=S+l.length+f.length+1,M={length:p.length,items:[]};c.set(S,M);for(let T of[...x.matchAll(/\S+/g)]){let $=v+T.index,m=c.get($)?.items;m?c.delete($):m=[{offset:$,length:T[0].length,className:T[0]}];for(let g of m)g.className=g.className==="~"?l:g.className.replace(/^(!?)(.*)/,`$1${l}${f}$2`),M.items.push(g)}return"$".repeat(p.length)}),t-=1;while(s&&t);let u;if(typeof n=="string"){u="";let p=0;for(let[l,f]of c)u+=n.slice(p,l),u+=f.items.map(x=>x.className).join(" "),p=l+f.length;u+=n.slice(p)}else{u=n;for(let[p,l]of c)u.overwrite(p,p+l.length,l.items.map(f=>f.className).join(" "))}return{prefixes:Array.from(a),hasChanged:s,groupsByOffset:c,get expanded(){return u.toString()}}}function ge(n,e=["-",":"],t=5){let r=De(n,e,t);return typeof n=="string"?r.expanded:n}var he=new Set;function ye(n){he.has(n)||(console.warn("[unocss]",n),he.add(n))}function be(n){return V(n).flatMap(e=>Array.isArray(e)?[e]:Object.entries(e))}var xe="_uno_resolved";function Fe(n){let e=typeof n=="function"?n():n;if(xe in e)return e;e={...e},Object.defineProperty(e,xe,{value:!0,enumerable:!1});let t=e.shortcuts?be(e.shortcuts):void 0;if(e.shortcuts=t,e.prefix||e.layer){let r=s=>{s[2]||(s[2]={});let i=s[2];i.prefix==null&&e.prefix&&(i.prefix=V(e.prefix)),i.layer==null&&e.layer&&(i.layer=e.layer)};t?.forEach(r),e.rules?.forEach(r)}return e}function Ce(n){let e=Fe(n);if(!e.presets)return[e];let t=(e.presets||[]).flatMap(V).flatMap(Ce);return[e,...t]}function Ke(n){if(n.length===0)return{};let e=[],t=[],r=!1;for(let s of n)s.pipeline===!1?r=!0:(e.push(s.pipeline?.include??[]),t.push(s.pipeline?.exclude??[]));return{filesystem:_(n.flatMap(s=>s.filesystem??[])),inline:_(n.flatMap(s=>s.inline??[])),plain:_(n.flatMap(s=>s.plain??[])),pipeline:r?!1:{include:_(Se(...e)),exclude:_(Se(...t))}}}function ie(n={},e={}){let t=Object.assign({},e,n),r=te((t.presets||[]).flatMap(V).flatMap(Ce),(o,d)=>o.name===d.name),s=[...r.filter(o=>o.enforce==="pre"),...r.filter(o=>!o.enforce),...r.filter(o=>o.enforce==="post")],i=[...s,t],a=[...i].reverse(),c=Object.assign({},ce,...i.map(o=>o.layers));function u(o){return _(i.flatMap(d=>V(d[o]||[])))}let p=u("extractors"),l=a.find(o=>o.extractorDefault!==void 0)?.extractorDefault;l===void 0&&(l=z),l&&!p.includes(l)&&p.unshift(l),p.sort((o,d)=>(o.order||0)-(d.order||0));let f=u("rules"),x={},S=f.length,v=f.map((o,d)=>{if(de(o)){V(o[2]?.prefix||"").forEach(A=>{x[A+o[0]]=[d,o[1],o[2],o]});return}return[d,...o]}).filter(Boolean).reverse(),M=Ie(i.map(o=>o.theme)),T=u("extendTheme");for(let o of T)M=o(M)||M;let $={templates:_(i.flatMap(o=>V(o.autocomplete?.templates))),extractors:i.flatMap(o=>V(o.autocomplete?.extractors)).sort((o,d)=>(o.order||0)-(d.order||0)),shorthands:Ge(i.map(o=>o.autocomplete?.shorthands||{}))},m=u("separators");m.length||(m=[":","-"]);let g=u("content"),E=Ke(g),P={mergeSelectors:!0,warn:!0,sortLayers:o=>o,...t,blocklist:u("blocklist"),presets:s,envMode:t.envMode||"build",shortcutsLayer:t.shortcutsLayer||"shortcuts",layers:c,theme:M,rulesSize:S,rulesDynamic:v,rulesStaticMap:x,preprocess:u("preprocess"),postprocess:u("postprocess"),preflights:u("preflights"),autocomplete:$,variants:u("variants").map(ue).sort((o,d)=>(o.order||0)-(d.order||0)),shortcuts:be(u("shortcuts")).reverse(),extractors:p,safelist:u("safelist"),separators:m,details:t.details??t.envMode==="dev",content:E,transformers:te(u("transformers"),(o,d)=>o.name===d.name)};for(let o of i)o?.configResolved?.(P);return P}function Ie(n){return n.map(e=>e?B(e):{}).reduce((e,t)=>se(e,t),{})}function Ge(n){return n.reduce((e,t)=>{let r={};for(let s in t){let i=t[s];Array.isArray(i)?r[s]=`(${i.join("|")})`:r[s]=i}return{...e,...r}},{})}function Se(...n){return n.flatMap(He)}function He(n){return Array.isArray(n)?n:n?[n]:[]}var Te="0.63.0";function Ee(){return{events:{},emit(n,...e){(this.events[n]||[]).forEach(t=>t(...e))},on(n,e){return(this.events[n]=this.events[n]||[]).push(e),()=>this.events[n]=(this.events[n]||[]).filter(t=>t!==e)}}}var F={shortcutsNoMerge:"$$symbol-shortcut-no-merge",variants:"$$symbol-variants",parent:"$$symbol-parent",selector:"$$symbol-selector",layer:"$$symbol-layer"},oe=class{constructor(e={},t={}){this.userConfig=e;this.defaults=t;this.config=ie(e,t),this.events.emit("config",this.config)}version=Te;_cache=new Map;config;blocked=new Set;parentOrders=new Map;events=Ee();setConfig(e,t){e&&(t&&(this.defaults=t),this.userConfig=e,this.blocked.clear(),this.parentOrders.clear(),this._cache.clear(),this.config=ie(e,this.defaults),this.events.emit("config",this.config))}async applyExtractors(e,t,r=new Set){let s={original:e,code:e,id:t,extracted:r,envMode:this.config.envMode};for(let i of this.config.extractors){let a=await i.extract?.(s);if(a)if(W(a)&&W(r))for(let c of a)r.setCount(c,r.getCount(c)+a.getCount(c));else for(let c of a)r.add(c)}return r}makeContext(e,t){let r={rawSelector:e,currentSelector:t[1],theme:this.config.theme,generator:this,symbols:F,variantHandlers:t[2],constructCSS:(...s)=>this.constructCustomCSS(r,...s),variantMatch:t};return r}async parseToken(e,t){if(this.blocked.has(e))return;let r=`${e}${t?` ${t}`:""}`;if(this._cache.has(r))return this._cache.get(r);let s=e;for(let p of this.config.preprocess)s=p(e);if(this.isBlocked(s)){this.blocked.add(e),this._cache.set(r,null);return}let i=await this.matchVariants(e,s);if(!i||this.isBlocked(i[1])){this.blocked.add(e),this._cache.set(r,null);return}let a=this.makeContext(e,[t||i[0],i[1],i[2],i[3]]);this.config.details&&(a.variants=[...i[3]]);let c=await this.expandShortcut(a.currentSelector,a),u=c?await this.stringifyShortcuts(a.variantMatch,a,c[0],c[1]):(await this.parseUtil(a.variantMatch,a))?.map(p=>this.stringifyUtil(p,a)).filter(re);if(u?.length)return this._cache.set(r,u),u;this._cache.set(r,null)}async generate(e,t={}){let{id:r,scope:s,preflights:i=!0,safelist:a=!0,minify:c=!1,extendedInfo:u=!1}=t,p=this.config.outputToCssLayers,l=w(e)?await this.applyExtractors(e,r,u?new H:new Set):Array.isArray(e)?new Set(e):e;if(a){let o={generator:this,theme:this.config.theme};this.config.safelist.flatMap(d=>typeof d=="function"?d(o):d).forEach(d=>{l.has(d)||l.add(d)})}let f=c?"":`
|
|
2
|
+
`,x=new Set([G]),S=u?new Map:new Set,v=new Map,M={},T=Array.from(l).map(async o=>{if(S.has(o))return;let d=await this.parseToken(o);if(d!=null){S instanceof Map?S.set(o,{data:d,count:W(l)?l.getCount(o):-1}):S.add(o);for(let R of d){let A=R[3]||"",j=R[4]?.layer;v.has(A)||v.set(A,[]),v.get(A).push(R),j&&x.add(j)}}});await Promise.all(T),await(async()=>{if(!i)return;let o={generator:this,theme:this.config.theme},d=new Set([]);this.config.preflights.forEach(({layer:R=N})=>{x.add(R),d.add(R)}),M=Object.fromEntries(await Promise.all(Array.from(d).map(async R=>{let j=(await Promise.all(this.config.preflights.filter(k=>(k.layer||N)===R).map(async k=>await k.getCSS(o)))).filter(Boolean).join(f);return[R,j]})))})();let $=this.config.sortLayers(Array.from(x).sort((o,d)=>(this.config.layers[o]??0)-(this.config.layers[d]??0)||o.localeCompare(d))),m={},g=(o=G)=>{if(m[o])return m[o];let d=Array.from(v).sort((A,j)=>(this.parentOrders.get(A[0])??0)-(this.parentOrders.get(j[0])??0)||A[0]?.localeCompare(j[0]||"")||0).map(([A,j])=>{let k=j.length,I=j.filter(h=>(h[4]?.layer||G)===o).sort((h,b)=>h[0]-b[0]||(h[4]?.sort||0)-(b[4]?.sort||0)||h[5]?.currentSelector?.localeCompare(b[5]?.currentSelector??"")||h[1]?.localeCompare(b[1]||"")||h[2]?.localeCompare(b[2]||"")||0).map(([,h,b,,U,,L])=>[[[(h&&ze(h,s))??"",U?.sort??0]],b,!!(L??U?.noMerge)]);if(!I.length)return;let y=I.reverse().map(([h,b,U],L)=>{if(!U&&this.config.mergeSelectors)for(let D=L+1;D<k;D++){let O=I[D];if(O&&!O[2]&&(h&&O[0]||h==null&&O[0]==null)&&O[1]===b)return h&&O[0]&&O[0].push(...h),null}let ee=h?_(h.sort((D,O)=>D[1]-O[1]||D[0]?.localeCompare(O[0]||"")||0).map(D=>D[0]).filter(Boolean)):[];return ee.length?`${ee.join(`,${f}`)}{${b}}`:b}).filter(Boolean).reverse().join(f);if(!A)return y;let C=A.split(" $$ ");return`${C.join("{")}{${f}${y}${f}${"}".repeat(C.length)}`}).filter(Boolean).join(f);if(i&&(d=[M[o],d].filter(Boolean).join(f)),p&&d){let A=typeof p=="object"?p.cssLayerName?.(o):void 0;A!==null&&(A||(A=o),d=`@layer ${A}{${f}${d}${f}}`)}let R=c?"":`/* layer: ${o} */${f}`;return m[o]=d?R+d:""},E=(o=$,d)=>o.filter(R=>!d?.includes(R)).map(R=>g(R)||"").filter(Boolean).join(f);return{get css(){return E()},layers:$,matched:S,getLayers:E,getLayer:g,setLayer:async(o,d)=>{let R=await d(g(o));return m[o]=R,R}}}async matchVariants(e,t){let r=new Set,s=[],i=t||e,a=!0,c={rawSelector:e,theme:this.config.theme,generator:this};for(;a;){a=!1;for(let u of this.config.variants){if(!u.multiPass&&r.has(u))continue;let p=await u.match(i,c);if(p){if(w(p)){if(p===i)continue;p={matcher:p}}i=p.matcher??i,s.unshift(p),r.add(u),a=!0;break}}if(!a)break;if(s.length>500)throw new Error(`Too many variants applied to "${e}"`)}return[e,i,s,r]}applyVariants(e,t=e[4],r=e[1]){let i=t.slice().sort((p,l)=>(p.order||0)-(l.order||0)).reduceRight((p,l)=>f=>{let x=l.body?.(f.entries)||f.entries,S=Array.isArray(l.parent)?l.parent:[l.parent,void 0];return(l.handle??Ye)({...f,entries:x,selector:l.selector?.(f.selector,x)||f.selector,parent:S[0]||f.parent,parentOrder:S[1]||f.parentOrder,layer:l.layer||f.layer,sort:l.sort||f.sort},p)},p=>p)({prefix:"",selector:We(r),pseudo:"",entries:e[2]}),{parent:a,parentOrder:c}=i;a!=null&&c!=null&&this.parentOrders.set(a,c);let u={selector:[i.prefix,i.selector,i.pseudo].join(""),entries:i.entries,parent:a,layer:i.layer,sort:i.sort,noMerge:i.noMerge};for(let p of this.config.postprocess)p(u);return u}constructCustomCSS(e,t,r){let s=K(t);if(w(s))return s;let{selector:i,entries:a,parent:c}=this.applyVariants([0,r||e.rawSelector,s,void 0,e.variantHandlers]),u=`${i}{${Q(a)}}`;return c?`${c}{${u}}`:u}async parseUtil(e,t,r=!1,s){let[i,a,c]=w(e)?await this.matchVariants(e):e;this.config.details&&(t.rules=t.rules??[]);let u=this.config.rulesStaticMap[a];if(u&&u[1]&&(r||!u[2]?.internal)){this.config.details&&t.rules.push(u[3]);let l=u[0],f=K(u[1]),x=u[2];return w(f)?[[l,f,x]]:[[l,i,f,x,c]]}t.variantHandlers=c;let{rulesDynamic:p}=this.config;for(let[l,f,x,S]of p){if(S?.internal&&!r)continue;let v=a;if(S?.prefix){let m=V(S.prefix);if(s){let g=V(s);if(!m.some(E=>g.includes(E)))continue}else{let g=m.find(E=>a.startsWith(E));if(g==null)continue;v=a.slice(g.length)}}let M=v.match(f);if(!M)continue;let T=await x(M,t);if(!T)continue;if(this.config.details&&t.rules.push([f,x,S]),typeof T!="string")if(Symbol.asyncIterator in T){let m=[];for await(let g of T)g&&m.push(g);T=m}else Symbol.iterator in T&&!Array.isArray(T)&&(T=Array.from(T).filter(re));let $=pe(T).filter(m=>m.length);if($.length)return $.map(m=>{if(w(m))return[l,m,S];let g=c;for(let E of m)E[0]===F.variants?g=[...V(E[1]),...g]:E[0]===F.parent?g=[{parent:E[1]},...g]:E[0]===F.selector?g=[{selector:E[1]},...g]:E[0]===F.layer&&(g=[{layer:E[1]},...g]);return[l,i,m,S,g]})}}stringifyUtil(e,t){if(!e)return;if(ne(e))return[e[0],void 0,e[1],void 0,e[2],this.config.details?t:void 0,void 0];let{selector:r,entries:s,parent:i,layer:a,sort:c,noMerge:u}=this.applyVariants(e),p=Q(s);if(!p)return;let{layer:l,sort:f,...x}=e[3]??{},S={...x,layer:a??l,sort:c??f};return[e[0],r,p,i,S,this.config.details?t:void 0,u]}async expandShortcut(e,t,r=5){if(r===0)return;let s=this.config.details?c=>{t.shortcuts=t.shortcuts??[],t.shortcuts.push(c)}:fe,i,a;for(let c of this.config.shortcuts){let u=e;if(c[2]?.prefix){let l=V(c[2].prefix).find(f=>e.startsWith(f));if(l==null)continue;u=e.slice(l.length)}if(me(c)){if(c[0]===u){i=i||c[2],a=c[1],s(c);break}}else{let p=u.match(c[0]);if(p&&(a=c[1](p,t)),a){i=i||c[2],s(c);break}}}if(a&&(a=V(a).map(c=>w(c)?ge(c.trim()).split(/\s+/g):c).flat()),!a){let[c,u]=w(e)?await this.matchVariants(e):e;if(c!==u){let p=await this.expandShortcut(u,t,r-1);p&&(a=p[0].map(l=>w(l)?c.replace(u,l):l))}}if(a)return[(await Promise.all(a.map(async c=>(w(c)?(await this.expandShortcut(c,t,r-1))?.[0]:void 0)||[c]))).flat(1).filter(Boolean),i]}async stringifyShortcuts(e,t,r,s={layer:this.config.shortcutsLayer}){let i=new Z,a=(await Promise.all(_(r).map(async l=>{let f=w(l)?await this.parseUtil(l,t,!0,s.prefix):[[Number.POSITIVE_INFINITY,"{inline}",K(l),void 0,[]]];return!f&&this.config.warn&&ye(`unmatched utility "${l}" in shortcut "${e[1]}"`),f||[]}))).flat(1).filter(Boolean).sort((l,f)=>l[0]-f[0]),[c,,u]=e,p=[];for(let l of a){if(ne(l)){p.push([l[0],void 0,l[1],void 0,l[2],t,void 0]);continue}let{selector:f,entries:x,parent:S,sort:v,noMerge:M,layer:T}=this.applyVariants(l,[...l[4],...u],c);i.getFallback(T??s.layer,new q).getFallback(f,S,[[],l[0]])[0].push([x,!!(M??l[3]?.noMerge),v??0])}return p.concat(i.flatMap((l,f)=>l.map(([x,S],v,M)=>{let T=(m,g,E)=>{let P=Math.max(...E.map(d=>d[1])),o=E.map(d=>d[0]);return(m?[o.flat(1)]:o).map(d=>{let R=Q(d);if(R)return[S,v,R,M,{...s,noMerge:g,sort:P,layer:f},t,void 0]})};return[[x.filter(([,m])=>m).map(([m,,g])=>[m,g]),!0],[x.filter(([,m])=>!m).map(([m,,g])=>[m,g]),!1]].map(([m,g])=>[...T(!1,g,m.filter(([E])=>E.some(P=>P[0]===F.shortcutsNoMerge))),...T(!0,g,m.filter(([E])=>E.every(P=>P[0]!==F.shortcutsNoMerge)))])}).flat(2).filter(Boolean)))}isBlocked(e){return!e||this.config.blocklist.map(t=>Array.isArray(t)?t[0]:t).some(t=>typeof t=="function"?t(e):w(t)?t===e:t.test(e))}getBlocked(e){let t=this.config.blocklist.find(r=>{let s=Array.isArray(r)?r[0]:r;return typeof s=="function"?s(e):w(s)?s===e:s.test(e)});return t?Array.isArray(t)?t:[t,void 0]:void 0}};function ve(n,e){return new oe(n,e)}var Me=/\s\$\$\s+/g;function Ne(n){return Me.test(n)}function ze(n,e){return Ne(n)?n.replace(Me,e?` ${e} `:" "):e?`${e} ${n}`:n}var Re=/^\[(.+?)(~?=)"(.*)"\]$/;function We(n){return Re.test(n)?n.replace(Re,(e,t,r,s)=>`[${Y(t)}${r}"${Y(s)}"]`):`.${Y(n)}`}function Ye(n,e){return e(n)}function qe(n){return n.replace(/-(\w)/g,(e,t)=>t?t.toUpperCase():"")}function we(n){return n.charAt(0).toUpperCase()+n.slice(1)}function Ae(n){return n.replace(/(?:^|\B)([A-Z])/g,"-$1").toLowerCase()}var Ue=["Webkit","Moz","ms"];function Ve(n){let e={};function t(r){let s=e[r];if(s)return s;let i=qe(r);if(i!=="filter"&&i in n)return e[r]=Ae(i);i=we(i);for(let a=0;a<Ue.length;a++){let c=`${Ue[a]}${i}`;if(c in n)return e[r]=Ae(we(c))}return r}return({entries:r})=>r.forEach(s=>{s[0].startsWith("--")||(s[0]=t(s[0]))})}function $e(n){return n.replace(/&/g,"&").replace(/>/g,">").replace(/</g,"<")}function ae(n={}){if(typeof window>"u"){console.warn("@unocss/runtime been used in non-browser environment, skipped.");return}let e=window,t=window.document,r=()=>t.documentElement,s=e.__unocss||{},i=Object.assign({},n,s.runtime),a=i.defaults||{},c=i.cloakAttribute??"un-cloak";i.autoPrefix&&(a.postprocess=V(a.postprocess)).unshift(Ve(t.createElement("div").style)),i.configResolved?.(s,a);let u=ve(s,a),p=y=>i.inject?i.inject(y):r().prepend(y),l=()=>i.rootElement?i.rootElement():t.body,f=new Map,x=!0,S=new Set,v,M,T=[],$=()=>new Promise(y=>{T.push(y),M!=null&&clearTimeout(M),M=setTimeout(()=>E().then(()=>{let C=T;T=[],C.forEach(h=>h())}),0)});function m(y,C=!1){if(y.nodeType!==1)return;let h=y;h.hasAttribute(c)&&h.removeAttribute(c),C&&h.querySelectorAll(`[${c}]`).forEach(b=>{b.removeAttribute(c)})}function g(y,C){let h=f.get(y);if(!h)if(h=t.createElement("style"),h.setAttribute("data-unocss-runtime-layer",y),f.set(y,h),C==null)p(h);else{let b=g(C),U=b.parentNode;U?U.insertBefore(h,b.nextSibling):p(h)}return h}async function E(){let y=[...S],C=await u.generate(y);return C.layers.reduce((b,U)=>(g(U,b).innerHTML=C.getLayer(U)??"",U),void 0),y.filter(b=>!C.matched.has(b)).forEach(b=>S.delete(b)),{...C,getStyleElement:b=>f.get(b),getStyleElements:()=>f}}async function P(y){let C=S.size;await u.applyExtractors(y,void 0,S),C!==S.size&&await $()}async function o(y=l()){let C=y&&y.outerHTML;C&&(await P(`${C} ${$e(C)}`),m(r()),m(y,!0))}let d=new MutationObserver(y=>{x||y.forEach(async C=>{if(C.target.nodeType!==1)return;let h=C.target;for(let b of f)if(h===b[1])return;if(C.type==="childList")C.addedNodes.forEach(async b=>{if(b.nodeType!==1)return;let U=b;v&&!v(U)||(await P(U.outerHTML),m(U))});else{if(v&&!v(h))return;if(C.attributeName!==c){let b=Array.from(h.attributes).map(L=>L.value?`${L.name}="${L.value}"`:L.name).join(" "),U=`<${h.tagName.toLowerCase()} ${b}>`;await P(U)}m(h)}})}),R=!1;function A(){if(R)return;let y=i.observer?.target?i.observer.target():l();y&&(d.observe(y,{childList:!0,subtree:!0,attributes:!0,attributeFilter:i.observer?.attributeFilter}),R=!0)}function j(){i.bypassDefined&&Ze(u.blocked),o(),A()}function k(){t.readyState==="loading"?e.addEventListener("DOMContentLoaded",j):j()}let I=e.__unocss_runtime=e.__unocss_runtime={version:u.version,uno:u,async extract(y){w(y)||(y.forEach(C=>S.add(C)),y=""),await P(y)},extractAll:o,inspect(y){v=y},toggleObserver(y){y===void 0?x=!x:x=!!y,!R&&!x&&k()},update:E,presets:e.__unocss_runtime?.presets??{}};i.ready?.(I)!==!1&&(x=!1,k())}function Ze(n=new Set){for(let e=0;e<document.styleSheets.length;e++){let t=document.styleSheets[e],r;try{if(r=t.cssRules||t.rules,!r)continue;Array.from(r).flatMap(s=>s.selectorText?.split(/,/g)||[]).forEach(s=>{s&&(s=s.trim(),s.startsWith(".")&&(s=s.slice(1)),n.add(s))})}catch{continue}}return n}ae();})();
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { UserConfig, GenerateResult, UserConfigDefaults, UnoGenerator } from '@unocss/core';
|
|
2
|
+
import { Theme } from '@unocss/preset-uno';
|
|
2
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Define UnoCSS config
|
|
6
|
+
*/
|
|
7
|
+
declare function defineConfig<T extends object = Theme>(config: UserConfig<T>): UserConfig<T>;
|
|
3
8
|
interface RuntimeGenerateResult extends GenerateResult {
|
|
4
9
|
getStyleElement: (name: string) => HTMLStyleElement | undefined;
|
|
5
10
|
getStyleElements: () => Map<string, HTMLStyleElement>;
|
|
@@ -123,4 +128,4 @@ declare global {
|
|
|
123
128
|
}
|
|
124
129
|
declare function init(inlineConfig?: RuntimeOptions): void;
|
|
125
130
|
|
|
126
|
-
export { type RuntimeContext, type RuntimeGenerateResult, type RuntimeInspectorCallback, type RuntimeObserverConfig, type RuntimeOptions, init as default };
|
|
131
|
+
export { type RuntimeContext, type RuntimeGenerateResult, type RuntimeInspectorCallback, type RuntimeObserverConfig, type RuntimeOptions, init as default, defineConfig };
|
package/dist/index.js
CHANGED
|
@@ -39,6 +39,9 @@ function decodeHtml(html) {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
// src/index.ts
|
|
42
|
+
function defineConfig(config) {
|
|
43
|
+
return config;
|
|
44
|
+
}
|
|
42
45
|
function init(inlineConfig = {}) {
|
|
43
46
|
if (typeof window == "undefined") {
|
|
44
47
|
console.warn("@unocss/runtime been used in non-browser environment, skipped.");
|
|
@@ -248,5 +251,6 @@ function getDefinedCssSelectors(selectors = /* @__PURE__ */ new Set()) {
|
|
|
248
251
|
return selectors;
|
|
249
252
|
}
|
|
250
253
|
export {
|
|
251
|
-
init as default
|
|
254
|
+
init as default,
|
|
255
|
+
defineConfig
|
|
252
256
|
};
|