UNPKG

@antv/data-wizard

Version:
81 lines (80 loc) 3.17 kB
import { __assign, __extends } from "tslib"; import { BasicRandom } from './basic-random'; import { getColorDB } from './database'; import { initOptions } from './utils'; import { rgb, hsl } from './color-utils'; /** * Generator for color * @public */ var ColorRandom = /** @class */ (function (_super) { __extends(ColorRandom, _super); function ColorRandom() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.database = getColorDB(); return _this; } /** * return a rag color */ ColorRandom.prototype.rgb = function (options) { var casing = initOptions({ casing: 'lower' }, options).casing; var rgbNums = rgb.call(this, options); var value = "rgb(" + rgbNums.join(',') + ")"; return casing === 'lower' ? value : value.toUpperCase(); }; /** * return a rag color with alpha */ ColorRandom.prototype.rgba = function (optios) { var _a = initOptions({ casing: 'lower', minA: 0, maxA: 1 }, optios), casing = _a.casing, maxA = _a.maxA, minA = _a.minA; var alpah = this.float({ min: minA, max: maxA }); var rgbNums = rgb.call(this, optios); var value = "rgba(" + rgbNums.concat(alpah).join(',') + ")"; return casing === 'lower' ? value : value.toUpperCase(); }; /** * return a hsl color */ ColorRandom.prototype.hsl = function (options) { var casing = initOptions({ casing: 'lower' }, options).casing; var value = "hsl(" + hsl.call(this, options).join(',') + ")"; return casing === 'lower' ? value : value.toUpperCase(); }; /** * return a hsl color with alpha */ ColorRandom.prototype.hsla = function (options) { var _a = initOptions({ casing: 'lower', minA: 0, maxA: 1 }, options), casing = _a.casing, maxA = _a.maxA, minA = _a.minA; var alpah = this.float({ min: minA, max: maxA }); var value = "hsla(" + hsl.call(this, options).concat(alpah).join(',') + ")"; return casing === 'lower' ? value : value.toUpperCase(); }; /** * return a {@link https://developer.mozilla.org/en-US/docs/Web/CSS/color_value | Color Keyword} */ ColorRandom.prototype.colorName = function () { return this.pickone(this.database.colorKeywords); }; /** * return a hex color * @param options - the parmas */ ColorRandom.prototype.hexColor = function (options) { var _a = initOptions({ prefix: true, casing: 'lower' }, options), prefix = _a.prefix, casing = _a.casing; var rgbNums = rgb.call(this, options); var v = rgbNums.map(function (item) { return item.toString(16).padStart(2, '0'); }).join(''); var value = casing === 'lower' ? v : v.toUpperCase(); return prefix ? "#" + value : value; }; /** * return a decimal color * @param options - the parmas */ ColorRandom.prototype.decimalColor = function (options) { var v = this.hexColor(__assign(__assign({}, options), { prefix: false })); return parseInt(v, 16); }; return ColorRandom; }(BasicRandom)); export { ColorRandom };