When To Use
- Use Sheet when content needs to appear in context without forcing a full page transition.
- Match the overlay type to the weight of the task: lightweight guidance for hints, stronger containment for focused tasks.
- Review the examples below to compare trigger styles, content density, and dismissal expectations.
When Not To Use
- Do not move a full workflow into an overlay if the user needs persistent navigation, rich context, or deep editing space.
- Do not rely on an overlay for critical messaging when it can be missed, dismissed accidentally, or blocked by focus issues.
Accessibility Notes
- Maintain heading order and region labels so the surrounding layout stays understandable when styles are stripped away.
- Avoid using visual grouping alone to explain hierarchy; expose the structure semantically as well.
- Make sure drag, resize, and reorder interactions have keyboard alternatives when they are part of the core task.
Key Props / API
Variant props
side
Key exports
SheetRoot, SheetTrigger, SheetContent, SheetHeader, SheetFooter, SheetTitle
Example Code
import {
Sheet, SheetTrigger, SheetContent,
SheetHeader, SheetTitle, SheetDescription,
} from "@hilum/ui"
import { Button } from "@hilum/ui"
<Sheet>
<SheetTrigger asChild>
<Button variant="outline">Open settings</Button>
</SheetTrigger>
<SheetContent>
<SheetHeader>
<SheetTitle>Voice settings</SheetTitle>
<SheetDescription>
Configure stability, similarity, and style for this voice.
</SheetDescription>
</SheetHeader>
</SheetContent>
// ...trimmed for docsSheet
Side panel
Slides in from the right — ideal for settings and detail panels