pixsy/node_modules/less/test/less/functions.less

233 lines
7.4 KiB
Plaintext

#functions {
@var: 10;
@colors: #000, #fff;
color: _color("evil red"); // #660000
width: increment(15);
height: undefined("self");
border-width: add(2, 3);
variable: increment(@var);
background: linear-gradient(@colors);
}
#built-in {
@r: 32;
escaped: e("-Some::weird(#thing, y)");
lighten: lighten(#ff0000, 40%);
lighten-relative: lighten(#ff0000, 40%, relative);
darken: darken(#ff0000, 40%);
darken-relative: darken(#ff0000, 40%, relative);
saturate: saturate(#29332f, 20%);
saturate-relative: saturate(#29332f, 20%, relative);
desaturate: desaturate(#203c31, 20%);
desaturate-relative: desaturate(#203c31, 20%, relative);
greyscale: greyscale(#203c31);
hsl-clamp: hsl(380, 150%, 150%);
spin-p: spin(hsl(340, 50%, 50%), 40);
spin-n: spin(hsl(30, 50%, 50%), -40);
luma-white: luma(#fff);
luma-black: luma(#000);
luma-black-alpha: luma(rgba(0,0,0,0.5));
luma-red: luma(#ff0000);
luma-green: luma(#00ff00);
luma-blue: luma(#0000ff);
luma-yellow: luma(#ffff00);
luma-cyan: luma(#00ffff);
luma-differs-from-luminance: luma(#ff3600);
luminance-white: luma(#fff);
luminance-black: luma(#000);
luminance-black-alpha: luma(rgba(0,0,0,0.5));
luminance-red: luma(#ff0000);
luminance-differs-from-luma: luminance(#ff3600);
contrast-filter: contrast(30%);
saturate-filter: saturate(5%);
contrast-white: contrast(#fff);
contrast-black: contrast(#000);
contrast-red: contrast(#ff0000);
contrast-green: contrast(#00ff00);
contrast-blue: contrast(#0000ff);
contrast-yellow: contrast(#ffff00);
contrast-cyan: contrast(#00ffff);
contrast-light: contrast(#fff, #111111, #eeeeee);
contrast-dark: contrast(#000, #111111, #eeeeee);
contrast-wrongorder: contrast(#fff, #eeeeee, #111111, 0.5);
contrast-light-thresh: contrast(#fff, #111111, #eeeeee, 0.5);
contrast-dark-thresh: contrast(#000, #111111, #eeeeee, 0.5);
contrast-high-thresh: contrast(#555, #111111, #eeeeee, 0.6);
contrast-low-thresh: contrast(#555, #111111, #eeeeee, 0.09);
contrast-light-thresh-per: contrast(#fff, #111111, #eeeeee, 50%);
contrast-dark-thresh-per: contrast(#000, #111111, #eeeeee, 50%);
contrast-high-thresh-per: contrast(#555, #111111, #eeeeee, 60%);
contrast-low-thresh-per: contrast(#555, #111111, #eeeeee, 9%);
replace: replace("Hello, Mars.", "Mars\.", "World!");
replace-captured: replace("This is a string.", "(string)\.$", "new $1.");
replace-with-flags: replace("One + one = 4", "one", "2", "gi");
replace-single-quoted: replace('foo-1', "1", "2");
replace-escaped-string: replace(~"bar-1", "1", "2");
replace-keyword: replace(baz-1, "1", "2");
replace-with-color: replace("007", "0", #135, g);
replace-with-number: replace("007", "0", 2em);
format: %("rgb(%d, %d, %d)", @r, 128, 64);
format-string: %("hello %s", "world");
format-multiple: %("hello %s %d", "earth", 2);
format-url-encode: %("red is %A", #ff0000);
format-single-quoted: %('hello %s', "single world");
format-escaped-string: %(~"hello %s", "escaped world");
format-color-as-string: %("%s", #123);
format-number-as-string: %("%s", 4px);
eformat: e(%("rgb(%d, %d, %d)", @r, 128, 64));
unitless: unit(12px);
unit: unit((13px + 1px), em);
unitpercentage: unit(100, %);
get-unit: get-unit(10px);
get-unit-empty: get-unit(10);
hue: hue(hsl(98, 12%, 95%));
saturation: saturation(hsl(98, 12%, 95%));
lightness: lightness(hsl(98, 12%, 95%));
hsvhue: hsvhue(hsv(98, 12%, 95%));
hsvsaturation: hsvsaturation(hsv(98, 12%, 95%));
hsvvalue: hsvvalue(hsv(98, 12%, 95%));
red: red(#f00);
green: green(#0f0);
blue: blue(#00f);
rounded: round((@r/3));
rounded-two: round((@r/3), 2);
roundedpx: round((10px / 3));
roundedpx-three: round((10px / 3), 3);
rounded-percentage: round(10.2%);
ceil: ceil(10.1px);
floor: floor(12.9px);
sqrt: sqrt(25px);
pi: pi();
mod: mod(13m, 11cm); // could take into account units, doesn't at the moment
abs: abs(-4%);
tan: tan(42deg);
sin: sin(10deg);
cos: cos(12);
atan: atan(tan(0.1rad));
atan: convert(acos(cos(34deg)), deg);
atan: convert(acos(cos(50grad)), deg);
pow: pow(8px, 2);
pow: pow(4, 3);
pow: pow(3, 3em);
min: min(0);
min: min(6, 5);
min: min(1pt, 3pt);
min: min(1cm, 3mm);
max: max(1, 3);
max: max(3em, 1em, 2em, 5em);
percentage: percentage((10px / 50));
color-quoted-digit: color("#dda0dd");
color-quoted-keyword: color("plum");
color-color: color(#dda0dd);
color-keyword: color(plum);
tint: tint(#777777, 13);
tint-full: tint(#777777, 100);
tint-percent: tint(#777777, 13%);
tint-negative: tint(#777777, -13%);
shade: shade(#777777, 13);
shade-full: shade(#777777, 100);
shade-percent: shade(#777777, 13%);
shade-negative: shade(#777777, -13%);
fade-out: fadeout(red, 5%); // support fadeOut and fadeout
fade-in: fadein(fadeout(red, 10%), 5%);
fade-out-relative: fadeout(red, 5%,relative);
fade-in-relative: fadein(fadeout(red, 10%, relative), 5%, relative);
fade-out2: fadeout(fadeout(red, 50%), 50%);
fade-out2-relative: fadeout(fadeout(red, 50%, relative), 50%, relative);
hsv: hsv(5, 50%, 30%);
hsva: hsva(3, 50%, 30%, 0.2);
mix: mix(#ff0000, #ffff00, 80);
mix-0: mix(#ff0000, #ffff00, 0);
mix-100: mix(#ff0000, #ffff00, 100);
mix-weightless: mix(#ff0000, #ffff00);
mixt: mix(#ff0000, transparent);
.is-a {
@rules: {
color: red;
};
ruleset: isruleset(@rules);
color: iscolor(#ddd);
color1: iscolor(red);
color2: iscolor(rgb(0, 0, 0));
color3: iscolor(transparent);
keyword: iskeyword(hello);
number: isnumber(32);
string: isstring("hello");
pixel: ispixel(32px);
percent: ispercentage(32%);
em: isem(32em);
cat: isunit(32cat, cat);
no-unit-is-empty: isunit(32, '');
case-insensitive-1: isunit(32CAT, cat);
case-insensitive-2: isunit(32px, PX);
}
}
#alpha {
alpha: darken(hsla(25, 50%, 50%, 0.6), 10%);
alpha2: alpha(rgba(3, 4, 5, 0.5));
alpha3: alpha(transparent);
}
#blendmodes {
multiply: multiply(#f60000, #f60000);
screen: screen(#f60000, #0000f6);
overlay: overlay(#f60000, #0000f6);
softlight: softlight(#f60000, #ffffff);
hardlight: hardlight(#f60000, #0000f6);
difference: difference(#f60000, #0000f6);
exclusion: exclusion(#f60000, #0000f6);
average: average(#f60000, #0000f6);
negation: negation(#f60000, #313131);
}
#extract-and-length {
@anon: A B C 1 2 3;
extract: extract(@anon, 6) extract(@anon, 5) extract(@anon, 4) extract(@anon, 3) extract(@anon, 2) extract(@anon, 1);
length: length(@anon);
}
#quoted-functions-in-mixin {
// Quoted type may have some weird side-effects when used in mixins (#2308)
.mixin();
.mixin() {
replace-double-quoted: replace('foo-1', "1", "2");
replace-single-quoted: replace('foo-3', "3", "4");
replace-escaped-string: replace(~"bar-1", "1", "2");
replace-keyword: replace(baz-1, "1", "2");
replace-anonymous: replace(e("qux-1"), "1", "2");
format-double-quoted: %("hello %s", "world");
format-single-quoted: %('hello %s', "single world");
format-escaped-string: %(~"hello %s", "escaped world");
format-keyword: %(hello);
format-anonymous: %(e("hello %s"), "anonymous world");
}
}
#list-details {
@list:
a 1, // Some comment
b 2;
length: length(@list);
one: extract(@list, 1);
@two: extract(@list, 2);
two: @two;
two-length: length(@two);
two-one: extract(@two, 1);
two-two: extract(@two, 2);
}
@color1: #FFF;/* comment1 */
@color2: #FFF/* comment2 */;
html {
color: mix(blue, @color1, 50%);
color: mix(blue, @color2, 50%);
}