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.