Popover

Floating content boxes triggered by click — with title, body, arrow, and 4 placement directions.

Default (Bottom)

<div class="sui-popover">
  <button class="sui-btn" data-sui-popover aria-expanded="false" aria-haspopup="true">
    Click Me
  </button>
  <div class="sui-popover-content" role="dialog">
    <div class="sui-popover-header">Popover Title</div>
    <div class="sui-popover-body">Popover content goes here.</div>
  </div>
</div>

Directions

<!-- Bottom (default) -->
<div class="sui-popover">...</div>

<!-- Top -->
<div class="sui-popover sui-popover-top">...</div>

<!-- Left -->
<div class="sui-popover sui-popover-left">...</div>

<!-- Right -->
<div class="sui-popover sui-popover-right">...</div>

Alignment

Control where the popover aligns relative to the trigger. Default is centered.

<!-- Start-aligned -->
<div class="sui-popover sui-popover-start">
  <button class="sui-btn" data-sui-popover>Start</button>
  <div class="sui-popover-content">...</div>
</div>

<!-- Center (default) -->
<div class="sui-popover">
  <button class="sui-btn" data-sui-popover>Center</button>
  <div class="sui-popover-content">...</div>
</div>

<!-- End-aligned -->
<div class="sui-popover sui-popover-end">
  <button class="sui-btn" data-sui-popover>End</button>
  <div class="sui-popover-content">...</div>
</div>

With Close Button

<div class="sui-popover">
  <button class="sui-btn" data-sui-popover>Dismissible</button>
  <div class="sui-popover-content" role="dialog">
    <div class="sui-popover-header">
      Dismissible
      <button class="sui-popover-close" aria-label="Close"></button>
    </div>
    <div class="sui-popover-body">Click the X to close.</div>
  </div>
</div>

With Form

<div class="sui-popover sui-popover-start">
  <button class="sui-btn" data-sui-popover>Set Dimensions</button>
  <div class="sui-popover-content" role="dialog">
    <div class="sui-popover-header">
      Dimensions
      <button class="sui-popover-close" aria-label="Close"></button>
    </div>
    <div class="sui-popover-body">
      <div class="sui-form-group">
        <label class="sui-label">Width</label>
        <input type="text" class="sui-input" value="100%">
      </div>
      <div class="sui-form-group">
        <label class="sui-label">Max Width</label>
        <input type="text" class="sui-input" value="320px">
      </div>
      <div class="sui-form-group">
        <label class="sui-label">Height</label>
        <input type="text" class="sui-input" value="auto">
      </div>
    </div>
    <div class="sui-popover-footer">
      <button class="sui-btn sui-btn-primary sui-btn-sm">Apply</button>
    </div>
  </div>
</div>

Rich Content

<div class="sui-popover sui-popover-start">
  <button class="sui-btn" data-sui-popover>User Profile</button>
  <div class="sui-popover-content" role="dialog">
    <div class="sui-popover-header">
      John Doe
      <button class="sui-popover-close" aria-label="Close"></button>
    </div>
    <div class="sui-popover-body">
      <div style="display:flex;align-items:center;gap:12px;margin-bottom:12px;">
        <div class="sui-avatar sui-avatar-sm">JD</div>
        <div>
          <div style="font-weight:600;">Product Designer</div>
          <div style="font-size:12px;">Joined March 2024</div>
        </div>
      </div>
      <p>Bio text here.</p>
    </div>
    <div class="sui-popover-footer" style="justify-content:flex-start;">
      <button class="sui-btn sui-btn-primary sui-btn-sm">Follow</button>
      <button class="sui-btn sui-btn-sm">Message</button>
    </div>
  </div>
</div>

No Header

<div class="sui-popover">
  <button class="sui-btn" data-sui-popover>Simple Popover</button>
  <div class="sui-popover-content">
    <div class="sui-popover-body">Just body content, no header.</div>
  </div>
</div>

Delete this item?

This action cannot be undone. This will permanently delete the item and remove all associated data.