Drawer
react-fancyPanel that slides in from any edge — viewport-level, or attached inside a Card or layout pane.
Why
Edge panels get rebuilt on every project, and always with the same three bugs: the size prop quietly does nothing on two of the four sides, the panel escapes its container because nothing above it was positioned, and a panel scoped to a card still traps focus like a dialog and strands keyboard users inside it.
What
A controlled panel that slides in from any edge.
side takes left / right / top / bottom, and size addresses the drawer's own axis — width on the horizontal edges, height on the vertical ones — so one scale reads the same wherever you attach it. Compound Drawer.Header / Drawer.Body / Drawer.Footer match Modal's rhythm.How
Hold
open in state and pass it with onClose. Leave attach alone for an app-level drawer — it portals, locks scroll, traps focus, and sets aria-modal. Set attach="container" to scope it to a Card, layout pane, or prompt-input shell instead; wrap that region in Drawer.Container so the absolute panel has a positioned ancestor to resolve against.