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