diff --git a/dist/less-1.0.23.min.js b/dist/less-1.0.23.min.js deleted file mode 100644 index 6dbac5c2..00000000 --- a/dist/less-1.0.23.min.js +++ /dev/null @@ -1,62 +0,0 @@ -// -// LESS - Leaner CSS v1.0.23 -// http://lesscss.org -// -// Copyright (c) 2010, Alexis Sellier -// Licensed under the Apache 2.0 License. -// -(function(y){function q(d){return y.less[d.split("/")[1]]}function N(d,b){for(var e=0;e0)g.firstChild.nodeValue!==h.nodeValue&&g.replaceChild(h,g.firstChild);else g.appendChild(h)})(document.createTextNode(d));if(e&&C){E("saving "+a+" to cache.");C.setItem(a,d);C.setItem(a+":timestamp",e)}}function V(d,b,e){function g(i,h,n){if(i.status>=200&&i.status<300)h(i.responseText,i.getResponseHeader("Last-Modified"));else typeof n==="function"&&n(i.status,d)}var a=X(),j=I?false:o.async; -a.open("GET",d,j);a.send(null);if(I)a.status===0?b(a.responseText):e(a.status);else if(j)a.onreadystatechange=function(){a.readyState==4&&g(a,b,e)};else g(a,b,e)}function X(){if(y.XMLHttpRequest)return new XMLHttpRequest;else try{return new ActiveXObject("MSXML2.XMLHTTP.3.0")}catch(d){E("browser doesn't support AJAX.");return null}}function W(d){return d&&d.parentNode.removeChild(d)}function E(d){o.env=="development"&&typeof console!=="undefined"&&console.log("less: "+d)}function P(d,b){var e="less-error-message:"+ -b.replace(/[^a-z]+/ig,"-");if(!d.extract)throw d;var g=document.createElement("div"),a;g.id=e;g.className="less-error-message";g.innerHTML="

"+(d.message||"There is an error in your .less file")+'

'+b+" on line "+d.line+", column "+(d.column+1)+":

