Uh oh!
There was an error while loading. Please reload this page.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
className="contents"makes the portal wrapper disappear from layout, which is likely what you want for flex spacing, but it can have side effects: it removes the element’s own box, which can impact things like anchoring,position: relativedescendants, and some accessibility/tree expectations (and is historically spotty in some edge cases). If the portal content ever needs a stable box for sizing/positioning, this will be a hard-to-debug regression.Consider instead rendering the portal wrapper conditionally only when it has content, or using
hidden/sr-onlypatterns based on whether it’s empty (if you have a way to know). If you must keepdisplay: contents, a short comment explaining why would help future maintainers avoid “fixing” it back and reintroducing spacing issues.Suggestion
If the portal content is optional, prefer only creating a flex child when you actually mount content. For example, introduce a small
PortalSlotcomponent that returnsnullwhen unused, or pass a boolean likeisSearchEnabledand do:If you need the node to always exist for portal mounting, add a clarifying comment and consider a non-flex-affecting wrapper strategy (e.g., place the portal outside the flex row and absolutely position the injected content if needed).
Reply with "@CharlieHelps yes please" if you'd like me to add a commit implementing a safer portal-slot approach (or adding an explanatory comment if that’s the intended long-term behavior).