feat(ConfirmationModal): introduce portal prop for DOM relocation #1277
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.
ConfirmationButtonalways renders its modal inside a portal, whileConfirmationModaldid not.This inconsistency caused:
This PR introduces an explicit
renderInPortaloption and makes both components behave consistently.Done
renderInPortalprop toConfirmationModal, allowing consumers to opt-into portal rendering.ConfirmationButtonto rely on ConfirmationModal's portal behaviour instead of managing its own wrapper.Updated and expanded unit tests for:
No visual changes to the modal itself.
QA
Pinging @canonical/react-library-maintainers for a review.
QA in your project
from
react-componentsrun:Install the resulting tarball in your project with:
QA steps
renderInPortal={true}, the modal should appear outside the app root inside a dynamically created portal node.renderInPortal={false}, the modal should appear inline where it is rendered.Percy steps
No visual changes expected