Skip to content

Popover

Displays informative content in a floating panel near a target element.

First release: 1.0.0 Latest update: July 1, 2025 Current version: 1.0.0

React Angular Vue Svelte HTML

Import

import { PlusPopover } from '@plusui/react';
import { PlusPopoverComponent } from '@plusui/angular';
import { PlusPopover } from '@plusui/vue';
import PlusPopover from '@plusui/svelte';
<script src="https://cdn.jsdelivr.net/npm/@plusui/core"></script>

Package

@plusui/react
@plusui/angular
@plusui/vue
@plusui/svelte
@plusui/core

Docs

Changelog

Popover Changelog

Recent changes and updates for the popover component

v1.0.0

June 20, 2025
Feat

Added Popover component for rich content

  • Rich content support with slots
  • Multiple positioning options
  • Custom triggers (click, hover)
  • Accessibility support

The Popover component is used to display additional information, options, or actions in a floating panel that appears near a trigger element. It’s useful for tooltips with rich content, dropdown menus, or contextual information displays.

Popover - anatomy

A basic popover triggered by clicking a button, displaying simple text content.

Show Popover
Show code

Use the orientation prop to control where the popover appears relative to the trigger element.

Top StartTopTop End
Left StartLeftLeft End
Right StartRightRight End
Bottom StartBottomBottom End
Show code

The trigger prop determines how the popover is opened.

Click Trigger (Default)Hover Trigger
Show code

Use the status prop to apply different color schemes and default icons.

DefaultPrimarySuccessWarningDangerInfo
Show code

Use slots title and content for more complex content instead of the header-text and text props.

Custom Title Slot

This is custom popover content with HTML placed in the content slot.

Action
Show Custom Popover
Show code

Set dismissable="false" to hide the default close button.

DismissableNot Dismissable
Show code
Popover - layout spacing Popover - light & dark mode
  • Keyboard Behavior:
    • When the popover is opened, focus is typically moved inside the popover panel, often to the first focusable element or the close button if available.
    • Tab and Shift+Tab navigate between focusable elements within the popover. Focus is trapped within the popover when open.
    • Escape closes the popover and returns focus to the trigger element.
  • Screen Reader:
    • The component uses role="dialog", aria-labelledby (pointing to the title element), and aria-describedby (pointing to the content element).
    • aria-hidden is used to hide the popover content from screen readers when it is closed.
    • When opened, screen readers announce the dialog’s role, title, and description.
    • The close button (if present) has an appropriate aria-label.
  • Required Developer Actions:
    • Ensure the trigger element (in the default slot) is inherently focusable or has tabindex="0".
    • Provide clear and concise text for the header-text prop or title slot.
    • Provide descriptive content via the text prop or content slot.
    • If using custom content in slots, ensure it is accessible.
    • Use appropriate status values if they convey semantic meaning beyond presentation.
NameTypeDefaultDescriptionRequired
size'sm' | 'md' | 'lg''md'Size of the popover panel.No
orientation'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end''top'Position relative to the trigger element.No
trigger'click' | 'hover''click'How the popover is opened.No
textstringundefinedMain text content. Ignored if content slot is used.No
headerTextstring'Title'Header title text. Ignored if title slot is used.No
status'success' | 'warning' | 'danger' | 'info' | 'primary' | 'default''default'Color scheme and default icon based on status.No
dismissablebooleantrueWhether to show the default close button in the header.No
statusIconbooleantrueWhether to show the default status icon in the header.No
showArrowbooleantrueWhether to display the arrow pointing to the trigger element.No
NamePayload TypeDescription
plus-popover-openCustomEvent<void>Fired when the popover opens.
plus-popover-closeCustomEvent<void>Fired when the popover closes (for any reason).
plus-popover-dismissCustomEvent<void>Fired specifically when closed via the close button.
NameDescription
default (unnamed)The target element that triggers the popover.
iconCustom icon content in the header, replaces the default status icon.
title

Join the Community

Plus UI is built by the community. Join us on our platforms to contribute, get help, and stay up to date.