Skip to main content

Block

Container widget with an optional border and title. Every other widget renders its content inside a Block's inner area.

Usage

tui.widgets.Block{
.title = "Panel",
.borders = tui.widgets.Borders.ALL,
.border_style = .{ .fg = .cyan },
.title_style = .{ .fg = .white, .modifier = .{ .bold = true } },
.border_symbols = tui.widgets.BorderSymbols.rounded(), // .line() .double() .default()
}.render(area, buf);

Getting the inner area

After rendering a bordered block, call inner to get the inset area for child widgets:

const inner = block.inner(area);
// render child widgets into `inner`

Border styles

HelperPreview
BorderSymbols.default()┌─┐│└─┘
BorderSymbols.rounded()╭─╮│╰─╯
BorderSymbols.line()┌─┐│└─┘ (thin)
BorderSymbols.double()╔═╗║╚═╝