Component

WitnessChoice

The three choices do not merely recolor a box: they render the child in three different physical arrangements with a distinct witness slip above, beside or below it. The chosen placement remains until it is returned to an unwitnessed state.

Possible use

It could let a reviewer decide whether a handoff note needs a witness before it, beside it or after it, or let a presenter give an agenda line a ceremonial chaperone position. Neither use benefits from making layout answer to a vote.

Reasonable alternative

A reasonable local alternative is one nearby status label and the intended layout. A three-way witness placement creates structural doubt where the content already has a natural position.

01 / Preview

Try it yourself.

Preview Interactive
Witness choiceChoose a position

The notice is waiting for an unnecessary witness.

Mechanism
1
Choose Lead, Side or Tail.
2
The witness changes the child's actual arrangement.
3
Return to unwitnessed when the layout has testified enough.

02 / Usage

Put it somewhere.

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

export function WitnessedNotice() {
  return <WitnessChoice><span>Needs a decision</span></WitnessChoice>;
}

03 / API

Small surface area.

PropTypeDescription
childrenReactNodeThe notice assigned one of three witness placements.