@apexnative/navigation 0.0.0-stage → 1.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ApexNavigation.podspec +42 -0
- package/LICENSE +21 -0
- package/README.md +76 -2
- package/android/CLAUDE.md +183 -0
- package/android/CORE.md +219 -0
- package/android/MATERIAL_SYMBOLS_LICENSE.txt +205 -0
- package/android/RECIPES.md +39 -0
- package/android/build.gradle +108 -0
- package/android/consumer-rules.pro +2 -0
- package/android/src/main/AndroidManifest.xml +9 -0
- package/android/src/main/java/dev/apexnative/navigation/EdgeToEdgeDecision.kt +25 -0
- package/android/src/main/java/dev/apexnative/navigation/NavigationActivity.kt +339 -0
- package/android/src/main/java/dev/apexnative/navigation/NavigationApplication.kt +90 -0
- package/android/src/main/java/dev/apexnative/navigation/NavigationPackage.kt +37 -0
- package/android/src/main/java/dev/apexnative/navigation/customrow/BottomTabsCustomRowOptions.kt +85 -0
- package/android/src/main/java/dev/apexnative/navigation/layout/LayoutChecks.kt +51 -0
- package/android/src/main/java/dev/apexnative/navigation/layout/LayoutException.kt +7 -0
- package/android/src/main/java/dev/apexnative/navigation/layout/LayoutNode.kt +118 -0
- package/android/src/main/java/dev/apexnative/navigation/layout/LayoutReader.kt +274 -0
- package/android/src/main/java/dev/apexnative/navigation/layout/LayoutType.kt +35 -0
- package/android/src/main/java/dev/apexnative/navigation/nativescreen/NativeScreenCalls.kt +61 -0
- package/android/src/main/java/dev/apexnative/navigation/nativescreen/NativeScreenContext.kt +84 -0
- package/android/src/main/java/dev/apexnative/navigation/nativescreen/NativeScreenCreator.kt +17 -0
- package/android/src/main/java/dev/apexnative/navigation/options/AnimationsOptions.kt +54 -0
- package/android/src/main/java/dev/apexnative/navigation/options/BottomTabOptions.kt +238 -0
- package/android/src/main/java/dev/apexnative/navigation/options/BottomTabsOptions.kt +244 -0
- package/android/src/main/java/dev/apexnative/navigation/options/ButtonMenuOptions.kt +70 -0
- package/android/src/main/java/dev/apexnative/navigation/options/ButtonOptions.kt +296 -0
- package/android/src/main/java/dev/apexnative/navigation/options/ComponentOptions.kt +141 -0
- package/android/src/main/java/dev/apexnative/navigation/options/DefaultOptions.kt +21 -0
- package/android/src/main/java/dev/apexnative/navigation/options/FabOptions.kt +97 -0
- package/android/src/main/java/dev/apexnative/navigation/options/FontOptions.kt +47 -0
- package/android/src/main/java/dev/apexnative/navigation/options/HardwareBackButtonOptions.kt +49 -0
- package/android/src/main/java/dev/apexnative/navigation/options/InterpolationOptions.kt +203 -0
- package/android/src/main/java/dev/apexnative/navigation/options/KeyCommandOptions.kt +49 -0
- package/android/src/main/java/dev/apexnative/navigation/options/LargeTitleOptions.kt +78 -0
- package/android/src/main/java/dev/apexnative/navigation/options/LayoutAnimation.kt +157 -0
- package/android/src/main/java/dev/apexnative/navigation/options/LayoutOptions.kt +94 -0
- package/android/src/main/java/dev/apexnative/navigation/options/ModalOptions.kt +87 -0
- package/android/src/main/java/dev/apexnative/navigation/options/ModalPlacementOptions.kt +90 -0
- package/android/src/main/java/dev/apexnative/navigation/options/NavigationBarOptions.kt +44 -0
- package/android/src/main/java/dev/apexnative/navigation/options/Options.kt +167 -0
- package/android/src/main/java/dev/apexnative/navigation/options/OptionsCache.kt +21 -0
- package/android/src/main/java/dev/apexnative/navigation/options/OptionsReader.kt +133 -0
- package/android/src/main/java/dev/apexnative/navigation/options/PreviewOptions.kt +97 -0
- package/android/src/main/java/dev/apexnative/navigation/options/ReadableMaps.kt +70 -0
- package/android/src/main/java/dev/apexnative/navigation/options/ScrollEdgeEffectOptions.kt +98 -0
- package/android/src/main/java/dev/apexnative/navigation/options/SearchBarOptions.kt +151 -0
- package/android/src/main/java/dev/apexnative/navigation/options/SharedElementTransitionOptions.kt +57 -0
- package/android/src/main/java/dev/apexnative/navigation/options/SheetOptions.kt +108 -0
- package/android/src/main/java/dev/apexnative/navigation/options/SideMenuOptions.kt +130 -0
- package/android/src/main/java/dev/apexnative/navigation/options/SplitViewGroupOptions.kt +190 -0
- package/android/src/main/java/dev/apexnative/navigation/options/SplitViewOptions.kt +28 -0
- package/android/src/main/java/dev/apexnative/navigation/options/StackAnimationOptions.kt +270 -0
- package/android/src/main/java/dev/apexnative/navigation/options/StatusBarOptions.kt +75 -0
- package/android/src/main/java/dev/apexnative/navigation/options/TitleOptions.kt +167 -0
- package/android/src/main/java/dev/apexnative/navigation/options/ToolbarOptions.kt +60 -0
- package/android/src/main/java/dev/apexnative/navigation/options/TopBarAppearanceOptions.kt +223 -0
- package/android/src/main/java/dev/apexnative/navigation/options/TopBarOptions.kt +381 -0
- package/android/src/main/java/dev/apexnative/navigation/options/ViewAnimationOptions.kt +225 -0
- package/android/src/main/java/dev/apexnative/navigation/options/WindowOptions.kt +36 -0
- package/android/src/main/java/dev/apexnative/navigation/options/params/Bool.kt +23 -0
- package/android/src/main/java/dev/apexnative/navigation/options/params/Fraction.kt +12 -0
- package/android/src/main/java/dev/apexnative/navigation/options/params/LayoutDirection.kt +26 -0
- package/android/src/main/java/dev/apexnative/navigation/options/params/Param.kt +24 -0
- package/android/src/main/java/dev/apexnative/navigation/options/params/Text.kt +24 -0
- package/android/src/main/java/dev/apexnative/navigation/options/params/ThemeColour.kt +259 -0
- package/android/src/main/java/dev/apexnative/navigation/options/params/Variant.kt +36 -0
- package/android/src/main/java/dev/apexnative/navigation/options/parsers/BoolParser.kt +15 -0
- package/android/src/main/java/dev/apexnative/navigation/options/parsers/FontParser.kt +28 -0
- package/android/src/main/java/dev/apexnative/navigation/options/parsers/FractionParser.kt +24 -0
- package/android/src/main/java/dev/apexnative/navigation/options/parsers/IconParser.kt +48 -0
- package/android/src/main/java/dev/apexnative/navigation/options/parsers/StringListParser.kt +27 -0
- package/android/src/main/java/dev/apexnative/navigation/options/parsers/TextParser.kt +32 -0
- package/android/src/main/java/dev/apexnative/navigation/options/parsers/TypefaceLoader.kt +42 -0
- package/android/src/main/java/dev/apexnative/navigation/options/parsers/VariantParser.kt +34 -0
- package/android/src/main/java/dev/apexnative/navigation/react/ArrangementStates.kt +41 -0
- package/android/src/main/java/dev/apexnative/navigation/react/CommandAnswer.kt +111 -0
- package/android/src/main/java/dev/apexnative/navigation/react/CommandListener.kt +27 -0
- package/android/src/main/java/dev/apexnative/navigation/react/CommandRunner.kt +131 -0
- package/android/src/main/java/dev/apexnative/navigation/react/DeveloperReload.kt +69 -0
- package/android/src/main/java/dev/apexnative/navigation/react/ErrorTexts.kt +123 -0
- package/android/src/main/java/dev/apexnative/navigation/react/Hinge.kt +154 -0
- package/android/src/main/java/dev/apexnative/navigation/react/LaunchLink.kt +37 -0
- package/android/src/main/java/dev/apexnative/navigation/react/NavigationTurboModule.kt +311 -0
- package/android/src/main/java/dev/apexnative/navigation/react/OptionsCommands.kt +89 -0
- package/android/src/main/java/dev/apexnative/navigation/react/ReactGateway.kt +67 -0
- package/android/src/main/java/dev/apexnative/navigation/react/ReactView.kt +197 -0
- package/android/src/main/java/dev/apexnative/navigation/react/ReadableJson.kt +60 -0
- package/android/src/main/java/dev/apexnative/navigation/react/ReloadCoordinator.kt +130 -0
- package/android/src/main/java/dev/apexnative/navigation/react/ScreenInsets.kt +69 -0
- package/android/src/main/java/dev/apexnative/navigation/react/ScreenRegions.kt +87 -0
- package/android/src/main/java/dev/apexnative/navigation/react/ScrollEvents.kt +160 -0
- package/android/src/main/java/dev/apexnative/navigation/react/StartInfo.kt +44 -0
- package/android/src/main/java/dev/apexnative/navigation/react/events/AppearanceDispatcher.kt +507 -0
- package/android/src/main/java/dev/apexnative/navigation/react/events/ComponentType.kt +13 -0
- package/android/src/main/java/dev/apexnative/navigation/react/events/EventEmitter.kt +199 -0
- package/android/src/main/java/dev/apexnative/navigation/react/events/NavigationStateReporter.kt +62 -0
- package/android/src/main/java/dev/apexnative/navigation/react/events/ScreenAppearance.kt +87 -0
- package/android/src/main/java/dev/apexnative/navigation/react/events/StateHold.kt +62 -0
- package/android/src/main/java/dev/apexnative/navigation/safearea/SafeAreaReadyEvent.kt +16 -0
- package/android/src/main/java/dev/apexnative/navigation/safearea/SafeAreaView.kt +140 -0
- package/android/src/main/java/dev/apexnative/navigation/safearea/SafeAreaViewManager.kt +45 -0
- package/android/src/main/java/dev/apexnative/navigation/slots/SlotContainers.kt +44 -0
- package/android/src/main/java/dev/apexnative/navigation/slots/SlotHost.kt +91 -0
- package/android/src/main/java/dev/apexnative/navigation/slots/SlotScreenView.kt +158 -0
- package/android/src/main/java/dev/apexnative/navigation/slots/SlotView.kt +141 -0
- package/android/src/main/java/dev/apexnative/navigation/slots/SlotViewManager.kt +50 -0
- package/android/src/main/java/dev/apexnative/navigation/splash/SplashHold.kt +67 -0
- package/android/src/main/java/dev/apexnative/navigation/splash/SplashTheme.kt +81 -0
- package/android/src/main/java/dev/apexnative/navigation/splash/SplashView.kt +77 -0
- package/android/src/main/java/dev/apexnative/navigation/system/AppDirection.kt +92 -0
- package/android/src/main/java/dev/apexnative/navigation/system/SystemUiLayers.kt +126 -0
- package/android/src/main/java/dev/apexnative/navigation/system/SystemUiOwner.kt +229 -0
- package/android/src/main/java/dev/apexnative/navigation/system/SystemUiRules.kt +302 -0
- package/android/src/main/java/dev/apexnative/navigation/system/SystemUiState.kt +58 -0
- package/android/src/main/java/dev/apexnative/navigation/system/SystemUiWindow.kt +405 -0
- package/android/src/main/java/dev/apexnative/navigation/utils/ColorUtils.kt +22 -0
- package/android/src/main/java/dev/apexnative/navigation/utils/DevelopmentLog.kt +45 -0
- package/android/src/main/java/dev/apexnative/navigation/utils/DimensionExtensions.kt +16 -0
- package/android/src/main/java/dev/apexnative/navigation/utils/ImageLoader.kt +112 -0
- package/android/src/main/java/dev/apexnative/navigation/utils/MaterialTheme.kt +148 -0
- package/android/src/main/java/dev/apexnative/navigation/utils/NavigationLog.kt +6 -0
- package/android/src/main/java/dev/apexnative/navigation/utils/ScrollToTop.kt +33 -0
- package/android/src/main/java/dev/apexnative/navigation/utils/SystemUiUtils.kt +41 -0
- package/android/src/main/java/dev/apexnative/navigation/utils/TestIds.kt +89 -0
- package/android/src/main/java/dev/apexnative/navigation/utils/TextViewUtils.kt +10 -0
- package/android/src/main/java/dev/apexnative/navigation/utils/UiThread.kt +31 -0
- package/android/src/main/java/dev/apexnative/navigation/utils/UiUtils.kt +43 -0
- package/android/src/main/java/dev/apexnative/navigation/utils/ViewController.kt +124 -0
- package/android/src/main/java/dev/apexnative/navigation/utils/ViewExtensions.kt +41 -0
- package/android/src/main/java/dev/apexnative/navigation/utils/ViewUtils.kt +15 -0
- package/android/src/main/java/dev/apexnative/navigation/utils/WindowFolds.kt +107 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementController.kt +258 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementDefinition.kt +57 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementLayout.kt +225 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementPlanner.kt +120 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/SecondaryScreenPresenter.kt +31 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsCollapseBehavior.kt +54 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsController.kt +664 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsPresenter.kt +367 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/CustomTabRowGeometry.kt +81 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/CustomTabRowPlacer.kt +223 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabBarLook.kt +74 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabBarMotion.kt +83 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabCellState.kt +27 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabHistory.kt +38 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabItems.kt +172 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabSelection.kt +65 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabsAttach.kt +42 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabsRoom.kt +72 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/child/ChildController.kt +45 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/child/ChildControllersRegistry.kt +29 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ComponentPresenter.kt +90 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ComponentViewController.kt +254 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ContentReadiness.kt +65 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/RenderWait.kt +231 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/RestPlace.kt +28 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenContentFactory.kt +28 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenFocus.kt +22 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenFrame.kt +154 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenReadiness.kt +104 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenSafeArea.kt +148 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/externalcomponent/ExternalComponentCreator.kt +18 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/externalcomponent/ExternalComponentViewController.kt +187 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/externalcomponent/NativeScreens.kt +25 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalAnimations.kt +40 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalContainer.kt +20 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalCoordinator.kt +1269 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalRecord.kt +186 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalSheet.kt +342 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalViews.kt +398 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/SheetContainer.kt +67 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/BackCallbackState.kt +78 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/FirstRootDraw.kt +58 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/LayoutFactory.kt +203 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/Navigator.kt +562 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/Navigators.kt +53 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/RootCoordinator.kt +514 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/WaitingLayer.kt +18 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/overlay/OverlayContainer.kt +33 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/overlay/OverlayCoordinator.kt +383 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/overlay/OverlayTouches.kt +44 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/overlay/OverlayViews.kt +117 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/Capabilities.kt +62 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/ContainerBackground.kt +43 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/ParentController.kt +218 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/ShownChildren.kt +82 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuController.kt +283 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuMotion.kt +276 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuPresenter.kt +92 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuRules.kt +107 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitPanes.kt +59 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitViewController.kt +509 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitViewLayout.kt +61 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitViewPresenter.kt +25 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/PreparedFrame.kt +19 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/PreparedPushes.kt +114 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackCommands.kt +387 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackController.kt +635 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackDisplay.kt +167 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackPresenter.kt +24 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackQueue.kt +1274 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackTransitions.kt +82 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackViews.kt +222 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/fab/FabPlacement.kt +47 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/fab/FabPlan.kt +44 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/fab/FabPresenter.kt +279 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/search/ScreenSearch.kt +450 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/search/SearchPanel.kt +176 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/search/StackSearchPresenter.kt +243 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/BarComponents.kt +211 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/BarRowTransition.kt +122 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/ButtonCells.kt +30 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/ButtonPlaces.kt +65 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/LargeTitleCollapse.kt +71 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/MenuChecks.kt +72 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarCollapseBehavior.kt +104 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarPresenter.kt +1085 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarRoom.kt +95 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarVisibility.kt +122 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/IReactView.kt +89 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/Presenter.kt +51 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/ScrollEventListener.kt +194 -0
- package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/ViewController.kt +320 -0
- package/android/src/main/java/dev/apexnative/navigation/views/animations/AnimationRules.kt +141 -0
- package/android/src/main/java/dev/apexnative/navigation/views/animations/Curves.kt +193 -0
- package/android/src/main/java/dev/apexnative/navigation/views/animations/FadeThrough.kt +57 -0
- package/android/src/main/java/dev/apexnative/navigation/views/animations/SideAnimator.kt +143 -0
- package/android/src/main/java/dev/apexnative/navigation/views/animations/SystemTransition.kt +26 -0
- package/android/src/main/java/dev/apexnative/navigation/views/animations/ValueInterpolation.kt +93 -0
- package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabItem.kt +13 -0
- package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabs.kt +550 -0
- package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabsContainer.kt +135 -0
- package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabsLayout.kt +89 -0
- package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/CustomBottomTabItemView.kt +91 -0
- package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/CustomTabRow.kt +165 -0
- package/android/src/main/java/dev/apexnative/navigation/views/component/ComponentLayout.kt +89 -0
- package/android/src/main/java/dev/apexnative/navigation/views/component/Renderable.kt +6 -0
- package/android/src/main/java/dev/apexnative/navigation/views/element/DrawOrder.kt +44 -0
- package/android/src/main/java/dev/apexnative/navigation/views/element/ElementStub.kt +31 -0
- package/android/src/main/java/dev/apexnative/navigation/views/element/ElementTransitions.kt +281 -0
- package/android/src/main/java/dev/apexnative/navigation/views/element/ImageLoads.kt +103 -0
- package/android/src/main/java/dev/apexnative/navigation/views/element/TargetsWait.kt +112 -0
- package/android/src/main/java/dev/apexnative/navigation/views/element/TransitionLayer.kt +152 -0
- package/android/src/main/java/dev/apexnative/navigation/views/element/TransitionTargets.kt +53 -0
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ElementPictures.kt +46 -0
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/FlightGeometry.kt +53 -0
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ImageMatrixAnimator.kt +138 -0
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/PlainViewAnimator.kt +88 -0
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/PropertyAnimatorCreator.kt +33 -0
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ReactImageAnimator.kt +66 -0
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/SharedAnimatorFactory.kt +70 -0
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/TextChangeAnimator.kt +179 -0
- package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ViewChangeAnimator.kt +139 -0
- package/android/src/main/java/dev/apexnative/navigation/views/externalcomponent/ExternalComponentLayout.kt +44 -0
- package/android/src/main/java/dev/apexnative/navigation/views/sidemenu/SideMenuView.kt +183 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/StackLayout.kt +137 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/Fab.kt +125 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/FabAnimator.kt +8 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/FabCollapseBehaviour.kt +34 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/FabMenu.kt +133 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/LargeTitleView.kt +45 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/TitleBar.kt +211 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/TopBar.kt +407 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/TopBarDefaults.kt +35 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/search/ScopeRow.kt +82 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/search/SearchField.kt +130 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/search/SearchStyle.kt +29 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/search/SuggestionList.kt +77 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/BarButtonComponentCell.kt +80 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/ButtonBar.kt +334 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/ButtonMenus.kt +106 -0
- package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/IconBackgroundDrawable.kt +93 -0
- package/android/src/main/jni/ApexNavigationSpec.h +18 -0
- package/android/src/main/jni/CMakeLists.txt +33 -0
- package/android/src/main/res/color/apex_navigation_highlight_inverse.xml +5 -0
- package/android/src/main/res/color/apex_navigation_text_primary.xml +6 -0
- package/android/src/main/res/color/apex_navigation_text_primary_inverse.xml +6 -0
- package/android/src/main/res/color/apex_navigation_text_secondary.xml +6 -0
- package/android/src/main/res/color/apex_navigation_text_secondary_inverse.xml +6 -0
- package/android/src/main/res/drawable/apex_navigation_ic_arrow_back.xml +13 -0
- package/android/src/main/res/drawable/apex_navigation_ic_close.xml +12 -0
- package/android/src/main/res/drawable/ic_fab_add_24dp.xml +12 -0
- package/android/src/main/res/values/attrs.xml +13 -0
- package/android/src/main/res/values/dimens.xml +5 -0
- package/android/src/main/res/values/dimens_splash.xml +9 -0
- package/android/src/main/res/values/ids.xml +12 -0
- package/android/src/main/res/values/styles.xml +18 -0
- package/android/src/main/res/values/themes.xml +75 -0
- package/android/src/main/res/values-night/styles.xml +6 -0
- package/android/src/main/res/values-night/themes.xml +67 -0
- package/cli/app.js +113 -0
- package/cli/changes.js +235 -0
- package/cli/codegen/commands.js +356 -0
- package/cli/codegen/index.js +211 -0
- package/cli/codegen/kotlin.js +396 -0
- package/cli/codegen/names.js +99 -0
- package/cli/codegen/read.js +602 -0
- package/cli/codegen/swift.js +342 -0
- package/cli/config.js +78 -0
- package/cli/diff.js +139 -0
- package/cli/doctor/checks/android.js +217 -0
- package/cli/doctor/checks/app.js +305 -0
- package/cli/doctor/checks/conflicts.js +42 -0
- package/cli/doctor/checks/devices.js +98 -0
- package/cli/doctor/checks/icons.js +69 -0
- package/cli/doctor/checks/ios.js +187 -0
- package/cli/doctor/checks/navigation.js +285 -0
- package/cli/doctor/checks/splash.js +102 -0
- package/cli/doctor/fix.js +66 -0
- package/cli/doctor/index.js +136 -0
- package/cli/doctor/types.js +30 -0
- package/cli/exec.js +34 -0
- package/cli/gradle.js +142 -0
- package/cli/icons/android.js +173 -0
- package/cli/icons/images.js +202 -0
- package/cli/icons/index.js +97 -0
- package/cli/icons/ios.js +113 -0
- package/cli/icons/settings.js +116 -0
- package/cli/images.js +67 -0
- package/cli/index.js +307 -0
- package/cli/info/index.js +290 -0
- package/cli/init/index.js +426 -0
- package/cli/init/packageManager.js +48 -0
- package/cli/init/starter.js +440 -0
- package/cli/links/files.js +109 -0
- package/cli/links/identity.js +75 -0
- package/cli/links/index.js +532 -0
- package/cli/links/native.js +396 -0
- package/cli/links/open.js +120 -0
- package/cli/links/prefixes.js +89 -0
- package/cli/mcp/appMap.js +128 -0
- package/cli/mcp/docs.js +175 -0
- package/cli/mcp/index.js +153 -0
- package/cli/mcp/markdown.js +210 -0
- package/cli/mcp/protocol.js +151 -0
- package/cli/mcp/tools.js +389 -0
- package/cli/migrate/entry.js +451 -0
- package/cli/migrate/index.js +305 -0
- package/cli/migrate/native.js +250 -0
- package/cli/migrate/report.js +238 -0
- package/cli/pods.js +56 -0
- package/cli/project.js +189 -0
- package/cli/screen/index.js +383 -0
- package/cli/screen/templates/compose.js +46 -0
- package/cli/screen/templates/native.js +40 -0
- package/cli/screen/templates/react.js +47 -0
- package/cli/screen/templates/swiftui.js +30 -0
- package/cli/screen/templates/uikit.js +48 -0
- package/cli/screen/templates/views.js +46 -0
- package/cli/setup/index.js +240 -0
- package/cli/setup/source.js +58 -0
- package/cli/setup/steps/app.js +76 -0
- package/cli/setup/steps/appDelegate.js +98 -0
- package/cli/setup/steps/entry.js +68 -0
- package/cli/setup/steps/env.js +245 -0
- package/cli/setup/steps/infoPlist.js +39 -0
- package/cli/setup/steps/mainActivity.js +60 -0
- package/cli/setup/steps/mainApplication.js +58 -0
- package/cli/setup/steps/manifest.js +38 -0
- package/cli/setup/steps/styles.js +29 -0
- package/cli/setup/steps/types.js +14 -0
- package/cli/splash/android.js +239 -0
- package/cli/splash/files.js +50 -0
- package/cli/splash/images.js +117 -0
- package/cli/splash/index.js +109 -0
- package/cli/splash/ios.js +349 -0
- package/cli/splash/settings.js +143 -0
- package/cli/typescript.js +473 -0
- package/cli/ui.js +268 -0
- package/cli/upgrade/changelog.js +45 -0
- package/cli/upgrade/index.js +347 -0
- package/cli/upgrade/versions.js +105 -0
- package/cli/workspace.js +60 -0
- package/cli/xcode/pbxproj.js +327 -0
- package/docs-md/architecture/errors-and-loading.md +138 -0
- package/docs-md/architecture/native-screens.md +290 -0
- package/docs-md/architecture/one-tree.md +164 -0
- package/docs-md/architecture/theme-and-context.md +368 -0
- package/docs-md/architecture/transitions.md +191 -0
- package/docs-md/containers/arrangement.md +320 -0
- package/docs-md/containers/modals.md +195 -0
- package/docs-md/containers/overlays.md +109 -0
- package/docs-md/containers/side-menu.md +138 -0
- package/docs-md/containers/split-view.md +155 -0
- package/docs-md/containers/stack.md +156 -0
- package/docs-md/containers/tabs.md +187 -0
- package/docs-md/flows/a-search-screen.md +311 -0
- package/docs-md/flows/an-app-with-tabs.md +380 -0
- package/docs-md/flows/bottom-sheets.md +326 -0
- package/docs-md/flows/forms-in-a-modal.md +420 -0
- package/docs-md/flows/list-and-details.md +428 -0
- package/docs-md/flows/onboarding.md +454 -0
- package/docs-md/flows/sign-in-and-sign-out.md +693 -0
- package/docs-md/fundamentals/lifecycle-and-events.md +224 -0
- package/docs-md/fundamentals/moving-between-screens.md +267 -0
- package/docs-md/fundamentals/screen-options.md +197 -0
- package/docs-md/fundamentals/screens-and-props.md +314 -0
- package/docs-md/fundamentals/starting-the-app.md +317 -0
- package/docs-md/fundamentals/switching-roots.md +166 -0
- package/docs-md/guides/analytics.md +377 -0
- package/docs-md/guides/app-context.md +554 -0
- package/docs-md/guides/building-a-screen.md +350 -0
- package/docs-md/guides/cli.md +421 -0
- package/docs-md/guides/data-fetching.md +492 -0
- package/docs-md/guides/deep-links.md +694 -0
- package/docs-md/guides/error-reporting.md +290 -0
- package/docs-md/guides/gestures-and-animations.md +381 -0
- package/docs-md/guides/notifications.md +548 -0
- package/docs-md/guides/overview.md +65 -0
- package/docs-md/guides/right-to-left.md +273 -0
- package/docs-md/guides/splash-screen.md +30 -0
- package/docs-md/guides/state-management.md +1050 -0
- package/docs-md/guides/testing.md +293 -0
- package/docs-md/help/glossary.md +433 -0
- package/docs-md/help/troubleshooting.md +709 -0
- package/docs-md/index.json +4205 -0
- package/docs-md/migration/from-expo-router.md +446 -0
- package/docs-md/migration/from-react-native-navigation.md +789 -0
- package/docs-md/migration/from-react-navigation.md +628 -0
- package/docs-md/screen-ui/back-and-gestures.md +178 -0
- package/docs-md/screen-ui/bar-buttons.md +312 -0
- package/docs-md/screen-ui/search.md +181 -0
- package/docs-md/screen-ui/system-ui.md +337 -0
- package/docs-md/screen-ui/toolbar-and-fab.md +146 -0
- package/docs-md/screen-ui/top-bar.md +247 -0
- package/docs-md/start/installation.md +233 -0
- package/docs-md/start/introduction.md +46 -0
- package/docs-md/start/quick-start.md +124 -0
- package/ios/Animations/ANNAnimationRules.h +72 -0
- package/ios/Animations/ANNAnimationRules.mm +122 -0
- package/ios/Animations/ANNFrameDriver.h +46 -0
- package/ios/Animations/ANNFrameDriver.mm +126 -0
- package/ios/Animations/ANNTransitionAnimator.h +34 -0
- package/ios/Animations/ANNTransitionAnimator.mm +293 -0
- package/ios/Animations/ANNTransitionPlan.h +115 -0
- package/ios/Animations/ANNTransitionPlan.mm +130 -0
- package/ios/Animations/ANNTransitionWait.h +29 -0
- package/ios/Animations/ANNTransitionWait.mm +135 -0
- package/ios/Animations/Elements/ANNElementFinder.h +26 -0
- package/ios/Animations/Elements/ANNElementFinder.mm +37 -0
- package/ios/Animations/Elements/ANNElementTransition.h +30 -0
- package/ios/Animations/Elements/ANNElementTransition.mm +75 -0
- package/ios/Animations/Elements/ANNSharedElementFlight.h +42 -0
- package/ios/Animations/Elements/ANNSharedElementFlight.mm +340 -0
- package/ios/Animations/Elements/ANNZoomAnchor.h +33 -0
- package/ios/Animations/Elements/ANNZoomAnchor.mm +133 -0
- package/ios/Animations/Interpolators/ANNCurve.h +61 -0
- package/ios/Animations/Interpolators/ANNCurve.mm +301 -0
- package/ios/Animations/Interpolators/ANNInterpolate.h +69 -0
- package/ios/Animations/Interpolators/ANNTrack.h +52 -0
- package/ios/Animations/Interpolators/ANNTrack.mm +77 -0
- package/ios/Animations/Interpolators/ANNViewTracks.h +57 -0
- package/ios/Animations/Interpolators/ANNViewTracks.mm +261 -0
- package/ios/ApexNavigation-prefix.h +6 -0
- package/ios/CLAUDE.md +151 -0
- package/ios/CORE.md +177 -0
- package/ios/Contract/ANNCommandAnswer.h +38 -0
- package/ios/Contract/ANNCommandAnswer.mm +99 -0
- package/ios/Contract/ANNCommandRunner.h +42 -0
- package/ios/Contract/ANNCommandRunner.mm +89 -0
- package/ios/Contract/ANNErrorTexts.h +86 -0
- package/ios/Contract/ANNErrorTexts.mm +230 -0
- package/ios/Contract/ANNLayoutNode.h +64 -0
- package/ios/Contract/ANNLayoutNode.mm +153 -0
- package/ios/Contract/ANNLayoutReader.h +34 -0
- package/ios/Contract/ANNLayoutReader.mm +282 -0
- package/ios/Contract/ANNLayoutRoot.h +26 -0
- package/ios/Contract/ANNLayoutRoot.mm +21 -0
- package/ios/Contract/ANNLayoutTreeOptions.h +22 -0
- package/ios/Contract/ANNLayoutTreeOptions.mm +32 -0
- package/ios/Contract/ANNLayoutType.h +44 -0
- package/ios/Contract/ANNLayoutValidator.h +23 -0
- package/ios/Contract/ANNLayoutValidator.mm +28 -0
- package/ios/Core/ANNAppDelegate.mm +122 -0
- package/ios/Core/ANNAppDirection.h +43 -0
- package/ios/Core/ANNAppDirection.mm +194 -0
- package/ios/Core/ANNAppearanceDispatcher.h +117 -0
- package/ios/Core/ANNAppearanceDispatcher.mm +433 -0
- package/ios/Core/ANNAssert.h +7 -0
- package/ios/Core/ANNDeepLinkQueue.h +35 -0
- package/ios/Core/ANNDeepLinkQueue.mm +136 -0
- package/ios/Core/ANNErrorHandler.h +17 -0
- package/ios/Core/ANNErrorHandler.mm +14 -0
- package/ios/Core/ANNEventEmitter.h +174 -0
- package/ios/Core/ANNEventEmitter.mm +337 -0
- package/ios/Core/ANNHinge.h +26 -0
- package/ios/Core/ANNHinge.mm +116 -0
- package/ios/Core/ANNKeyCommands.h +12 -0
- package/ios/Core/ANNKeyCommands.mm +74 -0
- package/ios/Core/ANNLayoutInfo.h +18 -0
- package/ios/Core/ANNLayoutInfo.mm +13 -0
- package/ios/Core/ANNLayoutProtocol.h +155 -0
- package/ios/Core/ANNNavigationState.h +38 -0
- package/ios/Core/ANNNavigationState.mm +127 -0
- package/ios/Core/ANNNodeHelper.h +114 -0
- package/ios/Core/ANNNodeHelper.mm +260 -0
- package/ios/Core/ANNNodePresenter.h +86 -0
- package/ios/Core/ANNNodePresenter.mm +92 -0
- package/ios/Core/ANNNodeRegistry.h +30 -0
- package/ios/Core/ANNNodeRegistry.mm +48 -0
- package/ios/Core/ANNOptionsRepaint.h +19 -0
- package/ios/Core/ANNOptionsRepaint.mm +59 -0
- package/ios/Core/ANNParking.h +34 -0
- package/ios/Core/ANNParking.mm +117 -0
- package/ios/Core/ANNPendingLayers.h +31 -0
- package/ios/Core/ANNPendingLayers.mm +57 -0
- package/ios/Core/ANNReloadCoordinator.h +26 -0
- package/ios/Core/ANNReloadCoordinator.mm +211 -0
- package/ios/Core/ANNRenderWait.h +105 -0
- package/ios/Core/ANNRenderWait.mm +496 -0
- package/ios/Core/ANNSceneDelegate.mm +92 -0
- package/ios/Core/ANNScreenAppearance+Internal.h +29 -0
- package/ios/Core/ANNScreenAppearance.h +60 -0
- package/ios/Core/ANNScreenAppearance.mm +44 -0
- package/ios/Core/ANNShownScreens.h +27 -0
- package/ios/Core/ANNShownScreens.mm +16 -0
- package/ios/Core/ANNSystemUI.h +95 -0
- package/ios/Core/ANNSystemUI.mm +401 -0
- package/ios/Core/ANNSystemUIRules.h +35 -0
- package/ios/Core/ANNSystemUIRules.mm +139 -0
- package/ios/Core/ANNUtils.h +35 -0
- package/ios/Core/ANNUtils.mm +111 -0
- package/ios/Core/ApexNavigation+Internal.h +26 -0
- package/ios/Core/ApexNavigation.mm +177 -0
- package/ios/Core/UIViewController+LayoutProtocol.h +102 -0
- package/ios/Core/UIViewController+LayoutProtocol.mm +253 -0
- package/ios/Layouts/Arrangement/ANNArrangementScreenDelegate.h +18 -0
- package/ios/Layouts/Arrangement/ANNArrangementState.h +30 -0
- package/ios/Layouts/Arrangement/ANNArrangementState.mm +53 -0
- package/ios/Layouts/Arrangement/ANNArrangementViewController.h +38 -0
- package/ios/Layouts/Arrangement/ANNArrangementViewController.mm +573 -0
- package/ios/Layouts/External/ANNExternalViewController.h +28 -0
- package/ios/Layouts/External/ANNExternalViewController.mm +118 -0
- package/ios/Layouts/External/ANNNativeScreenCalls.h +27 -0
- package/ios/Layouts/External/ANNNativeScreenCalls.mm +77 -0
- package/ios/Layouts/Modal/ANNModal.h +121 -0
- package/ios/Layouts/Modal/ANNModal.mm +64 -0
- package/ios/Layouts/Modal/ANNModalCoordinator.h +99 -0
- package/ios/Layouts/Modal/ANNModalCoordinator.mm +1965 -0
- package/ios/Layouts/Modal/ANNModalHostViewComponentView.h +13 -0
- package/ios/Layouts/Modal/ANNModalHostViewComponentView.mm +24 -0
- package/ios/Layouts/Modal/ANNModalPresentation.h +73 -0
- package/ios/Layouts/Modal/ANNModalPresentation.mm +189 -0
- package/ios/Layouts/Modal/ANNModalSizePresenter.h +13 -0
- package/ios/Layouts/Modal/ANNModalSizePresenter.mm +65 -0
- package/ios/Layouts/Modal/ANNModalTransitions.h +29 -0
- package/ios/Layouts/Modal/ANNModalTransitions.mm +40 -0
- package/ios/Layouts/Modal/ANNPopoverPresenter.h +29 -0
- package/ios/Layouts/Modal/ANNPopoverPresenter.mm +158 -0
- package/ios/Layouts/Modal/ANNPresentationGate.h +52 -0
- package/ios/Layouts/Modal/ANNPresentationGate.mm +153 -0
- package/ios/Layouts/Modal/ANNSheetPresenter.h +31 -0
- package/ios/Layouts/Modal/ANNSheetPresenter.mm +247 -0
- package/ios/Layouts/Overlay/ANNOverlayCoordinator.h +66 -0
- package/ios/Layouts/Overlay/ANNOverlayCoordinator.mm +604 -0
- package/ios/Layouts/Overlay/ANNOverlayWindow.h +10 -0
- package/ios/Layouts/Overlay/ANNOverlayWindow.mm +71 -0
- package/ios/Layouts/Root/ANNLayoutFactory.h +31 -0
- package/ios/Layouts/Root/ANNLayoutFactory.mm +349 -0
- package/ios/Layouts/Root/ANNRootCoordinator.h +42 -0
- package/ios/Layouts/Root/ANNRootCoordinator.mm +847 -0
- package/ios/Layouts/Root/ANNSplashViewController.h +30 -0
- package/ios/Layouts/Root/ANNSplashViewController.mm +138 -0
- package/ios/Layouts/Screen/ANNComponentPresenter.h +32 -0
- package/ios/Layouts/Screen/ANNComponentPresenter.mm +136 -0
- package/ios/Layouts/Screen/ANNComponentViewController.h +100 -0
- package/ios/Layouts/Screen/ANNComponentViewController.mm +652 -0
- package/ios/Layouts/Screen/ANNNativeScreenContext+Internal.h +19 -0
- package/ios/Layouts/Screen/ANNNativeScreenContext.mm +84 -0
- package/ios/Layouts/Screen/ANNPreviewInteraction.h +38 -0
- package/ios/Layouts/Screen/ANNPreviewInteraction.mm +252 -0
- package/ios/Layouts/Screen/ANNScreenBars.h +29 -0
- package/ios/Layouts/Screen/ANNScreenBars.mm +47 -0
- package/ios/Layouts/Screen/ANNScreenInsets.h +30 -0
- package/ios/Layouts/Screen/ANNScreenInsets.mm +68 -0
- package/ios/Layouts/Screen/ANNScreenReadiness.h +92 -0
- package/ios/Layouts/Screen/ANNScreenReadiness.mm +186 -0
- package/ios/Layouts/Screen/ANNScreenRegions.h +33 -0
- package/ios/Layouts/Screen/ANNScreenRegions.mm +105 -0
- package/ios/Layouts/Screen/ANNScreenSafeArea.h +38 -0
- package/ios/Layouts/Screen/ANNScreenSafeArea.mm +58 -0
- package/ios/Layouts/SideMenu/ANNSideMenuChildViewController.h +41 -0
- package/ios/Layouts/SideMenu/ANNSideMenuChildViewController.mm +113 -0
- package/ios/Layouts/SideMenu/ANNSideMenuPresenter.h +28 -0
- package/ios/Layouts/SideMenu/ANNSideMenuPresenter.mm +260 -0
- package/ios/Layouts/SideMenu/ANNSideMenuTypes.h +19 -0
- package/ios/Layouts/SideMenu/ANNSideMenuViewController.h +46 -0
- package/ios/Layouts/SideMenu/ANNSideMenuViewController.mm +891 -0
- package/ios/Layouts/SplitView/ANNSplitViewCommands.h +39 -0
- package/ios/Layouts/SplitView/ANNSplitViewCommands.mm +612 -0
- package/ios/Layouts/SplitView/ANNSplitViewController.h +52 -0
- package/ios/Layouts/SplitView/ANNSplitViewController.mm +494 -0
- package/ios/Layouts/SplitView/ANNSplitViewPresenter.h +18 -0
- package/ios/Layouts/SplitView/ANNSplitViewPresenter.mm +181 -0
- package/ios/Layouts/SplitView/UISplitViewController+ANNOptions.h +32 -0
- package/ios/Layouts/SplitView/UISplitViewController+ANNOptions.mm +133 -0
- package/ios/Layouts/Stack/ANNPreviewPush.h +46 -0
- package/ios/Layouts/Stack/ANNPreviewPush.mm +298 -0
- package/ios/Layouts/Stack/ANNStackAnimatingDelegate.h +32 -0
- package/ios/Layouts/Stack/ANNStackAnimatingDelegate.mm +92 -0
- package/ios/Layouts/Stack/ANNStackCommands.h +51 -0
- package/ios/Layouts/Stack/ANNStackCommands.mm +403 -0
- package/ios/Layouts/Stack/ANNStackController.h +161 -0
- package/ios/Layouts/Stack/ANNStackController.mm +1597 -0
- package/ios/Layouts/Stack/ANNStackPresenter.h +44 -0
- package/ios/Layouts/Stack/ANNStackPresenter.mm +181 -0
- package/ios/Layouts/Stack/ANNStackQueue.h +194 -0
- package/ios/Layouts/Stack/ANNStackQueue.mm +1300 -0
- package/ios/Layouts/Stack/InteractivePopGestureDelegate.h +53 -0
- package/ios/Layouts/Stack/InteractivePopGestureDelegate.mm +228 -0
- package/ios/Layouts/Stack/UINavigationController+ANNCommands.h +19 -0
- package/ios/Layouts/Stack/UINavigationController+ANNCommands.mm +29 -0
- package/ios/Layouts/Tabs/ANNBottomTabCellView.h +33 -0
- package/ios/Layouts/Tabs/ANNBottomTabCellView.mm +100 -0
- package/ios/Layouts/Tabs/ANNBottomTabItemBuilder.h +49 -0
- package/ios/Layouts/Tabs/ANNBottomTabItemBuilder.mm +153 -0
- package/ios/Layouts/Tabs/ANNBottomTabsAccessoryView.h +17 -0
- package/ios/Layouts/Tabs/ANNBottomTabsAccessoryView.mm +56 -0
- package/ios/Layouts/Tabs/ANNBottomTabsController.h +121 -0
- package/ios/Layouts/Tabs/ANNBottomTabsController.mm +1404 -0
- package/ios/Layouts/Tabs/ANNBottomTabsCustomRow.h +47 -0
- package/ios/Layouts/Tabs/ANNBottomTabsCustomRow.mm +280 -0
- package/ios/Layouts/Tabs/ANNBottomTabsPresenter.h +81 -0
- package/ios/Layouts/Tabs/ANNBottomTabsPresenter.mm +1026 -0
- package/ios/Layouts/Tabs/ANNMoreNavigationDelegate.h +24 -0
- package/ios/Layouts/Tabs/ANNMoreNavigationDelegate.mm +58 -0
- package/ios/Layouts/Tabs/ANNScrollToTop.h +23 -0
- package/ios/Layouts/Tabs/ANNScrollToTop.mm +55 -0
- package/ios/Layouts/Tabs/ANNTabDotView.h +19 -0
- package/ios/Layouts/Tabs/ANNTabDotView.mm +46 -0
- package/ios/Layouts/Tabs/ANNTabLongPress.h +28 -0
- package/ios/Layouts/Tabs/ANNTabLongPress.mm +98 -0
- package/ios/Layouts/Tabs/ANNTabsDesign.h +26 -0
- package/ios/Layouts/Tabs/ANNTabsDesign.mm +34 -0
- package/ios/Layouts/Tabs/ANNTabsPreloadWindow.h +27 -0
- package/ios/Layouts/Tabs/ANNTabsPreloadWindow.mm +55 -0
- package/ios/Layouts/Tabs/UITabBar+utils.h +24 -0
- package/ios/Layouts/Tabs/UITabBar+utils.mm +103 -0
- package/ios/Options/ANNAnimationOptions.h +22 -0
- package/ios/Options/ANNAnimationOptions.mm +16 -0
- package/ios/Options/ANNAnimationPropertyOptions.h +17 -0
- package/ios/Options/ANNAnimationPropertyOptions.mm +15 -0
- package/ios/Options/ANNBottomTabDotIndicatorOptions.h +14 -0
- package/ios/Options/ANNBottomTabDotIndicatorOptions.mm +13 -0
- package/ios/Options/ANNBottomTabOptions.h +51 -0
- package/ios/Options/ANNBottomTabOptions.mm +47 -0
- package/ios/Options/ANNBottomTabsAccessoryOptions.h +19 -0
- package/ios/Options/ANNBottomTabsAccessoryOptions.mm +25 -0
- package/ios/Options/ANNBottomTabsAnimationOptions.h +12 -0
- package/ios/Options/ANNBottomTabsAnimationOptions.mm +11 -0
- package/ios/Options/ANNBottomTabsCustomRowOptions.h +19 -0
- package/ios/Options/ANNBottomTabsCustomRowOptions.mm +17 -0
- package/ios/Options/ANNBottomTabsOptions.h +51 -0
- package/ios/Options/ANNBottomTabsOptions.mm +48 -0
- package/ios/Options/ANNBottomTabsShadowOptions.h +14 -0
- package/ios/Options/ANNBottomTabsShadowOptions.mm +13 -0
- package/ios/Options/ANNButtonComponentOptions.h +13 -0
- package/ios/Options/ANNButtonComponentOptions.mm +12 -0
- package/ios/Options/ANNButtonOptions.h +56 -0
- package/ios/Options/ANNButtonOptions.mm +53 -0
- package/ios/Options/ANNButtonsParser.h +13 -0
- package/ios/Options/ANNButtonsParser.mm +18 -0
- package/ios/Options/ANNComponentOptions.h +14 -0
- package/ios/Options/ANNComponentOptions.mm +12 -0
- package/ios/Options/ANNDefaultOptions.h +18 -0
- package/ios/Options/ANNDefaultOptions.mm +22 -0
- package/ios/Options/ANNElementAnimationOptions.h +18 -0
- package/ios/Options/ANNElementAnimationOptions.mm +15 -0
- package/ios/Options/ANNElementTransitionOptions.h +26 -0
- package/ios/Options/ANNElementTransitionOptions.mm +28 -0
- package/ios/Options/ANNEnterExitBottomTabsAnimationOptions.h +14 -0
- package/ios/Options/ANNEnterExitBottomTabsAnimationOptions.mm +12 -0
- package/ios/Options/ANNEnterExitScreenAnimationOptions.h +14 -0
- package/ios/Options/ANNEnterExitScreenAnimationOptions.mm +12 -0
- package/ios/Options/ANNEnterExitTopBarAnimationOptions.h +14 -0
- package/ios/Options/ANNEnterExitTopBarAnimationOptions.mm +12 -0
- package/ios/Options/ANNFabOptions.h +26 -0
- package/ios/Options/ANNFabOptions.mm +23 -0
- package/ios/Options/ANNFontOptions.h +24 -0
- package/ios/Options/ANNFontOptions.mm +65 -0
- package/ios/Options/ANNHardwareBackButtonOptions.h +15 -0
- package/ios/Options/ANNHardwareBackButtonOptions.mm +13 -0
- package/ios/Options/ANNIconBackgroundOptions.h +16 -0
- package/ios/Options/ANNIconBackgroundOptions.mm +15 -0
- package/ios/Options/ANNIconInsetsOptions.h +16 -0
- package/ios/Options/ANNIconInsetsOptions.mm +14 -0
- package/ios/Options/ANNInterpolationOptions.h +22 -0
- package/ios/Options/ANNInterpolationOptions.mm +22 -0
- package/ios/Options/ANNLayoutOptions.h +26 -0
- package/ios/Options/ANNLayoutOptions.mm +25 -0
- package/ios/Options/ANNMenuOptions.h +37 -0
- package/ios/Options/ANNMenuOptions.mm +136 -0
- package/ios/Options/ANNModalAnimationOptions.h +17 -0
- package/ios/Options/ANNModalAnimationOptions.mm +15 -0
- package/ios/Options/ANNModalContentSizeOptions.h +14 -0
- package/ios/Options/ANNModalContentSizeOptions.mm +15 -0
- package/ios/Options/ANNModalOptions.h +19 -0
- package/ios/Options/ANNModalOptions.mm +15 -0
- package/ios/Options/ANNNavigationBarOptions.h +14 -0
- package/ios/Options/ANNNavigationBarOptions.mm +13 -0
- package/ios/Options/ANNNavigationOptions.h +60 -0
- package/ios/Options/ANNNavigationOptions.mm +54 -0
- package/ios/Options/ANNOptionField.h +91 -0
- package/ios/Options/ANNOptionField.mm +173 -0
- package/ios/Options/ANNOptions.h +62 -0
- package/ios/Options/ANNOptions.mm +329 -0
- package/ios/Options/ANNOptionsCache.h +22 -0
- package/ios/Options/ANNOptionsCache.mm +17 -0
- package/ios/Options/ANNOptionsReader.h +33 -0
- package/ios/Options/ANNOptionsReader.mm +63 -0
- package/ios/Options/ANNOverlayOptions.h +14 -0
- package/ios/Options/ANNOverlayOptions.mm +12 -0
- package/ios/Options/ANNPopoverOptions.h +17 -0
- package/ios/Options/ANNPopoverOptions.mm +31 -0
- package/ios/Options/ANNPreviewOptions.h +17 -0
- package/ios/Options/ANNPreviewOptions.mm +15 -0
- package/ios/Options/ANNScreenAnimationOptions.h +13 -0
- package/ios/Options/ANNScreenAnimationOptions.mm +12 -0
- package/ios/Options/ANNScrollEdgeEffectOptions.h +20 -0
- package/ios/Options/ANNScrollEdgeEffectOptions.mm +16 -0
- package/ios/Options/ANNScrollEdgeOptions.h +14 -0
- package/ios/Options/ANNScrollEdgeOptions.mm +12 -0
- package/ios/Options/ANNSearchBarOptions.h +49 -0
- package/ios/Options/ANNSearchBarOptions.mm +41 -0
- package/ios/Options/ANNSearchScopeOptions.h +15 -0
- package/ios/Options/ANNSearchScopeOptions.mm +13 -0
- package/ios/Options/ANNSearchSuggestionOptions.h +19 -0
- package/ios/Options/ANNSearchSuggestionOptions.mm +16 -0
- package/ios/Options/ANNSearchTokenOptions.h +18 -0
- package/ios/Options/ANNSearchTokenOptions.mm +15 -0
- package/ios/Options/ANNSetStackRootAnimationOptions.h +12 -0
- package/ios/Options/ANNSetStackRootAnimationOptions.mm +11 -0
- package/ios/Options/ANNSharedElementTransitionOptions.h +17 -0
- package/ios/Options/ANNSharedElementTransitionOptions.mm +15 -0
- package/ios/Options/ANNSheetOptions.h +25 -0
- package/ios/Options/ANNSheetOptions.mm +41 -0
- package/ios/Options/ANNSideMenuOptions.h +19 -0
- package/ios/Options/ANNSideMenuOptions.mm +16 -0
- package/ios/Options/ANNSideMenuSideOptions.h +23 -0
- package/ios/Options/ANNSideMenuSideOptions.mm +20 -0
- package/ios/Options/ANNSplitViewColumnOptions.h +14 -0
- package/ios/Options/ANNSplitViewColumnOptions.mm +13 -0
- package/ios/Options/ANNSplitViewInspectorOptions.h +13 -0
- package/ios/Options/ANNSplitViewInspectorOptions.mm +9 -0
- package/ios/Options/ANNSplitViewOptions.h +29 -0
- package/ios/Options/ANNSplitViewOptions.mm +26 -0
- package/ios/Options/ANNStackAnimationOptions.h +23 -0
- package/ios/Options/ANNStackAnimationOptions.mm +20 -0
- package/ios/Options/ANNStackPushAnimationOptions.h +13 -0
- package/ios/Options/ANNStackPushAnimationOptions.mm +11 -0
- package/ios/Options/ANNStatusBarOptions.h +20 -0
- package/ios/Options/ANNStatusBarOptions.mm +18 -0
- package/ios/Options/ANNToolbarOptions.h +14 -0
- package/ios/Options/ANNToolbarOptions.mm +27 -0
- package/ios/Options/ANNTopBarAnimationOptions.h +12 -0
- package/ios/Options/ANNTopBarAnimationOptions.mm +11 -0
- package/ios/Options/ANNTopBarBackButtonOptions.h +31 -0
- package/ios/Options/ANNTopBarBackButtonOptions.mm +35 -0
- package/ios/Options/ANNTopBarBackgroundComponentOptions.h +13 -0
- package/ios/Options/ANNTopBarBackgroundComponentOptions.mm +11 -0
- package/ios/Options/ANNTopBarBackgroundOptions.h +17 -0
- package/ios/Options/ANNTopBarBackgroundOptions.mm +15 -0
- package/ios/Options/ANNTopBarLargeTitleOptions.h +19 -0
- package/ios/Options/ANNTopBarLargeTitleOptions.mm +15 -0
- package/ios/Options/ANNTopBarOptions.h +62 -0
- package/ios/Options/ANNTopBarOptions.mm +49 -0
- package/ios/Options/ANNTopBarScrollEdgeAppearanceBackgroundOptions.h +14 -0
- package/ios/Options/ANNTopBarScrollEdgeAppearanceBackgroundOptions.mm +12 -0
- package/ios/Options/ANNTopBarScrollEdgeAppearanceOptions.h +19 -0
- package/ios/Options/ANNTopBarScrollEdgeAppearanceOptions.mm +16 -0
- package/ios/Options/ANNTopBarScrollEdgeAppearanceTitleOptions.h +16 -0
- package/ios/Options/ANNTopBarScrollEdgeAppearanceTitleOptions.mm +12 -0
- package/ios/Options/ANNTopBarSubtitleOptions.h +18 -0
- package/ios/Options/ANNTopBarSubtitleOptions.mm +14 -0
- package/ios/Options/ANNTopBarTitleComponentOptions.h +15 -0
- package/ios/Options/ANNTopBarTitleComponentOptions.mm +12 -0
- package/ios/Options/ANNTopBarTitleDocumentOptions.h +12 -0
- package/ios/Options/ANNTopBarTitleDocumentOptions.mm +11 -0
- package/ios/Options/ANNTopBarTitleOptions.h +29 -0
- package/ios/Options/ANNTopBarTitleOptions.mm +21 -0
- package/ios/Options/ANNViewAnimationOptions.h +26 -0
- package/ios/Options/ANNViewAnimationOptions.mm +58 -0
- package/ios/Options/ANNWindowOptions.h +12 -0
- package/ios/Options/ANNWindowOptions.mm +9 -0
- package/ios/Options/ANNZoomTransitionOptions.h +13 -0
- package/ios/Options/ANNZoomTransitionOptions.mm +12 -0
- package/ios/Options/Params/ANNIntegerParam.h +14 -0
- package/ios/Options/Params/ANNIntegerParam.mm +13 -0
- package/ios/Options/Params/ANNParam.h +28 -0
- package/ios/Options/Params/ANNParam.mm +29 -0
- package/ios/Options/Params/Bool.h +17 -0
- package/ios/Options/Params/Bool.mm +17 -0
- package/ios/Options/Params/BoolParser.h +12 -0
- package/ios/Options/Params/BoolParser.mm +10 -0
- package/ios/Options/Params/Color.h +43 -0
- package/ios/Options/Params/Color.mm +65 -0
- package/ios/Options/Params/ColorParser.h +14 -0
- package/ios/Options/Params/ColorParser.mm +95 -0
- package/ios/Options/Params/Double.h +14 -0
- package/ios/Options/Params/Double.mm +13 -0
- package/ios/Options/Params/DoubleParser.h +16 -0
- package/ios/Options/Params/DoubleParser.mm +16 -0
- package/ios/Options/Params/Image.h +15 -0
- package/ios/Options/Params/Image.mm +13 -0
- package/ios/Options/Params/ImageParser.h +16 -0
- package/ios/Options/Params/ImageParser.mm +103 -0
- package/ios/Options/Params/Number.h +14 -0
- package/ios/Options/Params/Number.mm +13 -0
- package/ios/Options/Params/NumberParser.h +13 -0
- package/ios/Options/Params/NumberParser.mm +10 -0
- package/ios/Options/Params/Param.h +16 -0
- package/ios/Options/Params/Param.mm +13 -0
- package/ios/Options/Params/Text.h +17 -0
- package/ios/Options/Params/Text.mm +17 -0
- package/ios/Options/Params/TextParser.h +17 -0
- package/ios/Options/Params/TextParser.mm +17 -0
- package/ios/Package.swift +58 -0
- package/ios/Public/ApexNavigation/ANNAppDelegate.h +66 -0
- package/ios/Public/ApexNavigation/ANNSceneDelegate.h +19 -0
- package/ios/Public/ApexNavigation/ApexNavigation.h +92 -0
- package/ios/Public/module.modulemap +8 -0
- package/ios/RECIPES.md +41 -0
- package/ios/React/ANNComponentType.h +22 -0
- package/ios/React/ANNComponentViewCreator.h +18 -0
- package/ios/React/ANNReactComponentRegistry.h +53 -0
- package/ios/React/ANNReactComponentRegistry.mm +153 -0
- package/ios/React/ANNReactView.h +104 -0
- package/ios/React/ANNReactView.mm +374 -0
- package/ios/React/ANNReactViewCreator.h +20 -0
- package/ios/React/ANNReactViewCreator.mm +42 -0
- package/ios/React/ANNSafeAreaViewComponentView.h +13 -0
- package/ios/React/ANNSafeAreaViewComponentView.mm +153 -0
- package/ios/React/ANNSurfaceHostingView.h +17 -0
- package/ios/React/ANNSurfaceHostingView.mm +68 -0
- package/ios/React/Slots/ANNSlotComponentView.h +10 -0
- package/ios/React/Slots/ANNSlotComponentView.mm +122 -0
- package/ios/React/Slots/ANNSlotContainers.h +34 -0
- package/ios/React/Slots/ANNSlotContainers.mm +39 -0
- package/ios/React/Slots/ANNSlotContentView.h +12 -0
- package/ios/React/Slots/ANNSlotContentView.mm +18 -0
- package/ios/React/Slots/ANNSlotHost.h +29 -0
- package/ios/React/Slots/ANNSlotHost.mm +59 -0
- package/ios/React/Slots/ANNSlotScreenView.h +38 -0
- package/ios/React/Slots/ANNSlotScreenView.mm +254 -0
- package/ios/TopBar/ANNBackButtonPresenter.h +35 -0
- package/ios/TopBar/ANNBackButtonPresenter.mm +187 -0
- package/ios/TopBar/ANNBarAppearance.h +53 -0
- package/ios/TopBar/ANNBarAppearance.mm +278 -0
- package/ios/TopBar/ANNBarBackgroundComponent.h +46 -0
- package/ios/TopBar/ANNBarBackgroundComponent.mm +163 -0
- package/ios/TopBar/ANNBarButtonComponentView.h +30 -0
- package/ios/TopBar/ANNBarButtonComponentView.mm +110 -0
- package/ios/TopBar/ANNBarButtons.h +65 -0
- package/ios/TopBar/ANNBarButtons.mm +1125 -0
- package/ios/TopBar/ANNBarComponentsWait.h +37 -0
- package/ios/TopBar/ANNBarComponentsWait.mm +116 -0
- package/ios/TopBar/ANNIconButtonImage.h +25 -0
- package/ios/TopBar/ANNIconButtonImage.mm +94 -0
- package/ios/TopBar/ANNLargeTitlePresenter.h +117 -0
- package/ios/TopBar/ANNLargeTitlePresenter.mm +402 -0
- package/ios/TopBar/ANNMainList.h +28 -0
- package/ios/TopBar/ANNMainList.mm +72 -0
- package/ios/TopBar/ANNScrollEdgeEffects.h +29 -0
- package/ios/TopBar/ANNScrollEdgeEffects.mm +122 -0
- package/ios/TopBar/ANNSearchPresenter.h +29 -0
- package/ios/TopBar/ANNSearchPresenter.mm +637 -0
- package/ios/TopBar/ANNSearchResultsViewController.h +16 -0
- package/ios/TopBar/ANNSearchResultsViewController.mm +56 -0
- package/ios/TopBar/ANNShowTextButton.h +22 -0
- package/ios/TopBar/ANNShowTextButton.mm +63 -0
- package/ios/TopBar/ANNTitleComponentView.h +37 -0
- package/ios/TopBar/ANNTitleComponentView.mm +86 -0
- package/ios/TopBar/ANNTitleGlassView.h +33 -0
- package/ios/TopBar/ANNTitleGlassView.mm +126 -0
- package/ios/TopBar/ANNTitleView.h +18 -0
- package/ios/TopBar/ANNTitleView.mm +63 -0
- package/ios/TopBar/ANNToolbarPresenter.h +26 -0
- package/ios/TopBar/ANNToolbarPresenter.mm +24 -0
- package/ios/TopBar/ANNTopBarPresenter.h +120 -0
- package/ios/TopBar/ANNTopBarPresenter.mm +1252 -0
- package/ios/TopBar/ANNUIBarButtonItem.h +16 -0
- package/ios/TopBar/ANNUIBarButtonItem.mm +5 -0
- package/ios/TurboModules/ANNTurboEventEmitter.h +31 -0
- package/ios/TurboModules/ANNTurboEventEmitter.mm +129 -0
- package/ios/TurboModules/ANNTurboModule.h +11 -0
- package/ios/TurboModules/ANNTurboModule.mm +626 -0
- package/ios/Utils/UIColor+ANNLuminance.h +13 -0
- package/ios/Utils/UIColor+ANNLuminance.mm +32 -0
- package/ios/Utils/UIView+Utils.h +12 -0
- package/ios/Utils/UIView+Utils.mm +21 -0
- package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSafeAreaViewComponentDescriptor.h +19 -0
- package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSafeAreaViewShadowNode.h +60 -0
- package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSafeAreaViewState.h +33 -0
- package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSlotComponentDescriptor.h +22 -0
- package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSlotShadowNode.h +87 -0
- package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSlotState.h +101 -0
- package/lib/module/ARCHITECTURE.md +289 -0
- package/lib/module/adapters/NativeANNTurboEventEmitter.js +12 -0
- package/lib/module/adapters/NativeANNTurboEventEmitter.js.map +1 -0
- package/lib/module/adapters/NativeANNTurboModule.js +13 -0
- package/lib/module/adapters/NativeANNTurboModule.js.map +1 -0
- package/lib/module/api/app/AppRegistry.js +52 -0
- package/lib/module/api/app/AppRegistry.js.map +1 -0
- package/lib/module/api/app/activeApp.js +12 -0
- package/lib/module/api/app/activeApp.js.map +1 -0
- package/lib/module/api/app/createNavigation.js +365 -0
- package/lib/module/api/app/createNavigation.js.map +1 -0
- package/lib/module/api/app/roots.js +20 -0
- package/lib/module/api/app/roots.js.map +1 -0
- package/lib/module/api/app/splash.js +124 -0
- package/lib/module/api/app/splash.js.map +1 -0
- package/lib/module/api/app/startFailure.js +38 -0
- package/lib/module/api/app/startFailure.js.map +1 -0
- package/lib/module/api/arrangement/arrangementState.js +86 -0
- package/lib/module/api/arrangement/arrangementState.js.map +1 -0
- package/lib/module/api/commands/commands.js +375 -0
- package/lib/module/api/commands/commands.js.map +1 -0
- package/lib/module/api/commands/errors.js +94 -0
- package/lib/module/api/commands/errors.js.map +1 -0
- package/lib/module/api/commands/presentation.js +4 -0
- package/lib/module/api/commands/presentation.js.map +1 -0
- package/lib/module/api/commands/sideMenus.js +134 -0
- package/lib/module/api/commands/sideMenus.js.map +1 -0
- package/lib/module/api/commands/transitions.js +245 -0
- package/lib/module/api/commands/transitions.js.map +1 -0
- package/lib/module/api/context/appContext.js +22 -0
- package/lib/module/api/context/appContext.js.map +1 -0
- package/lib/module/api/events/navigationEvents.js +69 -0
- package/lib/module/api/events/navigationEvents.js.map +1 -0
- package/lib/module/api/events/screenLifecycle.js +30 -0
- package/lib/module/api/events/screenLifecycle.js.map +1 -0
- package/lib/module/api/events/tabPresses.js +32 -0
- package/lib/module/api/events/tabPresses.js.map +1 -0
- package/lib/module/api/hinge/hinge.js +73 -0
- package/lib/module/api/hinge/hinge.js.map +1 -0
- package/lib/module/api/hooks/appHooks.js +26 -0
- package/lib/module/api/hooks/appHooks.js.map +1 -0
- package/lib/module/api/hooks/screenHooks.js +250 -0
- package/lib/module/api/hooks/screenHooks.js.map +1 -0
- package/lib/module/api/hooks/useArrangement.js +24 -0
- package/lib/module/api/hooks/useArrangement.js.map +1 -0
- package/lib/module/api/hooks/useHinge.js +29 -0
- package/lib/module/api/hooks/useHinge.js.map +1 -0
- package/lib/module/api/hooks/useNavigation.js +117 -0
- package/lib/module/api/hooks/useNavigation.js.map +1 -0
- package/lib/module/api/hooks/usePendingLink.js +12 -0
- package/lib/module/api/hooks/usePendingLink.js.map +1 -0
- package/lib/module/api/hooks/usePreview.js +97 -0
- package/lib/module/api/hooks/usePreview.js.map +1 -0
- package/lib/module/api/hooks/useReservedRegions.js +24 -0
- package/lib/module/api/hooks/useReservedRegions.js.map +1 -0
- package/lib/module/api/hooks/useSafeAreaInsets.js +25 -0
- package/lib/module/api/hooks/useSafeAreaInsets.js.map +1 -0
- package/lib/module/api/index.js +26 -0
- package/lib/module/api/index.js.map +1 -0
- package/lib/module/api/layout/Root.js +121 -0
- package/lib/module/api/layout/Root.js.map +1 -0
- package/lib/module/api/layout/Screen.js +52 -0
- package/lib/module/api/layout/Screen.js.map +1 -0
- package/lib/module/api/layout/SideMenu.js +85 -0
- package/lib/module/api/layout/SideMenu.js.map +1 -0
- package/lib/module/api/layout/SplitView.js +137 -0
- package/lib/module/api/layout/SplitView.js.map +1 -0
- package/lib/module/api/layout/Stack.js +36 -0
- package/lib/module/api/layout/Stack.js.map +1 -0
- package/lib/module/api/layout/Tabs.js +326 -0
- package/lib/module/api/layout/Tabs.js.map +1 -0
- package/lib/module/api/layout/element.js +100 -0
- package/lib/module/api/layout/element.js.map +1 -0
- package/lib/module/api/linking/linkPaths.js +132 -0
- package/lib/module/api/linking/linkPaths.js.map +1 -0
- package/lib/module/api/linking/linking.js +244 -0
- package/lib/module/api/linking/linking.js.map +1 -0
- package/lib/module/api/linking/pendingLinks.js +34 -0
- package/lib/module/api/linking/pendingLinks.js.map +1 -0
- package/lib/module/api/linking/types.js +4 -0
- package/lib/module/api/linking/types.js.map +1 -0
- package/lib/module/api/navigation.js +105 -0
- package/lib/module/api/navigation.js.map +1 -0
- package/lib/module/api/options/OptionsChain.js +158 -0
- package/lib/module/api/options/OptionsChain.js.map +1 -0
- package/lib/module/api/options/ScreenOptions.js +83 -0
- package/lib/module/api/options/ScreenOptions.js.map +1 -0
- package/lib/module/api/options/buttons.js +4 -0
- package/lib/module/api/options/buttons.js.map +1 -0
- package/lib/module/api/safeArea/ANNSafeAreaViewNativeComponent.ts +28 -0
- package/lib/module/api/safeArea/screenInsets.js +86 -0
- package/lib/module/api/safeArea/screenInsets.js.map +1 -0
- package/lib/module/api/safeArea/screenRegions.js +84 -0
- package/lib/module/api/safeArea/screenRegions.js.map +1 -0
- package/lib/module/api/screens/ScreenBoundary.js +44 -0
- package/lib/module/api/screens/ScreenBoundary.js.map +1 -0
- package/lib/module/api/screens/arrangement.js +63 -0
- package/lib/module/api/screens/arrangement.js.map +1 -0
- package/lib/module/api/screens/defineScreen.js +29 -0
- package/lib/module/api/screens/defineScreen.js.map +1 -0
- package/lib/module/api/screens/nativeScreenCalls.js +34 -0
- package/lib/module/api/screens/nativeScreenCalls.js.map +1 -0
- package/lib/module/api/screens/nativeScreens.js +43 -0
- package/lib/module/api/screens/nativeScreens.js.map +1 -0
- package/lib/module/api/screens/registerScreens.js +305 -0
- package/lib/module/api/screens/registerScreens.js.map +1 -0
- package/lib/module/api/slots/ANNSlotNativeComponent.ts +23 -0
- package/lib/module/api/slots/SlotHost.js +92 -0
- package/lib/module/api/slots/SlotHost.js.map +1 -0
- package/lib/module/api/state/navigationState.js +98 -0
- package/lib/module/api/state/navigationState.js.map +1 -0
- package/lib/module/api/testIDs.js +14 -0
- package/lib/module/api/testIDs.js.map +1 -0
- package/lib/module/api/theme/theme.js +180 -0
- package/lib/module/api/theme/theme.js.map +1 -0
- package/lib/module/api/types.js +4 -0
- package/lib/module/api/types.js.map +1 -0
- package/lib/module/engine/backListeners.js +39 -0
- package/lib/module/engine/backListeners.js.map +1 -0
- package/lib/module/engine/buttons.js +105 -0
- package/lib/module/engine/buttons.js.map +1 -0
- package/lib/module/engine/commands.js +388 -0
- package/lib/module/engine/commands.js.map +1 -0
- package/lib/module/engine/events.js +30 -0
- package/lib/module/engine/events.js.map +1 -0
- package/lib/module/engine/ids.js +10 -0
- package/lib/module/engine/ids.js.map +1 -0
- package/lib/module/engine/launchState.js +34 -0
- package/lib/module/engine/launchState.js.map +1 -0
- package/lib/module/engine/layout.js +202 -0
- package/lib/module/engine/layout.js.map +1 -0
- package/lib/module/engine/mergeOptions.js +23 -0
- package/lib/module/engine/mergeOptions.js.map +1 -0
- package/lib/module/engine/native.js +45 -0
- package/lib/module/engine/native.js.map +1 -0
- package/lib/module/engine/nativeScreens.js +265 -0
- package/lib/module/engine/nativeScreens.js.map +1 -0
- package/lib/module/engine/options.js +170 -0
- package/lib/module/engine/options.js.map +1 -0
- package/lib/module/engine/places.js +178 -0
- package/lib/module/engine/places.js.map +1 -0
- package/lib/module/engine/props.js +44 -0
- package/lib/module/engine/props.js.map +1 -0
- package/lib/module/engine/reactMeasures.js +23 -0
- package/lib/module/engine/reactMeasures.js.map +1 -0
- package/lib/module/engine/rememberedOptions.js +118 -0
- package/lib/module/engine/rememberedOptions.js.map +1 -0
- package/lib/module/engine/screens.js +194 -0
- package/lib/module/engine/screens.js.map +1 -0
- package/lib/module/engine/slots.js +200 -0
- package/lib/module/engine/slots.js.map +1 -0
- package/lib/module/engine/tabs.js +79 -0
- package/lib/module/engine/tabs.js.map +1 -0
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/interfaces/ComponentEvents.js +2 -0
- package/lib/module/interfaces/ComponentEvents.js.map +1 -0
- package/lib/module/interfaces/Events.js +2 -0
- package/lib/module/interfaces/Events.js.map +1 -0
- package/lib/module/interfaces/Layout.js +4 -0
- package/lib/module/interfaces/Layout.js.map +1 -0
- package/lib/module/interfaces/Options.js +4 -0
- package/lib/module/interfaces/Options.js.map +1 -0
- package/lib/module/interfaces/options/animations.js +2 -0
- package/lib/module/interfaces/options/animations.js.map +1 -0
- package/lib/module/interfaces/options/bottomTabs.js +4 -0
- package/lib/module/interfaces/options/bottomTabs.js.map +1 -0
- package/lib/module/interfaces/options/buttons.js +4 -0
- package/lib/module/interfaces/options/buttons.js.map +1 -0
- package/lib/module/interfaces/options/common.js +4 -0
- package/lib/module/interfaces/options/common.js.map +1 -0
- package/lib/module/interfaces/options/modals.js +2 -0
- package/lib/module/interfaces/options/modals.js.map +1 -0
- package/lib/module/interfaces/options/preview.js +2 -0
- package/lib/module/interfaces/options/preview.js.map +1 -0
- package/lib/module/interfaces/options/sideMenu.js +2 -0
- package/lib/module/interfaces/options/sideMenu.js.map +1 -0
- package/lib/module/interfaces/options/splitView.js +2 -0
- package/lib/module/interfaces/options/splitView.js.map +1 -0
- package/lib/module/interfaces/options/stack.js +4 -0
- package/lib/module/interfaces/options/stack.js.map +1 -0
- package/lib/module/interfaces/options/system.js +4 -0
- package/lib/module/interfaces/options/system.js.map +1 -0
- package/lib/module/interfaces/options/toolbar.js +4 -0
- package/lib/module/interfaces/options/toolbar.js.map +1 -0
- package/lib/module/interfaces/options/topBar.js +4 -0
- package/lib/module/interfaces/options/topBar.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/typescript/adapters/NativeANNTurboEventEmitter.d.ts +14 -0
- package/lib/typescript/adapters/NativeANNTurboEventEmitter.d.ts.map +1 -0
- package/lib/typescript/adapters/NativeANNTurboModule.d.ts +77 -0
- package/lib/typescript/adapters/NativeANNTurboModule.d.ts.map +1 -0
- package/lib/typescript/api/app/AppRegistry.d.ts +14 -0
- package/lib/typescript/api/app/AppRegistry.d.ts.map +1 -0
- package/lib/typescript/api/app/activeApp.d.ts +12 -0
- package/lib/typescript/api/app/activeApp.d.ts.map +1 -0
- package/lib/typescript/api/app/createNavigation.d.ts +182 -0
- package/lib/typescript/api/app/createNavigation.d.ts.map +1 -0
- package/lib/typescript/api/app/roots.d.ts +15 -0
- package/lib/typescript/api/app/roots.d.ts.map +1 -0
- package/lib/typescript/api/app/splash.d.ts +81 -0
- package/lib/typescript/api/app/splash.d.ts.map +1 -0
- package/lib/typescript/api/app/startFailure.d.ts +15 -0
- package/lib/typescript/api/app/startFailure.d.ts.map +1 -0
- package/lib/typescript/api/arrangement/arrangementState.d.ts +21 -0
- package/lib/typescript/api/arrangement/arrangementState.d.ts.map +1 -0
- package/lib/typescript/api/commands/commands.d.ts +57 -0
- package/lib/typescript/api/commands/commands.d.ts.map +1 -0
- package/lib/typescript/api/commands/errors.d.ts +24 -0
- package/lib/typescript/api/commands/errors.d.ts.map +1 -0
- package/lib/typescript/api/commands/presentation.d.ts +69 -0
- package/lib/typescript/api/commands/presentation.d.ts.map +1 -0
- package/lib/typescript/api/commands/sideMenus.d.ts +14 -0
- package/lib/typescript/api/commands/sideMenus.d.ts.map +1 -0
- package/lib/typescript/api/commands/transitions.d.ts +33 -0
- package/lib/typescript/api/commands/transitions.d.ts.map +1 -0
- package/lib/typescript/api/context/appContext.d.ts +4 -0
- package/lib/typescript/api/context/appContext.d.ts.map +1 -0
- package/lib/typescript/api/events/navigationEvents.d.ts +70 -0
- package/lib/typescript/api/events/navigationEvents.d.ts.map +1 -0
- package/lib/typescript/api/events/screenLifecycle.d.ts +5 -0
- package/lib/typescript/api/events/screenLifecycle.d.ts.map +1 -0
- package/lib/typescript/api/events/tabPresses.d.ts +5 -0
- package/lib/typescript/api/events/tabPresses.d.ts.map +1 -0
- package/lib/typescript/api/hinge/hinge.d.ts +21 -0
- package/lib/typescript/api/hinge/hinge.d.ts.map +1 -0
- package/lib/typescript/api/hooks/appHooks.d.ts +15 -0
- package/lib/typescript/api/hooks/appHooks.d.ts.map +1 -0
- package/lib/typescript/api/hooks/screenHooks.d.ts +74 -0
- package/lib/typescript/api/hooks/screenHooks.d.ts.map +1 -0
- package/lib/typescript/api/hooks/useArrangement.d.ts +13 -0
- package/lib/typescript/api/hooks/useArrangement.d.ts.map +1 -0
- package/lib/typescript/api/hooks/useHinge.d.ts +16 -0
- package/lib/typescript/api/hooks/useHinge.d.ts.map +1 -0
- package/lib/typescript/api/hooks/useNavigation.d.ts +108 -0
- package/lib/typescript/api/hooks/useNavigation.d.ts.map +1 -0
- package/lib/typescript/api/hooks/usePendingLink.d.ts +7 -0
- package/lib/typescript/api/hooks/usePendingLink.d.ts.map +1 -0
- package/lib/typescript/api/hooks/usePreview.d.ts +29 -0
- package/lib/typescript/api/hooks/usePreview.d.ts.map +1 -0
- package/lib/typescript/api/hooks/useReservedRegions.d.ts +13 -0
- package/lib/typescript/api/hooks/useReservedRegions.d.ts.map +1 -0
- package/lib/typescript/api/hooks/useSafeAreaInsets.d.ts +14 -0
- package/lib/typescript/api/hooks/useSafeAreaInsets.d.ts.map +1 -0
- package/lib/typescript/api/index.d.ts +60 -0
- package/lib/typescript/api/index.d.ts.map +1 -0
- package/lib/typescript/api/layout/Root.d.ts +47 -0
- package/lib/typescript/api/layout/Root.d.ts.map +1 -0
- package/lib/typescript/api/layout/Screen.d.ts +32 -0
- package/lib/typescript/api/layout/Screen.d.ts.map +1 -0
- package/lib/typescript/api/layout/SideMenu.d.ts +33 -0
- package/lib/typescript/api/layout/SideMenu.d.ts.map +1 -0
- package/lib/typescript/api/layout/SplitView.d.ts +48 -0
- package/lib/typescript/api/layout/SplitView.d.ts.map +1 -0
- package/lib/typescript/api/layout/Stack.d.ts +21 -0
- package/lib/typescript/api/layout/Stack.d.ts.map +1 -0
- package/lib/typescript/api/layout/Tabs.d.ts +120 -0
- package/lib/typescript/api/layout/Tabs.d.ts.map +1 -0
- package/lib/typescript/api/layout/element.d.ts +52 -0
- package/lib/typescript/api/layout/element.d.ts.map +1 -0
- package/lib/typescript/api/linking/linkPaths.d.ts +31 -0
- package/lib/typescript/api/linking/linkPaths.d.ts.map +1 -0
- package/lib/typescript/api/linking/linking.d.ts +37 -0
- package/lib/typescript/api/linking/linking.d.ts.map +1 -0
- package/lib/typescript/api/linking/pendingLinks.d.ts +8 -0
- package/lib/typescript/api/linking/pendingLinks.d.ts.map +1 -0
- package/lib/typescript/api/linking/types.d.ts +105 -0
- package/lib/typescript/api/linking/types.d.ts.map +1 -0
- package/lib/typescript/api/navigation.d.ts +115 -0
- package/lib/typescript/api/navigation.d.ts.map +1 -0
- package/lib/typescript/api/options/OptionsChain.d.ts +47 -0
- package/lib/typescript/api/options/OptionsChain.d.ts.map +1 -0
- package/lib/typescript/api/options/ScreenOptions.d.ts +32 -0
- package/lib/typescript/api/options/ScreenOptions.d.ts.map +1 -0
- package/lib/typescript/api/options/buttons.d.ts +35 -0
- package/lib/typescript/api/options/buttons.d.ts.map +1 -0
- package/lib/typescript/api/safeArea/ANNSafeAreaViewNativeComponent.d.ts +20 -0
- package/lib/typescript/api/safeArea/ANNSafeAreaViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/api/safeArea/screenInsets.d.ts +20 -0
- package/lib/typescript/api/safeArea/screenInsets.d.ts.map +1 -0
- package/lib/typescript/api/safeArea/screenRegions.d.ts +24 -0
- package/lib/typescript/api/safeArea/screenRegions.d.ts.map +1 -0
- package/lib/typescript/api/screens/ScreenBoundary.d.ts +34 -0
- package/lib/typescript/api/screens/ScreenBoundary.d.ts.map +1 -0
- package/lib/typescript/api/screens/arrangement.d.ts +70 -0
- package/lib/typescript/api/screens/arrangement.d.ts.map +1 -0
- package/lib/typescript/api/screens/defineScreen.d.ts +41 -0
- package/lib/typescript/api/screens/defineScreen.d.ts.map +1 -0
- package/lib/typescript/api/screens/nativeScreenCalls.d.ts +3 -0
- package/lib/typescript/api/screens/nativeScreenCalls.d.ts.map +1 -0
- package/lib/typescript/api/screens/nativeScreens.d.ts +47 -0
- package/lib/typescript/api/screens/nativeScreens.d.ts.map +1 -0
- package/lib/typescript/api/screens/registerScreens.d.ts +61 -0
- package/lib/typescript/api/screens/registerScreens.d.ts.map +1 -0
- package/lib/typescript/api/slots/ANNSlotNativeComponent.d.ts +15 -0
- package/lib/typescript/api/slots/ANNSlotNativeComponent.d.ts.map +1 -0
- package/lib/typescript/api/slots/SlotHost.d.ts +8 -0
- package/lib/typescript/api/slots/SlotHost.d.ts.map +1 -0
- package/lib/typescript/api/state/navigationState.d.ts +26 -0
- package/lib/typescript/api/state/navigationState.d.ts.map +1 -0
- package/lib/typescript/api/testIDs.d.ts +12 -0
- package/lib/typescript/api/testIDs.d.ts.map +1 -0
- package/lib/typescript/api/theme/theme.d.ts +70 -0
- package/lib/typescript/api/theme/theme.d.ts.map +1 -0
- package/lib/typescript/api/types.d.ts +64 -0
- package/lib/typescript/api/types.d.ts.map +1 -0
- package/lib/typescript/engine/backListeners.d.ts +8 -0
- package/lib/typescript/engine/backListeners.d.ts.map +1 -0
- package/lib/typescript/engine/buttons.d.ts +11 -0
- package/lib/typescript/engine/buttons.d.ts.map +1 -0
- package/lib/typescript/engine/commands.d.ts +38 -0
- package/lib/typescript/engine/commands.d.ts.map +1 -0
- package/lib/typescript/engine/events.d.ts +17 -0
- package/lib/typescript/engine/events.d.ts.map +1 -0
- package/lib/typescript/engine/ids.d.ts +3 -0
- package/lib/typescript/engine/ids.d.ts.map +1 -0
- package/lib/typescript/engine/launchState.d.ts +25 -0
- package/lib/typescript/engine/launchState.d.ts.map +1 -0
- package/lib/typescript/engine/layout.d.ts +32 -0
- package/lib/typescript/engine/layout.d.ts.map +1 -0
- package/lib/typescript/engine/mergeOptions.d.ts +6 -0
- package/lib/typescript/engine/mergeOptions.d.ts.map +1 -0
- package/lib/typescript/engine/native.d.ts +22 -0
- package/lib/typescript/engine/native.d.ts.map +1 -0
- package/lib/typescript/engine/nativeScreens.d.ts +49 -0
- package/lib/typescript/engine/nativeScreens.d.ts.map +1 -0
- package/lib/typescript/engine/options.d.ts +12 -0
- package/lib/typescript/engine/options.d.ts.map +1 -0
- package/lib/typescript/engine/places.d.ts +57 -0
- package/lib/typescript/engine/places.d.ts.map +1 -0
- package/lib/typescript/engine/props.d.ts +10 -0
- package/lib/typescript/engine/props.d.ts.map +1 -0
- package/lib/typescript/engine/reactMeasures.d.ts +3 -0
- package/lib/typescript/engine/reactMeasures.d.ts.map +1 -0
- package/lib/typescript/engine/rememberedOptions.d.ts +28 -0
- package/lib/typescript/engine/rememberedOptions.d.ts.map +1 -0
- package/lib/typescript/engine/screens.d.ts +90 -0
- package/lib/typescript/engine/screens.d.ts.map +1 -0
- package/lib/typescript/engine/slots.d.ts +71 -0
- package/lib/typescript/engine/slots.d.ts.map +1 -0
- package/lib/typescript/engine/tabs.d.ts +24 -0
- package/lib/typescript/engine/tabs.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +3 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/interfaces/ComponentEvents.d.ts +189 -0
- package/lib/typescript/interfaces/ComponentEvents.d.ts.map +1 -0
- package/lib/typescript/interfaces/Events.d.ts +199 -0
- package/lib/typescript/interfaces/Events.d.ts.map +1 -0
- package/lib/typescript/interfaces/Layout.d.ts +150 -0
- package/lib/typescript/interfaces/Layout.d.ts.map +1 -0
- package/lib/typescript/interfaces/Options.d.ts +93 -0
- package/lib/typescript/interfaces/Options.d.ts.map +1 -0
- package/lib/typescript/interfaces/options/animations.d.ts +452 -0
- package/lib/typescript/interfaces/options/animations.d.ts.map +1 -0
- package/lib/typescript/interfaces/options/bottomTabs.d.ts +462 -0
- package/lib/typescript/interfaces/options/bottomTabs.d.ts.map +1 -0
- package/lib/typescript/interfaces/options/buttons.d.ts +331 -0
- package/lib/typescript/interfaces/options/buttons.d.ts.map +1 -0
- package/lib/typescript/interfaces/options/common.d.ts +51 -0
- package/lib/typescript/interfaces/options/common.d.ts.map +1 -0
- package/lib/typescript/interfaces/options/modals.d.ts +202 -0
- package/lib/typescript/interfaces/options/modals.d.ts.map +1 -0
- package/lib/typescript/interfaces/options/preview.d.ts +40 -0
- package/lib/typescript/interfaces/options/preview.d.ts.map +1 -0
- package/lib/typescript/interfaces/options/sideMenu.d.ts +130 -0
- package/lib/typescript/interfaces/options/sideMenu.d.ts.map +1 -0
- package/lib/typescript/interfaces/options/splitView.d.ts +118 -0
- package/lib/typescript/interfaces/options/splitView.d.ts.map +1 -0
- package/lib/typescript/interfaces/options/stack.d.ts +109 -0
- package/lib/typescript/interfaces/options/stack.d.ts.map +1 -0
- package/lib/typescript/interfaces/options/system.d.ts +238 -0
- package/lib/typescript/interfaces/options/system.d.ts.map +1 -0
- package/lib/typescript/interfaces/options/toolbar.d.ts +45 -0
- package/lib/typescript/interfaces/options/toolbar.d.ts.map +1 -0
- package/lib/typescript/interfaces/options/topBar.d.ts +804 -0
- package/lib/typescript/interfaces/options/topBar.d.ts.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/package.json +189 -4
- package/react-native.config.js +22 -0
- package/src/ARCHITECTURE.md +289 -0
- package/src/adapters/NativeANNTurboEventEmitter.ts +15 -0
- package/src/adapters/NativeANNTurboModule.ts +100 -0
- package/src/api/app/AppRegistry.ts +57 -0
- package/src/api/app/activeApp.ts +20 -0
- package/src/api/app/createNavigation.ts +566 -0
- package/src/api/app/roots.ts +40 -0
- package/src/api/app/splash.ts +154 -0
- package/src/api/app/startFailure.tsx +39 -0
- package/src/api/arrangement/arrangementState.ts +98 -0
- package/src/api/commands/commands.ts +371 -0
- package/src/api/commands/errors.ts +99 -0
- package/src/api/commands/presentation.ts +78 -0
- package/src/api/commands/sideMenus.ts +122 -0
- package/src/api/commands/transitions.ts +133 -0
- package/src/api/context/appContext.ts +23 -0
- package/src/api/events/navigationEvents.ts +175 -0
- package/src/api/events/screenLifecycle.ts +27 -0
- package/src/api/events/tabPresses.ts +35 -0
- package/src/api/hinge/hinge.ts +84 -0
- package/src/api/hooks/appHooks.ts +37 -0
- package/src/api/hooks/screenHooks.ts +272 -0
- package/src/api/hooks/useArrangement.ts +26 -0
- package/src/api/hooks/useHinge.ts +26 -0
- package/src/api/hooks/useNavigation.ts +267 -0
- package/src/api/hooks/usePendingLink.ts +11 -0
- package/src/api/hooks/usePreview.ts +111 -0
- package/src/api/hooks/useReservedRegions.ts +26 -0
- package/src/api/hooks/useSafeAreaInsets.ts +23 -0
- package/src/api/index.ts +139 -0
- package/src/api/layout/Root.ts +113 -0
- package/src/api/layout/Screen.ts +55 -0
- package/src/api/layout/SideMenu.ts +87 -0
- package/src/api/layout/SplitView.ts +146 -0
- package/src/api/layout/Stack.ts +48 -0
- package/src/api/layout/Tabs.ts +339 -0
- package/src/api/layout/element.ts +114 -0
- package/src/api/linking/linkPaths.ts +159 -0
- package/src/api/linking/linking.ts +242 -0
- package/src/api/linking/pendingLinks.ts +37 -0
- package/src/api/linking/types.ts +130 -0
- package/src/api/navigation.ts +269 -0
- package/src/api/options/OptionsChain.ts +142 -0
- package/src/api/options/ScreenOptions.ts +81 -0
- package/src/api/options/buttons.ts +43 -0
- package/src/api/safeArea/ANNSafeAreaViewNativeComponent.ts +28 -0
- package/src/api/safeArea/screenInsets.ts +86 -0
- package/src/api/safeArea/screenRegions.ts +99 -0
- package/src/api/screens/ScreenBoundary.tsx +52 -0
- package/src/api/screens/arrangement.ts +106 -0
- package/src/api/screens/defineScreen.ts +57 -0
- package/src/api/screens/nativeScreenCalls.ts +59 -0
- package/src/api/screens/nativeScreens.ts +58 -0
- package/src/api/screens/registerScreens.tsx +364 -0
- package/src/api/slots/ANNSlotNativeComponent.ts +23 -0
- package/src/api/slots/SlotHost.tsx +64 -0
- package/src/api/state/navigationState.ts +95 -0
- package/src/api/testIDs.ts +11 -0
- package/src/api/theme/theme.ts +184 -0
- package/src/api/types.ts +95 -0
- package/src/engine/backListeners.ts +36 -0
- package/src/engine/buttons.ts +91 -0
- package/src/engine/commands.ts +469 -0
- package/src/engine/events.ts +24 -0
- package/src/engine/ids.ts +7 -0
- package/src/engine/launchState.ts +35 -0
- package/src/engine/layout.ts +247 -0
- package/src/engine/mergeOptions.ts +20 -0
- package/src/engine/native.ts +51 -0
- package/src/engine/nativeScreens.ts +263 -0
- package/src/engine/options.ts +165 -0
- package/src/engine/places.ts +205 -0
- package/src/engine/props.ts +45 -0
- package/src/engine/reactMeasures.ts +24 -0
- package/src/engine/rememberedOptions.ts +111 -0
- package/src/engine/screens.tsx +239 -0
- package/src/engine/slots.ts +191 -0
- package/src/engine/tabs.ts +95 -0
- package/src/index.ts +3 -0
- package/src/interfaces/ComponentEvents.ts +214 -0
- package/src/interfaces/Events.ts +227 -0
- package/src/interfaces/Layout.ts +161 -0
- package/src/interfaces/Options.ts +175 -0
- package/src/interfaces/options/animations.ts +480 -0
- package/src/interfaces/options/bottomTabs.ts +481 -0
- package/src/interfaces/options/buttons.ts +364 -0
- package/src/interfaces/options/common.ts +76 -0
- package/src/interfaces/options/modals.ts +217 -0
- package/src/interfaces/options/preview.ts +40 -0
- package/src/interfaces/options/sideMenu.ts +132 -0
- package/src/interfaces/options/splitView.ts +127 -0
- package/src/interfaces/options/stack.ts +110 -0
- package/src/interfaces/options/system.ts +252 -0
- package/src/interfaces/options/toolbar.ts +47 -0
- package/src/interfaces/options/topBar.ts +828 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import type { RootLayout } from '../layout/Root.js';
|
|
2
|
+
import type { RootsMap, RootTarget } from '../app/roots.js';
|
|
3
|
+
import type { CheckedScreens } from '../types.js';
|
|
4
|
+
/** The params of a path pattern, each a string: `'user/:userId/:tab?'` gives `{ userId: string; tab?: string }`. */
|
|
5
|
+
export type LinkParams<Pattern extends string> = Simplify<{
|
|
6
|
+
[Name in RequiredParam<Segment<Pattern>>]: string;
|
|
7
|
+
} & {
|
|
8
|
+
[Name in OptionalParam<Segment<Pattern>>]?: string;
|
|
9
|
+
}>;
|
|
10
|
+
type Segment<Pattern extends string> = Pattern extends `${infer Head}/${infer Rest}` ? Head | Segment<Rest> : Pattern;
|
|
11
|
+
type RequiredParam<Part> = Part extends `:${string}?` ? never : Part extends `:${infer Name}` ? Name : never;
|
|
12
|
+
type OptionalParam<Part> = Part extends `:${infer Name}?` ? Name : never;
|
|
13
|
+
type Simplify<Value> = {
|
|
14
|
+
[Key in keyof Value]: Value[Key];
|
|
15
|
+
} & {};
|
|
16
|
+
/** A link as a route gets it. */
|
|
17
|
+
export interface LinkInfo {
|
|
18
|
+
/** The whole URL. */
|
|
19
|
+
url: string;
|
|
20
|
+
/** The path the route matched, without the prefix and the query: `user/42`. */
|
|
21
|
+
path: string;
|
|
22
|
+
/** The query string by key; a key given twice keeps its last value. */
|
|
23
|
+
query: Record<string, string>;
|
|
24
|
+
/** Whether this link launched the app, or on Android a new activity of it. */
|
|
25
|
+
initial: boolean;
|
|
26
|
+
}
|
|
27
|
+
/** What a route does in a running app: any commands. */
|
|
28
|
+
export type LinkHandler<Pattern extends string> = (params: LinkParams<Pattern>, link: LinkInfo) => void;
|
|
29
|
+
/** A route with what it does when the link launches the app, when the app runs, and when it may run. */
|
|
30
|
+
export interface LinkRouteConfig<Pattern extends string, Context, Roots extends RootsMap> {
|
|
31
|
+
/**
|
|
32
|
+
* The first root when the link launches the app, in place of `root` / `initialRoot`: the screen of the link with the
|
|
33
|
+
* screens to go back to, shown at once. A layout, or a root of `roots` (its name, or `[name, param]`). In a running
|
|
34
|
+
* app, a route without `open` shows it with `navigation.switchTo`.
|
|
35
|
+
*/
|
|
36
|
+
start?: (params: LinkParams<Pattern>, link: LinkInfo) => RootTarget<Roots> | Exclude<RootLayout, string>;
|
|
37
|
+
/**
|
|
38
|
+
* What the link does in a running app, and when it launches the app and the route has no `start`: then it runs
|
|
39
|
+
* once the first root is shown.
|
|
40
|
+
*/
|
|
41
|
+
open?: LinkHandler<Pattern>;
|
|
42
|
+
/** Whether the link may run now, in place of `when` of `linking`; while it is false the link waits. */
|
|
43
|
+
when?: (context: Context) => boolean;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The screens of the app that take the params of a pattern as their props, for a route given as a screen name.
|
|
47
|
+
*/
|
|
48
|
+
type LinkScreen<Pattern extends string, AppScreens> = {
|
|
49
|
+
[Name in keyof AppScreens & string]: unknown extends CheckedScreens<{
|
|
50
|
+
name: Name;
|
|
51
|
+
props: LinkParams<Pattern>;
|
|
52
|
+
}, AppScreens> ? Name : never;
|
|
53
|
+
}[keyof AppScreens & string];
|
|
54
|
+
/**
|
|
55
|
+
* A route: a screen name, pushed with the params and the query as its props; a function, its `open`; or
|
|
56
|
+
* `{ start, open, when }`.
|
|
57
|
+
*/
|
|
58
|
+
export type LinkRoute<Pattern extends string, Context, Roots extends RootsMap, AppScreens> = NoInfer<LinkScreen<Pattern, AppScreens>> | LinkHandler<Pattern> | LinkRouteConfig<Pattern, Context, Roots>;
|
|
59
|
+
/** The links that open the app's screens: custom schemes, universal links (iOS) and App Links (Android). */
|
|
60
|
+
export interface LinkingConfig<Context = unknown, Roots extends RootsMap = RootsMap, Patterns extends string = string, AppScreens = Record<string, unknown>> {
|
|
61
|
+
/**
|
|
62
|
+
* The starts of the URLs the app takes: `'myapp://'`, `'https://example.com'`; what follows is the path. A URL that
|
|
63
|
+
* starts with none is not the app's. Without it every URL goes: the host of an `http(s)` URL is left out, and for
|
|
64
|
+
* another scheme the path starts after `://`.
|
|
65
|
+
*/
|
|
66
|
+
prefixes?: string[];
|
|
67
|
+
/**
|
|
68
|
+
* The routes by path pattern: static parts, `:param`, and `:param?` at the end. The most specific match wins: more
|
|
69
|
+
* required parts first, then a static part before a param at the same place, then fewer parts, then the order here.
|
|
70
|
+
*/
|
|
71
|
+
routes: {
|
|
72
|
+
[Pattern in Patterns]: LinkRoute<Pattern, Context, Roots, AppScreens>;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Whether a link may run now, from the app's context: `(context) => context.signedIn`. While it is false the link
|
|
76
|
+
* doesn't run and waits; the latest one waiting is kept (`navigation.getPendingLink`). A route's own `when` goes
|
|
77
|
+
* over it. Without it every link runs at once. It is asked when a link comes and, for a waiting one, on each
|
|
78
|
+
* `setContext`: a `when` that reads a store (Redux, Zustand) instead isn't asked again when the store changes, so
|
|
79
|
+
* use `pending: 'manual'` there.
|
|
80
|
+
*/
|
|
81
|
+
when?: (context: Context) => boolean;
|
|
82
|
+
/**
|
|
83
|
+
* What a waiting link does once `when` lets it: `'auto'` runs it when the context changes so, after the commands then
|
|
84
|
+
* on their way (`setContext` and `switchTo` of a sign-in); `'manual'` keeps it for `navigation.openPendingLink`,
|
|
85
|
+
* which the app calls once it is ready, such as after a sign-in kept in a store. `'auto'` without it.
|
|
86
|
+
*/
|
|
87
|
+
pending?: 'auto' | 'manual';
|
|
88
|
+
/** A URL no route takes, or with none of `prefixes`. Without it a warning in development. */
|
|
89
|
+
unmatched?: (url: string) => void;
|
|
90
|
+
}
|
|
91
|
+
/** A link that waits for `when` of `linking`. */
|
|
92
|
+
export interface PendingLink {
|
|
93
|
+
/** The whole URL. */
|
|
94
|
+
url: string;
|
|
95
|
+
/** The path, without the prefix and the query. */
|
|
96
|
+
path: string;
|
|
97
|
+
/** The pattern of its route in `routes`. */
|
|
98
|
+
route: string;
|
|
99
|
+
/** The params of the path. */
|
|
100
|
+
params: Record<string, string>;
|
|
101
|
+
/** The query string by key. */
|
|
102
|
+
query: Record<string, string>;
|
|
103
|
+
}
|
|
104
|
+
export {};
|
|
105
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/api/linking/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { type RootParam } from './app/roots.js';
|
|
2
|
+
import type { SplitColumn } from './commands/commands.js';
|
|
3
|
+
import type { ColumnConfig, ModalConfig, OverlayConfig, PushConfig } from './commands/presentation.js';
|
|
4
|
+
import { type NavigationEventName, type NavigationEvents } from './events/navigationEvents.js';
|
|
5
|
+
import { type RootLayout, type UsesOfRoot } from './layout/Root.js';
|
|
6
|
+
import { type NavigationState } from './state/navigationState.js';
|
|
7
|
+
import type { StackEntry } from './layout/Stack.js';
|
|
8
|
+
import type { UsesOf } from './layout/element.js';
|
|
9
|
+
import type { PendingLink } from './linking/types.js';
|
|
10
|
+
import { type NavigationDirection, type NavigationTheme } from './theme/theme.js';
|
|
11
|
+
import type { CheckedScreens, RegisteredContext, RegisteredRoots, RegisteredScreens, ScreenName, ShowArgs } from './types.js';
|
|
12
|
+
type RootName = keyof RegisteredRoots & string;
|
|
13
|
+
/** The screens of a stack, each checked against the screens of the app. */
|
|
14
|
+
export type CheckedEntries<Entries extends readonly StackEntry[]> = {
|
|
15
|
+
[Index in keyof Entries]: Entries[Index] & NoInfer<CheckedScreens<UsesOf<Entries[Index]>, RegisteredScreens>>;
|
|
16
|
+
};
|
|
17
|
+
export interface AppNavigation {
|
|
18
|
+
/** Replaces the whole navigation with a root of `roots`: the modals close, the overlays stay. */
|
|
19
|
+
switchTo<Name extends RootName>(name: Name, ...param: RootParam<RegisteredRoots[Name]>): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Replaces the whole navigation with a root of its own, such as the screens of a deep link. A screen named alone
|
|
22
|
+
* is a root name here, so it goes as `Stack('Name')`.
|
|
23
|
+
*/
|
|
24
|
+
switchTo<const Layout extends Exclude<RootLayout, string>>(layout: Layout & NoInfer<CheckedScreens<UsesOfRoot<Layout>, RegisteredScreens>>): Promise<void>;
|
|
25
|
+
/** Shows a screen in the stack of the screen the user sees; resolves with the id of the screen shown. */
|
|
26
|
+
push<Name extends ScreenName>(name: Name, ...args: ShowArgs<Name, PushConfig>): Promise<string>;
|
|
27
|
+
/** Goes back in the stack of the screen the user sees; see `useNavigation().pop`. */
|
|
28
|
+
pop(): Promise<string>;
|
|
29
|
+
/** Goes back to a screen of its stack, by its id. */
|
|
30
|
+
popTo(screenId: string): Promise<string>;
|
|
31
|
+
/** `pop()` has a screen to go back to from the one the user sees; see `useNavigation().canPop`. Answers at once. */
|
|
32
|
+
canPop(): boolean;
|
|
33
|
+
/** The screen the user sees is in a modal or an overlay. Answers at once. */
|
|
34
|
+
canDismiss(): boolean;
|
|
35
|
+
/** Shows a column of the split view the user is in; see `useNavigation().showColumn`. */
|
|
36
|
+
showColumn(column: SplitColumn): Promise<void>;
|
|
37
|
+
/** Hides a column of the split view the user is in. */
|
|
38
|
+
hideColumn(column: SplitColumn): Promise<void>;
|
|
39
|
+
/** Opens a menu of the side menu the user is in; resolves once it is open and `getState()` shows its screen. */
|
|
40
|
+
openMenu(side: 'left' | 'right'): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Closes the menu that is open; resolves once it is closed and `getState()` shows the center, so the next command
|
|
43
|
+
* acts from there.
|
|
44
|
+
*/
|
|
45
|
+
closeMenu(): Promise<void>;
|
|
46
|
+
/** What the back button would do on the screen the user sees: `pop()`, or `dismiss()` of its modal. */
|
|
47
|
+
goBack(): Promise<string>;
|
|
48
|
+
/** `goBack()` has something to do. Answers at once. */
|
|
49
|
+
canGoBack(): boolean;
|
|
50
|
+
/** Goes back to the first screen of the stack of the screen the user sees. */
|
|
51
|
+
popToRoot(): Promise<string>;
|
|
52
|
+
/** Shows a screen alone in the stack of the screen the user sees, in place of its history; see `useNavigation().replace`. */
|
|
53
|
+
replace<Name extends ScreenName>(name: Name, ...args: ShowArgs<Name, PushConfig>): Promise<string>;
|
|
54
|
+
/** Replaces the screens of the stack of the screen the user sees. */
|
|
55
|
+
setStack<const Entries extends readonly StackEntry[]>(...entries: CheckedEntries<Entries>): Promise<string>;
|
|
56
|
+
/** Shows a screen in a column of the split view of the screen the user sees; see `useNavigation().showInColumn`. */
|
|
57
|
+
showInColumn<Name extends ScreenName>(name: Name, ...args: ShowArgs<Name, ColumnConfig>): Promise<string>;
|
|
58
|
+
/** Shows a screen over everything, in a stack of its own unless `stack: false`. */
|
|
59
|
+
showModal<Name extends ScreenName>(name: Name, ...args: ShowArgs<Name, ModalConfig>): Promise<string>;
|
|
60
|
+
/** Dismisses a modal by its id, or the modal a screen with this id is in. */
|
|
61
|
+
dismissModal(modalId: string): Promise<string>;
|
|
62
|
+
dismissAllModals(): Promise<string>;
|
|
63
|
+
/** Shows a screen over everything, without taking the place of any. */
|
|
64
|
+
showOverlay<Name extends ScreenName>(name: Name, ...args: ShowArgs<Name, OverlayConfig>): Promise<string>;
|
|
65
|
+
/**
|
|
66
|
+
* Dismisses an overlay by its id. iOS also takes the id of a screen inside the overlay; Android takes only the
|
|
67
|
+
* overlay's own id and rejects the id of a screen inside it.
|
|
68
|
+
*/
|
|
69
|
+
dismissOverlay(overlayId: string): Promise<string>;
|
|
70
|
+
dismissAllOverlays(): Promise<string>;
|
|
71
|
+
/**
|
|
72
|
+
* Selects a tab of the tabs of the screen the user sees: by its index, or by the id of the tab. Resolves once the
|
|
73
|
+
* state shows it, so the next command acts in that tab. The state has the tab of the root's tabs only: in tabs over
|
|
74
|
+
* them (tabs in a modal) it resolves on the next change of the state, at the latest after 300 ms, and at once when
|
|
75
|
+
* the root's tabs show a tab with that index.
|
|
76
|
+
*/
|
|
77
|
+
selectTab(tab: number | string): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* The badge of the tab with the id, or of the tab of the screen the user sees: a count or a short text. `null` and the
|
|
80
|
+
* number `0` take it away, so a count of unread messages goes as it is; the text `'0'` shows "0".
|
|
81
|
+
*/
|
|
82
|
+
setTabBadge(badge: string | number | null, tab?: string): Promise<void>;
|
|
83
|
+
/** Changes the theme of the navigation: the screens shown take it too, `useNavigationTheme` renders again. */
|
|
84
|
+
setTheme(theme: NavigationTheme): void;
|
|
85
|
+
/**
|
|
86
|
+
* Changes the direction of the app (`direction` of createNavigation): the bars, the transitions and the swipe back
|
|
87
|
+
* follow at once, React content in the screens created after it. On iOS 15–16 a stack already shown keeps its
|
|
88
|
+
* direction (its bar, its swipe back and its transitions) until its next push; on iOS 17+ so does a stack that isn't
|
|
89
|
+
* on screen at the change (another tab, under a full-screen modal) when the app had no direction before.
|
|
90
|
+
*/
|
|
91
|
+
setDirection(direction: NavigationDirection): void;
|
|
92
|
+
/** The app's context: `context` of createNavigation, as `setContext` changed it since. */
|
|
93
|
+
getContext(): RegisteredContext;
|
|
94
|
+
/** Changes the app's context: every `useAppContext` renders again. */
|
|
95
|
+
setContext(next: RegisteredContext | ((previous: RegisteredContext) => RegisteredContext)): void;
|
|
96
|
+
/**
|
|
97
|
+
* What the user sees now: the screen and the selected tab. Once a command resolves, it shows what the command did.
|
|
98
|
+
*/
|
|
99
|
+
getState(): NavigationState;
|
|
100
|
+
/** The link that waits for `when` of `linking`, the latest one; null when none waits. */
|
|
101
|
+
getPendingLink(): PendingLink | null;
|
|
102
|
+
/**
|
|
103
|
+
* Runs the waiting link now, as in a running app, whatever its `when` says, and forgets it. Resolves once its route
|
|
104
|
+
* has run, with false when no link waits; a route that fails goes to `onError`.
|
|
105
|
+
*/
|
|
106
|
+
openPendingLink(): Promise<boolean>;
|
|
107
|
+
/** Forgets the waiting link. */
|
|
108
|
+
clearPendingLink(): void;
|
|
109
|
+
/** Listens to an event of the navigation, outside the screens too; returns the function that stops listening. */
|
|
110
|
+
on<Name extends NavigationEventName>(name: Name, handler: (event: NavigationEvents[Name]) => void): () => void;
|
|
111
|
+
}
|
|
112
|
+
/** The navigation of the app, for anywhere, outside the screens too. */
|
|
113
|
+
export declare const navigation: AppNavigation;
|
|
114
|
+
export {};
|
|
115
|
+
//# sourceMappingURL=navigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/api/navigation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { AnimationOptions, Color, HardwareBackButtonOptions, LayoutOrientation, NavigationBarOptions, Options, OptionsBottomTabs, OptionsLayout, OptionsScrollEdgeEffect, OptionsSideMenu, OptionsStatusBar, OptionsTopBar, OptionsTopBarBackButton, OptionsTopBarLargeTitle, SafeAreaEdge } from '../../interfaces/Options.js';
|
|
2
|
+
/**
|
|
3
|
+
* The modifiers of the options of a screen. Each modifier returns a copy with the options merged over the ones before,
|
|
4
|
+
* so the last one wins; `options()` takes anything the modifiers don't cover.
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class OptionsChain {
|
|
7
|
+
protected readonly built: Options;
|
|
8
|
+
constructor(built?: Options);
|
|
9
|
+
/** A copy with other options. */
|
|
10
|
+
protected abstract withOptions(options: Options): this;
|
|
11
|
+
/** Any options. */
|
|
12
|
+
options(options: Options): this;
|
|
13
|
+
topBar(topBar: OptionsTopBar): this;
|
|
14
|
+
/** #### (iOS specific) */
|
|
15
|
+
largeTitle(largeTitle?: boolean | OptionsTopBarLargeTitle): this;
|
|
16
|
+
backButton(backButton: OptionsTopBarBackButton): this;
|
|
17
|
+
/** Hides the top bar; `hideTopBar(fullScreen)` takes the value from state, `false` shows it. */
|
|
18
|
+
hideTopBar(hidden?: boolean): this;
|
|
19
|
+
/** Hides the tab bar under this screen; `false` shows it. */
|
|
20
|
+
hideBottomTabs(hidden?: boolean): this;
|
|
21
|
+
layout(layout: OptionsLayout): this;
|
|
22
|
+
/**
|
|
23
|
+
* The edges on which the screen keeps its content out of its safe area (bars, status bar, home indicator, cutout);
|
|
24
|
+
* none with no edge. Without it: all four on Android, and on iOS every edge but those where the content goes under
|
|
25
|
+
* a bar. On iOS a large title leaves the top out by itself.
|
|
26
|
+
*/
|
|
27
|
+
safeArea(...edges: SafeAreaEdge[]): this;
|
|
28
|
+
backgroundColor(backgroundColor: Color): this;
|
|
29
|
+
orientation(...orientation: LayoutOrientation[]): this;
|
|
30
|
+
/** `false`: the bars of the screen stay horizontal on iPhone Duo. #### (iOS specific) */
|
|
31
|
+
verticalBars(verticalBars?: boolean): this;
|
|
32
|
+
statusBar(statusBar: OptionsStatusBar): this;
|
|
33
|
+
navigationBar(navigationBar: NavigationBarOptions): this;
|
|
34
|
+
/** #### (iOS specific) */
|
|
35
|
+
scrollEdgeEffect(scrollEdgeEffect: OptionsScrollEdgeEffect): this;
|
|
36
|
+
/** #### (iOS specific) */
|
|
37
|
+
popGesture(popGesture: boolean | 'edge'): this;
|
|
38
|
+
hardwareBackButton(hardwareBackButton: HardwareBackButtonOptions): this;
|
|
39
|
+
animations(animations: Pick<AnimationOptions, 'push' | 'pop'>): this;
|
|
40
|
+
bottomTabs(bottomTabs: OptionsBottomTabs): this;
|
|
41
|
+
sideMenu(sideMenu: OptionsSideMenu): this;
|
|
42
|
+
/** Modifiers for iOS only. */
|
|
43
|
+
ios(build: (options: this) => this): this;
|
|
44
|
+
/** Modifiers for Android only. */
|
|
45
|
+
android(build: (options: this) => this): this;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=OptionsChain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OptionsChain.d.ts","sourceRoot":"","sources":["../../../../src/api/options/OptionsChain.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,KAAK,EACL,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,EACb,MAAM,6BAA0B,CAAC;AAGlC;;;GAGG;AACH,8BAAsB,YAAY;IACpB,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO;gBAAd,KAAK,GAAE,OAAY;IAElD,iCAAiC;IACjC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAEtD,mBAAmB;IACnB,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAM/B,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAInC,0BAA0B;IAC1B,UAAU,CAAC,UAAU,GAAE,OAAO,GAAG,uBAA8B,GAAG,IAAI;IAMtE,UAAU,CAAC,UAAU,EAAE,uBAAuB,GAAG,IAAI;IAIrD,gGAAgG;IAChG,UAAU,CAAC,MAAM,UAAO,GAAG,IAAI;IAI/B,6DAA6D;IAC7D,cAAc,CAAC,MAAM,UAAO,GAAG,IAAI;IAMnC,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAInC;;;;OAIG;IACH,QAAQ,CAAC,GAAG,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI;IAIxC,eAAe,CAAC,eAAe,EAAE,KAAK,GAAG,IAAI;IAI7C,WAAW,CAAC,GAAG,WAAW,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAItD,yFAAyF;IACzF,YAAY,CAAC,YAAY,UAAO,GAAG,IAAI;IAIvC,SAAS,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAI5C,aAAa,CAAC,aAAa,EAAE,oBAAoB,GAAG,IAAI;IAIxD,0BAA0B;IAC1B,gBAAgB,CAAC,gBAAgB,EAAE,uBAAuB,GAAG,IAAI;IAMjE,0BAA0B;IAC1B,UAAU,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAI9C,kBAAkB,CAAC,kBAAkB,EAAE,yBAAyB,GAAG,IAAI;IAMvE,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,IAAI;IAMpE,UAAU,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAI/C,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAMzC,8BAA8B;IAC9B,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;IAIzC,kCAAkC;IAClC,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;CAG9C"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Options, OptionsKeyCommand, OptionsSearchBar, OptionsToolbar, OptionsToolbarSearchField, OptionsToolbarSpace, OptionsTopBarSubtitle, OptionsTopBarTitle } from '../../interfaces/Options.js';
|
|
2
|
+
import type { NavigationButton, NavigationFab } from './buttons.js';
|
|
3
|
+
import { OptionsChain } from './OptionsChain.js';
|
|
4
|
+
/** The toolbar, with buttons that take `onPress`. */
|
|
5
|
+
export type ToolbarOptions = Omit<OptionsToolbar, 'buttons'> & {
|
|
6
|
+
buttons?: (NavigationButton | OptionsToolbarSpace | OptionsToolbarSearchField)[];
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* The options of a screen as a chain: the modifiers of `OptionsChain` and those that belong to one screen only, such
|
|
10
|
+
* as its title and buttons.
|
|
11
|
+
*/
|
|
12
|
+
export declare class ScreenOptions extends OptionsChain {
|
|
13
|
+
protected withOptions(options: Options): this;
|
|
14
|
+
/** The options built by a chain. */
|
|
15
|
+
static read(options: ScreenOptions): Options;
|
|
16
|
+
title(title: string | OptionsTopBarTitle): this;
|
|
17
|
+
subtitle(subtitle: string | OptionsTopBarSubtitle): this;
|
|
18
|
+
/** Buttons take `onPress`. */
|
|
19
|
+
leftButtons(...leftButtons: NavigationButton[]): this;
|
|
20
|
+
/** Buttons take `onPress`. */
|
|
21
|
+
rightButtons(...rightButtons: NavigationButton[]): this;
|
|
22
|
+
/** #### (iOS specific) Buttons take `onPress`. */
|
|
23
|
+
centerButtons(...centerButtons: NavigationButton[]): this;
|
|
24
|
+
searchBar(searchBar: OptionsSearchBar): this;
|
|
25
|
+
/** #### (iOS specific) Buttons take `onPress`. */
|
|
26
|
+
toolbar(toolbar: ToolbarOptions): this;
|
|
27
|
+
/** #### (Android specific) The FAB and its `actions` take `onPress`. */
|
|
28
|
+
fab(fab: NavigationFab): this;
|
|
29
|
+
keyCommands(...keyCommands: OptionsKeyCommand[]): this;
|
|
30
|
+
}
|
|
31
|
+
export declare function readScreenOptions(options: ScreenOptions): Options;
|
|
32
|
+
//# sourceMappingURL=ScreenOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScreenOptions.d.ts","sourceRoot":"","sources":["../../../../src/api/options/ScreenOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,6BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAW,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAgB,CAAC;AAE9C,qDAAqD;AACrD,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG;IAC7D,OAAO,CAAC,EAAE,CAAC,gBAAgB,GAAG,mBAAmB,GAAG,yBAAyB,CAAC,EAAE,CAAC;CAClF,CAAC;AAEF;;;GAGG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI7C,oCAAoC;IACpC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO;IAI5C,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAM/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI;IAMxD,8BAA8B;IAC9B,WAAW,CAAC,GAAG,WAAW,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAIrD,8BAA8B;IAC9B,YAAY,CAAC,GAAG,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAIvD,kDAAkD;IAClD,aAAa,CAAC,GAAG,aAAa,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAIzD,SAAS,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAI5C,kDAAkD;IAClD,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAItC,wEAAwE;IACxE,GAAG,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAI7B,WAAW,CAAC,GAAG,WAAW,EAAE,iBAAiB,EAAE,GAAG,IAAI;CAGvD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAEjE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { OptionsFab, OptionsTopBarButton, OptionsTopBarButtonMenu, OptionsTopBarButtonMenuItem, OptionsTopBarButtonSubmenu } from '../../interfaces/Options.js';
|
|
2
|
+
import type { ButtonPressedEvent } from '../events/navigationEvents.js';
|
|
3
|
+
import type { ScreenNavigation } from '../hooks/useNavigation.js';
|
|
4
|
+
/** A press of a button or of an item of its menu, with the navigation of the screen whose button it is. */
|
|
5
|
+
export type ButtonPressEvent = ButtonPressedEvent & {
|
|
6
|
+
navigation: ScreenNavigation;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Called when the button is pressed. The function stays in JavaScript; the native side gets the button's id. It gets
|
|
10
|
+
* the navigation of its screen, so the options need no import: `onPress: ({ navigation }) => navigation.openMenu('left')`.
|
|
11
|
+
*/
|
|
12
|
+
export type ButtonPressHandler = (event: ButtonPressEvent) => void;
|
|
13
|
+
/** An item of a button menu, with what picking it does. */
|
|
14
|
+
export type NavigationMenuItem = OptionsTopBarButtonMenuItem & {
|
|
15
|
+
onPress?: ButtonPressHandler;
|
|
16
|
+
};
|
|
17
|
+
/** A submenu of a button menu. */
|
|
18
|
+
export type NavigationSubmenu = Omit<OptionsTopBarButtonSubmenu, 'items'> & {
|
|
19
|
+
items: (NavigationMenuItem | NavigationSubmenu)[];
|
|
20
|
+
};
|
|
21
|
+
/** The menu of a button, whose items take `onPress`. */
|
|
22
|
+
export type NavigationButtonMenu = Omit<OptionsTopBarButtonMenu, 'items'> & {
|
|
23
|
+
items: (NavigationMenuItem | NavigationSubmenu)[];
|
|
24
|
+
};
|
|
25
|
+
/** The floating action button, and each of its `actions`, with what its press does. */
|
|
26
|
+
export type NavigationFab = Omit<OptionsFab, 'actions'> & {
|
|
27
|
+
onPress?: ButtonPressHandler;
|
|
28
|
+
actions?: NavigationFab[];
|
|
29
|
+
};
|
|
30
|
+
/** A button of the top bar or the toolbar, with what its press does. */
|
|
31
|
+
export type NavigationButton = Omit<OptionsTopBarButton, 'menu'> & {
|
|
32
|
+
onPress?: ButtonPressHandler;
|
|
33
|
+
menu?: NavigationButtonMenu;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=buttons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buttons.d.ts","sourceRoot":"","sources":["../../../../src/api/options/buttons.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,EAC3B,0BAA0B,EAC3B,MAAM,6BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAAwB,CAAC;AAE/D,2GAA2G;AAC3G,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG;IAAE,UAAU,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAErF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAEnE,2DAA2D;AAC3D,MAAM,MAAM,kBAAkB,GAAG,2BAA2B,GAAG;IAAE,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAEhG,kCAAkC;AAClC,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,0BAA0B,EAAE,OAAO,CAAC,GAAG;IAC1E,KAAK,EAAE,CAAC,kBAAkB,GAAG,iBAAiB,CAAC,EAAE,CAAC;CACnD,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAC,GAAG;IAC1E,KAAK,EAAE,CAAC,kBAAkB,GAAG,iBAAiB,CAAC,EAAE,CAAC;CACnD,CAAC;AAEF,uFAAuF;AACvF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG;IACxD,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B,CAAC;AAEF,wEAAwE;AACxE,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG;IACjE,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,IAAI,CAAC,EAAE,oBAAoB,CAAC;CAC7B,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type CodegenTypes, type HostComponent, type ViewProps } from 'react-native';
|
|
2
|
+
export interface NativeProps extends ViewProps {
|
|
3
|
+
/** The screen whose safe area the view keeps its content out of. */
|
|
4
|
+
screenId: string;
|
|
5
|
+
/** Once: the view is laid out in its place, with a size. */
|
|
6
|
+
onReady?: CodegenTypes.DirectEventHandler<null>;
|
|
7
|
+
/**
|
|
8
|
+
* The screen is rendered into the view, also when it renders nothing (`null`): what a transition into the screen
|
|
9
|
+
* waits for.
|
|
10
|
+
*/
|
|
11
|
+
contentRendered?: CodegenTypes.WithDefault<boolean, false>;
|
|
12
|
+
/**
|
|
13
|
+
* `[top, right, bottom, left]`: the padding of a screen laid out before its push (Android), so the first layout
|
|
14
|
+
* already has it. Empty: the native side gives it once the screen is laid out.
|
|
15
|
+
*/
|
|
16
|
+
initialPadding?: ReadonlyArray<CodegenTypes.Float>;
|
|
17
|
+
}
|
|
18
|
+
declare const _default: HostComponent<NativeProps>;
|
|
19
|
+
export default _default;
|
|
20
|
+
//# sourceMappingURL=ANNSafeAreaViewNativeComponent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ANNSafeAreaViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/api/safeArea/ANNSafeAreaViewNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAChD;;;OAGG;IACH,eAAe,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3D;;;OAGG;IACH,cAAc,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;CACpD;wBAKK,aAAa,CAAC,WAAW,CAAC;AAFhC,wBAEiC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How much of a screen's content the bars and the system cover on each side, past the screen's own padding: points on
|
|
3
|
+
* iOS, dp on Android.
|
|
4
|
+
*/
|
|
5
|
+
export interface EdgeInsets {
|
|
6
|
+
top: number;
|
|
7
|
+
right: number;
|
|
8
|
+
bottom: number;
|
|
9
|
+
left: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The insets of a screen: the last ones the native side sent, or read from it at once, so a screen's first render
|
|
13
|
+
* has them when the screen is laid out; none before that.
|
|
14
|
+
*/
|
|
15
|
+
export declare function getScreenInsets(screenId: string): EdgeInsets;
|
|
16
|
+
/** Calls `onChange` when the screen's insets change; returns the function that stops it. */
|
|
17
|
+
export declare function subscribeScreenInsets(screenId: string, onChange: () => void): () => void;
|
|
18
|
+
/** The screen unmounted: its insets go. */
|
|
19
|
+
export declare function forgetScreenInsets(screenId: string): void;
|
|
20
|
+
//# sourceMappingURL=screenInsets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screenInsets.d.ts","sourceRoot":"","sources":["../../../../src/api/safeArea/screenInsets.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AASD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAQ5D;AAED,4FAA4F;AAC5F,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CASxF;AAED,2CAA2C;AAC3C,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,QAGlD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** A part of a screen in its coordinates: points on iOS, dp on Android. */
|
|
2
|
+
export interface ReservedRegion {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
}
|
|
8
|
+
/** The parts of a screen the hardware takes. */
|
|
9
|
+
export interface ReservedRegions {
|
|
10
|
+
/** Where the screen divides: the fold of a partly folded device. Keep controls and text off it. */
|
|
11
|
+
division: ReservedRegion[];
|
|
12
|
+
/** Where hardware covers the screen: a camera, a hinge that hides what is under it. */
|
|
13
|
+
occlusion: ReservedRegion[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The regions of a screen: the last ones the native side sent, or read from it at once, so a screen's first render
|
|
17
|
+
* has them; none before its first layout and where the platform has none.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getScreenRegions(screenId: string): ReservedRegions;
|
|
20
|
+
/** Calls `onChange` when the screen's regions change; returns the function that stops it. */
|
|
21
|
+
export declare function subscribeScreenRegions(screenId: string, onChange: () => void): () => void;
|
|
22
|
+
/** The screen unmounted: its regions go. */
|
|
23
|
+
export declare function forgetScreenRegions(screenId: string): void;
|
|
24
|
+
//# sourceMappingURL=screenRegions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screenRegions.d.ts","sourceRoot":"","sources":["../../../../src/api/safeArea/screenRegions.ts"],"names":[],"mappings":"AAIA,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,mGAAmG;IACnG,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,uFAAuF;IACvF,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B;AASD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAQlE;AAED,6FAA6F;AAC7F,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CASzF;AAED,4CAA4C;AAC5C,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,QAGnD"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React, { Component, type ComponentType, type ErrorInfo, type ReactNode } from 'react';
|
|
2
|
+
import type { ScreenInfo } from './registerScreens.js';
|
|
3
|
+
/**
|
|
4
|
+
* What `errorFallback` gets: the error, the screen, and `retry`, which renders the screen again. When the start failed,
|
|
5
|
+
* the screen is the first root it shows in, and `retry` runs the start again from `willMount`.
|
|
6
|
+
*/
|
|
7
|
+
export interface ErrorFallbackProps {
|
|
8
|
+
error: unknown;
|
|
9
|
+
screen: ScreenInfo;
|
|
10
|
+
retry: () => void;
|
|
11
|
+
}
|
|
12
|
+
interface Props {
|
|
13
|
+
screen: ScreenInfo;
|
|
14
|
+
fallback?: ComponentType<ErrorFallbackProps>;
|
|
15
|
+
onError?: (error: unknown, componentStack: string | null | undefined) => void;
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
}
|
|
18
|
+
interface State {
|
|
19
|
+
failed: boolean;
|
|
20
|
+
error: unknown;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Keeps an error of a screen inside it: the screen shows the fallback, or nothing, and the other screens go on. With
|
|
24
|
+
* `appProvider` every screen is in one React tree, which an error would take down whole.
|
|
25
|
+
*/
|
|
26
|
+
export declare class ScreenBoundary extends Component<Props, State> {
|
|
27
|
+
state: State;
|
|
28
|
+
static getDerivedStateFromError(error: unknown): State;
|
|
29
|
+
componentDidCatch(error: unknown, info: ErrorInfo): void;
|
|
30
|
+
retry: () => void;
|
|
31
|
+
render(): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null | undefined;
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=ScreenBoundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScreenBoundary.d.ts","sourceRoot":"","sources":["../../../../src/api/screens/ScreenBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAmB,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,UAAU,KAAK;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9E,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,UAAU,KAAK;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACzD,KAAK,EAAE,KAAK,CAAuC;IAEnD,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK;IAItD,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;IAIjD,KAAK,aAEH;IAEF,MAAM;CAOP"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { EngineArrangement } from '../../engine/screens.js';
|
|
2
|
+
declare const ARRANGEMENT: unique symbol;
|
|
3
|
+
/**
|
|
4
|
+
* A screen with a second screen beside or under it in a large window (iPad, iPhone Duo open, Android tablets and open
|
|
5
|
+
* foldables): `arrangement` of `defineScreen` and `nativeScreen`. Anywhere else (any phone, iPhone Duo folded, iOS
|
|
6
|
+
* before 27.1) the screen shows alone, as a plain screen.
|
|
7
|
+
*/
|
|
8
|
+
export interface ScreenArrangement<Props extends object = {}> {
|
|
9
|
+
/**
|
|
10
|
+
* The screen beside or under this one: a name of `screens`. What belongs to the whole window is the primary's: the
|
|
11
|
+
* secondary's `topBar`, `toolbar`, `statusBar` and `layout.orientation` have no effect (iOS: also the home indicator,
|
|
12
|
+
* the deferred system gestures and `layout.verticalBars`; Android: also `navigationBar`).
|
|
13
|
+
*/
|
|
14
|
+
secondary: string;
|
|
15
|
+
/** The props of the secondary from those of the show; without it the same props. */
|
|
16
|
+
secondaryProps?: (props: Props) => object;
|
|
17
|
+
/**
|
|
18
|
+
* `split`: side by side, each on its side of the fold of a partly folded device. `overlay`: this screen over the
|
|
19
|
+
* secondary, both full size; side by side on a partly folded device.
|
|
20
|
+
* @default 'split'
|
|
21
|
+
*/
|
|
22
|
+
style?: 'split' | 'overlay';
|
|
23
|
+
}
|
|
24
|
+
/** A pair under a name of its own, with every setting: `defineArrangement`. */
|
|
25
|
+
export interface ArrangementDefinition<Props extends object = {}> extends ScreenArrangement<Props> {
|
|
26
|
+
/** The screen that owns the bar: its title, buttons, toolbar and status bar are the pair's. A name of `screens`. */
|
|
27
|
+
primary: string;
|
|
28
|
+
/** The axes the pair may use. Where the window allows none of them, only the primary shows. @default 'both' */
|
|
29
|
+
axes?: 'horizontal' | 'vertical' | 'both';
|
|
30
|
+
/** `split`: the primary's share along the split, above 0 and below 1, where the fold does not decide. @default 0.5 */
|
|
31
|
+
fraction?: number;
|
|
32
|
+
/** `overlay`: the edge the primary takes when the pair goes side by side. @default 'trailing' */
|
|
33
|
+
primaryEdge?: 'leading' | 'trailing' | 'top' | 'bottom';
|
|
34
|
+
/**
|
|
35
|
+
* Outside a large window: `primary` — the primary alone, as a plain screen; `pair` — the pair as the system lays it
|
|
36
|
+
* out (one above the other on a phone held upright).
|
|
37
|
+
* @default 'primary'
|
|
38
|
+
*/
|
|
39
|
+
compact?: 'primary' | 'pair';
|
|
40
|
+
}
|
|
41
|
+
/** An entry of `screens` made by `defineArrangement`. */
|
|
42
|
+
export interface Arrangement<Props extends object = {}> {
|
|
43
|
+
readonly [ARRANGEMENT]: true;
|
|
44
|
+
readonly definition: ArrangementDefinition<Props>;
|
|
45
|
+
/** Carries the type of the props; never set. */
|
|
46
|
+
readonly props?: Props;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Two screens of `screens` shown as one screen of a stack under a name of their own, with every setting of the pair.
|
|
50
|
+
* Commands, layouts and links name it as a screen. For a screen that always comes with the same second screen,
|
|
51
|
+
* `arrangement` of `defineScreen` is simpler.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* const screens = {
|
|
55
|
+
* Profile: ProfileScreen,
|
|
56
|
+
* Details: DetailsScreen,
|
|
57
|
+
* ProfileDetails: defineArrangement<{ id: string }>({
|
|
58
|
+
* primary: 'Profile',
|
|
59
|
+
* secondary: 'Details',
|
|
60
|
+
* style: 'overlay',
|
|
61
|
+
* }),
|
|
62
|
+
* };
|
|
63
|
+
* navigation.push('ProfileDetails', { props: { id: '7' } });
|
|
64
|
+
*/
|
|
65
|
+
export declare function defineArrangement<Props extends object = {}>(definition: ArrangementDefinition<Props>): Arrangement<Props>;
|
|
66
|
+
export declare function isArrangement(value: unknown): value is Arrangement<any>;
|
|
67
|
+
/** The pair as the engine keeps it: the settings `arrangement` of a screen has not, at their defaults. */
|
|
68
|
+
export declare function toEngineArrangement(primary: string, arrangement: ScreenArrangement<any> | ArrangementDefinition<any>): EngineArrangement;
|
|
69
|
+
export {};
|
|
70
|
+
//# sourceMappingURL=arrangement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrangement.d.ts","sourceRoot":"","sources":["../../../../src/api/screens/arrangement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAsB,CAAC;AAE9D,QAAA,MAAM,WAAW,eAA8C,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,iBAAiB,CAAC,KAAK,SAAS,MAAM,GAAG,EAAE;IAC1D;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC;IAC1C;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B;AAED,+EAA+E;AAC/E,MAAM,WAAW,qBAAqB,CAAC,KAAK,SAAS,MAAM,GAAG,EAAE,CAAE,SAAQ,iBAAiB,CAAC,KAAK,CAAC;IAChG,oHAAoH;IACpH,OAAO,EAAE,MAAM,CAAC;IAChB,+GAA+G;IAC/G,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;IAC1C,sHAAsH;IACtH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iGAAiG;IACjG,WAAW,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAC;IACxD;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC9B;AAED,yDAAyD;AACzD,MAAM,WAAW,WAAW,CAAC,KAAK,SAAS,MAAM,GAAG,EAAE;IACpD,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAClD,gDAAgD;IAChD,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,SAAS,MAAM,GAAG,EAAE,EACzD,UAAU,EAAE,qBAAqB,CAAC,KAAK,CAAC,GACvC,WAAW,CAAC,KAAK,CAAC,CAGpB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,CAEvE;AAED,0GAA0G;AAC1G,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,GAAG,CAAC,GAC/D,iBAAiB,CAanB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ComponentType } from 'react';
|
|
2
|
+
import type { Options } from '../../interfaces/Options.js';
|
|
3
|
+
import { ScreenOptions } from '../options/ScreenOptions.js';
|
|
4
|
+
import { type NavigationTheme } from '../theme/theme.js';
|
|
5
|
+
import type { RegisteredContext } from '../types.js';
|
|
6
|
+
import type { ScreenArrangement } from './arrangement.js';
|
|
7
|
+
/** What the options of a screen can read besides its props, as they are when a command shows the screen. */
|
|
8
|
+
export interface OptionsEnvironment {
|
|
9
|
+
theme: NavigationTheme;
|
|
10
|
+
context: RegisteredContext;
|
|
11
|
+
}
|
|
12
|
+
/** The options of a screen: options as they are, or a chain built from its props, the theme and the context. */
|
|
13
|
+
export type ScreenOptionsInput<Props> = Options | ((options: ScreenOptions, props: Props, app: OptionsEnvironment) => ScreenOptions);
|
|
14
|
+
/** A screen with what goes with it. */
|
|
15
|
+
export interface ScreenDefinition<Props = any> {
|
|
16
|
+
component: ComponentType<Props>;
|
|
17
|
+
/** Applied when a command shows the screen, before it appears. */
|
|
18
|
+
options?: ScreenOptionsInput<Props>;
|
|
19
|
+
/**
|
|
20
|
+
* One screen per item, such as the chat with one person: a push of this screen goes back to the screen of the same
|
|
21
|
+
* stack with the same key, closing the screens over it, instead of showing a second one. The name of the screen goes
|
|
22
|
+
* in front of the key, so two screens never share one. In another stack it shows as usual.
|
|
23
|
+
*/
|
|
24
|
+
key?: (props: Props) => string | number;
|
|
25
|
+
/**
|
|
26
|
+
* A second screen beside or under this one in a large window (iPad, iPhone Duo open, Android tablets and open
|
|
27
|
+
* foldables); anywhere else this screen shows alone, as it does without it. Shown by its own name, the screen is the
|
|
28
|
+
* primary of the pair: its bar is the pair's. For a pair with every setting, `defineArrangement`.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* defineScreen({ component: ProfileScreen, arrangement: { secondary: 'Details' } });
|
|
32
|
+
*/
|
|
33
|
+
arrangement?: ScreenArrangement<Props & object>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Describes a screen next to its component, so its registration stays one line. The same object can go right into
|
|
37
|
+
* `screens` of createNavigation.
|
|
38
|
+
*/
|
|
39
|
+
export declare function defineScreen<Props>(definition: ScreenDefinition<Props>): ScreenDefinition<Props>;
|
|
40
|
+
export declare function buildScreenOptions<Props>(input: ScreenOptionsInput<Props> | undefined, props: Props): Options;
|
|
41
|
+
//# sourceMappingURL=defineScreen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defineScreen.d.ts","sourceRoot":"","sources":["../../../../src/api/screens/defineScreen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA0B,CAAC;AAExD,OAAO,EAAqB,aAAa,EAAE,MAAM,6BAA0B,CAAC;AAC5E,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,mBAAgB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAU,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAe,CAAC;AAEvD,4GAA4G;AAC5G,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED,gHAAgH;AAChH,MAAM,MAAM,kBAAkB,CAAC,KAAK,IAClC,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,kBAAkB,KAAK,aAAa,CAAC,CAAC;AAE/F,uCAAuC;AACvC,MAAM,WAAW,gBAAgB,CAAC,KAAK,GAAG,GAAG;IAC3C,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAChC,kEAAkE;IAClE,OAAO,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACpC;;;;OAIG;IACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,GAAG,MAAM,CAAC;IACxC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;CACjD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAEhG;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EACtC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,SAAS,EAC5C,KAAK,EAAE,KAAK,GACX,OAAO,CAKT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nativeScreenCalls.d.ts","sourceRoot":"","sources":["../../../../src/api/screens/nativeScreenCalls.ts"],"names":[],"mappings":"AA0BA,qHAAqH;AACrH,wBAAgB,yBAAyB,IAAI,IAAI,CAkBhD"}
|