KQ-779 · PAGE/PIN

Page Pin

Pinned to the page it came from. A procedural preview of the source draws a scroller of sheets under a header that reads the page with rolling digits; choosing a citation pin animates the scroller to its page on glide, the page number rolls on snap as sheets pass, and when the scroll settles a wash wipes across the cited lines on the enter ease. The pins are a radio group with a roving tabindex, and the scroller is a focusable region the keyboard scrolls natively.

KQ-779 · PAGE/PIN
Basinworks quarterly letterp.of 24, page 1 of 24

Page 1 of 24 · nothing pinned

Install

One command — the source lands in your repo. Or copy it from the Code tab.

$ pnpm dlx shadcn@latest add @kinetiq/page-pin

Props

title
string
default —
The document's name in the header.
pageCount
number
default —
How many sheets the preview draws.
citations
PagePinCitation[]
default —
The pinned claims: an id, a label, the page and the first and last line cited.
value / defaultValue
string | null
default null
The chosen citation id, controlled or initial.
onValueChange
(id: string) => void
default —
Fires when a pin is chosen.
onPageChange
(page: number) => void
default —
Fires when the page under the header changes, by pin or by hand.
linesPerPage
number
default 12
Bars drawn per sheet.
label
string
default —
Names the preview region for assistive technology.