KQ-815 · PIN/BOARD

Pin Board

A board of facts the assistant is holding in view, laid out as wrapping tiles whose widths follow their text. Pinning a fact lands its tile on recoil from 0.9 scale, two visible bounces, while every other tile reflows to its new place with a layout move on glide and the board's measured height glides with it; unpinning fades the tile on the exit ease and the board closes around the gap. Hovering or focusing a tile reads where it came from in a cross-fading source strip, pressing holds the source open, and the fact buttons share a roving tabindex where arrows step, Home and End jump, and Delete unpins.

KQ-815 · PIN/BOARD
Basinworks yard · in view

Nothing pinned yet

    Sources show here

    Nothing pinned · press pin next

    Install

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

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

    Props

    items
    PinnedFact[]
    default
    The pinned facts in pin order, each with an id, a fact and a source of who said it, which turn and the quoted line; the host owns the list.
    onUnpin
    (id: string) => void
    default
    Fires from a tile's unpin button or Delete and Backspace on a focused tile.
    onSourceChange
    (id: string | null) => void
    default
    Fires when the source strip changes what it shows, with the tile's id or null.
    assistantName
    string
    default "Assistant"
    Name used for assistant sources in the strip; invented names only.
    label
    string
    default
    Names the board for assistive technology.
    emptyText
    string
    default "Nothing pinned yet"
    The line shown while nothing is pinned.