Components
Everything on this site, installable
The site is built from these, so what you install is what you are looking at. Every preview below is the real component running, not a picture of one.
Add the registry once
export CTA_REGISTRY=https://adamjurek.com/r/registry.jsonAlert
Feedback
No dependencies
The Markdown callout, reachable from JSX - application news in the same box the docs already use.
Preview: A note, a tip and a caution in their tints
Avatar
Media
No dependencies
A person at glyph size: the image if it loads, initials on a toned fill if it does not.
Preview: A photo and two initials, side by side
Badge
Text
No dependencies
A word wearing a fill, in the site's own tone pairs - a badge invents no colour of its own.
Preview: Words on pastel fills, one per tone
Button
Actions
No dependencies
The pill and the ghost - one action and its alternative, with no third variant on purpose.
Preview: A filled pill beside a ghost outline
Checkbox
Forms
No dependencies
A native checkbox with its words attached, painted by accent-color rather than redrawn.
Preview: A checked box in the accent
Clock
Rendering
No dependencies
The reader's own day and time, in the reader's own zone, without asking anybody for a location.
Preview: A weekday and a local time, ticking
Credit
Attribution
No dependencies
A dependency, credited, with its author required rather than optional.
Preview: A dependency listed with its author
Empty
Loading
No dependencies
Nothing, said properly: what is missing, why that is fine, and what to do next - in that order, quietly.
Preview: A dashed frame with an icon and a way out
Field
Forms
No dependencies
A labelled control with one line under it - the error is announced by being pointed at, not by being red.
Preview: Label, control, hint - and the error state
Frontmatter
Parsing
No dependencies
A small frontmatter reader for `key: value` and inline lists. Not YAML, deliberately.
Preview: No UI - it reads the metadata block off a file
Input
Forms
No dependencies
A text input, and only the drawing of one - state and labels belong to the form and to Field.
Preview: A text field wearing the site's focus ring
Kbd
Text
No dependencies
A key, drawn as one. Semantically <kbd>, visually the chip the command palette already wears.
Preview: Esc and ⌘K, drawn as keys
Native Select
Forms
No dependencies
The platform's own select in the site's clothes - the phone wheel and the OS menu, kept.
Preview: A select with the chevron put back
Progress
Loading
No dependencies
The native progress element, restyled - omit value and the indeterminate state is real.
Preview: A bar part- filled in the accent
Questions
Documents
No dependencies
The questions a page expects to be asked. Given an onAsk, each one is a button that puts itself to an assistant; without it, a plain list.
Preview: Three questions, pressable
Radio Group
Forms
No dependencies
Radios in a fieldset - the one grouping screen readers announce without help.
Preview: Three options, one chosen
Skeleton
Loading
No dependencies
The wait, drawn as the thing being waited for: a line, a block or a circle, shimmering unless motion is reduced.
Preview: Three placeholder shapes, sweeping
Slider
Forms
No dependencies
A native range input with its label - keyboard steps and form value ship in the element.
Preview: A range track in the accent