colorizr 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -16
- package/esm/brightness-difference.js +7 -7
- package/esm/brightness-difference.js.map +1 -1
- package/esm/chroma.js +5 -5
- package/esm/chroma.js.map +1 -1
- package/esm/color-difference.js +5 -5
- package/esm/color-difference.js.map +1 -1
- package/esm/compare.js +15 -15
- package/esm/compare.js.map +1 -1
- package/esm/contrast.js +8 -13
- package/esm/contrast.js.map +1 -1
- package/esm/darken.js +2 -3
- package/esm/darken.js.map +1 -1
- package/esm/desaturate.js +2 -3
- package/esm/desaturate.js.map +1 -1
- package/esm/fade.js +12 -14
- package/esm/fade.js.map +1 -1
- package/esm/format-css.js +10 -11
- package/esm/format-css.js.map +1 -1
- package/esm/format-hex.js +7 -7
- package/esm/format-hex.js.map +1 -1
- package/esm/hex2hsl.js +2 -2
- package/esm/hex2hsl.js.map +1 -1
- package/esm/hex2rgb.js +3 -3
- package/esm/hex2rgb.js.map +1 -1
- package/esm/hsl2hex.js +2 -2
- package/esm/hsl2hex.js.map +1 -1
- package/esm/hsl2rgb.d.ts +1 -1
- package/esm/hsl2rgb.js +13 -13
- package/esm/hsl2rgb.js.map +1 -1
- package/esm/index.d.ts +11 -12
- package/esm/index.js +99 -133
- package/esm/index.js.map +1 -1
- package/esm/is-valid-color.js +1 -1
- package/esm/is-valid-color.js.map +1 -1
- package/esm/is-valid-hex.js +2 -2
- package/esm/is-valid-hex.js.map +1 -1
- package/esm/lighten.js +2 -3
- package/esm/lighten.js.map +1 -1
- package/esm/luminance.js +8 -8
- package/esm/luminance.js.map +1 -1
- package/esm/{utils.d.ts → modules/css-colors.d.ts} +0 -61
- package/esm/modules/css-colors.js +153 -0
- package/esm/modules/css-colors.js.map +1 -0
- package/esm/{hue2rgb.d.ts → modules/hue2rgb.d.ts} +0 -0
- package/esm/{hue2rgb.js → modules/hue2rgb.js} +2 -2
- package/esm/modules/hue2rgb.js.map +1 -0
- package/{lib → esm/modules}/parse-color.d.ts +1 -1
- package/esm/{parse-color.js → modules/parse-color.js} +12 -12
- package/esm/modules/parse-color.js.map +1 -0
- package/esm/{updater.d.ts → modules/updater.d.ts} +0 -0
- package/esm/modules/updater.js +19 -0
- package/esm/modules/updater.js.map +1 -0
- package/esm/modules/utils.d.ts +61 -0
- package/esm/modules/utils.js +199 -0
- package/esm/modules/utils.js.map +1 -0
- package/esm/name.js +5 -7
- package/esm/name.js.map +1 -1
- package/esm/palette.js +15 -27
- package/esm/palette.js.map +1 -1
- package/esm/parse-css.js +13 -11
- package/esm/parse-css.js.map +1 -1
- package/esm/random.js +1 -1
- package/esm/random.js.map +1 -1
- package/esm/rgb2hex.d.ts +1 -1
- package/esm/rgb2hex.js +11 -11
- package/esm/rgb2hex.js.map +1 -1
- package/esm/rgb2hsl.d.ts +1 -1
- package/esm/rgb2hsl.js +14 -14
- package/esm/rgb2hsl.js.map +1 -1
- package/esm/rotate.js +6 -7
- package/esm/rotate.js.map +1 -1
- package/esm/saturate.js +2 -3
- package/esm/saturate.js.map +1 -1
- package/esm/scheme.d.ts +1 -1
- package/esm/scheme.js +12 -26
- package/esm/scheme.js.map +1 -1
- package/esm/shift.js +5 -16
- package/esm/shift.js.map +1 -1
- package/esm/text-color.js +4 -4
- package/esm/text-color.js.map +1 -1
- package/lib/brightness-difference.js +10 -10
- package/lib/brightness-difference.js.map +1 -1
- package/lib/chroma.js +8 -8
- package/lib/chroma.js.map +1 -1
- package/lib/color-difference.js +7 -7
- package/lib/color-difference.js.map +1 -1
- package/lib/compare.js +18 -18
- package/lib/compare.js.map +1 -1
- package/lib/contrast.js +10 -15
- package/lib/contrast.js.map +1 -1
- package/lib/darken.js +3 -4
- package/lib/darken.js.map +1 -1
- package/lib/desaturate.js +3 -4
- package/lib/desaturate.js.map +1 -1
- package/lib/fade.js +14 -16
- package/lib/fade.js.map +1 -1
- package/lib/format-css.js +16 -17
- package/lib/format-css.js.map +1 -1
- package/lib/format-hex.js +8 -8
- package/lib/format-hex.js.map +1 -1
- package/lib/hex2hsl.js +5 -5
- package/lib/hex2hsl.js.map +1 -1
- package/lib/hex2rgb.js +4 -4
- package/lib/hex2rgb.js.map +1 -1
- package/lib/hsl2hex.js +5 -5
- package/lib/hsl2hex.js.map +1 -1
- package/lib/hsl2rgb.d.ts +1 -1
- package/lib/hsl2rgb.js +16 -16
- package/lib/hsl2rgb.js.map +1 -1
- package/lib/index.d.ts +11 -12
- package/lib/index.js +135 -164
- package/lib/index.js.map +1 -1
- package/lib/is-valid-color.js +3 -3
- package/lib/is-valid-color.js.map +1 -1
- package/lib/is-valid-hex.js +3 -3
- package/lib/is-valid-hex.js.map +1 -1
- package/lib/lighten.js +3 -4
- package/lib/lighten.js.map +1 -1
- package/lib/luminance.js +11 -11
- package/lib/luminance.js.map +1 -1
- package/lib/{utils.d.ts → modules/css-colors.d.ts} +0 -61
- package/lib/modules/css-colors.js +156 -0
- package/lib/modules/css-colors.js.map +1 -0
- package/lib/{hue2rgb.d.ts → modules/hue2rgb.d.ts} +0 -0
- package/lib/modules/hue2rgb.js +28 -0
- package/lib/modules/hue2rgb.js.map +1 -0
- package/{esm → lib/modules}/parse-color.d.ts +1 -1
- package/lib/modules/parse-color.js +59 -0
- package/lib/modules/parse-color.js.map +1 -0
- package/lib/{updater.d.ts → modules/updater.d.ts} +0 -0
- package/lib/modules/updater.js +22 -0
- package/lib/modules/updater.js.map +1 -0
- package/lib/modules/utils.d.ts +61 -0
- package/lib/modules/utils.js +215 -0
- package/lib/modules/utils.js.map +1 -0
- package/lib/name.js +6 -8
- package/lib/name.js.map +1 -1
- package/lib/palette.js +19 -31
- package/lib/palette.js.map +1 -1
- package/lib/parse-css.js +26 -24
- package/lib/parse-css.js.map +1 -1
- package/lib/random.js +3 -3
- package/lib/random.js.map +1 -1
- package/lib/rgb2hex.d.ts +1 -1
- package/lib/rgb2hex.js +12 -12
- package/lib/rgb2hex.js.map +1 -1
- package/lib/rgb2hsl.d.ts +1 -1
- package/lib/rgb2hsl.js +14 -14
- package/lib/rgb2hsl.js.map +1 -1
- package/lib/rotate.js +11 -12
- package/lib/rotate.js.map +1 -1
- package/lib/saturate.js +3 -4
- package/lib/saturate.js.map +1 -1
- package/lib/scheme.d.ts +1 -1
- package/lib/scheme.js +14 -28
- package/lib/scheme.js.map +1 -1
- package/lib/shift.js +7 -18
- package/lib/shift.js.map +1 -1
- package/lib/text-color.js +6 -6
- package/lib/text-color.js.map +1 -1
- package/package.json +34 -43
- package/src/brightness-difference.ts +3 -3
- package/src/chroma.ts +2 -2
- package/src/color-difference.ts +3 -3
- package/src/compare.ts +3 -4
- package/src/contrast.ts +8 -12
- package/src/darken.ts +1 -1
- package/src/desaturate.ts +1 -1
- package/src/fade.ts +4 -4
- package/src/format-css.ts +3 -3
- package/src/format-hex.ts +4 -4
- package/src/hex2hsl.ts +2 -3
- package/src/hex2rgb.ts +2 -3
- package/src/hsl2hex.ts +2 -3
- package/src/hsl2rgb.ts +5 -6
- package/src/index.ts +14 -19
- package/src/is-valid-color.ts +1 -1
- package/src/is-valid-hex.ts +2 -2
- package/src/lighten.ts +1 -1
- package/src/luminance.ts +6 -6
- package/src/modules/css-colors.ts +152 -0
- package/src/{hue2rgb.ts → modules/hue2rgb.ts} +1 -4
- package/src/{parse-color.ts → modules/parse-color.ts} +11 -11
- package/src/{updater.ts → modules/updater.ts} +6 -5
- package/src/modules/utils.ts +253 -0
- package/src/name.ts +3 -2
- package/src/palette.ts +9 -8
- package/src/parse-css.ts +8 -6
- package/src/rgb2hex.ts +4 -5
- package/src/rgb2hsl.ts +4 -5
- package/src/rotate.ts +3 -3
- package/src/saturate.ts +1 -1
- package/src/scheme.ts +11 -23
- package/src/shift.ts +4 -5
- package/src/text-color.ts +2 -2
- package/src/types/index.ts +1 -0
- package/esm/hue2rgb.js.map +0 -1
- package/esm/parse-color.js.map +0 -1
- package/esm/updater.js +0 -20
- package/esm/updater.js.map +0 -1
- package/esm/utils.js +0 -360
- package/esm/utils.js.map +0 -1
- package/lib/hue2rgb.js +0 -28
- package/lib/hue2rgb.js.map +0 -1
- package/lib/parse-color.js +0 -59
- package/lib/parse-color.js.map +0 -1
- package/lib/updater.js +0 -23
- package/lib/updater.js.map +0 -1
- package/lib/utils.js +0 -376
- package/lib/utils.js.map +0 -1
- package/src/utils.ts +0 -412
package/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# Colorizr
|
|
2
2
|
|
|
3
|
-
[](https://www.npmjs.com/package/colorizr) [](https://bundlephobia.com/result?p=colorizr) [](https://www.npmjs.com/package/colorizr) [](https://bundlephobia.com/result?p=colorizr) [](https://github.com/gilbarbara/colorizr/actions/workflows/main.yml) [](https://codeclimate.com/github/gilbarbara/colorizr/maintainability) [](https://codeclimate.com/github/gilbarbara/colorizr/test_coverage)
|
|
4
4
|
|
|
5
|
-
Color conversion, manipulation, comparison and analysis.
|
|
5
|
+
Color conversion, manipulation, comparison, and analysis.
|
|
6
6
|
|
|
7
7
|
## Highlights
|
|
8
8
|
|
|
9
9
|
- 🏖 **Easy to use**: Works with HSL and RGB, including CSS strings
|
|
10
|
-
- ♿️ **
|
|
11
|
-
- 🛠 **Small:** Less than
|
|
10
|
+
- ♿️ **Accessibility:** WCAG analysis and comparison.
|
|
11
|
+
- 🛠 **Small:** Less than 6k (gzipped) and zero dependencies.
|
|
12
12
|
- 🟦 **Modern:** Written in Typescript.
|
|
13
13
|
|
|
14
14
|
## Setup
|
|
@@ -135,7 +135,7 @@ formatCSS({ r: 255, g: 0, b: 68 }, { alpha: 0.5, model: 'hsl' }); // 'hsla(344,
|
|
|
135
135
|
```
|
|
136
136
|
|
|
137
137
|
**formatHex(input: string): string**
|
|
138
|
-
_format a short hex string 3 (or 4) digits into
|
|
138
|
+
_format a short hex string of 3 (or 4) digits into 6 (or 8) digits._
|
|
139
139
|
|
|
140
140
|
```typescript
|
|
141
141
|
import { formatHex } from 'colorizr';
|
|
@@ -145,7 +145,7 @@ formatHex('#f058'); // '#ff005588'
|
|
|
145
145
|
```
|
|
146
146
|
|
|
147
147
|
**hex2hsl(input: string): HSL**
|
|
148
|
-
_convert a hex string into
|
|
148
|
+
_convert a hex string into an HSL object_
|
|
149
149
|
|
|
150
150
|
```typescript
|
|
151
151
|
import { hex2hsl } from 'colorizr';
|
|
@@ -154,7 +154,7 @@ hex2hsl('#ff0044'); // { h: 344, s: 100, l: 50 }
|
|
|
154
154
|
```
|
|
155
155
|
|
|
156
156
|
**hex2rgb(input: string): RGB**
|
|
157
|
-
_convert a hex string into
|
|
157
|
+
_convert a hex string into an RGB object_
|
|
158
158
|
|
|
159
159
|
```typescript
|
|
160
160
|
import { hex2rgb } from 'colorizr';
|
|
@@ -163,7 +163,7 @@ hex2rgb('#ff0044'); // { r: 255, g: 0, b: 68 }
|
|
|
163
163
|
```
|
|
164
164
|
|
|
165
165
|
**hsl2hex(input: HSL): string**
|
|
166
|
-
_convert
|
|
166
|
+
_convert an HSL object into a hex string_
|
|
167
167
|
|
|
168
168
|
```typescript
|
|
169
169
|
import { hsl2hex } from 'colorizr';
|
|
@@ -172,7 +172,7 @@ hsl2hex({ h: 344, s: 100, l: 50 }); // '#ff0044'
|
|
|
172
172
|
```
|
|
173
173
|
|
|
174
174
|
**hsl2rgb(input: HSL): RGB**
|
|
175
|
-
_convert
|
|
175
|
+
_convert an HSL object into an RGB object_
|
|
176
176
|
|
|
177
177
|
```typescript
|
|
178
178
|
import { hsl2rgb } from 'colorizr';
|
|
@@ -249,7 +249,7 @@ palette('#ff0044', { type: 'monochromatic' });
|
|
|
249
249
|
```
|
|
250
250
|
|
|
251
251
|
**parseCSS(input: string, output: ColorTypes = 'hex'): string | HSL | RGB**
|
|
252
|
-
_parse a css string to hex, hsl or
|
|
252
|
+
_parse a css string to hex, hsl, or RGB_
|
|
253
253
|
|
|
254
254
|
```typescript
|
|
255
255
|
import { parseCSS } from 'colorizr';
|
|
@@ -268,7 +268,7 @@ random(); // '#b385e0'
|
|
|
268
268
|
```
|
|
269
269
|
|
|
270
270
|
**rgb2hex(input: RGB | RGBArray): string**
|
|
271
|
-
_convert
|
|
271
|
+
_convert an RGB object into a hex string_
|
|
272
272
|
|
|
273
273
|
```typescript
|
|
274
274
|
import { rgb2hex } from 'colorizr';
|
|
@@ -278,7 +278,7 @@ rgb2hex([255, 0, 68]); // '#ff0044'
|
|
|
278
278
|
```
|
|
279
279
|
|
|
280
280
|
**rgb2hsl(input: RGB | RGBArray): HSL**
|
|
281
|
-
_convert
|
|
281
|
+
_convert an RGB object into an HSL object_
|
|
282
282
|
|
|
283
283
|
```typescript
|
|
284
284
|
import { rgb2hsl } from 'colorizr';
|
|
@@ -301,7 +301,7 @@ _get a color with increased saturation_
|
|
|
301
301
|
```typescript
|
|
302
302
|
import { saturate } from 'colorizr';
|
|
303
303
|
|
|
304
|
-
saturate('#ff0044', 10); // #ff0044 (
|
|
304
|
+
saturate('#ff0044', 10); // #ff0044 (already at the maximum)
|
|
305
305
|
saturate('pink', 10); // #ffc0cb
|
|
306
306
|
```
|
|
307
307
|
|
|
@@ -316,7 +316,7 @@ const triadic = scheme('#ff0044', 'triadic'); // ['#ff0044', '#44ff00', '#0044ff
|
|
|
316
316
|
```
|
|
317
317
|
|
|
318
318
|
**textColor(input: string): string**
|
|
319
|
-
_get a
|
|
319
|
+
_get a contrasting color to use with the text_
|
|
320
320
|
|
|
321
321
|
```typescript
|
|
322
322
|
import { textColor } from 'colorizr';
|
|
@@ -343,10 +343,10 @@ colorizr.rgb; // { r: 255, g: 0, b: 68 };
|
|
|
343
343
|
_returns the hex_
|
|
344
344
|
|
|
345
345
|
**colorizr.hsl**
|
|
346
|
-
_returns the
|
|
346
|
+
_returns the HSL object_
|
|
347
347
|
|
|
348
348
|
**colorizr.rgb**
|
|
349
|
-
_returns the
|
|
349
|
+
_returns the RGB object_
|
|
350
350
|
|
|
351
351
|
**colorizr.hue**
|
|
352
352
|
_returns the color hue, between 0 and 360_
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import hex2rgb from './hex2rgb';
|
|
2
|
+
import { invariant, isString, messages, round } from './modules/utils';
|
|
2
3
|
import parseCSS from './parse-css';
|
|
3
|
-
import { invariant, isString, messages, round } from './utils';
|
|
4
4
|
/**
|
|
5
5
|
* Get the brightness difference between 2 colors.
|
|
6
6
|
*/
|
|
7
7
|
export default function brightnessDifference(left, right) {
|
|
8
|
-
invariant(
|
|
9
|
-
invariant(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
invariant(isString(left), messages.left);
|
|
9
|
+
invariant(isString(right), messages.right);
|
|
10
|
+
const RGBLeft = hex2rgb(parseCSS(left));
|
|
11
|
+
const RGBRight = hex2rgb(parseCSS(right));
|
|
12
|
+
const rightY = (RGBRight.r * 299 + RGBRight.g * 587 + RGBRight.b * 114) / 1000;
|
|
13
|
+
const leftY = (RGBLeft.r * 299 + RGBLeft.g * 587 + RGBLeft.b * 114) / 1000;
|
|
14
14
|
return round(Math.abs(rightY - leftY), 4);
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=brightness-difference.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brightness-difference.js","sourceRoot":"","sources":["../src/brightness-difference.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"brightness-difference.js","sourceRoot":"","sources":["../src/brightness-difference.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,QAAQ,MAAM,aAAa,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,IAAY,EAAE,KAAa;IACtE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAE1C,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IAC/E,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IAE3E,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC"}
|
package/esm/chroma.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import hex2rgb from './hex2rgb';
|
|
2
|
+
import { invariant, isString, messages, round } from './modules/utils';
|
|
2
3
|
import parseCSS from './parse-css';
|
|
3
|
-
import { invariant, isString, messages, round } from './utils';
|
|
4
4
|
/**
|
|
5
5
|
* Get the chroma of a color.
|
|
6
6
|
*/
|
|
7
7
|
export default function chroma(input) {
|
|
8
|
-
invariant(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
invariant(isString(input), messages.inputString);
|
|
9
|
+
const { r, g, b } = hex2rgb(parseCSS(input));
|
|
10
|
+
const max = Math.max(r, g, b);
|
|
11
|
+
const min = Math.min(r, g, b);
|
|
12
12
|
return round((max - min) / 255, 4);
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=chroma.js.map
|
package/esm/chroma.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chroma.js","sourceRoot":"","sources":["../src/chroma.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"chroma.js","sourceRoot":"","sources":["../src/chroma.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,QAAQ,MAAM,aAAa,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAa;IAC1C,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEjD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9B,OAAO,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AACrC,CAAC"}
|
package/esm/color-difference.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import hex2rgb from './hex2rgb';
|
|
2
|
+
import { invariant, isString, messages } from './modules/utils';
|
|
2
3
|
import parseCSS from './parse-css';
|
|
3
|
-
import { invariant, isString, messages } from './utils';
|
|
4
4
|
/**
|
|
5
5
|
* Get the difference between 2 colors.
|
|
6
6
|
*/
|
|
7
7
|
export default function colorDifference(left, right) {
|
|
8
|
-
invariant(
|
|
9
|
-
invariant(
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
invariant(isString(left), messages.left);
|
|
9
|
+
invariant(isString(right), messages.right);
|
|
10
|
+
const RGBLeft = hex2rgb(parseCSS(left));
|
|
11
|
+
const RGBRight = hex2rgb(parseCSS(right));
|
|
12
12
|
return (Math.max(RGBLeft.r, RGBRight.r) -
|
|
13
13
|
Math.min(RGBLeft.r, RGBRight.r) +
|
|
14
14
|
(Math.max(RGBLeft.g, RGBRight.g) - Math.min(RGBLeft.g, RGBRight.g)) +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-difference.js","sourceRoot":"","sources":["../src/color-difference.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"color-difference.js","sourceRoot":"","sources":["../src/color-difference.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,QAAQ,MAAM,aAAa,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,IAAY,EAAE,KAAa;IACjE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAE1C,OAAO,CACL,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/B,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CACpE,CAAC;AACJ,CAAC"}
|
package/esm/compare.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import getBrightnessDifference from './brightness-difference';
|
|
2
2
|
import getColorDifference from './color-difference';
|
|
3
3
|
import getContrast from './contrast';
|
|
4
|
-
import { invariant, isString, messages } from './utils';
|
|
4
|
+
import { invariant, isString, messages } from './modules/utils';
|
|
5
5
|
/**
|
|
6
6
|
* Check 2 colors for WCAG compliance.
|
|
7
7
|
*/
|
|
8
8
|
export default function compare(left, right) {
|
|
9
|
-
invariant(
|
|
10
|
-
invariant(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
invariant(isString(left), messages.left);
|
|
10
|
+
invariant(isString(right), messages.right);
|
|
11
|
+
const colorThreshold = 500;
|
|
12
|
+
const brightnessThreshold = 125;
|
|
13
|
+
const colorDifference = getColorDifference(left, right);
|
|
14
|
+
const contrast = getContrast(left, right);
|
|
15
|
+
const brightnessDifference = getBrightnessDifference(left, right);
|
|
16
|
+
const isBright = brightnessDifference >= brightnessThreshold;
|
|
17
|
+
const hasEnoughDifference = colorDifference >= colorThreshold;
|
|
18
|
+
let compliant = 0;
|
|
19
19
|
if (isBright && hasEnoughDifference) {
|
|
20
20
|
compliant = 2;
|
|
21
21
|
}
|
|
@@ -23,10 +23,10 @@ export default function compare(left, right) {
|
|
|
23
23
|
compliant = 1;
|
|
24
24
|
}
|
|
25
25
|
return {
|
|
26
|
-
brightnessDifference
|
|
27
|
-
colorDifference
|
|
28
|
-
compliant
|
|
29
|
-
contrast
|
|
26
|
+
brightnessDifference,
|
|
27
|
+
colorDifference,
|
|
28
|
+
compliant,
|
|
29
|
+
contrast,
|
|
30
30
|
largeAA: contrast >= 3,
|
|
31
31
|
largeAAA: contrast >= 4.5,
|
|
32
32
|
normalAA: contrast >= 4.5,
|
package/esm/compare.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compare.js","sourceRoot":"","sources":["../src/compare.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,MAAM,yBAAyB,CAAC;AAC9D,OAAO,kBAAkB,MAAM,oBAAoB,CAAC;AACpD,OAAO,WAAW,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"compare.js","sourceRoot":"","sources":["../src/compare.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,MAAM,yBAAyB,CAAC;AAC9D,OAAO,kBAAkB,MAAM,oBAAoB,CAAC;AACpD,OAAO,WAAW,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhE;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,IAAY,EAAE,KAAa;IACzD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE3C,MAAM,cAAc,GAAG,GAAG,CAAC;IAC3B,MAAM,mBAAmB,GAAG,GAAG,CAAC;IAEhC,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAG,oBAAoB,IAAI,mBAAmB,CAAC;IAC7D,MAAM,mBAAmB,GAAG,eAAe,IAAI,cAAc,CAAC;IAE9D,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,IAAI,QAAQ,IAAI,mBAAmB,EAAE;QACnC,SAAS,GAAG,CAAC,CAAC;KACf;SAAM,IAAI,QAAQ,IAAI,mBAAmB,EAAE;QAC1C,SAAS,GAAG,CAAC,CAAC;KACf;IAED,OAAO;QACL,oBAAoB;QACpB,eAAe;QACf,SAAS;QACT,QAAQ;QACR,OAAO,EAAE,QAAQ,IAAI,CAAC;QACtB,QAAQ,EAAE,QAAQ,IAAI,GAAG;QACzB,QAAQ,EAAE,QAAQ,IAAI,GAAG;QACzB,SAAS,EAAE,QAAQ,IAAI,CAAC;KACzB,CAAC;AACJ,CAAC"}
|
package/esm/contrast.js
CHANGED
|
@@ -1,21 +1,16 @@
|
|
|
1
1
|
import getLuminance from './luminance';
|
|
2
|
+
import { invariant, isString, messages, round } from './modules/utils';
|
|
2
3
|
import parseCSS from './parse-css';
|
|
3
|
-
import { invariant, isString, messages, round } from './utils';
|
|
4
4
|
/**
|
|
5
5
|
* Get the color contrast between 2 colors.
|
|
6
6
|
*/
|
|
7
7
|
export default function contrast(left, right) {
|
|
8
|
-
invariant(
|
|
9
|
-
invariant(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
output = (LuminanceRight + 0.05) / (LuminanceLeft + 0.05);
|
|
18
|
-
}
|
|
19
|
-
return round(output);
|
|
8
|
+
invariant(isString(left), messages.left);
|
|
9
|
+
invariant(isString(right), messages.right);
|
|
10
|
+
const LuminanceLeft = getLuminance(parseCSS(left));
|
|
11
|
+
const LuminanceRight = getLuminance(parseCSS(right));
|
|
12
|
+
return round(LuminanceLeft >= LuminanceRight
|
|
13
|
+
? (LuminanceLeft + 0.05) / (LuminanceRight + 0.05)
|
|
14
|
+
: (LuminanceRight + 0.05) / (LuminanceLeft + 0.05));
|
|
20
15
|
}
|
|
21
16
|
//# sourceMappingURL=contrast.js.map
|
package/esm/contrast.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contrast.js","sourceRoot":"","sources":["../src/contrast.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"contrast.js","sourceRoot":"","sources":["../src/contrast.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,QAAQ,MAAM,aAAa,CAAC;AAEnC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,IAAY,EAAE,KAAa;IAC1D,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE3C,MAAM,aAAa,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAErD,OAAO,KAAK,CACV,aAAa,IAAI,cAAc;QAC7B,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC;QAClD,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,CACrD,CAAC;AACJ,CAAC"}
|
package/esm/darken.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import updater from './updater';
|
|
1
|
+
import updater from './modules/updater';
|
|
2
2
|
/**
|
|
3
3
|
* Decrease color lightness
|
|
4
4
|
*/
|
|
5
|
-
export default function darken(input, amount) {
|
|
6
|
-
if (amount === void 0) { amount = 10; }
|
|
5
|
+
export default function darken(input, amount = 10) {
|
|
7
6
|
return updater('l', '-')(input, amount);
|
|
8
7
|
}
|
|
9
8
|
//# sourceMappingURL=darken.js.map
|
package/esm/darken.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"darken.js","sourceRoot":"","sources":["../src/darken.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"darken.js","sourceRoot":"","sources":["../src/darken.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAa,EAAE,MAAM,GAAG,EAAE;IACvD,OAAO,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC"}
|
package/esm/desaturate.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import updater from './updater';
|
|
1
|
+
import updater from './modules/updater';
|
|
2
2
|
/**
|
|
3
3
|
* Decrease color saturation
|
|
4
4
|
*/
|
|
5
|
-
export default function desaturate(input, amount) {
|
|
6
|
-
if (amount === void 0) { amount = 10; }
|
|
5
|
+
export default function desaturate(input, amount = 10) {
|
|
7
6
|
return updater('s', '-')(input, amount);
|
|
8
7
|
}
|
|
9
8
|
//# sourceMappingURL=desaturate.js.map
|
package/esm/desaturate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"desaturate.js","sourceRoot":"","sources":["../src/desaturate.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"desaturate.js","sourceRoot":"","sources":["../src/desaturate.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAa,EAAE,MAAM,GAAG,EAAE;IAC3D,OAAO,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC"}
|
package/esm/fade.js
CHANGED
|
@@ -1,25 +1,23 @@
|
|
|
1
|
+
import hex2hsl from './hex2hsl';
|
|
1
2
|
import hex2rgb from './hex2rgb';
|
|
3
|
+
import { invariant, isNumber, isString, messages } from './modules/utils';
|
|
2
4
|
import parseCSS from './parse-css';
|
|
3
|
-
import hex2hsl from './hex2hsl';
|
|
4
|
-
import { invariant, isNumber, isString, messages } from './utils';
|
|
5
5
|
/**
|
|
6
6
|
* Fade the color
|
|
7
7
|
*/
|
|
8
|
-
export default function fade(input, amount, output) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var hex = parseCSS(input);
|
|
14
|
-
var percentage = (100 - amount) / 100;
|
|
8
|
+
export default function fade(input, amount = 10, output = 'rgb') {
|
|
9
|
+
invariant(isString(input), messages.inputString);
|
|
10
|
+
invariant(isNumber(amount), messages.amount);
|
|
11
|
+
const hex = parseCSS(input);
|
|
12
|
+
const percentage = (100 - amount) / 100;
|
|
15
13
|
if (output === 'rgb') {
|
|
16
|
-
|
|
17
|
-
return
|
|
14
|
+
const { r, g, b } = hex2rgb(hex);
|
|
15
|
+
return `rgba(${r}, ${g}, ${b}, ${percentage})`;
|
|
18
16
|
}
|
|
19
17
|
if (output === 'hsl') {
|
|
20
|
-
|
|
21
|
-
return
|
|
18
|
+
const { h, s, l } = hex2hsl(hex);
|
|
19
|
+
return `hsla(${h}, ${s}%, ${l}%, ${percentage})`;
|
|
22
20
|
}
|
|
23
|
-
return
|
|
21
|
+
return `${hex}${Math.round(percentage * 255).toString(16)}`;
|
|
24
22
|
}
|
|
25
23
|
//# sourceMappingURL=fade.js.map
|
package/esm/fade.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fade.js","sourceRoot":"","sources":["../src/fade.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"fade.js","sourceRoot":"","sources":["../src/fade.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,QAAQ,MAAM,aAAa,CAAC;AAGnC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAa,EAAE,MAAM,GAAG,EAAE,EAAE,SAAqB,KAAK;IACjF,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE7C,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,UAAU,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;IAExC,IAAI,MAAM,KAAK,KAAK,EAAE;QACpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAEjC,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,UAAU,GAAG,CAAC;KAChD;IAED,IAAI,MAAM,KAAK,KAAK,EAAE;QACpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAEjC,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KAClD;IAED,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAC9D,CAAC"}
|
package/esm/format-css.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import rgb2Hsl from './rgb2hsl';
|
|
2
|
-
import { isRGB, isHSL, isNumber, isPlainObject, invariant, messages } from './utils';
|
|
3
1
|
import hsl2rgb from './hsl2rgb';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
import { invariant, isHSL, isNumber, isPlainObject, isRGB, messages } from './modules/utils';
|
|
3
|
+
import rgb2Hsl from './rgb2hsl';
|
|
4
|
+
export default function formatCSS(input, options = {}) {
|
|
5
|
+
invariant(isPlainObject(input) && (isRGB(input) || isHSL(input)), messages.invalid);
|
|
6
|
+
const { alpha, model = isRGB(input) ? 'rgb' : 'hsl' } = options;
|
|
7
|
+
const prefix = `${model}${isNumber(alpha) ? 'a' : ''}`;
|
|
8
|
+
let color = input;
|
|
9
|
+
let params = [];
|
|
11
10
|
if (model === 'rgb') {
|
|
12
11
|
if (isHSL(color)) {
|
|
13
12
|
color = hsl2rgb(color);
|
|
@@ -18,11 +17,11 @@ export default function formatCSS(input, options) {
|
|
|
18
17
|
if (isRGB(color)) {
|
|
19
18
|
color = rgb2Hsl(color);
|
|
20
19
|
}
|
|
21
|
-
params = [Math.round(color.h), Math.round(color.s)
|
|
20
|
+
params = [Math.round(color.h), `${Math.round(color.s)}%`, `${Math.round(color.l)}%`];
|
|
22
21
|
}
|
|
23
22
|
if (isNumber(alpha)) {
|
|
24
23
|
params.push(alpha);
|
|
25
24
|
}
|
|
26
|
-
return prefix
|
|
25
|
+
return `${prefix}(${params.join(', ')})`;
|
|
27
26
|
}
|
|
28
27
|
//# sourceMappingURL=format-css.js.map
|
package/esm/format-css.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-css.js","sourceRoot":"","sources":["../src/format-css.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"format-css.js","sourceRoot":"","sources":["../src/format-css.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,OAAO,MAAM,WAAW,CAAC;AAGhC,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAgB,EAAE,UAAyB,EAAE;IAC7E,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEpF,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC;IAChE,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACvD,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,KAAK,KAAK,KAAK,EAAE;QACnB,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;YAChB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;SACxB;QAED,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1E;SAAM;QACL,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;YAChB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;SACxB;QAED,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KACtF;IAED,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;QACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IAED,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC3C,CAAC"}
|
package/esm/format-hex.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { invariant, isString, messages } from './utils';
|
|
2
1
|
import isValidHex from './is-valid-hex';
|
|
2
|
+
import { invariant, isString, messages } from './modules/utils';
|
|
3
3
|
export default function formatHex(input) {
|
|
4
|
-
invariant(
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
invariant(isString(input), messages.inputString);
|
|
5
|
+
const color = input.replace('#', '');
|
|
6
|
+
let hex = color;
|
|
7
7
|
if (color.length === 3 || color.length === 4) {
|
|
8
8
|
hex = '';
|
|
9
|
-
color.
|
|
9
|
+
[...color].forEach(d => {
|
|
10
10
|
hex += d + d;
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
|
-
hex =
|
|
14
|
-
invariant(
|
|
13
|
+
hex = `#${hex}`;
|
|
14
|
+
invariant(isValidHex(hex), 'invalid hex');
|
|
15
15
|
return hex;
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=format-hex.js.map
|
package/esm/format-hex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-hex.js","sourceRoot":"","sources":["../src/format-hex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"format-hex.js","sourceRoot":"","sources":["../src/format-hex.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAa;IAC7C,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,GAAG,GAAG,KAAK,CAAC;IAEhB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5C,GAAG,GAAG,EAAE,CAAC;QAET,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACrB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;KACJ;IAED,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IAEhB,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;IAE1C,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/esm/hex2hsl.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import hex2rgb from './hex2rgb';
|
|
2
|
+
import { invariant, isString, messages } from './modules/utils';
|
|
2
3
|
import rgb2hsl from './rgb2hsl';
|
|
3
|
-
import { invariant, isString, messages } from './utils';
|
|
4
4
|
export default function hex2hsl(input) {
|
|
5
|
-
invariant(
|
|
5
|
+
invariant(isString(input), messages.inputString);
|
|
6
6
|
return rgb2hsl(hex2rgb(input));
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=hex2hsl.js.map
|
package/esm/hex2hsl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hex2hsl.js","sourceRoot":"","sources":["../src/hex2hsl.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"hex2hsl.js","sourceRoot":"","sources":["../src/hex2hsl.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,OAAO,MAAM,WAAW,CAAC;AAGhC,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,KAAa;IAC3C,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEjD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACjC,CAAC"}
|
package/esm/hex2rgb.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import formatHex from './format-hex';
|
|
2
|
-
import { invariant, isString, messages } from './utils';
|
|
2
|
+
import { invariant, isString, messages } from './modules/utils';
|
|
3
3
|
export default function hex2rgb(input) {
|
|
4
|
-
invariant(
|
|
5
|
-
|
|
4
|
+
invariant(isString(input), messages.inputString);
|
|
5
|
+
const hex = formatHex(input).substr(1);
|
|
6
6
|
return {
|
|
7
7
|
r: parseInt(String(hex.charAt(0)) + hex.charAt(1), 16),
|
|
8
8
|
g: parseInt(String(hex.charAt(2)) + hex.charAt(3), 16),
|
package/esm/hex2rgb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hex2rgb.js","sourceRoot":"","sources":["../src/hex2rgb.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"hex2rgb.js","sourceRoot":"","sources":["../src/hex2rgb.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhE,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,KAAa;IAC3C,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEjD,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEvC,OAAO;QACL,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACtD,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACtD,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;KACvD,CAAC;AACJ,CAAC"}
|
package/esm/hsl2hex.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import hsl2rgb from './hsl2rgb';
|
|
2
|
+
import { invariant, isHSL, messages } from './modules/utils';
|
|
2
3
|
import rgb2hex from './rgb2hex';
|
|
3
|
-
import { invariant, isHSL, messages } from './utils';
|
|
4
4
|
/**
|
|
5
5
|
* Convert a HSL object to HEX.
|
|
6
6
|
*/
|
|
7
7
|
export default function hsl2hex(input) {
|
|
8
|
-
invariant(
|
|
8
|
+
invariant(isHSL(input), messages.invalid);
|
|
9
9
|
return rgb2hex(hsl2rgb(input));
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=hsl2hex.js.map
|
package/esm/hsl2hex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hsl2hex.js","sourceRoot":"","sources":["../src/hsl2hex.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,
|
|
1
|
+
{"version":3,"file":"hsl2hex.js","sourceRoot":"","sources":["../src/hsl2hex.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,OAAO,MAAM,WAAW,CAAC;AAGhC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,KAAU;IACxC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE1C,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACjC,CAAC"}
|
package/esm/hsl2rgb.d.ts
CHANGED
package/esm/hsl2rgb.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import hue2rgb from './hue2rgb';
|
|
2
|
-
import { invariant, isHSL, messages, round } from './utils';
|
|
1
|
+
import hue2rgb from './modules/hue2rgb';
|
|
2
|
+
import { invariant, isHSL, messages, round } from './modules/utils';
|
|
3
3
|
/**
|
|
4
|
-
* Convert
|
|
4
|
+
* Convert an HSL object to RGB.
|
|
5
5
|
*/
|
|
6
6
|
export default function hsl2rgb(input) {
|
|
7
|
-
invariant(
|
|
8
|
-
invariant(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
7
|
+
invariant(!!input, messages.inputString);
|
|
8
|
+
invariant(isHSL(input), 'invalid input');
|
|
9
|
+
const h = round(input.h) / 360;
|
|
10
|
+
const s = round(input.s) / 100;
|
|
11
|
+
const l = round(input.l) / 100;
|
|
12
|
+
let r;
|
|
13
|
+
let g;
|
|
14
|
+
let b;
|
|
15
|
+
let point;
|
|
16
|
+
let chroma;
|
|
17
17
|
if (s === 0) {
|
|
18
18
|
r = l;
|
|
19
19
|
g = l;
|
package/esm/hsl2rgb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hsl2rgb.js","sourceRoot":"","sources":["../src/hsl2rgb.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"hsl2rgb.js","sourceRoot":"","sources":["../src/hsl2rgb.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGpE;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,KAAU;IACxC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEzC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC;IAEzC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC/B,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC/B,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAE/B,IAAI,CAAC,CAAC;IACN,IAAI,CAAC,CAAC;IACN,IAAI,CAAC,CAAC;IAEN,IAAI,KAAK,CAAC;IACV,IAAI,MAAM,CAAC;IAEX,IAAI,CAAC,KAAK,CAAC,EAAE;QACX,CAAC,GAAG,CAAC,CAAC;QACN,CAAC,GAAG,CAAC,CAAC;QACN,CAAC,GAAG,CAAC,CAAC;KACP;SAAM;QACL,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/C,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QAEvB,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;KACvC;IAED,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;QACtB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;QACtB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;KACvB,CAAC;AACJ,CAAC"}
|