ngx-input-color
Version:
Angular color input component and color picker (with HSL, HSV, RGB, CMYK, HEX, alpha, eye-dropper, etc)
107 lines (106 loc) • 4.05 kB
TypeScript
import { CMYK, HSL, HSLA, HSV, HSVA, RGB, RGBA } from './interfaces';
export declare function hexToRgb(hex: string): RGBA;
export declare function parseRgbString(str: string): RGBA;
export declare function parseHslString(str: string): HSLA;
export declare function parseHsvString(str: string): HSVA;
export declare function parseCmykString(str: string): CMYK;
/**
* Take input from [0, n] and return it as [0, 1]
* @hidden
*/
export declare function bound01(n: any, max: number): number;
/**
* Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1
* <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>
* @hidden
*/
export declare function isOnePointZero(n: string | number): boolean;
/**
* Check to see if string passed in is a percentage
* @hidden
*/
export declare function isPercentage(n: string | number): boolean;
/**
* convert all properties in an interface to a number
*/
export type Numberify<T> = {
[P in keyof T]: number;
};
/**
* Replace a decimal with it's percentage value
* @hidden
*/
export declare function convertToPercentage(n: number | string): number | string;
/**
* Force a hex value to have 2 characters
* @hidden
*/
export declare function pad2(c: string): string;
/**
* Handle bounds / percentage checking to conform to CSS color spec
* <http://www.w3.org/TR/css3-color/>
* *Assumes:* r, g, b in [0, 255] or [0, 1]
* *Returns:* { r, g, b } in [0, 255]
*/
export declare function rgbToRgb(r: number | string, g: number | string, b: number | string): Numberify<RGB>;
/**
* Converts an RGB color value to HSL.
* *Assumes:* r, g, and b are contained in [0, 255]
* *Returns:* { h: 0-360, s: 0-100, l: 0-100 }
*/
export declare function rgbToHsl(r: number, g: number, b: number): Numberify<HSL>;
/**
* Converts an HSL color value to RGB.
* *Assumes:* h in [0, 360], s and l in [0, 100]
* *Returns:* { r, g, b } in [0, 255]
*/
export declare function hslToRgba(h: number | string, s: number | string, l: number | string, a?: number): RGBA;
/**
* Converts an RGB color value to HSV
* *Assumes:* r, g, and b are contained in [0, 255]
* *Returns:* { h: 0-360, s: 0-100, v: 0-100 }
*/
export declare function rgbToHsv(r: number, g: number, b: number): Numberify<HSV>;
/**
* Converts an HSV color value to RGB.
* *Assumes:* h in [0, 360], s and v in [0, 100]
* *Returns:* { r, g, b } in [0, 255]
*/
export declare function hsvToRgb(h: number | string, s: number | string, v: number | string): Numberify<RGB>;
/**
* Converts an RGB/RGBA color to hex
*/
export declare function rgbaToHex(r: number, g: number, b: number, a?: number, allowAlpha?: boolean, allow3Char?: boolean): string;
/**
* Converts an RGBA color to an ARGB Hex8 string
* Rarely used, but required for "toFilter()"
*
* *Assumes:* r, g, b are contained in the set [0, 255] and a in [0, 1]
* *Returns:* a 8 character argb hex
*/
export declare function rgbaToArgbHex(r: number, g: number, b: number, a: number): string;
/**
* Converts CMYK to RBG
* Assumes c, m, y, k are in the set [0, 100]
*/
export declare function cmykToRgb(c: number, m: number, y: number, k: number): {
r: number;
g: number;
b: number;
};
export declare function rgbToCmyk(r: number, g: number, b: number): {
c: number;
m: number;
y: number;
k: number;
};
/** Converts a decimal to a hex value */
export declare function convertDecimalToHex(d: string | number): string;
/** Converts a hex value to a decimal */
export declare function convertHexToDecimal(h: string): number;
/** Parse a base-16 hex value into a base-10 integer */
export declare function parseIntFromHex(val: string): number;
export declare function numberInputToObject(color: number): RGB;
export declare function rgbToHslaString(r: number, g: number, b: number, a?: number): string;
export declare function rgbToHsvString(r: number, g: number, b: number, a?: number): string;
export declare function rgbToCmykString(r: number, g: number, b: number): string;