averouiComponent playgroundv0.0.1

Popover

New

Useful details, close at hand. Add a small panel of content right beside the action that opens it.

Anchored overlaySmart positioningCustom content

Basic

Toggle a panel from its trigger. Click outside or press Escape to close, while the rest of the page stays available.

DESIGN WORKSPACE

Better work starts together.

A shared place for ideas and thoughtful next steps.

Select data

Choose an item in the panel and return the selection to your page.

PROJECT OWNER

Choose a teammate for your next project.

One panel, many triggers

Keep a single popover outside the repeated rows. Opening another row moves the panel and updates its content.

ProductPriceDetails
Everyday notebookStationery$18
Studio headphonesAudio$129
Desk lampLighting$64

Explicit dismissal

Disable outside-click dismissal for content that should stay open until its action is complete. Projected form content keeps its value between openings.

Usage and API

TypeScript
import { AvPopover, AvButton } from 'avero-ui';

// Add AvPopover and AvButton to your component imports.
HTML
<button avButton (click)="panel.toggle($event)">Open details</button>
<av-popover #panel ariaLabel="Project details" width="360px">
  <h3>Design workspace</h3>
  <p>Your content goes here.</p>
  <button avButton (click)="panel.hide()">Done</button>
</av-popover>
Content template
<av-popover #panel ariaLabel="Quick actions">
  <ng-template #content let-close="close">
    <button avButton (click)="close()">Done</button>
  </ng-template>
</av-popover>
Methods and events. show(event, target?), toggle(event, target?) and hide(). The optional target overrides event.currentTarget. visible() exposes read-only state; onShow and onHide report visibility changes.
Inputs. inputId, ariaLabel, ariaLabelledBy, width (320px), dismissable (true), closeOnEscape (true), focusOnShow (true), showCloseIcon (false), closeAriaLabel. Supply projected content or #content with let-close="close".
Positioning. The panel follows scroll and resize, flips above the trigger when needed, and stays within the viewport. Browsers supporting the Popover API render it in the top layer, outside clipping containers.
Accessibility. Provide a descriptive ariaLabel or ariaLabelledBy. The trigger receives aria-expanded, aria-controls and aria-haspopup while open. This non-modal dialog leaves the page interactive and does not trap Tab. Escape or a panel action restores focus to its trigger; outside clicks preserve the user's new focus.
Styling. Use --av-popover-background, --av-popover-color, --av-popover-border, --av-popover-radius and --av-popover-padding.
Avero UI Designed to fit your application.