.calc(...) { @process: ~`(function(a){function c(c,t){var r=");\n",s=e.split(","),l=s[0]+":"+c+"("+(s[1].trim()||0)+r;"start"==t?a="0;\n"+l:a+=l}a=a||8121991;var t="@{state}",e=a;if(8121991==a)return a;switch(t){case"1":c("-webkit-calc","start"),c("-moz-calc"),c("calc");break;case"2":c("-webkit-calc","start"),c("-moz-calc");break;case"3":c("-webkit-calc","start"),c("calc");break;case"4":c("-webkit-calc","start");break;case"5":c("-moz-calc","start"),c("calc");break;case"6":c("-moz-calc","start");break;case"7":c("calc","start")}return a=a.replace(/;$/g,"")})((function(){var r="@{arguments}";return r=r.replace(/^\[|\]$/g,"")})())`; @state: 1; -lh-property: @process; } .transform(...) { @process: ~`(function(e){e=e||"none";var r={translate:"px",rotate:"deg",rotate3d:"deg",skew:"deg"};/^\w*\(?[a-z0-9.]*\)?/.test(e)&&(e=e.replace(/(?:,)(?![^(]*\))/g,""));for(var t in r)e.indexOf(t)>=0&&(e=e.replace(new RegExp(t+"[\\w]?\\([a-z0-9, %]*\\)"),function(e){var n=/(\d+\.?\d*)(?!\w|%)/g;return"rotate3d"==t&&(n=/,\s*\d+$/),e.replace(n,function(e){return e+r[t]})}));return e})((function(){var r="@{arguments}";return r=r.replace(/^\[|\]$/g,"")})())`; -webkit-transform: @process; -moz-transform: @process; -ms-transform: @process; -o-transform: @process; transform: @process; } .gradient(@startColor: #eee, @endColor: white) { background: linear-gradient(to top, @startColor, @endColor); } .input-shade(@color, @bg) { input, select, textarea { color: @color; background-color: transparent; border-color: mix(contrast(@bg), @bg, 10%); border-style: solid; &::placeholder { color: mix(@color, @bg, 75%); } &[disabled] { background-color: mix(contrast(@bg), @bg, 10%); } } .disabled label, [disabled] label { color: mix(@color, @bg, 75%); } .-autocomplete-container { background-color: mix(contrast(@bg), @bg, 10%); } .-autocomplete-item.selected { background-color: mix(contrast(@bg), @bg, 20%); } input[type="button"], input[type="submit"] { color: @color; background: mix(contrast(@bg), @bg, 10%); border-color: mix(contrast(@bg), @bg, 10%); } } .blink(@color) { animation-duration: 1000ms; animation-name: blink; animation-iteration-count: infinite; animation-direction: alternate; @keyframes blink { from { color: @color; } to { opacity: inherit; } } @-webkit-keyframes blink { from { color: @color; } to { color: inherit; } } } .linkColors(@color, @hover) { color: @color; &:hover { color: @hover; } } .buttonColors(@color, @bg) { color: @color; background-color: @bg; &:hover { color: mix(@color, contrast(@bg), 60%); background-color: mix(@bg, contrast(@color), 60%); } }