@antv/data-wizard
Version:
A js/ts library for data processing
84 lines (83 loc) • 3.44 kB
JavaScript
;
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;