Popover

The Popover component wraps a trigger element and a wc-popover-content child. It uses floating-ui to compute position, keeping the panel visible inside the viewport even on scroll.

Overview API

Usage

Open popover
Submit

  <wc-popover trigger="click">
    <wc-button>Open popover</wc-button>
    <wc-popover-content>
      <div style="display:flex;flex-direction:column;gap:0.75rem;">
        <wc-input label="Name"></wc-input>
        <wc-input label="Email"></wc-input>
        <wc-button>Submit</wc-button>
      </div>
    </wc-popover-content>
  </wc-popover>

Placements

The popover can be positioned relative to the trigger element. Accepted values for placement include: top, top-start, top-end, right, right-start, right-end, bottom (default), bottom-start, bottom-end, left, left-start, and left-end. floating-ui automatically flips or shifts the panel to keep it visible inside the viewport.

top Placed on top bottom Placed on bottom left Placed on left right Placed on right

  <wc-popover trigger="click" placement="top">
    <wc-button variant="outlined">top</wc-button>
    <wc-popover-content>Placed on top</wc-popover-content>
  </wc-popover>
  <wc-popover trigger="click" placement="bottom">
    <wc-button variant="outlined">bottom</wc-button>
    <wc-popover-content>Placed on bottom</wc-popover-content>
  </wc-popover>
  <wc-popover trigger="click" placement="left">
    <wc-button variant="outlined">left</wc-button>
    <wc-popover-content>Placed on left</wc-popover-content>
  </wc-popover>
  <wc-popover trigger="click" placement="right">
    <wc-button variant="outlined">right</wc-button>
    <wc-popover-content>Placed on right</wc-popover-content>
  </wc-popover>

Trigger

The trigger attribute controls how the popover opens. Use click to toggle on click, hover to open on mouse-over, or manual to drive visibility programmatically via the open attribute or show() / hide() methods.

hover Opens on hover click Opens on click manual (open) Manually controlled

  <wc-popover trigger="hover">
    <wc-button variant="tonal">hover</wc-button>
    <wc-popover-content>Opens on hover</wc-popover-content>
  </wc-popover>

  <wc-popover trigger="click">
    <wc-button variant="tonal">click</wc-button>
    <wc-popover-content>Opens on click</wc-popover-content>
  </wc-popover>

  <wc-popover trigger="manual" open="true">
    <wc-button variant="tonal">manual (open)</wc-button>
    <wc-popover-content>Manually controlled</wc-popover-content>
  </wc-popover>

On this page

Sponsor

Properties

Events

Methods

CSS Custom Properties