Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: add onGestureCancel event #1810

Merged
merged 4 commits into from
Jul 12, 2023
Merged

Conversation

piaskowyk
Copy link
Member

@piaskowyk piaskowyk commented Jul 5, 2023

Description

This PR adds new iOS only event. Event is triggered after canceled swipe back (as on video)

Screen.Recording.2023-07-06.at.14.22.32.mov

@piaskowyk piaskowyk changed the title Add Paper implementation Add SwipeCanceled event Jul 6, 2023
Copy link
Member

@kkafar kkafar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code looks fine. I see that Android Fabric CI build has passed.
🟢 from me.

@kkafar kkafar changed the title Add SwipeCanceled event chore: add SwipeCanceled event for internal usage Jul 7, 2023
Copy link
Member

@WoLewicki WoLewicki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🚀

@WoLewicki
Copy link
Member

Could you change the name of the PR also? It is not only for internal usage at the end cc @piaskowyk 😅

@tboba tboba changed the title chore: add SwipeCanceled event for internal usage chore: add onGestureCancel event Jul 10, 2023
Copy link
Member

@tboba tboba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

@piaskowyk piaskowyk merged commit 990e6ef into main Jul 12, 2023
@piaskowyk piaskowyk deleted the @piaskowyk/swipe-canceled-event branch July 12, 2023 10:58
github-merge-queue bot pushed a commit to software-mansion/react-native-reanimated that referenced this pull request Jul 14, 2023
## Summary

This pull request introduces a new progress-based shared element
transition animation that utilizes the progress value from
`react-native-screens`. This value indicates the progress of the
screen's transition.

## Changes

1. Now it is possible to use two different types of animation:
 - standard animation (uses `withTiming` etc.)
- progress-based animation (uses transition progress from
`react-native-screens`). This is the default type of animation for
`SET`, but a user can change the default type.
2. It is possible to define custom standard and progress-based
animations.

## Implementation

The new implementation is based on event listeners. Events come from
`rn-screens`. I added a new event to handle swipe back cancel on iOS -
PR here -
software-mansion/react-native-screens#1810

The approach assumes that exists one `onTransitionProgress` listener
that computes all progress animations and updates all shared views.

## Animation Flow

### Scenario 1:
Scenario assumption: The application consists of two screens
- `ScreenA` and `ScreenB`, each having a shared element. When the user
navigates from `ScreenA` to `ScreenB`, the following steps occur:

#### Part 1: JS, JS Thread
1. Creation of the JS component on the JS thread.
2. The `createAnimatedComponent` method is called within which
the `SharedTransition.registerTransition()` method is invoked.
The `SharedTransition.registerTransition()` method performs the
following tasks:
* Sends information about the view and animation to the native side
(`LayoutAnimationManager.cpp`).
* Adds information about the transition progress
to `ProgressTransitionManager`.
    * Registers a listener for the `transitionProgress` event.

#### Part 2*: iOS, Native side, UI Thread
1. After mounting `ScreenB`, the `swizzled_viewDidLayoutSubviews` method
is invoked, which is a swizzled version of
the RNScreen's `viewDidLayoutSubviews` method.
* This method is important because it ensures that all views
on `ScreenB` have the correct layout, allowing for the creation of
snapshots with accurate component styles. What is important, the screen
header is attached too!
2. The `swizzled_viewDidLayoutSubviews` method calls
the `LayoutAnimationManager.startAnimationForTag` method, which is a JS
method that exists on the UI Thread.

#### Part 2*: Android, Native side, UI Thread
1. After mounting `ScreenB`,
the `SharedTransitionManager.screenDidLayout()` method is invoked. We
don't need swizzling technique here like it was on iOS. We can detect
when the screen is ready and all components have the proper layout in
the `ReanimatedNativeHierarchyManager.updateLayout` method.
2. The `screenDidLayout` method calls the `startAnimationForTag` method,
which is a JS method that exists on the UI Thread.

#### Part 3: JS, UI Thread
1. The `LayoutAnimationManager[.cpp].startAnimationForTag` method, which
is equivalent to `LayoutAnimationsManager[.js].start()`, is called.
2. The `start()` method invokes
the `ProgressTransitionManager.onTransitionStart()` method responsible
for saving snapshots with target style values.
4. At this point, everything is ready to react for the `RNScreen`'s
`transitionProgress` event.

#### Part 4: JS, Event Listener, UI Thread
1. Whenever the `transitionProgress` event occurs,
the `ProgressTransitionManager.frame()` method is executed.
2. The `frame()` method computes the current styles for each registered
shared view and applies those styles using
the `_notifyAboutProgress` method.
3. Upon the occurrence of the screen's `onAppear`
or `onDisappear` event,
the `ProgressTransitionManager.onTransitionEnd()` method is called. This
method invokes the native `_notifyAboutEnd` method responsible for
cleaning and reparenting views after the shared transition.

### Scenario 2:
Assumption: When the user navigates back from `ScreenB` to `ScreenA`,
the flow is similar to Scenario 1, with the only difference in Part 2.

