Skip to content

[MOO-2435]: Build MxOverlay Primitive - #684

Open
SrirangK wants to merge 3 commits into
mx/11.12.xfrom
moo/MOO-2435/build-mxoverlay-primitive-11.12
Open

SrirangK wants to merge 3 commits into
mx/11.12.xfrom
moo/MOO-2435/build-mxoverlay-primitive-11.12

Conversation

@SrirangK

Copy link
Copy Markdown
Contributor

Checklist

  • Contains unit tests ✅ ❌
  • Contains breaking changes ✅ ❌
  • Compatible with: MX 8, 9, 10
  • Did you update version and changelog? ✅ ❌
  • PR title properly formatted ([XX-000]: description)? ✅ ❌
  • Works in Android ✅ ❌
  • Works in iOS ✅ ❌
  • Works in Tablet ✅ ❌

Feature specific

  • Comply with designs ✅ ❌
  • Comply with PM's requirements ✅ ❌

Please remove unnecessary emojis and sections and this comment before proceeding

This PR contains

  • Bug fix
  • Feature
  • Refactor
  • Documentation
  • Other (describe)

What is the purpose of this PR?

...

Relevant changes

Please add a high level explanation of what was changed and how the initial problem was solved

What should be covered while testing?

...

Extra comments (optional)

Please add extra comments or delete the section if not required

@SrirangK
SrirangK requested a review from a team as a code owner October 14, 2026 11:41
const showNextDone = props.buttonPattern !== "none";

return (
<Modal visible={visible} transparent={props.showMode === "popup"}>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The old Modal here, was transparent only for 'popup' - I guess for the fullscreen mode it might have had a default background.
Let's see if we can either add a transparent prop to the new MxOverlay or have an opaque backdrop for fullscreen mode.

Perhaps we can add also an assertion test for this since we're here.

: undefined;

return (
<Modal

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider adding the supportedOrientation prop here, to account for similar issues like the one we had for BottomSheet on iOS.

const finish = (): void => {
if (!visible) {
setMounted(false);
moveFocusTo(returnFocusRef);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This moveFocusTo might be a bit too close after the async state change of setMounted. I suspect that moveFocusTo might get called while the native modal is still on screen.

Consider moving the moveFocusTo call in a separate useEffect, i.e. to run after the modal is truly gone/unmounted.


### Changed

- The IntroScreen is now presented through the shared MxOverlay component. Its appearance and behaviour, including blocking the Android back button, are unchanged.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reminder to also bump the version as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants