UNPKG

@pagyew/safolor

Version:

Convert colors to 8-bit web-safe colors

66 lines (52 loc) 1.17 kB
type Num = number type Pct = `${number}%` type Alpha = Num | Pct type HEX = `#${string}` type RGB = LegacyRGB | ModernRGB type RGBA = LegacyRGBA | ModernRGBA type LegacyRGB = `rgb(${Num}, ${Num}, ${Num})` | `rgb(${Num}, ${Num}, ${Num}, ${Alpha})` | `rgb(${Pct}, ${Pct}, ${Pct})` | `rgb(${Pct}, ${Pct}, ${Pct}, ${Alpha})` type ModernRGB = `rgb(${Num | Pct} ${Num | Pct} ${Num | Pct})` | `rgb(${Num | Pct} ${Num | Pct} ${Num | Pct} / ${Alpha})` type LegacyRGBA = `rgba(${Num}, ${Num}, ${Num})` | `rgba(${Num}, ${Num}, ${Num}, ${Alpha})` | `rgba(${Pct}, ${Pct}, ${Pct})` | `rgba(${Pct}, ${Pct}, ${Pct}, ${Alpha})` type ModernRGBA = `rgba(${Num | Pct} ${Num | Pct} ${Num | Pct})` | `rgba(${Num | Pct} ${Num | Pct} ${Num | Pct} / ${Alpha})` interface RGBObject { r: Num g: Num b: Num a?: Num } interface Safolor { (color: HEX): HEX (color: RGB | RGBA): HEX hex: { (color: HEX): HEX (color: RGB | RGBA): HEX } rgb: { (color: HEX): RGB (color: RGB | RGBA): RGB } rgbObj: { (color: HEX): RGBObject (color: RGB | RGBA): RGBObject } } declare const safolor: Safolor; export { safolor };