Moving logic to a file.
This commit is contained in:
43
src/Colorgen.js
Normal file
43
src/Colorgen.js
Normal 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 };
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user