@evg-b/evg-ui
Version:
EVG-UI library inspired by Material Design.
53 lines (43 loc) • 1.72 kB
JavaScript
import _construct from '@babel/runtime/helpers/construct';
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
import ColorDetective from './ColorDetective.js';
import RGBtoRGBAraw from './inrgb/RGBtoRGBAraw.js';
import RGBAtoRGBAraw from './inrgb/RGBAtoRGBAraw.js';
import HEXtoRGBAraw from './inrgb/HEXtoRGBAraw.js';
import HEXAtoRGBAraw from './inrgb/HEXAtoRGBAraw.js';
import HSLtoRGBAraw from './inrgb/HSLtoRGBAraw.js';
import HSLAtoRGBAraw from './inrgb/HSLAtoRGBAraw.js';
import ColorObject from './ColorObject.js';
function Color() {
var colorName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
// console.log('Color:', colorName, nameComponent)
// тут будет switch по результатам ColorDetective создавать Color объект и возвращать его
var detective = ColorDetective(colorName);
var RGBAraw = [255, 255, 255, 0];
switch (detective.format) {
// сюда попадает format - RGB/RGBA/HEX/HEXA/HSL/HSLA
// тут идет расщепление на R G B A
case 'RGB':
RGBAraw = RGBtoRGBAraw(detective.value);
break;
case 'RGBA':
RGBAraw = RGBAtoRGBAraw(detective.value);
break;
case 'HEX':
RGBAraw = HEXtoRGBAraw(detective.value);
break;
case 'HEXA':
RGBAraw = HEXAtoRGBAraw(detective.value);
break;
case 'HSL':
RGBAraw = HSLtoRGBAraw(detective.value);
break;
case 'HSLA':
RGBAraw = HSLAtoRGBAraw(detective.value);
break;
// case 'unknown':
// break
}
return _construct(ColorObject, _toConsumableArray(RGBAraw).concat([detective.format]));
}
export default Color;