Overview

Present simple menus and choices.

Import

import { Menu } from 'nikcli-tui';

Usage

// See Tabs/Select for common patterns

Live Preview

Run Locally

npm run tsx:core-gallery

Props

  • items: Array of { label: string; onSelect?: () => void; disabled?: boolean; shortcut?: string }
  • selectedIndex?: number — Initially selected item.
  • onSelect?: (index, item) => void — Selection callback.
  • BaseProps: position, borderStyle, label.

Methods

  • setItems(items), addItem(item), removeItem(index), updateItem(index, item).
  • selectItem(index), getSelectedIndex(), getSelectedItem().
  • setItemDisabled(index, disabled), clearItems().

Keyboard

  • Up/Down: navigate; Enter: select.

Installation

npm i nikcli-tui

Import

import { Menu } from 'nikcli-tui';

Quick Start

new Menu({ parent: screen, top: 1, left: 2, width: 24, height: 6, items: [ { label: 'Open' }, { label: 'Save' }, { label: 'Exit' } ] });

Production Examples

new Menu({ parent: screen, top: 1, left: 28, width: 28, height: 6,
  items: [
    { label: 'New', shortcut: 'n' },
    { label: 'Delete', shortcut: 'del', disabled: true },
  ],
});

Best Practices

  • Indica le scorciatoie direttamente nelle label per rendere scopribili le azioni.