Skip to main content

Overview

The TabSelectRenderable component provides a horizontal tab navigation interface with automatic scrolling, optional descriptions, and visual underlines. It’s ideal for building tabbed interfaces and navigation menus.

Basic Usage

Props

TabSelectOption[]
default:"[]"
Array of tab options. Each has name, description, and optional value.
number
default:"20"
Width of each tab in characters
ColorInput
default:"'transparent'"
Background color when unfocused
ColorInput
default:"'#FFFFFF'"
Text color for unselected tabs
ColorInput
default:"'#1a1a1a'"
Background color when focused
ColorInput
default:"'#FFFFFF'"
Text color when focused
ColorInput
default:"'#334455'"
Background color of selected tab
ColorInput
default:"'#FFFF00'"
Text color of selected tab
ColorInput
default:"'#CCCCCC'"
Color for the selected tab’s description
boolean
default:"true"
Show and arrows when there are more tabs than can fit
boolean
default:"true"
Whether to show the description of the selected tab
boolean
default:"true"
Show underline beneath the selected tab
boolean
default:"false"
Whether to wrap selection from last to first tab (and vice versa)
TabSelectKeyBinding[]
Custom key bindings
KeyAliasMap
Custom key aliases

Types

TabSelectOption

Events

selectionChanged

Fired when the selected tab changes (via keyboard or programmatically).

itemSelected

Fired when the user presses Enter on a tab.

Methods

options

Get or set the tab options.

getSelectedOption()

Returns the currently selected tab option or null.

getSelectedIndex()

Returns the index of the currently selected tab.

setSelectedIndex()

Programmatically select a tab by index.

moveLeft() / moveRight()

Move selection left or right.

selectCurrent()

Trigger selection of the current tab (fires itemSelected event).

tabWidth

Get or set the width of each tab.

Keyboard Shortcuts

Layout Behavior

The height is automatically calculated based on enabled features:
  • Base: 1 row (tab names)
  • showUnderline: +1 row
  • showDescription: +1 row

Examples

Simple Tab Navigation

Minimal Tabs (No Description or Underline)

Many Tabs with Scrolling

File Editor Tabs

Settings Panels

Dynamic Tab Management

Browser-Style Tabs

Customization Tips

Adjusting Tab Width

Set tabWidth based on your content:
  • Short labels (5-10 chars): tabWidth: 12-15
  • Medium labels (10-15 chars): tabWidth: 18-22
  • Long labels (15+ chars): tabWidth: 25-30

Hiding Features

For a compact design:

Wrap Selection

Enable wrapSelection: true for infinite scrolling through tabs.
  • Select - Vertical dropdown selection
  • Input - Single-line text input
  • Textarea - Multi-line text input