Skip to content

Releases: arekkubaczkowski/react-native-bottom-sheet-stack

Release 1.18.3

Choose a tag to compare

@arekkubaczkowski arekkubaczkowski released this 07 Jul 07:53

1.18.3 (2026-07-07)

  • fix: pre-compile worklets in build to prevent NativeWorklets copy crash (fb8e12c)

Release 1.18.2

Choose a tag to compare

@arekkubaczkowski arekkubaczkowski released this 01 Jul 07:19

1.18.2 (2026-07-01)

  • fix: fill portal source so teleported content stays hit-testable on Android (ef642cd)

Release 1.18.1

Choose a tag to compare

@arekkubaczkowski arekkubaczkowski released this 16 Jun 10:07

1.18.1 (2026-06-16)

  • feat(swmansion): emit previous index from onIndexChange (#32) (65b6ab9), closes #32

Release 1.18.0

Choose a tag to compare

@arekkubaczkowski arekkubaczkowski released this 08 Jun 08:57

Features

  • swmansion: emit onIndexChange(openIndex) from expand() on programmatic open. The native onIndexChange only fires for user-driven snaps and onSettle only reports the end of the animation, so — since the manager owns the index, not the consumer — there was previously no way to react to the start of a programmatic open (e.g. to fire a haptic). User-driven snaps are unchanged. (#31)

Full Changelog: v1.17.1...v1.18.0

Release 1.17.1

Choose a tag to compare

@arekkubaczkowski arekkubaczkowski released this 08 Jun 08:57

Bug Fixes

  • adapters: recover gorhom from a dropped onChange that left a sheet stuck in 'opening' and blocked all subsequent opens. Tapping switch then immediately dismissing before the open finished re-revealed the sheet below and called expand() mid-close; gorhom swallowed that expand() and never emitted onChange, so the sheet stayed 'opening' forever and permanently tripped the hasOpeningInGroup guard. The adapter now also reports opened from the animated index via useAnimatedReaction as an additive backstop (idempotent; the existing onChange path is untouched). Also drops the now-dead swmansion settle guard, since onSettle is optimistic and a spurious pre-open settle(0) can no longer fire. (#30)

Full Changelog: v1.17.0...v1.17.1

Release 1.17.0

Choose a tag to compare

@arekkubaczkowski arekkubaczkowski released this 08 Jun 08:57

Features

  • swmansion: apply keyboardBehavior="inset" to every sheet size, not just content-sized sheets. Drops the !shouldFill gate so fixed-height sheets (numeric detents / fullHeight) shrink their content area by the keyboard height — a scrollable child then scrolls within the remaining space above the keyboard — while content-sized sheets keep their existing re-measure behaviour. The sheet now owns keyboard avoidance for all sizes, so consumers no longer hand-roll it (which previously double-lifted content on content-sized sheets). Adds a dedicated Keyboard avoidance docs section. (#29)

Full Changelog: v1.16.0...v1.17.0

Release 1.16.0

Choose a tag to compare

@arekkubaczkowski arekkubaczkowski released this 08 Jun 08:57

Features

  • swmansion: drive the manager backdrop from the native fractional detent index instead of reconstructing it in JS from onPositionChange. Bumps @swmansion/react-native-bottom-sheet to 0.15.0-next.1, which reports a per-frame fractional index on onPositionChange (the continuous counterpart of onIndexChange). Removes the JS peak-position / open-height tracking, the hasOpened shared value, and the timed open/close fade — open, close, and drag-to-dismiss now fade straight from the native per-frame index on the UI thread, including the first open of a 'content'-sized sheet (which previously snapped to fully opaque). (#28)

Full Changelog: v1.15.0...v1.16.0

Release 1.15.0

Choose a tag to compare

@arekkubaczkowski arekkubaczkowski released this 02 Jun 10:21

Features

  • swmansion: add cornerRadius prop — applied to the default surface and used to clip the content to those rounded corners, so opaque content flush to the top (e.g. a non-transparent header, or a sheet whose grab handle is hidden via preventDismiss) can no longer square off the corners. Defaults to the built-in surface radius when using the default surface; with a custom surface, content clipping is opt-in via this prop (the adapter can't infer a custom surface's radius). Pass 0 for a flat top. (#26)

Full Changelog: v1.14.0...v1.15.0

Release 1.14.0

Choose a tag to compare

@arekkubaczkowski arekkubaczkowski released this 02 Jun 09:30

What's Changed

  • feat(swmansion): opt-in handle, fullHeight, fillContent & keyboardBehavior props by @arekkubaczkowski in #25

Full Changelog: v1.13.0...v1.14.0

Release 1.13.0

Choose a tag to compare

@arekkubaczkowski arekkubaczkowski released this 02 Jun 07:40

What's Changed

  • feat(swmansion): block dismiss gesture natively + expose preventDismiss by @arekkubaczkowski in #24

Full Changelog: v1.12.0...v1.13.0