UNPKG

@aurigma/design-atoms-model

Version:

Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.

57 lines 1.72 kB
import { Color } from "./Color"; export class GrayscaleColor extends Color { constructor(value) { super(value); this.l = 0; this.a = 255; if (value == null) return; try { this._init(value); } catch (e) { console.warn(`Incorrect GrayscaleColor format: ${JSON.stringify(value)}`); } } get type() { return "GrayscaleColor"; } get alpha() { return this.a; } clone() { return new GrayscaleColor(this); } equals(color) { if (color instanceof GrayscaleColor) { const baseEquals = super.equals(color); return baseEquals && color instanceof GrayscaleColor && this.l === color.l && this.a === color.a; } return false; } toString() { return this._getPreview(); } getData() { const data = super.getData(); data.l = this.l; data.a = this.a; return data; } _getPreview() { if (this.a === 255) { return `rgb(${this.l},${this.l},${this.l})`; } else { const a = (this.a / 255).toFixed(7); return `rgba(${this.l},${this.l},${this.l},${a})`; } } _init(colorObject) { super._init(colorObject); colorObject.a = colorObject.a != null ? colorObject.a : 255; this._validateNumber(colorObject.l); this._validateNumber(colorObject.a); this.l = colorObject.l; this.a = colorObject.a; if (this.preview == null) this.preview = this._getPreview(); } } //# sourceMappingURL=GrayscaleColor.js.map