From f9a169d94ebe6dad7deca26ad44203b28eb9d556 Mon Sep 17 00:00:00 2001 From: Benny Powers Date: Wed, 15 Apr 2026 15:51:22 +0300 Subject: [PATCH 1/2] fix(popover): outsideClick should not fire on already-hidden popovers Guard the outsideClick handler to skip popovers that are already hidden, preventing spurious hide/hidden events on closed popovers when clicking anywhere on the page. Closes #2513 Assisted-By: Claude Opus 4.6 (1M context) --- .changeset/fix-popover-click.md | 6 ++++++ elements/pf-popover/pf-popover.ts | 3 +++ 2 files changed, 9 insertions(+) create mode 100644 .changeset/fix-popover-click.md diff --git a/.changeset/fix-popover-click.md b/.changeset/fix-popover-click.md new file mode 100644 index 0000000000..579dfd0d0d --- /dev/null +++ b/.changeset/fix-popover-click.md @@ -0,0 +1,6 @@ +--- +"@patternfly/elements": patch +--- + +`pf-popover`: clicking outside a popover no longer fires spurious +hide events on other closed popovers. diff --git a/elements/pf-popover/pf-popover.ts b/elements/pf-popover/pf-popover.ts index d459d46452..6aafde3dde 100644 --- a/elements/pf-popover/pf-popover.ts +++ b/elements/pf-popover/pf-popover.ts @@ -351,6 +351,9 @@ export class PfPopover extends LitElement { }; #outsideClick(event: MouseEvent) { + if (this.#hideDialog) { + return; + } const path = event.composedPath(); if (!path.includes(this) && !path.includes(this.#referenceTrigger as HTMLElement)) { this.hide(); From ed7dd393bf2aefae1ed2adf24169ad5e7fbefc4f Mon Sep 17 00:00:00 2001 From: Benny Powers Date: Wed, 15 Apr 2026 15:58:47 +0300 Subject: [PATCH 2/2] docs: changeset --- .changeset/fix-popover-click.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/fix-popover-click.md b/.changeset/fix-popover-click.md index 579dfd0d0d..0f92e5ac0d 100644 --- a/.changeset/fix-popover-click.md +++ b/.changeset/fix-popover-click.md @@ -2,5 +2,5 @@ "@patternfly/elements": patch --- -`pf-popover`: clicking outside a popover no longer fires spurious +``: clicking outside a popover no longer fires spurious hide events on other closed popovers.