From b3d997a2d417792be293d05611c692efb00583b7 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 de61be9e7..27d598fd7 100644 --- a/packages/pluggableWidgets/bottom-sheet-native/src/__tests__/BottomSheet.spec.tsx +++ b/packages/pluggableWidgets/bottom-sheet-native/src/__tests__/BottomSheet.spec.tsx @@ -135,4 +135,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 c8e51e14e6da76caf9c5cc3839177fa813809e08 Mon Sep 17 00:00:00 2001 From: Srirang Kalantri Date: Wed, 29 Jul 2026 14:55:47 +0530 Subject: [PATCH 2/2] chore: changelogs and version bump --- packages/pluggableWidgets/bottom-sheet-native/CHANGELOG.md | 4 ++++ packages/pluggableWidgets/bottom-sheet-native/package.json | 2 +- packages/pluggableWidgets/bottom-sheet-native/src/package.xml | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/pluggableWidgets/bottom-sheet-native/CHANGELOG.md b/packages/pluggableWidgets/bottom-sheet-native/CHANGELOG.md index 6ae644cae..4d5194493 100644 --- a/packages/pluggableWidgets/bottom-sheet-native/CHANGELOG.md +++ b/packages/pluggableWidgets/bottom-sheet-native/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +### Fixed + +- Fixed bottomsheet issue to close when the trigger attribute changes. + ## [5.0.5] - 2026-7-2 ### Fixed diff --git a/packages/pluggableWidgets/bottom-sheet-native/package.json b/packages/pluggableWidgets/bottom-sheet-native/package.json index ac07f41b5..e563bae79 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.0.5", + "version": "5.0.6", "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 dcf20353d..abb57f3e3 100644 --- a/packages/pluggableWidgets/bottom-sheet-native/src/package.xml +++ b/packages/pluggableWidgets/bottom-sheet-native/src/package.xml @@ -1,6 +1,6 @@ - +