diff --git a/maestro/images/expected/ios/bottom_sheet_modal_basic_landscape.png b/maestro/images/expected/ios/bottom_sheet_modal_basic_landscape.png
new file mode 100644
index 000000000..b34e98f92
Binary files /dev/null and b/maestro/images/expected/ios/bottom_sheet_modal_basic_landscape.png differ
diff --git a/packages/pluggableWidgets/bottom-sheet-native/CHANGELOG.md b/packages/pluggableWidgets/bottom-sheet-native/CHANGELOG.md
index 2a35ff1b8..8f8689214 100644
--- a/packages/pluggableWidgets/bottom-sheet-native/CHANGELOG.md
+++ b/packages/pluggableWidgets/bottom-sheet-native/CHANGELOG.md
@@ -8,6 +8,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
### Fixed
+- Fixed iOS orientation change when opening the bottom sheet modal on devices in landscape mode.
- Fixed flickering issue on Android when opening bottom sheet (both basic and custom render types).
- Improved backdrop animation with smooth fade-in/fade-out transitions.
- Fixed bottomsheet issue to close when the trigger attribute changes.
diff --git a/packages/pluggableWidgets/bottom-sheet-native/e2e/specs/maestro/Modal_basic_landscape.yaml b/packages/pluggableWidgets/bottom-sheet-native/e2e/specs/maestro/Modal_basic_landscape.yaml
new file mode 100644
index 000000000..c6ec0ffc4
--- /dev/null
+++ b/packages/pluggableWidgets/bottom-sheet-native/e2e/specs/maestro/Modal_basic_landscape.yaml
@@ -0,0 +1,29 @@
+appId: "${APP_ID}"
+---
+- runFlow:
+ when:
+ platform: ios
+ commands:
+ - runFlow:
+ file: "../../../../../../maestro/Precondition.yaml"
+ - retry:
+ maxRetries: 2
+ commands:
+ - tapOn:
+ text: "B"
+ - extendedWaitUntil:
+ visible: "Bottom Sheet"
+ timeout: 10000
+ - tapOn:
+ text: "Bottom Sheet"
+ - tapOn:
+ text: "Modal basic"
+ - setOrientation: LANDSCAPE_LEFT
+ - tapOn:
+ text: "Open"
+ - waitForAnimationToEnd:
+ timeout: 5000
+ - takeScreenshot:
+ path: "maestro/images/actual/${PLATFORM}/bottom_sheet_modal_basic_landscape"
+ - assertScreenshot:
+ path: "maestro/images/expected/${PLATFORM}/bottom_sheet_modal_basic_landscape.png"
diff --git a/packages/pluggableWidgets/bottom-sheet-native/package.json b/packages/pluggableWidgets/bottom-sheet-native/package.json
index 565b25da9..2add18485 100644
--- a/packages/pluggableWidgets/bottom-sheet-native/package.json
+++ b/packages/pluggableWidgets/bottom-sheet-native/package.json
@@ -1,7 +1,7 @@
{
"name": "bottom-sheet-native",
"widgetName": "BottomSheet",
- "version": "5.3.2",
+ "version": "5.3.3",
"license": "Apache-2.0",
"repository": {
"type": "git",
diff --git a/packages/pluggableWidgets/bottom-sheet-native/src/__tests__/BottomSheet.spec.tsx b/packages/pluggableWidgets/bottom-sheet-native/src/__tests__/BottomSheet.spec.tsx
index 4898e8b53..2e00f7a5f 100644
--- a/packages/pluggableWidgets/bottom-sheet-native/src/__tests__/BottomSheet.spec.tsx
+++ b/packages/pluggableWidgets/bottom-sheet-native/src/__tests__/BottomSheet.spec.tsx
@@ -166,6 +166,32 @@ describe("Bottom sheet", () => {
expect(component.toJSON()).toMatchSnapshot();
});
+ it("renders custom modal with supportedOrientations when open", () => {
+ const component = render(
+ }
+ triggerAttribute={new EditableValueBuilder().withValue(true).build()}
+ />
+ );
+
+ expect(component.toJSON()).toMatchSnapshot();
+ });
+
+ it("renders basic modal with supportedOrientations when open", () => {
+ const component = render(
+ ().withValue(true).build()}
+ />
+ );
+
+ expect(component.toJSON()).toMatchSnapshot();
+ });
+
it("closes custom modal when triggerAttribute is set to false", () => {
const triggerAttribute = new EditableValueBuilder().withValue(true).build();
const props = {
diff --git a/packages/pluggableWidgets/bottom-sheet-native/src/__tests__/__snapshots__/BottomSheet.spec.tsx.snap b/packages/pluggableWidgets/bottom-sheet-native/src/__tests__/__snapshots__/BottomSheet.spec.tsx.snap
index d19767eb0..250444850 100644
--- a/packages/pluggableWidgets/bottom-sheet-native/src/__tests__/__snapshots__/BottomSheet.spec.tsx.snap
+++ b/packages/pluggableWidgets/bottom-sheet-native/src/__tests__/__snapshots__/BottomSheet.spec.tsx.snap
@@ -159,3 +159,39 @@ exports[`Bottom sheet renders a expanding fullscreen with custom styles 1`] = `
`;
exports[`Bottom sheet renders a native bottom action sheet for ios (Basic modal) 1`] = `null`;
+
+exports[`Bottom sheet renders basic modal with supportedOrientations when open 1`] = `
+
+`;
+
+exports[`Bottom sheet renders custom modal with supportedOrientations when open 1`] = `
+
+`;
diff --git a/packages/pluggableWidgets/bottom-sheet-native/src/components/CustomModalSheet.tsx b/packages/pluggableWidgets/bottom-sheet-native/src/components/CustomModalSheet.tsx
index 2f0fccea2..9b32867b4 100644
--- a/packages/pluggableWidgets/bottom-sheet-native/src/components/CustomModalSheet.tsx
+++ b/packages/pluggableWidgets/bottom-sheet-native/src/components/CustomModalSheet.tsx
@@ -78,7 +78,14 @@ export const CustomModalSheet = (props: CustomModalSheetProps): ReactElement =>
const maxHeight = windowHeight * 0.9;
return (
-
+
{ready && (
+
{ready && (
-
+