import type { CategoricalIndex, ControlSize } from "@charcuterie/tokens"; import type { ReactNode } from "react"; export type ActionTileItem = { /** * Which of the ten hues this tile wears, overriding the one its * position would have given it. * * Reach for it when a tile's colour means something outside the * set — a destination that is red everywhere else in the app, a * pair that must not drift apart when a third tile is inserted * between them. An overridden tile keeps its hue and the rest go * on walking `CATEGORICAL_SEQUENCE` from their own positions, so * naming one does not force naming all of them. * * Ignored when the set is `accent="none"`. */ categorical?: CategoricalIndex; /** * A line of help under the name. Drawn one step down the type ramp * in `content-muted`, **inside** the tile — so `getByRole` computes * it into the accessible name. A hint a screen reader never reads * is a hint half the audience does not have. */ hint?: ReactNode; /** * Makes this tile a real ``: middle-click, ctrl-click, * "open in new tab", "copy link address" and the status bar all * come from the element rather than from the paint. Routed through * the injected `RouterLink` when the destination is same-origin and * not a fragment. * * Without one, the tile is a `