Component
CustodyChoice
It makes a single child wait in intake until the user chooses Desk, Vault or Courier. The choice moves the actual content into a different named station, and Recall brings it back to intake.
Possible use
It could make a reviewer decide whether a handoff note belongs on the desk, in the vault or with a courier, or let a presenter route one agenda label to the table, the archive or the next speaker.
Reasonable alternative
A reasonable local alternative is one explicit state near the data and one conditional render. Publishing three ceremonial destinations as a reusable custody machine is difficult to defend.
01 / Preview
Try it yourself.
Custody decision
intake
Needs a destination
Deskempty
Vaultempty
Courierempty
Mechanism
- 1
- Start with the notice waiting in intake.
- 2
- Choose Desk, Vault or Courier. Each button moves the actual notice into a different station.
- 3
- The chosen destination stays visible while the other stations remain empty.
- 4
- Recall the notice when a custody decision has become too official.
02 / Usage
Put it somewhere.
example.tsxTSX
import { CustodyChoice } from "gra-ui";
import "gra-ui/styles.css";
export function RoutedNotice() {
return <CustodyChoice><span>Needs a destination</span></CustodyChoice>;
}03 / API
Small surface area.
PropTypeDescription
childrenReactNodeThe content waiting in intake and moved to the chosen custody station.