A shadcn-style sheet component built with Ark UI primitives.

Installation

npx shadcn@latest add @ark-cn/sheet

Usage

import * as Sheet from "@/components/ui/sheet"

Read exported parts in src/components/ui/sheet.tsx and compose the primitive according to the Ark UI pattern for this component.

Examples

Edge sheets use the default variant (full edge). Pass variant="inset" for rounded panels that sit inset from each edge.

Side: Right

Side: Left

Side: Top

Side: Bottom

Inset: Right

Inset: Left

Inset: Top

Inset: Bottom

API reference

This component mirrors the upstream Ark UI primitive. All props and DOM behavior are defined by Ark unless you see an ark-cn-only row below.

SheetPopup

PropTypeDescription
backdropClassName?stringExtra class on the backdrop.
closeProps?CloseTriggerPropsProps forwarded to the built-in close button.
showCloseButton?booleanToggles the default close button.
side?"right" | "left" | "top" | "bottom"Slide-in edge and animation direction.
variant?"default" | "inset"Full-bleed edge vs inset rounded floating panel.

SheetFooter

PropTypeDescription
variant?"default" | "bare"Bordered/muted footer vs borderless.

SheetPanel

PropTypeDescription
scrollFade?booleanEnables edge fade on scroll in the inner ScrollArea.

See the ARK UI documentation for the full API.