KQ-767 · FILE/TOUCH
File Touch
A list of the files a tool has touched. Each row slides in from 8px left on glide as it is written, and its added and removed counts roll on snap as the tool keeps writing to it. Pressing a row opens its diff beneath it with a measured height that glides open; one diff is open at a time. Rows are buttons with aria-expanded, arrows walk them and Escape closes a diff.
KQ-767 · FILE/TOUCH
Gaugeworks Reasoner0 files+−0 added, 0 removed
No files touched.
Idle · ready
Install
One command — the source lands in your repo. Or copy it from the Code tab.
$ pnpm dlx shadcn@latest add @kinetiq/file-touch
Props
- files
- TouchedFile[]
- default —
- The touched files so far, append-only; each carries path, kind, added, removed and an optional diff.
- writing
- boolean
- default false
- The tool is still writing: the header dot breathes.
- openId / defaultOpenId
- string | null
- default null
- Controlled or initial id of the open diff.
- onOpenChange
- (id: string | null) => void
- default —
- Fires from a row press or Escape.
- label
- string
- default —
- Names the list.
| Prop | Type | Default | Description |
|---|---|---|---|
| files | TouchedFile[] | — | The touched files so far, append-only; each carries path, kind, added, removed and an optional diff. |
| writing | boolean | false | The tool is still writing: the header dot breathes. |
| openId / defaultOpenId | string | null | null | Controlled or initial id of the open diff. |
| onOpenChange | (id: string | null) => void | — | Fires from a row press or Escape. |
| label | string | — | Names the list. |