Repository navigation
fix(floating): dismiss sibling menus and preserve nested portals - #428
Merged
Merged
Conversation
Deploying ran with
|
| Latest commit: |
b12cfc1
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://7b150366.ran-4ty.pages.dev |
| Branch Preview URL: | https://codex-assistant-interface-au.ran-4ty.pages.dev |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merge Verdict
[APPROVE]
Implementation and independent follow-up review are complete. Preserve the four commits requested for this change.
Summary
Clicking a Select or another propagation-stopping control could leave a sibling Popover open, causing overlapping menus. A document capture listener alone also misclassifies content hidden inside a closed shadow root, and a module-local ownership map loses nested portal ancestry when standalone component bundles are loaded separately.
Share outside-click classification between Select and Popover. Track each open portaled panel's logical owner on the node using
Symbol.for, classify hidden clicks inside the owning root, and use a guarded document fallback for clicks outside that root. Add unit and real-browser coverage, including independently built IIFEs in both load orders.Application integration: ranuts/document#286
Risk Analysis
Design Decisions
Code Concerns
No unresolved findings. Independent review approved the closed-root handling, separate-bundle ownership and symmetric Select/Popover dismissal corrections.
Verification
Conclusion basis: Verified
pnpm -F ranui buildpassed for ESM, complete IIFE, individual component IIFEs and declarations.