Sheet
nswds-ui/sheetFreeComponent
An edge-anchored dialog that slides in from any side, built on the Base UI dialog primitive.
Install it
npx shadcn@latest add https://raw.githubusercontent.com/digitalnsw/nswds-ui/main/apps/registry/public/r/sheet.jsonSource
1'use client'23import { Dialog as SheetPrimitive } from '@base-ui/react/dialog'4import * as React from 'react'56import { Button } from '@/components/button'7import { IconClose } from '@/icons/close'8import { cn } from '@/lib/utils'910function Sheet({ ...props }: SheetPrimitive.Root.Props) {11 return <SheetPrimitive.Root data-slot='sheet' {...props} />12}1314function SheetTrigger({ ...props }: SheetPrimitive.Trigger.Props) {15 return <SheetPrimitive.Trigger data-slot='sheet-trigger' {...props} />16}1718function SheetClose({ ...props }: SheetPrimitive.Close.Props) {19 return <SheetPrimitive.Close data-slot='sheet-close' {...props} />20}2122function SheetPortal({ ...props }: SheetPrimitive.Portal.Props) {23 return <SheetPrimitive.Portal data-slot='sheet-portal' {...props} />24}2526function SheetOverlay({ className, ...props }: SheetPrimitive.Backdrop.Props) {27 return (28 <SheetPrimitive.Backdrop29 data-slot='sheet-overlay'30 className={cn(31 'fixed inset-0 z-50 bg-black/80 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs',32 className,33 )}34 {...props}35 />36 )37}3839function SheetContent({40 className,41 children,42 side = 'right',43 showCloseButton = true,44 ...props45}: SheetPrimitive.Popup.Props & {46 side?: 'top' | 'right' | 'bottom' | 'left'47 showCloseButton?: boolean48}) {49 return (50 <SheetPortal>51 <SheetOverlay />52 <SheetPrimitive.Popup53 data-slot='sheet-content'54 data-side={side}55 className={cn(56// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from @nswds/ui
All 46 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Aspect Ratioaspect-ratio | @nswds/ui | Components | Free | 2 deps · 2 files | |
| Badgebadge | @nswds/ui | Components | Free | 4 deps · 2 files | |
| Buttonbutton | @nswds/ui | Components | Free | 4 deps · 2 files | |
| Cardcard | @nswds/ui | Components | Free | 2 deps · 2 files | |
| Collapsiblecollapsible | @nswds/ui | Components | Free | 1 dep | |
| Drawerdrawer | @nswds/ui | Components | Free | 3 deps · 2 files | |
| Expandable Searchexpandable-search | @nswds/ui | Components | Free | 3 deps · 2 files | |
| Fieldfield | @nswds/ui | Components | Free | 4 deps · 2 files |
