Utility
Terminal
Installation
$ pnpm dlx shadcn@latest add @termcn/ink/popover
Usage
import { Popover } from "@/components/ui/popover";<Popover
isOpen={true}
title="Info"
trigger={<Text bold>[?] Help</Text>}
onClose={() => close()}
>
<Text>Press Enter to confirm, Esc to cancel.</Text>
</Popover>API Reference
Popover
| Prop | Type | Default |
|---|---|---|
trigger | ReactNode | required |
children | ReactNode | required |
isOpen | boolean | false |
onClose | () => void | - |
title | string | - |
Notes
Accessibility
termcn exposes the following behavior through Ink's terminal accessibility APIs. This is not a browser ARIA or general WCAG-conformance claim.
- Keyboard:
Tab/Shift+Tabmove through enabled controls inside the active scope;Enter/Spaceactivate the focused control;Escapecloses only the topmost active surface and restores focus. - Focus and composition: While open, the active focus scope contains traversal, gives input ownership to the topmost scope, and restores focus when it closes.
- Screen reader: Ink labels and semantic state expose the component without relying on visual styling alone.