Snippets Popup

Bootstrap 5 Warning Popup Modal

A clean, centred error dialog with a warning icon, a clear message and one primary recovery action.

Bootstrap 5 No jQuery Nov 2019 2K views

<section class="wdw-stage wdw-warn-stage">
  <div class="container" style="max-width: 62rem;">
    <div class="wdw-card-sm wdw-warn-shell p-4" aria-hidden="true">
      <div class="d-flex gap-2 mb-4"><span class="wdw-warn-dot"></span><span class="wdw-warn-dot"></span><span class="wdw-warn-dot"></span></div>
      <div class="row g-3">
        <div class="col-4"><div class="wdw-warn-bar" style="height:6rem"></div></div>
        <div class="col-4"><div class="wdw-warn-bar" style="height:6rem"></div></div>
        <div class="col-4"><div class="wdw-warn-bar" style="height:6rem"></div></div>
        <div class="col-12"><div class="wdw-warn-bar" style="height:7rem"></div></div>
      </div>
    </div>
    <div class="text-center mt-4">
      <button type="button" class="btn btn-primary rounded-pill px-4" data-bs-toggle="modal" data-bs-target="#warningModal">Open warning modal</button>
    </div>
  </div>

  <div class="modal fade wdw-warning" id="warningModal" tabindex="-1" aria-labelledby="warningTitle" aria-describedby="warningDesc" aria-hidden="true" data-wdw-autoshow>
    <div class="modal-dialog modal-dialog-centered">
      <div class="modal-content border-0 text-center p-3 p-sm-4">
        <button type="button" class="btn-close position-absolute top-0 end-0 m-3" data-bs-dismiss="modal" aria-label="Close"></button>
        <div class="modal-body pt-4">
          <span class="wdw-warning-icon mx-auto mb-4" aria-hidden="true">
            <svg width="38" height="38" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><path d="M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z"/><path d="M12 9v4M12 17h.01"/></svg>
          </span>
          <h3 class="wdw-heading h3 mb-2" id="warningTitle">Something went wrong</h3>
          <p class="wdw-muted mb-3" id="warningDesc">An unexpected error has occurred. Please try again in a moment, and contact support if it keeps happening.</p>
          <div class="wdw-warn-ref d-inline-flex align-items-center gap-2 mb-3">
            <span class="badge text-bg-warning rounded-pill">503</span>
            <code id="warnRef">ref 7f3a-91c2</code>
            <button type="button" class="btn btn-sm btn-outline-secondary rounded-pill" id="warnCopy" aria-label="Copy error reference">Copy</button>
          </div>
          <div class="text-start">
            <button type="button" class="btn btn-link btn-sm p-0 link-secondary text-decoration-none" data-bs-toggle="collapse" data-bs-target="#warnDetails" aria-expanded="false" aria-controls="warnDetails">View details</button>
            <div class="collapse" id="warnDetails">
              <p class="small wdw-muted mt-2 mb-0">The service did not respond in time. Your work is saved and nothing was lost.</p>
            </div>
          </div>
          <div class="d-grid gap-2 mt-4">
            <button type="button" class="btn btn-primary rounded-pill" data-bs-dismiss="modal">Try again</button>
            <a href="#" class="btn btn-link link-secondary text-decoration-none">Contact support</a>
          </div>
        </div>
      </div>
    </div>
  </div>
</section>

Built on Bootstrap 5.3.8 with plain JavaScript — no jQuery. Supports light and dark mode via data-bs-theme.

Free to use in personal and commercial projects under the MIT license.