8 lines
40 KiB
JavaScript
Raw Normal View History

2025-09-05 14:59:21 +08:00
import{walkSync as Rt,ELEMENT_NODE as Ct,TEXT_NODE as At}from"../index.js";import{querySelectorAll as St,specificity as ht}from"../selector.js";var Pe="comm",Ie="rule",we="decl";var ce=Math.abs,U=String.fromCharCode;function J(e){return e.trim()}function Y(e,r,t){return e.replace(r,t)}function Ne(e,r,t){return e.indexOf(r,t)}function L(e,r){return e.charCodeAt(r)|0}function S(e,r,t){return e.slice(r,t)}function R(e){return e.length}function ke(e){return e.length}function F(e,r){return r.push(e),e}var ee=1,D=1,Oe=0,N=0,T=0,G="";function te(e,r,t,o,n,i,a,s){return{value:e,root:r,parent:t,type:o,props:n,children:i,line:ee,column:D,length:a,return:"",siblings:s}}function Re(){return T}function Ce(){return T=N>0?L(G,--N):0,D--,T===10&&(D=1,ee--),T}function k(){return T=N<Oe?L(G,N++):0,D++,T===10&&(D=1,ee++),T}function A(){return L(G,N)}function Q(){return N}function re(e,r){return S(G,e,r)}function B(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function Ae(e){return ee=D=1,Oe=R(G=e),N=0,[]}function Se(e){return G="",e}function ne(e){return J(re(N-1,de(e===91?e+2:e===40?e+1:e)))}function _e(e){for(;(T=A())&&T<33;)k();return B(e)>2||B(T)>3?"":" "}function Me(e,r){for(;--r&&k()&&!(T<48||T>102||T>57&&T<65||T>70&&T<97););return re(e,Q()+(r<6&&A()==32&&k()==32))}function de(e){for(;k();)switch(T){case e:return N;case 34:case 39:e!==34&&e!==39&&de(T);break;case 40:e===41&&de(e);break;case 92:k();break}return N}function Le(e,r){for(;k()&&e+T!==57;)if(e+T===84&&A()===47)break;return"/*"+re(r,N-1)+"*"+U(e===47?e:k())}function Ve(e){for(;!B(A());)k();return re(e,N)}function fe(e){return Se(oe("",null,null,null,[""],e=Ae(e),0,[0],e))}function oe(e,r,t,o,n,i,a,s,l){for(var p=0,u=0,c=a,d=0,f=0,m=0,v=1,b=1,P=1,y=0,I="",E=n,x=i,g=o,h=I;b;)switch(m=y,y=k()){case 40:if(m!=108&&L(h,c-1)==58){Ne(h+=Y(ne(y),"&","&\f"),"&\f",ce(p?s[p-1]:0))!=-1&&(P=-1);break}case 34:case 39:case 91:h+=ne(y);break;case 9:case 10:case 13:case 32:h+=_e(m);break;case 92:h+=Me(Q()-1,7);continue;case 47:switch(A()){case 42:case 47:F(vt(Le(k(),Q()),r,t,l),l),(B(m||1)==5||B(A()||1)==5)&&R(h)&&S(h,-1,void 0)!==" "&&(h+=" ");break;default:h+="/"}break;case 123*v:s[p++]=R(h)*P;case 125*v:case 59:case 0:switch(y){case 0:case 125:b=0;case 59+u:P==-1&&(h=Y(h,/\f/g,"")),f>0&&(R(h)-c||v===0&&m===47)&&F(f>32?De(h+";",o,t,c-1,l):De(Y(h," ","")+";",o,t,c-2,l),l);break;case 59:h+=";";default:if(F(g=Fe(h,r,t,p,u,n,s,I,E=[],x=[],c,i),i),y===123)if(u===0)oe(h,r,g,g,E,i,c,s,x);else switch(d===99&&L(h,3)===110?100:d){case 100:case 108:case 109:case 115:oe(e,g,g,o&&F(Fe(e,g,g,0,0,n,s,I,n,E=[],c,x),x),n,x,c,s,o?E:x);break;default:oe(h,g,g,g,[""],x,0,s,x)}}p=u=f=0,v=P=1,I=h="",c=a;break;case 58:c=1+R(h),f=m;default:if(v<1){if(y==123)--v;else if(y==125&&v++==0&&Ce()==125)continue}switch(h+=U(y),y*v){case 38:P=u>0?1:(h+="\f",-1);break;case 44:s[p++]=(R(h)-1)*P,P=1;break;case 64:A()===45&&(h+=ne(k())),d=A(),u=c=R(I=h+=Ve(Q())),y++;break;case 45:m===45&&R(h)==2&&(v=0)}}return i}function Fe(e,r,t,o,n,i,a,s,l,p,u,c){for(var d=n-1,f=n===0?i:[""],m=ke(f),v=0,b=0,P=0;v<o;++v)for(var y=0,I=S(e,d+1,d=ce(b=a[v])),E=e;y<m;++y)(E=J(b>0?f[y]+" "+I:Y(I,/&\f/g,f[y])))&&(l[P++]=E);return te(e,r,t,n===0?Ie:s,l,p,u,c)}function vt(e,r,t,o){return te(e,r,t,Pe,U(Re()),S(e,2,-2),0,o)}function De(e,r,t,o,n){return te(e,r,t,we,S(e,0,o),S(e,o+1,-1),o,n)}var C=e=>typeof e=="object"&&e!==null&&"errid"in e,yt=e=>{let r=[[]],t=[];for(let o of e)if(o.type==="comma"&&t.length===0)r.push([]);else{switch(o.type){case"function":case"(":t.push(")");break;case"[":t.push("]");break;case"{":t.push("}");break;case")":case"]":case"}":t.at(-1)===o.type&&t.pop();break}r[r.length-1].push(o)}return r},Be=e=>{let r=yt(e);if(r.length===1&&r[0].length===0)return{type:"query-list",mediaQueries:[{type:"query"}]};{let t=[];for(let o of r){let n=Ge(o);C(n)?t.push({type:"query",prefix:"not"}):t.push(n)}return{type:"query-list",mediaQueries:t}}},Ge=
`),a=fe(i),s=new Map;function l(u){if(u.type==="rule"){let c=Object.fromEntries(u.children.map(d=>[d.props,d.children]));for(let d of u.props){let f=Object.assign(s.get(d)??{},c);s.set(d,f)}}else if(u.type==="@media"&&(e!=null&&e.env)){let c=Mt(e.env),f=(Array.isArray(u.props)?u.props:[u.props]).map(m=>ft(m));for(let m of f)if(mt(m,c)){for(let v of u.children)l(v);return}}}for(let u of a)l(u);let p=new Map;for(let[u,c]of Array.from(s).sort(([d],[f])=>{let m=ht(d),v=ht(f);return m>v?1:v>m?-1:0})){let d=St(t,u);for(let f of d){let m=p.get(f)??{};p.set(f,Object.assign(m,c))}}for(let[u,c]of p){let d=u.attributes.style??"",f={};for(let m of fe(d))m.type==="decl"&&typeof m.props=="string"&&typeof m.children=="string"&&(f[m.props]=m.children);f=Object.assign({},c,f),r?u.attributes.style=f:u.attributes.style=`${Object.entries(f).map(([m,v])=>`${m}:${v.replace("!important","")};`).join("")}`}return t}}function Mt(e){let{width:r,height:t,dppx:o=1,widthPx:n=r,heightPx:i=t,deviceWidthPx:a=r*o,deviceHeightPx:s=t*o,...l}=e;return{widthPx:n,heightPx:i,deviceWidthPx:a,deviceHeightPx:s,dppx:o,...l}}export{_t as default};
/*! Bundled license information:
media-query-parser/dist/index.js:
(**! media-query-parser | Tom Golden <oss@tom.bio> (https://tom.bio) | @license MIT *)
*/