Skip to main content

What it is

A surface that appears anchored to a trigger element — positioned relative to it on any of nine origin points — and dismisses on an outside click or an Escape key, without blocking the rest of the page. It renders arbitrary content passed as children, unlike Tooltip, which takes a single title.
No Titan-specific decision is recorded for this component at all. There is no Popover.overrides.ts, no Popover story, no Popover test, and no popover-* entry in the component token file — confirmed by searching the full source tree. Every other component on this page has at least a theme override or a published story; Popover has neither. See TITAN-DIV-29.

Live example

No Storybook story exists for this component — confirmed against the live deployment’s own story index, which carries no popover entry of any kind. There is nothing to embed here.

Exports

Hand-confirmed by reading the shipped type declaration directly, since no Titan-specific prop interface, override, or story exists to confirm against instead.

Choose Popover when

  • A reader has triggered a request for more content — clicking an info icon, a status chip, or a “more” affordance — and that content is more than the short label a Tooltip carries.
  • The content should stay visible until the reader dismisses it, not disappear the instant they stop hovering.

Choose something else when

Anatomy

Variants, sizes, and states

No Titan-defined variant, size, or state exists. Positioning is configurable per the nine-point origin grid documented above; visual size is whatever children render at, with no preset.

Edge and failure states

Unconfirmed. With no test, story, or override, there is no source evidence for what happens at a screen edge (beyond the generic marginThreshold repositioning behavior described above), with long or overflowing content, or with a stale anchorEl that has unmounted.

Tokens

No token table is possible for this component. Confirmed by searching component.tokens.json for any popover-* entry and finding none, and by confirming no Popover.overrides.ts file exists. Every visual property — elevation, corner radius, spacing, color — renders at whatever the underlying primitive’s own default is, with no design decision recorded anywhere in this codebase.

Composition

Nothing in this package’s own components imports or wraps Popover internally — confirmed by searching the full source tree, which surfaces only the barrel re-export itself. Whatever composes Popover today does so directly against the shipped primitive, with no Titan-specific behavior in between.

Content

No copy rules are recorded in source.

Accessibility

Unconfirmed. No test, override, or story exists to verify focus handling, ARIA role, or keyboard dismissal for this component within Titan. Whatever the underlying primitive provides by default is what ships; none of it has been checked here.

Constraints

No falsifiable, source-backed constraint can be written for this component — there is no Titan-specific behavior to constrain. Its absence is itself the finding; see TITAN-DIV-29 and Known issues.

Known issues

Popover: open issues

Divergences, open decisions, and undocumented gaps for Popover.

Why it works this way

Popover ships as a bare re-export because nothing in the product has needed more from it yet. Every other component in this category — even the thinnest wrappers like Accordion and Tooltip — carries at least a theme override that gives it a documented, Titan-specific appearance. Popover carries none, which means its actual rendered look today is whatever the underlying primitive defaults to, not a decision this design language has made.

Status

No lifecycle metadata exists. There is no status, since, deprecated, or replacedBy field on a Titan component, so this table cannot report when an export arrived or whether it is on the way out.
No utilization data exists for this component — utilization.md files exist per-component in source, and Popover has none, consistent with it having no dedicated directory of its own.
  • Tooltip — the hover/focus-transient alternative for a short label
  • Menu — the alternative when the content is a set of actions rather than something to read
Last modified on September 7, 2026