rsnext/packages/next/compiled/postcss-scss/scss-syntax.js

1 line
12 KiB
JavaScript
Raw Normal View History

(()=>{var e={814:(e,t,r)=>{const{Container:s}=r(977);class NestedDeclaration extends s{constructor(e){super(e);this.type="decl";this.isNested=true;if(!this.nodes)this.nodes=[]}}e.exports=NestedDeclaration},860:(e,t,r)=>{let{Input:s}=r(977);let i=r(503);e.exports=function scssParse(e,t){let r=new s(e,t);let n=new i(r);n.parse();return n.root}},503:(e,t,r)=>{let{Comment:s}=r(977);let i=r(46);let n=r(814);let l=r(510);class ScssParser extends i{createTokenizer(){this.tokenizer=l(this.input)}rule(e){let t=false;let r=0;let s="";for(let i of e){if(t){if(i[0]!=="comment"&&i[0]!=="{"){s+=i[1]}}else if(i[0]==="space"&&i[1].includes("\n")){break}else if(i[0]==="("){r+=1}else if(i[0]===")"){r-=1}else if(r===0&&i[0]===":"){t=true}}if(!t||s.trim()===""||/^[#:A-Za-z-]/.test(s)){super.rule(e)}else{e.pop();let t=new n;this.init(t,e[0][2]);let r;for(let t=e.length-1;t>=0;t--){if(e[t][0]!=="space"){r=e[t];break}}if(r[3]){let e=this.input.fromOffset(r[3]);t.source.end={offset:r[3],line:e.line,column:e.col}}else{let e=this.input.fromOffset(r[2]);t.source.end={offset:r[2],line:e.line,column:e.col}}while(e[0][0]!=="word"){t.raws.before+=e.shift()[1]}if(e[0][2]){let r=this.input.fromOffset(e[0][2]);t.source.start={offset:e[0][2],line:r.line,column:r.col}}t.prop="";while(e.length){let r=e[0][0];if(r===":"||r==="space"||r==="comment"){break}t.prop+=e.shift()[1]}t.raws.between="";let s;while(e.length){s=e.shift();if(s[0]===":"){t.raws.between+=s[1];break}else{t.raws.between+=s[1]}}if(t.prop[0]==="_"||t.prop[0]==="*"){t.raws.before+=t.prop[0];t.prop=t.prop.slice(1)}t.raws.between+=this.spacesAndCommentsFromStart(e);this.precheckMissedSemicolon(e);for(let r=e.length-1;r>0;r--){s=e[r];if(s[1]==="!important"){t.important=true;let s=this.stringFrom(e,r);s=this.spacesFromEnd(e)+s;if(s!==" !important"){t.raws.important=s}break}else if(s[1]==="important"){let s=e.slice(0);let i="";for(let e=r;e>0;e--){let t=s[e][0];if(i.trim().indexOf("!")===0&&t!=="space"){break}i=s.pop()[1]+i}if(i.trim().indexOf("!")===0){t.important=true;t.raws.important=i;e=s}}if(s[0]!=="space"&&s[0]!=="comment"){break}}this.raw(t,"value",e);if(t.value.includes(":")){this.checkMissedSemicolon(e)}this.current=t}}comment(e){if(e[4]==="inline"){let t=new s;this.init(t,e[2]);t.raws.inline=true;let r=this.input.fromOffset(e[3]);t.source.end={offset:e[3],line:r.line,column:r.col};let i=e[1].slice(2);if(/^\s*$/.test(i)){t.text="";t.raws.left=i;t.raws.right=""}else{let e=i.match(/^(\s*)([^]*\S)(\s*)$/);let r=e[2].replace(/(\*\/|\/\*)/g,"*//*");t.text=r;t.raws.left=e[1];t.raws.right=e[3];t.raws.text=e[2]}}else{super.comment(e)}}atrule(e){let t=e[1];let r=e;while(!this.tokenizer.endOfFile()){let e=this.tokenizer.nextToken();if(e[0]==="word"&&e[2]===r[3]+1){t+=e[1];r=e}else{this.tokenizer.back(e);break}}super.atrule(["at-word",t,e[2],r[3]])}raw(e,t,r){super.raw(e,t,r);if(e.raws[t]){let s=e.raws[t].raw;e.raws[t].raw=r.reduce(((e,t)=>{if(t[0]==="comment"&&t[4]==="inline"){let r=t[1].slice(2).replace(/(\*\/|\/\*)/g,"*//*");return e+"/*"+r+"*/"}else{return e+t[1]}}),"");if(s!==e.raws[t].raw){e.raws[t].scss=s}}}}e.exports=ScssParser},673:(e,t,r)=>{let s=r(65);class ScssStringifier extends s{comment(e){let t=this.raw(e,"left","commentLeft");let r=this.raw(e,"right","commentRight");if(e.raws.inline){let s=e.raws.text||e.text;this.builder("//"+t+s+r,e)}else{this.builder("/*"+t+e.text+r+"*/",e)}}decl(e,t){if(!e.isNested){super.decl(e,t)}else{let t=this.raw(e,"between","colon");let r=e.prop+t+this.rawValue(e,"value");if(e.important){r+=e.raws.important||" !important"}this.builder(r+"{",e,"start");let s;if(e.nodes&&e.nodes.length){this.body(e);s=this.raw(e,"after")}else{s=this.raw(e,"after","emptyBody")}if(s)this.builder(s);this.builder("}",e,"end")}}rawValue(e,t){let r=e[t];let s=e.raws[t];if(s&&s.value===r){return s.scss?s.scss:s.raw}else{return r}}}e.exports=ScssStringifier},691:(e,t,r)=>{let s=r(673);e.exports=function scssStringify(e,t){let r=new s(t);r.stringify(e)}},878:(e,t,r)=>{let s=r(691);let i=r(860);e.exports={parse:i,stringify:s}},510:e=>{"use strict";const t="'".charCodeAt(0);const r='"'.