Skip to content
Permalink
9bfb9ba527
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Latest commit 0a11e3f Jan 18, 2023 History
0 contributors

Users who have contributed to this file

328 lines (289 sloc) 17.5 KB
# figures
> Unicode symbols with fallbacks for older terminals
[![](screenshot.png)](index.js)
[*and more...*](index.js)
Terminals such as Windows Console Host (and CMD) only support a [limited character set](http://en.wikipedia.org/wiki/Code_page_437).
## Install
```sh
npm install figures
```
## Usage
```js
import figures, {replaceSymbols, mainSymbols, fallbackSymbols} from 'figures';
console.log(figures.tick);
// On terminals with Unicode symbols: ✔︎
// On other terminals: √
console.log(figures.mainSymbols.tick);
// On all terminals: ✔︎
console.log(figures.fallbackSymbols.tick);
// On all terminals: √
console.log(figures.replaceSymbols('✔︎ check'));
// On terminals with Unicode symbols: ✔︎ check
// On other terminals: √ check
```
## API
### figures (default export)
Type: `object`
Symbols to use on any terminal.
### mainSymbols
Symbols to use when the terminal supports Unicode symbols.
### fallbackSymbols
Symbols to use when the terminal does not support Unicode symbols.
### replaceSymbols(string)
Returns the input with replaced fallback Unicode symbols on older terminals.
All the below [figures](#figures) are attached to the default export as shown in the example above.
#### string
Type: `string`
String where the Unicode symbols will be replaced with fallback symbols depending on the terminal.
## Figures
`Fallback` characters are only shown when they differ from the `Main` ones.
| Name | Main | Fallback |
| ------------------------------------------- | :--: | :------: |
| tick | `` | `` |
| info | `` | `i` |
| warning | `` | `` |
| cross | `` | `×` |
| square | `` | |
| squareSmall | `` | `` |
| squareSmallFilled | `` | `` |
| squareDarkShade | `` | |
| squareMediumShade | `` | |
| squareLightShade | `` | |
| squareTop | `` | |
| squareBottom | `` | |
| squareLeft | `` | |
| squareRight | `` | |
| squareCenter | `` | |
| circle | `` | `( )` |
| circleFilled | `` | `(*)` |
| circleDotted | `` | `( )` |
| circleDouble | `` | `( )` |
| circleCircle | `` | `(○)` |
| circleCross | `` | `(×)` |
| circlePipe | `` | `(│)` |
| circleQuestionMark | `?⃝ ` | `(?)` |
| radioOn | `` | `(*)` |
| radioOff | `` | `( )` |
| checkboxOn | `` | `[×]` |
| checkboxOff | `` | `[ ]` |
| checkboxCircleOn | `` | `(×)` |
| checkboxCircleOff | `` | `( )` |
| questionMarkPrefix | `?⃝ ` | `` |
| bullet | `` | |
| dot | `` | |
| ellipsis | `` | |
| pointer | `` | `>` |
| pointerSmall | `` | `` |
| triangleUp | `` | |
| triangleUpSmall | `` | |
| triangleUpOutline | `` | `` |
| triangleDown | `` | |
| triangleDownSmall | `` | |
| triangleLeft | `` | `` |
| triangleLeftSmall | `` | |
| triangleRight | `` | `` |
| triangleRightSmall | `` | |
| lozenge | `` | `` |
| lozengeOutline | `` | `` |
| home | `` | |
| hamburger | `` | `` |
| smiley | `` | `` |
| mustache | `` | `┌─┐` |
| heart | `` | |
| star | `` | `` |
| play | `` | `` |
| musicNote | `` | |
| musicNoteBeamed | `` | |
| nodejs | `` | `` |
| arrowUp | `` | |
| arrowDown | `` | |
| arrowLeft | `` | |
| arrowRight | `` | |
| arrowLeftRight | `` | |
| arrowUpDown | `` | |
| almostEqual | `` | |
| notEqual | `` | |
| lessOrEqual | `` | |
| greaterOrEqual | `` | |
| identical | `` | |
| infinity | `` | |
| subscriptZero | `` | |
| subscriptOne | `` | |
| subscriptTwo | `` | |
| subscriptThree | `` | |
| subscriptFour | `` | |
| subscriptFive | `` | |
| subscriptSix | `` | |
| subscriptSeven | `` | |
| subscriptEight | `` | |
| subscriptNine | `` | |
| oneHalf | `½` | |
| oneThird | `` | |
| oneQuarter | `¼` | |
| oneFifth | `` | |
| oneSixth | `` | |
| oneSeventh | `` | `1/7` |
| oneEighth | `` | |
| oneNinth | `` | `1/9` |
| oneTenth | `` | `1/10` |
| twoThirds | `` | |
| twoFifths | `` | |
| threeQuarters | `¾` | |
| threeFifths | `` | |
| threeEighths | `` | |
| fourFifths | `` | |
| fiveSixths | `` | |
| fiveEighths | `` | |
| sevenEighths | `` | |
| line | `` | |
| lineBold | `` | |
| lineDouble | `` | |
| lineDashed0 | `` | |
| lineDashed1 | `` | |
| lineDashed2 | `` | |
| lineDashed3 | `` | |
| lineDashed4 | `` | |
| lineDashed5 | `` | |
| lineDashed6 | `` | |
| lineDashed7 | `` | |
| lineDashed8 | `` | |
| lineDashed9 | `` | |
| lineDashed10 | `` | |
| lineDashed11 | `` | |
| lineDashed12 | `` | |
| lineDashed13 | `` | |
| lineDashed14 | `` | |
| lineDashed15 | `` | |
| lineVertical | `` | |
| lineVerticalBold | `` | |
| lineVerticalDouble | `` | |
| lineVerticalDashed0 | `` | |
| lineVerticalDashed1 | `` | |
| lineVerticalDashed2 | `` | |
| lineVerticalDashed3 | `` | |
| lineVerticalDashed4 | `` | |
| lineVerticalDashed5 | `` | |
| lineVerticalDashed6 | `` | |
| lineVerticalDashed7 | `` | |
| lineVerticalDashed8 | `` | |
| lineVerticalDashed9 | `` | |
| lineVerticalDashed10 | `` | |
| lineVerticalDashed11 | `` | |
| lineDownLeft | `` | |
| lineDownLeftArc | `` | |
| lineDownBoldLeftBold | `` | |
| lineDownBoldLeft | `` | |
| lineDownLeftBold | `` | |
| lineDownDoubleLeftDouble | `` | |
| lineDownDoubleLeft | `` | |
| lineDownLeftDouble | `` | |
| lineDownRight | `` | |
| lineDownRightArc | `` | |
| lineDownBoldRightBold | `` | |
| lineDownBoldRight | `` | |
| lineDownRightBold | `` | |
| lineDownDoubleRightDouble | `` | |
| lineDownDoubleRight | `` | |
| lineDownRightDouble | `` | |
| lineUpLeft | `` | |
| lineUpLeftArc | `` | |
| lineUpBoldLeftBold | `` | |
| lineUpBoldLeft | `` | |
| lineUpLeftBold | `` | |
| lineUpDoubleLeftDouble | `` | |
| lineUpDoubleLeft | `` | |
| lineUpLeftDouble | `` | |
| lineUpRight | `` | |
| lineUpRightArc | `` | |
| lineUpBoldRightBold | `` | |
| lineUpBoldRight | `` | |
| lineUpRightBold | `` | |
| lineUpDoubleRightDouble | `` | |
| lineUpDoubleRight | `` | |
| lineUpRightDouble | `` | |
| lineUpDownLeft | `` | |
| lineUpBoldDownBoldLeftBold | `` | |
| lineUpBoldDownBoldLeft | `` | |
| lineUpDownLeftBold | `` | |
| lineUpBoldDownLeftBold | `` | |
| lineUpDownBoldLeftBold | `` | |
| lineUpDownBoldLeft | `` | |
| lineUpBoldDownLeft | `` | |
| lineUpDoubleDownDoubleLeftDouble | `` | |
| lineUpDoubleDownDoubleLeft | `` | |
| lineUpDownLeftDouble | `` | |
| lineUpDownRight | `` | |
| lineUpBoldDownBoldRightBold | `` | |
| lineUpBoldDownBoldRight | `` | |
| lineUpDownRightBold | `` | |
| lineUpBoldDownRightBold | `` | |
| lineUpDownBoldRightBold | `` | |
| lineUpDownBoldRight | `` | |
| lineUpBoldDownRight | `` | |
| lineUpDoubleDownDoubleRightDouble | `` | |
| lineUpDoubleDownDoubleRight | `` | |
| lineUpDownRightDouble | `` | |
| lineDownLeftRight | `` | |
| lineDownBoldLeftBoldRightBold | `` | |
| lineDownLeftBoldRightBold | `` | |
| lineDownBoldLeftRight | `` | |
| lineDownBoldLeftBoldRight | `` | |
| lineDownBoldLeftRightBold | `` | |
| lineDownLeftRightBold | `` | |
| lineDownLeftBoldRight | `` | |
| lineDownDoubleLeftDoubleRightDouble | `` | |
| lineDownDoubleLeftRight | `` | |
| lineDownLeftDoubleRightDouble | `` | |
| lineUpLeftRight | `` | |
| lineUpBoldLeftBoldRightBold | `` | |
| lineUpLeftBoldRightBold | `` | |
| lineUpBoldLeftRight | `` | |
| lineUpBoldLeftBoldRight | `` | |
| lineUpBoldLeftRightBold | `` | |
| lineUpLeftRightBold | `` | |
| lineUpLeftBoldRight | `` | |
| lineUpDoubleLeftDoubleRightDouble | `` | |
| lineUpDoubleLeftRight | `` | |
| lineUpLeftDoubleRightDouble | `` | |
| lineUpDownLeftRight | `` | |
| lineUpBoldDownBoldLeftBoldRightBold | `` | |
| lineUpDownBoldLeftBoldRightBold | `` | |
| lineUpBoldDownLeftBoldRightBold | `` | |
| lineUpBoldDownBoldLeftRightBold | `` | |
| lineUpBoldDownBoldLeftBoldRight | `` | |
| lineUpBoldDownLeftRight | `` | |
| lineUpDownBoldLeftRight | `` | |
| lineUpDownLeftBoldRight | `` | |
| lineUpDownLeftRightBold | `` | |
| lineUpBoldDownBoldLeftRight | `` | |
| lineUpDownLeftBoldRightBold | `` | |
| lineUpBoldDownLeftBoldRight | `` | |
| lineUpBoldDownLeftRightBold | `` | |
| lineUpDownBoldLeftBoldRight | `` | |
| lineUpDownBoldLeftRightBold | `` | |
| lineUpDoubleDownDoubleLeftDoubleRightDouble | `` | |
| lineUpDoubleDownDoubleLeftRight | `` | |
| lineUpDownLeftDoubleRightDouble | `` | |
| lineCross | `` | |
| lineBackslash | `` | |
| lineSlash | `` | |
## Other characters
If you cannot find the character you're looking for in the table above, please look at this full list of [cross-platform terminal characters](https://github.com/ehmicky/cross-platform-terminal-characters).
## Unsupported terminals
The following terminals are not officially supported:
- xterm
- Linux Terminal (kernel)
- cmder
They can display most but not all of the symbols listed above.
## Related
- [log-symbols](https://github.com/sindresorhus/log-symbols) - Colored symbols for various log levels
---
<div align="center">
<b>
<a href="https://tidelift.com/subscription/pkg/npm-figures?utm_source=npm-figures&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
</b>
<br>
<sub>
Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
</sub>
</div>