Modal

Modal dialogs for focused user interactions. Includes backdrop, focus trap, and keyboard navigation.

Basic Modal

A modal dialog with header, body, and footer. Click backdrop or press ESC to close.

Modal Sizes

Different sizes for various content needs.

<!-- Small -->
<div class="ui-modal__dialog ui-modal__dialog--sm">...</div>

<!-- Default (no modifier) -->
<div class="ui-modal__dialog">...</div>

<!-- Large -->
<div class="ui-modal__dialog ui-modal__dialog--lg">...</div>

<!-- Fullscreen -->
<div class="ui-modal__dialog ui-modal__dialog--fullscreen">...</div>

Static Backdrop

Prevent closing when clicking backdrop. Use for important dialogs.

<div id="staticModal" class="ui-modal" data-ui-backdrop-static>
  <!-- Cannot be closed by clicking backdrop -->
</div>

Centered Modal

Vertically center the modal in the viewport.

<div class="ui-modal__dialog ui-modal__dialog--centered">
  ...
</div>

Scrollable Content

For long content, the modal body becomes scrollable.

<div class="ui-modal__dialog ui-modal__dialog--scrollable">
  <div class="ui-modal__content">
    <div class="ui-modal__body">
      <!-- Long content here -->
    </div>
  </div>
</div>

Programmatic Control

Open and close modals via JavaScript.

Events

Event Description
ui:modal:show Fired before modal opens (cancelable)
ui:modal:shown Fired after modal is fully visible
ui:modal:hide Fired before modal closes (cancelable)
ui:modal:hidden Fired after modal is fully hidden

Data Attributes

Attribute Description
data-ui-toggle="modal" Marks element as modal trigger
data-ui-target="#id" Target modal selector
data-ui-dismiss="modal" Closes the modal when clicked
data-ui-backdrop-static Prevents closing on backdrop click

Accessibility

  • Focus is trapped inside the modal when open
  • Press Escape to close (unless static backdrop)
  • ARIA attributes (role="dialog", aria-modal="true") are automatically added
  • Focus returns to trigger element when closed
  • Body scroll is locked when modal is open
Modal Title

This is a basic modal dialog. You can put any content here.

Click the backdrop or press ESC to close.

Small Modal

A smaller modal for quick confirmations or simple forms.

Large Modal

A larger modal for complex forms or detailed content.

Fullscreen Modal

A fullscreen modal takes the entire viewport.

Important Dialog

This modal cannot be closed by clicking the backdrop.

You must explicitly click a close button.

Centered Modal

This modal is vertically centered in the viewport.

Scrollable Modal

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.