KQ-835 · POLICY/NOTE

Policy Note

An answer with a small tag beneath it that unfolds into a note explaining the constraint. The note is a sheet hinged at its top edge: pressing the tag rotates it from -90° to flat on glide while its wrapper glides to the measured height, and a hairline along its bottom edge drains across the read time, holding while the pointer or focus is on the note. When it runs out the note folds itself on the exit ease and the tag reads "Read" with a tick drawn on flick; Enter or Space toggles the tag and Escape folds the note and returns focus to it.

KQ-835 · POLICY/NOTE
Fernworks Model 3

I can draft the overtime request for Friday and send it to your manager, but I can't approve it myself.

Folded · press why this answer

Install

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

$ pnpm dlx shadcn@latest add @kinetiq/policy-note

Props

answer
string
default
The answer the note explains.
model
string
default
Whose answer it is; the header caption.
code
string
default
The policy's short code, printed in mono: "Coldbrook house policy 4.2".
title
string
default
The policy's name; labels the note region.
note
string
default
One or two sentences on the constraint.
open / defaultOpen
boolean
default false
Controlled or initial unfolded state.
onOpenChange
(open: boolean, by: PolicyNoteReason) => void
default
Fires from the press, Escape or the read-out timer that changed the state, with by as "press", "escape" or "read".
readTime
number
default from the word count
Milliseconds the note stays open once unfolded, by default the note's word count at a reading pace floored at three seconds; 0 or less keeps it open.
tagLabel
string
default "Why this answer"
The tag's copy before the note has been read.
label
string
default
Names the answer region for assistive technology.