shadcn.io is an independent project built on shadcn/ui
The title is Product Information. Description, Specifications, and Reviews stack in the middle. Add to Wishlist and Add to Cart stay at the bottom.
Use it when the actions must stay reachable on a long note. A short note can sit in a Dialog with no scroll. In Svelte, Ark UI does not write those product sections.
Installation
Anatomy

Usage
<Sheet><SheetTrigger>{#snippet asChild(props)}<Button {...props()}>View Details</Button>{/snippet}</SheetTrigger><SheetContent><SheetHeader><SheetTitle>Product Information</SheetTitle><SheetDescription>Detailed product specifications and features</SheetDescription></SheetHeader><Separator /><div class="flex-1 overflow-y-auto p-4"><div class="flex flex-col gap-4"><section><h4 class="mb-2 font-semibold text-sm">Description</h4><p class="text-muted-foreground text-sm">This is a comprehensive product description that includes all the important details about the product. It can be quite long and will scroll if needed.</p></section><section><h4 class="mb-2 font-semibold text-sm">Specifications</h4><ul class="grid gap-1 text-muted-foreground text-sm">{#each SPECIFICATIONS as specification (specification)}<li>{specification}</li>{/each}</ul></section><section><h4 class="mb-2 font-semibold text-sm">Reviews</h4><p class="text-muted-foreground text-sm">Customer reviews and ratings would be displayed here.</p></section></div></div><Separator /><SheetFooter><Button class="w-full" variant="outline">Add to Wishlist</Button><Button class="w-full">Add to Cart</Button></SheetFooter></SheetContent></Sheet>FAQ
How do the header and footer stay in place?
They don't need position: sticky. SheetContent is a flex column, and only the body between them scrolls, with flex-1 overflow-y-auto.
What are the lines above and below the body?
Two Separators, one after SheetHeader and one before SheetFooter. They show where the scrolling part starts and ends.
What's in the scrolling body?
Three sections, Description, Specifications and Reviews, each with an h4 heading. Specifications is a list of four lines.
What do the footer buttons do?
Nothing yet: Add to Wishlist (outline) and Add to Cart are plain Buttons. Wire them to your cart, and close the sheet by controlling its open state if adding should dismiss it:
Pass open to Sheet and read details.open in onOpenChange.
API Reference
Sheet
No extra props in this demo. The rest is on the Sheet page.
Button
Sets props and variant="outline". The rest is on the Button page.
Separator
No extra props in this demo. The rest is on the Separator page.






