

<InteractiveDemo
  name="drawer"
  controls="[
  {
    type: 'enum',
    name: 'placement',
    options: ['bottom', 'top', 'left', 'right'],
    defaultValue: 'bottom',
  },
]"
/>

## Installation [#installation]

<CodeBlockTabs defaultValue="npm">
  <CodeBlockTabsList>
    <CodeBlockTabsTrigger value="npm">
      npm
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="pnpm">
      pnpm
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="yarn">
      yarn
    </CodeBlockTabsTrigger>

    <CodeBlockTabsTrigger value="bun">
      bun
    </CodeBlockTabsTrigger>
  </CodeBlockTabsList>

  <CodeBlockTab value="npm">
    ```bash
    npx shadcn@latest add @dotui/drawer
    ```
  </CodeBlockTab>

  <CodeBlockTab value="pnpm">
    ```bash
    pnpm dlx shadcn@latest add @dotui/drawer
    ```
  </CodeBlockTab>

  <CodeBlockTab value="yarn">
    ```bash
    yarn dlx shadcn@latest add @dotui/drawer
    ```
  </CodeBlockTab>

  <CodeBlockTab value="bun">
    ```bash
    bun x shadcn@latest add @dotui/drawer
    ```
  </CodeBlockTab>
</CodeBlockTabs>

## Usage [#usage]

Use drawers to display content that slides in from the edge of the screen.

```tsx
import { Button } from '@/components/ui/button'
import { Dialog, DialogContent } from '@/components/ui/dialog'
import { Drawer } from '@/components/ui/drawer'
```

```tsx
<Dialog>
  <Button>Open Drawer</Button>
  <Drawer placement="bottom">
    <DialogContent>Drawer content</DialogContent>
  </Drawer>
</Dialog>
```

## Examples [#examples]

<Examples>
  <Example name="drawer/demos/basic" />

  <Example name="drawer/demos/dialog-parts" />

  <Example name="drawer/demos/placement" />
</Examples>

## API Reference [#api-reference]

### Drawer [#drawer]

<Reference name="drawer" />

### DrawerHandle [#drawerhandle]

<Reference name="drawer-handle" />

### DrawerSwipeArea [#drawerswipearea]

<Reference name="drawer-swipe-area" />

### DrawerProvider [#drawerprovider]

<Reference name="drawer-provider" />

### DrawerIndent [#drawerindent]

<Reference name="drawer-indent" />

### DrawerIndentBackground [#drawerindentbackground]

<Reference name="drawer-indent-background" />
