UNPKG

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
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;