Skip to main content
VelinStyle v1.3.0
⌂ Home
  1. Docs
  2. Components
  3. Overlays
  4. Popover

Popover 1.2.2

The <velin-popover> web component displays rich floating content panels anchored to a trigger element, with configurable placement, triggers, and WCAG-oriented roles and focus management. Deutsch: Popover De

Maturity: Documented as stable in VelinStyle 1.2.0. Design Intelligence (plan / review / agent meta) is separate and beta / foundation where noted.

When to use

When not

Basic popover

This is the popover body (default slot).

<velin-popover title="Popover title" trigger="click">
  <button class="velin-btn velin-btn--primary" slot="trigger">Click me</button>
  <p>This is the popover body (default slot).</p>
</velin-popover>

Placements

Set placement to top, bottom, start, or end (logical inline positions).

<velin-popover placement="top" title="Top">
  <button slot="trigger">Top</button>
  <p>Content</p>
</velin-popover>

<velin-popover placement="end" title="End">
  <button slot="trigger">End</button>
  <p>Content</p>
</velin-popover>

<velin-popover placement="bottom" title="Bottom">
  <button slot="trigger">Bottom</button>
  <p>Content</p>
</velin-popover>

<velin-popover placement="start" title="Start">
  <button slot="trigger">Start</button>
  <p>Content</p>
</velin-popover>

Triggers

The trigger attribute accepts click, hover, or focus.

<velin-popover trigger="hover" title="Hover popover">
  <button slot="trigger">Hover me</button>
  <p>Shown on hover or focus.</p>
</velin-popover>

<velin-popover trigger="focus" title="Focus popover">
  <input slot="trigger" placeholder="Focus me" aria-label="Focus trigger">
  <p>Shown while focused.</p>
</velin-popover>

With title

Add a title attribute for a styled title bar (escaped for XSS safety).

<velin-popover title="Popover Title">
  <button class="velin-btn velin-btn--secondary" slot="trigger">
    Titled Popover
  </button>
  <p>And here's some content below the title.</p>
</velin-popover>

Accessibility

API

Attributes

AttributeTypeDescription
openBooleanObserved — whether the popover is visible
placementStringRead on connect — top, bottom (default), start, end
triggerStringRead on connect — click (default), hover, or focus
titleStringOptional heading above the default slot (escaped)
aria-labelStringFallback name when title is empty

Slots & parts

NameKindDescription
triggerSlotActivator control
(default)SlotPanel body
popover, titleCSS partsShadow styling hooks

Methods

MethodDescription
open()Show the popover
close()Hide the popover
toggle()Toggle visibility

No custom events are dispatched. Only open is an observed attribute — set placement/trigger/title before connect (or rebuild the element) if you change them dynamically.

Best practices & pitfalls