Sheet

A modal, edge-anchored surface for navigation, reference browsing, filters, or an extended task that needs more room than Dialog while keeping the page visible as context. Sheet is the component; drawer is its bottom-edge usage, with drag and snap behavior deferred to layer 2.

Sheet · Default

The right-side default with Sheet-owned chrome only: required title and close Button, optional description and footer, and an intentionally empty body so the surface itself stays under review.

Side

Side communicates the Sheet's relationship to the obscured page; it does not change modal semantics or internal anatomy.

SideModifierBest fitDemo
Right--rightApplication tasks and reference browsing; the default
Left--leftTransient application navigation
Top--topCompact global controls or inspection
Bottom--bottomThe drawer pattern on narrow screens

Size

Standard preserves more of the page and fits ordinary navigation, filters, and application tasks. Wide spends half the viewport on source, data, or extended reference browsing, with the usable viewport as its narrow-screen cap.

SizeModifierBest fitDemo
StandardNavigation, filters, and ordinary application tasks
Wide--wideSource, data, and extended reference browsing

Default sheet

Optional supporting text gives the surface context.

Reference source

Wide keeps long-form reference material readable while preserving the page as context.

{
  "size": "wide",
  "bestFor": ["source", "data", "extended reference"],
  "supportedArtifacts": ["design tokens", "theme variables", "component contracts", "generated Tailwind theme configuration", "brand adaptation metadata"]
}

Left sheet

The same anatomy anchored to the leading edge.

Top sheet

The same anatomy anchored to the top edge.

Bottom sheet

The drawer pattern without implied drag or snap behavior.

Usage notes

A Sheet preserves page context; it does not excuse a workflow from choosing the right information boundary.

VerdictRule
DoUse Sheet for modal navigation, filters, reference browsing, or extended work that benefits from keeping the obscured page visible; keep short decisions in Dialog.
DoUse standard for navigation, filters, and ordinary application tasks; use wide when source, data, or extended reference browsing materially benefits from half-viewport measure.
DoAlways place the persistent close Button in ds-sheet__actions. Put any compact task actions before it, with accessible names and Tooltips for icon-only actions.
DoKeep the header and optional footer fixed and let only .ds-sheet__body scroll.
DoProvide a persistent close Button, choose intentional initial focus, and return focus to the opening trigger after dismissal.
DoCompose existing controls and navigation inside the surface; Sheet owns the layer, not child-component restyling.
Don’tCreate a parallel Drawer component — bottom is a Sheet side, while swipe, drag, snap points, and a grab handle require explicit layer-2 behavior.
Don’tNest modal layers or put a workflow that should own navigation history into a Sheet.