"+'
\n
[-1]{0}
\n
[0]{current}
\n
[1]{2}
\n
'.replace(/\[(-?\d)\]/g,function(j,i){return parseInt(d.line)+parseInt(i)||""}).replace(/\{(\d)\}/g, -function(j,i){return d.extract[parseInt(i)]||""}).replace(/\{current\}/,d.extract[1].slice(0,d.column)+''+d.extract[1].slice(d.column)+"");H(".less-error-message span {\nmargin-right: 15px;\n}\n.less-error-message pre {\ncolor: #ee4444;\npadding: 4px 0;\nmargin: 0;\n}\n.less-error-message pre.ctx {\ncolor: #dd7777;\n}\n.less-error-message h3 {\npadding: 15px 0 5px 0;\nmargin: 0;\n}\n.less-error-message a {\ncolor: #10a\n}\n.less-error-message .error {\ncolor: red;\nfont-weight: bold;\npadding-bottom: 2px;\nborder-bottom: 1px dashed red;\n}", -{title:"error-message"});g.style.cssText="font-family: Arial, sans-serif;border: 1px solid #e00;background-color: #eee;border-radius: 5px;-webkit-border-radius: 5px;-moz-border-radius: 5px;color: #e00;padding: 15px;margin-bottom: 15px";if(o.env=="development")a=setInterval(function(){if(document.body){document.getElementById(e)?document.body.replaceChild(g,document.getElementById(e)):document.body.insertBefore(g,document.body.firstChild);clearInterval(a)}},10)}if(!Array.isArray)Array.isArray=function(d){return Object.prototype.toString.call(d)=== -"[object Array]"||d instanceof Array};if(!Array.prototype.forEach)Array.prototype.forEach=function(d,b){for(var e=this.length>>>0,g=0;g>>0,g=new Array(e),a=0;a>>0,e=0;if(b===0&&arguments.length===1)throw new TypeError;if(arguments.length>=2)var g=arguments[1];else{do{if(e in this){g=this[e++];break}if(++e>=b)throw new TypeError;}while(1)}for(;e=e)return-1;if(b<0)b+=e;for(;bD){t[n]=t[n].slice(h-D);D=h}}function a(f){var k,l,p;if(f instanceof -Function)return f.call(Q.parsers);else if(typeof f==="string"){f=i.charAt(h)===f?f:null;k=1;g()}else{g();if(f=f.exec(t[n]))k=f[0].length;else return null}if(f){mem=h+=k;for(p=h+t[n].length-k;h0)if(R.optimization>1){i=i.replace(/\/\*(?:[^*]|\*+[^\/*])*\*+\//g,"");t=function(G){for(var z= -0,A=/[^"'\{\}]+/g,s,B,x,v=0;v=0&&i.charAt(s)!=="\n";s--)x++;throw{name:"NameError",message:v.message,filename:d.filename,index:v.index,line:z+1,callLine:v.call&&B(v.call)+1,callExtract:A[B(v.call)-1],stack:v.stack,column:x,extract:[A[z-1],A[z],A[z+1]]};}}}(l.toCSS);if(h=0&&i.charAt(L)!=="\n";L--)U++;F= -{name:"ParseError",message:"Syntax Error on line "+f,filename:d.filename,line:f,column:U,extract:[p[f-2],p[f-1],p[f]]}}if(this.imports.queue.length>0)S=function(){k(F,l)};else k(F,l)},parsers:{primary:function(){for(var f,k=[];(f=a(this.mixin.definition)||a(this.rule)||a(this.ruleset)||a(this.mixin.call)||a(this.comment)||a(this.directive))||a(/^[\s\n]+/);)f&&k.push(f);return k},comment:function(){var f;if(i.charAt(h)==="/")if(i.charAt(h+1)==="/")return new m.Comment(a(/^\/\/.*/),true);else if(f= -a(/^\/\*(?:[^*]|\*+[^\/*])*\*+\/\n?/))return new m.Comment(f)},entities:{quoted:function(){var f;if(!(i.charAt(h)!=='"'&&i.charAt(h)!=="'"))if(f=a(/^"((?:[^"\\\r\n]|\\.)*)"|'((?:[^'\\\r\n]|\\.)*)'/))return new m.Quoted(f[0],f[1]||f[2])},keyword:function(){var f;if(f=a(/^[A-Za-z-]+/))return new m.Keyword(f)},call:function(){var f,k;if(f=a(/^([\w-]+|%)\(/)){if(f[1].toLowerCase()==="alpha")return a(this.alpha);k=a(this.entities.arguments);if(a(")"))if(f)return new m.Call(f[1],k)}},arguments:function(){for(var f= -[],k;k=a(this.expression);){f.push(k);if(!a(","))break}return f},literal:function(){return a(this.entities.dimension)||a(this.entities.color)||a(this.entities.quoted)},url:function(){var f;if(!(i.charAt(h)!=="u"||!a(/^url\(/))){f=a(this.entities.quoted)||a(/^[-\w%@$\/.&=:;#+?]+/);if(!a(")"))throw new Error("missing closing ) for url()");return new m.URL(f.value?f:new m.Anonymous(f))}},variable:function(){var f,k=h;if(i.charAt(h)==="@"&&(f=a(/^@[\w-]+/)))return new m.Variable(f,k)},color:function(){var f; -if(i.charAt(h)==="#"&&(f=a(/^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})/)))return new m.Color(f[1])},dimension:function(){var f;f=i.charCodeAt(h);if(!(f>57||f<45||f===47))if(f=a(/^(-?\d*\.?\d+)(px|%|em|pc|ex|in|deg|s|ms|pt|cm|mm)?/))return new m.Dimension(f[1],f[2])}},variable:function(){var f;if(i.charAt(h)==="@"&&(f=a(/^(@[\w-]+)\s*:/)))return f[1]},shorthand:function(){var f,k;if(j(/^[@\w.-]+\/[@\w.-]+/))if((f=a(this.entity))&&a("/")&&(k=a(this.entity)))return new m.Shorthand(f,k)},mixin:{call:function(){var f= -[],k,l,p,F=h;k=i.charAt(h);if(!(k!=="."&&k!=="#")){for(;k=a(/^[#.][\w-]+/);){f.push(new m.Element(l,k));l=a(">")}a("(")&&(p=a(this.entities.arguments))&&a(")");if(f.length>0&&(a(";")||j("}")))return new m.mixin.Call(f,p,F)}},definition:function(){var f,k=[],l,p;if(!(i.charAt(h)!=="."||j(/^[^{]*(;|})/)))if(f=a(/^([#.][\w-]+)\s*\(/)){for(f=f[1];l=a(/^@[\w-]+/)||a(this.entities.literal)||a(this.entities.keyword);){if(l[0]==="@")if(a(":"))if(p=a(this.expression))k.push({name:l,value:p});else throw new Error("Expected value"); -else k.push({name:l});else k.push({value:l});if(!a(","))break}if(!a(")"))throw new Error("Expected )");if(l=a(this.block))return new m.mixin.Definition(f,k,l)}}},entity:function(){return a(this.entities.literal)||a(this.entities.variable)||a(this.entities.url)||a(this.entities.call)||a(this.entities.keyword)},end:function(){return a(";")||j("}")},alpha:function(){var f;if(a(/^opacity=/i))if(f=a(/^\d+/)||a(this.entities.variable)){if(!a(")"))throw new Error("missing closing ) for alpha()");return new m.Alpha(f)}}, -element:function(){var f;c=a(this.combinator);if(f=a(/^[.#:]?[\w-]+/)||a("*")||a(this.attribute)||a(/^\([^)@]+\)/))return new m.Element(c,f)},combinator:function(){var f=i.charAt(h);if(f===">"||f==="&"||f==="+"||f==="~"){for(h++;i.charAt(h)===" ";)h++;return new m.Combinator(f)}else if(f===":"&&i.charAt(h+1)===":"){for(h+=2;i.charAt(h)===" ";)h++;return new m.Combinator("::")}else return i.charAt(h-1)===" "?new m.Combinator(" "):new m.Combinator(null)},selector:function(){for(var f,k=[],l;f=a(this.element);){l= -i.charAt(h);k.push(f);if(l==="{"||l==="}"||l===";"||l===",")break}if(k.length>0)return new m.Selector(k)},tag:function(){return a(/^[a-zA-Z][a-zA-Z-]*[0-9]?/)||a("*")},attribute:function(){var f="",k,l,p;if(a("[")){if(k=a(/^[a-z-]+/)||a(this.entities.quoted))f=(p=a(/^[|~*$^]?=/))&&(l=a(this.entities.quoted)||a(/^[\w-]+/))?[k,p,l.toCSS?l.toCSS():l].join(""):k;if(a("]"))if(f)return"["+f+"]"}},block:function(){var f;if(a("{")&&(f=a(this.primary))&&a("}"))return f},ruleset:function(){var f=[],k,l;b(); -if(k=/^([.#: \w-]+)[\s\n]*\{/.exec(t[n])){h+=k[0].length-1;f=[new m.Selector([new m.Element(null,k[1])])]}else{for(;k=a(this.selector);){f.push(k);if(!a(","))break}k&&a(this.comment)}if(f.length>0&&(l=a(this.block)))return new m.Ruleset(f,l);else{u=h;e()}},rule:function(){var f;f=i.charAt(h);var k;b();if(!(f==="."||f==="#"||f==="&"))if(name=a(this.variable)||a(this.property)){if(name.charAt(0)!="@"&&(match=/^([^@+\/*(;{}-]*);/.exec(t[n]))){h+=match[0].length-1;f=new m.Anonymous(match[1])}else f=name=== -"font"?a(this.font):a(this.value);k=a(this.important);if(f&&a(this.end))return new m.Rule(name,f,k,w);else{u=h;e()}}},"import":function(){var f;if(a(/^@import\s+/)&&(f=a(this.entities.quoted)||a(this.entities.url))&&a(";"))return new m.Import(f,T)},directive:function(){var f,k,l;if(i.charAt(h)==="@")if(k=a(this["import"]))return k;else if(f=a(/^@media|@page/)){l=a(/^[^{]+/).trim();if(k=a(this.block))return new m.Directive(f+" "+l,k)}else if(f=a(/^@[-a-z]+/))if(f==="@font-face"){if(k=a(this.block))return new m.Directive(f, -k)}else if((k=a(this.entity))&&a(";"))return new m.Directive(f,k)},font:function(){for(var f=[],k=[],l;l=a(this.shorthand)||a(this.entity);)k.push(l);f.push(new m.Expression(k));if(a(","))for(;l=a(this.expression);){f.push(l);if(!a(","))break}return new m.Value(f)},value:function(){for(var f,k=[];f=a(this.expression);){k.push(f);if(!a(","))break}if(k.length>0)return new m.Value(k)},important:function(){if(i.charAt(h)==="!")return a(/^! *important/)},sub:function(){var f;if(a("(")&&(f=a(this.expression))&& -a(")"))return f},multiplication:function(){var f,k,l,p;if(f=a(this.operand)){for(;(l=a("/")||a("*"))&&(k=a(this.operand));)p=new m.Operation(l,[p||f,k]);return p||f}},addition:function(){var f,k,l,p;if(f=a(this.multiplication)){for(;(l=a(/^[-+]\s+/)||i.charAt(h-1)!=" "&&(a("+")||a("-")))&&(k=a(this.multiplication));)p=new m.Operation(l,[p||f,k]);return p||f}},operand:function(){return a(this.sub)||a(this.entities.dimension)||a(this.entities.color)||a(this.entities.variable)},expression:function(){for(var f, -k=[];f=a(this.addition)||a(this.entity);)k.push(f);if(k.length>0)return new m.Expression(k)},property:function(){var f;if(f=a(/^(\*?-?[-a-z_0-9]+)\s*:/))return f[1]}}}};if(typeof y!=="undefined")o.Parser.importer=function(d,b,e){if(d[0]!=="/"&&b.length>0)d=b[0]+d;O({href:d,title:d},function(g){e(g)})};(function(d){function b(a){return d.functions.hsla(a.h,a.s,a.l,a.a)}function e(a){if(a instanceof d.Dimension)return parseFloat(a.unit=="%"?a.value/100:a.value);else if(typeof a==="number")return a; -else throw{error:"RuntimeError",message:"color functions take numbers as parameters"};}function g(a){return Math.min(1,Math.max(0,a))}d.functions={rgb:function(a,j,i){return this.rgba(a,j,i,1)},rgba:function(a,j,i,h){a=[a,j,i].map(function(n){return e(n)});h=e(h);return new d.Color(a,h)},hsl:function(a,j,i){return this.hsla(a,j,i,1)},hsla:function(a,j,i,h){function n(u){u=u<0?u+1:u>1?u-1:u;return u*6<1?w+(r-w)*u*6:u*2<1?r:u*3<2?w+(r-w)*(2/3-u)*6:w}a=e(a)%360/360;j=e(j);i=e(i);h=e(h);var r=i<=0.5? -i*(j+1):i+j-i*j,w=i*2-r;return this.rgba(n(a+1/3)*255,n(a)*255,n(a-1/3)*255,h)},hue:function(a){return new d.Dimension(Math.round(a.toHSL().h))},saturation:function(a){return new d.Dimension(Math.round(a.toHSL().s*100),"%")},lightness:function(a){return new d.Dimension(Math.round(a.toHSL().l*100),"%")},alpha:function(a){return new d.Dimension(a.toHSL().a)},saturate:function(a,j){a=a.toHSL();a.s+=j.value/100;a.s=g(a.s);return b(a)},desaturate:function(a,j){a=a.toHSL();a.s-=j.value/100;a.s=g(a.s);return b(a)}, -lighten:function(a,j){a=a.toHSL();a.l+=j.value/100;a.l=g(a.l);return b(a)},darken:function(a,j){a=a.toHSL();a.l-=j.value/100;a.l=g(a.l);return b(a)},spin:function(a,j){a=a.toHSL();j=(a.h+j.value)%360;a.h=j<0?360+j:j;return b(a)},greyscale:function(a){return this.desaturate(a,new d.Dimension(100))},e:function(a){return new d.Anonymous(a)},"%":function(a){for(var j=Array.prototype.slice.call(arguments,1),i=a.content,h=0;h255?255:b<0?0:b).toString(16);return b.length===1?"0"+b:b}).join("")},operate:function(b,e){var g=[];e instanceof d.Color||(e=e.toColor());for(var a=0;a<3;a++)g[a]=d.operate(b,this.rgb[a],e.rgb[a]);return new d.Color(g)},toHSL:function(){var b=this.rgb[0]/255,e= -this.rgb[1]/255,g=this.rgb[2]/255,a=this.alpha,j=Math.max(b,e,g),i=Math.min(b,e,g),h,n=(j+i)/2,r=j-i;if(j===i)h=i=0;else{i=n>0.5?r/(2-j-i):r/(j+i);switch(j){case b:h=(e-g)/r+(e":b.compress?">":" > "}[this.value]}})(q("less/tree"));(function(d){d.Expression=function(b){this.value= -b};d.Expression.prototype={eval:function(b){return this.value.length>1?new d.Expression(this.value.map(function(e){return e.eval(b)})):this.value[0].eval(b)},toCSS:function(){return this.value.map(function(b){return b.toCSS()}).join(" ")}}})(q("less/tree"));(function(d){d.Import=function(b,e){var g=this;this._path=b;this.path=b instanceof d.Quoted?/\.(le?|c)ss$/.test(b.content)?b.content:b.content+".less":b.value.content||b.value;(this.css=/css$/.test(this.path))||e.push(this.path,function(a){if(!a)throw new Error("Error parsing "+ -g.path);g.root=a})};d.Import.prototype={toCSS:function(){return this.css?"@import "+this._path.toCSS()+";\n":""},eval:function(){if(this.css)return this;else{for(var b=0;b0){for(j=0;j -1?Array.prototype.push.apply(g,j.find(new d.Selector(b.elements.slice(1)),e)):g.push(j);break}});return this._lookups[a]=g},toCSS:function(b,e){var g=[],a=[],j=[],i=[];if(this.root)for(var h=0;h0){i=i.map(function(r){return r.map(function(w){return w.toCSS(e)}).join("").trim()}).join(e.compress?",":i.length>3?",\n":", ");g.push(i,(e.compress?"{":" {\n ")+a.join(e.compress?"":"\n ")+(e.compress?"}":"\n}\n"))}g.push(j);e.frames.shift();return g.join("")+(e.compress?"\n":"")}}})(q("less/tree"));(function(d){d.Selector=function(b){this.elements=b;if(this.elements[0].combinator.value==="")this.elements[0].combinator.value= -" "};d.Selector.prototype.match=function(b){return this.elements[0].value===b.elements[0].value?true:false};d.Selector.prototype.toCSS=function(b){if(this._css)return this._css;return this._css=this.elements.map(function(e){return typeof e==="string"?" "+e.trim():e.toCSS(b)}).join("")}})(q("less/tree"));(function(d){d.URL=function(b){this.value=b};d.URL.prototype={toCSS:function(){return"url("+this.value.toCSS()+")"},eval:function(){return this}}})(q("less/tree"));(function(d){d.Value=function(b){this.value= -b;this.is="value"};d.Value.prototype={eval:function(b){return this.value.length===1?this.value[0].eval(b):new d.Value(this.value.map(function(e){return e.eval(b)}))},toCSS:function(b){return this.value.map(function(e){return e.toCSS(b)}).join(b.compress?",":", ")}}})(q("less/tree"));(function(d){d.Variable=function(b,e){this.name=b;this.index=e};d.Variable.prototype={eval:function(b){var e,g,a=this.name;if(e=d.find(b.frames,function(j){if(g=j.variable(a))return g.value.eval(b)}))return e;else throw{message:"variable "+ -this.name+" is undefined",index:this.index};}}})(q("less/tree"));q("less/tree").find=function(d,b){for(var e=0,g;e0||I?"development":"production";o.async=false;o.poll=I?1E3:1500;o.watch=function(){return this.watchMode=true};o.unwatch=function(){return this.watchMode=false};if(o.env==="development"){o.optimization= -0;/!watch/.test(location.hash)&&o.watch();o.watchTimer=setInterval(function(){o.watchMode&&N(function(d,b,e){d&&H(d.toCSS(),b,e.lastModified)})},o.poll)}else o.optimization=3;var C=typeof y.localStorage==="undefined"?null:y.localStorage,M=document.getElementsByTagName("link");o.sheets=[];for(var J=0;J 0) { - if (that.optimization > 1) { - input = input.replace(/\/\*(?:[^*]|\*+[^\/*])*\*+\//g, ''); - chunks = (function (chunks) { - var j = 0, - skip = /[^"'\{\}]+/g, - match, - chunk, - inString; + // Split the input into chunks. + chunks = (function (chunks) { + var j = 0, + skip = /[^"'\{\}\/]+/g, + comment = /\/\*(?:[^*]|\*+[^\/*])*\*+\/|\/\/.*/g, + level = 0, + match, + chunk = chunks[0], + inString; - for (var i = 0, c; i < input.length; i++) { - chunk = chunks[j]; + for (var i = 0, c, cc; i < input.length; i++) { + skip.lastIndex = i; + if (match = skip.exec(input)) { + if (match.index === i) { + i += match[0].length; + chunk.push(match[0]); + } + } + c = input.charAt(i); + comment.lastIndex = i; - skip.lastIndex = i; - - if (match = skip.exec(input)) { + if (!inString && c === '/') { + cc = input.charAt(i + 1); + if (cc === '/' || cc === '*') { + if (match = comment.exec(input)) { if (match.index === i) { i += match[0].length; chunk.push(match[0]); + c = input.charAt(i); } } - c = input.charAt(i); - - if (c === '}' && !inString) { - chunk.push(c); - chunks[++j] = []; - } else { - if (c === '"' || c === "'") { - inString = inString === c ? false : c; - } - chunk.push(c); - } } - return chunks.map(function (c) { return c.join('') });; - })([[]]); - } else { - chunks = [input]; + } + + if (c === '{' && !inString) { level ++; + chunk.push(c); + } else if (c === '}' && !inString) { level --; + chunk.push(c); + chunks[++j] = chunk = []; + } else { + if (c === '"' || c === "'") { + if (!inString) { + inString = c; + } else { + inString = inString === c ? false : inString; + } + } + chunk.push(c); + } } - } else { - chunks = [input]; - } - inputLength = input.length; + if (level > 0) { throw new(Error)("Missing closing '}'") } + + return chunks.map(function (c) { return c.join('') });; + })([[]]); // Start with the primary rule. // The whole syntax tree is held under a Ruleset node, @@ -387,18 +396,43 @@ less.Parser = function Parser(env) { root.toCSS = (function (toCSS) { var line, lines, column; - return function (options) { + return function (options, variables) { + var frames = []; + options = options || {}; + // + // Allows setting variables with a hash, so: + // + // `{ color: new(tree.Color)('#f01') }` will become: + // + // new(tree.Rule)('@color', + // new(tree.Value)([ + // new(tree.Expression)([ + // new(tree.Color)('#f01') + // ]) + // ]) + // ) + // + if (typeof(variables) === 'object' && !Array.isArray(variables)) { + variables = Object.keys(variables).map(function (k) { + var value = variables[k]; + + if (! (value instanceof tree.Value)) { + if (! (value instanceof tree.Expression)) { + value = new(tree.Expression)([value]); + } + value = new(tree.Value)([value]); + } + return new(tree.Rule)('@' + k, value, false, 0); + }); + frames = [new(tree.Ruleset)(null, variables)]; + } + try { var css = toCSS.call(this, [], { - frames: [], + frames: frames, compress: options.compress || false }); - if (options.compress) { - return css.replace(/(\s)+/g, "$1"); - } else { - return css; - } } catch (e) { lines = input.split('\n'); line = getLine(e.index); @@ -424,6 +458,11 @@ less.Parser = function Parser(env) { ] }; } + if (options.compress) { + return css.replace(/(\s)+/g, "$1"); + } else { + return css; + } function getLine(index) { return (input.slice(0, index).match(/\n/g) || "").length; @@ -948,7 +987,7 @@ less.Parser = function Parser(env) { if (c === '.' || c === '#' || c === '&') { return } if (name = $(this.variable) || $(this.property)) { - if ((name.charAt(0) != '@') && (match = /^([^@+\/*(;{}-]*);/.exec(chunks[j]))) { + if ((name.charAt(0) != '@') && (match = /^([^@+\/'"*(;{}-]*);/.exec(chunks[j]))) { i += match[0].length - 1; value = new(tree.Anonymous)(match[1]); } else if (name === "font") { @@ -2077,7 +2116,9 @@ require('less/tree').find = function (obj, fun) { // browser.js - client-side engine // -var isFileProtocol = location.protocol === 'file:'; +var isFileProtocol = (location.protocol === 'file:' || + location.protocol === 'chrome:' || + location.protocol === 'resource:'); less.env = location.hostname == '127.0.0.1' || location.hostname == '0.0.0.0' || @@ -2122,21 +2163,40 @@ if (less.env === 'development') { less.optimization = 3; } -var cache = (typeof(window.localStorage) === 'undefined') ? null : window.localStorage; +var cache; + +try { + cache = (typeof(window.localStorage) === 'undefined') ? null : window.localStorage; +} catch (_) { + cache = null; +} // // Get all tags with the 'rel' attribute set to "stylesheet/less" // var links = document.getElementsByTagName('link'); +var typePattern = /^text\/(x-)?less$/; less.sheets = []; for (var i = 0; i < links.length; i++) { - if (links[i].rel === 'stylesheet/less') { + if (links[i].rel === 'stylesheet/less' || (links[i].rel.match(/stylesheet/) && + (links[i].type.match(typePattern)))) { less.sheets.push(links[i]); } } +var styles = document.getElementsByTagName('style'); + +for (var i = 0; i < styles.length; i++) { + if (styles[i].type.match(typePattern)) { + new(less.Parser)().parse(styles[i].innerHTML || '', function (e, tree) { + styles[i].type = 'text/css'; + styles[i].innerHTML = tree.toCSS(); + }); + } +} + var startTime = endTime = new(Date); less.refresh = function (reload) { @@ -2153,7 +2213,7 @@ less.refresh = function (reload) { }, reload); }; -less.refresh(); +less.refresh(less.env === 'development'); function loadStyleSheets(callback, reload) { for (var i = 0; i < less.sheets.length; i++) { @@ -2242,6 +2302,9 @@ function xhr(url, callback, errback) { var xhr = getXMLHttpRequest(); var async = isFileProtocol ? false : less.async; + if (typeof(xhr.overrideMimeType) === 'function') { + xhr.overrideMimeType('text/css'); + } xhr.open('GET', url, async); xhr.send(null); diff --git a/dist/less-1.0.30.min.js b/dist/less-1.0.30.min.js new file mode 100644 index 00000000..3f1e2f18 --- /dev/null +++ b/dist/less-1.0.30.min.js @@ -0,0 +1,63 @@ +// +// LESS - Leaner CSS v1.0.30 +// http://lesscss.org +// +// Copyright (c) 2010, Alexis Sellier +// Licensed under the Apache 2.0 License. +// +(function(F){function q(d){return F.less[d.split("/")[1]]}function R(d,b){for(var e=0;e0)g.firstChild.nodeValue!==h.nodeValue&&g.replaceChild(h,g.firstChild);else g.appendChild(h)})(document.createTextNode(d));if(e&&D){J("saving "+a+" to cache.");D.setItem(a,d);D.setItem(a+":timestamp",e)}}function Z(d,b,e){function g(i,h,n){if(i.status>=200&&i.status<300)h(i.responseText,i.getResponseHeader("Last-Modified"));else typeof n==="function"&&n(i.status,d)}var a=aa(),j=P?false:o.async; +typeof a.overrideMimeType==="function"&&a.overrideMimeType("text/css");a.open("GET",d,j);a.send(null);if(P)a.status===0?b(a.responseText):e(a.status);else if(j)a.onreadystatechange=function(){a.readyState==4&&g(a,b,e)};else g(a,b,e)}function aa(){if(F.XMLHttpRequest)return new XMLHttpRequest;else try{return new ActiveXObject("MSXML2.XMLHTTP.3.0")}catch(d){J("browser doesn't support AJAX.");return null}}function $(d){return d&&d.parentNode.removeChild(d)}function J(d){o.env=="development"&&typeof console!== +"undefined"&&console.log("less: "+d)}function T(d,b){var e="less-error-message:"+b.replace(/[^a-z]+/ig,"-");if(!d.extract)throw d;var g=document.createElement("div"),a;g.id=e;g.className="less-error-message";g.innerHTML="

"+(d.message||"There is an error in your .less file")+'

'+b+" on line "+d.line+", column "+(d.column+1)+":

"+'
\n
[-1]{0}
\n
[0]{current}
\n
[1]{2}
\n
'.replace(/\[(-?\d)\]/g, +function(j,i){return parseInt(d.line)+parseInt(i)||""}).replace(/\{(\d)\}/g,function(j,i){return d.extract[parseInt(i)]||""}).replace(/\{current\}/,d.extract[1].slice(0,d.column)+''+d.extract[1].slice(d.column)+"");O(".less-error-message span {\nmargin-right: 15px;\n}\n.less-error-message pre {\ncolor: #ee4444;\npadding: 4px 0;\nmargin: 0;\n}\n.less-error-message pre.ctx {\ncolor: #dd7777;\n}\n.less-error-message h3 {\npadding: 15px 0 5px 0;\nmargin: 0;\n}\n.less-error-message a {\ncolor: #10a\n}\n.less-error-message .error {\ncolor: red;\nfont-weight: bold;\npadding-bottom: 2px;\nborder-bottom: 1px dashed red;\n}", +{title:"error-message"});g.style.cssText="font-family: Arial, sans-serif;border: 1px solid #e00;background-color: #eee;border-radius: 5px;-webkit-border-radius: 5px;-moz-border-radius: 5px;color: #e00;padding: 15px;margin-bottom: 15px";if(o.env=="development")a=setInterval(function(){if(document.body){document.getElementById(e)?document.body.replaceChild(g,document.getElementById(e)):document.body.insertBefore(g,document.body.firstChild);clearInterval(a)}},10)}if(!Array.isArray)Array.isArray=function(d){return Object.prototype.toString.call(d)=== +"[object Array]"||d instanceof Array};if(!Array.prototype.forEach)Array.prototype.forEach=function(d,b){for(var e=this.length>>>0,g=0;g>>0,g=new Array(e),a=0;a>>0,e=0;if(b===0&&arguments.length===1)throw new TypeError;if(arguments.length>=2)var g=arguments[1];else{do{if(e in this){g=this[e++];break}if(++e>=b)throw new TypeError;}while(1)}for(;e=e)return-1;if(b<0)b+=e;for(;bH){u[n]=u[n].slice(h-H);H=h}}function a(f){var k,l,p;if(f instanceof +Function)return f.call(U.parsers);else if(typeof f==="string"){f=i.charAt(h)===f?f:null;k=1;g()}else{g();if(f=f.exec(u[n]))k=f[0].length;else return null}if(f){mem=h+=k;for(p=h+u[n].length-k;h0)throw new Error("Missing closing '}'");return L.map(function(E){return E.join("")})}([[]]);l=new m.Ruleset([], +a(this.parsers.primary));l.root=true;l.toCSS=function(L){var I,G;return function(A,B){function w(v){return(i.slice(0,v).match(/\n/g)||"").length}var z=[];A=A||{};if(typeof B==="object"&&!Array.isArray(B)){B=Object.keys(B).map(function(v){var E=B[v];if(!(E instanceof m.Value)){E instanceof m.Expression||(E=new m.Expression([E]));E=new m.Value([E])}return new m.Rule("@"+v,E,false,0)});z=[new m.Ruleset(null,B)]}try{var C=L.call(this,[],{frames:z,compress:A.compress||false})}catch(s){G=i.split("\n"); +I=w(s.index);A=s.index;for(z=-1;A>=0&&i.charAt(A)!=="\n";A--)z++;throw{name:"NameError",message:s.message,filename:d.filename,index:s.index,line:I+1,callLine:s.call&&w(s.call)+1,callExtract:G[w(s.call)-1],stack:s.stack,column:z,extract:[G[I-1],G[I],G[I+1]]};}return A.compress?C.replace(/(\s)+/g,"$1"):C}}(l.toCSS);if(h=0&&i.charAt(Q)!=="\n";Q--)X++;K={name:"ParseError",message:"Syntax Error on line "+f,filename:d.filename, +line:f,column:X,extract:[p[f-2],p[f-1],p[f]]}}if(this.imports.queue.length>0)V=function(){k(K,l)};else k(K,l)},parsers:{primary:function(){for(var f,k=[];(f=a(this.mixin.definition)||a(this.rule)||a(this.ruleset)||a(this.mixin.call)||a(this.comment)||a(this.directive))||a(/^[\s\n]+/);)f&&k.push(f);return k},comment:function(){var f;if(i.charAt(h)==="/")if(i.charAt(h+1)==="/")return new m.Comment(a(/^\/\/.*/),true);else if(f=a(/^\/\*(?:[^*]|\*+[^\/*])*\*+\/\n?/))return new m.Comment(f)},entities:{quoted:function(){var f; +if(!(i.charAt(h)!=='"'&&i.charAt(h)!=="'"))if(f=a(/^"((?:[^"\\\r\n]|\\.)*)"|'((?:[^'\\\r\n]|\\.)*)'/))return new m.Quoted(f[0],f[1]||f[2])},keyword:function(){var f;if(f=a(/^[A-Za-z-]+/))return new m.Keyword(f)},call:function(){var f,k;if(f=a(/^([\w-]+|%)\(/)){if(f[1].toLowerCase()==="alpha")return a(this.alpha);k=a(this.entities.arguments);if(a(")"))if(f)return new m.Call(f[1],k)}},arguments:function(){for(var f=[],k;k=a(this.expression);){f.push(k);if(!a(","))break}return f},literal:function(){return a(this.entities.dimension)|| +a(this.entities.color)||a(this.entities.quoted)},url:function(){var f;if(!(i.charAt(h)!=="u"||!a(/^url\(/))){f=a(this.entities.quoted)||a(/^[-\w%@$\/.&=:;#+?]+/);if(!a(")"))throw new Error("missing closing ) for url()");return new m.URL(f.value?f:new m.Anonymous(f))}},variable:function(){var f,k=h;if(i.charAt(h)==="@"&&(f=a(/^@[\w-]+/)))return new m.Variable(f,k)},color:function(){var f;if(i.charAt(h)==="#"&&(f=a(/^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})/)))return new m.Color(f[1])},dimension:function(){var f; +f=i.charCodeAt(h);if(!(f>57||f<45||f===47))if(f=a(/^(-?\d*\.?\d+)(px|%|em|pc|ex|in|deg|s|ms|pt|cm|mm)?/))return new m.Dimension(f[1],f[2])}},variable:function(){var f;if(i.charAt(h)==="@"&&(f=a(/^(@[\w-]+)\s*:/)))return f[1]},shorthand:function(){var f,k;if(j(/^[@\w.-]+\/[@\w.-]+/))if((f=a(this.entity))&&a("/")&&(k=a(this.entity)))return new m.Shorthand(f,k)},mixin:{call:function(){var f=[],k,l,p,K=h;k=i.charAt(h);if(!(k!=="."&&k!=="#")){for(;k=a(/^[#.][\w-]+/);){f.push(new m.Element(l,k));l=a(">")}a("(")&& +(p=a(this.entities.arguments))&&a(")");if(f.length>0&&(a(";")||j("}")))return new m.mixin.Call(f,p,K)}},definition:function(){var f,k=[],l,p;if(!(i.charAt(h)!=="."||j(/^[^{]*(;|})/)))if(f=a(/^([#.][\w-]+)\s*\(/)){for(f=f[1];l=a(/^@[\w-]+/)||a(this.entities.literal)||a(this.entities.keyword);){if(l[0]==="@")if(a(":"))if(p=a(this.expression))k.push({name:l,value:p});else throw new Error("Expected value");else k.push({name:l});else k.push({value:l});if(!a(","))break}if(!a(")"))throw new Error("Expected )"); +if(l=a(this.block))return new m.mixin.Definition(f,k,l)}}},entity:function(){return a(this.entities.literal)||a(this.entities.variable)||a(this.entities.url)||a(this.entities.call)||a(this.entities.keyword)},end:function(){return a(";")||j("}")},alpha:function(){var f;if(a(/^opacity=/i))if(f=a(/^\d+/)||a(this.entities.variable)){if(!a(")"))throw new Error("missing closing ) for alpha()");return new m.Alpha(f)}},element:function(){var f;c=a(this.combinator);if(f=a(/^[.#:]?[\w-]+/)||a("*")||a(this.attribute)|| +a(/^\([^)@]+\)/))return new m.Element(c,f)},combinator:function(){var f=i.charAt(h);if(f===">"||f==="&"||f==="+"||f==="~"){for(h++;i.charAt(h)===" ";)h++;return new m.Combinator(f)}else if(f===":"&&i.charAt(h+1)===":"){for(h+=2;i.charAt(h)===" ";)h++;return new m.Combinator("::")}else return i.charAt(h-1)===" "?new m.Combinator(" "):new m.Combinator(null)},selector:function(){for(var f,k=[],l;f=a(this.element);){l=i.charAt(h);k.push(f);if(l==="{"||l==="}"||l===";"||l===",")break}if(k.length>0)return new m.Selector(k)}, +tag:function(){return a(/^[a-zA-Z][a-zA-Z-]*[0-9]?/)||a("*")},attribute:function(){var f="",k,l,p;if(a("[")){if(k=a(/^[a-z-]+/)||a(this.entities.quoted))f=(p=a(/^[|~*$^]?=/))&&(l=a(this.entities.quoted)||a(/^[\w-]+/))?[k,p,l.toCSS?l.toCSS():l].join(""):k;if(a("]"))if(f)return"["+f+"]"}},block:function(){var f;if(a("{")&&(f=a(this.primary))&&a("}"))return f},ruleset:function(){var f=[],k,l;b();if(k=/^([.#: \w-]+)[\s\n]*\{/.exec(u[n])){h+=k[0].length-1;f=[new m.Selector([new m.Element(null,k[1])])]}else{for(;k= +a(this.selector);){f.push(k);if(!a(","))break}k&&a(this.comment)}if(f.length>0&&(l=a(this.block)))return new m.Ruleset(f,l);else{t=h;e()}},rule:function(){var f;f=i.charAt(h);var k;b();if(!(f==="."||f==="#"||f==="&"))if(name=a(this.variable)||a(this.property)){if(name.charAt(0)!="@"&&(match=/^([^@+\/'"*(;{}-]*);/.exec(u[n]))){h+=match[0].length-1;f=new m.Anonymous(match[1])}else f=name==="font"?a(this.font):a(this.value);k=a(this.important);if(f&&a(this.end))return new m.Rule(name,f,k,x);else{t=h; +e()}}},"import":function(){var f;if(a(/^@import\s+/)&&(f=a(this.entities.quoted)||a(this.entities.url))&&a(";"))return new m.Import(f,W)},directive:function(){var f,k,l;if(i.charAt(h)==="@")if(k=a(this["import"]))return k;else if(f=a(/^@media|@page/)){l=a(/^[^{]+/).trim();if(k=a(this.block))return new m.Directive(f+" "+l,k)}else if(f=a(/^@[-a-z]+/))if(f==="@font-face"){if(k=a(this.block))return new m.Directive(f,k)}else if((k=a(this.entity))&&a(";"))return new m.Directive(f,k)},font:function(){for(var f= +[],k=[],l;l=a(this.shorthand)||a(this.entity);)k.push(l);f.push(new m.Expression(k));if(a(","))for(;l=a(this.expression);){f.push(l);if(!a(","))break}return new m.Value(f)},value:function(){for(var f,k=[];f=a(this.expression);){k.push(f);if(!a(","))break}if(k.length>0)return new m.Value(k)},important:function(){if(i.charAt(h)==="!")return a(/^! *important/)},sub:function(){var f;if(a("(")&&(f=a(this.expression))&&a(")"))return f},multiplication:function(){var f,k,l,p;if(f=a(this.operand)){for(;(l= +a("/")||a("*"))&&(k=a(this.operand));)p=new m.Operation(l,[p||f,k]);return p||f}},addition:function(){var f,k,l,p;if(f=a(this.multiplication)){for(;(l=a(/^[-+]\s+/)||i.charAt(h-1)!=" "&&(a("+")||a("-")))&&(k=a(this.multiplication));)p=new m.Operation(l,[p||f,k]);return p||f}},operand:function(){return a(this.sub)||a(this.entities.dimension)||a(this.entities.color)||a(this.entities.variable)},expression:function(){for(var f,k=[];f=a(this.addition)||a(this.entity);)k.push(f);if(k.length>0)return new m.Expression(k)}, +property:function(){var f;if(f=a(/^(\*?-?[-a-z_0-9]+)\s*:/))return f[1]}}}};if(typeof F!=="undefined")o.Parser.importer=function(d,b,e){if(d[0]!=="/"&&b.length>0)d=b[0]+d;S({href:d,title:d},function(g){e(g)})};(function(d){function b(a){return d.functions.hsla(a.h,a.s,a.l,a.a)}function e(a){if(a instanceof d.Dimension)return parseFloat(a.unit=="%"?a.value/100:a.value);else if(typeof a==="number")return a;else throw{error:"RuntimeError",message:"color functions take numbers as parameters"};}function g(a){return Math.min(1, +Math.max(0,a))}d.functions={rgb:function(a,j,i){return this.rgba(a,j,i,1)},rgba:function(a,j,i,h){a=[a,j,i].map(function(n){return e(n)});h=e(h);return new d.Color(a,h)},hsl:function(a,j,i){return this.hsla(a,j,i,1)},hsla:function(a,j,i,h){function n(t){t=t<0?t+1:t>1?t-1:t;return t*6<1?x+(r-x)*t*6:t*2<1?r:t*3<2?x+(r-x)*(2/3-t)*6:x}a=e(a)%360/360;j=e(j);i=e(i);h=e(h);var r=i<=0.5?i*(j+1):i+j-i*j,x=i*2-r;return this.rgba(n(a+1/3)*255,n(a)*255,n(a-1/3)*255,h)},hue:function(a){return new d.Dimension(Math.round(a.toHSL().h))}, +saturation:function(a){return new d.Dimension(Math.round(a.toHSL().s*100),"%")},lightness:function(a){return new d.Dimension(Math.round(a.toHSL().l*100),"%")},alpha:function(a){return new d.Dimension(a.toHSL().a)},saturate:function(a,j){a=a.toHSL();a.s+=j.value/100;a.s=g(a.s);return b(a)},desaturate:function(a,j){a=a.toHSL();a.s-=j.value/100;a.s=g(a.s);return b(a)},lighten:function(a,j){a=a.toHSL();a.l+=j.value/100;a.l=g(a.l);return b(a)},darken:function(a,j){a=a.toHSL();a.l-=j.value/100;a.l=g(a.l); +return b(a)},spin:function(a,j){a=a.toHSL();j=(a.h+j.value)%360;a.h=j<0?360+j:j;return b(a)},greyscale:function(a){return this.desaturate(a,new d.Dimension(100))},e:function(a){return new d.Anonymous(a)},"%":function(a){for(var j=Array.prototype.slice.call(arguments,1),i=a.content,h=0;h255?255:b<0?0:b).toString(16);return b.length===1?"0"+b:b}).join("")},operate:function(b,e){var g=[];e instanceof d.Color||(e=e.toColor());for(var a=0;a<3;a++)g[a]=d.operate(b,this.rgb[a],e.rgb[a]);return new d.Color(g)},toHSL:function(){var b=this.rgb[0]/255,e=this.rgb[1]/255,g=this.rgb[2]/255,a=this.alpha,j=Math.max(b,e,g),i=Math.min(b,e,g),h,n=(j+i)/2,r=j-i;if(j===i)h=i=0;else{i=n>0.5?r/(2-j-i):r/(j+i);switch(j){case b:h=(e-g)/r+(e":b.compress?">":" > "}[this.value]}})(q("less/tree"));(function(d){d.Expression=function(b){this.value=b};d.Expression.prototype={eval:function(b){return this.value.length>1?new d.Expression(this.value.map(function(e){return e.eval(b)})): +this.value[0].eval(b)},toCSS:function(){return this.value.map(function(b){return b.toCSS()}).join(" ")}}})(q("less/tree"));(function(d){d.Import=function(b,e){var g=this;this._path=b;this.path=b instanceof d.Quoted?/\.(le?|c)ss$/.test(b.content)?b.content:b.content+".less":b.value.content||b.value;(this.css=/css$/.test(this.path))||e.push(this.path,function(a){if(!a)throw new Error("Error parsing "+g.path);g.root=a})};d.Import.prototype={toCSS:function(){return this.css?"@import "+this._path.toCSS()+ +";\n":""},eval:function(){if(this.css)return this;else{for(var b=0;b0){for(j=0;j1?Array.prototype.push.apply(g,j.find(new d.Selector(b.elements.slice(1)), +e)):g.push(j);break}});return this._lookups[a]=g},toCSS:function(b,e){var g=[],a=[],j=[],i=[];if(this.root)for(var h=0;h +0){i=i.map(function(r){return r.map(function(x){return x.toCSS(e)}).join("").trim()}).join(e.compress?",":i.length>3?",\n":", ");g.push(i,(e.compress?"{":" {\n ")+a.join(e.compress?"":"\n ")+(e.compress?"}":"\n}\n"))}g.push(j);e.frames.shift();return g.join("")+(e.compress?"\n":"")}}})(q("less/tree"));(function(d){d.Selector=function(b){this.elements=b;if(this.elements[0].combinator.value==="")this.elements[0].combinator.value=" "};d.Selector.prototype.match=function(b){return this.elements[0].value=== +b.elements[0].value?true:false};d.Selector.prototype.toCSS=function(b){if(this._css)return this._css;return this._css=this.elements.map(function(e){return typeof e==="string"?" "+e.trim():e.toCSS(b)}).join("")}})(q("less/tree"));(function(d){d.URL=function(b){this.value=b};d.URL.prototype={toCSS:function(){return"url("+this.value.toCSS()+")"},eval:function(){return this}}})(q("less/tree"));(function(d){d.Value=function(b){this.value=b;this.is="value"};d.Value.prototype={eval:function(b){return this.value.length=== +1?this.value[0].eval(b):new d.Value(this.value.map(function(e){return e.eval(b)}))},toCSS:function(b){return this.value.map(function(e){return e.toCSS(b)}).join(b.compress?",":", ")}}})(q("less/tree"));(function(d){d.Variable=function(b,e){this.name=b;this.index=e};d.Variable.prototype={eval:function(b){var e,g,a=this.name;if(e=d.find(b.frames,function(j){if(g=j.variable(a))return g.value.eval(b)}))return e;else throw{message:"variable "+this.name+" is undefined",index:this.index};}}})(q("less/tree")); +q("less/tree").find=function(d,b){for(var e=0,g;e0||P?"development":"production";o.async=false;o.poll=P?1E3:1500;o.watch=function(){return this.watchMode=true};o.unwatch=function(){return this.watchMode=false};if(o.env==="development"){o.optimization= +0;/!watch/.test(location.hash)&&o.watch();o.watchTimer=setInterval(function(){o.watchMode&&R(function(d,b,e){d&&O(d.toCSS(),b,e.lastModified)})},o.poll)}else o.optimization=3;var D;try{D=typeof F.localStorage==="undefined"?null:F.localStorage}catch(ca){D=null}var M=document.getElementsByTagName("link"),Y=/^text\/(x-)?less$/;o.sheets=[];for(var y=0;y