sheengemologic ui
All components

Sheet

Provides the Drawer contract under the common Sheet name for task and detail panels.@gemologic/sheen · overlays

Playground

<Sheet title="Task details" trigger="Open task" side="end"><Text>Current task</Text></Sheet>

Variant matrix

Task sheet
side: start
side: end

Anatomy

Package
@gemologic/sheen
Source
packages/ui/src/primitives/Drawer.tsx
Tokens
  • --sheen-color-bg-raised
  • --sheen-color-bg-overlay
  • --sheen-elevation-modal
  • --sheen-duration-slow

Accessibility

Role: dialogKeyboard: Tab, Shift+Tab, Escape

Do

  • Use Sheet for the same modal side-panel behavior when that name fits the product vocabulary.

Do not

  • Do not use it for persistent AppShell navigation.

Generated props

NameTypeDefaultDescription
sideDrawerSideendLogical viewport edge from which the panel enters.
title *stringAccessible panel title.
contentIdstringOptional stable content element ID.
triggerstringVisible label for the opening button.
descriptionstringOptional explanatory text associated with the panel.
openbooleanControlled open state.
defaultOpenbooleanfalseUncontrolled initial open state.
onOpenChange((open: boolean) => void) | undefinedRequests an open-state change.
dismissiblebooleantrueAllows Escape, outside press, and the close action.
closeLabelstringVisible and accessible close label.
initialFocus(() => HTMLElement | undefined) | undefinedResolves an enabled focus target inside the panel.
returnFocus(() => HTMLElement | undefined) | undefinedResolves a surviving focus target after close.
shortcutScopestringUnique modal shortcut scope ID.
classstringAdditional classes on panel content.
footerJSX.ElementApp-owned footer actions beside close.
Native Solid/HTML attributes remain available and are omitted from this authored-prop view.