@kdcloudjs/kdesign 1.7.51 → 1.7.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/kdesign.css +1 -1
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +1626 -1918
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +1 -1
- package/dist/kdesign.min.js +9 -9
- package/dist/kdesign.min.js.map +1 -1
- package/es/color-picker/color-picker-panel.js +1 -1
- package/es/color-picker/color-picker.js +1 -1
- package/es/color-picker/utils/colorFormat.js +1 -1
- package/lib/color-picker/color-picker-panel.js +2 -2
- package/lib/color-picker/color-picker.js +3 -3
- package/lib/color-picker/utils/colorFormat.js +2 -2
- package/package.json +2 -2
package/dist/kdesign.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
*
|
|
3
|
-
* @kdcloudjs/kdesign v1.7.
|
|
3
|
+
* @kdcloudjs/kdesign v1.7.51
|
|
4
4
|
*
|
|
5
5
|
* Copyright 2020-present, Kingdee, Inc.
|
|
6
6
|
* All rights reserved.
|
|
@@ -9527,8 +9527,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
9527
9527
|
/* harmony import */ var _constant_defaultColor__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./constant/defaultColor */ "./components/color-picker/constant/defaultColor.ts");
|
|
9528
9528
|
/* harmony import */ var _utils_validateColor__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./utils/validateColor */ "./components/color-picker/utils/validateColor.ts");
|
|
9529
9529
|
/* harmony import */ var _utils_convertLetters__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./utils/convertLetters */ "./components/color-picker/utils/convertLetters.ts");
|
|
9530
|
-
/* harmony import */ var
|
|
9531
|
-
/* harmony import */ var
|
|
9530
|
+
/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! color */ "./node_modules/color/index.js");
|
|
9531
|
+
/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(color__WEBPACK_IMPORTED_MODULE_16__);
|
|
9532
9532
|
/* harmony import */ var react_color__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! react-color */ "./node_modules/react-color/es/index.js");
|
|
9533
9533
|
/* harmony import */ var _utils_devwarning__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../_utils/devwarning */ "./components/_utils/devwarning.ts");
|
|
9534
9534
|
/* harmony import */ var _utils_hooks__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../_utils/hooks */ "./components/_utils/hooks.tsx");
|
|
@@ -9678,7 +9678,7 @@ var ColorPickerPanel = function ColorPickerPanel(props) {
|
|
|
9678
9678
|
setIsFollow(switchValue);
|
|
9679
9679
|
if (switchValue) {
|
|
9680
9680
|
formatArr = Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_12__["colorFormat"])(functionalColor, alpha);
|
|
9681
|
-
setPanelState(formatArr, formatArr[Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_12__["valOfCorrespondingType"])(currentColorType)].value, functionalColorName, Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_12__["strFixed"])(
|
|
9681
|
+
setPanelState(formatArr, formatArr[Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_12__["valOfCorrespondingType"])(currentColorType)].value, functionalColorName, Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_12__["strFixed"])(color__WEBPACK_IMPORTED_MODULE_16___default()(Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_12__["getColorObj"])(functionalColor)).alpha(), 2), Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_12__["strFixed"])(color__WEBPACK_IMPORTED_MODULE_16___default()(Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_12__["getColorObj"])(functionalColor)).alpha(), 2) * 100 + '%');
|
|
9682
9682
|
setClickedColorIndex(Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_12__["highlightPresetColorIndex"])(formatArr[0].value, Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_12__["presetColorToHEX"])(presetColor || _constant_systemPresetColor__WEBPACK_IMPORTED_MODULE_11__["systemPresetColor"])));
|
|
9683
9683
|
} else {
|
|
9684
9684
|
formatArr = Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_12__["colorFormat"])(_constant_defaultColor__WEBPACK_IMPORTED_MODULE_13__["defaultSystemColor"], 1, 'all', true);
|
|
@@ -9826,8 +9826,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
9826
9826
|
/* harmony import */ var _utils_colorFormat__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./utils/colorFormat */ "./components/color-picker/utils/colorFormat.ts");
|
|
9827
9827
|
/* harmony import */ var _utils_convertLetters__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./utils/convertLetters */ "./components/color-picker/utils/convertLetters.ts");
|
|
9828
9828
|
/* harmony import */ var _constant_defaultColor__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./constant/defaultColor */ "./components/color-picker/constant/defaultColor.ts");
|
|
9829
|
-
/* harmony import */ var
|
|
9830
|
-
/* harmony import */ var
|
|
9829
|
+
/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! color */ "./node_modules/color/index.js");
|
|
9830
|
+
/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(color__WEBPACK_IMPORTED_MODULE_20__);
|
|
9831
9831
|
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../_utils */ "./components/_utils/index.ts");
|
|
9832
9832
|
/* harmony import */ var _utils_usePopper__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../_utils/usePopper */ "./components/_utils/usePopper.tsx");
|
|
9833
9833
|
/* harmony import */ var _constant_systemPresetColor__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./constant/systemPresetColor */ "./components/color-picker/constant/systemPresetColor.ts");
|
|
@@ -9935,8 +9935,8 @@ var ColorPicker = function ColorPicker(props) {
|
|
|
9935
9935
|
setAlphaNoVerifyVal(alphaStr);
|
|
9936
9936
|
};
|
|
9937
9937
|
if (inputValType) {
|
|
9938
|
-
var formatArr = Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_17__["colorFormat"])(inpValue, Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_17__["strFixed"])(
|
|
9939
|
-
setState(formatArr, formatArr[Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_17__["valOfCorrespondingType"])(currentColorType)].value,
|
|
9938
|
+
var formatArr = Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_17__["colorFormat"])(inpValue, Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_17__["strFixed"])(color__WEBPACK_IMPORTED_MODULE_20___default()(Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_17__["getColorObj"])(inpValue)).alpha(), 2));
|
|
9939
|
+
setState(formatArr, formatArr[Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_17__["valOfCorrespondingType"])(currentColorType)].value, color__WEBPACK_IMPORTED_MODULE_20___default()(Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_17__["getColorObj"])(inpValue)).alpha(), (Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_17__["strFixed"])(color__WEBPACK_IMPORTED_MODULE_20___default()(Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_17__["getColorObj"])(inpValue)).alpha(), 2) * 100).toFixed() + '%');
|
|
9940
9940
|
setClickedColorIndex(Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_17__["highlightPresetColorIndex"])(formatArr[0].value, Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_17__["presetColorToHEX"])(presetColor || _constant_systemPresetColor__WEBPACK_IMPORTED_MODULE_23__["systemPresetColor"])));
|
|
9941
9941
|
} else {
|
|
9942
9942
|
var _formatArr = Object(_utils_colorFormat__WEBPACK_IMPORTED_MODULE_17__["colorFormat"])(_constant_defaultColor__WEBPACK_IMPORTED_MODULE_19__["defaultSystemColor"]);
|
|
@@ -10186,8 +10186,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
10186
10186
|
/* harmony import */ var core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_index_js__WEBPACK_IMPORTED_MODULE_4__);
|
|
10187
10187
|
/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ "./node_modules/core-js/modules/es.array.map.js");
|
|
10188
10188
|
/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_5__);
|
|
10189
|
-
/* harmony import */ var
|
|
10190
|
-
/* harmony import */ var
|
|
10189
|
+
/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! color */ "./node_modules/color/index.js");
|
|
10190
|
+
/* harmony import */ var color__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(color__WEBPACK_IMPORTED_MODULE_6__);
|
|
10191
10191
|
/* harmony import */ var _validateColor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./validateColor */ "./components/color-picker/utils/validateColor.ts");
|
|
10192
10192
|
/* harmony import */ var _convertLetters__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./convertLetters */ "./components/color-picker/utils/convertLetters.ts");
|
|
10193
10193
|
|
|
@@ -10203,7 +10203,7 @@ var colorFormat = function colorFormat(colorStr) {
|
|
|
10203
10203
|
var alpha = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
10204
10204
|
var outType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'all';
|
|
10205
10205
|
var formatHex = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
10206
|
-
var ColorTools =
|
|
10206
|
+
var ColorTools = color__WEBPACK_IMPORTED_MODULE_6___default()(getColorObj(colorStr)).alpha(alpha);
|
|
10207
10207
|
var toHex = function toHex() {
|
|
10208
10208
|
if (/^#([0-9a-fA-F]{8})$/.test(colorStr)) {
|
|
10209
10209
|
if (formatHex) {
|
|
@@ -61704,2039 +61704,1747 @@ function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else i
|
|
|
61704
61704
|
|
|
61705
61705
|
/***/ }),
|
|
61706
61706
|
|
|
61707
|
-
/***/ "./node_modules/color-
|
|
61708
|
-
|
|
61709
|
-
!*** ./node_modules/color-
|
|
61710
|
-
|
|
61707
|
+
/***/ "./node_modules/color-name/index.js":
|
|
61708
|
+
/*!******************************************!*\
|
|
61709
|
+
!*** ./node_modules/color-name/index.js ***!
|
|
61710
|
+
\******************************************/
|
|
61711
61711
|
/*! no static exports found */
|
|
61712
61712
|
/***/ (function(module, exports, __webpack_require__) {
|
|
61713
61713
|
|
|
61714
|
-
|
|
61715
|
-
var cssKeywords = __webpack_require__(/*! color-name */ "./node_modules/color-convert/node_modules/color-name/index.js");
|
|
61714
|
+
"use strict";
|
|
61716
61715
|
|
|
61717
|
-
// NOTE: conversions should only return primitive values (i.e. arrays, or
|
|
61718
|
-
// values that give correct `typeof` results).
|
|
61719
|
-
// do not use box values types (i.e. Number(), String(), etc.)
|
|
61720
61716
|
|
|
61721
|
-
|
|
61722
|
-
|
|
61723
|
-
|
|
61724
|
-
|
|
61717
|
+
module.exports = {
|
|
61718
|
+
"aliceblue": [240, 248, 255],
|
|
61719
|
+
"antiquewhite": [250, 235, 215],
|
|
61720
|
+
"aqua": [0, 255, 255],
|
|
61721
|
+
"aquamarine": [127, 255, 212],
|
|
61722
|
+
"azure": [240, 255, 255],
|
|
61723
|
+
"beige": [245, 245, 220],
|
|
61724
|
+
"bisque": [255, 228, 196],
|
|
61725
|
+
"black": [0, 0, 0],
|
|
61726
|
+
"blanchedalmond": [255, 235, 205],
|
|
61727
|
+
"blue": [0, 0, 255],
|
|
61728
|
+
"blueviolet": [138, 43, 226],
|
|
61729
|
+
"brown": [165, 42, 42],
|
|
61730
|
+
"burlywood": [222, 184, 135],
|
|
61731
|
+
"cadetblue": [95, 158, 160],
|
|
61732
|
+
"chartreuse": [127, 255, 0],
|
|
61733
|
+
"chocolate": [210, 105, 30],
|
|
61734
|
+
"coral": [255, 127, 80],
|
|
61735
|
+
"cornflowerblue": [100, 149, 237],
|
|
61736
|
+
"cornsilk": [255, 248, 220],
|
|
61737
|
+
"crimson": [220, 20, 60],
|
|
61738
|
+
"cyan": [0, 255, 255],
|
|
61739
|
+
"darkblue": [0, 0, 139],
|
|
61740
|
+
"darkcyan": [0, 139, 139],
|
|
61741
|
+
"darkgoldenrod": [184, 134, 11],
|
|
61742
|
+
"darkgray": [169, 169, 169],
|
|
61743
|
+
"darkgreen": [0, 100, 0],
|
|
61744
|
+
"darkgrey": [169, 169, 169],
|
|
61745
|
+
"darkkhaki": [189, 183, 107],
|
|
61746
|
+
"darkmagenta": [139, 0, 139],
|
|
61747
|
+
"darkolivegreen": [85, 107, 47],
|
|
61748
|
+
"darkorange": [255, 140, 0],
|
|
61749
|
+
"darkorchid": [153, 50, 204],
|
|
61750
|
+
"darkred": [139, 0, 0],
|
|
61751
|
+
"darksalmon": [233, 150, 122],
|
|
61752
|
+
"darkseagreen": [143, 188, 143],
|
|
61753
|
+
"darkslateblue": [72, 61, 139],
|
|
61754
|
+
"darkslategray": [47, 79, 79],
|
|
61755
|
+
"darkslategrey": [47, 79, 79],
|
|
61756
|
+
"darkturquoise": [0, 206, 209],
|
|
61757
|
+
"darkviolet": [148, 0, 211],
|
|
61758
|
+
"deeppink": [255, 20, 147],
|
|
61759
|
+
"deepskyblue": [0, 191, 255],
|
|
61760
|
+
"dimgray": [105, 105, 105],
|
|
61761
|
+
"dimgrey": [105, 105, 105],
|
|
61762
|
+
"dodgerblue": [30, 144, 255],
|
|
61763
|
+
"firebrick": [178, 34, 34],
|
|
61764
|
+
"floralwhite": [255, 250, 240],
|
|
61765
|
+
"forestgreen": [34, 139, 34],
|
|
61766
|
+
"fuchsia": [255, 0, 255],
|
|
61767
|
+
"gainsboro": [220, 220, 220],
|
|
61768
|
+
"ghostwhite": [248, 248, 255],
|
|
61769
|
+
"gold": [255, 215, 0],
|
|
61770
|
+
"goldenrod": [218, 165, 32],
|
|
61771
|
+
"gray": [128, 128, 128],
|
|
61772
|
+
"green": [0, 128, 0],
|
|
61773
|
+
"greenyellow": [173, 255, 47],
|
|
61774
|
+
"grey": [128, 128, 128],
|
|
61775
|
+
"honeydew": [240, 255, 240],
|
|
61776
|
+
"hotpink": [255, 105, 180],
|
|
61777
|
+
"indianred": [205, 92, 92],
|
|
61778
|
+
"indigo": [75, 0, 130],
|
|
61779
|
+
"ivory": [255, 255, 240],
|
|
61780
|
+
"khaki": [240, 230, 140],
|
|
61781
|
+
"lavender": [230, 230, 250],
|
|
61782
|
+
"lavenderblush": [255, 240, 245],
|
|
61783
|
+
"lawngreen": [124, 252, 0],
|
|
61784
|
+
"lemonchiffon": [255, 250, 205],
|
|
61785
|
+
"lightblue": [173, 216, 230],
|
|
61786
|
+
"lightcoral": [240, 128, 128],
|
|
61787
|
+
"lightcyan": [224, 255, 255],
|
|
61788
|
+
"lightgoldenrodyellow": [250, 250, 210],
|
|
61789
|
+
"lightgray": [211, 211, 211],
|
|
61790
|
+
"lightgreen": [144, 238, 144],
|
|
61791
|
+
"lightgrey": [211, 211, 211],
|
|
61792
|
+
"lightpink": [255, 182, 193],
|
|
61793
|
+
"lightsalmon": [255, 160, 122],
|
|
61794
|
+
"lightseagreen": [32, 178, 170],
|
|
61795
|
+
"lightskyblue": [135, 206, 250],
|
|
61796
|
+
"lightslategray": [119, 136, 153],
|
|
61797
|
+
"lightslategrey": [119, 136, 153],
|
|
61798
|
+
"lightsteelblue": [176, 196, 222],
|
|
61799
|
+
"lightyellow": [255, 255, 224],
|
|
61800
|
+
"lime": [0, 255, 0],
|
|
61801
|
+
"limegreen": [50, 205, 50],
|
|
61802
|
+
"linen": [250, 240, 230],
|
|
61803
|
+
"magenta": [255, 0, 255],
|
|
61804
|
+
"maroon": [128, 0, 0],
|
|
61805
|
+
"mediumaquamarine": [102, 205, 170],
|
|
61806
|
+
"mediumblue": [0, 0, 205],
|
|
61807
|
+
"mediumorchid": [186, 85, 211],
|
|
61808
|
+
"mediumpurple": [147, 112, 219],
|
|
61809
|
+
"mediumseagreen": [60, 179, 113],
|
|
61810
|
+
"mediumslateblue": [123, 104, 238],
|
|
61811
|
+
"mediumspringgreen": [0, 250, 154],
|
|
61812
|
+
"mediumturquoise": [72, 209, 204],
|
|
61813
|
+
"mediumvioletred": [199, 21, 133],
|
|
61814
|
+
"midnightblue": [25, 25, 112],
|
|
61815
|
+
"mintcream": [245, 255, 250],
|
|
61816
|
+
"mistyrose": [255, 228, 225],
|
|
61817
|
+
"moccasin": [255, 228, 181],
|
|
61818
|
+
"navajowhite": [255, 222, 173],
|
|
61819
|
+
"navy": [0, 0, 128],
|
|
61820
|
+
"oldlace": [253, 245, 230],
|
|
61821
|
+
"olive": [128, 128, 0],
|
|
61822
|
+
"olivedrab": [107, 142, 35],
|
|
61823
|
+
"orange": [255, 165, 0],
|
|
61824
|
+
"orangered": [255, 69, 0],
|
|
61825
|
+
"orchid": [218, 112, 214],
|
|
61826
|
+
"palegoldenrod": [238, 232, 170],
|
|
61827
|
+
"palegreen": [152, 251, 152],
|
|
61828
|
+
"paleturquoise": [175, 238, 238],
|
|
61829
|
+
"palevioletred": [219, 112, 147],
|
|
61830
|
+
"papayawhip": [255, 239, 213],
|
|
61831
|
+
"peachpuff": [255, 218, 185],
|
|
61832
|
+
"peru": [205, 133, 63],
|
|
61833
|
+
"pink": [255, 192, 203],
|
|
61834
|
+
"plum": [221, 160, 221],
|
|
61835
|
+
"powderblue": [176, 224, 230],
|
|
61836
|
+
"purple": [128, 0, 128],
|
|
61837
|
+
"rebeccapurple": [102, 51, 153],
|
|
61838
|
+
"red": [255, 0, 0],
|
|
61839
|
+
"rosybrown": [188, 143, 143],
|
|
61840
|
+
"royalblue": [65, 105, 225],
|
|
61841
|
+
"saddlebrown": [139, 69, 19],
|
|
61842
|
+
"salmon": [250, 128, 114],
|
|
61843
|
+
"sandybrown": [244, 164, 96],
|
|
61844
|
+
"seagreen": [46, 139, 87],
|
|
61845
|
+
"seashell": [255, 245, 238],
|
|
61846
|
+
"sienna": [160, 82, 45],
|
|
61847
|
+
"silver": [192, 192, 192],
|
|
61848
|
+
"skyblue": [135, 206, 235],
|
|
61849
|
+
"slateblue": [106, 90, 205],
|
|
61850
|
+
"slategray": [112, 128, 144],
|
|
61851
|
+
"slategrey": [112, 128, 144],
|
|
61852
|
+
"snow": [255, 250, 250],
|
|
61853
|
+
"springgreen": [0, 255, 127],
|
|
61854
|
+
"steelblue": [70, 130, 180],
|
|
61855
|
+
"tan": [210, 180, 140],
|
|
61856
|
+
"teal": [0, 128, 128],
|
|
61857
|
+
"thistle": [216, 191, 216],
|
|
61858
|
+
"tomato": [255, 99, 71],
|
|
61859
|
+
"turquoise": [64, 224, 208],
|
|
61860
|
+
"violet": [238, 130, 238],
|
|
61861
|
+
"wheat": [245, 222, 179],
|
|
61862
|
+
"white": [255, 255, 255],
|
|
61863
|
+
"whitesmoke": [245, 245, 245],
|
|
61864
|
+
"yellow": [255, 255, 0],
|
|
61865
|
+
"yellowgreen": [154, 205, 50]
|
|
61866
|
+
};
|
|
61867
|
+
|
|
61868
|
+
/***/ }),
|
|
61869
|
+
|
|
61870
|
+
/***/ "./node_modules/color-string/index.js":
|
|
61871
|
+
/*!********************************************!*\
|
|
61872
|
+
!*** ./node_modules/color-string/index.js ***!
|
|
61873
|
+
\********************************************/
|
|
61874
|
+
/*! no static exports found */
|
|
61875
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
61876
|
+
|
|
61877
|
+
/* MIT license */
|
|
61878
|
+
var colorNames = __webpack_require__(/*! color-name */ "./node_modules/color-name/index.js");
|
|
61879
|
+
var swizzle = __webpack_require__(/*! simple-swizzle */ "./node_modules/simple-swizzle/index.js");
|
|
61880
|
+
var hasOwnProperty = Object.hasOwnProperty;
|
|
61881
|
+
var reverseNames = Object.create(null);
|
|
61882
|
+
|
|
61883
|
+
// create a list of reverse color names
|
|
61884
|
+
for (var name in colorNames) {
|
|
61885
|
+
if (hasOwnProperty.call(colorNames, name)) {
|
|
61886
|
+
reverseNames[colorNames[name]] = name;
|
|
61725
61887
|
}
|
|
61726
61888
|
}
|
|
61727
|
-
var
|
|
61728
|
-
|
|
61729
|
-
|
|
61730
|
-
|
|
61731
|
-
|
|
61732
|
-
|
|
61733
|
-
|
|
61734
|
-
|
|
61735
|
-
|
|
61736
|
-
|
|
61737
|
-
|
|
61738
|
-
|
|
61739
|
-
|
|
61740
|
-
|
|
61741
|
-
|
|
61742
|
-
|
|
61743
|
-
|
|
61744
|
-
|
|
61745
|
-
|
|
61746
|
-
|
|
61747
|
-
|
|
61748
|
-
|
|
61749
|
-
|
|
61750
|
-
|
|
61751
|
-
},
|
|
61752
|
-
lab: {
|
|
61753
|
-
channels: 3,
|
|
61754
|
-
labels: 'lab'
|
|
61755
|
-
},
|
|
61756
|
-
lch: {
|
|
61757
|
-
channels: 3,
|
|
61758
|
-
labels: 'lch'
|
|
61759
|
-
},
|
|
61760
|
-
hex: {
|
|
61761
|
-
channels: 1,
|
|
61762
|
-
labels: ['hex']
|
|
61763
|
-
},
|
|
61764
|
-
keyword: {
|
|
61765
|
-
channels: 1,
|
|
61766
|
-
labels: ['keyword']
|
|
61767
|
-
},
|
|
61768
|
-
ansi16: {
|
|
61769
|
-
channels: 1,
|
|
61770
|
-
labels: ['ansi16']
|
|
61771
|
-
},
|
|
61772
|
-
ansi256: {
|
|
61773
|
-
channels: 1,
|
|
61774
|
-
labels: ['ansi256']
|
|
61775
|
-
},
|
|
61776
|
-
hcg: {
|
|
61777
|
-
channels: 3,
|
|
61778
|
-
labels: ['h', 'c', 'g']
|
|
61779
|
-
},
|
|
61780
|
-
apple: {
|
|
61781
|
-
channels: 3,
|
|
61782
|
-
labels: ['r16', 'g16', 'b16']
|
|
61783
|
-
},
|
|
61784
|
-
gray: {
|
|
61785
|
-
channels: 1,
|
|
61786
|
-
labels: ['gray']
|
|
61889
|
+
var cs = module.exports = {
|
|
61890
|
+
to: {},
|
|
61891
|
+
get: {}
|
|
61892
|
+
};
|
|
61893
|
+
cs.get = function (string) {
|
|
61894
|
+
var prefix = string.substring(0, 3).toLowerCase();
|
|
61895
|
+
var val;
|
|
61896
|
+
var model;
|
|
61897
|
+
switch (prefix) {
|
|
61898
|
+
case 'hsl':
|
|
61899
|
+
val = cs.get.hsl(string);
|
|
61900
|
+
model = 'hsl';
|
|
61901
|
+
break;
|
|
61902
|
+
case 'hwb':
|
|
61903
|
+
val = cs.get.hwb(string);
|
|
61904
|
+
model = 'hwb';
|
|
61905
|
+
break;
|
|
61906
|
+
default:
|
|
61907
|
+
val = cs.get.rgb(string);
|
|
61908
|
+
model = 'rgb';
|
|
61909
|
+
break;
|
|
61910
|
+
}
|
|
61911
|
+
if (!val) {
|
|
61912
|
+
return null;
|
|
61787
61913
|
}
|
|
61914
|
+
return {
|
|
61915
|
+
model: model,
|
|
61916
|
+
value: val
|
|
61917
|
+
};
|
|
61788
61918
|
};
|
|
61789
|
-
|
|
61790
|
-
|
|
61791
|
-
|
|
61792
|
-
|
|
61793
|
-
|
|
61794
|
-
|
|
61919
|
+
cs.get.rgb = function (string) {
|
|
61920
|
+
if (!string) {
|
|
61921
|
+
return null;
|
|
61922
|
+
}
|
|
61923
|
+
var abbr = /^#([a-f0-9]{3,4})$/i;
|
|
61924
|
+
var hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;
|
|
61925
|
+
var rgba = /^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/;
|
|
61926
|
+
var per = /^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/;
|
|
61927
|
+
var keyword = /^(\w+)$/;
|
|
61928
|
+
var rgb = [0, 0, 0, 1];
|
|
61929
|
+
var match;
|
|
61930
|
+
var i;
|
|
61931
|
+
var hexAlpha;
|
|
61932
|
+
if (match = string.match(hex)) {
|
|
61933
|
+
hexAlpha = match[2];
|
|
61934
|
+
match = match[1];
|
|
61935
|
+
for (i = 0; i < 3; i++) {
|
|
61936
|
+
// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19
|
|
61937
|
+
var i2 = i * 2;
|
|
61938
|
+
rgb[i] = parseInt(match.slice(i2, i2 + 2), 16);
|
|
61939
|
+
}
|
|
61940
|
+
if (hexAlpha) {
|
|
61941
|
+
rgb[3] = parseInt(hexAlpha, 16) / 255;
|
|
61795
61942
|
}
|
|
61796
|
-
|
|
61797
|
-
|
|
61943
|
+
} else if (match = string.match(abbr)) {
|
|
61944
|
+
match = match[1];
|
|
61945
|
+
hexAlpha = match[3];
|
|
61946
|
+
for (i = 0; i < 3; i++) {
|
|
61947
|
+
rgb[i] = parseInt(match[i] + match[i], 16);
|
|
61798
61948
|
}
|
|
61799
|
-
if (
|
|
61800
|
-
|
|
61949
|
+
if (hexAlpha) {
|
|
61950
|
+
rgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255;
|
|
61801
61951
|
}
|
|
61802
|
-
|
|
61803
|
-
|
|
61804
|
-
|
|
61805
|
-
|
|
61806
|
-
|
|
61807
|
-
|
|
61808
|
-
|
|
61809
|
-
|
|
61810
|
-
|
|
61811
|
-
|
|
61952
|
+
} else if (match = string.match(rgba)) {
|
|
61953
|
+
for (i = 0; i < 3; i++) {
|
|
61954
|
+
rgb[i] = parseInt(match[i + 1], 0);
|
|
61955
|
+
}
|
|
61956
|
+
if (match[4]) {
|
|
61957
|
+
if (match[5]) {
|
|
61958
|
+
rgb[3] = parseFloat(match[4]) * 0.01;
|
|
61959
|
+
} else {
|
|
61960
|
+
rgb[3] = parseFloat(match[4]);
|
|
61961
|
+
}
|
|
61962
|
+
}
|
|
61963
|
+
} else if (match = string.match(per)) {
|
|
61964
|
+
for (i = 0; i < 3; i++) {
|
|
61965
|
+
rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);
|
|
61966
|
+
}
|
|
61967
|
+
if (match[4]) {
|
|
61968
|
+
if (match[5]) {
|
|
61969
|
+
rgb[3] = parseFloat(match[4]) * 0.01;
|
|
61970
|
+
} else {
|
|
61971
|
+
rgb[3] = parseFloat(match[4]);
|
|
61972
|
+
}
|
|
61973
|
+
}
|
|
61974
|
+
} else if (match = string.match(keyword)) {
|
|
61975
|
+
if (match[1] === 'transparent') {
|
|
61976
|
+
return [0, 0, 0, 0];
|
|
61977
|
+
}
|
|
61978
|
+
if (!hasOwnProperty.call(colorNames, match[1])) {
|
|
61979
|
+
return null;
|
|
61980
|
+
}
|
|
61981
|
+
rgb = colorNames[match[1]];
|
|
61982
|
+
rgb[3] = 1;
|
|
61983
|
+
return rgb;
|
|
61984
|
+
} else {
|
|
61985
|
+
return null;
|
|
61812
61986
|
}
|
|
61813
|
-
|
|
61814
|
-
|
|
61815
|
-
var r = rgb[0] / 255;
|
|
61816
|
-
var g = rgb[1] / 255;
|
|
61817
|
-
var b = rgb[2] / 255;
|
|
61818
|
-
var min = Math.min(r, g, b);
|
|
61819
|
-
var max = Math.max(r, g, b);
|
|
61820
|
-
var delta = max - min;
|
|
61821
|
-
var h;
|
|
61822
|
-
var s;
|
|
61823
|
-
var l;
|
|
61824
|
-
if (max === min) {
|
|
61825
|
-
h = 0;
|
|
61826
|
-
} else if (r === max) {
|
|
61827
|
-
h = (g - b) / delta;
|
|
61828
|
-
} else if (g === max) {
|
|
61829
|
-
h = 2 + (b - r) / delta;
|
|
61830
|
-
} else if (b === max) {
|
|
61831
|
-
h = 4 + (r - g) / delta;
|
|
61987
|
+
for (i = 0; i < 3; i++) {
|
|
61988
|
+
rgb[i] = clamp(rgb[i], 0, 255);
|
|
61832
61989
|
}
|
|
61833
|
-
|
|
61834
|
-
|
|
61835
|
-
|
|
61990
|
+
rgb[3] = clamp(rgb[3], 0, 1);
|
|
61991
|
+
return rgb;
|
|
61992
|
+
};
|
|
61993
|
+
cs.get.hsl = function (string) {
|
|
61994
|
+
if (!string) {
|
|
61995
|
+
return null;
|
|
61836
61996
|
}
|
|
61837
|
-
|
|
61838
|
-
|
|
61839
|
-
|
|
61840
|
-
|
|
61841
|
-
|
|
61842
|
-
|
|
61843
|
-
|
|
61997
|
+
var hsl = /^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/;
|
|
61998
|
+
var match = string.match(hsl);
|
|
61999
|
+
if (match) {
|
|
62000
|
+
var alpha = parseFloat(match[4]);
|
|
62001
|
+
var h = (parseFloat(match[1]) % 360 + 360) % 360;
|
|
62002
|
+
var s = clamp(parseFloat(match[2]), 0, 100);
|
|
62003
|
+
var l = clamp(parseFloat(match[3]), 0, 100);
|
|
62004
|
+
var a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);
|
|
62005
|
+
return [h, s, l, a];
|
|
61844
62006
|
}
|
|
61845
|
-
return
|
|
62007
|
+
return null;
|
|
61846
62008
|
};
|
|
61847
|
-
|
|
61848
|
-
|
|
61849
|
-
|
|
61850
|
-
var bdif;
|
|
61851
|
-
var h;
|
|
61852
|
-
var s;
|
|
61853
|
-
var r = rgb[0] / 255;
|
|
61854
|
-
var g = rgb[1] / 255;
|
|
61855
|
-
var b = rgb[2] / 255;
|
|
61856
|
-
var v = Math.max(r, g, b);
|
|
61857
|
-
var diff = v - Math.min(r, g, b);
|
|
61858
|
-
var diffc = function diffc(c) {
|
|
61859
|
-
return (v - c) / 6 / diff + 1 / 2;
|
|
61860
|
-
};
|
|
61861
|
-
if (diff === 0) {
|
|
61862
|
-
h = s = 0;
|
|
61863
|
-
} else {
|
|
61864
|
-
s = diff / v;
|
|
61865
|
-
rdif = diffc(r);
|
|
61866
|
-
gdif = diffc(g);
|
|
61867
|
-
bdif = diffc(b);
|
|
61868
|
-
if (r === v) {
|
|
61869
|
-
h = bdif - gdif;
|
|
61870
|
-
} else if (g === v) {
|
|
61871
|
-
h = 1 / 3 + rdif - bdif;
|
|
61872
|
-
} else if (b === v) {
|
|
61873
|
-
h = 2 / 3 + gdif - rdif;
|
|
61874
|
-
}
|
|
61875
|
-
if (h < 0) {
|
|
61876
|
-
h += 1;
|
|
61877
|
-
} else if (h > 1) {
|
|
61878
|
-
h -= 1;
|
|
61879
|
-
}
|
|
62009
|
+
cs.get.hwb = function (string) {
|
|
62010
|
+
if (!string) {
|
|
62011
|
+
return null;
|
|
61880
62012
|
}
|
|
61881
|
-
|
|
62013
|
+
var hwb = /^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/;
|
|
62014
|
+
var match = string.match(hwb);
|
|
62015
|
+
if (match) {
|
|
62016
|
+
var alpha = parseFloat(match[4]);
|
|
62017
|
+
var h = (parseFloat(match[1]) % 360 + 360) % 360;
|
|
62018
|
+
var w = clamp(parseFloat(match[2]), 0, 100);
|
|
62019
|
+
var b = clamp(parseFloat(match[3]), 0, 100);
|
|
62020
|
+
var a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);
|
|
62021
|
+
return [h, w, b, a];
|
|
62022
|
+
}
|
|
62023
|
+
return null;
|
|
61882
62024
|
};
|
|
61883
|
-
|
|
61884
|
-
var
|
|
61885
|
-
|
|
61886
|
-
var b = rgb[2];
|
|
61887
|
-
var h = convert.rgb.hsl(rgb)[0];
|
|
61888
|
-
var w = 1 / 255 * Math.min(r, Math.min(g, b));
|
|
61889
|
-
b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
|
|
61890
|
-
return [h, w * 100, b * 100];
|
|
62025
|
+
cs.to.hex = function () {
|
|
62026
|
+
var rgba = swizzle(arguments);
|
|
62027
|
+
return '#' + hexDouble(rgba[0]) + hexDouble(rgba[1]) + hexDouble(rgba[2]) + (rgba[3] < 1 ? hexDouble(Math.round(rgba[3] * 255)) : '');
|
|
61891
62028
|
};
|
|
61892
|
-
|
|
61893
|
-
var
|
|
61894
|
-
|
|
61895
|
-
|
|
61896
|
-
|
|
61897
|
-
var
|
|
61898
|
-
var
|
|
61899
|
-
var
|
|
61900
|
-
|
|
61901
|
-
|
|
61902
|
-
|
|
61903
|
-
|
|
61904
|
-
|
|
62029
|
+
cs.to.rgb = function () {
|
|
62030
|
+
var rgba = swizzle(arguments);
|
|
62031
|
+
return rgba.length < 4 || rgba[3] === 1 ? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')' : 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';
|
|
62032
|
+
};
|
|
62033
|
+
cs.to.rgb.percent = function () {
|
|
62034
|
+
var rgba = swizzle(arguments);
|
|
62035
|
+
var r = Math.round(rgba[0] / 255 * 100);
|
|
62036
|
+
var g = Math.round(rgba[1] / 255 * 100);
|
|
62037
|
+
var b = Math.round(rgba[2] / 255 * 100);
|
|
62038
|
+
return rgba.length < 4 || rgba[3] === 1 ? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)' : 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';
|
|
62039
|
+
};
|
|
62040
|
+
cs.to.hsl = function () {
|
|
62041
|
+
var hsla = swizzle(arguments);
|
|
62042
|
+
return hsla.length < 4 || hsla[3] === 1 ? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)' : 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';
|
|
61905
62043
|
};
|
|
61906
62044
|
|
|
61907
|
-
|
|
61908
|
-
|
|
61909
|
-
|
|
61910
|
-
|
|
61911
|
-
|
|
61912
|
-
|
|
61913
|
-
|
|
61914
|
-
var reversed = reverseKeywords[rgb];
|
|
61915
|
-
if (reversed) {
|
|
61916
|
-
return reversed;
|
|
61917
|
-
}
|
|
61918
|
-
var currentClosestDistance = Infinity;
|
|
61919
|
-
var currentClosestKeyword;
|
|
61920
|
-
for (var keyword in cssKeywords) {
|
|
61921
|
-
if (cssKeywords.hasOwnProperty(keyword)) {
|
|
61922
|
-
var value = cssKeywords[keyword];
|
|
61923
|
-
|
|
61924
|
-
// Compute comparative distance
|
|
61925
|
-
var distance = comparativeDistance(rgb, value);
|
|
61926
|
-
|
|
61927
|
-
// Check if its less, if so set as closest
|
|
61928
|
-
if (distance < currentClosestDistance) {
|
|
61929
|
-
currentClosestDistance = distance;
|
|
61930
|
-
currentClosestKeyword = keyword;
|
|
61931
|
-
}
|
|
61932
|
-
}
|
|
62045
|
+
// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax
|
|
62046
|
+
// (hwb have alpha optional & 1 is default value)
|
|
62047
|
+
cs.to.hwb = function () {
|
|
62048
|
+
var hwba = swizzle(arguments);
|
|
62049
|
+
var a = '';
|
|
62050
|
+
if (hwba.length >= 4 && hwba[3] !== 1) {
|
|
62051
|
+
a = ', ' + hwba[3];
|
|
61933
62052
|
}
|
|
61934
|
-
return
|
|
62053
|
+
return 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';
|
|
61935
62054
|
};
|
|
61936
|
-
|
|
61937
|
-
return
|
|
62055
|
+
cs.to.keyword = function (rgb) {
|
|
62056
|
+
return reverseNames[rgb.slice(0, 3)];
|
|
61938
62057
|
};
|
|
61939
|
-
convert.rgb.xyz = function (rgb) {
|
|
61940
|
-
var r = rgb[0] / 255;
|
|
61941
|
-
var g = rgb[1] / 255;
|
|
61942
|
-
var b = rgb[2] / 255;
|
|
61943
62058
|
|
|
61944
|
-
|
|
61945
|
-
|
|
61946
|
-
|
|
61947
|
-
|
|
61948
|
-
|
|
61949
|
-
var
|
|
61950
|
-
|
|
61951
|
-
|
|
61952
|
-
};
|
|
61953
|
-
convert.rgb.lab = function (rgb) {
|
|
61954
|
-
var xyz = convert.rgb.xyz(rgb);
|
|
61955
|
-
var x = xyz[0];
|
|
61956
|
-
var y = xyz[1];
|
|
61957
|
-
var z = xyz[2];
|
|
61958
|
-
var l;
|
|
61959
|
-
var a;
|
|
61960
|
-
var b;
|
|
61961
|
-
x /= 95.047;
|
|
61962
|
-
y /= 100;
|
|
61963
|
-
z /= 108.883;
|
|
61964
|
-
x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;
|
|
61965
|
-
y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;
|
|
61966
|
-
z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;
|
|
61967
|
-
l = 116 * y - 16;
|
|
61968
|
-
a = 500 * (x - y);
|
|
61969
|
-
b = 200 * (y - z);
|
|
61970
|
-
return [l, a, b];
|
|
61971
|
-
};
|
|
61972
|
-
convert.hsl.rgb = function (hsl) {
|
|
61973
|
-
var h = hsl[0] / 360;
|
|
61974
|
-
var s = hsl[1] / 100;
|
|
61975
|
-
var l = hsl[2] / 100;
|
|
61976
|
-
var t1;
|
|
61977
|
-
var t2;
|
|
61978
|
-
var t3;
|
|
61979
|
-
var rgb;
|
|
61980
|
-
var val;
|
|
61981
|
-
if (s === 0) {
|
|
61982
|
-
val = l * 255;
|
|
61983
|
-
return [val, val, val];
|
|
61984
|
-
}
|
|
61985
|
-
if (l < 0.5) {
|
|
61986
|
-
t2 = l * (1 + s);
|
|
61987
|
-
} else {
|
|
61988
|
-
t2 = l + s - l * s;
|
|
61989
|
-
}
|
|
61990
|
-
t1 = 2 * l - t2;
|
|
61991
|
-
rgb = [0, 0, 0];
|
|
61992
|
-
for (var i = 0; i < 3; i++) {
|
|
61993
|
-
t3 = h + 1 / 3 * -(i - 1);
|
|
61994
|
-
if (t3 < 0) {
|
|
61995
|
-
t3++;
|
|
61996
|
-
}
|
|
61997
|
-
if (t3 > 1) {
|
|
61998
|
-
t3--;
|
|
61999
|
-
}
|
|
62000
|
-
if (6 * t3 < 1) {
|
|
62001
|
-
val = t1 + (t2 - t1) * 6 * t3;
|
|
62002
|
-
} else if (2 * t3 < 1) {
|
|
62003
|
-
val = t2;
|
|
62004
|
-
} else if (3 * t3 < 2) {
|
|
62005
|
-
val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
|
|
62006
|
-
} else {
|
|
62007
|
-
val = t1;
|
|
62008
|
-
}
|
|
62009
|
-
rgb[i] = val * 255;
|
|
62010
|
-
}
|
|
62011
|
-
return rgb;
|
|
62012
|
-
};
|
|
62013
|
-
convert.hsl.hsv = function (hsl) {
|
|
62014
|
-
var h = hsl[0];
|
|
62015
|
-
var s = hsl[1] / 100;
|
|
62016
|
-
var l = hsl[2] / 100;
|
|
62017
|
-
var smin = s;
|
|
62018
|
-
var lmin = Math.max(l, 0.01);
|
|
62019
|
-
var sv;
|
|
62020
|
-
var v;
|
|
62021
|
-
l *= 2;
|
|
62022
|
-
s *= l <= 1 ? l : 2 - l;
|
|
62023
|
-
smin *= lmin <= 1 ? lmin : 2 - lmin;
|
|
62024
|
-
v = (l + s) / 2;
|
|
62025
|
-
sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
|
|
62026
|
-
return [h, sv * 100, v * 100];
|
|
62027
|
-
};
|
|
62028
|
-
convert.hsv.rgb = function (hsv) {
|
|
62029
|
-
var h = hsv[0] / 60;
|
|
62030
|
-
var s = hsv[1] / 100;
|
|
62031
|
-
var v = hsv[2] / 100;
|
|
62032
|
-
var hi = Math.floor(h) % 6;
|
|
62033
|
-
var f = h - Math.floor(h);
|
|
62034
|
-
var p = 255 * v * (1 - s);
|
|
62035
|
-
var q = 255 * v * (1 - s * f);
|
|
62036
|
-
var t = 255 * v * (1 - s * (1 - f));
|
|
62037
|
-
v *= 255;
|
|
62038
|
-
switch (hi) {
|
|
62039
|
-
case 0:
|
|
62040
|
-
return [v, t, p];
|
|
62041
|
-
case 1:
|
|
62042
|
-
return [q, v, p];
|
|
62043
|
-
case 2:
|
|
62044
|
-
return [p, v, t];
|
|
62045
|
-
case 3:
|
|
62046
|
-
return [p, q, v];
|
|
62047
|
-
case 4:
|
|
62048
|
-
return [t, p, v];
|
|
62049
|
-
case 5:
|
|
62050
|
-
return [v, p, q];
|
|
62051
|
-
}
|
|
62052
|
-
};
|
|
62053
|
-
convert.hsv.hsl = function (hsv) {
|
|
62054
|
-
var h = hsv[0];
|
|
62055
|
-
var s = hsv[1] / 100;
|
|
62056
|
-
var v = hsv[2] / 100;
|
|
62057
|
-
var vmin = Math.max(v, 0.01);
|
|
62058
|
-
var lmin;
|
|
62059
|
-
var sl;
|
|
62060
|
-
var l;
|
|
62061
|
-
l = (2 - s) * v;
|
|
62062
|
-
lmin = (2 - s) * vmin;
|
|
62063
|
-
sl = s * vmin;
|
|
62064
|
-
sl /= lmin <= 1 ? lmin : 2 - lmin;
|
|
62065
|
-
sl = sl || 0;
|
|
62066
|
-
l /= 2;
|
|
62067
|
-
return [h, sl * 100, l * 100];
|
|
62068
|
-
};
|
|
62069
|
-
|
|
62070
|
-
// http://dev.w3.org/csswg/css-color/#hwb-to-rgb
|
|
62071
|
-
convert.hwb.rgb = function (hwb) {
|
|
62072
|
-
var h = hwb[0] / 360;
|
|
62073
|
-
var wh = hwb[1] / 100;
|
|
62074
|
-
var bl = hwb[2] / 100;
|
|
62075
|
-
var ratio = wh + bl;
|
|
62076
|
-
var i;
|
|
62077
|
-
var v;
|
|
62078
|
-
var f;
|
|
62079
|
-
var n;
|
|
62059
|
+
// helpers
|
|
62060
|
+
function clamp(num, min, max) {
|
|
62061
|
+
return Math.min(Math.max(min, num), max);
|
|
62062
|
+
}
|
|
62063
|
+
function hexDouble(num) {
|
|
62064
|
+
var str = Math.round(num).toString(16).toUpperCase();
|
|
62065
|
+
return str.length < 2 ? '0' + str : str;
|
|
62066
|
+
}
|
|
62080
62067
|
|
|
62081
|
-
|
|
62082
|
-
if (ratio > 1) {
|
|
62083
|
-
wh /= ratio;
|
|
62084
|
-
bl /= ratio;
|
|
62085
|
-
}
|
|
62086
|
-
i = Math.floor(6 * h);
|
|
62087
|
-
v = 1 - bl;
|
|
62088
|
-
f = 6 * h - i;
|
|
62089
|
-
if ((i & 0x01) !== 0) {
|
|
62090
|
-
f = 1 - f;
|
|
62091
|
-
}
|
|
62092
|
-
n = wh + f * (v - wh); // linear interpolation
|
|
62068
|
+
/***/ }),
|
|
62093
62069
|
|
|
62094
|
-
|
|
62095
|
-
|
|
62096
|
-
|
|
62097
|
-
|
|
62098
|
-
|
|
62099
|
-
|
|
62100
|
-
case 0:
|
|
62101
|
-
r = v;
|
|
62102
|
-
g = n;
|
|
62103
|
-
b = wh;
|
|
62104
|
-
break;
|
|
62105
|
-
case 1:
|
|
62106
|
-
r = n;
|
|
62107
|
-
g = v;
|
|
62108
|
-
b = wh;
|
|
62109
|
-
break;
|
|
62110
|
-
case 2:
|
|
62111
|
-
r = wh;
|
|
62112
|
-
g = v;
|
|
62113
|
-
b = n;
|
|
62114
|
-
break;
|
|
62115
|
-
case 3:
|
|
62116
|
-
r = wh;
|
|
62117
|
-
g = n;
|
|
62118
|
-
b = v;
|
|
62119
|
-
break;
|
|
62120
|
-
case 4:
|
|
62121
|
-
r = n;
|
|
62122
|
-
g = wh;
|
|
62123
|
-
b = v;
|
|
62124
|
-
break;
|
|
62125
|
-
case 5:
|
|
62126
|
-
r = v;
|
|
62127
|
-
g = wh;
|
|
62128
|
-
b = n;
|
|
62129
|
-
break;
|
|
62130
|
-
}
|
|
62131
|
-
return [r * 255, g * 255, b * 255];
|
|
62132
|
-
};
|
|
62133
|
-
convert.cmyk.rgb = function (cmyk) {
|
|
62134
|
-
var c = cmyk[0] / 100;
|
|
62135
|
-
var m = cmyk[1] / 100;
|
|
62136
|
-
var y = cmyk[2] / 100;
|
|
62137
|
-
var k = cmyk[3] / 100;
|
|
62138
|
-
var r;
|
|
62139
|
-
var g;
|
|
62140
|
-
var b;
|
|
62141
|
-
r = 1 - Math.min(1, c * (1 - k) + k);
|
|
62142
|
-
g = 1 - Math.min(1, m * (1 - k) + k);
|
|
62143
|
-
b = 1 - Math.min(1, y * (1 - k) + k);
|
|
62144
|
-
return [r * 255, g * 255, b * 255];
|
|
62145
|
-
};
|
|
62146
|
-
convert.xyz.rgb = function (xyz) {
|
|
62147
|
-
var x = xyz[0] / 100;
|
|
62148
|
-
var y = xyz[1] / 100;
|
|
62149
|
-
var z = xyz[2] / 100;
|
|
62150
|
-
var r;
|
|
62151
|
-
var g;
|
|
62152
|
-
var b;
|
|
62153
|
-
r = x * 3.2406 + y * -1.5372 + z * -0.4986;
|
|
62154
|
-
g = x * -0.9689 + y * 1.8758 + z * 0.0415;
|
|
62155
|
-
b = x * 0.0557 + y * -0.2040 + z * 1.0570;
|
|
62070
|
+
/***/ "./node_modules/color/index.js":
|
|
62071
|
+
/*!*************************************!*\
|
|
62072
|
+
!*** ./node_modules/color/index.js ***!
|
|
62073
|
+
\*************************************/
|
|
62074
|
+
/*! no static exports found */
|
|
62075
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
62156
62076
|
|
|
62157
|
-
|
|
62158
|
-
|
|
62159
|
-
|
|
62160
|
-
|
|
62161
|
-
|
|
62162
|
-
|
|
62163
|
-
|
|
62164
|
-
|
|
62165
|
-
|
|
62166
|
-
|
|
62167
|
-
|
|
62168
|
-
|
|
62169
|
-
|
|
62170
|
-
|
|
62171
|
-
|
|
62172
|
-
|
|
62173
|
-
|
|
62174
|
-
|
|
62175
|
-
|
|
62176
|
-
|
|
62177
|
-
|
|
62178
|
-
|
|
62179
|
-
|
|
62180
|
-
|
|
62181
|
-
b = 200 * (y - z);
|
|
62182
|
-
return [l, a, b];
|
|
62183
|
-
};
|
|
62184
|
-
convert.lab.xyz = function (lab) {
|
|
62185
|
-
var l = lab[0];
|
|
62186
|
-
var a = lab[1];
|
|
62187
|
-
var b = lab[2];
|
|
62188
|
-
var x;
|
|
62189
|
-
var y;
|
|
62190
|
-
var z;
|
|
62191
|
-
y = (l + 16) / 116;
|
|
62192
|
-
x = a / 500 + y;
|
|
62193
|
-
z = y - b / 200;
|
|
62194
|
-
var y2 = Math.pow(y, 3);
|
|
62195
|
-
var x2 = Math.pow(x, 3);
|
|
62196
|
-
var z2 = Math.pow(z, 3);
|
|
62197
|
-
y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;
|
|
62198
|
-
x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;
|
|
62199
|
-
z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;
|
|
62200
|
-
x *= 95.047;
|
|
62201
|
-
y *= 100;
|
|
62202
|
-
z *= 108.883;
|
|
62203
|
-
return [x, y, z];
|
|
62204
|
-
};
|
|
62205
|
-
convert.lab.lch = function (lab) {
|
|
62206
|
-
var l = lab[0];
|
|
62207
|
-
var a = lab[1];
|
|
62208
|
-
var b = lab[2];
|
|
62209
|
-
var hr;
|
|
62210
|
-
var h;
|
|
62211
|
-
var c;
|
|
62212
|
-
hr = Math.atan2(b, a);
|
|
62213
|
-
h = hr * 360 / 2 / Math.PI;
|
|
62214
|
-
if (h < 0) {
|
|
62215
|
-
h += 360;
|
|
62077
|
+
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
|
|
62078
|
+
var _slicedToArray = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "./node_modules/@babel/runtime/helpers/slicedToArray.js");
|
|
62079
|
+
var _toConsumableArray = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "./node_modules/@babel/runtime/helpers/toConsumableArray.js");
|
|
62080
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
62081
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
62082
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
62083
|
+
var colorString = __webpack_require__(/*! color-string */ "./node_modules/color-string/index.js");
|
|
62084
|
+
var convert = __webpack_require__(/*! color-convert */ "./node_modules/color/node_modules/color-convert/index.js");
|
|
62085
|
+
var skippedModels = [
|
|
62086
|
+
// To be honest, I don't really feel like keyword belongs in color convert, but eh.
|
|
62087
|
+
'keyword',
|
|
62088
|
+
// Gray conflicts with some method names, and has its own method defined.
|
|
62089
|
+
'gray',
|
|
62090
|
+
// Shouldn't really be in color-convert either...
|
|
62091
|
+
'hex'];
|
|
62092
|
+
var hashedModelKeys = {};
|
|
62093
|
+
for (var _i = 0, _Object$keys = Object.keys(convert); _i < _Object$keys.length; _i++) {
|
|
62094
|
+
var model = _Object$keys[_i];
|
|
62095
|
+
hashedModelKeys[_toConsumableArray(convert[model].labels).sort().join('')] = model;
|
|
62096
|
+
}
|
|
62097
|
+
var limiters = {};
|
|
62098
|
+
function Color(object, model) {
|
|
62099
|
+
if (!(this instanceof Color)) {
|
|
62100
|
+
return new Color(object, model);
|
|
62216
62101
|
}
|
|
62217
|
-
|
|
62218
|
-
|
|
62219
|
-
};
|
|
62220
|
-
convert.lch.lab = function (lch) {
|
|
62221
|
-
var l = lch[0];
|
|
62222
|
-
var c = lch[1];
|
|
62223
|
-
var h = lch[2];
|
|
62224
|
-
var a;
|
|
62225
|
-
var b;
|
|
62226
|
-
var hr;
|
|
62227
|
-
hr = h / 360 * 2 * Math.PI;
|
|
62228
|
-
a = c * Math.cos(hr);
|
|
62229
|
-
b = c * Math.sin(hr);
|
|
62230
|
-
return [l, a, b];
|
|
62231
|
-
};
|
|
62232
|
-
convert.rgb.ansi16 = function (args) {
|
|
62233
|
-
var r = args[0];
|
|
62234
|
-
var g = args[1];
|
|
62235
|
-
var b = args[2];
|
|
62236
|
-
var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization
|
|
62237
|
-
|
|
62238
|
-
value = Math.round(value / 50);
|
|
62239
|
-
if (value === 0) {
|
|
62240
|
-
return 30;
|
|
62102
|
+
if (model && model in skippedModels) {
|
|
62103
|
+
model = null;
|
|
62241
62104
|
}
|
|
62242
|
-
|
|
62243
|
-
|
|
62244
|
-
ansi += 60;
|
|
62105
|
+
if (model && !(model in convert)) {
|
|
62106
|
+
throw new Error('Unknown model: ' + model);
|
|
62245
62107
|
}
|
|
62246
|
-
|
|
62247
|
-
|
|
62248
|
-
|
|
62249
|
-
|
|
62250
|
-
|
|
62251
|
-
|
|
62252
|
-
|
|
62253
|
-
|
|
62254
|
-
|
|
62255
|
-
|
|
62256
|
-
|
|
62257
|
-
|
|
62258
|
-
|
|
62259
|
-
|
|
62260
|
-
|
|
62261
|
-
if (r < 8) {
|
|
62262
|
-
return 16;
|
|
62108
|
+
var i;
|
|
62109
|
+
var channels;
|
|
62110
|
+
if (object == null) {
|
|
62111
|
+
// eslint-disable-line no-eq-null,eqeqeq
|
|
62112
|
+
this.model = 'rgb';
|
|
62113
|
+
this.color = [0, 0, 0];
|
|
62114
|
+
this.valpha = 1;
|
|
62115
|
+
} else if (object instanceof Color) {
|
|
62116
|
+
this.model = object.model;
|
|
62117
|
+
this.color = _toConsumableArray(object.color);
|
|
62118
|
+
this.valpha = object.valpha;
|
|
62119
|
+
} else if (typeof object === 'string') {
|
|
62120
|
+
var result = colorString.get(object);
|
|
62121
|
+
if (result === null) {
|
|
62122
|
+
throw new Error('Unable to parse color from string: ' + object);
|
|
62263
62123
|
}
|
|
62264
|
-
|
|
62265
|
-
|
|
62124
|
+
this.model = result.model;
|
|
62125
|
+
channels = convert[this.model].channels;
|
|
62126
|
+
this.color = result.value.slice(0, channels);
|
|
62127
|
+
this.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;
|
|
62128
|
+
} else if (object.length > 0) {
|
|
62129
|
+
this.model = model || 'rgb';
|
|
62130
|
+
channels = convert[this.model].channels;
|
|
62131
|
+
var newArray = Array.prototype.slice.call(object, 0, channels);
|
|
62132
|
+
this.color = zeroArray(newArray, channels);
|
|
62133
|
+
this.valpha = typeof object[channels] === 'number' ? object[channels] : 1;
|
|
62134
|
+
} else if (typeof object === 'number') {
|
|
62135
|
+
// This is always RGB - can be converted later on.
|
|
62136
|
+
this.model = 'rgb';
|
|
62137
|
+
this.color = [object >> 16 & 0xFF, object >> 8 & 0xFF, object & 0xFF];
|
|
62138
|
+
this.valpha = 1;
|
|
62139
|
+
} else {
|
|
62140
|
+
this.valpha = 1;
|
|
62141
|
+
var keys = Object.keys(object);
|
|
62142
|
+
if ('alpha' in object) {
|
|
62143
|
+
keys.splice(keys.indexOf('alpha'), 1);
|
|
62144
|
+
this.valpha = typeof object.alpha === 'number' ? object.alpha : 0;
|
|
62266
62145
|
}
|
|
62267
|
-
|
|
62146
|
+
var hashedKeys = keys.sort().join('');
|
|
62147
|
+
if (!(hashedKeys in hashedModelKeys)) {
|
|
62148
|
+
throw new Error('Unable to parse color from object: ' + JSON.stringify(object));
|
|
62149
|
+
}
|
|
62150
|
+
this.model = hashedModelKeys[hashedKeys];
|
|
62151
|
+
var labels = convert[this.model].labels;
|
|
62152
|
+
var color = [];
|
|
62153
|
+
for (i = 0; i < labels.length; i++) {
|
|
62154
|
+
color.push(object[labels[i]]);
|
|
62155
|
+
}
|
|
62156
|
+
this.color = zeroArray(color);
|
|
62268
62157
|
}
|
|
62269
|
-
var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
|
|
62270
|
-
return ansi;
|
|
62271
|
-
};
|
|
62272
|
-
convert.ansi16.rgb = function (args) {
|
|
62273
|
-
var color = args % 10;
|
|
62274
62158
|
|
|
62275
|
-
//
|
|
62276
|
-
if (
|
|
62277
|
-
|
|
62278
|
-
|
|
62159
|
+
// Perform limitations (clamping, etc.)
|
|
62160
|
+
if (limiters[this.model]) {
|
|
62161
|
+
channels = convert[this.model].channels;
|
|
62162
|
+
for (i = 0; i < channels; i++) {
|
|
62163
|
+
var limit = limiters[this.model][i];
|
|
62164
|
+
if (limit) {
|
|
62165
|
+
this.color[i] = limit(this.color[i]);
|
|
62166
|
+
}
|
|
62279
62167
|
}
|
|
62280
|
-
color = color / 10.5 * 255;
|
|
62281
|
-
return [color, color, color];
|
|
62282
|
-
}
|
|
62283
|
-
var mult = (~~(args > 50) + 1) * 0.5;
|
|
62284
|
-
var r = (color & 1) * mult * 255;
|
|
62285
|
-
var g = (color >> 1 & 1) * mult * 255;
|
|
62286
|
-
var b = (color >> 2 & 1) * mult * 255;
|
|
62287
|
-
return [r, g, b];
|
|
62288
|
-
};
|
|
62289
|
-
convert.ansi256.rgb = function (args) {
|
|
62290
|
-
// handle greyscale
|
|
62291
|
-
if (args >= 232) {
|
|
62292
|
-
var c = (args - 232) * 10 + 8;
|
|
62293
|
-
return [c, c, c];
|
|
62294
|
-
}
|
|
62295
|
-
args -= 16;
|
|
62296
|
-
var rem;
|
|
62297
|
-
var r = Math.floor(args / 36) / 5 * 255;
|
|
62298
|
-
var g = Math.floor((rem = args % 36) / 6) / 5 * 255;
|
|
62299
|
-
var b = rem % 6 / 5 * 255;
|
|
62300
|
-
return [r, g, b];
|
|
62301
|
-
};
|
|
62302
|
-
convert.rgb.hex = function (args) {
|
|
62303
|
-
var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF);
|
|
62304
|
-
var string = integer.toString(16).toUpperCase();
|
|
62305
|
-
return '000000'.substring(string.length) + string;
|
|
62306
|
-
};
|
|
62307
|
-
convert.hex.rgb = function (args) {
|
|
62308
|
-
var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
|
|
62309
|
-
if (!match) {
|
|
62310
|
-
return [0, 0, 0];
|
|
62311
|
-
}
|
|
62312
|
-
var colorString = match[0];
|
|
62313
|
-
if (match[0].length === 3) {
|
|
62314
|
-
colorString = colorString.split('').map(function (char) {
|
|
62315
|
-
return char + char;
|
|
62316
|
-
}).join('');
|
|
62317
|
-
}
|
|
62318
|
-
var integer = parseInt(colorString, 16);
|
|
62319
|
-
var r = integer >> 16 & 0xFF;
|
|
62320
|
-
var g = integer >> 8 & 0xFF;
|
|
62321
|
-
var b = integer & 0xFF;
|
|
62322
|
-
return [r, g, b];
|
|
62323
|
-
};
|
|
62324
|
-
convert.rgb.hcg = function (rgb) {
|
|
62325
|
-
var r = rgb[0] / 255;
|
|
62326
|
-
var g = rgb[1] / 255;
|
|
62327
|
-
var b = rgb[2] / 255;
|
|
62328
|
-
var max = Math.max(Math.max(r, g), b);
|
|
62329
|
-
var min = Math.min(Math.min(r, g), b);
|
|
62330
|
-
var chroma = max - min;
|
|
62331
|
-
var grayscale;
|
|
62332
|
-
var hue;
|
|
62333
|
-
if (chroma < 1) {
|
|
62334
|
-
grayscale = min / (1 - chroma);
|
|
62335
|
-
} else {
|
|
62336
|
-
grayscale = 0;
|
|
62337
|
-
}
|
|
62338
|
-
if (chroma <= 0) {
|
|
62339
|
-
hue = 0;
|
|
62340
|
-
} else if (max === r) {
|
|
62341
|
-
hue = (g - b) / chroma % 6;
|
|
62342
|
-
} else if (max === g) {
|
|
62343
|
-
hue = 2 + (b - r) / chroma;
|
|
62344
|
-
} else {
|
|
62345
|
-
hue = 4 + (r - g) / chroma + 4;
|
|
62346
|
-
}
|
|
62347
|
-
hue /= 6;
|
|
62348
|
-
hue %= 1;
|
|
62349
|
-
return [hue * 360, chroma * 100, grayscale * 100];
|
|
62350
|
-
};
|
|
62351
|
-
convert.hsl.hcg = function (hsl) {
|
|
62352
|
-
var s = hsl[1] / 100;
|
|
62353
|
-
var l = hsl[2] / 100;
|
|
62354
|
-
var c = 1;
|
|
62355
|
-
var f = 0;
|
|
62356
|
-
if (l < 0.5) {
|
|
62357
|
-
c = 2.0 * s * l;
|
|
62358
|
-
} else {
|
|
62359
|
-
c = 2.0 * s * (1.0 - l);
|
|
62360
|
-
}
|
|
62361
|
-
if (c < 1.0) {
|
|
62362
|
-
f = (l - 0.5 * c) / (1.0 - c);
|
|
62363
|
-
}
|
|
62364
|
-
return [hsl[0], c * 100, f * 100];
|
|
62365
|
-
};
|
|
62366
|
-
convert.hsv.hcg = function (hsv) {
|
|
62367
|
-
var s = hsv[1] / 100;
|
|
62368
|
-
var v = hsv[2] / 100;
|
|
62369
|
-
var c = s * v;
|
|
62370
|
-
var f = 0;
|
|
62371
|
-
if (c < 1.0) {
|
|
62372
|
-
f = (v - c) / (1 - c);
|
|
62373
|
-
}
|
|
62374
|
-
return [hsv[0], c * 100, f * 100];
|
|
62375
|
-
};
|
|
62376
|
-
convert.hcg.rgb = function (hcg) {
|
|
62377
|
-
var h = hcg[0] / 360;
|
|
62378
|
-
var c = hcg[1] / 100;
|
|
62379
|
-
var g = hcg[2] / 100;
|
|
62380
|
-
if (c === 0.0) {
|
|
62381
|
-
return [g * 255, g * 255, g * 255];
|
|
62382
62168
|
}
|
|
62383
|
-
|
|
62384
|
-
|
|
62385
|
-
|
|
62386
|
-
var w = 1 - v;
|
|
62387
|
-
var mg = 0;
|
|
62388
|
-
switch (Math.floor(hi)) {
|
|
62389
|
-
case 0:
|
|
62390
|
-
pure[0] = 1;
|
|
62391
|
-
pure[1] = v;
|
|
62392
|
-
pure[2] = 0;
|
|
62393
|
-
break;
|
|
62394
|
-
case 1:
|
|
62395
|
-
pure[0] = w;
|
|
62396
|
-
pure[1] = 1;
|
|
62397
|
-
pure[2] = 0;
|
|
62398
|
-
break;
|
|
62399
|
-
case 2:
|
|
62400
|
-
pure[0] = 0;
|
|
62401
|
-
pure[1] = 1;
|
|
62402
|
-
pure[2] = v;
|
|
62403
|
-
break;
|
|
62404
|
-
case 3:
|
|
62405
|
-
pure[0] = 0;
|
|
62406
|
-
pure[1] = w;
|
|
62407
|
-
pure[2] = 1;
|
|
62408
|
-
break;
|
|
62409
|
-
case 4:
|
|
62410
|
-
pure[0] = v;
|
|
62411
|
-
pure[1] = 0;
|
|
62412
|
-
pure[2] = 1;
|
|
62413
|
-
break;
|
|
62414
|
-
default:
|
|
62415
|
-
pure[0] = 1;
|
|
62416
|
-
pure[1] = 0;
|
|
62417
|
-
pure[2] = w;
|
|
62418
|
-
}
|
|
62419
|
-
mg = (1.0 - c) * g;
|
|
62420
|
-
return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255];
|
|
62421
|
-
};
|
|
62422
|
-
convert.hcg.hsv = function (hcg) {
|
|
62423
|
-
var c = hcg[1] / 100;
|
|
62424
|
-
var g = hcg[2] / 100;
|
|
62425
|
-
var v = c + g * (1.0 - c);
|
|
62426
|
-
var f = 0;
|
|
62427
|
-
if (v > 0.0) {
|
|
62428
|
-
f = c / v;
|
|
62429
|
-
}
|
|
62430
|
-
return [hcg[0], f * 100, v * 100];
|
|
62431
|
-
};
|
|
62432
|
-
convert.hcg.hsl = function (hcg) {
|
|
62433
|
-
var c = hcg[1] / 100;
|
|
62434
|
-
var g = hcg[2] / 100;
|
|
62435
|
-
var l = g * (1.0 - c) + 0.5 * c;
|
|
62436
|
-
var s = 0;
|
|
62437
|
-
if (l > 0.0 && l < 0.5) {
|
|
62438
|
-
s = c / (2 * l);
|
|
62439
|
-
} else if (l >= 0.5 && l < 1.0) {
|
|
62440
|
-
s = c / (2 * (1 - l));
|
|
62169
|
+
this.valpha = Math.max(0, Math.min(1, this.valpha));
|
|
62170
|
+
if (Object.freeze) {
|
|
62171
|
+
Object.freeze(this);
|
|
62441
62172
|
}
|
|
62442
|
-
|
|
62443
|
-
|
|
62444
|
-
|
|
62445
|
-
|
|
62446
|
-
|
|
62447
|
-
|
|
62448
|
-
|
|
62449
|
-
}
|
|
62450
|
-
|
|
62451
|
-
|
|
62452
|
-
|
|
62453
|
-
|
|
62454
|
-
|
|
62455
|
-
|
|
62456
|
-
|
|
62457
|
-
|
|
62173
|
+
}
|
|
62174
|
+
Color.prototype = {
|
|
62175
|
+
toString: function toString() {
|
|
62176
|
+
return this.string();
|
|
62177
|
+
},
|
|
62178
|
+
toJSON: function toJSON() {
|
|
62179
|
+
return this[this.model]();
|
|
62180
|
+
},
|
|
62181
|
+
string: function string(places) {
|
|
62182
|
+
var self = this.model in colorString.to ? this : this.rgb();
|
|
62183
|
+
self = self.round(typeof places === 'number' ? places : 1);
|
|
62184
|
+
var args = self.valpha === 1 ? self.color : [].concat(_toConsumableArray(self.color), [this.valpha]);
|
|
62185
|
+
return colorString.to[self.model](args);
|
|
62186
|
+
},
|
|
62187
|
+
percentString: function percentString(places) {
|
|
62188
|
+
var self = this.rgb().round(typeof places === 'number' ? places : 1);
|
|
62189
|
+
var args = self.valpha === 1 ? self.color : [].concat(_toConsumableArray(self.color), [this.valpha]);
|
|
62190
|
+
return colorString.to.rgb.percent(args);
|
|
62191
|
+
},
|
|
62192
|
+
array: function array() {
|
|
62193
|
+
return this.valpha === 1 ? _toConsumableArray(this.color) : [].concat(_toConsumableArray(this.color), [this.valpha]);
|
|
62194
|
+
},
|
|
62195
|
+
object: function object() {
|
|
62196
|
+
var result = {};
|
|
62197
|
+
var channels = convert[this.model].channels;
|
|
62198
|
+
var labels = convert[this.model].labels;
|
|
62199
|
+
for (var i = 0; i < channels; i++) {
|
|
62200
|
+
result[labels[i]] = this.color[i];
|
|
62201
|
+
}
|
|
62202
|
+
if (this.valpha !== 1) {
|
|
62203
|
+
result.alpha = this.valpha;
|
|
62204
|
+
}
|
|
62205
|
+
return result;
|
|
62206
|
+
},
|
|
62207
|
+
unitArray: function unitArray() {
|
|
62208
|
+
var rgb = this.rgb().color;
|
|
62209
|
+
rgb[0] /= 255;
|
|
62210
|
+
rgb[1] /= 255;
|
|
62211
|
+
rgb[2] /= 255;
|
|
62212
|
+
if (this.valpha !== 1) {
|
|
62213
|
+
rgb.push(this.valpha);
|
|
62214
|
+
}
|
|
62215
|
+
return rgb;
|
|
62216
|
+
},
|
|
62217
|
+
unitObject: function unitObject() {
|
|
62218
|
+
var rgb = this.rgb().object();
|
|
62219
|
+
rgb.r /= 255;
|
|
62220
|
+
rgb.g /= 255;
|
|
62221
|
+
rgb.b /= 255;
|
|
62222
|
+
if (this.valpha !== 1) {
|
|
62223
|
+
rgb.alpha = this.valpha;
|
|
62224
|
+
}
|
|
62225
|
+
return rgb;
|
|
62226
|
+
},
|
|
62227
|
+
round: function round(places) {
|
|
62228
|
+
places = Math.max(places || 0, 0);
|
|
62229
|
+
return new Color([].concat(_toConsumableArray(this.color.map(roundToPlace(places))), [this.valpha]), this.model);
|
|
62230
|
+
},
|
|
62231
|
+
alpha: function alpha(value) {
|
|
62232
|
+
if (value !== undefined) {
|
|
62233
|
+
return new Color([].concat(_toConsumableArray(this.color), [Math.max(0, Math.min(1, value))]), this.model);
|
|
62234
|
+
}
|
|
62235
|
+
return this.valpha;
|
|
62236
|
+
},
|
|
62237
|
+
// Rgb
|
|
62238
|
+
red: getset('rgb', 0, maxfn(255)),
|
|
62239
|
+
green: getset('rgb', 1, maxfn(255)),
|
|
62240
|
+
blue: getset('rgb', 2, maxfn(255)),
|
|
62241
|
+
hue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, function (value) {
|
|
62242
|
+
return (value % 360 + 360) % 360;
|
|
62243
|
+
}),
|
|
62244
|
+
saturationl: getset('hsl', 1, maxfn(100)),
|
|
62245
|
+
lightness: getset('hsl', 2, maxfn(100)),
|
|
62246
|
+
saturationv: getset('hsv', 1, maxfn(100)),
|
|
62247
|
+
value: getset('hsv', 2, maxfn(100)),
|
|
62248
|
+
chroma: getset('hcg', 1, maxfn(100)),
|
|
62249
|
+
gray: getset('hcg', 2, maxfn(100)),
|
|
62250
|
+
white: getset('hwb', 1, maxfn(100)),
|
|
62251
|
+
wblack: getset('hwb', 2, maxfn(100)),
|
|
62252
|
+
cyan: getset('cmyk', 0, maxfn(100)),
|
|
62253
|
+
magenta: getset('cmyk', 1, maxfn(100)),
|
|
62254
|
+
yellow: getset('cmyk', 2, maxfn(100)),
|
|
62255
|
+
black: getset('cmyk', 3, maxfn(100)),
|
|
62256
|
+
x: getset('xyz', 0, maxfn(95.047)),
|
|
62257
|
+
y: getset('xyz', 1, maxfn(100)),
|
|
62258
|
+
z: getset('xyz', 2, maxfn(108.833)),
|
|
62259
|
+
l: getset('lab', 0, maxfn(100)),
|
|
62260
|
+
a: getset('lab', 1),
|
|
62261
|
+
b: getset('lab', 2),
|
|
62262
|
+
keyword: function keyword(value) {
|
|
62263
|
+
if (value !== undefined) {
|
|
62264
|
+
return new Color(value);
|
|
62265
|
+
}
|
|
62266
|
+
return convert[this.model].keyword(this.color);
|
|
62267
|
+
},
|
|
62268
|
+
hex: function hex(value) {
|
|
62269
|
+
if (value !== undefined) {
|
|
62270
|
+
return new Color(value);
|
|
62271
|
+
}
|
|
62272
|
+
return colorString.to.hex(this.rgb().round().color);
|
|
62273
|
+
},
|
|
62274
|
+
hexa: function hexa(value) {
|
|
62275
|
+
if (value !== undefined) {
|
|
62276
|
+
return new Color(value);
|
|
62277
|
+
}
|
|
62278
|
+
var rgbArray = this.rgb().round().color;
|
|
62279
|
+
var alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();
|
|
62280
|
+
if (alphaHex.length === 1) {
|
|
62281
|
+
alphaHex = '0' + alphaHex;
|
|
62282
|
+
}
|
|
62283
|
+
return colorString.to.hex(rgbArray) + alphaHex;
|
|
62284
|
+
},
|
|
62285
|
+
rgbNumber: function rgbNumber() {
|
|
62286
|
+
var rgb = this.rgb().color;
|
|
62287
|
+
return (rgb[0] & 0xFF) << 16 | (rgb[1] & 0xFF) << 8 | rgb[2] & 0xFF;
|
|
62288
|
+
},
|
|
62289
|
+
luminosity: function luminosity() {
|
|
62290
|
+
// http://www.w3.org/TR/WCAG20/#relativeluminancedef
|
|
62291
|
+
var rgb = this.rgb().color;
|
|
62292
|
+
var lum = [];
|
|
62293
|
+
var _iterator = _createForOfIteratorHelper(rgb.entries()),
|
|
62294
|
+
_step;
|
|
62295
|
+
try {
|
|
62296
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
62297
|
+
var _step$value = _slicedToArray(_step.value, 2),
|
|
62298
|
+
i = _step$value[0],
|
|
62299
|
+
element = _step$value[1];
|
|
62300
|
+
var chan = element / 255;
|
|
62301
|
+
lum[i] = chan <= 0.04045 ? chan / 12.92 : Math.pow((chan + 0.055) / 1.055, 2.4);
|
|
62302
|
+
}
|
|
62303
|
+
} catch (err) {
|
|
62304
|
+
_iterator.e(err);
|
|
62305
|
+
} finally {
|
|
62306
|
+
_iterator.f();
|
|
62307
|
+
}
|
|
62308
|
+
return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];
|
|
62309
|
+
},
|
|
62310
|
+
contrast: function contrast(color2) {
|
|
62311
|
+
// http://www.w3.org/TR/WCAG20/#contrast-ratiodef
|
|
62312
|
+
var lum1 = this.luminosity();
|
|
62313
|
+
var lum2 = color2.luminosity();
|
|
62314
|
+
if (lum1 > lum2) {
|
|
62315
|
+
return (lum1 + 0.05) / (lum2 + 0.05);
|
|
62316
|
+
}
|
|
62317
|
+
return (lum2 + 0.05) / (lum1 + 0.05);
|
|
62318
|
+
},
|
|
62319
|
+
level: function level(color2) {
|
|
62320
|
+
// https://www.w3.org/TR/WCAG/#contrast-enhanced
|
|
62321
|
+
var contrastRatio = this.contrast(color2);
|
|
62322
|
+
if (contrastRatio >= 7) {
|
|
62323
|
+
return 'AAA';
|
|
62324
|
+
}
|
|
62325
|
+
return contrastRatio >= 4.5 ? 'AA' : '';
|
|
62326
|
+
},
|
|
62327
|
+
isDark: function isDark() {
|
|
62328
|
+
// YIQ equation from http://24ways.org/2010/calculating-color-contrast
|
|
62329
|
+
var rgb = this.rgb().color;
|
|
62330
|
+
var yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000;
|
|
62331
|
+
return yiq < 128;
|
|
62332
|
+
},
|
|
62333
|
+
isLight: function isLight() {
|
|
62334
|
+
return !this.isDark();
|
|
62335
|
+
},
|
|
62336
|
+
negate: function negate() {
|
|
62337
|
+
var rgb = this.rgb();
|
|
62338
|
+
for (var i = 0; i < 3; i++) {
|
|
62339
|
+
rgb.color[i] = 255 - rgb.color[i];
|
|
62340
|
+
}
|
|
62341
|
+
return rgb;
|
|
62342
|
+
},
|
|
62343
|
+
lighten: function lighten(ratio) {
|
|
62344
|
+
var hsl = this.hsl();
|
|
62345
|
+
hsl.color[2] += hsl.color[2] * ratio;
|
|
62346
|
+
return hsl;
|
|
62347
|
+
},
|
|
62348
|
+
darken: function darken(ratio) {
|
|
62349
|
+
var hsl = this.hsl();
|
|
62350
|
+
hsl.color[2] -= hsl.color[2] * ratio;
|
|
62351
|
+
return hsl;
|
|
62352
|
+
},
|
|
62353
|
+
saturate: function saturate(ratio) {
|
|
62354
|
+
var hsl = this.hsl();
|
|
62355
|
+
hsl.color[1] += hsl.color[1] * ratio;
|
|
62356
|
+
return hsl;
|
|
62357
|
+
},
|
|
62358
|
+
desaturate: function desaturate(ratio) {
|
|
62359
|
+
var hsl = this.hsl();
|
|
62360
|
+
hsl.color[1] -= hsl.color[1] * ratio;
|
|
62361
|
+
return hsl;
|
|
62362
|
+
},
|
|
62363
|
+
whiten: function whiten(ratio) {
|
|
62364
|
+
var hwb = this.hwb();
|
|
62365
|
+
hwb.color[1] += hwb.color[1] * ratio;
|
|
62366
|
+
return hwb;
|
|
62367
|
+
},
|
|
62368
|
+
blacken: function blacken(ratio) {
|
|
62369
|
+
var hwb = this.hwb();
|
|
62370
|
+
hwb.color[2] += hwb.color[2] * ratio;
|
|
62371
|
+
return hwb;
|
|
62372
|
+
},
|
|
62373
|
+
grayscale: function grayscale() {
|
|
62374
|
+
// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale
|
|
62375
|
+
var rgb = this.rgb().color;
|
|
62376
|
+
var value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;
|
|
62377
|
+
return Color.rgb(value, value, value);
|
|
62378
|
+
},
|
|
62379
|
+
fade: function fade(ratio) {
|
|
62380
|
+
return this.alpha(this.valpha - this.valpha * ratio);
|
|
62381
|
+
},
|
|
62382
|
+
opaquer: function opaquer(ratio) {
|
|
62383
|
+
return this.alpha(this.valpha + this.valpha * ratio);
|
|
62384
|
+
},
|
|
62385
|
+
rotate: function rotate(degrees) {
|
|
62386
|
+
var hsl = this.hsl();
|
|
62387
|
+
var hue = hsl.color[0];
|
|
62388
|
+
hue = (hue + degrees) % 360;
|
|
62389
|
+
hue = hue < 0 ? 360 + hue : hue;
|
|
62390
|
+
hsl.color[0] = hue;
|
|
62391
|
+
return hsl;
|
|
62392
|
+
},
|
|
62393
|
+
mix: function mix(mixinColor, weight) {
|
|
62394
|
+
// Ported from sass implementation in C
|
|
62395
|
+
// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209
|
|
62396
|
+
if (!mixinColor || !mixinColor.rgb) {
|
|
62397
|
+
throw new Error('Argument to "mix" was not a Color instance, but rather an instance of ' + _typeof(mixinColor));
|
|
62398
|
+
}
|
|
62399
|
+
var color1 = mixinColor.rgb();
|
|
62400
|
+
var color2 = this.rgb();
|
|
62401
|
+
var p = weight === undefined ? 0.5 : weight;
|
|
62402
|
+
var w = 2 * p - 1;
|
|
62403
|
+
var a = color1.alpha() - color2.alpha();
|
|
62404
|
+
var w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2;
|
|
62405
|
+
var w2 = 1 - w1;
|
|
62406
|
+
return Color.rgb(w1 * color1.red() + w2 * color2.red(), w1 * color1.green() + w2 * color2.green(), w1 * color1.blue() + w2 * color2.blue(), color1.alpha() * p + color2.alpha() * (1 - p));
|
|
62458
62407
|
}
|
|
62459
|
-
return [hwb[0], c * 100, g * 100];
|
|
62460
|
-
};
|
|
62461
|
-
convert.apple.rgb = function (apple) {
|
|
62462
|
-
return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
|
|
62463
|
-
};
|
|
62464
|
-
convert.rgb.apple = function (rgb) {
|
|
62465
|
-
return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
|
|
62466
|
-
};
|
|
62467
|
-
convert.gray.rgb = function (args) {
|
|
62468
|
-
return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
|
|
62469
|
-
};
|
|
62470
|
-
convert.gray.hsl = convert.gray.hsv = function (args) {
|
|
62471
|
-
return [0, 0, args[0]];
|
|
62472
|
-
};
|
|
62473
|
-
convert.gray.hwb = function (gray) {
|
|
62474
|
-
return [0, 100, gray[0]];
|
|
62475
|
-
};
|
|
62476
|
-
convert.gray.cmyk = function (gray) {
|
|
62477
|
-
return [0, 0, 0, gray[0]];
|
|
62478
|
-
};
|
|
62479
|
-
convert.gray.lab = function (gray) {
|
|
62480
|
-
return [gray[0], 0, 0];
|
|
62481
|
-
};
|
|
62482
|
-
convert.gray.hex = function (gray) {
|
|
62483
|
-
var val = Math.round(gray[0] / 100 * 255) & 0xFF;
|
|
62484
|
-
var integer = (val << 16) + (val << 8) + val;
|
|
62485
|
-
var string = integer.toString(16).toUpperCase();
|
|
62486
|
-
return '000000'.substring(string.length) + string;
|
|
62487
|
-
};
|
|
62488
|
-
convert.rgb.gray = function (rgb) {
|
|
62489
|
-
var val = (rgb[0] + rgb[1] + rgb[2]) / 3;
|
|
62490
|
-
return [val / 255 * 100];
|
|
62491
62408
|
};
|
|
62492
62409
|
|
|
62493
|
-
|
|
62494
|
-
|
|
62495
|
-
|
|
62496
|
-
|
|
62497
|
-
|
|
62498
|
-
|
|
62499
|
-
|
|
62500
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
62410
|
+
// Model conversion methods and static constructors
|
|
62411
|
+
var _loop = function _loop() {
|
|
62412
|
+
var model = _Object$keys2[_i2];
|
|
62413
|
+
if (skippedModels.includes(model)) {
|
|
62414
|
+
return "continue";
|
|
62415
|
+
}
|
|
62416
|
+
var channels = convert[model].channels;
|
|
62501
62417
|
|
|
62502
|
-
|
|
62503
|
-
|
|
62504
|
-
|
|
62505
|
-
|
|
62506
|
-
var models = Object.keys(conversions);
|
|
62507
|
-
function wrapRaw(fn) {
|
|
62508
|
-
var wrappedFn = function wrappedFn(args) {
|
|
62509
|
-
if (args === undefined || args === null) {
|
|
62510
|
-
return args;
|
|
62418
|
+
// Conversion methods
|
|
62419
|
+
Color.prototype[model] = function () {
|
|
62420
|
+
if (this.model === model) {
|
|
62421
|
+
return new Color(this);
|
|
62511
62422
|
}
|
|
62512
|
-
|
|
62513
|
-
args =
|
|
62423
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
62424
|
+
args[_key] = arguments[_key];
|
|
62514
62425
|
}
|
|
62515
|
-
|
|
62426
|
+
if (args.length > 0) {
|
|
62427
|
+
return new Color(args, model);
|
|
62428
|
+
}
|
|
62429
|
+
return new Color([].concat(_toConsumableArray(assertArray(convert[this.model][model].raw(this.color))), [this.valpha]), model);
|
|
62516
62430
|
};
|
|
62517
62431
|
|
|
62518
|
-
//
|
|
62519
|
-
|
|
62520
|
-
|
|
62521
|
-
|
|
62522
|
-
return wrappedFn;
|
|
62523
|
-
}
|
|
62524
|
-
function wrapRounded(fn) {
|
|
62525
|
-
var wrappedFn = function wrappedFn(args) {
|
|
62526
|
-
if (args === undefined || args === null) {
|
|
62527
|
-
return args;
|
|
62432
|
+
// 'static' construction methods
|
|
62433
|
+
Color[model] = function () {
|
|
62434
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
62435
|
+
args[_key2] = arguments[_key2];
|
|
62528
62436
|
}
|
|
62529
|
-
|
|
62530
|
-
|
|
62437
|
+
var color = args[0];
|
|
62438
|
+
if (typeof color === 'number') {
|
|
62439
|
+
color = zeroArray(args, channels);
|
|
62531
62440
|
}
|
|
62532
|
-
|
|
62533
|
-
|
|
62534
|
-
|
|
62535
|
-
|
|
62536
|
-
|
|
62537
|
-
|
|
62538
|
-
|
|
62539
|
-
|
|
62441
|
+
return new Color(color, model);
|
|
62442
|
+
};
|
|
62443
|
+
};
|
|
62444
|
+
for (var _i2 = 0, _Object$keys2 = Object.keys(convert); _i2 < _Object$keys2.length; _i2++) {
|
|
62445
|
+
var _ret = _loop();
|
|
62446
|
+
if (_ret === "continue") continue;
|
|
62447
|
+
}
|
|
62448
|
+
function roundTo(number, places) {
|
|
62449
|
+
return Number(number.toFixed(places));
|
|
62450
|
+
}
|
|
62451
|
+
function roundToPlace(places) {
|
|
62452
|
+
return function (number) {
|
|
62453
|
+
return roundTo(number, places);
|
|
62454
|
+
};
|
|
62455
|
+
}
|
|
62456
|
+
function getset(model, channel, modifier) {
|
|
62457
|
+
model = Array.isArray(model) ? model : [model];
|
|
62458
|
+
var _iterator2 = _createForOfIteratorHelper(model),
|
|
62459
|
+
_step2;
|
|
62460
|
+
try {
|
|
62461
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
62462
|
+
var m = _step2.value;
|
|
62463
|
+
(limiters[m] || (limiters[m] = []))[channel] = modifier;
|
|
62464
|
+
}
|
|
62465
|
+
} catch (err) {
|
|
62466
|
+
_iterator2.e(err);
|
|
62467
|
+
} finally {
|
|
62468
|
+
_iterator2.f();
|
|
62469
|
+
}
|
|
62470
|
+
model = model[0];
|
|
62471
|
+
return function (value) {
|
|
62472
|
+
var result;
|
|
62473
|
+
if (value !== undefined) {
|
|
62474
|
+
if (modifier) {
|
|
62475
|
+
value = modifier(value);
|
|
62540
62476
|
}
|
|
62477
|
+
result = this[model]();
|
|
62478
|
+
result.color[channel] = value;
|
|
62479
|
+
return result;
|
|
62480
|
+
}
|
|
62481
|
+
result = this[model]().color[channel];
|
|
62482
|
+
if (modifier) {
|
|
62483
|
+
result = modifier(result);
|
|
62541
62484
|
}
|
|
62542
62485
|
return result;
|
|
62543
62486
|
};
|
|
62544
|
-
|
|
62545
|
-
// preserve .conversion property if there is one
|
|
62546
|
-
if ('conversion' in fn) {
|
|
62547
|
-
wrappedFn.conversion = fn.conversion;
|
|
62548
|
-
}
|
|
62549
|
-
return wrappedFn;
|
|
62550
62487
|
}
|
|
62551
|
-
|
|
62552
|
-
|
|
62553
|
-
|
|
62554
|
-
|
|
62555
|
-
|
|
62556
|
-
|
|
62557
|
-
|
|
62558
|
-
|
|
62559
|
-
|
|
62560
|
-
var
|
|
62561
|
-
|
|
62562
|
-
|
|
62563
|
-
|
|
62564
|
-
|
|
62565
|
-
|
|
62566
|
-
}
|
|
62567
|
-
module.exports =
|
|
62568
|
-
|
|
62569
|
-
/***/ }),
|
|
62570
|
-
|
|
62571
|
-
/***/ "./node_modules/color-convert/node_modules/color-name/index.js":
|
|
62572
|
-
/*!*********************************************************************!*\
|
|
62573
|
-
!*** ./node_modules/color-convert/node_modules/color-name/index.js ***!
|
|
62574
|
-
\*********************************************************************/
|
|
62575
|
-
/*! no static exports found */
|
|
62576
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
62577
|
-
|
|
62578
|
-
"use strict";
|
|
62579
|
-
|
|
62580
|
-
|
|
62581
|
-
module.exports = {
|
|
62582
|
-
"aliceblue": [240, 248, 255],
|
|
62583
|
-
"antiquewhite": [250, 235, 215],
|
|
62584
|
-
"aqua": [0, 255, 255],
|
|
62585
|
-
"aquamarine": [127, 255, 212],
|
|
62586
|
-
"azure": [240, 255, 255],
|
|
62587
|
-
"beige": [245, 245, 220],
|
|
62588
|
-
"bisque": [255, 228, 196],
|
|
62589
|
-
"black": [0, 0, 0],
|
|
62590
|
-
"blanchedalmond": [255, 235, 205],
|
|
62591
|
-
"blue": [0, 0, 255],
|
|
62592
|
-
"blueviolet": [138, 43, 226],
|
|
62593
|
-
"brown": [165, 42, 42],
|
|
62594
|
-
"burlywood": [222, 184, 135],
|
|
62595
|
-
"cadetblue": [95, 158, 160],
|
|
62596
|
-
"chartreuse": [127, 255, 0],
|
|
62597
|
-
"chocolate": [210, 105, 30],
|
|
62598
|
-
"coral": [255, 127, 80],
|
|
62599
|
-
"cornflowerblue": [100, 149, 237],
|
|
62600
|
-
"cornsilk": [255, 248, 220],
|
|
62601
|
-
"crimson": [220, 20, 60],
|
|
62602
|
-
"cyan": [0, 255, 255],
|
|
62603
|
-
"darkblue": [0, 0, 139],
|
|
62604
|
-
"darkcyan": [0, 139, 139],
|
|
62605
|
-
"darkgoldenrod": [184, 134, 11],
|
|
62606
|
-
"darkgray": [169, 169, 169],
|
|
62607
|
-
"darkgreen": [0, 100, 0],
|
|
62608
|
-
"darkgrey": [169, 169, 169],
|
|
62609
|
-
"darkkhaki": [189, 183, 107],
|
|
62610
|
-
"darkmagenta": [139, 0, 139],
|
|
62611
|
-
"darkolivegreen": [85, 107, 47],
|
|
62612
|
-
"darkorange": [255, 140, 0],
|
|
62613
|
-
"darkorchid": [153, 50, 204],
|
|
62614
|
-
"darkred": [139, 0, 0],
|
|
62615
|
-
"darksalmon": [233, 150, 122],
|
|
62616
|
-
"darkseagreen": [143, 188, 143],
|
|
62617
|
-
"darkslateblue": [72, 61, 139],
|
|
62618
|
-
"darkslategray": [47, 79, 79],
|
|
62619
|
-
"darkslategrey": [47, 79, 79],
|
|
62620
|
-
"darkturquoise": [0, 206, 209],
|
|
62621
|
-
"darkviolet": [148, 0, 211],
|
|
62622
|
-
"deeppink": [255, 20, 147],
|
|
62623
|
-
"deepskyblue": [0, 191, 255],
|
|
62624
|
-
"dimgray": [105, 105, 105],
|
|
62625
|
-
"dimgrey": [105, 105, 105],
|
|
62626
|
-
"dodgerblue": [30, 144, 255],
|
|
62627
|
-
"firebrick": [178, 34, 34],
|
|
62628
|
-
"floralwhite": [255, 250, 240],
|
|
62629
|
-
"forestgreen": [34, 139, 34],
|
|
62630
|
-
"fuchsia": [255, 0, 255],
|
|
62631
|
-
"gainsboro": [220, 220, 220],
|
|
62632
|
-
"ghostwhite": [248, 248, 255],
|
|
62633
|
-
"gold": [255, 215, 0],
|
|
62634
|
-
"goldenrod": [218, 165, 32],
|
|
62635
|
-
"gray": [128, 128, 128],
|
|
62636
|
-
"green": [0, 128, 0],
|
|
62637
|
-
"greenyellow": [173, 255, 47],
|
|
62638
|
-
"grey": [128, 128, 128],
|
|
62639
|
-
"honeydew": [240, 255, 240],
|
|
62640
|
-
"hotpink": [255, 105, 180],
|
|
62641
|
-
"indianred": [205, 92, 92],
|
|
62642
|
-
"indigo": [75, 0, 130],
|
|
62643
|
-
"ivory": [255, 255, 240],
|
|
62644
|
-
"khaki": [240, 230, 140],
|
|
62645
|
-
"lavender": [230, 230, 250],
|
|
62646
|
-
"lavenderblush": [255, 240, 245],
|
|
62647
|
-
"lawngreen": [124, 252, 0],
|
|
62648
|
-
"lemonchiffon": [255, 250, 205],
|
|
62649
|
-
"lightblue": [173, 216, 230],
|
|
62650
|
-
"lightcoral": [240, 128, 128],
|
|
62651
|
-
"lightcyan": [224, 255, 255],
|
|
62652
|
-
"lightgoldenrodyellow": [250, 250, 210],
|
|
62653
|
-
"lightgray": [211, 211, 211],
|
|
62654
|
-
"lightgreen": [144, 238, 144],
|
|
62655
|
-
"lightgrey": [211, 211, 211],
|
|
62656
|
-
"lightpink": [255, 182, 193],
|
|
62657
|
-
"lightsalmon": [255, 160, 122],
|
|
62658
|
-
"lightseagreen": [32, 178, 170],
|
|
62659
|
-
"lightskyblue": [135, 206, 250],
|
|
62660
|
-
"lightslategray": [119, 136, 153],
|
|
62661
|
-
"lightslategrey": [119, 136, 153],
|
|
62662
|
-
"lightsteelblue": [176, 196, 222],
|
|
62663
|
-
"lightyellow": [255, 255, 224],
|
|
62664
|
-
"lime": [0, 255, 0],
|
|
62665
|
-
"limegreen": [50, 205, 50],
|
|
62666
|
-
"linen": [250, 240, 230],
|
|
62667
|
-
"magenta": [255, 0, 255],
|
|
62668
|
-
"maroon": [128, 0, 0],
|
|
62669
|
-
"mediumaquamarine": [102, 205, 170],
|
|
62670
|
-
"mediumblue": [0, 0, 205],
|
|
62671
|
-
"mediumorchid": [186, 85, 211],
|
|
62672
|
-
"mediumpurple": [147, 112, 219],
|
|
62673
|
-
"mediumseagreen": [60, 179, 113],
|
|
62674
|
-
"mediumslateblue": [123, 104, 238],
|
|
62675
|
-
"mediumspringgreen": [0, 250, 154],
|
|
62676
|
-
"mediumturquoise": [72, 209, 204],
|
|
62677
|
-
"mediumvioletred": [199, 21, 133],
|
|
62678
|
-
"midnightblue": [25, 25, 112],
|
|
62679
|
-
"mintcream": [245, 255, 250],
|
|
62680
|
-
"mistyrose": [255, 228, 225],
|
|
62681
|
-
"moccasin": [255, 228, 181],
|
|
62682
|
-
"navajowhite": [255, 222, 173],
|
|
62683
|
-
"navy": [0, 0, 128],
|
|
62684
|
-
"oldlace": [253, 245, 230],
|
|
62685
|
-
"olive": [128, 128, 0],
|
|
62686
|
-
"olivedrab": [107, 142, 35],
|
|
62687
|
-
"orange": [255, 165, 0],
|
|
62688
|
-
"orangered": [255, 69, 0],
|
|
62689
|
-
"orchid": [218, 112, 214],
|
|
62690
|
-
"palegoldenrod": [238, 232, 170],
|
|
62691
|
-
"palegreen": [152, 251, 152],
|
|
62692
|
-
"paleturquoise": [175, 238, 238],
|
|
62693
|
-
"palevioletred": [219, 112, 147],
|
|
62694
|
-
"papayawhip": [255, 239, 213],
|
|
62695
|
-
"peachpuff": [255, 218, 185],
|
|
62696
|
-
"peru": [205, 133, 63],
|
|
62697
|
-
"pink": [255, 192, 203],
|
|
62698
|
-
"plum": [221, 160, 221],
|
|
62699
|
-
"powderblue": [176, 224, 230],
|
|
62700
|
-
"purple": [128, 0, 128],
|
|
62701
|
-
"rebeccapurple": [102, 51, 153],
|
|
62702
|
-
"red": [255, 0, 0],
|
|
62703
|
-
"rosybrown": [188, 143, 143],
|
|
62704
|
-
"royalblue": [65, 105, 225],
|
|
62705
|
-
"saddlebrown": [139, 69, 19],
|
|
62706
|
-
"salmon": [250, 128, 114],
|
|
62707
|
-
"sandybrown": [244, 164, 96],
|
|
62708
|
-
"seagreen": [46, 139, 87],
|
|
62709
|
-
"seashell": [255, 245, 238],
|
|
62710
|
-
"sienna": [160, 82, 45],
|
|
62711
|
-
"silver": [192, 192, 192],
|
|
62712
|
-
"skyblue": [135, 206, 235],
|
|
62713
|
-
"slateblue": [106, 90, 205],
|
|
62714
|
-
"slategray": [112, 128, 144],
|
|
62715
|
-
"slategrey": [112, 128, 144],
|
|
62716
|
-
"snow": [255, 250, 250],
|
|
62717
|
-
"springgreen": [0, 255, 127],
|
|
62718
|
-
"steelblue": [70, 130, 180],
|
|
62719
|
-
"tan": [210, 180, 140],
|
|
62720
|
-
"teal": [0, 128, 128],
|
|
62721
|
-
"thistle": [216, 191, 216],
|
|
62722
|
-
"tomato": [255, 99, 71],
|
|
62723
|
-
"turquoise": [64, 224, 208],
|
|
62724
|
-
"violet": [238, 130, 238],
|
|
62725
|
-
"wheat": [245, 222, 179],
|
|
62726
|
-
"white": [255, 255, 255],
|
|
62727
|
-
"whitesmoke": [245, 245, 245],
|
|
62728
|
-
"yellow": [255, 255, 0],
|
|
62729
|
-
"yellowgreen": [154, 205, 50]
|
|
62730
|
-
};
|
|
62488
|
+
function maxfn(max) {
|
|
62489
|
+
return function (v) {
|
|
62490
|
+
return Math.max(0, Math.min(max, v));
|
|
62491
|
+
};
|
|
62492
|
+
}
|
|
62493
|
+
function assertArray(value) {
|
|
62494
|
+
return Array.isArray(value) ? value : [value];
|
|
62495
|
+
}
|
|
62496
|
+
function zeroArray(array, length) {
|
|
62497
|
+
for (var i = 0; i < length; i++) {
|
|
62498
|
+
if (typeof array[i] !== 'number') {
|
|
62499
|
+
array[i] = 0;
|
|
62500
|
+
}
|
|
62501
|
+
}
|
|
62502
|
+
return array;
|
|
62503
|
+
}
|
|
62504
|
+
module.exports = Color;
|
|
62731
62505
|
|
|
62732
62506
|
/***/ }),
|
|
62733
62507
|
|
|
62734
|
-
/***/ "./node_modules/color-convert/
|
|
62735
|
-
|
|
62736
|
-
!*** ./node_modules/color-convert/
|
|
62737
|
-
|
|
62508
|
+
/***/ "./node_modules/color/node_modules/color-convert/conversions.js":
|
|
62509
|
+
/*!**********************************************************************!*\
|
|
62510
|
+
!*** ./node_modules/color/node_modules/color-convert/conversions.js ***!
|
|
62511
|
+
\**********************************************************************/
|
|
62738
62512
|
/*! no static exports found */
|
|
62739
62513
|
/***/ (function(module, exports, __webpack_require__) {
|
|
62740
62514
|
|
|
62741
|
-
var
|
|
62742
|
-
|
|
62743
|
-
/*
|
|
62744
|
-
|
|
62515
|
+
var _slicedToArray = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "./node_modules/@babel/runtime/helpers/slicedToArray.js");
|
|
62516
|
+
/* MIT license */
|
|
62517
|
+
/* eslint-disable no-mixed-operators */
|
|
62518
|
+
var cssKeywords = __webpack_require__(/*! color-name */ "./node_modules/color-name/index.js");
|
|
62745
62519
|
|
|
62746
|
-
|
|
62747
|
-
|
|
62748
|
-
|
|
62749
|
-
color models (inclusive).
|
|
62520
|
+
// NOTE: conversions should only return primitive values (i.e. arrays, or
|
|
62521
|
+
// values that give correct `typeof` results).
|
|
62522
|
+
// do not use box values types (i.e. Number(), String(), etc.)
|
|
62750
62523
|
|
|
62751
|
-
|
|
62752
|
-
|
|
62524
|
+
var reverseKeywords = {};
|
|
62525
|
+
for (var _i = 0, _Object$keys = Object.keys(cssKeywords); _i < _Object$keys.length; _i++) {
|
|
62526
|
+
var key = _Object$keys[_i];
|
|
62527
|
+
reverseKeywords[cssKeywords[key]] = key;
|
|
62528
|
+
}
|
|
62529
|
+
var convert = {
|
|
62530
|
+
rgb: {
|
|
62531
|
+
channels: 3,
|
|
62532
|
+
labels: 'rgb'
|
|
62533
|
+
},
|
|
62534
|
+
hsl: {
|
|
62535
|
+
channels: 3,
|
|
62536
|
+
labels: 'hsl'
|
|
62537
|
+
},
|
|
62538
|
+
hsv: {
|
|
62539
|
+
channels: 3,
|
|
62540
|
+
labels: 'hsv'
|
|
62541
|
+
},
|
|
62542
|
+
hwb: {
|
|
62543
|
+
channels: 3,
|
|
62544
|
+
labels: 'hwb'
|
|
62545
|
+
},
|
|
62546
|
+
cmyk: {
|
|
62547
|
+
channels: 4,
|
|
62548
|
+
labels: 'cmyk'
|
|
62549
|
+
},
|
|
62550
|
+
xyz: {
|
|
62551
|
+
channels: 3,
|
|
62552
|
+
labels: 'xyz'
|
|
62553
|
+
},
|
|
62554
|
+
lab: {
|
|
62555
|
+
channels: 3,
|
|
62556
|
+
labels: 'lab'
|
|
62557
|
+
},
|
|
62558
|
+
lch: {
|
|
62559
|
+
channels: 3,
|
|
62560
|
+
labels: 'lch'
|
|
62561
|
+
},
|
|
62562
|
+
hex: {
|
|
62563
|
+
channels: 1,
|
|
62564
|
+
labels: ['hex']
|
|
62565
|
+
},
|
|
62566
|
+
keyword: {
|
|
62567
|
+
channels: 1,
|
|
62568
|
+
labels: ['keyword']
|
|
62569
|
+
},
|
|
62570
|
+
ansi16: {
|
|
62571
|
+
channels: 1,
|
|
62572
|
+
labels: ['ansi16']
|
|
62573
|
+
},
|
|
62574
|
+
ansi256: {
|
|
62575
|
+
channels: 1,
|
|
62576
|
+
labels: ['ansi256']
|
|
62577
|
+
},
|
|
62578
|
+
hcg: {
|
|
62579
|
+
channels: 3,
|
|
62580
|
+
labels: ['h', 'c', 'g']
|
|
62581
|
+
},
|
|
62582
|
+
apple: {
|
|
62583
|
+
channels: 3,
|
|
62584
|
+
labels: ['r16', 'g16', 'b16']
|
|
62585
|
+
},
|
|
62586
|
+
gray: {
|
|
62587
|
+
channels: 1,
|
|
62588
|
+
labels: ['gray']
|
|
62589
|
+
}
|
|
62590
|
+
};
|
|
62591
|
+
module.exports = convert;
|
|
62753
62592
|
|
|
62754
|
-
|
|
62755
|
-
|
|
62756
|
-
|
|
62757
|
-
|
|
62758
|
-
|
|
62759
|
-
|
|
62760
|
-
|
|
62761
|
-
|
|
62762
|
-
|
|
62763
|
-
|
|
62764
|
-
|
|
62593
|
+
// Hide .channels and .labels properties
|
|
62594
|
+
for (var _i2 = 0, _Object$keys2 = Object.keys(convert); _i2 < _Object$keys2.length; _i2++) {
|
|
62595
|
+
var model = _Object$keys2[_i2];
|
|
62596
|
+
if (!('channels' in convert[model])) {
|
|
62597
|
+
throw new Error('missing channels property: ' + model);
|
|
62598
|
+
}
|
|
62599
|
+
if (!('labels' in convert[model])) {
|
|
62600
|
+
throw new Error('missing channel labels property: ' + model);
|
|
62601
|
+
}
|
|
62602
|
+
if (convert[model].labels.length !== convert[model].channels) {
|
|
62603
|
+
throw new Error('channel and label counts mismatch: ' + model);
|
|
62604
|
+
}
|
|
62605
|
+
var _convert$model = convert[model],
|
|
62606
|
+
channels = _convert$model.channels,
|
|
62607
|
+
labels = _convert$model.labels;
|
|
62608
|
+
delete convert[model].channels;
|
|
62609
|
+
delete convert[model].labels;
|
|
62610
|
+
Object.defineProperty(convert[model], 'channels', {
|
|
62611
|
+
value: channels
|
|
62612
|
+
});
|
|
62613
|
+
Object.defineProperty(convert[model], 'labels', {
|
|
62614
|
+
value: labels
|
|
62615
|
+
});
|
|
62616
|
+
}
|
|
62617
|
+
convert.rgb.hsl = function (rgb) {
|
|
62618
|
+
var r = rgb[0] / 255;
|
|
62619
|
+
var g = rgb[1] / 255;
|
|
62620
|
+
var b = rgb[2] / 255;
|
|
62621
|
+
var min = Math.min(r, g, b);
|
|
62622
|
+
var max = Math.max(r, g, b);
|
|
62623
|
+
var delta = max - min;
|
|
62624
|
+
var h;
|
|
62625
|
+
var s;
|
|
62626
|
+
if (max === min) {
|
|
62627
|
+
h = 0;
|
|
62628
|
+
} else if (r === max) {
|
|
62629
|
+
h = (g - b) / delta;
|
|
62630
|
+
} else if (g === max) {
|
|
62631
|
+
h = 2 + (b - r) / delta;
|
|
62632
|
+
} else if (b === max) {
|
|
62633
|
+
h = 4 + (r - g) / delta;
|
|
62765
62634
|
}
|
|
62766
|
-
|
|
62635
|
+
h = Math.min(h * 60, 360);
|
|
62636
|
+
if (h < 0) {
|
|
62637
|
+
h += 360;
|
|
62638
|
+
}
|
|
62639
|
+
var l = (min + max) / 2;
|
|
62640
|
+
if (max === min) {
|
|
62641
|
+
s = 0;
|
|
62642
|
+
} else if (l <= 0.5) {
|
|
62643
|
+
s = delta / (max + min);
|
|
62644
|
+
} else {
|
|
62645
|
+
s = delta / (2 - max - min);
|
|
62646
|
+
}
|
|
62647
|
+
return [h, s * 100, l * 100];
|
|
62648
|
+
};
|
|
62649
|
+
convert.rgb.hsv = function (rgb) {
|
|
62650
|
+
var rdif;
|
|
62651
|
+
var gdif;
|
|
62652
|
+
var bdif;
|
|
62653
|
+
var h;
|
|
62654
|
+
var s;
|
|
62655
|
+
var r = rgb[0] / 255;
|
|
62656
|
+
var g = rgb[1] / 255;
|
|
62657
|
+
var b = rgb[2] / 255;
|
|
62658
|
+
var v = Math.max(r, g, b);
|
|
62659
|
+
var diff = v - Math.min(r, g, b);
|
|
62660
|
+
var diffc = function diffc(c) {
|
|
62661
|
+
return (v - c) / 6 / diff + 1 / 2;
|
|
62662
|
+
};
|
|
62663
|
+
if (diff === 0) {
|
|
62664
|
+
h = 0;
|
|
62665
|
+
s = 0;
|
|
62666
|
+
} else {
|
|
62667
|
+
s = diff / v;
|
|
62668
|
+
rdif = diffc(r);
|
|
62669
|
+
gdif = diffc(g);
|
|
62670
|
+
bdif = diffc(b);
|
|
62671
|
+
if (r === v) {
|
|
62672
|
+
h = bdif - gdif;
|
|
62673
|
+
} else if (g === v) {
|
|
62674
|
+
h = 1 / 3 + rdif - bdif;
|
|
62675
|
+
} else if (b === v) {
|
|
62676
|
+
h = 2 / 3 + gdif - rdif;
|
|
62677
|
+
}
|
|
62678
|
+
if (h < 0) {
|
|
62679
|
+
h += 1;
|
|
62680
|
+
} else if (h > 1) {
|
|
62681
|
+
h -= 1;
|
|
62682
|
+
}
|
|
62683
|
+
}
|
|
62684
|
+
return [h * 360, s * 100, v * 100];
|
|
62685
|
+
};
|
|
62686
|
+
convert.rgb.hwb = function (rgb) {
|
|
62687
|
+
var r = rgb[0];
|
|
62688
|
+
var g = rgb[1];
|
|
62689
|
+
var b = rgb[2];
|
|
62690
|
+
var h = convert.rgb.hsl(rgb)[0];
|
|
62691
|
+
var w = 1 / 255 * Math.min(r, Math.min(g, b));
|
|
62692
|
+
b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
|
|
62693
|
+
return [h, w * 100, b * 100];
|
|
62694
|
+
};
|
|
62695
|
+
convert.rgb.cmyk = function (rgb) {
|
|
62696
|
+
var r = rgb[0] / 255;
|
|
62697
|
+
var g = rgb[1] / 255;
|
|
62698
|
+
var b = rgb[2] / 255;
|
|
62699
|
+
var k = Math.min(1 - r, 1 - g, 1 - b);
|
|
62700
|
+
var c = (1 - r - k) / (1 - k) || 0;
|
|
62701
|
+
var m = (1 - g - k) / (1 - k) || 0;
|
|
62702
|
+
var y = (1 - b - k) / (1 - k) || 0;
|
|
62703
|
+
return [c * 100, m * 100, y * 100, k * 100];
|
|
62704
|
+
};
|
|
62705
|
+
function comparativeDistance(x, y) {
|
|
62706
|
+
/*
|
|
62707
|
+
See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance
|
|
62708
|
+
*/
|
|
62709
|
+
return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2);
|
|
62767
62710
|
}
|
|
62711
|
+
convert.rgb.keyword = function (rgb) {
|
|
62712
|
+
var reversed = reverseKeywords[rgb];
|
|
62713
|
+
if (reversed) {
|
|
62714
|
+
return reversed;
|
|
62715
|
+
}
|
|
62716
|
+
var currentClosestDistance = Infinity;
|
|
62717
|
+
var currentClosestKeyword;
|
|
62718
|
+
for (var _i3 = 0, _Object$keys3 = Object.keys(cssKeywords); _i3 < _Object$keys3.length; _i3++) {
|
|
62719
|
+
var keyword = _Object$keys3[_i3];
|
|
62720
|
+
var value = cssKeywords[keyword];
|
|
62768
62721
|
|
|
62769
|
-
//
|
|
62770
|
-
|
|
62771
|
-
var graph = buildGraph();
|
|
62772
|
-
var queue = [fromModel]; // unshift -> queue -> pop
|
|
62722
|
+
// Compute comparative distance
|
|
62723
|
+
var distance = comparativeDistance(rgb, value);
|
|
62773
62724
|
|
|
62774
|
-
|
|
62775
|
-
|
|
62776
|
-
|
|
62777
|
-
|
|
62778
|
-
for (var len = adjacents.length, i = 0; i < len; i++) {
|
|
62779
|
-
var adjacent = adjacents[i];
|
|
62780
|
-
var node = graph[adjacent];
|
|
62781
|
-
if (node.distance === -1) {
|
|
62782
|
-
node.distance = graph[current].distance + 1;
|
|
62783
|
-
node.parent = current;
|
|
62784
|
-
queue.unshift(adjacent);
|
|
62785
|
-
}
|
|
62725
|
+
// Check if its less, if so set as closest
|
|
62726
|
+
if (distance < currentClosestDistance) {
|
|
62727
|
+
currentClosestDistance = distance;
|
|
62728
|
+
currentClosestKeyword = keyword;
|
|
62786
62729
|
}
|
|
62787
62730
|
}
|
|
62788
|
-
return
|
|
62789
|
-
}
|
|
62790
|
-
function
|
|
62791
|
-
return
|
|
62792
|
-
|
|
62793
|
-
|
|
62794
|
-
|
|
62795
|
-
|
|
62796
|
-
var
|
|
62797
|
-
|
|
62798
|
-
|
|
62799
|
-
|
|
62800
|
-
|
|
62801
|
-
|
|
62802
|
-
|
|
62731
|
+
return currentClosestKeyword;
|
|
62732
|
+
};
|
|
62733
|
+
convert.keyword.rgb = function (keyword) {
|
|
62734
|
+
return cssKeywords[keyword];
|
|
62735
|
+
};
|
|
62736
|
+
convert.rgb.xyz = function (rgb) {
|
|
62737
|
+
var r = rgb[0] / 255;
|
|
62738
|
+
var g = rgb[1] / 255;
|
|
62739
|
+
var b = rgb[2] / 255;
|
|
62740
|
+
|
|
62741
|
+
// Assume sRGB
|
|
62742
|
+
r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;
|
|
62743
|
+
g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;
|
|
62744
|
+
b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;
|
|
62745
|
+
var x = r * 0.4124 + g * 0.3576 + b * 0.1805;
|
|
62746
|
+
var y = r * 0.2126 + g * 0.7152 + b * 0.0722;
|
|
62747
|
+
var z = r * 0.0193 + g * 0.1192 + b * 0.9505;
|
|
62748
|
+
return [x * 100, y * 100, z * 100];
|
|
62749
|
+
};
|
|
62750
|
+
convert.rgb.lab = function (rgb) {
|
|
62751
|
+
var xyz = convert.rgb.xyz(rgb);
|
|
62752
|
+
var x = xyz[0];
|
|
62753
|
+
var y = xyz[1];
|
|
62754
|
+
var z = xyz[2];
|
|
62755
|
+
x /= 95.047;
|
|
62756
|
+
y /= 100;
|
|
62757
|
+
z /= 108.883;
|
|
62758
|
+
x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;
|
|
62759
|
+
y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;
|
|
62760
|
+
z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;
|
|
62761
|
+
var l = 116 * y - 16;
|
|
62762
|
+
var a = 500 * (x - y);
|
|
62763
|
+
var b = 200 * (y - z);
|
|
62764
|
+
return [l, a, b];
|
|
62765
|
+
};
|
|
62766
|
+
convert.hsl.rgb = function (hsl) {
|
|
62767
|
+
var h = hsl[0] / 360;
|
|
62768
|
+
var s = hsl[1] / 100;
|
|
62769
|
+
var l = hsl[2] / 100;
|
|
62770
|
+
var t2;
|
|
62771
|
+
var t3;
|
|
62772
|
+
var val;
|
|
62773
|
+
if (s === 0) {
|
|
62774
|
+
val = l * 255;
|
|
62775
|
+
return [val, val, val];
|
|
62803
62776
|
}
|
|
62804
|
-
|
|
62805
|
-
|
|
62806
|
-
}
|
|
62807
|
-
|
|
62808
|
-
|
|
62809
|
-
var
|
|
62810
|
-
var
|
|
62811
|
-
for (var
|
|
62812
|
-
|
|
62813
|
-
|
|
62814
|
-
|
|
62815
|
-
// no possible conversion, or this node is the source model.
|
|
62816
|
-
continue;
|
|
62777
|
+
if (l < 0.5) {
|
|
62778
|
+
t2 = l * (1 + s);
|
|
62779
|
+
} else {
|
|
62780
|
+
t2 = l + s - l * s;
|
|
62781
|
+
}
|
|
62782
|
+
var t1 = 2 * l - t2;
|
|
62783
|
+
var rgb = [0, 0, 0];
|
|
62784
|
+
for (var i = 0; i < 3; i++) {
|
|
62785
|
+
t3 = h + 1 / 3 * -(i - 1);
|
|
62786
|
+
if (t3 < 0) {
|
|
62787
|
+
t3++;
|
|
62817
62788
|
}
|
|
62818
|
-
|
|
62789
|
+
if (t3 > 1) {
|
|
62790
|
+
t3--;
|
|
62791
|
+
}
|
|
62792
|
+
if (6 * t3 < 1) {
|
|
62793
|
+
val = t1 + (t2 - t1) * 6 * t3;
|
|
62794
|
+
} else if (2 * t3 < 1) {
|
|
62795
|
+
val = t2;
|
|
62796
|
+
} else if (3 * t3 < 2) {
|
|
62797
|
+
val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
|
|
62798
|
+
} else {
|
|
62799
|
+
val = t1;
|
|
62800
|
+
}
|
|
62801
|
+
rgb[i] = val * 255;
|
|
62819
62802
|
}
|
|
62820
|
-
return
|
|
62803
|
+
return rgb;
|
|
62804
|
+
};
|
|
62805
|
+
convert.hsl.hsv = function (hsl) {
|
|
62806
|
+
var h = hsl[0];
|
|
62807
|
+
var s = hsl[1] / 100;
|
|
62808
|
+
var l = hsl[2] / 100;
|
|
62809
|
+
var smin = s;
|
|
62810
|
+
var lmin = Math.max(l, 0.01);
|
|
62811
|
+
l *= 2;
|
|
62812
|
+
s *= l <= 1 ? l : 2 - l;
|
|
62813
|
+
smin *= lmin <= 1 ? lmin : 2 - lmin;
|
|
62814
|
+
var v = (l + s) / 2;
|
|
62815
|
+
var sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
|
|
62816
|
+
return [h, sv * 100, v * 100];
|
|
62817
|
+
};
|
|
62818
|
+
convert.hsv.rgb = function (hsv) {
|
|
62819
|
+
var h = hsv[0] / 60;
|
|
62820
|
+
var s = hsv[1] / 100;
|
|
62821
|
+
var v = hsv[2] / 100;
|
|
62822
|
+
var hi = Math.floor(h) % 6;
|
|
62823
|
+
var f = h - Math.floor(h);
|
|
62824
|
+
var p = 255 * v * (1 - s);
|
|
62825
|
+
var q = 255 * v * (1 - s * f);
|
|
62826
|
+
var t = 255 * v * (1 - s * (1 - f));
|
|
62827
|
+
v *= 255;
|
|
62828
|
+
switch (hi) {
|
|
62829
|
+
case 0:
|
|
62830
|
+
return [v, t, p];
|
|
62831
|
+
case 1:
|
|
62832
|
+
return [q, v, p];
|
|
62833
|
+
case 2:
|
|
62834
|
+
return [p, v, t];
|
|
62835
|
+
case 3:
|
|
62836
|
+
return [p, q, v];
|
|
62837
|
+
case 4:
|
|
62838
|
+
return [t, p, v];
|
|
62839
|
+
case 5:
|
|
62840
|
+
return [v, p, q];
|
|
62841
|
+
}
|
|
62842
|
+
};
|
|
62843
|
+
convert.hsv.hsl = function (hsv) {
|
|
62844
|
+
var h = hsv[0];
|
|
62845
|
+
var s = hsv[1] / 100;
|
|
62846
|
+
var v = hsv[2] / 100;
|
|
62847
|
+
var vmin = Math.max(v, 0.01);
|
|
62848
|
+
var sl;
|
|
62849
|
+
var l;
|
|
62850
|
+
l = (2 - s) * v;
|
|
62851
|
+
var lmin = (2 - s) * vmin;
|
|
62852
|
+
sl = s * vmin;
|
|
62853
|
+
sl /= lmin <= 1 ? lmin : 2 - lmin;
|
|
62854
|
+
sl = sl || 0;
|
|
62855
|
+
l /= 2;
|
|
62856
|
+
return [h, sl * 100, l * 100];
|
|
62821
62857
|
};
|
|
62822
62858
|
|
|
62823
|
-
|
|
62859
|
+
// http://dev.w3.org/csswg/css-color/#hwb-to-rgb
|
|
62860
|
+
convert.hwb.rgb = function (hwb) {
|
|
62861
|
+
var h = hwb[0] / 360;
|
|
62862
|
+
var wh = hwb[1] / 100;
|
|
62863
|
+
var bl = hwb[2] / 100;
|
|
62864
|
+
var ratio = wh + bl;
|
|
62865
|
+
var f;
|
|
62824
62866
|
|
|
62825
|
-
|
|
62826
|
-
|
|
62827
|
-
|
|
62828
|
-
|
|
62829
|
-
|
|
62830
|
-
|
|
62867
|
+
// Wh + bl cant be > 1
|
|
62868
|
+
if (ratio > 1) {
|
|
62869
|
+
wh /= ratio;
|
|
62870
|
+
bl /= ratio;
|
|
62871
|
+
}
|
|
62872
|
+
var i = Math.floor(6 * h);
|
|
62873
|
+
var v = 1 - bl;
|
|
62874
|
+
f = 6 * h - i;
|
|
62875
|
+
if ((i & 0x01) !== 0) {
|
|
62876
|
+
f = 1 - f;
|
|
62877
|
+
}
|
|
62878
|
+
var n = wh + f * (v - wh); // Linear interpolation
|
|
62831
62879
|
|
|
62832
|
-
|
|
62880
|
+
var r;
|
|
62881
|
+
var g;
|
|
62882
|
+
var b;
|
|
62883
|
+
/* eslint-disable max-statements-per-line,no-multi-spaces */
|
|
62884
|
+
switch (i) {
|
|
62885
|
+
default:
|
|
62886
|
+
case 6:
|
|
62887
|
+
case 0:
|
|
62888
|
+
r = v;
|
|
62889
|
+
g = n;
|
|
62890
|
+
b = wh;
|
|
62891
|
+
break;
|
|
62892
|
+
case 1:
|
|
62893
|
+
r = n;
|
|
62894
|
+
g = v;
|
|
62895
|
+
b = wh;
|
|
62896
|
+
break;
|
|
62897
|
+
case 2:
|
|
62898
|
+
r = wh;
|
|
62899
|
+
g = v;
|
|
62900
|
+
b = n;
|
|
62901
|
+
break;
|
|
62902
|
+
case 3:
|
|
62903
|
+
r = wh;
|
|
62904
|
+
g = n;
|
|
62905
|
+
b = v;
|
|
62906
|
+
break;
|
|
62907
|
+
case 4:
|
|
62908
|
+
r = n;
|
|
62909
|
+
g = wh;
|
|
62910
|
+
b = v;
|
|
62911
|
+
break;
|
|
62912
|
+
case 5:
|
|
62913
|
+
r = v;
|
|
62914
|
+
g = wh;
|
|
62915
|
+
b = n;
|
|
62916
|
+
break;
|
|
62917
|
+
}
|
|
62918
|
+
/* eslint-enable max-statements-per-line,no-multi-spaces */
|
|
62833
62919
|
|
|
62920
|
+
return [r * 255, g * 255, b * 255];
|
|
62921
|
+
};
|
|
62922
|
+
convert.cmyk.rgb = function (cmyk) {
|
|
62923
|
+
var c = cmyk[0] / 100;
|
|
62924
|
+
var m = cmyk[1] / 100;
|
|
62925
|
+
var y = cmyk[2] / 100;
|
|
62926
|
+
var k = cmyk[3] / 100;
|
|
62927
|
+
var r = 1 - Math.min(1, c * (1 - k) + k);
|
|
62928
|
+
var g = 1 - Math.min(1, m * (1 - k) + k);
|
|
62929
|
+
var b = 1 - Math.min(1, y * (1 - k) + k);
|
|
62930
|
+
return [r * 255, g * 255, b * 255];
|
|
62931
|
+
};
|
|
62932
|
+
convert.xyz.rgb = function (xyz) {
|
|
62933
|
+
var x = xyz[0] / 100;
|
|
62934
|
+
var y = xyz[1] / 100;
|
|
62935
|
+
var z = xyz[2] / 100;
|
|
62936
|
+
var r;
|
|
62937
|
+
var g;
|
|
62938
|
+
var b;
|
|
62939
|
+
r = x * 3.2406 + y * -1.5372 + z * -0.4986;
|
|
62940
|
+
g = x * -0.9689 + y * 1.8758 + z * 0.0415;
|
|
62941
|
+
b = x * 0.0557 + y * -0.2040 + z * 1.0570;
|
|
62834
62942
|
|
|
62835
|
-
|
|
62836
|
-
|
|
62837
|
-
|
|
62838
|
-
|
|
62839
|
-
|
|
62840
|
-
|
|
62841
|
-
|
|
62842
|
-
|
|
62843
|
-
}
|
|
62844
|
-
function
|
|
62845
|
-
|
|
62846
|
-
|
|
62847
|
-
|
|
62848
|
-
|
|
62849
|
-
|
|
62850
|
-
|
|
62851
|
-
|
|
62943
|
+
// Assume sRGB
|
|
62944
|
+
r = r > 0.0031308 ? 1.055 * Math.pow(r, 1.0 / 2.4) - 0.055 : r * 12.92;
|
|
62945
|
+
g = g > 0.0031308 ? 1.055 * Math.pow(g, 1.0 / 2.4) - 0.055 : g * 12.92;
|
|
62946
|
+
b = b > 0.0031308 ? 1.055 * Math.pow(b, 1.0 / 2.4) - 0.055 : b * 12.92;
|
|
62947
|
+
r = Math.min(Math.max(0, r), 1);
|
|
62948
|
+
g = Math.min(Math.max(0, g), 1);
|
|
62949
|
+
b = Math.min(Math.max(0, b), 1);
|
|
62950
|
+
return [r * 255, g * 255, b * 255];
|
|
62951
|
+
};
|
|
62952
|
+
convert.xyz.lab = function (xyz) {
|
|
62953
|
+
var x = xyz[0];
|
|
62954
|
+
var y = xyz[1];
|
|
62955
|
+
var z = xyz[2];
|
|
62956
|
+
x /= 95.047;
|
|
62957
|
+
y /= 100;
|
|
62958
|
+
z /= 108.883;
|
|
62959
|
+
x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;
|
|
62960
|
+
y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;
|
|
62961
|
+
z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;
|
|
62962
|
+
var l = 116 * y - 16;
|
|
62963
|
+
var a = 500 * (x - y);
|
|
62964
|
+
var b = 200 * (y - z);
|
|
62965
|
+
return [l, a, b];
|
|
62966
|
+
};
|
|
62967
|
+
convert.lab.xyz = function (lab) {
|
|
62968
|
+
var l = lab[0];
|
|
62969
|
+
var a = lab[1];
|
|
62970
|
+
var b = lab[2];
|
|
62971
|
+
var x;
|
|
62972
|
+
var y;
|
|
62973
|
+
var z;
|
|
62974
|
+
y = (l + 16) / 116;
|
|
62975
|
+
x = a / 500 + y;
|
|
62976
|
+
z = y - b / 200;
|
|
62977
|
+
var y2 = Math.pow(y, 3);
|
|
62978
|
+
var x2 = Math.pow(x, 3);
|
|
62979
|
+
var z2 = Math.pow(z, 3);
|
|
62980
|
+
y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;
|
|
62981
|
+
x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;
|
|
62982
|
+
z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;
|
|
62983
|
+
x *= 95.047;
|
|
62984
|
+
y *= 100;
|
|
62985
|
+
z *= 108.883;
|
|
62986
|
+
return [x, y, z];
|
|
62987
|
+
};
|
|
62988
|
+
convert.lab.lch = function (lab) {
|
|
62989
|
+
var l = lab[0];
|
|
62990
|
+
var a = lab[1];
|
|
62991
|
+
var b = lab[2];
|
|
62992
|
+
var h;
|
|
62993
|
+
var hr = Math.atan2(b, a);
|
|
62994
|
+
h = hr * 360 / 2 / Math.PI;
|
|
62995
|
+
if (h < 0) {
|
|
62996
|
+
h += 360;
|
|
62997
|
+
}
|
|
62998
|
+
var c = Math.sqrt(a * a + b * b);
|
|
62999
|
+
return [l, c, h];
|
|
63000
|
+
};
|
|
63001
|
+
convert.lch.lab = function (lch) {
|
|
63002
|
+
var l = lch[0];
|
|
63003
|
+
var c = lch[1];
|
|
63004
|
+
var h = lch[2];
|
|
63005
|
+
var hr = h / 360 * 2 * Math.PI;
|
|
63006
|
+
var a = c * Math.cos(hr);
|
|
63007
|
+
var b = c * Math.sin(hr);
|
|
63008
|
+
return [l, a, b];
|
|
63009
|
+
};
|
|
63010
|
+
convert.rgb.ansi16 = function (args) {
|
|
63011
|
+
var saturation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
63012
|
+
var _args = _slicedToArray(args, 3),
|
|
63013
|
+
r = _args[0],
|
|
63014
|
+
g = _args[1],
|
|
63015
|
+
b = _args[2];
|
|
63016
|
+
var value = saturation === null ? convert.rgb.hsv(args)[2] : saturation; // Hsv -> ansi16 optimization
|
|
63017
|
+
|
|
63018
|
+
value = Math.round(value / 50);
|
|
63019
|
+
if (value === 0) {
|
|
63020
|
+
return 30;
|
|
63021
|
+
}
|
|
63022
|
+
var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));
|
|
63023
|
+
if (value === 2) {
|
|
63024
|
+
ansi += 60;
|
|
62852
63025
|
}
|
|
62853
|
-
|
|
62854
|
-
|
|
62855
|
-
|
|
62856
|
-
|
|
62857
|
-
|
|
62858
|
-
|
|
62859
|
-
|
|
62860
|
-
|
|
62861
|
-
var
|
|
62862
|
-
var
|
|
62863
|
-
var
|
|
62864
|
-
|
|
62865
|
-
|
|
62866
|
-
|
|
62867
|
-
|
|
63026
|
+
return ansi;
|
|
63027
|
+
};
|
|
63028
|
+
convert.hsv.ansi16 = function (args) {
|
|
63029
|
+
// Optimization here; we already know the value and don't need to get
|
|
63030
|
+
// it converted for us.
|
|
63031
|
+
return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
|
|
63032
|
+
};
|
|
63033
|
+
convert.rgb.ansi256 = function (args) {
|
|
63034
|
+
var r = args[0];
|
|
63035
|
+
var g = args[1];
|
|
63036
|
+
var b = args[2];
|
|
63037
|
+
|
|
63038
|
+
// We use the extended greyscale palette here, with the exception of
|
|
63039
|
+
// black and white. normal palette only has 4 greyscale shades.
|
|
63040
|
+
if (r === g && g === b) {
|
|
63041
|
+
if (r < 8) {
|
|
63042
|
+
return 16;
|
|
62868
63043
|
}
|
|
62869
|
-
|
|
62870
|
-
|
|
62871
|
-
_e = err;
|
|
62872
|
-
} finally {
|
|
62873
|
-
try {
|
|
62874
|
-
if (!_n && _i["return"] != null) _i["return"]();
|
|
62875
|
-
} finally {
|
|
62876
|
-
if (_d) throw _e;
|
|
63044
|
+
if (r > 248) {
|
|
63045
|
+
return 231;
|
|
62877
63046
|
}
|
|
63047
|
+
return Math.round((r - 8) / 247 * 24) + 232;
|
|
62878
63048
|
}
|
|
62879
|
-
|
|
62880
|
-
|
|
62881
|
-
|
|
62882
|
-
|
|
62883
|
-
|
|
62884
|
-
function _non_iterable_spread() {
|
|
62885
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
62886
|
-
}
|
|
62887
|
-
function _sliced_to_array(arr, i) {
|
|
62888
|
-
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
62889
|
-
}
|
|
62890
|
-
function _to_consumable_array(arr) {
|
|
62891
|
-
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
62892
|
-
}
|
|
62893
|
-
function _type_of(obj) {
|
|
62894
|
-
"@swc/helpers - typeof";
|
|
63049
|
+
var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
|
|
63050
|
+
return ansi;
|
|
63051
|
+
};
|
|
63052
|
+
convert.ansi16.rgb = function (args) {
|
|
63053
|
+
var color = args % 10;
|
|
62895
63054
|
|
|
62896
|
-
|
|
62897
|
-
|
|
62898
|
-
|
|
62899
|
-
|
|
62900
|
-
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
62901
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
62902
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
62903
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
62904
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
62905
|
-
}
|
|
62906
|
-
var colorString = __webpack_require__(/*! color-string */ "./node_modules/color-string/index.js");
|
|
62907
|
-
var convert = __webpack_require__(/*! color-convert */ "./node_modules/color-convert/index.js");
|
|
62908
|
-
var skippedModels = [
|
|
62909
|
-
// To be honest, I don't really feel like keyword belongs in color convert, but eh.
|
|
62910
|
-
"keyword",
|
|
62911
|
-
// Gray conflicts with some method names, and has its own method defined.
|
|
62912
|
-
"gray",
|
|
62913
|
-
// Shouldn't really be in color-convert either...
|
|
62914
|
-
"hex"];
|
|
62915
|
-
var hashedModelKeys = {};
|
|
62916
|
-
var _iteratorNormalCompletion = true,
|
|
62917
|
-
_didIteratorError = false,
|
|
62918
|
-
_iteratorError = undefined;
|
|
62919
|
-
try {
|
|
62920
|
-
for (var _iterator = Object.keys(convert)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
62921
|
-
var model = _step.value;
|
|
62922
|
-
hashedModelKeys[_to_consumable_array(convert[model].labels).sort().join("")] = model;
|
|
62923
|
-
}
|
|
62924
|
-
} catch (err) {
|
|
62925
|
-
_didIteratorError = true;
|
|
62926
|
-
_iteratorError = err;
|
|
62927
|
-
} finally {
|
|
62928
|
-
try {
|
|
62929
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
62930
|
-
_iterator.return();
|
|
62931
|
-
}
|
|
62932
|
-
} finally {
|
|
62933
|
-
if (_didIteratorError) {
|
|
62934
|
-
throw _iteratorError;
|
|
63055
|
+
// Handle greyscale
|
|
63056
|
+
if (color === 0 || color === 7) {
|
|
63057
|
+
if (args > 50) {
|
|
63058
|
+
color += 3.5;
|
|
62935
63059
|
}
|
|
63060
|
+
color = color / 10.5 * 255;
|
|
63061
|
+
return [color, color, color];
|
|
62936
63062
|
}
|
|
62937
|
-
|
|
62938
|
-
var
|
|
62939
|
-
|
|
62940
|
-
|
|
62941
|
-
|
|
63063
|
+
var mult = (~~(args > 50) + 1) * 0.5;
|
|
63064
|
+
var r = (color & 1) * mult * 255;
|
|
63065
|
+
var g = (color >> 1 & 1) * mult * 255;
|
|
63066
|
+
var b = (color >> 2 & 1) * mult * 255;
|
|
63067
|
+
return [r, g, b];
|
|
63068
|
+
};
|
|
63069
|
+
convert.ansi256.rgb = function (args) {
|
|
63070
|
+
// Handle greyscale
|
|
63071
|
+
if (args >= 232) {
|
|
63072
|
+
var c = (args - 232) * 10 + 8;
|
|
63073
|
+
return [c, c, c];
|
|
62942
63074
|
}
|
|
62943
|
-
|
|
62944
|
-
|
|
63075
|
+
args -= 16;
|
|
63076
|
+
var rem;
|
|
63077
|
+
var r = Math.floor(args / 36) / 5 * 255;
|
|
63078
|
+
var g = Math.floor((rem = args % 36) / 6) / 5 * 255;
|
|
63079
|
+
var b = rem % 6 / 5 * 255;
|
|
63080
|
+
return [r, g, b];
|
|
63081
|
+
};
|
|
63082
|
+
convert.rgb.hex = function (args) {
|
|
63083
|
+
var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF);
|
|
63084
|
+
var string = integer.toString(16).toUpperCase();
|
|
63085
|
+
return '000000'.substring(string.length) + string;
|
|
63086
|
+
};
|
|
63087
|
+
convert.hex.rgb = function (args) {
|
|
63088
|
+
var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
|
|
63089
|
+
if (!match) {
|
|
63090
|
+
return [0, 0, 0];
|
|
62945
63091
|
}
|
|
62946
|
-
|
|
62947
|
-
|
|
63092
|
+
var colorString = match[0];
|
|
63093
|
+
if (match[0].length === 3) {
|
|
63094
|
+
colorString = colorString.split('').map(function (char) {
|
|
63095
|
+
return char + char;
|
|
63096
|
+
}).join('');
|
|
62948
63097
|
}
|
|
62949
|
-
var
|
|
62950
|
-
var
|
|
62951
|
-
|
|
62952
|
-
|
|
62953
|
-
|
|
62954
|
-
|
|
62955
|
-
|
|
62956
|
-
|
|
62957
|
-
|
|
62958
|
-
|
|
62959
|
-
|
|
62960
|
-
|
|
62961
|
-
|
|
62962
|
-
|
|
62963
|
-
|
|
62964
|
-
|
|
62965
|
-
|
|
62966
|
-
this.color = result.value.slice(0, channels);
|
|
62967
|
-
this.valpha = typeof result.value[channels] === "number" ? result.value[channels] : 1;
|
|
62968
|
-
} else if (object.length > 0) {
|
|
62969
|
-
this.model = model || "rgb";
|
|
62970
|
-
channels = convert[this.model].channels;
|
|
62971
|
-
var newArray = Array.prototype.slice.call(object, 0, channels);
|
|
62972
|
-
this.color = zeroArray(newArray, channels);
|
|
62973
|
-
this.valpha = typeof object[channels] === "number" ? object[channels] : 1;
|
|
62974
|
-
} else if (typeof object === "number") {
|
|
62975
|
-
// This is always RGB - can be converted later on.
|
|
62976
|
-
this.model = "rgb";
|
|
62977
|
-
this.color = [object >> 16 & 0xFF, object >> 8 & 0xFF, object & 0xFF];
|
|
62978
|
-
this.valpha = 1;
|
|
63098
|
+
var integer = parseInt(colorString, 16);
|
|
63099
|
+
var r = integer >> 16 & 0xFF;
|
|
63100
|
+
var g = integer >> 8 & 0xFF;
|
|
63101
|
+
var b = integer & 0xFF;
|
|
63102
|
+
return [r, g, b];
|
|
63103
|
+
};
|
|
63104
|
+
convert.rgb.hcg = function (rgb) {
|
|
63105
|
+
var r = rgb[0] / 255;
|
|
63106
|
+
var g = rgb[1] / 255;
|
|
63107
|
+
var b = rgb[2] / 255;
|
|
63108
|
+
var max = Math.max(Math.max(r, g), b);
|
|
63109
|
+
var min = Math.min(Math.min(r, g), b);
|
|
63110
|
+
var chroma = max - min;
|
|
63111
|
+
var grayscale;
|
|
63112
|
+
var hue;
|
|
63113
|
+
if (chroma < 1) {
|
|
63114
|
+
grayscale = min / (1 - chroma);
|
|
62979
63115
|
} else {
|
|
62980
|
-
|
|
62981
|
-
var keys = Object.keys(object);
|
|
62982
|
-
if ("alpha" in object) {
|
|
62983
|
-
keys.splice(keys.indexOf("alpha"), 1);
|
|
62984
|
-
this.valpha = typeof object.alpha === "number" ? object.alpha : 0;
|
|
62985
|
-
}
|
|
62986
|
-
var hashedKeys = keys.sort().join("");
|
|
62987
|
-
if (!(hashedKeys in hashedModelKeys)) {
|
|
62988
|
-
throw new Error("Unable to parse color from object: " + JSON.stringify(object));
|
|
62989
|
-
}
|
|
62990
|
-
this.model = hashedModelKeys[hashedKeys];
|
|
62991
|
-
var labels = convert[this.model].labels;
|
|
62992
|
-
var color = [];
|
|
62993
|
-
for (i = 0; i < labels.length; i++) {
|
|
62994
|
-
color.push(object[labels[i]]);
|
|
62995
|
-
}
|
|
62996
|
-
this.color = zeroArray(color);
|
|
63116
|
+
grayscale = 0;
|
|
62997
63117
|
}
|
|
62998
|
-
|
|
62999
|
-
|
|
63000
|
-
|
|
63001
|
-
|
|
63002
|
-
|
|
63003
|
-
|
|
63004
|
-
|
|
63005
|
-
|
|
63006
|
-
}
|
|
63118
|
+
if (chroma <= 0) {
|
|
63119
|
+
hue = 0;
|
|
63120
|
+
} else if (max === r) {
|
|
63121
|
+
hue = (g - b) / chroma % 6;
|
|
63122
|
+
} else if (max === g) {
|
|
63123
|
+
hue = 2 + (b - r) / chroma;
|
|
63124
|
+
} else {
|
|
63125
|
+
hue = 4 + (r - g) / chroma;
|
|
63007
63126
|
}
|
|
63008
|
-
|
|
63009
|
-
|
|
63010
|
-
|
|
63127
|
+
hue /= 6;
|
|
63128
|
+
hue %= 1;
|
|
63129
|
+
return [hue * 360, chroma * 100, grayscale * 100];
|
|
63130
|
+
};
|
|
63131
|
+
convert.hsl.hcg = function (hsl) {
|
|
63132
|
+
var s = hsl[1] / 100;
|
|
63133
|
+
var l = hsl[2] / 100;
|
|
63134
|
+
var c = l < 0.5 ? 2.0 * s * l : 2.0 * s * (1.0 - l);
|
|
63135
|
+
var f = 0;
|
|
63136
|
+
if (c < 1.0) {
|
|
63137
|
+
f = (l - 0.5 * c) / (1.0 - c);
|
|
63011
63138
|
}
|
|
63012
|
-
|
|
63013
|
-
|
|
63014
|
-
|
|
63015
|
-
|
|
63016
|
-
|
|
63017
|
-
|
|
63018
|
-
|
|
63019
|
-
|
|
63020
|
-
|
|
63021
|
-
var self = this.model in colorString.to ? this : this.rgb();
|
|
63022
|
-
self = self.round(typeof places === "number" ? places : 1);
|
|
63023
|
-
var args = self.valpha === 1 ? self.color : _to_consumable_array(self.color).concat([this.valpha]);
|
|
63024
|
-
return colorString.to[self.model](args);
|
|
63025
|
-
},
|
|
63026
|
-
percentString: function percentString(places) {
|
|
63027
|
-
var self = this.rgb().round(typeof places === "number" ? places : 1);
|
|
63028
|
-
var args = self.valpha === 1 ? self.color : _to_consumable_array(self.color).concat([this.valpha]);
|
|
63029
|
-
return colorString.to.rgb.percent(args);
|
|
63030
|
-
},
|
|
63031
|
-
array: function array() {
|
|
63032
|
-
return this.valpha === 1 ? _to_consumable_array(this.color) : _to_consumable_array(this.color).concat([this.valpha]);
|
|
63033
|
-
},
|
|
63034
|
-
object: function object() {
|
|
63035
|
-
var result = {};
|
|
63036
|
-
var channels = convert[this.model].channels;
|
|
63037
|
-
var labels = convert[this.model].labels;
|
|
63038
|
-
for (var i = 0; i < channels; i++) {
|
|
63039
|
-
result[labels[i]] = this.color[i];
|
|
63040
|
-
}
|
|
63041
|
-
if (this.valpha !== 1) {
|
|
63042
|
-
result.alpha = this.valpha;
|
|
63043
|
-
}
|
|
63044
|
-
return result;
|
|
63045
|
-
},
|
|
63046
|
-
unitArray: function unitArray() {
|
|
63047
|
-
var rgb = this.rgb().color;
|
|
63048
|
-
rgb[0] /= 255;
|
|
63049
|
-
rgb[1] /= 255;
|
|
63050
|
-
rgb[2] /= 255;
|
|
63051
|
-
if (this.valpha !== 1) {
|
|
63052
|
-
rgb.push(this.valpha);
|
|
63053
|
-
}
|
|
63054
|
-
return rgb;
|
|
63055
|
-
},
|
|
63056
|
-
unitObject: function unitObject() {
|
|
63057
|
-
var rgb = this.rgb().object();
|
|
63058
|
-
rgb.r /= 255;
|
|
63059
|
-
rgb.g /= 255;
|
|
63060
|
-
rgb.b /= 255;
|
|
63061
|
-
if (this.valpha !== 1) {
|
|
63062
|
-
rgb.alpha = this.valpha;
|
|
63063
|
-
}
|
|
63064
|
-
return rgb;
|
|
63065
|
-
},
|
|
63066
|
-
round: function round(places) {
|
|
63067
|
-
places = Math.max(places || 0, 0);
|
|
63068
|
-
return new Color(_to_consumable_array(this.color.map(roundToPlace(places))).concat([this.valpha]), this.model);
|
|
63069
|
-
},
|
|
63070
|
-
alpha: function alpha(value) {
|
|
63071
|
-
if (value !== undefined) {
|
|
63072
|
-
return new Color(_to_consumable_array(this.color).concat([Math.max(0, Math.min(1, value))]), this.model);
|
|
63073
|
-
}
|
|
63074
|
-
return this.valpha;
|
|
63075
|
-
},
|
|
63076
|
-
// Rgb
|
|
63077
|
-
red: getset("rgb", 0, maxfn(255)),
|
|
63078
|
-
green: getset("rgb", 1, maxfn(255)),
|
|
63079
|
-
blue: getset("rgb", 2, maxfn(255)),
|
|
63080
|
-
hue: getset(["hsl", "hsv", "hsl", "hwb", "hcg"], 0, function (value) {
|
|
63081
|
-
return (value % 360 + 360) % 360;
|
|
63082
|
-
}),
|
|
63083
|
-
saturationl: getset("hsl", 1, maxfn(100)),
|
|
63084
|
-
lightness: getset("hsl", 2, maxfn(100)),
|
|
63085
|
-
saturationv: getset("hsv", 1, maxfn(100)),
|
|
63086
|
-
value: getset("hsv", 2, maxfn(100)),
|
|
63087
|
-
chroma: getset("hcg", 1, maxfn(100)),
|
|
63088
|
-
gray: getset("hcg", 2, maxfn(100)),
|
|
63089
|
-
white: getset("hwb", 1, maxfn(100)),
|
|
63090
|
-
wblack: getset("hwb", 2, maxfn(100)),
|
|
63091
|
-
cyan: getset("cmyk", 0, maxfn(100)),
|
|
63092
|
-
magenta: getset("cmyk", 1, maxfn(100)),
|
|
63093
|
-
yellow: getset("cmyk", 2, maxfn(100)),
|
|
63094
|
-
black: getset("cmyk", 3, maxfn(100)),
|
|
63095
|
-
x: getset("xyz", 0, maxfn(95.047)),
|
|
63096
|
-
y: getset("xyz", 1, maxfn(100)),
|
|
63097
|
-
z: getset("xyz", 2, maxfn(108.833)),
|
|
63098
|
-
l: getset("lab", 0, maxfn(100)),
|
|
63099
|
-
a: getset("lab", 1),
|
|
63100
|
-
b: getset("lab", 2),
|
|
63101
|
-
keyword: function keyword(value) {
|
|
63102
|
-
if (value !== undefined) {
|
|
63103
|
-
return new Color(value);
|
|
63104
|
-
}
|
|
63105
|
-
return convert[this.model].keyword(this.color);
|
|
63106
|
-
},
|
|
63107
|
-
hex: function hex(value) {
|
|
63108
|
-
if (value !== undefined) {
|
|
63109
|
-
return new Color(value);
|
|
63110
|
-
}
|
|
63111
|
-
return colorString.to.hex(this.rgb().round().color);
|
|
63112
|
-
},
|
|
63113
|
-
hexa: function hexa(value) {
|
|
63114
|
-
if (value !== undefined) {
|
|
63115
|
-
return new Color(value);
|
|
63116
|
-
}
|
|
63117
|
-
var rgbArray = this.rgb().round().color;
|
|
63118
|
-
var alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();
|
|
63119
|
-
if (alphaHex.length === 1) {
|
|
63120
|
-
alphaHex = "0" + alphaHex;
|
|
63121
|
-
}
|
|
63122
|
-
return colorString.to.hex(rgbArray) + alphaHex;
|
|
63123
|
-
},
|
|
63124
|
-
rgbNumber: function rgbNumber() {
|
|
63125
|
-
var rgb = this.rgb().color;
|
|
63126
|
-
return (rgb[0] & 0xFF) << 16 | (rgb[1] & 0xFF) << 8 | rgb[2] & 0xFF;
|
|
63127
|
-
},
|
|
63128
|
-
luminosity: function luminosity() {
|
|
63129
|
-
// http://www.w3.org/TR/WCAG20/#relativeluminancedef
|
|
63130
|
-
var rgb = this.rgb().color;
|
|
63131
|
-
var lum = [];
|
|
63132
|
-
var _iteratorNormalCompletion = true,
|
|
63133
|
-
_didIteratorError = false,
|
|
63134
|
-
_iteratorError = undefined;
|
|
63135
|
-
try {
|
|
63136
|
-
for (var _iterator = rgb.entries()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
63137
|
-
var _step_value = _sliced_to_array(_step.value, 2),
|
|
63138
|
-
i = _step_value[0],
|
|
63139
|
-
element = _step_value[1];
|
|
63140
|
-
var chan = element / 255;
|
|
63141
|
-
lum[i] = chan <= 0.04045 ? chan / 12.92 : Math.pow((chan + 0.055) / 1.055, 2.4);
|
|
63142
|
-
}
|
|
63143
|
-
} catch (err) {
|
|
63144
|
-
_didIteratorError = true;
|
|
63145
|
-
_iteratorError = err;
|
|
63146
|
-
} finally {
|
|
63147
|
-
try {
|
|
63148
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
63149
|
-
_iterator.return();
|
|
63150
|
-
}
|
|
63151
|
-
} finally {
|
|
63152
|
-
if (_didIteratorError) {
|
|
63153
|
-
throw _iteratorError;
|
|
63154
|
-
}
|
|
63155
|
-
}
|
|
63156
|
-
}
|
|
63157
|
-
return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];
|
|
63158
|
-
},
|
|
63159
|
-
contrast: function contrast(color2) {
|
|
63160
|
-
// http://www.w3.org/TR/WCAG20/#contrast-ratiodef
|
|
63161
|
-
var lum1 = this.luminosity();
|
|
63162
|
-
var lum2 = color2.luminosity();
|
|
63163
|
-
if (lum1 > lum2) {
|
|
63164
|
-
return (lum1 + 0.05) / (lum2 + 0.05);
|
|
63165
|
-
}
|
|
63166
|
-
return (lum2 + 0.05) / (lum1 + 0.05);
|
|
63167
|
-
},
|
|
63168
|
-
level: function level(color2) {
|
|
63169
|
-
// https://www.w3.org/TR/WCAG/#contrast-enhanced
|
|
63170
|
-
var contrastRatio = this.contrast(color2);
|
|
63171
|
-
if (contrastRatio >= 7) {
|
|
63172
|
-
return "AAA";
|
|
63173
|
-
}
|
|
63174
|
-
return contrastRatio >= 4.5 ? "AA" : "";
|
|
63175
|
-
},
|
|
63176
|
-
isDark: function isDark() {
|
|
63177
|
-
// YIQ equation from http://24ways.org/2010/calculating-color-contrast
|
|
63178
|
-
var rgb = this.rgb().color;
|
|
63179
|
-
var yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000;
|
|
63180
|
-
return yiq < 128;
|
|
63181
|
-
},
|
|
63182
|
-
isLight: function isLight() {
|
|
63183
|
-
return !this.isDark();
|
|
63184
|
-
},
|
|
63185
|
-
negate: function negate() {
|
|
63186
|
-
var rgb = this.rgb();
|
|
63187
|
-
for (var i = 0; i < 3; i++) {
|
|
63188
|
-
rgb.color[i] = 255 - rgb.color[i];
|
|
63189
|
-
}
|
|
63190
|
-
return rgb;
|
|
63191
|
-
},
|
|
63192
|
-
lighten: function lighten(ratio) {
|
|
63193
|
-
var hsl = this.hsl();
|
|
63194
|
-
hsl.color[2] += hsl.color[2] * ratio;
|
|
63195
|
-
return hsl;
|
|
63196
|
-
},
|
|
63197
|
-
darken: function darken(ratio) {
|
|
63198
|
-
var hsl = this.hsl();
|
|
63199
|
-
hsl.color[2] -= hsl.color[2] * ratio;
|
|
63200
|
-
return hsl;
|
|
63201
|
-
},
|
|
63202
|
-
saturate: function saturate(ratio) {
|
|
63203
|
-
var hsl = this.hsl();
|
|
63204
|
-
hsl.color[1] += hsl.color[1] * ratio;
|
|
63205
|
-
return hsl;
|
|
63206
|
-
},
|
|
63207
|
-
desaturate: function desaturate(ratio) {
|
|
63208
|
-
var hsl = this.hsl();
|
|
63209
|
-
hsl.color[1] -= hsl.color[1] * ratio;
|
|
63210
|
-
return hsl;
|
|
63211
|
-
},
|
|
63212
|
-
whiten: function whiten(ratio) {
|
|
63213
|
-
var hwb = this.hwb();
|
|
63214
|
-
hwb.color[1] += hwb.color[1] * ratio;
|
|
63215
|
-
return hwb;
|
|
63216
|
-
},
|
|
63217
|
-
blacken: function blacken(ratio) {
|
|
63218
|
-
var hwb = this.hwb();
|
|
63219
|
-
hwb.color[2] += hwb.color[2] * ratio;
|
|
63220
|
-
return hwb;
|
|
63221
|
-
},
|
|
63222
|
-
grayscale: function grayscale() {
|
|
63223
|
-
// http://en.wikipedia.org/wiki/Grayscale#Converting_colour_to_grayscale
|
|
63224
|
-
var rgb = this.rgb().color;
|
|
63225
|
-
var value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;
|
|
63226
|
-
return Color.rgb(value, value, value);
|
|
63227
|
-
},
|
|
63228
|
-
fade: function fade(ratio) {
|
|
63229
|
-
return this.alpha(this.valpha - this.valpha * ratio);
|
|
63230
|
-
},
|
|
63231
|
-
opaquer: function opaquer(ratio) {
|
|
63232
|
-
return this.alpha(this.valpha + this.valpha * ratio);
|
|
63233
|
-
},
|
|
63234
|
-
rotate: function rotate(degrees) {
|
|
63235
|
-
var hsl = this.hsl();
|
|
63236
|
-
var hue = hsl.color[0];
|
|
63237
|
-
hue = (hue + degrees) % 360;
|
|
63238
|
-
hue = hue < 0 ? 360 + hue : hue;
|
|
63239
|
-
hsl.color[0] = hue;
|
|
63240
|
-
return hsl;
|
|
63241
|
-
},
|
|
63242
|
-
mix: function mix(mixinColor, weight) {
|
|
63243
|
-
// Ported from sass implementation in C
|
|
63244
|
-
// https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209
|
|
63245
|
-
if (!mixinColor || !mixinColor.rgb) {
|
|
63246
|
-
throw new Error('Argument to "mix" was not a Color instance, but rather an instance of ' + (typeof mixinColor === "undefined" ? "undefined" : _type_of(mixinColor)));
|
|
63247
|
-
}
|
|
63248
|
-
var color1 = mixinColor.rgb();
|
|
63249
|
-
var color2 = this.rgb();
|
|
63250
|
-
var p = weight === undefined ? 0.5 : weight;
|
|
63251
|
-
var w = 2 * p - 1;
|
|
63252
|
-
var a = color1.alpha() - color2.alpha();
|
|
63253
|
-
var w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2;
|
|
63254
|
-
var w2 = 1 - w1;
|
|
63255
|
-
return Color.rgb(w1 * color1.red() + w2 * color2.red(), w1 * color1.green() + w2 * color2.green(), w1 * color1.blue() + w2 * color2.blue(), color1.alpha() * p + color2.alpha() * (1 - p));
|
|
63139
|
+
return [hsl[0], c * 100, f * 100];
|
|
63140
|
+
};
|
|
63141
|
+
convert.hsv.hcg = function (hsv) {
|
|
63142
|
+
var s = hsv[1] / 100;
|
|
63143
|
+
var v = hsv[2] / 100;
|
|
63144
|
+
var c = s * v;
|
|
63145
|
+
var f = 0;
|
|
63146
|
+
if (c < 1.0) {
|
|
63147
|
+
f = (v - c) / (1 - c);
|
|
63256
63148
|
}
|
|
63149
|
+
return [hsv[0], c * 100, f * 100];
|
|
63257
63150
|
};
|
|
63258
|
-
|
|
63259
|
-
|
|
63260
|
-
|
|
63261
|
-
|
|
63262
|
-
|
|
63263
|
-
|
|
63264
|
-
|
|
63265
|
-
|
|
63266
|
-
|
|
63267
|
-
|
|
63268
|
-
|
|
63269
|
-
|
|
63270
|
-
|
|
63271
|
-
|
|
63272
|
-
|
|
63273
|
-
|
|
63274
|
-
|
|
63275
|
-
|
|
63276
|
-
|
|
63277
|
-
|
|
63278
|
-
|
|
63279
|
-
|
|
63280
|
-
|
|
63281
|
-
|
|
63282
|
-
|
|
63283
|
-
|
|
63284
|
-
|
|
63285
|
-
|
|
63286
|
-
|
|
63287
|
-
|
|
63288
|
-
|
|
63289
|
-
|
|
63290
|
-
|
|
63291
|
-
|
|
63292
|
-
|
|
63293
|
-
|
|
63294
|
-
|
|
63295
|
-
|
|
63296
|
-
|
|
63297
|
-
|
|
63298
|
-
|
|
63299
|
-
|
|
63300
|
-
|
|
63301
|
-
|
|
63151
|
+
convert.hcg.rgb = function (hcg) {
|
|
63152
|
+
var h = hcg[0] / 360;
|
|
63153
|
+
var c = hcg[1] / 100;
|
|
63154
|
+
var g = hcg[2] / 100;
|
|
63155
|
+
if (c === 0.0) {
|
|
63156
|
+
return [g * 255, g * 255, g * 255];
|
|
63157
|
+
}
|
|
63158
|
+
var pure = [0, 0, 0];
|
|
63159
|
+
var hi = h % 1 * 6;
|
|
63160
|
+
var v = hi % 1;
|
|
63161
|
+
var w = 1 - v;
|
|
63162
|
+
var mg = 0;
|
|
63163
|
+
|
|
63164
|
+
/* eslint-disable max-statements-per-line */
|
|
63165
|
+
switch (Math.floor(hi)) {
|
|
63166
|
+
case 0:
|
|
63167
|
+
pure[0] = 1;
|
|
63168
|
+
pure[1] = v;
|
|
63169
|
+
pure[2] = 0;
|
|
63170
|
+
break;
|
|
63171
|
+
case 1:
|
|
63172
|
+
pure[0] = w;
|
|
63173
|
+
pure[1] = 1;
|
|
63174
|
+
pure[2] = 0;
|
|
63175
|
+
break;
|
|
63176
|
+
case 2:
|
|
63177
|
+
pure[0] = 0;
|
|
63178
|
+
pure[1] = 1;
|
|
63179
|
+
pure[2] = v;
|
|
63180
|
+
break;
|
|
63181
|
+
case 3:
|
|
63182
|
+
pure[0] = 0;
|
|
63183
|
+
pure[1] = w;
|
|
63184
|
+
pure[2] = 1;
|
|
63185
|
+
break;
|
|
63186
|
+
case 4:
|
|
63187
|
+
pure[0] = v;
|
|
63188
|
+
pure[1] = 0;
|
|
63189
|
+
pure[2] = 1;
|
|
63190
|
+
break;
|
|
63191
|
+
default:
|
|
63192
|
+
pure[0] = 1;
|
|
63193
|
+
pure[1] = 0;
|
|
63194
|
+
pure[2] = w;
|
|
63195
|
+
}
|
|
63196
|
+
/* eslint-enable max-statements-per-line */
|
|
63197
|
+
|
|
63198
|
+
mg = (1.0 - c) * g;
|
|
63199
|
+
return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255];
|
|
63200
|
+
};
|
|
63201
|
+
convert.hcg.hsv = function (hcg) {
|
|
63202
|
+
var c = hcg[1] / 100;
|
|
63203
|
+
var g = hcg[2] / 100;
|
|
63204
|
+
var v = c + g * (1.0 - c);
|
|
63205
|
+
var f = 0;
|
|
63206
|
+
if (v > 0.0) {
|
|
63207
|
+
f = c / v;
|
|
63208
|
+
}
|
|
63209
|
+
return [hcg[0], f * 100, v * 100];
|
|
63210
|
+
};
|
|
63211
|
+
convert.hcg.hsl = function (hcg) {
|
|
63212
|
+
var c = hcg[1] / 100;
|
|
63213
|
+
var g = hcg[2] / 100;
|
|
63214
|
+
var l = g * (1.0 - c) + 0.5 * c;
|
|
63215
|
+
var s = 0;
|
|
63216
|
+
if (l > 0.0 && l < 0.5) {
|
|
63217
|
+
s = c / (2 * l);
|
|
63218
|
+
} else if (l >= 0.5 && l < 1.0) {
|
|
63219
|
+
s = c / (2 * (1 - l));
|
|
63220
|
+
}
|
|
63221
|
+
return [hcg[0], s * 100, l * 100];
|
|
63222
|
+
};
|
|
63223
|
+
convert.hcg.hwb = function (hcg) {
|
|
63224
|
+
var c = hcg[1] / 100;
|
|
63225
|
+
var g = hcg[2] / 100;
|
|
63226
|
+
var v = c + g * (1.0 - c);
|
|
63227
|
+
return [hcg[0], (v - c) * 100, (1 - v) * 100];
|
|
63228
|
+
};
|
|
63229
|
+
convert.hwb.hcg = function (hwb) {
|
|
63230
|
+
var w = hwb[1] / 100;
|
|
63231
|
+
var b = hwb[2] / 100;
|
|
63232
|
+
var v = 1 - b;
|
|
63233
|
+
var c = v - w;
|
|
63234
|
+
var g = 0;
|
|
63235
|
+
if (c < 1) {
|
|
63236
|
+
g = (v - c) / (1 - c);
|
|
63237
|
+
}
|
|
63238
|
+
return [hwb[0], c * 100, g * 100];
|
|
63239
|
+
};
|
|
63240
|
+
convert.apple.rgb = function (apple) {
|
|
63241
|
+
return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
|
|
63242
|
+
};
|
|
63243
|
+
convert.rgb.apple = function (rgb) {
|
|
63244
|
+
return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
|
|
63245
|
+
};
|
|
63246
|
+
convert.gray.rgb = function (args) {
|
|
63247
|
+
return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
|
|
63248
|
+
};
|
|
63249
|
+
convert.gray.hsl = function (args) {
|
|
63250
|
+
return [0, 0, args[0]];
|
|
63251
|
+
};
|
|
63252
|
+
convert.gray.hsv = convert.gray.hsl;
|
|
63253
|
+
convert.gray.hwb = function (gray) {
|
|
63254
|
+
return [0, 100, gray[0]];
|
|
63255
|
+
};
|
|
63256
|
+
convert.gray.cmyk = function (gray) {
|
|
63257
|
+
return [0, 0, 0, gray[0]];
|
|
63258
|
+
};
|
|
63259
|
+
convert.gray.lab = function (gray) {
|
|
63260
|
+
return [gray[0], 0, 0];
|
|
63261
|
+
};
|
|
63262
|
+
convert.gray.hex = function (gray) {
|
|
63263
|
+
var val = Math.round(gray[0] / 100 * 255) & 0xFF;
|
|
63264
|
+
var integer = (val << 16) + (val << 8) + val;
|
|
63265
|
+
var string = integer.toString(16).toUpperCase();
|
|
63266
|
+
return '000000'.substring(string.length) + string;
|
|
63267
|
+
};
|
|
63268
|
+
convert.rgb.gray = function (rgb) {
|
|
63269
|
+
var val = (rgb[0] + rgb[1] + rgb[2]) / 3;
|
|
63270
|
+
return [val / 255 * 100];
|
|
63271
|
+
};
|
|
63272
|
+
|
|
63273
|
+
/***/ }),
|
|
63274
|
+
|
|
63275
|
+
/***/ "./node_modules/color/node_modules/color-convert/index.js":
|
|
63276
|
+
/*!****************************************************************!*\
|
|
63277
|
+
!*** ./node_modules/color/node_modules/color-convert/index.js ***!
|
|
63278
|
+
\****************************************************************/
|
|
63279
|
+
/*! no static exports found */
|
|
63280
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
63281
|
+
|
|
63282
|
+
var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
|
|
63283
|
+
var conversions = __webpack_require__(/*! ./conversions */ "./node_modules/color/node_modules/color-convert/conversions.js");
|
|
63284
|
+
var route = __webpack_require__(/*! ./route */ "./node_modules/color/node_modules/color-convert/route.js");
|
|
63285
|
+
var convert = {};
|
|
63286
|
+
var models = Object.keys(conversions);
|
|
63287
|
+
function wrapRaw(fn) {
|
|
63288
|
+
var wrappedFn = function wrappedFn() {
|
|
63289
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
63290
|
+
args[_key] = arguments[_key];
|
|
63302
63291
|
}
|
|
63303
|
-
|
|
63304
|
-
if (
|
|
63305
|
-
|
|
63292
|
+
var arg0 = args[0];
|
|
63293
|
+
if (arg0 === undefined || arg0 === null) {
|
|
63294
|
+
return arg0;
|
|
63306
63295
|
}
|
|
63307
|
-
|
|
63308
|
-
|
|
63309
|
-
|
|
63310
|
-
|
|
63311
|
-
}
|
|
63312
|
-
function roundToPlace(places) {
|
|
63313
|
-
return function (number) {
|
|
63314
|
-
return roundTo(number, places);
|
|
63296
|
+
if (arg0.length > 1) {
|
|
63297
|
+
args = arg0;
|
|
63298
|
+
}
|
|
63299
|
+
return fn(args);
|
|
63315
63300
|
};
|
|
63301
|
+
|
|
63302
|
+
// Preserve .conversion property if there is one
|
|
63303
|
+
if ('conversion' in fn) {
|
|
63304
|
+
wrappedFn.conversion = fn.conversion;
|
|
63305
|
+
}
|
|
63306
|
+
return wrappedFn;
|
|
63316
63307
|
}
|
|
63317
|
-
function
|
|
63318
|
-
|
|
63319
|
-
|
|
63320
|
-
|
|
63321
|
-
_iteratorError = undefined;
|
|
63322
|
-
try {
|
|
63323
|
-
for (var _iterator = model[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
63324
|
-
var m = _step.value;
|
|
63325
|
-
(limiters[m] || (limiters[m] = []))[channel] = modifier;
|
|
63308
|
+
function wrapRounded(fn) {
|
|
63309
|
+
var wrappedFn = function wrappedFn() {
|
|
63310
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
63311
|
+
args[_key2] = arguments[_key2];
|
|
63326
63312
|
}
|
|
63327
|
-
|
|
63328
|
-
|
|
63329
|
-
|
|
63330
|
-
} finally {
|
|
63331
|
-
try {
|
|
63332
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
63333
|
-
_iterator.return();
|
|
63334
|
-
}
|
|
63335
|
-
} finally {
|
|
63336
|
-
if (_didIteratorError) {
|
|
63337
|
-
throw _iteratorError;
|
|
63338
|
-
}
|
|
63313
|
+
var arg0 = args[0];
|
|
63314
|
+
if (arg0 === undefined || arg0 === null) {
|
|
63315
|
+
return arg0;
|
|
63339
63316
|
}
|
|
63340
|
-
|
|
63341
|
-
|
|
63342
|
-
return function (value) {
|
|
63343
|
-
var result;
|
|
63344
|
-
if (value !== undefined) {
|
|
63345
|
-
if (modifier) {
|
|
63346
|
-
value = modifier(value);
|
|
63347
|
-
}
|
|
63348
|
-
result = this[model]();
|
|
63349
|
-
result.color[channel] = value;
|
|
63350
|
-
return result;
|
|
63317
|
+
if (arg0.length > 1) {
|
|
63318
|
+
args = arg0;
|
|
63351
63319
|
}
|
|
63352
|
-
result =
|
|
63353
|
-
|
|
63354
|
-
|
|
63320
|
+
var result = fn(args);
|
|
63321
|
+
|
|
63322
|
+
// We're assuming the result is an array here.
|
|
63323
|
+
// see notice in conversions.js; don't use box types
|
|
63324
|
+
// in conversion functions.
|
|
63325
|
+
if (_typeof(result) === 'object') {
|
|
63326
|
+
for (var len = result.length, i = 0; i < len; i++) {
|
|
63327
|
+
result[i] = Math.round(result[i]);
|
|
63328
|
+
}
|
|
63355
63329
|
}
|
|
63356
63330
|
return result;
|
|
63357
63331
|
};
|
|
63358
|
-
|
|
63359
|
-
|
|
63360
|
-
|
|
63361
|
-
|
|
63362
|
-
};
|
|
63363
|
-
}
|
|
63364
|
-
function assertArray(value) {
|
|
63365
|
-
return Array.isArray(value) ? value : [value];
|
|
63366
|
-
}
|
|
63367
|
-
function zeroArray(array, length) {
|
|
63368
|
-
for (var i = 0; i < length; i++) {
|
|
63369
|
-
if (typeof array[i] !== "number") {
|
|
63370
|
-
array[i] = 0;
|
|
63371
|
-
}
|
|
63332
|
+
|
|
63333
|
+
// Preserve .conversion property if there is one
|
|
63334
|
+
if ('conversion' in fn) {
|
|
63335
|
+
wrappedFn.conversion = fn.conversion;
|
|
63372
63336
|
}
|
|
63373
|
-
return
|
|
63337
|
+
return wrappedFn;
|
|
63374
63338
|
}
|
|
63375
|
-
|
|
63339
|
+
models.forEach(function (fromModel) {
|
|
63340
|
+
convert[fromModel] = {};
|
|
63341
|
+
Object.defineProperty(convert[fromModel], 'channels', {
|
|
63342
|
+
value: conversions[fromModel].channels
|
|
63343
|
+
});
|
|
63344
|
+
Object.defineProperty(convert[fromModel], 'labels', {
|
|
63345
|
+
value: conversions[fromModel].labels
|
|
63346
|
+
});
|
|
63347
|
+
var routes = route(fromModel);
|
|
63348
|
+
var routeModels = Object.keys(routes);
|
|
63349
|
+
routeModels.forEach(function (toModel) {
|
|
63350
|
+
var fn = routes[toModel];
|
|
63351
|
+
convert[fromModel][toModel] = wrapRounded(fn);
|
|
63352
|
+
convert[fromModel][toModel].raw = wrapRaw(fn);
|
|
63353
|
+
});
|
|
63354
|
+
});
|
|
63355
|
+
module.exports = convert;
|
|
63376
63356
|
|
|
63377
63357
|
/***/ }),
|
|
63378
63358
|
|
|
63379
|
-
/***/ "./node_modules/color-
|
|
63380
|
-
|
|
63381
|
-
!*** ./node_modules/color-
|
|
63382
|
-
|
|
63359
|
+
/***/ "./node_modules/color/node_modules/color-convert/route.js":
|
|
63360
|
+
/*!****************************************************************!*\
|
|
63361
|
+
!*** ./node_modules/color/node_modules/color-convert/route.js ***!
|
|
63362
|
+
\****************************************************************/
|
|
63383
63363
|
/*! no static exports found */
|
|
63384
63364
|
/***/ (function(module, exports, __webpack_require__) {
|
|
63385
63365
|
|
|
63386
|
-
|
|
63366
|
+
var conversions = __webpack_require__(/*! ./conversions */ "./node_modules/color/node_modules/color-convert/conversions.js");
|
|
63387
63367
|
|
|
63368
|
+
/*
|
|
63369
|
+
This function routes a model to all other models.
|
|
63388
63370
|
|
|
63389
|
-
|
|
63390
|
-
|
|
63391
|
-
|
|
63392
|
-
|
|
63393
|
-
"aquamarine": [127, 255, 212],
|
|
63394
|
-
"azure": [240, 255, 255],
|
|
63395
|
-
"beige": [245, 245, 220],
|
|
63396
|
-
"bisque": [255, 228, 196],
|
|
63397
|
-
"black": [0, 0, 0],
|
|
63398
|
-
"blanchedalmond": [255, 235, 205],
|
|
63399
|
-
"blue": [0, 0, 255],
|
|
63400
|
-
"blueviolet": [138, 43, 226],
|
|
63401
|
-
"brown": [165, 42, 42],
|
|
63402
|
-
"burlywood": [222, 184, 135],
|
|
63403
|
-
"cadetblue": [95, 158, 160],
|
|
63404
|
-
"chartreuse": [127, 255, 0],
|
|
63405
|
-
"chocolate": [210, 105, 30],
|
|
63406
|
-
"coral": [255, 127, 80],
|
|
63407
|
-
"cornflowerblue": [100, 149, 237],
|
|
63408
|
-
"cornsilk": [255, 248, 220],
|
|
63409
|
-
"crimson": [220, 20, 60],
|
|
63410
|
-
"cyan": [0, 255, 255],
|
|
63411
|
-
"darkblue": [0, 0, 139],
|
|
63412
|
-
"darkcyan": [0, 139, 139],
|
|
63413
|
-
"darkgoldenrod": [184, 134, 11],
|
|
63414
|
-
"darkgray": [169, 169, 169],
|
|
63415
|
-
"darkgreen": [0, 100, 0],
|
|
63416
|
-
"darkgrey": [169, 169, 169],
|
|
63417
|
-
"darkkhaki": [189, 183, 107],
|
|
63418
|
-
"darkmagenta": [139, 0, 139],
|
|
63419
|
-
"darkolivegreen": [85, 107, 47],
|
|
63420
|
-
"darkorange": [255, 140, 0],
|
|
63421
|
-
"darkorchid": [153, 50, 204],
|
|
63422
|
-
"darkred": [139, 0, 0],
|
|
63423
|
-
"darksalmon": [233, 150, 122],
|
|
63424
|
-
"darkseagreen": [143, 188, 143],
|
|
63425
|
-
"darkslateblue": [72, 61, 139],
|
|
63426
|
-
"darkslategray": [47, 79, 79],
|
|
63427
|
-
"darkslategrey": [47, 79, 79],
|
|
63428
|
-
"darkturquoise": [0, 206, 209],
|
|
63429
|
-
"darkviolet": [148, 0, 211],
|
|
63430
|
-
"deeppink": [255, 20, 147],
|
|
63431
|
-
"deepskyblue": [0, 191, 255],
|
|
63432
|
-
"dimgray": [105, 105, 105],
|
|
63433
|
-
"dimgrey": [105, 105, 105],
|
|
63434
|
-
"dodgerblue": [30, 144, 255],
|
|
63435
|
-
"firebrick": [178, 34, 34],
|
|
63436
|
-
"floralwhite": [255, 250, 240],
|
|
63437
|
-
"forestgreen": [34, 139, 34],
|
|
63438
|
-
"fuchsia": [255, 0, 255],
|
|
63439
|
-
"gainsboro": [220, 220, 220],
|
|
63440
|
-
"ghostwhite": [248, 248, 255],
|
|
63441
|
-
"gold": [255, 215, 0],
|
|
63442
|
-
"goldenrod": [218, 165, 32],
|
|
63443
|
-
"gray": [128, 128, 128],
|
|
63444
|
-
"green": [0, 128, 0],
|
|
63445
|
-
"greenyellow": [173, 255, 47],
|
|
63446
|
-
"grey": [128, 128, 128],
|
|
63447
|
-
"honeydew": [240, 255, 240],
|
|
63448
|
-
"hotpink": [255, 105, 180],
|
|
63449
|
-
"indianred": [205, 92, 92],
|
|
63450
|
-
"indigo": [75, 0, 130],
|
|
63451
|
-
"ivory": [255, 255, 240],
|
|
63452
|
-
"khaki": [240, 230, 140],
|
|
63453
|
-
"lavender": [230, 230, 250],
|
|
63454
|
-
"lavenderblush": [255, 240, 245],
|
|
63455
|
-
"lawngreen": [124, 252, 0],
|
|
63456
|
-
"lemonchiffon": [255, 250, 205],
|
|
63457
|
-
"lightblue": [173, 216, 230],
|
|
63458
|
-
"lightcoral": [240, 128, 128],
|
|
63459
|
-
"lightcyan": [224, 255, 255],
|
|
63460
|
-
"lightgoldenrodyellow": [250, 250, 210],
|
|
63461
|
-
"lightgray": [211, 211, 211],
|
|
63462
|
-
"lightgreen": [144, 238, 144],
|
|
63463
|
-
"lightgrey": [211, 211, 211],
|
|
63464
|
-
"lightpink": [255, 182, 193],
|
|
63465
|
-
"lightsalmon": [255, 160, 122],
|
|
63466
|
-
"lightseagreen": [32, 178, 170],
|
|
63467
|
-
"lightskyblue": [135, 206, 250],
|
|
63468
|
-
"lightslategray": [119, 136, 153],
|
|
63469
|
-
"lightslategrey": [119, 136, 153],
|
|
63470
|
-
"lightsteelblue": [176, 196, 222],
|
|
63471
|
-
"lightyellow": [255, 255, 224],
|
|
63472
|
-
"lime": [0, 255, 0],
|
|
63473
|
-
"limegreen": [50, 205, 50],
|
|
63474
|
-
"linen": [250, 240, 230],
|
|
63475
|
-
"magenta": [255, 0, 255],
|
|
63476
|
-
"maroon": [128, 0, 0],
|
|
63477
|
-
"mediumaquamarine": [102, 205, 170],
|
|
63478
|
-
"mediumblue": [0, 0, 205],
|
|
63479
|
-
"mediumorchid": [186, 85, 211],
|
|
63480
|
-
"mediumpurple": [147, 112, 219],
|
|
63481
|
-
"mediumseagreen": [60, 179, 113],
|
|
63482
|
-
"mediumslateblue": [123, 104, 238],
|
|
63483
|
-
"mediumspringgreen": [0, 250, 154],
|
|
63484
|
-
"mediumturquoise": [72, 209, 204],
|
|
63485
|
-
"mediumvioletred": [199, 21, 133],
|
|
63486
|
-
"midnightblue": [25, 25, 112],
|
|
63487
|
-
"mintcream": [245, 255, 250],
|
|
63488
|
-
"mistyrose": [255, 228, 225],
|
|
63489
|
-
"moccasin": [255, 228, 181],
|
|
63490
|
-
"navajowhite": [255, 222, 173],
|
|
63491
|
-
"navy": [0, 0, 128],
|
|
63492
|
-
"oldlace": [253, 245, 230],
|
|
63493
|
-
"olive": [128, 128, 0],
|
|
63494
|
-
"olivedrab": [107, 142, 35],
|
|
63495
|
-
"orange": [255, 165, 0],
|
|
63496
|
-
"orangered": [255, 69, 0],
|
|
63497
|
-
"orchid": [218, 112, 214],
|
|
63498
|
-
"palegoldenrod": [238, 232, 170],
|
|
63499
|
-
"palegreen": [152, 251, 152],
|
|
63500
|
-
"paleturquoise": [175, 238, 238],
|
|
63501
|
-
"palevioletred": [219, 112, 147],
|
|
63502
|
-
"papayawhip": [255, 239, 213],
|
|
63503
|
-
"peachpuff": [255, 218, 185],
|
|
63504
|
-
"peru": [205, 133, 63],
|
|
63505
|
-
"pink": [255, 192, 203],
|
|
63506
|
-
"plum": [221, 160, 221],
|
|
63507
|
-
"powderblue": [176, 224, 230],
|
|
63508
|
-
"purple": [128, 0, 128],
|
|
63509
|
-
"rebeccapurple": [102, 51, 153],
|
|
63510
|
-
"red": [255, 0, 0],
|
|
63511
|
-
"rosybrown": [188, 143, 143],
|
|
63512
|
-
"royalblue": [65, 105, 225],
|
|
63513
|
-
"saddlebrown": [139, 69, 19],
|
|
63514
|
-
"salmon": [250, 128, 114],
|
|
63515
|
-
"sandybrown": [244, 164, 96],
|
|
63516
|
-
"seagreen": [46, 139, 87],
|
|
63517
|
-
"seashell": [255, 245, 238],
|
|
63518
|
-
"sienna": [160, 82, 45],
|
|
63519
|
-
"silver": [192, 192, 192],
|
|
63520
|
-
"skyblue": [135, 206, 235],
|
|
63521
|
-
"slateblue": [106, 90, 205],
|
|
63522
|
-
"slategray": [112, 128, 144],
|
|
63523
|
-
"slategrey": [112, 128, 144],
|
|
63524
|
-
"snow": [255, 250, 250],
|
|
63525
|
-
"springgreen": [0, 255, 127],
|
|
63526
|
-
"steelblue": [70, 130, 180],
|
|
63527
|
-
"tan": [210, 180, 140],
|
|
63528
|
-
"teal": [0, 128, 128],
|
|
63529
|
-
"thistle": [216, 191, 216],
|
|
63530
|
-
"tomato": [255, 99, 71],
|
|
63531
|
-
"turquoise": [64, 224, 208],
|
|
63532
|
-
"violet": [238, 130, 238],
|
|
63533
|
-
"wheat": [245, 222, 179],
|
|
63534
|
-
"white": [255, 255, 255],
|
|
63535
|
-
"whitesmoke": [245, 245, 245],
|
|
63536
|
-
"yellow": [255, 255, 0],
|
|
63537
|
-
"yellowgreen": [154, 205, 50]
|
|
63538
|
-
};
|
|
63371
|
+
all functions that are routed have a property `.conversion` attached
|
|
63372
|
+
to the returned synthetic function. This property is an array
|
|
63373
|
+
of strings, each with the steps in between the 'from' and 'to'
|
|
63374
|
+
color models (inclusive).
|
|
63539
63375
|
|
|
63540
|
-
|
|
63376
|
+
conversions that are not possible simply are not included.
|
|
63377
|
+
*/
|
|
63541
63378
|
|
|
63542
|
-
|
|
63543
|
-
|
|
63544
|
-
|
|
63545
|
-
|
|
63546
|
-
|
|
63547
|
-
|
|
63379
|
+
function buildGraph() {
|
|
63380
|
+
var graph = {};
|
|
63381
|
+
// https://jsperf.com/object-keys-vs-for-in-with-closure/3
|
|
63382
|
+
var models = Object.keys(conversions);
|
|
63383
|
+
for (var len = models.length, i = 0; i < len; i++) {
|
|
63384
|
+
graph[models[i]] = {
|
|
63385
|
+
// http://jsperf.com/1-vs-infinity
|
|
63386
|
+
// micro-opt, but this is simple.
|
|
63387
|
+
distance: -1,
|
|
63388
|
+
parent: null
|
|
63389
|
+
};
|
|
63390
|
+
}
|
|
63391
|
+
return graph;
|
|
63392
|
+
}
|
|
63548
63393
|
|
|
63549
|
-
|
|
63550
|
-
|
|
63551
|
-
var
|
|
63552
|
-
var
|
|
63553
|
-
var reverseNames = Object.create(null);
|
|
63394
|
+
// https://en.wikipedia.org/wiki/Breadth-first_search
|
|
63395
|
+
function deriveBFS(fromModel) {
|
|
63396
|
+
var graph = buildGraph();
|
|
63397
|
+
var queue = [fromModel]; // Unshift -> queue -> pop
|
|
63554
63398
|
|
|
63555
|
-
|
|
63556
|
-
|
|
63557
|
-
|
|
63558
|
-
|
|
63399
|
+
graph[fromModel].distance = 0;
|
|
63400
|
+
while (queue.length) {
|
|
63401
|
+
var current = queue.pop();
|
|
63402
|
+
var adjacents = Object.keys(conversions[current]);
|
|
63403
|
+
for (var len = adjacents.length, i = 0; i < len; i++) {
|
|
63404
|
+
var adjacent = adjacents[i];
|
|
63405
|
+
var node = graph[adjacent];
|
|
63406
|
+
if (node.distance === -1) {
|
|
63407
|
+
node.distance = graph[current].distance + 1;
|
|
63408
|
+
node.parent = current;
|
|
63409
|
+
queue.unshift(adjacent);
|
|
63410
|
+
}
|
|
63411
|
+
}
|
|
63559
63412
|
}
|
|
63413
|
+
return graph;
|
|
63560
63414
|
}
|
|
63561
|
-
|
|
63562
|
-
|
|
63563
|
-
|
|
63564
|
-
};
|
|
63565
|
-
cs.get = function (string) {
|
|
63566
|
-
var prefix = string.substring(0, 3).toLowerCase();
|
|
63567
|
-
var val;
|
|
63568
|
-
var model;
|
|
63569
|
-
switch (prefix) {
|
|
63570
|
-
case 'hsl':
|
|
63571
|
-
val = cs.get.hsl(string);
|
|
63572
|
-
model = 'hsl';
|
|
63573
|
-
break;
|
|
63574
|
-
case 'hwb':
|
|
63575
|
-
val = cs.get.hwb(string);
|
|
63576
|
-
model = 'hwb';
|
|
63577
|
-
break;
|
|
63578
|
-
default:
|
|
63579
|
-
val = cs.get.rgb(string);
|
|
63580
|
-
model = 'rgb';
|
|
63581
|
-
break;
|
|
63582
|
-
}
|
|
63583
|
-
if (!val) {
|
|
63584
|
-
return null;
|
|
63585
|
-
}
|
|
63586
|
-
return {
|
|
63587
|
-
model: model,
|
|
63588
|
-
value: val
|
|
63415
|
+
function link(from, to) {
|
|
63416
|
+
return function (args) {
|
|
63417
|
+
return to(from(args));
|
|
63589
63418
|
};
|
|
63590
|
-
}
|
|
63591
|
-
|
|
63592
|
-
|
|
63593
|
-
|
|
63419
|
+
}
|
|
63420
|
+
function wrapConversion(toModel, graph) {
|
|
63421
|
+
var path = [graph[toModel].parent, toModel];
|
|
63422
|
+
var fn = conversions[graph[toModel].parent][toModel];
|
|
63423
|
+
var cur = graph[toModel].parent;
|
|
63424
|
+
while (graph[cur].parent) {
|
|
63425
|
+
path.unshift(graph[cur].parent);
|
|
63426
|
+
fn = link(conversions[graph[cur].parent][cur], fn);
|
|
63427
|
+
cur = graph[cur].parent;
|
|
63594
63428
|
}
|
|
63595
|
-
|
|
63596
|
-
|
|
63597
|
-
|
|
63598
|
-
|
|
63599
|
-
var
|
|
63600
|
-
var
|
|
63601
|
-
var
|
|
63602
|
-
var i;
|
|
63603
|
-
|
|
63604
|
-
|
|
63605
|
-
|
|
63606
|
-
|
|
63607
|
-
|
|
63608
|
-
// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19
|
|
63609
|
-
var i2 = i * 2;
|
|
63610
|
-
rgb[i] = parseInt(match.slice(i2, i2 + 2), 16);
|
|
63611
|
-
}
|
|
63612
|
-
if (hexAlpha) {
|
|
63613
|
-
rgb[3] = parseInt(hexAlpha, 16) / 255;
|
|
63614
|
-
}
|
|
63615
|
-
} else if (match = string.match(abbr)) {
|
|
63616
|
-
match = match[1];
|
|
63617
|
-
hexAlpha = match[3];
|
|
63618
|
-
for (i = 0; i < 3; i++) {
|
|
63619
|
-
rgb[i] = parseInt(match[i] + match[i], 16);
|
|
63620
|
-
}
|
|
63621
|
-
if (hexAlpha) {
|
|
63622
|
-
rgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255;
|
|
63623
|
-
}
|
|
63624
|
-
} else if (match = string.match(rgba)) {
|
|
63625
|
-
for (i = 0; i < 3; i++) {
|
|
63626
|
-
rgb[i] = parseInt(match[i + 1], 0);
|
|
63627
|
-
}
|
|
63628
|
-
if (match[4]) {
|
|
63629
|
-
if (match[5]) {
|
|
63630
|
-
rgb[3] = parseFloat(match[4]) * 0.01;
|
|
63631
|
-
} else {
|
|
63632
|
-
rgb[3] = parseFloat(match[4]);
|
|
63633
|
-
}
|
|
63634
|
-
}
|
|
63635
|
-
} else if (match = string.match(per)) {
|
|
63636
|
-
for (i = 0; i < 3; i++) {
|
|
63637
|
-
rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);
|
|
63638
|
-
}
|
|
63639
|
-
if (match[4]) {
|
|
63640
|
-
if (match[5]) {
|
|
63641
|
-
rgb[3] = parseFloat(match[4]) * 0.01;
|
|
63642
|
-
} else {
|
|
63643
|
-
rgb[3] = parseFloat(match[4]);
|
|
63644
|
-
}
|
|
63645
|
-
}
|
|
63646
|
-
} else if (match = string.match(keyword)) {
|
|
63647
|
-
if (match[1] === 'transparent') {
|
|
63648
|
-
return [0, 0, 0, 0];
|
|
63649
|
-
}
|
|
63650
|
-
if (!hasOwnProperty.call(colorNames, match[1])) {
|
|
63651
|
-
return null;
|
|
63429
|
+
fn.conversion = path;
|
|
63430
|
+
return fn;
|
|
63431
|
+
}
|
|
63432
|
+
module.exports = function (fromModel) {
|
|
63433
|
+
var graph = deriveBFS(fromModel);
|
|
63434
|
+
var conversion = {};
|
|
63435
|
+
var models = Object.keys(graph);
|
|
63436
|
+
for (var len = models.length, i = 0; i < len; i++) {
|
|
63437
|
+
var toModel = models[i];
|
|
63438
|
+
var node = graph[toModel];
|
|
63439
|
+
if (node.parent === null) {
|
|
63440
|
+
// No possible conversion, or this node is the source model.
|
|
63441
|
+
continue;
|
|
63652
63442
|
}
|
|
63653
|
-
|
|
63654
|
-
rgb[3] = 1;
|
|
63655
|
-
return rgb;
|
|
63656
|
-
} else {
|
|
63657
|
-
return null;
|
|
63658
|
-
}
|
|
63659
|
-
for (i = 0; i < 3; i++) {
|
|
63660
|
-
rgb[i] = clamp(rgb[i], 0, 255);
|
|
63661
|
-
}
|
|
63662
|
-
rgb[3] = clamp(rgb[3], 0, 1);
|
|
63663
|
-
return rgb;
|
|
63664
|
-
};
|
|
63665
|
-
cs.get.hsl = function (string) {
|
|
63666
|
-
if (!string) {
|
|
63667
|
-
return null;
|
|
63668
|
-
}
|
|
63669
|
-
var hsl = /^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/;
|
|
63670
|
-
var match = string.match(hsl);
|
|
63671
|
-
if (match) {
|
|
63672
|
-
var alpha = parseFloat(match[4]);
|
|
63673
|
-
var h = (parseFloat(match[1]) % 360 + 360) % 360;
|
|
63674
|
-
var s = clamp(parseFloat(match[2]), 0, 100);
|
|
63675
|
-
var l = clamp(parseFloat(match[3]), 0, 100);
|
|
63676
|
-
var a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);
|
|
63677
|
-
return [h, s, l, a];
|
|
63678
|
-
}
|
|
63679
|
-
return null;
|
|
63680
|
-
};
|
|
63681
|
-
cs.get.hwb = function (string) {
|
|
63682
|
-
if (!string) {
|
|
63683
|
-
return null;
|
|
63684
|
-
}
|
|
63685
|
-
var hwb = /^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/;
|
|
63686
|
-
var match = string.match(hwb);
|
|
63687
|
-
if (match) {
|
|
63688
|
-
var alpha = parseFloat(match[4]);
|
|
63689
|
-
var h = (parseFloat(match[1]) % 360 + 360) % 360;
|
|
63690
|
-
var w = clamp(parseFloat(match[2]), 0, 100);
|
|
63691
|
-
var b = clamp(parseFloat(match[3]), 0, 100);
|
|
63692
|
-
var a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);
|
|
63693
|
-
return [h, w, b, a];
|
|
63694
|
-
}
|
|
63695
|
-
return null;
|
|
63696
|
-
};
|
|
63697
|
-
cs.to.hex = function () {
|
|
63698
|
-
var rgba = swizzle(arguments);
|
|
63699
|
-
return '#' + hexDouble(rgba[0]) + hexDouble(rgba[1]) + hexDouble(rgba[2]) + (rgba[3] < 1 ? hexDouble(Math.round(rgba[3] * 255)) : '');
|
|
63700
|
-
};
|
|
63701
|
-
cs.to.rgb = function () {
|
|
63702
|
-
var rgba = swizzle(arguments);
|
|
63703
|
-
return rgba.length < 4 || rgba[3] === 1 ? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')' : 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';
|
|
63704
|
-
};
|
|
63705
|
-
cs.to.rgb.percent = function () {
|
|
63706
|
-
var rgba = swizzle(arguments);
|
|
63707
|
-
var r = Math.round(rgba[0] / 255 * 100);
|
|
63708
|
-
var g = Math.round(rgba[1] / 255 * 100);
|
|
63709
|
-
var b = Math.round(rgba[2] / 255 * 100);
|
|
63710
|
-
return rgba.length < 4 || rgba[3] === 1 ? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)' : 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';
|
|
63711
|
-
};
|
|
63712
|
-
cs.to.hsl = function () {
|
|
63713
|
-
var hsla = swizzle(arguments);
|
|
63714
|
-
return hsla.length < 4 || hsla[3] === 1 ? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)' : 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';
|
|
63715
|
-
};
|
|
63716
|
-
|
|
63717
|
-
// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax
|
|
63718
|
-
// (hwb have alpha optional & 1 is default value)
|
|
63719
|
-
cs.to.hwb = function () {
|
|
63720
|
-
var hwba = swizzle(arguments);
|
|
63721
|
-
var a = '';
|
|
63722
|
-
if (hwba.length >= 4 && hwba[3] !== 1) {
|
|
63723
|
-
a = ', ' + hwba[3];
|
|
63443
|
+
conversion[toModel] = wrapConversion(toModel, graph);
|
|
63724
63444
|
}
|
|
63725
|
-
return
|
|
63726
|
-
};
|
|
63727
|
-
cs.to.keyword = function (rgb) {
|
|
63728
|
-
return reverseNames[rgb.slice(0, 3)];
|
|
63445
|
+
return conversion;
|
|
63729
63446
|
};
|
|
63730
63447
|
|
|
63731
|
-
// helpers
|
|
63732
|
-
function clamp(num, min, max) {
|
|
63733
|
-
return Math.min(Math.max(min, num), max);
|
|
63734
|
-
}
|
|
63735
|
-
function hexDouble(num) {
|
|
63736
|
-
var str = Math.round(num).toString(16).toUpperCase();
|
|
63737
|
-
return str.length < 2 ? '0' + str : str;
|
|
63738
|
-
}
|
|
63739
|
-
|
|
63740
63448
|
/***/ }),
|
|
63741
63449
|
|
|
63742
63450
|
/***/ "./node_modules/core-js-pure/actual/array/from.js":
|