UNPKG

@antv/data-wizard

Version:
84 lines (83 loc) 3.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ColorRandom = void 0; var tslib_1 = require("tslib"); var basic_random_1 = require("./basic-random"); var database_1 = require("./database"); var utils_1 = require("./utils"); var color_utils_1 = require("./color-utils"); /** * Generator for color * @public */ var ColorRandom = /** @class */ (function (_super) { tslib_1.__extends(ColorRandom, _super); function ColorRandom() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.database = database_1.getColorDB(); return _this; } /** * return a rag color */ ColorRandom.prototype.rgb = function (options) { var casing = utils_1.initOptions({ casing: 'lower' }, options).casing; var rgbNums = color_utils_1.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 = utils_1.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 = color_utils_1.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 = utils_1.initOptions({ casing: 'lower' }, options).casing; var value = "hsl(" + color_utils_1.hsl.call(this, options).join(',') + ")"; return casing === 'lower' ? value : value.toUpperCase(); }; /** * return a hsl color with alpha */ ColorRandom.prototype.hsla = function (options) { var _a = utils_1.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(" + color_utils_1.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 = utils_1.initOptions({ prefix: true, casing: 'lower' }, options), prefix = _a.prefix, casing = _a.casing; var rgbNums = color_utils_1.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(tslib_1.__assign(tslib_1.__assign({}, options), { prefix: false })); return parseInt(v, 16); }; return ColorRandom; }(basic_random_1.BasicRandom)); exports.ColorRandom = ColorRandom;