skip to the page
superthread
componentssheet
system
superthread
version
2.0.0-next.1
date
25.10.26

sheet

a panel that slides in from an edge of the window and keeps focus until it closes. on a phone, this site's menu is a sheet.

bunx --bun shadcn@latest add @mk/sheet

in both modes

each frame below stands in for the window, with the sheet open on its right edge. it takes three quarters of the width, at most 384 px from 640 px up.

light

board

  • or-418write the release notes for next.2
  • or-412tighten the select listbox keyboard loop
  • or-414split the board query by ship
  • or-411regenerate the registry css after the token change

dark

board

  • or-418write the release notes for next.2
  • or-412tighten the select listbox keyboard loop
  • or-414split the board query by ship
  • or-411regenerate the registry css after the token change

try it

light

it opens from the right in this pane’s mode. close it with the x or escape.

dark

it opens from the right in this pane’s mode. close it with the x or escape.

upstream

base-nova’s sheet, built on base ui’s dialog. superthread changes its imports and draws the close button with the close glyph, labelled in lowercase. a few classes change too. the sheet sits on the sheet lift over the scrim, with no blur, as the dialog does. its title takes the display face, and only its opacity and position animate.

the sheet renders at the end of the page, so it takes the page’s mode. to give it another, pass the mode to its portal, as each pane under try it does: portalProps={{ className: "dark" }}. a container there renders it somewhere else; the frames above hold their sheets that way.