Skip to main content

Simple Box

Create a basic box widget with styling and positioning.

Code

import { Screen, Box } from "@unblessed/node";

const screen = new Screen({ smartCSR: true });

const box = new Box({
parent: screen,
top: "center",
left: "center",
width: "50%",
height: "50%",
content:
"{bold}{cyan-fg}Hello unblessed!{/cyan-fg}{/bold}\\n\\n" +
"This is a simple box widget.\\n\\n" +
"Press q to quit.",
tags: true,
border: {
type: "line",
},
style: {
fg: "white",
bg: "black",
border: {
fg: "cyan",
},
},
});

screen.key(["q", "C-c"], () => process.exit(0));
screen.render();

Try it Live

Visit the Home Page and select "Simple Box" from the examples to see this running in your browser!

Key Concepts

Positioning

  • top: 'center' - Center vertically
  • left: 'center' - Center horizontally
  • Can use percentages ('50%') or absolute values (10)

Sizing

  • width: '50%' - 50% of parent width
  • height: '50%' - 50% of parent height

Styling

  • tags: true - Enable styled text tags like {bold} and {cyan-fg}
  • border - Add borders (line, bg, none, etc.)
  • style - Colors and attributes

Next Steps