Skip to content
An open sheet with an accent disc, a title and a line of body text.
Published 2026-10-10 · v0.1 · MIT · React 19 · Motion 12 · Solo designer and builder

Orrery + Iris

A trigger that morphs into a sheet.

Problem · Context

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.

Approach

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.

Spec sheet
My RoleSolo designer and builder
StatusPublished 2026-10-10 · v0.1 · MIT
PlatformsReact 19 · Motion 12
team
Solo designer and builder: me
build stack
React 19 · Motion 12
links

The build

A small set of deliberate pieces, each one earning its place.

An open sheet titled Search with a list of five recent items.

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.

The Solar sun menu open on seansmithdesign.com, with About, Contact and Settings.

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.

Where it stands

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