color-map 1.1.0 → 1.1.1
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 +22 -45
- package/dist/color-map.es5.js +1 -1
- package/package.json +67 -65
- package/ts/createColors.spec.ts +176 -0
- package/{src → ts}/createColors.ts +0 -0
- package/ts/createColorsFromMap.spec.ts +11 -0
- package/{src → ts}/createColorsFromMap.ts +0 -0
- 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 +1 -1
- 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 -27
- 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 -31
- 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 -175
- 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,9 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
[![NPM version][npm-image]][npm-url]
|
|
4
4
|
[![NPM downloads][downloads-image]][downloads-url]
|
|
5
|
-
|
|
6
|
-
[![
|
|
7
|
-
![
|
|
5
|
+
|
|
6
|
+
[![Circle CI][circleci-image]][circleci-url]
|
|
7
|
+
[![Travis CI][travis-image]][travis-url]
|
|
8
|
+
[![Codecov][codecov-image]][codecov-url]
|
|
9
|
+
[![Coveralls Status][coveralls-image]][coveralls-url]
|
|
8
10
|
|
|
9
11
|
[![Greenkeeper][greenkeeper-image]][greenkeeper-url]
|
|
10
12
|
[![Semantic Release][semantic-release-image]][semantic-release-url]
|
|
@@ -59,15 +61,13 @@ const colors = createColorsFromMap(summer, 60)
|
|
|
59
61
|
## Contribute
|
|
60
62
|
|
|
61
63
|
```sh
|
|
62
|
-
# after fork
|
|
64
|
+
# after fork and clone
|
|
63
65
|
npm install
|
|
64
66
|
|
|
65
67
|
# begin making changes
|
|
66
68
|
git checkout -b <branch>
|
|
67
69
|
npm run watch
|
|
68
70
|
|
|
69
|
-
# edit `webpack.config.dev.js` to exclude dependencies for the global build.
|
|
70
|
-
|
|
71
71
|
# after making change(s)
|
|
72
72
|
git commit -m "<commit message>"
|
|
73
73
|
git push
|
|
@@ -75,46 +75,23 @@ git push
|
|
|
75
75
|
# create PR
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
npm run watch
|
|
85
|
-
|
|
86
|
-
# Run tests with coverage stats (but won't fail you if coverage does not meet criteria)
|
|
87
|
-
npm run test
|
|
88
|
-
|
|
89
|
-
# Manually verify the project.
|
|
90
|
-
# This will be ran during 'npm preversion' so you normally don't need to run this yourself.
|
|
91
|
-
npm run verify
|
|
92
|
-
|
|
93
|
-
# Build the project.
|
|
94
|
-
# You normally don't need to do this.
|
|
95
|
-
npm run build
|
|
96
|
-
|
|
97
|
-
# Run tslint
|
|
98
|
-
# You normally don't need to do this as `npm run watch` and `npm version` will automatically run lint for you.
|
|
99
|
-
npm run lint
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
Generated by [`generator-unional@0.3.1`](https://github.com/unional/unional-cli)
|
|
103
|
-
|
|
104
|
-
[npm-image]: https://img.shields.io/npm/v/color-map.svg?style=flat
|
|
105
|
-
[npm-url]: https://npmjs.org/package/color-map
|
|
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
|
+
[codecov-image]: https://codecov.io/gh/unional/color-map/branch/master/graph/badge.svg
|
|
81
|
+
[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
|
|
106
84
|
[downloads-image]: https://img.shields.io/npm/dm/color-map.svg?style=flat
|
|
107
85
|
[downloads-url]: https://npmjs.org/package/color-map
|
|
86
|
+
[greenkeeper-image]: https://badges.greenkeeper.io/unional/color-map.svg
|
|
87
|
+
[greenkeeper-url]: https://greenkeeper.io/
|
|
88
|
+
[npm-image]: https://img.shields.io/npm/v/color-map.svg?style=flat
|
|
89
|
+
[npm-url]: https://npmjs.org/package/color-map
|
|
90
|
+
[semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg
|
|
91
|
+
[semantic-release-url]: https://github.com/semantic-release/semantic-release
|
|
108
92
|
[travis-image]: https://img.shields.io/travis/unional/color-map/master.svg?style=flat
|
|
109
93
|
[travis-url]: https://travis-ci.org/unional/color-map?branch=master
|
|
110
|
-
[
|
|
111
|
-
[
|
|
112
|
-
[
|
|
113
|
-
[
|
|
114
|
-
[greenkeeper-url]:https://greenkeeper.io/
|
|
115
|
-
[semantic-release-image]:https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg
|
|
116
|
-
[semantic-release-url]:https://github.com/semantic-release/semantic-release
|
|
117
|
-
[wallaby-image]:https://img.shields.io/badge/wallaby.js-configured-green.svg
|
|
118
|
-
[wallaby-url]:https://wallabyjs.com
|
|
119
|
-
[vscode-image]:https://img.shields.io/badge/vscode-ready-green.svg
|
|
120
|
-
[vscode-url]:https://code.visualstudio.com/
|
|
94
|
+
[vscode-image]: https://img.shields.io/badge/vscode-ready-green.svg
|
|
95
|
+
[vscode-url]: https://code.visualstudio.com/
|
|
96
|
+
[wallaby-image]: https://img.shields.io/badge/wallaby.js-configured-green.svg
|
|
97
|
+
[wallaby-url]: https://wallabyjs.com
|
package/dist/color-map.es5.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var ColorMap=function(e){var
|
|
1
|
+
var ColorMap=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(e,t,r){"use strict";var n=this&&this.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var n,o=0,u=t.length;o<u;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))};Object.defineProperty(t,"__esModule",{value:!0}),t.createColors=void 0,t.createColors=function(e,t,r,o){void 0===o&&(o=[4===e.length?e[3]:4===t.length?t[3]:1,4===t.length?t[3]:4===e.length?e[3]:1]);var u=n([],e,!0),i=[t[0]-e[0],t[1]-e[1],t[2]-e[2],o[1]-o[0]];3===u.length&&u.push(o[0]);for(var a=1/Math.max(r-1,1),c=[],l=0;l<r;l++){var f=[Math.round(u[0]+l*i[0]*a),Math.round(u[1]+l*i[1]*a),Math.round(u[2]+l*i[2]*a),u[3]+l*i[3]*a];c.push(f)}return c}},function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),o=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),o(r(0),t),o(r(2),t),o(r(3),t),o(r(4),t),o(r(5),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createColorsFromMap=void 0;var n=r(0);t.createColorsFromMap=function(e,t,r){if(t<e.length)throw new Error("Requires at least ".concat(e.length," shades."));for(var o=[],u=[],i=0;i<e.length;i++)u.push(Math.round(e[i].index*t));for(i=0;i<e.length-1;i++){var a=u[i+1]-u[i],c=e[i].rgb,l=e[i+1].rgb;o.push.apply(o,(0,n.createColors)(c,l,a,r))}return o}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.rgbHex=void 0,t.rgbHex=function(e){for(var t,r,n="#",o=0;o<3;o++)n+=(t=e[o],r=void 0,(r=(+t).toString(16)).length<2?"0"+r:r);return n}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.rgbaString=void 0,t.rgbaString=function(e){return"rgba("+e.join(",")+")"}}]);
|
|
2
2
|
//# sourceMappingURL=color-map.es5.js.map
|
package/package.json
CHANGED
|
@@ -1,40 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "color-map",
|
|
3
|
+
"version": "1.1.1",
|
|
3
4
|
"description": "Color map generator",
|
|
4
|
-
"version": "1.1.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
|
-
"engines": {
|
|
15
|
-
"node": ">=6"
|
|
16
|
-
},
|
|
17
|
-
"scripts": {
|
|
18
|
-
"build": "npm run clean && npm run build-es5 && npm run build-es2015",
|
|
19
|
-
"build-es5": "tsc -p tsconfig.es5.json",
|
|
20
|
-
"build-es2015": "tsc -p tsconfig.es2015.json",
|
|
21
|
-
"bundle": "webpack",
|
|
22
|
-
"clean": "rimraf dist dist-es5 dist-es2015",
|
|
23
|
-
"codecov": "codecov",
|
|
24
|
-
"coverage": "nyc npm test",
|
|
25
|
-
"coveralls": "nyc report --reporter=text-lcov | coveralls",
|
|
26
|
-
"dependency-check": "dependency-check . --unused --no-dev && dependency-check . --missing --no-dev",
|
|
27
|
-
"lint": "tslint -p tsconfig.json 'src/**/*.ts'",
|
|
28
|
-
"prepublishOnly": "npm run build && npm run bundle",
|
|
29
|
-
"test": "npm run clean && tsc && ava",
|
|
30
|
-
"verify": "npm run lint && npm run coverage && npm run build && npm run bundle && npm run dependency-check",
|
|
31
|
-
"watch": "npm run clean && node scripts/watch.js",
|
|
32
|
-
"semantic-release": "semantic-release"
|
|
33
|
-
},
|
|
34
|
-
"author": {
|
|
35
|
-
"name": "Homa Wong",
|
|
36
|
-
"email": "homawong@gmail.com"
|
|
37
|
-
},
|
|
38
5
|
"homepage": "https://github.com/unional/color-map",
|
|
39
6
|
"bugs": {
|
|
40
7
|
"url": "https://github.com/unional/color-map/issues"
|
|
@@ -44,40 +11,75 @@
|
|
|
44
11
|
"url": "https://github.com/unional/color-map.git"
|
|
45
12
|
},
|
|
46
13
|
"license": "MIT",
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
|
|
50
|
-
],
|
|
51
|
-
"source": [
|
|
52
|
-
"scripts/*.js",
|
|
53
|
-
"dist-es5/**/*.js",
|
|
54
|
-
"*.json"
|
|
55
|
-
]
|
|
14
|
+
"author": {
|
|
15
|
+
"name": "Homa Wong (unional)",
|
|
16
|
+
"email": "homawong@gmail.com"
|
|
56
17
|
},
|
|
57
|
-
"
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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",
|
|
30
|
+
"build+dependency-check": "run-s build dependency-check",
|
|
31
|
+
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
32
|
+
"build:esm": "tsc -p tsconfig.esm.json",
|
|
33
|
+
"clean": "rimraf cjs esm lib libm",
|
|
34
|
+
"coverage": "jest --coverage",
|
|
35
|
+
"dependency-check": "run-p dependency-check:unused dependency-check:missing",
|
|
36
|
+
"dependency-check:unused": "dependency-check . --unused --no-dev",
|
|
37
|
+
"dependency-check:missing": "dependency-check . --missing --no-dev",
|
|
38
|
+
"lint": "eslint --ext=js,ts .",
|
|
39
|
+
"release": "npx semantic-release",
|
|
40
|
+
"size-limit": "size-limit",
|
|
41
|
+
"test": "jest",
|
|
42
|
+
"verify": "run-p build+dependency-check lint size-limit coverage",
|
|
43
|
+
"watch": "jest --watch"
|
|
63
44
|
},
|
|
64
45
|
"devDependencies": {
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
46
|
+
"@babel/core": "^7.16.0",
|
|
47
|
+
"@babel/plugin-proposal-class-properties": "^7.16.0",
|
|
48
|
+
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0",
|
|
49
|
+
"@babel/plugin-proposal-optional-chaining": "^7.16.0",
|
|
50
|
+
"@babel/preset-env": "^7.16.4",
|
|
51
|
+
"@babel/preset-typescript": "^7.16.0",
|
|
52
|
+
"@commitlint/cli": "^16.0.0",
|
|
53
|
+
"@commitlint/config-conventional": "^16.0.0",
|
|
54
|
+
"@size-limit/preset-small-lib": "^7.0.5",
|
|
55
|
+
"@types/jest": "^27.4.0",
|
|
56
|
+
"assertron": "^7.0.2",
|
|
57
|
+
"colormap": "^2.3.1",
|
|
58
|
+
"dependency-check": "^4.1.0",
|
|
59
|
+
"eslint": "^8.6.0",
|
|
60
|
+
"eslint-plugin-harmony": "^6.0.0",
|
|
61
|
+
"husky": "^7.0.4",
|
|
62
|
+
"jest": "^27.4.5",
|
|
63
|
+
"jest-junit": "^13.0.0",
|
|
64
|
+
"jest-progress-tracker": "^3.0.1",
|
|
65
|
+
"jest-validate": "^27.4.2",
|
|
66
|
+
"jest-watch-repeat": "^2.0.0",
|
|
67
|
+
"jest-watch-suspend": "^1.1.2",
|
|
68
|
+
"jest-watch-toggle-config": "^2.0.1",
|
|
69
|
+
"jest-watch-typeahead": "^1.0.0",
|
|
70
|
+
"npm-run-all": "^4.1.5",
|
|
71
71
|
"param-case": "^2.1.1",
|
|
72
72
|
"pascal-case": "^2.0.1",
|
|
73
|
-
"rimraf": "^
|
|
74
|
-
"
|
|
75
|
-
"ts-loader": "^
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
73
|
+
"rimraf": "^3.0.2",
|
|
74
|
+
"size-limit": "^7.0.5",
|
|
75
|
+
"ts-loader": "^5.0.0",
|
|
76
|
+
"typescript": "^4.5.4",
|
|
77
|
+
"webpack": "^4.31.0",
|
|
78
|
+
"webpack-cli": "^3.3.2"
|
|
79
|
+
},
|
|
80
|
+
"size-limit": [
|
|
81
|
+
{
|
|
82
|
+
"limit": "2 KB"
|
|
83
|
+
}
|
|
84
|
+
]
|
|
83
85
|
}
|
|
@@ -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
|
+
})
|
|
File without changes
|
|
@@ -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
|
+
})
|
|
File without changes
|
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
|
@@ -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":["webpack://ColorMap/webpack/bootstrap","webpack://ColorMap/./src/createColors.ts","webpack://ColorMap/./src/rgbaString.ts","webpack://ColorMap/./src/rgbHex.ts","webpack://ColorMap/./src/createColorsFromMap.ts","webpack://ColorMap/./src/index.ts"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","r","value","n","__esModule","default","object","property","prototype","hasOwnProperty","p","s","e","t","createColors","from","to","shades","alpha","length","start","slice","diff","push","inc","Math","max","rgba","color","round","rgbaString","join","rgbHex","rgb","hex","toString","createColors_1","createColorsFromMap","colormap","Error","result","steps","index","apply","__export"],"mappings":"yBACA,IAAAA,KAGA,SAAAC,EAAAC,GAGA,GAAAF,EAAAE,GACA,OAAAF,EAAAE,GAAAC,QAGA,IAAAC,EAAAJ,EAAAE,IACAG,EAAAH,EACAI,KACAH,YAUA,OANAI,EAAAL,GAAAM,KAAAJ,EAAAD,QAAAC,IAAAD,QAAAF,GAGAG,EAAAE,KAGAF,EAAAD,QA2CA,OAtCAF,EAAAQ,EAAAF,EAGAN,EAAAS,EAAAV,EAGAC,EAAAU,EAAA,SAAAR,EAAAS,EAAAC,GACAZ,EAAAa,EAAAX,EAAAS,IACAG,OAAAC,eAAAb,EAAAS,GACAK,gBACAC,cACAC,IAAAN,KAMAZ,EAAAmB,EAAA,SAAAjB,GACAY,OAAAC,eAAAb,EAAA,cAAiDkB,YAIjDpB,EAAAqB,EAAA,SAAAlB,GACA,IAAAS,EAAAT,KAAAmB,WACA,WAA2B,OAAAnB,EAAAoB,SAC3B,WAAiC,OAAApB,GAEjC,OADAH,EAAAU,EAAAE,EAAA,IAAAA,GACAA,GAIAZ,EAAAa,EAAA,SAAAW,EAAAC,GAAsD,OAAAX,OAAAY,UAAAC,eAAApB,KAAAiB,EAAAC,IAGtDzB,EAAA4B,EAAA,GAIA5B,IAAA6B,EAAA,cAAAC,EAAAX,EAAAY,GAAA,aAAAjB,OAAAC,eAAAI,EAAA,cAAAC,OAAA,ICjEAlB,EAAA8B,aAAA,SACEC,EACAC,EACAC,EACAC,mBACkB,IAAhBH,EAAKI,OAAeJ,EAAK,GAAmB,IAAdC,EAAGG,OAAeH,EAAG,GAAK,EAC1C,IAAdA,EAAGG,OAAeH,EAAG,GAAqB,IAAhBD,EAAKI,OAAeJ,EAAK,GAAK,IAE1D,IAAMK,EAAYL,EAAIM,QAChBC,GACJN,EAAG,GAAKD,EAAK,GACbC,EAAG,GAAKD,EAAK,GACbC,EAAG,GAAKD,EAAK,GACbG,EAAM,GAAKA,EAAM,IAGE,IAAjBE,EAAMD,QACRC,EAAMG,KAAKL,EAAM,IAKnB,IAHA,IAAMM,EAAM,EAAIC,KAAKC,IAAIT,EAAS,EAAG,GAE/BU,KACGzC,EAAI,EAAGA,EAAI+B,EAAQ/B,IAAK,CAC/B,IAAM0C,GACJH,KAAKI,MAAMT,EAAM,GAAKlC,EAAIoC,EAAK,GAAKE,GACpCC,KAAKI,MAAMT,EAAM,GAAKlC,EAAIoC,EAAK,GAAKE,GACpCC,KAAKI,MAAMT,EAAM,GAAKlC,EAAIoC,EAAK,GAAKE,GACpCJ,EAAM,GAAKlC,EAAIoC,EAAK,GAAKE,GAE3BG,EAAKJ,KAAKK,GAEZ,OAAOD,kFC/BT3C,EAAA8C,WAAA,SAA2BH,GACzB,MAAO,QAAUA,EAAKI,KAAK,KAAO,eAAAnB,EAAAX,EAAAY,GAAA,aAAAjB,OAAAC,eAAAI,EAAA,cAAAC,OAAA,ICGpClB,EAAAgD,OAAA,SAAuBC,GAErB,IADA,IAQItB,EARAuB,EAAM,IACDhD,EAAI,EAAGA,EAAI,EAAGA,IACrBgD,IAMEvB,IANSsB,EAAI/C,IAMJiD,SAAS,KACbhB,OAAS,EAAI,IAAMR,EAAIA,EALhC,OAAOuB,iKCXT,IAAAE,EAAAtD,EAAA,GAMAE,EAAAqD,oBAAA,SAAoCC,EAAoBrB,EAAgBC,GACtE,GAAID,EAASqB,EAASnB,OACpB,MAAM,IAAIoB,MAAM,qBAAqBD,EAASnB,OAAM,YAKtD,IAFA,IAAMqB,KACAC,KACGvD,EAAI,EAAGA,EAAIoD,EAASnB,OAAQjC,IACnCuD,EAAMlB,KAAKE,KAAKI,MAAMS,EAASpD,GAAGwD,MAAQzB,IAG5C,IAAS/B,EAAI,EAAGA,EAAIoD,EAASnB,OAAS,EAAGjC,IAAK,CAC5C,IAAMiB,EAAIsC,EAAMvD,EAAI,GAAKuD,EAAMvD,GACzB6B,EAAOuB,EAASpD,GAAG+C,IACnBjB,EAAKsB,EAASpD,EAAI,GAAG+C,IAC3BO,EAAOjB,KAAIoB,MAAXH,EAAeJ,EAAAtB,aAAaC,EAAMC,EAAIb,EAAGe,IAG3C,OAAOsB,gJCxBTI,EAAA9D,EAAA,IACA8D,EAAA9D,EAAA,IACA8D,EAAA9D,EAAA,IACA8D,EAAA9D,EAAA,IACA8D,EAAA9D,EAAA","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// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 5);\n","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 { RGBA } from './interfaces'\n\nexport function rgbaString(rgba: RGBA) {\n return 'rgba(' + rgba.join(',') + ')';\n}\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 let s = (+d).toString(16)\n return s.length < 2 ? '0' + s : s\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"],"sourceRoot":""}
|
|
@@ -1,27 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createColors.js","sourceRoot":"","sources":["../src/createColors.ts"],"names":[],"mappings":"AAEA,MAAM,uBACJ,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"}
|
|
@@ -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":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C;;GAEG;AACH,MAAM,8BAA8B,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/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,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,aAAa,CAAS;IACpB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACzB,OAAO,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,OAAO,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACxC,CAAC"}
|
package/dist-es5/createColors.js
DELETED
|
@@ -1,31 +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 = [
|
|
5
|
-
from.length === 4 ? from[3] : to.length === 4 ? to[3] : 1,
|
|
6
|
-
to.length === 4 ? to[3] : from.length === 4 ? from[3] : 1
|
|
7
|
-
]; }
|
|
8
|
-
var start = from.slice();
|
|
9
|
-
var diff = [
|
|
10
|
-
to[0] - from[0],
|
|
11
|
-
to[1] - from[1],
|
|
12
|
-
to[2] - from[2],
|
|
13
|
-
alpha[1] - alpha[0]
|
|
14
|
-
];
|
|
15
|
-
if (start.length === 3)
|
|
16
|
-
start.push(alpha[0]);
|
|
17
|
-
var inc = 1 / Math.max(shades - 1, 1);
|
|
18
|
-
var rgba = [];
|
|
19
|
-
for (var i = 0; i < shades; i++) {
|
|
20
|
-
var color = [
|
|
21
|
-
Math.round(start[0] + i * diff[0] * inc),
|
|
22
|
-
Math.round(start[1] + i * diff[1] * inc),
|
|
23
|
-
Math.round(start[2] + i * diff[2] * inc),
|
|
24
|
-
start[3] + i * diff[3] * inc
|
|
25
|
-
];
|
|
26
|
-
rgba.push(color);
|
|
27
|
-
}
|
|
28
|
-
return rgba;
|
|
29
|
-
}
|
|
30
|
-
exports.createColors = createColors;
|
|
31
|
-
//# sourceMappingURL=createColors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createColors.js","sourceRoot":"","sources":["../src/createColors.ts"],"names":[],"mappings":";;AAEA,sBACE,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,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;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"}
|
|
@@ -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":";;AAAA,+CAA6C;AAG7C;;GAEG;AACH,6BAAoC,QAAkB,EAAE,MAAc,EAAE,KAAa;IACnF,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,uBAAqB,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,2BAAY,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAC;KACjD;IAED,OAAO,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,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,aAAa,CAAS;IACpB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACzB,OAAO,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,OAAO,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACxC,CAAC;AAFD,gCAEC"}
|
package/src/createColors.spec.ts
DELETED
|
@@ -1,175 +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('Uses alpha in from/to', t => {
|
|
83
|
-
const actual = createColors([0, 0, 0, .2], [1, 1, 1, .8], 2)
|
|
84
|
-
t.deepEqual(actual, [[0, 0, 0, .2], [1, 1, 1, .8]])
|
|
85
|
-
})
|
|
86
|
-
|
|
87
|
-
test('alpha in from but not in to, will use alpha in from', t => {
|
|
88
|
-
const actual = createColors([0, 0, 0, .2], [1, 1, 1], 2)
|
|
89
|
-
t.deepEqual(actual, [[0, 0, 0, .2], [1, 1, 1, .2]])
|
|
90
|
-
})
|
|
91
|
-
|
|
92
|
-
test('alpha in `to` but not in `from`, will use alpha in `to`', t => {
|
|
93
|
-
const actual = createColors([0, 0, 0], [1, 1, 1, .5], 2)
|
|
94
|
-
t.deepEqual(actual, [[0, 0, 0, .5], [1, 1, 1, .5]])
|
|
95
|
-
})
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
test('match actual colors', t => {
|
|
99
|
-
let actual = createColors([150, 0, 90], [0, 0, 200], 72, [0, 1])
|
|
100
|
-
|
|
101
|
-
t.deepEqual(actual, [[150, 0, 90, 0],
|
|
102
|
-
[148, 0, 92, 0.014084507042253521],
|
|
103
|
-
[146, 0, 93, 0.028169014084507043],
|
|
104
|
-
[144, 0, 95, 0.04225352112676056],
|
|
105
|
-
[142, 0, 96, 0.056338028169014086],
|
|
106
|
-
[139, 0, 98, 0.07042253521126761],
|
|
107
|
-
[137, 0, 99, 0.08450704225352113],
|
|
108
|
-
[135, 0, 101, 0.09859154929577466],
|
|
109
|
-
[133, 0, 102, 0.11267605633802817],
|
|
110
|
-
[131, 0, 104, 0.1267605633802817],
|
|
111
|
-
[129, 0, 105, 0.14084507042253522],
|
|
112
|
-
[127, 0, 107, 0.15492957746478875],
|
|
113
|
-
[125, 0, 109, 0.16901408450704225],
|
|
114
|
-
[123, 0, 110, 0.18309859154929578],
|
|
115
|
-
[120, 0, 112, 0.1971830985915493],
|
|
116
|
-
[118, 0, 113, 0.2112676056338028],
|
|
117
|
-
[116, 0, 115, 0.22535211267605634],
|
|
118
|
-
[114, 0, 116, 0.23943661971830987],
|
|
119
|
-
[112, 0, 118, 0.2535211267605634],
|
|
120
|
-
[110, 0, 119, 0.26760563380281693],
|
|
121
|
-
[108, 0, 121, 0.28169014084507044],
|
|
122
|
-
[106, 0, 123, 0.29577464788732394],
|
|
123
|
-
[104, 0, 124, 0.3098591549295775],
|
|
124
|
-
[101, 0, 126, 0.323943661971831],
|
|
125
|
-
[99, 0, 127, 0.3380281690140845],
|
|
126
|
-
[97, 0, 129, 0.35211267605633806],
|
|
127
|
-
[95, 0, 130, 0.36619718309859156],
|
|
128
|
-
[93, 0, 132, 0.38028169014084506],
|
|
129
|
-
[91, 0, 133, 0.3943661971830986],
|
|
130
|
-
[89, 0, 135, 0.4084507042253521],
|
|
131
|
-
[87, 0, 136, 0.4225352112676056],
|
|
132
|
-
[85, 0, 138, 0.4366197183098592],
|
|
133
|
-
[82, 0, 140, 0.4507042253521127],
|
|
134
|
-
[80, 0, 141, 0.4647887323943662],
|
|
135
|
-
[78, 0, 143, 0.47887323943661975],
|
|
136
|
-
[76, 0, 144, 0.49295774647887325],
|
|
137
|
-
[74, 0, 146, 0.5070422535211268],
|
|
138
|
-
[72, 0, 147, 0.5211267605633803],
|
|
139
|
-
[70, 0, 149, 0.5352112676056339],
|
|
140
|
-
[68, 0, 150, 0.5492957746478874],
|
|
141
|
-
[65, 0, 152, 0.5633802816901409],
|
|
142
|
-
[63, 0, 154, 0.5774647887323944],
|
|
143
|
-
[61, 0, 155, 0.5915492957746479],
|
|
144
|
-
[59, 0, 157, 0.6056338028169014],
|
|
145
|
-
[57, 0, 158, 0.619718309859155],
|
|
146
|
-
[55, 0, 160, 0.6338028169014085],
|
|
147
|
-
[53, 0, 161, 0.647887323943662],
|
|
148
|
-
[51, 0, 163, 0.6619718309859155],
|
|
149
|
-
[49, 0, 164, 0.676056338028169],
|
|
150
|
-
[46, 0, 166, 0.6901408450704225],
|
|
151
|
-
[44, 0, 167, 0.7042253521126761],
|
|
152
|
-
[42, 0, 169, 0.7183098591549296],
|
|
153
|
-
[40, 0, 171, 0.7323943661971831],
|
|
154
|
-
[38, 0, 172, 0.7464788732394366],
|
|
155
|
-
[36, 0, 174, 0.7605633802816901],
|
|
156
|
-
[34, 0, 175, 0.7746478873239436],
|
|
157
|
-
[32, 0, 177, 0.7887323943661972],
|
|
158
|
-
[30, 0, 178, 0.8028169014084507],
|
|
159
|
-
[27, 0, 180, 0.8169014084507042],
|
|
160
|
-
[25, 0, 181, 0.8309859154929577],
|
|
161
|
-
[23, 0, 183, 0.8450704225352113],
|
|
162
|
-
[21, 0, 185, 0.8591549295774648],
|
|
163
|
-
[19, 0, 186, 0.8732394366197184],
|
|
164
|
-
[17, 0, 188, 0.8873239436619719],
|
|
165
|
-
[15, 0, 189, 0.9014084507042254],
|
|
166
|
-
[13, 0, 191, 0.9154929577464789],
|
|
167
|
-
[11, 0, 192, 0.9295774647887324],
|
|
168
|
-
[8, 0, 194, 0.943661971830986],
|
|
169
|
-
[6, 0, 195, 0.9577464788732395],
|
|
170
|
-
[4, 0, 197, 0.971830985915493],
|
|
171
|
-
[2, 0, 198, 0.9859154929577465],
|
|
172
|
-
[0, 0, 200, 1]])
|
|
173
|
-
actual = createColors([150, 0, 90], [0, 0, 200], 72)
|
|
174
|
-
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]])
|
|
175
|
-
})
|
|
@@ -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
|
-
})
|