Color
Color utility with multiple output formats and ANSI helpers.
Diagram
Constructor
ts
new Color(input: ColorInput, protectionLevel?: ProtectionLevel)| Argument | Type | Description |
|---|---|---|
input | ColorInput | Color input. |
protectionLevel | ProtectionLevel | Validation strictness. |
ColorInput can be:
ts
string
| { r: number; g: number; b: number; a?: number }
| { h: number; s: number; l: number; a?: number }Properties
This class exposes no public instance properties.
Static Properties
| Property | Type | Description |
|---|---|---|
RESET | string | ANSI reset sequence. |
BOLD | string | ANSI bold sequence. |
UNDERLINE | string | ANSI underline sequence. |
Methods
.hex()
Returns the color as a hex string.
.rgb()
Returns the color as an rgb(...) string.
.rgba()
Returns the color as an rgba(...) string.
.hsl()
Returns the color as an hsl(...) string.
.hsla()
Returns the color as an hsla(...) string.
.css()
Returns a CSS-ready string for this color.
.ansiTruecolor()
Returns a 24-bit ANSI sequence for the foreground color.
.ansiTruecolorBg()
Returns a 24-bit ANSI sequence for the background color.
.ansi256()
Returns a 256-color ANSI sequence for the foreground color.
.ansi256Bg()
Returns a 256-color ANSI sequence for the background color.
.wrapAnsi(text: string, opts?: { background?: boolean; use256?: boolean; bold?: boolean; underline?: boolean })
Wraps the given text with ANSI styling based on the color.
| Argument | Type | Description |
|---|---|---|
text | string | Text to wrap. |
opts | object | Formatting options. |
opts fields:
background(boolean): Use background color.use256(boolean): Use 256-color mode.bold(boolean): Apply bold.underline(boolean): Apply underline.
Example
ts
const color = new Color({ r: 255, g: 0, b: 0 }, "boundary");
console.log(color.hex()); // "#ff0000"
console.log(color.rgb()); // "rgb(255, 0, 0)"
console.log(color.ansiTruecolor()); // ANSI sequence for red foreground
console.log(color.wrapAnsi("Hello", { bold: true })); // "Hello" wrapped in red and bold ANSI sequences