Component

LetterLevy

It turns the keyboard into a tiny tax office. Focus the label and press one letter; every matching occurrence leaves the sentence and arrives as a separate token in the levy drawer.

Possible use

It could be used to make a reviewer pay a textual levy before filing a handoff status, or to let a presenter remove every copy of one letter from an agenda heading while discussing it.

Reasonable alternative

A reasonable local alternative is a string filter with an ordinary display. Publishing a letter levy is difficult to defend because a keyboard character is not an authority entitled to tax an entire sentence.

01 / Preview

Try it yourself.

Preview Interactive
Letter levyNo letters filed

Review the brief today

Levy drawerEmpty

Focus the label and press a visible letter. Every matching copy pays into the drawer.

Mechanism
1
Start with an ordinary status label and an empty levy drawer.
2
Focus the label surface and press a letter that appears in it.
3
Every matching occurrence leaves the label and arrives as a real token.
4
Restore the label when the keyboard has collected enough unnecessary tax.

02 / Usage

Put it somewhere.

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

export function TaxedStatus() {
  return <LetterLevy label="Review the brief today" />;
}

03 / API

Small surface area.

PropTypeDescription
labelstringThe text whose matching letters are filed when their key is pressed.