Skip to content

fix(react-dismissable-layer): body pointer-events cleanup#3871

Open
shane-tierney-shield-ai wants to merge 1 commit into
radix-ui:mainfrom
shane-tierney-shield-ai:fix/dismissable-layer-pointer-events-cleanup
Open

fix(react-dismissable-layer): body pointer-events cleanup#3871
shane-tierney-shield-ai wants to merge 1 commit into
radix-ui:mainfrom
shane-tierney-shield-ai:fix/dismissable-layer-pointer-events-cleanup

Conversation

@shane-tierney-shield-ai

@shane-tierney-shield-ai shane-tierney-shield-ai commented May 8, 2026

Copy link
Copy Markdown

Description

Fixes DismissableLayer cleanup when a layer that previously disabled outside pointer events is removed from layersWithOutsidePointerEventsDisabled before another disabled layer closes.

Previously, the cleanup restored document.body.style.pointerEvents based on the disabled-layer stack size before removing the current layer from that stack. This could leave a stale layer in layersWithOutsidePointerEventsDisabled, preventing body pointer events from being restored after the remaining disabled layer unmounted.

This change removes the layer from layersWithOutsidePointerEventsDisabled before checking whether body pointer events should be restored, while preserving the existing layers cleanup behavior that maintains creation-order layering.

Added a focused regression test covering this stack cleanup case.

Verification:

  • pnpm test
  • pnpm build
  • pnpm --filter @radix-ui/react-dismissable-layer run typecheck
  • pnpm --filter @radix-ui/react-dismissable-layer run lint

@changeset-bot

changeset-bot Bot commented May 8, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: c88fe89

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 14 packages
Name Type
@radix-ui/react-dismissable-layer Patch
@radix-ui/react-dialog Patch
@radix-ui/react-hover-card Patch
@radix-ui/react-menu Patch
@radix-ui/react-navigation-menu Patch
@radix-ui/react-popover Patch
radix-ui Patch
@radix-ui/react-select Patch
@radix-ui/react-toast Patch
@radix-ui/react-tooltip Patch
@radix-ui/react-alert-dialog Patch
@radix-ui/react-context-menu Patch
@radix-ui/react-dropdown-menu Patch
@radix-ui/react-menubar Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@shane-tierney-shield-ai shane-tierney-shield-ai changed the title Fix DismissableLayer body pointer-events cleanup fix(react-dismissable-layer): body pointer-events cleanup May 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant