@fluixi-ui/drawer
v0.2.0-alpha.11
Published
Headless drawer (off-canvas sheet) for the Fluixi UI ecosystem
Readme
@fluixi-ui/drawer
A modal off-canvas panel that slides in from an edge.
A headless drawer (sheet) built on the same overlay primitives as
@fluixi-ui/dialog — dismissable layer, focus trap, scroll lock.
It slides from any edge via the side prop and composes from header, body, and
footer parts.
import {
Drawer, DrawerTrigger, DrawerPortal, DrawerOverlay, DrawerContent,
DrawerHeader, DrawerTitle, DrawerBody, DrawerFooter, DrawerClose,
} from '@fluixi-ui/drawer';
<Drawer side="right">
<DrawerTrigger>Open filters</DrawerTrigger>
<DrawerPortal>
<DrawerOverlay />
<DrawerContent>
<DrawerHeader>
<DrawerTitle>Filters</DrawerTitle>
<DrawerClose aria-label="Close">×</DrawerClose>
</DrawerHeader>
<DrawerBody>…</DrawerBody>
<DrawerFooter>
<DrawerClose>Apply</DrawerClose>
</DrawerFooter>
</DrawerContent>
</DrawerPortal>
</Drawer>Props (Drawer)
side— the edge to slide from:left|right(default) |top|bottom.open/defaultOpen/onOpenChange— controlled or uncontrolled open state.modal— trap focus and lock scroll (defaulttrue).
Parts
| Part | Description |
|---|---|
| Drawer | Root; owns open state and side. |
| DrawerTrigger | Button that opens the drawer. |
| DrawerPortal | Portals overlay + content to <body> while open. |
| DrawerOverlay | The backdrop. |
| DrawerContent | The focus-trapped panel; data-side, dismisses on Escape / outside pointer-down. |
| DrawerHeader / DrawerTitle / DrawerDescription | Header region and accessible label/description. |
| DrawerBody | Scrollable content region. |
| DrawerFooter | Footer, typically actions. |
| DrawerClose | Button that closes the drawer. |
Part of the Fluixi UI component library. Made with ☕ by the Fluixi team.
