| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207 |
- import { HSL, HSLA, HSV, HSVA, Numberify, RGB, RGBA } from './interfaces.js';
- export interface TinyColorOptions {
- format: string;
- gradientType: string;
- }
- export type ColorInput = string | number | RGB | RGBA | HSL | HSLA | HSV | HSVA | TinyColor;
- export type ColorFormats = 'rgb' | 'prgb' | 'hex' | 'hex3' | 'hex4' | 'hex6' | 'hex8' | 'name' | 'hsl' | 'hsv';
- export declare class TinyColor {
- /** red */
- r: number;
- /** green */
- g: number;
- /** blue */
- b: number;
- /** alpha */
- a: number;
- /** the format used to create the tinycolor instance */
- format: ColorFormats;
- /** input passed into the constructer used to create the tinycolor instance */
- originalInput: ColorInput;
- /** the color was successfully parsed */
- isValid: boolean;
- gradientType?: string;
- /** rounded alpha */
- roundA: number;
- constructor(color?: ColorInput, opts?: Partial<TinyColorOptions>);
- isDark(): boolean;
- isLight(): boolean;
- /**
- * Returns the perceived brightness of the color, from 0-255.
- */
- getBrightness(): number;
- /**
- * Returns the perceived luminance of a color, from 0-1.
- */
- getLuminance(): number;
- /**
- * Returns the alpha value of a color, from 0-1.
- */
- getAlpha(): number;
- /**
- * Sets the alpha value on the current color.
- *
- * @param alpha - The new alpha value. The accepted range is 0-1.
- */
- setAlpha(alpha?: string | number): this;
- /**
- * Returns whether the color is monochrome.
- */
- isMonochrome(): boolean;
- /**
- * Returns the object as a HSVA object.
- */
- toHsv(): Numberify<HSVA>;
- /**
- * Returns the hsva values interpolated into a string with the following format:
- * "hsva(xxx, xxx, xxx, xx)".
- */
- toHsvString(): string;
- /**
- * Returns the object as a HSLA object.
- */
- toHsl(): Numberify<HSLA>;
- /**
- * Returns the hsla values interpolated into a string with the following format:
- * "hsla(xxx, xxx, xxx, xx)".
- */
- toHslString(): string;
- /**
- * Returns the hex value of the color.
- * @param allow3Char will shorten hex value to 3 char if possible
- */
- toHex(allow3Char?: boolean): string;
- /**
- * Returns the hex value of the color -with a # prefixed.
- * @param allow3Char will shorten hex value to 3 char if possible
- */
- toHexString(allow3Char?: boolean): string;
- /**
- * Returns the hex 8 value of the color.
- * @param allow4Char will shorten hex value to 4 char if possible
- */
- toHex8(allow4Char?: boolean): string;
- /**
- * Returns the hex 8 value of the color -with a # prefixed.
- * @param allow4Char will shorten hex value to 4 char if possible
- */
- toHex8String(allow4Char?: boolean): string;
- /**
- * Returns the shorter hex value of the color depends on its alpha -with a # prefixed.
- * @param allowShortChar will shorten hex value to 3 or 4 char if possible
- */
- toHexShortString(allowShortChar?: boolean): string;
- /**
- * Returns the object as a RGBA object.
- */
- toRgb(): Numberify<RGBA>;
- /**
- * Returns the RGBA values interpolated into a string with the following format:
- * "RGBA(xxx, xxx, xxx, xx)".
- */
- toRgbString(): string;
- /**
- * Returns the object as a RGBA object.
- */
- toPercentageRgb(): RGBA;
- /**
- * Returns the RGBA relative values interpolated into a string
- */
- toPercentageRgbString(): string;
- /**
- * The 'real' name of the color -if there is one.
- */
- toName(): string | false;
- /**
- * String representation of the color.
- *
- * @param format - The format to be used when displaying the string representation.
- */
- toString<T extends 'name'>(format: T): boolean | string;
- toString<T extends ColorFormats>(format?: T): string;
- toNumber(): number;
- clone(): TinyColor;
- /**
- * Lighten the color a given amount. Providing 100 will always return white.
- * @param amount - valid between 1-100
- */
- lighten(amount?: number): TinyColor;
- /**
- * Brighten the color a given amount, from 0 to 100.
- * @param amount - valid between 1-100
- */
- brighten(amount?: number): TinyColor;
- /**
- * Darken the color a given amount, from 0 to 100.
- * Providing 100 will always return black.
- * @param amount - valid between 1-100
- */
- darken(amount?: number): TinyColor;
- /**
- * Mix the color with pure white, from 0 to 100.
- * Providing 0 will do nothing, providing 100 will always return white.
- * @param amount - valid between 1-100
- */
- tint(amount?: number): TinyColor;
- /**
- * Mix the color with pure black, from 0 to 100.
- * Providing 0 will do nothing, providing 100 will always return black.
- * @param amount - valid between 1-100
- */
- shade(amount?: number): TinyColor;
- /**
- * Desaturate the color a given amount, from 0 to 100.
- * Providing 100 will is the same as calling greyscale
- * @param amount - valid between 1-100
- */
- desaturate(amount?: number): TinyColor;
- /**
- * Saturate the color a given amount, from 0 to 100.
- * @param amount - valid between 1-100
- */
- saturate(amount?: number): TinyColor;
- /**
- * Completely desaturates a color into greyscale.
- * Same as calling `desaturate(100)`
- */
- greyscale(): TinyColor;
- /**
- * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.
- * Values outside of this range will be wrapped into this range.
- */
- spin(amount: number): TinyColor;
- /**
- * Mix the current color a given amount with another color, from 0 to 100.
- * 0 means no mixing (return current color).
- */
- mix(color: ColorInput, amount?: number): TinyColor;
- analogous(results?: number, slices?: number): TinyColor[];
- /**
- * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js
- */
- complement(): TinyColor;
- monochromatic(results?: number): TinyColor[];
- splitcomplement(): TinyColor[];
- /**
- * Compute how the color would appear on a background
- */
- onBackground(background: ColorInput): TinyColor;
- /**
- * Alias for `polyad(3)`
- */
- triad(): TinyColor[];
- /**
- * Alias for `polyad(4)`
- */
- tetrad(): TinyColor[];
- /**
- * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...)
- * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc...
- */
- polyad(n: number): TinyColor[];
- /**
- * compare color vs current color
- */
- equals(color?: ColorInput): boolean;
- }
- export declare function tinycolor(color?: ColorInput, opts?: Partial<TinyColorOptions>): TinyColor;
|