Bottom Sheet release notes
What changed in each release of @delacour/react-native-bottom-sheet, from the changesets that shipped it.
Every version of @delacour/react-native-bottom-sheet. The headless bottom sheet engine BottomSheet is built on. It shares one version with the other Delacour packages — see Release channels.
0.8.0
No changes to this package. It moved to keep the four versions in step.
0.7.0
Patch changes
- #323 The sheet's Android back listener no longer re-subscribes when its methods change. An inline
onOpenChangechanged them on every parent render, and becauseBackHandlercalls the newest listener first, the sheet's listener moved ahead of an overlay opened over it.
0.6.0
Patch changes
- #298
asChildkeeps the handler it donates when the child forwards an unset one.<BottomSheet.Trigger asChild><Button onPress={maybe} /></BottomSheet.Trigger>withmaybeundefined now opens the sheet; before, the child'sundefinedreplaced the trigger'sonPress.
0.3.0
Minor changes
-
#278
BottomSheettakeskeyboardLiftLimit="highestSnapPoint": the keyboard lifts the sheet no higher than its highest snap point, so a sheet resting there holds still and its body shrinks by the keyboard instead.Comboboxopens at its full height with it, so its sheet no longer opens half-height, jumps up when the search field's keyboard rises, and drops back as the keyboard leaves on close.resolveComboboxSheetHeighttakes onlytopInsetandwindowHeightnow. -
#262
BottomSheettakeskeyboardLiftLimit. Set to"maxDynamicContentSize", a sheet sized to its content is lifted by a keyboard only as far as its cap, decided on the UI thread from the keyboard's first frame.Selectopts in, so a searchable select no longer shoots to the top of the screen when the keyboard opens and then settles back to its cap.
Patch changes
-
#269
Comboboxkeeps its keyboard up while the results scroll; only a drag that carries the sheet down, or a close, puts it away. The sheet's scrollables now take a caller'skeyboardDismissModeinstead of always usinginteractive. -
#284 Components no longer pass dependency arrays to Reanimated's
useAnimatedStyle,useDerivedValue,useAnimatedReactionanduseAnimatedScrollHandler. Reanimated ignores them on native and warned once per app in development: "Dependencies should only be used on the web and are always ignored on native". Nothing changes at runtime; the worklets still rebuild from their closures.
0.2.0
Minor changes
-
#226 Move to Expo SDK 58: React Native 0.88, React 19.3, Gesture Handler 3
The peer floors are now
react-native >=0.88andreact-native-gesture-handler >=3.3. React Native 0.88 types its components through the strict API by default, so every ref is typed as the host instance it receives —ViewInstance,TextInputInstance,ScrollViewInstance— rather than as the component, andScreenScrollViewRefis nowScrollViewInstance. Those types do not exist before 0.88. The sheet's and the drawer's pans keep the builder API under Gesture Handler 3'sLegacyPanGesturetype. The CLI'sverify:exposcaffolds against SDK 58.
0.1.0
Minor changes
-
#116 First alpha of
@delacour/react-native-bottom-sheet, the headless bottom sheet engine@delacour/react-native-ui'sBottomSheetis built on. Snap points and dynamic sizing in height space, handle, content and scrollable pans, over-drag, pan-down-to-close, a backdrop, keyboard behaviours driven byreact-native-keyboard-controller, a sticky footer counted in the dynamic snap point,ScrollView/FlatList/SectionListbodies, a teleport portal withBottomSheetProviderandBottomSheet.Host, detached sheets, a typed step machine (defineSheetMachine,BottomSheet.Steps), an imperative ref and worklet haptic callbacks. Pure geometry ships from./core. NoclassName, no tokens; Fabric only. -
#118 Detents are snap points everywhere, matching the
snapPointsprop.DetentSpecisSnapPointSpec,onDetentHapticisonSnapPointHaptic,useBottomSheetAnimated()'sdetentsissnapPoints, the internaldetentCountissnapPointCount, and the core helpers follow (normalizeSnapPoints,parseSnapPoint,dynamicSnapPoint,crossedSnapPoint,snapPointUnder). The handle's accessibility value reads "Snap point 1 of 2". The docs page moves to/docs/bottom-sheet/snap-points.
Patch changes
-
#120 Add
OverlayProvider, the layer every overlay is drawn on@delacour/react-native-ui/overlaymounts the one teleport host that overlays and bottom sheets share, and a registry that orders them in bands — every overlay above every sheet, an anchored panel above the dialog that opened it, a toast above both — and gives Android's back button to the topmost overlay only.Overlay.Portal,Overlay.Scrim,useOverlayPresence(keeps an overlay mounted through its exit animation) anduseOverlayBackHandlerare exported for building more.BottomSheetProvidernow detects anOverlayProviderabove or below it and mounts teleport's provider only once; the engine's provider takeshasPortalProviderto make that possible.bunx delacour add overlaycopies it into a project.