Skip to content

terminal/TerminalDrawer

import { … } from 'zidane-ui/terminal'ui/src/terminal/TerminalDrawer.tsx

Components#

TerminalDrawerComponent#

The drawer under the chat column: the scope's terminals, shown while its layout says so. Memoised on the scope's identity: a parent may re-render it with a fresh scope object.

TypeScript
const TerminalDrawer: MemoExoticComponent<(__namedParameters: TerminalDrawerProps) => Element>

ui/src/terminal/TerminalDrawer.tsx:45

TerminalPanelTabComponent#

The side panel's Terminal tab body (TERMINAL_PANEL_ID): the scope's terminals, the same panel the drawer shows. Mounted only while the side panel is open (the panel stays mounted hidden when closed), so a closed panel holds no view. Reads the layout only: panel content loads and badges never re-render the terminals.

TypeScript
function TerminalPanelTab(props: TerminalPanelTabProps): Element | null
Parameters
NameTypeDescription
propsTerminalPanelTabProps

The scope and className.

Element | null
TerminalPanelTab props
NameTypeDescription
className?string

Extra classes on the root.

scopeTerminalScope

Whose terminals.

ui/src/terminal/TerminalDrawer.tsx:220

TerminalToggleComponent#

The header button that shows / hides the drawer; badged when the agent started a terminal nobody is looking at. Renders nothing while terminals are off.

TypeScript
function TerminalToggle(props: TerminalToggleProps): Element | null
Parameters
NameTypeDescription
propsTerminalToggleProps

The scope and className.

Element | null
TerminalToggle props
NameTypeDescription
className?string

Extra classes on the button.

scopeTerminalScope

Whose drawer.

ui/src/terminal/TerminalDrawer.tsx:160

Constants#

TERMINAL_HEIGHTConstant#

The drawer's height bounds (px) and its share cap of the column.

TypeScript
const TERMINAL_HEIGHT: { default: number; maxShare: number; min: number }

ui/src/terminal/TerminalDrawer.tsx:31

Interfaces#

TerminalDrawerPropsInterface#

Props for TerminalDrawer.

TypeScript
interface TerminalDrawerProps
TerminalDrawerProps properties
NameTypeDescription
className?string

Extra classes on the root.

scopeTerminalScope

Whose terminals.

ui/src/terminal/TerminalDrawer.tsx:34

TerminalPanelTabPropsInterface#

Props for TerminalPanelTab.

TypeScript
interface TerminalPanelTabProps
TerminalPanelTabProps properties
NameTypeDescription
className?string

Extra classes on the root.

scopeTerminalScope

Whose terminals.

ui/src/terminal/TerminalDrawer.tsx:205

TerminalTogglePropsInterface#

Props for TerminalToggle.

TypeScript
interface TerminalToggleProps
TerminalToggleProps properties
NameTypeDescription
className?string

Extra classes on the button.

scopeTerminalScope

Whose drawer.

ui/src/terminal/TerminalDrawer.tsx:147