Component

RollingChecksum

Process the next character to extend the visible prefix and recalculate its actual rolling digest. The glyph ledger, progress bar and hexadecimal result all change with the real input; Clear ledger returns to the unprocessed label.

Possible use

It could let a reviewer process a handoff title character by character before posting its digest, or let a presenter make an agenda caption earn a machine receipt in public. The digest says nothing useful until a real protocol needs it.

Reasonable alternative

A reasonable local alternative is hashing once at the data boundary and keeping the human label readable. A progress ceremony for a checksum makes computation look like approval.

01 / Preview

Try it yourself.

Preview Interactive
Rolling checksum0 / 28 characters
The label must earn its digest
····························
1505The visible prefix is the only part counted.

Process one character to extend the live digest.

Mechanism
1
Start with every character waiting behind a ledger dot.
2
Process the next character to extend the real prefix.
3
Watch the rolling hexadecimal digest change after each character.
4
Clear the ledger when the checksum has earned enough ceremony.

02 / Usage

Put it somewhere.

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

export function AuditedLabel() {
  return <RollingChecksum label="Prepare the ordinary handoff" />;
}

03 / API

Small surface area.

PropTypeDescription
labelstringThe text processed into a visible rolling checksum one character at a time.