zent
Version:
一套前端设计语言和基于React的实现
61 lines (53 loc) • 1.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.red = undefined;
var _each = require('lodash/each');
var _each2 = _interopRequireDefault(_each);
var _tinycolor = require('tinycolor2');
var _tinycolor2 = _interopRequireDefault(_tinycolor);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports['default'] = {
simpleCheckForValidColor: function simpleCheckForValidColor(data) {
var keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'a', 'v'];
var checked = 0;
var passed = 0;
(0, _each2['default'])(keysToCheck, function (letter) {
if (data[letter]) {
checked += 1;
if (!isNaN(data[letter])) {
passed += 1;
}
}
});
return checked === passed ? data : false;
},
toState: function toState(data, oldHue) {
var color = data.hex ? (0, _tinycolor2['default'])(data.hex) : (0, _tinycolor2['default'])(data);
var hsl = color.toHsl();
var hsv = color.toHsv();
if (hsl.s === 0) {
hsl.h = oldHue || 0;
hsv.h = oldHue || 0;
}
return {
hsl: hsl,
hex: '#' + color.toHex(),
rgb: color.toRgb(),
rgba: color.toRgbString(),
hsv: hsv,
oldHue: data.h || oldHue || hsl.h,
source: data.source
};
},
isValidHex: function isValidHex(hex) {
return (0, _tinycolor2['default'])(hex).isValid();
}
};
var red = exports.red = {
hsl: { a: 1, h: 0, l: 0.5, s: 1 },
hex: '#ff0000',
rgb: { r: 255, g: 0, b: 0, a: 1 },
hsv: { h: 0, s: 1, v: 1, a: 1 }
};