You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/* stylelint-disable no-duplicate-selectors */@import"bezierEasing";
@import"tinyColor";
// We create a very complex algorithm which take the place of original tint/shade color system// to make sure no one can understand it 👻// and create an entire color palette magicly by inputing just a single primary color.// We are using bezier-curve easing function and some color manipulations like tint/shade/darken/spin.colorPaletteMixin() {
@functions: ~`(function() {
var hueStep =2;
var saturationStep =16;
var saturationStep2 =5;
var brightnessStep1 =5;
var brightnessStep2 =15;
var lightColorCount =5;
var darkColorCount =4;
var getHue = function(hsv, i, isLight) {
varhue;
if (hsv.h>=60&&hsv.h<=240) {
hue= isLight ? hsv.h- hueStep *i : hsv.h+ hueStep * i;
} else {
hue= isLight ? hsv.h+ hueStep *i : hsv.h- hueStep * i;
}
if (hue<0) {
hue+=360;
} else if (hue>=360) {
hue-=360;
}
return Math.round(hue);
};
var getSaturation = function(hsv, i, isLight) {
varsaturation;
if (isLight) {
saturation=Math.round(hsv.s*100) - saturationStep * i;
} else if (i== darkColorCount) {
saturation=Math.round(hsv.s*100) + saturationStep;
} else {
saturation=Math.round(hsv.s*100) + saturationStep2 * i;
}
if (saturation>100) {
saturation=100;
}
if (isLight &&i=== lightColorCount &&saturation>10) {
saturation=10;
}
if (saturation<6) {
saturation=6;
}
return Math.round(saturation);
};
var getValue = function(hsv, i, isLight) {
if (isLight) {
return Math.round(hsv.v*100) + brightnessStep1 * i;
}
return Math.round(hsv.v*100) - brightnessStep2 * i;
};
this.colorPalette= function(color, background, index) {
var isInverse = tinycolor(background).toHsv().v<0.5;
var indexInverse = isInverse ? 11-index : index;
var isLight = indexInverse <=6;
vari= isLight ? lightColorCount +1- indexInverse : indexInverse - lightColorCount -1;
varhsv= tinycolor(color).toHsv();
return tinycolor({
h: getHue(hsv, i, isLight),
s: getSaturation(hsv, i, isLight),
v: getValue(hsv, i, isLight),
}).toHexString();
};
})()`;
}
// It is hacky way to make this function will be compiled preferentially by less// resolve error: `ReferenceError: colorPalette is not defined`// https://github.com/ant-design/ant-motion/issues/44.colorPaletteMixin();
What problem does this feature solve?
Used to support configuration of dark background themes
What does the proposed API look like?
The text was updated successfully, but these errors were encountered: