colvert
Version:
A comprehensive color conversion and manipulation package for JavaScript/TypeScript
81 lines (72 loc) • 3.46 kB
TypeScript
declare module 'colvert' {
export type RGB = [number, number, number];
export type RGBA = [number, number, number, number];
export type HSL = [number, number, number];
export type HSV = [number, number, number];
export type CMYK = [number, number, number, number];
export type HEX = string;
export type LAB = [number, number, number];
export type LCH = [number, number, number];
export type XYZ = [number, number, number];
export interface ColorScheme {
base: HEX;
analogous: HEX[];
complementary: HEX[];
triadic: HEX[];
tetradic: HEX[];
monochromatic: HEX[];
splitComplementary: HEX[];
}
export function rgbToHex(rgb: RGB): HEX;
export function rgbTohex(rgb: RGB): HEX;
export function rgbToHsl(rgb: RGB): HSL;
export function rgbTohsl(rgb: RGB): HSL;
export function rgbToHsv(rgb: RGB): HSV;
export function rgbTohsv(rgb: RGB): HSV;
export function rgbToCmyk(rgb: RGB): CMYK;
export function rgbTocmyk(rgb: RGB): CMYK;
export function rgbToLab(rgb: RGB): LAB;
export function rgbToXyz(rgb: RGB): XYZ;
export function rgbToLch(rgb: RGB): LCH;
export function rgbaToHex(rgba: RGBA): HEX;
export function hexTorgb(hex: HEX): RGB;
export function hexToRgb(hex: HEX): RGB;
export function hexToHsl(hex: HEX): HSL;
export function hexTohsl(hex: HEX): HSL;
export function hexToHsv(hex: HEX): HSV;
export function hexTohsv(hex: HEX): HSV;
export function hexToCmyk(hex: HEX): CMYK;
export function hexTocmyk(hex: HEX): CMYK;
export function hexToRgba(hex: HEX): RGBA;
export function hslToRgb(hsl: HSL): RGB;
export function hslTorgb(hsl: HSL): RGB;
export function hslToHex(hsl: HSL): HEX;
export function hslTohex(hsl: HSL): HEX;
export function hslToHsv(hsl: HSL): HSV;
export function hslTohsv(hsl: HSL): HSV;
export function cmykToRgb(cmyk: CMYK): RGB;
export function cmykTorgb(cmyk: CMYK): RGB;
export function cmykToHex(cmyk: CMYK): HEX;
export function cmykTohex(cmyk: CMYK): HEX;
export function cmykToHsl(cmyk: CMYK): HSL;
export function cmykTohsl(cmyk: CMYK): HSL;
export interface RandomColorOptions {
format?: 'hex' | 'rgb' | 'hsl';
hue?: number | [number, number];
saturation?: number | [number, number];
lightness?: number | [number, number];
}
export function randomColor(options?: RandomColorOptions): HEX | RGB | HSL;
export function randomcolor(options?: RandomColorOptions): HEX | RGB | HSL;
export function generateColorScheme(baseColor: RGB | HEX): ColorScheme;
export function lighten(color: RGB | HEX | HSL, amount: number): typeof color;
export function darken(color: RGB | HEX | HSL, amount: number): typeof color;
export function saturate(color: RGB | HEX | HSL, amount: number): typeof color;
export function desaturate(color: RGB | HEX | HSL, amount: number): typeof color;
export function grayscale(color: RGB | HEX | HSL): typeof color;
export function getLuminance(color: RGB | HEX): number;
export function getContrastRatio(color1: RGB | HEX, color2: RGB | HEX): number;
export function isWcagAA(color1: RGB | HEX, color2: RGB | HEX): boolean;
export function isWcagAAA(color1: RGB | HEX, color2: RGB | HEX): boolean;
export function getSuggestedTextColor(background: RGB | HEX): HEX;
}