Drawer

The ArcadiaDrawer component slides in from the left, right, or bottom of the viewport with an optional overlay.

Basic Usage

<ArcadiaDrawer @bind-Visible="showDrawer" Title="Settings" Position="right">
    <p>Drawer content goes here.</p>
</ArcadiaDrawer>

Bottom Drawer

<ArcadiaDrawer @bind-Visible="showBottom" Title="Details" Position="bottom" Height="40vh">
    <p>Bottom sheet content.</p>
</ArcadiaDrawer>

Parameters

ParameterTypeDefaultDescription
VisibleboolfalseWhether the drawer is visible. Supports two-way binding.
Positionstring"right"Slide-in position: "left", "right", "bottom".
Widthstring"320px"Drawer width for left/right positions.
Heightstring"50vh"Drawer height for bottom position.
ShowOverlaybooltrueWhether the overlay backdrop is shown.
Titlestring?nullDrawer title displayed in the header.
ChildContentRenderFragment?nullDrawer body content.
Classstring?nullAdditional CSS class names.
Stylestring?nullInline CSS styles.

Events

EventTypeDescription
VisibleChangedEventCallback<bool>Fired when the visible state changes (two-way binding).

Accessibility

  • Uses role="dialog" with aria-modal="true".
  • Title is linked via aria-labelledby.
  • Focus is trapped inside the drawer using FocusTrap.
  • Close button uses aria-label="Close drawer".
  • Escape key closes the drawer.
  • Clicking the overlay closes the drawer.