drawer
9ui/drawerFreeComponent
9ui publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by 9ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://9ui.dev/r/drawer.jsonSource
1"use client"23import * as React from "react"4import { Drawer as BaseDrawer } from "vaul-base"56import { cn } from "@/lib/utils"78function Drawer({ ...props }: React.ComponentProps<typeof BaseDrawer.Root>) {9 return <BaseDrawer.Root data-slot="drawer" {...props} />10}1112function DrawerTrigger({13 ...props14}: React.ComponentProps<typeof BaseDrawer.Trigger>) {15 return <BaseDrawer.Trigger data-slot="drawer-trigger" {...props} />16}1718function DrawerPortal({19 ...props20}: React.ComponentProps<typeof BaseDrawer.Portal>) {21 return <BaseDrawer.Portal data-slot="drawer-portal" {...props} />22}2324function DrawerClose({25 ...props26}: React.ComponentProps<typeof BaseDrawer.Close>) {27 return <BaseDrawer.Close data-slot="drawer-close" {...props} />28}2930function DrawerOverlay({31 className,32 ...props33}: React.ComponentProps<typeof BaseDrawer.Overlay>) {34 return (35 <BaseDrawer.Overlay36 data-slot="drawer-overlay"37 className={cn(38 "fixed inset-0 bg-black/50 transition-all duration-200 [&[data-ending-style]]:opacity-0 [&[data-starting-style]]:opacity-0",39 className40 )}41 {...props}42 />43 )44}4546function DrawerContent({47 className,48 children,49 ...props50}: React.ComponentProps<typeof BaseDrawer.Content>) {51 return (52 <DrawerPortal>53 <DrawerOverlay />54 <BaseDrawer.Content55 data-slot="drawer-content"56 className={cn(57 "group/drawer-content bg-popover text-popover-foreground fixed z-50 flex h-auto flex-col outline-none",58 "data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b",59 "data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t",60 "data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:rounded-l-lg data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm",61// … truncated
What it pulls in
npm packages
Files it writes
More from 9ui
All 56 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| accordionaccordion | 9ui | Components | Free | no deps | |
| alertalert | 9ui | Components | Free | no deps | |
| alert-dialogalert-dialog | 9ui | Components | Free | no deps | |
| aspect-ratioaspect-ratio | 9ui | Components | Free | no deps | |
| autocompleteautocomplete | 9ui | Components | Free | no deps | |
| avataravatar | 9ui | Components | Free | no deps | |
| badgebadge | 9ui | Components | Free | no deps | |
| breadcrumbsbreadcrumbs | 9ui | Components | Free | no deps |