#### Part 2*: iOS
1. Before removing `ScreenB`, the `swizzled_notifyWillDisappear` method
is called, which is a swizzled version of
the `RNScreen`'s `notifyWillDisappear` method. This method is invoked
always before the screen removal from the top of the stack. Fact that
screen is removed from the stack doesn’t mean that this screen is
removed from React/Native tree too. It is applicable in three different
iOS navigation scenarios:
* Calling `navigation.navigate()` invokes `notifyWillDisappear`, pops
the screen from the stack, removes it from the React tree, starts the
transition, and finally after transition end, removes the screen from
the native tree.
* Using the header's "go back" button invokes `notifyWillDisappear`,
pops the screen from the stack and starts the transition. After
transition end removes the screen from the React tree and native tree
after.
* Interactive swiping back invokes `notifyWillDisappear`, and based on
user actions, cancels the swipe and performs no action or completes the
swipe to remove the screen. Then, the screen is popped from the stack,
removed from the React tree, and finally removed from the native tree.

#### Part 2*: Android
1. On removing `ScreenB`, the
`SharedTransitionManager[.java].onViewsRemoval()` method is called,
followed by starting the transition for the views on this screen. Unlike
iOS, Android does not have interactive swiping. The "go back" button in
the header works the same like calling `navigation.navigate()`, allowing
for a simpler method to determine when to initiate a transition.

### Good to know:
* _How is this change coupled with screens implementation and why?_ The
change involves registering for the `transitionProgress` event of the
screen and then computing and applying new styles to the shared views
within the event callback.
* _What_ is the role of `ProgressTransitionManager`?_
The `ProgressTransitionManager` is an object that exists on the UI
Runtime. Its role is to store snapshots, view tags, and progress
callbacks for shared views participating in the current transition. The
manager also contains a `frame()` function that is used as an event
callback for the `transitionProgress` event. During this event,
the `ProgressTransitionManager` iterates over the stored view tags,
computes new styles for each of them, and applies these styles to the
views using the `_notifyAboutProgress` method.
* Clearing configuration from `LayoutAnimationManager.cpp`: The
configuration is cleared in two specific cases:
    1. After the transition is finished (`finishSharedAnimation`).
    2. After the removal of a screen or stack (`onScreenRemoval`).

## Current shared transition configuration API 
```js
const transition = SharedTransition
  .duration(3000)
  .animation((values) => {
    'worklet';
    return {
      width: withSpring(values.targetWidth),
      height: withSpring(values.targetHeight),
      originX: withSpring(values.targetOriginX),
      originY: withSpring(values.targetOriginY),
    };
  })
  .progressAnimation((values, progress) => {
    'worklet';
    return {
      width: progress * (values.targetWidth - values.currentWidth) + values.currentWidth,
      height: progress * (values.targetHeight - values.currentHeight) + values.currentHeight,
      originX: progress * (values.targetOriginX - values.currentOriginX) + values.currentOriginX,
      originY: progress * (values.targetOriginY - values.currentOriginY) + values.currentOriginY,
    };
  })
  .defaultTransitionType(SharedTransitionType.ANIMATION);
```

This PR is based on
#4278
but I simplified the native part of the code responsible for worklet
callback registration:
Previous:
<img width="145" alt="image"
src="https://user-images.githubusercontent.com/36106620/236154156-6e0fb429-4b2b-4be1-b304-ee690157cc1f.png">
github-merge-queue bot pushed a commit to software-mansion/react-native-reanimated that referenced this pull request Aug 2, 2023
<!-- Thanks for submitting a pull request! We appreciate you spending
the time to work on these changes. Please follow the template so that
the reviewers can easily understand what the code changes affect. -->

## Summary

Since software-mansion/react-native-screens#1810
got merged and included in `3.23.0` release we can use the npm published
pack again.

## Test plan

