This commit is contained in:
nik
2025-10-03 22:27:28 +03:00
parent 829fad0e17
commit 871cf7e792
16520 changed files with 2967597 additions and 3 deletions

34
node_modules/khroma/dist/utils/channel.d.ts generated vendored Normal file
View File

@@ -0,0 +1,34 @@
import type { RGB, HSL } from '../types';
declare const Channel: {
min: {
r: number;
g: number;
b: number;
s: number;
l: number;
a: number;
};
max: {
r: number;
g: number;
b: number;
h: number;
s: number;
l: number;
a: number;
};
clamp: {
r: (r: number) => number;
g: (g: number) => number;
b: (b: number) => number;
h: (h: number) => number;
s: (s: number) => number;
l: (l: number) => number;
a: (a: number) => number;
};
toLinear: (c: number) => number;
hue2rgb: (p: number, q: number, t: number) => number;
hsl2rgb: ({ h, s, l }: HSL, channel: keyof RGB) => number;
rgb2hsl: ({ r, g, b }: RGB, channel: keyof HSL) => number;
};
export default Channel;

89
node_modules/khroma/dist/utils/channel.js generated vendored Normal file
View File

@@ -0,0 +1,89 @@
/* IMPORT */
/* MAIN */
const Channel = {
/* CLAMP */
min: {
r: 0,
g: 0,
b: 0,
s: 0,
l: 0,
a: 0
},
max: {
r: 255,
g: 255,
b: 255,
h: 360,
s: 100,
l: 100,
a: 1
},
clamp: {
r: (r) => r >= 255 ? 255 : (r < 0 ? 0 : r),
g: (g) => g >= 255 ? 255 : (g < 0 ? 0 : g),
b: (b) => b >= 255 ? 255 : (b < 0 ? 0 : b),
h: (h) => h % 360,
s: (s) => s >= 100 ? 100 : (s < 0 ? 0 : s),
l: (l) => l >= 100 ? 100 : (l < 0 ? 0 : l),
a: (a) => a >= 1 ? 1 : (a < 0 ? 0 : a)
},
/* CONVERSION */
//SOURCE: https://planetcalc.com/7779
toLinear: (c) => {
const n = c / 255;
return c > .03928 ? Math.pow(((n + .055) / 1.055), 2.4) : n / 12.92;
},
//SOURCE: https://gist.github.com/mjackson/5311256
hue2rgb: (p, q, t) => {
if (t < 0)
t += 1;
if (t > 1)
t -= 1;
if (t < 1 / 6)
return p + (q - p) * 6 * t;
if (t < 1 / 2)
return q;
if (t < 2 / 3)
return p + (q - p) * (2 / 3 - t) * 6;
return p;
},
hsl2rgb: ({ h, s, l }, channel) => {
if (!s)
return l * 2.55; // Achromatic
h /= 360;
s /= 100;
l /= 100;
const q = (l < .5) ? l * (1 + s) : (l + s) - (l * s);
const p = 2 * l - q;
switch (channel) {
case 'r': return Channel.hue2rgb(p, q, h + 1 / 3) * 255;
case 'g': return Channel.hue2rgb(p, q, h) * 255;
case 'b': return Channel.hue2rgb(p, q, h - 1 / 3) * 255;
}
},
rgb2hsl: ({ r, g, b }, channel) => {
r /= 255;
g /= 255;
b /= 255;
const max = Math.max(r, g, b);
const min = Math.min(r, g, b);
const l = (max + min) / 2;
if (channel === 'l')
return l * 100;
if (max === min)
return 0; // Achromatic
const d = max - min;
const s = (l > .5) ? d / (2 - max - min) : d / (max + min);
if (channel === 's')
return s * 100;
switch (max) {
case r: return ((g - b) / d + (g < b ? 6 : 0)) * 60;
case g: return ((b - r) / d + 2) * 60;
case b: return ((r - g) / d + 4) * 60;
default: return -1; //TSC: TypeScript is stupid and complains if there isn't this useless default statement
}
}
};
/* EXPORT */
export default Channel;

42
node_modules/khroma/dist/utils/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,42 @@
declare const Utils: {
channel: {
min: {
r: number;
g: number;
b: number;
s: number;
l: number;
a: number;
};
max: {
r: number;
g: number;
b: number;
h: number;
s: number;
l: number;
a: number;
};
clamp: {
r: (r: number) => number;
g: (g: number) => number;
b: (b: number) => number;
h: (h: number) => number;
s: (s: number) => number;
l: (l: number) => number;
a: (a: number) => number;
};
toLinear: (c: number) => number;
hue2rgb: (p: number, q: number, t: number) => number;
hsl2rgb: ({ h, s, l }: import("../types").HSL, channel: keyof import("../types").RGB) => number;
rgb2hsl: ({ r, g, b }: import("../types").RGB, channel: keyof import("../types").HSL) => number;
};
lang: {
clamp: (number: number, lower: number, upper: number) => number;
round: (number: number) => number;
};
unit: {
dec2hex: (dec: number) => string;
};
};
export default Utils;

12
node_modules/khroma/dist/utils/index.js generated vendored Normal file
View File

@@ -0,0 +1,12 @@
/* IMPORT */
import channel from './channel.js';
import lang from './lang.js';
import unit from './unit.js';
/* MAIN */
const Utils = {
channel,
lang,
unit
};
/* EXPORT */
export default Utils;

5
node_modules/khroma/dist/utils/lang.d.ts generated vendored Normal file
View File

@@ -0,0 +1,5 @@
declare const Lang: {
clamp: (number: number, lower: number, upper: number) => number;
round: (number: number) => number;
};
export default Lang;

14
node_modules/khroma/dist/utils/lang.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
/* MAIN */
const Lang = {
/* API */
clamp: (number, lower, upper) => {
if (lower > upper)
return Math.min(lower, Math.max(upper, number));
return Math.min(upper, Math.max(lower, number));
},
round: (number) => {
return Math.round(number * 10000000000) / 10000000000;
}
};
/* EXPORT */
export default Lang;

4
node_modules/khroma/dist/utils/unit.d.ts generated vendored Normal file
View File

@@ -0,0 +1,4 @@
declare const Unit: {
dec2hex: (dec: number) => string;
};
export default Unit;

10
node_modules/khroma/dist/utils/unit.js generated vendored Normal file
View File

@@ -0,0 +1,10 @@
/* MAIN */
const Unit = {
/* API */
dec2hex: (dec) => {
const hex = Math.round(dec).toString(16);
return hex.length > 1 ? hex : `0${hex}`;
}
};
/* EXPORT */
export default Unit;