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.json

Code Block

Rendering

@tanstack/highlight

A highlighted code slab with the CLI's colours, a lit top edge, and a copy button that confirms in place.

Preview: Highlighted code with a copy button

Copy Button

Rendering

No dependencies

A glass chip that writes to the clipboard and confirms in the button itself, then hands back.

Preview: Copy, with the confirmation in the button

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

Markdown View

Rendering

@tanstack/markdown

Renders Markdown with callouts, CSS-only tabs, custom blocks and highlighted code.

Preview: Markdown with callouts, tabs and highlighted code

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

Reference

Rendering

No dependencies

An inline mention that carries a hover card: title, summary and meta for the thing it names, raised by CSS alone.

Preview: A mention with a hover card

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

Spinner

Loading

No dependencies

One ring, one border, one turn - with a visually hidden label, because a spinner with nothing to announce is just an animation.

Preview: A ring turning beside its label

Switch

Forms

No dependencies

A checkbox that admits it: a real input with role=switch, and a track :checked drives.

Preview: A thumb sliding along its track