Component

CursorProof

It hides a label behind proof dots and makes a local cursor reveal each character it crosses. The revealed characters stay visible, so a trivial sentence has to earn its right to be read.

Possible use

It could be used to make a reviewer scan a status label before a handoff, or to let a presenter reveal an agenda item character by character while discussing it.

Reasonable alternative

A reasonable local alternative is the original text with no interaction, or a small CSS mask with one pointer handler. Publishing a cursor proof is difficult to defend because moving over a label does not make it more true.

01 / Preview

Try it yourself.

Preview Interactive
Cursor proof0 / 16

Move across every character. The label becomes readable only after its paperwork is complete.

Mechanism
1
Start with an ordinary status label hidden behind proof dots.
2
Move the local cursor across the surface, or use the arrow keys.
3
Every character crossed becomes visible and stays visible.
4
Reset the proof when the label has earned an unnecessary reading.

02 / Usage

Put it somewhere.

example.tsxTSX
import { CursorProof } from "gra-ui";
import "gra-ui/styles.css";

export function VerifiedStatus() {
  return <CursorProof label="Ready for review" />;
}

03 / API

Small surface area.

PropTypeDescription
labelstringThe text revealed one character at a time by the proofing cursor.