64 lines
735 KiB
JavaScript
64 lines
735 KiB
JavaScript
|
/*!-----------------------------------------------------------------------------
|
||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
* Version: 0.32.1(29a273516805a852aa8edc5e05059f119b13eff0)
|
||
|
* Released under the MIT license
|
||
|
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
||
|
*-----------------------------------------------------------------------------*/
|
||
|
define("vs/language/css/cssWorker", ["require","require"],(require)=>{
|
||
|
var moduleExports=(()=>{var Un=Object.defineProperty;var Jo=Object.getOwnPropertyDescriptor;var Xo=Object.getOwnPropertyNames;var Yo=Object.prototype.hasOwnProperty;var Qo=n=>Un(n,"__esModule",{value:!0});var Zo=(n,e)=>{for(var t in e)Un(n,t,{get:e[t],enumerable:!0})},ea=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Xo(e))!Yo.call(n,i)&&(t||i!=="default")&&Un(n,i,{get:()=>e[i],enumerable:!(r=Jo(e,i))||r.enumerable});return n};var ta=(n=>(e,t)=>n&&n.get(e)||(t=ea(Qo({}),e,1),n&&n.set(e,t),t))(typeof WeakMap!="undefined"?new WeakMap:0);var $s={};Zo($s,{CSSWorker:()=>Vr,create:()=>Bs});var l;(function(n){n[n.Ident=0]="Ident",n[n.AtKeyword=1]="AtKeyword",n[n.String=2]="String",n[n.BadString=3]="BadString",n[n.UnquotedString=4]="UnquotedString",n[n.Hash=5]="Hash",n[n.Num=6]="Num",n[n.Percentage=7]="Percentage",n[n.Dimension=8]="Dimension",n[n.UnicodeRange=9]="UnicodeRange",n[n.CDO=10]="CDO",n[n.CDC=11]="CDC",n[n.Colon=12]="Colon",n[n.SemiColon=13]="SemiColon",n[n.CurlyL=14]="CurlyL",n[n.CurlyR=15]="CurlyR",n[n.ParenthesisL=16]="ParenthesisL",n[n.ParenthesisR=17]="ParenthesisR",n[n.BracketL=18]="BracketL",n[n.BracketR=19]="BracketR",n[n.Whitespace=20]="Whitespace",n[n.Includes=21]="Includes",n[n.Dashmatch=22]="Dashmatch",n[n.SubstringOperator=23]="SubstringOperator",n[n.PrefixOperator=24]="PrefixOperator",n[n.SuffixOperator=25]="SuffixOperator",n[n.Delim=26]="Delim",n[n.EMS=27]="EMS",n[n.EXS=28]="EXS",n[n.Length=29]="Length",n[n.Angle=30]="Angle",n[n.Time=31]="Time",n[n.Freq=32]="Freq",n[n.Exclamation=33]="Exclamation",n[n.Resolution=34]="Resolution",n[n.Comma=35]="Comma",n[n.Charset=36]="Charset",n[n.EscapedJavaScript=37]="EscapedJavaScript",n[n.BadEscapedJavaScript=38]="BadEscapedJavaScript",n[n.Comment=39]="Comment",n[n.SingleLineComment=40]="SingleLineComment",n[n.EOF=41]="EOF",n[n.CustomToken=42]="CustomToken"})(l||(l={}));var Br=function(){function n(e){this.source=e,this.len=e.length,this.position=0}return n.prototype.substring=function(e,t){return t===void 0&&(t=this.position),this.source.substring(e,t)},n.prototype.eos=function(){return this.len<=this.position},n.prototype.pos=function(){return this.position},n.prototype.goBackTo=function(e){this.position=e},n.prototype.goBack=function(e){this.position-=e},n.prototype.advance=function(e){this.position+=e},n.prototype.nextChar=function(){return this.source.charCodeAt(this.position++)||0},n.prototype.peekChar=function(e){return e===void 0&&(e=0),this.source.charCodeAt(this.position+e)||0},n.prototype.lookbackChar=function(e){return e===void 0&&(e=0),this.source.charCodeAt(this.position-e)||0},n.prototype.advanceIfChar=function(e){return e===this.source.charCodeAt(this.position)?(this.position++,!0):!1},n.prototype.advanceIfChars=function(e){if(this.position+e.length>this.source.length)return!1;for(var t=0;t<e.length;t++)if(this.source.charCodeAt(this.position+t)!==e[t])return!1;return this.advance(t),!0},n.prototype.advanceWhileChar=function(e){for(var t=this.position;this.position<this.len&&e(this.source.charCodeAt(this.position));)this.position++;return this.position-t},n}();var jn="a".charCodeAt(0),na="f".charCodeAt(0),$r="z".charCodeAt(0),Vn="A".charCodeAt(0),ra="F".charCodeAt(0),qr="Z".charCodeAt(0),Qt="0".charCodeAt(0),Zt="9".charCodeAt(0),ia="~".charCodeAt(0),oa="^".charCodeAt(0),xt="=".charCodeAt(0),aa="|".charCodeAt(0),tt="-".charCodeAt(0),Kr="_".charCodeAt(0),sa="%".charCodeAt(0),Bn="*".charCodeAt(0),Qr="(".charCodeAt(0),Zr=")".charCodeAt(0),la="<".charCodeAt(0),ca=">".charCodeAt(0),da="@".charCodeAt(0),pa="#".charCodeAt(0),ha="$".charCodeAt(0),$n="\\".charCodeAt(0),Gr="/".charCodeAt(0),nt=`
|
||
|
`.charCodeAt(0),rt="\r".charCodeAt(0),St="\f".charCodeAt(0),Hr='"'.charCodeAt(0),Jr="'".charCodeAt(0),qn=" ".charCodeAt(0),Kn=" ".charCodeAt(0),ua=";".charCodeAt(0),ma=":".charCodeAt(0),fa="{".charCodeAt(0),ga="}".charCodeAt(0),ba="[".charCodeAt(0),va="]".charCodeAt(0),ya=",".charCodeAt(0),Xr=".".charCodeAt(0),Yr="!".charCodeAt(0),ve={};ve[ua]=l.SemiColon;ve[ma]=l.Colon;ve[fa]=l.CurlyL;ve[ga]=l.CurlyR;ve[va]=l.BracketR;ve[ba]=l.BracketL;ve[Qr]=l.ParenthesisL;ve[Zr]=l.ParenthesisR;ve[ya]=l.Comma;var G={};G.em=l.EMS;G.ex=l.EXS;G.px=l.Length;G.cm=l.Length;G.mm=l.Length;G.in=l.Length;G.pt=l.Length;G.pc=l.Length;G.deg=l.Angle;G.rad=l.Angle;G.grad=l.Angle;G.ms=l.Time;G.s=l.Time;G.hz=l.Freq;G.khz=l.Freq;G["%"]=l.Percentage;G.fr=l.Percentage;G.dpi=l.Resolution;G.dpcm=l.Resolution;var ye=function(){function n(){this.stream=new Br(""),this.ignoreComment=!0,this.ignoreWhitespace=!0,this.inURL=!1}return n.prototype.setSource=function(e){this.stream=new Br(e)},n.prototype.finishToken=function(e,t,r){return{offset:e,len:this.stream.pos()-e,type:t,text:r||this.stream.substring(e)}},n.prototype.substring=function(e,t){return this.stream.substring(e,e+t)},n.prototype.pos=function(){return this.stream.pos()},n.prototype.goBackTo=function(e){this.stream.goBackTo(e)},n.prototype.scanUnquotedString=function(){var e=this.stream.pos(),t=[];return this._unquotedString(t)?this.finishToken(e,l.UnquotedString,t.join("")):null},n.prototype.scan=function(){var e=this.trivia();if(e!==null)return e;var t=this.stream.pos();return this.stream.eos()?this.finishToken(t,l.EOF):this.scanNext(t)},n.prototype.scanNext=function(e){if(this.stream.advanceIfChars([la,Yr,tt,tt]))return this.finishToken(e,l.CDO);if(this.stream.advanceIfChars([tt,tt,ca]))return this.finishToken(e,l.CDC);var t=[];if(this.ident(t))return this.finishToken(e,l.Ident,t.join(""));if(this.stream.advanceIfChar(da))if(t=["@"],this._name(t)){var r=t.join("");return r==="@charset"?this.finishToken(e,l.Charset,r):this.finishToken(e,l.AtKeyword,r)}else return this.finishToken(e,l.Delim);if(this.stream.advanceIfChar(pa))return t=["#"],this._name(t)?this.finishToken(e,l.Hash,t.join("")):this.finishToken(e,l.Delim);if(this.stream.advanceIfChar(Yr))return this.finishToken(e,l.Exclamation);if(this._number()){var i=this.stream.pos();if(t=[this.stream.substring(e,i)],this.stream.advanceIfChar(sa))return this.finishToken(e,l.Percentage);if(this.ident(t)){var o=this.stream.substring(i).toLowerCase(),a=G[o];return typeof a<"u"?this.finishToken(e,a,t.join("")):this.finishToken(e,l.Dimension,t.join(""))}return this.finishToken(e,l.Num)}t=[];var s=this._string(t);return s!==null?this.finishToken(e,s,t.join("")):(s=ve[this.stream.peekChar()],typeof s<"u"?(this.stream.advance(1),this.finishToken(e,s)):this.stream.peekChar(0)===ia&&this.stream.peekChar(1)===xt?(this.stream.advance(2),this.finishToken(e,l.Includes)):this.stream.peekChar(0)===aa&&this.stream.peekChar(1)===xt?(this.stream.advance(2),this.finishToken(e,l.Dashmatch)):this.stream.peekChar(0)===Bn&&this.stream.peekChar(1)===xt?(this.stream.advance(2),this.finishToken(e,l.SubstringOperator)):this.stream.peekChar(0)===oa&&this.stream.peekChar(1)===xt?(this.stream.advance(2),this.finishToken(e,l.PrefixOperator)):this.stream.peekChar(0)===ha&&this.stream.peekChar(1)===xt?(this.stream.advance(2),this.finishToken(e,l.SuffixOperator)):(this.stream.nextChar(),this.finishToken(e,l.Delim)))},n.prototype.trivia=function(){for(;;){var e=this.stream.pos();if(this._whitespace()){if(!this.ignoreWhitespace)return this.finishToken(e,l.Whitespace)}else if(this.comment()){if(!this.ignoreComment)return this.finishToken(e,l.Comment)}else return null}},n.prototype.comment=function(){if(this.stream.advanceIfChars([Gr,Bn])){var e=!1,t=!1;return this.stream.advanceWhileChar(function(r){return t&&r===Gr?(e=!0,!1):(t=r===Bn,!0)}),e&&this.stream.advance(1),!0}return!1},n.prototype._number=function(){var e=0,t;return this.stream.peekChar()===Xr&&(e=1),t=this.stream.peekChar(e),t>=Qt&&t<=Zt?(this.stream.advance(e+1),this.stream.advanceWhileChar(function(r){return r>=Qt&&r<=Zt||e=
|
||
|
`),!0}return!1},n.prototype._escape=function(e,t){var r=this.stream.peekChar();if(r===$n){this.stream.advance(1),r=this.stream.peekChar();for(var i=0;i<6&&(r>=Qt&&r<=Zt||r>=jn&&r<=na||r>=Vn&&r<=ra);)this.stream.advance(1),r=this.stream.peekChar(),i++;if(i>0){try{var o=parseInt(this.stream.substring(this.stream.pos()-i),16);o&&e.push(String.fromCharCode(o))}catch{}return r===qn||r===Kn?this.stream.advance(1):this._newline([]),!0}if(r!==rt&&r!==St&&r!==nt)return this.stream.advance(1),e.push(String.fromCharCode(r)),!0;if(t)return this._newline(e)}return!1},n.prototype._stringChar=function(e,t){var r=this.stream.peekChar();return r!==0&&r!==e&&r!==$n&&r!==rt&&r!==St&&r!==nt?(this.stream.advance(1),t.push(String.fromCharCode(r)),!0):!1},n.prototype._string=function(e){if(this.stream.peekChar()===Jr||this.stream.peekChar()===Hr){var t=this.stream.nextChar();for(e.push(String.fromCharCode(t));this._stringChar(t,e)||this._escape(e,!0););return this.stream.peekChar()===t?(this.stream.nextChar(),e.push(String.fromCharCode(t)),l.String):l.BadString}return null},n.prototype._unquotedChar=function(e){var t=this.stream.peekChar();return t!==0&&t!==$n&&t!==Jr&&t!==Hr&&t!==Qr&&t!==Zr&&t!==qn&&t!==Kn&&t!==nt&&t!==St&&t!==rt?(this.stream.advance(1),e.push(String.fromCharCode(t)),!0):!1},n.prototype._unquotedString=function(e){for(var t=!1;this._unquotedChar(e)||this._escape(e);)t=!0;return t},n.prototype._whitespace=function(){var e=this.stream.advanceWhileChar(function(t){return t===qn||t===Kn||t===nt||t===St||t===rt});return e>0},n.prototype._name=function(e){for(var t=!1;this._identChar(e)||this._escape(e);)t=!0;return t},n.prototype.ident=function(e){var t=this.stream.pos(),r=this._minus(e);if(r){if(this._minus(e)||this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}}else if(this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}return this.stream.goBackTo(t),!1},n.prototype._identFirstChar=function(e){var t=this.stream.peekChar();return t===Kr||t>=jn&&t<=$r||t>=Vn&&t<=qr||t>=128&&t<=65535?(this.stream.advance(1),e.push(String.fromCharCode(t)),!0):!1},n.prototype._minus=function(e){var t=this.stream.peekChar();return t===tt?(this.stream.advance(1),e.push(String.fromCharCode(t)),!0):!1},n.prototype._identChar=function(e){var t=this.stream.peekChar();return t===Kr||t===tt||t>=jn&&t<=$r||t>=Vn&&t<=qr||t>=Qt&&t<=Zt||t>=128&&t<=65535?(this.stream.advance(1),e.push(String.fromCharCode(t)),!0):!1},n}();function V(n,e){if(n.length<e.length)return!1;for(var t=0;t<e.length;t++)if(n[t]!==e[t])return!1;return!0}function en(n,e){var t=n.length-e.length;return t>0?n.lastIndexOf(e)===t:t===0?n===e:!1}function ei(n,e,t){t===void 0&&(t=4);var r=Math.abs(n.length-e.length);if(r>t)return 0;var i=[],o=[],a,s;for(a=0;a<e.length+1;++a)o.push(0);for(a=0;a<n.length+1;++a)i.push(o);for(a=1;a<n.length+1;++a)for(s=1;s<e.length+1;++s)n[a-1]===e[s-1]?i[a][s]=i[a-1][s-1]+1:i[a][s]=Math.max(i[a-1][s],i[a][s-1]);return i[n.length][e.length]-Math.sqrt(r)}function Gn(n,e){return e===void 0&&(e=!0),n?n.length<140?n:n.slice(0,140)+(e?"\u2026":""):""}function ti(n,e){var t=e.exec(n);return t&&t[0].length?n.substr(0,n.length-t[0].length):n}var D=function(){var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},n(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");n(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}(),h;(function(n){n[n.Undefined=0]="Undefined",n[n.Identifier=1]="Identifier",n[n.Stylesheet=2]="Stylesheet",n[n.Ruleset=3]="Ruleset",n[n.Selector=4]="Selector",n[n.SimpleSelector=5]="SimpleSelector",n[n.SelectorInterpolation=6]="SelectorInterpolation",n[n.SelectorCombinator=7]="SelectorCombinator",n[n.SelectorCombinatorParent=8]="SelectorCombinatorParent",n[n.SelectorCombinatorSibling=9]=
|
||
|
`,o==="\r"&&i+1<t.length&&t.charAt(i+1)===`
|
||
|
`&&i++}r&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},n.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),r=0,i=t.length;if(i===0)return ie.create(0,e);for(;r<i;){var o=Math.floor((r+i)/2);t[o]>e?i=o:r=o+1}var a=r-1;return ie.create(a,e-t[a])},n.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var r=t[e.line],i=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)},Object.defineProperty(n.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),n}(),b;(function(n){var e=Object.prototype.toString;function t(g){return typeof g<"u"}n.defined=t;function r(g){return typeof g>"u"}n.undefined=r;function i(g){return g===!0||g===!1}n.boolean=i;function o(g){return e.call(g)==="[object String]"}n.string=o;function a(g){return e.call(g)==="[object Number]"}n.number=a;function s(g,C,w){return e.call(g)==="[object Number]"&&C<=g&&g<=w}n.numberRange=s;function d(g){return e.call(g)==="[object Number]"&&-2147483648<=g&&g<=2147483647}n.integer=d;function c(g){return e.call(g)==="[object Number]"&&0<=g&&g<=2147483647}n.uinteger=c;function p(g){return e.call(g)==="[object Function]"}n.func=p;function u(g){return g!==null&&typeof g=="object"}n.objectLiteral=u;function f(g,C){return Array.isArray(g)&&g.every(C)}n.typedArray=f})(b||(b={}));var ht=class{constructor(e,t,r,i){this._uri=e,this._languageId=t,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){for(let r of e)if(ht.isIncremental(r)){let i=Gi(r.range),o=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,o)+r.text+this._content.substring(a,this._content.length);let s=Math.max(i.start.line,0),d=Math.max(i.end.line,0),c=this._lineOffsets,p=Ki(r.text,!1,o);if(d-s===p.length)for(let f=0,g=p.length;f<g;f++)c[f+s+1]=p[f];else p.length<1e4?c.splice(s+1,d-s,...p):this._lineOffsets=c=c.slice(0,s+1).concat(p,c.slice(d+1));let u=r.text.length-(a-o);if(u!==0)for(let f=s+1+p.length,g=c.length;f<g;f++)c[f]=c[f]+u}else if(ht.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=t}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Ki(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,i=t.length;if(i===0)return{line:0,character:e};for(;r<i;){let a=Math.floor((r+i)/2);t[a]>e?i=a:r=a+1}let o=r-1;return{line:o,character:e-t[o]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],i=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let t=e;return t!=null&&typeof t.text=="string"&&t.range!==void 0&&(t.rangeLength===void 0||typeof t.rangeLength=="number")}static isFull(e){let t=e;return t!=null&&typeof t.text=="string"&&t.range===void 0&&t.rangeLength===void 0}},_t;(function(n){function e(i,o,a,s){return new ht(i,o,a,s)}n.create=e;function t(i,o,a){if(i instanceof ht)return i.update(o,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}n.update=t;function r(i,o){let a=i.getText(),s=dr(o.map(Ra),(p,u)=>{let f=p.range.start.line-u.range.start.line;return f===0?p.range.start.character-u.range.start.character:f}),d=0,c=[];for(let p of s){let u=i.offsetAt(p.range.start);if(u<d)throw new Error("Overlapping edit");u>d&&c.push(a.substring(d,u)),p.newText.length&&c.push(p.newText),d=i.offsetAt(p.range.end)}return c.push(a.substr(d)),c.join("")}n.applyEdits=r})(_t||(_t={}));function dr(n,
|
||
|
|
||
|
`;case"nonstandard":return`\u{1F6A8}\uFE0F Property is nonstandard. Avoid using it.
|
||
|
|
||
|
`;case"obsolete":return`\u{1F6A8}\uFE0F\uFE0F\uFE0F Property is obsolete. Avoid using it.
|
||
|
|
||
|
`;default:return""}}function Se(n,e,t){var r;if(e?r={kind:"markdown",value:Ma(n,t)}:r={kind:"plaintext",value:Ia(n,t)},r.value!=="")return r}function vn(n){return n=n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&"),n.replace(/</g,"<").replace(/>/g,">")}function Ia(n,e){if(!n.description||n.description==="")return"";if(typeof n.description!="string")return n.description.value;var t="";if((e==null?void 0:e.documentation)!==!1){n.status&&(t+=Xi(n.status)),t+=n.description;var r=Yi(n.browsers);r&&(t+=`
|
||
|
(`+r+")"),"syntax"in n&&(t+=`
|
||
|
|
||
|
Syntax: `.concat(n.syntax))}return n.references&&n.references.length>0&&(e==null?void 0:e.references)!==!1&&(t.length>0&&(t+=`
|
||
|
|
||
|
`),t+=n.references.map(function(i){return"".concat(i.name,": ").concat(i.url)}).join(" | ")),t}function Ma(n,e){if(!n.description||n.description==="")return"";var t="";if((e==null?void 0:e.documentation)!==!1){n.status&&(t+=Xi(n.status)),typeof n.description=="string"?t+=vn(n.description):t+=n.description.kind===ae.Markdown?n.description.value:vn(n.description.value);var r=Yi(n.browsers);r&&(t+=`
|
||
|
|
||
|
(`+vn(r)+")"),"syntax"in n&&n.syntax&&(t+=`
|
||
|
|
||
|
Syntax: `.concat(vn(n.syntax)))}return n.references&&n.references.length>0&&(e==null?void 0:e.references)!==!1&&(t.length>0&&(t+=`
|
||
|
|
||
|
`),t+=n.references.map(function(i){return"[".concat(i.name,"](").concat(i.url,")")}).join(" | ")),t}function Yi(n){return n===void 0&&(n=[]),n.length===0?null:n.map(function(e){var t="",r=e.match(/([A-Z]+)(\d+)?/),i=r[1],o=r[2];return i in Ji&&(t+=Ji[i]),o&&(t+=" "+o),t}).join(", ")}var yn=$(),eo=[{func:"rgb($red, $green, $blue)",desc:yn("css.builtin.rgb","Creates a Color from red, green, and blue values.")},{func:"rgba($red, $green, $blue, $alpha)",desc:yn("css.builtin.rgba","Creates a Color from red, green, blue, and alpha values.")},{func:"hsl($hue, $saturation, $lightness)",desc:yn("css.builtin.hsl","Creates a Color from hue, saturation, and lightness values.")},{func:"hsla($hue, $saturation, $lightness, $alpha)",desc:yn("css.builtin.hsla","Creates a Color from hue, saturation, lightness, and alpha values.")}],Ot={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rebeccapurple:"#663399",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},pr={currentColor:"The value of the 'color' property. The computed value of the 'currentColor' keyword is the computed value of the 'color' property. If the 'currentColor' keyword is set on the 'color' property itself, it is treated as 'color:inherit' at parse time.",transparent:"Fully transparent. This keyword ca
|
||
|
\r":{[()]},*>+`.indexOf(r.charAt(t))===-1;)t--;return r.substring(t+1,e)}function vo(n){return n.toLowerCase()in Ot||/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(n)}var wo=function(){var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},n(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");n(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}(),Za=$(),Er=function(){function n(){this.parent=null,this.children=null,this.attributes=null}return n.prototype.findAttribute=function(e){if(this.attributes)for(var t=0,r=this.attributes;t<r.length;t++){var i=r[t];if(i.name===e)return i.value}return null},n.prototype.addChild=function(e){e instanceof n&&(e.parent=this),this.children||(this.children=[]),this.children.push(e)},n.prototype.append=function(e){if(this.attributes){var t=this.attributes[this.attributes.length-1];t.value=t.value+e}},n.prototype.prepend=function(e){if(this.attributes){var t=this.attributes[0];t.value=e+t.value}},n.prototype.findRoot=function(){for(var e=this;e.parent&&!(e.parent instanceof bt);)e=e.parent;return e},n.prototype.removeChild=function(e){if(this.children){var t=this.children.indexOf(e);if(t!==-1)return this.children.splice(t,1),!0}return!1},n.prototype.addAttr=function(e,t){this.attributes||(this.attributes=[]);for(var r=0,i=this.attributes;r<i.length;r++){var o=i[r];if(o.name===e){o.value+=" "+t;return}}this.attributes.push({name:e,value:t})},n.prototype.clone=function(e){e===void 0&&(e=!0);var t=new n;if(this.attributes){t.attributes=[];for(var r=0,i=this.attributes;r<i.length;r++){var o=i[r];t.addAttr(o.name,o.value)}}if(e&&this.children){t.children=[];for(var a=0;a<this.children.length;a++)t.addChild(this.children[a].clone())}return t},n.prototype.cloneWithParent=function(){var e=this.clone(!1);if(this.parent&&!(this.parent instanceof bt)){var t=this.parent.cloneWithParent();t.addChild(e)}return e},n}();var bt=function(n){wo(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e}(Er);var Fr=function(n){wo(e,n);function e(t){var r=n.call(this)||this;return r.addAttr("name",t),r}return e}(Er);var yo=function(){function n(e){this.quote=e,this.result=[]}return n.prototype.print=function(e){this.result=[],e instanceof bt?e.children&&this.doPrint(e.children,0):this.doPrint([e],0);var t=this.result.join(`
|
||
|
`);return[{language:"html",value:t}]},n.prototype.doPrint=function(e,t){for(var r=0,i=e;r<i.length;r++){var o=i[r];this.doPrintElement(o,t),o.children&&this.doPrint(o.children,t+1)}},n.prototype.writeLine=function(e,t){var r=new Array(e+1).join(" ");this.result.push(r+t)},n.prototype.doPrintElement=function(e,t){var r=e.findAttribute("name");if(e instanceof Fr||r==="\u2026"){this.writeLine(t,r);return}var i=["<"];if(r?i.push(r):i.push("element"),e.attributes)for(var o=0,a=e.attributes;o<a.length;o++){var s=a[o];if(s.name!=="name"){i.push(" "),i.push(s.name);var d=s.value;d&&(i.push("="),i.push(Te.ensure(d,this.quote)))}}i.push(">"),this.writeLine(t,i.join(""))},n}(),Te;(function(n){function e(r,i){return i+t(r)+i}n.ensure=e;function t(r){var i=r.match(/^['"](.*)["']$/);return i?i[1]:r}n.remove=t})(Te||(Te={}));var es=function(){function n(){this.id=0,this.attr=0,this.tag=0}return n}();function xo(n,e){for(var t=new Er,r=0,i=n.getChildren();r<i.length;r++){var o=i[r];switch(o.type){case h.SelectorCombinator:if(e){var a=o.getText().split("&");if(a.length===1){t.addAttr("name",a[0]);break}if(t=e.cloneWithParent(),a[0]){var s=t.findRoot();s.prepend(a[0])}for(var d=1;d<a.length;d++){if(d>1){var c=e.cloneWithParent();t.addChild(c.findRoot()),t=c}t.append(a[d])}}break;case h.SelectorPlaceholder:if(o.matches("@at-root"))return t;case h.ElementNameSelector:var p=o.getText();t.addAttr("name",p==="*"?"element":he(p));break;case h.ClassSelector:t.addAttr("class",he(o.getText().substring(1)));break;case h.IdentifierSelector:t.addAttr("id",he(o.getText().substring(1)));break;case h.MixinDeclaration:t.addAttr("class",o.getName());break;case h.PseudoSelector:t.addAttr(he(o.getText()),"");break;case h.AttributeSelector:var u=o,f=u.getIdentifier();if(f){var g=u.getValue(),C=u.getOperator(),w=void 0;if(g&&C)switch(he(C.getText())){case"|=":w="".concat(Te.remove(he(g.getText())),"-\u2026");break;case"^=":w="".concat(Te.remove(he(g.getText())),"\u2026");break;case"$=":w="\u2026".concat(Te.remove(he(g.getText())));break;case"~=":w=" \u2026 ".concat(Te.remove(he(g.getText()))," \u2026 ");break;case"*=":w="\u2026".concat(Te.remove(he(g.getText())),"\u2026");break;default:w=Te.remove(he(g.getText()));break}t.addAttr(he(f.getText()),w)}break}}return t}function he(n){var e=new ye;e.setSource(n);var t=e.scanUnquotedString();return t?t.text:n}var So=function(){function n(e){this.cssDataManager=e}return n.prototype.selectorToMarkedString=function(e){var t=rs(e);if(t){var r=new yo('"').print(t);return r.push(this.selectorToSpecificityMarkedString(e)),r}else return[]},n.prototype.simpleSelectorToMarkedString=function(e){var t=xo(e),r=new yo('"').print(t);return r.push(this.selectorToSpecificityMarkedString(e)),r},n.prototype.isPseudoElementIdentifier=function(e){var t=e.match(/^::?([\w-]+)/);return t?!!this.cssDataManager.getPseudoElement("::"+t[1]):!1},n.prototype.selectorToSpecificityMarkedString=function(e){var t=this,r=function(o){for(var a=0,s=o.getChildren();a<s.length;a++){var d=s[a];switch(d.type){case h.IdentifierSelector:i.id++;break;case h.ClassSelector:case h.AttributeSelector:i.attr++;break;case h.ElementNameSelector:if(d.matches("*"))break;i.tag++;break;case h.PseudoSelector:var c=d.getText();if(t.isPseudoElementIdentifier(c))i.tag++;else{if(c.match(/^:not/i))break;i.attr++}break}d.getChildren().length>0&&r(d)}},i=new es;return r(e),Za("specificity","[Selector Specificity](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity): ({0}, {1}, {2})",i.id,i.attr,i.tag)},n}();var ts=function(){function n(e){this.prev=null,this.element=e}return n.prototype.processSelector=function(e){var t=null;if(!(this.element instanceof bt)&&e.getChildren().some(function(p){return p.hasChildren()&&p.getChild(0).type===h.SelectorCombinator})){var r=this.element.findRoot();r.parent instanceof bt&&(t=this.element,this.element=r.parent,this.element.removeChild(r),this.prev=null)}for(var i=0,o=e.getChildren();i<o.length;i++){var a=o[i];if(a instanceof xe){if(this.prev instanceof xe){var s=new Fr("\u2026");this.element.addChild(s),this.element=s}else this.p
|
||
|
`.charCodeAt(0),ms="\r".charCodeAt(0),fs="\f".charCodeAt(0),gs="$".charCodeAt(0),bs="#".charCodeAt(0),vs="{".charCodeAt(0),Jt="=".charCodeAt(0),ys="!".charCodeAt(0),ws="<".charCodeAt(0),xs=">".charCodeAt(0),Ir=".".charCodeAt(0),nc="@".charCodeAt(0),Ae=l.CustomToken,Tn=Ae++,yt=Ae++,rc=Ae++,Mr=Ae++,Tr=Ae++,Pr=Ae++,Ar=Ae++,Xt=Ae++,ic=Ae++,Pn=function(n){hs(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.scanNext=function(t){if(this.stream.advanceIfChar(gs)){var r=["$"];if(this.ident(r))return this.finishToken(t,Tn,r.join(""));this.stream.goBackTo(t)}return this.stream.advanceIfChars([bs,vs])?this.finishToken(t,yt):this.stream.advanceIfChars([Jt,Jt])?this.finishToken(t,Mr):this.stream.advanceIfChars([ys,Jt])?this.finishToken(t,Tr):this.stream.advanceIfChar(ws)?this.stream.advanceIfChar(Jt)?this.finishToken(t,Ar):this.finishToken(t,l.Delim):this.stream.advanceIfChar(xs)?this.stream.advanceIfChar(Jt)?this.finishToken(t,Pr):this.finishToken(t,l.Delim):this.stream.advanceIfChars([Ir,Ir,Ir])?this.finishToken(t,Xt):n.prototype.scanNext.call(this,t)},e.prototype.comment=function(){return n.prototype.comment.call(this)?!0:!this.inURL&&this.stream.advanceIfChars([Ao,Ao])?(this.stream.advanceWhileChar(function(t){switch(t){case us:case ms:case fs:return!1;default:return!0}}),!0):!1},e}(ye);var Nr=$(),_r=function(){function n(e,t){this.id=e,this.message=t}return n}();var An={FromExpected:new _r("scss-fromexpected",Nr("expected.from","'from' expected")),ThroughOrToExpected:new _r("scss-throughexpected",Nr("expected.through","'through' or 'to' expected")),InExpected:new _r("scss-fromexpected",Nr("expected.in","'in' expected"))};var ks=function(){var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},n(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");n(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}(),No=function(n){ks(e,n);function e(){return n.call(this,new Pn)||this}return e.prototype._parseStylesheetStatement=function(t){return t===void 0&&(t=!1),this.peek(l.AtKeyword)?this._parseWarnAndDebug()||this._parseControlStatement()||this._parseMixinDeclaration()||this._parseMixinContent()||this._parseMixinReference()||this._parseFunctionDeclaration()||this._parseForward()||this._parseUse()||this._parseRuleset(t)||n.prototype._parseStylesheetAtStatement.call(this,t):this._parseRuleset(!0)||this._parseVariableDeclaration()},e.prototype._parseImport=function(){if(!this.peekKeyword("@import"))return null;var t=this.create(at);if(this.consumeToken(),!t.addChild(this._parseURILiteral())&&!t.addChild(this._parseStringLiteral()))return this.finish(t,m.URIOrStringExpected);for(;this.accept(l.Comma);)if(!t.addChild(this._parseURILiteral())&&!t.addChild(this._parseStringLiteral()))return this.finish(t,m.URIOrStringExpected);return!this.peek(l.SemiColon)&&!this.peek(l.EOF)&&t.setMedialist(this._parseMediaQueryList()),this.finish(t)},e.prototype._parseVariableDeclaration=function(t){if(t===void 0&&(t=[]),!this.peek(Tn))return null;var r=this.create(Oe);if(!r.setVariable(this._parseVariable()))return null;if(!this.accept(l.Colon))return this.finish(r,m.ColonExpected);if(this.prevToken&&(r.colonPosition=this.prevToken.offset),!r.setValue(this._parseExpr()))return this.finish(r,m.VariableValueExpected,[],t);for(;this.peek(l.Exclamation);)if(!r.addChild(this._tryParsePrio())){if(this.consumeToken(),!this.peekRegExp(l.Ident,/^(default|global)$/))return this.finish(r,m.UnknownKeyword);this.consumeToken()}return this.peek(l.SemiColon)&&(r.semicolonPosition=this.token.offset),this.finish(r)},e.prototype._parseMediaCondition=function(){return this._parseInterpolation()||n.prototype._parseMediaCondition.call(this)},e.prototype._parseMediaFeatureName=function(){return this._parseModuleMember()||this._parseFunction()||this._parseIde
|
||
|
$0
|
||
|
}`,insertTextFormat:ee.Snippet,kind:z.Keyword},{label:"@for",documentation:x("scss.builtin.@for","For loop that repeatedly outputs a set of styles for each `$var` in the `from/through` or `from/to` clause."),insertText:"@for \\$${1:var} from ${2:start} ${3|to,through|} ${4:end} {\n $0\n}",insertTextFormat:ee.Snippet,kind:z.Keyword},{label:"@each",documentation:x("scss.builtin.@each","Each loop that sets `$var` to each item in the list or map, then outputs the styles it contains using that value of `$var`."),insertText:"@each \\$${1:var} in ${2:list} {\n $0\n}",insertTextFormat:ee.Snippet,kind:z.Keyword},{label:"@while",documentation:x("scss.builtin.@while","While loop that takes an expression and repeatedly outputs the nested styles until the statement evaluates to `false`."),insertText:`@while \${1:condition} {
|
||
|
$0
|
||
|
}`,insertTextFormat:ee.Snippet,kind:z.Keyword},{label:"@mixin",documentation:x("scss.builtin.@mixin","Defines styles that can be re-used throughout the stylesheet with `@include`."),insertText:`@mixin \${1:name} {
|
||
|
$0
|
||
|
}`,insertTextFormat:ee.Snippet,kind:z.Keyword},{label:"@include",documentation:x("scss.builtin.@include","Includes the styles defined by another mixin into the current rule."),kind:z.Keyword},{label:"@function",documentation:x("scss.builtin.@function","Defines complex operations that can be re-used throughout stylesheets."),kind:z.Keyword}],e.scssModuleLoaders=[{label:"@use",documentation:x("scss.builtin.@use","Loads mixins, functions, and variables from other Sass stylesheets as 'modules', and combines CSS from multiple stylesheets together."),references:[{name:"Sass documentation",url:"https://sass-lang.com/documentation/at-rules/use"}],insertText:"@use $0;",insertTextFormat:ee.Snippet,kind:z.Keyword},{label:"@forward",documentation:x("scss.builtin.@forward","Loads a Sass stylesheet and makes its mixins, functions, and variables available when this stylesheet is loaded with the @use rule."),references:[{name:"Sass documentation",url:"https://sass-lang.com/documentation/at-rules/forward"}],insertText:"@forward $0;",insertTextFormat:ee.Snippet,kind:z.Keyword}],e.scssModuleBuiltIns=[{label:"sass:math",documentation:x("scss.builtin.sass:math","Provides functions that operate on numbers."),references:[{name:"Sass documentation",url:"https://sass-lang.com/documentation/modules/math"}]},{label:"sass:string",documentation:x("scss.builtin.sass:string","Makes it easy to combine, search, or split apart strings."),references:[{name:"Sass documentation",url:"https://sass-lang.com/documentation/modules/string"}]},{label:"sass:color",documentation:x("scss.builtin.sass:color","Generates new colors based on existing ones, making it easy to build color themes."),references:[{name:"Sass documentation",url:"https://sass-lang.com/documentation/modules/color"}]},{label:"sass:list",documentation:x("scss.builtin.sass:list","Lets you access and modify values in lists."),references:[{name:"Sass documentation",url:"https://sass-lang.com/documentation/modules/list"}]},{label:"sass:map",documentation:x("scss.builtin.sass:map","Makes it possible to look up the value associated with a key in a map, and much more."),references:[{name:"Sass documentation",url:"https://sass-lang.com/documentation/modules/map"}]},{label:"sass:selector",documentation:x("scss.builtin.sass:selector","Provides access to Sass\u2019s powerful selector engine."),references:[{name:"Sass documentation",url:"https://sass-lang.com/documentation/modules/selector"}]},{label:"sass:meta",documentation:x("scss.builtin.sass:meta","Exposes the details of Sass\u2019s inner workings."),references:[{name:"Sass documentation",url:"https://sass-lang.com/documentation/modules/meta"}]}],e}(gt);function _o(n){n.forEach(function(e){if(e.documentation&&e.references&&e.references.length>0){var t=typeof e.documentation=="string"?{kind:"markdown",value:e.documentation}:{kind:"markdown",value:e.documentation.value};t.value+=`
|
||
|
|
||
|
`,t.value+=e.references.map(function(r){return"[".concat(r.name,"](").concat(r.url,")")}).join(" | "),e.documentation=t}})}var Fs=function(){var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},n(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");n(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}(),Wo="/".charCodeAt(0),Es=`
|
||
|
`.charCodeAt(0),Ds="\r".charCodeAt(0),zs="\f".charCodeAt(0),Or="`".charCodeAt(0),Wr=".".charCodeAt(0),Rs=l.CustomToken,Nn=Rs++,_n=function(n){Fs(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.scanNext=function(t){var r=this.escapedJavaScript();return r!==null?this.finishToken(t,r):this.stream.advanceIfChars([Wr,Wr,Wr])?this.finishToken(t,Nn):n.prototype.scanNext.call(this,t)},e.prototype.comment=function(){return n.prototype.comment.call(this)?!0:!this.inURL&&this.stream.advanceIfChars([Wo,Wo])?(this.stream.advanceWhileChar(function(t){switch(t){case Es:case Ds:case zs:return!1;default:return!0}}),!0):!1},e.prototype.escapedJavaScript=function(){var t=this.stream.peekChar();return t===Or?(this.stream.advance(1),this.stream.advanceWhileChar(function(r){return r!==Or}),this.stream.advanceIfChar(Or)?l.EscapedJavaScript:l.BadEscapedJavaScript):null},e}(ye);var Ms=function(){var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(r[o]=i[o])},n(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");n(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}(),Lo=function(n){Ms(e,n);function e(){return n.call(this,new _n)||this}return e.prototype._parseStylesheetStatement=function(t){return t===void 0&&(t=!1),this.peek(l.AtKeyword)?this._parseVariableDeclaration()||this._parsePlugin()||n.prototype._parseStylesheetAtStatement.call(this,t):this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseFunction()||this._parseRuleset(!0)},e.prototype._parseImport=function(){if(!this.peekKeyword("@import")&&!this.peekKeyword("@import-once"))return null;var t=this.create(at);if(this.consumeToken(),this.accept(l.ParenthesisL)){if(!this.accept(l.Ident))return this.finish(t,m.IdentifierExpected,[l.SemiColon]);do if(!this.accept(l.Comma))break;while(this.accept(l.Ident));if(!this.accept(l.ParenthesisR))return this.finish(t,m.RightParenthesisExpected,[l.SemiColon])}return!t.addChild(this._parseURILiteral())&&!t.addChild(this._parseStringLiteral())?this.finish(t,m.URIOrStringExpected,[l.SemiColon]):(!this.peek(l.SemiColon)&&!this.peek(l.EOF)&&t.setMedialist(this._parseMediaQueryList()),this.finish(t))},e.prototype._parsePlugin=function(){if(!this.peekKeyword("@plugin"))return null;var t=this.createNode(h.Plugin);return this.consumeToken(),t.addChild(this._parseStringLiteral())?this.accept(l.SemiColon)?this.finish(t):this.finish(t,m.SemiColonExpected):this.finish(t,m.StringLiteralExpected)},e.prototype._parseMediaQuery=function(){var t=n.prototype._parseMediaQuery.call(this);if(!t){var r=this.create(ln);return r.addChild(this._parseVariable())?this.finish(r):null}return t},e.prototype._parseMediaDeclaration=function(t){return t===void 0&&(t=!1),this._tryParseRuleset(t)||this._tryToParseDeclaration()||this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseDetachedRuleSetMixin()||this._parseStylesheetStatement(t)},e.prototype._parseMediaFeatureName=function(){return this._parseIdent()||this._parseVariable()},e.prototype._parseVariableDeclaration=function(t){t===void 0&&(t=[]);var r=this.create(Oe),i=this.mark();if(!r.setVariable(this._parseVariable(!0)))return null;if(this.accept(l.Colon)){if(this.prevToken&&(r.colonPosition=this.prevToken.offset),r.setValue(this._parseDetachedRuleSet()))r.needsSemicolon=!1;else if(!r.setValue(this._parseExpr()))return this.finish(r,m.VariableValueExpected,[],t);r.addChild(this._parsePrio())}else return this.restoreAtMark(i),null;return this.peek(l.SemiColon)&&(r.semicolonPosition=this.token.offset),this.finish(r)},e.prototype._parseDetachedRuleSet=function(){var t=this.mark();if(this.peekDelim("#")||this.peekDelim("."))if(this.consumeToken(),!this.hasWhitespace()&&this.accept(l.ParenthesisL)){var r=this.create(ze);if(r.getParameters().addChild(this._parseMixinParamet
|
||
|
|
||
|
This feature is available since Firefox 55, but is only currently supported with SVG images loaded via chrome:// or resource:// URLs. To experiment with the feature in SVG on the Web it is necessary to set the svg.context-properties.content.enabled pref to true.`},{name:"-moz-float-edge",status:"nonstandard",syntax:"border-box | content-box | margin-box | padding-box",relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-float-edge"}],description:"The non-standard -moz-float-edge CSS property specifies whether the height and width properties of the element include the margin, border, or padding thickness."},{name:"-moz-force-broken-image-icon",status:"nonstandard",syntax:"0 | 1",relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-force-broken-image-icon"}],description:"The -moz-force-broken-image-icon extended CSS property can be used to force the broken image icon to be shown even when a broken image has an alt attribute."},{name:"-moz-image-region",status:"nonstandard",syntax:"<shape> | auto",relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-image-region"}],description:"For certain XUL elements and pseudo-elements that use an image from the list-style-image property, this property specifies a region of the image that is used in place of the whole image. This allows elements to use different pieces of the same image to improve performance."},{name:"-moz-orient",status:"nonstandard",syntax:"inline | block | horizontal | vertical",relevance:0,browsers:["FF6"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-orient"}],description:"The -moz-orient CSS property specifies the orientation of the element to which it's applied."},{name:"-moz-outline-radius",status:"nonstandard",syntax:"<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?",relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius"}],description:"In Mozilla applications like Firefox, the -moz-outline-radius CSS property can be used to give an element's outline rounded corners."},{name:"-moz-outline-radius-bottomleft",status:"nonstandard",syntax:"<outline-radius>",relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomleft"}],description:"In Mozilla applications, the -moz-outline-radius-bottomleft CSS property can be used to round the bottom-left corner of an element's outline."},{name:"-moz-outline-radius-bottomright",status:"nonstandard",syntax:"<outline-radius>",relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomright"}],description:"In Mozilla applications, the -moz-outline-radius-bottomright CSS property can be used to round the bottom-right corner of an element's outline."},{name:"-moz-outline-radius-topleft",status:"nonstandard",syntax:"<outline-radius>",relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topleft"}],description:"In Mozilla applications, the -moz-outline-radius-topleft CSS property can be used to round the top-left corner of an element's outline."},{name:"-moz-outline-radius-topright",status:"nonstandard",syntax:"<outline-radius>",relevance:0,browsers:["FF1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topright"}],description:"In Mozilla applications, the -moz-outline-radius-topright CSS property can be used to round the top-right corner of an element's outline."},{name:"-moz-stack-sizing",status:"nonstandard",syntax:"ignore | stretch-to-fit",relevance:0,description:"-moz-stack-sizing is an extended CSS property. Normally, a stack will change its size so that all of its child elements are completely visible. For example, moving a child of the stac
|
||
|
|
||
|
This property is a shorthand for mask-border-source, mask-border-slice, mask-border-width, mask-border-outset, mask-border-repeat, and mask-border-mode. As with all shorthand properties, any omitted sub-values will be set to their initial value.`},{name:"mask-border-mode",syntax:"luminance | alpha",relevance:50,description:"The mask-border-mode CSS property specifies the blending mode used in a mask border."},{name:"mask-border-outset",syntax:"[ <length> | <number> ]{1,4}",relevance:50,browsers:["E79","S3.1","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-outset"}],description:"The mask-border-outset CSS property specifies the distance by which an element's mask border is set out from its border box."},{name:"mask-border-repeat",syntax:"[ stretch | repeat | round | space ]{1,2}",relevance:50,browsers:["E79","S3.1","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat"}],description:"The mask-border-repeat CSS property defines how the edge regions of a source image are adjusted to fit the dimensions of an element's mask border."},{name:"mask-border-slice",syntax:"<number-percentage>{1,4} fill?",relevance:50,browsers:["E79","S3.1","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-slice"}],description:"The mask-border-slice CSS property divides the image specified by mask-border-source into regions. These regions are used to form the components of an element's mask border."},{name:"mask-border-source",syntax:"none | <image>",relevance:50,browsers:["E79","S3.1","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-source"}],description:`The mask-border-source CSS property specifies the source image used to create an element's mask border.
|
||
|
|
||
|
The mask-border-slice property is used to divide the source image into regions, which are then dynamically applied to the final mask border.`},{name:"mask-border-width",syntax:"[ <length-percentage> | <number> | auto ]{1,4}",relevance:50,browsers:["E79","S3.1","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-border-width"}],description:"The mask-border-width CSS property specifies the width of an element's mask border."},{name:"mask-clip",syntax:"[ <geometry-box> | no-clip ]#",relevance:50,browsers:["E79","FF53","S4","C1","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-clip"}],description:"The mask-clip CSS property determines the area, which is affected by a mask. The painted content of an element must be restricted to this area."},{name:"mask-composite",syntax:"<compositing-operator>#",relevance:50,browsers:["E18","FF53"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/mask-composite"}],description:"The mask-composite CSS property represents a compositing operation used on the current mask layer with the mask layers below it."},{name:"masonry-auto-flow",status:"experimental",syntax:"[ pack | next ] || [ definite-first | ordered ]",relevance:50,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/masonry-auto-flow"}],description:"The masonry-auto-flow CSS property modifies how items are placed when using masonry in CSS Grid Layout."},{name:"math-style",syntax:"normal | compact",relevance:50,browsers:["FF83","S14.1","C83"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/math-style"}],description:"The math-style property indicates whether MathML equations should render with normal or compact height."},{name:"max-lines",status:"experimental",syntax:"none | <integer>",relevance:50,description:"The max-liens property forces a break after a set number of lines"},{name:"offset",syntax:"[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?",relevance:50,browsers:["E79","FF72","C55","O42"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset"}],description:"The offset CSS property is a shorthand property for animating an element along a defined path."},{name:"offset-anchor",syntax:"auto | <position>",relevance:50,browsers:["E79","FF72","C79"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-anchor"}],description:"Defines an anchor point of the box positioned along the path. The anchor point specifies the point of the box which is to be considered as the point that is moved along the path."},{name:"offset-distance",syntax:"<length-percentage>",relevance:50,browsers:["E79","FF72","C55","O42"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-distance"}],description:"The offset-distance CSS property specifies a position along an offset-path."},{name:"offset-path",syntax:"none | ray( [ <angle> && <size> && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]",relevance:50,browsers:["E79","FF72","C55","O45"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-path"}],description:`The offset-path CSS property specifies the offset path where the element gets positioned. The exact element\u2019s position on the offset path is determined by the offset-distance property. An offset path is either a specified path with one or multiple sub-paths or the geometry of a not-styled basic shape. Each shape or path must define an initial position for the computed value of "0" for offset-distance and an initial direction which specifies the rotation of the object to the initial position.
|
||
|
|
||
|
In this specification, a direction (or rotation) of 0 degrees is equivalent to the direction of the positive x-axis in the object\u2019s local coordinate system. In other words, a rotation of 0 degree points to the right side of the UA if the object and its ancestors have no transformation applied.`},{name:"offset-position",status:"experimental",syntax:"auto | <position>",relevance:50,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-position"}],description:"Specifies the initial position of the offset path. If position is specified with static, offset-position would be ignored."},{name:"offset-rotate",syntax:"[ auto | reverse ] || <angle>",relevance:50,browsers:["E79","FF72","C56","O43"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/offset-rotate"}],description:"The offset-rotate CSS property defines the direction of the element while positioning along the offset path."},{name:"overflow-anchor",syntax:"auto | none",relevance:52,browsers:["E79","FF66","C56","O43"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-anchor"}],description:"The overflow-anchor CSS property provides a way to opt out browser scroll anchoring behavior which adjusts scroll position to minimize content shifts."},{name:"overflow-block",syntax:"visible | hidden | clip | scroll | auto",relevance:50,browsers:["FF69"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-block"}],description:"The overflow-block CSS media feature can be used to test how the output device handles content that overflows the initial containing block along the block axis."},{name:"overflow-clip-box",status:"nonstandard",syntax:"padding-box | content-box",relevance:0,browsers:["FF29"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Mozilla/Gecko/Chrome/CSS/overflow-clip-box"}],description:"The overflow-clip-box CSS property specifies relative to which box the clipping happens when there is an overflow. It is short hand for the overflow-clip-box-inline and overflow-clip-box-block properties."},{name:"overflow-clip-margin",syntax:"<visual-box> || <length [0,\u221E]>",relevance:50,browsers:["E90","C90","O76"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-clip-margin"}],description:"The overflow-clip-margin CSS property determines how far outside its bounds an element with overflow: clip may be painted before being clipped."},{name:"overflow-inline",syntax:"visible | hidden | clip | scroll | auto",relevance:50,browsers:["FF69"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-inline"}],description:"The overflow-inline CSS media feature can be used to test how the output device handles content that overflows the initial containing block along the inline axis."},{name:"overscroll-behavior",syntax:"[ contain | none | auto ]{1,2}",relevance:50,browsers:["E18","FF59","C63","O50"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior"}],description:"The overscroll-behavior CSS property is shorthand for the overscroll-behavior-x and overscroll-behavior-y properties, which allow you to control the browser's scroll overflow behavior \u2014 what happens when the boundary of a scrolling area is reached."},{name:"overscroll-behavior-block",syntax:"contain | none | auto",relevance:50,browsers:["E79","FF73","C77","O64"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block"}],description:"The overscroll-behavior-block CSS property sets the browser's behavior when the block direction boundary of a scrolling area is reached."},{name:"overscroll-behavior-inline",syntax:"contain | none | auto",relevance:50,browsers:["E79","FF73","C77","O64"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline"}],description:"The overscroll-behavior-inline CSS property sets the browser's behavior
|
||
|
|
||
|
Specifying any precise animations or physics used to enforce those snap points is not covered by this property but instead left up to the user agent.`},{name:"scroll-snap-type-y",status:"obsolete",syntax:"none | mandatory | proximity",relevance:0,browsers:["FF39"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-y"}],description:`The scroll-snap-type-y CSS property defines how strictly snap points are enforced on the vertical axis of the scroll container in case there is one.
|
||
|
|
||
|
Specifying any precise animations or physics used to enforce those snap points is not covered by this property but instead left up to the user agent.`},{name:"text-combine-upright",syntax:"none | all | [ digits <integer>? ]",relevance:50,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-combine-upright"}],description:`The text-combine-upright CSS property specifies the combination of multiple characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes.
|
||
|
|
||
|
This is used to produce an effect that is known as tate-ch\u016B-yoko (\u7E26\u4E2D\u6A2A) in Japanese, or as \u76F4\u66F8\u6A6B\u5411 in Chinese.`},{name:"text-decoration-skip",status:"experimental",syntax:"none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]",relevance:52,browsers:["S12.1","C57","O44"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip"}],description:"The text-decoration-skip CSS property specifies what parts of the element\u2019s content any text decoration affecting the element must skip over. It controls all text decoration lines drawn by the element and also any text decoration lines drawn by its ancestors."},{name:"text-decoration-skip-ink",syntax:"auto | all | none",relevance:50,browsers:["E79","FF70","Spreview","C64","O50"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink"}],description:"The text-decoration-skip-ink CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders."},{name:"text-decoration-thickness",syntax:"auto | from-font | <length> | <percentage> ",relevance:50,browsers:["E89","FF70","S12.1","C89","O75"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness"}],description:"The text-decoration-thickness CSS property sets the thickness, or width, of the decoration line that is used on text in an element, such as a line-through, underline, or overline."},{name:"text-emphasis",syntax:"<'text-emphasis-style'> || <'text-emphasis-color'>",relevance:50,browsers:["E79","FF46","S7","C25","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis"}],description:"The text-emphasis CSS property is a shorthand property for setting text-emphasis-style and text-emphasis-color in one declaration. This property will apply the specified emphasis mark to each character of the element's text, except separator characters, like spaces, and control characters."},{name:"text-emphasis-color",syntax:"<color>",relevance:50,browsers:["E79","FF46","S7","C25","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color"}],description:"The text-emphasis-color CSS property defines the color used to draw emphasis marks on text being rendered in the HTML document. This value can also be set and reset using the text-emphasis shorthand."},{name:"text-emphasis-position",syntax:"[ over | under ] && [ right | left ]",relevance:50,browsers:["E79","FF46","S7","C25","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position"}],description:"The text-emphasis-position CSS property describes where emphasis marks are drawn at. The effect of emphasis marks on the line height is the same as for ruby text: if there isn't enough place, the line height is increased."},{name:"text-emphasis-style",syntax:"none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>",relevance:50,browsers:["E79","FF46","S7","C25","O15"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style"}],description:"The text-emphasis-style CSS property defines the type of emphasis used. It can also be set, and reset, using the text-emphasis shorthand."},{name:"text-size-adjust",status:"experimental",syntax:"none | auto | <percentage>",relevance:57,browsers:["E79","C54","O41"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-size-adjust"}],description:"The text-size-adjust CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property."},{name:"text-underline-offset",syntax:"auto | <length> | <percentage> ",relevance:50,browsers:["E87","FF70","S12.1","C87","O73"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-underline-offset"}],descrip
|
||
|
|
||
|
A zoom factor of 1.0 or 100% corresponds to no zooming. Larger values are zoomed in. Smaller values are zoomed out.`},{name:"min-zoom",syntax:"auto | <number> | <percentage>",relevance:50,description:`The min-zoom CSS descriptor sets the minimum zoom factor of a document defined by the @viewport at-rule. The browser will not zoom out any further than this, whether automatically or at the user's request.
|
||
|
|
||
|
A zoom factor of 1.0 or 100% corresponds to no zooming. Larger values are zoomed in. Smaller values are zoomed out.`},{name:"orientation",syntax:"auto | portrait | landscape",relevance:50,description:"The orientation CSS @media media feature can be used to apply styles based on the orientation of the viewport (or the page box, for paged media)."},{name:"user-zoom",syntax:"zoom | fixed",relevance:50,description:"The user-zoom CSS descriptor controls whether or not the user can change the zoom factor of a document defined by @viewport."},{name:"viewport-fit",syntax:"auto | contain | cover",relevance:50,description:"The border-block-style CSS property defines the style of the logical block borders of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation."}],atDirectives:[{name:"@charset",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@charset"}],description:"Defines character set of the document."},{name:"@counter-style",browsers:["E91","FF33","C91","O77"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@counter-style"}],description:"Defines a custom counter style."},{name:"@font-face",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@font-face"}],description:"Allows for linking to fonts that are automatically activated when needed. This permits authors to work around the limitation of 'web-safe' fonts, allowing for consistent rendering independent of the fonts available in a given user's environment."},{name:"@font-feature-values",browsers:["FF34","S9.1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@font-feature-values"}],description:"Defines named values for the indices used to select alternate glyphs for a given font family."},{name:"@import",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@import"}],description:"Includes content of another file."},{name:"@keyframes",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@keyframes"}],description:"Defines set of animation key frames."},{name:"@media",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@media"}],description:"Defines a stylesheet for a particular media type."},{name:"@-moz-document",browsers:["FF1.8"],description:"Gecko-specific at-rule that restricts the style rules contained within it based on the URL of the document."},{name:"@-moz-keyframes",browsers:["FF5"],description:"Defines set of animation key frames."},{name:"@-ms-viewport",browsers:["E","IE10"],description:"Specifies the size, zoom factor, and orientation of the viewport."},{name:"@namespace",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@namespace"}],description:"Declares a prefix and associates it with a namespace name."},{name:"@-o-keyframes",browsers:["O12"],description:"Defines set of animation key frames."},{name:"@-o-viewport",browsers:["O11"],description:"Specifies the size, zoom factor, and orientation of the viewport."},{name:"@page",browsers:["E12","FF19","C2","IE8","O6"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@page"}],description:"Directive defines various page parameters."},{name:"@supports",browsers:["E12","FF22","S9","C28","O12.1"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/@supports"}],description:"A conditional group rule whose condition tests whether the user agent supports CSS property:value pairs."},{name:"@-webkit-keyframes",browsers:["C","S4"],description:"Defines set of animation key frames."}],pseudoClasses:[{name:":active",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/:active"}],description:"Applies while an element is being activated by the user. For example, between the times the user presses the mouse button and releases it."},{name:":any-link",browsers:["E79","FF50","S9","C65","O52"],references:[{name:"MDN Referenc
|
||
|
|
||
|
In order to let ::-webkit-progress-value take effect, -webkit-appearance needs to be set to none on the <progress> element.`},{name:"::grammar-error",status:"experimental",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::grammar-error"}],description:"The ::grammar-error CSS pseudo-element represents a text segment which the user agent has flagged as grammatically incorrect."},{name:"::marker",browsers:["E86","FF68","S11.1","C86","O72"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::marker"}],description:"The ::marker CSS pseudo-element selects the marker box of a list item, which typically contains a bullet or number. It works on any element or pseudo-element set to display: list-item, such as the <li> and <summary> elements."},{name:"::part",status:"experimental",browsers:["E79","FF72","S13.1","C73","O60"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::part"}],description:"The ::part CSS pseudo-element represents any element within a shadow tree that has a matching part attribute."},{name:"::placeholder",browsers:["E79","FF51","S10.1","C57","O44"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::placeholder"}],description:"The ::placeholder CSS pseudo-element represents the placeholder text of a form element."},{name:"::slotted",browsers:["E79","FF63","S10","C50","O37"],references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::slotted"}],description:"The :slotted() CSS pseudo-element represents any element that has been placed into a slot inside an HTML template."},{name:"::spelling-error",status:"experimental",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/::spelling-error"}],description:"The ::spelling-error CSS pseudo-element represents a text segment which the user agent has flagged as incorrectly spelled."}]};var On=function(){function n(e){this._properties=[],this._atDirectives=[],this._pseudoClasses=[],this._pseudoElements=[],this.addData(e)}return n.prototype.provideProperties=function(){return this._properties},n.prototype.provideAtDirectives=function(){return this._atDirectives},n.prototype.providePseudoClasses=function(){return this._pseudoClasses},n.prototype.providePseudoElements=function(){return this._pseudoElements},n.prototype.addData=function(e){if(Array.isArray(e.properties))for(var t=0,r=e.properties;t<r.length;t++){var i=r[t];Ns(i)&&this._properties.push(i)}if(Array.isArray(e.atDirectives))for(var o=0,a=e.atDirectives;o<a.length;o++){var i=a[o];_s(i)&&this._atDirectives.push(i)}if(Array.isArray(e.pseudoClasses))for(var s=0,d=e.pseudoClasses;s<d.length;s++){var i=d[s];Os(i)&&this._pseudoClasses.push(i)}if(Array.isArray(e.pseudoElements))for(var c=0,p=e.pseudoElements;c<p.length;c++){var i=p[c];Ws(i)&&this._pseudoElements.push(i)}},n}();function Ns(n){return typeof n.name=="string"}function _s(n){return typeof n.name=="string"}function Os(n){return typeof n.name=="string"}function Ws(n){return typeof n.name=="string"}var Wn=function(){function n(e){this.dataProviders=[],this._propertySet={},this._atDirectiveSet={},this._pseudoClassSet={},this._pseudoElementSet={},this._properties=[],this._atDirectives=[],this._pseudoClasses=[],this._pseudoElements=[],this.setDataProviders((e==null?void 0:e.useDefaultDataProvider)!==!1,(e==null?void 0:e.customDataProviders)||[])}return n.prototype.setDataProviders=function(e,t){var r;this.dataProviders=[],e&&this.dataProviders.push(new On(Lr)),(r=this.dataProviders).push.apply(r,t),this.collectData()},n.prototype.collectData=function(){var e=this;this._propertySet={},this._atDirectiveSet={},this._pseudoClassSet={},this._pseudoElementSet={},this.dataProviders.forEach(function(t){t.provideProperties().forEach(function(r){e._propertySet[r.name]||(e._propertySet[r.name]=r)}),t.provideAtDirectives().forEach(function(r){e._atDirectiveSet[r.name]||(e._atDirectiveSet[r.name]=r)}),t.providePseudoClasses().forEach(function(r){e._pseudoClassSet[r.name]||(e._pseudoClassSet[r.nam
|
||
|
return moduleExports;
|
||
|
});
|