sheet
aomi/sheetFreeComponent
Extends the Dialog component to display content that complements the main content of the screen.
Install it
npx shadcn@latest add https://aomi.dev/r/sheet.jsonSource
1"use client"23import * as React from "react"4import { XIcon } from "lucide-react"5import * as SheetPrimitive from "@radix-ui/react-dialog"67import { cn } from "@aomi-labs/react"89function Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {10 return <SheetPrimitive.Root data-slot="sheet" {...props} />11}1213function SheetTrigger({14 ...props15}: React.ComponentProps<typeof SheetPrimitive.Trigger>) {16 return <SheetPrimitive.Trigger data-slot="sheet-trigger" {...props} />17}1819function SheetClose({20 ...props21}: React.ComponentProps<typeof SheetPrimitive.Close>) {22 return <SheetPrimitive.Close data-slot="sheet-close" {...props} />23}2425function SheetPortal({26 ...props27}: React.ComponentProps<typeof SheetPrimitive.Portal>) {28 return <SheetPrimitive.Portal data-slot="sheet-portal" {...props} />29}3031function SheetOverlay({32 className,33 ...props34}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {35 return (36 <SheetPrimitive.Overlay37 data-slot="sheet-overlay"38 className={cn(39 "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",40 className41 )}42 {...props}43 />44 )45}4647function SheetContent({48 className,49 children,50 side = "right",51 showCloseButton = true,52 ...props53}: React.ComponentProps<typeof SheetPrimitive.Content> & {54 side?: "top" | "right" | "bottom" | "left"55 showCloseButton?: boolean56}) {57 return (58 <SheetPortal>59 <SheetOverlay />60 <SheetPrimitive.Content61 data-slot="sheet-content"62 className={cn(63 "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",64 side === "right" &&65 "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",66 side === "left" &&67 "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",68 side === "top" &&69 "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",70 side === "bottom" &&71 "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",72// … truncated
What it pulls in
npm packages
Files it writes
More from aomi
All 34 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| accordionaccordion | aomi | Components | Free | 2 deps | |
| alertalert | aomi | Components | Free | 1 dep | |
| aomi-frameaomi-frame | aomi | Components | Free | 1 dep | |
| aomi-para-provideraomi-para-provider | aomi | Components | Free | 9 deps · 27 files | |
| aomi-privy-provideraomi-privy-provider | aomi | Components | Free | 7 deps · 15 files | |
| aomi-wallet-kitaomi-wallet-kit | aomi | Components | Free | 8 deps · 59 files | |
| aomi-widgetaomi-widget | aomi | Components | Free | 2 deps | |
| assistant-threadassistant-thread | aomi | Components | Free | 6 deps · 23 files |
