From 9030b267c1ffe78f0c0572ba47362573e2e11724 Mon Sep 17 00:00:00 2001 From: Srirang Kalantri Date: Wed, 29 Jul 2026 14:38:03 +0530 Subject: [PATCH 1/2] fix: bottom sheet closing issue --- .../src/__tests__/BottomSheet.spec.tsx | 17 +++++++++++++++++ .../src/components/CustomModalSheet.tsx | 8 +++++++- .../src/components/NativeBottomSheet.tsx | 6 ++++++ 3 files changed, 30 insertions(+), 1 deletion(-) 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 c999cc9a1..c5d77cab1 100644 --- a/packages/pluggableWidgets/bottom-sheet-native/src/__tests__/BottomSheet.spec.tsx +++ b/packages/pluggableWidgets/bottom-sheet-native/src/__tests__/BottomSheet.spec.tsx @@ -154,4 +154,21 @@ describe("Bottom sheet", () => { expect(component.toJSON()).toMatchSnapshot(); }); + + it("closes custom modal when triggerAttribute is set to false", () => { + const triggerAttribute = new EditableValueBuilder().withValue(true).build(); + const props = { + ...defaultProps, + modalRendering: "custom" as const, + largeContent: Content, + triggerAttribute + }; + + const { rerender } = render(); + + triggerAttribute.setValue(false); + rerender(); + + expect(triggerAttribute.value).toBe(false); + }); }); diff --git a/packages/pluggableWidgets/bottom-sheet-native/src/components/CustomModalSheet.tsx b/packages/pluggableWidgets/bottom-sheet-native/src/components/CustomModalSheet.tsx index 9d0d6ba28..2f0fccea2 100644 --- a/packages/pluggableWidgets/bottom-sheet-native/src/components/CustomModalSheet.tsx +++ b/packages/pluggableWidgets/bottom-sheet-native/src/components/CustomModalSheet.tsx @@ -1,4 +1,4 @@ -import { ReactElement, ReactNode, useCallback, useRef, useState } from "react"; +import { ReactElement, ReactNode, useCallback, useEffect, useRef, useState } from "react"; import { Modal, Pressable, useWindowDimensions } from "react-native"; import BottomSheet, { BottomSheetBackdrop, @@ -33,6 +33,12 @@ export const CustomModalSheet = (props: CustomModalSheetProps): ReactElement => bottomSheetRef.current?.close(); }, []); + useEffect(() => { + if (!externalOpen && mounted && didOpenRef.current) { + close(); + } + }, [externalOpen, mounted, close]); + const handleModalShow = useCallback(() => { setReady(true); }, []); diff --git a/packages/pluggableWidgets/bottom-sheet-native/src/components/NativeBottomSheet.tsx b/packages/pluggableWidgets/bottom-sheet-native/src/components/NativeBottomSheet.tsx index 71e8f9868..434ecdd81 100644 --- a/packages/pluggableWidgets/bottom-sheet-native/src/components/NativeBottomSheet.tsx +++ b/packages/pluggableWidgets/bottom-sheet-native/src/components/NativeBottomSheet.tsx @@ -82,6 +82,12 @@ export const NativeBottomSheet = (props: NativeBottomSheetProps): ReactElement = bottomSheetRef.current?.close(); }, []); + useEffect(() => { + if (!externalOpen && mounted && didOpenRef.current) { + close(); + } + }, [externalOpen, mounted, close]); + const handleChange = useCallback( (index: number) => { if (index === 0) { From aa3bca41b4e6b6c97ba52dd33f6acbae4609aa1e Mon Sep 17 00:00:00 2001 From: Srirang Kalantri Date: Wed, 29 Jul 2026 14:51:07 +0530 Subject: [PATCH 2/2] chore: changelogs and version bump --- packages/pluggableWidgets/bottom-sheet-native/CHANGELOG.md | 1 + packages/pluggableWidgets/bottom-sheet-native/package.json | 2 +- packages/pluggableWidgets/bottom-sheet-native/src/package.xml | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/pluggableWidgets/bottom-sheet-native/CHANGELOG.md b/packages/pluggableWidgets/bottom-sheet-native/CHANGELOG.md index 81d90b439..2a35ff1b8 100644 --- a/packages/pluggableWidgets/bottom-sheet-native/CHANGELOG.md +++ b/packages/pluggableWidgets/bottom-sheet-native/CHANGELOG.md @@ -10,6 +10,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - 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. ## [5.3.0] - 2026-6-10 diff --git a/packages/pluggableWidgets/bottom-sheet-native/package.json b/packages/pluggableWidgets/bottom-sheet-native/package.json index ce8f2f345..195ae09e3 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.1", + "version": "5.3.2", "license": "Apache-2.0", "repository": { "type": "git", diff --git a/packages/pluggableWidgets/bottom-sheet-native/src/package.xml b/packages/pluggableWidgets/bottom-sheet-native/src/package.xml index 0bd9676f9..ad216156a 100644 --- a/packages/pluggableWidgets/bottom-sheet-native/src/package.xml +++ b/packages/pluggableWidgets/bottom-sheet-native/src/package.xml @@ -1,6 +1,6 @@ - +