UNPKG

@tsports/go-colorful

Version:

A TypeScript port of the go-colorful package for working with colors

142 lines 7.4 kB
/** * Go-style API wrapper that provides identical naming and function signatures to the Go colorful package. * This module wraps the TypeScript implementation to match Go conventions exactly. */ import { Color as TSColor } from './color'; import * as TSColorful from './index'; export declare class Color { R: number; G: number; B: number; constructor(R: number, G: number, B: number); toTSColor(): TSColor; static fromTSColor(c: TSColor): Color; RGBA(): [number, number, number, number]; RGB255(): [number, number, number]; values(): [number, number, number]; IsValid(): boolean; Clamped(): Color; DistanceRgb(c2: Color): number; DistanceLinearRgb(c2: Color): number; DistanceLinearRGB(c2: Color): number; DistanceRiemersma(c2: Color): number; AlmostEqualRgb(c2: Color): boolean; DistanceLab(c2: Color): number; DistanceCIE76(c2: Color): number; DistanceLuv(c2: Color): number; DistanceHSLuv(c2: Color): number; DistanceHPLuv(c2: Color): number; DistanceCIE94(c2: Color): number; DistanceCIEDE2000(c2: Color): number; DistanceCIEDE2000klch(c2: Color, kL: number, kC: number, kH: number): number; BlendRgb(c2: Color, t: number): Color; BlendLinearRgb(c2: Color, t: number): Color; BlendHsv(c2: Color, t: number): Color; BlendLab(c2: Color, t: number): Color; BlendLuv(c2: Color, t: number): Color; BlendHcl(c2: Color, t: number): Color; BlendLuvLCh(c2: Color, t: number): Color; BlendOkLab(c2: Color, t: number): Color; BlendOkLch(c2: Color, t: number): Color; Hsv(): [number, number, number]; Hsl(): [number, number, number]; Hex(): string; LinearRgb(): [number, number, number]; FastLinearRgb(): [number, number, number]; Xyz(): [number, number, number]; Xyy(): [number, number, number]; XyyWhiteRef(wref: [number, number, number]): [number, number, number]; Lab(): [number, number, number]; LabWhiteRef(wref: [number, number, number]): [number, number, number]; Luv(): [number, number, number]; LuvWhiteRef(wref: [number, number, number]): [number, number, number]; Hcl(): [number, number, number]; HclWhiteRef(wref: [number, number, number]): [number, number, number]; LuvLCh(): [number, number, number]; LuvLChWhiteRef(wref: [number, number, number]): [number, number, number]; OkLab(): [number, number, number]; OkLch(): [number, number, number]; HSLuv(): [number, number, number]; HPLuv(): [number, number, number]; } export declare const Delta: number; export declare const D65: [number, number, number]; export declare const D50: [number, number, number]; export declare function MakeColor(col: { RGBA(): [number, number, number, number]; }): [Color, boolean]; export declare function Hex(hexCode: string): Color; export declare function Hsv(h: number, s: number, v: number): Color; export declare function Hsl(h: number, s: number, l: number): Color; export declare function Lab(l: number, a: number, b: number): Color; export declare function LabWhiteRef(l: number, a: number, b: number, wref: [number, number, number]): Color; export declare function Luv(l: number, u: number, v: number): Color; export declare function LuvWhiteRef(l: number, u: number, v: number, wref: [number, number, number]): Color; export declare function Hcl(h: number, c: number, l: number): Color; export declare function HclWhiteRef(h: number, c: number, l: number, wref: [number, number, number]): Color; export declare function LuvLCh(l: number, c: number, h: number): Color; export declare function LuvLChWhiteRef(l: number, c: number, h: number, wref: [number, number, number]): Color; export declare function Xyz(x: number, y: number, z: number): Color; export declare function Xyy(x: number, y: number, Y: number): Color; export declare function LinearRgb(r: number, g: number, b: number): Color; export declare function FastLinearRgb(r: number, g: number, b: number): Color; export declare function OkLab(l: number, a: number, b: number): Color; export declare function OkLch(l: number, c: number, h: number): Color; export declare function HSLuv(h: number, s: number, l: number): Color; export declare function HPLuv(h: number, s: number, l: number): Color; export declare function FastWarmColor(): Color; export declare function WarmColor(): Color; export declare function FastHappyColor(): Color; export declare function HappyColor(): Color; export declare function FastWarmColorWithRand(rand: RandInterface): Color; export declare function WarmColorWithRand(rand: RandInterface): Color; export declare function FastHappyColorWithRand(rand: RandInterface): Color; export declare function HappyColorWithRand(rand: RandInterface): Color; export declare function FastWarmPalette(colorsCount: number): Color[]; export declare function WarmPalette(colorsCount: number): [Color[], Error | null]; export declare function FastHappyPalette(colorsCount: number): Color[]; export declare function HappyPalette(colorsCount: number): [Color[], Error | null]; export declare function SoftPalette(colorsCount: number): [Color[], Error | null]; export declare function SoftPaletteEx(colorsCount: number, settings: TSColorful.SoftPaletteSettings): [Color[], Error | null]; export declare function FastWarmPaletteWithRand(colorsCount: number, rand: RandInterface): Color[]; export declare function WarmPaletteWithRand(colorsCount: number, rand: RandInterface): [Color[], Error | null]; export declare function FastHappyPaletteWithRand(colorsCount: number, rand: RandInterface): Color[]; export declare function HappyPaletteWithRand(colorsCount: number, rand: RandInterface): [Color[], Error | null]; export declare function SoftPaletteWithRand(colorsCount: number, rand: RandInterface): [Color[], Error | null]; export declare function SoftPaletteExWithRand(colorsCount: number, settings: TSColorful.SoftPaletteSettings, rand: RandInterface): [Color[], Error | null]; export declare function Sorted(colors: Color[]): Color[]; export interface RandInterface { Float64(): number; Intn(n: number): number; } export type SoftPaletteSettings = TSColorful.SoftPaletteSettings; export declare class HexColor { Color: Color; constructor(color: Color); static FromColor(color: Color): HexColor; ToColor(): Color; Hex(): string; Scan(value: unknown): void; Value(): string; MarshalJSON(): string; UnmarshalJSON(data: string): void; } /** * FastWarmPaletteSeeded generates a warm palette with a specific seed for deterministic output. * This function can produce identical results to Go's FastWarmPalette when using the same seed. * * @param colorsCount Number of colors to generate * @param seed Random seed (default: 1, same as Go's default) * @returns Array of warm colors */ export declare function FastWarmPaletteSeeded(colorsCount: number, seed?: number): Color[]; /** * FastHappyPaletteSeeded generates a happy palette with a specific seed for deterministic output. * This function can produce identical results to Go's FastHappyPalette when using the same seed. * * @param colorsCount Number of colors to generate * @param seed Random seed (default: 1, same as Go's default) * @returns Array of happy colors */ export declare function FastHappyPaletteSeeded(colorsCount: number, seed?: number): Color[]; //# sourceMappingURL=go-style.d.ts.map