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

Feat/rn 0.71 backmerge #34

Merged
merged 209 commits into from
Mar 1, 2023
Merged

Feat/rn 0.71 backmerge #34

merged 209 commits into from
Mar 1, 2023

Commits on Aug 18, 2021

  1. tst

    igorgn committed Aug 18, 2021
    Configuration menu
    Copy the full SHA
    97bc1d2 View commit details
    Browse the repository at this point in the history
  2. sdfsdf

    igorgn committed Aug 18, 2021
    Configuration menu
    Copy the full SHA
    995ab34 View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2021

  1. bk

    igorgn committed Aug 23, 2021
    Configuration menu
    Copy the full SHA
    3e6fc28 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1 from igorgn/test

    tst
    igorgn authored Aug 23, 2021
    Configuration menu
    Copy the full SHA
    9b99432 View commit details
    Browse the repository at this point in the history
  3. builder

    igorgn committed Aug 23, 2021
    Configuration menu
    Copy the full SHA
    10c17d8 View commit details
    Browse the repository at this point in the history
  4. Update pipeline.yml

    igorgn authored Aug 23, 2021
    Configuration menu
    Copy the full SHA
    e83e6dd View commit details
    Browse the repository at this point in the history
  5. Update pipeline.yml

    igorgn authored Aug 23, 2021
    Configuration menu
    Copy the full SHA
    ab6e65a View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2021

  1. Update pipeline.yml

    igorgn authored Aug 24, 2021
    Configuration menu
    Copy the full SHA
    4df9167 View commit details
    Browse the repository at this point in the history
  2. Update pipeline.yml

    igorgn authored Aug 24, 2021
    Configuration menu
    Copy the full SHA
    7a6bbe5 View commit details
    Browse the repository at this point in the history
  3. Update pipeline.yml

    igorgn authored Aug 24, 2021
    Configuration menu
    Copy the full SHA
    f472541 View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2021

  1. Update pipeline.yml

    igorgn authored Aug 25, 2021
    Configuration menu
    Copy the full SHA
    8d80da1 View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2021

  1. Configuration menu
    Copy the full SHA
    0093684 View commit details
    Browse the repository at this point in the history
  2. PlatformColor Support (wix#7216)

    Following the discussion here: wix#6618.
    
    ## Android
    - Colours are parsed natively.
    - Creating custom colour when a PlatformColor is passed to native.
    - Both light/dark values have the same res attribute resolved when `get` is called.
    
    ## IOS
    - Added a custom colour.
    - Changed storyboard splash screen.
    - Using `labelColor` as a test.
    
    
    CC: @yogevbd 
    closes: wix#6618
    
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    swabbass and yogevbd authored Aug 29, 2021
    Configuration menu
    Copy the full SHA
    1db86ce View commit details
    Browse the repository at this point in the history
  3. Update api-events.mdx (wix#7224)

    When testing the `registerModalAttemptedToDismissListener` event, I noticed that I had to set the `swipeToDismiss` flag to false. The docs currently falsely indicate it should be `true`
    VNDRN authored Aug 29, 2021
    Configuration menu
    Copy the full SHA
    dfdb451 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2021

  1. reduce sim count

    igorgn committed Aug 30, 2021
    Configuration menu
    Copy the full SHA
    450e0b5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e0063e5 View commit details
    Browse the repository at this point in the history
  3. Update test-e2e.js

    igorgn authored Aug 30, 2021
    Configuration menu
    Copy the full SHA
    49db119 View commit details
    Browse the repository at this point in the history
  4. Update pipeline.yml

    igorgn authored Aug 30, 2021
    Configuration menu
    Copy the full SHA
    24d309a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f32a678 View commit details
    Browse the repository at this point in the history
  6. Update pipeline.yml

    igorgn authored Aug 30, 2021
    Configuration menu
    Copy the full SHA
    4686abb View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    f8927b2 View commit details
    Browse the repository at this point in the history
  8. fix pipe

    igorgn committed Aug 30, 2021
    Configuration menu
    Copy the full SHA
    4640970 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b0c44ba View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2021

  1. Configuration menu
    Copy the full SHA
    ec34501 View commit details
    Browse the repository at this point in the history
  2. Status bar updates causes ui freeze on some devices (wix#7231)

    Modify flags for DecorView in the global main thread handler caused ui to freeze when calling `mergeOptions` inside useEffect.
    This happens on Samsung devices with Android 9, that seems it has issues internally since it is not reproduce on emulator and other devices including Samsungs with new android versions.
    
    The workaround was to set the flags in a task to run in the DecorView MessageQueue in order to ensure flags are set when the DecorView is ready internally to accept changes.
    
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    swabbass and yogevbd authored Aug 31, 2021
    Configuration menu
    Copy the full SHA
    3d10758 View commit details
    Browse the repository at this point in the history
  3. Update pipeline.yml

    igorgn authored Aug 31, 2021
    Configuration menu
    Copy the full SHA
    1bdcfea View commit details
    Browse the repository at this point in the history
  4. Update pipeline.yml

    igorgn authored Aug 31, 2021
    Configuration menu
    Copy the full SHA
    7cfe7ad View commit details
    Browse the repository at this point in the history
  5. Update pipeline.yml

    igorgn authored Aug 31, 2021
    Configuration menu
    Copy the full SHA
    dcae4d9 View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2021

  1. add studio npm shortcut

    swabbass committed Sep 1, 2021
    Configuration menu
    Copy the full SHA
    97dd091 View commit details
    Browse the repository at this point in the history
  2. Component Lifecycle events fix onPause/onResume (wix#7235)

    * Add test cases for new issues
    
    * handle pause/resume in modal stack
    
    * Delete OverlayManager.java
    
    * pass pause/resume to modals/overlayes
    
    - overlays should always get the events since they are on top
    - modals basically covers the whole view behind
    - all other layers can handle events in this order
    
    * Update OverlayManager.kt
    
    * Update Navigator.java
    
    * add tests for overCurrentContext mode
    
    * add peekDisplayedOverCurrentContext
    
    * call root when top modal is overCurrentContext
    
    Co-authored-by: Guy Carmeli <guyca@users.noreply.github.com>
    swabbass and guyca authored Sep 1, 2021
    Configuration menu
    Copy the full SHA
    537eb08 View commit details
    Browse the repository at this point in the history
  3. Changing StatusBar when unrelated mergeOptions Fix (wix#7237)

    # Issue:
    
    Each time `mergeOptions` is called, even with non `StatusBar` related options, the status bar state will change without taking defaults or static options into consideration.
    
    # Fix
    
    Check if options for `StatusBar` are present and then apply them on merge options. 
    
    
    https://user-images.githubusercontent.com/7227793/131662099-09a91198-2033-4f50-a6f0-a29b70b5c5e5.mov
    
    
    Closing: wix#7232.
    swabbass authored Sep 1, 2021
    Configuration menu
    Copy the full SHA
    d48e3d5 View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2021

  1. Change bottom tabs height constants value calculation to the dimen-ba…

    …sed one (wix#7238)
    
    Co-authored-by: Ward Abbass <warda@wix.com>
    svbutko and swabbass authored Sep 2, 2021
    Configuration menu
    Copy the full SHA
    8831ccf View commit details
    Browse the repository at this point in the history
  2. Add support to change the search bar's cancel button text on iOS (wix…

    …#7240)
    
    * Add support to change the search bar's cancel button text on iOS
    
    * Replace incorrectly used test option
    svbutko authored Sep 2, 2021
    Configuration menu
    Copy the full SHA
    74c09f4 View commit details
    Browse the repository at this point in the history
  3. Pop to root when tapping on active bottom tab on Android (wix#7239)

    * Pop to root when tapping on active bottom tab
    
    * Add missing imports
    
    * Add stack type checking before popping to root
    svbutko authored Sep 2, 2021
    Configuration menu
    Copy the full SHA
    bb2b09e View commit details
    Browse the repository at this point in the history
  4. Fix remx optional dependency (wix#7241)

    Currently, remx is an optional peer dependency that is required for our mock consumers only. But it is actually being imported from our main `index.ts` which break users who don't import it even though they are not using mocks.
    The solution is to change the way users import our mocks and make it explicit. 
    
    Mocks now should be imported from `react-native-navigation/Mock`.
    
    
    Co-authored-by: Carl-Gerhard Lindesvärd <c.lindesvard@klarna.com>
    yogevbd and Carl-Gerhard Lindesvärd authored Sep 2, 2021
    Configuration menu
    Copy the full SHA
    e19ff8c View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2021

  1. Configuration menu
    Copy the full SHA
    67b5798 View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2021

  1. Support DynamicColorIOS (wix#7248)

    * Support DynamicColorIOS
    
    * Update OptionsProcessor.ts
    yogevbd authored Sep 5, 2021
    Configuration menu
    Copy the full SHA
    ba722f8 View commit details
    Browse the repository at this point in the history
  2. docs: updated community libraries. (wix#7245)

    Couldn't find a ready-to-use solution for a bottom sheet component that would work seamlessly with react-native-navigation, so decided to write my own - [React Native Navigation Bottom Sheet Extension](https://github.com/CursedWizard/react-native-navigation-bottom-sheet). Added it to community libraries in docs.
    
    Also made the list of packages a little bit more organized.
    
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    CursedWizard and yogevbd authored Sep 5, 2021
    Configuration menu
    Copy the full SHA
    8b4d033 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1cd25e6 View commit details
    Browse the repository at this point in the history
  4. Fix [RNNEnterExitAnimation elementTransitions] crash (wix#7249)

    Fix a crash caused by wix#7194 on `[RNNEnterExitAnimation elementTransitions]`.
    This is happening when trying to customize the modal animations.
    
    ```
    EXCEPTION
    NSInvalidArgumentException
    MESSAGE
    -[RNNEnterExitAnimation elementTransitions]: unrecognized selector sent to instance 0x29d8f8720
    ```
    yogevbd authored Sep 5, 2021
    Configuration menu
    Copy the full SHA
    be858f8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    396879a View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2021

  1. Configuration menu
    Copy the full SHA
    7351d0d View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2021

  1. Fix left and right top bar buttons with component crash on Android (w…

    …ix#7253)
    
    * Replace incorrect title bar react button view height measure spec
    
    * Fix right button with component incorrect ID while measuring its size
    
    * Add missing View import
    
    * Update TitleBarReactButtonView.java
    
    Co-authored-by: Ward Abbass <warda@wix.com>
    Co-authored-by: Ward Abbass <swabbass@gmail.com>
    3 people authored Sep 14, 2021
    Configuration menu
    Copy the full SHA
    0f61d3f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9a975b4 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2021

  1. Fix sideMenu docs (wix#7275)

    Updated the example using `Navigation.mergeOptions` to open the side menu with the correct first argument.
    fiznool authored Sep 29, 2021
    Configuration menu
    Copy the full SHA
    a207f62 View commit details
    Browse the repository at this point in the history
  2. Remove default splash layout color on Android (wix#7276)

    Co-authored-by: Ward Abbass <warda@wix.com>
    svbutko and swabbass authored Sep 29, 2021
    Configuration menu
    Copy the full SHA
    f87e1ca View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2021

  1. Fix iOS 15 bars appearance (wix#7270)

    Following wix#7266 and especially [my comment there](wix#7266 (comment)), I'm opening this PR to provide a quick fix to people experiencing issues when building RNN using Xcode 13.
    
    This should be considered a fix PR rather than a feature PR, as what it's doing is basically duplicating the already set `standardAppearance` to a `scrollEdgeAppearance`. What this means is that the bars will have the same visual aspect whether they're displayed alongside the edge of a scroll view.
    
    In a future, more elaborate PR, we could imagine a way to be able to provide `scrollEdgeAppearance` values from JS for more control over the native bars.
    
    Fixes wix#7266
    Fixes wix#7268
    
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    habovh and yogevbd authored Sep 30, 2021
    Configuration menu
    Copy the full SHA
    92bbcc1 View commit details
    Browse the repository at this point in the history
  2. Add callback as optional parameter to updateProps (wix#7277)

    * Add callback as optional parameter to updateProps
    
    * Add optional callback to NavigationDelegate
    
    * Add tests to Store and ComponentWrapper
    
    Co-authored-by: Ward Abbass <warda@wix.com>
    svbutko and swabbass authored Sep 30, 2021
    Configuration menu
    Copy the full SHA
    102b718 View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2021

  1. use HMSegmentedControl from pod instead of standalone file (wix#7279)

    https://github.com/HeshamMegid/HMSegmentedControl
    is available as a Pod and many libraries and frameworks use it from there. Using them along with ReactNativeNavigation causes duplicate symbols error when building the app. I have updated the library to use the class from pod instead of the standalone files embedded within the library.
    mohsinulhaq authored Oct 3, 2021
    Configuration menu
    Copy the full SHA
    6fb9749 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2021

  1. [Android][Accessibility] Prevent overwrite accessibilityLabel of Back…

    …Button (wix#7282)
    
    * [Android] Prevent overwrite accessibilityLabel of BackButton wix#7221
    
    * Prevent overwrite topBar.backButton.accessibilityLabel after setDefaultOptions on Android
    
    * Add unit tests
    
    Co-authored-by: Ward Abbass <warda@wix.com>
    retyui and swabbass authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    9af0217 View commit details
    Browse the repository at this point in the history
  2. Declarative modals on Android (wix#7260)

    * run modals and test overlays temp
    
    * tmp
    
    * modal component return null when not visible
    
    * temp
    
    * tmp
    
    * use react context instead of activity
    
    * Update DeclaredLayoutHost.kt
    
    * showing modal + dismiss changing visible
    
    * tmpo
    
    * add events
    
    * make children collapsable (native managed)
    
    * Squashed commit of the following:
    
    commit 9a975b4
    Author: wixmobile <mobile1@wix.com>
    Date:   Tue Sep 14 05:26:23 2021 -0400
    
        Update package.json version to 7.21.0 [ci skip]
    
    commit 0f61d3f
    Author: Sergei Butko <svbutko@hotmail.com>
    Date:   Tue Sep 14 06:18:01 2021 +0300
    
        Fix left and right top bar buttons with component crash on Android (wix#7253)
    
        * Replace incorrect title bar react button view height measure spec
    
        * Fix right button with component incorrect ID while measuring its size
    
        * Add missing View import
    
        * Update TitleBarReactButtonView.java
    
        Co-authored-by: Ward Abbass <warda@wix.com>
        Co-authored-by: Ward Abbass <swabbass@gmail.com>
    
    commit 7351d0d
    Author: Sergei Butko <svbutko@hotmail.com>
    Date:   Mon Sep 13 23:08:31 2021 +0300
    
        Apply back button icon changes to scroll edge appearance (wix#7257)
    
    commit 396879a
    Author: wixmobile <mobile1@wix.com>
    Date:   Sun Sep 5 07:14:47 2021 -0400
    
        Update package.json version to 7.20.0 [ci skip]
    
    commit be858f8
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Sun Sep 5 13:09:30 2021 +0300
    
        Fix [RNNEnterExitAnimation elementTransitions] crash (wix#7249)
    
        Fix a crash caused by wix#7194 on `[RNNEnterExitAnimation elementTransitions]`.
        This is happening when trying to customize the modal animations.
    
        ```
        EXCEPTION
        NSInvalidArgumentException
        MESSAGE
        -[RNNEnterExitAnimation elementTransitions]: unrecognized selector sent to instance 0x29d8f8720
        ```
    
    commit 1cd25e6
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Sun Sep 5 12:45:26 2021 +0300
    
        Fix color processing on iOS (wix#7250)
    
    commit 8b4d033
    Author: CursedWizard <67508707+CursedWizard@users.noreply.github.com>
    Date:   Sun Sep 5 10:55:51 2021 +0200
    
        docs: updated community libraries. (wix#7245)
    
        Couldn't find a ready-to-use solution for a bottom sheet component that would work seamlessly with react-native-navigation, so decided to write my own - [React Native Navigation Bottom Sheet Extension](https://github.com/CursedWizard/react-native-navigation-bottom-sheet). Added it to community libraries in docs.
    
        Also made the list of packages a little bit more organized.
    
        Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    
    commit ba722f8
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Sun Sep 5 09:47:14 2021 +0300
    
        Support DynamicColorIOS (wix#7248)
    
        * Support DynamicColorIOS
    
        * Update OptionsProcessor.ts
    
    commit 67b5798
    Author: Sergei Butko <svbutko@hotmail.com>
    Date:   Fri Sep 3 14:14:17 2021 +0300
    
        Add popToRoot option to bottomTab on Android (wix#7244)
    
    commit e19ff8c
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Thu Sep 2 15:38:03 2021 +0300
    
        Fix remx optional dependency (wix#7241)
    
        Currently, remx is an optional peer dependency that is required for our mock consumers only. But it is actually being imported from our main `index.ts` which break users who don't import it even though they are not using mocks.
        The solution is to change the way users import our mocks and make it explicit.
    
        Mocks now should be imported from `react-native-navigation/Mock`.
    
        Co-authored-by: Carl-Gerhard Lindesvärd <c.lindesvard@klarna.com>
    
    commit bb2b09e
    Author: Sergei Butko <svbutko@hotmail.com>
    Date:   Thu Sep 2 14:46:34 2021 +0300
    
        Pop to root when tapping on active bottom tab on Android (wix#7239)
    
        * Pop to root when tapping on active bottom tab
    
        * Add missing imports
    
        * Add stack type checking before popping to root
    
    commit 74c09f4
    Author: Sergei Butko <svbutko@hotmail.com>
    Date:   Thu Sep 2 14:30:02 2021 +0300
    
        Add support to change the search bar's cancel button text on iOS (wix#7240)
    
        * Add support to change the search bar's cancel button text on iOS
    
        * Replace incorrectly used test option
    
    commit 8831ccf
    Author: Sergei Butko <svbutko@hotmail.com>
    Date:   Thu Sep 2 13:53:18 2021 +0300
    
        Change bottom tabs height constants value calculation to the dimen-based one (wix#7238)
    
        Co-authored-by: Ward Abbass <warda@wix.com>
    
    commit d48e3d5
    Author: Ward Abbass <warda@wix.com>
    Date:   Wed Sep 1 21:36:45 2021 +0300
    
        Changing StatusBar when unrelated mergeOptions Fix (wix#7237)
    
        # Issue:
    
        Each time `mergeOptions` is called, even with non `StatusBar` related options, the status bar state will change without taking defaults or static options into consideration.
    
        # Fix
    
        Check if options for `StatusBar` are present and then apply them on merge options.
    
        https://user-images.githubusercontent.com/7227793/131662099-09a91198-2033-4f50-a6f0-a29b70b5c5e5.mov
    
        Closing: wix#7232.
    
    commit 537eb08
    Author: Ward Abbass <warda@wix.com>
    Date:   Wed Sep 1 14:34:56 2021 +0300
    
        Component Lifecycle events fix onPause/onResume (wix#7235)
    
        * Add test cases for new issues
    
        * handle pause/resume in modal stack
    
        * Delete OverlayManager.java
    
        * pass pause/resume to modals/overlayes
    
        - overlays should always get the events since they are on top
        - modals basically covers the whole view behind
        - all other layers can handle events in this order
    
        * Update OverlayManager.kt
    
        * Update Navigator.java
    
        * add tests for overCurrentContext mode
    
        * add peekDisplayedOverCurrentContext
    
        * call root when top modal is overCurrentContext
    
        Co-authored-by: Guy Carmeli <guyca@users.noreply.github.com>
    
    commit 97dd091
    Author: Ward Abbass <swabbass@gmail.com>
    Date:   Wed Sep 1 12:38:13 2021 +0300
    
        add studio npm shortcut
    
    commit 3d10758
    Author: Ward Abbass <warda@wix.com>
    Date:   Tue Aug 31 11:34:53 2021 +0300
    
        Status bar updates causes ui freeze on some devices (wix#7231)
    
        Modify flags for DecorView in the global main thread handler caused ui to freeze when calling `mergeOptions` inside useEffect.
        This happens on Samsung devices with Android 9, that seems it has issues internally since it is not reproduce on emulator and other devices including Samsungs with new android versions.
    
        The workaround was to set the flags in a task to run in the DecorView MessageQueue in order to ensure flags are set when the DecorView is ready internally to accept changes.
    
        Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    
    commit ec34501
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Tue Aug 31 10:09:34 2021 +0300
    
        Avoid calling AppRegistry.registerComponent in mocked mode (wix#7234)
    
    commit dfdb451
    Author: VNDRN <60874935+VNDRN@users.noreply.github.com>
    Date:   Sun Aug 29 15:55:21 2021 +0200
    
        Update api-events.mdx (wix#7224)
    
        When testing the `registerModalAttemptedToDismissListener` event, I noticed that I had to set the `swipeToDismiss` flag to false. The docs currently falsely indicate it should be `true`
    
    commit 1db86ce
    Author: Ward Abbass <warda@wix.com>
    Date:   Sun Aug 29 16:01:27 2021 +0300
    
        PlatformColor Support (wix#7216)
    
        Following the discussion here: wix#6618.
    
        ## Android
        - Colours are parsed natively.
        - Creating custom colour when a PlatformColor is passed to native.
        - Both light/dark values have the same res attribute resolved when `get` is called.
    
        ## IOS
        - Added a custom colour.
        - Changed storyboard splash screen.
        - Using `labelColor` as a test.
    
        CC: @yogevbd
        closes: wix#6618
    
        Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    
    commit 0093684
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Sun Aug 29 13:27:12 2021 +0300
    
        Move remx to optional peer dependencies (wix#7230)
    
    commit e3e7812
    Author: wixmobile <mobile1@wix.com>
    Date:   Mon Aug 23 05:38:37 2021 -0400
    
        Update package.json version to 7.19.0 [ci skip]
    
    * Rename and Refactor Declared to Modal
    
    * Update NavigationReactInitializer.java
    
    * Update ReactGateway.java
    
    * Update NavigationReactInitializer.java
    
    * Update NavigationReactInitializer.java
    
    * Update CoordinatorLayoutUtils.java
    
    * Update ModalStack.java
    
    * Update ModalStack.java
    
    * Update ModalStack.java
    
    * Update Navigator.java
    
    * Update TouchablePreview.tsx
    
    * Update LayoutsScreen.tsx
    
    * Update testIDs.ts
    
    * Update TouchablePreview.tsx
    
    * Update ModalScreen.tsx
    
    * Update ModalScreen.tsx
    
    * Update testIDs.ts
    
    * add more e2e tests
    
    * Update NavigationActivity.java
    
    * fix tests
    
    * Update build.gradle
    
    * Squashed commit of the following:
    
    commit 102b718
    Author: Sergei Butko <svbutko@hotmail.com>
    Date:   Thu Sep 30 12:59:05 2021 +0300
    
        Add callback as optional parameter to updateProps (wix#7277)
    
        * Add callback as optional parameter to updateProps
    
        * Add optional callback to NavigationDelegate
    
        * Add tests to Store and ComponentWrapper
    
        Co-authored-by: Ward Abbass <warda@wix.com>
    
    commit 92bbcc1
    Author: Jordan Becker <jordanbeckerfr@gmail.com>
    Date:   Thu Sep 30 10:32:22 2021 +0200
    
        Fix iOS 15 bars appearance (wix#7270)
    
        Following wix#7266 and especially [my comment there](wix#7266 (comment)), I'm opening this PR to provide a quick fix to people experiencing issues when building RNN using Xcode 13.
    
        This should be considered a fix PR rather than a feature PR, as what it's doing is basically duplicating the already set `standardAppearance` to a `scrollEdgeAppearance`. What this means is that the bars will have the same visual aspect whether they're displayed alongside the edge of a scroll view.
    
        In a future, more elaborate PR, we could imagine a way to be able to provide `scrollEdgeAppearance` values from JS for more control over the native bars.
    
        Fixes wix#7266
        Fixes wix#7268
    
        Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    
    commit f87e1ca
    Author: Sergei Butko <svbutko@hotmail.com>
    Date:   Thu Sep 30 01:06:36 2021 +0300
    
        Remove default splash layout color on Android (wix#7276)
    
        Co-authored-by: Ward Abbass <warda@wix.com>
    
    commit a207f62
    Author: Tom Spencer <tom.spencer@studiozeffa.com>
    Date:   Wed Sep 29 15:44:15 2021 +0100
    
        Fix sideMenu docs (wix#7275)
    
        Updated the example using `Navigation.mergeOptions` to open the side menu with the correct first argument.
    
    * revert local changes
    
    * remove unused event
    
    When changing state of RNNModal to not visible the props got unbound to native and the dismiss event will not be received in JS, suggested to call dismiss block after calling setState in RequestDismiss.
    
    * add missing props
    
    * Update ModalViewManager.kt
    
    * rename
    
    * rename
    
    * Update ModalLayoutController.kt
    
    * Update NavigationModule.java
    
    * update docs
    swabbass authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    588e908 View commit details
    Browse the repository at this point in the history
  3. Fix empty dynamic colors object when using PlatformColors on iOS (wix…

    …#7259)
    
    Fixes the original error mentioned here: wix#7216 (comment)
    
    Co-authored-by: Ward Abbass <warda@wix.com>
    svbutko and swabbass authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    cce64b9 View commit details
    Browse the repository at this point in the history
  4. Fix dot indicator location on iOS (wix#7274)

    - Fixes wix#6411 
    - Fixes the crash if `dotIndicator` is applied without `icon` in tab
    
    <img width="502" alt="image" src="https://user-images.githubusercontent.com/14828004/135261158-eec0d640-9220-4e1c-bbd1-46939b7b54de.png">
    svbutko authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    68f3e98 View commit details
    Browse the repository at this point in the history
  5. Add SF Symbols support to bottom tab and top bar's back button (wix#7271

    )
    
    Since SF Symbols are built in starting from iOS 13 it makes sense to use them as icons rather than creating PNGs which will increase app size.
    
    <img width="502" alt="image" src="https://user-images.githubusercontent.com/14828004/134523928-2a5d19ff-a42a-445e-abf7-d4d64d222025.png">
    
    <img width="502" alt="image" src="https://user-images.githubusercontent.com/14828004/134523961-24a521b1-bb69-43c6-9324-c91b64a4342c.png">
    
    
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    Co-authored-by: Ward Abbass <warda@wix.com>
    3 people authored Oct 4, 2021
    Configuration menu
    Copy the full SHA
    958c6fa View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2021

  1. Fix Android project warnings (wix#7288)

    * Rename o to others to fix problems when calling this function with named arguments
    
    * Suppress unused parameters of TopBarAnimator
    
    * Suppress unchecked cast of PropertyAnimatorCreator
    
    * Remove unused import from ReactImageBoundsAnimator
    
    * Remove redundant SAM-constructor
    
    * Remove unused imports
    
    * Remove unused imports
    
    * Remove unused constant
    
    * Fix raw use of ViewController
    
    * Fix raw use of ViewController
    
    * Fix raw use of ViewController
    
    * Fix raw use of ViewController, remove unused imports
    
    * Remove unused import
    
    * Fix raw use of ViewController
    
    * Fix raw use of ViewController
    
    * Fix raw use of ViewController
    
    * Fix raw use of ViewController
    
    * Remove unused import
    
    * Fix raw ViewController use
    
    * Fix raw ViewController use
    
    * Fix raw ViewController use
    
    * Fix raw ViewController use
    
    * Fix raw ViewController use
    
    * Fix raw ViewController use
    
    * Fix raw ViewController use
    
    * Fix raw ViewController use
    
    * Remove wrong return type condition
    
    * Remove unused import
    
    * Remove unused import
    
    * Remove unused import
    
    * Remove redundant semicolon
    
    * Fix raw ViewController use
    
    * Fix raw ViewController use
    
    * Fix raw ViewController use
    
    * Fix raw ViewController use, remove unused imports
    
    * Remove unused import
    
    * Return TypeEvaluator
    svbutko authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    119469b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1401872 View commit details
    Browse the repository at this point in the history
  3. Fix nullable dispatcher (wix#7287)

    Co-authored-by: Ward Abbass <warda@wix.com>
    svbutko and swabbass authored Oct 5, 2021
    Configuration menu
    Copy the full SHA
    a8be1ff View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    86af17d View commit details
    Browse the repository at this point in the history
  5. Remove hack

    Now it does not cause infinite measurements
    swabbass committed Oct 5, 2021
    Configuration menu
    Copy the full SHA
    ef60d31 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2021

  1. Fix Null activity when having initial modal at startup (wix#7292)

    * pass ReactContext instead of activity's navigator
    
    It seems that ReactNative can call createViewManagers in a point that current activity is null, which can lean to null exception
    
    * Use reactContext and navigator on demand
    
    Since Navigator is bound to activity, which is the right thing to do since it's the UI component to do ui stuff not application, navigator will be determined on demand from the current activity checking for nulls and valid lifecycle state
    
    * Update ModalViewManager.kt
    
    * Update ModalViewManager.kt
    swabbass authored Oct 6, 2021
    Configuration menu
    Copy the full SHA
    575000c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    62ab69c View commit details
    Browse the repository at this point in the history
  3. Fix hardware back button event button id in docs (wix#7294)

    Actual buttonId for hardware back button event is `RNN.hardwareBackButton`, not `RNN.hardwareBack` :-)
    Reeywhaar authored Oct 6, 2021
    Configuration menu
    Copy the full SHA
    eaef192 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    bea1436 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3557240 View commit details
    Browse the repository at this point in the history
  6. Fix documentation build

    yogevbd committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    81a13c5 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8df6e1d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    25c0f83 View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2021

  1. Configuration menu
    Copy the full SHA
    19d20f5 View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2021

  1. Fix JS tests (wix#7297)

    * Fix JS tests
    
    * Fix tests
    yogevbd authored Oct 10, 2021
    Configuration menu
    Copy the full SHA
    5a497cd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    528621c View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2021

  1. Avoid processing undefined colors (wix#7310)

    When passing undefined colors, we don't want to parse that as Null as it will reset the current visible colors.
    yogevbd authored Oct 12, 2021
    Configuration menu
    Copy the full SHA
    9d6ffb7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a51c897 View commit details
    Browse the repository at this point in the history
  3. Small typo fix (wix#7308)

    Adds a "to" in the sentence.
    vincentritter authored Oct 12, 2021
    Configuration menu
    Copy the full SHA
    c90540a View commit details
    Browse the repository at this point in the history
  4. Update style-statusbar.mdx

    swabbass authored Oct 12, 2021
    Configuration menu
    Copy the full SHA
    601ee64 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2021

  1. Revert "Remove hack" (wix#7314)

    This reverts commit ef60d31.
    yogevbd authored Oct 13, 2021
    Configuration menu
    Copy the full SHA
    f787848 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e53c866 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2021

  1. Add react-native-template-strong to starter kits (wix#7309)

    
    Co-authored-by: Ward Abbass <warda@wix.com>
    svbutko and swabbass authored Oct 14, 2021
    Configuration menu
    Copy the full SHA
    1f4cc21 View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2021

  1. Configuration menu
    Copy the full SHA
    1c0bfed View commit details
    Browse the repository at this point in the history
  2. Add custom component to TopBar when setting it in root on iOS (wix#7303)

    Fixes: wix#7301
    
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    svbutko and yogevbd authored Oct 20, 2021
    Configuration menu
    Copy the full SHA
    9b0aa91 View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2021

  1. hello buildkite (wix#7326)

    igorgn authored Oct 24, 2021
    Configuration menu
    Copy the full SHA
    f1eacaa View commit details
    Browse the repository at this point in the history
  2. fix merge options mock (wix#7323)

    * Update LayoutStore.ts
    
    * Update LayoutStore.ts
    
    * Update LayoutStore.ts
    
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    Niryo and yogevbd authored Oct 24, 2021
    Configuration menu
    Copy the full SHA
    ad65f71 View commit details
    Browse the repository at this point in the history
  3. iOS Split (wix#7328)

    igorgn authored Oct 24, 2021
    Configuration menu
    Copy the full SHA
    ee101ee View commit details
    Browse the repository at this point in the history
  4. Update Detox to support iOS 15 (wix#7324)

    Based to this discussion: wix/Detox#2895 (comment)
    This version should fix issues with iOS 15
    
    Co-authored-by: Yogev Ben David <yogevbd@wix.com>
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    3 people authored Oct 24, 2021
    Configuration menu
    Copy the full SHA
    a684fec View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2021

  1. Configuration menu
    Copy the full SHA
    0352baa View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2021

  1. Keyboard demo playground (wix#7331)

    Adding a simple demo that can be used to demonstrate Keyboard show/dismiss when showing/dismissing modal when clicking on submit
    
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    swabbass and yogevbd authored Oct 27, 2021
    Configuration menu
    Copy the full SHA
    5959638 View commit details
    Browse the repository at this point in the history
  2. MergeOptions, buttons got cleared when animation enabled [Android] (w…

    …ix#7330)
    
    # Issue:
    When having `animateLeftButtons` or `animateRightButtons` enabled, calling `mergeOptions` frequently to update button state like enabled, colour and text etc, caused the menu animation to mess out the views inside the menu.
    
    # Diagnoses:
    
    - Calling `mergeOptions` inside `componentDidUpdate`, which can be called frequently without any options changes deducted from props like calling setState for example or changing a prop that does not have something to do the merge options call.
    - Every `mergeOptions` with buttons in it, would remove and re-add buttons to the toolbars which caused the animation to run, even if the change was updating button colour or enabled state.
    
    # Fix:
    
    - Introduce a more efficient way to detect updates and update each button in case there are no structural changes.
    - Structural changes can be: reordering, removing, adding buttons or changing buttons with the same `button.id` but a different component with no stable `componentId`.
    - Other changes mentioned above will call update buttons in place with no remove and re-add and no animation.
    - Refactor the code and enhance single responsibilities for each controller.
    - Added more test cases for such flows.
    
    Note:
    
    Android built-in menu, has its limits in terms of updating and rearranging action views inside it, it would be possible if we built a custom menu with an overflow that can support, order changes, and in-place updates, and that is a long road to walk.
    
    
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    swabbass and yogevbd authored Oct 27, 2021
    Configuration menu
    Copy the full SHA
    3401467 View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2021

  1. Fix missing props after setRoot for components with identical predefi…

    …ned id (wix#7329)
    
    * Destroy buttons along with the main react view
    
    * Revert "Destroy buttons along with the main react view"
    
    This reverts commit 27e604d.
    
    * Add pending props
    
    * Fix android button components cache
    
    Co-authored-by: Ward Abbass <warda@wix.com>
    Co-authored-by: Ward Abbass <swabbass@gmail.com>
    3 people authored Oct 28, 2021
    Configuration menu
    Copy the full SHA
    7347ed6 View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2021

  1. Remove manually dismissing all modals on setRoot (wix#7340)

    Currently we manually dismiss all modals on `setRoot`, we should instead clear it from the modal manager so that those controllers will be automatically released by the reference count system.
    yogevbd authored Nov 7, 2021
    Configuration menu
    Copy the full SHA
    f35d410 View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2021

  1. Android context crash when parsing options (wix#7342)

    # Issue:
    
    When parsing options, `ReactInstanceManager.getCurrentContext()` might return null, which caused color parsing to throw null exception since it assumes that context is not null.
    
    # Diagnose:
    
    This can be the case when Activity was killed but the Application still alive (Don't keep activity for example), and since js is bound to the Application lifecycle, opening the activity triggers recreating context in bg, in the meantime calling a command that requires reactContext can cause such crashes to unwanted behaviours when react context is needed.
    This happens internally and it looks like it is some flow where calling navigation command when react is not ready. 
    
    # Fix:
     
    Since the issue did not happen before, and the crash occurred in parsing options that are independent of `ReactContext`, we can use Activity or Application as the context for such a case.
    swabbass authored Nov 8, 2021
    Configuration menu
    Copy the full SHA
    9647520 View commit details
    Browse the repository at this point in the history
  2. React Native 66 (wix#7305)

    * RN 65
    
    React Native upgrade + babel unit tests running as expected
    
    * RN66
    
    - Normal unit tests working
    - Upgrade to RN66.
    - Move jest to jest config file.
    - Use babel-test transformer to make unit tests working
    - e2e tests that can run as unit wont work.
    
    * disable running e2es as units
    
    * use Hermes + Fix Reanimated
    
    * update reanimated and use babel plugin
    
    * Enable coverage
    
    * Upgrade jest and babel to 27
    
    * enable JS e2e add animatable to transform ignore
    
    * use babel jest as transformer instead of the react native one
    
    * update android to 30
    
    * Fix overlay insets and use non deprecated methods
    
    * Kotlin convert
    
    * tmp status
    
    * Update Detox to support iOS 15
    
    * Fix e2e
    
    * Revert "tmp status"
    
    This reverts commit aff2b87.
    
    * prevent ReactRootViews from having ids
    
    * status bar utils static fields
    
    * Squashed commit of the following:
    
    commit 5959638
    Author: Ward Abbass <warda@wix.com>
    Date:   Wed Oct 27 13:04:00 2021 +0300
    
        Keyboard demo playground  (wix#7331)
    
        Adding a simple demo that can be used to demonstrate Keyboard show/dismiss when showing/dismissing modal when clicking on submit
    
        Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    
    * wait for stack/modal to be shown to send didAppear
    
    this happens since RN 64
    
    * Fix tests
    
    * Ensure modal is not already presented
    
    * use 0.66.2
    
    Co-authored-by: svbutko <svbutko@hotmail.com>
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    3 people authored Nov 8, 2021
    Configuration menu
    Copy the full SHA
    5136a2e View commit details
    Browse the repository at this point in the history
  3. Fix default font handling on android (wix#7333)

    * Pass null font family into typeface loader if not set
    
    ReactTypefaceUtils handles null font families to fall back to the default typeface
    
    * Provide the default typeface when calling typeface loader
    
    * Feed paint typeface as default typeface into typeface loader to support default fonts
    
    * Support default font face via AHTextView in bottom tabs
    
    * Move defaultTypeFace to typeFace loader
    
    Co-authored-by: Ward Abbass <swabbass@gmail.com>
    danilobuerger and swabbass authored Nov 8, 2021
    Configuration menu
    Copy the full SHA
    131d6ba View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2021

  1. Fix Android unit tests (wix#7345)

    - Mock default typeface.
    - fix buttons adding and removing tests.
    
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    swabbass and yogevbd authored Nov 9, 2021
    Configuration menu
    Copy the full SHA
    c869237 View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2021

  1. Fix missing curly bracket leftButtons (wix#7347)

    adding curly bracket leftButtons
    herarya authored Nov 13, 2021
    Configuration menu
    Copy the full SHA
    2575578 View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2021

  1. Configuration menu
    Copy the full SHA
    18b5f81 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2021

  1. destroyAllOverlays crash [Android] (wix#7354)

    * fix units tests
    
    * prevent modifying overlays map while iterating
    
    * fix units
    swabbass authored Nov 17, 2021
    Configuration menu
    Copy the full SHA
    69830a0 View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2021

  1. Configuration menu
    Copy the full SHA
    d203096 View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2021

  1. Timeout (wix#7356)

    Buildkite right now don't have a convenient way to set a global timeout for whole build, so need to set it for every step separately.
    igorgn authored Nov 22, 2021
    Configuration menu
    Copy the full SHA
    b58ba0f View commit details
    Browse the repository at this point in the history
  2. remove merge chance shield (wix#7325)

    Merge chance is going to be deprecated soon.
    
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    PiotrZakrzewski and yogevbd authored Nov 22, 2021
    Configuration menu
    Copy the full SHA
    2a4e5db View commit details
    Browse the repository at this point in the history

Commits on Nov 24, 2021

  1. Configuration menu
    Copy the full SHA
    5cc967b View commit details
    Browse the repository at this point in the history
  2. Fix dismissing modals with sideMenu (wix#7369)

    Dismissing a modal that has a `sideMenu` layout exposed a bug we have where we look for the component in the top ViewController presented children, with `sideMenu` it's not enough because its children are not components. 
    Instead, We should recursively look for that component in all of the top viewController children tree.
    
    Closes wix#7367
    yogevbd authored Nov 24, 2021
    Configuration menu
    Copy the full SHA
    709ddb8 View commit details
    Browse the repository at this point in the history
  3. Fix fast refresh crash (wix#7371)

    Closes wix#6176
    yogevbd authored Nov 24, 2021
    Configuration menu
    Copy the full SHA
    6452157 View commit details
    Browse the repository at this point in the history

Commits on Nov 25, 2021

  1. Configuration menu
    Copy the full SHA
    74beb27 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e0da767 View commit details
    Browse the repository at this point in the history
  3. Fix missing options processing (wix#7370)

    We missed `mergeOptions` processing on the following commands: `pop`, `popTo`, `popToRoot`, `dismissModal` and `dismissAllModals`. That resulted in a bug where using the old animations syntax didn't work.
    yogevbd authored Nov 25, 2021
    Configuration menu
    Copy the full SHA
    623c239 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    bcf0edb View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2021

  1. Upgrade Android unit tests tools (wix#7379)

    * tmp
    
    * Upgrade unit tests dependencies on android
    swabbass authored Nov 29, 2021
    Configuration menu
    Copy the full SHA
    29ac5e4 View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2021

  1. Android API 30 fixes (wix#7343)

    Upgrading android target SDK to 30, to support android 12 changes.
    
    - Refactor StatusBarUtil to SystemUIUtils to include status and navigation bars.
    - Migrate deprecated code using flags to a modern one.
    - Calculating WindowInsets per component where all views are laid as full screen.
    - Keyboard enhancements to show hide keyboard.
    - Fix applying Options of a child taking parent Options into consideration.
    - Fix fixed status bar height and use a more elegant way.
    - Add more tests for SystemUiUtils.
    - Add a SystemUi screen to demonstrate system UI capabilities.
    - Migrate Reanimated usage to support Reanimated 2.
    
    Closes wix#7339.
    Closes wix#7225.
    Closes wix#7358.
    Closes wix#7199.
    Closes wix#7171.
    Closes wix#7111.
    Closes wix#6988.
    Closes wix#4258.
    Closes wix#7360.
    
    Demo:
    
    https://user-images.githubusercontent.com/7227793/142203865-d65b6910-21f8-4617-812e-b5576a6b58e4.mov
    
    
    
    
    
    Co-authored-by: Ward Abbass <swabbass@gmail.com>
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    Co-authored-by: svbutko <svbutko@hotmail.com>
    Co-authored-by: Ward Abbass <warda@wix.com>
    4 people authored Nov 30, 2021
    Configuration menu
    Copy the full SHA
    eae5831 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2021

  1. Configuration menu
    Copy the full SHA
    a188307 View commit details
    Browse the repository at this point in the history
  2. Bottom tabs selection stack (HW button Android) (wix#7380)

    * Bottom tabs test to kt
    
    * implement flows of tab selection
    
    * Update BottomTabsControllerTest.kt
    
    * Squashed commit of the following:
    
    commit 3368cda
    Author: Ward Abbass <swabbass@gmail.com>
    Date:   Mon Nov 29 09:56:50 2021 +0200
    
        Upgrade unit tests dependencies on android
    
    commit 7fe8421
    Author: Ward Abbass <swabbass@gmail.com>
    Date:   Mon Nov 29 09:20:55 2021 +0200
    
        tmp
    
    commit bcf0edb
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Thu Nov 25 13:32:27 2021 +0200
    
        Fix playground reanimated animations (wix#7375)
    
    commit 623c239
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Thu Nov 25 11:37:42 2021 +0200
    
        Fix missing options processing (wix#7370)
    
        We missed `mergeOptions` processing on the following commands: `pop`, `popTo`, `popToRoot`, `dismissModal` and `dismissAllModals`. That resulted in a bug where using the old animations syntax didn't work.
    
    commit e0da767
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Thu Nov 25 11:37:13 2021 +0200
    
        Fix statusBar blur option in dark mode (wix#7372)
    
    commit 74beb27
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Thu Nov 25 11:36:56 2021 +0200
    
        Update documentation (wix#7373)
    
    commit 6452157
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Wed Nov 24 23:20:11 2021 +0200
    
        Fix fast refresh crash (wix#7371)
    
        Closes wix#6176
    
    commit 709ddb8
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Wed Nov 24 21:37:22 2021 +0200
    
        Fix dismissing modals with sideMenu (wix#7369)
    
        Dismissing a modal that has a `sideMenu` layout exposed a bug we have where we look for the component in the top ViewController presented children, with `sideMenu` it's not enough because its children are not components.
        Instead, We should recursively look for that component in all of the top viewController children tree.
    
        Closes wix#7367
    
    commit 5cc967b
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Wed Nov 24 15:26:08 2021 +0200
    
        [Navigation Mock] Fix bottomTabPressed event (wix#7368)
    
    * add e2e
    
    * add js option
    
    * add more testing
    
    * docs
    
    * Squashed commit of the following:
    
    commit 29ac5e4
    Author: Ward Abbass <swabbass@gmail.com>
    Date:   Mon Nov 29 10:40:14 2021 +0200
    
        Upgrade Android unit tests tools (wix#7379)
    
        * tmp
    
        * Upgrade unit tests dependencies on android
    
    commit bcf0edb
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Thu Nov 25 13:32:27 2021 +0200
    
        Fix playground reanimated animations (wix#7375)
    
    commit 623c239
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Thu Nov 25 11:37:42 2021 +0200
    
        Fix missing options processing (wix#7370)
    
        We missed `mergeOptions` processing on the following commands: `pop`, `popTo`, `popToRoot`, `dismissModal` and `dismissAllModals`. That resulted in a bug where using the old animations syntax didn't work.
    
    commit e0da767
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Thu Nov 25 11:37:13 2021 +0200
    
        Fix statusBar blur option in dark mode (wix#7372)
    
    commit 74beb27
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Thu Nov 25 11:36:56 2021 +0200
    
        Update documentation (wix#7373)
    
    commit 6452157
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Wed Nov 24 23:20:11 2021 +0200
    
        Fix fast refresh crash (wix#7371)
    
        Closes wix#6176
    
    commit 709ddb8
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Wed Nov 24 21:37:22 2021 +0200
    
        Fix dismissing modals with sideMenu (wix#7369)
    
        Dismissing a modal that has a `sideMenu` layout exposed a bug we have where we look for the component in the top ViewController presented children, with `sideMenu` it's not enough because its children are not components.
        Instead, We should recursively look for that component in all of the top viewController children tree.
    
        Closes wix#7367
    
    commit 5cc967b
    Author: Yogev Ben David <yogev132@gmail.com>
    Date:   Wed Nov 24 15:26:08 2021 +0200
    
        [Navigation Mock] Fix bottomTabPressed event (wix#7368)
    
    * Update BottomTabs.test.js
    
    * Update BottomTabs.test.js
    
    * Update lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/BottomTabsController.java
    
    Co-authored-by: aliraza-noon <73536024+aliraza-noon@users.noreply.github.com>
    
    * Squashed commit of the following:
    
    commit eae5831
    Author: Ward Abbass <swabbass@gmail.com>
    Date:   Tue Nov 30 08:55:13 2021 +0200
    
        Android API 30 fixes (wix#7343)
    
        Upgrading android target SDK to 30, to support android 12 changes.
    
        - Refactor StatusBarUtil to SystemUIUtils to include status and navigation bars.
        - Migrate deprecated code using flags to a modern one.
        - Calculating WindowInsets per component where all views are laid as full screen.
        - Keyboard enhancements to show hide keyboard.
        - Fix applying Options of a child taking parent Options into consideration.
        - Fix fixed status bar height and use a more elegant way.
        - Add more tests for SystemUiUtils.
        - Add a SystemUi screen to demonstrate system UI capabilities.
        - Migrate Reanimated usage to support Reanimated 2.
    
        Closes wix#7339.
        Closes wix#7225.
        Closes wix#7358.
        Closes wix#7199.
        Closes wix#7171.
        Closes wix#7111.
        Closes wix#6988.
        Closes wix#4258.
        Closes wix#7360.
    
        Demo:
    
        https://user-images.githubusercontent.com/7227793/142203865-d65b6910-21f8-4617-812e-b5576a6b58e4.mov
    
        Co-authored-by: Ward Abbass <swabbass@gmail.com>
        Co-authored-by: Yogev Ben David <yogev132@gmail.com>
        Co-authored-by: svbutko <svbutko@hotmail.com>
        Co-authored-by: Ward Abbass <warda@wix.com>
    
    * Update BottomTabsControllerTest.kt
    
    Co-authored-by: aliraza-noon <73536024+aliraza-noon@users.noreply.github.com>
    swabbass and aliraza-noon authored Dec 1, 2021
    Configuration menu
    Copy the full SHA
    1ea6307 View commit details
    Browse the repository at this point in the history
  3. Fix lagging keyboard when using autoFocus (wix#7376)

    When using TextInput's `autoFocus`, The keyboard view is trying to animate its slide-in transition within the context of a the screen push animation.
    We solved this by swizzling RN code and delay the becomeFirstResponder to after the component is appeared.
    
    Closes wix#7019
    yogevbd authored Dec 1, 2021
    Configuration menu
    Copy the full SHA
    b67afa3 View commit details
    Browse the repository at this point in the history
  4. Update typescript to 4.x.x (wix#7299)

    TODO:
    - [x] Update typescript
    - [x] Update eslint plugins
    - [x] Fix ts errors
    - [x] Fix eslint errors
    
    
    How was changed compilations output:
    
    <details>
      <summary>diff: lib/dist</summary>
      
      ```diff
      index bb7566a47..32be1e8d4 100644
      --- a/lib/dist/Mock/Application.js
      +++ b/lib/dist/Mock/Application.js
      @@ -2,10 +2,10 @@
       Object.defineProperty(exports, "__esModule", { value: true });
       exports.Application = void 0;
       const tslib_1 = require("tslib");
      -const React = tslib_1.__importStar(require("react"));
      +const React = (0, tslib_1.__importStar)(require("react"));
       const react_native_1 = require("react-native");
       const connect_1 = require("./connect");
      -exports.Application = connect_1.connect(class extends React.Component {
      +exports.Application = (0, connect_1.connect)(class extends React.Component {
           constructor(props) {
               super(props);
               props.entryPoint();
      diff --git a/lib/dist/Mock/Components/BottomTabs.js b/lib/dist/Mock/Components/BottomTabs.js
      index 0eacd9f6a..ffd403db7 100644
      --- a/lib/dist/Mock/Components/BottomTabs.js
      +++ b/lib/dist/Mock/Components/BottomTabs.js
      @@ -2,10 +2,10 @@
       Object.defineProperty(exports, "__esModule", { value: true });
       exports.BottomTabs = void 0;
       const tslib_1 = require("tslib");
      -const react_1 = tslib_1.__importStar(require("react"));
      +const react_1 = (0, tslib_1.__importStar)(require("react"));
       const LayoutComponent_1 = require("./LayoutComponent");
       const connect_1 = require("../connect");
      -exports.BottomTabs = connect_1.connect(class extends react_1.Component {
      +exports.BottomTabs = (0, connect_1.connect)(class extends react_1.Component {
           render() {
               return this.props.layoutNode.children.map((child) => {
                   return react_1.default.createElement(LayoutComponent_1.LayoutComponent, { key: child.nodeId, layoutNode: child });
      diff --git a/lib/dist/Mock/Components/ComponentScreen.js b/lib/dist/Mock/Components/ComponentScreen.js
      index c23f91d91..d030db91a 100644
      --- a/lib/dist/Mock/Components/ComponentScreen.js
      +++ b/lib/dist/Mock/Components/ComponentScreen.js
      @@ -2,14 +2,14 @@
       Object.defineProperty(exports, "__esModule", { value: true });
       exports.ComponentScreen = void 0;
       const tslib_1 = require("tslib");
      -const react_1 = tslib_1.__importStar(require("react"));
      +const react_1 = (0, tslib_1.__importStar)(require("react"));
       const react_native_1 = require("react-native");
       const __1 = require("../..");
       const constants_1 = require("../constants");
       const LayoutStore_1 = require("../Stores/LayoutStore");
       const connect_1 = require("../connect");
       const TopBar_1 = require("./TopBar");
      -exports.ComponentScreen = connect_1.connect(class extends react_1.Component {
      +exports.ComponentScreen = (0, connect_1.connect)(class extends react_1.Component {
           constructor(props) {
               super(props);
           }
      diff --git a/lib/dist/Mock/Components/LayoutComponent.js b/lib/dist/Mock/Components/LayoutComponent.js
      index f29b2eb52..593382929 100644
      --- a/lib/dist/Mock/Components/LayoutComponent.js
      +++ b/lib/dist/Mock/Components/LayoutComponent.js
      @@ -2,12 +2,12 @@
       Object.defineProperty(exports, "__esModule", { value: true });
       exports.LayoutComponent = void 0;
       const tslib_1 = require("tslib");
      -const react_1 = tslib_1.__importStar(require("react"));
      +const react_1 = (0, tslib_1.__importStar)(require("react"));
       const react_native_1 = require("react-native");
       const BottomTabs_1 = require("./BottomTabs");
       const ComponentScreen_1 = require("./ComponentScreen");
       const Stack_1 = require("./Stack");
      -exports.LayoutComponent = class extends react_1.Component {
      +const LayoutComponent = class extends react_1.Component {
           render() {
               switch (this.props.layoutNode.type) {
                   case 'BottomTabs':
      @@ -20,3 +20,4 @@ exports.LayoutComponent = class extends react_1.Component {
               return react_1.default.createElement(react_native_1.View, null);
           }
       };
      +exports.LayoutComponent = LayoutComponent;
      diff --git a/lib/dist/Mock/Components/Modals.js b/lib/dist/Mock/Components/Modals.js
      index 8ac96a790..c6275458f 100644
      --- a/lib/dist/Mock/Components/Modals.js
      +++ b/lib/dist/Mock/Components/Modals.js
      @@ -2,12 +2,12 @@
       Object.defineProperty(exports, "__esModule", { value: true });
       exports.Modals = void 0;
       const tslib_1 = require("tslib");
      -const react_1 = tslib_1.__importStar(require("react"));
      +const react_1 = (0, tslib_1.__importStar)(require("react"));
       const react_native_1 = require("react-native");
       const LayoutComponent_1 = require("./LayoutComponent");
       const LayoutStore_1 = require("../Stores/LayoutStore");
       const connect_1 = require("../connect");
      -exports.Modals = connect_1.connect(class extends react_1.Component {
      +exports.Modals = (0, connect_1.connect)(class extends react_1.Component {
           render() {
               const children = LayoutStore_1.LayoutStore.getModals();
               return (react_1.default.createElement(react_native_1.View, { testID: 'MODALS' }, children.map((child) => {
      diff --git a/lib/dist/Mock/Components/NavigationButton.js b/lib/dist/Mock/Components/NavigationButton.js
      index 2cb32877a..84ce46707 100644
      --- a/lib/dist/Mock/Components/NavigationButton.js
      +++ b/lib/dist/Mock/Components/NavigationButton.js
      @@ -2,15 +2,12 @@
       Object.defineProperty(exports, "__esModule", { value: true });
       exports.NavigationButton = void 0;
       const tslib_1 = require("tslib");
      -const react_1 = tslib_1.__importStar(require("react"));
      +const react_1 = (0, tslib_1.__importStar)(require("react"));
       const react_native_1 = require("react-native");
       const __1 = require("../../");
       const EventsStore_1 = require("../Stores/EventsStore");
      -exports.NavigationButton = class extends react_1.Component {
      -    constructor() {
      -        super(...arguments);
      -        this.ref = undefined;
      -    }
      +const NavigationButton = class extends react_1.Component {
      +    ref = undefined;
           render() {
               const { button, componentId } = this.props;
               if (button.component)
      @@ -38,7 +35,7 @@ exports.NavigationButton = class extends react_1.Component {
                           componentId: componentId,
                       });
                   }, testID: button.testID },
      -            react_1.default.createElement(Component, Object.assign({ key: buttonComponentId }, props, { componentId: buttonComponentId, ref: (ref) => (this.ref = ref) }))));
      +            react_1.default.createElement(Component, { key: buttonComponentId, ...props, componentId: buttonComponentId, ref: (ref) => (this.ref = ref) })));
           }
           invokeOnClick(stateNode) {
               if (stateNode.children) {
      @@ -53,3 +50,4 @@ exports.NavigationButton = class extends react_1.Component {
               }
           }
       };
      +exports.NavigationButton = NavigationButton;
      diff --git a/lib/dist/Mock/Components/Overlays.js b/lib/dist/Mock/Components/Overlays.js
      index f20cb399c..f9d336bd9 100644
      --- a/lib/dist/Mock/Components/Overlays.js
      +++ b/lib/dist/Mock/Components/Overlays.js
      @@ -2,13 +2,13 @@
       Object.defineProperty(exports, "__esModule", { value: true });
       exports.Overlays = void 0;
       const tslib_1 = require("tslib");
      -const react_1 = tslib_1.__importStar(require("react"));
      +const react_1 = (0, tslib_1.__importStar)(require("react"));
       const react_native_1 = require("react-native");
       const constants_1 = require("../constants");
       const LayoutComponent_1 = require("./LayoutComponent");
       const LayoutStore_1 = require("../Stores/LayoutStore");
       const connect_1 = require("../connect");
      -exports.Overlays = connect_1.connect(class extends react_1.Component {
      +exports.Overlays = (0, connect_1.connect)(class extends react_1.Component {
           render() {
               const children = LayoutStore_1.LayoutStore.getOverlays();
               return (react_1.default.createElement(react_native_1.View, { testID: constants_1.VISIBLE_OVERLAY_TEST_ID }, children.map((child) => {
      diff --git a/lib/dist/Mock/Components/Stack.js b/lib/dist/Mock/Components/Stack.js
      index d2586c8b5..602089fc1 100644
      --- a/lib/dist/Mock/Components/Stack.js
      +++ b/lib/dist/Mock/Components/Stack.js
      @@ -2,10 +2,10 @@
       Object.defineProperty(exports, "__esModule", { value: true });
       exports.Stack = void 0;
       const tslib_1 = require("tslib");
      -const react_1 = tslib_1.__importStar(require("react"));
      +const react_1 = (0, tslib_1.__importStar)(require("react"));
       const LayoutComponent_1 = require("./LayoutComponent");
       const connect_1 = require("../connect");
      -exports.Stack = connect_1.connect(class extends react_1.Component {
      +exports.Stack = (0, connect_1.connect)(class extends react_1.Component {
           render() {
               const children = this.props.layoutNode.children;
               return children.map((child, i) => {
      diff --git a/lib/dist/Mock/Components/TopBar.js b/lib/dist/Mock/Components/TopBar.js
      index 9482bc4d4..2140a3f3d 100644
      --- a/lib/dist/Mock/Components/TopBar.js
      +++ b/lib/dist/Mock/Components/TopBar.js
      @@ -2,14 +2,14 @@
       Object.defineProperty(exports, "__esModule", { value: true });
       exports.TopBar = void 0;
       const tslib_1 = require("tslib");
      -const react_1 = tslib_1.__importStar(require("react"));
      +const react_1 = (0, tslib_1.__importStar)(require("react"));
       const react_native_1 = require("react-native");
       const __1 = require("../..");
       const LayoutStore_1 = require("../Stores/LayoutStore");
       const NavigationButton_1 = require("./NavigationButton");
       const EventsStore_1 = require("../Stores/EventsStore");
       const DEFAULT_BACK_BUTTON_ID = 'RNN.back';
      -exports.TopBar = class extends react_1.Component {
      +const TopBar = class extends react_1.Component {
           constructor(props) {
               super(props);
           }
      @@ -57,6 +57,7 @@ exports.TopBar = class extends react_1.Component {
               const Component = __1.Navigation.mock.store.getComponentClassForName(name)();
               const props = __1.Navigation.mock.store.getPropsForId(id);
               return (react_1.default.createElement(react_native_1.View, { key: id, testID: testID },
      -            react_1.default.createElement(Component, Object.assign({}, props, { componentId: id }))));
      +            react_1.default.createElement(Component, { ...props, componentId: id })));
           }
       };
      +exports.TopBar = TopBar;
      diff --git a/lib/dist/Mock/Layouts/BottomTabsNode.js b/lib/dist/Mock/Layouts/BottomTabsNode.js
      index 82625609f..97a97df43 100644
      --- a/lib/dist/Mock/Layouts/BottomTabsNode.js
      +++ b/lib/dist/Mock/Layouts/BottomTabsNode.js
      @@ -1,13 +1,13 @@
       "use strict";
       Object.defineProperty(exports, "__esModule", { value: true });
       const tslib_1 = require("tslib");
      -const lodash_1 = tslib_1.__importDefault(require("lodash"));
      +const lodash_1 = (0, tslib_1.__importDefault)(require("lodash"));
       const LayoutStore_1 = require("../Stores/LayoutStore");
      -const ParentNode_1 = tslib_1.__importDefault(require("./ParentNode"));
      +const ParentNode_1 = (0, tslib_1.__importDefault)(require("./ParentNode"));
       class BottomTabsNode extends ParentNode_1.default {
      +    selectedIndex = 0;
           constructor(layout, parentNode) {
               super(layout, 'BottomTabs', parentNode);
      -        this.selectedIndex = 0;
           }
           mergeOptions(options) {
               super.mergeOptions(options);
      diff --git a/lib/dist/Mock/Layouts/ComponentNode.js b/lib/dist/Mock/Layouts/ComponentNode.js
      index 6ff44f821..50f3629ec 100644
      --- a/lib/dist/Mock/Layouts/ComponentNode.js
      +++ b/lib/dist/Mock/Layouts/ComponentNode.js
      @@ -1,14 +1,14 @@
       "use strict";
       Object.defineProperty(exports, "__esModule", { value: true });
       const tslib_1 = require("tslib");
      -const lodash_1 = tslib_1.__importDefault(require("lodash"));
      +const lodash_1 = (0, tslib_1.__importDefault)(require("lodash"));
       const EventsStore_1 = require("../Stores/EventsStore");
      -const ParentNode_1 = tslib_1.__importDefault(require("./ParentNode"));
      +const ParentNode_1 = (0, tslib_1.__importDefault)(require("./ParentNode"));
       class ComponentNode extends ParentNode_1.default {
      +    componentDidMountOnce = false;
      +    componentDidAppearPending = false;
           constructor(layout, parentNode) {
               super(layout, 'Component', parentNode);
      -        this.componentDidMountOnce = false;
      -        this.componentDidAppearPending = false;
           }
           componentDidMount() {
               this.componentDidMountOnce = true;
      diff --git a/lib/dist/Mock/Layouts/LayoutNodeFactory.js b/lib/dist/Mock/Layouts/LayoutNodeFactory.js
      index 2a5d9fa1a..1ea4e18b9 100644
      --- a/lib/dist/Mock/Layouts/LayoutNodeFactory.js
      +++ b/lib/dist/Mock/Layouts/LayoutNodeFactory.js
      @@ -1,9 +1,9 @@
       "use strict";
       Object.defineProperty(exports, "__esModule", { value: true });
       const tslib_1 = require("tslib");
      -const BottomTabsNode_1 = tslib_1.__importDefault(require("./BottomTabsNode"));
      -const ComponentNode_1 = tslib_1.__importDefault(require("./ComponentNode"));
      -const StackNode_1 = tslib_1.__importDefault(require("./StackNode"));
      +const BottomTabsNode_1 = (0, tslib_1.__importDefault)(require("./BottomTabsNode"));
      +const ComponentNode_1 = (0, tslib_1.__importDefault)(require("./ComponentNode"));
      +const StackNode_1 = (0, tslib_1.__importDefault)(require("./StackNode"));
       class LayoutNodeFactory {
           static create(layout, parentNode) {
               switch (layout.type) {
      diff --git a/lib/dist/Mock/Layouts/Node.js b/lib/dist/Mock/Layouts/Node.js
      index f03599138..04bc68354 100644
      --- a/lib/dist/Mock/Layouts/Node.js
      +++ b/lib/dist/Mock/Layouts/Node.js
      @@ -1,6 +1,11 @@
       "use strict";
       Object.defineProperty(exports, "__esModule", { value: true });
       class Node {
      +    nodeId;
      +    data;
      +    type;
      +    // options: Options;
      +    parentNode;
           constructor(layout, type, parentNode) {
               this.nodeId = layout.id;
               this.data = layout.data;
      diff --git a/lib/dist/Mock/Layouts/ParentNode.js b/lib/dist/Mock/Layouts/ParentNode.js
      index c446dcd8b..0ba4f703e 100644
      --- a/lib/dist/Mock/Layouts/ParentNode.js
      +++ b/lib/dist/Mock/Layouts/ParentNode.js
      @@ -1,11 +1,12 @@
       "use strict";
       Object.defineProperty(exports, "__esModule", { value: true });
       const tslib_1 = require("tslib");
      -const lodash_1 = tslib_1.__importDefault(require("lodash"));
      +const lodash_1 = (0, tslib_1.__importDefault)(require("lodash"));
       const LayoutStore_1 = require("../Stores/LayoutStore");
      -const LayoutNodeFactory_1 = tslib_1.__importDefault(require("./LayoutNodeFactory"));
      -const Node_1 = tslib_1.__importDefault(require("./Node"));
      +const LayoutNodeFactory_1 = (0, tslib_1.__importDefault)(require("./LayoutNodeFactory"));
      +const Node_1 = (0, tslib_1.__importDefault)(require("./Node"));
       class ParentNode extends Node_1.default {
      +    children;
           constructor(layout, type, parentNode) {
               super(layout, type, parentNode);
               this.children = layout.children.map((childLayout) => LayoutNodeFactory_1.default.create(childLayout, this));
      diff --git a/lib/dist/Mock/Layouts/StackNode.js b/lib/dist/Mock/Layouts/StackNode.js
      index 2093e7b23..7d78383cf 100644
      --- a/lib/dist/Mock/Layouts/StackNode.js
      +++ b/lib/dist/Mock/Layouts/StackNode.js
      @@ -1,7 +1,7 @@
       "use strict";
       Object.defineProperty(exports, "__esModule", { value: true });
       const tslib_1 = require("tslib");
      -const ParentNode_1 = tslib_1.__importDefault(require("./ParentNode"));
      +const ParentNode_1 = (0, tslib_1.__importDefault)(require("./ParentNode"));
       class StackNode extends ParentNode_1.default {
           constructor(layout, parentNode) {
               super(layout, 'Stack', parentNode);
      diff --git a/lib/dist/Mock/Stores/LayoutStore.js b/lib/dist/Mock/Stores/LayoutStore.js
      index 1aa3bcde3..0bb08f41b 100644
      --- a/lib/dist/Mock/Stores/LayoutStore.js
      +++ b/lib/dist/Mock/Stores/LayoutStore.js
      @@ -2,8 +2,8 @@
       Object.defineProperty(exports, "__esModule", { value: true });
       exports.LayoutStore = void 0;
       const tslib_1 = require("tslib");
      -const lodash_1 = tslib_1.__importDefault(require("lodash"));
      -const LayoutNodeFactory_1 = tslib_1.__importDefault(require("../Layouts/LayoutNodeFactory"));
      +const lodash_1 = (0, tslib_1.__importDefault)(require("lodash"));
      +const LayoutNodeFactory_1 = (0, tslib_1.__importDefault)(require("../Layouts/LayoutNodeFactory"));
       const remx = require('remx');
       const state = remx.state({
           root: {},
      diff --git a/lib/dist/Mock/connect.js b/lib/dist/Mock/connect.js
      index ca7b3b493..c9fa9cdfa 100644
      --- a/lib/dist/Mock/connect.js
      +++ b/lib/dist/Mock/connect.js
      @@ -4,6 +4,6 @@ exports.connect = void 0;
       const remx_1 = require("remx");
       function connect(component) {
           // @ts-ignore
      -    return remx_1.connect()(component);
      +    return (0, remx_1.connect)()(component);
       }
       exports.connect = connect;
      diff --git a/lib/dist/Mock/index.js b/lib/dist/Mock/index.js
      index 3720f4cf6..26e72e816 100644
      --- a/lib/dist/Mock/index.js
      +++ b/lib/dist/Mock/index.js
      @@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
       exports.mockNativeComponents = exports.ApplicationMock = void 0;
       const tslib_1 = require("tslib");
       exports.ApplicationMock = require('./Application').Application;
      -tslib_1.__exportStar(require("./constants"), exports);
      +(0, tslib_1.__exportStar)(require("./constants"), exports);
       function mockNativeComponents() {
           const { NativeCommandsSender } = require('./mocks/NativeCommandsSender');
           const { NativeEventsReceiver } = require('./mocks/NativeEventsReceiver');
      diff --git a/lib/dist/Mock/mocks/NativeCommandsSender.js b/lib/dist/Mock/mocks/NativeCommandsSender.js
      index 145c82361..3d64226dd 100644
      --- a/lib/dist/Mock/mocks/NativeCommandsSender.js
      +++ b/lib/dist/Mock/mocks/NativeCommandsSender.js
      @@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
       exports.NativeCommandsSender = void 0;
       const tslib_1 = require("tslib");
       const LayoutStore_1 = require("../Stores/LayoutStore");
      -const LayoutNodeFactory_1 = tslib_1.__importDefault(require("../Layouts/LayoutNodeFactory"));
      +const LayoutNodeFactory_1 = (0, tslib_1.__importDefault)(require("../Layouts/LayoutNodeFactory"));
       const EventsStore_1 = require("../Stores/EventsStore");
      -const lodash_1 = tslib_1.__importDefault(require("lodash"));
      +const lodash_1 = (0, tslib_1.__importDefault)(require("lodash"));
       class NativeCommandsSender {
           constructor() { }
           setRoot(_commandId, layout) {
      diff --git a/lib/dist/Mock/mocks/NativeEventsReceiver.js b/lib/dist/Mock/mocks/NativeEventsReceiver.js
      index dcb7de6d1..513cfd44a 100644
      --- a/lib/dist/Mock/mocks/NativeEventsReceiver.js
      +++ b/lib/dist/Mock/mocks/NativeEventsReceiver.js
      @@ -2,7 +2,7 @@
       Object.defineProperty(exports, "__esModule", { value: true });
       exports.NativeEventsReceiver = void 0;
       const tslib_1 = require("tslib");
      -const lodash_1 = tslib_1.__importDefault(require("lodash"));
      +const lodash_1 = (0, tslib_1.__importDefault)(require("lodash"));
       const EventsStore_1 = require("./../Stores/EventsStore");
       class NativeEventsReceiver {
           registerAppLaunchedListener(callback) {
      diff --git a/lib/dist/Navigation.js b/lib/dist/Navigation.js
      index 200c8e56a..ceabecc4a 100644
      --- a/lib/dist/Navigation.js
      +++ b/lib/dist/Navigation.js
      @@ -2,7 +2,7 @@
       Object.defineProperty(exports, "__esModule", { value: true });
       exports.NavigationRoot = void 0;
       const tslib_1 = require("tslib");
      -const isArray_1 = tslib_1.__importDefault(require("lodash/isArray"));
      +const isArray_1 = (0, tslib_1.__importDefault)(require("lodash/isArray"));
       const UniqueIdProvider_1 = require("./adapters/UniqueIdProvider");
       const Store_1 = require("./components/Store");
       const OptionProcessorsStore_1 = require("./processors/OptionProcessorsStore");
      @@ -24,11 +24,27 @@ const LayoutProcessor_1 = require("./processors/LayoutProcessor");
       const LayoutProcessorsStore_1 = require("./processors/LayoutProcessorsStore");
       const OptionsCrawler_1 = require("./commands/OptionsCrawler");
       class NavigationRoot {
      +    nativeCommandsSender;
      +    nativeEventsReceiver;
      +    appRegistryService;
      +    TouchablePreview = TouchablePreview_1.TouchablePreview;
      +    store;
      +    optionProcessorsStore;
      +    layoutProcessorsStore;
      +    uniqueIdProvider;
      +    componentRegistry;
      +    layoutTreeParser;
      +    layoutTreeCrawler;
      +    commands;
      +    eventsRegistry;
      +    commandsObserver;
      +    componentEventsObserver;
      +    componentWrapper;
      +    optionsCrawler;
           constructor(nativeCommandsSender, nativeEventsReceiver, appRegistryService) {
               this.nativeCommandsSender = nativeCommandsSender;
               this.nativeEventsReceiver = nativeEventsReceiver;
               this.appRegistryService = appRegistryService;
      -        this.TouchablePreview = TouchablePreview_1.TouchablePreview;
               this.componentWrapper = new ComponentWrapper_1.ComponentWrapper();
               this.store = new Store_1.Store();
               this.optionProcessorsStore = new OptionProcessorsStore_1.OptionProcessorsStore();
      @@ -147,7 +163,7 @@ class NavigationRoot {
            * Sets new root component to stack.
            */
           setStackRoot(componentId, layout) {
      -        const children = isArray_1.default(layout) ? layout : [layout];
      +        const children = (0, isArray_1.default)(layout) ? layout : [layout];
               return this.commands.setStackRoot(componentId, children);
           }
           /**
      diff --git a/lib/dist/NavigationDelegate.js b/lib/dist/NavigationDelegate.js
      index 745e950d0..e4b83a973 100644
      --- a/lib/dist/NavigationDelegate.js
      +++ b/lib/dist/NavigationDelegate.js
      @@ -6,6 +6,7 @@ const NativeCommandsSender_1 = require("./adapters/NativeCommandsSender");
       const NativeEventsReceiver_1 = require("./adapters/NativeEventsReceiver");
       const AppRegistryService_1 = require("./adapters/AppRegistryService");
       class NavigationDelegate {
      +    concreteNavigation;
           constructor() {
               this.concreteNavigation = this.createConcreteNavigation(new NativeCommandsSender_1.NativeCommandsSender(), new NativeEventsReceiver_1.NativeEventsReceiver(), new AppRegistryService_1.AppRegistryService());
           }
      diff --git a/lib/dist/adapters/ColorService.d.ts b/lib/dist/adapters/ColorService.d.ts
      index ab3e0ca04..6af546721 100644
      --- a/lib/dist/adapters/ColorService.d.ts
      +++ b/lib/dist/adapters/ColorService.d.ts
      @@ -1,3 +1,3 @@
       export declare class ColorService {
      -    toNativeColor(inputColor: string): number | typeof import("react-native").OpaqueColorValue | null | undefined;
      +    toNativeColor(inputColor: string): import("react-native").ProcessedColorValue | null | undefined;
       }
      diff --git a/lib/dist/adapters/ColorService.js b/lib/dist/adapters/ColorService.js
      index b9ebf7fef..96fdc3fc8 100644
      --- a/lib/dist/adapters/ColorService.js
      +++ b/lib/dist/adapters/ColorService.js
      @@ -4,7 +4,7 @@ exports.ColorService = void 0;
       const react_native_1 = require("react-native");
       class ColorService {
           toNativeColor(inputColor) {
      -        return react_native_1.processColor(inputColor);
      +        return (0, react_native_1.processColor)(inputColor);
           }
       }
       exports.ColorService = ColorService;
      diff --git a/lib/dist/adapters/Constants.js b/lib/dist/adapters/Constants.js
      index dea12936d..114a4c85d 100644
      --- a/lib/dist/adapters/Constants.js
      +++ b/lib/dist/adapters/Constants.js
      @@ -3,12 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
       exports.Constants = void 0;
       const react_native_1 = require("react-native");
       class Constants {
      -    constructor(constants) {
      -        this.statusBarHeight = constants.statusBarHeight;
      -        this.topBarHeight = constants.topBarHeight;
      -        this.backButtonId = constants.backButtonId;
      -        this.bottomTabsHeight = constants.bottomTabsHeight;
      -    }
           static async get() {
               const constants = await react_native_1.NativeModules.RNNBridgeModule.getNavigationConstants();
               return new Constants(constants);
      @@ -16,5 +10,15 @@ class Constants {
           static getSync() {
               return new Constants(react_native_1.NativeModules.RNNBridgeModule.getNavigationConstantsSync());
           }
      +    statusBarHeight;
      +    backButtonId;
      +    topBarHeight;
      +    bottomTabsHeight;
      +    constructor(constants) {
      +        this.statusBarHeight = constants.statusBarHeight;
      +        this.topBarHeight = constants.topBarHeight;
      +        this.backButtonId = constants.backButtonId;
      +        this.bottomTabsHeight = constants.bottomTabsHeight;
      +    }
       }
       exports.Constants = Constants;
      diff --git a/lib/dist/adapters/NativeCommandsSender.js b/lib/dist/adapters/NativeCommandsSender.js
      index c58050b0b..3ef9607dc 100644
      --- a/lib/dist/adapters/NativeCommandsSender.js
      +++ b/lib/dist/adapters/NativeCommandsSender.js
      @@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
       exports.NativeCommandsSender = void 0;
       const react_native_1 = require("react-native");
       class NativeCommandsSender {
      +    nativeCommandsModule;
           constructor() {
               this.nativeCommandsModule = react_native_1.NativeModules.RNNBridgeModule;
           }
      diff --git a/lib/dist/adapters/NativeEventsReceiver.js b/lib/dist/adapters/NativeEventsReceiver.js
      index af2d45e3e..f04bcb888 100644
      --- a/lib/dist/adapters/NativeEventsReceiver.js
      +++ b/lib/dist/adapters/NativeEventsReceiver.js
      @@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
       exports.NativeEventsReceiver = void 0;
       const react_native_1 = require("react-native");
       class NativeEventsReceiver {
      +    emitter;
           constructor() {
               // NOTE: This try catch is workaround for integration tests
               // TODO: mock NativeEventEmitter in integration tests rather done adding try catch in source code
      diff --git a/lib/dist/adapters/TouchablePreview.js b/lib/dist/adapters/TouchablePreview.js
      index 4eb1e86ba..4e792a6bc 100644
      --- a/lib/dist/adapters/TouchablePreview.js
      +++ b/lib/dist/adapters/TouchablePreview.js
      @@ -2,61 +2,72 @@
       Object.defineProperty(exports, "__esModule", { value: true });
       exports.TouchablePreview = void 0;
       const tslib_1 = require("tslib");
      -const React = tslib_1.__importStar(require("react"));
      -const PropTypes = tslib_1.__importStar(require("prop-types"));
      +const React = (0, tslib_1.__importStar)(require("react"));
      +const PropTypes = (0, tslib_1.__importStar)(require("prop-types"));
       const react_native_1 = require("react-native");
       const PREVIEW_DELAY = 350;
       const PREVIEW_MIN_FORCE = 0.1;
       const PREVIEW_TIMEOUT = 1250;
       class TouchablePreview extends React.PureComponent {
      -    constructor() {
      -        super(...arguments);
      -        this.touchStartedAt = 0;
      -        this.onRef = React.createRef();
      -        this.onPress = () => {
      -            const { onPress } = this.props;
      -            if (typeof onPress !== 'function' || TouchablePreview.peeking) {
      +    static propTypes = {
      +        children: PropTypes.node,
      +        touchableComponent: PropTypes.func,
      +        onPress: PropTypes.func,
      +        onPressIn: PropTypes.func,
      +        onPeekIn: PropTypes.func,
      +        onPeekOut: PropTypes.func,
      +        label: PropTypes.string,
      +    };
      +    static defaultProps = {
      +        touchableComponent: react_native_1.TouchableWithoutFeedback,
      +    };
      +    static peeking = false;
      +    timeout;
      +    touchStartedAt = 0;
      +    onRef = React.createRef();
      +    onPress = () => {
      +        const { onPress } = this.props;
      +        if (typeof onPress !== 'function' || TouchablePreview.peeking) {
      +            return;
      +        }
      +        return onPress();
      +    };
      +    onPressIn = () => {
      +        if (react_native_1.Platform.OS === 'ios') {
      +            const { onPressIn } = this.props;
      +            if (!onPressIn) {
                       return;
                   }
      -            return onPress();
      -        };
      -        this.onPressIn = () => {
      -            if (react_native_1.Platform.OS === 'ios') {
      -                const { onPressIn } = this.props;
      -                if (!onPressIn) {
      -                    return;
      -                }
      -                const reactTag = react_native_1.findNodeHandle(this.onRef.current);
      -                return onPressIn({ reactTag });
      +            const reactTag = (0, react_native_1.findNodeHandle)(this.onRef.current);
      +            return onPressIn({ reactTag });
      +        }
      +        // Other platforms don't support 3D Touch Preview API
      +        return null;
      +    };
      +    onTouchStart = (event) => {
      +        // Store a timestamp of the initial touch start
      +        this.touchStartedAt = event.nativeEvent.timestamp;
      +    };
      +    onTouchMove = (event) => {
      +        clearTimeout(this.timeout);
      +        const { force, timestamp } = event.nativeEvent;
      +        const diff = timestamp - this.touchStartedAt;
      +        if (force > PREVIEW_MIN_FORCE && diff > PREVIEW_DELAY) {
      +            TouchablePreview.peeking = true;
      +            if (typeof this.props.onPeekIn === 'function') {
      +                this.props.onPeekIn();
                   }
      -            // Other platforms don't support 3D Touch Preview API
      -            return null;
      -        };
      -        this.onTouchStart = (event) => {
      -            // Store a timestamp of the initial touch start
      -            this.touchStartedAt = event.nativeEvent.timestamp;
      -        };
      -        this.onTouchMove = (event) => {
      -            clearTimeout(this.timeout);
      -            const { force, timestamp } = event.nativeEvent;
      -            const diff = timestamp - this.touchStartedAt;
      -            if (force > PREVIEW_MIN_FORCE && diff > PREVIEW_DELAY) {
      -                TouchablePreview.peeking = true;
      -                if (typeof this.props.onPeekIn === 'function') {
      -                    this.props.onPeekIn();
      -                }
      -            }
      -            //@ts-ignore
      -            this.timeout = setTimeout(this.onTouchEnd, PREVIEW_TIMEOUT);
      -        };
      -        this.onTouchEnd = () => {
      -            clearTimeout(this.timeout);
      -            TouchablePreview.peeking = false;
      -            if (typeof this.props.onPeekOut === 'function') {
      -                this.props.onPeekOut();
      -            }
      -        };
      -    }
      +        }
      +        //@ts-ignore
      +        this.timeout = setTimeout(this.onTouchEnd, PREVIEW_TIMEOUT);
      +    };
      +    onTouchEnd = () => {
      +        clearTimeout(this.timeout);
      +        TouchablePreview.peeking = false;
      +        if (typeof this.props.onPeekOut === 'function') {
      +            this.props.onPeekOut();
      +        }
      +    };
           render() {
               const { children, touchableComponent, ...props } = this.props;
               // Default to TouchableWithoutFeedback for iOS if set to TouchableNativeFeedback
      @@ -71,21 +82,8 @@ class TouchablePreview extends React.PureComponent {
                * Ignoring this for now so that it builds.
                */
               // @ts-ignore
      -        React.createElement(Touchable, Object.assign({}, props, { ref: this.onRef, onPress: this.onPress, onPressIn: this.onPressIn }),
      +        React.createElement(Touchable, { ...props, ref: this.onRef, onPress: this.onPress, onPressIn: this.onPressIn },
                   React.createElement(react_native_1.View, { onTouchStart: this.onTouchStart, onTouchMove: this.onTouchMove, onTouchEnd: this.onTouchEnd }, children)));
           }
       }
       exports.TouchablePreview = TouchablePreview;
      -TouchablePreview.propTypes = {
      -    children: PropTypes.node,
      -    touchableComponent: PropTypes.func,
      -    onPress: PropTypes.func,
      -    onPressIn: PropTypes.func,
      -    onPeekIn: PropTypes.func,
      -    onPeekOut: PropTypes.func,
      -    label: PropTypes.string,
      -};
      -TouchablePreview.defaultProps = {
      -    touchableComponent: react_native_1.TouchableWithoutFeedback,
      -};
      -TouchablePreview.peeking = false;
      diff --git a/lib/dist/adapters/UniqueIdProvider.js b/lib/dist/adapters/UniqueIdProvider.js
      index f3b382a25..a1f75a00d 100644
      --- a/lib/dist/adapters/UniqueIdProvider.js
      +++ b/lib/dist/adapters/UniqueIdProvider.js
      @@ -2,10 +2,10 @@
       Object.defineProperty(exports, "__esModule", { value: true });
       exports.UniqueIdProvider = void 0;
       const tslib_1 = require("tslib");
      -const uniqueId_1 = tslib_1.__importDefault(require("lodash/uniqueId"));
      +const uniqueId_1 = (0, tslib_1.__importDefault)(require("lodash/uniqueId"));
       class UniqueIdProvider {
           generate(prefix) {
      -        return uniqueId_1.default(prefix);
      +        return (0, uniqueId_1.default)(prefix);
           }
       }
       exports.UniqueIdProvider = UniqueIdProvider;
      diff --git a/lib/dist/commands/Commands.js b/lib/dist/commands/Commands.js
      index c86ed714a..f13976c5a 100644
      --- a/lib/dist/commands/Commands.js
      +++ b/lib/dist/commands/Commands.js
      @@ -2,11 +2,20 @@
       Object.defineProperty(exports, "__esModule", { value: true });
       exports.Commands = void 0;
       const tslib_1 = require("tslib");
      -const cloneDeepWith_1 = tslib_1.__importDefault(require("lodash/cloneDeepWith"));
      -const cloneDeep_1 = tslib_1.__importDefault(require("lodash/cloneDeep"));
      -const map_1 = tslib_1.__importDefault(require("lodash/map"));
      +const cloneDeepWith_1 = (0, tslib_1.__importDefault)(require("lodash/cloneDeepWith"));
      +const cloneDeep_1 = (0, tslib_1.__importDefault)(require("lodash/cloneDeep"));
      +const map_1 = (0, tslib_1.__importDefault)(require("lodash/map"));
       const CommandName_1 = require("../interfaces/CommandName");
       class Commands {
      +    store;
      +    nativeCommandsSender;
      +    layoutTreeParser;
      +    layoutTreeCrawler;
      +    commandsObserver;
      +    uniqueIdProvider;
      +    optionsProcessor;
      +    layoutProcessor;
      +    optionsCrawler;
           constructor(store, nativeCommandsSender, layoutTreeParser, layoutTreeCrawler, commandsObserver, uniqueIdProvider, optionsProcessor, layoutProcessor, optionsCrawler) {
               this.store = store;
               this.nativeCommandsSender = nativeCommandsSender;
      @@ -23,12 +32,12 @@ class Commands {
               this.optionsCrawler.crawl(input.root);
               const processedRoot = this.layoutProcessor.process(input.root, CommandName_1.CommandName.SetRoot);
               const root = this.layoutTreeParser.parse(processedRoot);
      -        const modals = map_1.default(input.modals, (modal) => {
      +        const modals = (0, map_1.default)(input.modals, (modal) => {
                   this.optionsCrawler.crawl(modal);
                   const processedModal = this.layoutProcessor.process(modal, CommandName_1.CommandName.SetRoot);
                   return this.layoutTreeParser.parse(processedModal);
               });
      -        const overlays = map_1.default(input.overlays, (overlay) => {
      +        const overlays = (0, map_1.default)(input.overlays, (overlay) => {
                   this.optionsCrawler.crawl(overlay);
                   const processedOverlay = this.layoutProcessor.process(overlay, CommandName_1.CommandName.SetRoot);
                   return this.layoutTreeParser.parse(processedOverlay);
      @@ -49,13 +58,13 @@ class Commands {
               return result;
           }
           setDefaultOptions(options) {
      -        const input = cloneDeep_1.default(options);
      +        const input = (0, cloneDeep_1.default)(options);
               this.optionsProcessor.processDefaultOptions(input, CommandName_1.CommandName.SetDefaultOptions);
               this.nativeCommandsSender.setDefaultOptions(input);
               this.commandsObserver.notify(CommandName_1.CommandName.SetDefaultOptions, { options });
           }
           mergeOptions(componentId, options) {
      -        const input = cloneDeep_1.default(options);
      +        const input = (0, cloneDeep_1.default)(options);
               this.optionsProcessor.processOptions(input, CommandName_1.CommandName.MergeOptions);
               const component = this.store.getComponentInstance(componentId);
               if (component && !component.isMounted)
      @@ -124,7 +133,7 @@ class Commands {
               return result;
           }
           setStackRoot(componentId, children) {
      -        const input = map_1.default(cloneLayout(children), (simpleApi) => {
      +        const input = (0, map_1.default)(cloneLayout(children), (simpleApi) => {
                   this.optionsCrawler.crawl(simpleApi);
                   const layoutProcessed = this.layoutProcessor.process(simpleApi, CommandName_1.CommandName.SetStackRoot);
                   const layout = this.layoutTreeParser.parse(layoutProcessed);
      @@ -174,7 +183,7 @@ class Commands {
       }
       exports.Commands = Commands;
       function cloneLayout(layout) {
      -    return cloneDeepWith_1.default(layout, (value, key) => {
      +    return (0, cloneDeepWith_1.default)(layout, (value, key) => {
               if (key === 'passProps' && typeof value === 'object' && value !== null)
                   return { ...value };
           });
      diff --git a/lib/dist/commands/Commands.test.js b/lib/dist/commands/Commands.test.js
      index 7063480e9..574db36be 100644
      --- a/lib/dist/commands/Commands.test.js
      +++ b/lib/dist/commands/Commands.test.js
      @@ -1,9 +1,9 @@
       "use strict";
       Object.defineProperty(exports, "__esModule", { value: true });
       const tslib_1 = require("tslib");
      -const forEach_1 = tslib_1.__importDefault(require("lodash/forEach"));
      -const filter_1 = tslib_1.__importDefault(require("lodash/filter"));
      -const invoke_1 = tslib_1.__importDefault(require("lodash/invoke"));
      +const forEach_1 = (0, tslib_1.__importDefault)(require("lodash/forEach"));
      +const filter_1 = (0, tslib_1.__importDefault)(require("lodash/filter"));
      +const invoke_1 = (0, tslib_1.__importDefault)(require("lodash/invoke"));
       const ts_mockito_1 = require("ts-mockito");
       const LayoutTreeParser_1 = require("./LayoutTreeParser");
       const LayoutTreeCrawler_1 = require("./LayoutTreeCrawler");
      @@ -17,7 +17,7 @@ const LayoutProcessor_1 = require("../processors/LayoutProcessor");
       const LayoutProcessorsStore_1 = require("../processors/LayoutProcessorsStore");
       const CommandName_1 = require("../interfaces/CommandName");
       const OptionsCrawler_1 = require("./OptionsCrawler");
      -const react_1 = tslib_1.__importDefault(require("react"));
      +const react_1 = (0, tslib_1.__importDefault)(require("react"));
       describe('Commands', () => {
           let uut;
           let mockedNativeCommandsSender;
      @@ -26,25 +26,25 @@ describe('Commands', () => {
           let mockedUniqueIdProvider;
           let layoutProcessor;
           beforeEach(() => {
      -        mockedNativeCommandsSender = ts_mockito_1.mock(NativeCommandsSender_1.NativeCommandsSender);
      -        mockedUniqueIdProvider = ts_mockito_1.mock(UniqueIdProvider_1.UniqueIdProvider);
      -        ts_mockito_1.when(mockedUniqueIdProvider.generate(ts_mockito_1.anything())).thenCall((prefix) => `${prefix}+UNIQUE_ID`);
      -        const uniqueIdProvider = ts_mockito_1.instance(mockedUniqueIdProvider);
      -        mockedStore = ts_mockito_1.mock(Store_1.Store);
      +        mockedNativeCommandsSender = (0, ts_mockito_1.mock)(NativeCommandsSender_1.NativeCommandsSender);
      +        mockedUniqueIdProvider = (0, ts_mockito_1.mock)(UniqueIdProvider_1.UniqueIdProvider);
      +        (0, ts_mockito_1.when)(mockedUniqueIdProvider.generate((0, ts_mockito_1.anything)())).thenCall((prefix) => `${prefix}+UNIQUE_ID`);
      +        const uniqueIdProvider = (0, ts_mockito_1.instance)(mockedUniqueIdProvider);
      +        mockedStore = (0, ts_mockito_1.mock)(Store_1.Store);
               commandsObserver = new CommandsObserver_1.CommandsObserver(uniqueIdProvider);
               const layoutProcessorsStore = new LayoutProcessorsStore_1.LayoutProcessorsStore();
      -        const mockedOptionsProcessor = ts_mockito_1.mock(OptionsProcessor_1.OptionsProcessor);
      -        const optionsProcessor = ts_mockito_1.instance(mockedOptionsProcessor);
      +        const mockedOptionsProcessor = (0, ts_mockito_1.mock)(OptionsProcessor_1.OptionsProcessor);
      +        const optionsProcessor = (0, ts_mockito_1.instance)(mockedOptionsProcessor);
               layoutProcessor = new LayoutProcessor_1.LayoutProcessor(layoutProcessorsStore);
               jest.spyOn(layoutProcessor, 'process');
      -        uut = new Commands_1.Commands(ts_mockito_1.instance(mockedStore), ts_mockito_1.instance(mockedNativeCommandsSender), new LayoutTreeParser_1.LayoutTreeParser(uniqueIdProvider), new LayoutTreeCrawler_1.LayoutTreeCrawler(ts_mockito_1.instance(mockedStore), optionsProcessor), commandsObserver, uniqueIdProvider, optionsProcessor, layoutProcessor, new OptionsCrawler_1.OptionsCrawler(ts_mockito_1.instance(mockedStore), uniqueIdProvider));
      +        uut = new Commands_1.Commands((0, ts_mockito_1.instance)(mockedStore), (0, ts_mockito_1.instance)(mockedNativeCommandsSender), new LayoutTreeParser_1.LayoutTreeParser(uniqueIdProvider), new LayoutTreeCrawler_1.LayoutTreeCrawler((0, ts_mockito_1.instance)(mockedStore), optionsProcessor), commandsObserver, uniqueIdProvider, optionsProcessor, layoutProcessor, new OptionsCrawler_1.OptionsCrawler((0, ts_mockito_1.instance)(mockedStore), uniqueIdProvider));
           });
           describe('setRoot', () => {
               it('sends setRoot to native after parsing into a correct layout tree', () => {
                   uut.setRoot({
                       root: { component: { name: 'com.example.MyScreen' } },
                   });
      -            ts_mockito_1.verify(mockedNativeCommandsSender.setRoot('setRoot+UNIQUE_ID', ts_mockito_1.deepEqual({
      +            (0, ts_mockito_1.verify)(mockedNativeCommandsSender.setRoot('setRoot+UNIQUE_ID', (0, ts_mockito_1.deepEqual)({
                       root: {
                           type: 'Component',
                           id: 'Component+UNIQUE_ID',
      @@ -56,7 +56,7 @@ describe('Commands', () => {
                   }))).called();
               });
               it('returns a promise with the resolved layout', async () => {
      -            ts_mockito_1.when(mockedNativeCommandsSender.setRoot(ts_mockito_1.anything(), ts_mockito_1.anything())).thenResolve('the resolved layout');
      +            (0, ts_mockito_1.when)(mockedNativeCommandsSender.setRoot((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve('the resolved layout');
                   const result = await uut.setRoot({ root: { component: { name: 'com.example.MyScreen' } } });
                   expect(result).toEqual('the resolved layout');
               });
      @@ -66,7 +66,7 @@ describe('Commands', () => {
                       modals: [{ component: { name: 'com.example.MyModal' } }],
                       overlays: [{ component: { name: 'com.example.MyOverlay' } }],
                   });
      -            ts_mockito_1.verify(mockedNativeCommandsSender.setRoot('setRoot+UNIQUE_ID', ts_mockito_1.deepEqual({
      +            (0, ts_mockito_1.verify)(mockedNativeCommandsSender.setRoot('setRoot+UNIQUE_ID', (0, ts_mockito_1.deepEqual)({
                       root: {
                           type: 'Component',
                           id: 'Component+UNIQUE_ID',
      @@ -110,7 +110,7 @@ describe('Commands', () => {
                   expect(layoutProcessor.process).toBeCalledWith({ component: { name: 'com.example.MyScreen', options: {}, id: 'Component+UNIQUE_ID' } }, CommandName_1.CommandName.SetRoot);
               });
               it('pass component static options to layoutProcessor', () => {
      -            ts_mockito_1.when(mockedStore.getComponentClassForName('com.example.MyScreen')).thenReturn(() => class extends react_1.default.Component {
      +            (0, ts_mockito_1.when)(mockedStore.getComponentClassForName('com.example.MyScreen')).thenReturn(() => class extends react_1.default.Component {
                       static options() {
                           return {
                               topBar: {
      @@ -133,18 +133,18 @@ describe('Commands', () => {
               it('retains passProps properties identity', () => {
                   const obj = { some: 'content' };
                   uut.setRoot({ root: { component: { name: 'com.example.MyScreen', passProps: { obj } } } });
      -            const args = ts_mockito_1.capture(mockedStore.updateProps).last();
      +            const args = (0, ts_mockito_1.capture)(mockedStore.updateProps).last();
                   expect(args[1].obj).toBe(obj);
               });
           });
           describe('mergeOptions', () => {
               it('passes options for component', () => {
                   uut.mergeOptions('theComponentId', { blurOnUnmount: true });
      -            ts_mockito_1.verify(mockedNativeCommandsSender.mergeOptions('theComponentId', ts_mockito_1.deepEqual({ blurOnUnmount: true }))).called();
      +            (0, ts_mockito_1.verify)(mockedNativeCommandsSender.mergeOptions('theComponentId', (0, ts_mockito_1.deepEqual)({ blurOnUnmount: true }))).called();
               });
               it('show warning when invoking before componentDidMount', () => {
                   jest.spyOn(console, 'warn');
      -            ts_mockito_1.when(mockedStore.getComponentInstance('component1')).thenReturn({});
      +            (0, ts_mockito_1.when)(mockedStore.getComponentInstance('component1')).thenReturn({});
                   const componentId = 'component1';
                   uut.mergeOptions(componentId, { blurOnUnmount: true });
                   expect(console.warn).toBeCalledWith(`Navigation.mergeOptions was invoked on component with id: ${componentId} before it is mounted, this can cause UI issues and should be avoided.\n Use static options instead.`);
      @@ -152,7 +152,7 @@ describe('Commands', () => {
               it('should not show warning for mounted component', () => {
                   jest.spyOn(console, 'warn');
                   const componentId = 'component1';
      -            ts_mockito_1.when(mockedStore.getComponentInstance('component1')).thenReturn({
      +            (0, ts_mockito_1.when)(mockedStore.getComponentInstance('component1')).thenReturn({
                       isMounted: true,
                   });
                   uut.mergeOptions('component1', { blurOnUnmount: true });
      @@ -161,7 +161,7 @@ describe('Commands', () => {
               it('should not show warning for component id that does not exist', () => {
                   jest.spyOn(console, 'warn');
                   const componentId = 'component1';
      -            ts_mockito_1.when(mockedStore.getComponentInstance('stackId')).thenReturn(undefined);
      +            (0, ts_mockito_1.when)(mockedStore.getComponentInstance('stackId')).thenReturn(undefined);
                   uut.mergeOptions('stackId', { blurOnUnmount: true });
                   expect(console.warn).not.toBeCalledWith(`Navigation.mergeOptions was invoked on component with id: ${componentId} before it is mounted, this can cause UI issues and should be avoided.\n Use static options instead.`);
               });
      @@ -169,11 +169,11 @@ describe('Commands', () => {
           describe('updateProps', () => {
               it('delegates to store', () => {
                   uut.updateProps('theComponentId', { someProp: 'someValue' });
      -            ts_mockito_1.verify(mockedStore.updateProps('theComponentId', ts_mockito_1.deepEqual({ someProp: 'someValue' })));
      +            (0, ts_mockito_1.verify)(mockedStore.updateProps('theComponentId', (0, ts_mockito_1.deepEqual)({ someProp: 'someValue' })));
               });
               it('notifies commands observer', () => {
                   uut.updateProps('theComponentId', { someProp: 'someValue' });
      -            ts_mockito_1.verify(commandsObserver.notify('updateProps', ts_mockito_1.deepEqual({ componentId: 'theComponentId', props: { someProp: 'someValue' } })));
      +            (0, ts_mockito_1.verify)(commandsObserver.notify('updateProps', (0, ts_mockito_1.deepEqual)({ componentId: 'theComponentId', props: { someProp: 'someValue' } })));
               });
               test('update props with callback', (done) => {
                   function callback() {
      @@ -191,7 +191,7 @@ describe('Commands', () => {
           describe('showModal', () => {
               it('sends command to native after parsing into a correct layout tree', () => {
                   uut.showModal({ component: { name: 'com.example.MyScreen' } });
      -            ts_mockito_1.verify(mockedNativeCommandsSender.showModal('showModal+UNIQUE_ID', ts_mockito_1.deepEqual({
      +            (0, ts_mockito_1.verify)(mockedNativeCommandsSender.showModal('showModal+UNIQUE_ID', (0, ts_mockito_1.deepEqual)({
                       type: 'Component',
                       id: 'Component+UNIQUE_ID',
                       data: {
      @@ -203,7 +203,7 @@ describe('Commands', () => {
                   }))).called();
               });
               it('returns a promise with the resolved layout', async () => {
      -            ts_mockito_1.when(mockedNativeCommandsSender.showModal(ts_mockito_1.anything(), ts_mockito_1.anything())).thenResolve('the resolved layout');
      +            (0, ts_mockito_1.when)(mockedNativeCommandsSender.showModal((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve('the resolved layout');
                   const result = await uut.showModal({ component: { name: 'com.example.MyScreen' } });
                   expect(result).toEqual('the resolved layout');
               });
      @@ -214,17 +214,17 @@ describe('Commands', () => {
               it('retains passProps properties identity', () => {
                   const obj = { some: 'content' };
                   uut.showModal({ component: { name: 'com.example.MyScreen', passProps: { obj } } });
      -            const args = ts_mockito_1.capture(mockedStore.updateProps).last();
      +            const args = (0, ts_mockito_1.capture)(mockedStore.updateProps).last();
                   expect(args[1].obj).toBe(obj);
               });
           });
           describe('dismissModal', () => {
               it('sends command to native', () => {
                   uut.dismissModal('myUniqueId', {});
      -            ts_mockito_1.verify(mockedNativeCommandsSender.dismissModal('dismissModal+UNIQUE_ID', 'myUniqueId', ts_mockito_1.deepEqual({}))).called();
      +            (0, ts_mockito_1.verify)(mockedNativeCommandsSender.dismissModal('dismissModal+UNIQUE_ID', 'myUniqueId', (0, ts_mockito_1.deepEqual)({}))).called();
               });
               it('returns a promise with the id', async () => {
      -            ts_mockito_1.when(mockedNativeCommandsSender.dismissModal(ts_mockito_1.anyString(), ts_mockito_1.anything(), ts_mockito_1.anything())).thenResolve('the id');
      +            (0, ts_mockito_1.when)(mockedNativeCommandsSender.dismissModal((0, ts_mockito_1.anyString)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve('the id');
                   const result = await uut.dismissModal('myUniqueId');
                   expect(result).toEqual('the id');
               });
      @@ -232,17 +232,17 @@ describe('Commands', () => {
           describe('dismissAllModals', () => {
               it('sends command to native', () => {
                   uut.dismissAllModals({});
      -            ts_mockito_1.verify(mockedNativeCommandsSender.dismissAllModals('dismissAllModals+UNIQUE_ID', ts_mockito_1.deepEqual({}))).called();
      +            (0, ts_mockito_1.verify)(mockedNativeCommandsSender.dismissAllModals('dismissAllModals+UNIQUE_ID', (0, ts_mockito_1.deepEqual)({}))).called();
               });
               it('returns a promise with the id', async () => {
      -            ts_mockito_1.when(mockedNativeCommandsSender.dismissAllModals(ts_mockito_1.anyString(), ts_mockito_1.anything())).thenResolve('the id');
      +            (0, ts_mockito_1.when)(mockedNativeCommandsSender.dismissAllModals((0, ts_mockito_1.anyString)(), (0, ts_mockito_1.anything)())).thenResolve('the id');
                   const result = await uut.dismissAllModals();
                   expect(result).toEqual('the id');
               });
           });
           describe('push', () => {
               it('resolves with the parsed layout', async () => {
      -            ts_mockito_1.when(mockedNativeCommandsSender.push(ts_mockito_1.anyString(), ts_mockito_1.anyString(), ts_mockito_1.anything())).thenResolve('the resolved layout');
      +            (0, ts_mockito_1.when)(mockedNativeCommandsSender.push((0, ts_mockito_1.anyString)(), (0, ts_mockito_1.anyString)(), (0, ts_mockito_1.anything)())).thenResolve('the resolved layout');
                   const result = await uut.push('theComponentId', {
                       component: { name: 'com.example.MyScreen' },
                   });
      @@ -250,7 +250,7 @@ describe('Commands', () => {
               });
               it('parses into correct layout node and sends to native', () => {
                   uut.push('theComponentId', { component: { name: 'com.example.MyScreen' } });
      -            ts_mockito_1.verify(mockedNativeCommandsSender.push('push+UNIQUE_ID', 'theComponentId', ts_mockito_1.deepEqual({
      +            (0, ts_mockito_1.verify)(mockedNativeCommandsSender.push('push+UNIQUE_ID', 'theComponentId', (0, ts_mockito_1.deepEqual)({
                       type: 'Component',
                       id: 'Component+UNIQUE_ID',
                       data: {
      @@ -270,22 +270,22 @@ describe('Commands', () => {
                   uut.push('theComponentId', {
                       component: { name: 'com.example.MyScreen', passProps: { obj } },
                   });
      -            const args = ts_mockito_1.capture(mockedStore.updateProps).last();
      +            const args = (0, ts_mockito_1.capture)(mockedStore.updateProps).last();
                   expect(args[1].obj).toBe(obj);
               });
           });
           describe('pop', () => {
               it('pops a component, passing componentId', () => {
                   uut.pop('theComponentId', {});
      -            ts_mockito_1.verify(mockedNativeCommandsSender.pop('pop+UNIQUE_ID', 'theComponentId', ts_mockito_1.deepEqual({}))).called();
      +            (0, ts_mockito_1.verify)(mockedNativeCommandsSender.pop('pop+UNIQUE_ID', 'theComponentId', (0, ts_mockito_1.deepEqual)({}))).called();
               });
               it('pops a component, passing componentId and options', () => {
                   const options = { popGesture: true };
                   uut.pop('theComponentId', options);
      -            ts_mockito_1.verify(mockedNativeCommandsSender.pop('pop+UNIQUE_ID', 'theComponentId', options)).called();
      +            (0, ts_mockito_1.verify)(mockedNativeCommandsSender.pop('pop+UNIQUE_ID', 'theComponentId', options)).called();
               });
               it('pop returns a promise that resolves to componentId', async () => {
      -            ts_mockito_1.when(mockedNativeCommandsSender.pop(ts_mockito_1.anyString(), ts_mockito_1.anyString(), ts_mockito_1.anything())).thenResolve('theComponentId');
      +            (0, ts_mockito_1.when)(mockedNativeCommandsSender.pop((0, ts_mockito_1.anyString)(), (0, ts_mockito_1.anyString)(), (0, ts_mockito_1.anything)())).thenResolve('theComponentId');
                   const result = await uut.pop('theComponentId', {});
                   expect(result).toEqual('theComponentId');
               });
      @@ -293,10 +293,10 @@ describe('Commands', () => {
           describe('popTo', () => {
               it('pops all components until the passed Id is top', () => {
                   uut.popTo('theComponentId', {});
      -            ts_mockito_1.verify(mockedNativeCommandsSender.popTo('popTo+UNIQUE_ID', 'theComponentId', ts_mockito_1.deepEqual({}))).called();
      +            (0, ts_mockito_1.verify)(mockedNativeCommandsSender.popTo('popTo+UNIQUE_ID', 'theComponentId', (0, ts_mockito_1.deepEqual)({}))).called();
               });
               it('returns a promise that resolves to targetId', async () => {
      -            ts_mockito_1.when(mockedNativeCommandsSender.popTo(ts_mockito_1.anyString(), ts_mockito_1.anyString(), ts_mockito_1.anything())).thenResolve('theComponentId');
      +            (0, ts_mockito_1.when)(mockedNativeCommandsSender.popTo((0, ts_mockito_1.anyString)(), (0, ts_mockito_1.anyString)(), (0, ts_mockito_1.anything)())).thenResolve('theComponentId');
                   const result = await uut.popTo('theComponentId');
                   expect(result).toEqual('theComponentId');
               });
      @@ -304,10 +304,10 @@ describe('Commands', () => {
           describe('popToRoot', () => {
               it('pops all components to root', () => {
                   uut.popToRoot('theComponentId', {});
      -            ts_mockito_1.verify(mockedNativeCommandsSender.popToRoot('popToRoot+UNIQUE_ID', 'theComponentId', ts_mockito_1.deepEqual({}))).called();
      +            (0, ts_mockito_1.verify)(mockedNativeCommandsSender.popToRoot('popToRoot+UNIQUE_ID', 'theComponentId', (0, ts_mockito_1.deepEqual)({}))).called();
               });
               it('returns a promise that resolves to targetId', async () => {
      -            ts_mockito_1.when(mockedNativeCommandsSender.popToRoot(ts_mockito_1.anyString(), ts_mockito_1.anyString(), ts_mockito_1.anything())).thenResolve('theComponentId');
      +            (0, ts_mockito_1.when)(mockedNativeCommandsSender.popToRoot((0, ts_mockito_1.anyString)(), (0, ts_mockito_1.anyString)(), (0, ts_mockito_1.anything)())).thenResolve('theComponentId');
                   const result = await uut.popToRoot('theComponentId');
                   expect(result).toEqual('theComponentId');
               });
      @@ -315,7 +315,7 @@ describe('Commands', () => {
           describe('setStackRoot', () => {
               it('parses into correct layout node and sends to native', () => {
                   uut.setStackRoot('theComponentId', [{ component: { name: 'com.example.MyScreen' } }]);
      -            ts_mockito_1.verify(mockedNativeCommandsSender.setStackRoot('setStackRoot+UNIQUE_ID', 'theComponentId', ts_mockito_1.deepEqual([
      +            (0, ts_mockito_1.verify)(mockedNativeCommandsSender.setStackRoot('setStackRoot+UNIQUE_ID', 'theComponentId', (0, ts_mockito_1.deepEqual)([
                       {
                           type: 'Component',
                           id: 'Component+UNIQUE_ID',
      @@ -337,14 +337,14 @@ describe('Commands', () => {
                   uut.setStackRoot('theComponentId', [
                       { component: { name: 'com.example.MyScreen', passProps: { obj } } },
                   ]);
      -            const args = ts_mockito_1.capture(mockedStore.updateProps).last();
      +            const args = (0, ts_mockito_1.capture)(mockedStore.updateProps).last();
                   expect(args[1].obj).toBe(obj);
               });
           });
           describe('showOverlay', () => {
               it('sends command to native after parsing into a correct layout tree', () => {
                   uut.showOverlay({ component: { name: 'com.example.MyScreen' } });
      -            ts_mockito_1.verify(mockedNativeCommandsSender.showOverlay('showOverlay+UNIQUE_ID', ts_mockito_1.deepEqual({
      +            (0, ts_mockito_1.verify)(mockedNativeCommandsSender.showOverlay('showOverlay+UNIQUE_ID', (0, ts_mockito_1.deepEqual)({
                       type: 'Component',
                       id: 'Component+UNIQUE_ID',
                       data: {
      @@ -356,7 +356,7 @@ describe('Commands', () => {
                   }))).called();
               });
               it('resolves with the component id', async () => {
      -            ts_mockito_1.when(mockedNativeCommandsSender.showOverlay(ts_mockito_1.anyString(), ts_mockito_1.anything())).thenResolve('Component1');
      +            (0, ts_mockito_1.when)(mockedNativeCommandsSender.showOverlay((0, ts_mockito_1.anyString)(), (0, ts_mockito_1.anything)())).thenResolve('Component1');
                   const result = await uut.showOverlay({ component: { name: 'com.example.MyScreen' } });
                   expect(result).toEqual('Component1');
               });
      @@ -367,20 +367,20 @@ describe('Commands', () => {
               it('retains passProps properties identity', () => {
                   const obj = { some: 'content' };
                   uut.showOverlay({ component: { name: 'com.example.MyScreen', passProps: { obj } } });
      -            const args = ts_mockito_1.capture(mockedStore.updateProps).last();
      +            const args = (0, ts_mockito_1.capture)(mockedStore.updateProps).last();
                   expect(args[1].obj).toBe(obj);
               });
           });
           describe('dismissOverlay', () => {
               it('check promise returns true', async () => {
      -            ts_mockito_1.when(mockedNativeCommandsSender.dismissOverlay(ts_mockito_1.anyString(), ts_mockito_1.anyString())).thenResolve(true);
      +            (0, ts_mockito_1.when)(mockedNativeCommandsSender.dismissOverlay((0, ts_mockito_1.anyString)(), (0, ts_mockito_1.anyString)())).thenResolve(true);
                   const result = await uut.dismissOverlay('Component1');
      -            ts_mockito_1.verify(mockedNativeCommandsSender.dismissOverlay(ts_mockito_1.anyString(), ts_mockito_1.anyString())).called();
      +            (0, ts_mockito_1.verify)(mockedNativeCommandsSender.dismissOverlay((0, ts_mockito_1.anyString)(), (0, ts_mockito_1.anyString)())).called();
                   expect(result).toEqual(true);
               });
               it('send command to native with componentId', () => {
                   uut.dismissOverlay('Component1');
      -            ts_mockito_1.verify(mockedNativeCommandsSender.dismissOverlay('dismissOverlay+UNIQUE_ID', 'Component1')).called();
      +            (0, ts_mockito_1.verify)(mockedNativeCommandsSender.dismissOverlay('dismissOverlay+UNIQUE_ID', 'Component1')).called();
               });
           });
           describe('notifies commandsObserver', () => {
      @@ -389,15 +389,15 @@ describe('Commands', () => {
               let mockedLayoutTreeCrawler;
               beforeEach(() => {
                   cb = jest.fn();
      -            mockedLayoutTreeParser = ts_mockito_1.mock(LayoutTreeParser_1.LayoutTreeParser);
      -            mockedLayoutTreeCrawler = ts_mockito_1.mock(LayoutTreeCrawler_1.LayoutTreeCrawler);
      +            mockedLayoutTreeParser = (0, ts_mockito_1.mock)(LayoutTreeParser_1.LayoutTreeParser);
      +            mockedLayoutTreeCrawler = (0, ts_mockito_1.mock)(LayoutTreeCrawler_1.LayoutTreeCrawler);
                   commandsObserver.register(cb);
      -            const mockedOptionsProcessor = ts_mockito_1.mock(OptionsProcessor_1.OptionsProcessor);
      -            uut = new Commands_1.Commands(mockedStore, mockedNativeCommandsSender, ts_mockito_1.instance(mockedLayoutTreeParser), ts_mockito_1.instance(mockedLayoutTreeCrawler), commandsObserver, ts_mockito_1.instance(mockedUniqueIdProvider), ts_mockito_1.instance(mockedOptionsProcessor), new LayoutProcessor_1.LayoutProcessor(new LayoutProcessorsStore_1.LayoutProcessorsStore()), new OptionsCrawler_1.OptionsCrawler(ts_mockito_1.instance(mockedStore), mockedUniqueIdProvider));
      +            const mockedOptionsProcessor = (0, ts_mockito_1.mock)(OptionsProcessor_1.OptionsProcessor);
      +            uut = new Commands_1.Commands(mockedStore, mockedNativeCommandsSender, (0, ts_mockito_1.instance)(mockedLayoutTreeParser), (0, ts_mockito_1.instance)(mockedLayoutTreeCrawler), commandsObserver, (0, ts_mockito_1.instance)(mockedUniqueIdProvider), (0, ts_mockito_1.instance)(mockedOptionsProcessor), new LayoutProcessor_1.LayoutProcessor(new LayoutProcessorsStore_1.LayoutProcessorsStore()), new OptionsCrawler_1.OptionsCrawler((0, ts_mockito_1.instance)(mockedStore), mockedUniqueIdProvider));
               });
               function getAllMethodsOfUut() {
                   const uutFns = Object.getOwnPropertyNames(Commands_1.Commands.prototype);
      -            const methods = filter_1.default(uutFns, (fn) => fn !== 'constructor');
      +            const methods = (0, filter_1.default)(uutFns, (fn) => fn !== 'constructor');
                   expect(methods.length).toBeGreaterThan(1);
                   return methods;
               }
      @@ -445,11 +445,11 @@ describe('Commands', () => {
                       dismissAllOverlays: { commandId: 'dismissAllOverlays+UNIQUE_ID' },
                       getLaunchArgs: { commandId: 'getLaunchArgs+UNIQUE_ID' },
                   };
      -            forEach_1.default(getAllMethodsOfUut(), (m) => {
      +            (0, forEach_1.default)(getAllMethodsOfUut(), (m) => {
                       it(`for ${m}`, () => {
                           expect(argsForMethodName).toHaveProperty(m);
                           expect(paramsForMethodName).toHaveProperty(m);
      -                    invoke_1.defaul…
    retyui and yogevbd authored Dec 1, 2021
    Configuration menu
    Copy the full SHA
    a4e902e View commit details
    Browse the repository at this point in the history
  5. Move mocks to lib/Mock and build Mock.ts (wix#7313)

    * Move mocks to lib/Mock and build Mock.ts
    
    * update gitignore
    
    * Fix mocks location
    
    * update package.json main
    yogevbd authored Dec 1, 2021
    Configuration menu
    Copy the full SHA
    121bd73 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3aecf39 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2021

  1. Bottom bar visibility Android Fix (wix#7389)

    * demo
    
    * add test to check onViewWillAppear called
    
    * show bottomNavigation when restore without animation
    
    * add onViewWillAppear when tab selected to apply options
    
    * Update app.ts
    
    * Update Options.ts
    
    * Update OptionsScreen.tsx
    swabbass authored Dec 6, 2021
    Configuration menu
    Copy the full SHA
    c52ccb8 View commit details
    Browse the repository at this point in the history
  2. RGBA colors of status bar Fix Android (wix#7390)

    * Use alpha value from status bar color when present
    
    * add test for alpha colors
    swabbass authored Dec 6, 2021
    Configuration menu
    Copy the full SHA
    c14724e View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2021

  1. ComponentDidDisappear event Android fix (wix#7392)

    * Add Test to ensure events are sent accordingly
    
    * disable toptabs test
    
    Unsupported these days
    
    * Post Event Emitter events on View Queue
    
    To make sure that the view done its work with RN thread by initializing the component constructor and call mount, then it can have the events sent.
    
    * Events are sent on View MessageQueue
    
    No need for this, since the event emitter now posts such actions on ReactView messageQueue, hence, it will be synchronized with what happens on the view by the ReactNative.
    
    * Don't send Disappear event when the view is disappeared
    
    * no need to have on appeared
    
    * add event logs to playground main components for debug
    
    * Update TopTabsViewControllerTest.java
    swabbass authored Dec 8, 2021
    Configuration menu
    Copy the full SHA
    bc483a6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fb6d028 View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2021

  1. Configuration menu
    Copy the full SHA
    70fe56f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9b1b5c0 View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2021

  1. Configuration menu
    Copy the full SHA
    23d7bfe View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2021

  1. Configuration menu
    Copy the full SHA
    2de628f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9f7bcfa View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2021

  1. Keyboard autofocus android FIX (wix#7411)

    #Issue:
    
    When requesting autofocus on a screen that is being pushed with **animation**, insets will be applied once the view added to the view hierarchy, but when having animation the focus will be delayed until the view is fully visible in order for the edit text to take action and has a focus which will miss the first insets measurements.
    
    #Fix:
    
    Apply insets once the view is finished with the animation in order to resize/pan content when the view receives focus, once autofocus is passed to an EditText.
    
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    swabbass and yogevbd authored Dec 20, 2021
    Configuration menu
    Copy the full SHA
    cffa291 View commit details
    Browse the repository at this point in the history

Commits on Dec 22, 2021

  1. Configuration menu
    Copy the full SHA
    345344a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    21f285a View commit details
    Browse the repository at this point in the history

Commits on Dec 28, 2021

  1. Exclude android unit tests for non playground projects (wix#7415)

    Exclude android native unit tests and their dependencies from being passed to other projects.
    swabbass authored Dec 28, 2021
    Configuration menu
    Copy the full SHA
    6380c29 View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2022

  1. Archive artifacts (wix#7417)

    * archive artifacts
    
    * e2e archiving
    igorgn authored Jan 3, 2022
    Configuration menu
    Copy the full SHA
    403fcf1 View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2022

  1. Add layout.insets option (wix#7416)

    This feature allows adding insets to the topmost view controller in the hierarchy, it is useful for presenting a banner across the app with overlay without having to re-render it each time a new screen is being pushed.
    
    Co-authored-by: Ward Abbass <swabbass@gmail.com>
    yogevbd and swabbass authored Jan 4, 2022
    Configuration menu
    Copy the full SHA
    9bb70d8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b8d7472 View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2022

  1. Tooltips Android (wix#7414)

    # Motivation
    
    Add Support to show React Component as a tooltip for RNN views like TopBar buttons, title, and BottomTabs.
    Each RNN layout will have its overlay layer, that enables the users to show tooltips in a BottomTabs, Stack, Component layer (Z-Axis).
    
    # Implementation
    
    - Each layout should have an id.
    - Button, Title component, bottom tab as Anchor should have an id.
    - Each layout type (BottomTabs, Stack, Component, SideMenu) will have its layer above all of its content.
    - Use `showOverlay/dismissOverlay` API in order to show tooltips.
    - Tooltips will behave as an overlay layer for each layout.
    
    # Demo
    
    https://user-images.githubusercontent.com/7227793/147109221-457284fe-c623-4817-a28f-8a7733b41942.mov
    
    # Future Plans
    
    - [ ] Anchor is mandatory, it can be optional and stick a layout as overlay per layer.
    - [ ] Automatically detect anchor view changes and hide and show the tooltip.
    
    Co-authored-by: Ward Abbass <swabbass@gmail.com>
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    swabbass and yogevbd authored Jan 18, 2022
    Configuration menu
    Copy the full SHA
    8366397 View commit details
    Browse the repository at this point in the history
  2. Fix RCTModalHostViewController crash while presenting react-native mo…

    …dals (wix#7423)
    
    In some specific (and hard to reproduce) cases, RN modal presentation block tries to present a modal that is already presented in the hierarchy which caused that crash.
    
    Addresses facebook/react-native#32366
    yogevbd authored Jan 18, 2022
    Configuration menu
    Copy the full SHA
    e7898c2 View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2022

  1. Configuration menu
    Copy the full SHA
    625fd42 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2022

  1. Fix keyboard bottom insets removing bottom tabs margin (wix#7441)

    # Issue:
    
    When Bottom tabs are visible a margin is added on top of the keyboard when it was opened.
    The margin is a bottom inset set to component due to bottom tabs height, which always will push the component up by bottom tabs height pixels.
    
    # Fix:
    
    - Determine bottom insets when bottom tabs are hidden or visible.
    - Subtract the component bottom inset from new insets once the keyboard is opened.
    swabbass authored Feb 8, 2022
    Configuration menu
    Copy the full SHA
    f3ac5c5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8c423b8 View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2022

  1. merge button options on apply buttons (wix#7447)

    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    swabbass and yogevbd authored Feb 10, 2022
    Configuration menu
    Copy the full SHA
    f217d01 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a4a9b6a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2586b17 View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2022

  1. Android < 30 Keyboard insets adjustNothing & adjustPan Fix (wix#7453)

    # Issue:
    
    Window insets does not apply when keyboard got closed in case of adjustPan, and in case of adjustNothing it will just ignore it and treat it like adjustResize.
    
    The difference between Pan and Resize as pointed [here](https://www.techrepublic.com/article/pro-tip-make-sense-of-pan-vs-resize-in-the-android-manifest/):
    adjustResize: The activity’s main window is always resized to make room for the soft keyboard on screen.
    adjustPan: The activity’s main window is not resized to make room for the soft keyboard. Rather, the contents of the window are automatically panned so that the current focus is never obscured by the keyboard and users can always see what they are typing. **This is generally less desirable than resizing, because the user may need to close the soft keyboard to get at and interact with obscured parts of the window.**
    
    
    # Fix:
    - Due to the nature of adjustPan, we need to wait for the layout to be updated after the keyboard closed, and then apply insets to determine the final state.
    - Take adjustNothing into consideration and don't adjust the insets.
    
    Adjust Nothing:
    
    https://user-images.githubusercontent.com/7227793/153453913-7af3fcb7-87f6-4cfa-aaf8-e2f32b023c61.mov
    
    Adjust Pan:
    
    https://user-images.githubusercontent.com/7227793/153453981-73ccf0c9-e42e-41e3-bede-8f561f9ba53a.mov
    
    AdjustPan old Androids (the white space fixed in master, which is not included in the recorded demo)
    
    https://user-images.githubusercontent.com/7227793/153454164-300c115b-9e7a-407c-b612-c0ca8ac158ea.mov
    
    
    
    **NOTE:
    As checked, if flags are set to adjustResize, then there is no issue at all across all versions.**
    
    
    Closes: wix#7433.
    Closes: wix#7427.
    Closes: wix#7428.
    Closes: wix#7402.
    
    
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    swabbass and yogevbd authored Feb 12, 2022
    Configuration menu
    Copy the full SHA
    38a164b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7e6e694 View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2022

  1. Configuration menu
    Copy the full SHA
    9101930 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1394d50 View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2022

  1. Configuration menu
    Copy the full SHA
    99fd1b6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1e4045c View commit details
    Browse the repository at this point in the history
  3. removing afterevaluate sourceCompatibility (wix#7464)

    Co-authored-by: Kurt Christensen <kurt.christensen@divvypay.com>
    kurtiscc and Kurt Christensen authored Feb 23, 2022
    Configuration menu
    Copy the full SHA
    d676bad View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    dd1ca18 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2022

  1. Stabilize RNN (wix#7471)

    Some PR's caused many bugs on Android, we decided to revert those PR's in order to have better stability.
    
    Closes wix#7455
    Adresses wix#7420
    Adresses wix#7433
    
    Co-authored-by: wixmobile <mobile1@wix.com>
    yogevbd and mobile1-internal authored Feb 28, 2022
    Configuration menu
    Copy the full SHA
    24de1a8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cc8387f View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2022

  1. Issue 7443: Add support for Android's sensorPortrait orientation. (wi…

    …x#7454)
    
    Co-authored-by: Guy Carmeli <guyca@users.noreply.github.com>
    zabojad and guyca authored Mar 3, 2022
    Configuration menu
    Copy the full SHA
    7e9ea6c View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2022

  1. Configuration menu
    Copy the full SHA
    8f1901b View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2022

  1. Configuration menu
    Copy the full SHA
    c053e10 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3cbefb1 View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2022

  1. Configuration menu
    Copy the full SHA
    165110c View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2022

  1. Configuration menu
    Copy the full SHA
    0f9f53a View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2022

  1. Configuration menu
    Copy the full SHA
    2373384 View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2022

  1. Configuration menu
    Copy the full SHA
    4d08d1f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ff03c2a View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2022

  1. Configuration menu
    Copy the full SHA
    7aaddce View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2022

  1. Configuration menu
    Copy the full SHA
    32d975d View commit details
    Browse the repository at this point in the history

Commits on Apr 25, 2022

  1. Configuration menu
    Copy the full SHA
    841ae1f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a27d498 View commit details
    Browse the repository at this point in the history

Commits on May 2, 2022

  1. Configuration menu
    Copy the full SHA
    31c9e76 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2022

  1. Fix elevation not visible on bottomTabs (wix#7519)

    Apparently elevation doesn't work if the view it's applied on doesn't have a background color. Regression introduced in wix#6958
    
    Fixes wix#7422
    
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    guyca and yogevbd authored May 3, 2022
    Configuration menu
    Copy the full SHA
    56ccaea View commit details
    Browse the repository at this point in the history

Commits on May 9, 2022

  1. Configuration menu
    Copy the full SHA
    682e26d View commit details
    Browse the repository at this point in the history

Commits on May 23, 2022

  1. Fix bottomTabs background always being white (wix#7529)

    wix#7519 fixed missing elevation of bottomTabs by applying the background color on the bottomTabs container. While it fixed the elevation bug, it introduced a bug where the default background color of the bottomTabs overlapped the background color applied on the container.
    
    This commit sets the default background color to transparent to fix the issue.
    guyca authored May 23, 2022
    Configuration menu
    Copy the full SHA
    65c1367 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2022

  1. Configuration menu
    Copy the full SHA
    cff5dbb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7bf02dc View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2022

  1. Configuration menu
    Copy the full SHA
    109c0c6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cbb1bb2 View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2022

  1. [NavigationMock] throw informative error on missing component (wix#7562)

    When a component wasn't mocked, Navigation failed unexpectedly. This PR throws an informative error with the name of the component that needs to be mocked.
    Niryo authored Jul 14, 2022
    Configuration menu
    Copy the full SHA
    3dd513b View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2022

  1. Configuration menu
    Copy the full SHA
    8522836 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2022

  1. Configuration menu
    Copy the full SHA
    b7c08b7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e562e6e View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2022

  1. Fix autolink for RN 0.69 (wix#7568)

    This PR updates autolink script for both Android and iOS to make them compatible with RN 0.69
    It should fix wix#7564 and also tackle an issue commented in wix#7547
    
    I've also added some snapshot tests for the modified files (`activityLinker.js` and `appDeletegateLinker.js`). In order to do so, some fixtures were added: `MainActivity.java` and `AppDelegate.mm` files for RN 0.68 and 0.69
    
    These tests execution is included in `test-all` command, but could be removed if necessary.
    
    Co-authored-by: Gonzalo Aguirre <gonzalo@underscope.io>
    gaguirre and Gonzalo Aguirre authored Aug 2, 2022
    Configuration menu
    Copy the full SHA
    1dfcef1 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2022

  1. Configuration menu
    Copy the full SHA
    eb0d0b4 View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2022

  1. Added support for the predictive back gesture on Android (wix#7587)

    
    Co-authored-by: wixmobile <mobile1@wix.com>
    evgeni-wix and mobile1-internal authored Aug 23, 2022
    Configuration menu
    Copy the full SHA
    3c29ef5 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2022

  1. Configuration menu
    Copy the full SHA
    c2b1364 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2022

  1. Configuration menu
    Copy the full SHA
    e67a994 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2022

  1. Configuration menu
    Copy the full SHA
    641d40a View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2022

  1. Configuration menu
    Copy the full SHA
    a59b348 View commit details
    Browse the repository at this point in the history
  2. Revert "Added support for the predictive back gesture on Android (wix#75

    … (wix#7626)
    
    …87)"
    
    This reverts commit 3c29ef5.
    yogevbd authored Nov 2, 2022
    Configuration menu
    Copy the full SHA
    2d247ce View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    453c65a View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2022

  1. Library has compilation issues with Android 13 wix#7545 (wix#7558)

    * Fix for compilation issues on Android 13
    
    * exclude react-native from mavenCentral
    
    * Lock react-native version
    
    * Bump react-native to 0.69.7
    
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    ankitsingh08 and yogevbd authored Nov 7, 2022
    Configuration menu
    Copy the full SHA
    afbe27c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e06ab96 View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2022

  1. Configuration menu
    Copy the full SHA
    4f2f90a View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2022

  1. Fix OptionsStatusBar typings (wix#7600)

    Co-authored-by: Lawrence Dabir-Alai <lawrence.dabir-alai@klarna.com>
    Co-authored-by: Yogev Ben David <yogev132@gmail.com>
    3 people authored Nov 13, 2022
    Configuration menu
    Copy the full SHA
    793ea8d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e1f7712 View commit details
    Browse the repository at this point in the history
  3. Mbm migration (wix#7638)

    
    Co-authored-by: wixmobile <mobile1@wix.com>
    igorgn and mobile1-internal authored Nov 13, 2022
    Configuration menu
    Copy the full SHA
    d936545 View commit details
    Browse the repository at this point in the history

Commits on Nov 23, 2022

  1. Avoid returning modal that is being dismissed as the top presented vi…

    …ewController (wix#7644)
    
    This caused a bug in our Wix app when presenting a modal while another one is dismissed. The presented modal was dismissed as well along with the one that was being dismissed.
    yogevbd authored Nov 23, 2022
    Configuration menu
    Copy the full SHA
    632a881 View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2022

  1. Configuration menu
    Copy the full SHA
    7b1c118 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    502f9de View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2022

  1. Update pipeline.yml

    igorgn authored Dec 1, 2022
    Configuration menu
    Copy the full SHA
    f671aa3 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2022

  1. Configuration menu
    Copy the full SHA
    15eaab3 View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2022

  1. Configuration menu
    Copy the full SHA
    6a615bb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4cfef01 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7a84acf View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2022

  1. Support constants in Navigation mocks (wix#7651)

    Until now, invoking `Navigation.constants()` and `Navigation.constantsSync()` failed in our headless tests.
    This PR fix this and some lint issues.
    yogevbd authored Dec 20, 2022
    Configuration menu
    Copy the full SHA
    f54deef View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2022

  1. Fix runOnMainThread to postAtFrontOfQueue when already on the main th…

    …read (wix#7657)
    
    This fixes a crash happening in the Wix app, look like there's a race condition where the activity is destroyed and `navigator.onHostPause()`gets called too late. Most of times this shouldn't be delayed as it is called on the main thread.
    yogevbd authored Dec 21, 2022
    Configuration menu
    Copy the full SHA
    47363ef View commit details
    Browse the repository at this point in the history
  2. Fix SharedElementAnimator missing some animations (wix#7655)

    Previously if an element was not found, then it would break out of the loop looking for further (possibly valid) shared element transitions. Now it'll continue the loop, which is the expected behavior.
    appden authored Dec 21, 2022
    Configuration menu
    Copy the full SHA
    d79f092 View commit details
    Browse the repository at this point in the history

Commits on Dec 26, 2022

  1. Fix Windows gradle build (wix#7658)

    Closes wix#7619
    yogevbd authored Dec 26, 2022
    Configuration menu
    Copy the full SHA
    47272d6 View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2023

  1. Mock: Catch and log render errors (wix#7662)

    This is helpful to troubleshoot test issues
    doronpr authored Jan 5, 2023
    Configuration menu
    Copy the full SHA
    d24b9a4 View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2023

  1. Configuration menu
    Copy the full SHA
    4dec2cb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f2420d4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0a4ec68 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d3a32d3 View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2023

  1. Configuration menu
    Copy the full SHA
    3236f2a View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2023

  1. Merge branch 'master' of https://github.com/wix/react-native-navigation

    … into feat/rn-0.71-backmerge
    bishalfan committed Jan 18, 2023
    Configuration menu
    Copy the full SHA
    34719a9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c4f7b81 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1337a5d View commit details
    Browse the repository at this point in the history

Commits on Feb 14, 2023

  1. Configuration menu
    Copy the full SHA
    269fe1b View commit details
    Browse the repository at this point in the history