UNPKG

ngx-colors

Version:

A beautiful color picker for angular that let you choose from a color palette, using sliders (Hue, Lightness, Alpha sliders) or through text input(hex, rgba, hsla)

97 lines 10.4 kB
import { EventEmitter } from '@angular/core'; export class Rgba { constructor(r, g, b, a) { this.r = r; this.g = g; this.b = b; this.a = a; } denormalize() { this.r = Math.round(this.r * 255); this.g = Math.round(this.g * 255); this.b = Math.round(this.b * 255); return this; } toString() { this.denormalize(); let output = 'rgb' + (this.a != 1 ? 'a(' : '(') + this.r + ', ' + this.g + ', ' + this.b + (this.a != 1 ? ', ' + this.a.toPrecision(2) + ')' : ')'); return output; } } export class Hsva { constructor(h, s, v, a) { this.h = h; this.s = s; this.v = v; this.a = a; this.onChange = new EventEmitter(true); } onColorChange(value) { this.s = value.s / value.rgX; this.v = value.v / value.rgY; } onHueChange(value) { this.h = value.v / value.rgX; // this.sliderH = this.hsva.h; } onValueChange(value) { this.v = value.v / value.rgX; } onAlphaChange(value) { this.a = value.v / value.rgX; } } export class Hsla { constructor(h, s, l, a) { this.h = h; this.s = s; this.l = l; this.a = a; } denormalize() { this.h = Math.round(this.h * 360); this.s = Math.round(this.s * 100); this.l = Math.round(this.l * 100); return this; } toString() { let output = 'hsl' + (this.a != 1 ? 'a(' : '(') + this.h + ', ' + this.s + '%, ' + this.l + '%' + (this.a != 1 ? ', ' + this.a.toPrecision(2) + ')' : ')'); return output; } } export class Cmyk { constructor(c, m, y, k, a = 1) { this.c = c; this.m = m; this.y = y; this.k = k; this.a = a; } denormalize() { this.c = Math.round(this.c * 100); this.m = Math.round(this.m * 100); this.y = Math.round(this.y * 100); this.k = Math.round(this.k * 100); return this; } toString() { this.denormalize(); let output = 'cmyk(' + this.c + ', ' + this.m + ', ' + this.y + ', ' + this.k + ')'; return output; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb2xvcnMvc3JjL2xpYi9jbGFzZXMvZm9ybWF0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSXJELE1BQU0sT0FBTyxJQUFJO0lBQ2YsWUFBbUIsQ0FBUyxFQUFTLENBQVMsRUFBUyxDQUFTLEVBQVMsQ0FBUztRQUEvRCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQVMsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUFTLE1BQUMsR0FBRCxDQUFDLENBQVE7UUFBUyxNQUFDLEdBQUQsQ0FBQyxDQUFRO0lBQUcsQ0FBQztJQUUvRSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxNQUFNLEdBQ1YsS0FBSztZQUNMLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQzFCLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSTtZQUNiLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSTtZQUNiLElBQUksQ0FBQyxDQUFDO1lBQ04sQ0FBQyxJQUFJLENBQUMsQ0FB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QyxDQUFRO1FBQVMsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUFTLE1BQUMsR0FBRCxDQUFDLENBQVE7UUFBUyxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQVMsTUFBQyxHQUFELENBQUMsQ0FBWTtJQUFHLENBQUM7SUFFckcsV0FBVztRQUNoQixJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksTUFBTSxHQUNWLE9BQU87WUFDUCxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUk7WUFDYixJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUk7WUFDYixJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUk7WUFDYixJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNiLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb2xvckZvcm1hdHMgfSBmcm9tICcuLi9lbnVtcy9mb3JtYXRzJztcbmltcG9ydCB7IENvbnZlcnRlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb252ZXJ0ZXIuc2VydmljZSc7XG5cbmV4cG9ydCBjbGFzcyBSZ2JhIHtcbiAgY29uc3RydWN0b3IocHVibGljIHI6IG51bWJlciwgcHVibGljIGc6IG51bWJlciwgcHVibGljIGI6IG51bWJlciwgcHVibGljIGE6IG51bWJlcikge31cblxuICBwdWJsaWMgZGVub3JtYWxpemUoKTpSZ2Jhe1xuICAgIHRoaXMuciA9IE1hdGgucm91bmQodGhpcy5yICogMjU1KTtcbiAgICB0aGlzLmcgPSBNYXRoLnJvdW5kKHRoaXMuZyAqIDI1NSk7XG4gICAgdGhpcy5iID0gTWF0aC5yb3VuZCh0aGlzLmIgKiAyNTUpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHRvU3RyaW5nKCk6c3RyaW5ne1xuICAgIHRoaXMuZGVub3JtYWxpemUoKTtcbiAgICBsZXQgb3V0cHV0ID0gIFxuICAgICdyZ2InICsgXG4gICAgKHRoaXMuYSAhPSAxID8gJ2EoJyA6ICcoJykrXG4gICAgdGhpcy5yICsgJywgJyArXG4gICAgdGhpcy5nICsgJywgJyArXG4gICAgdGhpcy5iICsgXG4gICAgKHRoaXMuYSAhPSAxID8gJywgJyArIHRoaXMuYS50b1ByZWNpc2lvbigyKSArICcpJyA6ICcpJylcbiAgICByZXR1cm4gb3V0cHV0O1xuICB9XG5cblxufVxuXG5leHBvcnQgY2xhc3MgSHN2YSB7XG5cbiAgcHVibGljIG9uQ2hhbmdlOkV2ZW50RW1pdHRlcjxIc3ZhPiA9IG5ldyBFdmVudEVtaXR0ZXI8SHN2YT4odHJ1ZSk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGg6IG51bWJlciwgcHVibGljIHM6IG51bWJlciwgcHVibGljIHY6IG51bWJlciwgcHVibGljIGE6IG51bWJlcikge1xuICAgIFxuICB9XG5cbiAgcHVibGljIG9uQ29sb3JDaGFuZ2UodmFsdWU6IHsgczogbnVtYmVyLCB2OiBudW1iZXIsIHJnWDogbnVtYmVyLCByZ1k6IG51bWJlciB9KTogdm9pZCB7XG4gICAgdGhpcy5zID0gdmFsdWUucyAvIHZhbHVlLnJnWDtcbiAgICB0aGlzLnYgPSB2YWx1ZS52IC8gdmFsdWUucmdZO1xuICB9XG5cbiAgcHVibGljIG9uSHVlQ2hhbmdlKHZhbHVlOiB7IHY6IG51bWJlciwgcmdYOiBudW1iZXIgfSk6IHZvaWQge1xuICAgIHRoaXMuaCA9IHZhbHVlLnYgLyB2YWx1ZS5yZ1g7XG4gICAgLy8gdGhpcy5zbGlkZXJIID0gdGhpcy5oc3ZhLmg7XG4gIH1cblxuICBwdWJsaWMgb25WYWx1ZUNoYW5nZSh2YWx1ZTogeyB2OiBudW1iZXIsIHJnWDogbnVtYmVyIH0pOiB2b2lkIHtcbiAgICB0aGlzLnYgPSB2YWx1ZS52IC8gdmFsdWUucmdYO1xuICB9XG5cbiAgcHVibGljIG9uQWxwaGFDaGFuZ2UodmFsdWU6IHsgdjogbnVtYmVyLCByZ1g6IG51bWJlciB9KTogdm9pZCB7XG4gICAgdGhpcy5hID0gdmFsdWUudiAvIHZhbHVlLnJnWDtcbiAgfVxuXG59XG5cbmV4cG9ydCBjbGFzcyBIc2xhIHtcbiAgY29uc3RydWN0b3IocHVibGljIGg6IG51bWJlciwgcHVibGljIHM6IG51bWJlciwgcHVibGljIGw6IG51bWJlciwgcHVibGljIGE6IG51bWJlcikge31cbiAgXG4gIHB1YmxpYyBkZW5vcm1hbGl6ZSgpOkhzbGF7XG4gICAgdGhpcy5oID0gTWF0aC5yb3VuZCh0aGlzLmggKiAzNjApO1xuICAgIHRoaXMucyA9IE1hdGgucm91bmQodGhpcy5zICogMTAwKTtcbiAgICB0aGlzLmwgPSBNYXRoLnJvdW5kKHRoaXMubCAqIDEwMCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgcHVibGljIHRvU3RyaW5nKCk6c3RyaW5ne1xuICAgIGxldCBvdXRwdXQgPSAgXG4gICAgJ2hzbCcgKyBcbiAgICAodGhpcy5hICE9IDEgPyAnYSgnOiAnKCcpICtcbiAgICB0aGlzLmggKyAnLCAnICtcbiAgICB0aGlzLnMgKyAnJSwgJyArXG4gICAgdGhpcy5sICsgJyUnICsgXG4gICAgKHRoaXMuYSAhPSAxID8gJywgJyArIHRoaXMuYS50b1ByZWNpc2lvbigyKSArICcpJyA6ICcpJylcbiAgICByZXR1cm4gb3V0cHV0O1xuICB9XG5cbn1cblxuZXhwb3J0IGNsYXNzIENteWsge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgYzogbnVtYmVyLCBwdWJsaWMgbTogbnVtYmVyLCBwdWJsaWMgeTogbnVtYmVyLCBwdWJsaWMgazogbnVtYmVyLCBwdWJsaWMgYTogbnVtYmVyID0gMSkge31cblxuICBwdWJsaWMgZGVub3JtYWxpemUoKTpDbXlre1xuICAgIHRoaXMuYyA9IE1hdGgucm91bmQodGhpcy5jICogMTAwKTtcbiAgICB0aGlzLm0gPSBNYXRoLnJvdW5kKHRoaXMubSAqIDEwMCk7XG4gICAgdGhpcy55ID0gTWF0aC5yb3VuZCh0aGlzLnkgKiAxMDApO1xuICAgIHRoaXMuayA9IE1hdGgucm91bmQodGhpcy5rICogMTAwKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuICBwdWJsaWMgdG9TdHJpbmcoKTpzdHJpbmcge1xuICAgIHRoaXMuZGVub3JtYWxpemUoKTtcbiAgICBsZXQgb3V0cHV0ID0gIFxuICAgICdjbXlrKCcgKyBcbiAgICB0aGlzLmMgKyAnLCAnICtcbiAgICB0aGlzLm0gKyAnLCAnICtcbiAgICB0aGlzLnkgKyAnLCAnICsgXG4gICAgdGhpcy5rICsgJyknO1xuICAgIHJldHVybiBvdXRwdXQ7XG4gIH1cbn1cbiJdfQ==