Orrery + Iris
A trigger that morphs into a sheet.
A floating button that opens a sheet is everywhere, and it has no name. Material has SpeedDial, Apple and Radix have sheets, but those slide in from an edge. Nobody has a standard for a trigger that turns into the surface.
Orrery is the design system. Iris is its first component. The package ships five trigger shapes, seven anchor positions, nine components, a useIris hook and presets. It needs React 19 and Motion 12 or later.
The build
A small set of deliberate pieces, each one earning its place.

Iris
Iris is a draggable trigger that grows into a modal sheet on one spring, plus inline link previews. You supply the content. The package owns the morph. Drag the trigger to any of seven anchors, or move it with the arrow keys. Under reduced motion the morph becomes a short cross-fade.

On this site
The top-right menu on every Solar page is Iris. Its face is the pixel sun with my portrait. Tap it and it opens one sheet with About, Contact and Settings. Iris handles Enter and Space to open, Escape to close, an inert page behind, and focus returning to the trigger. The component system also sits in the Solar map as a space station, on its own orbit.
It runs the menu on every Solar page of this site. One known issue: resizing the window while the sheet is closing causes a brief shadow desync.
2026

