color-map 1.1.2 → 2.0.0
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/README.md +3 -12
- package/cjs/createColors.d.ts +2 -0
- package/cjs/createColors.js +41 -0
- package/cjs/createColors.js.map +1 -0
- package/cjs/createColorsFromMap.d.ts +5 -0
- package/cjs/createColorsFromMap.js +26 -0
- package/cjs/createColorsFromMap.js.map +1 -0
- package/cjs/index.d.ts +5 -0
- package/cjs/index.js +22 -0
- package/cjs/index.js.map +1 -0
- package/cjs/interfaces.d.ts +14 -0
- package/cjs/interfaces.js +3 -0
- package/cjs/interfaces.js.map +1 -0
- package/cjs/rgbHex.d.ts +6 -0
- package/cjs/rgbHex.js +20 -0
- package/cjs/rgbHex.js.map +1 -0
- package/cjs/rgbaString.d.ts +2 -0
- package/cjs/rgbaString.js +8 -0
- package/cjs/rgbaString.js.map +1 -0
- package/dist/color-map.es5.js +1 -1
- package/dist/color-map.es5.js.map +1 -0
- package/esm/createColors.d.ts +2 -0
- package/esm/createColors.js +27 -0
- package/esm/createColors.js.map +1 -0
- package/esm/createColorsFromMap.d.ts +5 -0
- package/esm/createColorsFromMap.js +22 -0
- package/esm/createColorsFromMap.js.map +1 -0
- package/esm/index.d.ts +5 -0
- package/esm/index.js +6 -0
- package/esm/index.js.map +1 -0
- package/esm/interfaces.d.ts +14 -0
- package/esm/interfaces.js +2 -0
- package/esm/interfaces.js.map +1 -0
- package/esm/rgbHex.d.ts +6 -0
- package/esm/rgbHex.js +16 -0
- package/esm/rgbHex.js.map +1 -0
- package/esm/rgbaString.d.ts +2 -0
- package/esm/rgbaString.js +4 -0
- package/esm/rgbaString.js.map +1 -0
- package/package.json +64 -43
- package/ts/createColors.spec.ts +0 -176
- package/ts/createColorsFromMap.spec.ts +0 -11
- package/ts/rgbHex.spec.ts +0 -17
- package/ts/rgbaString.spec.ts +0 -9
package/README.md
CHANGED
|
@@ -3,12 +3,9 @@
|
|
|
3
3
|
[![NPM version][npm-image]][npm-url]
|
|
4
4
|
[![NPM downloads][downloads-image]][downloads-url]
|
|
5
5
|
|
|
6
|
-
[![
|
|
7
|
-
[![Travis CI][travis-image]][travis-url]
|
|
6
|
+
[![Github NodeJS][github-nodejs]][github-action-url]
|
|
8
7
|
[![Codecov][codecov-image]][codecov-url]
|
|
9
|
-
[![Coveralls Status][coveralls-image]][coveralls-url]
|
|
10
8
|
|
|
11
|
-
[![Greenkeeper][greenkeeper-image]][greenkeeper-url]
|
|
12
9
|
[![Semantic Release][semantic-release-image]][semantic-release-url]
|
|
13
10
|
|
|
14
11
|
[![Visual Studio Code][vscode-image]][vscode-url]
|
|
@@ -75,22 +72,16 @@ git push
|
|
|
75
72
|
# create PR
|
|
76
73
|
```
|
|
77
74
|
|
|
78
|
-
[circleci-image]: https://circleci.com/gh/unional/color-map/tree/master.svg?style=shield
|
|
79
|
-
[circleci-url]: https://circleci.com/gh/unional/color-map/tree/master
|
|
80
75
|
[codecov-image]: https://codecov.io/gh/unional/color-map/branch/master/graph/badge.svg
|
|
81
76
|
[codecov-url]: https://codecov.io/gh/unional/color-map
|
|
82
|
-
[coveralls-image]: https://coveralls.io/repos/github/unional/color-map/badge.svg?branch=master
|
|
83
|
-
[coveralls-url]: https://coveralls.io/github/unional/color-map?branch=master
|
|
84
77
|
[downloads-image]: https://img.shields.io/npm/dm/color-map.svg?style=flat
|
|
85
78
|
[downloads-url]: https://npmjs.org/package/color-map
|
|
86
|
-
[
|
|
87
|
-
[
|
|
79
|
+
[github-nodejs]: https://github.com/unional/color-map/workflows/nodejs/badge.svg
|
|
80
|
+
[github-action-url]: https://github.com/unional/color-map/actions
|
|
88
81
|
[npm-image]: https://img.shields.io/npm/v/color-map.svg?style=flat
|
|
89
82
|
[npm-url]: https://npmjs.org/package/color-map
|
|
90
83
|
[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg
|
|
91
84
|
[semantic-release-url]: https://github.com/semantic-release/semantic-release
|
|
92
|
-
[travis-image]: https://img.shields.io/travis/unional/color-map/master.svg?style=flat
|
|
93
|
-
[travis-url]: https://travis-ci.org/unional/color-map?branch=master
|
|
94
85
|
[vscode-image]: https://img.shields.io/badge/vscode-ready-green.svg
|
|
95
86
|
[vscode-url]: https://code.visualstudio.com/
|
|
96
87
|
[wallaby-image]: https://img.shields.io/badge/wallaby.js-configured-green.svg
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
3
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
4
|
+
if (ar || !(i in from)) {
|
|
5
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
6
|
+
ar[i] = from[i];
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.createColors = void 0;
|
|
13
|
+
function createColors(from, to, shades, alpha) {
|
|
14
|
+
if (alpha === void 0) { alpha = [
|
|
15
|
+
from.length === 4 ? from[3] : to.length === 4 ? to[3] : 1,
|
|
16
|
+
to.length === 4 ? to[3] : from.length === 4 ? from[3] : 1
|
|
17
|
+
]; }
|
|
18
|
+
var start = __spreadArray([], from, true);
|
|
19
|
+
var diff = [
|
|
20
|
+
to[0] - from[0],
|
|
21
|
+
to[1] - from[1],
|
|
22
|
+
to[2] - from[2],
|
|
23
|
+
alpha[1] - alpha[0]
|
|
24
|
+
];
|
|
25
|
+
if (start.length === 3)
|
|
26
|
+
start.push(alpha[0]);
|
|
27
|
+
var inc = 1 / Math.max(shades - 1, 1);
|
|
28
|
+
var rgba = [];
|
|
29
|
+
for (var i = 0; i < shades; i++) {
|
|
30
|
+
var color = [
|
|
31
|
+
Math.round(start[0] + i * diff[0] * inc),
|
|
32
|
+
Math.round(start[1] + i * diff[1] * inc),
|
|
33
|
+
Math.round(start[2] + i * diff[2] * inc),
|
|
34
|
+
start[3] + i * diff[3] * inc
|
|
35
|
+
];
|
|
36
|
+
rgba.push(color);
|
|
37
|
+
}
|
|
38
|
+
return rgba;
|
|
39
|
+
}
|
|
40
|
+
exports.createColors = createColors;
|
|
41
|
+
//# sourceMappingURL=createColors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createColors.js","sourceRoot":"","sources":["../ts/createColors.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,SAAgB,YAAY,CAC1B,IAAgB,EAChB,EAAc,EACd,MAAc,EACd,KAGC;IAHD,sBAAA,EAAA;QACE,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1D;IACD,IAAM,KAAK,qBAAO,IAAI,OAAC,CAAA;IACvB,IAAM,IAAI,GAAG;QACX,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACf,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACf,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACf,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;KACpB,CAAA;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAEtB,IAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAEvC,IAAM,IAAI,GAAU,EAAE,CAAA;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,IAAM,KAAK,GAAG;YACZ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACxC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG;SAC7B,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KACjB;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAhCD,oCAgCC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createColorsFromMap = void 0;
|
|
4
|
+
var createColors_1 = require("./createColors");
|
|
5
|
+
/**
|
|
6
|
+
* Create colors with specified color map.
|
|
7
|
+
*/
|
|
8
|
+
function createColorsFromMap(colormap, shades, alpha) {
|
|
9
|
+
if (shades < colormap.length) {
|
|
10
|
+
throw new Error("Requires at least ".concat(colormap.length, " shades."));
|
|
11
|
+
}
|
|
12
|
+
var result = [];
|
|
13
|
+
var steps = [];
|
|
14
|
+
for (var i = 0; i < colormap.length; i++) {
|
|
15
|
+
steps.push(Math.round(colormap[i].index * shades));
|
|
16
|
+
}
|
|
17
|
+
for (var i = 0; i < colormap.length - 1; i++) {
|
|
18
|
+
var n = steps[i + 1] - steps[i];
|
|
19
|
+
var from = colormap[i].rgb;
|
|
20
|
+
var to = colormap[i + 1].rgb;
|
|
21
|
+
result.push.apply(result, (0, createColors_1.createColors)(from, to, n, alpha));
|
|
22
|
+
}
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
exports.createColorsFromMap = createColorsFromMap;
|
|
26
|
+
//# sourceMappingURL=createColorsFromMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createColorsFromMap.js","sourceRoot":"","sources":["../ts/createColorsFromMap.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAG7C;;GAEG;AACH,SAAgB,mBAAmB,CAAC,QAAkB,EAAE,MAAc,EAAE,KAAa;IACnF,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,4BAAqB,QAAQ,CAAC,MAAM,aAAU,CAAC,CAAA;KAChE;IAED,IAAM,MAAM,GAAW,EAAE,CAAA;IACzB,IAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAA;KACnD;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC5C,IAAM,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACjC,IAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7B,IAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/B,MAAM,CAAC,IAAI,OAAX,MAAM,EAAS,IAAA,2BAAY,EAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAC;KACjD;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAnBD,kDAmBC"}
|
package/cjs/index.d.ts
ADDED
package/cjs/index.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./createColors"), exports);
|
|
18
|
+
__exportStar(require("./createColorsFromMap"), exports);
|
|
19
|
+
__exportStar(require("./interfaces"), exports);
|
|
20
|
+
__exportStar(require("./rgbHex"), exports);
|
|
21
|
+
__exportStar(require("./rgbaString"), exports);
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
package/cjs/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA8B;AAC9B,wDAAqC;AACrC,+CAA4B;AAC5B,2CAAwB;AACxB,+CAA4B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare type RGB = [number, number, number];
|
|
2
|
+
export declare type RGBA = [number, number, number, number];
|
|
3
|
+
export declare type Alpha = [number, number];
|
|
4
|
+
export declare type ColorMap = {
|
|
5
|
+
/**
|
|
6
|
+
* Defines how fast or slow the `rgb` values will change from one segment to the next.
|
|
7
|
+
* i.e. the steepness of the gradient between two segments.
|
|
8
|
+
*/
|
|
9
|
+
index: number;
|
|
10
|
+
/**
|
|
11
|
+
* RGB or RGBA. if RGBA, this alpha will be used instead of the alpha specified in the call.
|
|
12
|
+
*/
|
|
13
|
+
rgb: RGB | RGBA;
|
|
14
|
+
}[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../ts/interfaces.ts"],"names":[],"mappings":""}
|
package/cjs/rgbHex.d.ts
ADDED
package/cjs/rgbHex.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.rgbHex = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Convert `RGB` to `#rgb`
|
|
6
|
+
* JavaScript note: no check for array length, use it properly.
|
|
7
|
+
*/
|
|
8
|
+
function rgbHex(rgb) {
|
|
9
|
+
var hex = '#';
|
|
10
|
+
for (var i = 0; i < 3; i++) {
|
|
11
|
+
hex += d2h(rgb[i]);
|
|
12
|
+
}
|
|
13
|
+
return hex;
|
|
14
|
+
}
|
|
15
|
+
exports.rgbHex = rgbHex;
|
|
16
|
+
function d2h(d) {
|
|
17
|
+
var s = (+d).toString(16);
|
|
18
|
+
return s.length < 2 ? '0' + s : s;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=rgbHex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rgbHex.js","sourceRoot":"","sources":["../ts/rgbHex.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,SAAgB,MAAM,CAAC,GAAe;IACpC,IAAI,GAAG,GAAG,GAAG,CAAA;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;KACnB;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAND,wBAMC;AAED,SAAS,GAAG,CAAC,CAAS;IACpB,IAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC3B,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rgbaString.js","sourceRoot":"","sources":["../ts/rgbaString.ts"],"names":[],"mappings":";;;AAEA,SAAgB,UAAU,CAAC,IAAU;IACnC,OAAO,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACxC,CAAC;AAFD,gCAEC"}
|
package/dist/color-map.es5.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var ColorMap;(()=>{"use strict";var e={938:function(e,r){var t=this&&this.__spreadArray||function(e,r,t){if(t||2===arguments.length)for(var o,n=0,a=r.length;n<a;n++)!o&&n in r||(o||(o=Array.prototype.slice.call(r,0,n)),o[n]=r[n]);return e.concat(o||Array.prototype.slice.call(r))};Object.defineProperty(r,"__esModule",{value:!0}),r.createColors=void 0,r.createColors=function(e,r,o,n){void 0===n&&(n=[4===e.length?e[3]:4===r.length?r[3]:1,4===r.length?r[3]:4===e.length?e[3]:1]);var a=t([],e,!0),i=[r[0]-e[0],r[1]-e[1],r[2]-e[2],n[1]-n[0]];3===a.length&&a.push(n[0]);for(var l=1/Math.max(o-1,1),u=[],c=0;c<o;c++){var s=[Math.round(a[0]+c*i[0]*l),Math.round(a[1]+c*i[1]*l),Math.round(a[2]+c*i[2]*l),a[3]+c*i[3]*l];u.push(s)}return u}},879:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.createColorsFromMap=void 0;var o=t(938);r.createColorsFromMap=function(e,r,t){if(r<e.length)throw new Error("Requires at least ".concat(e.length," shades."));for(var n=[],a=[],i=0;i<e.length;i++)a.push(Math.round(e[i].index*r));for(i=0;i<e.length-1;i++){var l=a[i+1]-a[i],u=e[i].rgb,c=e[i+1].rgb;n.push.apply(n,(0,o.createColors)(u,c,l,t))}return n}},403:function(e,r,t){var o=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t)
|
|
1
|
+
var ColorMap;(()=>{"use strict";var e={938:function(e,r){var t=this&&this.__spreadArray||function(e,r,t){if(t||2===arguments.length)for(var o,n=0,a=r.length;n<a;n++)!o&&n in r||(o||(o=Array.prototype.slice.call(r,0,n)),o[n]=r[n]);return e.concat(o||Array.prototype.slice.call(r))};Object.defineProperty(r,"__esModule",{value:!0}),r.createColors=void 0,r.createColors=function(e,r,o,n){void 0===n&&(n=[4===e.length?e[3]:4===r.length?r[3]:1,4===r.length?r[3]:4===e.length?e[3]:1]);var a=t([],e,!0),i=[r[0]-e[0],r[1]-e[1],r[2]-e[2],n[1]-n[0]];3===a.length&&a.push(n[0]);for(var l=1/Math.max(o-1,1),u=[],c=0;c<o;c++){var s=[Math.round(a[0]+c*i[0]*l),Math.round(a[1]+c*i[1]*l),Math.round(a[2]+c*i[2]*l),a[3]+c*i[3]*l];u.push(s)}return u}},879:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.createColorsFromMap=void 0;var o=t(938);r.createColorsFromMap=function(e,r,t){if(r<e.length)throw new Error("Requires at least ".concat(e.length," shades."));for(var n=[],a=[],i=0;i<e.length;i++)a.push(Math.round(e[i].index*r));for(i=0;i<e.length-1;i++){var l=a[i+1]-a[i],u=e[i].rgb,c=e[i+1].rgb;n.push.apply(n,(0,o.createColors)(u,c,l,t))}return n}},403:function(e,r,t){var o=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var n=Object.getOwnPropertyDescriptor(r,t);n&&!("get"in n?!r.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,n)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),n=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||o(r,e,t)};Object.defineProperty(r,"__esModule",{value:!0}),n(t(938),r),n(t(879),r),n(t(676),r),n(t(140),r),n(t(0),r)},676:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0})},140:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.rgbHex=void 0,r.rgbHex=function(e){for(var r,t="#",o=0;o<3;o++)t+=(void 0,(r=(+e[o]).toString(16)).length<2?"0"+r:r);return t}},0:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.rgbaString=void 0,r.rgbaString=function(e){return"rgba("+e.join(",")+")"}}},r={},t=function t(o){var n=r[o];if(void 0!==n)return n.exports;var a=r[o]={exports:{}};return e[o].call(a.exports,a,a.exports,t),a.exports}(403);ColorMap=t})();
|
|
2
2
|
//# sourceMappingURL=color-map.es5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-map.es5.js","mappings":"gWAEA,wBACEA,EACAC,EACAC,EACAC,QAAA,IAAAA,IAAAA,EAAA,CACkB,IAAhBH,EAAKI,OAAeJ,EAAK,GAAmB,IAAdC,EAAGG,OAAeH,EAAG,GAAK,EAC1C,IAAdA,EAAGG,OAAeH,EAAG,GAAqB,IAAhBD,EAAKI,OAAeJ,EAAK,GAAK,IAE1D,IAAMK,EAAQ,EAAH,GAAOL,GAAI,GAChBM,EAAO,CACXL,EAAG,GAAKD,EAAK,GACbC,EAAG,GAAKD,EAAK,GACbC,EAAG,GAAKD,EAAK,GACbG,EAAM,GAAKA,EAAM,IAGE,IAAjBE,EAAMD,QACRC,EAAME,KAAKJ,EAAM,IAKnB,IAHA,IAAMK,EAAM,EAAIC,KAAKC,IAAIR,EAAS,EAAG,GAE/BS,EAAc,GACXC,EAAI,EAAGA,EAAIV,EAAQU,IAAK,CAC/B,IAAMC,EAAQ,CACZJ,KAAKK,MAAMT,EAAM,GAAKO,EAAIN,EAAK,GAAKE,GACpCC,KAAKK,MAAMT,EAAM,GAAKO,EAAIN,EAAK,GAAKE,GACpCC,KAAKK,MAAMT,EAAM,GAAKO,EAAIN,EAAK,GAAKE,GACpCH,EAAM,GAAKO,EAAIN,EAAK,GAAKE,GAE3BG,EAAKJ,KAAKM,GAEZ,OAAOF,I,4FCjCT,aAMA,+BAAoCI,EAAoBb,EAAgBC,GACtE,GAAID,EAASa,EAASX,OACpB,MAAM,IAAIY,MAAM,4BAAqBD,EAASX,OAAM,aAKtD,IAFA,IAAMa,EAAiB,GACjBC,EAAkB,GACfN,EAAI,EAAGA,EAAIG,EAASX,OAAQQ,IACnCM,EAAMX,KAAKE,KAAKK,MAAMC,EAASH,GAAGO,MAAQjB,IAG5C,IAASU,EAAI,EAAGA,EAAIG,EAASX,OAAS,EAAGQ,IAAK,CAC5C,IAAMQ,EAAIF,EAAMN,EAAI,GAAKM,EAAMN,GACzBZ,EAAOe,EAASH,GAAGS,IACnBpB,EAAKc,EAASH,EAAI,GAAGS,IAC3BJ,EAAOV,KAAI,MAAXU,GAAe,IAAAK,cAAatB,EAAMC,EAAImB,EAAGjB,IAG3C,OAAOc,I,yfCxBT,YACA,YACA,YACA,YACA,W,2ICEA,kBAAuBI,GAErB,IADA,IAQME,EARFC,EAAM,IACDZ,EAAI,EAAGA,EAAI,EAAGA,IACrBY,SAMID,GAAAA,IANOF,EAAIT,IAMFa,SAAS,KACfrB,OAAS,EAAI,IAAMmB,EAAIA,GALhC,OAAOC,I,+ECTT,sBAA2Bb,GACzB,MAAO,QAAUA,EAAKe,KAAK,KAAO,OCFhCC,EAA2B,GCE3BC,EDCJ,SAASC,EAAoBC,GAE5B,IAAIC,EAAeJ,EAAyBG,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASP,EAAyBG,GAAY,CAGjDG,QAAS,IAOV,OAHAE,EAAoBL,GAAUM,KAAKF,EAAOD,QAASC,EAAQA,EAAOD,QAASJ,GAGpEK,EAAOD,QClBWJ,CAAoB,K","sources":["webpack://ColorMap/./ts/createColors.ts","webpack://ColorMap/./ts/createColorsFromMap.ts","webpack://ColorMap/./ts/index.ts","webpack://ColorMap/./ts/rgbHex.ts","webpack://ColorMap/./ts/rgbaString.ts","webpack://ColorMap/webpack/bootstrap","webpack://ColorMap/webpack/startup"],"sourcesContent":["import { RGB, RGBA, Alpha } from './interfaces'\n\nexport function createColors(\n from: RGB | RGBA,\n to: RGB | RGBA,\n shades: number,\n alpha: Alpha = [\n from.length === 4 ? from[3] : to.length === 4 ? to[3] : 1,\n to.length === 4 ? to[3] : from.length === 4 ? from[3] : 1\n ]): RGBA[] {\n const start = [...from]\n const diff = [\n to[0] - from[0],\n to[1] - from[1],\n to[2] - from[2],\n alpha[1] - alpha[0]\n ]\n\n if (start.length === 3)\n start.push(alpha[0])\n\n const inc = 1 / Math.max(shades - 1, 1)\n\n const rgba: any[] = []\n for (let i = 0; i < shades; i++) {\n const color = [\n Math.round(start[0] + i * diff[0] * inc),\n Math.round(start[1] + i * diff[1] * inc),\n Math.round(start[2] + i * diff[2] * inc),\n start[3] + i * diff[3] * inc\n ]\n rgba.push(color)\n }\n return rgba\n}\n","import { createColors } from './createColors'\nimport { ColorMap, Alpha, RGBA } from './interfaces'\n\n/**\n * Create colors with specified color map.\n */\nexport function createColorsFromMap(colormap: ColorMap, shades: number, alpha?: Alpha): RGBA[] {\n if (shades < colormap.length) {\n throw new Error(`Requires at least ${colormap.length} shades.`)\n }\n\n const result: RGBA[] = []\n const steps: number[] = []\n for (let i = 0; i < colormap.length; i++) {\n steps.push(Math.round(colormap[i].index * shades))\n }\n\n for (let i = 0; i < colormap.length - 1; i++) {\n const n = steps[i + 1] - steps[i]\n const from = colormap[i].rgb;\n const to = colormap[i + 1].rgb;\n result.push(...createColors(from, to, n, alpha))\n }\n\n return result\n}\n","export * from './createColors'\nexport * from './createColorsFromMap'\nexport * from './interfaces'\nexport * from './rgbHex'\nexport * from './rgbaString'\n","import { RGB, RGBA } from './interfaces'\n\n/**\n * Convert `RGB` to `#rgb`\n * JavaScript note: no check for array length, use it properly.\n */\nexport function rgbHex(rgb: RGB | RGBA) {\n let hex = '#'\n for (let i = 0; i < 3; i++) {\n hex += d2h(rgb[i])\n }\n return hex\n}\n\nfunction d2h(d: number) {\n const s = (+d).toString(16)\n return s.length < 2 ? '0' + s : s\n}\n","import { RGBA } from './interfaces'\n\nexport function rgbaString(rgba: RGBA) {\n return 'rgba(' + rgba.join(',') + ')';\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(403);\n"],"names":["from","to","shades","alpha","length","start","diff","push","inc","Math","max","rgba","i","color","round","colormap","Error","result","steps","index","n","rgb","createColors","s","hex","toString","join","__webpack_module_cache__","__webpack_exports__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call"],"sourceRoot":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export function createColors(from, to, shades, alpha = [
|
|
2
|
+
from.length === 4 ? from[3] : to.length === 4 ? to[3] : 1,
|
|
3
|
+
to.length === 4 ? to[3] : from.length === 4 ? from[3] : 1
|
|
4
|
+
]) {
|
|
5
|
+
const start = [...from];
|
|
6
|
+
const diff = [
|
|
7
|
+
to[0] - from[0],
|
|
8
|
+
to[1] - from[1],
|
|
9
|
+
to[2] - from[2],
|
|
10
|
+
alpha[1] - alpha[0]
|
|
11
|
+
];
|
|
12
|
+
if (start.length === 3)
|
|
13
|
+
start.push(alpha[0]);
|
|
14
|
+
const inc = 1 / Math.max(shades - 1, 1);
|
|
15
|
+
const rgba = [];
|
|
16
|
+
for (let i = 0; i < shades; i++) {
|
|
17
|
+
const color = [
|
|
18
|
+
Math.round(start[0] + i * diff[0] * inc),
|
|
19
|
+
Math.round(start[1] + i * diff[1] * inc),
|
|
20
|
+
Math.round(start[2] + i * diff[2] * inc),
|
|
21
|
+
start[3] + i * diff[3] * inc
|
|
22
|
+
];
|
|
23
|
+
rgba.push(color);
|
|
24
|
+
}
|
|
25
|
+
return rgba;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=createColors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createColors.js","sourceRoot":"","sources":["../ts/createColors.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAC1B,IAAgB,EAChB,EAAc,EACd,MAAc,EACd,QAAe;IACb,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1D;IACD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACvB,MAAM,IAAI,GAAG;QACX,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACf,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACf,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACf,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;KACpB,CAAA;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAEtB,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAEvC,MAAM,IAAI,GAAU,EAAE,CAAA;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG;YACZ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACxC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG;SAC7B,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KACjB;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createColors } from './createColors';
|
|
2
|
+
/**
|
|
3
|
+
* Create colors with specified color map.
|
|
4
|
+
*/
|
|
5
|
+
export function createColorsFromMap(colormap, shades, alpha) {
|
|
6
|
+
if (shades < colormap.length) {
|
|
7
|
+
throw new Error(`Requires at least ${colormap.length} shades.`);
|
|
8
|
+
}
|
|
9
|
+
const result = [];
|
|
10
|
+
const steps = [];
|
|
11
|
+
for (let i = 0; i < colormap.length; i++) {
|
|
12
|
+
steps.push(Math.round(colormap[i].index * shades));
|
|
13
|
+
}
|
|
14
|
+
for (let i = 0; i < colormap.length - 1; i++) {
|
|
15
|
+
const n = steps[i + 1] - steps[i];
|
|
16
|
+
const from = colormap[i].rgb;
|
|
17
|
+
const to = colormap[i + 1].rgb;
|
|
18
|
+
result.push(...createColors(from, to, n, alpha));
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=createColorsFromMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createColorsFromMap.js","sourceRoot":"","sources":["../ts/createColorsFromMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAkB,EAAE,MAAc,EAAE,KAAa;IACnF,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,UAAU,CAAC,CAAA;KAChE;IAED,MAAM,MAAM,GAAW,EAAE,CAAA;IACzB,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAA;KACnD;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC5C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7B,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;KACjD;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/esm/index.d.ts
ADDED
package/esm/index.js
ADDED
package/esm/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare type RGB = [number, number, number];
|
|
2
|
+
export declare type RGBA = [number, number, number, number];
|
|
3
|
+
export declare type Alpha = [number, number];
|
|
4
|
+
export declare type ColorMap = {
|
|
5
|
+
/**
|
|
6
|
+
* Defines how fast or slow the `rgb` values will change from one segment to the next.
|
|
7
|
+
* i.e. the steepness of the gradient between two segments.
|
|
8
|
+
*/
|
|
9
|
+
index: number;
|
|
10
|
+
/**
|
|
11
|
+
* RGB or RGBA. if RGBA, this alpha will be used instead of the alpha specified in the call.
|
|
12
|
+
*/
|
|
13
|
+
rgb: RGB | RGBA;
|
|
14
|
+
}[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../ts/interfaces.ts"],"names":[],"mappings":""}
|
package/esm/rgbHex.d.ts
ADDED
package/esm/rgbHex.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert `RGB` to `#rgb`
|
|
3
|
+
* JavaScript note: no check for array length, use it properly.
|
|
4
|
+
*/
|
|
5
|
+
export function rgbHex(rgb) {
|
|
6
|
+
let hex = '#';
|
|
7
|
+
for (let i = 0; i < 3; i++) {
|
|
8
|
+
hex += d2h(rgb[i]);
|
|
9
|
+
}
|
|
10
|
+
return hex;
|
|
11
|
+
}
|
|
12
|
+
function d2h(d) {
|
|
13
|
+
const s = (+d).toString(16);
|
|
14
|
+
return s.length < 2 ? '0' + s : s;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=rgbHex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rgbHex.js","sourceRoot":"","sources":["../ts/rgbHex.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,GAAe;IACpC,IAAI,GAAG,GAAG,GAAG,CAAA;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;KACnB;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,GAAG,CAAC,CAAS;IACpB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC3B,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rgbaString.js","sourceRoot":"","sources":["../ts/rgbaString.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CAAC,IAAU;IACnC,OAAO,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACxC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "color-map",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Color map generator",
|
|
5
5
|
"homepage": "https://github.com/unional/color-map",
|
|
6
6
|
"bugs": {
|
|
@@ -15,72 +15,93 @@
|
|
|
15
15
|
"name": "Homa Wong (unional)",
|
|
16
16
|
"email": "homawong@gmail.com"
|
|
17
17
|
},
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
"type": "module",
|
|
19
|
+
"exports": {
|
|
20
|
+
"import": "./esm/index.js"
|
|
21
|
+
},
|
|
22
|
+
"types": "./esm/index.d.ts",
|
|
22
23
|
"files": [
|
|
23
24
|
"cjs",
|
|
24
25
|
"dist",
|
|
25
26
|
"esm",
|
|
26
|
-
"ts"
|
|
27
|
+
"ts",
|
|
28
|
+
"!ts/**/*.spec.ts"
|
|
27
29
|
],
|
|
28
30
|
"scripts": {
|
|
29
|
-
"build": "run-p build:cjs build:esm bundle",
|
|
31
|
+
"build": "run-p build:cjs build:esm build:tslib bundle",
|
|
30
32
|
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
31
33
|
"build:esm": "tsc -p tsconfig.esm.json",
|
|
32
|
-
"build:
|
|
34
|
+
"build:tslib": "tsc -p tsconfig.tslib.json",
|
|
33
35
|
"bundle": "webpack",
|
|
34
|
-
"clean": "rimraf cjs esm lib libm",
|
|
36
|
+
"clean": "rimraf cjs coverage esm lib libm && mkdir cjs && echo '{\"type\":\"commonjs\"}' > cjs/package.json || true",
|
|
35
37
|
"coverage": "jest --coverage",
|
|
36
|
-
"
|
|
37
|
-
"dependency-check:missing": "dependency-check . --missing --no-dev",
|
|
38
|
-
"dependency-check:unused": "dependency-check . --unused --no-dev",
|
|
38
|
+
"depcheck": "depcheck",
|
|
39
39
|
"lint": "eslint --ext=js,ts .",
|
|
40
|
-
"
|
|
41
|
-
"
|
|
40
|
+
"nuke": "yarn clean && rimraf node_modules",
|
|
41
|
+
"_postinstall": "husky install",
|
|
42
|
+
"prepack": "pinst --disable",
|
|
43
|
+
"postpack": "pinst --enable",
|
|
44
|
+
"size": "size-limit",
|
|
42
45
|
"test": "jest",
|
|
43
|
-
"verify": "run-p build
|
|
46
|
+
"verify": "npm-run-all clean -p build depcheck lint coverage -p size",
|
|
44
47
|
"watch": "jest --watch"
|
|
45
48
|
},
|
|
46
49
|
"devDependencies": {
|
|
47
|
-
"@babel/core": "^7.
|
|
48
|
-
"@babel/plugin-proposal-class-properties": "^7.
|
|
49
|
-
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.
|
|
50
|
-
"@babel/plugin-proposal-optional-chaining": "^7.
|
|
51
|
-
"@babel/preset-env": "^7.
|
|
52
|
-
"@babel/preset-typescript": "^7.
|
|
53
|
-
"@commitlint/cli": "^
|
|
54
|
-
"@commitlint/config-conventional": "^
|
|
55
|
-
"@
|
|
56
|
-
"@
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"eslint-plugin
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
50
|
+
"@babel/core": "^7.18.2",
|
|
51
|
+
"@babel/plugin-proposal-class-properties": "^7.17.12",
|
|
52
|
+
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.17.12",
|
|
53
|
+
"@babel/plugin-proposal-optional-chaining": "^7.17.12",
|
|
54
|
+
"@babel/preset-env": "^7.18.2",
|
|
55
|
+
"@babel/preset-typescript": "^7.17.12",
|
|
56
|
+
"@commitlint/cli": "^17.0.2",
|
|
57
|
+
"@commitlint/config-conventional": "^17.0.2",
|
|
58
|
+
"@semantic-release/changelog": "^6.0.1",
|
|
59
|
+
"@semantic-release/git": "^10.0.1",
|
|
60
|
+
"@semantic-release/github": "^8.0.4",
|
|
61
|
+
"@semantic-release/npm": "^9.0.1",
|
|
62
|
+
"@size-limit/preset-small-lib": "^7.0.8",
|
|
63
|
+
"@types/jest": "^28.1.1",
|
|
64
|
+
"@typescript-eslint/eslint-plugin": "^5.27.1",
|
|
65
|
+
"assertron": "^9.2.4",
|
|
66
|
+
"colormap": "^2.3.2",
|
|
67
|
+
"depcheck": "^1.4.3",
|
|
68
|
+
"eslint": "^8.17.0",
|
|
69
|
+
"eslint-plugin-harmony": "^7.1.0",
|
|
70
|
+
"husky": "^8.0.1",
|
|
71
|
+
"jest": "^28.1.1",
|
|
72
|
+
"jest-junit": "^13.2.0",
|
|
73
|
+
"jest-progress-tracker": "^3.0.4",
|
|
74
|
+
"jest-validate": "^28.1.1",
|
|
67
75
|
"jest-watch-repeat": "^2.0.0",
|
|
68
76
|
"jest-watch-suspend": "^1.1.2",
|
|
69
77
|
"jest-watch-toggle-config": "^2.0.1",
|
|
70
|
-
"jest-watch-typeahead": "^1.
|
|
78
|
+
"jest-watch-typeahead": "^1.1.0",
|
|
71
79
|
"npm-run-all": "^4.1.5",
|
|
72
|
-
"param-case": "^
|
|
73
|
-
"pascal-case": "^
|
|
80
|
+
"param-case": "^3.0.4",
|
|
81
|
+
"pascal-case": "^3.1.2",
|
|
82
|
+
"pinst": "^3.0.0",
|
|
74
83
|
"rimraf": "^3.0.2",
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
84
|
+
"semantic-release": "^19.0.2",
|
|
85
|
+
"size-limit": "^7.0.8",
|
|
86
|
+
"ts-loader": "^9.3.0",
|
|
87
|
+
"tslib": "^2.4.0",
|
|
88
|
+
"typescript": "^4.7.3",
|
|
89
|
+
"webpack": "^5.73.0",
|
|
90
|
+
"webpack-cli": "^4.9.2"
|
|
80
91
|
},
|
|
92
|
+
"packageManager": "yarn@3.2.1",
|
|
81
93
|
"size-limit": [
|
|
82
94
|
{
|
|
95
|
+
"path": "./cjs/index.js",
|
|
96
|
+
"limit": "2 KB"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"path": "./esm/index.js",
|
|
83
100
|
"limit": "2 KB"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"path": "./tslib/index.js",
|
|
104
|
+
"limit": "5 KB"
|
|
84
105
|
}
|
|
85
106
|
]
|
|
86
107
|
}
|
package/ts/createColors.spec.ts
DELETED
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
import t from 'assert';
|
|
2
|
-
import { createColors } from '.';
|
|
3
|
-
|
|
4
|
-
test('match colormap output', () => {
|
|
5
|
-
const actual = createColors([0, 0, 255], [0, 255, 128], 72)
|
|
6
|
-
|
|
7
|
-
expect(actual).toEqual([
|
|
8
|
-
[0, 0, 255, 1],
|
|
9
|
-
[0, 4, 253, 1],
|
|
10
|
-
[0, 7, 251, 1],
|
|
11
|
-
[0, 11, 250, 1],
|
|
12
|
-
[0, 14, 248, 1],
|
|
13
|
-
[0, 18, 246, 1],
|
|
14
|
-
[0, 22, 244, 1],
|
|
15
|
-
[0, 25, 242, 1],
|
|
16
|
-
[0, 29, 241, 1],
|
|
17
|
-
[0, 32, 239, 1],
|
|
18
|
-
[0, 36, 237, 1],
|
|
19
|
-
[0, 40, 235, 1],
|
|
20
|
-
[0, 43, 234, 1],
|
|
21
|
-
[0, 47, 232, 1],
|
|
22
|
-
[0, 50, 230, 1],
|
|
23
|
-
[0, 54, 228, 1],
|
|
24
|
-
[0, 57, 226, 1],
|
|
25
|
-
[0, 61, 225, 1],
|
|
26
|
-
[0, 65, 223, 1],
|
|
27
|
-
[0, 68, 221, 1],
|
|
28
|
-
[0, 72, 219, 1],
|
|
29
|
-
[0, 75, 217, 1],
|
|
30
|
-
[0, 79, 216, 1],
|
|
31
|
-
[0, 83, 214, 1],
|
|
32
|
-
[0, 86, 212, 1],
|
|
33
|
-
[0, 90, 210, 1],
|
|
34
|
-
[0, 93, 208, 1],
|
|
35
|
-
[0, 97, 207, 1],
|
|
36
|
-
[0, 101, 205, 1],
|
|
37
|
-
[0, 104, 203, 1],
|
|
38
|
-
[0, 108, 201, 1],
|
|
39
|
-
[0, 111, 200, 1],
|
|
40
|
-
[0, 115, 198, 1],
|
|
41
|
-
[0, 119, 196, 1],
|
|
42
|
-
[0, 122, 194, 1],
|
|
43
|
-
[0, 126, 192, 1],
|
|
44
|
-
[0, 129, 191, 1],
|
|
45
|
-
[0, 133, 189, 1],
|
|
46
|
-
[0, 136, 187, 1],
|
|
47
|
-
[0, 140, 185, 1],
|
|
48
|
-
[0, 144, 183, 1],
|
|
49
|
-
[0, 147, 182, 1],
|
|
50
|
-
[0, 151, 180, 1],
|
|
51
|
-
[0, 154, 178, 1],
|
|
52
|
-
[0, 158, 176, 1],
|
|
53
|
-
[0, 162, 175, 1],
|
|
54
|
-
[0, 165, 173, 1],
|
|
55
|
-
[0, 169, 171, 1],
|
|
56
|
-
[0, 172, 169, 1],
|
|
57
|
-
[0, 176, 167, 1],
|
|
58
|
-
[0, 180, 166, 1],
|
|
59
|
-
[0, 183, 164, 1],
|
|
60
|
-
[0, 187, 162, 1],
|
|
61
|
-
[0, 190, 160, 1],
|
|
62
|
-
[0, 194, 158, 1],
|
|
63
|
-
[0, 198, 157, 1],
|
|
64
|
-
[0, 201, 155, 1],
|
|
65
|
-
[0, 205, 153, 1],
|
|
66
|
-
[0, 208, 151, 1],
|
|
67
|
-
[0, 212, 149, 1],
|
|
68
|
-
[0, 215, 148, 1],
|
|
69
|
-
[0, 219, 146, 1],
|
|
70
|
-
[0, 223, 144, 1],
|
|
71
|
-
[0, 226, 142, 1],
|
|
72
|
-
[0, 230, 141, 1],
|
|
73
|
-
[0, 233, 139, 1],
|
|
74
|
-
[0, 237, 137, 1],
|
|
75
|
-
[0, 241, 135, 1],
|
|
76
|
-
[0, 244, 133, 1],
|
|
77
|
-
[0, 248, 132, 1],
|
|
78
|
-
[0, 251, 130, 1],
|
|
79
|
-
[0, 255, 128, 1]])
|
|
80
|
-
})
|
|
81
|
-
|
|
82
|
-
test('Uses alpha in from/to', () => {
|
|
83
|
-
const actual = createColors([0, 0, 0, .2], [1, 1, 1, .8], 2)
|
|
84
|
-
expect(actual).toEqual([[0, 0, 0, .2], [1, 1, 1, .8]])
|
|
85
|
-
})
|
|
86
|
-
|
|
87
|
-
test('alpha in from but not in to, will use alpha in from', () => {
|
|
88
|
-
const actual = createColors([0, 0, 0, .2], [1, 1, 1], 2)
|
|
89
|
-
expect(actual).toEqual([[0, 0, 0, .2], [1, 1, 1, .2]])
|
|
90
|
-
})
|
|
91
|
-
|
|
92
|
-
test('alpha in `to` but not in `from`, will use alpha in `to`', () => {
|
|
93
|
-
const actual = createColors([0, 0, 0], [1, 1, 1, .5], 2)
|
|
94
|
-
expect(actual).toEqual([[0, 0, 0, .5], [1, 1, 1, .5]])
|
|
95
|
-
})
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
test('match actual colors', () => {
|
|
99
|
-
let actual = createColors([150, 0, 90], [0, 0, 200], 72, [0, 1])
|
|
100
|
-
|
|
101
|
-
t.deepStrictEqual(actual, [
|
|
102
|
-
[150, 0, 90, 0],
|
|
103
|
-
[148, 0, 92, 0.014084507042253521],
|
|
104
|
-
[146, 0, 93, 0.028169014084507043],
|
|
105
|
-
[144, 0, 95, 0.04225352112676056],
|
|
106
|
-
[142, 0, 96, 0.056338028169014086],
|
|
107
|
-
[139, 0, 98, 0.07042253521126761],
|
|
108
|
-
[137, 0, 99, 0.08450704225352113],
|
|
109
|
-
[135, 0, 101, 0.09859154929577466],
|
|
110
|
-
[133, 0, 102, 0.11267605633802817],
|
|
111
|
-
[131, 0, 104, 0.1267605633802817],
|
|
112
|
-
[129, 0, 105, 0.14084507042253522],
|
|
113
|
-
[127, 0, 107, 0.15492957746478875],
|
|
114
|
-
[125, 0, 109, 0.16901408450704225],
|
|
115
|
-
[123, 0, 110, 0.18309859154929578],
|
|
116
|
-
[120, 0, 112, 0.1971830985915493],
|
|
117
|
-
[118, 0, 113, 0.2112676056338028],
|
|
118
|
-
[116, 0, 115, 0.22535211267605634],
|
|
119
|
-
[114, 0, 116, 0.23943661971830987],
|
|
120
|
-
[112, 0, 118, 0.2535211267605634],
|
|
121
|
-
[110, 0, 119, 0.26760563380281693],
|
|
122
|
-
[108, 0, 121, 0.28169014084507044],
|
|
123
|
-
[106, 0, 123, 0.29577464788732394],
|
|
124
|
-
[104, 0, 124, 0.3098591549295775],
|
|
125
|
-
[101, 0, 126, 0.323943661971831],
|
|
126
|
-
[99, 0, 127, 0.3380281690140845],
|
|
127
|
-
[97, 0, 129, 0.35211267605633806],
|
|
128
|
-
[95, 0, 130, 0.36619718309859156],
|
|
129
|
-
[93, 0, 132, 0.38028169014084506],
|
|
130
|
-
[91, 0, 133, 0.3943661971830986],
|
|
131
|
-
[89, 0, 135, 0.4084507042253521],
|
|
132
|
-
[87, 0, 136, 0.4225352112676056],
|
|
133
|
-
[85, 0, 138, 0.4366197183098592],
|
|
134
|
-
[82, 0, 140, 0.4507042253521127],
|
|
135
|
-
[80, 0, 141, 0.4647887323943662],
|
|
136
|
-
[78, 0, 143, 0.47887323943661975],
|
|
137
|
-
[76, 0, 144, 0.49295774647887325],
|
|
138
|
-
[74, 0, 146, 0.5070422535211268],
|
|
139
|
-
[72, 0, 147, 0.5211267605633803],
|
|
140
|
-
[70, 0, 149, 0.5352112676056339],
|
|
141
|
-
[68, 0, 150, 0.5492957746478874],
|
|
142
|
-
[65, 0, 152, 0.5633802816901409],
|
|
143
|
-
[63, 0, 154, 0.5774647887323944],
|
|
144
|
-
[61, 0, 155, 0.5915492957746479],
|
|
145
|
-
[59, 0, 157, 0.6056338028169014],
|
|
146
|
-
[57, 0, 158, 0.619718309859155],
|
|
147
|
-
[55, 0, 160, 0.6338028169014085],
|
|
148
|
-
[53, 0, 161, 0.647887323943662],
|
|
149
|
-
[51, 0, 163, 0.6619718309859155],
|
|
150
|
-
[49, 0, 164, 0.676056338028169],
|
|
151
|
-
[46, 0, 166, 0.6901408450704225],
|
|
152
|
-
[44, 0, 167, 0.7042253521126761],
|
|
153
|
-
[42, 0, 169, 0.7183098591549296],
|
|
154
|
-
[40, 0, 171, 0.7323943661971831],
|
|
155
|
-
[38, 0, 172, 0.7464788732394366],
|
|
156
|
-
[36, 0, 174, 0.7605633802816901],
|
|
157
|
-
[34, 0, 175, 0.7746478873239436],
|
|
158
|
-
[32, 0, 177, 0.7887323943661972],
|
|
159
|
-
[30, 0, 178, 0.8028169014084507],
|
|
160
|
-
[27, 0, 180, 0.8169014084507042],
|
|
161
|
-
[25, 0, 181, 0.8309859154929577],
|
|
162
|
-
[23, 0, 183, 0.8450704225352113],
|
|
163
|
-
[21, 0, 185, 0.8591549295774648],
|
|
164
|
-
[19, 0, 186, 0.8732394366197184],
|
|
165
|
-
[17, 0, 188, 0.8873239436619719],
|
|
166
|
-
[15, 0, 189, 0.9014084507042254],
|
|
167
|
-
[13, 0, 191, 0.9154929577464789],
|
|
168
|
-
[11, 0, 192, 0.9295774647887324],
|
|
169
|
-
[8, 0, 194, 0.943661971830986],
|
|
170
|
-
[6, 0, 195, 0.9577464788732395],
|
|
171
|
-
[4, 0, 197, 0.971830985915493],
|
|
172
|
-
[2, 0, 198, 0.9859154929577465],
|
|
173
|
-
[0, 0, 200, 1]])
|
|
174
|
-
actual = createColors([150, 0, 90], [0, 0, 200], 72)
|
|
175
|
-
expect(actual).toEqual([[150, 0, 90, 1], [148, 0, 92, 1], [146, 0, 93, 1], [144, 0, 95, 1], [142, 0, 96, 1], [139, 0, 98, 1], [137, 0, 99, 1], [135, 0, 101, 1], [133, 0, 102, 1], [131, 0, 104, 1], [129, 0, 105, 1], [127, 0, 107, 1], [125, 0, 109, 1], [123, 0, 110, 1], [120, 0, 112, 1], [118, 0, 113, 1], [116, 0, 115, 1], [114, 0, 116, 1], [112, 0, 118, 1], [110, 0, 119, 1], [108, 0, 121, 1], [106, 0, 123, 1], [104, 0, 124, 1], [101, 0, 126, 1], [99, 0, 127, 1], [97, 0, 129, 1], [95, 0, 130, 1], [93, 0, 132, 1], [91, 0, 133, 1], [89, 0, 135, 1], [87, 0, 136, 1], [85, 0, 138, 1], [82, 0, 140, 1], [80, 0, 141, 1], [78, 0, 143, 1], [76, 0, 144, 1], [74, 0, 146, 1], [72, 0, 147, 1], [70, 0, 149, 1], [68, 0, 150, 1], [65, 0, 152, 1], [63, 0, 154, 1], [61, 0, 155, 1], [59, 0, 157, 1], [57, 0, 158, 1], [55, 0, 160, 1], [53, 0, 161, 1], [51, 0, 163, 1], [49, 0, 164, 1], [46, 0, 166, 1], [44, 0, 167, 1], [42, 0, 169, 1], [40, 0, 171, 1], [38, 0, 172, 1], [36, 0, 174, 1], [34, 0, 175, 1], [32, 0, 177, 1], [30, 0, 178, 1], [27, 0, 180, 1], [25, 0, 181, 1], [23, 0, 183, 1], [21, 0, 185, 1], [19, 0, 186, 1], [17, 0, 188, 1], [15, 0, 189, 1], [13, 0, 191, 1], [11, 0, 192, 1], [8, 0, 194, 1], [6, 0, 195, 1], [4, 0, 197, 1], [2, 0, 198, 1], [0, 0, 200, 1]])
|
|
176
|
-
})
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import a from 'assertron';
|
|
2
|
-
import { ColorMap, createColorsFromMap } from '.';
|
|
3
|
-
|
|
4
|
-
test('summer colors', () => {
|
|
5
|
-
const summer: ColorMap = [{ index: 0, rgb: [0, 128, 102] }, { index: 1, rgb: [255, 255, 102] }]
|
|
6
|
-
|
|
7
|
-
a.throws(() => createColorsFromMap(summer, 1))
|
|
8
|
-
|
|
9
|
-
const actual = createColorsFromMap(summer, 60)
|
|
10
|
-
expect(actual).toEqual([[0, 128, 102, 1], [4, 130, 102, 1], [9, 132, 102, 1], [13, 134, 102, 1], [17, 137, 102, 1], [22, 139, 102, 1], [26, 141, 102, 1], [30, 143, 102, 1], [35, 145, 102, 1], [39, 147, 102, 1], [43, 150, 102, 1], [48, 152, 102, 1], [52, 154, 102, 1], [56, 156, 102, 1], [61, 158, 102, 1], [65, 160, 102, 1], [69, 162, 102, 1], [73, 165, 102, 1], [78, 167, 102, 1], [82, 169, 102, 1], [86, 171, 102, 1], [91, 173, 102, 1], [95, 175, 102, 1], [99, 178, 102, 1], [104, 180, 102, 1], [108, 182, 102, 1], [112, 184, 102, 1], [117, 186, 102, 1], [121, 188, 102, 1], [125, 190, 102, 1], [130, 193, 102, 1], [134, 195, 102, 1], [138, 197, 102, 1], [143, 199, 102, 1], [147, 201, 102, 1], [151, 203, 102, 1], [156, 205, 102, 1], [160, 208, 102, 1], [164, 210, 102, 1], [169, 212, 102, 1], [173, 214, 102, 1], [177, 216, 102, 1], [182, 218, 102, 1], [186, 221, 102, 1], [190, 223, 102, 1], [194, 225, 102, 1], [199, 227, 102, 1], [203, 229, 102, 1], [207, 231, 102, 1], [212, 233, 102, 1], [216, 236, 102, 1], [220, 238, 102, 1], [225, 240, 102, 1], [229, 242, 102, 1], [233, 244, 102, 1], [238, 246, 102, 1], [242, 249, 102, 1], [246, 251, 102, 1], [251, 253, 102, 1], [255, 255, 102, 1]])
|
|
11
|
-
})
|
package/ts/rgbHex.spec.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { rgbHex } from '.'
|
|
2
|
-
|
|
3
|
-
test('[0,0,0] => #000000', () => {
|
|
4
|
-
expect(rgbHex([0, 0, 0])).toBe('#000000')
|
|
5
|
-
})
|
|
6
|
-
|
|
7
|
-
test('[255,128,16] => #ff8010', () => {
|
|
8
|
-
expect(rgbHex([255, 128, 16])).toBe('#ff8010')
|
|
9
|
-
})
|
|
10
|
-
|
|
11
|
-
test('[255,128,16,0] => #ff8010', () => {
|
|
12
|
-
expect(rgbHex([255, 128, 16, 0])).toBe('#ff8010')
|
|
13
|
-
})
|
|
14
|
-
|
|
15
|
-
test('[255,128,16,0.8] => #ff8010', () => {
|
|
16
|
-
expect(rgbHex([255, 128, 16, 0.8])).toBe('#ff8010')
|
|
17
|
-
})
|
package/ts/rgbaString.spec.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { rgbaString } from '.';
|
|
2
|
-
|
|
3
|
-
test('[255,128,16,0] => rgba(255,128,16,0)', () => {
|
|
4
|
-
expect(rgbaString([255, 128, 16, 0])).toBe('rgba(255,128,16,0)')
|
|
5
|
-
})
|
|
6
|
-
|
|
7
|
-
test('[255,128,16,0.3] => rgba(255,128,16,0.3)', () => {
|
|
8
|
-
expect(rgbaString([255, 128, 16, 0.3])).toBe('rgba(255,128,16,0.3)')
|
|
9
|
-
})
|