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

Separator

Page structure

No dependencies

A rule with two directions and an accessibility decision: announced when it separates content, silent when it is furniture.

Preview: A horizontal rule and a vertical one, holding things apart

Sheet

Overlays

No dependencies

The dialog docked to an edge, for content tall enough that centring it would mean scrolling a floating box.

Preview: A panel sliding in from the right

Spacer

Page structure

No dependencies

Vertical space on the scale, optionally with a rule and a label. For Markdown, where there is no markup to hang a margin on.

Preview: A labelled rule holding a gap open

Theme Toggle

Page structure

No dependencies

A segmented control that reports which option was pressed and knows nothing about themes. Roving focus, and `aria-checked` is the selector that draws it.

Preview: Three icons in a well, one lit

useDeskState

Overlays

No dependencies

Which windows are open, where they sit and what has been put away, remembered without breaking a server render.

Preview: No UI - it remembers where you left things

useDeviceKind

Scenes

No dependencies

Which machine the stylesheet is currently drawing, as a value. Null until mounted, on purpose - a default would be a claim the server cannot support.

Preview: No UI - it names the machine you are looking at

Workbench

Containers

No dependencies

The frame around a tool rather than a page: title strip, toolbar, rail, a body that scrolls on its own, and a status line.

Preview: A bordered panel with a title strip above and a status line below