JSPM

  • Created
  • Published
  • Downloads 33742114
  • Score
    100M100P100Q219062F
  • License MIT

Create boxes in the terminal

Package Exports

  • boxen
  • boxen/index

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (boxen) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

boxen Build Status

Create boxes in the terminal

Install

$ npm install boxen

Usage

const boxen = require('boxen');

console.log(boxen('unicorn', {padding: 1}));
/*
┌─────────────┐
│             │
│   unicorn   │
│             │
└─────────────┘
*/

console.log(boxen('unicorn', {padding: 1, margin: 1, borderStyle: 'double'}));
/*

   ╔═════════════╗
   ║             ║
   ║   unicorn   ║
   ║             ║
   ╚═════════════╝

*/

API

boxen(text, [options])

text

Type: string

Text inside the box.

options

Type: Object

borderColor

Type: string
Values: black red green yellow blue magenta cyan white gray or a hex value like #ff0000

Color of the box border.

borderStyle

Type: string | object
Default: single
Values:

  • single
┌───┐
│foo│
└───┘
  • double
╔═══╗
║foo║
╚═══╝
  • round (single sides with round corners)
╭───╮
│foo│
╰───╯
  • bold
┏━━━┓
┃foo┃
┗━━━┛
  • single-double (single on top and bottom, double on right and left)
╓───╖
║foo║
╙───╜
  • double-single (double on top and bottom, single on right and left)
╒═══╕
│foo│
╘═══╛
  • classic
+---+
|foo|
+---+

Style of the box border.

Can be any of the above predefined styles or an object with the following keys:

{
    topLeft: '+',
    topRight: '+',
    bottomLeft: '+',
    bottomRight: '+',
    horizontal: '-',
    vertical: '|'
}
dimBorder

Type: boolean
Default: false

Reduce opacity of the border.

padding

Type: number | object
Default: 0

Space between the text and box border.

Accepts a number or an object with any of the top, right, bottom, left properties. When a number is specified, the left/right padding is 3 times the top/bottom to make it look nice.

margin

Type: number | object
Default: 0

Space around the box.

Accepts a number or an object with any of the top, right, bottom, left properties. When a number is specified, the left/right margin is 3 times the top/bottom to make it look nice.

float

Type: string
Values: right center left
Default: left

Float the box on the available terminal screen space.

backgroundColor

Type: string Values: black red green yellow blue magenta cyan white gray or a hex value like #ff0000

Color of the background.

align

Type: string
Default: left
Values: left center right

Align the text in the box based on the widest line.

  • boxen-cli - CLI for this module
  • cli-boxes - Boxes for use in the terminal
  • ink-box - Box component for Ink that uses this package

License

MIT © Sindre Sorhus