# `ShadcnUI.Components.Overlays.Drawer`
[🔗](https://github.com/pcharbon70/shadcn_ui/blob/main/lib/shadcn_ui/components/overlays/drawer.ex#L1)

A native modal dialog presented at a logical edge, without drag gestures.

`edge` selects rendered presentation, not responsive application state.
Native commands, focus containment, dismissal, and restoration belong to the
browser. Applications own form results, authorization, replacement, and any
reinvocation. Supply an ordinary `fallback` destination for unsupported invokers.

# `drawer`

Renders a closed native modal Drawer with a required title or accessible label.

Keep header and footer concise; put long content in the body. `initial_focus`
may target the body (`content`), close button, or native automatic selection.
Body globals are forwarded to the named keyboard-focusable content region;
unrelated native and transport attributes pass through the other `*_rest` maps.
Caller slots must not introduce nested modals, duplicate autofocus, or disable
the explicit exit. No form, navigation landmark, or result is invented.

## Attributes

* `id` (`:string`) (required)
* `accessible_label` (`:string`) - Defaults to `nil`.
* `edge` (`:atom`) - Defaults to `:end`. Must be one of `:start`, `:end`, or `:bottom`.
* `size` (`:atom`) - Defaults to `:default`. Must be one of `:small`, `:default`, or `:large`.
* `dismissal` (`:atom`) - Defaults to `:close_request`. Must be one of `:none`, `:close_request`, or `:any`.
* `initial_focus` (`:atom`) - Defaults to `:auto`. Must be one of `:auto`, `:content`, or `:close`.
* `class` (`:any`) - Defaults to `nil`.
* `trigger_class` (`:any`) - Defaults to `nil`.
* `content_class` (`:any`) - Defaults to `nil`.
* `close_class` (`:any`) - Defaults to `nil`.
* `trigger_rest` (`:map`) - Defaults to `%{}`.
* `dialog_rest` (`:map`) - Defaults to `%{}`.
* `content_rest` (`:map`) - Defaults to `%{}`.
* `close_rest` (`:map`) - Defaults to `%{}`.
* Global attributes are accepted.
## Slots

* `trigger` (required)
* `title`
* `description`
* `header`
* `inner_block` (required)
* `footer`
* `close` (required)
* `fallback`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
