Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update the Portal component to use the new react portal api (when overflowBoundaryElement is used for position) #3029

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

bolivierjr
Copy link
Contributor

Fixing Portal component by switching from ReactDOM.unstable_renderSubtreeIntoContainer to React.createPortal, so that the context from PortalSettings, carries through when having multiple layers of overflowBoundaryElement.

This would also get you one step closer to using react 18 in the future, since the ReactDOM unstable_renderSubtreeIntoContainer method will be deprecated and will need to change to the react portals api.

Fixes #3028

Additional description


CONTRIBUTOR checklist (do not remove)

Please complete for every pull request

  • First-time contributors should sign the Contributor License Agreement. It's a fancy way of saying that you are giving away your contribution to this project. If you haven't before, wait a few minutes and a bot will comment on this pull request with instructions.
  • npm run lint:fix has been run and linting passes.
  • [] Mocha, Jest (Storyshots), and components/component-docs.json CI tests pass (npm test).
  • Tests have been added for new props to prevent regressions in the future. See readme.
  • Review the appropriate Storybook stories. Open http://localhost:9001/.
  • Review tests are passing in the browser. Open http://localhost:8001/.
  • Review markup conforms to SLDS by looking at DOM snapshot strings.

REVIEWER checklist (do not remove)

  • CircleCI tests pass. This includes linting, Mocha, Jest, Storyshots, and components/component-docs.json tests.
  • Tests have been added for new props to prevent regressions in the future. See readme.
  • Review the appropriate Storybook stories. Open http://localhost:9001/.
  • The Accessibility panel of each Storybook story has 0 violations (aXe). Open http://localhost:9001/.
  • Review tests are passing in the browser. Open http://localhost:8001/.
  • Review markup conforms to SLDS by looking at DOM snapshot strings.
Required only if there are markup / UX changes
  • Add year-first date and commit SHA to last-slds-markup-review in package.json and push.
  • Request a review of the deployed Heroku app by the Salesforce UX Accessibility Team.
  • Add year-first review date, and commit SHA, last-accessibility-review, to package.json and push.
  • While the contributor's branch is checked out, run npm run local-update within locally cloned site repo to confirm the site will function correctly at the next release.

…ntainer to React.createPortal, so that the context from PortalSettings, carries through when having multiple layers.
…s when it's not a portalMount and using the actual react portals so it does not have breaking changes if someone is using these props.
…Container so the id, classNames and styles get into the portalNode before updating the state for portalContainer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Multiple layers of overflowBoundaryElement on popover/dropdown components does not work correctly
1 participant