Utility
Terminal
Installation
$ pnpm dlx shadcn@latest add @termcn/ink/confirm
Usage
import { Confirm } from "@/components/ui/confirm";<Confirm
message="Are you sure you want to continue?"
onConfirm={() => console.log("Confirmed")}
onCancel={() => console.log("Cancelled")}
/>API Reference
Confirm
| Prop | Type | Default |
|---|---|---|
message | string | required |
onConfirm | () => void | - |
onCancel | () => void | - |
confirmLabel | string | "Yes" |
cancelLabel | string | "No" |
defaultValue | boolean | false |
variant | "default" | "danger" | "default" |
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: Arrow keys move inside the composite;
Home/Endselect the first or last enabled item;Enter/Spaceactivate, select, or toggle;Escapecancels or closes an owned surface;Tab/Shift+Tabmove between termcn/Ink focus targets. - Focus and composition: Input is active only while the component's focus target is focused, enabled, active, and inside the topmost focus scope.
- Screen reader: Ink labels and semantic state expose the component without relying on visual styling alone.