/**
* The icon set.
*
* Drawn here rather than pulled from a package, and drawn rather than typed:
* `✓`, `✗` and `●` are punctuation borrowed as pictures — they carry a font's
* metrics, not a stroke weight, so they sit at different optical sizes from each
* other and cannot be aligned with anything. A screen reader also reads them
* aloud as the characters they are.
*
* One grid (24), one stroke (1.75), round caps and joins throughout, so any two
* of these placed side by side read as the same hand. `currentColor` everywhere,
* so an icon inherits whatever the surface already decided about contrast.
*/
function Icon({
children,
size = 18,
className,
}: {
children: React.ReactNode
size?: number
className?: string
}) {
return (
)
}
type P = { size?: number; className?: string }
/** Stacked sheets — a count of documents. */
export const IconStack = (p: P) => (
)
/** A file leaving the app for the reviewer's own disk. */
export const IconDownload = (p: P) => (
)
/** A settled thing. */
export const IconCheck = (p: P) => (
)
/** Work still in flight. */
export const IconClock = (p: P) => (
)
/** Something absent or wrong — never used for "red band", which is data. */
export const IconAlert = (p: P) => (
)
/** A single scanned page. */
export const IconPage = (p: P) => (
)
/** People, not rows: this counts patients. */
export const IconPatients = (p: P) => (
)
/** Money spent. A coin edge-on, not a currency glyph. */
export const IconSpend = (p: P) => (
)
/** Two curved arrows chasing each other — a stage in a repeating flow. */
export const IconLoop = (p: P) => (
)
/** A wallet card with a portrait square — a person's own identifying record. */
export const IconIdCard = (p: P) => (
)
export const IconChevronRight = (p: P) => (
)
/**
* The legend and chip marker. A drawn disc rather than `●`, so it lands on the
* text baseline the same way at every size and takes its colour from the same
* `currentColor` chain as everything else.
*/
export const IconDot = ({ size = 8, className }: P) => (
)