@oscarpalmer/atoms 0.190.0 → 0.191.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/dist/color/constants.d.mts +7 -1
- package/dist/color/constants.mjs +7 -1
- package/dist/color/index.d.mts +3 -3
- package/dist/color/index.mjs +2 -2
- package/dist/color/instance.mjs +27 -25
- package/dist/color/misc/alpha.d.mts +1 -1
- package/dist/color/misc/alpha.mjs +10 -7
- package/dist/color/misc/format.d.mts +7 -0
- package/dist/color/misc/format.mjs +20 -0
- package/dist/color/misc/get.mjs +16 -16
- package/dist/color/misc/is.d.mts +0 -36
- package/dist/color/misc/is.mjs +1 -37
- package/dist/color/misc/state.d.mts +3 -2
- package/dist/color/misc/state.mjs +69 -83
- package/dist/color/models.d.mts +28 -5
- package/dist/color/space/hex.d.mts +3 -2
- package/dist/color/space/hex.mjs +13 -1
- package/dist/color/space/hsl.d.mts +3 -2
- package/dist/color/space/hsl.mjs +13 -1
- package/dist/color/space/hwb.d.mts +3 -2
- package/dist/color/space/hwb.mjs +13 -1
- package/dist/color/space/rgb.d.mts +3 -2
- package/dist/color/space/rgb.mjs +14 -2
- package/dist/index.d.mts +23 -29
- package/dist/index.mjs +198 -184
- package/package.json +4 -4
- package/src/color/constants.ts +12 -0
- package/src/color/index.ts +26 -8
- package/src/color/instance.ts +60 -45
- package/src/color/misc/alpha.ts +12 -6
- package/src/color/misc/format.ts +29 -0
- package/src/color/misc/get.ts +20 -13
- package/src/color/misc/is.ts +7 -37
- package/src/color/misc/state.ts +115 -127
- package/src/color/models.ts +32 -4
- package/src/color/space/hex.ts +34 -1
- package/src/color/space/hsl.ts +40 -2
- package/src/color/space/hwb.ts +32 -2
- package/src/color/space/rgb.ts +33 -3
- package/dist/color/misc/index.d.mts +0 -7
- package/dist/color/misc/index.mjs +0 -15
- package/src/color/misc/index.ts +0 -29
package/src/color/index.ts
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import {color} from './instance';
|
|
2
2
|
import {isColor} from './misc/is';
|
|
3
|
-
import type {
|
|
3
|
+
import type {
|
|
4
|
+
Color,
|
|
5
|
+
ColorType,
|
|
6
|
+
ColorTypeExtended,
|
|
7
|
+
ColorValue,
|
|
8
|
+
ColorValueExtended,
|
|
9
|
+
HSLAColor,
|
|
10
|
+
HSLColor,
|
|
11
|
+
HWBAColor,
|
|
12
|
+
HWBColor,
|
|
13
|
+
RGBAColor,
|
|
14
|
+
RGBColor,
|
|
15
|
+
} from './models';
|
|
4
16
|
|
|
5
17
|
// #region Functions
|
|
6
18
|
|
|
@@ -32,22 +44,16 @@ export {
|
|
|
32
44
|
getRgbaColor,
|
|
33
45
|
getRgbColor,
|
|
34
46
|
} from './misc/get';
|
|
35
|
-
|
|
36
47
|
export {
|
|
37
48
|
isColor,
|
|
38
49
|
isHexColor,
|
|
39
50
|
isHslaColor,
|
|
40
51
|
isHslColor,
|
|
41
|
-
isHslLike,
|
|
42
52
|
isHwbaColor,
|
|
43
|
-
isHwbaLike,
|
|
44
53
|
isHwbColor,
|
|
45
|
-
isHwbLike,
|
|
46
54
|
isRgbaColor,
|
|
47
55
|
isRgbColor,
|
|
48
|
-
isRgbLike,
|
|
49
56
|
} from './misc/is';
|
|
50
|
-
|
|
51
57
|
export {
|
|
52
58
|
getNormalizedHex,
|
|
53
59
|
hexToHsl,
|
|
@@ -60,6 +66,18 @@ export {
|
|
|
60
66
|
export {hslToHex, hslToHwb, hslToHwba, hslToRgb, hslToRgba} from './space/hsl';
|
|
61
67
|
export {hwbToHex, hwbToHsl, hwbToHsla, hwbToRgb, hwbToRgba} from './space/hwb';
|
|
62
68
|
export {rgbToHex, rgbToHsl, rgbToHsla, rgbToHwb, rgbToHwba} from './space/rgb';
|
|
63
|
-
export type {
|
|
69
|
+
export type {
|
|
70
|
+
Color,
|
|
71
|
+
ColorType,
|
|
72
|
+
ColorTypeExtended,
|
|
73
|
+
ColorValue,
|
|
74
|
+
ColorValueExtended,
|
|
75
|
+
HSLAColor,
|
|
76
|
+
HSLColor,
|
|
77
|
+
HWBAColor,
|
|
78
|
+
HWBColor,
|
|
79
|
+
RGBAColor,
|
|
80
|
+
RGBColor,
|
|
81
|
+
};
|
|
64
82
|
|
|
65
83
|
// #endregion
|
package/src/color/instance.ts
CHANGED
|
@@ -1,90 +1,105 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {PROPERTY_COLOR, TYPE_HEX, TYPE_HSL, TYPE_HWB, TYPE_RGB} from './constants';
|
|
2
2
|
import {getAlpha} from './misc/alpha';
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
3
|
+
import {formatHslColor, formatHwbColor, formatRgbColor} from './misc/format';
|
|
4
|
+
import {
|
|
5
|
+
getColorFromState,
|
|
6
|
+
getColorState,
|
|
7
|
+
setHexColor,
|
|
8
|
+
setHSLColor,
|
|
9
|
+
setHWBColor,
|
|
10
|
+
setRGBColor,
|
|
11
|
+
} from './misc/state';
|
|
12
|
+
import type {Color, ColorState, ColorType} from './models';
|
|
5
13
|
|
|
6
14
|
// #region Types
|
|
7
15
|
|
|
16
|
+
type SetValue = (state: ColorState, value: any, alpha: boolean) => void;
|
|
17
|
+
|
|
18
|
+
type SetValues = Record<ColorType, SetValue>;
|
|
19
|
+
|
|
20
|
+
// #endregion
|
|
21
|
+
|
|
22
|
+
// #region Functions
|
|
23
|
+
|
|
8
24
|
export function color(value: unknown): Color {
|
|
9
25
|
const state = getColorState(value);
|
|
10
26
|
|
|
11
27
|
const instance = {
|
|
12
28
|
toHexString: (alpha?: boolean) =>
|
|
13
29
|
`#${alpha === true ? (instance as Color).hexa : (instance as Color).hex}`,
|
|
14
|
-
toHslString: (alpha?: boolean) => formatHslColor(state, alpha
|
|
15
|
-
toHwbString: (alpha?: boolean) => formatHwbColor(state, alpha
|
|
16
|
-
toRgbString: (alpha?: boolean) => formatRgbColor(state, alpha
|
|
30
|
+
toHslString: (alpha?: boolean) => formatHslColor(state, alpha),
|
|
31
|
+
toHwbString: (alpha?: boolean) => formatHwbColor(state, alpha),
|
|
32
|
+
toRgbString: (alpha?: boolean) => formatRgbColor(state, alpha),
|
|
17
33
|
toString: () => (instance as Color).toHexString(),
|
|
18
34
|
};
|
|
19
35
|
|
|
20
36
|
Object.defineProperties(instance, {
|
|
21
|
-
|
|
37
|
+
[PROPERTY_COLOR]: {
|
|
22
38
|
enumerable: false,
|
|
23
|
-
|
|
39
|
+
value: true,
|
|
24
40
|
},
|
|
25
41
|
alpha: {
|
|
26
42
|
enumerable: true,
|
|
27
43
|
get: () => state.alpha.value,
|
|
28
|
-
set: (value:
|
|
29
|
-
if (typeof value === 'number' && !Number.isNaN(value)) {
|
|
30
|
-
state.alpha = getAlpha(value);
|
|
31
|
-
}
|
|
32
|
-
},
|
|
44
|
+
set: (value: unknown) => setAlphaValue(state, value),
|
|
33
45
|
},
|
|
34
|
-
hex: getProperty(
|
|
35
|
-
hexa: getProperty(
|
|
36
|
-
hsl: getProperty(
|
|
37
|
-
hsla: getProperty(
|
|
38
|
-
hwb: getProperty(
|
|
39
|
-
hwba: getProperty(
|
|
40
|
-
|
|
41
|
-
|
|
46
|
+
hex: getProperty(TYPE_HEX, state, false),
|
|
47
|
+
hexa: getProperty(TYPE_HEX, state, true),
|
|
48
|
+
hsl: getProperty(TYPE_HSL, state, false),
|
|
49
|
+
hsla: getProperty(TYPE_HSL, state, true),
|
|
50
|
+
hwb: getProperty(TYPE_HWB, state, false),
|
|
51
|
+
hwba: getProperty(TYPE_HWB, state, true),
|
|
52
|
+
origin: {
|
|
53
|
+
enumerable: true,
|
|
54
|
+
get: () => state.origin,
|
|
55
|
+
},
|
|
56
|
+
rgb: getProperty(TYPE_RGB, state, false),
|
|
57
|
+
rgba: getProperty(TYPE_RGB, state, true),
|
|
42
58
|
});
|
|
43
59
|
|
|
44
60
|
return Object.freeze(instance) as Color;
|
|
45
61
|
}
|
|
46
62
|
|
|
47
|
-
function getHex(state: ColorState, alpha: boolean): string {
|
|
48
|
-
return alpha ? `${state.hex}${state.alpha.hex}` : state.hex;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
63
|
function getProperty(
|
|
52
64
|
space: keyof typeof setters,
|
|
53
65
|
state: ColorState,
|
|
54
66
|
alpha: boolean,
|
|
55
67
|
): PropertyDescriptor {
|
|
56
|
-
const
|
|
68
|
+
const setValue = setters[space];
|
|
57
69
|
|
|
58
70
|
return {
|
|
59
71
|
enumerable: true,
|
|
60
|
-
get: () =>
|
|
61
|
-
|
|
72
|
+
get: () => getValue(space, state, alpha),
|
|
73
|
+
set: (value: unknown) => setValue(state, value, alpha),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function getValue(space: keyof typeof setters, state: ColorState, alpha: boolean) {
|
|
78
|
+
const value = getColorFromState(state, space);
|
|
79
|
+
|
|
80
|
+
if (typeof value === 'string') {
|
|
81
|
+
return alpha ? `${value}${state.alpha.hex}` : value;
|
|
82
|
+
}
|
|
62
83
|
|
|
63
|
-
|
|
64
|
-
|
|
84
|
+
return alpha
|
|
85
|
+
? {
|
|
86
|
+
...value,
|
|
87
|
+
alpha: state.alpha.value,
|
|
65
88
|
}
|
|
89
|
+
: {...value};
|
|
90
|
+
}
|
|
66
91
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
: {...value};
|
|
73
|
-
},
|
|
74
|
-
set: (value: unknown) => {
|
|
75
|
-
setter(state, value, alpha);
|
|
76
|
-
},
|
|
77
|
-
};
|
|
92
|
+
function setAlphaValue(state: ColorState, value: unknown): void {
|
|
93
|
+
if (typeof value === 'number' && !Number.isNaN(value)) {
|
|
94
|
+
state.alpha = getAlpha(value, false);
|
|
95
|
+
}
|
|
78
96
|
}
|
|
79
97
|
|
|
80
98
|
// #endregion
|
|
81
99
|
|
|
82
100
|
// #region Variables
|
|
83
101
|
|
|
84
|
-
const setters:
|
|
85
|
-
'hex' | 'hsl' | 'hwb' | 'rgb',
|
|
86
|
-
(state: ColorState, value: any, alpha: boolean) => void
|
|
87
|
-
> = {
|
|
102
|
+
const setters: SetValues = {
|
|
88
103
|
hex: setHexColor,
|
|
89
104
|
hsl: setHSLColor,
|
|
90
105
|
hwb: setHWBColor,
|
package/src/color/misc/alpha.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import {clamp} from '../..';
|
|
1
2
|
import {round} from '../../internal/math/misc';
|
|
2
3
|
import {
|
|
3
4
|
ALPHA_FULL_HEX_LONG,
|
|
4
5
|
ALPHA_NONE_HEX,
|
|
5
6
|
ALPHA_NONE_VALUE,
|
|
6
7
|
DEFAULT_ALPHA,
|
|
8
|
+
EXPRESSION_ALPHA_HEX,
|
|
7
9
|
MAX_HEX,
|
|
8
10
|
MAX_PERCENT,
|
|
9
11
|
} from '../constants';
|
|
@@ -11,19 +13,23 @@ import type {Alpha} from '../models';
|
|
|
11
13
|
|
|
12
14
|
// #region Functions
|
|
13
15
|
|
|
14
|
-
export function getAlpha(value: unknown): Alpha {
|
|
16
|
+
export function getAlpha(value: unknown, hex: boolean): Alpha {
|
|
15
17
|
if (typeof value === 'number') {
|
|
16
18
|
return getAlphaFromValue(value);
|
|
17
19
|
}
|
|
18
20
|
|
|
19
|
-
if (typeof value
|
|
21
|
+
if (typeof value !== 'string' || value.toLowerCase() === ALPHA_FULL_HEX_LONG) {
|
|
22
|
+
return {...DEFAULT_ALPHA};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (hex && EXPRESSION_ALPHA_HEX.test(value)) {
|
|
20
26
|
return {
|
|
21
27
|
hex: value,
|
|
22
28
|
value: Number.parseInt(value, 16) / MAX_HEX,
|
|
23
29
|
};
|
|
24
30
|
}
|
|
25
31
|
|
|
26
|
-
return
|
|
32
|
+
return getAlphaFromValue(Number.parseFloat(value));
|
|
27
33
|
}
|
|
28
34
|
|
|
29
35
|
export function getAlphaHexadecimal(value: number): string {
|
|
@@ -35,7 +41,7 @@ export function getAlphaHexadecimal(value: number): string {
|
|
|
35
41
|
return ALPHA_FULL_HEX_LONG;
|
|
36
42
|
}
|
|
37
43
|
|
|
38
|
-
return round(value * MAX_HEX).toString(16);
|
|
44
|
+
return round((value / MAX_PERCENT) * MAX_HEX).toString(16);
|
|
39
45
|
}
|
|
40
46
|
|
|
41
47
|
function getAlphaFromValue(value: number): Alpha {
|
|
@@ -48,11 +54,11 @@ function getAlphaFromValue(value: number): Alpha {
|
|
|
48
54
|
}
|
|
49
55
|
|
|
50
56
|
export function getAlphaValue(original: number): number {
|
|
51
|
-
if (Number.isNaN(original)
|
|
57
|
+
if (Number.isNaN(original)) {
|
|
52
58
|
return MAX_PERCENT;
|
|
53
59
|
}
|
|
54
60
|
|
|
55
|
-
return original
|
|
61
|
+
return clamp(original, ALPHA_NONE_VALUE, MAX_PERCENT);
|
|
56
62
|
}
|
|
57
63
|
|
|
58
64
|
// #endregion
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import {TYPE_HSL, TYPE_HWB, TYPE_RGB} from '../constants';
|
|
2
|
+
import type {ColorState} from '../models';
|
|
3
|
+
import {getColorFromState} from './state';
|
|
4
|
+
|
|
5
|
+
// #region Functions
|
|
6
|
+
|
|
7
|
+
export function formatHslColor(state: ColorState, alpha?: boolean): string {
|
|
8
|
+
const {hue, lightness, saturation} = getColorFromState(state, TYPE_HSL);
|
|
9
|
+
|
|
10
|
+
return `hsl(${hue}deg ${saturation}% ${lightness}%${getSuffix(state, alpha)})`;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function formatHwbColor(state: ColorState, alpha?: boolean): string {
|
|
14
|
+
const {blackness, hue, whiteness} = getColorFromState(state, TYPE_HWB);
|
|
15
|
+
|
|
16
|
+
return `hwb(${hue}deg ${whiteness}% ${blackness}%${getSuffix(state, alpha)})`;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function formatRgbColor(state: ColorState, alpha?: boolean): string {
|
|
20
|
+
const {blue, green, red} = getColorFromState(state, TYPE_RGB);
|
|
21
|
+
|
|
22
|
+
return `rgb(${red} ${green} ${blue}${getSuffix(state, alpha)})`;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function getSuffix(state: ColorState, alpha?: boolean): string {
|
|
26
|
+
return alpha === true ? ` / ${state.alpha.value}%` : '';
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// #endregion
|
package/src/color/misc/get.ts
CHANGED
|
@@ -15,10 +15,14 @@ import {
|
|
|
15
15
|
SRGB_LUMINANCE_OFFSET,
|
|
16
16
|
SRGB_LUMINANCE_RED,
|
|
17
17
|
SRGB_LUMINANCE_THRESHOLD,
|
|
18
|
+
TYPE_HEX,
|
|
19
|
+
TYPE_HSL,
|
|
20
|
+
TYPE_HWB,
|
|
21
|
+
TYPE_RGB,
|
|
18
22
|
} from '../constants';
|
|
19
23
|
import {color} from '../instance';
|
|
20
24
|
import type {Color, HSLAColor, HSLColor, HWBAColor, HWBColor, RGBAColor, RGBColor} from '../models';
|
|
21
|
-
import {getColorState} from './state';
|
|
25
|
+
import {getColorFromState, getColorState} from './state';
|
|
22
26
|
|
|
23
27
|
// #region Functions
|
|
24
28
|
|
|
@@ -56,8 +60,8 @@ export function getForegroundColor(value: unknown, hex: true): string;
|
|
|
56
60
|
export function getForegroundColor(value: unknown): Color;
|
|
57
61
|
|
|
58
62
|
export function getForegroundColor(value: unknown, hex?: unknown): string | Color {
|
|
59
|
-
const
|
|
60
|
-
const {blue, green, red} =
|
|
63
|
+
const rgb = getColorFromState(getColorState(value), TYPE_RGB);
|
|
64
|
+
const {blue, green, red} = rgb;
|
|
61
65
|
|
|
62
66
|
const values = [blue / MAX_HEX, green / MAX_HEX, red / MAX_HEX];
|
|
63
67
|
const {length} = values;
|
|
@@ -109,7 +113,7 @@ export function getHexaColor(value: unknown): string {
|
|
|
109
113
|
* @returns Hex color string
|
|
110
114
|
*/
|
|
111
115
|
export function getHexColor(value: unknown): string {
|
|
112
|
-
return getColorState(value)
|
|
116
|
+
return getColorFromState(getColorState(value), TYPE_HEX);
|
|
113
117
|
}
|
|
114
118
|
|
|
115
119
|
export function getHexValue(value: unknown): number {
|
|
@@ -130,11 +134,12 @@ export function getDegrees(value: unknown): number {
|
|
|
130
134
|
* @returns _HSLA_ color
|
|
131
135
|
*/
|
|
132
136
|
export function getHslaColor(value: unknown): HSLAColor {
|
|
133
|
-
const
|
|
137
|
+
const state = getColorState(value);
|
|
138
|
+
const hsl = getColorFromState(state, TYPE_HSL);
|
|
134
139
|
|
|
135
140
|
return {
|
|
136
141
|
...hsl,
|
|
137
|
-
alpha: alpha.value,
|
|
142
|
+
alpha: state.alpha.value,
|
|
138
143
|
};
|
|
139
144
|
}
|
|
140
145
|
|
|
@@ -148,7 +153,7 @@ export function getHslaColor(value: unknown): HSLAColor {
|
|
|
148
153
|
* @returns _HWB_ color
|
|
149
154
|
*/
|
|
150
155
|
export function getHwbColor(value: unknown): HWBColor {
|
|
151
|
-
return getColorState(value)
|
|
156
|
+
return getColorFromState(getColorState(value), TYPE_HWB);
|
|
152
157
|
}
|
|
153
158
|
|
|
154
159
|
/**
|
|
@@ -161,11 +166,12 @@ export function getHwbColor(value: unknown): HWBColor {
|
|
|
161
166
|
* @returns _HWBA_ color
|
|
162
167
|
*/
|
|
163
168
|
export function getHwbaColor(value: unknown): HWBAColor {
|
|
164
|
-
const
|
|
169
|
+
const state = getColorState(value);
|
|
170
|
+
const hwb = getColorFromState(state, TYPE_HWB);
|
|
165
171
|
|
|
166
172
|
return {
|
|
167
173
|
...hwb,
|
|
168
|
-
alpha: alpha.value,
|
|
174
|
+
alpha: state.alpha.value,
|
|
169
175
|
};
|
|
170
176
|
}
|
|
171
177
|
|
|
@@ -179,7 +185,7 @@ export function getHwbaColor(value: unknown): HWBAColor {
|
|
|
179
185
|
* @returns _HSL_ color
|
|
180
186
|
*/
|
|
181
187
|
export function getHslColor(value: unknown): HSLColor {
|
|
182
|
-
return getColorState(value)
|
|
188
|
+
return getColorFromState(getColorState(value), TYPE_HSL);
|
|
183
189
|
}
|
|
184
190
|
|
|
185
191
|
export function getPercentage(value: unknown): number {
|
|
@@ -196,11 +202,12 @@ export function getPercentage(value: unknown): number {
|
|
|
196
202
|
* @returns _RGBA_ color
|
|
197
203
|
*/
|
|
198
204
|
export function getRgbaColor(value: unknown): RGBAColor {
|
|
199
|
-
const
|
|
205
|
+
const state = getColorState(value);
|
|
206
|
+
const rgb = getColorFromState(state, TYPE_RGB);
|
|
200
207
|
|
|
201
208
|
return {
|
|
202
209
|
...rgb,
|
|
203
|
-
alpha: alpha.value,
|
|
210
|
+
alpha: state.alpha.value,
|
|
204
211
|
};
|
|
205
212
|
}
|
|
206
213
|
|
|
@@ -214,7 +221,7 @@ export function getRgbaColor(value: unknown): RGBAColor {
|
|
|
214
221
|
* @returns _RGB_ color
|
|
215
222
|
*/
|
|
216
223
|
export function getRgbColor(value: unknown): RGBColor {
|
|
217
|
-
return getColorState(value)
|
|
224
|
+
return getColorFromState(getColorState(value), TYPE_RGB);
|
|
218
225
|
}
|
|
219
226
|
|
|
220
227
|
// #endregion
|
package/src/color/misc/is.ts
CHANGED
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
MAX_DEGREE,
|
|
17
17
|
MAX_HEX,
|
|
18
18
|
MAX_PERCENT,
|
|
19
|
+
PROPERTY_COLOR,
|
|
19
20
|
} from '../constants';
|
|
20
21
|
import type {Color} from '../index';
|
|
21
22
|
import type {
|
|
@@ -49,7 +50,12 @@ function isBytey(value: unknown): value is number {
|
|
|
49
50
|
* @returns `true` if the value is a _Color_, otherwise `false`
|
|
50
51
|
*/
|
|
51
52
|
export function isColor(value: unknown): value is Color {
|
|
52
|
-
return
|
|
53
|
+
return (
|
|
54
|
+
typeof value === 'object' &&
|
|
55
|
+
value !== null &&
|
|
56
|
+
PROPERTY_COLOR in value &&
|
|
57
|
+
value[PROPERTY_COLOR] === true
|
|
58
|
+
);
|
|
53
59
|
}
|
|
54
60
|
|
|
55
61
|
function isColorValue(obj: unknown, properties: ColorProperty[]): boolean {
|
|
@@ -128,12 +134,6 @@ export function isHslaColor(value: unknown): value is HSLAColor {
|
|
|
128
134
|
return isColorValue(value, KEYS_HSLA);
|
|
129
135
|
}
|
|
130
136
|
|
|
131
|
-
/**
|
|
132
|
-
* Is the value like an _HSLA_ color?
|
|
133
|
-
*
|
|
134
|
-
* @param value Value to check
|
|
135
|
-
* @returns `true` if the value is like an _HSLA_ color, otherwise `false`
|
|
136
|
-
*/
|
|
137
137
|
export function isHslaLike(value: unknown): value is Record<keyof HSLAColor, unknown> {
|
|
138
138
|
return hasKeys(value, KEYS_HSLA);
|
|
139
139
|
}
|
|
@@ -148,12 +148,6 @@ export function isHslColor(value: unknown): value is HSLColor {
|
|
|
148
148
|
return isColorValue(value, KEYS_HSLA) || isColorValue(value, KEYS_HSL);
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
/**
|
|
152
|
-
* Is the value like an _HSL_ color?
|
|
153
|
-
*
|
|
154
|
-
* @param value Value to check
|
|
155
|
-
* @returns `true` if the value is like an _HSL_ color, otherwise `false`
|
|
156
|
-
*/
|
|
157
151
|
export function isHslLike(value: unknown): value is Record<keyof HSLColor, unknown> {
|
|
158
152
|
return hasKeys(value, KEYS_HSL);
|
|
159
153
|
}
|
|
@@ -168,12 +162,6 @@ export function isHwbaColor(value: unknown): value is HWBAColor {
|
|
|
168
162
|
return isColorValue(value, KEYS_HWBA);
|
|
169
163
|
}
|
|
170
164
|
|
|
171
|
-
/**
|
|
172
|
-
* Is the value like an _HWBA_ color?
|
|
173
|
-
*
|
|
174
|
-
* @param value Value to check
|
|
175
|
-
* @returns `true` if the value is like an _HWBA_ color, otherwise `false`
|
|
176
|
-
*/
|
|
177
165
|
export function isHwbaLike(value: unknown): value is Record<keyof HWBAColor, unknown> {
|
|
178
166
|
return hasKeys(value, KEYS_HWBA);
|
|
179
167
|
}
|
|
@@ -188,12 +176,6 @@ export function isHwbColor(value: unknown): value is HWBColor {
|
|
|
188
176
|
return isColorValue(value, KEYS_HWB) || isColorValue(value, KEYS_HWBA);
|
|
189
177
|
}
|
|
190
178
|
|
|
191
|
-
/**
|
|
192
|
-
* Is the value like an _HWB_ color?
|
|
193
|
-
*
|
|
194
|
-
* @param value Value to check
|
|
195
|
-
* @returns `true` if the value is like an _HWB_ color, otherwise `false`
|
|
196
|
-
*/
|
|
197
179
|
export function isHwbLike(value: unknown): value is Record<keyof HWBColor, unknown> {
|
|
198
180
|
return hasKeys(value, KEYS_HWB);
|
|
199
181
|
}
|
|
@@ -208,12 +190,6 @@ export function isRgbaColor(value: unknown): value is RGBAColor {
|
|
|
208
190
|
return isColorValue(value, KEYS_RGBA);
|
|
209
191
|
}
|
|
210
192
|
|
|
211
|
-
/**
|
|
212
|
-
* Is the value like an _RGBA_ color?
|
|
213
|
-
*
|
|
214
|
-
* @param value Value to check
|
|
215
|
-
* @returns `true` if the value is like an _RGBA_ color, otherwise `false`
|
|
216
|
-
*/
|
|
217
193
|
export function isRgbaLike(value: unknown): value is Record<keyof RGBAColor, unknown> {
|
|
218
194
|
return hasKeys(value, KEYS_RGBA);
|
|
219
195
|
}
|
|
@@ -228,12 +204,6 @@ export function isRgbColor(value: unknown): value is RGBColor {
|
|
|
228
204
|
return isColorValue(value, KEYS_RGBA) || isColorValue(value, KEYS_RGB);
|
|
229
205
|
}
|
|
230
206
|
|
|
231
|
-
/**
|
|
232
|
-
* Is the value like an _RGB_ color?
|
|
233
|
-
*
|
|
234
|
-
* @param value Value to check
|
|
235
|
-
* @returns `true` if the value is like an _RGB_ color, otherwise `false`
|
|
236
|
-
*/
|
|
237
207
|
export function isRgbLike(value: unknown): value is Record<keyof RGBColor, unknown> {
|
|
238
208
|
return hasKeys(value, KEYS_RGB);
|
|
239
209
|
}
|