color-map 1.0.0 → 1.1.3
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/LICENSE +1 -1
- package/README.md +18 -46
- package/dist/color-map.es5.js +1 -1
- package/package.json +68 -65
- package/ts/createColors.spec.ts +176 -0
- package/{src → ts}/createColors.ts +14 -7
- package/ts/createColorsFromMap.spec.ts +11 -0
- package/{src → ts}/createColorsFromMap.ts +2 -2
- package/{src → ts}/index.ts +0 -0
- package/{src → ts}/interfaces.ts +0 -0
- package/ts/rgbHex.spec.ts +17 -0
- package/{src → ts}/rgbHex.ts +3 -3
- package/ts/rgbaString.spec.ts +9 -0
- package/{src → ts}/rgbaString.ts +0 -0
- package/dist/color-map.es5.js.map +0 -1
- package/dist-es2015/createColors.d.ts +0 -2
- package/dist-es2015/createColors.js +0 -24
- package/dist-es2015/createColors.js.map +0 -1
- package/dist-es2015/createColorsFromMap.d.ts +0 -5
- package/dist-es2015/createColorsFromMap.js +0 -22
- package/dist-es2015/createColorsFromMap.js.map +0 -1
- package/dist-es2015/index.d.ts +0 -5
- package/dist-es2015/index.js +0 -5
- package/dist-es2015/index.js.map +0 -1
- package/dist-es2015/interfaces.d.ts +0 -14
- package/dist-es2015/interfaces.js +0 -1
- package/dist-es2015/interfaces.js.map +0 -1
- package/dist-es2015/rgbHex.d.ts +0 -6
- package/dist-es2015/rgbHex.js +0 -16
- package/dist-es2015/rgbHex.js.map +0 -1
- package/dist-es2015/rgbaString.d.ts +0 -2
- package/dist-es2015/rgbaString.js +0 -4
- package/dist-es2015/rgbaString.js.map +0 -1
- package/dist-es5/createColors.d.ts +0 -2
- package/dist-es5/createColors.js +0 -28
- package/dist-es5/createColors.js.map +0 -1
- package/dist-es5/createColorsFromMap.d.ts +0 -5
- package/dist-es5/createColorsFromMap.js +0 -25
- package/dist-es5/createColorsFromMap.js.map +0 -1
- package/dist-es5/index.d.ts +0 -5
- package/dist-es5/index.js +0 -10
- package/dist-es5/index.js.map +0 -1
- package/dist-es5/interfaces.d.ts +0 -14
- package/dist-es5/interfaces.js +0 -3
- package/dist-es5/interfaces.js.map +0 -1
- package/dist-es5/rgbHex.d.ts +0 -6
- package/dist-es5/rgbHex.js +0 -19
- package/dist-es5/rgbHex.js.map +0 -1
- package/dist-es5/rgbaString.d.ts +0 -2
- package/dist-es5/rgbaString.js +0 -7
- package/dist-es5/rgbaString.js.map +0 -1
- package/src/createColors.spec.ts +0 -159
- package/src/createColorsFromMap.spec.ts +0 -13
- package/src/rgbHex.spec.ts +0 -19
- package/src/rgbaString.spec.ts +0 -11
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2017
|
|
3
|
+
Copyright (c) 2017 Homa Wong (unional) (homawong@gmail.com)
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
CHANGED
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
[![NPM version][npm-image]][npm-url]
|
|
4
4
|
[![NPM downloads][downloads-image]][downloads-url]
|
|
5
|
-
[![Build status][travis-image]][travis-url]
|
|
6
|
-
[![Coverage Status][coveralls-image]][coveralls-url]
|
|
7
|
-
![badge-size-es5-url]
|
|
8
5
|
|
|
9
|
-
[![
|
|
6
|
+
[![Github NodeJS][github-nodejs]][github-action-url]
|
|
7
|
+
[![Codecov][codecov-image]][codecov-url]
|
|
8
|
+
|
|
10
9
|
[![Semantic Release][semantic-release-image]][semantic-release-url]
|
|
10
|
+
|
|
11
|
+
[![Visual Studio Code][vscode-image]][vscode-url]
|
|
11
12
|
[![Wallaby.js][wallaby-image]][wallaby-url]
|
|
12
13
|
|
|
13
14
|
Color map generator with no dependency.
|
|
@@ -57,15 +58,13 @@ const colors = createColorsFromMap(summer, 60)
|
|
|
57
58
|
## Contribute
|
|
58
59
|
|
|
59
60
|
```sh
|
|
60
|
-
# after fork
|
|
61
|
+
# after fork and clone
|
|
61
62
|
npm install
|
|
62
63
|
|
|
63
64
|
# begin making changes
|
|
64
65
|
git checkout -b <branch>
|
|
65
66
|
npm run watch
|
|
66
67
|
|
|
67
|
-
# edit `webpack.config.dev.js` to exclude dependencies for the global build.
|
|
68
|
-
|
|
69
68
|
# after making change(s)
|
|
70
69
|
git commit -m "<commit message>"
|
|
71
70
|
git push
|
|
@@ -73,44 +72,17 @@ git push
|
|
|
73
72
|
# create PR
|
|
74
73
|
```
|
|
75
74
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
There are a few useful commands you can use during development.
|
|
79
|
-
|
|
80
|
-
```sh
|
|
81
|
-
# Run tests (and lint) automatically whenever you save a file.
|
|
82
|
-
npm run watch
|
|
83
|
-
|
|
84
|
-
# Run tests with coverage stats (but won't fail you if coverage does not meet criteria)
|
|
85
|
-
npm run test
|
|
86
|
-
|
|
87
|
-
# Manually verify the project.
|
|
88
|
-
# This will be ran during 'npm preversion' so you normally don't need to run this yourself.
|
|
89
|
-
npm run verify
|
|
90
|
-
|
|
91
|
-
# Build the project.
|
|
92
|
-
# You normally don't need to do this.
|
|
93
|
-
npm run build
|
|
94
|
-
|
|
95
|
-
# Run tslint
|
|
96
|
-
# You normally don't need to do this as `npm run watch` and `npm version` will automatically run lint for you.
|
|
97
|
-
npm run lint
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
Generated by [`generator-unional@0.3.1`](https://github.com/unional/unional-cli)
|
|
101
|
-
|
|
102
|
-
[npm-image]: https://img.shields.io/npm/v/color-map.svg?style=flat
|
|
103
|
-
[npm-url]: https://npmjs.org/package/color-map
|
|
75
|
+
[codecov-image]: https://codecov.io/gh/unional/color-map/branch/master/graph/badge.svg
|
|
76
|
+
[codecov-url]: https://codecov.io/gh/unional/color-map
|
|
104
77
|
[downloads-image]: https://img.shields.io/npm/dm/color-map.svg?style=flat
|
|
105
78
|
[downloads-url]: https://npmjs.org/package/color-map
|
|
106
|
-
[
|
|
107
|
-
[
|
|
108
|
-
[
|
|
109
|
-
[
|
|
110
|
-
[
|
|
111
|
-
[
|
|
112
|
-
[
|
|
113
|
-
[
|
|
114
|
-
[
|
|
115
|
-
[wallaby-
|
|
116
|
-
[wallaby-url]:https://wallabyjs.com
|
|
79
|
+
[github-nodejs]: https://github.com/unional/color-map/workflows/nodejs/badge.svg
|
|
80
|
+
[github-action-url]: https://github.com/unional/color-map/actions
|
|
81
|
+
[npm-image]: https://img.shields.io/npm/v/color-map.svg?style=flat
|
|
82
|
+
[npm-url]: https://npmjs.org/package/color-map
|
|
83
|
+
[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg
|
|
84
|
+
[semantic-release-url]: https://github.com/semantic-release/semantic-release
|
|
85
|
+
[vscode-image]: https://img.shields.io/badge/vscode-ready-green.svg
|
|
86
|
+
[vscode-url]: https://code.visualstudio.com/
|
|
87
|
+
[wallaby-image]: https://img.shields.io/badge/wallaby.js-configured-green.svg
|
|
88
|
+
[wallaby-url]: https://wallabyjs.com
|
package/dist/color-map.es5.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var ColorMap
|
|
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),Object.defineProperty(e,o,{enumerable:!0,get:function(){return r[t]}})}: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
|
package/package.json
CHANGED
|
@@ -1,36 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "color-map",
|
|
3
|
+
"version": "1.1.3",
|
|
3
4
|
"description": "Color map generator",
|
|
4
|
-
"version": "1.0.0",
|
|
5
|
-
"main": "dist-es5/index.js",
|
|
6
|
-
"module": "dist-es2015/index.js",
|
|
7
|
-
"typings": "dist-es5/index.d.ts",
|
|
8
|
-
"files": [
|
|
9
|
-
"dist",
|
|
10
|
-
"dist-es5",
|
|
11
|
-
"dist-es2015",
|
|
12
|
-
"src"
|
|
13
|
-
],
|
|
14
|
-
"scripts": {
|
|
15
|
-
"build": "npm run clean && npm run build-es5 && npm run build-es2015",
|
|
16
|
-
"build-es5": "tsc -p tsconfig.es5.json",
|
|
17
|
-
"build-es2015": "tsc -p tsconfig.es2015.json",
|
|
18
|
-
"bundle": "webpack",
|
|
19
|
-
"clean": "rimraf dist dist-es5 dist-es2015",
|
|
20
|
-
"coverage": "nyc npm test",
|
|
21
|
-
"coveralls": "nyc report --reporter=text-lcov | coveralls",
|
|
22
|
-
"dependency-check": "dependency-check . --unused --no-dev && dependency-check . --missing --no-dev",
|
|
23
|
-
"lint": "tslint -p tsconfig.json 'src/**/*.ts'",
|
|
24
|
-
"prepublishOnly": "npm run build && npm run bundle",
|
|
25
|
-
"test": "npm run clean && tsc && ava",
|
|
26
|
-
"verify": "npm run lint && npm run coverage && npm run build && npm run bundle && npm run dependency-check",
|
|
27
|
-
"watch": "npm run clean && node scripts/watch.js",
|
|
28
|
-
"semantic-release": "semantic-release"
|
|
29
|
-
},
|
|
30
|
-
"author": {
|
|
31
|
-
"name": "Homa Wong",
|
|
32
|
-
"email": "homawong@gmail.com"
|
|
33
|
-
},
|
|
34
5
|
"homepage": "https://github.com/unional/color-map",
|
|
35
6
|
"bugs": {
|
|
36
7
|
"url": "https://github.com/unional/color-map/issues"
|
|
@@ -40,44 +11,76 @@
|
|
|
40
11
|
"url": "https://github.com/unional/color-map.git"
|
|
41
12
|
},
|
|
42
13
|
"license": "MIT",
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
],
|
|
47
|
-
"source": [
|
|
48
|
-
"scripts/*.js",
|
|
49
|
-
"dist-es5/**/*.js",
|
|
50
|
-
"*.json"
|
|
51
|
-
]
|
|
14
|
+
"author": {
|
|
15
|
+
"name": "Homa Wong (unional)",
|
|
16
|
+
"email": "homawong@gmail.com"
|
|
52
17
|
},
|
|
53
|
-
"
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
18
|
+
"main": "cjs/index.js",
|
|
19
|
+
"module": "esm/index.js",
|
|
20
|
+
"jsnext:main": "esm/index.js",
|
|
21
|
+
"typings": "cjs/index.d.ts",
|
|
22
|
+
"files": [
|
|
23
|
+
"cjs",
|
|
24
|
+
"dist",
|
|
25
|
+
"esm",
|
|
26
|
+
"ts"
|
|
27
|
+
],
|
|
28
|
+
"scripts": {
|
|
29
|
+
"build": "run-p build:cjs build:esm bundle",
|
|
30
|
+
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
31
|
+
"build:esm": "tsc -p tsconfig.esm.json",
|
|
32
|
+
"build:verify": "run-s build dependency-check size-limit",
|
|
33
|
+
"bundle": "webpack",
|
|
34
|
+
"clean": "rimraf cjs esm lib libm",
|
|
35
|
+
"coverage": "jest --coverage",
|
|
36
|
+
"dependency-check": "run-p dependency-check:unused dependency-check:missing",
|
|
37
|
+
"dependency-check:missing": "dependency-check . --missing --no-dev",
|
|
38
|
+
"dependency-check:unused": "dependency-check . --unused --no-dev",
|
|
39
|
+
"lint": "eslint --ext=js,ts .",
|
|
40
|
+
"release": "npx semantic-release",
|
|
41
|
+
"size-limit": "size-limit",
|
|
42
|
+
"test": "jest",
|
|
43
|
+
"verify": "run-p build:verify lint coverage",
|
|
44
|
+
"watch": "jest --watch"
|
|
59
45
|
},
|
|
60
46
|
"devDependencies": {
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
47
|
+
"@babel/core": "^7.16.0",
|
|
48
|
+
"@babel/plugin-proposal-class-properties": "^7.16.0",
|
|
49
|
+
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0",
|
|
50
|
+
"@babel/plugin-proposal-optional-chaining": "^7.16.0",
|
|
51
|
+
"@babel/preset-env": "^7.16.4",
|
|
52
|
+
"@babel/preset-typescript": "^7.16.0",
|
|
53
|
+
"@commitlint/cli": "^16.0.0",
|
|
54
|
+
"@commitlint/config-conventional": "^16.0.0",
|
|
55
|
+
"@size-limit/preset-small-lib": "^7.0.5",
|
|
56
|
+
"@types/jest": "^27.4.0",
|
|
57
|
+
"assertron": "^9.0.0",
|
|
58
|
+
"colormap": "^2.3.1",
|
|
59
|
+
"dependency-check": "^4.1.0",
|
|
60
|
+
"eslint": "^8.6.0",
|
|
61
|
+
"eslint-plugin-harmony": "^6.0.0",
|
|
62
|
+
"husky": "^7.0.4",
|
|
63
|
+
"jest": "^27.4.5",
|
|
64
|
+
"jest-junit": "^13.0.0",
|
|
65
|
+
"jest-progress-tracker": "^3.0.1",
|
|
66
|
+
"jest-validate": "^27.4.2",
|
|
67
|
+
"jest-watch-repeat": "^2.0.0",
|
|
68
|
+
"jest-watch-suspend": "^1.1.2",
|
|
69
|
+
"jest-watch-toggle-config": "^2.0.1",
|
|
70
|
+
"jest-watch-typeahead": "^1.0.0",
|
|
71
|
+
"npm-run-all": "^4.1.5",
|
|
71
72
|
"param-case": "^2.1.1",
|
|
72
73
|
"pascal-case": "^2.0.1",
|
|
73
|
-
"rimraf": "^
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
74
|
+
"rimraf": "^3.0.2",
|
|
75
|
+
"size-limit": "^7.0.5",
|
|
76
|
+
"ts-loader": "^9.0.0",
|
|
77
|
+
"typescript": "^4.5.4",
|
|
78
|
+
"webpack": "^5.0.0",
|
|
79
|
+
"webpack-cli": "^3.3.2"
|
|
80
|
+
},
|
|
81
|
+
"size-limit": [
|
|
82
|
+
{
|
|
83
|
+
"limit": "2 KB"
|
|
84
|
+
}
|
|
85
|
+
]
|
|
83
86
|
}
|
|
@@ -0,0 +1,176 @@
|
|
|
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,20 +1,27 @@
|
|
|
1
1
|
import { RGB, RGBA, Alpha } from './interfaces'
|
|
2
2
|
|
|
3
|
-
export function createColors(
|
|
4
|
-
|
|
3
|
+
export function createColors(
|
|
4
|
+
from: RGB | RGBA,
|
|
5
|
+
to: RGB | RGBA,
|
|
6
|
+
shades: number,
|
|
7
|
+
alpha: Alpha = [
|
|
8
|
+
from.length === 4 ? from[3] : to.length === 4 ? to[3] : 1,
|
|
9
|
+
to.length === 4 ? to[3] : from.length === 4 ? from[3] : 1
|
|
10
|
+
]): RGBA[] {
|
|
5
11
|
const start = [...from]
|
|
6
12
|
const diff = [
|
|
7
13
|
to[0] - from[0],
|
|
8
14
|
to[1] - from[1],
|
|
9
|
-
to[2] - from[2]
|
|
15
|
+
to[2] - from[2],
|
|
16
|
+
alpha[1] - alpha[0]
|
|
10
17
|
]
|
|
11
18
|
|
|
12
|
-
start.
|
|
13
|
-
|
|
19
|
+
if (start.length === 3)
|
|
20
|
+
start.push(alpha[0])
|
|
14
21
|
|
|
15
|
-
const inc = 1 /
|
|
16
|
-
Math.max(shades - 1, 1)
|
|
22
|
+
const inc = 1 / Math.max(shades - 1, 1)
|
|
17
23
|
|
|
24
|
+
const rgba: any[] = []
|
|
18
25
|
for (let i = 0; i < shades; i++) {
|
|
19
26
|
const color = [
|
|
20
27
|
Math.round(start[0] + i * diff[0] * inc),
|
|
@@ -0,0 +1,11 @@
|
|
|
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
|
+
})
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ColorMap, Alpha, RGBA, RGB } from './interfaces'
|
|
2
1
|
import { createColors } from './createColors'
|
|
2
|
+
import { ColorMap, Alpha, RGBA } from './interfaces'
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Create colors with specified color map.
|
|
@@ -17,7 +17,7 @@ export function createColorsFromMap(colormap: ColorMap, shades: number, alpha?:
|
|
|
17
17
|
|
|
18
18
|
for (let i = 0; i < colormap.length - 1; i++) {
|
|
19
19
|
const n = steps[i + 1] - steps[i]
|
|
20
|
-
const from
|
|
20
|
+
const from = colormap[i].rgb;
|
|
21
21
|
const to = colormap[i + 1].rgb;
|
|
22
22
|
result.push(...createColors(from, to, n, alpha))
|
|
23
23
|
}
|
package/{src → ts}/index.ts
RENAMED
|
File without changes
|
package/{src → ts}/interfaces.ts
RENAMED
|
File without changes
|
|
@@ -0,0 +1,17 @@
|
|
|
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/{src → ts}/rgbHex.ts
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { RGB } from './interfaces'
|
|
1
|
+
import { RGB, RGBA } from './interfaces'
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Convert `RGB` to `#rgb`
|
|
5
5
|
* JavaScript note: no check for array length, use it properly.
|
|
6
6
|
*/
|
|
7
|
-
export function rgbHex(rgb: RGB) {
|
|
7
|
+
export function rgbHex(rgb: RGB | RGBA) {
|
|
8
8
|
let hex = '#'
|
|
9
9
|
for (let i = 0; i < 3; i++) {
|
|
10
10
|
hex += d2h(rgb[i])
|
|
@@ -13,6 +13,6 @@ export function rgbHex(rgb: RGB) {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
function d2h(d: number) {
|
|
16
|
-
|
|
16
|
+
const s = (+d).toString(16)
|
|
17
17
|
return s.length < 2 ? '0' + s : s
|
|
18
18
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
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
|
+
})
|
package/{src → ts}/rgbaString.ts
RENAMED
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[null,"webpack:///color-map/createColors.ts","webpack:///color-map/index.ts","webpack:///color-map/createColorsFromMap.ts","webpack:///color-map/rgbHex.ts","webpack:///color-map/rgbaString.ts"],"names":["__webpack_require__","moduleId","installedModules","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","createColors","from","to","shades","alpha","rgba","start","slice","diff","push","inc","Math","max","color","round","__export","createColors_1","createColorsFromMap","colormap","length","Error","result","steps","index","rgb","apply","rgbHex","hex","toString","d2h","rgbaString","join"],"mappings":"yBAIA,SAAAA,EAAAC,GAGA,GAAAC,EAAAD,GACA,OAAAC,EAAAD,GAAAE,QAGA,IAAAC,EAAAF,EAAAD,IACAI,EAAAJ,EACAK,GAAA,EACAH,YAUA,OANAI,EAAAN,GAAAO,KAAAJ,EAAAD,QAAAC,IAAAD,QAAAH,GAGAI,EAAAE,GAAA,EAGAF,EAAAD,QAvBA,IAAAD,KA4DA,OAhCAF,EAAAS,EAAAF,EAGAP,EAAAU,EAAAR,EAGAF,EAAAW,EAAA,SAAAR,EAAAS,EAAAC,GACAb,EAAAc,EAAAX,EAAAS,IACAG,OAAAC,eAAAb,EAAAS,GACAK,cAAA,EACAC,YAAA,EACAC,IAAAN,KAMAb,EAAAoB,EAAA,SAAAhB,GACA,IAAAS,EAAAT,KAAAiB,WACA,WAA2B,OAAAjB,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAJ,EAAAW,EAAAE,EAAA,IAAAA,GACAA,GAIAb,EAAAc,EAAA,SAAAQ,EAAAC,GAAsD,OAAAR,OAAAS,UAAAC,eAAAjB,KAAAc,EAAAC,IAGtDvB,EAAA0B,EAAA,GAGA1B,IAAA2B,EAAA,mFC3DAxB,EAAAyB,aAAA,SAA6BC,EAAWC,EAASC,EAAgBC,QAAA,IAAAA,OAAgB,EAAG,IAClF,IAAMC,KACAC,EAAYL,EAAIM,QAChBC,GACJN,EAAG,GAAKD,EAAK,GACbC,EAAG,GAAKD,EAAK,GACbC,EAAG,GAAKD,EAAK,IAGfK,EAAMG,KAAKL,EAAM,IACjBI,EAAKC,KAAKL,EAAM,GAAKA,EAAM,IAK3B,IAAK,IAHCM,EAAM,EACVC,KAAKC,IAAIT,EAAS,EAAG,GAEd1B,EAAI,EAAGA,EAAI0B,EAAQ1B,IAAK,CAC/B,IAAMoC,GACJF,KAAKG,MAAMR,EAAM,GAAK7B,EAAI+B,EAAK,GAAKE,GACpCC,KAAKG,MAAMR,EAAM,GAAK7B,EAAI+B,EAAK,GAAKE,GACpCC,KAAKG,MAAMR,EAAM,GAAK7B,EAAI+B,EAAK,GAAKE,GACpCJ,EAAM,GAAK7B,EAAI+B,EAAK,GAAKE,GAE3BL,EAAKI,KAAKI,GAEZ,OAAOR,gJC1BTU,EAAA3C,EAAA,IACA2C,EAAA3C,EAAA,IACA2C,EAAA3C,EAAA,IACA2C,EAAA3C,EAAA,IACA2C,EAAA3C,EAAA,mFCHA,IAAA4C,EAAA5C,EAAA,GAKAG,EAAA0C,oBAAA,SAAoCC,EAAoBf,EAAgBC,GACtE,GAAID,EAASe,EAASC,OACpB,MAAM,IAAIC,MAAM,qBAAqBF,EAASC,OAAM,YAKtD,IAAK,IAFCE,KACAC,KACG7C,EAAI,EAAGA,EAAIyC,EAASC,OAAQ1C,IACnC6C,EAAMb,KAAKE,KAAKG,MAAMI,EAASzC,GAAG8C,MAAQpB,IAG5C,IAAS1B,EAAI,EAAGA,EAAIyC,EAASC,OAAS,EAAG1C,IAAK,CAC5C,IAAMe,EAAI8B,EAAM7C,EAAI,GAAK6C,EAAM7C,GACzBwB,EAAYiB,EAASzC,GAAG+C,IACxBtB,EAAKgB,EAASzC,EAAI,GAAG+C,IAC3BH,EAAOZ,KAAIgB,MAAXJ,EAAeL,EAAAhB,aAAaC,EAAMC,EAAIV,EAAGY,IAG3C,OAAOiB,iKClBT9C,EAAAmD,OAAA,SAAuBF,GAErB,IAAK,IADDG,EAAM,IACDlD,EAAI,EAAGA,EAAI,EAAGA,IACrBkD,GAKJ,SAAa5C,GACX,IAAIgB,IAAMhB,GAAG6C,SAAS,IACtB,OAAO7B,EAAEoB,OAAS,EAAI,IAAMpB,EAAIA,EAPvB8B,CAAIL,EAAI/C,IAEjB,OAAOkD,kFCTTpD,EAAAuD,WAAA,SAA2BzB,GACzB,MAAO,QAAUA,EAAK0B,KAAK,KAAO","file":"color-map.es5.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 8a16332d2f9075b43716","import { RGB, RGBA, Alpha } from './interfaces'\n\nexport function createColors(from: RGB, to: RGB, shades: number, alpha: Alpha = [1, 1]): RGBA[] {\n const rgba: any[] = []\n const start = [...from]\n const diff = [\n to[0] - from[0],\n to[1] - from[1],\n to[2] - from[2]\n ]\n\n start.push(alpha[0])\n diff.push(alpha[1] - alpha[0])\n\n const inc = 1 /\n Math.max(shades - 1, 1)\n\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\n\n\n// WEBPACK FOOTER //\n// ./src/createColors.ts","export * from './createColors'\nexport * from './createColorsFromMap'\nexport * from './interfaces'\nexport * from './rgbHex'\nexport * from './rgbaString'\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","import { ColorMap, Alpha, RGBA, RGB } from './interfaces'\nimport { createColors } from './createColors'\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: RGB = 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\n\n\n// WEBPACK FOOTER //\n// ./src/createColorsFromMap.ts","import { RGB } 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) {\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 let s = (+d).toString(16)\n return s.length < 2 ? '0' + s : s\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rgbHex.ts","import { RGBA } from './interfaces'\n\nexport function rgbaString(rgba: RGBA) {\n return 'rgba(' + rgba.join(',') + ')';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rgbaString.ts"],"sourceRoot":""}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export function createColors(from, to, shades, alpha = [1, 1]) {
|
|
2
|
-
const rgba = [];
|
|
3
|
-
const start = [...from];
|
|
4
|
-
const diff = [
|
|
5
|
-
to[0] - from[0],
|
|
6
|
-
to[1] - from[1],
|
|
7
|
-
to[2] - from[2]
|
|
8
|
-
];
|
|
9
|
-
start.push(alpha[0]);
|
|
10
|
-
diff.push(alpha[1] - alpha[0]);
|
|
11
|
-
const inc = 1 /
|
|
12
|
-
Math.max(shades - 1, 1);
|
|
13
|
-
for (let i = 0; i < shades; i++) {
|
|
14
|
-
const color = [
|
|
15
|
-
Math.round(start[0] + i * diff[0] * inc),
|
|
16
|
-
Math.round(start[1] + i * diff[1] * inc),
|
|
17
|
-
Math.round(start[2] + i * diff[2] * inc),
|
|
18
|
-
start[3] + i * diff[3] * inc
|
|
19
|
-
];
|
|
20
|
-
rgba.push(color);
|
|
21
|
-
}
|
|
22
|
-
return rgba;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=createColors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createColors.js","sourceRoot":"","sources":["../src/createColors.ts"],"names":[],"mappings":"AAEA,MAAM,uBAAuB,IAAS,EAAE,EAAO,EAAE,MAAc,EAAE,QAAe,CAAC,CAAC,EAAE,CAAC,CAAC;IACpF,MAAM,IAAI,GAAU,EAAE,CAAA;IACtB,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;KAChB,CAAA;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAE9B,MAAM,GAAG,GAAG,CAAC;QACX,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAEzB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,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;IAClB,CAAC;IACD,MAAM,CAAC,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createColorsFromMap.js","sourceRoot":"","sources":["../src/createColorsFromMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C;;GAEG;AACH,MAAM,8BAA8B,QAAkB,EAAE,MAAc,EAAE,KAAa;IACnF,EAAE,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,UAAU,CAAC,CAAA;IACjE,CAAC;IAED,MAAM,MAAM,GAAW,EAAE,CAAA;IACzB,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,IAAI,GAAQ,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAClC,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;IAClD,CAAC;IAED,MAAM,CAAC,MAAM,CAAA;AACf,CAAC"}
|
package/dist-es2015/index.d.ts
DELETED
package/dist-es2015/index.js
DELETED
package/dist-es2015/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AAErC,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA"}
|
|
@@ -1,14 +0,0 @@
|
|
|
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
|
-
}[];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=interfaces.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":""}
|
package/dist-es2015/rgbHex.d.ts
DELETED
package/dist-es2015/rgbHex.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
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
|
-
let s = (+d).toString(16);
|
|
14
|
-
return s.length < 2 ? '0' + s : s;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=rgbHex.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rgbHex.js","sourceRoot":"","sources":["../src/rgbHex.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,iBAAiB,GAAQ;IAC7B,IAAI,GAAG,GAAG,GAAG,CAAA;IACb,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACpB,CAAC;IACD,MAAM,CAAC,GAAG,CAAA;AACZ,CAAC;AAED,aAAa,CAAS;IACpB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACzB,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rgbaString.js","sourceRoot":"","sources":["../src/rgbaString.ts"],"names":[],"mappings":"AAEA,MAAM,qBAAqB,IAAU;IACnC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACxC,CAAC"}
|
package/dist-es5/createColors.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function createColors(from, to, shades, alpha) {
|
|
4
|
-
if (alpha === void 0) { alpha = [1, 1]; }
|
|
5
|
-
var rgba = [];
|
|
6
|
-
var start = from.slice();
|
|
7
|
-
var diff = [
|
|
8
|
-
to[0] - from[0],
|
|
9
|
-
to[1] - from[1],
|
|
10
|
-
to[2] - from[2]
|
|
11
|
-
];
|
|
12
|
-
start.push(alpha[0]);
|
|
13
|
-
diff.push(alpha[1] - alpha[0]);
|
|
14
|
-
var inc = 1 /
|
|
15
|
-
Math.max(shades - 1, 1);
|
|
16
|
-
for (var i = 0; i < shades; i++) {
|
|
17
|
-
var 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
|
-
exports.createColors = createColors;
|
|
28
|
-
//# sourceMappingURL=createColors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createColors.js","sourceRoot":"","sources":["../src/createColors.ts"],"names":[],"mappings":";;AAEA,sBAA6B,IAAS,EAAE,EAAO,EAAE,MAAc,EAAE,KAAqB;IAArB,sBAAA,EAAA,SAAgB,CAAC,EAAE,CAAC,CAAC;IACpF,IAAM,IAAI,GAAU,EAAE,CAAA;IACtB,IAAM,KAAK,GAAO,IAAI,QAAC,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;KAChB,CAAA;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAE9B,IAAM,GAAG,GAAG,CAAC;QACX,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAEzB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,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;IAClB,CAAC;IACD,MAAM,CAAC,IAAI,CAAA;AACb,CAAC;AAzBD,oCAyBC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var createColors_1 = require("./createColors");
|
|
4
|
-
/**
|
|
5
|
-
* Create colors with specified color map.
|
|
6
|
-
*/
|
|
7
|
-
function createColorsFromMap(colormap, shades, alpha) {
|
|
8
|
-
if (shades < colormap.length) {
|
|
9
|
-
throw new Error("Requires at least " + colormap.length + " shades.");
|
|
10
|
-
}
|
|
11
|
-
var result = [];
|
|
12
|
-
var steps = [];
|
|
13
|
-
for (var i = 0; i < colormap.length; i++) {
|
|
14
|
-
steps.push(Math.round(colormap[i].index * shades));
|
|
15
|
-
}
|
|
16
|
-
for (var i = 0; i < colormap.length - 1; i++) {
|
|
17
|
-
var n = steps[i + 1] - steps[i];
|
|
18
|
-
var from = colormap[i].rgb;
|
|
19
|
-
var to = colormap[i + 1].rgb;
|
|
20
|
-
result.push.apply(result, createColors_1.createColors(from, to, n, alpha));
|
|
21
|
-
}
|
|
22
|
-
return result;
|
|
23
|
-
}
|
|
24
|
-
exports.createColorsFromMap = createColorsFromMap;
|
|
25
|
-
//# sourceMappingURL=createColorsFromMap.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createColorsFromMap.js","sourceRoot":"","sources":["../src/createColorsFromMap.ts"],"names":[],"mappings":";;AACA,+CAA6C;AAE7C;;GAEG;AACH,6BAAoC,QAAkB,EAAE,MAAc,EAAE,KAAa;IACnF,EAAE,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,uBAAqB,QAAQ,CAAC,MAAM,aAAU,CAAC,CAAA;IACjE,CAAC;IAED,IAAM,MAAM,GAAW,EAAE,CAAA;IACzB,IAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAM,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACjC,IAAM,IAAI,GAAQ,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAClC,IAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/B,MAAM,CAAC,IAAI,OAAX,MAAM,EAAS,2BAAY,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAC;IAClD,CAAC;IAED,MAAM,CAAC,MAAM,CAAA;AACf,CAAC;AAnBD,kDAmBC"}
|
package/dist-es5/index.d.ts
DELETED
package/dist-es5/index.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
function __export(m) {
|
|
3
|
-
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
|
4
|
-
}
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
__export(require("./createColors"));
|
|
7
|
-
__export(require("./createColorsFromMap"));
|
|
8
|
-
__export(require("./rgbHex"));
|
|
9
|
-
__export(require("./rgbaString"));
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
package/dist-es5/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,oCAA8B;AAC9B,2CAAqC;AAErC,8BAAwB;AACxB,kCAA4B"}
|
package/dist-es5/interfaces.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
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
|
-
}[];
|
package/dist-es5/interfaces.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":""}
|
package/dist-es5/rgbHex.d.ts
DELETED
package/dist-es5/rgbHex.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/**
|
|
4
|
-
* Convert `RGB` to `#rgb`
|
|
5
|
-
* JavaScript note: no check for array length, use it properly.
|
|
6
|
-
*/
|
|
7
|
-
function rgbHex(rgb) {
|
|
8
|
-
var hex = '#';
|
|
9
|
-
for (var i = 0; i < 3; i++) {
|
|
10
|
-
hex += d2h(rgb[i]);
|
|
11
|
-
}
|
|
12
|
-
return hex;
|
|
13
|
-
}
|
|
14
|
-
exports.rgbHex = rgbHex;
|
|
15
|
-
function d2h(d) {
|
|
16
|
-
var s = (+d).toString(16);
|
|
17
|
-
return s.length < 2 ? '0' + s : s;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=rgbHex.js.map
|
package/dist-es5/rgbHex.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rgbHex.js","sourceRoot":"","sources":["../src/rgbHex.ts"],"names":[],"mappings":";;AAEA;;;GAGG;AACH,gBAAuB,GAAQ;IAC7B,IAAI,GAAG,GAAG,GAAG,CAAA;IACb,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACpB,CAAC;IACD,MAAM,CAAC,GAAG,CAAA;AACZ,CAAC;AAND,wBAMC;AAED,aAAa,CAAS;IACpB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACzB,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACnC,CAAC"}
|
package/dist-es5/rgbaString.d.ts
DELETED
package/dist-es5/rgbaString.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rgbaString.js","sourceRoot":"","sources":["../src/rgbaString.ts"],"names":[],"mappings":";;AAEA,oBAA2B,IAAU;IACnC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACxC,CAAC;AAFD,gCAEC"}
|
package/src/createColors.spec.ts
DELETED
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import test from 'ava'
|
|
2
|
-
|
|
3
|
-
import { createColors } from './createColors'
|
|
4
|
-
|
|
5
|
-
test('match colormap output', t => {
|
|
6
|
-
const actual = createColors([0, 0, 255], [0, 255, 128], 72)
|
|
7
|
-
|
|
8
|
-
t.deepEqual(actual, [[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('match actual colors', t => {
|
|
83
|
-
let actual = createColors([150, 0, 90], [0, 0, 200], 72, [0, 1])
|
|
84
|
-
|
|
85
|
-
t.deepEqual(actual, [[150, 0, 90, 0],
|
|
86
|
-
[148, 0, 92, 0.014084507042253521],
|
|
87
|
-
[146, 0, 93, 0.028169014084507043],
|
|
88
|
-
[144, 0, 95, 0.04225352112676056],
|
|
89
|
-
[142, 0, 96, 0.056338028169014086],
|
|
90
|
-
[139, 0, 98, 0.07042253521126761],
|
|
91
|
-
[137, 0, 99, 0.08450704225352113],
|
|
92
|
-
[135, 0, 101, 0.09859154929577466],
|
|
93
|
-
[133, 0, 102, 0.11267605633802817],
|
|
94
|
-
[131, 0, 104, 0.1267605633802817],
|
|
95
|
-
[129, 0, 105, 0.14084507042253522],
|
|
96
|
-
[127, 0, 107, 0.15492957746478875],
|
|
97
|
-
[125, 0, 109, 0.16901408450704225],
|
|
98
|
-
[123, 0, 110, 0.18309859154929578],
|
|
99
|
-
[120, 0, 112, 0.1971830985915493],
|
|
100
|
-
[118, 0, 113, 0.2112676056338028],
|
|
101
|
-
[116, 0, 115, 0.22535211267605634],
|
|
102
|
-
[114, 0, 116, 0.23943661971830987],
|
|
103
|
-
[112, 0, 118, 0.2535211267605634],
|
|
104
|
-
[110, 0, 119, 0.26760563380281693],
|
|
105
|
-
[108, 0, 121, 0.28169014084507044],
|
|
106
|
-
[106, 0, 123, 0.29577464788732394],
|
|
107
|
-
[104, 0, 124, 0.3098591549295775],
|
|
108
|
-
[101, 0, 126, 0.323943661971831],
|
|
109
|
-
[99, 0, 127, 0.3380281690140845],
|
|
110
|
-
[97, 0, 129, 0.35211267605633806],
|
|
111
|
-
[95, 0, 130, 0.36619718309859156],
|
|
112
|
-
[93, 0, 132, 0.38028169014084506],
|
|
113
|
-
[91, 0, 133, 0.3943661971830986],
|
|
114
|
-
[89, 0, 135, 0.4084507042253521],
|
|
115
|
-
[87, 0, 136, 0.4225352112676056],
|
|
116
|
-
[85, 0, 138, 0.4366197183098592],
|
|
117
|
-
[82, 0, 140, 0.4507042253521127],
|
|
118
|
-
[80, 0, 141, 0.4647887323943662],
|
|
119
|
-
[78, 0, 143, 0.47887323943661975],
|
|
120
|
-
[76, 0, 144, 0.49295774647887325],
|
|
121
|
-
[74, 0, 146, 0.5070422535211268],
|
|
122
|
-
[72, 0, 147, 0.5211267605633803],
|
|
123
|
-
[70, 0, 149, 0.5352112676056339],
|
|
124
|
-
[68, 0, 150, 0.5492957746478874],
|
|
125
|
-
[65, 0, 152, 0.5633802816901409],
|
|
126
|
-
[63, 0, 154, 0.5774647887323944],
|
|
127
|
-
[61, 0, 155, 0.5915492957746479],
|
|
128
|
-
[59, 0, 157, 0.6056338028169014],
|
|
129
|
-
[57, 0, 158, 0.619718309859155],
|
|
130
|
-
[55, 0, 160, 0.6338028169014085],
|
|
131
|
-
[53, 0, 161, 0.647887323943662],
|
|
132
|
-
[51, 0, 163, 0.6619718309859155],
|
|
133
|
-
[49, 0, 164, 0.676056338028169],
|
|
134
|
-
[46, 0, 166, 0.6901408450704225],
|
|
135
|
-
[44, 0, 167, 0.7042253521126761],
|
|
136
|
-
[42, 0, 169, 0.7183098591549296],
|
|
137
|
-
[40, 0, 171, 0.7323943661971831],
|
|
138
|
-
[38, 0, 172, 0.7464788732394366],
|
|
139
|
-
[36, 0, 174, 0.7605633802816901],
|
|
140
|
-
[34, 0, 175, 0.7746478873239436],
|
|
141
|
-
[32, 0, 177, 0.7887323943661972],
|
|
142
|
-
[30, 0, 178, 0.8028169014084507],
|
|
143
|
-
[27, 0, 180, 0.8169014084507042],
|
|
144
|
-
[25, 0, 181, 0.8309859154929577],
|
|
145
|
-
[23, 0, 183, 0.8450704225352113],
|
|
146
|
-
[21, 0, 185, 0.8591549295774648],
|
|
147
|
-
[19, 0, 186, 0.8732394366197184],
|
|
148
|
-
[17, 0, 188, 0.8873239436619719],
|
|
149
|
-
[15, 0, 189, 0.9014084507042254],
|
|
150
|
-
[13, 0, 191, 0.9154929577464789],
|
|
151
|
-
[11, 0, 192, 0.9295774647887324],
|
|
152
|
-
[8, 0, 194, 0.943661971830986],
|
|
153
|
-
[6, 0, 195, 0.9577464788732395],
|
|
154
|
-
[4, 0, 197, 0.971830985915493],
|
|
155
|
-
[2, 0, 198, 0.9859154929577465],
|
|
156
|
-
[0, 0, 200, 1]])
|
|
157
|
-
actual = createColors([150, 0, 90], [0, 0, 200], 72)
|
|
158
|
-
t.deepEqual(actual, [[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]])
|
|
159
|
-
})
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import test from 'ava'
|
|
2
|
-
|
|
3
|
-
import { ColorMap } from './interfaces'
|
|
4
|
-
import { createColorsFromMap } from './createColorsFromMap'
|
|
5
|
-
|
|
6
|
-
test('summer colors', t => {
|
|
7
|
-
const summer: ColorMap = [{ index: 0, rgb: [0, 128, 102] }, { index: 1, rgb: [255, 255, 102] }]
|
|
8
|
-
|
|
9
|
-
t.throws(() => createColorsFromMap(summer, 1))
|
|
10
|
-
|
|
11
|
-
const colors = createColorsFromMap(summer, 60)
|
|
12
|
-
t.deepEqual(colors, [[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]])
|
|
13
|
-
})
|
package/src/rgbHex.spec.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import test from 'ava'
|
|
2
|
-
|
|
3
|
-
import { rgbHex } from './rgbHex'
|
|
4
|
-
|
|
5
|
-
test('[0,0,0] => #000000', t => {
|
|
6
|
-
t.is(rgbHex([0, 0, 0]), '#000000')
|
|
7
|
-
})
|
|
8
|
-
|
|
9
|
-
test('[255,128,16] => #ff8010', t => {
|
|
10
|
-
t.is(rgbHex([255, 128, 16]), '#ff8010')
|
|
11
|
-
})
|
|
12
|
-
|
|
13
|
-
test('[255,128,16,0] => #ff8010', t => {
|
|
14
|
-
t.is(rgbHex([255, 128, 16, 0]), '#ff8010')
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
test('[255,128,16,0.8] => #ff8010', t => {
|
|
18
|
-
t.is(rgbHex([255, 128, 16, 0.8]), '#ff8010')
|
|
19
|
-
})
|
package/src/rgbaString.spec.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import test from 'ava'
|
|
2
|
-
|
|
3
|
-
import { rgbaString } from './rgbaString'
|
|
4
|
-
|
|
5
|
-
test('[255,128,16,0] => rgba(255,128,16,0)', t => {
|
|
6
|
-
t.is(rgbaString([255, 128, 16, 0]), 'rgba(255,128,16,0)')
|
|
7
|
-
})
|
|
8
|
-
|
|
9
|
-
test('[255,128,16,0.3] => rgba(255,128,16,0.3)', t => {
|
|
10
|
-
t.is(rgbaString([255, 128, 16, 0.3]), 'rgba(255,128,16,0.3)')
|
|
11
|
-
})
|