fdsfd
This commit is contained in:
parent
628618df89
commit
e031240dff
3749 changed files with 1120848 additions and 1 deletions
18
node_modules/color-string/CHANGELOG.md
generated
vendored
Normal file
18
node_modules/color-string/CHANGELOG.md
generated
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
# 0.4.0
|
||||
|
||||
- Changed: Invalid conversions now return `null` instead of `undefined`
|
||||
- Changed: Moved to XO standard
|
||||
- Fixed: a few details in package.json
|
||||
- Fixed: readme output regarding wrapped hue values ([#21](https://github.com/MoOx/color-string/pull/21))
|
||||
|
||||
# 0.3.0
|
||||
|
||||
- Fixed: HSL alpha channel ([#16](https://github.com/harthur/color-string/pull/16))
|
||||
- Fixed: ability to parse signed number ([#15](https://github.com/harthur/color-string/pull/15))
|
||||
- Removed: component.json
|
||||
- Removed: browser build
|
||||
- Added: license field to package.json ([#17](https://github.com/harthur/color-string/pull/17))
|
||||
|
||||
---
|
||||
|
||||
Check out commit logs for earlier releases
|
21
node_modules/color-string/LICENSE
generated
vendored
Normal file
21
node_modules/color-string/LICENSE
generated
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
Copyright (c) 2011 Heather Arthur <fayearthur@gmail.com>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
61
node_modules/color-string/README.md
generated
vendored
Normal file
61
node_modules/color-string/README.md
generated
vendored
Normal file
|
@ -0,0 +1,61 @@
|
|||
# color-string
|
||||
|
||||
[](https://travis-ci.org/Qix-/color-string)
|
||||
|
||||
> library for parsing and generating CSS color strings.
|
||||
|
||||
## Install
|
||||
|
||||
With [npm](http://npmjs.org/):
|
||||
|
||||
```console
|
||||
$ npm install color-string
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Parsing
|
||||
|
||||
```js
|
||||
colorString.get('#FFF') // {model: 'rgb', value: [255, 255, 255, 1]}
|
||||
colorString.get('#FFFA') // {model: 'rgb', value: [255, 255, 255, 0.67]}
|
||||
colorString.get('#FFFFFFAA') // {model: 'rgb', value: [255, 255, 255, 0.67]}
|
||||
colorString.get('hsl(360, 100%, 50%)') // {model: 'hsl', value: [0, 100, 50, 1]}
|
||||
colorString.get('hsl(360 100% 50%)') // {model: 'hsl', value: [0, 100, 50, 1]}
|
||||
colorString.get('hwb(60, 3%, 60%)') // {model: 'hwb', value: [60, 3, 60, 1]}
|
||||
|
||||
colorString.get.rgb('#FFF') // [255, 255, 255, 1]
|
||||
colorString.get.rgb('blue') // [0, 0, 255, 1]
|
||||
colorString.get.rgb('rgba(200, 60, 60, 0.3)') // [200, 60, 60, 0.3]
|
||||
colorString.get.rgb('rgb(200, 200, 200)') // [200, 200, 200, 1]
|
||||
|
||||
colorString.get.hsl('hsl(360, 100%, 50%)') // [0, 100, 50, 1]
|
||||
colorString.get.hsl('hsl(360 100% 50%)') // [0, 100, 50, 1]
|
||||
colorString.get.hsl('hsla(360, 60%, 50%, 0.4)') // [0, 60, 50, 0.4]
|
||||
colorString.get.hsl('hsl(360 60% 50% / 0.4)') // [0, 60, 50, 0.4]
|
||||
|
||||
colorString.get.hwb('hwb(60, 3%, 60%)') // [60, 3, 60, 1]
|
||||
colorString.get.hwb('hwb(60, 3%, 60%, 0.6)') // [60, 3, 60, 0.6]
|
||||
|
||||
colorString.get.rgb('invalid color string') // null
|
||||
```
|
||||
|
||||
### Generation
|
||||
|
||||
```js
|
||||
colorString.to.hex([255, 255, 255]) // "#FFFFFF"
|
||||
colorString.to.hex([0, 0, 255, 0.4]) // "#0000FF66"
|
||||
colorString.to.hex([0, 0, 255], 0.4) // "#0000FF66"
|
||||
colorString.to.rgb([255, 255, 255]) // "rgb(255, 255, 255)"
|
||||
colorString.to.rgb([0, 0, 255, 0.4]) // "rgba(0, 0, 255, 0.4)"
|
||||
colorString.to.rgb([0, 0, 255], 0.4) // "rgba(0, 0, 255, 0.4)"
|
||||
colorString.to.rgb.percent([0, 0, 255]) // "rgb(0%, 0%, 100%)"
|
||||
colorString.to.keyword([255, 255, 0]) // "yellow"
|
||||
colorString.to.hsl([360, 100, 100]) // "hsl(360, 100%, 100%)"
|
||||
colorString.to.hwb([50, 3, 15]) // "hwb(50, 3%, 15%)"
|
||||
|
||||
// all functions also support swizzling
|
||||
colorString.to.rgb(0, [0, 255], 0.4) // "rgba(0, 0, 255, 0.4)"
|
||||
colorString.to.rgb([0, 0], [255], 0.4) // "rgba(0, 0, 255, 0.4)"
|
||||
colorString.to.rgb([0], 0, [255, 0.4]) // "rgba(0, 0, 255, 0.4)"
|
||||
```
|
234
node_modules/color-string/index.js
generated
vendored
Normal file
234
node_modules/color-string/index.js
generated
vendored
Normal file
|
@ -0,0 +1,234 @@
|
|||
/* MIT license */
|
||||
var colorNames = require('color-name');
|
||||
var swizzle = require('simple-swizzle');
|
||||
|
||||
var reverseNames = {};
|
||||
|
||||
// create a list of reverse color names
|
||||
for (var name in colorNames) {
|
||||
if (colorNames.hasOwnProperty(name)) {
|
||||
reverseNames[colorNames[name]] = name;
|
||||
}
|
||||
}
|
||||
|
||||
var cs = module.exports = {
|
||||
to: {},
|
||||
get: {}
|
||||
};
|
||||
|
||||
cs.get = function (string) {
|
||||
var prefix = string.substring(0, 3).toLowerCase();
|
||||
var val;
|
||||
var model;
|
||||
switch (prefix) {
|
||||
case 'hsl':
|
||||
val = cs.get.hsl(string);
|
||||
model = 'hsl';
|
||||
break;
|
||||
case 'hwb':
|
||||
val = cs.get.hwb(string);
|
||||
model = 'hwb';
|
||||
break;
|
||||
default:
|
||||
val = cs.get.rgb(string);
|
||||
model = 'rgb';
|
||||
break;
|
||||
}
|
||||
|
||||
if (!val) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return {model: model, value: val};
|
||||
};
|
||||
|
||||
cs.get.rgb = function (string) {
|
||||
if (!string) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var abbr = /^#([a-f0-9]{3,4})$/i;
|
||||
var hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;
|
||||
var rgba = /^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/;
|
||||
var per = /^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/;
|
||||
var keyword = /(\D+)/;
|
||||
|
||||
var rgb = [0, 0, 0, 1];
|
||||
var match;
|
||||
var i;
|
||||
var hexAlpha;
|
||||
|
||||
if (match = string.match(hex)) {
|
||||
hexAlpha = match[2];
|
||||
match = match[1];
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
// https://jsperf.com/slice-vs-substr-vs-substring-methods-long-string/19
|
||||
var i2 = i * 2;
|
||||
rgb[i] = parseInt(match.slice(i2, i2 + 2), 16);
|
||||
}
|
||||
|
||||
if (hexAlpha) {
|
||||
rgb[3] = parseInt(hexAlpha, 16) / 255;
|
||||
}
|
||||
} else if (match = string.match(abbr)) {
|
||||
match = match[1];
|
||||
hexAlpha = match[3];
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
rgb[i] = parseInt(match[i] + match[i], 16);
|
||||
}
|
||||
|
||||
if (hexAlpha) {
|
||||
rgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255;
|
||||
}
|
||||
} else if (match = string.match(rgba)) {
|
||||
for (i = 0; i < 3; i++) {
|
||||
rgb[i] = parseInt(match[i + 1], 0);
|
||||
}
|
||||
|
||||
if (match[4]) {
|
||||
rgb[3] = parseFloat(match[4]);
|
||||
}
|
||||
} else if (match = string.match(per)) {
|
||||
for (i = 0; i < 3; i++) {
|
||||
rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);
|
||||
}
|
||||
|
||||
if (match[4]) {
|
||||
rgb[3] = parseFloat(match[4]);
|
||||
}
|
||||
} else if (match = string.match(keyword)) {
|
||||
if (match[1] === 'transparent') {
|
||||
return [0, 0, 0, 0];
|
||||
}
|
||||
|
||||
rgb = colorNames[match[1]];
|
||||
|
||||
if (!rgb) {
|
||||
return null;
|
||||
}
|
||||
|
||||
rgb[3] = 1;
|
||||
|
||||
return rgb;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
rgb[i] = clamp(rgb[i], 0, 255);
|
||||
}
|
||||
rgb[3] = clamp(rgb[3], 0, 1);
|
||||
|
||||
return rgb;
|
||||
};
|
||||
|
||||
cs.get.hsl = function (string) {
|
||||
if (!string) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var hsl = /^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?[\d\.]+)\s*)?\)$/;
|
||||
var match = string.match(hsl);
|
||||
|
||||
if (match) {
|
||||
var alpha = parseFloat(match[4]);
|
||||
var h = (parseFloat(match[1]) + 360) % 360;
|
||||
var s = clamp(parseFloat(match[2]), 0, 100);
|
||||
var l = clamp(parseFloat(match[3]), 0, 100);
|
||||
var a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);
|
||||
|
||||
return [h, s, l, a];
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
cs.get.hwb = function (string) {
|
||||
if (!string) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var hwb = /^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/;
|
||||
var match = string.match(hwb);
|
||||
|
||||
if (match) {
|
||||
var alpha = parseFloat(match[4]);
|
||||
var h = ((parseFloat(match[1]) % 360) + 360) % 360;
|
||||
var w = clamp(parseFloat(match[2]), 0, 100);
|
||||
var b = clamp(parseFloat(match[3]), 0, 100);
|
||||
var a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);
|
||||
return [h, w, b, a];
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
cs.to.hex = function () {
|
||||
var rgba = swizzle(arguments);
|
||||
|
||||
return (
|
||||
'#' +
|
||||
hexDouble(rgba[0]) +
|
||||
hexDouble(rgba[1]) +
|
||||
hexDouble(rgba[2]) +
|
||||
(rgba[3] < 1
|
||||
? (hexDouble(Math.round(rgba[3] * 255)))
|
||||
: '')
|
||||
);
|
||||
};
|
||||
|
||||
cs.to.rgb = function () {
|
||||
var rgba = swizzle(arguments);
|
||||
|
||||
return rgba.length < 4 || rgba[3] === 1
|
||||
? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')'
|
||||
: 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';
|
||||
};
|
||||
|
||||
cs.to.rgb.percent = function () {
|
||||
var rgba = swizzle(arguments);
|
||||
|
||||
var r = Math.round(rgba[0] / 255 * 100);
|
||||
var g = Math.round(rgba[1] / 255 * 100);
|
||||
var b = Math.round(rgba[2] / 255 * 100);
|
||||
|
||||
return rgba.length < 4 || rgba[3] === 1
|
||||
? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)'
|
||||
: 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';
|
||||
};
|
||||
|
||||
cs.to.hsl = function () {
|
||||
var hsla = swizzle(arguments);
|
||||
return hsla.length < 4 || hsla[3] === 1
|
||||
? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)'
|
||||
: 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';
|
||||
};
|
||||
|
||||
// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax
|
||||
// (hwb have alpha optional & 1 is default value)
|
||||
cs.to.hwb = function () {
|
||||
var hwba = swizzle(arguments);
|
||||
|
||||
var a = '';
|
||||
if (hwba.length >= 4 && hwba[3] !== 1) {
|
||||
a = ', ' + hwba[3];
|
||||
}
|
||||
|
||||
return 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';
|
||||
};
|
||||
|
||||
cs.to.keyword = function (rgb) {
|
||||
return reverseNames[rgb.slice(0, 3)];
|
||||
};
|
||||
|
||||
// helpers
|
||||
function clamp(num, min, max) {
|
||||
return Math.min(Math.max(min, num), max);
|
||||
}
|
||||
|
||||
function hexDouble(num) {
|
||||
var str = num.toString(16).toUpperCase();
|
||||
return (str.length < 2) ? '0' + str : str;
|
||||
}
|
84
node_modules/color-string/package.json
generated
vendored
Normal file
84
node_modules/color-string/package.json
generated
vendored
Normal file
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
"_args": [
|
||||
[
|
||||
"color-string@1.6.0",
|
||||
"/d"
|
||||
]
|
||||
],
|
||||
"_from": "color-string@1.6.0",
|
||||
"_id": "color-string@1.6.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==",
|
||||
"_location": "/color-string",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "color-string@1.6.0",
|
||||
"name": "color-string",
|
||||
"escapedName": "color-string",
|
||||
"rawSpec": "1.6.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.6.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/color"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz",
|
||||
"_spec": "1.6.0",
|
||||
"_where": "/d",
|
||||
"author": {
|
||||
"name": "Heather Arthur",
|
||||
"email": "fayearthur@gmail.com"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/Qix-/color-string/issues"
|
||||
},
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Maxime Thirouin"
|
||||
},
|
||||
{
|
||||
"name": "Dyma Ywanov",
|
||||
"email": "dfcreative@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Josh Junon"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"color-name": "^1.0.0",
|
||||
"simple-swizzle": "^0.2.2"
|
||||
},
|
||||
"description": "Parser and generator for CSS color strings",
|
||||
"devDependencies": {
|
||||
"xo": "^0.12.1"
|
||||
},
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"homepage": "https://github.com/Qix-/color-string#readme",
|
||||
"keywords": [
|
||||
"color",
|
||||
"colour",
|
||||
"rgb",
|
||||
"css"
|
||||
],
|
||||
"license": "MIT",
|
||||
"name": "color-string",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/Qix-/color-string.git"
|
||||
},
|
||||
"scripts": {
|
||||
"pretest": "xo",
|
||||
"test": "node test/basic.js"
|
||||
},
|
||||
"version": "1.6.0",
|
||||
"xo": {
|
||||
"rules": {
|
||||
"no-cond-assign": 0,
|
||||
"operator-linebreak": 0
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue