@apexnative/navigation 0.0.0-stage → 1.0.0-alpha.1
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/CHANGELOG.md +8 -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 +166 -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,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An entry of the menu under a preview. With `actions` it opens a submenu instead of reporting a press.
|
|
3
|
+
*/
|
|
4
|
+
export interface PreviewMenuItem {
|
|
5
|
+
/** The identifier a press reports to the screen of the preview. */
|
|
6
|
+
id: string;
|
|
7
|
+
/** The text of the entry. */
|
|
8
|
+
title: string;
|
|
9
|
+
/** How the entry looks: `'destructive'` in the red of a destructive action, `'selected'` with a check mark. */
|
|
10
|
+
style?: 'default' | 'selected' | 'destructive';
|
|
11
|
+
/** The entries of a submenu. */
|
|
12
|
+
actions?: PreviewMenuItem[];
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* (iOS) The preview of a screen that is pushed, shown by a long press on a view of the screen it is pushed from: the
|
|
17
|
+
* system's context menu with the small screen and a menu under it. A tap on the preview opens the screen. Set by
|
|
18
|
+
* `usePreview` through the push of the preview; apps don't set it. Android has no previews.
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export interface PreviewOptions {
|
|
22
|
+
/**
|
|
23
|
+
* The `nativeID` of the view of the source screen that shows the preview. The native side looks for that view
|
|
24
|
+
* right away and for up to 30 frames after, since a view just rendered mounts a little after the command. A preview
|
|
25
|
+
* whose view isn't found goes away at once, and its push is rejected.
|
|
26
|
+
*/
|
|
27
|
+
nativeID: string;
|
|
28
|
+
/**
|
|
29
|
+
* Whether a tap on the preview opens the screen. The tap is reported with a preview-completed event; with `true` the
|
|
30
|
+
* screen is also shown: the stack goes back to the screen with the same key when the source is in a stack, else the
|
|
31
|
+
* screen is pushed without animation.
|
|
32
|
+
*/
|
|
33
|
+
commit?: boolean;
|
|
34
|
+
/** The menu under the preview. */
|
|
35
|
+
actions?: PreviewMenuItem[];
|
|
36
|
+
/** The width of the preview. Without it, the width of the source screen. */
|
|
37
|
+
width?: number;
|
|
38
|
+
/** The height of the preview. Without it, the height of the source screen. */
|
|
39
|
+
height?: number;
|
|
40
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The settings of one side of a side menu, the same type for `sideMenu.left` and `sideMenu.right`. The left menu opens
|
|
3
|
+
* from the left edge and the right menu from the right edge, also in right-to-left layouts. Only one menu is open at a
|
|
4
|
+
* time: opening one closes the other. The settings apply when the side menu is created, each time a screen of the side
|
|
5
|
+
* menu appears (then all of them anew, with the defaults named below), and at once when they arrive in `mergeOptions`
|
|
6
|
+
* (then only the fields that arrived). A value from a screen of the center holds while that screen is on top of the
|
|
7
|
+
* center, and afterwards the value of the side menu's own options or the default holds.
|
|
8
|
+
*/
|
|
9
|
+
export interface SideMenuSide {
|
|
10
|
+
/**
|
|
11
|
+
* Whether the menu opens (`true`) or closes (`false`), with an animation unless `animate` is `false`. It is a
|
|
12
|
+
* one-time command, not a state: it is carried out when it arrives and then forgotten, so a screen that appears later
|
|
13
|
+
* and applies its options again doesn't open or close the menu once more. Opening it while the other menu is open
|
|
14
|
+
* closes the other. It opens the menu also when `enabled` is `false`. It does nothing for a menu that isn't on screen
|
|
15
|
+
* to close, or for a side that has no menu, and is ignored in the default options. Set in the layout options, it
|
|
16
|
+
* opens the menu when the side menu first shows. Without it, nothing happens.
|
|
17
|
+
*/
|
|
18
|
+
visible?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Whether the opening or closing that `visible` asks for is animated. With `false` it happens at once and the
|
|
21
|
+
* screens of the menu get the same appearance events in the same order, except that on Android a menu that opens at
|
|
22
|
+
* once sends its screens DidAppear without WillAppear. It acts only together with `visible` in the same merge.
|
|
23
|
+
* @default true
|
|
24
|
+
*/
|
|
25
|
+
animate?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Whether the user can open the menu with a gesture. With `false` the gesture doesn't open it, while `visible` and
|
|
28
|
+
* `openMenu` still do; a menu that is already open stays open and can be closed by a gesture. It holds while the
|
|
29
|
+
* screen that set it is on top of the center, and a value of the default options counts.
|
|
30
|
+
* @default true
|
|
31
|
+
*/
|
|
32
|
+
enabled?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* The width of the menu, in points on iOS and dp on Android. It is capped at the width of the side menu (iOS) and at
|
|
35
|
+
* that width less 64 dp (Android). On iOS a change applies at once, also to an open menu. On Android it applies the
|
|
36
|
+
* next time a screen in the side menu appears, the center's or a menu's.
|
|
37
|
+
* Without it, 280 points on iOS and the width of the side menu less 64 dp on Android (the least gap the Material
|
|
38
|
+
* drawer leaves).
|
|
39
|
+
*/
|
|
40
|
+
width?: number;
|
|
41
|
+
/**
|
|
42
|
+
* (Android) The height of the menu in dp; a menu lower than the container is pinned to the top. It is read only when
|
|
43
|
+
* the side menu is created. Without it, the menu takes the full height under the status bar. iOS doesn't read it.
|
|
44
|
+
*/
|
|
45
|
+
height?: number;
|
|
46
|
+
/**
|
|
47
|
+
* (iOS) Whether a finger can pull the menu out past its width. With `true` the menu follows the finger at a quarter
|
|
48
|
+
* of the speed, up to 1.1 times its width, from its outer edge in both open modes; with `false` it stops at its
|
|
49
|
+
* width. Pulling past the width goes before `animationType`.
|
|
50
|
+
* @default true
|
|
51
|
+
*/
|
|
52
|
+
shouldStretchDrawer?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* (iOS) The speed in points per second with which the menu moves to its open or closed place. A menu released
|
|
55
|
+
* faster than this moves at the speed of the finger, and the move takes 0.1 seconds at the least. A value of `0` or
|
|
56
|
+
* less counts as the default.
|
|
57
|
+
* @default 840
|
|
58
|
+
*/
|
|
59
|
+
animationVelocity?: number;
|
|
60
|
+
/**
|
|
61
|
+
* (iOS) Where the menu is relative to the center. `'aboveContent'` slides the menu over the center, which darkens
|
|
62
|
+
* under it. `'pushContent'` keeps the menu under the center, which moves aside by the width of the menu and casts a
|
|
63
|
+
* shadow (see `sideMenu.animationType` for how the menu itself appears). An unknown string means `'aboveContent'`. A
|
|
64
|
+
* change applies at once, to an open menu too. Android always draws the menu over the center.
|
|
65
|
+
* @default 'aboveContent'
|
|
66
|
+
*/
|
|
67
|
+
openMode?: 'aboveContent' | 'pushContent';
|
|
68
|
+
/**
|
|
69
|
+
* (iOS 26+) Whether a Liquid Glass layer fills the menu's container, under its screen. The glass shows through only
|
|
70
|
+
* where the screen is transparent, so the screen needs `layout.backgroundColor` and `layout.componentBackgroundColor`
|
|
71
|
+
* both `'transparent'` and a root view with no background. With `'aboveContent'` the center shows through the glass. Below iOS 26 and on Android it
|
|
72
|
+
* does nothing. A change applies at once.
|
|
73
|
+
* @default false
|
|
74
|
+
*/
|
|
75
|
+
glass?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* The test identifier of this side's container; while the menu is open, the dimming over the center is
|
|
78
|
+
* `<testID>.scrim`. When it is not set, the identifiers derive from `sideMenu.testID`.
|
|
79
|
+
*/
|
|
80
|
+
testID?: string;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* How a swipe opens a menu (iOS): `'bezel'` from a strip of 20 points along the edge of the side, `'entireScreen'`
|
|
85
|
+
* from anywhere on the center, where the direction of the move picks the side. An unknown string means `'bezel'`.
|
|
86
|
+
*/
|
|
87
|
+
export type SideMenuOpenGestureMode = 'bezel' | 'entireScreen';
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* (iOS) How the menu itself moves while the center slides aside in `'pushContent'` mode. `'parallax'` moves it from a
|
|
91
|
+
* point half its width outside to its place; `'slide'` moves it along with the center; `'slide-and-scale'` fades it in
|
|
92
|
+
* while it grows from 0.9 to 1 and shifts by 50 points; `'door'` swings it open like a door around the edge next to
|
|
93
|
+
* the center.
|
|
94
|
+
*/
|
|
95
|
+
export type SideMenuAnimationType = 'parallax' | 'slide' | 'slide-and-scale' | 'door';
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* The options of a side menu: a center with a menu on the left, on the right or on both sides. They are set in the
|
|
99
|
+
* options of the side menu, in the options of the screens inside it (through `mergeOptions` or the screen definition)
|
|
100
|
+
* and in the default options; a screen outside a side menu is not affected. A `null` in place of a nested object counts
|
|
101
|
+
* as an empty object, and a value of the wrong type is skipped without a crash. While a menu is open, the `sideMenu`
|
|
102
|
+
* options of the center's visible screen still count.
|
|
103
|
+
*/
|
|
104
|
+
export interface OptionsSideMenu {
|
|
105
|
+
/** The left menu. */
|
|
106
|
+
left?: SideMenuSide;
|
|
107
|
+
/** The right menu. */
|
|
108
|
+
right?: SideMenuSide;
|
|
109
|
+
/**
|
|
110
|
+
* (iOS) Where a swipe has to start to open a menu. Closing by a gesture works from anywhere in both modes, and the
|
|
111
|
+
* swipe back of a stack goes before the menu: on a screen that can go back, the leading edge goes back and doesn't
|
|
112
|
+
* open a menu. In `'entireScreen'` mode a horizontal scroll in the center goes first while it can still scroll in the
|
|
113
|
+
* direction of the move; a horizontal pan that isn't a native scroll view, such as a carousel of a gesture library,
|
|
114
|
+
* doesn't. A change applies at once. Android's edge is the one of the Material drawer, and it doesn't
|
|
115
|
+
* read this.
|
|
116
|
+
* @default 'bezel'
|
|
117
|
+
*/
|
|
118
|
+
openGestureMode?: SideMenuOpenGestureMode;
|
|
119
|
+
/**
|
|
120
|
+
* (iOS) How the menu moves in `'pushContent'` mode while the center goes aside. Without it, the menu stands still and
|
|
121
|
+
* the center moves. It does nothing in `'aboveContent'` mode. A change applies at once. Android doesn't read it.
|
|
122
|
+
*/
|
|
123
|
+
animationType?: SideMenuAnimationType;
|
|
124
|
+
/**
|
|
125
|
+
* The test identifier of the side menu's container (on iOS its view, on Android the drawer). The parts derive from
|
|
126
|
+
* it: `<testID>.center`, `<testID>.left`, `<testID>.right`, and on iOS `<testID>.scrim` for the dimming over the
|
|
127
|
+
* center that a tap on closes the menu. Android draws the dimming inside the drawer without a view of its own, and a
|
|
128
|
+
* tap on `<testID>.center` closes the menu in the same way. The button that opens the menu is an ordinary button of
|
|
129
|
+
* the top bar with a `testID` of its own.
|
|
130
|
+
*/
|
|
131
|
+
testID?: string;
|
|
132
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The width limits of a column of a split view, in points. Each is applied only when it is set; without it the
|
|
3
|
+
* system chooses the size. The columns this type describes (middle, inspector) exist on iOS only.
|
|
4
|
+
*/
|
|
5
|
+
export interface OptionsSplitViewColumn {
|
|
6
|
+
/** (iOS) The preferred width of the column. Without it, the width the system gives it. */
|
|
7
|
+
width?: number;
|
|
8
|
+
/** (iOS) The smallest width the column may take. Without it, the system's limit. */
|
|
9
|
+
minWidth?: number;
|
|
10
|
+
/** (iOS) The largest width the column may take. Without it, the system's limit. */
|
|
11
|
+
maxWidth?: number;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* (iOS, iPadOS 26) The inspector column at the trailing edge: its width limits, and whether it shows. It does
|
|
16
|
+
* nothing before iPadOS 26 or in a split view without an `inspector` column in its layout.
|
|
17
|
+
*/
|
|
18
|
+
export interface OptionsSplitViewInspector extends OptionsSplitViewColumn {
|
|
19
|
+
/**
|
|
20
|
+
* Whether the inspector shows. `true` shows the column and `false` hides it; without a value, nothing changes. It
|
|
21
|
+
* applies when the split view is created (without animation), after its first appearance (the system shows the
|
|
22
|
+
* inspector then by itself), and through `mergeOptions` (animated). Showing or hiding it reports a display mode
|
|
23
|
+
* change with the inspector's state.
|
|
24
|
+
*/
|
|
25
|
+
visible?: boolean;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Which columns of a split view show. The three-column values need a `supplementary` column in the layout. Android
|
|
30
|
+
* does not use it.
|
|
31
|
+
*/
|
|
32
|
+
export type SplitViewDisplayMode =
|
|
33
|
+
| 'automatic'
|
|
34
|
+
| 'secondaryOnly'
|
|
35
|
+
| 'oneBesideSecondary'
|
|
36
|
+
| 'oneOverSecondary'
|
|
37
|
+
| 'twoBesideSecondary'
|
|
38
|
+
| 'twoOverSecondary'
|
|
39
|
+
| 'twoDisplaceSecondary';
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* The columns of the split view the screen is in: which of them show, their widths, the button and the swipe that
|
|
43
|
+
* reveal a hidden column, and the column shown on top when the split view collapses. On iOS all of it applies. On
|
|
44
|
+
* Android only `width`, `presentsWithGesture`, `compactTopColumn` and `testID` apply, and through `mergeOptions` and
|
|
45
|
+
* the default options as well as the layout.
|
|
46
|
+
*/
|
|
47
|
+
export interface OptionsSplitView {
|
|
48
|
+
/**
|
|
49
|
+
* (iOS) Which columns show. `'automatic'` leaves the choice to the system. What the user picks (the button, a swipe)
|
|
50
|
+
* lasts until the next `mergeOptions`. It applies when the split view is created and through
|
|
51
|
+
* `mergeOptions`, not when its screens appear. Every change reports a display mode change event. The earlier names
|
|
52
|
+
* are read too: `'hidden'` is `'secondaryOnly'`, `'visible'` `'oneBesideSecondary'` (`'twoBesideSecondary'` with
|
|
53
|
+
* three columns), `'overlay'` `'oneOverSecondary'` (`'twoOverSecondary'` with three columns); `'auto'` and any
|
|
54
|
+
* other string are `'automatic'`.
|
|
55
|
+
* @default 'automatic'
|
|
56
|
+
*/
|
|
57
|
+
displayMode?: SplitViewDisplayMode;
|
|
58
|
+
/**
|
|
59
|
+
* (iOS) The side of the primary column: `'leading'` or `'trailing'`. Another value counts as `'leading'`. It applies
|
|
60
|
+
* when the split view is created, whenever a screen inside appears, and through `mergeOptions`.
|
|
61
|
+
* @default 'leading'
|
|
62
|
+
*/
|
|
63
|
+
primaryEdge?: 'leading' | 'trailing';
|
|
64
|
+
/**
|
|
65
|
+
* The preferred width of the primary column. On iOS in points, applied only when set; without it, the system's
|
|
66
|
+
* width. On Android in dp, 360 by default: the width of the primary pane, which together with the 360 dp of the
|
|
67
|
+
* secondary one sets the width at which the panes stand side by side. It applies when the split view is created and
|
|
68
|
+
* at once through `mergeOptions` or new default options.
|
|
69
|
+
*/
|
|
70
|
+
width?: number;
|
|
71
|
+
/** (iOS) The smallest width of the primary column, applied only when set. */
|
|
72
|
+
minWidth?: number;
|
|
73
|
+
/** (iOS) The largest width of the primary column, applied only when set. */
|
|
74
|
+
maxWidth?: number;
|
|
75
|
+
/**
|
|
76
|
+
* (iOS) The look behind the primary column: `'sidebar'` gives it the sidebar background (noticeable in a Mac
|
|
77
|
+
* Catalyst app) and `'none'` the plain one, also after `'sidebar'` was set.
|
|
78
|
+
* @default 'none'
|
|
79
|
+
*/
|
|
80
|
+
primaryBackgroundStyle?: 'sidebar' | 'none';
|
|
81
|
+
/**
|
|
82
|
+
* (iOS) The widths of the middle column. It does nothing when the layout has no `supplementary` column.
|
|
83
|
+
*/
|
|
84
|
+
supplementary?: OptionsSplitViewColumn;
|
|
85
|
+
/** (iOS, iPadOS 26) The inspector column at the trailing edge: its widths and whether it shows. */
|
|
86
|
+
inspector?: OptionsSplitViewInspector;
|
|
87
|
+
/**
|
|
88
|
+
* (iOS) How the columns share the width: `'tile'` puts them side by side, `'overlay'` lays the primary column over
|
|
89
|
+
* the secondary one, `'displace'` pushes the secondary column aside, and `'automatic'` leaves it to the system.
|
|
90
|
+
* @default 'automatic'
|
|
91
|
+
*/
|
|
92
|
+
splitBehavior?: 'automatic' | 'tile' | 'overlay' | 'displace';
|
|
93
|
+
/**
|
|
94
|
+
* (iOS) Whether the button that shows and hides the columns appears: `'always'`, `'never'`, or `'automatic'`, which
|
|
95
|
+
* hides it when `presentsWithGesture` is `false`.
|
|
96
|
+
* @default 'automatic'
|
|
97
|
+
*/
|
|
98
|
+
displayModeButton?: 'automatic' | 'never' | 'always';
|
|
99
|
+
/**
|
|
100
|
+
* Whether a swipe from the edge reveals a hidden column. On Android the swipe moves the secondary pane over the
|
|
101
|
+
* primary one and back, when they don't fit side by side; it applies when the split view is created and at once
|
|
102
|
+
* through `mergeOptions` or new default options.
|
|
103
|
+
* @default true
|
|
104
|
+
*/
|
|
105
|
+
presentsWithGesture?: boolean;
|
|
106
|
+
/**
|
|
107
|
+
* (iOS) Whether a three-column split view has a button that leaves only the secondary column.
|
|
108
|
+
* @default false
|
|
109
|
+
*/
|
|
110
|
+
showsSecondaryOnlyButton?: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* The column shown on top when the split view collapses (iPhone, a narrow window, a narrow Android screen) and the
|
|
113
|
+
* layout has no `compact` content: `'primary'` or `'secondary'`. Without it, the system chooses on iOS (read when it
|
|
114
|
+
* collapses, from the final options with the defaults) and `'primary'` is on top on Android. On Android `'secondary'`
|
|
115
|
+
* opens the secondary pane without animation on the first narrow layout, and a new value applies at the next
|
|
116
|
+
* collapse.
|
|
117
|
+
*/
|
|
118
|
+
compactTopColumn?: 'primary' | 'secondary';
|
|
119
|
+
/**
|
|
120
|
+
* An identifier for tests and accessibility tools. On Android the panes get `<testID>.primary` and
|
|
121
|
+
* `<testID>.secondary`. The back arrow of the first screen of a sliding pane takes the `topBar.backButton.testID` of
|
|
122
|
+
* that screen. Without it, the elements have no id. It changes with `mergeOptions`. On iOS the button that shows
|
|
123
|
+
* the columns gets no id: the system draws it in a column-style split view and gives no way to name it; find it by
|
|
124
|
+
* its accessibility label.
|
|
125
|
+
*/
|
|
126
|
+
testID?: string;
|
|
127
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import type { Color, ImageResource } from './common';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* (Android) What the system back button and the back gesture do on a screen. The options are read together with
|
|
5
|
+
* those of the screen's stack, tabs and the default options. iOS has no hardware back button.
|
|
6
|
+
*/
|
|
7
|
+
export interface HardwareBackButtonOptions {
|
|
8
|
+
/**
|
|
9
|
+
* What back does on the first screen of a tab, when the tab's stack has nothing to pop. `'exit'` leaves the choice
|
|
10
|
+
* to what comes next in line, usually leaving the app. `'first'` selects the first tab unless it is already
|
|
11
|
+
* selected, and then leaves. `'previous'` selects the tab that was selected before this one (the tabs keep the
|
|
12
|
+
* history of selections made by the user or by code; going back does not add to it), and leaves when the history is
|
|
13
|
+
* empty. Set it for tabs with the tabs builder's `backBehavior`. The value is read when back is pressed.
|
|
14
|
+
* @default 'exit'
|
|
15
|
+
*/
|
|
16
|
+
bottomTabsOnPress?: 'exit' | 'first' | 'previous';
|
|
17
|
+
/**
|
|
18
|
+
* Whether back pops the top screen of the stack. With `false` the press goes to the app as an event instead. Set by
|
|
19
|
+
* the screen hooks that hold back (`usePreventLeave`); apps don't set it.
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
popStackOnPress?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Whether back on the first screen of a modal dismisses the modal. With `false` the press goes to the app as an
|
|
25
|
+
* event instead. Set by the screen hooks that hold back (`usePreventLeave`); apps don't set it.
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
dismissModalOnPress?: boolean;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* (Android) A floating action button over the screen, or an entry of its menu. The button shows while its screen is
|
|
33
|
+
* on top of the stack; without the option there is none. `mergeOptions` and the default options of the app apply, and
|
|
34
|
+
* the colors of the theme are read again when the theme changes.
|
|
35
|
+
*/
|
|
36
|
+
export interface OptionsFab {
|
|
37
|
+
/**
|
|
38
|
+
* The identifier of the button. A press reports it, and the app finds the `onPress` of the button by it. A button
|
|
39
|
+
* without an `id` doesn't show. The same `id` on a later show or merge updates the button; another `id` replaces it.
|
|
40
|
+
* For an entry of `actions` it is the id of that entry's own press.
|
|
41
|
+
*/
|
|
42
|
+
id: string;
|
|
43
|
+
/**
|
|
44
|
+
* An identifier for tests and accessibility tools, set on the button (and on the main button of a menu). The
|
|
45
|
+
* scrim of a menu gets `<testID>.scrim`. Without it, the element has no id. It changes with `mergeOptions`.
|
|
46
|
+
*/
|
|
47
|
+
testID?: string;
|
|
48
|
+
/**
|
|
49
|
+
* The color of the button's container. Without it, the `primaryContainer` of the app's Material 3 theme (the
|
|
50
|
+
* neutral Material 3 theme of the library if the app theme is not Material 3). A `{ light, dark }` pair follows the
|
|
51
|
+
* theme. It does not tint the icon: without `iconColor` the icon keeps its own colors. A merge with only this key
|
|
52
|
+
* keeps the icon color.
|
|
53
|
+
*/
|
|
54
|
+
backgroundColor?: Color;
|
|
55
|
+
/**
|
|
56
|
+
* The color of the container while the button is pressed. Without it, the color doesn't change and only the ripple
|
|
57
|
+
* shows. It is independent of `backgroundColor`: setting one keeps the other.
|
|
58
|
+
*/
|
|
59
|
+
clickColor?: Color;
|
|
60
|
+
/** The color of the press ripple. Without it, the one from the theme's style. It stays on a light/dark switch. */
|
|
61
|
+
rippleColor?: Color;
|
|
62
|
+
/**
|
|
63
|
+
* Whether the button shows. `false` hides it with the Material animation, and closes the actions of a menu; `true`
|
|
64
|
+
* in a merge shows it again.
|
|
65
|
+
* @default true
|
|
66
|
+
*/
|
|
67
|
+
visible?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* The icon: the name of a drawable resource of the app (for example a Material Symbols icon) or an image source
|
|
70
|
+
* with a `uri`. It loads in the background and takes the color of `iconColor` if there is one. A menu without an icon
|
|
71
|
+
* shows a plus; with one, the menu's main button shows it.
|
|
72
|
+
*/
|
|
73
|
+
icon?: ImageResource;
|
|
74
|
+
/**
|
|
75
|
+
* The tint of the icon. Without it, the `onPrimaryContainer` of the theme. A merge may set it alone, without a new
|
|
76
|
+
* icon.
|
|
77
|
+
*/
|
|
78
|
+
iconColor?: Color;
|
|
79
|
+
/**
|
|
80
|
+
* The side of the row where the button stands. `'right'` is the end of the row (the left side in a right-to-left
|
|
81
|
+
* layout), `'left'` the start (the right side in a right-to-left layout). A merge applies it.
|
|
82
|
+
* @default 'right'
|
|
83
|
+
*/
|
|
84
|
+
alignHorizontally?: 'left' | 'right';
|
|
85
|
+
/**
|
|
86
|
+
* Whether the button hides after a drag that scrolls the content down and shows after a drag up. Only the vertical
|
|
87
|
+
* lists of the top screen count. A merge applies it; `false` stops listening.
|
|
88
|
+
* @default false
|
|
89
|
+
*/
|
|
90
|
+
hideOnScroll?: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* The size of the button: `'mini'` is 40 dp, `'regular'` is 56 dp. It also holds with a Material 3 theme.
|
|
93
|
+
* @default 'regular'
|
|
94
|
+
*/
|
|
95
|
+
size?: 'mini' | 'regular';
|
|
96
|
+
/**
|
|
97
|
+
* The entries of a menu: the button becomes a menu whose main button opens and closes the entries, each a small
|
|
98
|
+
* button above it. An entry takes `id`, `testID`, `icon`, `iconColor`, `backgroundColor`, `clickColor`,
|
|
99
|
+
* `rippleColor` and `size`; its other fields do nothing. Pressing an entry reports its `id` and closes the menu. A
|
|
100
|
+
* merge with a non-empty list replaces the entries; an empty list takes them away, and the button is a plain button
|
|
101
|
+
* again.
|
|
102
|
+
*/
|
|
103
|
+
actions?: OptionsFab[];
|
|
104
|
+
/**
|
|
105
|
+
* The color that dims the screen while the menu's entries are open, one with transparency such as
|
|
106
|
+
* `'rgba(0, 0, 0, 0.32)'`. A press on it closes the menu. Without it, nothing is dimmed. A merge applies it from the
|
|
107
|
+
* next opening.
|
|
108
|
+
*/
|
|
109
|
+
scrimColor?: Color;
|
|
110
|
+
}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import type { Color } from './common';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* An edge of the screen: `'top'`, `'right'`, `'bottom'` or `'left'`. The edges are physical: in a right-to-left
|
|
5
|
+
* layout `'left'` stays the left side. A value outside these four is ignored.
|
|
6
|
+
*/
|
|
7
|
+
export type SafeAreaEdge = 'top' | 'right' | 'bottom' | 'left';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* An orientation a screen allows. `'all'` and `'sensor'` allow all four sides; `'portrait'` the upright portrait;
|
|
11
|
+
* `'upsideDown'` the upside-down portrait; `'landscape'` and `'sensorLandscape'` both landscape sides;
|
|
12
|
+
* `'sensorPortrait'` both portrait sides; `'default'` the orientations the app declares (`Info.plist` on iOS, the
|
|
13
|
+
* manifest on Android). The screen allows the union of the sides of all its values. An unknown value is dropped.
|
|
14
|
+
*/
|
|
15
|
+
export type LayoutOrientation =
|
|
16
|
+
| 'all'
|
|
17
|
+
| 'default'
|
|
18
|
+
| 'portrait'
|
|
19
|
+
| 'landscape'
|
|
20
|
+
| 'upsideDown'
|
|
21
|
+
| 'sensor'
|
|
22
|
+
| 'sensorLandscape'
|
|
23
|
+
| 'sensorPortrait';
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* The place of a screen in the system: the edges where it keeps its content out of the bars, its background, the
|
|
27
|
+
* orientations it allows, and how it treats the home indicator, system gestures and the keyboard. The system follows
|
|
28
|
+
* the screen that shows on top, and moves to the options of the next one when another screen comes on top. Options
|
|
29
|
+
* given to a stack, tabs or a side menu apply to their screens.
|
|
30
|
+
*/
|
|
31
|
+
export interface OptionsLayout {
|
|
32
|
+
/**
|
|
33
|
+
* The edges on which the screen keeps its content out of what covers it: the bars, the status bar, the home
|
|
34
|
+
* indicator or navigation bar, the camera cutout. `[]` lets the content reach every edge. The array replaces the
|
|
35
|
+
* one from a lower layer. The screen adds the padding itself; `useSafeAreaInsets()` returns what is still covered,
|
|
36
|
+
* which is 0 on an edge the screen keeps and the whole covered size on an edge where the content goes under a bar.
|
|
37
|
+
* Edges listed here always win, also for a screen with a large title.
|
|
38
|
+
*
|
|
39
|
+
* Without it, on iOS: every edge except those where the content goes under a bar that shows (the top bar, a tab
|
|
40
|
+
* bar or toolbar at the bottom, the side of a vertical bar); a screen with a large title keeps the top free so its
|
|
41
|
+
* list can scroll under the bar. On Android: all four edges, except the top under a top bar that hides on scroll
|
|
42
|
+
* or under a large title, and the bottom under tabs that hide on scroll.
|
|
43
|
+
*/
|
|
44
|
+
safeAreaEdges?: SafeAreaEdge[];
|
|
45
|
+
/**
|
|
46
|
+
* The color of the screen, also under its React content. On iOS it is the background of the screen's view (the
|
|
47
|
+
* system background without it); stacks, tabs and side menus paint their view with the color of the screen that
|
|
48
|
+
* shows, seen behind transparent bars and around screens during transitions. On Android it fills the screen and
|
|
49
|
+
* its containers but leaves room at the top for the status bar while it shows. `null` makes the background
|
|
50
|
+
* transparent. Without it, Android shows the window's background (the app theme).
|
|
51
|
+
*/
|
|
52
|
+
backgroundColor?: Color;
|
|
53
|
+
/**
|
|
54
|
+
* The color under the React content only, drawn over `backgroundColor`, for content that should differ from the
|
|
55
|
+
* screen around it. Without it, `backgroundColor` shows under the content. `null` removes the color.
|
|
56
|
+
*/
|
|
57
|
+
componentBackgroundColor?: Color;
|
|
58
|
+
/**
|
|
59
|
+
* The orientations the screen allows. The screen on top decides. An empty array, or no value in any layer, leaves
|
|
60
|
+
* the orientations of the app. The array replaces the one from a lower layer. The change applies when the screen
|
|
61
|
+
* appears and at once through `mergeOptions`; the interface turns by itself if the current orientation is no longer
|
|
62
|
+
* allowed. On iOS 15 the interface only turns if the device is held in an allowed orientation. On iOS a modal decides
|
|
63
|
+
* only when it covers the whole screen (`fullScreen`, `overFullScreen`); under a sheet or a popover the screen below
|
|
64
|
+
* keeps deciding. On Android a sheet decides like any modal. An overlay decides only when its own options set it. The
|
|
65
|
+
* system does not apply the request on large screens: an iPad that runs in multitasking, and on Android 16 an app
|
|
66
|
+
* that targets API 36 on a screen at least 600 dp wide.
|
|
67
|
+
*/
|
|
68
|
+
orientation?: LayoutOrientation[];
|
|
69
|
+
/**
|
|
70
|
+
* (iOS 27.1+) Whether the bars and the status bar of the screen may stand in a vertical strip at the side, as on
|
|
71
|
+
* iPhone Duo. `false` keeps them horizontal; without it, the system decides. Set it once for a screen rather than
|
|
72
|
+
* switching it by state. With `false` the screen has no vertical strip, so `drawBehindVerticalBar` has no side to
|
|
73
|
+
* act on. It does nothing before iOS 27.1 or in an app built with an older SDK.
|
|
74
|
+
* @default true
|
|
75
|
+
*/
|
|
76
|
+
verticalBars?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* (iOS 27.1+) Whether the screen goes under the vertical bar of iPhone Duo, as it goes under a top bar: a list
|
|
79
|
+
* draws its blur up to the edge and keeps its rows clear of the bar itself with `useSafeAreaInsets()`. `false` keeps
|
|
80
|
+
* the content outside the bar like any other safe area edge. Explicit `safeAreaEdges` decide in its place. The side
|
|
81
|
+
* is the physical side where the bar stands. It updates with every layout and with `mergeOptions`.
|
|
82
|
+
* @default true
|
|
83
|
+
*/
|
|
84
|
+
drawBehindVerticalBar?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* (iOS) Whether the system hides the home indicator after the user has not touched the screen for a while and shows
|
|
87
|
+
* it again on touch, for video, games or photos. The value comes from the screen on top with its containers, read
|
|
88
|
+
* when the system asks, and `mergeOptions` applies it at once.
|
|
89
|
+
* @default false
|
|
90
|
+
*/
|
|
91
|
+
autoHideHomeIndicator?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* (iOS) The edges that give the app the first swipe the system would take (home from the bottom, the notification
|
|
94
|
+
* and control centers from the top). The system shows a hint, and a second swipe runs its gesture. The edges are
|
|
95
|
+
* physical and do not swap in a right-to-left layout. Without it, no edge is deferred. It applies after the screen
|
|
96
|
+
* appears and at once through `mergeOptions`.
|
|
97
|
+
*/
|
|
98
|
+
deferSystemGestures?: SafeAreaEdge[];
|
|
99
|
+
/**
|
|
100
|
+
* (Android) Whether the screen makes room for the keyboard. `true` ends the React content above the keyboard (the
|
|
101
|
+
* bottom inset is the larger of the keyboard and the navigation bar); `false` keeps the size of the screen and lets
|
|
102
|
+
* the keyboard cover its bottom, as on iOS, for a screen that handles the keyboard itself. It needs edge-to-edge:
|
|
103
|
+
* without it the system resizes the window by the manifest's `windowSoftInputMode`, and the option changes nothing.
|
|
104
|
+
* `mergeOptions` applies it at once, also with the keyboard open. On iOS the keyboard always covers the screen.
|
|
105
|
+
* @default true
|
|
106
|
+
*/
|
|
107
|
+
adjustResize?: boolean;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* The status bar while the screen shows. The screen on top decides, and each key merges on its own. An overlay
|
|
112
|
+
* changes the status bar only with values of its own. On iOS a modal takes the status bar only when it shows full
|
|
113
|
+
* screen; under a sheet, a popover or an `overFullScreen` modal the screen below keeps it. iOS needs
|
|
114
|
+
* `UIViewControllerBasedStatusBarAppearance` set to `true` in `Info.plist` (the CLI's `setup` does that), so the app
|
|
115
|
+
* cannot use React Native's own `StatusBar` and sets the status bar through screen options instead.
|
|
116
|
+
*/
|
|
117
|
+
export interface OptionsStatusBar {
|
|
118
|
+
/**
|
|
119
|
+
* Whether the status bar shows. It applies when the screen appears and at once through `mergeOptions`. On iOS an
|
|
120
|
+
* explicit value beats `hideWithTopBar`, the change has no animation, and on iPhone in landscape the system hides
|
|
121
|
+
* the bar by itself. On Android a hidden bar comes back for a moment on a swipe from the edge, a screen without a top
|
|
122
|
+
* bar starts at the top of the window, the top bar strip gets the height of the camera cutout, and the default color
|
|
123
|
+
* is transparent. A screen without the option shows the bar again on Android. A status bar hidden or recolored by
|
|
124
|
+
* app code (React Native's `StatusBar`) is not undone by the next screen on Android unless that screen's values
|
|
125
|
+
* differ from the ones the navigation applied last.
|
|
126
|
+
* @default true
|
|
127
|
+
*/
|
|
128
|
+
visible?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* The color of the text and icons: `'light'` for a dark background, `'dark'` for a light one. Without it, or with
|
|
131
|
+
* another value, the color follows the background and the interface style: dark content in the light style and
|
|
132
|
+
* light content in the dark style on iOS; on Android the contrast with what is under the bar (its own opaque color,
|
|
133
|
+
* the top bar that reaches under it, the window background). It applies when the screen appears, at once through
|
|
134
|
+
* `mergeOptions`, and on Android also when the theme or the orientation changes. On iOS a change of the style alone,
|
|
135
|
+
* through `mergeOptions` or as another screen comes on top, fades over 0.35 s unless `animate` is `false`; with a
|
|
136
|
+
* change of `visible` it changes at once; along a push, a pop, a tab switch or a modal it changes with the
|
|
137
|
+
* transition.
|
|
138
|
+
*/
|
|
139
|
+
style?: 'light' | 'dark';
|
|
140
|
+
/**
|
|
141
|
+
* (Android) The color of the status bar. Without it, the color the app theme gave the window when the activity was
|
|
142
|
+
* created (transparent with edge-to-edge; transparent while the bar is hidden); it doesn't follow a light/dark switch
|
|
143
|
+
* made without recreating the activity. A screen without a color after one with a color goes back to
|
|
144
|
+
* the theme's color. The color changes at once, without animation, also between screens and tabs. It lies over the
|
|
145
|
+
* screens, so an opaque color covers the strip of the top bar under the status bar and a transparent one shows it.
|
|
146
|
+
* `null` takes the theme's color. iOS draws the status bar transparent over the screen and does not read it.
|
|
147
|
+
*/
|
|
148
|
+
backgroundColor?: Color;
|
|
149
|
+
/**
|
|
150
|
+
* (Android) Whether the screen and its top bar reach under the status bar. Without it, a shown top bar reaches under
|
|
151
|
+
* the bar as one surface (its color, background component and shadow reach the top of the window, its row of title
|
|
152
|
+
* and buttons sits below the bar), and a screen without a top bar starts below the bar. `true` lets a screen without
|
|
153
|
+
* a top bar start at the top of the window, with its safe area keeping content below. `false` starts the top bar
|
|
154
|
+
* below the status bar, which keeps its own color. A sheet modal has no status bar above it, so this does not apply
|
|
155
|
+
* there. On iOS the screen is always under the status bar and the safe area keeps the content below.
|
|
156
|
+
*/
|
|
157
|
+
drawBehind?: boolean;
|
|
158
|
+
/**
|
|
159
|
+
* (Android) Whether a status bar color that is opaque is drawn at 65% opacity, so the screen shows through. A color
|
|
160
|
+
* that is already partly transparent stays as it is, and with edge-to-edge the default color is transparent, so
|
|
161
|
+
* there is nothing to change. It does not blur. It applies when the screen appears and through `mergeOptions`.
|
|
162
|
+
* @default false
|
|
163
|
+
*/
|
|
164
|
+
translucent?: boolean;
|
|
165
|
+
/**
|
|
166
|
+
* (iOS) Whether a change of `style` animates, over 0.35 s. `false` changes it at once. The visibility never
|
|
167
|
+
* animates.
|
|
168
|
+
* @default true
|
|
169
|
+
*/
|
|
170
|
+
animate?: boolean;
|
|
171
|
+
/**
|
|
172
|
+
* (iOS) Whether the status bar hides while the top bar of the screen's stack is hidden. An explicit `visible` wins.
|
|
173
|
+
* The value is read when the system asks about the status bar, and the system is asked again whenever the stack's
|
|
174
|
+
* top bar shows or hides, by an option or by scrolling, a tap or the keyboard (not for the bar of a tab opened from
|
|
175
|
+
* More).
|
|
176
|
+
* @default false
|
|
177
|
+
*/
|
|
178
|
+
hideWithTopBar?: boolean;
|
|
179
|
+
/**
|
|
180
|
+
* (iOS) Whether a blur shows under the status bar, drawn over the screen in the frame the status bar has when the
|
|
181
|
+
* option applies. It applies when the screen appears and through `mergeOptions`; `false` removes it. The blur does
|
|
182
|
+
* not follow a rotation or a change of window size.
|
|
183
|
+
* @default false
|
|
184
|
+
*/
|
|
185
|
+
blur?: boolean;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* (Android) The navigation bar of Android (three buttons or gestures) while the screen shows. The screen on top
|
|
190
|
+
* decides. A `mergeOptions` call without `navigationBar` leaves the bar as it is. iOS has no such bar; the home
|
|
191
|
+
* indicator is `layout.autoHideHomeIndicator`.
|
|
192
|
+
*/
|
|
193
|
+
export interface NavigationBarOptions {
|
|
194
|
+
/**
|
|
195
|
+
* The color of the navigation bar, one for each appearance when it is `{ light, dark }`. Without it, and with
|
|
196
|
+
* `null`, and when the screens go under the bar (see `drawBehind`): nothing over the gesture bar, and over the
|
|
197
|
+
* three buttons a translucent plate, white at 90% with dark buttons in the light theme and `#1B1B1B` at 50% with
|
|
198
|
+
* light buttons in the dark theme. When the screens stay above the bar (`drawBehind: false`, or without
|
|
199
|
+
* edge-to-edge): the bottom tabs' color while the screen is in bottom tabs, else the `android:navigationBarColor` of
|
|
200
|
+
* the app theme if the theme sets its own, otherwise black (black at 80% over three buttons). An opaque color gives
|
|
201
|
+
* a bar of that color with the screens above it. A color with transparency lets the screens go under the bar and
|
|
202
|
+
* draws the color over them. The buttons are dark on a light color and light on a dark one. It applies when the
|
|
203
|
+
* screen appears or comes back on top, at once through `mergeOptions` that contains `navigationBar`, on a theme or
|
|
204
|
+
* configuration change, and when the user switches between gestures and three buttons. On Android 7 (API 24–25) the
|
|
205
|
+
* buttons are always light, so a light color there gives light buttons on it.
|
|
206
|
+
*/
|
|
207
|
+
backgroundColor?: Color;
|
|
208
|
+
/**
|
|
209
|
+
* Whether the navigation bar shows. `false` hides it; it comes back for a moment on a swipe from the edge, and the
|
|
210
|
+
* screen gets the room of the bar (its inset is 0). It applies when the screen appears or comes back on top and, in
|
|
211
|
+
* `mergeOptions`, at once if the call sets it.
|
|
212
|
+
* @default true
|
|
213
|
+
*/
|
|
214
|
+
visible?: boolean;
|
|
215
|
+
/**
|
|
216
|
+
* Whether the screens go under a navigation bar that shows. Without it, they go under it when edge-to-edge is on
|
|
217
|
+
* and the bar has no opaque color of its own; the safe area then keeps the content above the bar (the bottom of
|
|
218
|
+
* `useSafeAreaInsets()`), the background of the tab row goes under the bar and the tabs themselves stay above it.
|
|
219
|
+
* Without edge-to-edge the window ends above the bar. `true` always goes under the bar (without edge-to-edge it
|
|
220
|
+
* changes nothing). `false` keeps the screens above the bar, which then has its own color. It applies when the
|
|
221
|
+
* screen appears and through `mergeOptions`, which asks for the window insets again.
|
|
222
|
+
*/
|
|
223
|
+
drawBehind?: boolean;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/** A key held with the key of a shortcut: `'command'`, `'shift'`, `'option'` (also `'alternate'`) or `'control'`. */
|
|
227
|
+
export type OptionsKeyCommandModifier = 'command' | 'shift' | 'option' | 'alternate' | 'control';
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* (iOS) A keyboard shortcut of a screen, for a hardware keyboard on iPad or iPhone. A press reports the `id` to the
|
|
231
|
+
* app as a key command event. The shortcuts belong to the screen while it shows, and work as long as no one else holds
|
|
232
|
+
* the keyboard and also while a text field of the screen has focus. The array of `keyCommands` replaces the one from a
|
|
233
|
+
* lower layer. The screen's own shortcuts count first and the shortcuts of its stack or tabs apply to its screens that
|
|
234
|
+
* have none; the default options of the app do not take part. The system lists the shortcuts that have a `title`
|
|
235
|
+
* when the user holds the Command key on iPad.
|
|
236
|
+
*/
|
|
237
|
+
export interface OptionsKeyCommand {
|
|
238
|
+
/** The identifier the key command event reports. An item without a string `id` is skipped. */
|
|
239
|
+
id: string;
|
|
240
|
+
/**
|
|
241
|
+
* The key: a character (`'n'`, `'['`) or a name: `'escape'`, `'enter'`, `'tab'`, `'delete'` (backspace), `'up'`,
|
|
242
|
+
* `'down'`, `'left'` or `'right'` (the arrow keys). An item without a string `input` is skipped.
|
|
243
|
+
*/
|
|
244
|
+
input: string;
|
|
245
|
+
/** The keys held together with `input`; unknown names are ignored. Without them, the key alone triggers it. */
|
|
246
|
+
modifiers?: OptionsKeyCommandModifier[];
|
|
247
|
+
/**
|
|
248
|
+
* The name in the list of shortcuts the system shows. Without it, the shortcut works but does not show in the
|
|
249
|
+
* list.
|
|
250
|
+
*/
|
|
251
|
+
title?: string;
|
|
252
|
+
}
|