Moving logic to a file.

This commit is contained in:
2023-03-19 14:28:35 +01:00
parent bf9053d45f
commit 524a96f1eb
3 changed files with 75 additions and 40 deletions

43
src/Colorgen.js Normal file
View File

@ -0,0 +1,43 @@
import tinycolor from "tinycolor2";
export default class Colorgen {
constructor(primary) {
this.primary = tinycolor(primary);
this.amount = 12.5;
}
analogous() {
const primary = this._generateColor(this.primary);
const secondaries = [];
const analogous = this.primary.analogous(12, 90);
secondaries.push(this._generateColor(analogous[2]));
secondaries.push(this._generateColor(analogous[5]));
secondaries.push(this._generateColor(analogous[8]));
secondaries.push(this._generateColor(analogous[11]));
return { primary, secondaries };
}
complementary() {
const primary = this._generateColor(this.primary);
const secondaries = [];
const complementary = this.primary.complement();
secondaries.push(this._generateColor(complementary));
return { primary, secondaries };
}
_generateDark(color) {
return color.clone().darken(this.amount);
}
_generateColor(normal) {
const dark = this._generateDark(normal);
const darker = this._generateDark(dark);
return { normal, dark, darker };
}
}