import { useState } from 'react'; import { Button } from '../src/lib/components/buttonv2/Buttonv2.component'; import { Drawer } from '../src/lib/components/drawer/Drawer.component'; import { Wrapper } from './common'; export default { title: 'Components/Feedback/Drawer', component: Drawer, decorators: [ (story) => {story()}, ], argTypes: { position: { control: 'select', options: ['left', 'right', 'top', 'bottom'], }, size: { control: 'text' }, overlay: { control: 'boolean' }, showCloseButton: { control: 'boolean' }, }, }; export const Default = { render: (args) => { const [isOpen, setIsOpen] = useState(false); return ( <> setIsOpen(true)} label="Open Drawer" /> setIsOpen(false)} /> > ); }, args: { title: 'Drawer Title', position: 'left', size: '400px', overlay: false, children: ( This is the drawer content. The app remains visible and interactive behind the drawer. ), }, }; export const WithFooter = { render: (args) => { const [isOpen, setIsOpen] = useState(false); return ( <> setIsOpen(true)} label="Open Drawer" /> setIsOpen(false)} footer={ <> setIsOpen(false)} style={{ minWidth: '6rem' }} /> setIsOpen(false)} style={{ minWidth: '6rem' }} /> > } /> > ); }, args: { title: 'Settings', position: 'left', size: '400px', overlay: false, children: ( Drawer with footer actions. Use footer for save, cancel, or reset buttons. ), }, }; export const WithOverlay = { render: (args) => { const [isOpen, setIsOpen] = useState(false); return ( <> setIsOpen(true)} label="Open Drawer with Overlay" /> setIsOpen(false)} /> > ); }, args: { title: 'Overlay Drawer', position: 'left', size: '400px', overlay: true, children: ( This drawer has a backdrop overlay. Click the overlay or press Escape to close. ), }, }; export const RightPosition = { render: (args) => { const [isOpen, setIsOpen] = useState(false); return ( <> setIsOpen(true)} label="Open Right Drawer" /> setIsOpen(false)} /> > ); }, args: { title: 'Right Drawer', position: 'right', size: '350px', overlay: false, children: Drawer sliding in from the right., }, };
This is the drawer content.
The app remains visible and interactive behind the drawer.
Drawer with footer actions.
Use footer for save, cancel, or reset buttons.
This drawer has a backdrop overlay.
Click the overlay or press Escape to close.
Drawer sliding in from the right.