Yes
renovate bot referenced this pull request in valora-inc/wallet Oct 17, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[react-native-screens](https://github.com/software-mansion/react-native-screens)
| [`^3.18.2` ->
`^3.25.0`](https://renovatebot.com/diffs/npm/react-native-screens/3.18.2/3.25.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/react-native-screens/3.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-native-screens/3.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-native-screens/3.18.2/3.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-native-screens/3.18.2/3.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>software-mansion/react-native-screens
(react-native-screens)</summary>

###
[`v3.25.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.25.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.24.0...3.25.0)

#### What's Changed

Minor release focused on bug fixes & internals.

#### 🐛 Bug fixes

- iOS: Add missing call to super method in
`RNSScreenView#finalizeUpdates` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1855](https://github.com/software-mansion/react-native-screens/pull/1855)
- Android: Shorten alpha animation to 83ms on default enter-out by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1835](https://github.com/software-mansion/react-native-screens/pull/1835)
- iOS: Wrong title in back button menu for screens w/ hidden header by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1866](https://github.com/software-mansion/react-native-screens/pull/1866)
- iOS: Full window overlay cannot receive tap when modal is full screen
by
[@&#8203;intergalacticspacehighway](https://github.com/intergalacticspacehighway)
in
[https://github.com/software-mansion/react-native-screens/pull/1872](https://github.com/software-mansion/react-native-screens/pull/1872)

#### 🔢 Miscellaneous

- Reinstall deps & pods in example apps after release by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1862](https://github.com/software-mansion/react-native-screens/pull/1862)
- Fix typo in docs on `sheetCornerRadius` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1863](https://github.com/software-mansion/react-native-screens/pull/1863)
- Use `PlatformColor` instead of plain `string` for color related props
by [@&#8203;retyui](https://github.com/retyui) in
[https://github.com/software-mansion/react-native-screens/pull/1846](https://github.com/software-mansion/react-native-screens/pull/1846)
- Android: Migrate `replaceSystemWindowInsets` to
`Builder.setSystemWindowInsets` by
[@&#8203;kirillzyusko](https://github.com/kirillzyusko) in
[https://github.com/software-mansion/react-native-screens/pull/1868](https://github.com/software-mansion/react-native-screens/pull/1868)

#### New Contributors

-
[@&#8203;intergalacticspacehighway](https://github.com/intergalacticspacehighway)
made their first contribution in
[https://github.com/software-mansion/react-native-screens/pull/1872](https://github.com/software-mansion/react-native-screens/pull/1872)
- [@&#8203;retyui](https://github.com/retyui) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1846](https://github.com/software-mansion/react-native-screens/pull/1846)

**Full Changelog**:
software-mansion/react-native-screens@3.24.0...3.25.0

###
[`v3.24.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.24.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.23.0...3.24.0)

Minor release focused on fixing build issues reported in
[#&#8203;1859](https://github.com/software-mansion/react-native-screens/issues/1859).

#### What's Changed

#### 🐛 Bug fixes

- Bad parameter type in `toggleCancelButton` search bar command by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1854](https://github.com/software-mansion/react-native-screens/pull/1854)
- Add missing iOS API availbility checks by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1860](https://github.com/software-mansion/react-native-screens/pull/1860)

#### 🔢 Miscellaneous

- Update RN + other deps in example apps by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1847](https://github.com/software-mansion/react-native-screens/pull/1847)
- Annotate `sheetExpandsWhenScrollingToEdge` prop as iOS specific by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1851](https://github.com/software-mansion/react-native-screens/pull/1851)
- Improve readability of C++ namespaced types by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1856](https://github.com/software-mansion/react-native-screens/pull/1856)

**Full Changelog**:
software-mansion/react-native-screens@3.23.0...3.24.0

###
[`v3.23.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.23.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.22.1...3.23.0)

#### What's Changed

#### 🐛 Bug fixes

- Headerheight incorrect on phones with dynamic island by
[@&#8203;dylancom](https://github.com/dylancom) in
[https://github.com/software-mansion/react-native-screens/pull/1784](https://github.com/software-mansion/react-native-screens/pull/1784)
- Buggy search bar / large title behaviour on Fabric by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1825](https://github.com/software-mansion/react-native-screens/pull/1825)
- Make RNSFullWindowOverlay a modal for accessibility by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1842](https://github.com/software-mansion/react-native-screens/pull/1842)
- Calculate large headers in `useHeaderHeight` hook by
[@&#8203;tboba](https://github.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/1844](https://github.com/software-mansion/react-native-screens/pull/1844)

#### 👍 Improvements

- Add onGestureCancel event by
[@&#8203;piaskowyk](https://github.com/piaskowyk) in
[https://github.com/software-mansion/react-native-screens/pull/1810](https://github.com/software-mansion/react-native-screens/pull/1810)
- Add support for search bar placement by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1843](https://github.com/software-mansion/react-native-screens/pull/1843)

#### 🔢 Miscellaneous

- Update `tough-cookie` and `semver` dependencies by
[@&#8203;tboba](https://github.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/1823](https://github.com/software-mansion/react-native-screens/pull/1823)
- Bump versions of RNScreens, FBReactNativeSpec and RCTAppDelegate deps
by [@&#8203;tboba](https://github.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/1827](https://github.com/software-mansion/react-native-screens/pull/1827)
- Update `word-wrap` by [@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1834](https://github.com/software-mansion/react-native-screens/pull/1834)
- Format code in test examples by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1812](https://github.com/software-mansion/react-native-screens/pull/1812)
- Unify class & method naming with respect to conventions by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1841](https://github.com/software-mansion/react-native-screens/pull/1841)

#### New Contributors

- [@&#8203;piaskowyk](https://github.com/piaskowyk) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1810](https://github.com/software-mansion/react-native-screens/pull/1810)
- [@&#8203;tboba](https://github.com/tboba) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1823](https://github.com/software-mansion/react-native-screens/pull/1823)

**Full Changelog**:
software-mansion/react-native-screens@3.22.1...3.23.0

###
[`v3.22.1`](https://github.com/software-mansion/react-native-screens/releases/tag/3.22.1)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.22.0...3.22.1)

Patch release bringing back old behaviour of `formSheet` modal on iOS
when using `@react-navigation/native-stack`.

#### What's Changed

##### Fixes

- fix: move setting default values of medium-detent related props to
`InnerScreen` by [@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1811](https://github.com/software-mansion/react-native-screens/pull/1811)

##### Internal

- chore: fix CI by [@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1803](https://github.com/software-mansion/react-native-screens/pull/1803)
- chore(deps): update selected deps in examples by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1807](https://github.com/software-mansion/react-native-screens/pull/1807)
- chore: fix typo in docs by
[@&#8203;aleqsio](https://github.com/aleqsio) in
[https://github.com/software-mansion/react-native-screens/pull/1808](https://github.com/software-mansion/react-native-screens/pull/1808)

#### New Contributors

- [@&#8203;aleqsio](https://github.com/aleqsio) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1808](https://github.com/software-mansion/react-native-screens/pull/1808)

**Full Changelog**:
software-mansion/react-native-screens@3.22.0...3.22.1

###
[`v3.22.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.22.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.21.1...3.22.0)

Minor release fixing some build issues that could happen on older Xcode
versions & with Android SDK 34.

#### What's Changed

- fix: canvas nullability in ScreenStack for Android SDK 34 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1795](https://github.com/software-mansion/react-native-screens/pull/1795)
- fix: ifdef orientation code that requries iOS 16 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1794](https://github.com/software-mansion/react-native-screens/pull/1794)
- chore: update & reinstall selected deps by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1798](https://github.com/software-mansion/react-native-screens/pull/1798)

**Full Changelog**:
software-mansion/react-native-screens@3.21.1...3.22.0

###
[`v3.21.1`](https://github.com/software-mansion/react-native-screens/releases/tag/3.21.1)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.21.0...3.21.1)

Patch release adding internal `isNewBackTitleImplementation` constant
for use in `@react-navigation/native-stack`.

See
[#&#8203;1791](https://github.com/software-mansion/react-native-screens/issues/1791)
&
[https://github.com/react-navigation/react-navigation/pull/11423](https://github.com/react-navigation/react-navigation/pull/11423)
for details.

###
[`v3.21.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.21.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.20.0...3.21.0)

Minor release with support for React Native 0.72 on New Architecture,
fixing some bugs and adding new functionalities.

Please note that support for `react-navigation` v4 has been dropped with
this version and you can no longer use `native-stack` v4 starting from
this version. It might be considered a **BREAKING CHANGE** so be careful
with updating.

#### What's Changed

- chore: migrate codegen to TypeScript by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1600](https://github.com/software-mansion/react-native-screens/pull/1600)
- chore: update README on Fabric support by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1687](https://github.com/software-mansion/react-native-screens/pull/1687)
- feat(iOS): back button subview for Fabric by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1581](https://github.com/software-mansion/react-native-screens/pull/1581)
- fix(iOS): image loading for back button on Fabric by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1688](https://github.com/software-mansion/react-native-screens/pull/1688)
- chore: refactor medium detent iOS implementation by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1699](https://github.com/software-mansion/react-native-screens/pull/1699)
- feat(Android): add native default animations on Android 13 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1693](https://github.com/software-mansion/react-native-screens/pull/1693)
- chore: fix e2e detox tests & `Example` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1681](https://github.com/software-mansion/react-native-screens/pull/1681)
- fix(iOS): status bar does not respect app theme by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1708](https://github.com/software-mansion/react-native-screens/pull/1708)
- chore(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/software-mansion/react-native-screens/pull/1709](https://github.com/software-mansion/react-native-screens/pull/1709)
- chore: change fabric flag by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1705](https://github.com/software-mansion/react-native-screens/pull/1705)
- chore(CI): extend timeout for Android e2e by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1711](https://github.com/software-mansion/react-native-screens/pull/1711)
- chore: update deps in examples by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1714](https://github.com/software-mansion/react-native-screens/pull/1714)
- chore: update library & examples dependencies by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1721](https://github.com/software-mansion/react-native-screens/pull/1721)
- fix: Android build for `compileSdk < 33` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1723](https://github.com/software-mansion/react-native-screens/pull/1723)
- feat: add imperative API for search bar by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1610](https://github.com/software-mansion/react-native-screens/pull/1610)
- chore(deps): bump shell-quote from 1.6.1 to 1.8.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/software-mansion/react-native-screens/pull/1725](https://github.com/software-mansion/react-native-screens/pull/1725)
- chore: improve Android anim resource management by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1727](https://github.com/software-mansion/react-native-screens/pull/1727)
- chore: fix typo in build script by
[@&#8203;Jace-Samsung](https://github.com/Jace-Samsung) in
[https://github.com/software-mansion/react-native-screens/pull/1733](https://github.com/software-mansion/react-native-screens/pull/1733)
- chore: set library namespace in build script by
[@&#8203;Sprimage](https://github.com/Sprimage) in
[https://github.com/software-mansion/react-native-screens/pull/1717](https://github.com/software-mansion/react-native-screens/pull/1717)
- fix(iOS): back button not respecting style options by
[@&#8203;tyler-coleman](https://github.com/tyler-coleman) in
[https://github.com/software-mansion/react-native-screens/pull/1726](https://github.com/software-mansion/react-native-screens/pull/1726)
- chore: override `onCreate` in example apps by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1736](https://github.com/software-mansion/react-native-screens/pull/1736)
- feat: add `setText` command on SearchBar by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1739](https://github.com/software-mansion/react-native-screens/pull/1739)
- chore(deps): bump activesupport from 6.1.4.6 to 7.0.4.3 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1744](https://github.com/software-mansion/react-native-screens/pull/1744)
- fix: do not apply namespace if it is not available in agp by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1749](https://github.com/software-mansion/react-native-screens/pull/1749)
- chore(deps): bump vm2 from 3.9.14 to 3.9.15 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/software-mansion/react-native-screens/pull/1752](https://github.com/software-mansion/react-native-screens/pull/1752)
- fix: use new rotation API for iOS 16 by
[@&#8203;kirillzyusko](https://github.com/kirillzyusko) in
[https://github.com/software-mansion/react-native-screens/pull/1732](https://github.com/software-mansion/react-native-screens/pull/1732)
- chore: improve Android 13 animations by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1756](https://github.com/software-mansion/react-native-screens/pull/1756)
- chore(deps): bump vm2 from 3.9.15 to 3.9.16 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/software-mansion/react-native-screens/pull/1755](https://github.com/software-mansion/react-native-screens/pull/1755)
- fix: ScreenStackHeaderConfig type by
[@&#8203;tomekzaw](https://github.com/tomekzaw) in
[https://github.com/software-mansion/react-native-screens/pull/1760](https://github.com/software-mansion/react-native-screens/pull/1760)
- feat: remove v4 from repo by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1790](https://github.com/software-mansion/react-native-screens/pull/1790)
- fix:Compatible with version 0.72 by
[@&#8203;NiuGuohui](https://github.com/NiuGuohui) in
[https://github.com/software-mansion/react-native-screens/pull/1765](https://github.com/software-mansion/react-native-screens/pull/1765)
- fix: proper handling of header events on Fabric and bumping examples
to 0.72 by [@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1783](https://github.com/software-mansion/react-native-screens/pull/1783)
- feat: prevent native back button dismissal on iOS by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1773](https://github.com/software-mansion/react-native-screens/pull/1773)

#### New Contributors

- [@&#8203;Jace-Samsung](https://github.com/Jace-Samsung) made their
first contribution in
[https://github.com/software-mansion/react-native-screens/pull/1733](https://github.com/software-mansion/react-native-screens/pull/1733)
- [@&#8203;Sprimage](https://github.com/Sprimage) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1717](https://github.com/software-mansion/react-native-screens/pull/1717)
- [@&#8203;tyler-coleman](https://github.com/tyler-coleman) made their
first contribution in
[https://github.com/software-mansion/react-native-screens/pull/1726](https://github.com/software-mansion/react-native-screens/pull/1726)
- [@&#8203;NiuGuohui](https://github.com/NiuGuohui) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1765](https://github.com/software-mansion/react-native-screens/pull/1765)

**Full Changelog**:
software-mansion/react-native-screens@3.20.0...3.21.0

###
[`v3.20.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.20.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.19.0...3.20.0)

Minior release aimed at fixing
[#&#8203;1686](https://github.com/software-mansion/react-native-screens/issues/1686)
(change of default behaviour for `stackPresentation: 'formSheet'`).

No other changes were introduced with this release. Next "feature"
release is in preparation.

**Full Changelog**:
software-mansion/react-native-screens@3.19.0...3.20.0

###
[`v3.19.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.19.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.18.2...3.19.0)

Minor release with support for React Native 0.71

**Important**: Since this version, Fabric is only supported for React
Native 0.71+. Support for older versions has beed dropped.

#### 🐛 Bug fixes

- Try to apply pointer events behaviors in overlay by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1582](https://github.com/software-mansion/react-native-screens/pull/1582)
- Make enabling device orientation notifications internal by
[@&#8203;kacperkapusciak](https://github.com/kacperkapusciak) &
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1596](https://github.com/software-mansion/react-native-screens/pull/1596)
- Fix back button menu for headerBackTitleVisible prop by
[@&#8203;kacperkapusciak](https://github.com/kacperkapusciak) in
[https://github.com/software-mansion/react-native-screens/pull/1646](https://github.com/software-mansion/react-native-screens/pull/1646)
- Override requiresMainQueueSetup in RNSScreenManager by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1670](https://github.com/software-mansion/react-native-screens/pull/1670)

#### 👍 Improvements

- Support for React Native 0.71.0 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1631](https://github.com/software-mansion/react-native-screens/pull/1631)
- Clarify installation instructions for Android by
[@&#8203;evan1715](https://github.com/evan1715) in
[https://github.com/software-mansion/react-native-screens/pull/1633](https://github.com/software-mansion/react-native-screens/pull/1633)

#### 🔢 Miscellaneous

- Fix FabricTestExample fails to start due to new
`react-native.config.js` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1624](https://github.com/software-mansion/react-native-screens/pull/1624)
- Examples stopped to work after RN issue by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1632](https://github.com/software-mansion/react-native-screens/pull/1632)
- Exclude android/.settings file form repo by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1642](https://github.com/software-mansion/react-native-screens/pull/1642)
- Bump deps & fix tvOS build by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1667](https://github.com/software-mansion/react-native-screens/pull/1667)
- Unify CI between platforms by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1676](https://github.com/software-mansion/react-native-screens/pull/1676)

#### New Contributors

- [@&#8203;evan1715](https://github.com/evan1715) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1633](https://github.com/software-mansion/react-native-screens/pull/1633)

**Full Changelog**:
software-mansion/react-native-screens@3.18.2...3.19.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 5pm,every weekend" in timezone
America/Los_Angeles, Automerge - "after 5pm,every weekend" in timezone
America/Los_Angeles.

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/valora-inc/wallet).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xOS4yIiwidXBkYXRlZEluVmVyIjoiMzcuMTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: valora-bot <valorabot@valoraapp.com>
bakoushin referenced this pull request in valora-inc/wallet Oct 17, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[react-native-screens](https://github.com/software-mansion/react-native-screens)
| [`^3.18.2` ->
`^3.25.0`](https://renovatebot.com/diffs/npm/react-native-screens/3.18.2/3.25.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/react-native-screens/3.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-native-screens/3.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-native-screens/3.18.2/3.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-native-screens/3.18.2/3.25.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>software-mansion/react-native-screens
(react-native-screens)</summary>

###
[`v3.25.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.25.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.24.0...3.25.0)

#### What's Changed

Minor release focused on bug fixes & internals.

#### 🐛 Bug fixes

- iOS: Add missing call to super method in
`RNSScreenView#finalizeUpdates` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1855](https://github.com/software-mansion/react-native-screens/pull/1855)
- Android: Shorten alpha animation to 83ms on default enter-out by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1835](https://github.com/software-mansion/react-native-screens/pull/1835)
- iOS: Wrong title in back button menu for screens w/ hidden header by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1866](https://github.com/software-mansion/react-native-screens/pull/1866)
- iOS: Full window overlay cannot receive tap when modal is full screen
by
[@&#8203;intergalacticspacehighway](https://github.com/intergalacticspacehighway)
in
[https://github.com/software-mansion/react-native-screens/pull/1872](https://github.com/software-mansion/react-native-screens/pull/1872)

#### 🔢 Miscellaneous

- Reinstall deps & pods in example apps after release by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1862](https://github.com/software-mansion/react-native-screens/pull/1862)
- Fix typo in docs on `sheetCornerRadius` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1863](https://github.com/software-mansion/react-native-screens/pull/1863)
- Use `PlatformColor` instead of plain `string` for color related props
by [@&#8203;retyui](https://github.com/retyui) in
[https://github.com/software-mansion/react-native-screens/pull/1846](https://github.com/software-mansion/react-native-screens/pull/1846)
- Android: Migrate `replaceSystemWindowInsets` to
`Builder.setSystemWindowInsets` by
[@&#8203;kirillzyusko](https://github.com/kirillzyusko) in
[https://github.com/software-mansion/react-native-screens/pull/1868](https://github.com/software-mansion/react-native-screens/pull/1868)

#### New Contributors

-
[@&#8203;intergalacticspacehighway](https://github.com/intergalacticspacehighway)
made their first contribution in
[https://github.com/software-mansion/react-native-screens/pull/1872](https://github.com/software-mansion/react-native-screens/pull/1872)
- [@&#8203;retyui](https://github.com/retyui) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1846](https://github.com/software-mansion/react-native-screens/pull/1846)

**Full Changelog**:
software-mansion/react-native-screens@3.24.0...3.25.0

###
[`v3.24.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.24.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.23.0...3.24.0)

Minor release focused on fixing build issues reported in
[#&#8203;1859](https://github.com/software-mansion/react-native-screens/issues/1859).

#### What's Changed

#### 🐛 Bug fixes

- Bad parameter type in `toggleCancelButton` search bar command by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1854](https://github.com/software-mansion/react-native-screens/pull/1854)
- Add missing iOS API availbility checks by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1860](https://github.com/software-mansion/react-native-screens/pull/1860)

#### 🔢 Miscellaneous

- Update RN + other deps in example apps by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1847](https://github.com/software-mansion/react-native-screens/pull/1847)
- Annotate `sheetExpandsWhenScrollingToEdge` prop as iOS specific by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1851](https://github.com/software-mansion/react-native-screens/pull/1851)
- Improve readability of C++ namespaced types by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1856](https://github.com/software-mansion/react-native-screens/pull/1856)

**Full Changelog**:
software-mansion/react-native-screens@3.23.0...3.24.0

###
[`v3.23.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.23.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.22.1...3.23.0)

#### What's Changed

#### 🐛 Bug fixes

- Headerheight incorrect on phones with dynamic island by
[@&#8203;dylancom](https://github.com/dylancom) in
[https://github.com/software-mansion/react-native-screens/pull/1784](https://github.com/software-mansion/react-native-screens/pull/1784)
- Buggy search bar / large title behaviour on Fabric by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1825](https://github.com/software-mansion/react-native-screens/pull/1825)
- Make RNSFullWindowOverlay a modal for accessibility by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1842](https://github.com/software-mansion/react-native-screens/pull/1842)
- Calculate large headers in `useHeaderHeight` hook by
[@&#8203;tboba](https://github.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/1844](https://github.com/software-mansion/react-native-screens/pull/1844)

#### 👍 Improvements

- Add onGestureCancel event by
[@&#8203;piaskowyk](https://github.com/piaskowyk) in
[https://github.com/software-mansion/react-native-screens/pull/1810](https://github.com/software-mansion/react-native-screens/pull/1810)
- Add support for search bar placement by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1843](https://github.com/software-mansion/react-native-screens/pull/1843)

#### 🔢 Miscellaneous

- Update `tough-cookie` and `semver` dependencies by
[@&#8203;tboba](https://github.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/1823](https://github.com/software-mansion/react-native-screens/pull/1823)
- Bump versions of RNScreens, FBReactNativeSpec and RCTAppDelegate deps
by [@&#8203;tboba](https://github.com/tboba) in
[https://github.com/software-mansion/react-native-screens/pull/1827](https://github.com/software-mansion/react-native-screens/pull/1827)
- Update `word-wrap` by [@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1834](https://github.com/software-mansion/react-native-screens/pull/1834)
- Format code in test examples by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1812](https://github.com/software-mansion/react-native-screens/pull/1812)
- Unify class & method naming with respect to conventions by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1841](https://github.com/software-mansion/react-native-screens/pull/1841)

#### New Contributors

- [@&#8203;piaskowyk](https://github.com/piaskowyk) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1810](https://github.com/software-mansion/react-native-screens/pull/1810)
- [@&#8203;tboba](https://github.com/tboba) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1823](https://github.com/software-mansion/react-native-screens/pull/1823)

**Full Changelog**:
software-mansion/react-native-screens@3.22.1...3.23.0

###
[`v3.22.1`](https://github.com/software-mansion/react-native-screens/releases/tag/3.22.1)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.22.0...3.22.1)

Patch release bringing back old behaviour of `formSheet` modal on iOS
when using `@react-navigation/native-stack`.

#### What's Changed

##### Fixes

- fix: move setting default values of medium-detent related props to
`InnerScreen` by [@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1811](https://github.com/software-mansion/react-native-screens/pull/1811)

##### Internal

- chore: fix CI by [@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1803](https://github.com/software-mansion/react-native-screens/pull/1803)
- chore(deps): update selected deps in examples by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1807](https://github.com/software-mansion/react-native-screens/pull/1807)
- chore: fix typo in docs by
[@&#8203;aleqsio](https://github.com/aleqsio) in
[https://github.com/software-mansion/react-native-screens/pull/1808](https://github.com/software-mansion/react-native-screens/pull/1808)

#### New Contributors

- [@&#8203;aleqsio](https://github.com/aleqsio) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1808](https://github.com/software-mansion/react-native-screens/pull/1808)

**Full Changelog**:
software-mansion/react-native-screens@3.22.0...3.22.1

###
[`v3.22.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.22.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.21.1...3.22.0)

Minor release fixing some build issues that could happen on older Xcode
versions & with Android SDK 34.

#### What's Changed

- fix: canvas nullability in ScreenStack for Android SDK 34 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1795](https://github.com/software-mansion/react-native-screens/pull/1795)
- fix: ifdef orientation code that requries iOS 16 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1794](https://github.com/software-mansion/react-native-screens/pull/1794)
- chore: update & reinstall selected deps by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1798](https://github.com/software-mansion/react-native-screens/pull/1798)

**Full Changelog**:
software-mansion/react-native-screens@3.21.1...3.22.0

###
[`v3.21.1`](https://github.com/software-mansion/react-native-screens/releases/tag/3.21.1)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.21.0...3.21.1)

Patch release adding internal `isNewBackTitleImplementation` constant
for use in `@react-navigation/native-stack`.

See
[#&#8203;1791](https://github.com/software-mansion/react-native-screens/issues/1791)
&
[https://github.com/react-navigation/react-navigation/pull/11423](https://github.com/react-navigation/react-navigation/pull/11423)
for details.

###
[`v3.21.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.21.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.20.0...3.21.0)

Minor release with support for React Native 0.72 on New Architecture,
fixing some bugs and adding new functionalities.

Please note that support for `react-navigation` v4 has been dropped with
this version and you can no longer use `native-stack` v4 starting from
this version. It might be considered a **BREAKING CHANGE** so be careful
with updating.

#### What's Changed

- chore: migrate codegen to TypeScript by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1600](https://github.com/software-mansion/react-native-screens/pull/1600)
- chore: update README on Fabric support by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1687](https://github.com/software-mansion/react-native-screens/pull/1687)
- feat(iOS): back button subview for Fabric by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1581](https://github.com/software-mansion/react-native-screens/pull/1581)
- fix(iOS): image loading for back button on Fabric by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1688](https://github.com/software-mansion/react-native-screens/pull/1688)
- chore: refactor medium detent iOS implementation by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1699](https://github.com/software-mansion/react-native-screens/pull/1699)
- feat(Android): add native default animations on Android 13 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1693](https://github.com/software-mansion/react-native-screens/pull/1693)
- chore: fix e2e detox tests & `Example` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1681](https://github.com/software-mansion/react-native-screens/pull/1681)
- fix(iOS): status bar does not respect app theme by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1708](https://github.com/software-mansion/react-native-screens/pull/1708)
- chore(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/software-mansion/react-native-screens/pull/1709](https://github.com/software-mansion/react-native-screens/pull/1709)
- chore: change fabric flag by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1705](https://github.com/software-mansion/react-native-screens/pull/1705)
- chore(CI): extend timeout for Android e2e by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1711](https://github.com/software-mansion/react-native-screens/pull/1711)
- chore: update deps in examples by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1714](https://github.com/software-mansion/react-native-screens/pull/1714)
- chore: update library & examples dependencies by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1721](https://github.com/software-mansion/react-native-screens/pull/1721)
- fix: Android build for `compileSdk < 33` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1723](https://github.com/software-mansion/react-native-screens/pull/1723)
- feat: add imperative API for search bar by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1610](https://github.com/software-mansion/react-native-screens/pull/1610)
- chore(deps): bump shell-quote from 1.6.1 to 1.8.0 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/software-mansion/react-native-screens/pull/1725](https://github.com/software-mansion/react-native-screens/pull/1725)
- chore: improve Android anim resource management by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1727](https://github.com/software-mansion/react-native-screens/pull/1727)
- chore: fix typo in build script by
[@&#8203;Jace-Samsung](https://github.com/Jace-Samsung) in
[https://github.com/software-mansion/react-native-screens/pull/1733](https://github.com/software-mansion/react-native-screens/pull/1733)
- chore: set library namespace in build script by
[@&#8203;Sprimage](https://github.com/Sprimage) in
[https://github.com/software-mansion/react-native-screens/pull/1717](https://github.com/software-mansion/react-native-screens/pull/1717)
- fix(iOS): back button not respecting style options by
[@&#8203;tyler-coleman](https://github.com/tyler-coleman) in
[https://github.com/software-mansion/react-native-screens/pull/1726](https://github.com/software-mansion/react-native-screens/pull/1726)
- chore: override `onCreate` in example apps by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1736](https://github.com/software-mansion/react-native-screens/pull/1736)
- feat: add `setText` command on SearchBar by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1739](https://github.com/software-mansion/react-native-screens/pull/1739)
- chore(deps): bump activesupport from 6.1.4.6 to 7.0.4.3 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1744](https://github.com/software-mansion/react-native-screens/pull/1744)
- fix: do not apply namespace if it is not available in agp by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1749](https://github.com/software-mansion/react-native-screens/pull/1749)
- chore(deps): bump vm2 from 3.9.14 to 3.9.15 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/software-mansion/react-native-screens/pull/1752](https://github.com/software-mansion/react-native-screens/pull/1752)
- fix: use new rotation API for iOS 16 by
[@&#8203;kirillzyusko](https://github.com/kirillzyusko) in
[https://github.com/software-mansion/react-native-screens/pull/1732](https://github.com/software-mansion/react-native-screens/pull/1732)
- chore: improve Android 13 animations by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1756](https://github.com/software-mansion/react-native-screens/pull/1756)
- chore(deps): bump vm2 from 3.9.15 to 3.9.16 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/software-mansion/react-native-screens/pull/1755](https://github.com/software-mansion/react-native-screens/pull/1755)
- fix: ScreenStackHeaderConfig type by
[@&#8203;tomekzaw](https://github.com/tomekzaw) in
[https://github.com/software-mansion/react-native-screens/pull/1760](https://github.com/software-mansion/react-native-screens/pull/1760)
- feat: remove v4 from repo by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1790](https://github.com/software-mansion/react-native-screens/pull/1790)
- fix:Compatible with version 0.72 by
[@&#8203;NiuGuohui](https://github.com/NiuGuohui) in
[https://github.com/software-mansion/react-native-screens/pull/1765](https://github.com/software-mansion/react-native-screens/pull/1765)
- fix: proper handling of header events on Fabric and bumping examples
to 0.72 by [@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1783](https://github.com/software-mansion/react-native-screens/pull/1783)
- feat: prevent native back button dismissal on iOS by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1773](https://github.com/software-mansion/react-native-screens/pull/1773)

#### New Contributors

- [@&#8203;Jace-Samsung](https://github.com/Jace-Samsung) made their
first contribution in
[https://github.com/software-mansion/react-native-screens/pull/1733](https://github.com/software-mansion/react-native-screens/pull/1733)
- [@&#8203;Sprimage](https://github.com/Sprimage) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1717](https://github.com/software-mansion/react-native-screens/pull/1717)
- [@&#8203;tyler-coleman](https://github.com/tyler-coleman) made their
first contribution in
[https://github.com/software-mansion/react-native-screens/pull/1726](https://github.com/software-mansion/react-native-screens/pull/1726)
- [@&#8203;NiuGuohui](https://github.com/NiuGuohui) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1765](https://github.com/software-mansion/react-native-screens/pull/1765)

**Full Changelog**:
software-mansion/react-native-screens@3.20.0...3.21.0

###
[`v3.20.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.20.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.19.0...3.20.0)

Minior release aimed at fixing
[#&#8203;1686](https://github.com/software-mansion/react-native-screens/issues/1686)
(change of default behaviour for `stackPresentation: 'formSheet'`).

No other changes were introduced with this release. Next "feature"
release is in preparation.

**Full Changelog**:
software-mansion/react-native-screens@3.19.0...3.20.0

###
[`v3.19.0`](https://github.com/software-mansion/react-native-screens/releases/tag/3.19.0)

[Compare
Source](https://github.com/software-mansion/react-native-screens/compare/3.18.2...3.19.0)

Minor release with support for React Native 0.71

**Important**: Since this version, Fabric is only supported for React
Native 0.71+. Support for older versions has beed dropped.

#### 🐛 Bug fixes

- Try to apply pointer events behaviors in overlay by
[@&#8203;WoLewicki](https://github.com/WoLewicki) in
[https://github.com/software-mansion/react-native-screens/pull/1582](https://github.com/software-mansion/react-native-screens/pull/1582)
- Make enabling device orientation notifications internal by
[@&#8203;kacperkapusciak](https://github.com/kacperkapusciak) &
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1596](https://github.com/software-mansion/react-native-screens/pull/1596)
- Fix back button menu for headerBackTitleVisible prop by
[@&#8203;kacperkapusciak](https://github.com/kacperkapusciak) in
[https://github.com/software-mansion/react-native-screens/pull/1646](https://github.com/software-mansion/react-native-screens/pull/1646)
- Override requiresMainQueueSetup in RNSScreenManager by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1670](https://github.com/software-mansion/react-native-screens/pull/1670)

#### 👍 Improvements

- Support for React Native 0.71.0 by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1631](https://github.com/software-mansion/react-native-screens/pull/1631)
- Clarify installation instructions for Android by
[@&#8203;evan1715](https://github.com/evan1715) in
[https://github.com/software-mansion/react-native-screens/pull/1633](https://github.com/software-mansion/react-native-screens/pull/1633)

#### 🔢 Miscellaneous

- Fix FabricTestExample fails to start due to new
`react-native.config.js` by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1624](https://github.com/software-mansion/react-native-screens/pull/1624)
- Examples stopped to work after RN issue by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1632](https://github.com/software-mansion/react-native-screens/pull/1632)
- Exclude android/.settings file form repo by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1642](https://github.com/software-mansion/react-native-screens/pull/1642)
- Bump deps & fix tvOS build by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1667](https://github.com/software-mansion/react-native-screens/pull/1667)
- Unify CI between platforms by
[@&#8203;kkafar](https://github.com/kkafar) in
[https://github.com/software-mansion/react-native-screens/pull/1676](https://github.com/software-mansion/react-native-screens/pull/1676)

#### New Contributors

- [@&#8203;evan1715](https://github.com/evan1715) made their first
contribution in
[https://github.com/software-mansion/react-native-screens/pull/1633](https://github.com/software-mansion/react-native-screens/pull/1633)

**Full Changelog**:
software-mansion/react-native-screens@3.18.2...3.19.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 5pm,every weekend" in timezone
America/Los_Angeles, Automerge - "after 5pm,every weekend" in timezone
America/Los_Angeles.

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/valora-inc/wallet).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xOS4yIiwidXBkYXRlZEluVmVyIjoiMzcuMTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: valora-bot <valorabot@valoraapp.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants