├── .clang-format
├── .eslintignore
├── .eslintrc.js
├── .github
├── ISSUE_TEMPLATE
│ ├── BUG_REPORT_ANDROID.yml
│ ├── BUG_REPORT_IOS.yml
│ ├── BUG_REPORT_OTHER.yml
│ ├── ENHANCEMENT.yml
│ ├── config.yml
│ ├── documentation.md
│ └── question.md
├── label-actions.yml
├── stale.yml
└── workflows
│ ├── documentation.yml
│ ├── process-label.yml
│ └── require-label.yml
├── .gitignore
├── .grenrc.js
├── .logo.png
├── .npmignore
├── .npmrc
├── .nvmrc
├── .prettierrc
├── .vscode
└── settings.json
├── .watchmanconfig
├── CHANGELOG.md
├── CONTRIBUTING.md
├── Gemfile
├── LICENSE
├── Mock.ts
├── README.md
├── ReactNativeNavigation.podspec
├── autolink
├── fixtures
│ ├── rn68
│ │ ├── AppDelegate.mm.template
│ │ └── MainActivity.java.template
│ ├── rn69
│ │ ├── AppDelegate.mm.template
│ │ └── MainActivity.java.template
│ └── rn71
│ │ ├── AppDelegate.mm.template
│ │ └── MainActivity.java.template
├── postlink.sh
└── postlink
│ ├── __snapshots__
│ ├── activityLinker.test.js.snap
│ └── appDelegateLinker.test.js.snap
│ ├── activityLinker.js
│ ├── activityLinker.test.js
│ ├── appDelegateLinker.js
│ ├── appDelegateLinker.test.js
│ ├── applicationLinker.js
│ ├── gradleLinker.js
│ ├── log.js
│ ├── path.js
│ ├── plistLinker.js
│ ├── podfileLinker.js
│ ├── postLinkAndroid.js
│ ├── postLinkIOS.js
│ ├── run.js
│ └── stringUtils.js
├── babel.config.js
├── e2e
├── AndroidUtils.js
├── ApplicationLifecycleTest.test.js
├── BackButton.test.js
├── BottomTabs.test.js
├── Buttons.test.js
├── CustomTransition.js
├── ExternalComponent.test.js
├── Keyboard.test.js
├── LazyRegsitration.test.js
├── Modals.test.js
├── Options.test.js
├── Orientation.test.js
├── Overlay.test.js
├── SearchBar.test.js
├── SetRoot.test.js
├── SideMenu.test.js
├── SplitView.test.js
├── Stack.test.js
├── StaticLifecycleEvents.test.js
├── Utils.js
├── assets
│ ├── buttons_navbar.android.png
│ ├── buttons_navbar.ios.png
│ └── overlay_banner_padding.png
├── iOSUtils.js
├── init.js
└── jest.config.js
├── index.e2e.js
├── index.js
├── integration
├── env.test.js
├── redux
│ ├── MyComponent.js
│ ├── MyStore.js
│ └── Redux.test.js
└── remx
│ ├── MyComponent.js
│ ├── MyStore.js
│ └── remx.test.js
├── jest-setup.js
├── jest.config.js
├── jsconfig.json
├── lib
├── Mock
│ ├── Application.tsx
│ ├── ComponentProps.tsx
│ ├── Components
│ │ ├── BottomTabs.tsx
│ │ ├── ComponentScreen.tsx
│ │ ├── LayoutComponent.tsx
│ │ ├── Modals.tsx
│ │ ├── NavigationButton.tsx
│ │ ├── Overlays.tsx
│ │ ├── SideMenu.tsx
│ │ ├── Stack.tsx
│ │ └── TopBar.tsx
│ ├── Layouts
│ │ ├── BottomTabsNode.ts
│ │ ├── ComponentNode.ts
│ │ ├── LayoutNodeFactory.ts
│ │ ├── Node.ts
│ │ ├── ParentNode.ts
│ │ ├── SideMenu.ts
│ │ └── StackNode.ts
│ ├── Stores
│ │ ├── EventsStore.ts
│ │ └── LayoutStore.ts
│ ├── actions
│ │ └── layoutActions.ts
│ ├── connect.ts
│ ├── constants.ts
│ ├── index.ts
│ └── mocks
│ │ ├── AppRegistryService.ts
│ │ ├── NativeCommandsSender.tsx
│ │ └── NativeEventsReceiver.ts
├── android
│ ├── app
│ │ ├── build.gradle
│ │ └── src
│ │ │ ├── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ │ └── reactnativenavigation
│ │ │ │ │ ├── FeatureToggles.kt
│ │ │ │ │ ├── NavigationActivity.java
│ │ │ │ │ ├── NavigationApplication.java
│ │ │ │ │ ├── hierarchy
│ │ │ │ │ └── root
│ │ │ │ │ │ └── RootAnimator.kt
│ │ │ │ │ ├── options
│ │ │ │ │ ├── Alignment.java
│ │ │ │ │ ├── AnimationOptions.kt
│ │ │ │ │ ├── AnimationsOptions.kt
│ │ │ │ │ ├── BackButton.java
│ │ │ │ │ ├── BottomTabOptions.java
│ │ │ │ │ ├── BottomTabsOptions.java
│ │ │ │ │ ├── ButtonOptions.java
│ │ │ │ │ ├── ComponentOptions.java
│ │ │ │ │ ├── DotIndicatorOptions.java
│ │ │ │ │ ├── ElementTransitionOptions.kt
│ │ │ │ │ ├── ElementTransitions.kt
│ │ │ │ │ ├── ExternalComponent.java
│ │ │ │ │ ├── FabOptions.java
│ │ │ │ │ ├── FadeAnimation.kt
│ │ │ │ │ ├── FontOptions.kt
│ │ │ │ │ ├── HardwareBackButtonOptions.kt
│ │ │ │ │ ├── IconBackgroundOptions.java
│ │ │ │ │ ├── LayoutAnimation.kt
│ │ │ │ │ ├── LayoutDirection.java
│ │ │ │ │ ├── LayoutFactory.java
│ │ │ │ │ ├── LayoutNode.java
│ │ │ │ │ ├── ModalOptions.java
│ │ │ │ │ ├── ModalPresentationStyle.java
│ │ │ │ │ ├── NavigationBarOptions.java
│ │ │ │ │ ├── Options.java
│ │ │ │ │ ├── Orientation.java
│ │ │ │ │ ├── OrientationOptions.java
│ │ │ │ │ ├── OverlayOptions.java
│ │ │ │ │ ├── ShadowOptions.kt
│ │ │ │ │ ├── SharedElementTransitionOptions.kt
│ │ │ │ │ ├── SharedElements.kt
│ │ │ │ │ ├── SideMenuOptions.java
│ │ │ │ │ ├── SideMenuRootOptions.java
│ │ │ │ │ ├── StackAnimationOptions.kt
│ │ │ │ │ ├── StatusBarOptions.java
│ │ │ │ │ ├── SubtitleOptions.java
│ │ │ │ │ ├── TabsAttachMode.java
│ │ │ │ │ ├── TitleOptions.java
│ │ │ │ │ ├── TopBarBackgroundOptions.java
│ │ │ │ │ ├── TopBarButtons.java
│ │ │ │ │ ├── TopBarOptions.java
│ │ │ │ │ ├── TopTabOptions.java
│ │ │ │ │ ├── TopTabsOptions.java
│ │ │ │ │ ├── TransitionAnimationOptions.kt
│ │ │ │ │ ├── ValueAnimationOptions.kt
│ │ │ │ │ ├── animations
│ │ │ │ │ │ └── ViewAnimationOptions.kt
│ │ │ │ │ ├── interpolators
│ │ │ │ │ │ ├── DecelerateAccelerateInterpolator.kt
│ │ │ │ │ │ └── SpringInterpolator.kt
│ │ │ │ │ ├── layout
│ │ │ │ │ │ ├── LayoutInsets.kt
│ │ │ │ │ │ └── LayoutOptions.kt
│ │ │ │ │ ├── params
│ │ │ │ │ │ ├── Bool.java
│ │ │ │ │ │ ├── Colour.java
│ │ │ │ │ │ ├── DensityPixel.java
│ │ │ │ │ │ ├── DontApplyColour.java
│ │ │ │ │ │ ├── FloatParam.java
│ │ │ │ │ │ ├── Fraction.java
│ │ │ │ │ │ ├── NullBool.java
│ │ │ │ │ │ ├── NullColor.java
│ │ │ │ │ │ ├── NullDensityPixel.java
│ │ │ │ │ │ ├── NullFloatParam.java
│ │ │ │ │ │ ├── NullFraction.java
│ │ │ │ │ │ ├── NullNumber.java
│ │ │ │ │ │ ├── NullText.java
│ │ │ │ │ │ ├── Number.java
│ │ │ │ │ │ ├── Param.java
│ │ │ │ │ │ ├── ReactPlatformColor.kt
│ │ │ │ │ │ ├── Text.java
│ │ │ │ │ │ ├── ThemeColour.kt
│ │ │ │ │ │ └── TitleDisplayMode.java
│ │ │ │ │ └── parsers
│ │ │ │ │ │ ├── BoolParser.java
│ │ │ │ │ │ ├── ColorParser.kt
│ │ │ │ │ │ ├── DensityPixelParser.java
│ │ │ │ │ │ ├── FloatParser.java
│ │ │ │ │ │ ├── FontParser.kt
│ │ │ │ │ │ ├── FractionParser.java
│ │ │ │ │ │ ├── IconParser.java
│ │ │ │ │ │ ├── InterpolationParser.java
│ │ │ │ │ │ ├── JSONParser.java
│ │ │ │ │ │ ├── LayoutNodeParser.java
│ │ │ │ │ │ ├── NumberParser.java
│ │ │ │ │ │ ├── TextParser.java
│ │ │ │ │ │ └── TypefaceLoader.kt
│ │ │ │ │ ├── react
│ │ │ │ │ ├── BundleDownloadListenerProvider.java
│ │ │ │ │ ├── CommandListener.java
│ │ │ │ │ ├── CommandListenerAdapter.java
│ │ │ │ │ ├── Constants.java
│ │ │ │ │ ├── DevBundleDownloadListenerAdapter.java
│ │ │ │ │ ├── JsDevReloadHandler.java
│ │ │ │ │ ├── JsDevReloadHandlerFacade.java
│ │ │ │ │ ├── LifecycleEventListenerAdapter.java
│ │ │ │ │ ├── NativeCommandListener.java
│ │ │ │ │ ├── NavigationDevBundleDownloadListener.java
│ │ │ │ │ ├── NavigationModule.java
│ │ │ │ │ ├── NavigationPackage.kt
│ │ │ │ │ ├── NavigationReactInitializer.java
│ │ │ │ │ ├── NavigationReactNativeHost.java
│ │ │ │ │ ├── NavigationTurboModule.kt
│ │ │ │ │ ├── ReactComponentViewCreator.java
│ │ │ │ │ ├── ReactGateway.java
│ │ │ │ │ ├── ReactView.java
│ │ │ │ │ ├── ReloadHandler.java
│ │ │ │ │ ├── ReloadHandlerFacade.java
│ │ │ │ │ ├── events
│ │ │ │ │ │ ├── ComponentType.java
│ │ │ │ │ │ └── EventEmitter.java
│ │ │ │ │ └── modal
│ │ │ │ │ │ ├── Events.kt
│ │ │ │ │ │ ├── ModalContentLayout.kt
│ │ │ │ │ │ ├── ModalFrameLayout.kt
│ │ │ │ │ │ ├── ModalHostLayout.kt
│ │ │ │ │ │ ├── ModalLayoutController.kt
│ │ │ │ │ │ └── ModalViewManager.kt
│ │ │ │ │ ├── utils
│ │ │ │ │ ├── AnimationListener.kt
│ │ │ │ │ ├── ArrayUtils.java
│ │ │ │ │ ├── Assertions.java
│ │ │ │ │ ├── BorderRadiusOutlineProvider.kt
│ │ │ │ │ ├── CollectionUtils.java
│ │ │ │ │ ├── ColorUtils.java
│ │ │ │ │ ├── CompatUtils.java
│ │ │ │ │ ├── Context.kt
│ │ │ │ │ ├── CoordinatorLayoutUtils.java
│ │ │ │ │ ├── DeviceScreen.java
│ │ │ │ │ ├── Functions.java
│ │ │ │ │ ├── IdFactory.kt
│ │ │ │ │ ├── ImageLoader.kt
│ │ │ │ │ ├── ImageLoadingListenerAdapter.java
│ │ │ │ │ ├── ImageUtils.kt
│ │ │ │ │ ├── LateInit.java
│ │ │ │ │ ├── LaunchArgsParser.java
│ │ │ │ │ ├── Log.kt
│ │ │ │ │ ├── MotionEvent.kt
│ │ │ │ │ ├── Now.java
│ │ │ │ │ ├── ObjectUtils.java
│ │ │ │ │ ├── OutlineProvider.kt
│ │ │ │ │ ├── PrimitiveExt.kt
│ │ │ │ │ ├── ReactImageView.kt
│ │ │ │ │ ├── ReactTypefaceUtils.java
│ │ │ │ │ ├── ReactViewGroup.kt
│ │ │ │ │ ├── ReflectionUtils.java
│ │ │ │ │ ├── RenderChecker.java
│ │ │ │ │ ├── RoundingParams.kt
│ │ │ │ │ ├── StringUtils.java
│ │ │ │ │ ├── StubAnimationListener.kt
│ │ │ │ │ ├── SystemUiUtils.kt
│ │ │ │ │ ├── TextViewUtils.java
│ │ │ │ │ ├── Time.java
│ │ │ │ │ ├── UiThread.java
│ │ │ │ │ ├── UiUtils.java
│ │ │ │ │ ├── ViewController.kt
│ │ │ │ │ ├── ViewExtensions.kt
│ │ │ │ │ ├── ViewParent.kt
│ │ │ │ │ ├── ViewTags.java
│ │ │ │ │ ├── ViewUtils.java
│ │ │ │ │ └── WindowInsetsUtils.java
│ │ │ │ │ ├── viewcontrollers
│ │ │ │ │ ├── bottomtabs
│ │ │ │ │ │ ├── BottomTabFinder.java
│ │ │ │ │ │ ├── BottomTabPresenter.java
│ │ │ │ │ │ ├── BottomTabsAnimator.kt
│ │ │ │ │ │ ├── BottomTabsController.java
│ │ │ │ │ │ ├── BottomTabsPresenter.kt
│ │ │ │ │ │ ├── TabSelector.java
│ │ │ │ │ │ └── attacher
│ │ │ │ │ │ │ ├── BottomTabsAttacher.java
│ │ │ │ │ │ │ └── modes
│ │ │ │ │ │ │ ├── AfterInitialTab.java
│ │ │ │ │ │ │ ├── AttachMode.java
│ │ │ │ │ │ │ ├── OnSwitchToTab.java
│ │ │ │ │ │ │ └── Together.java
│ │ │ │ │ ├── child
│ │ │ │ │ │ ├── ChildController.java
│ │ │ │ │ │ └── ChildControllersRegistry.java
│ │ │ │ │ ├── common
│ │ │ │ │ │ └── BaseAnimator.java
│ │ │ │ │ ├── component
│ │ │ │ │ │ ├── ComponentPresenter.java
│ │ │ │ │ │ ├── ComponentPresenterBase.java
│ │ │ │ │ │ └── ComponentViewController.java
│ │ │ │ │ ├── externalcomponent
│ │ │ │ │ │ ├── ExternalComponent.java
│ │ │ │ │ │ ├── ExternalComponentCreator.java
│ │ │ │ │ │ ├── ExternalComponentPresenter.java
│ │ │ │ │ │ └── ExternalComponentViewController.java
│ │ │ │ │ ├── modal
│ │ │ │ │ │ ├── ModalAnimator.kt
│ │ │ │ │ │ ├── ModalPresenter.java
│ │ │ │ │ │ └── ModalStack.java
│ │ │ │ │ ├── navigator
│ │ │ │ │ │ └── Navigator.java
│ │ │ │ │ ├── overlay
│ │ │ │ │ │ └── OverlayManager.kt
│ │ │ │ │ ├── parent
│ │ │ │ │ │ └── ParentController.java
│ │ │ │ │ ├── sidemenu
│ │ │ │ │ │ ├── SideMenuController.java
│ │ │ │ │ │ └── SideMenuPresenter.java
│ │ │ │ │ ├── stack
│ │ │ │ │ │ ├── FabAnimator.java
│ │ │ │ │ │ ├── FabCollapseBehaviour.java
│ │ │ │ │ │ ├── FabPresenter.java
│ │ │ │ │ │ ├── IdStack.java
│ │ │ │ │ │ ├── StackAnimator.kt
│ │ │ │ │ │ ├── StackController.java
│ │ │ │ │ │ ├── StackControllerBuilder.java
│ │ │ │ │ │ ├── StackPresenter.java
│ │ │ │ │ │ └── topbar
│ │ │ │ │ │ │ ├── TopBarAppearanceAnimator.kt
│ │ │ │ │ │ │ ├── TopBarBackgroundViewController.java
│ │ │ │ │ │ │ ├── TopBarCollapseBehavior.kt
│ │ │ │ │ │ │ ├── TopBarController.kt
│ │ │ │ │ │ │ ├── button
│ │ │ │ │ │ │ ├── BackButtonHelper.java
│ │ │ │ │ │ │ ├── ButtonController.kt
│ │ │ │ │ │ │ ├── ButtonPresenter.kt
│ │ │ │ │ │ │ ├── ButtonSpan.kt
│ │ │ │ │ │ │ └── IconResolver.java
│ │ │ │ │ │ │ └── title
│ │ │ │ │ │ │ └── TitleBarReactViewController.java
│ │ │ │ │ ├── statusbar
│ │ │ │ │ │ └── StatusBarPresenter.kt
│ │ │ │ │ ├── toptabs
│ │ │ │ │ │ ├── TopTabsAdapter.java
│ │ │ │ │ │ └── TopTabsController.java
│ │ │ │ │ └── viewcontroller
│ │ │ │ │ │ ├── Destroyable.java
│ │ │ │ │ │ ├── IReactView.java
│ │ │ │ │ │ ├── LayoutDirectionApplier.kt
│ │ │ │ │ │ ├── NoOpYellowBoxDelegate.kt
│ │ │ │ │ │ ├── Presenter.java
│ │ │ │ │ │ ├── ReactViewCreator.java
│ │ │ │ │ │ ├── RootPresenter.java
│ │ │ │ │ │ ├── ScrollEventListener.java
│ │ │ │ │ │ ├── StatusBarColorAnimator.kt
│ │ │ │ │ │ ├── ViewController.java
│ │ │ │ │ │ ├── ViewControllerVisibilityInfo.kt
│ │ │ │ │ │ ├── ViewVisibilityListenerAdapter.java
│ │ │ │ │ │ ├── YellowBoxDelegate.kt
│ │ │ │ │ │ ├── YellowBoxHelper.java
│ │ │ │ │ │ └── overlay
│ │ │ │ │ │ ├── ModalOverlay.kt
│ │ │ │ │ │ ├── OverlayLayout.kt
│ │ │ │ │ │ ├── RootOverlay.kt
│ │ │ │ │ │ └── ViewControllerOverlay.kt
│ │ │ │ │ └── views
│ │ │ │ │ ├── BehaviourAdapter.java
│ │ │ │ │ ├── BehaviourDelegate.java
│ │ │ │ │ ├── ExternalComponentLayout.java
│ │ │ │ │ ├── animations
│ │ │ │ │ ├── BaseViewAppearanceAnimator.kt
│ │ │ │ │ ├── ColorAnimator.kt
│ │ │ │ │ ├── DefaultViewAnimatorCreator.kt
│ │ │ │ │ ├── ViewAnimatorCreator.kt
│ │ │ │ │ └── ViewBkgColorProperty.kt
│ │ │ │ │ ├── bottomtabs
│ │ │ │ │ ├── BottomTabs.java
│ │ │ │ │ ├── BottomTabsBehaviour.java
│ │ │ │ │ ├── BottomTabsContainer.kt
│ │ │ │ │ ├── BottomTabsLayout.java
│ │ │ │ │ └── ShadowLayout.kt
│ │ │ │ │ ├── component
│ │ │ │ │ ├── Component.java
│ │ │ │ │ ├── ComponentLayout.java
│ │ │ │ │ ├── ComponentViewCreator.java
│ │ │ │ │ ├── ReactComponent.java
│ │ │ │ │ └── Renderable.java
│ │ │ │ │ ├── element
│ │ │ │ │ ├── ElementTransition.kt
│ │ │ │ │ ├── SharedElementTransition.kt
│ │ │ │ │ ├── Transition.kt
│ │ │ │ │ ├── TransitionAnimatorCreator.kt
│ │ │ │ │ ├── TransitionSet.kt
│ │ │ │ │ ├── TransitionSetCreator.kt
│ │ │ │ │ ├── animators
│ │ │ │ │ │ ├── BackgroundColorAnimator.kt
│ │ │ │ │ │ ├── BackgroundColorEvaluator.kt
│ │ │ │ │ │ ├── BoundsEvaluator.kt
│ │ │ │ │ │ ├── CornerRadiusEvaluator.kt
│ │ │ │ │ │ ├── FastImageBorderRadiusAnimator+utilities.kt
│ │ │ │ │ │ ├── FastImageBorderRadiusAnimator.kt
│ │ │ │ │ │ ├── FastImageBoundsAnimator.kt
│ │ │ │ │ │ ├── FastImageMatrixAnimator.kt
│ │ │ │ │ │ ├── OutlineEvaluator.kt
│ │ │ │ │ │ ├── PropertyAnimatorCreator.kt
│ │ │ │ │ │ ├── ReactImageBoundsAnimator.kt
│ │ │ │ │ │ ├── ReactImageCornerRadiusAnimator.kt
│ │ │ │ │ │ ├── ReactImageMatrixAnimator.kt
│ │ │ │ │ │ ├── ReactViewBorderRadiusAnimator.kt
│ │ │ │ │ │ ├── ReactViewOutlineAnimator.kt
│ │ │ │ │ │ ├── ReactViewRotationAnimator.kt
│ │ │ │ │ │ ├── RotationAnimator.kt
│ │ │ │ │ │ ├── TextChangeAnimator.kt
│ │ │ │ │ │ ├── ViewOutline.kt
│ │ │ │ │ │ ├── XAnimator.kt
│ │ │ │ │ │ └── YAnimator.kt
│ │ │ │ │ └── finder
│ │ │ │ │ │ ├── ExistingViewFinder.kt
│ │ │ │ │ │ └── ViewFinder.kt
│ │ │ │ │ ├── sidemenu
│ │ │ │ │ ├── SideMenu.java
│ │ │ │ │ └── SideMenuRoot.java
│ │ │ │ │ ├── stack
│ │ │ │ │ ├── StackBehaviour.java
│ │ │ │ │ ├── StackLayout.java
│ │ │ │ │ ├── fab
│ │ │ │ │ │ ├── Fab.java
│ │ │ │ │ │ └── FabMenu.java
│ │ │ │ │ └── topbar
│ │ │ │ │ │ ├── ScrollDIsabledBehavior.java
│ │ │ │ │ │ ├── TopBar.java
│ │ │ │ │ │ ├── TopBarBackgroundView.java
│ │ │ │ │ │ ├── TopBarBackgroundViewCreator.java
│ │ │ │ │ │ └── titlebar
│ │ │ │ │ │ ├── ButtonBar.kt
│ │ │ │ │ │ ├── IconBackgroundDrawable.kt
│ │ │ │ │ │ ├── SingleLineTextView.kt
│ │ │ │ │ │ ├── TitleAndButtonsContainer.kt
│ │ │ │ │ │ ├── TitleAndButtonsMeasurer.kt
│ │ │ │ │ │ ├── TitleBarButtonCreator.java
│ │ │ │ │ │ ├── TitleBarReactButtonView.java
│ │ │ │ │ │ ├── TitleBarReactView.kt
│ │ │ │ │ │ ├── TitleBarReactViewCreator.java
│ │ │ │ │ │ └── TitleSubTitleLayout.kt
│ │ │ │ │ ├── toptabs
│ │ │ │ │ ├── TopTabs.java
│ │ │ │ │ ├── TopTabsLayoutCreator.java
│ │ │ │ │ ├── TopTabsStyleHelper.java
│ │ │ │ │ └── TopTabsViewPager.java
│ │ │ │ │ └── touch
│ │ │ │ │ └── OverlayTouchDelegate.kt
│ │ │ └── res
│ │ │ │ ├── anim
│ │ │ │ ├── slide_down.xml
│ │ │ │ └── slide_up.xml
│ │ │ │ ├── drawable
│ │ │ │ ├── ic_arrow_back_black_24dp.xml
│ │ │ │ └── ic_arrow_back_black_rtl_24dp.xml
│ │ │ │ └── values
│ │ │ │ ├── dimen.xml
│ │ │ │ ├── ids.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── test
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── reactnativenavigation
│ │ │ │ ├── BaseRobolectricTest.kt
│ │ │ │ ├── BaseTest.kt
│ │ │ │ ├── EnvironmentTest.java
│ │ │ │ ├── TestActivity.java
│ │ │ │ ├── TestApplication.java
│ │ │ │ ├── TestUtils.java
│ │ │ │ ├── fakes
│ │ │ │ └── IconResolverFake.kt
│ │ │ │ ├── mocks
│ │ │ │ ├── BackDrawable.java
│ │ │ │ ├── ImageLoaderMock.kt
│ │ │ │ ├── Mocks.kt
│ │ │ │ ├── SimpleComponentViewController.java
│ │ │ │ ├── SimpleOverlay.java
│ │ │ │ ├── SimpleViewController.java
│ │ │ │ ├── TestComponentLayout.java
│ │ │ │ ├── TestComponentViewCreator.java
│ │ │ │ ├── TestReactView.java
│ │ │ │ ├── TitleBarButtonCreatorMock.java
│ │ │ │ ├── TitleBarReactViewCreatorMock.java
│ │ │ │ ├── TopBarBackgroundViewCreatorMock.java
│ │ │ │ └── TypefaceLoaderMock.kt
│ │ │ │ ├── options
│ │ │ │ ├── LayoutNodeParserTest.java
│ │ │ │ ├── OptionsTest.java
│ │ │ │ ├── OrientationOptionsTest.java
│ │ │ │ ├── TopBarButtonsTest.kt
│ │ │ │ ├── TransitionAnimationOptionsTest.kt
│ │ │ │ └── parsers
│ │ │ │ │ ├── BoolParserTest.java
│ │ │ │ │ ├── ColorParseTest.java
│ │ │ │ │ └── JSONParserTest.java
│ │ │ │ ├── presentation
│ │ │ │ ├── PresenterTest.java
│ │ │ │ ├── RenderCheckerTest.java
│ │ │ │ └── SideMenuPresenterTest.java
│ │ │ │ ├── react
│ │ │ │ ├── NavigationModuleTest.java
│ │ │ │ └── ReloadListenerTest.java
│ │ │ │ ├── utils
│ │ │ │ ├── AnimationHelper.kt
│ │ │ │ ├── ButtonPresenterTest.java
│ │ │ │ ├── ButtonSpanTest.java
│ │ │ │ ├── CompatUtilsTest.java
│ │ │ │ ├── LayoutFactoryTest.java
│ │ │ │ ├── MotionEventTest.kt
│ │ │ │ ├── NativeCommandListenerTest.java
│ │ │ │ ├── OptionHelper.kt
│ │ │ │ ├── ReflectionUtilsTest.java
│ │ │ │ ├── StringUtilsTest.java
│ │ │ │ ├── SystemUiUtilsTest.kt
│ │ │ │ ├── TitleAndButtonsMeasurer.kt
│ │ │ │ ├── TitleBarHelper.java
│ │ │ │ ├── UiThreadTest.java
│ │ │ │ ├── UiUtilsTest.java
│ │ │ │ └── ViewHelper.java
│ │ │ │ ├── viewcontrollers
│ │ │ │ ├── OptionsApplyingTest.java
│ │ │ │ ├── bottomtabs
│ │ │ │ │ ├── BottomTabPresenterTest.java
│ │ │ │ │ ├── BottomTabsAttacherTest.java
│ │ │ │ │ ├── BottomTabsControllerTest.kt
│ │ │ │ │ ├── BottomTabsPresenterTest.kt
│ │ │ │ │ └── attacher
│ │ │ │ │ │ └── modes
│ │ │ │ │ │ ├── AfterInitialTabTest.java
│ │ │ │ │ │ ├── AttachModeTest.java
│ │ │ │ │ │ ├── OnSwitchToTabTest.java
│ │ │ │ │ │ └── TogetherTest.java
│ │ │ │ ├── button
│ │ │ │ │ └── NavigationIconResolverTest.java
│ │ │ │ ├── child
│ │ │ │ │ ├── ChildControllerTest.java
│ │ │ │ │ └── ChildControllersRegistryTest.java
│ │ │ │ ├── component
│ │ │ │ │ └── ComponentViewControllerTest.java
│ │ │ │ ├── externalcomponent
│ │ │ │ │ ├── ExternalComponentViewControllerTest.java
│ │ │ │ │ ├── FragmentCreatorMock.java
│ │ │ │ │ └── SomeFragment.java
│ │ │ │ ├── fakes
│ │ │ │ │ └── FakeParentController.kt
│ │ │ │ ├── modal
│ │ │ │ │ ├── ModalAnimatorMock.java
│ │ │ │ │ ├── ModalAnimatorTest.kt
│ │ │ │ │ ├── ModalPresenterTest.java
│ │ │ │ │ └── ModalStackTest.java
│ │ │ │ ├── navigator
│ │ │ │ │ ├── NavigatorTest.java
│ │ │ │ │ └── RootPresenterTest.kt
│ │ │ │ ├── overlay
│ │ │ │ │ └── OverlayManagerTest.java
│ │ │ │ ├── parent
│ │ │ │ │ └── ParentControllerTest.java
│ │ │ │ ├── sidemenu
│ │ │ │ │ └── SideMenuControllerTest.java
│ │ │ │ ├── stack
│ │ │ │ │ ├── BackButtonHelperTest.java
│ │ │ │ │ ├── FloatingActionButtonTest.java
│ │ │ │ │ ├── IdStackTest.java
│ │ │ │ │ ├── StackAnimatorTest.kt
│ │ │ │ │ ├── StackControllerTest.kt
│ │ │ │ │ ├── StackPresenterTest.kt
│ │ │ │ │ ├── TitleBarButtonControllerTest.java
│ │ │ │ │ ├── TitleBarReactViewControllerTest.java
│ │ │ │ │ ├── TopBarButtonControllerTest.java
│ │ │ │ │ └── TopBarControllerTest.kt
│ │ │ │ ├── toptabs
│ │ │ │ │ └── TopTabsViewControllerTest.java
│ │ │ │ └── viewcontroller
│ │ │ │ │ ├── ViewControllerTest.java
│ │ │ │ │ └── YellowBoxDelegateTest.java
│ │ │ │ └── views
│ │ │ │ ├── OverlayTouchDelegateTest.java
│ │ │ │ ├── TitleAndButtonsContainerTest.kt
│ │ │ │ ├── TitleSubTitleLayoutTest.kt
│ │ │ │ ├── TopBarTest.java
│ │ │ │ ├── animations
│ │ │ │ ├── BaseViewAppearanceAnimatorTest.kt
│ │ │ │ └── DefaultViewAnimatorCreatorFake.kt
│ │ │ │ └── bottomtabs
│ │ │ │ ├── BottomTabsContainerTest.kt
│ │ │ │ └── BottomTabsTest.kt
│ │ │ └── resources
│ │ │ └── mockito-extensions
│ │ │ └── org.mockito.plugins.MockMaker
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ └── settings.gradle
├── ios
│ ├── AnchorTransition.h
│ ├── AnchorTransition.mm
│ ├── AnimatedImageView.h
│ ├── AnimatedImageView.mm
│ ├── AnimatedReactView.h
│ ├── AnimatedReactView.mm
│ ├── AnimatedTextView.h
│ ├── AnimatedTextView.mm
│ ├── AnimatedUIImageView.h
│ ├── AnimatedUIImageView.mm
│ ├── AnimatedViewFactory.h
│ ├── AnimatedViewFactory.mm
│ ├── AnimationObserver.h
│ ├── AnimationObserver.mm
│ ├── BaseAnimator.h
│ ├── BaseAnimator.mm
│ ├── Bool.h
│ ├── Bool.mm
│ ├── BoolParser.h
│ ├── BoolParser.mm
│ ├── BottomTabPresenter.h
│ ├── BottomTabPresenter.mm
│ ├── BottomTabPresenterCreator.h
│ ├── BottomTabPresenterCreator.mm
│ ├── BottomTabsAfterInitialTabAttacher.h
│ ├── BottomTabsAfterInitialTabAttacher.mm
│ ├── BottomTabsAppearancePresenter.h
│ ├── BottomTabsAppearancePresenter.mm
│ ├── BottomTabsAttachMode.h
│ ├── BottomTabsAttachMode.mm
│ ├── BottomTabsAttachModeFactory.h
│ ├── BottomTabsAttachModeFactory.mm
│ ├── BottomTabsBaseAttacher.h
│ ├── BottomTabsBaseAttacher.mm
│ ├── BottomTabsBasePresenter.h
│ ├── BottomTabsBasePresenter.mm
│ ├── BottomTabsOnSwitchToTabAttacher.h
│ ├── BottomTabsOnSwitchToTabAttacher.mm
│ ├── BottomTabsPresenterCreator.h
│ ├── BottomTabsPresenterCreator.mm
│ ├── BottomTabsTogetherAttacher.h
│ ├── BottomTabsTogetherAttacher.mm
│ ├── BoundsTransition.h
│ ├── BoundsTransition.mm
│ ├── CenterTransition.h
│ ├── CenterTransition.mm
│ ├── Color+Interpolation.h
│ ├── Color+Interpolation.mm
│ ├── Color.h
│ ├── Color.mm
│ ├── ColorParser.h
│ ├── ColorParser.mm
│ ├── ColorTransition.h
│ ├── ColorTransition.mm
│ ├── Constants.h
│ ├── Constants.mm
│ ├── CornerRadiusTransition.h
│ ├── CornerRadiusTransition.mm
│ ├── DeprecationOptions.h
│ ├── DeprecationOptions.mm
│ ├── DictionaryParser.h
│ ├── DictionaryParser.mm
│ ├── DisplayLinkAnimation.h
│ ├── DisplayLinkAnimator.h
│ ├── DisplayLinkAnimator.mm
│ ├── DisplayLinkAnimatorDelegate.h
│ ├── DotIndicatorOptions.h
│ ├── DotIndicatorOptions.mm
│ ├── DotIndicatorParser.h
│ ├── DotIndicatorParser.mm
│ ├── Double.h
│ ├── Double.mm
│ ├── DoubleParser.h
│ ├── DoubleParser.mm
│ ├── ElementAlphaTransition.h
│ ├── ElementAlphaTransition.mm
│ ├── ElementAnimator.h
│ ├── ElementAnimator.mm
│ ├── ElementBaseTransition.h
│ ├── ElementBaseTransition.mm
│ ├── ElementFrameTransition.h
│ ├── ElementFrameTransition.mm
│ ├── ElementHorizontalTransition.h
│ ├── ElementHorizontalTransition.mm
│ ├── ElementTransitionOptions.h
│ ├── ElementTransitionOptions.mm
│ ├── ElementTransitionsCreator.h
│ ├── ElementTransitionsCreator.mm
│ ├── ElementVerticalTransition.h
│ ├── ElementVerticalTransition.mm
│ ├── Enum.h
│ ├── Enum.mm
│ ├── EnumParser.h
│ ├── EnumParser.mm
│ ├── FloatTransition.h
│ ├── FloatTransition.mm
│ ├── HorizontalScaleTransition.h
│ ├── HorizontalScaleTransition.mm
│ ├── HorizontalTranslationTransition.h
│ ├── HorizontalTranslationTransition.mm
│ ├── Image.h
│ ├── Image.mm
│ ├── ImageParser.h
│ ├── ImageParser.mm
│ ├── IntNumber.h
│ ├── IntNumber.mm
│ ├── IntNumberParser.h
│ ├── IntNumberParser.mm
│ ├── InteractivePopGestureDelegate.h
│ ├── InteractivePopGestureDelegate.mm
│ ├── Interpolators
│ │ ├── AccelerateDecelerateInterpolator.h
│ │ ├── AccelerateDecelerateInterpolator.mm
│ │ ├── AccelerateInterpolator.h
│ │ ├── AccelerateInterpolator.mm
│ │ ├── DecelerateAccelerateInterpolator.h
│ │ ├── DecelerateAccelerateInterpolator.mm
│ │ ├── DecelerateInterpolator.h
│ │ ├── DecelerateInterpolator.mm
│ │ ├── FastOutSlowIn.h
│ │ ├── FastOutSlowIn.mm
│ │ ├── Interpolator.h
│ │ ├── LinearInterpolator.h
│ │ ├── LinearInterpolator.mm
│ │ ├── OvershootInterpolator.h
│ │ ├── OvershootInterpolator.mm
│ │ ├── SpringInterpolator.h
│ │ └── SpringInterpolator.mm
│ ├── LNInterpolable.h
│ ├── LNInterpolable.mm
│ ├── NSArray+utils.h
│ ├── NSArray+utils.mm
│ ├── NoColor.h
│ ├── NoColor.mm
│ ├── NullBool.h
│ ├── NullBool.mm
│ ├── NullColor.h
│ ├── NullColor.mm
│ ├── NullDictionary.h
│ ├── NullDictionary.mm
│ ├── NullDouble.h
│ ├── NullDouble.mm
│ ├── NullEnum.h
│ ├── NullEnum.mm
│ ├── NullImage.h
│ ├── NullImage.mm
│ ├── NullIntNumber.h
│ ├── NullIntNumber.mm
│ ├── NullNumber.h
│ ├── NullNumber.mm
│ ├── NullText.h
│ ├── NullText.mm
│ ├── Number.h
│ ├── Number.mm
│ ├── NumberParser.h
│ ├── NumberParser.mm
│ ├── OCMock
│ │ ├── NSNotificationCenter+OCMAdditions.h
│ │ ├── OCMArg.h
│ │ ├── OCMConstraint.h
│ │ ├── OCMFunctions.h
│ │ ├── OCMLocation.h
│ │ ├── OCMMacroState.h
│ │ ├── OCMRecorder.h
│ │ ├── OCMStubRecorder.h
│ │ ├── OCMock.h
│ │ └── OCMockObject.h
│ ├── OptionsArrayParser.h
│ ├── OptionsArrayParser.mm
│ ├── Param.h
│ ├── Param.mm
│ ├── PathTransition.h
│ ├── PathTransition.mm
│ ├── RCTConvert+Interpolation.h
│ ├── RCTConvert+Interpolation.mm
│ ├── RCTConvert+SideMenuOpenGestureMode.h
│ ├── RCTConvert+SideMenuOpenGestureMode.mm
│ ├── RCTConvert+UIBarButtonSystemItem.h
│ ├── RCTConvert+UIBarButtonSystemItem.mm
│ ├── RCTConvert+UIFontWeight.h
│ ├── RCTConvert+UIFontWeight.mm
│ ├── RCTHelpers.h
│ ├── RCTHelpers.mm
│ ├── RNNAnimationsOptions.h
│ ├── RNNAnimationsOptions.mm
│ ├── RNNAppDelegate.h
│ ├── RNNAppDelegate.mm
│ ├── RNNAssert.h
│ ├── RNNBackButtonOptions.h
│ ├── RNNBackButtonOptions.mm
│ ├── RNNBackgroundOptions.h
│ ├── RNNBackgroundOptions.mm
│ ├── RNNBaseIconCreator.h
│ ├── RNNBaseIconCreator.mm
│ ├── RNNBasePresenter.h
│ ├── RNNBasePresenter.mm
│ ├── RNNBottomTabOptions.h
│ ├── RNNBottomTabOptions.mm
│ ├── RNNBottomTabsController.h
│ ├── RNNBottomTabsController.mm
│ ├── RNNBottomTabsOptions.h
│ ├── RNNBottomTabsOptions.mm
│ ├── RNNBottomTabsPresenter.h
│ ├── RNNBottomTabsPresenter.mm
│ ├── RNNBridgeEventEmitter.h
│ ├── RNNBridgeEventEmitter.mm
│ ├── RNNBridgeManager.h
│ ├── RNNBridgeManager.mm
│ ├── RNNBridgeModule.h
│ ├── RNNBridgeModule.mm
│ ├── RNNButtonBuilder.h
│ ├── RNNButtonBuilder.mm
│ ├── RNNButtonOptions.h
│ ├── RNNButtonOptions.mm
│ ├── RNNButtonsParser.h
│ ├── RNNButtonsParser.mm
│ ├── RNNButtonsPresenter.h
│ ├── RNNButtonsPresenter.mm
│ ├── RNNCommandsHandler.h
│ ├── RNNCommandsHandler.mm
│ ├── RNNComponentOptions.h
│ ├── RNNComponentOptions.mm
│ ├── RNNComponentPresenter.h
│ ├── RNNComponentPresenter.mm
│ ├── RNNComponentRootView.h
│ ├── RNNComponentRootView.mm
│ ├── RNNComponentView.h
│ ├── RNNComponentView.mm
│ ├── RNNComponentViewController.h
│ ├── RNNComponentViewController.mm
│ ├── RNNComponentViewCreator.h
│ ├── RNNConvert.h
│ ├── RNNConvert.mm
│ ├── RNNCustomTitleView.h
│ ├── RNNCustomTitleView.mm
│ ├── RNNDefaultOptionsHelper.h
│ ├── RNNDefaultOptionsHelper.mm
│ ├── RNNDictionary.h
│ ├── RNNDictionary.mm
│ ├── RNNDotIndicatorPresenter.h
│ ├── RNNDotIndicatorPresenter.mm
│ ├── RNNDynamicIconCreator.h
│ ├── RNNDynamicIconCreator.mm
│ ├── RNNElement.h
│ ├── RNNElement.mm
│ ├── RNNElementFinder.h
│ ├── RNNElementFinder.mm
│ ├── RNNElementView.h
│ ├── RNNElementView.mm
│ ├── RNNEnterExitAnimation.h
│ ├── RNNEnterExitAnimation.mm
│ ├── RNNErrorHandler.h
│ ├── RNNErrorHandler.mm
│ ├── RNNEventEmitter.h
│ ├── RNNEventEmitter.mm
│ ├── RNNExternalComponentStore.h
│ ├── RNNExternalComponentStore.mm
│ ├── RNNExternalViewController.h
│ ├── RNNExternalViewController.mm
│ ├── RNNFontAttributesCreator.h
│ ├── RNNFontAttributesCreator.mm
│ ├── RNNIconBackgroundOptions.h
│ ├── RNNIconBackgroundOptions.mm
│ ├── RNNIconCreator.h
│ ├── RNNIconCreator.mm
│ ├── RNNIconDrawer.h
│ ├── RNNIconDrawer.mm
│ ├── RNNInsetsOptions.h
│ ├── RNNInsetsOptions.mm
│ ├── RNNInterpolator.h
│ ├── RNNInterpolator.mm
│ ├── RNNLargeTitleOptions.h
│ ├── RNNLargeTitleOptions.mm
│ ├── RNNLayoutInfo.h
│ ├── RNNLayoutInfo.mm
│ ├── RNNLayoutManager.h
│ ├── RNNLayoutManager.mm
│ ├── RNNLayoutNode.h
│ ├── RNNLayoutNode.mm
│ ├── RNNLayoutOptions.h
│ ├── RNNLayoutOptions.mm
│ ├── RNNLayoutProtocol.h
│ ├── RNNLeafProtocol.h
│ ├── RNNModalHostViewManagerHandler.h
│ ├── RNNModalHostViewManagerHandler.mm
│ ├── RNNModalManager.h
│ ├── RNNModalManager.mm
│ ├── RNNModalManagerEventHandler.h
│ ├── RNNModalManagerEventHandler.mm
│ ├── RNNModalOptions.h
│ ├── RNNModalOptions.mm
│ ├── RNNNavigationOptions.h
│ ├── RNNNavigationOptions.mm
│ ├── RNNOptions.h
│ ├── RNNOptions.mm
│ ├── RNNOverlayManager.h
│ ├── RNNOverlayManager.mm
│ ├── RNNOverlayOptions.h
│ ├── RNNOverlayOptions.mm
│ ├── RNNOverlayWindow.h
│ ├── RNNOverlayWindow.mm
│ ├── RNNPreviewOptions.h
│ ├── RNNPreviewOptions.mm
│ ├── RNNPushAnimation.h
│ ├── RNNPushAnimation.mm
│ ├── RNNReactBackgroundView.h
│ ├── RNNReactBackgroundView.mm
│ ├── RNNReactButtonView.h
│ ├── RNNReactButtonView.mm
│ ├── RNNReactComponentRegistry.h
│ ├── RNNReactComponentRegistry.mm
│ ├── RNNReactRootViewCreator.h
│ ├── RNNReactRootViewCreator.mm
│ ├── RNNReactTitleView.h
│ ├── RNNReactTitleView.mm
│ ├── RNNReactView.h
│ ├── RNNReactView.mm
│ ├── RNNScreenTransition.h
│ ├── RNNScreenTransition.mm
│ ├── RNNScreenTransitionsCreator.h
│ ├── RNNScreenTransitionsCreator.mm
│ ├── RNNScrollEdgeAppearanceBackgroundOptions.h
│ ├── RNNScrollEdgeAppearanceBackgroundOptions.mm
│ ├── RNNScrollEdgeAppearanceOptions.h
│ ├── RNNScrollEdgeAppearanceOptions.mm
│ ├── RNNSearchBarOptions.h
│ ├── RNNSearchBarOptions.mm
│ ├── RNNSegmentedControl.h
│ ├── RNNSegmentedControl.mm
│ ├── RNNSetRootAnimator.h
│ ├── RNNSetRootAnimator.mm
│ ├── RNNShadowOptions.h
│ ├── RNNShadowOptions.mm
│ ├── RNNSharedElementAnimationOptions.h
│ ├── RNNSharedElementAnimationOptions.mm
│ ├── RNNSideMenu
│ │ └── MMDrawerController
│ │ │ ├── MMDrawerBarButtonItem.h
│ │ │ ├── MMDrawerBarButtonItem.mm
│ │ │ ├── MMDrawerController+Subclass.h
│ │ │ ├── MMDrawerController.h
│ │ │ ├── MMDrawerController.mm
│ │ │ ├── MMDrawerVisualState.h
│ │ │ ├── MMDrawerVisualState.mm
│ │ │ ├── MMExampleDrawerVisualStateManager.h
│ │ │ ├── MMExampleDrawerVisualStateManager.mm
│ │ │ ├── UIViewController+MMDrawerController.h
│ │ │ └── UIViewController+MMDrawerController.mm
│ ├── RNNSideMenuChildViewController.h
│ ├── RNNSideMenuChildViewController.mm
│ ├── RNNSideMenuOptions.h
│ ├── RNNSideMenuOptions.mm
│ ├── RNNSideMenuPresenter.h
│ ├── RNNSideMenuPresenter.mm
│ ├── RNNSideMenuSideOptions.h
│ ├── RNNSideMenuSideOptions.mm
│ ├── RNNSideMenuViewController.h
│ ├── RNNSideMenuViewController.mm
│ ├── RNNSplashScreenViewController.h
│ ├── RNNSplashScreenViewController.mm
│ ├── RNNSplitViewController.h
│ ├── RNNSplitViewController.mm
│ ├── RNNSplitViewControllerPresenter.h
│ ├── RNNSplitViewControllerPresenter.mm
│ ├── RNNSplitViewOptions.h
│ ├── RNNSplitViewOptions.mm
│ ├── RNNStackController.h
│ ├── RNNStackController.mm
│ ├── RNNStackPresenter.h
│ ├── RNNStackPresenter.mm
│ ├── RNNStatusBarOptions.h
│ ├── RNNStatusBarOptions.mm
│ ├── RNNSubtitleOptions.h
│ ├── RNNSubtitleOptions.mm
│ ├── RNNTabBarItemCreator.h
│ ├── RNNTabBarItemCreator.mm
│ ├── RNNTitleOptions.h
│ ├── RNNTitleOptions.mm
│ ├── RNNTitleViewHelper.h
│ ├── RNNTitleViewHelper.mm
│ ├── RNNTopBarOptions.h
│ ├── RNNTopBarOptions.mm
│ ├── RNNTopTabOptions.h
│ ├── RNNTopTabOptions.mm
│ ├── RNNTopTabsOptions.h
│ ├── RNNTopTabsOptions.mm
│ ├── RNNTopTabsViewController.h
│ ├── RNNTopTabsViewController.mm
│ ├── RNNTransitionStateHolder.h
│ ├── RNNTransitionStateHolder.mm
│ ├── RNNUIBarBackButtonItem.h
│ ├── RNNUIBarBackButtonItem.mm
│ ├── RNNUIBarButtonItem.h
│ ├── RNNUIBarButtonItem.mm
│ ├── RNNUtils.h
│ ├── RNNUtils.mm
│ ├── RNNViewControllerFactory.h
│ ├── RNNViewControllerFactory.mm
│ ├── RNNViewLocation.h
│ ├── RNNViewLocation.mm
│ ├── ReactNativeNavigation.h
│ ├── ReactNativeNavigation.mm
│ ├── ReactNativeNavigation.xcodeproj
│ │ ├── project.pbxproj
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── ReactNativeNavigation.xcscheme
│ ├── RectTransition.h
│ ├── RectTransition.mm
│ ├── RotationTransition.h
│ ├── RotationTransition.mm
│ ├── ScreenAnimationController.h
│ ├── ScreenAnimationController.mm
│ ├── ScreenReversedAnimationController.h
│ ├── ScreenReversedAnimationController.mm
│ ├── SharedElementAnimator.h
│ ├── SharedElementAnimator.mm
│ ├── SharedElementTransition.h
│ ├── SharedElementTransition.mm
│ ├── SharedElementTransitionOptions.h
│ ├── SharedElementTransitionOptions.mm
│ ├── SideMenuOpenGestureModeParser.h
│ ├── SideMenuOpenGestureModeParser.mm
│ ├── SideMenuOpenMode.h
│ ├── SideMenuOpenMode.mm
│ ├── StackControllerDelegate.h
│ ├── StackControllerDelegate.mm
│ ├── TabBarItemAppearanceCreator.h
│ ├── TabBarItemAppearanceCreator.mm
│ ├── TabBarItemIOS15Creator.h
│ ├── TabBarItemIOS15Creator.mm
│ ├── Text.h
│ ├── Text.mm
│ ├── TextParser.h
│ ├── TextParser.mm
│ ├── TextStorageTransition.h
│ ├── TextStorageTransition.mm
│ ├── TimeInterval.h
│ ├── TimeInterval.mm
│ ├── TimeIntervalParser.h
│ ├── TimeIntervalParser.mm
│ ├── TopBarAppearancePresenter.h
│ ├── TopBarAppearancePresenter.mm
│ ├── TopBarPresenter.h
│ ├── TopBarPresenter.mm
│ ├── TopBarPresenterCreator.h
│ ├── TopBarPresenterCreator.mm
│ ├── TopBarTitlePresenter.h
│ ├── TopBarTitlePresenter.mm
│ ├── TransformRectTransition.h
│ ├── TransformRectTransition.mm
│ ├── Transition.h
│ ├── Transition.mm
│ ├── TransitionDetailsOptions.h
│ ├── TransitionDetailsOptions.mm
│ ├── TransitionOptions.h
│ ├── TransitionOptions.mm
│ ├── TurboModules
│ │ ├── RNNTurboCommandsHandler.h
│ │ ├── RNNTurboCommandsHandler.mm
│ │ ├── RNNTurboEventEmitter.h
│ │ ├── RNNTurboEventEmitter.mm
│ │ ├── RNNTurboManager.h
│ │ ├── RNNTurboManager.mm
│ │ ├── RNNTurboModule.h
│ │ └── RNNTurboModule.mm
│ ├── UIImage+utils.h
│ ├── UIImage+utils.mm
│ ├── UIImageView+Transition.h
│ ├── UIImageView+Transition.mm
│ ├── UINavigationController+RNNCommands.h
│ ├── UINavigationController+RNNCommands.mm
│ ├── UINavigationController+RNNOptions.h
│ ├── UINavigationController+RNNOptions.mm
│ ├── UISplitViewController+RNNOptions.h
│ ├── UISplitViewController+RNNOptions.mm
│ ├── UITabBar+utils.h
│ ├── UITabBar+utils.mm
│ ├── UITabBarController+RNNOptions.h
│ ├── UITabBarController+RNNOptions.mm
│ ├── UIViewController+LayoutProtocol.h
│ ├── UIViewController+LayoutProtocol.mm
│ ├── UIViewController+RNNOptions.h
│ ├── UIViewController+RNNOptions.mm
│ ├── UIViewController+SideMenuController.h
│ ├── UIViewController+SideMenuController.mm
│ ├── UIViewController+SideMenuViewController.h
│ ├── Utils
│ │ ├── UIColor+RNNUtils.h
│ │ ├── UIColor+RNNUtils.mm
│ │ ├── UITabBarController+RNNUtils.h
│ │ ├── UITabBarController+RNNUtils.mm
│ │ ├── UIView+Utils.h
│ │ ├── UIView+Utils.mm
│ │ ├── UIViewController+Utils.h
│ │ └── UIViewController+Utils.mm
│ ├── VICMAImageView.h
│ ├── VICMAImageView.mm
│ ├── VerticalRotationTransition.h
│ ├── VerticalRotationTransition.mm
│ ├── VerticalScaleTransition.h
│ ├── VerticalScaleTransition.mm
│ ├── VerticalTranslationTransition.h
│ ├── VerticalTranslationTransition.mm
│ ├── WindowOptions.h
│ ├── WindowOptions.mm
│ └── libOCMock.a
└── src
│ ├── Navigation.ts
│ ├── NavigationDelegate.ts
│ ├── adapters
│ ├── AppRegistryService.ts
│ ├── AssetResolver.ts
│ ├── ColorService.ts
│ ├── Constants.ts
│ ├── NativeCommandsSender.ts
│ ├── NativeEventsReceiver.mock.ts
│ ├── NativeEventsReceiver.ts
│ ├── NativeRNNTurboEventEmitter.ts
│ ├── NativeRNNTurboModule.ts
│ ├── TouchablePreview.tsx
│ └── UniqueIdProvider.ts
│ ├── commands
│ ├── Commands.test.ts
│ ├── Commands.ts
│ ├── Deprecations.ts
│ ├── LayoutTreeCrawler.test.ts
│ ├── LayoutTreeCrawler.ts
│ ├── LayoutTreeParser.test.ts
│ ├── LayoutTreeParser.ts
│ ├── LayoutType.test.ts
│ ├── LayoutType.ts
│ ├── OptionsCrawler.test.ts
│ ├── OptionsCrawler.ts
│ ├── OptionsProcessor.test.ts
│ └── OptionsProcessor.ts
│ ├── components
│ ├── ComponentRegistry.test.tsx
│ ├── ComponentRegistry.ts
│ ├── ComponentWrapper.test.tsx
│ ├── ComponentWrapper.tsx
│ ├── Modal.tsx
│ ├── Store.test.ts
│ └── Store.ts
│ ├── events
│ ├── CommandsObserver.test.ts
│ ├── CommandsObserver.ts
│ ├── ComponentEventsObserver.test.tsx
│ ├── ComponentEventsObserver.ts
│ ├── EventsRegistry.test.tsx
│ └── EventsRegistry.ts
│ ├── index.ts
│ ├── interfaces
│ ├── CommandName.ts
│ ├── ComponentEvents.ts
│ ├── EventSubscription.ts
│ ├── Events.ts
│ ├── Layout.ts
│ ├── NavigationComponent.ts
│ ├── NavigationComponentListener.ts
│ ├── NavigationComponentProps.ts
│ ├── NavigationFunctionComponent.ts
│ ├── Options.ts
│ ├── ProcessorSubscription.ts
│ └── Processors.ts
│ ├── processors
│ ├── LayoutProcessor.test.ts
│ ├── LayoutProcessor.ts
│ ├── LayoutProcessorsStore.test.ts
│ ├── LayoutProcessorsStore.ts
│ ├── OptionProcessorsStore.test.ts
│ └── OptionProcessorsStore.ts
│ └── types.ts
├── metro.config.js
├── package-lock.json
├── package.json
├── playground
├── .gitignore
├── .watchmanconfig
├── README.md
├── android
│ ├── app
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src
│ │ │ ├── androidTest
│ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── reactnativenavigation
│ │ │ │ └── playground
│ │ │ │ └── DetoxTest.java
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── assets
│ │ │ └── fonts
│ │ │ │ ├── Dosis-Regular.ttf
│ │ │ │ ├── HelveticaNeue-CondensedBold.ttf
│ │ │ │ └── HelveticaNeue-Italic.ttf
│ │ │ ├── java
│ │ │ └── com
│ │ │ │ └── reactnativenavigation
│ │ │ │ └── playground
│ │ │ │ ├── FragmentComponent.java
│ │ │ │ ├── FragmentCreator.java
│ │ │ │ ├── FragmentScreen.java
│ │ │ │ ├── MainActivity.java
│ │ │ │ └── MainApplication.java
│ │ │ └── res
│ │ │ ├── drawable
│ │ │ └── ic_android.xml
│ │ │ ├── layout
│ │ │ └── fragment_screen.xml
│ │ │ ├── mipmap-hdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── values-night
│ │ │ └── colors.xml
│ │ │ ├── values-notnight
│ │ │ └── colors.xml
│ │ │ └── values
│ │ │ ├── attrs.xml
│ │ │ ├── colors.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── libs
│ │ ├── blurview-1.6.3.jar
│ │ ├── fbjni-java-only-0.0.3.jar
│ │ └── proguard-annotations-1.14.1.jar
│ ├── playground.keystore
│ └── settings.gradle
├── img
│ ├── 1024.jpeg
│ ├── 2048.jpeg
│ ├── 400.jpeg
│ ├── 4096.jpeg
│ ├── Icon-87.png
│ ├── cars
│ │ ├── aventador.jpg
│ │ ├── countach.jpg
│ │ └── diablo.jpg
│ ├── city.png
│ ├── city2.jpeg
│ ├── clear@2x.png
│ ├── clear@3x.android.png
│ ├── cocktails
│ │ ├── bloodyMarry.jpg
│ │ ├── cucumberBasilSmash.jpg
│ │ ├── frenchMartini.jpg
│ │ ├── gimlet.jpg
│ │ ├── lastWord.jpg
│ │ └── negroni.jpg
│ ├── colored_tab_icon@2x.png
│ ├── colors.png
│ ├── fff.png
│ ├── gyro_header.jpg
│ ├── home.png
│ ├── imageGallery
│ │ ├── 158xD4xbeh.jpeg
│ │ ├── 37r6Cqp1B8.jpeg
│ │ ├── 5Gi8kova3k.jpeg
│ │ ├── 61mpAVRV73.jpeg
│ │ ├── A4g0lZ33Z8.jpeg
│ │ ├── AdGXmD1CH6.jpeg
│ │ ├── Cfw87359UT.jpeg
│ │ ├── N30E32431C.jpeg
│ │ ├── a848dHxA4e.jpeg
│ │ ├── j51Pva1P8L.jpeg
│ │ ├── kVN0FryOZk.jpeg
│ │ ├── pqgylg80SD.jpeg
│ │ ├── rVOcz7rd0z.jpeg
│ │ ├── ri90ueind7.jpeg
│ │ ├── v8KLi2f0Tr.jpeg
│ │ └── xU42hx19BB.jpeg
│ ├── layouts@2x.android.png
│ ├── layouts@2x.png
│ ├── layouts_selected@2x.android.png
│ ├── layouts_selected@2x.png
│ ├── list.png
│ ├── menu@2x.android.png
│ ├── menu@2x.png
│ ├── navicon_add@2x.android.png
│ ├── navicon_add@2x.png
│ ├── navicon_add@3x.android.png
│ ├── navicon_edit@2x.png
│ ├── navigation@2x.android.png
│ ├── navigation@2x.png
│ ├── one@1.5x.android.png
│ ├── one@1x.android.png
│ ├── one@2x.ios.png
│ ├── one@2x.png
│ ├── one@3x.android.png
│ ├── one@4x.android.png
│ ├── one_selected@2x.png
│ ├── options@2x.android.png
│ ├── options@2x.png
│ ├── options_selected@2x.android.png
│ ├── options_selected@2x.png
│ ├── person.png
│ ├── plus@2x.android.png
│ ├── plus@2x.png
│ ├── sideMenu.png
│ ├── star@2x.android.png
│ ├── star@2x.png
│ ├── three@2x.png
│ ├── three_selected@2x.png
│ ├── two@2x.png
│ ├── two_selected@2x.png
│ ├── whatshot@2x.android.png
│ ├── whatshot@2x.png
│ ├── x.android.png
│ ├── x.png
│ ├── x@1.5x.png
│ ├── x@2x.android.png
│ ├── x@2x.png
│ ├── x@3x.android.png
│ ├── x@3x.png
│ └── x@4x.png
├── index.js
├── ios
│ ├── .xcode.env
│ ├── NavigationIOS12Tests
│ │ ├── Info.plist
│ │ ├── RNNBottomTabsPresenterTest.mm
│ │ └── RNNRootViewControllerTest.mm
│ ├── NavigationTests
│ │ ├── BottomTabPresenterTest.mm
│ │ ├── BottomTabsControllerTest.mm
│ │ ├── ColorParserTest.mm
│ │ ├── Info.plist
│ │ ├── NSArray+utilsTest.mm
│ │ ├── Options
│ │ │ └── RNNTestNoColor.mm
│ │ ├── RNNBasePresenterTest.mm
│ │ ├── RNNBottomTabsAppearancePresenterTest.mm
│ │ ├── RNNBottomTabsController+Helpers.h
│ │ ├── RNNBottomTabsController+Helpers.mm
│ │ ├── RNNButtonsPresenterTest.mm
│ │ ├── RNNCommandsHandlerTest.mm
│ │ ├── RNNComponentPresenterTest.mm
│ │ ├── RNNDotIndicatorPresenterTest.mm
│ │ ├── RNNExternalComponentStoreTest.mm
│ │ ├── RNNExternalViewControllerTests.mm
│ │ ├── RNNFontAttributesCreatorTest.mm
│ │ ├── RNNLayoutManagerTest.mm
│ │ ├── RNNModalHostViewManagerHandlerTest.mm
│ │ ├── RNNModalManagerEventHandlerTest.mm
│ │ ├── RNNModalManagerTest.mm
│ │ ├── RNNNavigationOptionsTest.mm
│ │ ├── RNNNavigationStackManagerTest.mm
│ │ ├── RNNOptionsTest.h
│ │ ├── RNNOverlayManagerTest.mm
│ │ ├── RNNRootViewControllerTest.mm
│ │ ├── RNNSearchBarOptionsTest.mm
│ │ ├── RNNSideMenuControllerTest.mm
│ │ ├── RNNSideMenuParserTest.mm
│ │ ├── RNNSideMenuPresenterTest.mm
│ │ ├── RNNStackControllerTest.mm
│ │ ├── RNNStackPresenterTest.mm
│ │ ├── RNNTestRootViewCreator.h
│ │ ├── RNNTestRootViewCreator.mm
│ │ ├── RNNTransitionStateHolderTest.mm
│ │ ├── RNNUIBarButtonItemTest.mm
│ │ ├── RNNViewControllerFactoryTest.mm
│ │ ├── TopBarAppearancePresenterTest.mm
│ │ ├── UITabBarController+RNNOptionsTest.mm
│ │ ├── UIViewController+LayoutProtocolTest.mm
│ │ ├── UIViewController+RNNOptionsTest.mm
│ │ └── utils
│ │ │ ├── RNNComponentViewController+Utils.h
│ │ │ ├── RNNComponentViewController+Utils.mm
│ │ │ ├── RNNTestBase.h
│ │ │ ├── RNNTestBase.mm
│ │ │ ├── UIImage+Utils.h
│ │ │ └── UIImage+Utils.mm
│ ├── Podfile
│ ├── PrivacyInfo.xcprivacy
│ ├── SnapshotTests
│ │ ├── FBSnapshotTestCase
│ │ │ ├── Categories
│ │ │ │ ├── UIImage+Compare.h
│ │ │ │ ├── UIImage+Compare.mm
│ │ │ │ ├── UIImage+Diff.h
│ │ │ │ ├── UIImage+Diff.mm
│ │ │ │ ├── UIImage+Snapshot.h
│ │ │ │ └── UIImage+Snapshot.mm
│ │ │ ├── FBSnapshotTestCase-Info.plist
│ │ │ ├── FBSnapshotTestCase.h
│ │ │ ├── FBSnapshotTestCase.mm
│ │ │ ├── FBSnapshotTestCasePlatform.h
│ │ │ ├── FBSnapshotTestCasePlatform.mm
│ │ │ ├── FBSnapshotTestController.h
│ │ │ └── FBSnapshotTestController.mm
│ │ ├── Info.plist
│ │ ├── ReferenceImages_64
│ │ │ └── StackOptionsTest
│ │ │ │ ├── testStack_topBar_opaque_background_pop@3x.png
│ │ │ │ ├── testStack_topBar_opaque_background_push@3x.png
│ │ │ │ ├── testStack_topBar_opaque_background_root@3x.png
│ │ │ │ ├── testStack_topBar_tansparent_background_pop@3x.png
│ │ │ │ ├── testStack_topBar_tansparent_background_push@3x.png
│ │ │ │ ├── testStack_topBar_tansparent_background_root@3x.png
│ │ │ │ ├── testStack_topBar_title_change_pop@3x.png
│ │ │ │ ├── testStack_topBar_title_change_push@3x.png
│ │ │ │ ├── testStack_topBar_title_change_root@3x.png
│ │ │ │ ├── testStack_topBar_title_font_pop@3x.png
│ │ │ │ ├── testStack_topBar_title_font_push@3x.png
│ │ │ │ ├── testStack_topBar_title_font_root@3x.png
│ │ │ │ ├── testStack_topBar_translucent_background_pop@3x.png
│ │ │ │ ├── testStack_topBar_translucent_background_push@3x.png
│ │ │ │ ├── testStack_topBar_translucent_background_root@3x.png
│ │ │ │ ├── testStack_topBar_visibility_pop@3x.png
│ │ │ │ ├── testStack_topBar_visibility_push@3x.png
│ │ │ │ └── testStack_topBar_visibility_root@3x.png
│ │ ├── StackOptionsTest.mm
│ │ └── Utils
│ │ │ ├── CommandsHandlerCreator.h
│ │ │ ├── CommandsHandlerCreator.mm
│ │ │ ├── LayoutCreator.h
│ │ │ └── LayoutCreator.mm
│ ├── playground.xcodeproj
│ │ ├── project.pbxproj
│ │ └── xcshareddata
│ │ │ ├── xcbaselines
│ │ │ └── E58D261A238587F4003F36BA.xcbaseline
│ │ │ │ └── FA2AD6A4-AA07-489D-A6D5-A294DD8C07A9.plist
│ │ │ └── xcschemes
│ │ │ ├── SnapshotRecordTests.xcscheme
│ │ │ ├── SnapshotTests.xcscheme
│ │ │ ├── playground.xcscheme
│ │ │ ├── playgroundIOS12.xcscheme
│ │ │ └── playground_release.xcscheme
│ ├── playground.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── playground
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.mm
│ │ ├── Images.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── Icon-114.png
│ │ │ ├── Icon-120.png
│ │ │ ├── Icon-121.png
│ │ │ ├── Icon-180.png
│ │ │ ├── Icon-29.png
│ │ │ ├── Icon-40.png
│ │ │ ├── Icon-57.png
│ │ │ ├── Icon-58.png
│ │ │ ├── Icon-60.png
│ │ │ ├── Icon-80.png
│ │ │ └── Icon-87.png
│ │ ├── Contents.json
│ │ ├── icon_res.imageset
│ │ │ ├── Contents.json
│ │ │ └── clear@2x.ios.png
│ │ └── rnnTextColor.colorset
│ │ │ └── Contents.json
│ │ ├── Info.plist
│ │ ├── LaunchScreen.storyboard
│ │ ├── RNNCustomViewController.h
│ │ ├── RNNCustomViewController.mm
│ │ ├── RNNNativeViewController.h
│ │ ├── RNNNativeViewController.mm
│ │ ├── TestingAppDelegate.h
│ │ ├── TestingAppDelegate.mm
│ │ ├── clear@2x.ios.png
│ │ └── main.m
└── src
│ ├── app.ts
│ ├── assets
│ ├── FakeListData.json
│ ├── cars.ts
│ ├── cocktails.ts
│ └── imageGallery.ts
│ ├── commons
│ ├── Colors.ts
│ ├── Layouts.ts
│ ├── Processors.ts
│ └── options
│ │ ├── Animations.ts
│ │ └── Options.ts
│ ├── components
│ ├── Bounds.tsx
│ ├── Button.tsx
│ ├── PressableScale.tsx
│ ├── Root.tsx
│ └── TopBarBackground.tsx
│ ├── context
│ └── index.tsx
│ ├── flags.ts
│ ├── index.ts
│ ├── screens
│ ├── Alert.tsx
│ ├── BackButtonScreen.tsx
│ ├── Button.tsx
│ ├── ButtonsScreen.tsx
│ ├── ContextScreen.tsx
│ ├── CustomTextButton.tsx
│ ├── CustomTopBar.tsx
│ ├── ExternalComponentScreen.tsx
│ ├── FirstBottomTabScreen.tsx
│ ├── FlatListScreen.tsx
│ ├── FullScreenModalScreen.tsx
│ ├── KeyboardScreen.tsx
│ ├── LayoutsScreen.tsx
│ ├── LazilyRegisteredScreen.tsx
│ ├── LazyTopBar.tsx
│ ├── LifecycleButton.tsx
│ ├── LifecycleScreen.tsx
│ ├── ModalCommandsScreen.tsx
│ ├── ModalScreen.tsx
│ ├── NavigationScreen.tsx
│ ├── OptionsScreen.tsx
│ ├── OrientationDetectScreen.tsx
│ ├── OrientationScreen.tsx
│ ├── OverlayAlert.tsx
│ ├── OverlayBanner.tsx
│ ├── OverlayScreen.tsx
│ ├── PushedScreen.tsx
│ ├── RoundedButton.tsx
│ ├── Screens.ts
│ ├── ScrollViewOverlay.tsx
│ ├── ScrollViewScreen.tsx
│ ├── SearchBar.tsx
│ ├── SearchBarModal.tsx
│ ├── SearchScreen.tsx
│ ├── SecondBottomTabScreen.tsx
│ ├── SetRootScreen.tsx
│ ├── SideMenuCenterScreen.tsx
│ ├── SideMenuLeftScreen.tsx
│ ├── SideMenuRightScreen.tsx
│ ├── StackCommandsScreen.tsx
│ ├── StackScreen.tsx
│ ├── StaticEventsScreen.tsx
│ ├── StaticLifecycleOverlay.tsx
│ ├── StatusBarFirstTab.tsx
│ ├── SystemUiOptions.tsx
│ ├── Toast.tsx
│ ├── TopTabOptionsScreen.tsx
│ ├── TopTabScreen.tsx
│ ├── complexlayouts
│ │ ├── BottomTabSideMenuScreen.tsx
│ │ └── CustomDialogWithScroll.tsx
│ ├── imageGallery
│ │ ├── ImageGalleryItemScreen.tsx
│ │ └── ImageGalleryListScreen.tsx
│ ├── index.tsx
│ ├── sharedElementCarDealer
│ │ ├── CarCard.tsx
│ │ ├── CarDetailsScreen.tsx
│ │ ├── CarStoryScreen.tsx
│ │ ├── CarsListScreen.tsx
│ │ ├── Constants.ts
│ │ ├── DismissableView.tsx
│ │ ├── ImageFullScreenViewer.tsx
│ │ └── useDismissGesture.ts
│ ├── sharedElementTransition
│ │ ├── CocktailDetailsScreen.tsx
│ │ ├── CocktailsListScreen.tsx
│ │ └── CocktailsView.tsx
│ └── splitView
│ │ └── CocktailsListMasterScreen.tsx
│ ├── services
│ └── Navigation.ts
│ └── testIDs.ts
├── react-native.config.js
├── scripts
├── build.js
├── check-clang-format.js
├── clean.js
├── documentation.js
├── documentation.test.js
├── install-android.js
├── release.js
├── start.js
├── test-all.js
├── test-autolink.js
├── test-e2e.js
├── test-js.js
├── test-snapshot.js
├── test-unit.js
├── upload_artifacts.sh
└── watch.js
├── tsconfig-strict.json
├── tsconfig.build.json
├── tsconfig.json
├── tsconfig.mocks.json
└── website
├── docs
├── api
│ ├── api-component.mdx
│ ├── api-events.mdx
│ ├── api-modal.mdx
│ ├── api-options.mdx
│ ├── api-overlay.mdx
│ ├── api-root.mdx
│ ├── api-sideMenu.mdx
│ ├── api-stack.mdx
│ ├── layout-BottomTabs.mdx
│ ├── layout-component.mdx
│ ├── layout-layout.mdx
│ ├── layout-sideMenu.mdx
│ ├── layout-splitView.mdx
│ ├── layout-stack.mdx
│ ├── options-animations.mdx
│ ├── options-backButton.mdx
│ ├── options-background.mdx
│ ├── options-bottomTab.mdx
│ ├── options-bottomTabs.mdx
│ ├── options-button.mdx
│ ├── options-fab.mdx
│ ├── options-hardwareBackButton.mdx
│ ├── options-iconBackground.mdx
│ ├── options-iconInsets.mdx
│ ├── options-imageResource.mdx
│ ├── options-largeTitle.mdx
│ ├── options-layout.mdx
│ ├── options-migration.mdx
│ ├── options-modal.mdx
│ ├── options-navigationBar.mdx
│ ├── options-overlay.mdx
│ ├── options-preview.mdx
│ ├── options-root.mdx
│ ├── options-scrollEdgeAppearance.mdx
│ ├── options-sideMenu.mdx
│ ├── options-sideMenuSide.mdx
│ ├── options-splitView.mdx
│ ├── options-stack.mdx
│ ├── options-statusBar.mdx
│ ├── options-subtitle.mdx
│ ├── options-title.mdx
│ └── topBar-searchBar.mdx
└── docs
│ ├── community-libraries.mdx
│ ├── docs-Installing.mdx
│ ├── docs-advanced-navigation.mdx
│ ├── docs-app-launch.mdx
│ ├── docs-basic-navigation.mdx
│ ├── docs-before-you-start.mdx
│ ├── docs-bottomTabs.mdx
│ ├── docs-customBackNavigation.mdx
│ ├── docs-externalComponent.mdx
│ ├── docs-functional-components.mdx
│ ├── docs-modal.mdx
│ ├── docs-overlay.mdx
│ ├── docs-passing-data-to-components.mdx
│ ├── docs-playground-app.mdx
│ ├── docs-root.mdx
│ ├── docs-screen-lifecycle.mdx
│ ├── docs-showcases.mdx
│ ├── docs-sideMenu.mdx
│ ├── docs-stack.mdx
│ ├── meta-contributing.mdx
│ ├── sideMenu-disable.mdx
│ ├── stack-backButton.mdx
│ ├── stack-backNavigation.mdx
│ ├── stack-buttons.mdx
│ ├── stack-programmatically.mdx
│ ├── style-animations.mdx
│ ├── style-constants.mdx
│ ├── style-fonts.mdx
│ ├── style-orientation.mdx
│ ├── style-screens.mdx
│ ├── style-screens
│ ├── command-options.tsx
│ ├── merge-options.tsx
│ ├── static-options-class.tsx
│ ├── static-options-experiments.tsx
│ ├── static-options-fn.tsx
│ ├── static-options-props-class.tsx
│ └── static-options-props-fn.tsx
│ ├── style-statusbar.mdx
│ ├── style-theme.mdx
│ ├── style-theme
│ ├── layout-processor.tsx
│ ├── option-processor-defaults.tsx
│ └── option-processor.tsx
│ ├── third-party-mobx.mdx
│ ├── third-party-mobx
│ ├── counter-screen.tsx
│ ├── counter-store-decorator.tsx
│ ├── counter-store.tsx
│ └── persistent-data.tsx
│ ├── third-party-react-context.mdx
│ ├── third-party-react-context
│ ├── App-consumer.tsx
│ ├── App.tsx
│ ├── CounterContext.tsx
│ └── index.tsx
│ ├── third-party-react-native-vector-icons.mdx
│ ├── third-party-react-native-vector-icons
│ ├── ExampleComponent.tsx
│ ├── MyIcon.tsx
│ ├── NavIcons.tsx
│ └── index.ts
│ ├── third-party-typescript.mdx
│ └── third-party-typescript
│ ├── strongly-typed-components-class.tsx
│ ├── strongly-typed-components-fn.tsx
│ └── typed-props-in-commands.tsx
├── docusaurus.config.js
├── index.d.ts
├── package.json
├── sidebars.js
├── src
├── components
│ ├── CustomLayout.js
│ ├── StandWithUkraine.js
│ └── StandWithUkraine.module.css
├── css
│ └── custom.css
├── data
│ ├── apps.js
│ └── showcase
│ │ ├── Nox.png
│ │ ├── acuity.png
│ │ ├── amber.png
│ │ ├── arkhamCards.png
│ │ ├── aurora.png
│ │ ├── bementor.png
│ │ ├── bene.png
│ │ ├── christmas.png
│ │ ├── churchtools.png
│ │ ├── cinepicks.png
│ │ ├── clubhouse.png
│ │ ├── cookomix.png
│ │ ├── deevent.png
│ │ ├── delta.png
│ │ ├── digitail.png
│ │ ├── feastr.png
│ │ ├── galarm.png
│ │ ├── getAbstract.png
│ │ ├── hibob.png
│ │ ├── honeybook.png
│ │ ├── intelivest.png
│ │ ├── klarna.png
│ │ ├── magiceden.png
│ │ ├── nifty.png
│ │ ├── obitrain.png
│ │ ├── owner.png
│ │ ├── spaces.png
│ │ ├── stretchminder.png
│ │ ├── taimi.png
│ │ └── thera.png
└── pages
│ ├── index.js
│ ├── showcase
│ ├── index.jsx
│ └── styles.module.css
│ └── styles.module.css
├── static
└── img
│ ├── alert.png
│ ├── alert_android.png
│ ├── bottomTabs.png
│ ├── favicon.ico
│ ├── logo.png
│ ├── logo.svg
│ ├── mobx_counter.png
│ ├── modal_android.gif
│ ├── modal_ios.gif
│ ├── navBar_black.png
│ ├── navBar_white.png
│ ├── sharedElement.gif
│ ├── stack1.png
│ ├── stack2.gif
│ ├── stack3.gif
│ ├── stack4.png
│ ├── stackOptions.png
│ ├── toast_android.png
│ ├── undraw_docusaurus_mountain.svg
│ ├── undraw_docusaurus_react.svg
│ └── undraw_docusaurus_tree.svg
├── tsconfig.json
├── versioned_docs
├── version-6.12.2
│ ├── api
│ │ ├── api-component.mdx
│ │ ├── api-events.mdx
│ │ ├── api-modal.mdx
│ │ ├── api-options.mdx
│ │ ├── api-overlay.mdx
│ │ ├── api-root.mdx
│ │ ├── api-sideMenu.mdx
│ │ ├── api-stack.mdx
│ │ ├── layout-BottomTabs.mdx
│ │ ├── layout-component.mdx
│ │ ├── layout-layout.mdx
│ │ ├── layout-sideMenu.mdx
│ │ ├── layout-splitView.mdx
│ │ ├── layout-stack.mdx
│ │ ├── options-animations.mdx
│ │ ├── options-backButton.mdx
│ │ ├── options-background.mdx
│ │ ├── options-bottomTab.mdx
│ │ ├── options-bottomTabs.mdx
│ │ ├── options-button.mdx
│ │ ├── options-fab.mdx
│ │ ├── options-iconInsets.mdx
│ │ ├── options-largeTitle.mdx
│ │ ├── options-layout.mdx
│ │ ├── options-migration.mdx
│ │ ├── options-modal.mdx
│ │ ├── options-navigationBar.mdx
│ │ ├── options-overlay.mdx
│ │ ├── options-preview.mdx
│ │ ├── options-root.mdx
│ │ ├── options-sideMenu.mdx
│ │ ├── options-sideMenuSide.mdx
│ │ ├── options-splitView.mdx
│ │ ├── options-stack.mdx
│ │ ├── options-statusBar.mdx
│ │ ├── options-subtitle.mdx
│ │ └── options-title.mdx
│ └── docs
│ │ ├── community-libraries.mdx
│ │ ├── docs-Installing.mdx
│ │ ├── docs-advanced-navigation.mdx
│ │ ├── docs-app-launch.mdx
│ │ ├── docs-basic-navigation.mdx
│ │ ├── docs-before-you-start.mdx
│ │ ├── docs-bottomTabs.mdx
│ │ ├── docs-externalComponent.mdx
│ │ ├── docs-functional-components.mdx
│ │ ├── docs-modal.mdx
│ │ ├── docs-overlay.mdx
│ │ ├── docs-passing-data-to-components.mdx
│ │ ├── docs-playground-app.mdx
│ │ ├── docs-root.mdx
│ │ ├── docs-screen-lifecycle.mdx
│ │ ├── docs-showcases.mdx
│ │ ├── docs-sideMenu.mdx
│ │ ├── docs-stack.mdx
│ │ ├── meta-contributing.mdx
│ │ ├── sideMenu-disable.mdx
│ │ ├── stack-backButton.mdx
│ │ ├── stack-backNavigation.mdx
│ │ ├── stack-buttons.mdx
│ │ ├── stack-programmatically.mdx
│ │ ├── style-animations.mdx
│ │ ├── style-constants.mdx
│ │ ├── style-fonts.mdx
│ │ ├── style-orientation.mdx
│ │ ├── style-screens.mdx
│ │ ├── style-screens
│ │ ├── command-options.tsx
│ │ ├── merge-options.tsx
│ │ ├── static-options-class.tsx
│ │ ├── static-options-experiments.tsx
│ │ ├── static-options-fn.tsx
│ │ ├── static-options-props-class.tsx
│ │ └── static-options-props-fn.tsx
│ │ ├── style-statusbar.mdx
│ │ ├── style-theme.mdx
│ │ ├── style-theme
│ │ ├── layout-processor.tsx
│ │ ├── option-processor-defaults.tsx
│ │ └── option-processor.tsx
│ │ ├── third-party-mobx.mdx
│ │ ├── third-party-mobx
│ │ ├── counter-screen.tsx
│ │ ├── counter-store.tsx
│ │ └── persistent-data.tsx
│ │ ├── third-party-react-context.mdx
│ │ ├── third-party-react-context
│ │ ├── App-consumer.tsx
│ │ ├── App.tsx
│ │ ├── CounterContext.tsx
│ │ └── index.tsx
│ │ ├── third-party-typescript.mdx
│ │ └── third-party-typescript
│ │ ├── strongly-typed-components-class.tsx
│ │ ├── strongly-typed-components-fn.tsx
│ │ └── typed-props-in-commands.tsx
├── version-7.11.2
│ ├── api
│ │ ├── api-component.mdx
│ │ ├── api-events.mdx
│ │ ├── api-modal.mdx
│ │ ├── api-options.mdx
│ │ ├── api-overlay.mdx
│ │ ├── api-root.mdx
│ │ ├── api-sideMenu.mdx
│ │ ├── api-stack.mdx
│ │ ├── layout-BottomTabs.mdx
│ │ ├── layout-component.mdx
│ │ ├── layout-layout.mdx
│ │ ├── layout-sideMenu.mdx
│ │ ├── layout-splitView.mdx
│ │ ├── layout-stack.mdx
│ │ ├── options-animations.mdx
│ │ ├── options-backButton.mdx
│ │ ├── options-background.mdx
│ │ ├── options-bottomTab.mdx
│ │ ├── options-bottomTabs.mdx
│ │ ├── options-button.mdx
│ │ ├── options-fab.mdx
│ │ ├── options-hardwareBackButton.mdx
│ │ ├── options-iconBackground.mdx
│ │ ├── options-iconInsets.mdx
│ │ ├── options-imageResource.mdx
│ │ ├── options-largeTitle.mdx
│ │ ├── options-layout.mdx
│ │ ├── options-migration.mdx
│ │ ├── options-modal.mdx
│ │ ├── options-navigationBar.mdx
│ │ ├── options-overlay.mdx
│ │ ├── options-preview.mdx
│ │ ├── options-root.mdx
│ │ ├── options-scrollEdgeAppearance.mdx
│ │ ├── options-sideMenu.mdx
│ │ ├── options-sideMenuSide.mdx
│ │ ├── options-splitView.mdx
│ │ ├── options-stack.mdx
│ │ ├── options-statusBar.mdx
│ │ ├── options-subtitle.mdx
│ │ ├── options-title.mdx
│ │ └── topBar-searchBar.mdx
│ └── docs
│ │ ├── community-libraries.mdx
│ │ ├── docs-Installing.mdx
│ │ ├── docs-advanced-navigation.mdx
│ │ ├── docs-app-launch.mdx
│ │ ├── docs-basic-navigation.mdx
│ │ ├── docs-before-you-start.mdx
│ │ ├── docs-bottomTabs.mdx
│ │ ├── docs-externalComponent.mdx
│ │ ├── docs-functional-components.mdx
│ │ ├── docs-modal.mdx
│ │ ├── docs-overlay.mdx
│ │ ├── docs-passing-data-to-components.mdx
│ │ ├── docs-playground-app.mdx
│ │ ├── docs-root.mdx
│ │ ├── docs-screen-lifecycle.mdx
│ │ ├── docs-showcases.mdx
│ │ ├── docs-sideMenu.mdx
│ │ ├── docs-stack.mdx
│ │ ├── meta-contributing.mdx
│ │ ├── sideMenu-disable.mdx
│ │ ├── stack-backButton.mdx
│ │ ├── stack-backNavigation.mdx
│ │ ├── stack-buttons.mdx
│ │ ├── stack-programmatically.mdx
│ │ ├── style-animations.mdx
│ │ ├── style-constants.mdx
│ │ ├── style-fonts.mdx
│ │ ├── style-orientation.mdx
│ │ ├── style-screens.mdx
│ │ ├── style-screens
│ │ ├── command-options.tsx
│ │ ├── merge-options.tsx
│ │ ├── static-options-class.tsx
│ │ ├── static-options-experiments.tsx
│ │ ├── static-options-fn.tsx
│ │ ├── static-options-props-class.tsx
│ │ └── static-options-props-fn.tsx
│ │ ├── style-statusbar.mdx
│ │ ├── style-theme.mdx
│ │ ├── style-theme
│ │ ├── layout-processor.tsx
│ │ ├── option-processor-defaults.tsx
│ │ └── option-processor.tsx
│ │ ├── third-party-mobx.mdx
│ │ ├── third-party-mobx
│ │ ├── counter-screen.tsx
│ │ ├── counter-store-decorator.tsx
│ │ ├── counter-store.tsx
│ │ └── persistent-data.tsx
│ │ ├── third-party-react-context.mdx
│ │ ├── third-party-react-context
│ │ ├── App-consumer.tsx
│ │ ├── App.tsx
│ │ ├── CounterContext.tsx
│ │ └── index.tsx
│ │ ├── third-party-react-native-vector-icons.mdx
│ │ ├── third-party-react-native-vector-icons
│ │ ├── ExampleComponent.tsx
│ │ ├── MyIcon.tsx
│ │ ├── NavIcons.tsx
│ │ └── index.ts
│ │ ├── third-party-typescript.mdx
│ │ └── third-party-typescript
│ │ ├── strongly-typed-components-class.tsx
│ │ ├── strongly-typed-components-fn.tsx
│ │ └── typed-props-in-commands.tsx
├── version-7.25.4
│ ├── api
│ │ ├── api-component.mdx
│ │ ├── api-events.mdx
│ │ ├── api-modal.mdx
│ │ ├── api-options.mdx
│ │ ├── api-overlay.mdx
│ │ ├── api-root.mdx
│ │ ├── api-sideMenu.mdx
│ │ ├── api-stack.mdx
│ │ ├── layout-BottomTabs.mdx
│ │ ├── layout-component.mdx
│ │ ├── layout-layout.mdx
│ │ ├── layout-sideMenu.mdx
│ │ ├── layout-splitView.mdx
│ │ ├── layout-stack.mdx
│ │ ├── options-animations.mdx
│ │ ├── options-backButton.mdx
│ │ ├── options-background.mdx
│ │ ├── options-bottomTab.mdx
│ │ ├── options-bottomTabs.mdx
│ │ ├── options-button.mdx
│ │ ├── options-fab.mdx
│ │ ├── options-hardwareBackButton.mdx
│ │ ├── options-iconBackground.mdx
│ │ ├── options-iconInsets.mdx
│ │ ├── options-imageResource.mdx
│ │ ├── options-largeTitle.mdx
│ │ ├── options-layout.mdx
│ │ ├── options-migration.mdx
│ │ ├── options-modal.mdx
│ │ ├── options-navigationBar.mdx
│ │ ├── options-overlay-attach.mdx
│ │ ├── options-overlay.mdx
│ │ ├── options-preview.mdx
│ │ ├── options-root.mdx
│ │ ├── options-scrollEdgeAppearance.mdx
│ │ ├── options-sideMenu.mdx
│ │ ├── options-sideMenuSide.mdx
│ │ ├── options-splitView.mdx
│ │ ├── options-stack.mdx
│ │ ├── options-statusBar.mdx
│ │ ├── options-subtitle.mdx
│ │ ├── options-title.mdx
│ │ └── topBar-searchBar.mdx
│ └── docs
│ │ ├── community-libraries.mdx
│ │ ├── docs-Installing.mdx
│ │ ├── docs-advanced-navigation.mdx
│ │ ├── docs-app-launch.mdx
│ │ ├── docs-basic-navigation.mdx
│ │ ├── docs-before-you-start.mdx
│ │ ├── docs-bottomTabs.mdx
│ │ ├── docs-customBackNavigation.mdx
│ │ ├── docs-externalComponent.mdx
│ │ ├── docs-functional-components.mdx
│ │ ├── docs-modal.mdx
│ │ ├── docs-overlay.mdx
│ │ ├── docs-passing-data-to-components.mdx
│ │ ├── docs-playground-app.mdx
│ │ ├── docs-root.mdx
│ │ ├── docs-screen-lifecycle.mdx
│ │ ├── docs-showcases.mdx
│ │ ├── docs-sideMenu.mdx
│ │ ├── docs-stack.mdx
│ │ ├── meta-contributing.mdx
│ │ ├── sideMenu-disable.mdx
│ │ ├── stack-backButton.mdx
│ │ ├── stack-backNavigation.mdx
│ │ ├── stack-buttons.mdx
│ │ ├── stack-programmatically.mdx
│ │ ├── style-animations.mdx
│ │ ├── style-constants.mdx
│ │ ├── style-fonts.mdx
│ │ ├── style-orientation.mdx
│ │ ├── style-screens.mdx
│ │ ├── style-screens
│ │ ├── command-options.tsx
│ │ ├── merge-options.tsx
│ │ ├── static-options-class.tsx
│ │ ├── static-options-experiments.tsx
│ │ ├── static-options-fn.tsx
│ │ ├── static-options-props-class.tsx
│ │ └── static-options-props-fn.tsx
│ │ ├── style-statusbar.mdx
│ │ ├── style-theme.mdx
│ │ ├── style-theme
│ │ ├── layout-processor.tsx
│ │ ├── option-processor-defaults.tsx
│ │ └── option-processor.tsx
│ │ ├── third-party-mobx.mdx
│ │ ├── third-party-mobx
│ │ ├── counter-screen.tsx
│ │ ├── counter-store-decorator.tsx
│ │ ├── counter-store.tsx
│ │ └── persistent-data.tsx
│ │ ├── third-party-react-context.mdx
│ │ ├── third-party-react-context
│ │ ├── App-consumer.tsx
│ │ ├── App.tsx
│ │ ├── CounterContext.tsx
│ │ └── index.tsx
│ │ ├── third-party-react-native-vector-icons.mdx
│ │ ├── third-party-react-native-vector-icons
│ │ ├── ExampleComponent.tsx
│ │ ├── MyIcon.tsx
│ │ ├── NavIcons.tsx
│ │ └── index.ts
│ │ ├── third-party-typescript.mdx
│ │ └── third-party-typescript
│ │ ├── strongly-typed-components-class.tsx
│ │ ├── strongly-typed-components-fn.tsx
│ │ └── typed-props-in-commands.tsx
├── version-7.32.1
│ ├── api
│ │ ├── api-component.mdx
│ │ ├── api-events.mdx
│ │ ├── api-modal.mdx
│ │ ├── api-options.mdx
│ │ ├── api-overlay.mdx
│ │ ├── api-root.mdx
│ │ ├── api-sideMenu.mdx
│ │ ├── api-stack.mdx
│ │ ├── layout-BottomTabs.mdx
│ │ ├── layout-component.mdx
│ │ ├── layout-layout.mdx
│ │ ├── layout-sideMenu.mdx
│ │ ├── layout-splitView.mdx
│ │ ├── layout-stack.mdx
│ │ ├── options-animations.mdx
│ │ ├── options-backButton.mdx
│ │ ├── options-background.mdx
│ │ ├── options-bottomTab.mdx
│ │ ├── options-bottomTabs.mdx
│ │ ├── options-button.mdx
│ │ ├── options-fab.mdx
│ │ ├── options-hardwareBackButton.mdx
│ │ ├── options-iconBackground.mdx
│ │ ├── options-iconInsets.mdx
│ │ ├── options-imageResource.mdx
│ │ ├── options-largeTitle.mdx
│ │ ├── options-layout.mdx
│ │ ├── options-migration.mdx
│ │ ├── options-modal.mdx
│ │ ├── options-navigationBar.mdx
│ │ ├── options-overlay.mdx
│ │ ├── options-preview.mdx
│ │ ├── options-root.mdx
│ │ ├── options-scrollEdgeAppearance.mdx
│ │ ├── options-sideMenu.mdx
│ │ ├── options-sideMenuSide.mdx
│ │ ├── options-splitView.mdx
│ │ ├── options-stack.mdx
│ │ ├── options-statusBar.mdx
│ │ ├── options-subtitle.mdx
│ │ ├── options-title.mdx
│ │ └── topBar-searchBar.mdx
│ └── docs
│ │ ├── community-libraries.mdx
│ │ ├── docs-Installing.mdx
│ │ ├── docs-advanced-navigation.mdx
│ │ ├── docs-app-launch.mdx
│ │ ├── docs-basic-navigation.mdx
│ │ ├── docs-before-you-start.mdx
│ │ ├── docs-bottomTabs.mdx
│ │ ├── docs-customBackNavigation.mdx
│ │ ├── docs-externalComponent.mdx
│ │ ├── docs-functional-components.mdx
│ │ ├── docs-modal.mdx
│ │ ├── docs-overlay.mdx
│ │ ├── docs-passing-data-to-components.mdx
│ │ ├── docs-playground-app.mdx
│ │ ├── docs-root.mdx
│ │ ├── docs-screen-lifecycle.mdx
│ │ ├── docs-showcases.mdx
│ │ ├── docs-sideMenu.mdx
│ │ ├── docs-stack.mdx
│ │ ├── meta-contributing.mdx
│ │ ├── sideMenu-disable.mdx
│ │ ├── stack-backButton.mdx
│ │ ├── stack-backNavigation.mdx
│ │ ├── stack-buttons.mdx
│ │ ├── stack-programmatically.mdx
│ │ ├── style-animations.mdx
│ │ ├── style-constants.mdx
│ │ ├── style-fonts.mdx
│ │ ├── style-orientation.mdx
│ │ ├── style-screens.mdx
│ │ ├── style-screens
│ │ ├── command-options.tsx
│ │ ├── merge-options.tsx
│ │ ├── static-options-class.tsx
│ │ ├── static-options-experiments.tsx
│ │ ├── static-options-fn.tsx
│ │ ├── static-options-props-class.tsx
│ │ └── static-options-props-fn.tsx
│ │ ├── style-statusbar.mdx
│ │ ├── style-theme.mdx
│ │ ├── style-theme
│ │ ├── layout-processor.tsx
│ │ ├── option-processor-defaults.tsx
│ │ └── option-processor.tsx
│ │ ├── third-party-mobx.mdx
│ │ ├── third-party-mobx
│ │ ├── counter-screen.tsx
│ │ ├── counter-store-decorator.tsx
│ │ ├── counter-store.tsx
│ │ └── persistent-data.tsx
│ │ ├── third-party-react-context.mdx
│ │ ├── third-party-react-context
│ │ ├── App-consumer.tsx
│ │ ├── App.tsx
│ │ ├── CounterContext.tsx
│ │ └── index.tsx
│ │ ├── third-party-react-native-vector-icons.mdx
│ │ ├── third-party-react-native-vector-icons
│ │ ├── ExampleComponent.tsx
│ │ ├── MyIcon.tsx
│ │ ├── NavIcons.tsx
│ │ └── index.ts
│ │ ├── third-party-typescript.mdx
│ │ └── third-party-typescript
│ │ ├── strongly-typed-components-class.tsx
│ │ ├── strongly-typed-components-fn.tsx
│ │ └── typed-props-in-commands.tsx
├── version-7.37.0
│ ├── api
│ │ ├── api-component.mdx
│ │ ├── api-events.mdx
│ │ ├── api-modal.mdx
│ │ ├── api-options.mdx
│ │ ├── api-overlay.mdx
│ │ ├── api-root.mdx
│ │ ├── api-sideMenu.mdx
│ │ ├── api-stack.mdx
│ │ ├── layout-BottomTabs.mdx
│ │ ├── layout-component.mdx
│ │ ├── layout-layout.mdx
│ │ ├── layout-sideMenu.mdx
│ │ ├── layout-splitView.mdx
│ │ ├── layout-stack.mdx
│ │ ├── options-animations.mdx
│ │ ├── options-backButton.mdx
│ │ ├── options-background.mdx
│ │ ├── options-bottomTab.mdx
│ │ ├── options-bottomTabs.mdx
│ │ ├── options-button.mdx
│ │ ├── options-fab.mdx
│ │ ├── options-hardwareBackButton.mdx
│ │ ├── options-iconBackground.mdx
│ │ ├── options-iconInsets.mdx
│ │ ├── options-imageResource.mdx
│ │ ├── options-largeTitle.mdx
│ │ ├── options-layout.mdx
│ │ ├── options-migration.mdx
│ │ ├── options-modal.mdx
│ │ ├── options-navigationBar.mdx
│ │ ├── options-overlay.mdx
│ │ ├── options-preview.mdx
│ │ ├── options-root.mdx
│ │ ├── options-scrollEdgeAppearance.mdx
│ │ ├── options-sideMenu.mdx
│ │ ├── options-sideMenuSide.mdx
│ │ ├── options-splitView.mdx
│ │ ├── options-stack.mdx
│ │ ├── options-statusBar.mdx
│ │ ├── options-subtitle.mdx
│ │ ├── options-title.mdx
│ │ └── topBar-searchBar.mdx
│ └── docs
│ │ ├── community-libraries.mdx
│ │ ├── docs-Installing.mdx
│ │ ├── docs-advanced-navigation.mdx
│ │ ├── docs-app-launch.mdx
│ │ ├── docs-basic-navigation.mdx
│ │ ├── docs-before-you-start.mdx
│ │ ├── docs-bottomTabs.mdx
│ │ ├── docs-customBackNavigation.mdx
│ │ ├── docs-externalComponent.mdx
│ │ ├── docs-functional-components.mdx
│ │ ├── docs-modal.mdx
│ │ ├── docs-overlay.mdx
│ │ ├── docs-passing-data-to-components.mdx
│ │ ├── docs-playground-app.mdx
│ │ ├── docs-root.mdx
│ │ ├── docs-screen-lifecycle.mdx
│ │ ├── docs-showcases.mdx
│ │ ├── docs-sideMenu.mdx
│ │ ├── docs-stack.mdx
│ │ ├── meta-contributing.mdx
│ │ ├── sideMenu-disable.mdx
│ │ ├── stack-backButton.mdx
│ │ ├── stack-backNavigation.mdx
│ │ ├── stack-buttons.mdx
│ │ ├── stack-programmatically.mdx
│ │ ├── style-animations.mdx
│ │ ├── style-constants.mdx
│ │ ├── style-fonts.mdx
│ │ ├── style-orientation.mdx
│ │ ├── style-screens.mdx
│ │ ├── style-screens
│ │ ├── command-options.tsx
│ │ ├── merge-options.tsx
│ │ ├── static-options-class.tsx
│ │ ├── static-options-experiments.tsx
│ │ ├── static-options-fn.tsx
│ │ ├── static-options-props-class.tsx
│ │ └── static-options-props-fn.tsx
│ │ ├── style-statusbar.mdx
│ │ ├── style-theme.mdx
│ │ ├── style-theme
│ │ ├── layout-processor.tsx
│ │ ├── option-processor-defaults.tsx
│ │ └── option-processor.tsx
│ │ ├── third-party-mobx.mdx
│ │ ├── third-party-mobx
│ │ ├── counter-screen.tsx
│ │ ├── counter-store-decorator.tsx
│ │ ├── counter-store.tsx
│ │ └── persistent-data.tsx
│ │ ├── third-party-react-context.mdx
│ │ ├── third-party-react-context
│ │ ├── App-consumer.tsx
│ │ ├── App.tsx
│ │ ├── CounterContext.tsx
│ │ └── index.tsx
│ │ ├── third-party-react-native-vector-icons.mdx
│ │ ├── third-party-react-native-vector-icons
│ │ ├── ExampleComponent.tsx
│ │ ├── MyIcon.tsx
│ │ ├── NavIcons.tsx
│ │ └── index.ts
│ │ ├── third-party-typescript.mdx
│ │ └── third-party-typescript
│ │ ├── strongly-typed-components-class.tsx
│ │ ├── strongly-typed-components-fn.tsx
│ │ └── typed-props-in-commands.tsx
└── version-7.7.0
│ ├── api
│ ├── api-component.mdx
│ ├── api-events.mdx
│ ├── api-modal.mdx
│ ├── api-options.mdx
│ ├── api-overlay.mdx
│ ├── api-root.mdx
│ ├── api-sideMenu.mdx
│ ├── api-stack.mdx
│ ├── layout-BottomTabs.mdx
│ ├── layout-component.mdx
│ ├── layout-layout.mdx
│ ├── layout-sideMenu.mdx
│ ├── layout-splitView.mdx
│ ├── layout-stack.mdx
│ ├── options-animations.mdx
│ ├── options-backButton.mdx
│ ├── options-background.mdx
│ ├── options-bottomTab.mdx
│ ├── options-bottomTabs.mdx
│ ├── options-button.mdx
│ ├── options-fab.mdx
│ ├── options-iconBackground.mdx
│ ├── options-iconInsets.mdx
│ ├── options-imageResource.mdx
│ ├── options-largeTitle.mdx
│ ├── options-layout.mdx
│ ├── options-migration.mdx
│ ├── options-modal.mdx
│ ├── options-navigationBar.mdx
│ ├── options-overlay.mdx
│ ├── options-preview.mdx
│ ├── options-root.mdx
│ ├── options-scrollEdgeAppearance.mdx
│ ├── options-sideMenu.mdx
│ ├── options-sideMenuSide.mdx
│ ├── options-splitView.mdx
│ ├── options-stack.mdx
│ ├── options-statusBar.mdx
│ ├── options-subtitle.mdx
│ ├── options-title.mdx
│ └── topBar-searchBar.mdx
│ └── docs
│ ├── community-libraries.mdx
│ ├── docs-Installing.mdx
│ ├── docs-advanced-navigation.mdx
│ ├── docs-app-launch.mdx
│ ├── docs-basic-navigation.mdx
│ ├── docs-before-you-start.mdx
│ ├── docs-bottomTabs.mdx
│ ├── docs-externalComponent.mdx
│ ├── docs-functional-components.mdx
│ ├── docs-modal.mdx
│ ├── docs-overlay.mdx
│ ├── docs-passing-data-to-components.mdx
│ ├── docs-playground-app.mdx
│ ├── docs-root.mdx
│ ├── docs-screen-lifecycle.mdx
│ ├── docs-showcases.mdx
│ ├── docs-sideMenu.mdx
│ ├── docs-stack.mdx
│ ├── meta-contributing.mdx
│ ├── sideMenu-disable.mdx
│ ├── stack-backButton.mdx
│ ├── stack-backNavigation.mdx
│ ├── stack-buttons.mdx
│ ├── stack-programmatically.mdx
│ ├── style-animations.mdx
│ ├── style-constants.mdx
│ ├── style-fonts.mdx
│ ├── style-orientation.mdx
│ ├── style-screens.mdx
│ ├── style-screens
│ ├── command-options.tsx
│ ├── merge-options.tsx
│ ├── static-options-class.tsx
│ ├── static-options-experiments.tsx
│ ├── static-options-fn.tsx
│ ├── static-options-props-class.tsx
│ └── static-options-props-fn.tsx
│ ├── style-statusbar.mdx
│ ├── style-theme.mdx
│ ├── style-theme
│ ├── layout-processor.tsx
│ ├── option-processor-defaults.tsx
│ └── option-processor.tsx
│ ├── third-party-mobx.mdx
│ ├── third-party-mobx
│ ├── counter-screen.tsx
│ ├── counter-store-decorator.tsx
│ ├── counter-store.tsx
│ └── persistent-data.tsx
│ ├── third-party-react-context.mdx
│ ├── third-party-react-context
│ ├── App-consumer.tsx
│ ├── App.tsx
│ ├── CounterContext.tsx
│ └── index.tsx
│ ├── third-party-typescript.mdx
│ └── third-party-typescript
│ ├── strongly-typed-components-class.tsx
│ ├── strongly-typed-components-fn.tsx
│ └── typed-props-in-commands.tsx
├── versioned_sidebars
├── version-6.12.2-sidebars.json
├── version-7.11.2-sidebars.json
├── version-7.25.4-sidebars.json
├── version-7.32.1-sidebars.json
├── version-7.37.0-sidebars.json
└── version-7.7.0-sidebars.json
└── versions.json
/.clang-format:
--------------------------------------------------------------------------------
1 | BasedOnStyle: LLVM
2 | IndentWidth: 4
3 | ColumnLimit: 100
4 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | lib/dist/
3 | website/
4 | autolink/
5 | scripts/
6 | e2e/
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | extends: ['@react-native', 'prettier', 'prettier/@typescript-eslint', 'prettier/react'],
4 | parser: '@typescript-eslint/parser',
5 | plugins: ['@typescript-eslint'],
6 | env: {
7 | jest: true,
8 | },
9 | };
10 |
11 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/documentation.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: 📚 Documentation
3 | about: Report an issue related to documentation
4 | labels: 'triage: documentation, needs triage'
5 | ---
6 |
7 | ## 📚 Documentation
8 |
9 | (A clear and concise description of what the issue is.)
10 |
11 | - [ ] Have you read the [Contributing Guidelines on issues](https://wix.github.io/react-native-navigation/docs/meta-contributing)?
12 |
13 | (Write your answer here.)
14 |
--------------------------------------------------------------------------------
/.github/workflows/require-label.yml:
--------------------------------------------------------------------------------
1 | name: Enforce PR label
2 |
3 | on:
4 | pull_request:
5 | types: [labeled, unlabeled, opened, edited, synchronize]
6 |
7 | jobs:
8 | enforce-label:
9 | runs-on: ubuntu-latest
10 | steps:
11 | - uses: yogevbd/enforce-label-action@2.2.2
12 | with:
13 | REQUIRED_LABELS_ANY: "type: accepted/bug,type: accepted/enhancement,Infrastructure,type: documentation"
14 |
--------------------------------------------------------------------------------
/.logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/.logo.png
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | legacy-peer-deps=true
2 | registry=https://registry.npmjs.org
3 | strict-ssl=true
4 |
--------------------------------------------------------------------------------
/.nvmrc:
--------------------------------------------------------------------------------
1 | 20
2 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "singleQuote": true,
4 | "trailingComma": "es5",
5 | "printWidth": 100
6 | }
7 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "editor.formatOnSave": true,
3 | "eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact"],
4 | "eslint.enable": true,
5 | "typescript.tsdk": "node_modules/typescript/lib",
6 | }
7 |
--------------------------------------------------------------------------------
/.watchmanconfig:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | See https://wix.github.io/react-native-navigation/docs/meta-contributing/
2 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
4 | ruby '>= 2.6.10'
5 |
6 | gem 'cocoapods', '>= 1.11.3'
7 |
--------------------------------------------------------------------------------
/Mock.ts:
--------------------------------------------------------------------------------
1 | export * from './lib/Mock';
2 |
--------------------------------------------------------------------------------
/autolink/postlink.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -e
3 |
4 | echo "RNN postlink !!!!!!!!!!!!!!!!!"
--------------------------------------------------------------------------------
/autolink/postlink/postLinkAndroid.js:
--------------------------------------------------------------------------------
1 | // @ts-check
2 | var { infon } = require('./log');
3 | var ApplicationLinker = require('./applicationLinker');
4 | var ActivityLinker = require('./activityLinker');
5 | var GradleLinker = require('./gradleLinker');
6 |
7 | module.exports = () => {
8 | infon('\nRunning Android postlink script.\n');
9 | new ApplicationLinker().link();
10 | new ActivityLinker().link();
11 | new GradleLinker().link();
12 | };
13 |
--------------------------------------------------------------------------------
/autolink/postlink/postLinkIOS.js:
--------------------------------------------------------------------------------
1 | // @ts-check
2 | var {infon} = require('./log');
3 | var AppDelegateLinker = require('./appDelegateLinker');
4 | var PodfileLinker = require('./podfileLinker');
5 | var PlistLinker = require('./plistLinker');
6 |
7 | module.exports = () => {
8 | infon('Running iOS postlink script.\n');
9 | new AppDelegateLinker().link();
10 | new PodfileLinker().link();
11 | new PlistLinker().link();
12 | };
13 |
--------------------------------------------------------------------------------
/autolink/postlink/stringUtils.js:
--------------------------------------------------------------------------------
1 | // @ts-check
2 |
3 | /**
4 | * @param {string} to
5 | * @param {number} fromIndex
6 | * @param {string} what
7 | */
8 | function insertString(to, fromIndex, what) {
9 | return to.substring(0, fromIndex) + what + to.substring(fromIndex, to.length);
10 | }
11 |
12 | module.exports = {
13 | insertString,
14 | };
15 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function (api) {
2 | api && api.cache(false);
3 | return {
4 | presets: ['module:@react-native/babel-preset'],
5 | plugins: [
6 | '@babel/plugin-proposal-export-namespace-from',
7 | '@babel/plugin-proposal-export-default-from',
8 | 'react-native-reanimated/plugin',
9 | ],
10 | };
11 | };
12 |
--------------------------------------------------------------------------------
/e2e/assets/buttons_navbar.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/e2e/assets/buttons_navbar.android.png
--------------------------------------------------------------------------------
/e2e/assets/buttons_navbar.ios.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/e2e/assets/buttons_navbar.ios.png
--------------------------------------------------------------------------------
/e2e/assets/overlay_banner_padding.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/e2e/assets/overlay_banner_padding.png
--------------------------------------------------------------------------------
/e2e/iOSUtils.js:
--------------------------------------------------------------------------------
1 | import { execSync } from 'shell-utils/src/exec';
2 |
3 | const utils = {
4 | setDemoMode: () => {
5 | execSync(
6 | 'xcrun simctl status_bar "iPhone 13" override --time "12:00" --batteryState charged --batteryLevel 100 --wifiBars 3 --cellularMode active --cellularBars 4'
7 | );
8 | },
9 | };
10 |
11 | export default utils;
12 |
--------------------------------------------------------------------------------
/e2e/init.js:
--------------------------------------------------------------------------------
1 | require('detox-testing-library-rnn-adapter').extendDetox();
2 |
--------------------------------------------------------------------------------
/index.e2e.js:
--------------------------------------------------------------------------------
1 | import "setimmediate";
2 | import { LogBox } from 'react-native';
3 |
4 | LogBox.ignoreAllLogs();
5 | require('./playground/index');
6 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | require('./playground/index');
2 |
--------------------------------------------------------------------------------
/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "allowJs": true,
4 | "allowSyntheticDefaultImports": true
5 | },
6 | "exclude": [
7 | "node_modules"
8 | ]
9 | }
--------------------------------------------------------------------------------
/lib/Mock/ComponentProps.tsx:
--------------------------------------------------------------------------------
1 | import ParentNode from './Layouts/ParentNode';
2 |
3 | export interface ComponentProps {
4 | layoutNode: ParentNode;
5 | backButton?: boolean;
6 | }
7 |
--------------------------------------------------------------------------------
/lib/Mock/Layouts/StackNode.ts:
--------------------------------------------------------------------------------
1 | import ParentNode from './ParentNode';
2 |
3 | export default class StackNode extends ParentNode {
4 | constructor(layout: any, parentNode?: ParentNode) {
5 | super(layout, 'Stack', parentNode);
6 | }
7 |
8 | getVisibleLayout() {
9 | return this.children[this.children.length - 1].getVisibleLayout();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/lib/Mock/connect.ts:
--------------------------------------------------------------------------------
1 | import { connect as remxConnect } from 'remx';
2 |
3 | export function connect(component: T): T {
4 | // @ts-ignore
5 | return remxConnect()(component);
6 | }
7 |
--------------------------------------------------------------------------------
/lib/Mock/constants.ts:
--------------------------------------------------------------------------------
1 | export const VISIBLE_SCREEN_TEST_ID = 'VISIBLE_SCREEN_TEST_ID';
2 | export const VISIBLE_OVERLAY_TEST_ID = 'VISIBLE_OVERLAY_TEST_ID';
3 |
--------------------------------------------------------------------------------
/lib/Mock/mocks/AppRegistryService.ts:
--------------------------------------------------------------------------------
1 | import { ComponentProvider } from 'react-native';
2 |
3 | export class AppRegistryService {
4 | registerComponent(_appKey: string, _getComponentFunc: ComponentProvider) {}
5 | }
6 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/options/LayoutAnimation.kt:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.options
2 |
3 | interface LayoutAnimation {
4 | val sharedElements: SharedElements
5 | val elementTransitions: ElementTransitions
6 | }
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/options/interpolators/DecelerateAccelerateInterpolator.kt:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.options.interpolators
2 |
3 | import android.animation.TimeInterpolator
4 | import kotlin.math.cos
5 |
6 | class DecelerateAccelerateInterpolator : TimeInterpolator {
7 | override fun getInterpolation(input: Float): Float {
8 | return (cos((input + 1) * Math.PI) / 2.0f).toFloat() + 0.5f
9 | }
10 | }
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/options/params/DensityPixel.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.options.params;
2 |
3 | import android.content.res.Resources;
4 |
5 | import com.reactnativenavigation.utils.UiUtils;
6 |
7 | public class DensityPixel extends Param {
8 |
9 | public DensityPixel(int value) {
10 | super((int) UiUtils.dpToPx(Resources.getSystem().getDisplayMetrics(), value));
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/options/params/FloatParam.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.options.params;
2 |
3 |
4 | public class FloatParam extends Param {
5 |
6 | public FloatParam(Float value) {
7 | super(value);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/options/params/Fraction.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.options.params;
2 |
3 | public class Fraction extends Param {
4 | public Fraction(double value) {
5 | super(value);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/options/params/NullBool.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.options.params;
2 |
3 | public class NullBool extends Bool {
4 | public NullBool() {
5 | super(null);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/options/params/NullColor.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.options.params;
2 |
3 | public class NullColor extends Colour {
4 |
5 | public NullColor() {
6 | super(0);
7 | }
8 |
9 | @Override
10 | public boolean hasValue() {
11 | return false;
12 | }
13 |
14 | @Override
15 | public String toString() {
16 | return "Null Color";
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/options/params/NullDensityPixel.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.options.params;
2 |
3 | public class NullDensityPixel extends DensityPixel {
4 | public NullDensityPixel() {
5 | super(0);
6 | }
7 |
8 | @Override
9 | public boolean hasValue() {
10 | return false;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/options/params/NullFloatParam.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.options.params;
2 |
3 |
4 | public class NullFloatParam extends FloatParam {
5 |
6 | public NullFloatParam() {
7 | super(0f);
8 | }
9 |
10 | @Override
11 | public boolean hasValue() {
12 | return false;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/options/params/NullFraction.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.options.params;
2 |
3 | public class NullFraction extends Fraction {
4 | public NullFraction() {
5 | super(0);
6 | }
7 |
8 | @Override
9 | public boolean hasValue() {
10 | return false;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/options/params/NullNumber.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.options.params;
2 |
3 | public class NullNumber extends Number {
4 | public NullNumber() {
5 | super(0);
6 | }
7 |
8 | @Override
9 | public boolean hasValue() {
10 | return false;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/options/params/NullText.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.options.params;
2 |
3 | public class NullText extends Text {
4 | public NullText() {
5 | super("");
6 | }
7 |
8 | @Override
9 | public boolean hasValue() {
10 | return false;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/options/params/Number.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.options.params;
2 |
3 | public class Number extends Param {
4 |
5 | public Number(int value) {
6 | super(value);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/react/BundleDownloadListenerProvider.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.react;
2 |
3 | public interface BundleDownloadListenerProvider {
4 | void setBundleLoaderListener(NavigationDevBundleDownloadListener listener);
5 | }
6 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/react/CommandListener.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.react;
2 |
3 | public interface CommandListener {
4 | void onSuccess(String childId);
5 |
6 | void onError(String message);
7 | }
8 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/react/NavigationDevBundleDownloadListener.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.react;
2 |
3 | public interface NavigationDevBundleDownloadListener {
4 | void onSuccess();
5 | }
6 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/utils/AnimationListener.kt:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.utils
2 |
3 | open class ScreenAnimationListener {
4 | open fun onStart() {}
5 |
6 | open fun onEnd() {}
7 |
8 | open fun onCancel() {}
9 | }
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/utils/Assertions.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.utils;
2 |
3 | import javax.annotation.Nullable;
4 |
5 | public class Assertions {
6 | public static void assertNotNull(@Nullable Object object) {
7 | if (object == null) throw new AssertionError();
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/utils/DeviceScreen.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.utils;
2 |
3 | import android.content.res.Resources;
4 |
5 | public class DeviceScreen {
6 | public static int width(Resources resources) {
7 | return resources.getDisplayMetrics().widthPixels;
8 | }
9 |
10 | public static int height(Resources resources) {
11 | return resources.getDisplayMetrics().heightPixels;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/utils/Now.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.utils;
2 |
3 | public class Now {
4 | public long now() {
5 | return System.currentTimeMillis();
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/utils/PrimitiveExt.kt:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.utils
2 |
3 | import android.content.res.Resources
4 |
5 | val Int.dp: Int
6 | get() = (this * Resources.getSystem().displayMetrics.density).toInt()
7 |
8 | val Float.dp: Int
9 | get() = (this * Resources.getSystem().displayMetrics.density).toInt()
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/utils/ReactImageView.kt:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.utils
2 |
3 | import com.facebook.react.views.image.ReactImageView
4 |
5 | fun ReactImageView.getCornerRadius(): Float {
6 | return hierarchy.roundingParams!!.cornersRadii!!.first()
7 | }
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/utils/ReactViewGroup.kt:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.utils
2 |
3 | import com.facebook.react.common.annotations.UnstableReactNativeAPI
4 | import com.facebook.react.uimanager.drawable.CSSBackgroundDrawable
5 | import com.facebook.react.views.view.ReactViewGroup
6 |
7 | @OptIn(UnstableReactNativeAPI::class)
8 | val ReactViewGroup.borderRadius: Float
9 | get() = (background as? CSSBackgroundDrawable)?.fullBorderWidth ?: 0f
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/utils/RoundingParams.kt:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.utils
2 |
3 | import com.facebook.drawee.generic.RoundingParams
4 |
5 | class RoundingParams {
6 | companion object {
7 | fun fromCornersRadii(radius: Float): RoundingParams =
8 | RoundingParams.fromCornersRadii(FloatArray(8) { radius })
9 | }
10 | }
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/utils/ViewParent.kt:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.utils
2 |
3 | import android.view.View
4 | import android.view.ViewParent
5 |
6 | val ViewParent.scaleX: Float
7 | get() = (this as View).scaleX
8 |
9 | val ViewParent.scaleY: Float
10 | get() = (this as View).scaleY
11 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/bottomtabs/TabSelector.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.viewcontrollers.bottomtabs;
2 |
3 | public interface TabSelector {
4 | void selectTab(int index);
5 | }
6 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/externalcomponent/ExternalComponent.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.viewcontrollers.externalcomponent;
2 |
3 | import android.view.View;
4 |
5 | public interface ExternalComponent {
6 | View asView();
7 | }
8 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/externalcomponent/ExternalComponentCreator.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.viewcontrollers.externalcomponent;
2 |
3 | import androidx.fragment.app.FragmentActivity;
4 |
5 | import com.facebook.react.ReactInstanceManager;
6 |
7 | import org.json.JSONObject;
8 |
9 | public interface ExternalComponentCreator {
10 | ExternalComponent create(FragmentActivity activity, JSONObject props);
11 | }
12 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/externalcomponent/ExternalComponentPresenter.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.viewcontrollers.externalcomponent;
2 |
3 | import com.reactnativenavigation.viewcontrollers.component.ComponentPresenterBase;
4 |
5 | public class ExternalComponentPresenter extends ComponentPresenterBase {
6 | }
7 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/stack/FabAnimator.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.viewcontrollers.stack;
2 |
3 |
4 | public interface FabAnimator {
5 | void show();
6 |
7 | void hide();
8 | }
9 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/Destroyable.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.viewcontrollers.viewcontroller;
2 |
3 | public interface Destroyable {
4 | void destroy();
5 | }
6 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/NoOpYellowBoxDelegate.kt:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.viewcontrollers.viewcontroller
2 |
3 | import android.content.Context
4 | import android.view.View
5 |
6 | class NoOpYellowBoxDelegate(context: Context) : YellowBoxDelegate(context) {
7 | override fun onChildViewAdded(parent: View, child: View?) {}
8 | }
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ReactViewCreator.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.viewcontrollers.viewcontroller;
2 |
3 | import android.content.Context;
4 |
5 | public interface ReactViewCreator {
6 |
7 | IReactView create(Context context, String componentId, String componentName);
8 | }
9 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/ViewControllerVisibilityInfo.kt:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.viewcontrollers.viewcontroller
2 |
3 | data class TopBarVisibilityInfo(val isShown: Boolean, val solidColor: Int?)
4 |
5 | data class ViewControllerVisibilityInfo(val topBarVisibilityInfo: TopBarVisibilityInfo?)
6 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/viewcontroller/overlay/OverlayLayout.kt:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.viewcontrollers.viewcontroller.overlay
2 |
3 | import android.content.Context
4 | import android.widget.FrameLayout
5 |
6 | class OverlayLayout(context: Context) : FrameLayout(context)
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/views/component/Component.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.views.component;
2 |
3 | public interface Component extends Renderable {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/views/component/ReactComponent.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.views.component;
2 |
3 | import com.reactnativenavigation.viewcontrollers.viewcontroller.IReactView;
4 |
5 | public interface ReactComponent extends Component, IReactView {
6 | }
7 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/views/component/Renderable.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.views.component;
2 |
3 | public interface Renderable {
4 | boolean isRendered();
5 | }
6 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/views/element/animators/ViewOutline.kt:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.views.element.animators
2 |
3 | data class ViewOutline(val width: Float, val height: Float, val radius: Float)
--------------------------------------------------------------------------------
/lib/android/app/src/main/java/com/reactnativenavigation/views/element/finder/ViewFinder.kt:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.views.element.finder
2 |
3 | import android.view.View
4 | import com.reactnativenavigation.viewcontrollers.viewcontroller.ViewController
5 |
6 | interface ViewFinder {
7 | suspend fun find(root: ViewController<*>, nativeId: String): View?
8 | }
--------------------------------------------------------------------------------
/lib/android/app/src/main/res/anim/slide_down.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
9 |
12 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/res/anim/slide_up.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
9 |
12 |
13 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/res/drawable/ic_arrow_back_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/res/drawable/ic_arrow_back_black_rtl_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/res/values/dimen.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Drawer Close
4 | Drawer Open
5 |
6 |
--------------------------------------------------------------------------------
/lib/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/lib/android/app/src/test/java/com/reactnativenavigation/fakes/IconResolverFake.kt:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.fakes
2 |
3 | import android.app.Activity
4 | import com.reactnativenavigation.mocks.ImageLoaderMock
5 | import com.reactnativenavigation.utils.ImageLoader
6 | import com.reactnativenavigation.viewcontrollers.stack.topbar.button.IconResolver
7 |
8 | class IconResolverFake(activity: Activity, imageLoader: ImageLoader = ImageLoaderMock.mock()) : IconResolver(activity, imageLoader)
--------------------------------------------------------------------------------
/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TitleBarReactViewCreatorMock.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.mocks;
2 |
3 | import com.reactnativenavigation.views.stack.topbar.titlebar.TitleBarReactViewCreator;
4 |
5 | public class TitleBarReactViewCreatorMock extends TitleBarReactViewCreator {
6 | public TitleBarReactViewCreatorMock() {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/lib/android/app/src/test/java/com/reactnativenavigation/mocks/TopBarBackgroundViewCreatorMock.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.mocks;
2 |
3 | import com.reactnativenavigation.views.stack.topbar.TopBarBackgroundViewCreator;
4 |
5 | public class TopBarBackgroundViewCreatorMock extends TopBarBackgroundViewCreator {
6 | public TopBarBackgroundViewCreatorMock() {
7 | }
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/lib/android/app/src/test/java/com/reactnativenavigation/utils/ViewHelper.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.utils;
2 |
3 | import android.view.View;
4 |
5 | public class ViewHelper {
6 | public static boolean isVisible(View view) {
7 | return view != null && view.getParent() != null && view.getVisibility() == View.VISIBLE;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/lib/android/app/src/test/java/com/reactnativenavigation/viewcontrollers/externalcomponent/SomeFragment.java:
--------------------------------------------------------------------------------
1 | package com.reactnativenavigation.viewcontrollers.externalcomponent;
2 |
3 | import android.app.Fragment;
4 |
5 | public class SomeFragment extends Fragment {
6 | public SomeFragment() {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/lib/android/app/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker:
--------------------------------------------------------------------------------
1 | mock-maker-inline
--------------------------------------------------------------------------------
/lib/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/lib/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/lib/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Thu Jan 04 11:01:32 EET 2018
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
7 |
--------------------------------------------------------------------------------
/lib/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/lib/ios/AnimatedImageView.h:
--------------------------------------------------------------------------------
1 | #import "AnimatedReactView.h"
2 | #import
3 |
4 | @interface AnimatedImageView : AnimatedReactView
5 |
6 | @property(nonatomic, strong) UIImageView *fromImageView;
7 | @property(nonatomic, strong) UIImageView *toImageView;
8 |
9 | @end
10 |
--------------------------------------------------------------------------------
/lib/ios/AnimatedTextView.h:
--------------------------------------------------------------------------------
1 | #import "AnimatedReactView.h"
2 | #import
3 |
4 | @interface AnimatedTextView : AnimatedReactView
5 |
6 | @property(nonatomic, strong) NSTextStorage *fromTextStorage;
7 | @property(nonatomic, strong) NSTextStorage *toTextStorage;
8 |
9 | @end
10 |
--------------------------------------------------------------------------------
/lib/ios/AnimatedUIImageView.h:
--------------------------------------------------------------------------------
1 | #import "AnimatedImageView.h"
2 |
3 | @interface AnimatedUIImageView : AnimatedImageView
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/AnimatedUIImageView.mm:
--------------------------------------------------------------------------------
1 | #import "AnimatedUIImageView.h"
2 |
3 | @implementation AnimatedUIImageView
4 |
5 | - (void)layoutSubviews {
6 | }
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/AnimatedViewFactory.h:
--------------------------------------------------------------------------------
1 | #import "AnimatedReactView.h"
2 | #import "SharedElementTransitionOptions.h"
3 | #import
4 |
5 | @interface AnimatedViewFactory : NSObject
6 |
7 | + (AnimatedReactView *)createFromElement:(UIView *)element
8 | toElement:(UIView *)toElement
9 | transitionOptions:(SharedElementTransitionOptions *)transitionOptions;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/AnimationObserver.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | typedef void (^RNNAnimationEndedBlock)(void);
4 |
5 | @interface AnimationObserver : NSObject
6 |
7 | + (AnimationObserver *)sharedObserver;
8 |
9 | @property(nonatomic) BOOL isAnimating;
10 |
11 | - (void)registerAnimationEndedBlock:(RNNAnimationEndedBlock)block;
12 |
13 | - (void)beginAnimation;
14 |
15 | - (void)endAnimation;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/lib/ios/BaseAnimator.h:
--------------------------------------------------------------------------------
1 | #import "DisplayLinkAnimatorDelegate.h"
2 | #import
3 |
4 | @interface BaseAnimator : NSObject
5 |
6 | @property(nonatomic, strong) UIView *view;
7 |
8 | @property(nonatomic, strong) NSArray> *animations;
9 |
10 | @end
11 |
--------------------------------------------------------------------------------
/lib/ios/Bool.h:
--------------------------------------------------------------------------------
1 | #import "Param.h"
2 |
3 | @interface Bool : Param
4 |
5 | - (instancetype)initWithBOOL:(BOOL)boolValue;
6 |
7 | - (BOOL)get;
8 |
9 | - (NSNumber *)getValue;
10 |
11 | - (BOOL)withDefault:(BOOL)value;
12 |
13 | - (bool)isFalse;
14 |
15 | + (instancetype)withValue:(BOOL)value;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/lib/ios/BoolParser.h:
--------------------------------------------------------------------------------
1 | #import "ReactNativeNavigation/Bool.h"
2 | #import
3 |
4 | @interface BoolParser : NSObject
5 |
6 | + (Bool *)parse:(NSDictionary *)json key:(NSString *)key;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/BoolParser.mm:
--------------------------------------------------------------------------------
1 | #import "BoolParser.h"
2 | #import "NullBool.h"
3 |
4 | @implementation BoolParser
5 |
6 | + (Bool *)parse:(NSDictionary *)json key:(NSString *)key {
7 | return json[key] ? [[Bool alloc] initWithValue:json[key]] : [NullBool new];
8 | }
9 |
10 | @end
11 |
--------------------------------------------------------------------------------
/lib/ios/BottomTabPresenterCreator.h:
--------------------------------------------------------------------------------
1 | #import "BottomTabPresenter.h"
2 | #import
3 |
4 | @interface BottomTabPresenterCreator : NSObject
5 |
6 | + (BottomTabPresenter *)createWithDefaultOptions:(RNNNavigationOptions *)defaultOptions;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/BottomTabsAfterInitialTabAttacher.h:
--------------------------------------------------------------------------------
1 | #import "BottomTabsBaseAttacher.h"
2 |
3 | @interface BottomTabsAfterInitialTabAttacher : BottomTabsBaseAttacher
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/BottomTabsAppearancePresenter.h:
--------------------------------------------------------------------------------
1 | #import "BottomTabsBasePresenter.h"
2 |
3 | API_AVAILABLE(ios(13.0))
4 | @interface BottomTabsAppearancePresenter : BottomTabsBasePresenter
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/lib/ios/BottomTabsAttachMode.h:
--------------------------------------------------------------------------------
1 | #import "Enum.h"
2 |
3 | typedef NS_ENUM(NSInteger, AttachMode) {
4 | BottomTabsAttachModeTogether = 0,
5 | BottomTabsAttachModeAfterInitialTab,
6 | BottomTabsAttachModeOnSwitchToTab
7 | };
8 |
9 | @interface BottomTabsAttachMode : Enum
10 |
11 | - (AttachMode)get;
12 |
13 | - (AttachMode)withDefault:(id)defaultValue;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/lib/ios/BottomTabsAttachModeFactory.h:
--------------------------------------------------------------------------------
1 | #import "BottomTabsBaseAttacher.h"
2 | #import "RNNNavigationOptions.h"
3 | #import
4 |
5 | @interface BottomTabsAttachModeFactory : NSObject
6 |
7 | - (instancetype)initWithDefaultOptions:(RNNNavigationOptions *)defaultOptions;
8 |
9 | - (BottomTabsBaseAttacher *)fromOptions:(RNNNavigationOptions *)options;
10 |
11 | @property(nonatomic, retain) RNNNavigationOptions *defaultOptions;
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/lib/ios/BottomTabsBaseAttacher.h:
--------------------------------------------------------------------------------
1 | #import "UIViewController+LayoutProtocol.h"
2 | #import
3 |
4 | @interface BottomTabsBaseAttacher : NSObject
5 |
6 | - (void)attach:(UITabBarController *)bottomTabsController;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/BottomTabsBaseAttacher.mm:
--------------------------------------------------------------------------------
1 | #import "BottomTabsBaseAttacher.h"
2 |
3 | @implementation BottomTabsBaseAttacher
4 |
5 | - (void)attach:(UITabBarController *)bottomTabsController {
6 | }
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/BottomTabsOnSwitchToTabAttacher.h:
--------------------------------------------------------------------------------
1 | #import "BottomTabsBaseAttacher.h"
2 |
3 | @interface BottomTabsOnSwitchToTabAttacher : BottomTabsBaseAttacher
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/BottomTabsOnSwitchToTabAttacher.mm:
--------------------------------------------------------------------------------
1 | #import "BottomTabsOnSwitchToTabAttacher.h"
2 |
3 | @implementation BottomTabsOnSwitchToTabAttacher
4 |
5 | - (void)attach:(UITabBarController *)bottomTabsController {
6 | [bottomTabsController.selectedViewController setReactViewReadyCallback:^{
7 | [bottomTabsController readyForPresentation];
8 | }];
9 |
10 | [bottomTabsController.selectedViewController render];
11 | }
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/lib/ios/BottomTabsPresenterCreator.h:
--------------------------------------------------------------------------------
1 | #import "RNNBottomTabsPresenter.h"
2 | #import
3 |
4 | @interface BottomTabsPresenterCreator : NSObject
5 |
6 | + (BottomTabsBasePresenter *)createWithDefaultOptions:(RNNNavigationOptions *)defaultOptions;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/BottomTabsTogetherAttacher.h:
--------------------------------------------------------------------------------
1 | #import "BottomTabsBaseAttacher.h"
2 |
3 | @interface BottomTabsTogetherAttacher : BottomTabsBaseAttacher
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/Color.h:
--------------------------------------------------------------------------------
1 | #import "Param.h"
2 | #import
3 |
4 | @interface Color : Param
5 |
6 | + (instancetype)withColor:(UIColor *)value;
7 |
8 | - (instancetype)initWithValue:(UIColor *)value;
9 |
10 | - (UIColor *)get;
11 |
12 | - (UIColor *)withDefault:(id)defaultValue;
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/lib/ios/ColorParser.h:
--------------------------------------------------------------------------------
1 | #import "ReactNativeNavigation/Color.h"
2 | #import
3 |
4 | @interface ColorParser : NSObject
5 |
6 | + (Color *)parse:(NSDictionary *)json key:(NSString *)key;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/ColorParser.mm:
--------------------------------------------------------------------------------
1 | #import "ColorParser.h"
2 | #import "NoColor.h"
3 | #import "NullColor.h"
4 | #import
5 |
6 | @implementation ColorParser
7 |
8 | + (Color *)parse:(NSDictionary *)json key:(NSString *)key {
9 | if ([json[key] isEqual:@"NoColor"])
10 | return [NoColor new];
11 | else if (json[key])
12 | return [Color withValue:[RCTConvert UIColor:json[key]]];
13 |
14 | return [NullColor new];
15 | }
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/lib/ios/Constants.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | #ifdef RCT_NEW_ARCH_ENABLED
5 | #import
6 | #endif
7 |
8 | @interface Constants : NSObject
9 |
10 | + (NSDictionary *)getConstants;
11 |
12 | #ifdef RCT_NEW_ARCH_ENABLED
13 | + (JS::NativeRNNTurboModule::Constants::Builder::Input)getTurboConstants;
14 | #endif
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/lib/ios/CornerRadiusTransition.h:
--------------------------------------------------------------------------------
1 | //
2 | // CornerRadiusTransition.h
3 | // Pods
4 | //
5 | // Created by Marc Rousavy on 02.09.20.
6 | //
7 |
8 | #import "ElementBaseTransition.h"
9 | #import "FloatTransition.h"
10 |
11 | @interface CornerRadiusTransition : FloatTransition
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/lib/ios/DeprecationOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNOptions.h"
2 |
3 | @interface DeprecationOptions : RNNOptions
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/DeprecationOptions.mm:
--------------------------------------------------------------------------------
1 | #import "DeprecationOptions.h"
2 |
3 | @implementation DeprecationOptions
4 |
5 | - (instancetype)initWithDict:(NSDictionary *)dict {
6 | self = [super initWithDict:dict];
7 | return self;
8 | }
9 |
10 | - (void)mergeOptions:(DeprecationOptions *)options {
11 | }
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/lib/ios/DictionaryParser.h:
--------------------------------------------------------------------------------
1 | #import "RNNDictionary.h"
2 | #import
3 |
4 | @interface DictionaryParser : NSObject
5 |
6 | + (RNNDictionary *)parse:(NSDictionary *)json key:(NSString *)key;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/DictionaryParser.mm:
--------------------------------------------------------------------------------
1 | #import "DictionaryParser.h"
2 | #import "NullDictionary.h"
3 |
4 | @implementation DictionaryParser
5 |
6 | + (RNNDictionary *)parse:(NSDictionary *)json key:(NSString *)key {
7 | return json[key] ? [[RNNDictionary alloc] initWithValue:json[key]] : [NullDictionary new];
8 | }
9 |
10 | @end
11 |
--------------------------------------------------------------------------------
/lib/ios/DisplayLinkAnimation.h:
--------------------------------------------------------------------------------
1 | #import "Interpolator.h"
2 | #import "RNNInterpolator.h"
3 | #import
4 |
5 | @protocol DisplayLinkAnimation
6 |
7 | @required
8 |
9 | - (CATransform3D)animateWithProgress:(CGFloat)p;
10 |
11 | - (void)end;
12 |
13 | - (NSTimeInterval)duration;
14 |
15 | - (NSTimeInterval)startDelay;
16 |
17 | - (id)interpolator;
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/lib/ios/DisplayLinkAnimatorDelegate.h:
--------------------------------------------------------------------------------
1 | #import "DisplayLinkAnimation.h"
2 | #import
3 |
4 | @protocol DisplayLinkAnimatorDelegate
5 |
6 | @required
7 |
8 | - (void)updateAnimations:(NSTimeInterval)elapsed;
9 |
10 | - (NSTimeInterval)maxDuration;
11 |
12 | @optional
13 | - (void)end;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/lib/ios/DotIndicatorOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNOptions.h"
2 |
3 | @interface DotIndicatorOptions : RNNOptions
4 |
5 | @property(nonatomic, strong) Color *color;
6 | @property(nonatomic, strong) Number *size;
7 | @property(nonatomic, strong) Bool *visible;
8 |
9 | - (bool)hasValue;
10 |
11 | @end
--------------------------------------------------------------------------------
/lib/ios/DotIndicatorParser.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @class DotIndicatorOptions;
4 |
5 | @interface DotIndicatorParser : NSObject
6 | + (DotIndicatorOptions *)parse:(NSDictionary *)dict;
7 | @end
--------------------------------------------------------------------------------
/lib/ios/DotIndicatorParser.mm:
--------------------------------------------------------------------------------
1 | #import "DotIndicatorParser.h"
2 | #import "DotIndicatorOptions.h"
3 |
4 | @implementation DotIndicatorParser
5 | + (DotIndicatorOptions *)parse:(NSDictionary *)dict {
6 | return [[DotIndicatorOptions alloc] initWithDict:dict[@"dotIndicator"]];
7 | }
8 |
9 | @end
--------------------------------------------------------------------------------
/lib/ios/Double.h:
--------------------------------------------------------------------------------
1 | #import "Param.h"
2 |
3 | @interface Double : Param
4 |
5 | + (instancetype)withValue:(double)value;
6 |
7 | - (double)get;
8 |
9 | - (double)withDefault:(double)defaultValue;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/DoubleParser.h:
--------------------------------------------------------------------------------
1 | #import "Double.h"
2 | #import
3 |
4 | @interface DoubleParser : NSObject
5 |
6 | + (Double *)parse:(NSDictionary *)json key:(NSString *)key;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/DoubleParser.mm:
--------------------------------------------------------------------------------
1 | #import "DoubleParser.h"
2 | #import "NullDouble.h"
3 |
4 | @implementation DoubleParser
5 |
6 | + (Double *)parse:(NSDictionary *)json key:(NSString *)key {
7 | return json[key] ? [[Double alloc] initWithValue:json[key]] : [NullDouble new];
8 | }
9 |
10 | @end
11 |
--------------------------------------------------------------------------------
/lib/ios/ElementAlphaTransition.h:
--------------------------------------------------------------------------------
1 | #import "FloatTransition.h"
2 |
3 | @interface ElementAlphaTransition : FloatTransition
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/ElementFrameTransition.h:
--------------------------------------------------------------------------------
1 | #import "ElementBaseTransition.h"
2 | #import
3 |
4 | @interface ElementFrameTransition : ElementBaseTransition
5 |
6 | @property(nonatomic) CGRect from;
7 | @property(nonatomic) CGRect to;
8 |
9 | @end
10 |
--------------------------------------------------------------------------------
/lib/ios/ElementFrameTransition.mm:
--------------------------------------------------------------------------------
1 | #import "ElementFrameTransition.h"
2 |
3 | @implementation ElementFrameTransition
4 |
5 | - (CATransform3D)animateWithProgress:(CGFloat)p {
6 | self.view.frame = [RNNInterpolator fromRect:self.from
7 | toRect:self.to
8 | precent:p
9 | interpolator:self.interpolator];
10 | return CATransform3DIdentity;
11 | }
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/lib/ios/ElementHorizontalTransition.h:
--------------------------------------------------------------------------------
1 | #import "FloatTransition.h"
2 | #import
3 |
4 | @interface ElementHorizontalTransition : FloatTransition
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/lib/ios/ElementTransitionOptions.h:
--------------------------------------------------------------------------------
1 | #import "TransitionOptions.h"
2 |
3 | @interface ElementTransitionOptions : TransitionOptions
4 |
5 | @property(nonatomic, strong) NSString *elementId;
6 |
7 | @end
8 |
--------------------------------------------------------------------------------
/lib/ios/ElementTransitionOptions.mm:
--------------------------------------------------------------------------------
1 | #import "ElementTransitionOptions.h"
2 |
3 | @implementation ElementTransitionOptions
4 |
5 | - (instancetype)initWithDict:(NSDictionary *)dict {
6 | self = [super initWithDict:dict];
7 |
8 | self.elementId = dict[@"id"];
9 |
10 | return self;
11 | }
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/lib/ios/ElementVerticalTransition.h:
--------------------------------------------------------------------------------
1 | #import "FloatTransition.h"
2 | #import
3 |
4 | @interface ElementVerticalTransition : FloatTransition
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/lib/ios/Enum.h:
--------------------------------------------------------------------------------
1 | #import "Param.h"
2 | #import
3 |
4 | @interface Enum : Param
5 |
6 | - (int)get;
7 |
8 | - (int)withDefault:(int)defaultValue;
9 |
10 | - (int)convertString:(NSString *)string;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/lib/ios/Enum.mm:
--------------------------------------------------------------------------------
1 | #import "Enum.h"
2 |
3 | @implementation Enum
4 |
5 | - (int)get {
6 | return [self convertString:super.get];
7 | }
8 |
9 | - (int)withDefault:(int)defaultValue {
10 | NSString *value = [super withDefault:nil];
11 | if (value) {
12 | return [self convertString:value];
13 | } else {
14 | return defaultValue;
15 | }
16 | }
17 |
18 | - (int)convertString:(NSString *)string {
19 | return 0;
20 | }
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/lib/ios/EnumParser.h:
--------------------------------------------------------------------------------
1 | #import "Enum.h"
2 | #import
3 |
4 | @interface EnumParser : NSObject
5 |
6 | + (Enum *)parse:(NSDictionary *)json key:(NSString *)key ofClass:(Class)clazz;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/EnumParser.mm:
--------------------------------------------------------------------------------
1 | #import "EnumParser.h"
2 | #import "NullEnum.h"
3 |
4 | @implementation EnumParser
5 |
6 | + (Enum *)parse:(NSDictionary *)json key:(NSString *)key ofClass:(Class)clazz {
7 | if (json[key]) {
8 | return [json[key] isKindOfClass:[NSString class]] ? [[clazz alloc] initWithValue:json[key]]
9 | : [NullEnum new];
10 | }
11 | return [NullEnum new];
12 | }
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/lib/ios/HorizontalScaleTransition.h:
--------------------------------------------------------------------------------
1 | #import "FloatTransition.h"
2 | #import
3 |
4 | @interface HorizontalScaleTransition : FloatTransition
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/lib/ios/HorizontalTranslationTransition.h:
--------------------------------------------------------------------------------
1 | #import "FloatTransition.h"
2 | #import
3 |
4 | @interface HorizontalTranslationTransition : FloatTransition
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/lib/ios/Image.h:
--------------------------------------------------------------------------------
1 | #import "Param.h"
2 | #import
3 |
4 | @interface Image : Param
5 |
6 | - (UIImage *)get;
7 |
8 | - (UIImage *)withDefault:(UIImage *)defaultValue;
9 |
10 | @end
11 |
--------------------------------------------------------------------------------
/lib/ios/Image.mm:
--------------------------------------------------------------------------------
1 | #import "Image.h"
2 |
3 | @interface Image ()
4 |
5 | @property(nonatomic, retain) UIImage *value;
6 |
7 | @end
8 |
9 | @implementation Image
10 |
11 | - (UIImage *)get {
12 | return self.value;
13 | }
14 |
15 | - (UIImage *)withDefault:(UIImage *)defaultValue {
16 | return [super withDefault:defaultValue];
17 | }
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/lib/ios/ImageParser.h:
--------------------------------------------------------------------------------
1 | #import "Image.h"
2 | #import
3 |
4 | @interface ImageParser : NSObject
5 |
6 | + (Image *)parse:(NSDictionary *)json key:(NSString *)key;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/IntNumber.h:
--------------------------------------------------------------------------------
1 | #import "Param.h"
2 |
3 | @interface IntNumber : Param
4 |
5 | - (NSUInteger)get;
6 |
7 | - (NSUInteger)withDefault:(NSUInteger)defaultValue;
8 |
9 | @end
10 |
--------------------------------------------------------------------------------
/lib/ios/IntNumberParser.h:
--------------------------------------------------------------------------------
1 | #import "IntNumber.h"
2 | #import
3 |
4 | @interface IntNumberParser : NSObject
5 |
6 | + (IntNumber *)parse:(NSDictionary *)json key:(NSString *)key;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/IntNumberParser.mm:
--------------------------------------------------------------------------------
1 | #import "IntNumberParser.h"
2 | #import "NullIntNumber.h"
3 |
4 | @implementation IntNumberParser
5 |
6 | + (IntNumber *)parse:(NSDictionary *)json key:(NSString *)key {
7 | return json[key] ? [[IntNumber alloc] initWithValue:json[key]] : [NullIntNumber new];
8 | }
9 |
10 | @end
11 |
--------------------------------------------------------------------------------
/lib/ios/InteractivePopGestureDelegate.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 |
4 | @interface InteractivePopGestureDelegate : NSObject
5 |
6 | @property(nonatomic, weak) UINavigationController *navigationController;
7 | @property(nonatomic, weak) id originalDelegate;
8 |
9 | @property(nonatomic) BOOL enabled;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/Interpolators/AccelerateDecelerateInterpolator.h:
--------------------------------------------------------------------------------
1 | //
2 | // AccelerateDecelerateInterpolator.h
3 | // ReactNativeNavigation
4 | //
5 | // Created by Marc Rousavy on 06.10.20.
6 | // Copyright © 2020 Wix. All rights reserved.
7 | //
8 |
9 | #import "Interpolator.h"
10 | #import
11 |
12 | @interface AccelerateDecelerateInterpolator : NSObject
13 |
14 | - (instancetype)init;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/lib/ios/Interpolators/AccelerateInterpolator.h:
--------------------------------------------------------------------------------
1 | //
2 | // AccelerateInterpolator.h
3 | // ReactNativeNavigation
4 | //
5 | // Created by Marc Rousavy on 06.10.20.
6 | // Copyright © 2020 Wix. All rights reserved.
7 | //
8 |
9 | #import "Interpolator.h"
10 | #import
11 |
12 | @interface AccelerateInterpolator : NSObject
13 |
14 | @property(readonly) CGFloat factor;
15 |
16 | - (instancetype)init:(CGFloat)factor;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/lib/ios/Interpolators/DecelerateAccelerateInterpolator.h:
--------------------------------------------------------------------------------
1 | //
2 | // DecelerateAccelerateInterpolator.h
3 | // ReactNativeNavigation
4 | //
5 | // Created by Marc Rousavy on 06.10.20.
6 | // Copyright © 2020 Wix. All rights reserved.
7 | //
8 |
9 | #import "Interpolator.h"
10 | #import
11 |
12 | @interface DecelerateAccelerateInterpolator : NSObject
13 |
14 | - (instancetype)init;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/lib/ios/Interpolators/DecelerateInterpolator.h:
--------------------------------------------------------------------------------
1 | //
2 | // DecelerateInterpolator.h
3 | // ReactNativeNavigation
4 | //
5 | // Created by Marc Rousavy on 06.10.20.
6 | // Copyright © 2020 Wix. All rights reserved.
7 | //
8 |
9 | #import "Interpolator.h"
10 | #import
11 |
12 | @interface DecelerateInterpolator : NSObject
13 |
14 | @property(readonly) CGFloat factor;
15 |
16 | - (instancetype)init:(CGFloat)factor;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/lib/ios/Interpolators/FastOutSlowIn.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | #import "Interpolator.h"
4 | #import
5 |
6 | @interface FastOutSlowIn : NSObject
7 |
8 | @end
--------------------------------------------------------------------------------
/lib/ios/Interpolators/LinearInterpolator.h:
--------------------------------------------------------------------------------
1 | //
2 | // LinearInterpolator.h
3 | // ReactNativeNavigation
4 | //
5 | // Created by Marc Rousavy on 25.09.20.
6 | // Copyright © 2020 Wix. All rights reserved.
7 | //
8 |
9 | #import "Interpolator.h"
10 | #import
11 |
12 | @interface LinearInterpolator : NSObject
13 |
14 | - (instancetype)init;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/lib/ios/Interpolators/OvershootInterpolator.h:
--------------------------------------------------------------------------------
1 | //
2 | // OvershootInterpolator.h
3 | // ReactNativeNavigation
4 | //
5 | // Created by Marc Rousavy on 25.09.20.
6 | // Copyright © 2020 Wix. All rights reserved.
7 | //
8 |
9 | #import "Interpolator.h"
10 | #import
11 |
12 | @interface OvershootInterpolator : NSObject
13 |
14 | @property(readonly) CGFloat tension;
15 |
16 | - (instancetype)init:(CGFloat)tension;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/lib/ios/LNInterpolable.mm:
--------------------------------------------------------------------------------
1 | //
2 | // LNInterpolable.c
3 | //
4 | // Created by Leo Natan on 04/10/2016.
5 | // Copyright © 2016 Leo Natan. All rights reserved.
6 | //
7 |
8 | #import "LNInterpolable.h"
9 |
10 | LNInterpolationBehavior const LNInterpolationBehaviorUseDefault =
11 | @"LNInterpolationBehaviorUseDefault";
12 |
13 | double LNLinearInterpolate(double from, double to, double p) { return from + p * (to - from); }
14 |
--------------------------------------------------------------------------------
/lib/ios/NSArray+utils.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface NSArray (utils)
4 |
5 | - (NSArray *)intersect:(NSArray *)array withPropertyName:(NSString *)propertyName;
6 |
7 | - (NSArray *)difference:(NSArray *)array withPropertyName:(NSString *)propertyName;
8 |
9 | - (NSArray *)mapObjectsUsingBlock:(id (^)(id obj, NSUInteger idx))block;
10 |
11 | - (NSArray *)sortByPropertyName:(NSString *)propertyName;
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/lib/ios/NoColor.h:
--------------------------------------------------------------------------------
1 | #import "Color.h"
2 |
3 | @interface NoColor : Color
4 |
5 | @end
--------------------------------------------------------------------------------
/lib/ios/NoColor.mm:
--------------------------------------------------------------------------------
1 | #import "NoColor.h"
2 |
3 | @implementation NoColor
4 |
5 | - (BOOL)hasValue {
6 | return YES;
7 | }
8 |
9 | - (UIColor *)get {
10 | return nil;
11 | }
12 |
13 | - (UIColor *)withDefault:(id)defaultValue {
14 | return nil;
15 | }
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/lib/ios/NullBool.h:
--------------------------------------------------------------------------------
1 | #import "Bool.h"
2 |
3 | @interface NullBool : Bool
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/NullBool.mm:
--------------------------------------------------------------------------------
1 | #import "NullBool.h"
2 |
3 | @implementation NullBool
4 |
5 | - (instancetype)init {
6 | self = [super initWithValue:nil];
7 |
8 | return self;
9 | }
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/NullColor.h:
--------------------------------------------------------------------------------
1 | #import "Color.h"
2 |
3 | @interface NullColor : Color
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/NullColor.mm:
--------------------------------------------------------------------------------
1 | #import "NullColor.h"
2 |
3 | @implementation NullColor
4 |
5 | - (instancetype)init {
6 | self = [super initWithValue:nil];
7 | return self;
8 | }
9 |
10 | @end
11 |
--------------------------------------------------------------------------------
/lib/ios/NullDictionary.h:
--------------------------------------------------------------------------------
1 | #import "RNNDictionary.h"
2 |
3 | @interface NullDictionary : RNNDictionary
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/NullDictionary.mm:
--------------------------------------------------------------------------------
1 | #import "NullDictionary.h"
2 |
3 | @implementation NullDictionary
4 |
5 | - (instancetype)init {
6 | self = [super initWithValue:nil];
7 | return self;
8 | }
9 |
10 | @end
11 |
--------------------------------------------------------------------------------
/lib/ios/NullDouble.h:
--------------------------------------------------------------------------------
1 | #import "Double.h"
2 |
3 | @interface NullDouble : Double
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/NullDouble.mm:
--------------------------------------------------------------------------------
1 | #import "NullDouble.h"
2 |
3 | @implementation NullDouble
4 |
5 | - (instancetype)init {
6 | self = [super initWithValue:nil];
7 |
8 | return self;
9 | }
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/NullEnum.h:
--------------------------------------------------------------------------------
1 | #import "Enum.h"
2 |
3 | @interface NullEnum : Enum
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/NullEnum.mm:
--------------------------------------------------------------------------------
1 | #import "NullEnum.h"
2 |
3 | @implementation NullEnum
4 |
5 | - (instancetype)init {
6 | self = [super initWithValue:nil];
7 | return self;
8 | }
9 |
10 | @end
11 |
--------------------------------------------------------------------------------
/lib/ios/NullImage.h:
--------------------------------------------------------------------------------
1 | #import "Image.h"
2 |
3 | @interface NullImage : Image
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/NullImage.mm:
--------------------------------------------------------------------------------
1 | #import "NullImage.h"
2 |
3 | @implementation NullImage
4 |
5 | - (instancetype)init {
6 | self = [super initWithValue:nil];
7 |
8 | return self;
9 | }
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/NullIntNumber.h:
--------------------------------------------------------------------------------
1 | #import "IntNumber.h"
2 |
3 | @interface NullIntNumber : IntNumber
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/NullIntNumber.mm:
--------------------------------------------------------------------------------
1 | #import "NullIntNumber.h"
2 |
3 | @implementation NullIntNumber
4 |
5 | - (instancetype)init {
6 | self = [super initWithValue:nil];
7 |
8 | return self;
9 | }
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/NullNumber.h:
--------------------------------------------------------------------------------
1 | #import "Number.h"
2 |
3 | @interface NullNumber : Number
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/NullNumber.mm:
--------------------------------------------------------------------------------
1 | #import "NullNumber.h"
2 |
3 | @implementation NullNumber
4 |
5 | - (instancetype)init {
6 | self = [super initWithValue:nil];
7 | return self;
8 | }
9 |
10 | @end
11 |
--------------------------------------------------------------------------------
/lib/ios/NullText.h:
--------------------------------------------------------------------------------
1 | #import "Text.h"
2 |
3 | @interface NullText : Text
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/NullText.mm:
--------------------------------------------------------------------------------
1 | #import "NullText.h"
2 |
3 | @implementation NullText
4 |
5 | - (instancetype)init {
6 | self = [super initWithValue:nil];
7 | return self;
8 | }
9 |
10 | @end
11 |
--------------------------------------------------------------------------------
/lib/ios/Number.h:
--------------------------------------------------------------------------------
1 | #import "Param.h"
2 | #import
3 | #import
4 |
5 | @interface Number : Param
6 |
7 | - (NSNumber *)get;
8 |
9 | - (NSNumber *)withDefault:(NSNumber *)defaultValue;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/Number.mm:
--------------------------------------------------------------------------------
1 | #import "Number.h"
2 |
3 | @interface Number ()
4 |
5 | @property(nonatomic, retain) NSNumber *value;
6 |
7 | @end
8 |
9 | @implementation Number
10 |
11 | - (NSNumber *)get {
12 | return [super get];
13 | }
14 |
15 | - (NSNumber *)withDefault:(NSNumber *)defaultValue {
16 | return [super withDefault:defaultValue];
17 | }
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/lib/ios/NumberParser.h:
--------------------------------------------------------------------------------
1 | #import "ReactNativeNavigation/Number.h"
2 | #import
3 |
4 | @interface NumberParser : NSObject
5 |
6 | + (Number *)parse:(NSDictionary *)json key:(NSString *)key;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/NumberParser.mm:
--------------------------------------------------------------------------------
1 | #import "NumberParser.h"
2 | #import "NullNumber.h"
3 |
4 | @implementation NumberParser
5 |
6 | + (Number *)parse:(NSDictionary *)json key:(NSString *)key {
7 | return json[key] ? [[Number alloc] initWithValue:json[key]] : [NullNumber new];
8 | }
9 |
10 | @end
11 |
--------------------------------------------------------------------------------
/lib/ios/OptionsArrayParser.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface OptionsArrayParser : NSObject
4 |
5 | + (NSArray *)parse:(NSDictionary *)json key:(NSString *)key ofClass:(Class)className;
6 |
7 | @end
8 |
--------------------------------------------------------------------------------
/lib/ios/Param.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface Param : NSObject
4 |
5 | + (instancetype)withValue:(id)value;
6 |
7 | - (instancetype)initWithValue:(id)value;
8 |
9 | - (id)get;
10 |
11 | - (id)withDefault:(id)defaultValue;
12 |
13 | - (BOOL)hasValue;
14 |
15 | - (void)consume;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/lib/ios/RCTConvert+Interpolation.h:
--------------------------------------------------------------------------------
1 | #import "Interpolator.h"
2 | #import
3 |
4 | @interface RCTConvert (Interpolation)
5 |
6 | + (id)Interpolator:(id)json;
7 |
8 | + (id)interpolatorFromJson:(id)json;
9 |
10 | + (id)defaultInterpolator;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/lib/ios/RCTConvert+SideMenuOpenGestureMode.h:
--------------------------------------------------------------------------------
1 | #import "MMDrawerController.h"
2 | #import
3 |
4 | @interface RCTConvert (SideMenuOpenGestureMode)
5 |
6 | + (MMOpenDrawerGestureMode)MMOpenDrawerGestureMode:(id)json;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/RCTConvert+SideMenuOpenGestureMode.mm:
--------------------------------------------------------------------------------
1 | #import "RCTConvert+SideMenuOpenGestureMode.h"
2 |
3 | @implementation RCTConvert (SideMenuOpenGestureMode)
4 |
5 | RCT_ENUM_CONVERTER(MMOpenDrawerGestureMode, (@{
6 | @"entireScreen" : @(MMOpenDrawerGestureModeAll),
7 | @"bezel" : @(MMOpenDrawerGestureModeBezelPanningCenterView),
8 | }),
9 | MMOpenDrawerGestureModeAll, integerValue)
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/RCTConvert+UIBarButtonSystemItem.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface RCTConvert (UIBarButtonSystemItem)
5 |
6 | + (UIBarButtonSystemItem)UIBarButtonSystemItem:(id)json;
7 |
8 | @end
--------------------------------------------------------------------------------
/lib/ios/RCTConvert+UIFontWeight.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface RCTConvert (UIFontWeight)
5 |
6 | + (UIFontWeight)UIFontWeight:(id)json;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/RNNBackgroundOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNComponentOptions.h"
2 | #import "RNNOptions.h"
3 |
4 | @interface RNNBackgroundOptions : RNNOptions
5 |
6 | @property(nonatomic, strong) Color *color;
7 | @property(nonatomic, strong) Bool *translucent;
8 | @property(nonatomic, strong) Bool *blur;
9 | @property(nonatomic, strong) Bool *clipToBounds;
10 | @property(nonatomic, strong) RNNComponentOptions *component;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/lib/ios/RNNBottomTabsPresenter.h:
--------------------------------------------------------------------------------
1 | #import "BottomTabsBasePresenter.h"
2 |
3 | @interface RNNBottomTabsPresenter : BottomTabsBasePresenter
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/RNNBridgeEventEmitter.h:
--------------------------------------------------------------------------------
1 | #import "RNNEventEmitter.h"
2 |
3 | @interface RNNBridgeEventEmitter : RNNEventEmitter
4 | @end
5 |
--------------------------------------------------------------------------------
/lib/ios/RNNBridgeEventEmitter.mm:
--------------------------------------------------------------------------------
1 | #import "RNNBridgeEventEmitter.h"
2 |
3 | @implementation RNNBridgeEventEmitter {}
4 |
5 | RCT_EXPORT_MODULE()
6 |
7 | @end
8 |
--------------------------------------------------------------------------------
/lib/ios/RNNBridgeModule.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 | #import
4 |
5 | #import "RNNCommandsHandler.h"
6 |
7 | @interface RNNBridgeModule : NSObject
8 |
9 | - (instancetype)initWithCommandsHandler:(RNNCommandsHandler *)commandsHandler;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/RNNButtonsParser.h:
--------------------------------------------------------------------------------
1 | #import "RNNButtonOptions.h"
2 | #import
3 |
4 | @interface RNNButtonsParser : NSObject
5 |
6 | + (NSArray *)parse:(NSDictionary *)buttonsDictionary;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/RNNComponentOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNOptions.h"
2 |
3 | @interface RNNComponentOptions : RNNOptions
4 |
5 | @property(nonatomic, strong) Text *name;
6 | @property(nonatomic, strong) Text *componentId;
7 | @property(nonatomic, strong) Text *alignment;
8 | @property(nonatomic, strong) Bool *waitForRender;
9 |
10 | - (BOOL)hasValue;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/lib/ios/RNNComponentRootView.h:
--------------------------------------------------------------------------------
1 | #import "RNNReactView.h"
2 |
3 | @interface RNNComponentRootView : RNNReactView
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/RNNComponentView.h:
--------------------------------------------------------------------------------
1 | #import "RNNReactView.h"
2 |
3 | @interface RNNComponentView : RNNReactView
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/RNNComponentView.mm:
--------------------------------------------------------------------------------
1 | #import "RNNComponentView.h"
2 |
3 | @implementation RNNComponentView {
4 | }
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/lib/ios/RNNConvert.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface RNNConvert : NSObject
5 |
6 | + (UIModalPresentationStyle)UIModalPresentationStyle:(id)json;
7 |
8 | + (UIModalTransitionStyle)UIModalTransitionStyle:(id)json;
9 |
10 | + (UIBarStyle)UIBarStyle:(id)json;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/lib/ios/RNNDefaultOptionsHelper.h:
--------------------------------------------------------------------------------
1 | #import "RNNLayoutProtocol.h"
2 | #import
3 |
4 | @interface RNNDefaultOptionsHelper : NSObject
5 |
6 | + (void)recursivelySetDefaultOptions:(RNNNavigationOptions *)defaultOptions
7 | onRootViewController:(UIViewController *)rootViewController;
8 |
9 | @end
10 |
--------------------------------------------------------------------------------
/lib/ios/RNNDictionary.h:
--------------------------------------------------------------------------------
1 | #import "Param.h"
2 |
3 | @interface RNNDictionary : Param
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/RNNDictionary.mm:
--------------------------------------------------------------------------------
1 | #import "RNNDictionary.h"
2 |
3 | @interface RNNDictionary ()
4 |
5 | @property(nonatomic, retain) NSDictionary *value;
6 |
7 | @end
8 |
9 | @implementation RNNDictionary
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/RNNDynamicIconCreator.h:
--------------------------------------------------------------------------------
1 | #import "RNNBaseIconCreator.h"
2 | #import
3 |
4 | @interface RNNDynamicIconCreator : RNNBaseIconCreator
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/lib/ios/RNNElement.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface RNNElement : RCTViewManager
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/lib/ios/RNNElementFinder.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @class RNNReactView;
4 |
5 | @interface RNNElementFinder : NSObject
6 |
7 | + (UIView *)findElementForId:(NSString *)elementId inView:(UIView *)view;
8 |
9 | @end
10 |
--------------------------------------------------------------------------------
/lib/ios/RNNElementView.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface RNNElementView : NSObject
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/RNNElementView.mm:
--------------------------------------------------------------------------------
1 | #import "RNNElementView.h"
2 |
3 | @implementation RNNElementView
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/RNNErrorHandler.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | typedef enum RNNCommandsErrorCodes { RNNCommandErrorCodeNoStack = 0 } RNNCommandsErrorCodes;
5 |
6 | @interface RNNErrorHandler : NSObject
7 |
8 | + (void)reject:(RCTPromiseRejectBlock)reject
9 | withErrorCode:(NSInteger)errorCode
10 | errorDescription:(NSString *)errorDescription;
11 | + (NSString *)getCallerFunctionName;
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/lib/ios/RNNIconCreator.h:
--------------------------------------------------------------------------------
1 | #import "RNNBaseIconCreator.h"
2 | #import "RNNButtonOptions.h"
3 | #import "RNNIconDrawer.h"
4 | #import
5 |
6 | @interface RNNIconCreator : RNNBaseIconCreator
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/RNNIconDrawer.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface RNNIconDrawer : NSObject
4 |
5 | - (UIImage *)draw:(UIImage *)image
6 | imageColor:(UIColor *)imageColor
7 | backgroundColor:(UIColor *)color
8 | size:(CGSize)size
9 | cornerRadius:(CGFloat)cornerRadius;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/RNNLargeTitleOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNComponentOptions.h"
2 | #import "RNNOptions.h"
3 |
4 | @interface RNNLargeTitleOptions : RNNOptions
5 |
6 | @property(nonatomic, strong) Number *fontSize;
7 | @property(nonatomic, strong) Bool *visible;
8 | @property(nonatomic, strong) Color *color;
9 | @property(nonatomic, strong) Text *fontFamily;
10 | @property(nonatomic, strong) Text *fontWeight;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/lib/ios/RNNLayoutInfo.h:
--------------------------------------------------------------------------------
1 | #import "RNNLayoutNode.h"
2 | #import
3 |
4 | @interface RNNLayoutInfo : NSObject
5 |
6 | - (instancetype)initWithNode:(RNNLayoutNode *)node;
7 |
8 | @property(nonatomic, strong) NSString *componentId;
9 | @property(nonatomic, strong) NSString *name;
10 | @property(nonatomic, strong) NSDictionary *props;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/lib/ios/RNNLayoutInfo.mm:
--------------------------------------------------------------------------------
1 | #import "RNNLayoutInfo.h"
2 |
3 | @implementation RNNLayoutInfo
4 |
5 | - (instancetype)initWithNode:(RNNLayoutNode *)node {
6 | self = [super init];
7 |
8 | self.componentId = node.nodeId;
9 | self.name = node.data[@"name"];
10 | self.props = node.data[@"passProps"];
11 |
12 | return self;
13 | }
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/lib/ios/RNNLayoutManager.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import
4 |
5 | @interface RNNLayoutManager : NSObject
6 |
7 | - (void)addPendingViewController:(UIViewController *)vc;
8 | - (void)removePendingViewController:(UIViewController *)vc;
9 |
10 | - (UIViewController *)findComponentForId:(NSString *)componentId;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/lib/ios/RNNLeafProtocol.h:
--------------------------------------------------------------------------------
1 |
2 | @protocol RNNLeafProtocol
3 |
4 | - (void)bindViewController:(UIViewController *)viewController;
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/lib/ios/RNNModalHostViewManagerHandler.h:
--------------------------------------------------------------------------------
1 | #import "RNNModalManager.h"
2 | #import
3 | #import
4 |
5 | @interface RNNModalHostViewManagerHandler : NSObject
6 |
7 | - (instancetype)initWithModalManager:(RNNModalManager *)modalManager;
8 |
9 | - (void)connectModalHostViewManager:(RCTModalHostViewManager *)modalHostViewManager;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/RNNModalOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNOptions.h"
2 |
3 | @interface RNNModalOptions : RNNOptions
4 |
5 | @property(nonatomic, strong) Bool *swipeToDismiss;
6 |
7 | @end
8 |
--------------------------------------------------------------------------------
/lib/ios/RNNOverlayOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNOptions.h"
2 |
3 | @interface RNNOverlayOptions : RNNOptions
4 |
5 | @property(nonatomic, strong) Bool *interceptTouchOutside;
6 | @property(nonatomic, strong) Bool *handleKeyboardEvents;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/RNNOverlayWindow.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface RNNOverlayWindow : UIWindow
4 | @property(nonatomic, weak) UIWindow *previousWindow;
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/RNNPreviewOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNOptions.h"
2 |
3 | @interface RNNPreviewOptions : RNNOptions
4 |
5 | @property(nonatomic, strong) Number *reactTag;
6 | @property(nonatomic, strong) Number *width;
7 | @property(nonatomic, strong) Number *height;
8 | @property(nonatomic, strong) Bool *commit;
9 | @property(nonatomic, strong) NSArray *actions;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/RNNPushAnimation.h:
--------------------------------------------------------------------------------
1 | #import "RNNScreenTransition.h"
2 | #import
3 | #import
4 |
5 | @interface RNNPushAnimation : NSObject
6 |
7 | @property(nonatomic, strong) RNNScreenTransition *screenTransition;
8 |
9 | - (instancetype)initWithScreenTransition:(RNNScreenTransition *)screenTransition;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/RNNReactBackgroundView.h:
--------------------------------------------------------------------------------
1 | #import "RNNComponentView.h"
2 |
3 | @interface RNNReactBackgroundView : RNNComponentView
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/RNNReactBackgroundView.mm:
--------------------------------------------------------------------------------
1 | #import "RNNReactBackgroundView.h"
2 |
3 | @implementation RNNReactBackgroundView
4 |
5 | - (NSString *)componentType {
6 | return ComponentTypeBackground;
7 | }
8 |
9 | @end
10 |
--------------------------------------------------------------------------------
/lib/ios/RNNReactButtonView.h:
--------------------------------------------------------------------------------
1 | #import "RNNComponentView.h"
2 | #import
3 | #import
4 | #import
5 | #import
6 |
7 | @interface RNNReactButtonView : RNNComponentView
8 |
9 | @end
10 |
--------------------------------------------------------------------------------
/lib/ios/RNNReactTitleView.h:
--------------------------------------------------------------------------------
1 | #import "RNNComponentView.h"
2 |
3 | @interface RNNReactTitleView : RNNComponentView
4 |
5 | - (void)setAlignment:(NSString *)alignment inFrame:(CGRect)frame;
6 |
7 | @property(nonatomic, copy) void (^rootViewDidChangeIntrinsicSize)(CGSize intrinsicSize);
8 |
9 | @end
10 |
--------------------------------------------------------------------------------
/lib/ios/RNNScrollEdgeAppearanceBackgroundOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNBackgroundOptions.h"
2 | #import "RNNComponentOptions.h"
3 | #import "RNNOptions.h"
4 |
5 | @interface RNNScrollEdgeAppearanceBackgroundOptions : RNNOptions
6 |
7 | @property(nonatomic, strong) Color *color;
8 | @property(nonatomic, strong) Bool *translucent;
9 |
10 | @end
11 |
--------------------------------------------------------------------------------
/lib/ios/RNNScrollEdgeAppearanceOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNComponentOptions.h"
2 | #import "RNNOptions.h"
3 | #import "RNNScrollEdgeAppearanceBackgroundOptions.h"
4 |
5 | @interface RNNScrollEdgeAppearanceOptions : RNNOptions
6 |
7 | @property(nonatomic, strong) RNNScrollEdgeAppearanceBackgroundOptions *background;
8 | @property(nonatomic, strong) Bool *active;
9 | @property(nonatomic, strong) Bool *noBorder;
10 | @property(nonatomic, strong) Color *borderColor;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/lib/ios/RNNSegmentedControl.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface RNNSegmentedControl : HMSegmentedControl
5 |
6 | - (void)setTitle:(NSString *)title atIndex:(NSUInteger)index;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/RNNSegmentedControl.mm:
--------------------------------------------------------------------------------
1 | #import "RNNSegmentedControl.h"
2 |
3 | @implementation RNNSegmentedControl
4 |
5 | - (void)setTitle:(NSString *)title atIndex:(NSUInteger)index {
6 | NSMutableArray *mutableTitles = [[NSMutableArray alloc] initWithArray:self.sectionTitles];
7 | [mutableTitles setObject:title atIndexedSubscript:index];
8 | [self setSectionTitles:mutableTitles];
9 | }
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/RNNSetRootAnimator.h:
--------------------------------------------------------------------------------
1 | #import "TransitionOptions.h"
2 | #import
3 |
4 | typedef void (^RNNAnimationEndedBlock)(void);
5 |
6 | @interface RNNSetRootAnimator : NSObject
7 |
8 | - (void)animate:(UIWindow *)window
9 | duration:(CGFloat)duration
10 | completion:(RNNAnimationEndedBlock)completion;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/lib/ios/RNNShadowOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNOptions.h"
2 |
3 | @interface RNNShadowOptions : RNNOptions
4 |
5 | @property(nonatomic, strong) Color *color;
6 | @property(nonatomic, strong) Number *radius;
7 | @property(nonatomic, strong) Number *opacity;
8 |
9 | - (BOOL)hasValue;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/RNNSharedElementAnimationOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNOptions.h"
2 |
3 | @interface RNNSharedElementAnimationOptions : RNNOptions
4 |
5 | @property(nonatomic, strong) NSArray *animations;
6 | @property(nonatomic, strong) NSNumber *duration;
7 | @property(nonatomic, strong) NSNumber *springDamping;
8 | @property(nonatomic, strong) NSNumber *springVelocity;
9 |
10 | - (BOOL)hasValue;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/lib/ios/RNNSideMenuOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNOptions.h"
2 | #import "RNNSideMenuSideOptions.h"
3 | #import "SideMenuOpenMode.h"
4 |
5 | @interface RNNSideMenuOptions : RNNOptions
6 |
7 | @property(nonatomic, strong) RNNSideMenuSideOptions *left;
8 | @property(nonatomic, strong) RNNSideMenuSideOptions *right;
9 |
10 | @property(nonatomic, strong) Text *animationType;
11 | @property(nonatomic, strong) SideMenuOpenMode *openGestureMode;
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/lib/ios/RNNSideMenuPresenter.h:
--------------------------------------------------------------------------------
1 | #import "RNNBasePresenter.h"
2 |
3 | @interface RNNSideMenuPresenter : RNNBasePresenter
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/RNNSideMenuSideOptions.h:
--------------------------------------------------------------------------------
1 | #import "MMDrawerController.h"
2 | #import "RNNOptions.h"
3 |
4 | @interface RNNSideMenuSideOptions : RNNOptions
5 |
6 | @property(nonatomic, strong) Bool *visible;
7 | @property(nonatomic, strong) Bool *enabled;
8 | @property(nonatomic, strong) Double *width;
9 | @property(nonatomic, strong) Bool *shouldStretchDrawer;
10 | @property(nonatomic, strong) Double *animationVelocity;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/lib/ios/RNNSplashScreenViewController.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface RNNSplashScreenViewController : UIViewController
5 |
6 | + (void)showOnWindow:(UIWindow *)window;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/RNNSplitViewController.h:
--------------------------------------------------------------------------------
1 | #import "RNNLayoutProtocol.h"
2 | #import "RNNSplitViewControllerPresenter.h"
3 | #import
4 |
5 | @interface RNNSplitViewController : UISplitViewController
6 |
7 | @end
8 |
--------------------------------------------------------------------------------
/lib/ios/RNNSplitViewControllerPresenter.h:
--------------------------------------------------------------------------------
1 | #import "RNNBasePresenter.h"
2 |
3 | @interface RNNSplitViewControllerPresenter : RNNBasePresenter
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/RNNSplitViewOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNOptions.h"
2 |
3 | @interface RNNSplitViewOptions : RNNOptions
4 |
5 | @property(nonatomic, strong) NSString *displayMode;
6 | @property(nonatomic, strong) NSString *primaryEdge;
7 | @property(nonatomic, strong) Number *minWidth;
8 | @property(nonatomic, strong) Number *maxWidth;
9 | @property(nonatomic, strong) NSString *primaryBackgroundStyle;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/RNNStackController.h:
--------------------------------------------------------------------------------
1 | #import "RNNStackPresenter.h"
2 | #import "UINavigationController+RNNCommands.h"
3 | #import "UINavigationController+RNNOptions.h"
4 | #import "UIViewController+LayoutProtocol.h"
5 | #import
6 |
7 | @interface RNNStackController : UINavigationController
8 |
9 | @property(nonatomic, retain) RNNStackPresenter *presenter;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/RNNStatusBarOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNOptions.h"
2 |
3 | extern const NSInteger BLUR_STATUS_TAG;
4 |
5 | @interface RNNStatusBarOptions : RNNOptions
6 |
7 | @property(nonatomic, strong) Bool *blur;
8 | @property(nonatomic, strong) Bool *hideWithTopBar;
9 | @property(nonatomic, strong) Text *style;
10 | @property(nonatomic, strong) Bool *visible;
11 | @property(nonatomic, strong) Bool *animate;
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/lib/ios/RNNSubtitleOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNOptions.h"
2 |
3 | @interface RNNSubtitleOptions : RNNOptions
4 |
5 | @property(nonatomic, strong) Text *text;
6 | @property(nonatomic, strong) Number *fontSize;
7 | @property(nonatomic, strong) Color *color;
8 | @property(nonatomic, strong) Text *fontFamily;
9 | @property(nonatomic, strong) Text *fontWeight;
10 | @property(nonatomic, strong) Text *alignment;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/lib/ios/RNNTopTabOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNOptions.h"
2 |
3 | @interface RNNTopTabOptions : RNNOptions
4 |
5 | @property(nonatomic, strong) NSString *title;
6 | @property(nonatomic, strong) NSString *titleFontFamily;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/RNNTopTabOptions.mm:
--------------------------------------------------------------------------------
1 | #import "RNNTopTabOptions.h"
2 |
3 | @implementation RNNTopTabOptions
4 |
5 | //- (void)applyOn:(RNNRootViewController *)viewController {
6 | // if (self.title) {
7 | // [viewController.topTabsViewController viewController:viewController
8 | // changedTitle:self.title];
9 | // }
10 | //}
11 |
12 | - (void)mergeOptions:(RNNTopTabOptions *)options {
13 | }
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/lib/ios/RNNTopTabsOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNOptions.h"
2 |
3 | @interface RNNTopTabsOptions : RNNOptions
4 |
5 | @property(nonatomic, strong) Color *backgroundColor;
6 |
7 | @end
8 |
--------------------------------------------------------------------------------
/lib/ios/RNNTopTabsOptions.mm:
--------------------------------------------------------------------------------
1 | #import "RNNTopTabsOptions.h"
2 | #import "RNNTopTabsViewController.h"
3 |
4 | @implementation RNNTopTabsOptions
5 |
6 | - (void)mergeOptions:(RNNTopTabsOptions *)options {
7 | if (options.backgroundColor.hasValue)
8 | self.backgroundColor = options.backgroundColor;
9 | }
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/RNNTopTabsViewController.h:
--------------------------------------------------------------------------------
1 | #import "RNNLayoutProtocol.h"
2 | #import
3 |
4 | @interface RNNTopTabsViewController : UIViewController
5 |
6 | @property(nonatomic, retain) UIView *contentView;
7 |
8 | - (void)setViewControllers:(NSArray *)viewControllers;
9 | - (void)viewController:(UIViewController *)vc changedTitle:(NSString *)title;
10 | - (instancetype)init;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/lib/ios/RNNUIBarBackButtonItem.h:
--------------------------------------------------------------------------------
1 | #import "RNNBackButtonOptions.h"
2 |
3 | @interface RNNUIBarBackButtonItem : UIBarButtonItem
4 | - (instancetype)initWithOptions:(RNNBackButtonOptions *)options;
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/RotationTransition.h:
--------------------------------------------------------------------------------
1 | #import "FloatTransition.h"
2 |
3 | @interface RotationTransition : FloatTransition
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/ScreenReversedAnimationController.h:
--------------------------------------------------------------------------------
1 | #import "ScreenAnimationController.h"
2 |
3 | @interface ScreenReversedAnimationController : ScreenAnimationController
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/SideMenuOpenGestureModeParser.h:
--------------------------------------------------------------------------------
1 | #import "SideMenuOpenMode.h"
2 | #import
3 |
4 | @interface SideMenuOpenGestureModeParser : NSObject
5 |
6 | + (SideMenuOpenMode *)parse:(NSDictionary *)json key:(NSString *)key;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/SideMenuOpenMode.h:
--------------------------------------------------------------------------------
1 | #import "ReactNativeNavigation/Number.h"
2 |
3 | @interface SideMenuOpenMode : Number
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/SideMenuOpenMode.mm:
--------------------------------------------------------------------------------
1 | #import "SideMenuOpenMode.h"
2 |
3 | @implementation SideMenuOpenMode
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/TabBarItemAppearanceCreator.h:
--------------------------------------------------------------------------------
1 | #import "RNNTabBarItemCreator.h"
2 |
3 | API_AVAILABLE(ios(13.0))
4 | @interface TabBarItemAppearanceCreator : RNNTabBarItemCreator
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/lib/ios/TabBarItemIOS15Creator.h:
--------------------------------------------------------------------------------
1 | #import "TabBarItemAppearanceCreator.h"
2 |
3 | API_AVAILABLE(ios(15.0))
4 | @interface TabBarItemIOS15Creator : TabBarItemAppearanceCreator
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/lib/ios/Text.h:
--------------------------------------------------------------------------------
1 | #import "Param.h"
2 |
3 | @interface Text : Param
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/Text.mm:
--------------------------------------------------------------------------------
1 | #import "Text.h"
2 |
3 | @interface Text ()
4 |
5 | @property(nonatomic, retain) NSString *value;
6 |
7 | @end
8 |
9 | @implementation Text
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/TextParser.h:
--------------------------------------------------------------------------------
1 | #import "Text.h"
2 | #import
3 |
4 | @interface TextParser : NSObject
5 |
6 | + (Text *)parse:(NSDictionary *)json key:(NSString *)key;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/TextParser.mm:
--------------------------------------------------------------------------------
1 | #import "TextParser.h"
2 | #import "NullText.h"
3 | #import
4 |
5 | @implementation TextParser
6 |
7 | + (Text *)parse:(NSDictionary *)json key:(NSString *)key {
8 | return json[key] ? [[Text alloc] initWithValue:json[key]] : [NullText new];
9 | }
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/TimeInterval.h:
--------------------------------------------------------------------------------
1 | #import "Double.h"
2 |
3 | @interface TimeInterval : Double
4 |
5 | - (NSTimeInterval)get;
6 |
7 | - (NSTimeInterval)withDefault:(double)defaultValue;
8 |
9 | @end
10 |
--------------------------------------------------------------------------------
/lib/ios/TimeInterval.mm:
--------------------------------------------------------------------------------
1 | #import "TimeInterval.h"
2 |
3 | @implementation TimeInterval
4 |
5 | - (NSTimeInterval)withDefault:(double)defaultValue {
6 | return [super withDefault:defaultValue] / 1000;
7 | }
8 |
9 | - (NSTimeInterval)get {
10 | return [super get] / 1000;
11 | }
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/lib/ios/TimeIntervalParser.h:
--------------------------------------------------------------------------------
1 | #import "TimeInterval.h"
2 | #import
3 |
4 | @interface TimeIntervalParser : NSObject
5 |
6 | + (TimeInterval *)parse:(NSDictionary *)json key:(NSString *)key;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/TimeIntervalParser.mm:
--------------------------------------------------------------------------------
1 | #import "TimeIntervalParser.h"
2 |
3 | @implementation TimeIntervalParser
4 |
5 | + (TimeInterval *)parse:(NSDictionary *)json key:(NSString *)key {
6 | return [[TimeInterval alloc] initWithValue:json[key]];
7 | }
8 |
9 | @end
10 |
--------------------------------------------------------------------------------
/lib/ios/TopBarAppearancePresenter.h:
--------------------------------------------------------------------------------
1 | #import "TopBarPresenter.h"
2 | #import
3 |
4 | API_AVAILABLE(ios(13.0))
5 | @interface TopBarAppearancePresenter : TopBarPresenter
6 |
7 | @property(nonatomic, strong) UIColor *borderColor;
8 | @property(nonatomic) BOOL showBorder;
9 | @property(nonatomic, strong) UIColor *scrollEdgeBorderColor;
10 | @property(nonatomic) BOOL showScrollEdgeBorder;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/lib/ios/TopBarPresenterCreator.h:
--------------------------------------------------------------------------------
1 | #import "TopBarPresenter.h"
2 | #import
3 |
4 | @interface TopBarPresenterCreator : NSObject
5 |
6 | + (TopBarPresenter *)createWithBoundedNavigationController:
7 | (UINavigationController *)navigationController;
8 |
9 | @end
10 |
--------------------------------------------------------------------------------
/lib/ios/TransformRectTransition.h:
--------------------------------------------------------------------------------
1 | #import "RectTransition.h"
2 |
3 | @interface TransformRectTransition : RectTransition
4 |
5 | - (instancetype)initWithView:(UIView *)view
6 | from:(CATransform3D)from
7 | to:(CATransform3D)to
8 | startDelay:(NSTimeInterval)startDelay
9 | duration:(NSTimeInterval)duration
10 | interpolator:(id)interpolator;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/lib/ios/Transition.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface Transition : NSObject
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/Transition.mm:
--------------------------------------------------------------------------------
1 | #import "Transition.h"
2 |
3 | @implementation Transition
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/TransitionDetailsOptions.h:
--------------------------------------------------------------------------------
1 | #import "Interpolator.h"
2 | #import "RNNOptions.h"
3 |
4 | @interface TransitionDetailsOptions : RNNOptions
5 |
6 | @property(nonatomic, strong) Double *from;
7 | @property(nonatomic, strong) Double *to;
8 | @property(nonatomic, strong) TimeInterval *duration;
9 | @property(nonatomic, strong) TimeInterval *startDelay;
10 | @property(nonatomic, strong) id interpolator;
11 |
12 | - (BOOL)hasAnimation;
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/lib/ios/TurboModules/RNNTurboCommandsHandler.h:
--------------------------------------------------------------------------------
1 | #ifndef RNNTurboCommandsHandler_h
2 | #define RNNTurboCommandsHandler_h
3 |
4 | @class RNNCommandsHandler;
5 |
6 | @interface RNNTurboCommandsHandler : NSObject
7 |
8 | +(RNNCommandsHandler *) sharedInstance;
9 | +(void)setSharedInstance:(RNNCommandsHandler *) shared;
10 |
11 | @end
12 |
13 | #endif
14 |
--------------------------------------------------------------------------------
/lib/ios/TurboModules/RNNTurboCommandsHandler.mm:
--------------------------------------------------------------------------------
1 | #import
2 | #import "RNNTurboCommandsHandler.h"
3 |
4 | static RNNCommandsHandler *_sharedCommandsHandler = nil;
5 |
6 | @implementation RNNTurboCommandsHandler
7 |
8 | + (void)setSharedInstance:(RNNCommandsHandler *)shared {
9 | _sharedCommandsHandler = shared;
10 | }
11 |
12 | + (RNNCommandsHandler *)sharedInstance {
13 | return _sharedCommandsHandler;
14 | }
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/lib/ios/TurboModules/RNNTurboEventEmitter.h:
--------------------------------------------------------------------------------
1 | #ifdef RCT_NEW_ARCH_ENABLED
2 | #import "RNNEventEmitter.h"
3 | #import
4 |
5 | @class RCTHost;
6 |
7 | @interface RNNTurboEventEmitter : RNNEventEmitter
8 |
9 | - (void)setHost:(RCTHost *)host;
10 |
11 | @property(nonatomic, strong, readonly) RCTHost *host;
12 |
13 | @end
14 | #endif
15 |
--------------------------------------------------------------------------------
/lib/ios/TurboModules/RNNTurboModule.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #ifdef RCT_NEW_ARCH_ENABLED
3 | #import "RNNCommandsHandler.h"
4 | #import
5 |
6 | @interface RNNTurboModule : NSObject
7 | @end
8 | #endif
9 |
--------------------------------------------------------------------------------
/lib/ios/UIImage+utils.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface UIImage (utils)
4 |
5 | - (UIImage *)withTintColor:(UIColor *)color;
6 |
7 | + (UIImage *)imageWithSize:(CGSize)size color:(UIColor *)color;
8 |
9 | - (UIImage *)imageWithInsets:(UIEdgeInsets)insets;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/lib/ios/UISplitViewController+RNNOptions.h:
--------------------------------------------------------------------------------
1 | #import "ReactNativeNavigation/Number.h"
2 | #import
3 |
4 | @interface UISplitViewController (RNNOptions)
5 |
6 | - (void)rnn_setDisplayMode:(NSString *)displayMode;
7 |
8 | - (void)rnn_setPrimaryEdge:(NSString *)primaryEdge;
9 |
10 | - (void)rnn_setMinWidth:(Number *)minWidth;
11 |
12 | - (void)rnn_setMaxWidth:(Number *)maxWidth;
13 |
14 | - (void)rnn_setPrimaryBackgroundStyle:(NSString *)style;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/lib/ios/UITabBar+utils.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface UITabBar (utils)
4 |
5 | - (UIView *)tabBarItemViewAtIndex:(NSUInteger)index;
6 |
7 | - (void)centerTabItems;
8 |
9 | @end
10 |
--------------------------------------------------------------------------------
/lib/ios/UIViewController+SideMenuController.h:
--------------------------------------------------------------------------------
1 | #import "RNNSideMenuViewController.h"
2 | #import
3 |
4 | @interface UIViewController (SideMenuController)
5 |
6 | - (RNNSideMenuViewController *)sideMenuController;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/UIViewController+SideMenuViewController.h:
--------------------------------------------------------------------------------
1 | #import "RNNSideMenuViewController.h"
2 | #import
3 |
4 | @interface UIViewController (RNNSideMenuViewController)
5 |
6 | - (RNNSideMenuViewController *)sideMenuController;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/lib/ios/Utils/UIColor+RNNUtils.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface UIColor (RNNUtils)
4 | - (NSString *)toHex;
5 | - (BOOL)isTransparent;
6 | @end
7 |
--------------------------------------------------------------------------------
/lib/ios/Utils/UITabBarController+RNNUtils.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface UITabBarController (RNNUtils)
5 |
6 | - (UIView *)getTabView:(int)tabIndex;
7 |
8 | - (UIView *)getTabIcon:(int)tabIndex;
9 |
10 | - (NSArray *)deselectedViewControllers;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/lib/ios/Utils/UIView+Utils.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | typedef NS_ENUM(NSInteger, ViewType) {
5 | ViewTypeImage,
6 | ViewTypeUIImage,
7 | ViewTypeText,
8 | ViewTypeOther
9 | };
10 |
11 | @interface UIView (Utils)
12 |
13 | - (UIView *)findChildByClass:clazz;
14 |
15 | - (ViewType)viewType;
16 |
17 | - (void)stopMomentumScrollViews;
18 |
19 | - (void)setCornerRadius:(CGFloat)cornerRadius;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/lib/ios/Utils/UIViewController+Utils.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface UIViewController (Utils)
5 |
6 | - (void)forEachChild:(void (^)(UIViewController *child))perform;
7 | - (BOOL)isLastInStack;
8 |
9 | @end
10 |
--------------------------------------------------------------------------------
/lib/ios/Utils/UIViewController+Utils.mm:
--------------------------------------------------------------------------------
1 | #import "UIViewController+Utils.h"
2 |
3 | @implementation UIViewController (Utils)
4 |
5 | - (void)forEachChild:(void (^)(UIViewController *child))perform {
6 | for (UIViewController *child in [self childViewControllers]) {
7 | perform(child);
8 | }
9 | }
10 |
11 | - (BOOL)isLastInStack {
12 | return self.navigationController.childViewControllers.lastObject == self;
13 | }
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/lib/ios/VerticalRotationTransition.h:
--------------------------------------------------------------------------------
1 | #import "FloatTransition.h"
2 |
3 | @interface VerticalRotationTransition : FloatTransition
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/lib/ios/VerticalScaleTransition.h:
--------------------------------------------------------------------------------
1 | #import "FloatTransition.h"
2 | #import
3 |
4 | @interface VerticalScaleTransition : FloatTransition
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/lib/ios/VerticalTranslationTransition.h:
--------------------------------------------------------------------------------
1 | #import "FloatTransition.h"
2 | #import
3 |
4 | @interface VerticalTranslationTransition : FloatTransition
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/lib/ios/WindowOptions.h:
--------------------------------------------------------------------------------
1 | #import "RNNOptions.h"
2 |
3 | @interface WindowOptions : RNNOptions
4 |
5 | @property(nonatomic, strong) Color *backgroundColor;
6 |
7 | @end
8 |
--------------------------------------------------------------------------------
/lib/ios/libOCMock.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/lib/ios/libOCMock.a
--------------------------------------------------------------------------------
/lib/src/adapters/AppRegistryService.ts:
--------------------------------------------------------------------------------
1 | import { ComponentProvider, AppRegistry } from 'react-native';
2 |
3 | export class AppRegistryService {
4 | registerComponent(appKey: string, getComponentFunc: ComponentProvider) {
5 | AppRegistry.registerComponent(appKey, getComponentFunc);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/lib/src/adapters/AssetResolver.ts:
--------------------------------------------------------------------------------
1 | import { Image, ImageSourcePropType } from 'react-native';
2 |
3 | export class AssetService {
4 | resolveFromRequire(value: ImageSourcePropType) {
5 | return Image.resolveAssetSource(value);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/lib/src/adapters/ColorService.ts:
--------------------------------------------------------------------------------
1 | import { processColor } from 'react-native';
2 |
3 | export class ColorService {
4 | toNativeColor(inputColor: string) {
5 | return processColor(inputColor);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/lib/src/adapters/NativeEventsReceiver.mock.ts:
--------------------------------------------------------------------------------
1 | export const { NativeEventsReceiver } = jest.genMockFromModule(
2 | './NativeEventsReceiver'
3 | ) as typeof import('./NativeEventsReceiver');
4 |
--------------------------------------------------------------------------------
/lib/src/adapters/NativeRNNTurboEventEmitter.ts:
--------------------------------------------------------------------------------
1 | import { TurboModule, TurboModuleRegistry, NativeModule } from 'react-native';
2 |
3 | export interface Spec extends TurboModule {
4 | addListener: (eventType: string) => void;
5 | removeListeners: (count: number) => void;
6 | }
7 |
8 | let eventEmitter: Spec | null;
9 | eventEmitter = TurboModuleRegistry.get('RNNTurboEventEmitter');
10 |
11 |
12 | export default eventEmitter as NativeModule;
13 |
--------------------------------------------------------------------------------
/lib/src/adapters/UniqueIdProvider.ts:
--------------------------------------------------------------------------------
1 | import uniqueId from 'lodash/uniqueId';
2 |
3 | export class UniqueIdProvider {
4 | generate(prefix?: string): string {
5 | return uniqueId(prefix);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/lib/src/commands/LayoutType.test.ts:
--------------------------------------------------------------------------------
1 | import { LayoutType } from './LayoutType';
2 |
3 | describe('LayoutType', () => {
4 | it('is an enum', () => {
5 | expect(LayoutType.Component).toEqual('Component');
6 | expect(LayoutType.Stack).toEqual('Stack');
7 |
8 | const name = 'Stack';
9 | expect(LayoutType[name]).toEqual(LayoutType.Stack);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/lib/src/commands/LayoutType.ts:
--------------------------------------------------------------------------------
1 | export enum LayoutType {
2 | Component = 'Component',
3 | Stack = 'Stack',
4 | BottomTabs = 'BottomTabs',
5 | SideMenuRoot = 'SideMenuRoot',
6 | SideMenuCenter = 'SideMenuCenter',
7 | SideMenuLeft = 'SideMenuLeft',
8 | SideMenuRight = 'SideMenuRight',
9 | TopTabs = 'TopTabs',
10 | ExternalComponent = 'ExternalComponent',
11 | SplitView = 'SplitView',
12 | }
13 |
--------------------------------------------------------------------------------
/lib/src/interfaces/EventSubscription.ts:
--------------------------------------------------------------------------------
1 | export interface EventSubscription {
2 | remove(): void;
3 | }
4 |
--------------------------------------------------------------------------------
/lib/src/interfaces/Events.ts:
--------------------------------------------------------------------------------
1 | export interface CommandCompletedEvent {
2 | commandName: string;
3 | commandId: string;
4 | completionTime: number;
5 | }
6 |
7 | export interface BottomTabSelectedEvent {
8 | selectedTabIndex: number;
9 | unselectedTabIndex: number;
10 | }
11 |
12 | export interface BottomTabLongPressedEvent {
13 | selectedTabIndex: number;
14 | }
15 |
16 | export interface BottomTabPressedEvent {
17 | tabIndex: number;
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/interfaces/NavigationComponentProps.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * @deprecated This type replaced with NavigationProps
3 | */
4 | export interface NavigationComponentProps {
5 | componentId: string;
6 | }
7 |
8 | export interface NavigationProps {
9 | componentId: string;
10 | componentName: string;
11 | }
12 |
--------------------------------------------------------------------------------
/lib/src/interfaces/NavigationFunctionComponent.ts:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { NavigationProps } from './NavigationComponentProps';
3 | import { Options } from './Options';
4 |
5 | export interface NavigationFunctionComponent
6 | extends React.FunctionComponent {
7 | options?: ((props: Props & NavigationProps) => Options) | Options;
8 | }
9 |
--------------------------------------------------------------------------------
/lib/src/interfaces/ProcessorSubscription.ts:
--------------------------------------------------------------------------------
1 | export interface ProcessorSubscription {
2 | remove(): void;
3 | }
4 |
--------------------------------------------------------------------------------
/lib/src/interfaces/Processors.ts:
--------------------------------------------------------------------------------
1 | import { Layout } from './Layout';
2 | import { CommandName } from './CommandName';
3 |
4 | export interface LayoutProcessor {
5 | (layout: Layout<{}>, commandName: CommandName): Layout<{}>;
6 | }
7 |
8 | export interface OptionsProcessor {
9 | (value: T, commandName: CommandName, props?: S): T;
10 | }
11 |
--------------------------------------------------------------------------------
/lib/src/types.ts:
--------------------------------------------------------------------------------
1 | declare module 'react-lifecycles-compat' {
2 | import * as React from 'react';
3 |
4 | export function polyfill(component: React.ComponentClass): void;
5 | }
6 |
--------------------------------------------------------------------------------
/metro.config.js:
--------------------------------------------------------------------------------
1 | const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
2 |
3 | const config = {
4 | projectRoot: `${__dirname}`,
5 | resolver: {
6 | enableGlobalPackages: true,
7 | },
8 | watchFolders: [__dirname],
9 | };
10 |
11 | module.exports = mergeConfig(getDefaultConfig(__dirname), config);
12 |
--------------------------------------------------------------------------------
/playground/.watchmanconfig:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/playground/README.md:
--------------------------------------------------------------------------------
1 | # Navigation Playground
2 |
3 | A local example project using `react-native-navigation`.
4 | The target app for all e2e tests.
5 |
--------------------------------------------------------------------------------
/playground/android/app/src/main/assets/fonts/Dosis-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/android/app/src/main/assets/fonts/Dosis-Regular.ttf
--------------------------------------------------------------------------------
/playground/android/app/src/main/assets/fonts/HelveticaNeue-CondensedBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/android/app/src/main/assets/fonts/HelveticaNeue-CondensedBold.ttf
--------------------------------------------------------------------------------
/playground/android/app/src/main/assets/fonts/HelveticaNeue-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/android/app/src/main/assets/fonts/HelveticaNeue-Italic.ttf
--------------------------------------------------------------------------------
/playground/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/playground/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/playground/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/playground/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/playground/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/playground/android/app/src/main/res/values-night/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | - #BA292E
4 | - #282528
5 |
--------------------------------------------------------------------------------
/playground/android/app/src/main/res/values-notnight/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | - #000000
4 | - #e8e8e8
5 |
--------------------------------------------------------------------------------
/playground/android/app/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/playground/android/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | - #000000
4 | - #e8e8e8
5 |
--------------------------------------------------------------------------------
/playground/android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Playground
3 |
4 |
--------------------------------------------------------------------------------
/playground/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
--------------------------------------------------------------------------------
/playground/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/playground/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Thu Jul 28 13:48:47 IDT 2022
2 | distributionBase=GRADLE_USER_HOME
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip
4 | distributionPath=wrapper/dists
5 | zipStorePath=wrapper/dists
6 | zipStoreBase=GRADLE_USER_HOME
7 |
--------------------------------------------------------------------------------
/playground/android/libs/blurview-1.6.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/android/libs/blurview-1.6.3.jar
--------------------------------------------------------------------------------
/playground/android/libs/fbjni-java-only-0.0.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/android/libs/fbjni-java-only-0.0.3.jar
--------------------------------------------------------------------------------
/playground/android/libs/proguard-annotations-1.14.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/android/libs/proguard-annotations-1.14.1.jar
--------------------------------------------------------------------------------
/playground/android/playground.keystore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/android/playground.keystore
--------------------------------------------------------------------------------
/playground/img/1024.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/1024.jpeg
--------------------------------------------------------------------------------
/playground/img/2048.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/2048.jpeg
--------------------------------------------------------------------------------
/playground/img/400.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/400.jpeg
--------------------------------------------------------------------------------
/playground/img/4096.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/4096.jpeg
--------------------------------------------------------------------------------
/playground/img/Icon-87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/Icon-87.png
--------------------------------------------------------------------------------
/playground/img/cars/aventador.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/cars/aventador.jpg
--------------------------------------------------------------------------------
/playground/img/cars/countach.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/cars/countach.jpg
--------------------------------------------------------------------------------
/playground/img/cars/diablo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/cars/diablo.jpg
--------------------------------------------------------------------------------
/playground/img/city.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/city.png
--------------------------------------------------------------------------------
/playground/img/city2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/city2.jpeg
--------------------------------------------------------------------------------
/playground/img/clear@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/clear@2x.png
--------------------------------------------------------------------------------
/playground/img/clear@3x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/clear@3x.android.png
--------------------------------------------------------------------------------
/playground/img/cocktails/bloodyMarry.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/cocktails/bloodyMarry.jpg
--------------------------------------------------------------------------------
/playground/img/cocktails/cucumberBasilSmash.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/cocktails/cucumberBasilSmash.jpg
--------------------------------------------------------------------------------
/playground/img/cocktails/frenchMartini.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/cocktails/frenchMartini.jpg
--------------------------------------------------------------------------------
/playground/img/cocktails/gimlet.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/cocktails/gimlet.jpg
--------------------------------------------------------------------------------
/playground/img/cocktails/lastWord.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/cocktails/lastWord.jpg
--------------------------------------------------------------------------------
/playground/img/cocktails/negroni.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/cocktails/negroni.jpg
--------------------------------------------------------------------------------
/playground/img/colored_tab_icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/colored_tab_icon@2x.png
--------------------------------------------------------------------------------
/playground/img/colors.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/colors.png
--------------------------------------------------------------------------------
/playground/img/fff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/fff.png
--------------------------------------------------------------------------------
/playground/img/gyro_header.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/gyro_header.jpg
--------------------------------------------------------------------------------
/playground/img/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/home.png
--------------------------------------------------------------------------------
/playground/img/imageGallery/158xD4xbeh.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/imageGallery/158xD4xbeh.jpeg
--------------------------------------------------------------------------------
/playground/img/imageGallery/37r6Cqp1B8.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/imageGallery/37r6Cqp1B8.jpeg
--------------------------------------------------------------------------------
/playground/img/imageGallery/5Gi8kova3k.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/imageGallery/5Gi8kova3k.jpeg
--------------------------------------------------------------------------------
/playground/img/imageGallery/61mpAVRV73.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/imageGallery/61mpAVRV73.jpeg
--------------------------------------------------------------------------------
/playground/img/imageGallery/A4g0lZ33Z8.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/imageGallery/A4g0lZ33Z8.jpeg
--------------------------------------------------------------------------------
/playground/img/imageGallery/AdGXmD1CH6.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/imageGallery/AdGXmD1CH6.jpeg
--------------------------------------------------------------------------------
/playground/img/imageGallery/Cfw87359UT.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/imageGallery/Cfw87359UT.jpeg
--------------------------------------------------------------------------------
/playground/img/imageGallery/N30E32431C.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/imageGallery/N30E32431C.jpeg
--------------------------------------------------------------------------------
/playground/img/imageGallery/a848dHxA4e.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/imageGallery/a848dHxA4e.jpeg
--------------------------------------------------------------------------------
/playground/img/imageGallery/j51Pva1P8L.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/imageGallery/j51Pva1P8L.jpeg
--------------------------------------------------------------------------------
/playground/img/imageGallery/kVN0FryOZk.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/imageGallery/kVN0FryOZk.jpeg
--------------------------------------------------------------------------------
/playground/img/imageGallery/pqgylg80SD.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/imageGallery/pqgylg80SD.jpeg
--------------------------------------------------------------------------------
/playground/img/imageGallery/rVOcz7rd0z.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/imageGallery/rVOcz7rd0z.jpeg
--------------------------------------------------------------------------------
/playground/img/imageGallery/ri90ueind7.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/imageGallery/ri90ueind7.jpeg
--------------------------------------------------------------------------------
/playground/img/imageGallery/v8KLi2f0Tr.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/imageGallery/v8KLi2f0Tr.jpeg
--------------------------------------------------------------------------------
/playground/img/imageGallery/xU42hx19BB.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/imageGallery/xU42hx19BB.jpeg
--------------------------------------------------------------------------------
/playground/img/layouts@2x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/layouts@2x.android.png
--------------------------------------------------------------------------------
/playground/img/layouts@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/layouts@2x.png
--------------------------------------------------------------------------------
/playground/img/layouts_selected@2x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/layouts_selected@2x.android.png
--------------------------------------------------------------------------------
/playground/img/layouts_selected@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/layouts_selected@2x.png
--------------------------------------------------------------------------------
/playground/img/list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/list.png
--------------------------------------------------------------------------------
/playground/img/menu@2x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/menu@2x.android.png
--------------------------------------------------------------------------------
/playground/img/menu@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/menu@2x.png
--------------------------------------------------------------------------------
/playground/img/navicon_add@2x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/navicon_add@2x.android.png
--------------------------------------------------------------------------------
/playground/img/navicon_add@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/navicon_add@2x.png
--------------------------------------------------------------------------------
/playground/img/navicon_add@3x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/navicon_add@3x.android.png
--------------------------------------------------------------------------------
/playground/img/navicon_edit@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/navicon_edit@2x.png
--------------------------------------------------------------------------------
/playground/img/navigation@2x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/navigation@2x.android.png
--------------------------------------------------------------------------------
/playground/img/navigation@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/navigation@2x.png
--------------------------------------------------------------------------------
/playground/img/one@1.5x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/one@1.5x.android.png
--------------------------------------------------------------------------------
/playground/img/one@1x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/one@1x.android.png
--------------------------------------------------------------------------------
/playground/img/one@2x.ios.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/one@2x.ios.png
--------------------------------------------------------------------------------
/playground/img/one@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/one@2x.png
--------------------------------------------------------------------------------
/playground/img/one@3x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/one@3x.android.png
--------------------------------------------------------------------------------
/playground/img/one@4x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/one@4x.android.png
--------------------------------------------------------------------------------
/playground/img/one_selected@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/one_selected@2x.png
--------------------------------------------------------------------------------
/playground/img/options@2x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/options@2x.android.png
--------------------------------------------------------------------------------
/playground/img/options@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/options@2x.png
--------------------------------------------------------------------------------
/playground/img/options_selected@2x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/options_selected@2x.android.png
--------------------------------------------------------------------------------
/playground/img/options_selected@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/options_selected@2x.png
--------------------------------------------------------------------------------
/playground/img/person.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/person.png
--------------------------------------------------------------------------------
/playground/img/plus@2x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/plus@2x.android.png
--------------------------------------------------------------------------------
/playground/img/plus@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/plus@2x.png
--------------------------------------------------------------------------------
/playground/img/sideMenu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/sideMenu.png
--------------------------------------------------------------------------------
/playground/img/star@2x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/star@2x.android.png
--------------------------------------------------------------------------------
/playground/img/star@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/star@2x.png
--------------------------------------------------------------------------------
/playground/img/three@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/three@2x.png
--------------------------------------------------------------------------------
/playground/img/three_selected@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/three_selected@2x.png
--------------------------------------------------------------------------------
/playground/img/two@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/two@2x.png
--------------------------------------------------------------------------------
/playground/img/two_selected@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/two_selected@2x.png
--------------------------------------------------------------------------------
/playground/img/whatshot@2x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/whatshot@2x.android.png
--------------------------------------------------------------------------------
/playground/img/whatshot@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/whatshot@2x.png
--------------------------------------------------------------------------------
/playground/img/x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/x.android.png
--------------------------------------------------------------------------------
/playground/img/x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/x.png
--------------------------------------------------------------------------------
/playground/img/x@1.5x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/x@1.5x.png
--------------------------------------------------------------------------------
/playground/img/x@2x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/x@2x.android.png
--------------------------------------------------------------------------------
/playground/img/x@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/x@2x.png
--------------------------------------------------------------------------------
/playground/img/x@3x.android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/x@3x.android.png
--------------------------------------------------------------------------------
/playground/img/x@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/x@3x.png
--------------------------------------------------------------------------------
/playground/img/x@4x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/img/x@4x.png
--------------------------------------------------------------------------------
/playground/index.js:
--------------------------------------------------------------------------------
1 | import "setimmediate";
2 | require('./src/index');
3 |
--------------------------------------------------------------------------------
/playground/ios/.xcode.env:
--------------------------------------------------------------------------------
1 | export NODE_BINARY=$(command -v node)
2 |
--------------------------------------------------------------------------------
/playground/ios/NavigationTests/RNNOptionsTest.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface RNNOptionsTest : NSObject
4 | @end
--------------------------------------------------------------------------------
/playground/ios/NavigationTests/RNNTestRootViewCreator.h:
--------------------------------------------------------------------------------
1 | #import "RNNComponentViewCreator.h"
2 | #import
3 |
4 | @interface RNNTestRootViewCreator : NSObject
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/playground/ios/NavigationTests/utils/RNNTestBase.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface RNNTestBase : XCTestCase
5 | - (void)setupTopLevelUI:(UIViewController *)withViewController;
6 |
7 | - (void)tearDownTopLevelUI:(UIViewController *)withViewController;
8 | @end
--------------------------------------------------------------------------------
/playground/ios/NavigationTests/utils/UIImage+Utils.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface UIImage (Utils)
4 |
5 | + (UIImage *)emptyImage;
6 |
7 | - (BOOL)isEqual:(UIImage *)image;
8 |
9 | @end
10 |
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_opaque_background_pop@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_opaque_background_pop@3x.png
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_opaque_background_push@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_opaque_background_push@3x.png
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_opaque_background_root@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_opaque_background_root@3x.png
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_tansparent_background_pop@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_tansparent_background_pop@3x.png
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_tansparent_background_push@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_tansparent_background_push@3x.png
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_tansparent_background_root@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_tansparent_background_root@3x.png
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_title_change_pop@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_title_change_pop@3x.png
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_title_change_push@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_title_change_push@3x.png
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_title_change_root@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_title_change_root@3x.png
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_title_font_pop@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_title_font_pop@3x.png
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_title_font_push@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_title_font_push@3x.png
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_title_font_root@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_title_font_root@3x.png
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_translucent_background_pop@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_translucent_background_pop@3x.png
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_translucent_background_push@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_translucent_background_push@3x.png
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_translucent_background_root@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_translucent_background_root@3x.png
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_visibility_pop@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_visibility_pop@3x.png
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_visibility_push@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_visibility_push@3x.png
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_visibility_root@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/SnapshotTests/ReferenceImages_64/StackOptionsTest/testStack_topBar_visibility_root@3x.png
--------------------------------------------------------------------------------
/playground/ios/SnapshotTests/Utils/CommandsHandlerCreator.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface CommandsHandlerCreator : NSObject
5 |
6 | + (RNNCommandsHandler *)createWithWindow:(UIWindow *)window;
7 |
8 | @end
9 |
--------------------------------------------------------------------------------
/playground/ios/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/playground/ios/playground.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/playground/ios/playground/AppDelegate.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import "RNNAppDelegate.h"
3 |
4 | @interface AppDelegate : RNNAppDelegate
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-114.png
--------------------------------------------------------------------------------
/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-120.png
--------------------------------------------------------------------------------
/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-121.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-121.png
--------------------------------------------------------------------------------
/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-180.png
--------------------------------------------------------------------------------
/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-29.png
--------------------------------------------------------------------------------
/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-40.png
--------------------------------------------------------------------------------
/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-57.png
--------------------------------------------------------------------------------
/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-58.png
--------------------------------------------------------------------------------
/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-60.png
--------------------------------------------------------------------------------
/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-80.png
--------------------------------------------------------------------------------
/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/playground/Images.xcassets/AppIcon.appiconset/Icon-87.png
--------------------------------------------------------------------------------
/playground/ios/playground/Images.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/playground/ios/playground/Images.xcassets/icon_res.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "clear@2x.ios.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/playground/ios/playground/Images.xcassets/icon_res.imageset/clear@2x.ios.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/playground/Images.xcassets/icon_res.imageset/clear@2x.ios.png
--------------------------------------------------------------------------------
/playground/ios/playground/RNNCustomViewController.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface RNNCustomViewController : UIViewController
4 |
5 | - (instancetype)initWithProps:(NSDictionary *)props;
6 |
7 | @end
8 |
--------------------------------------------------------------------------------
/playground/ios/playground/RNNNativeViewController.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface RNNNativeViewController : UIViewController
4 |
5 | @end
6 |
--------------------------------------------------------------------------------
/playground/ios/playground/TestingAppDelegate.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface TestingAppDelegate : UIResponder
4 |
5 | @property(nonatomic, strong) UIWindow *window;
6 |
7 | @end
8 |
--------------------------------------------------------------------------------
/playground/ios/playground/TestingAppDelegate.mm:
--------------------------------------------------------------------------------
1 | #import "TestingAppDelegate.h"
2 |
3 | @implementation TestingAppDelegate
4 |
5 | - (void)applicationDidFinishLaunching:(UIApplication *)application {
6 | _window = [UIWindow new];
7 | _window.rootViewController = [UIViewController new];
8 | [_window makeKeyAndVisible];
9 | }
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/playground/ios/playground/clear@2x.ios.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/playground/ios/playground/clear@2x.ios.png
--------------------------------------------------------------------------------
/playground/src/components/Bounds.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { View } from 'react-native';
3 |
4 | type BoundsProps = {
5 | children: React.ReactNode;
6 | };
7 |
8 | const Bounds = ({ children }: BoundsProps) => {
9 | return (
10 |
17 | {children}
18 |
19 | );
20 | };
21 |
22 | export default Bounds;
23 |
--------------------------------------------------------------------------------
/playground/src/flags.ts:
--------------------------------------------------------------------------------
1 | const flags = {
2 | showTextInputToTestKeyboardInteraction: false,
3 | useCustomAnimations: false,
4 | useSlowOpenScreenAnimations: false,
5 | useSlideAnimation: false,
6 | randomizeComponentBackgroundColor: false,
7 | };
8 |
9 | export default flags;
10 |
--------------------------------------------------------------------------------
/playground/src/index.ts:
--------------------------------------------------------------------------------
1 | import { start } from './app';
2 |
3 | start();
4 |
--------------------------------------------------------------------------------
/playground/src/screens/LifecycleButton.tsx:
--------------------------------------------------------------------------------
1 | import RoundedButton from './RoundedButton';
2 |
3 | export default class LifecycleButton extends RoundedButton {
4 | componentWillUnmount() {
5 | alert('Button component unmounted');
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/react-native.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | dependency: {
3 | platforms: {
4 | ios: {},
5 | android: {
6 | sourceDir: './lib/android/app/',
7 | packageImportPath: 'import com.reactnativenavigation.react.NavigationPackage;',
8 | packageInstance: 'new NavigationPackage()',
9 | },
10 | },
11 | },
12 | project: {
13 | android: {
14 | sourceDir: './playground/android/',
15 | },
16 | },
17 | };
18 |
--------------------------------------------------------------------------------
/scripts/check-clang-format.js:
--------------------------------------------------------------------------------
1 | const exec = require('shell-utils').exec;
2 |
3 | const files = process.argv.slice(2).join(' ');
4 | const result = exec.execSyncRead(`./node_modules/.bin/git-clang-format --diff -- ${files}`).trim();
5 |
6 | if (
7 | result !== 'no modified files to format' &&
8 | result !== 'clang-format did not modify any files'
9 | ) {
10 | throw result;
11 | }
12 |
--------------------------------------------------------------------------------
/scripts/test-autolink.js:
--------------------------------------------------------------------------------
1 | const exec = require('shell-utils').exec;
2 |
3 | function run() {
4 | exec.execSync(`jest autolink`);
5 | }
6 |
7 | run();
8 |
--------------------------------------------------------------------------------
/scripts/watch.js:
--------------------------------------------------------------------------------
1 | const exec = require('shell-utils').exec;
2 |
3 | const isWindows = process.platform === 'win32' ? true : false;
4 |
5 | run();
6 |
7 | function run() {
8 | if (isWindows) {
9 | exec.execSync(`del /F /S /Q lib\\dist`);
10 | exec.execSync(`tsc --project tsconfig.build.json --watch`);
11 | } else {
12 | exec.execSync(`rm -rf ./lib/dist && tsc --project tsconfig.build.json --watch`);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/tsconfig.build.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "exclude": ["./playground/**/*"]
4 | }
5 |
--------------------------------------------------------------------------------
/tsconfig.mocks.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.build.json",
3 | "compilerOptions": {
4 | "outDir": "./"
5 | },
6 | "include": ["Mock.ts"]
7 | }
8 |
--------------------------------------------------------------------------------
/website/docs/api/options-animations.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: options-animations
3 | title: Animations
4 | sidebar_label: Animations
5 | ---
6 |
--------------------------------------------------------------------------------
/website/docs/api/options-preview.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: options-preview
3 | title: Preview (iOS)
4 | sidebar_label: Preview (iOS)
5 | ---
6 |
--------------------------------------------------------------------------------
/website/docs/docs/stack-backNavigation.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: stack-backNavigation
3 | title: Back Navigation
4 | sidebar_label: Back navigation
5 | ---
6 |
7 | ## Disabling back navigation
8 |
9 | ## Handling back navigation
10 |
11 |
--------------------------------------------------------------------------------
/website/docs/docs/style-screens/command-options.tsx:
--------------------------------------------------------------------------------
1 | import { Navigation } from 'react-native-navigation';
2 |
3 | function showUserProfileScreen(user: User) {
4 | Navigation.push(componentId, {
5 | component: {
6 | name: 'ProfileScreen',
7 | passProps: { user },
8 | options: {
9 | topBar: {
10 | title: {
11 | text: user.name,
12 | },
13 | },
14 | },
15 | },
16 | });
17 | }
18 |
--------------------------------------------------------------------------------
/website/docs/docs/style-screens/merge-options.tsx:
--------------------------------------------------------------------------------
1 | import { Navigation } from 'react-native-navigation';
2 |
3 | Navigation.mergeOptions(componentId, {
4 | topBar: {
5 | background: {
6 | color: 'red',
7 | },
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/website/docs/docs/style-screens/static-options-class.tsx:
--------------------------------------------------------------------------------
1 | import { NavigationComponent, Options } from 'react-native-navigation';
2 |
3 | class MyScreen extends NavigationComponent {
4 | static options: Options = {
5 | topBar: {
6 | title: {
7 | text: 'My Screen',
8 | },
9 | },
10 | };
11 | }
12 |
--------------------------------------------------------------------------------
/website/docs/docs/style-screens/static-options-fn.tsx:
--------------------------------------------------------------------------------
1 | import { View } from 'react-native';
2 | import { NavigationComponentProps, NavigationFunctionComponent } from 'react-native-navigation';
3 |
4 | const MyFunctionalScreen: NavigationFunctionComponent = (props: NavigationComponentProps) => {
5 | return ;
6 | };
7 |
8 | MyFunctionalScreen.options = {
9 | topBar: {
10 | title: {
11 | text: 'My Screen',
12 | },
13 | },
14 | };
15 |
--------------------------------------------------------------------------------
/website/docs/docs/third-party-react-context/index.tsx:
--------------------------------------------------------------------------------
1 | // index.tsx
2 | import { Navigation } from 'react-native-navigation';
3 | import { CounterContextProvider } from './CounterContext';
4 | import { App } from './App';
5 |
6 | Navigation.registerComponent(
7 | 'App',
8 | () => (props) => (
9 |
10 |
11 |
12 | ),
13 | () => App
14 | );
15 |
--------------------------------------------------------------------------------
/website/docs/docs/third-party-react-native-vector-icons/MyIcon.tsx:
--------------------------------------------------------------------------------
1 | import { createIconSetFromIcoMoon } from 'react-native-vector-icons';
2 |
3 | // This file is a renamed "selection.json" file exported in the IcoMoon bundle
4 | import myIconConfig from 'assets/myicon-config.json';
5 |
6 | // Constructing that the font has been properly registered in each platfom build.
7 | const MyIcon = createIconSetFromIcoMoon(myIconConfig);
8 |
9 | export default MyIcon;
10 |
11 |
--------------------------------------------------------------------------------
/website/docs/docs/third-party-typescript/typed-props-in-commands.tsx:
--------------------------------------------------------------------------------
1 | import { Navigation } from 'react-native-navigation';
2 |
3 | interface Props {
4 | name: string;
5 | }
6 |
7 | Navigation.push(componentId, {
8 | component: {
9 | name: 'MyComponent',
10 | passProps: {
11 | name: 'Bob',
12 | // @ts-expect-error
13 | color: 'red', // Compilation error! color isn't declared in Props
14 | },
15 | },
16 | });
17 |
--------------------------------------------------------------------------------
/website/index.d.ts:
--------------------------------------------------------------------------------
1 | declare const componentId: string;
2 |
3 | declare class User {
4 | name: string;
5 | }
6 |
7 | declare class OrderDetails {
8 | orderId: string;
9 | }
10 |
--------------------------------------------------------------------------------
/website/src/components/CustomLayout.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import DocPage from '@theme/DocPage';
3 | import StandWithUkraine from '@site/src/components/StandWithUkraine';
4 |
5 | export default function CustomLayout(props) {
6 | return (
7 | <>
8 |
9 |
10 | >
11 | );
12 | }
13 |
--------------------------------------------------------------------------------
/website/src/data/showcase/Nox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/Nox.png
--------------------------------------------------------------------------------
/website/src/data/showcase/acuity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/acuity.png
--------------------------------------------------------------------------------
/website/src/data/showcase/amber.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/amber.png
--------------------------------------------------------------------------------
/website/src/data/showcase/arkhamCards.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/arkhamCards.png
--------------------------------------------------------------------------------
/website/src/data/showcase/aurora.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/aurora.png
--------------------------------------------------------------------------------
/website/src/data/showcase/bementor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/bementor.png
--------------------------------------------------------------------------------
/website/src/data/showcase/bene.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/bene.png
--------------------------------------------------------------------------------
/website/src/data/showcase/christmas.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/christmas.png
--------------------------------------------------------------------------------
/website/src/data/showcase/churchtools.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/churchtools.png
--------------------------------------------------------------------------------
/website/src/data/showcase/cinepicks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/cinepicks.png
--------------------------------------------------------------------------------
/website/src/data/showcase/clubhouse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/clubhouse.png
--------------------------------------------------------------------------------
/website/src/data/showcase/cookomix.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/cookomix.png
--------------------------------------------------------------------------------
/website/src/data/showcase/deevent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/deevent.png
--------------------------------------------------------------------------------
/website/src/data/showcase/delta.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/delta.png
--------------------------------------------------------------------------------
/website/src/data/showcase/digitail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/digitail.png
--------------------------------------------------------------------------------
/website/src/data/showcase/feastr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/feastr.png
--------------------------------------------------------------------------------
/website/src/data/showcase/galarm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/galarm.png
--------------------------------------------------------------------------------
/website/src/data/showcase/getAbstract.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/getAbstract.png
--------------------------------------------------------------------------------
/website/src/data/showcase/hibob.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/hibob.png
--------------------------------------------------------------------------------
/website/src/data/showcase/honeybook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/honeybook.png
--------------------------------------------------------------------------------
/website/src/data/showcase/intelivest.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/intelivest.png
--------------------------------------------------------------------------------
/website/src/data/showcase/klarna.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/klarna.png
--------------------------------------------------------------------------------
/website/src/data/showcase/magiceden.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/magiceden.png
--------------------------------------------------------------------------------
/website/src/data/showcase/nifty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/nifty.png
--------------------------------------------------------------------------------
/website/src/data/showcase/obitrain.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/obitrain.png
--------------------------------------------------------------------------------
/website/src/data/showcase/owner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/owner.png
--------------------------------------------------------------------------------
/website/src/data/showcase/spaces.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/spaces.png
--------------------------------------------------------------------------------
/website/src/data/showcase/stretchminder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/stretchminder.png
--------------------------------------------------------------------------------
/website/src/data/showcase/taimi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/taimi.png
--------------------------------------------------------------------------------
/website/src/data/showcase/thera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/src/data/showcase/thera.png
--------------------------------------------------------------------------------
/website/src/pages/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Redirect } from '@docusaurus/router';
3 |
4 | function Home() {
5 | return ;
6 | }
7 |
8 | export default Home;
9 |
--------------------------------------------------------------------------------
/website/static/img/alert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/static/img/alert.png
--------------------------------------------------------------------------------
/website/static/img/alert_android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/static/img/alert_android.png
--------------------------------------------------------------------------------
/website/static/img/bottomTabs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/static/img/bottomTabs.png
--------------------------------------------------------------------------------
/website/static/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/static/img/favicon.ico
--------------------------------------------------------------------------------
/website/static/img/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/static/img/logo.png
--------------------------------------------------------------------------------
/website/static/img/mobx_counter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/static/img/mobx_counter.png
--------------------------------------------------------------------------------
/website/static/img/modal_android.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/static/img/modal_android.gif
--------------------------------------------------------------------------------
/website/static/img/modal_ios.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/static/img/modal_ios.gif
--------------------------------------------------------------------------------
/website/static/img/navBar_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/static/img/navBar_black.png
--------------------------------------------------------------------------------
/website/static/img/navBar_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/static/img/navBar_white.png
--------------------------------------------------------------------------------
/website/static/img/sharedElement.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/static/img/sharedElement.gif
--------------------------------------------------------------------------------
/website/static/img/stack1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/static/img/stack1.png
--------------------------------------------------------------------------------
/website/static/img/stack2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/static/img/stack2.gif
--------------------------------------------------------------------------------
/website/static/img/stack3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/static/img/stack3.gif
--------------------------------------------------------------------------------
/website/static/img/stack4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/static/img/stack4.png
--------------------------------------------------------------------------------
/website/static/img/stackOptions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/static/img/stackOptions.png
--------------------------------------------------------------------------------
/website/static/img/toast_android.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wix/react-native-navigation/87b3348767ec4f77f6125a11d9540eb182af5701/website/static/img/toast_android.png
--------------------------------------------------------------------------------
/website/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "noEmit": true,
5 | "noUnusedLocals": false,
6 | "noUnusedParameters": false
7 | },
8 | "include": ["index.d.ts", "./docs/**/*"]
9 | }
10 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-6.12.2/api/options-animations.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: options-animations
3 | title: Animations
4 | sidebar_label: Animations
5 | ---
6 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-6.12.2/api/options-preview.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: options-preview
3 | title: Preview (iOS)
4 | sidebar_label: Preview (iOS)
5 | ---
6 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-6.12.2/docs/stack-backNavigation.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: stack-backNavigation
3 | title: Back Navigation
4 | sidebar_label: Back navigation
5 | ---
6 |
7 | ## Disabling back navigation
8 |
9 | ## Handling back navigation
10 |
11 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-6.12.2/docs/style-screens/merge-options.tsx:
--------------------------------------------------------------------------------
1 | import { Navigation } from 'react-native-navigation';
2 |
3 | Navigation.mergeOptions(componentId, {
4 | topBar: {
5 | background: {
6 | color: 'red',
7 | },
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-6.12.2/docs/style-screens/static-options-class.tsx:
--------------------------------------------------------------------------------
1 | import { NavigationComponent, Options } from 'react-native-navigation';
2 |
3 | class MyScreen extends NavigationComponent {
4 | static options: Options = {
5 | topBar: {
6 | title: {
7 | text: 'My Screen',
8 | },
9 | },
10 | };
11 | }
12 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-6.12.2/docs/style-screens/static-options-fn.tsx:
--------------------------------------------------------------------------------
1 | import { View } from 'react-native';
2 | import { NavigationComponentProps, NavigationFunctionComponent } from 'react-native-navigation';
3 |
4 | const MyFunctionalScreen: NavigationFunctionComponent = (props: NavigationComponentProps) => {
5 | return ;
6 | };
7 |
8 | MyFunctionalScreen.options = {
9 | topBar: {
10 | title: {
11 | text: 'My Screen',
12 | },
13 | },
14 | };
15 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-6.12.2/docs/third-party-react-context/index.tsx:
--------------------------------------------------------------------------------
1 | // index.tsx
2 | import { Navigation } from 'react-native-navigation';
3 | import { CounterContextProvider } from './CounterContext';
4 | import { App } from './App';
5 |
6 | Navigation.registerComponent(
7 | 'App',
8 | () => (props) => (
9 |
10 |
11 |
12 | ),
13 | () => App
14 | );
15 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-6.12.2/docs/third-party-typescript/typed-props-in-commands.tsx:
--------------------------------------------------------------------------------
1 | import { Navigation } from 'react-native-navigation';
2 |
3 | interface Props {
4 | name: string;
5 | }
6 |
7 | Navigation.push(componentId, {
8 | component: {
9 | name: 'MyComponent',
10 | passProps: {
11 | name: 'Bob',
12 | // @ts-expect-error
13 | color: 'red', // Compilation error! color isn't declared in Props
14 | },
15 | },
16 | });
17 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.11.2/api/options-animations.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: options-animations
3 | title: Animations
4 | sidebar_label: Animations
5 | ---
6 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.11.2/api/options-preview.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: options-preview
3 | title: Preview (iOS)
4 | sidebar_label: Preview (iOS)
5 | ---
6 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.11.2/docs/stack-backNavigation.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: stack-backNavigation
3 | title: Back Navigation
4 | sidebar_label: Back navigation
5 | ---
6 |
7 | ## Disabling back navigation
8 |
9 | ## Handling back navigation
10 |
11 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.11.2/docs/style-screens/merge-options.tsx:
--------------------------------------------------------------------------------
1 | import { Navigation } from 'react-native-navigation';
2 |
3 | Navigation.mergeOptions(componentId, {
4 | topBar: {
5 | background: {
6 | color: 'red',
7 | },
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.11.2/docs/style-screens/static-options-class.tsx:
--------------------------------------------------------------------------------
1 | import { NavigationComponent, Options } from 'react-native-navigation';
2 |
3 | class MyScreen extends NavigationComponent {
4 | static options: Options = {
5 | topBar: {
6 | title: {
7 | text: 'My Screen',
8 | },
9 | },
10 | };
11 | }
12 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.11.2/docs/style-screens/static-options-fn.tsx:
--------------------------------------------------------------------------------
1 | import { View } from 'react-native';
2 | import { NavigationComponentProps, NavigationFunctionComponent } from 'react-native-navigation';
3 |
4 | const MyFunctionalScreen: NavigationFunctionComponent = (props: NavigationComponentProps) => {
5 | return ;
6 | };
7 |
8 | MyFunctionalScreen.options = {
9 | topBar: {
10 | title: {
11 | text: 'My Screen',
12 | },
13 | },
14 | };
15 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.11.2/docs/third-party-react-context/index.tsx:
--------------------------------------------------------------------------------
1 | // index.tsx
2 | import { Navigation } from 'react-native-navigation';
3 | import { CounterContextProvider } from './CounterContext';
4 | import { App } from './App';
5 |
6 | Navigation.registerComponent(
7 | 'App',
8 | () => (props) => (
9 |
10 |
11 |
12 | ),
13 | () => App
14 | );
15 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.11.2/docs/third-party-typescript/typed-props-in-commands.tsx:
--------------------------------------------------------------------------------
1 | import { Navigation } from 'react-native-navigation';
2 |
3 | interface Props {
4 | name: string;
5 | }
6 |
7 | Navigation.push(componentId, {
8 | component: {
9 | name: 'MyComponent',
10 | passProps: {
11 | name: 'Bob',
12 | // @ts-expect-error
13 | color: 'red', // Compilation error! color isn't declared in Props
14 | },
15 | },
16 | });
17 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.25.4/api/options-animations.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: options-animations
3 | title: Animations
4 | sidebar_label: Animations
5 | ---
6 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.25.4/api/options-preview.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: options-preview
3 | title: Preview (iOS)
4 | sidebar_label: Preview (iOS)
5 | ---
6 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.25.4/docs/stack-backNavigation.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: stack-backNavigation
3 | title: Back Navigation
4 | sidebar_label: Back navigation
5 | ---
6 |
7 | ## Disabling back navigation
8 |
9 | ## Handling back navigation
10 |
11 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.25.4/docs/style-screens/merge-options.tsx:
--------------------------------------------------------------------------------
1 | import { Navigation } from 'react-native-navigation';
2 |
3 | Navigation.mergeOptions(componentId, {
4 | topBar: {
5 | background: {
6 | color: 'red',
7 | },
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.25.4/docs/style-screens/static-options-class.tsx:
--------------------------------------------------------------------------------
1 | import { NavigationComponent, Options } from 'react-native-navigation';
2 |
3 | class MyScreen extends NavigationComponent {
4 | static options: Options = {
5 | topBar: {
6 | title: {
7 | text: 'My Screen',
8 | },
9 | },
10 | };
11 | }
12 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.25.4/docs/style-screens/static-options-fn.tsx:
--------------------------------------------------------------------------------
1 | import { View } from 'react-native';
2 | import { NavigationComponentProps, NavigationFunctionComponent } from 'react-native-navigation';
3 |
4 | const MyFunctionalScreen: NavigationFunctionComponent = (props: NavigationComponentProps) => {
5 | return ;
6 | };
7 |
8 | MyFunctionalScreen.options = {
9 | topBar: {
10 | title: {
11 | text: 'My Screen',
12 | },
13 | },
14 | };
15 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.25.4/docs/third-party-react-context/index.tsx:
--------------------------------------------------------------------------------
1 | // index.tsx
2 | import { Navigation } from 'react-native-navigation';
3 | import { CounterContextProvider } from './CounterContext';
4 | import { App } from './App';
5 |
6 | Navigation.registerComponent(
7 | 'App',
8 | () => (props) => (
9 |
10 |
11 |
12 | ),
13 | () => App
14 | );
15 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.25.4/docs/third-party-typescript/typed-props-in-commands.tsx:
--------------------------------------------------------------------------------
1 | import { Navigation } from 'react-native-navigation';
2 |
3 | interface Props {
4 | name: string;
5 | }
6 |
7 | Navigation.push(componentId, {
8 | component: {
9 | name: 'MyComponent',
10 | passProps: {
11 | name: 'Bob',
12 | // @ts-expect-error
13 | color: 'red', // Compilation error! color isn't declared in Props
14 | },
15 | },
16 | });
17 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.32.1/api/options-animations.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: options-animations
3 | title: Animations
4 | sidebar_label: Animations
5 | ---
6 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.32.1/api/options-preview.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: options-preview
3 | title: Preview (iOS)
4 | sidebar_label: Preview (iOS)
5 | ---
6 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.32.1/docs/stack-backNavigation.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: stack-backNavigation
3 | title: Back Navigation
4 | sidebar_label: Back navigation
5 | ---
6 |
7 | ## Disabling back navigation
8 |
9 | ## Handling back navigation
10 |
11 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.32.1/docs/style-screens/merge-options.tsx:
--------------------------------------------------------------------------------
1 | import { Navigation } from 'react-native-navigation';
2 |
3 | Navigation.mergeOptions(componentId, {
4 | topBar: {
5 | background: {
6 | color: 'red',
7 | },
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.32.1/docs/style-screens/static-options-class.tsx:
--------------------------------------------------------------------------------
1 | import { NavigationComponent, Options } from 'react-native-navigation';
2 |
3 | class MyScreen extends NavigationComponent {
4 | static options: Options = {
5 | topBar: {
6 | title: {
7 | text: 'My Screen',
8 | },
9 | },
10 | };
11 | }
12 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.32.1/docs/style-screens/static-options-fn.tsx:
--------------------------------------------------------------------------------
1 | import { View } from 'react-native';
2 | import { NavigationComponentProps, NavigationFunctionComponent } from 'react-native-navigation';
3 |
4 | const MyFunctionalScreen: NavigationFunctionComponent = (props: NavigationComponentProps) => {
5 | return ;
6 | };
7 |
8 | MyFunctionalScreen.options = {
9 | topBar: {
10 | title: {
11 | text: 'My Screen',
12 | },
13 | },
14 | };
15 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.32.1/docs/third-party-react-context/index.tsx:
--------------------------------------------------------------------------------
1 | // index.tsx
2 | import { Navigation } from 'react-native-navigation';
3 | import { CounterContextProvider } from './CounterContext';
4 | import { App } from './App';
5 |
6 | Navigation.registerComponent(
7 | 'App',
8 | () => (props) => (
9 |
10 |
11 |
12 | ),
13 | () => App
14 | );
15 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.32.1/docs/third-party-typescript/typed-props-in-commands.tsx:
--------------------------------------------------------------------------------
1 | import { Navigation } from 'react-native-navigation';
2 |
3 | interface Props {
4 | name: string;
5 | }
6 |
7 | Navigation.push(componentId, {
8 | component: {
9 | name: 'MyComponent',
10 | passProps: {
11 | name: 'Bob',
12 | // @ts-expect-error
13 | color: 'red', // Compilation error! color isn't declared in Props
14 | },
15 | },
16 | });
17 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.37.0/api/options-animations.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: options-animations
3 | title: Animations
4 | sidebar_label: Animations
5 | ---
6 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.37.0/api/options-preview.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: options-preview
3 | title: Preview (iOS)
4 | sidebar_label: Preview (iOS)
5 | ---
6 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.37.0/docs/stack-backNavigation.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: stack-backNavigation
3 | title: Back Navigation
4 | sidebar_label: Back navigation
5 | ---
6 |
7 | ## Disabling back navigation
8 |
9 | ## Handling back navigation
10 |
11 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.37.0/docs/style-screens/merge-options.tsx:
--------------------------------------------------------------------------------
1 | import { Navigation } from 'react-native-navigation';
2 |
3 | Navigation.mergeOptions(componentId, {
4 | topBar: {
5 | background: {
6 | color: 'red',
7 | },
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.37.0/docs/style-screens/static-options-class.tsx:
--------------------------------------------------------------------------------
1 | import { NavigationComponent, Options } from 'react-native-navigation';
2 |
3 | class MyScreen extends NavigationComponent {
4 | static options: Options = {
5 | topBar: {
6 | title: {
7 | text: 'My Screen',
8 | },
9 | },
10 | };
11 | }
12 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.37.0/docs/style-screens/static-options-fn.tsx:
--------------------------------------------------------------------------------
1 | import { View } from 'react-native';
2 | import { NavigationComponentProps, NavigationFunctionComponent } from 'react-native-navigation';
3 |
4 | const MyFunctionalScreen: NavigationFunctionComponent = (props: NavigationComponentProps) => {
5 | return ;
6 | };
7 |
8 | MyFunctionalScreen.options = {
9 | topBar: {
10 | title: {
11 | text: 'My Screen',
12 | },
13 | },
14 | };
15 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.37.0/docs/third-party-react-context/index.tsx:
--------------------------------------------------------------------------------
1 | // index.tsx
2 | import { Navigation } from 'react-native-navigation';
3 | import { CounterContextProvider } from './CounterContext';
4 | import { App } from './App';
5 |
6 | Navigation.registerComponent(
7 | 'App',
8 | () => (props) => (
9 |
10 |
11 |
12 | ),
13 | () => App
14 | );
15 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.37.0/docs/third-party-typescript/typed-props-in-commands.tsx:
--------------------------------------------------------------------------------
1 | import { Navigation } from 'react-native-navigation';
2 |
3 | interface Props {
4 | name: string;
5 | }
6 |
7 | Navigation.push(componentId, {
8 | component: {
9 | name: 'MyComponent',
10 | passProps: {
11 | name: 'Bob',
12 | // @ts-expect-error
13 | color: 'red', // Compilation error! color isn't declared in Props
14 | },
15 | },
16 | });
17 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.7.0/api/options-animations.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: options-animations
3 | title: Animations
4 | sidebar_label: Animations
5 | ---
6 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.7.0/api/options-preview.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: options-preview
3 | title: Preview (iOS)
4 | sidebar_label: Preview (iOS)
5 | ---
6 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.7.0/docs/stack-backNavigation.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | id: stack-backNavigation
3 | title: Back Navigation
4 | sidebar_label: Back navigation
5 | ---
6 |
7 | ## Disabling back navigation
8 |
9 | ## Handling back navigation
10 |
11 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.7.0/docs/style-screens/command-options.tsx:
--------------------------------------------------------------------------------
1 | import { Navigation } from 'react-native-navigation';
2 |
3 | function showUserProfileScreen(user: User) {
4 | Navigation.push(componentId, {
5 | component: {
6 | name: 'ProfileScreen',
7 | passProps: { user },
8 | options: {
9 | topBar: {
10 | title: {
11 | text: user.name,
12 | },
13 | },
14 | },
15 | },
16 | });
17 | }
18 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.7.0/docs/style-screens/merge-options.tsx:
--------------------------------------------------------------------------------
1 | import { Navigation } from 'react-native-navigation';
2 |
3 | Navigation.mergeOptions(componentId, {
4 | topBar: {
5 | background: {
6 | color: 'red',
7 | },
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.7.0/docs/style-screens/static-options-class.tsx:
--------------------------------------------------------------------------------
1 | import { NavigationComponent, Options } from 'react-native-navigation';
2 |
3 | class MyScreen extends NavigationComponent {
4 | static options: Options = {
5 | topBar: {
6 | title: {
7 | text: 'My Screen',
8 | },
9 | },
10 | };
11 | }
12 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.7.0/docs/style-screens/static-options-fn.tsx:
--------------------------------------------------------------------------------
1 | import { View } from 'react-native';
2 | import { NavigationComponentProps, NavigationFunctionComponent } from 'react-native-navigation';
3 |
4 | const MyFunctionalScreen: NavigationFunctionComponent = (props: NavigationComponentProps) => {
5 | return ;
6 | };
7 |
8 | MyFunctionalScreen.options = {
9 | topBar: {
10 | title: {
11 | text: 'My Screen',
12 | },
13 | },
14 | };
15 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.7.0/docs/third-party-react-context/index.tsx:
--------------------------------------------------------------------------------
1 | // index.tsx
2 | import { Navigation } from 'react-native-navigation';
3 | import { CounterContextProvider } from './CounterContext';
4 | import { App } from './App';
5 |
6 | Navigation.registerComponent(
7 | 'App',
8 | () => (props) => (
9 |
10 |
11 |
12 | ),
13 | () => App
14 | );
15 |
--------------------------------------------------------------------------------
/website/versioned_docs/version-7.7.0/docs/third-party-typescript/typed-props-in-commands.tsx:
--------------------------------------------------------------------------------
1 | import { Navigation } from 'react-native-navigation';
2 |
3 | interface Props {
4 | name: string;
5 | }
6 |
7 | Navigation.push(componentId, {
8 | component: {
9 | name: 'MyComponent',
10 | passProps: {
11 | name: 'Bob',
12 | // @ts-expect-error
13 | color: 'red', // Compilation error! color isn't declared in Props
14 | },
15 | },
16 | });
17 |
--------------------------------------------------------------------------------
/website/versions.json:
--------------------------------------------------------------------------------
1 | [
2 | "7.37.0",
3 | "7.32.1",
4 | "7.25.4",
5 | "7.11.2",
6 | "7.7.0",
7 | "6.12.2"
8 | ]
9 |
--------------------------------------------------------------------------------