Display Modes

Four display variants for different use cases.

Inline

Renders the terminal inline within the page flow. No overlay, no toggle — it's always visible. Fills its parent container.

inline.tsx
<div style={{ height: 400 }}>
  <Terminal variant="inline" />
</div>

Floating

A draggable, resizable floating window. Supports minimize and maximize. Position and size are persisted across sessions.

floating.tsx
<Terminal
  variant="floating"
  defaultOpen={true}
/>

Fullscreen

Takes over the entire viewport. Useful for terminal-first applications or dedicated terminal pages.

fullscreen.tsx
<Terminal variant="fullscreen" />

Switching Modes

Use onPopOut and onDock callbacks to let users switch between dropdown and floating mode at runtime.

switching.tsx
const [variant, setVariant] = useState<"dropdown" | "floating">("dropdown")

<Terminal
  variant={variant}
  onPopOut={() => setVariant("floating")}
  onDock={() => setVariant("dropdown")}
/>
0