UNPKG

shade-generator

Version:
40 lines (39 loc) 1.18 kB
export declare type Rgba = { r: number; g: number; b: number; a?: number | null; }; export declare type Hsv = { h: number; s: number; v: number; }; export declare type Shade = "10" | "20" | "30" | "40" | "50" | "60" | "70" | "80" | "90" | "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | "1000"; export declare type ShadeOption = { multiplier: number; value: Rgba; }; export declare type Shades = Record<Shade, ShadeOption>; export declare type ColorFormat = "rgba" | "hsl" | "hex"; export interface IShadeGenerator { baseColor: Rgba; shades: Shades; currentShade: Shade; currentShadeValue(): Rgba; config(shades: Record<Shade, number>): IShadeGenerator; /** * * @param color : Can be both hex or rgba; */ hue(color?: string): IShadeGenerator; shade(shade: Shade): IShadeGenerator; shadesMap(colorFormat: ColorFormat): Record<Shade, string>; generateShade(shade: Shade): Rgba; generateShades(): void; opacity(amount: number): IShadeGenerator; hsv(): Hsv; rgba(color?: Rgba): string; hsl(color?: Rgba): string; hex(color?: Rgba): string; }