2019-08-22 15:28:25 +02:00
/ * *
Basic foreground colors .
2021-01-24 14:27:41 +07:00
[ More colors here . ] ( https : //github.com/chalk/chalk/blob/main/readme.md#256-and-truecolor-color-support)
2019-08-22 15:28:25 +02:00
* /
2021-04-16 15:23:29 +07:00
export type ForegroundColor =
2019-08-22 15:28:25 +02:00
| 'black'
| 'red'
| 'green'
| 'yellow'
| 'blue'
| 'magenta'
| 'cyan'
| 'white'
| 'gray'
| 'grey'
| 'blackBright'
| 'redBright'
| 'greenBright'
| 'yellowBright'
| 'blueBright'
| 'magentaBright'
| 'cyanBright'
| 'whiteBright' ;
/ * *
Basic background colors .
2021-01-24 14:27:41 +07:00
[ More colors here . ] ( https : //github.com/chalk/chalk/blob/main/readme.md#256-and-truecolor-color-support)
2019-08-22 15:28:25 +02:00
* /
2021-04-16 15:23:29 +07:00
export type BackgroundColor =
2019-08-22 15:28:25 +02:00
| 'bgBlack'
| 'bgRed'
| 'bgGreen'
| 'bgYellow'
| 'bgBlue'
| 'bgMagenta'
| 'bgCyan'
| 'bgWhite'
| 'bgGray'
| 'bgGrey'
| 'bgBlackBright'
| 'bgRedBright'
| 'bgGreenBright'
| 'bgYellowBright'
| 'bgBlueBright'
| 'bgMagentaBright'
| 'bgCyanBright'
| 'bgWhiteBright' ;
/ * *
Basic colors .
2021-01-24 14:27:41 +07:00
[ More colors here . ] ( https : //github.com/chalk/chalk/blob/main/readme.md#256-and-truecolor-color-support)
2019-08-22 15:28:25 +02:00
* /
2021-04-16 15:23:29 +07:00
export type Color = ForegroundColor | BackgroundColor ;
2019-08-22 15:28:25 +02:00
2021-04-16 15:23:29 +07:00
export type Modifiers =
2019-08-22 15:28:25 +02:00
| 'reset'
| 'bold'
| 'dim'
| 'italic'
| 'underline'
| 'inverse'
| 'hidden'
| 'strikethrough'
| 'visible' ;
2021-04-16 15:23:29 +07:00
/ * *
Levels :
- ` 0 ` - All colors disabled .
- ` 1 ` - Basic 16 colors support .
- ` 2 ` - ANSI 256 colors support .
- ` 3 ` - Truecolor 16 million colors support .
* /
export type ColorSupportLevel = 0 | 1 | 2 | 3 ;
export interface Options {
2020-04-02 15:46:17 +08:00
/ * *
2021-04-16 15:23:29 +07:00
Specify the color support for Chalk .
By default , color support is automatically detected based on the environment .
2020-04-02 15:46:17 +08:00
Levels :
- ` 0 ` - All colors disabled .
- ` 1 ` - Basic 16 colors support .
- ` 2 ` - ANSI 256 colors support .
- ` 3 ` - Truecolor 16 million colors support .
* /
2021-04-16 15:23:29 +07:00
readonly level? : ColorSupportLevel ;
}
/ * *
Return a new Chalk instance .
* /
export type ChalkInstance = new ( options? : Options ) = > Chalk ;
/ * *
Detect whether the terminal supports color .
* /
export interface ColorSupport {
/ * *
The color level used by Chalk .
* /
level : ColorSupportLevel ;
/ * *
Return whether Chalk supports basic 16 colors .
* /
hasBasic : boolean ;
/ * *
Return whether Chalk supports ANSI 256 colors .
* /
has256 : boolean ;
/ * *
Return whether Chalk supports Truecolor 16 million colors .
* /
has16m : boolean ;
}
interface ChalkFunction {
/ * *
Use a template string .
@remarks Template literals are unsupported for nested calls ( see [ issue # 341 ] ( https : //github.com/chalk/chalk/issues/341))
@example
` ` `
import chalk from 'chalk' ;
log ( chalk `
CPU : { red $ { cpu . totalPercent } % }
RAM : { green $ { ram . used / ram . total * 100 } % }
DISK : { rgb ( 255 , 131 , 0 ) $ { disk . used / disk . total * 100 } % }
` );
` ` `
2019-04-28 04:10:44 +00:00
2021-04-16 15:23:29 +07:00
@example
` ` `
import chalk from 'chalk' ;
2020-04-02 15:46:17 +08:00
2021-04-16 15:23:29 +07:00
log ( chalk . red . bgBlack ` 2 + 3 = {bold ${ 2 + 3 } } ` )
` ` `
* /
( text : TemplateStringsArray , . . . placeholders : unknown [ ] ) : string ;
2020-04-02 15:46:17 +08:00
2021-04-16 15:23:29 +07:00
( . . . text : unknown [ ] ) : string ;
}
2019-04-28 04:10:44 +00:00
2021-04-16 15:23:29 +07:00
export interface Chalk extends ChalkFunction {
2020-04-02 15:56:21 +08:00
/ * *
Return a new Chalk instance .
* /
2021-04-16 15:23:29 +07:00
Instance : ChalkInstance ;
2019-04-28 04:10:44 +00:00
2018-12-26 03:06:00 +02:00
/ * *
2021-04-16 15:23:29 +07:00
The color support for Chalk .
By default , color support is automatically detected based on the environment .
Levels :
- ` 0 ` - All colors disabled .
- ` 1 ` - Basic 16 colors support .
- ` 2 ` - ANSI 256 colors support .
- ` 3 ` - Truecolor 16 million colors support .
2019-04-28 04:10:44 +00:00
* /
2021-04-16 15:23:29 +07:00
level : ColorSupportLevel ;
2019-04-28 04:10:44 +00:00
2021-04-16 15:23:29 +07:00
/ * *
Use HEX value to set text color .
2019-04-28 04:10:44 +00:00
2021-04-16 15:23:29 +07:00
@param color - Hexadecimal value representing the desired color .
2018-12-26 03:06:00 +02:00
2021-04-16 15:23:29 +07:00
@example
` ` `
import chalk from 'chalk' ;
2018-12-26 03:06:00 +02:00
2021-04-16 15:23:29 +07:00
chalk . hex ( '#DEADED' ) ;
` ` `
* /
hex : ( color : string ) = > Chalk ;
2019-05-11 10:04:20 +02:00
2021-04-16 15:23:29 +07:00
/ * *
Use keyword color value to set text color .
2019-04-28 04:10:44 +00:00
2021-04-16 15:23:29 +07:00
@param color - Keyword value representing the desired color .
2019-07-12 13:51:07 +07:00
2021-04-16 15:23:29 +07:00
@example
` ` `
import chalk from 'chalk' ;
2020-06-09 09:36:34 +02:00
2021-04-16 15:23:29 +07:00
chalk . keyword ( 'orange' ) ;
` ` `
* /
keyword : ( color : string ) = > Chalk ;
2020-06-09 09:36:34 +02:00
2021-04-16 15:23:29 +07:00
/ * *
Use RGB values to set text color .
* /
rgb : ( red : number , green : number , blue : number ) = > Chalk ;
2019-04-28 04:10:44 +00:00
2021-04-16 15:23:29 +07:00
/ * *
Use HSL values to set text color .
* /
hsl : ( hue : number , saturation : number , lightness : number ) = > Chalk ;
2019-05-11 10:04:20 +02:00
2021-04-16 15:23:29 +07:00
/ * *
Use HSV values to set text color .
* /
hsv : ( hue : number , saturation : number , value : number ) = > Chalk ;
/ * *
Use HWB values to set text color .
* /
hwb : ( hue : number , whiteness : number , blackness : number ) = > Chalk ;
2019-04-28 04:10:44 +00:00
2021-04-16 15:23:29 +07:00
/ * *
Use a [ Select / Set Graphic Rendition ] ( https : //en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters) (SGR) [color code number](https://en.wikipedia.org/wiki/ANSI_escape_code#3/4_bit) to set text color.
2020-04-02 15:46:17 +08:00
2021-04-16 15:23:29 +07:00
30 <= code && code < 38 || 90 <= code && code < 98
For example , 31 for red , 91 for redBright .
* /
ansi : ( code : number ) = > Chalk ;
2020-04-02 15:46:17 +08:00
2021-04-16 15:23:29 +07:00
/ * *
Use a [ 8 - bit unsigned number ] ( https : //en.wikipedia.org/wiki/ANSI_escape_code#8-bit) to set text color.
* /
ansi256 : ( index : number ) = > Chalk ;
2019-04-28 04:10:44 +00:00
2021-04-16 15:23:29 +07:00
/ * *
Use HEX value to set background color .
2019-04-28 04:10:44 +00:00
2021-04-16 15:23:29 +07:00
@param color - Hexadecimal value representing the desired color .
2019-04-28 04:10:44 +00:00
2021-04-16 15:23:29 +07:00
@example
` ` `
import chalk from 'chalk' ;
2019-04-28 04:10:44 +00:00
2021-04-16 15:23:29 +07:00
chalk . bgHex ( '#DEADED' ) ;
` ` `
* /
bgHex : ( color : string ) = > Chalk ;
2019-04-28 04:10:44 +00:00
2021-04-16 15:23:29 +07:00
/ * *
Use keyword color value to set background color .
2019-04-28 04:10:44 +00:00
2021-04-16 15:23:29 +07:00
@param color - Keyword value representing the desired color .
2019-04-28 04:10:44 +00:00
2021-04-16 15:23:29 +07:00
@example
` ` `
import chalk from 'chalk' ;
chalk . bgKeyword ( 'orange' ) ;
` ` `
* /
bgKeyword : ( color : string ) = > Chalk ;
/ * *
Use RGB values to set background color .
* /
bgRgb : ( red : number , green : number , blue : number ) = > Chalk ;
/ * *
Use HSL values to set background color .
* /
bgHsl : ( hue : number , saturation : number , lightness : number ) = > Chalk ;
/ * *
Use HSV values to set background color .
* /
bgHsv : ( hue : number , saturation : number , value : number ) = > Chalk ;
/ * *
Use HWB values to set background color .
* /
bgHwb : ( hue : number , whiteness : number , blackness : number ) = > Chalk ;
/ * *
Use a [ Select / Set Graphic Rendition ] ( https : //en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters) (SGR) [color code number](https://en.wikipedia.org/wiki/ANSI_escape_code#3/4_bit) to set background color.
30 <= code && code < 38 || 90 <= code && code < 98
For example , 31 for red , 91 for redBright .
Use the foreground code , not the background code ( for example , not 41 , nor 101 ) .
* /
bgAnsi : ( code : number ) = > Chalk ;
/ * *
Use a [ 8 - bit unsigned number ] ( https : //en.wikipedia.org/wiki/ANSI_escape_code#8-bit) to set background color.
* /
bgAnsi256 : ( index : number ) = > Chalk ;
/ * *
Modifier : Resets the current color chain .
* /
readonly reset : Chalk ;
/ * *
Modifier : Make text bold .
* /
readonly bold : Chalk ;
/ * *
Modifier : Emitting only a small amount of light .
* /
readonly dim : Chalk ;
/ * *
Modifier : Make text italic . ( Not widely supported )
* /
readonly italic : Chalk ;
/ * *
Modifier : Make text underline . ( Not widely supported )
* /
readonly underline : Chalk ;
/ * *
Modifier : Inverse background and foreground colors .
* /
readonly inverse : Chalk ;
/ * *
Modifier : Prints the text , but makes it invisible .
* /
readonly hidden : Chalk ;
/ * *
Modifier : Puts a horizontal line through the center of the text . ( Not widely supported )
* /
readonly strikethrough : Chalk ;
/ * *
Modifier : Prints the text only when Chalk has a color support level > 0 .
Can be useful for things that are purely cosmetic .
* /
readonly visible : Chalk ;
readonly black : Chalk ;
readonly red : Chalk ;
readonly green : Chalk ;
readonly yellow : Chalk ;
readonly blue : Chalk ;
readonly magenta : Chalk ;
readonly cyan : Chalk ;
readonly white : Chalk ;
/ *
Alias for ` blackBright ` .
* /
readonly gray : Chalk ;
/ *
Alias for ` blackBright ` .
* /
readonly grey : Chalk ;
readonly blackBright : Chalk ;
readonly redBright : Chalk ;
readonly greenBright : Chalk ;
readonly yellowBright : Chalk ;
readonly blueBright : Chalk ;
readonly magentaBright : Chalk ;
readonly cyanBright : Chalk ;
readonly whiteBright : Chalk ;
readonly bgBlack : Chalk ;
readonly bgRed : Chalk ;
readonly bgGreen : Chalk ;
readonly bgYellow : Chalk ;
readonly bgBlue : Chalk ;
readonly bgMagenta : Chalk ;
readonly bgCyan : Chalk ;
readonly bgWhite : Chalk ;
/ *
Alias for ` bgBlackBright ` .
* /
readonly bgGray : Chalk ;
/ *
Alias for ` bgBlackBright ` .
* /
readonly bgGrey : Chalk ;
readonly bgBlackBright : Chalk ;
readonly bgRedBright : Chalk ;
readonly bgGreenBright : Chalk ;
readonly bgYellowBright : Chalk ;
readonly bgBlueBright : Chalk ;
readonly bgMagentaBright : Chalk ;
readonly bgCyanBright : Chalk ;
readonly bgWhiteBright : Chalk ;
2018-12-26 03:06:00 +02:00
}
/ * *
2019-04-28 04:10:44 +00:00
Main Chalk object that allows to chain styles together .
2021-04-16 15:23:29 +07:00
2019-04-28 04:10:44 +00:00
Call the last one as a method with a string argument .
2021-04-16 15:23:29 +07:00
2019-04-28 04:10:44 +00:00
Order doesn ' t matter , and later styles take precedent in case of a conflict .
2021-04-16 15:23:29 +07:00
2019-04-28 04:10:44 +00:00
This simply means that ` chalk.red.yellow.green ` is equivalent to ` chalk.green ` .
* /
2021-04-16 15:23:29 +07:00
declare const chalk : Chalk & ChalkFunction & {
supportsColor : ColorSupport | false ;
stderr : Chalk & { supportsColor : ColorSupport | false } ;
2019-04-28 04:10:44 +00:00
} ;
2021-04-16 15:23:29 +07:00
export default chalk ;