@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.
Files changed (1373) hide show
  1. package/ApexNavigation.podspec +42 -0
  2. package/CHANGELOG.md +8 -0
  3. package/LICENSE +21 -0
  4. package/README.md +76 -2
  5. package/android/CLAUDE.md +183 -0
  6. package/android/CORE.md +219 -0
  7. package/android/MATERIAL_SYMBOLS_LICENSE.txt +205 -0
  8. package/android/RECIPES.md +39 -0
  9. package/android/build.gradle +108 -0
  10. package/android/consumer-rules.pro +2 -0
  11. package/android/src/main/AndroidManifest.xml +9 -0
  12. package/android/src/main/java/dev/apexnative/navigation/EdgeToEdgeDecision.kt +25 -0
  13. package/android/src/main/java/dev/apexnative/navigation/NavigationActivity.kt +339 -0
  14. package/android/src/main/java/dev/apexnative/navigation/NavigationApplication.kt +90 -0
  15. package/android/src/main/java/dev/apexnative/navigation/NavigationPackage.kt +37 -0
  16. package/android/src/main/java/dev/apexnative/navigation/customrow/BottomTabsCustomRowOptions.kt +85 -0
  17. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutChecks.kt +51 -0
  18. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutException.kt +7 -0
  19. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutNode.kt +118 -0
  20. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutReader.kt +274 -0
  21. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutType.kt +35 -0
  22. package/android/src/main/java/dev/apexnative/navigation/nativescreen/NativeScreenCalls.kt +61 -0
  23. package/android/src/main/java/dev/apexnative/navigation/nativescreen/NativeScreenContext.kt +84 -0
  24. package/android/src/main/java/dev/apexnative/navigation/nativescreen/NativeScreenCreator.kt +17 -0
  25. package/android/src/main/java/dev/apexnative/navigation/options/AnimationsOptions.kt +54 -0
  26. package/android/src/main/java/dev/apexnative/navigation/options/BottomTabOptions.kt +238 -0
  27. package/android/src/main/java/dev/apexnative/navigation/options/BottomTabsOptions.kt +244 -0
  28. package/android/src/main/java/dev/apexnative/navigation/options/ButtonMenuOptions.kt +70 -0
  29. package/android/src/main/java/dev/apexnative/navigation/options/ButtonOptions.kt +296 -0
  30. package/android/src/main/java/dev/apexnative/navigation/options/ComponentOptions.kt +141 -0
  31. package/android/src/main/java/dev/apexnative/navigation/options/DefaultOptions.kt +21 -0
  32. package/android/src/main/java/dev/apexnative/navigation/options/FabOptions.kt +97 -0
  33. package/android/src/main/java/dev/apexnative/navigation/options/FontOptions.kt +47 -0
  34. package/android/src/main/java/dev/apexnative/navigation/options/HardwareBackButtonOptions.kt +49 -0
  35. package/android/src/main/java/dev/apexnative/navigation/options/InterpolationOptions.kt +203 -0
  36. package/android/src/main/java/dev/apexnative/navigation/options/KeyCommandOptions.kt +49 -0
  37. package/android/src/main/java/dev/apexnative/navigation/options/LargeTitleOptions.kt +78 -0
  38. package/android/src/main/java/dev/apexnative/navigation/options/LayoutAnimation.kt +157 -0
  39. package/android/src/main/java/dev/apexnative/navigation/options/LayoutOptions.kt +94 -0
  40. package/android/src/main/java/dev/apexnative/navigation/options/ModalOptions.kt +87 -0
  41. package/android/src/main/java/dev/apexnative/navigation/options/ModalPlacementOptions.kt +90 -0
  42. package/android/src/main/java/dev/apexnative/navigation/options/NavigationBarOptions.kt +44 -0
  43. package/android/src/main/java/dev/apexnative/navigation/options/Options.kt +167 -0
  44. package/android/src/main/java/dev/apexnative/navigation/options/OptionsCache.kt +21 -0
  45. package/android/src/main/java/dev/apexnative/navigation/options/OptionsReader.kt +133 -0
  46. package/android/src/main/java/dev/apexnative/navigation/options/PreviewOptions.kt +97 -0
  47. package/android/src/main/java/dev/apexnative/navigation/options/ReadableMaps.kt +70 -0
  48. package/android/src/main/java/dev/apexnative/navigation/options/ScrollEdgeEffectOptions.kt +98 -0
  49. package/android/src/main/java/dev/apexnative/navigation/options/SearchBarOptions.kt +151 -0
  50. package/android/src/main/java/dev/apexnative/navigation/options/SharedElementTransitionOptions.kt +57 -0
  51. package/android/src/main/java/dev/apexnative/navigation/options/SheetOptions.kt +108 -0
  52. package/android/src/main/java/dev/apexnative/navigation/options/SideMenuOptions.kt +130 -0
  53. package/android/src/main/java/dev/apexnative/navigation/options/SplitViewGroupOptions.kt +190 -0
  54. package/android/src/main/java/dev/apexnative/navigation/options/SplitViewOptions.kt +28 -0
  55. package/android/src/main/java/dev/apexnative/navigation/options/StackAnimationOptions.kt +270 -0
  56. package/android/src/main/java/dev/apexnative/navigation/options/StatusBarOptions.kt +75 -0
  57. package/android/src/main/java/dev/apexnative/navigation/options/TitleOptions.kt +167 -0
  58. package/android/src/main/java/dev/apexnative/navigation/options/ToolbarOptions.kt +60 -0
  59. package/android/src/main/java/dev/apexnative/navigation/options/TopBarAppearanceOptions.kt +223 -0
  60. package/android/src/main/java/dev/apexnative/navigation/options/TopBarOptions.kt +381 -0
  61. package/android/src/main/java/dev/apexnative/navigation/options/ViewAnimationOptions.kt +225 -0
  62. package/android/src/main/java/dev/apexnative/navigation/options/WindowOptions.kt +36 -0
  63. package/android/src/main/java/dev/apexnative/navigation/options/params/Bool.kt +23 -0
  64. package/android/src/main/java/dev/apexnative/navigation/options/params/Fraction.kt +12 -0
  65. package/android/src/main/java/dev/apexnative/navigation/options/params/LayoutDirection.kt +26 -0
  66. package/android/src/main/java/dev/apexnative/navigation/options/params/Param.kt +24 -0
  67. package/android/src/main/java/dev/apexnative/navigation/options/params/Text.kt +24 -0
  68. package/android/src/main/java/dev/apexnative/navigation/options/params/ThemeColour.kt +259 -0
  69. package/android/src/main/java/dev/apexnative/navigation/options/params/Variant.kt +36 -0
  70. package/android/src/main/java/dev/apexnative/navigation/options/parsers/BoolParser.kt +15 -0
  71. package/android/src/main/java/dev/apexnative/navigation/options/parsers/FontParser.kt +28 -0
  72. package/android/src/main/java/dev/apexnative/navigation/options/parsers/FractionParser.kt +24 -0
  73. package/android/src/main/java/dev/apexnative/navigation/options/parsers/IconParser.kt +48 -0
  74. package/android/src/main/java/dev/apexnative/navigation/options/parsers/StringListParser.kt +27 -0
  75. package/android/src/main/java/dev/apexnative/navigation/options/parsers/TextParser.kt +32 -0
  76. package/android/src/main/java/dev/apexnative/navigation/options/parsers/TypefaceLoader.kt +42 -0
  77. package/android/src/main/java/dev/apexnative/navigation/options/parsers/VariantParser.kt +34 -0
  78. package/android/src/main/java/dev/apexnative/navigation/react/ArrangementStates.kt +41 -0
  79. package/android/src/main/java/dev/apexnative/navigation/react/CommandAnswer.kt +111 -0
  80. package/android/src/main/java/dev/apexnative/navigation/react/CommandListener.kt +27 -0
  81. package/android/src/main/java/dev/apexnative/navigation/react/CommandRunner.kt +131 -0
  82. package/android/src/main/java/dev/apexnative/navigation/react/DeveloperReload.kt +69 -0
  83. package/android/src/main/java/dev/apexnative/navigation/react/ErrorTexts.kt +123 -0
  84. package/android/src/main/java/dev/apexnative/navigation/react/Hinge.kt +154 -0
  85. package/android/src/main/java/dev/apexnative/navigation/react/LaunchLink.kt +37 -0
  86. package/android/src/main/java/dev/apexnative/navigation/react/NavigationTurboModule.kt +311 -0
  87. package/android/src/main/java/dev/apexnative/navigation/react/OptionsCommands.kt +89 -0
  88. package/android/src/main/java/dev/apexnative/navigation/react/ReactGateway.kt +67 -0
  89. package/android/src/main/java/dev/apexnative/navigation/react/ReactView.kt +197 -0
  90. package/android/src/main/java/dev/apexnative/navigation/react/ReadableJson.kt +60 -0
  91. package/android/src/main/java/dev/apexnative/navigation/react/ReloadCoordinator.kt +130 -0
  92. package/android/src/main/java/dev/apexnative/navigation/react/ScreenInsets.kt +69 -0
  93. package/android/src/main/java/dev/apexnative/navigation/react/ScreenRegions.kt +87 -0
  94. package/android/src/main/java/dev/apexnative/navigation/react/ScrollEvents.kt +160 -0
  95. package/android/src/main/java/dev/apexnative/navigation/react/StartInfo.kt +44 -0
  96. package/android/src/main/java/dev/apexnative/navigation/react/events/AppearanceDispatcher.kt +507 -0
  97. package/android/src/main/java/dev/apexnative/navigation/react/events/ComponentType.kt +13 -0
  98. package/android/src/main/java/dev/apexnative/navigation/react/events/EventEmitter.kt +199 -0
  99. package/android/src/main/java/dev/apexnative/navigation/react/events/NavigationStateReporter.kt +62 -0
  100. package/android/src/main/java/dev/apexnative/navigation/react/events/ScreenAppearance.kt +87 -0
  101. package/android/src/main/java/dev/apexnative/navigation/react/events/StateHold.kt +62 -0
  102. package/android/src/main/java/dev/apexnative/navigation/safearea/SafeAreaReadyEvent.kt +16 -0
  103. package/android/src/main/java/dev/apexnative/navigation/safearea/SafeAreaView.kt +140 -0
  104. package/android/src/main/java/dev/apexnative/navigation/safearea/SafeAreaViewManager.kt +45 -0
  105. package/android/src/main/java/dev/apexnative/navigation/slots/SlotContainers.kt +44 -0
  106. package/android/src/main/java/dev/apexnative/navigation/slots/SlotHost.kt +91 -0
  107. package/android/src/main/java/dev/apexnative/navigation/slots/SlotScreenView.kt +158 -0
  108. package/android/src/main/java/dev/apexnative/navigation/slots/SlotView.kt +141 -0
  109. package/android/src/main/java/dev/apexnative/navigation/slots/SlotViewManager.kt +50 -0
  110. package/android/src/main/java/dev/apexnative/navigation/splash/SplashHold.kt +67 -0
  111. package/android/src/main/java/dev/apexnative/navigation/splash/SplashTheme.kt +81 -0
  112. package/android/src/main/java/dev/apexnative/navigation/splash/SplashView.kt +77 -0
  113. package/android/src/main/java/dev/apexnative/navigation/system/AppDirection.kt +92 -0
  114. package/android/src/main/java/dev/apexnative/navigation/system/SystemUiLayers.kt +126 -0
  115. package/android/src/main/java/dev/apexnative/navigation/system/SystemUiOwner.kt +229 -0
  116. package/android/src/main/java/dev/apexnative/navigation/system/SystemUiRules.kt +302 -0
  117. package/android/src/main/java/dev/apexnative/navigation/system/SystemUiState.kt +58 -0
  118. package/android/src/main/java/dev/apexnative/navigation/system/SystemUiWindow.kt +405 -0
  119. package/android/src/main/java/dev/apexnative/navigation/utils/ColorUtils.kt +22 -0
  120. package/android/src/main/java/dev/apexnative/navigation/utils/DevelopmentLog.kt +45 -0
  121. package/android/src/main/java/dev/apexnative/navigation/utils/DimensionExtensions.kt +16 -0
  122. package/android/src/main/java/dev/apexnative/navigation/utils/ImageLoader.kt +112 -0
  123. package/android/src/main/java/dev/apexnative/navigation/utils/MaterialTheme.kt +148 -0
  124. package/android/src/main/java/dev/apexnative/navigation/utils/NavigationLog.kt +6 -0
  125. package/android/src/main/java/dev/apexnative/navigation/utils/ScrollToTop.kt +33 -0
  126. package/android/src/main/java/dev/apexnative/navigation/utils/SystemUiUtils.kt +41 -0
  127. package/android/src/main/java/dev/apexnative/navigation/utils/TestIds.kt +89 -0
  128. package/android/src/main/java/dev/apexnative/navigation/utils/TextViewUtils.kt +10 -0
  129. package/android/src/main/java/dev/apexnative/navigation/utils/UiThread.kt +31 -0
  130. package/android/src/main/java/dev/apexnative/navigation/utils/UiUtils.kt +43 -0
  131. package/android/src/main/java/dev/apexnative/navigation/utils/ViewController.kt +124 -0
  132. package/android/src/main/java/dev/apexnative/navigation/utils/ViewExtensions.kt +41 -0
  133. package/android/src/main/java/dev/apexnative/navigation/utils/ViewUtils.kt +15 -0
  134. package/android/src/main/java/dev/apexnative/navigation/utils/WindowFolds.kt +107 -0
  135. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementController.kt +258 -0
  136. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementDefinition.kt +57 -0
  137. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementLayout.kt +225 -0
  138. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementPlanner.kt +120 -0
  139. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/SecondaryScreenPresenter.kt +31 -0
  140. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsCollapseBehavior.kt +54 -0
  141. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsController.kt +664 -0
  142. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsPresenter.kt +367 -0
  143. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/CustomTabRowGeometry.kt +81 -0
  144. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/CustomTabRowPlacer.kt +223 -0
  145. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabBarLook.kt +74 -0
  146. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabBarMotion.kt +83 -0
  147. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabCellState.kt +27 -0
  148. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabHistory.kt +38 -0
  149. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabItems.kt +172 -0
  150. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabSelection.kt +65 -0
  151. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabsAttach.kt +42 -0
  152. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabsRoom.kt +72 -0
  153. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/child/ChildController.kt +45 -0
  154. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/child/ChildControllersRegistry.kt +29 -0
  155. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ComponentPresenter.kt +90 -0
  156. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ComponentViewController.kt +254 -0
  157. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ContentReadiness.kt +65 -0
  158. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/RenderWait.kt +231 -0
  159. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/RestPlace.kt +28 -0
  160. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenContentFactory.kt +28 -0
  161. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenFocus.kt +22 -0
  162. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenFrame.kt +154 -0
  163. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenReadiness.kt +104 -0
  164. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenSafeArea.kt +148 -0
  165. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/externalcomponent/ExternalComponentCreator.kt +18 -0
  166. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/externalcomponent/ExternalComponentViewController.kt +187 -0
  167. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/externalcomponent/NativeScreens.kt +25 -0
  168. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalAnimations.kt +40 -0
  169. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalContainer.kt +20 -0
  170. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalCoordinator.kt +1269 -0
  171. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalRecord.kt +186 -0
  172. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalSheet.kt +342 -0
  173. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalViews.kt +398 -0
  174. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/SheetContainer.kt +67 -0
  175. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/BackCallbackState.kt +78 -0
  176. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/FirstRootDraw.kt +58 -0
  177. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/LayoutFactory.kt +203 -0
  178. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/Navigator.kt +562 -0
  179. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/Navigators.kt +53 -0
  180. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/RootCoordinator.kt +514 -0
  181. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/WaitingLayer.kt +18 -0
  182. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/overlay/OverlayContainer.kt +33 -0
  183. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/overlay/OverlayCoordinator.kt +383 -0
  184. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/overlay/OverlayTouches.kt +44 -0
  185. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/overlay/OverlayViews.kt +117 -0
  186. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/Capabilities.kt +62 -0
  187. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/ContainerBackground.kt +43 -0
  188. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/ParentController.kt +218 -0
  189. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/ShownChildren.kt +82 -0
  190. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuController.kt +283 -0
  191. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuMotion.kt +276 -0
  192. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuPresenter.kt +92 -0
  193. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuRules.kt +107 -0
  194. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitPanes.kt +59 -0
  195. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitViewController.kt +509 -0
  196. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitViewLayout.kt +61 -0
  197. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitViewPresenter.kt +25 -0
  198. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/PreparedFrame.kt +19 -0
  199. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/PreparedPushes.kt +114 -0
  200. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackCommands.kt +387 -0
  201. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackController.kt +635 -0
  202. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackDisplay.kt +167 -0
  203. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackPresenter.kt +24 -0
  204. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackQueue.kt +1274 -0
  205. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackTransitions.kt +82 -0
  206. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackViews.kt +222 -0
  207. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/fab/FabPlacement.kt +47 -0
  208. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/fab/FabPlan.kt +44 -0
  209. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/fab/FabPresenter.kt +279 -0
  210. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/search/ScreenSearch.kt +450 -0
  211. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/search/SearchPanel.kt +176 -0
  212. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/search/StackSearchPresenter.kt +243 -0
  213. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/BarComponents.kt +211 -0
  214. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/BarRowTransition.kt +122 -0
  215. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/ButtonCells.kt +30 -0
  216. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/ButtonPlaces.kt +65 -0
  217. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/LargeTitleCollapse.kt +71 -0
  218. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/MenuChecks.kt +72 -0
  219. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarCollapseBehavior.kt +104 -0
  220. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarPresenter.kt +1085 -0
  221. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarRoom.kt +95 -0
  222. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarVisibility.kt +122 -0
  223. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/IReactView.kt +89 -0
  224. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/Presenter.kt +51 -0
  225. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/ScrollEventListener.kt +194 -0
  226. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/ViewController.kt +320 -0
  227. package/android/src/main/java/dev/apexnative/navigation/views/animations/AnimationRules.kt +141 -0
  228. package/android/src/main/java/dev/apexnative/navigation/views/animations/Curves.kt +193 -0
  229. package/android/src/main/java/dev/apexnative/navigation/views/animations/FadeThrough.kt +57 -0
  230. package/android/src/main/java/dev/apexnative/navigation/views/animations/SideAnimator.kt +143 -0
  231. package/android/src/main/java/dev/apexnative/navigation/views/animations/SystemTransition.kt +26 -0
  232. package/android/src/main/java/dev/apexnative/navigation/views/animations/ValueInterpolation.kt +93 -0
  233. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabItem.kt +13 -0
  234. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabs.kt +550 -0
  235. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabsContainer.kt +135 -0
  236. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabsLayout.kt +89 -0
  237. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/CustomBottomTabItemView.kt +91 -0
  238. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/CustomTabRow.kt +165 -0
  239. package/android/src/main/java/dev/apexnative/navigation/views/component/ComponentLayout.kt +89 -0
  240. package/android/src/main/java/dev/apexnative/navigation/views/component/Renderable.kt +6 -0
  241. package/android/src/main/java/dev/apexnative/navigation/views/element/DrawOrder.kt +44 -0
  242. package/android/src/main/java/dev/apexnative/navigation/views/element/ElementStub.kt +31 -0
  243. package/android/src/main/java/dev/apexnative/navigation/views/element/ElementTransitions.kt +281 -0
  244. package/android/src/main/java/dev/apexnative/navigation/views/element/ImageLoads.kt +103 -0
  245. package/android/src/main/java/dev/apexnative/navigation/views/element/TargetsWait.kt +112 -0
  246. package/android/src/main/java/dev/apexnative/navigation/views/element/TransitionLayer.kt +152 -0
  247. package/android/src/main/java/dev/apexnative/navigation/views/element/TransitionTargets.kt +53 -0
  248. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ElementPictures.kt +46 -0
  249. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/FlightGeometry.kt +53 -0
  250. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ImageMatrixAnimator.kt +138 -0
  251. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/PlainViewAnimator.kt +88 -0
  252. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/PropertyAnimatorCreator.kt +33 -0
  253. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ReactImageAnimator.kt +66 -0
  254. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/SharedAnimatorFactory.kt +70 -0
  255. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/TextChangeAnimator.kt +179 -0
  256. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ViewChangeAnimator.kt +139 -0
  257. package/android/src/main/java/dev/apexnative/navigation/views/externalcomponent/ExternalComponentLayout.kt +44 -0
  258. package/android/src/main/java/dev/apexnative/navigation/views/sidemenu/SideMenuView.kt +183 -0
  259. package/android/src/main/java/dev/apexnative/navigation/views/stack/StackLayout.kt +137 -0
  260. package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/Fab.kt +125 -0
  261. package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/FabAnimator.kt +8 -0
  262. package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/FabCollapseBehaviour.kt +34 -0
  263. package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/FabMenu.kt +133 -0
  264. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/LargeTitleView.kt +45 -0
  265. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/TitleBar.kt +211 -0
  266. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/TopBar.kt +407 -0
  267. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/TopBarDefaults.kt +35 -0
  268. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/search/ScopeRow.kt +82 -0
  269. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/search/SearchField.kt +130 -0
  270. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/search/SearchStyle.kt +29 -0
  271. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/search/SuggestionList.kt +77 -0
  272. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/BarButtonComponentCell.kt +80 -0
  273. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/ButtonBar.kt +334 -0
  274. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/ButtonMenus.kt +106 -0
  275. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/IconBackgroundDrawable.kt +93 -0
  276. package/android/src/main/jni/ApexNavigationSpec.h +18 -0
  277. package/android/src/main/jni/CMakeLists.txt +33 -0
  278. package/android/src/main/res/color/apex_navigation_highlight_inverse.xml +5 -0
  279. package/android/src/main/res/color/apex_navigation_text_primary.xml +6 -0
  280. package/android/src/main/res/color/apex_navigation_text_primary_inverse.xml +6 -0
  281. package/android/src/main/res/color/apex_navigation_text_secondary.xml +6 -0
  282. package/android/src/main/res/color/apex_navigation_text_secondary_inverse.xml +6 -0
  283. package/android/src/main/res/drawable/apex_navigation_ic_arrow_back.xml +13 -0
  284. package/android/src/main/res/drawable/apex_navigation_ic_close.xml +12 -0
  285. package/android/src/main/res/drawable/ic_fab_add_24dp.xml +12 -0
  286. package/android/src/main/res/values/attrs.xml +13 -0
  287. package/android/src/main/res/values/dimens.xml +5 -0
  288. package/android/src/main/res/values/dimens_splash.xml +9 -0
  289. package/android/src/main/res/values/ids.xml +12 -0
  290. package/android/src/main/res/values/styles.xml +18 -0
  291. package/android/src/main/res/values/themes.xml +75 -0
  292. package/android/src/main/res/values-night/styles.xml +6 -0
  293. package/android/src/main/res/values-night/themes.xml +67 -0
  294. package/cli/app.js +113 -0
  295. package/cli/changes.js +235 -0
  296. package/cli/codegen/commands.js +356 -0
  297. package/cli/codegen/index.js +211 -0
  298. package/cli/codegen/kotlin.js +396 -0
  299. package/cli/codegen/names.js +99 -0
  300. package/cli/codegen/read.js +602 -0
  301. package/cli/codegen/swift.js +342 -0
  302. package/cli/config.js +78 -0
  303. package/cli/diff.js +139 -0
  304. package/cli/doctor/checks/android.js +217 -0
  305. package/cli/doctor/checks/app.js +305 -0
  306. package/cli/doctor/checks/conflicts.js +42 -0
  307. package/cli/doctor/checks/devices.js +98 -0
  308. package/cli/doctor/checks/icons.js +69 -0
  309. package/cli/doctor/checks/ios.js +187 -0
  310. package/cli/doctor/checks/navigation.js +285 -0
  311. package/cli/doctor/checks/splash.js +102 -0
  312. package/cli/doctor/fix.js +66 -0
  313. package/cli/doctor/index.js +136 -0
  314. package/cli/doctor/types.js +30 -0
  315. package/cli/exec.js +34 -0
  316. package/cli/gradle.js +142 -0
  317. package/cli/icons/android.js +173 -0
  318. package/cli/icons/images.js +202 -0
  319. package/cli/icons/index.js +97 -0
  320. package/cli/icons/ios.js +113 -0
  321. package/cli/icons/settings.js +116 -0
  322. package/cli/images.js +67 -0
  323. package/cli/index.js +307 -0
  324. package/cli/info/index.js +290 -0
  325. package/cli/init/index.js +426 -0
  326. package/cli/init/packageManager.js +48 -0
  327. package/cli/init/starter.js +440 -0
  328. package/cli/links/files.js +109 -0
  329. package/cli/links/identity.js +75 -0
  330. package/cli/links/index.js +532 -0
  331. package/cli/links/native.js +396 -0
  332. package/cli/links/open.js +120 -0
  333. package/cli/links/prefixes.js +89 -0
  334. package/cli/mcp/appMap.js +128 -0
  335. package/cli/mcp/docs.js +175 -0
  336. package/cli/mcp/index.js +153 -0
  337. package/cli/mcp/markdown.js +210 -0
  338. package/cli/mcp/protocol.js +151 -0
  339. package/cli/mcp/tools.js +389 -0
  340. package/cli/migrate/entry.js +451 -0
  341. package/cli/migrate/index.js +305 -0
  342. package/cli/migrate/native.js +250 -0
  343. package/cli/migrate/report.js +238 -0
  344. package/cli/pods.js +56 -0
  345. package/cli/project.js +189 -0
  346. package/cli/screen/index.js +383 -0
  347. package/cli/screen/templates/compose.js +46 -0
  348. package/cli/screen/templates/native.js +40 -0
  349. package/cli/screen/templates/react.js +47 -0
  350. package/cli/screen/templates/swiftui.js +30 -0
  351. package/cli/screen/templates/uikit.js +48 -0
  352. package/cli/screen/templates/views.js +46 -0
  353. package/cli/setup/index.js +240 -0
  354. package/cli/setup/source.js +58 -0
  355. package/cli/setup/steps/app.js +76 -0
  356. package/cli/setup/steps/appDelegate.js +98 -0
  357. package/cli/setup/steps/entry.js +68 -0
  358. package/cli/setup/steps/env.js +245 -0
  359. package/cli/setup/steps/infoPlist.js +39 -0
  360. package/cli/setup/steps/mainActivity.js +60 -0
  361. package/cli/setup/steps/mainApplication.js +58 -0
  362. package/cli/setup/steps/manifest.js +38 -0
  363. package/cli/setup/steps/styles.js +29 -0
  364. package/cli/setup/steps/types.js +14 -0
  365. package/cli/splash/android.js +239 -0
  366. package/cli/splash/files.js +50 -0
  367. package/cli/splash/images.js +117 -0
  368. package/cli/splash/index.js +109 -0
  369. package/cli/splash/ios.js +349 -0
  370. package/cli/splash/settings.js +143 -0
  371. package/cli/typescript.js +473 -0
  372. package/cli/ui.js +268 -0
  373. package/cli/upgrade/changelog.js +45 -0
  374. package/cli/upgrade/index.js +347 -0
  375. package/cli/upgrade/versions.js +105 -0
  376. package/cli/workspace.js +60 -0
  377. package/cli/xcode/pbxproj.js +327 -0
  378. package/docs-md/architecture/errors-and-loading.md +138 -0
  379. package/docs-md/architecture/native-screens.md +290 -0
  380. package/docs-md/architecture/one-tree.md +164 -0
  381. package/docs-md/architecture/theme-and-context.md +368 -0
  382. package/docs-md/architecture/transitions.md +191 -0
  383. package/docs-md/containers/arrangement.md +320 -0
  384. package/docs-md/containers/modals.md +195 -0
  385. package/docs-md/containers/overlays.md +109 -0
  386. package/docs-md/containers/side-menu.md +138 -0
  387. package/docs-md/containers/split-view.md +155 -0
  388. package/docs-md/containers/stack.md +156 -0
  389. package/docs-md/containers/tabs.md +187 -0
  390. package/docs-md/flows/a-search-screen.md +311 -0
  391. package/docs-md/flows/an-app-with-tabs.md +380 -0
  392. package/docs-md/flows/bottom-sheets.md +326 -0
  393. package/docs-md/flows/forms-in-a-modal.md +420 -0
  394. package/docs-md/flows/list-and-details.md +428 -0
  395. package/docs-md/flows/onboarding.md +454 -0
  396. package/docs-md/flows/sign-in-and-sign-out.md +693 -0
  397. package/docs-md/fundamentals/lifecycle-and-events.md +224 -0
  398. package/docs-md/fundamentals/moving-between-screens.md +267 -0
  399. package/docs-md/fundamentals/screen-options.md +197 -0
  400. package/docs-md/fundamentals/screens-and-props.md +314 -0
  401. package/docs-md/fundamentals/starting-the-app.md +317 -0
  402. package/docs-md/fundamentals/switching-roots.md +166 -0
  403. package/docs-md/guides/analytics.md +377 -0
  404. package/docs-md/guides/app-context.md +554 -0
  405. package/docs-md/guides/building-a-screen.md +350 -0
  406. package/docs-md/guides/cli.md +421 -0
  407. package/docs-md/guides/data-fetching.md +492 -0
  408. package/docs-md/guides/deep-links.md +694 -0
  409. package/docs-md/guides/error-reporting.md +290 -0
  410. package/docs-md/guides/gestures-and-animations.md +381 -0
  411. package/docs-md/guides/notifications.md +548 -0
  412. package/docs-md/guides/overview.md +65 -0
  413. package/docs-md/guides/right-to-left.md +273 -0
  414. package/docs-md/guides/splash-screen.md +30 -0
  415. package/docs-md/guides/state-management.md +1050 -0
  416. package/docs-md/guides/testing.md +293 -0
  417. package/docs-md/help/glossary.md +433 -0
  418. package/docs-md/help/troubleshooting.md +709 -0
  419. package/docs-md/index.json +4205 -0
  420. package/docs-md/migration/from-expo-router.md +446 -0
  421. package/docs-md/migration/from-react-native-navigation.md +789 -0
  422. package/docs-md/migration/from-react-navigation.md +628 -0
  423. package/docs-md/screen-ui/back-and-gestures.md +178 -0
  424. package/docs-md/screen-ui/bar-buttons.md +312 -0
  425. package/docs-md/screen-ui/search.md +181 -0
  426. package/docs-md/screen-ui/system-ui.md +337 -0
  427. package/docs-md/screen-ui/toolbar-and-fab.md +146 -0
  428. package/docs-md/screen-ui/top-bar.md +247 -0
  429. package/docs-md/start/installation.md +233 -0
  430. package/docs-md/start/introduction.md +46 -0
  431. package/docs-md/start/quick-start.md +124 -0
  432. package/ios/Animations/ANNAnimationRules.h +72 -0
  433. package/ios/Animations/ANNAnimationRules.mm +122 -0
  434. package/ios/Animations/ANNFrameDriver.h +46 -0
  435. package/ios/Animations/ANNFrameDriver.mm +126 -0
  436. package/ios/Animations/ANNTransitionAnimator.h +34 -0
  437. package/ios/Animations/ANNTransitionAnimator.mm +293 -0
  438. package/ios/Animations/ANNTransitionPlan.h +115 -0
  439. package/ios/Animations/ANNTransitionPlan.mm +130 -0
  440. package/ios/Animations/ANNTransitionWait.h +29 -0
  441. package/ios/Animations/ANNTransitionWait.mm +135 -0
  442. package/ios/Animations/Elements/ANNElementFinder.h +26 -0
  443. package/ios/Animations/Elements/ANNElementFinder.mm +37 -0
  444. package/ios/Animations/Elements/ANNElementTransition.h +30 -0
  445. package/ios/Animations/Elements/ANNElementTransition.mm +75 -0
  446. package/ios/Animations/Elements/ANNSharedElementFlight.h +42 -0
  447. package/ios/Animations/Elements/ANNSharedElementFlight.mm +340 -0
  448. package/ios/Animations/Elements/ANNZoomAnchor.h +33 -0
  449. package/ios/Animations/Elements/ANNZoomAnchor.mm +133 -0
  450. package/ios/Animations/Interpolators/ANNCurve.h +61 -0
  451. package/ios/Animations/Interpolators/ANNCurve.mm +301 -0
  452. package/ios/Animations/Interpolators/ANNInterpolate.h +69 -0
  453. package/ios/Animations/Interpolators/ANNTrack.h +52 -0
  454. package/ios/Animations/Interpolators/ANNTrack.mm +77 -0
  455. package/ios/Animations/Interpolators/ANNViewTracks.h +57 -0
  456. package/ios/Animations/Interpolators/ANNViewTracks.mm +261 -0
  457. package/ios/ApexNavigation-prefix.h +6 -0
  458. package/ios/CLAUDE.md +151 -0
  459. package/ios/CORE.md +177 -0
  460. package/ios/Contract/ANNCommandAnswer.h +38 -0
  461. package/ios/Contract/ANNCommandAnswer.mm +99 -0
  462. package/ios/Contract/ANNCommandRunner.h +42 -0
  463. package/ios/Contract/ANNCommandRunner.mm +89 -0
  464. package/ios/Contract/ANNErrorTexts.h +86 -0
  465. package/ios/Contract/ANNErrorTexts.mm +230 -0
  466. package/ios/Contract/ANNLayoutNode.h +64 -0
  467. package/ios/Contract/ANNLayoutNode.mm +153 -0
  468. package/ios/Contract/ANNLayoutReader.h +34 -0
  469. package/ios/Contract/ANNLayoutReader.mm +282 -0
  470. package/ios/Contract/ANNLayoutRoot.h +26 -0
  471. package/ios/Contract/ANNLayoutRoot.mm +21 -0
  472. package/ios/Contract/ANNLayoutTreeOptions.h +22 -0
  473. package/ios/Contract/ANNLayoutTreeOptions.mm +32 -0
  474. package/ios/Contract/ANNLayoutType.h +44 -0
  475. package/ios/Contract/ANNLayoutValidator.h +23 -0
  476. package/ios/Contract/ANNLayoutValidator.mm +28 -0
  477. package/ios/Core/ANNAppDelegate.mm +122 -0
  478. package/ios/Core/ANNAppDirection.h +43 -0
  479. package/ios/Core/ANNAppDirection.mm +194 -0
  480. package/ios/Core/ANNAppearanceDispatcher.h +117 -0
  481. package/ios/Core/ANNAppearanceDispatcher.mm +433 -0
  482. package/ios/Core/ANNAssert.h +7 -0
  483. package/ios/Core/ANNDeepLinkQueue.h +35 -0
  484. package/ios/Core/ANNDeepLinkQueue.mm +136 -0
  485. package/ios/Core/ANNErrorHandler.h +17 -0
  486. package/ios/Core/ANNErrorHandler.mm +14 -0
  487. package/ios/Core/ANNEventEmitter.h +174 -0
  488. package/ios/Core/ANNEventEmitter.mm +337 -0
  489. package/ios/Core/ANNHinge.h +26 -0
  490. package/ios/Core/ANNHinge.mm +116 -0
  491. package/ios/Core/ANNKeyCommands.h +12 -0
  492. package/ios/Core/ANNKeyCommands.mm +74 -0
  493. package/ios/Core/ANNLayoutInfo.h +18 -0
  494. package/ios/Core/ANNLayoutInfo.mm +13 -0
  495. package/ios/Core/ANNLayoutProtocol.h +155 -0
  496. package/ios/Core/ANNNavigationState.h +38 -0
  497. package/ios/Core/ANNNavigationState.mm +127 -0
  498. package/ios/Core/ANNNodeHelper.h +114 -0
  499. package/ios/Core/ANNNodeHelper.mm +260 -0
  500. package/ios/Core/ANNNodePresenter.h +86 -0
  501. package/ios/Core/ANNNodePresenter.mm +92 -0
  502. package/ios/Core/ANNNodeRegistry.h +30 -0
  503. package/ios/Core/ANNNodeRegistry.mm +48 -0
  504. package/ios/Core/ANNOptionsRepaint.h +19 -0
  505. package/ios/Core/ANNOptionsRepaint.mm +59 -0
  506. package/ios/Core/ANNParking.h +34 -0
  507. package/ios/Core/ANNParking.mm +117 -0
  508. package/ios/Core/ANNPendingLayers.h +31 -0
  509. package/ios/Core/ANNPendingLayers.mm +57 -0
  510. package/ios/Core/ANNReloadCoordinator.h +26 -0
  511. package/ios/Core/ANNReloadCoordinator.mm +211 -0
  512. package/ios/Core/ANNRenderWait.h +105 -0
  513. package/ios/Core/ANNRenderWait.mm +496 -0
  514. package/ios/Core/ANNSceneDelegate.mm +92 -0
  515. package/ios/Core/ANNScreenAppearance+Internal.h +29 -0
  516. package/ios/Core/ANNScreenAppearance.h +60 -0
  517. package/ios/Core/ANNScreenAppearance.mm +44 -0
  518. package/ios/Core/ANNShownScreens.h +27 -0
  519. package/ios/Core/ANNShownScreens.mm +16 -0
  520. package/ios/Core/ANNSystemUI.h +95 -0
  521. package/ios/Core/ANNSystemUI.mm +401 -0
  522. package/ios/Core/ANNSystemUIRules.h +35 -0
  523. package/ios/Core/ANNSystemUIRules.mm +139 -0
  524. package/ios/Core/ANNUtils.h +35 -0
  525. package/ios/Core/ANNUtils.mm +111 -0
  526. package/ios/Core/ApexNavigation+Internal.h +26 -0
  527. package/ios/Core/ApexNavigation.mm +177 -0
  528. package/ios/Core/UIViewController+LayoutProtocol.h +102 -0
  529. package/ios/Core/UIViewController+LayoutProtocol.mm +253 -0
  530. package/ios/Layouts/Arrangement/ANNArrangementScreenDelegate.h +18 -0
  531. package/ios/Layouts/Arrangement/ANNArrangementState.h +30 -0
  532. package/ios/Layouts/Arrangement/ANNArrangementState.mm +53 -0
  533. package/ios/Layouts/Arrangement/ANNArrangementViewController.h +38 -0
  534. package/ios/Layouts/Arrangement/ANNArrangementViewController.mm +573 -0
  535. package/ios/Layouts/External/ANNExternalViewController.h +28 -0
  536. package/ios/Layouts/External/ANNExternalViewController.mm +118 -0
  537. package/ios/Layouts/External/ANNNativeScreenCalls.h +27 -0
  538. package/ios/Layouts/External/ANNNativeScreenCalls.mm +77 -0
  539. package/ios/Layouts/Modal/ANNModal.h +121 -0
  540. package/ios/Layouts/Modal/ANNModal.mm +64 -0
  541. package/ios/Layouts/Modal/ANNModalCoordinator.h +99 -0
  542. package/ios/Layouts/Modal/ANNModalCoordinator.mm +1965 -0
  543. package/ios/Layouts/Modal/ANNModalHostViewComponentView.h +13 -0
  544. package/ios/Layouts/Modal/ANNModalHostViewComponentView.mm +24 -0
  545. package/ios/Layouts/Modal/ANNModalPresentation.h +73 -0
  546. package/ios/Layouts/Modal/ANNModalPresentation.mm +189 -0
  547. package/ios/Layouts/Modal/ANNModalSizePresenter.h +13 -0
  548. package/ios/Layouts/Modal/ANNModalSizePresenter.mm +65 -0
  549. package/ios/Layouts/Modal/ANNModalTransitions.h +29 -0
  550. package/ios/Layouts/Modal/ANNModalTransitions.mm +40 -0
  551. package/ios/Layouts/Modal/ANNPopoverPresenter.h +29 -0
  552. package/ios/Layouts/Modal/ANNPopoverPresenter.mm +158 -0
  553. package/ios/Layouts/Modal/ANNPresentationGate.h +52 -0
  554. package/ios/Layouts/Modal/ANNPresentationGate.mm +153 -0
  555. package/ios/Layouts/Modal/ANNSheetPresenter.h +31 -0
  556. package/ios/Layouts/Modal/ANNSheetPresenter.mm +247 -0
  557. package/ios/Layouts/Overlay/ANNOverlayCoordinator.h +66 -0
  558. package/ios/Layouts/Overlay/ANNOverlayCoordinator.mm +604 -0
  559. package/ios/Layouts/Overlay/ANNOverlayWindow.h +10 -0
  560. package/ios/Layouts/Overlay/ANNOverlayWindow.mm +71 -0
  561. package/ios/Layouts/Root/ANNLayoutFactory.h +31 -0
  562. package/ios/Layouts/Root/ANNLayoutFactory.mm +349 -0
  563. package/ios/Layouts/Root/ANNRootCoordinator.h +42 -0
  564. package/ios/Layouts/Root/ANNRootCoordinator.mm +847 -0
  565. package/ios/Layouts/Root/ANNSplashViewController.h +30 -0
  566. package/ios/Layouts/Root/ANNSplashViewController.mm +138 -0
  567. package/ios/Layouts/Screen/ANNComponentPresenter.h +32 -0
  568. package/ios/Layouts/Screen/ANNComponentPresenter.mm +136 -0
  569. package/ios/Layouts/Screen/ANNComponentViewController.h +100 -0
  570. package/ios/Layouts/Screen/ANNComponentViewController.mm +652 -0
  571. package/ios/Layouts/Screen/ANNNativeScreenContext+Internal.h +19 -0
  572. package/ios/Layouts/Screen/ANNNativeScreenContext.mm +84 -0
  573. package/ios/Layouts/Screen/ANNPreviewInteraction.h +38 -0
  574. package/ios/Layouts/Screen/ANNPreviewInteraction.mm +252 -0
  575. package/ios/Layouts/Screen/ANNScreenBars.h +29 -0
  576. package/ios/Layouts/Screen/ANNScreenBars.mm +47 -0
  577. package/ios/Layouts/Screen/ANNScreenInsets.h +30 -0
  578. package/ios/Layouts/Screen/ANNScreenInsets.mm +68 -0
  579. package/ios/Layouts/Screen/ANNScreenReadiness.h +92 -0
  580. package/ios/Layouts/Screen/ANNScreenReadiness.mm +186 -0
  581. package/ios/Layouts/Screen/ANNScreenRegions.h +33 -0
  582. package/ios/Layouts/Screen/ANNScreenRegions.mm +105 -0
  583. package/ios/Layouts/Screen/ANNScreenSafeArea.h +38 -0
  584. package/ios/Layouts/Screen/ANNScreenSafeArea.mm +58 -0
  585. package/ios/Layouts/SideMenu/ANNSideMenuChildViewController.h +41 -0
  586. package/ios/Layouts/SideMenu/ANNSideMenuChildViewController.mm +113 -0
  587. package/ios/Layouts/SideMenu/ANNSideMenuPresenter.h +28 -0
  588. package/ios/Layouts/SideMenu/ANNSideMenuPresenter.mm +260 -0
  589. package/ios/Layouts/SideMenu/ANNSideMenuTypes.h +19 -0
  590. package/ios/Layouts/SideMenu/ANNSideMenuViewController.h +46 -0
  591. package/ios/Layouts/SideMenu/ANNSideMenuViewController.mm +891 -0
  592. package/ios/Layouts/SplitView/ANNSplitViewCommands.h +39 -0
  593. package/ios/Layouts/SplitView/ANNSplitViewCommands.mm +612 -0
  594. package/ios/Layouts/SplitView/ANNSplitViewController.h +52 -0
  595. package/ios/Layouts/SplitView/ANNSplitViewController.mm +494 -0
  596. package/ios/Layouts/SplitView/ANNSplitViewPresenter.h +18 -0
  597. package/ios/Layouts/SplitView/ANNSplitViewPresenter.mm +181 -0
  598. package/ios/Layouts/SplitView/UISplitViewController+ANNOptions.h +32 -0
  599. package/ios/Layouts/SplitView/UISplitViewController+ANNOptions.mm +133 -0
  600. package/ios/Layouts/Stack/ANNPreviewPush.h +46 -0
  601. package/ios/Layouts/Stack/ANNPreviewPush.mm +298 -0
  602. package/ios/Layouts/Stack/ANNStackAnimatingDelegate.h +32 -0
  603. package/ios/Layouts/Stack/ANNStackAnimatingDelegate.mm +92 -0
  604. package/ios/Layouts/Stack/ANNStackCommands.h +51 -0
  605. package/ios/Layouts/Stack/ANNStackCommands.mm +403 -0
  606. package/ios/Layouts/Stack/ANNStackController.h +161 -0
  607. package/ios/Layouts/Stack/ANNStackController.mm +1597 -0
  608. package/ios/Layouts/Stack/ANNStackPresenter.h +44 -0
  609. package/ios/Layouts/Stack/ANNStackPresenter.mm +181 -0
  610. package/ios/Layouts/Stack/ANNStackQueue.h +194 -0
  611. package/ios/Layouts/Stack/ANNStackQueue.mm +1300 -0
  612. package/ios/Layouts/Stack/InteractivePopGestureDelegate.h +53 -0
  613. package/ios/Layouts/Stack/InteractivePopGestureDelegate.mm +228 -0
  614. package/ios/Layouts/Stack/UINavigationController+ANNCommands.h +19 -0
  615. package/ios/Layouts/Stack/UINavigationController+ANNCommands.mm +29 -0
  616. package/ios/Layouts/Tabs/ANNBottomTabCellView.h +33 -0
  617. package/ios/Layouts/Tabs/ANNBottomTabCellView.mm +100 -0
  618. package/ios/Layouts/Tabs/ANNBottomTabItemBuilder.h +49 -0
  619. package/ios/Layouts/Tabs/ANNBottomTabItemBuilder.mm +153 -0
  620. package/ios/Layouts/Tabs/ANNBottomTabsAccessoryView.h +17 -0
  621. package/ios/Layouts/Tabs/ANNBottomTabsAccessoryView.mm +56 -0
  622. package/ios/Layouts/Tabs/ANNBottomTabsController.h +121 -0
  623. package/ios/Layouts/Tabs/ANNBottomTabsController.mm +1404 -0
  624. package/ios/Layouts/Tabs/ANNBottomTabsCustomRow.h +47 -0
  625. package/ios/Layouts/Tabs/ANNBottomTabsCustomRow.mm +280 -0
  626. package/ios/Layouts/Tabs/ANNBottomTabsPresenter.h +81 -0
  627. package/ios/Layouts/Tabs/ANNBottomTabsPresenter.mm +1026 -0
  628. package/ios/Layouts/Tabs/ANNMoreNavigationDelegate.h +24 -0
  629. package/ios/Layouts/Tabs/ANNMoreNavigationDelegate.mm +58 -0
  630. package/ios/Layouts/Tabs/ANNScrollToTop.h +23 -0
  631. package/ios/Layouts/Tabs/ANNScrollToTop.mm +55 -0
  632. package/ios/Layouts/Tabs/ANNTabDotView.h +19 -0
  633. package/ios/Layouts/Tabs/ANNTabDotView.mm +46 -0
  634. package/ios/Layouts/Tabs/ANNTabLongPress.h +28 -0
  635. package/ios/Layouts/Tabs/ANNTabLongPress.mm +98 -0
  636. package/ios/Layouts/Tabs/ANNTabsDesign.h +26 -0
  637. package/ios/Layouts/Tabs/ANNTabsDesign.mm +34 -0
  638. package/ios/Layouts/Tabs/ANNTabsPreloadWindow.h +27 -0
  639. package/ios/Layouts/Tabs/ANNTabsPreloadWindow.mm +55 -0
  640. package/ios/Layouts/Tabs/UITabBar+utils.h +24 -0
  641. package/ios/Layouts/Tabs/UITabBar+utils.mm +103 -0
  642. package/ios/Options/ANNAnimationOptions.h +22 -0
  643. package/ios/Options/ANNAnimationOptions.mm +16 -0
  644. package/ios/Options/ANNAnimationPropertyOptions.h +17 -0
  645. package/ios/Options/ANNAnimationPropertyOptions.mm +15 -0
  646. package/ios/Options/ANNBottomTabDotIndicatorOptions.h +14 -0
  647. package/ios/Options/ANNBottomTabDotIndicatorOptions.mm +13 -0
  648. package/ios/Options/ANNBottomTabOptions.h +51 -0
  649. package/ios/Options/ANNBottomTabOptions.mm +47 -0
  650. package/ios/Options/ANNBottomTabsAccessoryOptions.h +19 -0
  651. package/ios/Options/ANNBottomTabsAccessoryOptions.mm +25 -0
  652. package/ios/Options/ANNBottomTabsAnimationOptions.h +12 -0
  653. package/ios/Options/ANNBottomTabsAnimationOptions.mm +11 -0
  654. package/ios/Options/ANNBottomTabsCustomRowOptions.h +19 -0
  655. package/ios/Options/ANNBottomTabsCustomRowOptions.mm +17 -0
  656. package/ios/Options/ANNBottomTabsOptions.h +51 -0
  657. package/ios/Options/ANNBottomTabsOptions.mm +48 -0
  658. package/ios/Options/ANNBottomTabsShadowOptions.h +14 -0
  659. package/ios/Options/ANNBottomTabsShadowOptions.mm +13 -0
  660. package/ios/Options/ANNButtonComponentOptions.h +13 -0
  661. package/ios/Options/ANNButtonComponentOptions.mm +12 -0
  662. package/ios/Options/ANNButtonOptions.h +56 -0
  663. package/ios/Options/ANNButtonOptions.mm +53 -0
  664. package/ios/Options/ANNButtonsParser.h +13 -0
  665. package/ios/Options/ANNButtonsParser.mm +18 -0
  666. package/ios/Options/ANNComponentOptions.h +14 -0
  667. package/ios/Options/ANNComponentOptions.mm +12 -0
  668. package/ios/Options/ANNDefaultOptions.h +18 -0
  669. package/ios/Options/ANNDefaultOptions.mm +22 -0
  670. package/ios/Options/ANNElementAnimationOptions.h +18 -0
  671. package/ios/Options/ANNElementAnimationOptions.mm +15 -0
  672. package/ios/Options/ANNElementTransitionOptions.h +26 -0
  673. package/ios/Options/ANNElementTransitionOptions.mm +28 -0
  674. package/ios/Options/ANNEnterExitBottomTabsAnimationOptions.h +14 -0
  675. package/ios/Options/ANNEnterExitBottomTabsAnimationOptions.mm +12 -0
  676. package/ios/Options/ANNEnterExitScreenAnimationOptions.h +14 -0
  677. package/ios/Options/ANNEnterExitScreenAnimationOptions.mm +12 -0
  678. package/ios/Options/ANNEnterExitTopBarAnimationOptions.h +14 -0
  679. package/ios/Options/ANNEnterExitTopBarAnimationOptions.mm +12 -0
  680. package/ios/Options/ANNFabOptions.h +26 -0
  681. package/ios/Options/ANNFabOptions.mm +23 -0
  682. package/ios/Options/ANNFontOptions.h +24 -0
  683. package/ios/Options/ANNFontOptions.mm +65 -0
  684. package/ios/Options/ANNHardwareBackButtonOptions.h +15 -0
  685. package/ios/Options/ANNHardwareBackButtonOptions.mm +13 -0
  686. package/ios/Options/ANNIconBackgroundOptions.h +16 -0
  687. package/ios/Options/ANNIconBackgroundOptions.mm +15 -0
  688. package/ios/Options/ANNIconInsetsOptions.h +16 -0
  689. package/ios/Options/ANNIconInsetsOptions.mm +14 -0
  690. package/ios/Options/ANNInterpolationOptions.h +22 -0
  691. package/ios/Options/ANNInterpolationOptions.mm +22 -0
  692. package/ios/Options/ANNLayoutOptions.h +26 -0
  693. package/ios/Options/ANNLayoutOptions.mm +25 -0
  694. package/ios/Options/ANNMenuOptions.h +37 -0
  695. package/ios/Options/ANNMenuOptions.mm +136 -0
  696. package/ios/Options/ANNModalAnimationOptions.h +17 -0
  697. package/ios/Options/ANNModalAnimationOptions.mm +15 -0
  698. package/ios/Options/ANNModalContentSizeOptions.h +14 -0
  699. package/ios/Options/ANNModalContentSizeOptions.mm +15 -0
  700. package/ios/Options/ANNModalOptions.h +19 -0
  701. package/ios/Options/ANNModalOptions.mm +15 -0
  702. package/ios/Options/ANNNavigationBarOptions.h +14 -0
  703. package/ios/Options/ANNNavigationBarOptions.mm +13 -0
  704. package/ios/Options/ANNNavigationOptions.h +60 -0
  705. package/ios/Options/ANNNavigationOptions.mm +54 -0
  706. package/ios/Options/ANNOptionField.h +91 -0
  707. package/ios/Options/ANNOptionField.mm +173 -0
  708. package/ios/Options/ANNOptions.h +62 -0
  709. package/ios/Options/ANNOptions.mm +329 -0
  710. package/ios/Options/ANNOptionsCache.h +22 -0
  711. package/ios/Options/ANNOptionsCache.mm +17 -0
  712. package/ios/Options/ANNOptionsReader.h +33 -0
  713. package/ios/Options/ANNOptionsReader.mm +63 -0
  714. package/ios/Options/ANNOverlayOptions.h +14 -0
  715. package/ios/Options/ANNOverlayOptions.mm +12 -0
  716. package/ios/Options/ANNPopoverOptions.h +17 -0
  717. package/ios/Options/ANNPopoverOptions.mm +31 -0
  718. package/ios/Options/ANNPreviewOptions.h +17 -0
  719. package/ios/Options/ANNPreviewOptions.mm +15 -0
  720. package/ios/Options/ANNScreenAnimationOptions.h +13 -0
  721. package/ios/Options/ANNScreenAnimationOptions.mm +12 -0
  722. package/ios/Options/ANNScrollEdgeEffectOptions.h +20 -0
  723. package/ios/Options/ANNScrollEdgeEffectOptions.mm +16 -0
  724. package/ios/Options/ANNScrollEdgeOptions.h +14 -0
  725. package/ios/Options/ANNScrollEdgeOptions.mm +12 -0
  726. package/ios/Options/ANNSearchBarOptions.h +49 -0
  727. package/ios/Options/ANNSearchBarOptions.mm +41 -0
  728. package/ios/Options/ANNSearchScopeOptions.h +15 -0
  729. package/ios/Options/ANNSearchScopeOptions.mm +13 -0
  730. package/ios/Options/ANNSearchSuggestionOptions.h +19 -0
  731. package/ios/Options/ANNSearchSuggestionOptions.mm +16 -0
  732. package/ios/Options/ANNSearchTokenOptions.h +18 -0
  733. package/ios/Options/ANNSearchTokenOptions.mm +15 -0
  734. package/ios/Options/ANNSetStackRootAnimationOptions.h +12 -0
  735. package/ios/Options/ANNSetStackRootAnimationOptions.mm +11 -0
  736. package/ios/Options/ANNSharedElementTransitionOptions.h +17 -0
  737. package/ios/Options/ANNSharedElementTransitionOptions.mm +15 -0
  738. package/ios/Options/ANNSheetOptions.h +25 -0
  739. package/ios/Options/ANNSheetOptions.mm +41 -0
  740. package/ios/Options/ANNSideMenuOptions.h +19 -0
  741. package/ios/Options/ANNSideMenuOptions.mm +16 -0
  742. package/ios/Options/ANNSideMenuSideOptions.h +23 -0
  743. package/ios/Options/ANNSideMenuSideOptions.mm +20 -0
  744. package/ios/Options/ANNSplitViewColumnOptions.h +14 -0
  745. package/ios/Options/ANNSplitViewColumnOptions.mm +13 -0
  746. package/ios/Options/ANNSplitViewInspectorOptions.h +13 -0
  747. package/ios/Options/ANNSplitViewInspectorOptions.mm +9 -0
  748. package/ios/Options/ANNSplitViewOptions.h +29 -0
  749. package/ios/Options/ANNSplitViewOptions.mm +26 -0
  750. package/ios/Options/ANNStackAnimationOptions.h +23 -0
  751. package/ios/Options/ANNStackAnimationOptions.mm +20 -0
  752. package/ios/Options/ANNStackPushAnimationOptions.h +13 -0
  753. package/ios/Options/ANNStackPushAnimationOptions.mm +11 -0
  754. package/ios/Options/ANNStatusBarOptions.h +20 -0
  755. package/ios/Options/ANNStatusBarOptions.mm +18 -0
  756. package/ios/Options/ANNToolbarOptions.h +14 -0
  757. package/ios/Options/ANNToolbarOptions.mm +27 -0
  758. package/ios/Options/ANNTopBarAnimationOptions.h +12 -0
  759. package/ios/Options/ANNTopBarAnimationOptions.mm +11 -0
  760. package/ios/Options/ANNTopBarBackButtonOptions.h +31 -0
  761. package/ios/Options/ANNTopBarBackButtonOptions.mm +35 -0
  762. package/ios/Options/ANNTopBarBackgroundComponentOptions.h +13 -0
  763. package/ios/Options/ANNTopBarBackgroundComponentOptions.mm +11 -0
  764. package/ios/Options/ANNTopBarBackgroundOptions.h +17 -0
  765. package/ios/Options/ANNTopBarBackgroundOptions.mm +15 -0
  766. package/ios/Options/ANNTopBarLargeTitleOptions.h +19 -0
  767. package/ios/Options/ANNTopBarLargeTitleOptions.mm +15 -0
  768. package/ios/Options/ANNTopBarOptions.h +62 -0
  769. package/ios/Options/ANNTopBarOptions.mm +49 -0
  770. package/ios/Options/ANNTopBarScrollEdgeAppearanceBackgroundOptions.h +14 -0
  771. package/ios/Options/ANNTopBarScrollEdgeAppearanceBackgroundOptions.mm +12 -0
  772. package/ios/Options/ANNTopBarScrollEdgeAppearanceOptions.h +19 -0
  773. package/ios/Options/ANNTopBarScrollEdgeAppearanceOptions.mm +16 -0
  774. package/ios/Options/ANNTopBarScrollEdgeAppearanceTitleOptions.h +16 -0
  775. package/ios/Options/ANNTopBarScrollEdgeAppearanceTitleOptions.mm +12 -0
  776. package/ios/Options/ANNTopBarSubtitleOptions.h +18 -0
  777. package/ios/Options/ANNTopBarSubtitleOptions.mm +14 -0
  778. package/ios/Options/ANNTopBarTitleComponentOptions.h +15 -0
  779. package/ios/Options/ANNTopBarTitleComponentOptions.mm +12 -0
  780. package/ios/Options/ANNTopBarTitleDocumentOptions.h +12 -0
  781. package/ios/Options/ANNTopBarTitleDocumentOptions.mm +11 -0
  782. package/ios/Options/ANNTopBarTitleOptions.h +29 -0
  783. package/ios/Options/ANNTopBarTitleOptions.mm +21 -0
  784. package/ios/Options/ANNViewAnimationOptions.h +26 -0
  785. package/ios/Options/ANNViewAnimationOptions.mm +58 -0
  786. package/ios/Options/ANNWindowOptions.h +12 -0
  787. package/ios/Options/ANNWindowOptions.mm +9 -0
  788. package/ios/Options/ANNZoomTransitionOptions.h +13 -0
  789. package/ios/Options/ANNZoomTransitionOptions.mm +12 -0
  790. package/ios/Options/Params/ANNIntegerParam.h +14 -0
  791. package/ios/Options/Params/ANNIntegerParam.mm +13 -0
  792. package/ios/Options/Params/ANNParam.h +28 -0
  793. package/ios/Options/Params/ANNParam.mm +29 -0
  794. package/ios/Options/Params/Bool.h +17 -0
  795. package/ios/Options/Params/Bool.mm +17 -0
  796. package/ios/Options/Params/BoolParser.h +12 -0
  797. package/ios/Options/Params/BoolParser.mm +10 -0
  798. package/ios/Options/Params/Color.h +43 -0
  799. package/ios/Options/Params/Color.mm +65 -0
  800. package/ios/Options/Params/ColorParser.h +14 -0
  801. package/ios/Options/Params/ColorParser.mm +95 -0
  802. package/ios/Options/Params/Double.h +14 -0
  803. package/ios/Options/Params/Double.mm +13 -0
  804. package/ios/Options/Params/DoubleParser.h +16 -0
  805. package/ios/Options/Params/DoubleParser.mm +16 -0
  806. package/ios/Options/Params/Image.h +15 -0
  807. package/ios/Options/Params/Image.mm +13 -0
  808. package/ios/Options/Params/ImageParser.h +16 -0
  809. package/ios/Options/Params/ImageParser.mm +103 -0
  810. package/ios/Options/Params/Number.h +14 -0
  811. package/ios/Options/Params/Number.mm +13 -0
  812. package/ios/Options/Params/NumberParser.h +13 -0
  813. package/ios/Options/Params/NumberParser.mm +10 -0
  814. package/ios/Options/Params/Param.h +16 -0
  815. package/ios/Options/Params/Param.mm +13 -0
  816. package/ios/Options/Params/Text.h +17 -0
  817. package/ios/Options/Params/Text.mm +17 -0
  818. package/ios/Options/Params/TextParser.h +17 -0
  819. package/ios/Options/Params/TextParser.mm +17 -0
  820. package/ios/Package.swift +58 -0
  821. package/ios/Public/ApexNavigation/ANNAppDelegate.h +66 -0
  822. package/ios/Public/ApexNavigation/ANNSceneDelegate.h +19 -0
  823. package/ios/Public/ApexNavigation/ApexNavigation.h +92 -0
  824. package/ios/Public/module.modulemap +8 -0
  825. package/ios/RECIPES.md +41 -0
  826. package/ios/React/ANNComponentType.h +22 -0
  827. package/ios/React/ANNComponentViewCreator.h +18 -0
  828. package/ios/React/ANNReactComponentRegistry.h +53 -0
  829. package/ios/React/ANNReactComponentRegistry.mm +153 -0
  830. package/ios/React/ANNReactView.h +104 -0
  831. package/ios/React/ANNReactView.mm +374 -0
  832. package/ios/React/ANNReactViewCreator.h +20 -0
  833. package/ios/React/ANNReactViewCreator.mm +42 -0
  834. package/ios/React/ANNSafeAreaViewComponentView.h +13 -0
  835. package/ios/React/ANNSafeAreaViewComponentView.mm +153 -0
  836. package/ios/React/ANNSurfaceHostingView.h +17 -0
  837. package/ios/React/ANNSurfaceHostingView.mm +68 -0
  838. package/ios/React/Slots/ANNSlotComponentView.h +10 -0
  839. package/ios/React/Slots/ANNSlotComponentView.mm +122 -0
  840. package/ios/React/Slots/ANNSlotContainers.h +34 -0
  841. package/ios/React/Slots/ANNSlotContainers.mm +39 -0
  842. package/ios/React/Slots/ANNSlotContentView.h +12 -0
  843. package/ios/React/Slots/ANNSlotContentView.mm +18 -0
  844. package/ios/React/Slots/ANNSlotHost.h +29 -0
  845. package/ios/React/Slots/ANNSlotHost.mm +59 -0
  846. package/ios/React/Slots/ANNSlotScreenView.h +38 -0
  847. package/ios/React/Slots/ANNSlotScreenView.mm +254 -0
  848. package/ios/TopBar/ANNBackButtonPresenter.h +35 -0
  849. package/ios/TopBar/ANNBackButtonPresenter.mm +187 -0
  850. package/ios/TopBar/ANNBarAppearance.h +53 -0
  851. package/ios/TopBar/ANNBarAppearance.mm +278 -0
  852. package/ios/TopBar/ANNBarBackgroundComponent.h +46 -0
  853. package/ios/TopBar/ANNBarBackgroundComponent.mm +163 -0
  854. package/ios/TopBar/ANNBarButtonComponentView.h +30 -0
  855. package/ios/TopBar/ANNBarButtonComponentView.mm +110 -0
  856. package/ios/TopBar/ANNBarButtons.h +65 -0
  857. package/ios/TopBar/ANNBarButtons.mm +1125 -0
  858. package/ios/TopBar/ANNBarComponentsWait.h +37 -0
  859. package/ios/TopBar/ANNBarComponentsWait.mm +116 -0
  860. package/ios/TopBar/ANNIconButtonImage.h +25 -0
  861. package/ios/TopBar/ANNIconButtonImage.mm +94 -0
  862. package/ios/TopBar/ANNLargeTitlePresenter.h +117 -0
  863. package/ios/TopBar/ANNLargeTitlePresenter.mm +402 -0
  864. package/ios/TopBar/ANNMainList.h +28 -0
  865. package/ios/TopBar/ANNMainList.mm +72 -0
  866. package/ios/TopBar/ANNScrollEdgeEffects.h +29 -0
  867. package/ios/TopBar/ANNScrollEdgeEffects.mm +122 -0
  868. package/ios/TopBar/ANNSearchPresenter.h +29 -0
  869. package/ios/TopBar/ANNSearchPresenter.mm +637 -0
  870. package/ios/TopBar/ANNSearchResultsViewController.h +16 -0
  871. package/ios/TopBar/ANNSearchResultsViewController.mm +56 -0
  872. package/ios/TopBar/ANNShowTextButton.h +22 -0
  873. package/ios/TopBar/ANNShowTextButton.mm +63 -0
  874. package/ios/TopBar/ANNTitleComponentView.h +37 -0
  875. package/ios/TopBar/ANNTitleComponentView.mm +86 -0
  876. package/ios/TopBar/ANNTitleGlassView.h +33 -0
  877. package/ios/TopBar/ANNTitleGlassView.mm +126 -0
  878. package/ios/TopBar/ANNTitleView.h +18 -0
  879. package/ios/TopBar/ANNTitleView.mm +63 -0
  880. package/ios/TopBar/ANNToolbarPresenter.h +26 -0
  881. package/ios/TopBar/ANNToolbarPresenter.mm +24 -0
  882. package/ios/TopBar/ANNTopBarPresenter.h +120 -0
  883. package/ios/TopBar/ANNTopBarPresenter.mm +1252 -0
  884. package/ios/TopBar/ANNUIBarButtonItem.h +16 -0
  885. package/ios/TopBar/ANNUIBarButtonItem.mm +5 -0
  886. package/ios/TurboModules/ANNTurboEventEmitter.h +31 -0
  887. package/ios/TurboModules/ANNTurboEventEmitter.mm +129 -0
  888. package/ios/TurboModules/ANNTurboModule.h +11 -0
  889. package/ios/TurboModules/ANNTurboModule.mm +626 -0
  890. package/ios/Utils/UIColor+ANNLuminance.h +13 -0
  891. package/ios/Utils/UIColor+ANNLuminance.mm +32 -0
  892. package/ios/Utils/UIView+Utils.h +12 -0
  893. package/ios/Utils/UIView+Utils.mm +21 -0
  894. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSafeAreaViewComponentDescriptor.h +19 -0
  895. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSafeAreaViewShadowNode.h +60 -0
  896. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSafeAreaViewState.h +33 -0
  897. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSlotComponentDescriptor.h +22 -0
  898. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSlotShadowNode.h +87 -0
  899. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSlotState.h +101 -0
  900. package/lib/module/ARCHITECTURE.md +289 -0
  901. package/lib/module/adapters/NativeANNTurboEventEmitter.js +12 -0
  902. package/lib/module/adapters/NativeANNTurboEventEmitter.js.map +1 -0
  903. package/lib/module/adapters/NativeANNTurboModule.js +13 -0
  904. package/lib/module/adapters/NativeANNTurboModule.js.map +1 -0
  905. package/lib/module/api/app/AppRegistry.js +52 -0
  906. package/lib/module/api/app/AppRegistry.js.map +1 -0
  907. package/lib/module/api/app/activeApp.js +12 -0
  908. package/lib/module/api/app/activeApp.js.map +1 -0
  909. package/lib/module/api/app/createNavigation.js +365 -0
  910. package/lib/module/api/app/createNavigation.js.map +1 -0
  911. package/lib/module/api/app/roots.js +20 -0
  912. package/lib/module/api/app/roots.js.map +1 -0
  913. package/lib/module/api/app/splash.js +124 -0
  914. package/lib/module/api/app/splash.js.map +1 -0
  915. package/lib/module/api/app/startFailure.js +38 -0
  916. package/lib/module/api/app/startFailure.js.map +1 -0
  917. package/lib/module/api/arrangement/arrangementState.js +86 -0
  918. package/lib/module/api/arrangement/arrangementState.js.map +1 -0
  919. package/lib/module/api/commands/commands.js +375 -0
  920. package/lib/module/api/commands/commands.js.map +1 -0
  921. package/lib/module/api/commands/errors.js +94 -0
  922. package/lib/module/api/commands/errors.js.map +1 -0
  923. package/lib/module/api/commands/presentation.js +4 -0
  924. package/lib/module/api/commands/presentation.js.map +1 -0
  925. package/lib/module/api/commands/sideMenus.js +134 -0
  926. package/lib/module/api/commands/sideMenus.js.map +1 -0
  927. package/lib/module/api/commands/transitions.js +245 -0
  928. package/lib/module/api/commands/transitions.js.map +1 -0
  929. package/lib/module/api/context/appContext.js +22 -0
  930. package/lib/module/api/context/appContext.js.map +1 -0
  931. package/lib/module/api/events/navigationEvents.js +69 -0
  932. package/lib/module/api/events/navigationEvents.js.map +1 -0
  933. package/lib/module/api/events/screenLifecycle.js +30 -0
  934. package/lib/module/api/events/screenLifecycle.js.map +1 -0
  935. package/lib/module/api/events/tabPresses.js +32 -0
  936. package/lib/module/api/events/tabPresses.js.map +1 -0
  937. package/lib/module/api/hinge/hinge.js +73 -0
  938. package/lib/module/api/hinge/hinge.js.map +1 -0
  939. package/lib/module/api/hooks/appHooks.js +26 -0
  940. package/lib/module/api/hooks/appHooks.js.map +1 -0
  941. package/lib/module/api/hooks/screenHooks.js +250 -0
  942. package/lib/module/api/hooks/screenHooks.js.map +1 -0
  943. package/lib/module/api/hooks/useArrangement.js +24 -0
  944. package/lib/module/api/hooks/useArrangement.js.map +1 -0
  945. package/lib/module/api/hooks/useHinge.js +29 -0
  946. package/lib/module/api/hooks/useHinge.js.map +1 -0
  947. package/lib/module/api/hooks/useNavigation.js +117 -0
  948. package/lib/module/api/hooks/useNavigation.js.map +1 -0
  949. package/lib/module/api/hooks/usePendingLink.js +12 -0
  950. package/lib/module/api/hooks/usePendingLink.js.map +1 -0
  951. package/lib/module/api/hooks/usePreview.js +97 -0
  952. package/lib/module/api/hooks/usePreview.js.map +1 -0
  953. package/lib/module/api/hooks/useReservedRegions.js +24 -0
  954. package/lib/module/api/hooks/useReservedRegions.js.map +1 -0
  955. package/lib/module/api/hooks/useSafeAreaInsets.js +25 -0
  956. package/lib/module/api/hooks/useSafeAreaInsets.js.map +1 -0
  957. package/lib/module/api/index.js +26 -0
  958. package/lib/module/api/index.js.map +1 -0
  959. package/lib/module/api/layout/Root.js +121 -0
  960. package/lib/module/api/layout/Root.js.map +1 -0
  961. package/lib/module/api/layout/Screen.js +52 -0
  962. package/lib/module/api/layout/Screen.js.map +1 -0
  963. package/lib/module/api/layout/SideMenu.js +85 -0
  964. package/lib/module/api/layout/SideMenu.js.map +1 -0
  965. package/lib/module/api/layout/SplitView.js +137 -0
  966. package/lib/module/api/layout/SplitView.js.map +1 -0
  967. package/lib/module/api/layout/Stack.js +36 -0
  968. package/lib/module/api/layout/Stack.js.map +1 -0
  969. package/lib/module/api/layout/Tabs.js +326 -0
  970. package/lib/module/api/layout/Tabs.js.map +1 -0
  971. package/lib/module/api/layout/element.js +100 -0
  972. package/lib/module/api/layout/element.js.map +1 -0
  973. package/lib/module/api/linking/linkPaths.js +132 -0
  974. package/lib/module/api/linking/linkPaths.js.map +1 -0
  975. package/lib/module/api/linking/linking.js +244 -0
  976. package/lib/module/api/linking/linking.js.map +1 -0
  977. package/lib/module/api/linking/pendingLinks.js +34 -0
  978. package/lib/module/api/linking/pendingLinks.js.map +1 -0
  979. package/lib/module/api/linking/types.js +4 -0
  980. package/lib/module/api/linking/types.js.map +1 -0
  981. package/lib/module/api/navigation.js +105 -0
  982. package/lib/module/api/navigation.js.map +1 -0
  983. package/lib/module/api/options/OptionsChain.js +158 -0
  984. package/lib/module/api/options/OptionsChain.js.map +1 -0
  985. package/lib/module/api/options/ScreenOptions.js +83 -0
  986. package/lib/module/api/options/ScreenOptions.js.map +1 -0
  987. package/lib/module/api/options/buttons.js +4 -0
  988. package/lib/module/api/options/buttons.js.map +1 -0
  989. package/lib/module/api/safeArea/ANNSafeAreaViewNativeComponent.ts +28 -0
  990. package/lib/module/api/safeArea/screenInsets.js +86 -0
  991. package/lib/module/api/safeArea/screenInsets.js.map +1 -0
  992. package/lib/module/api/safeArea/screenRegions.js +84 -0
  993. package/lib/module/api/safeArea/screenRegions.js.map +1 -0
  994. package/lib/module/api/screens/ScreenBoundary.js +44 -0
  995. package/lib/module/api/screens/ScreenBoundary.js.map +1 -0
  996. package/lib/module/api/screens/arrangement.js +63 -0
  997. package/lib/module/api/screens/arrangement.js.map +1 -0
  998. package/lib/module/api/screens/defineScreen.js +29 -0
  999. package/lib/module/api/screens/defineScreen.js.map +1 -0
  1000. package/lib/module/api/screens/nativeScreenCalls.js +34 -0
  1001. package/lib/module/api/screens/nativeScreenCalls.js.map +1 -0
  1002. package/lib/module/api/screens/nativeScreens.js +43 -0
  1003. package/lib/module/api/screens/nativeScreens.js.map +1 -0
  1004. package/lib/module/api/screens/registerScreens.js +305 -0
  1005. package/lib/module/api/screens/registerScreens.js.map +1 -0
  1006. package/lib/module/api/slots/ANNSlotNativeComponent.ts +23 -0
  1007. package/lib/module/api/slots/SlotHost.js +92 -0
  1008. package/lib/module/api/slots/SlotHost.js.map +1 -0
  1009. package/lib/module/api/state/navigationState.js +98 -0
  1010. package/lib/module/api/state/navigationState.js.map +1 -0
  1011. package/lib/module/api/testIDs.js +14 -0
  1012. package/lib/module/api/testIDs.js.map +1 -0
  1013. package/lib/module/api/theme/theme.js +180 -0
  1014. package/lib/module/api/theme/theme.js.map +1 -0
  1015. package/lib/module/api/types.js +4 -0
  1016. package/lib/module/api/types.js.map +1 -0
  1017. package/lib/module/engine/backListeners.js +39 -0
  1018. package/lib/module/engine/backListeners.js.map +1 -0
  1019. package/lib/module/engine/buttons.js +105 -0
  1020. package/lib/module/engine/buttons.js.map +1 -0
  1021. package/lib/module/engine/commands.js +388 -0
  1022. package/lib/module/engine/commands.js.map +1 -0
  1023. package/lib/module/engine/events.js +30 -0
  1024. package/lib/module/engine/events.js.map +1 -0
  1025. package/lib/module/engine/ids.js +10 -0
  1026. package/lib/module/engine/ids.js.map +1 -0
  1027. package/lib/module/engine/launchState.js +34 -0
  1028. package/lib/module/engine/launchState.js.map +1 -0
  1029. package/lib/module/engine/layout.js +202 -0
  1030. package/lib/module/engine/layout.js.map +1 -0
  1031. package/lib/module/engine/mergeOptions.js +23 -0
  1032. package/lib/module/engine/mergeOptions.js.map +1 -0
  1033. package/lib/module/engine/native.js +45 -0
  1034. package/lib/module/engine/native.js.map +1 -0
  1035. package/lib/module/engine/nativeScreens.js +265 -0
  1036. package/lib/module/engine/nativeScreens.js.map +1 -0
  1037. package/lib/module/engine/options.js +170 -0
  1038. package/lib/module/engine/options.js.map +1 -0
  1039. package/lib/module/engine/places.js +178 -0
  1040. package/lib/module/engine/places.js.map +1 -0
  1041. package/lib/module/engine/props.js +44 -0
  1042. package/lib/module/engine/props.js.map +1 -0
  1043. package/lib/module/engine/reactMeasures.js +23 -0
  1044. package/lib/module/engine/reactMeasures.js.map +1 -0
  1045. package/lib/module/engine/rememberedOptions.js +118 -0
  1046. package/lib/module/engine/rememberedOptions.js.map +1 -0
  1047. package/lib/module/engine/screens.js +194 -0
  1048. package/lib/module/engine/screens.js.map +1 -0
  1049. package/lib/module/engine/slots.js +200 -0
  1050. package/lib/module/engine/slots.js.map +1 -0
  1051. package/lib/module/engine/tabs.js +79 -0
  1052. package/lib/module/engine/tabs.js.map +1 -0
  1053. package/lib/module/index.js +5 -0
  1054. package/lib/module/index.js.map +1 -0
  1055. package/lib/module/interfaces/ComponentEvents.js +2 -0
  1056. package/lib/module/interfaces/ComponentEvents.js.map +1 -0
  1057. package/lib/module/interfaces/Events.js +2 -0
  1058. package/lib/module/interfaces/Events.js.map +1 -0
  1059. package/lib/module/interfaces/Layout.js +4 -0
  1060. package/lib/module/interfaces/Layout.js.map +1 -0
  1061. package/lib/module/interfaces/Options.js +4 -0
  1062. package/lib/module/interfaces/Options.js.map +1 -0
  1063. package/lib/module/interfaces/options/animations.js +2 -0
  1064. package/lib/module/interfaces/options/animations.js.map +1 -0
  1065. package/lib/module/interfaces/options/bottomTabs.js +4 -0
  1066. package/lib/module/interfaces/options/bottomTabs.js.map +1 -0
  1067. package/lib/module/interfaces/options/buttons.js +4 -0
  1068. package/lib/module/interfaces/options/buttons.js.map +1 -0
  1069. package/lib/module/interfaces/options/common.js +4 -0
  1070. package/lib/module/interfaces/options/common.js.map +1 -0
  1071. package/lib/module/interfaces/options/modals.js +2 -0
  1072. package/lib/module/interfaces/options/modals.js.map +1 -0
  1073. package/lib/module/interfaces/options/preview.js +2 -0
  1074. package/lib/module/interfaces/options/preview.js.map +1 -0
  1075. package/lib/module/interfaces/options/sideMenu.js +2 -0
  1076. package/lib/module/interfaces/options/sideMenu.js.map +1 -0
  1077. package/lib/module/interfaces/options/splitView.js +2 -0
  1078. package/lib/module/interfaces/options/splitView.js.map +1 -0
  1079. package/lib/module/interfaces/options/stack.js +4 -0
  1080. package/lib/module/interfaces/options/stack.js.map +1 -0
  1081. package/lib/module/interfaces/options/system.js +4 -0
  1082. package/lib/module/interfaces/options/system.js.map +1 -0
  1083. package/lib/module/interfaces/options/toolbar.js +4 -0
  1084. package/lib/module/interfaces/options/toolbar.js.map +1 -0
  1085. package/lib/module/interfaces/options/topBar.js +4 -0
  1086. package/lib/module/interfaces/options/topBar.js.map +1 -0
  1087. package/lib/module/package.json +1 -0
  1088. package/lib/typescript/adapters/NativeANNTurboEventEmitter.d.ts +14 -0
  1089. package/lib/typescript/adapters/NativeANNTurboEventEmitter.d.ts.map +1 -0
  1090. package/lib/typescript/adapters/NativeANNTurboModule.d.ts +77 -0
  1091. package/lib/typescript/adapters/NativeANNTurboModule.d.ts.map +1 -0
  1092. package/lib/typescript/api/app/AppRegistry.d.ts +14 -0
  1093. package/lib/typescript/api/app/AppRegistry.d.ts.map +1 -0
  1094. package/lib/typescript/api/app/activeApp.d.ts +12 -0
  1095. package/lib/typescript/api/app/activeApp.d.ts.map +1 -0
  1096. package/lib/typescript/api/app/createNavigation.d.ts +182 -0
  1097. package/lib/typescript/api/app/createNavigation.d.ts.map +1 -0
  1098. package/lib/typescript/api/app/roots.d.ts +15 -0
  1099. package/lib/typescript/api/app/roots.d.ts.map +1 -0
  1100. package/lib/typescript/api/app/splash.d.ts +81 -0
  1101. package/lib/typescript/api/app/splash.d.ts.map +1 -0
  1102. package/lib/typescript/api/app/startFailure.d.ts +15 -0
  1103. package/lib/typescript/api/app/startFailure.d.ts.map +1 -0
  1104. package/lib/typescript/api/arrangement/arrangementState.d.ts +21 -0
  1105. package/lib/typescript/api/arrangement/arrangementState.d.ts.map +1 -0
  1106. package/lib/typescript/api/commands/commands.d.ts +57 -0
  1107. package/lib/typescript/api/commands/commands.d.ts.map +1 -0
  1108. package/lib/typescript/api/commands/errors.d.ts +24 -0
  1109. package/lib/typescript/api/commands/errors.d.ts.map +1 -0
  1110. package/lib/typescript/api/commands/presentation.d.ts +69 -0
  1111. package/lib/typescript/api/commands/presentation.d.ts.map +1 -0
  1112. package/lib/typescript/api/commands/sideMenus.d.ts +14 -0
  1113. package/lib/typescript/api/commands/sideMenus.d.ts.map +1 -0
  1114. package/lib/typescript/api/commands/transitions.d.ts +33 -0
  1115. package/lib/typescript/api/commands/transitions.d.ts.map +1 -0
  1116. package/lib/typescript/api/context/appContext.d.ts +4 -0
  1117. package/lib/typescript/api/context/appContext.d.ts.map +1 -0
  1118. package/lib/typescript/api/events/navigationEvents.d.ts +70 -0
  1119. package/lib/typescript/api/events/navigationEvents.d.ts.map +1 -0
  1120. package/lib/typescript/api/events/screenLifecycle.d.ts +5 -0
  1121. package/lib/typescript/api/events/screenLifecycle.d.ts.map +1 -0
  1122. package/lib/typescript/api/events/tabPresses.d.ts +5 -0
  1123. package/lib/typescript/api/events/tabPresses.d.ts.map +1 -0
  1124. package/lib/typescript/api/hinge/hinge.d.ts +21 -0
  1125. package/lib/typescript/api/hinge/hinge.d.ts.map +1 -0
  1126. package/lib/typescript/api/hooks/appHooks.d.ts +15 -0
  1127. package/lib/typescript/api/hooks/appHooks.d.ts.map +1 -0
  1128. package/lib/typescript/api/hooks/screenHooks.d.ts +74 -0
  1129. package/lib/typescript/api/hooks/screenHooks.d.ts.map +1 -0
  1130. package/lib/typescript/api/hooks/useArrangement.d.ts +13 -0
  1131. package/lib/typescript/api/hooks/useArrangement.d.ts.map +1 -0
  1132. package/lib/typescript/api/hooks/useHinge.d.ts +16 -0
  1133. package/lib/typescript/api/hooks/useHinge.d.ts.map +1 -0
  1134. package/lib/typescript/api/hooks/useNavigation.d.ts +108 -0
  1135. package/lib/typescript/api/hooks/useNavigation.d.ts.map +1 -0
  1136. package/lib/typescript/api/hooks/usePendingLink.d.ts +7 -0
  1137. package/lib/typescript/api/hooks/usePendingLink.d.ts.map +1 -0
  1138. package/lib/typescript/api/hooks/usePreview.d.ts +29 -0
  1139. package/lib/typescript/api/hooks/usePreview.d.ts.map +1 -0
  1140. package/lib/typescript/api/hooks/useReservedRegions.d.ts +13 -0
  1141. package/lib/typescript/api/hooks/useReservedRegions.d.ts.map +1 -0
  1142. package/lib/typescript/api/hooks/useSafeAreaInsets.d.ts +14 -0
  1143. package/lib/typescript/api/hooks/useSafeAreaInsets.d.ts.map +1 -0
  1144. package/lib/typescript/api/index.d.ts +60 -0
  1145. package/lib/typescript/api/index.d.ts.map +1 -0
  1146. package/lib/typescript/api/layout/Root.d.ts +47 -0
  1147. package/lib/typescript/api/layout/Root.d.ts.map +1 -0
  1148. package/lib/typescript/api/layout/Screen.d.ts +32 -0
  1149. package/lib/typescript/api/layout/Screen.d.ts.map +1 -0
  1150. package/lib/typescript/api/layout/SideMenu.d.ts +33 -0
  1151. package/lib/typescript/api/layout/SideMenu.d.ts.map +1 -0
  1152. package/lib/typescript/api/layout/SplitView.d.ts +48 -0
  1153. package/lib/typescript/api/layout/SplitView.d.ts.map +1 -0
  1154. package/lib/typescript/api/layout/Stack.d.ts +21 -0
  1155. package/lib/typescript/api/layout/Stack.d.ts.map +1 -0
  1156. package/lib/typescript/api/layout/Tabs.d.ts +120 -0
  1157. package/lib/typescript/api/layout/Tabs.d.ts.map +1 -0
  1158. package/lib/typescript/api/layout/element.d.ts +52 -0
  1159. package/lib/typescript/api/layout/element.d.ts.map +1 -0
  1160. package/lib/typescript/api/linking/linkPaths.d.ts +31 -0
  1161. package/lib/typescript/api/linking/linkPaths.d.ts.map +1 -0
  1162. package/lib/typescript/api/linking/linking.d.ts +37 -0
  1163. package/lib/typescript/api/linking/linking.d.ts.map +1 -0
  1164. package/lib/typescript/api/linking/pendingLinks.d.ts +8 -0
  1165. package/lib/typescript/api/linking/pendingLinks.d.ts.map +1 -0
  1166. package/lib/typescript/api/linking/types.d.ts +105 -0
  1167. package/lib/typescript/api/linking/types.d.ts.map +1 -0
  1168. package/lib/typescript/api/navigation.d.ts +115 -0
  1169. package/lib/typescript/api/navigation.d.ts.map +1 -0
  1170. package/lib/typescript/api/options/OptionsChain.d.ts +47 -0
  1171. package/lib/typescript/api/options/OptionsChain.d.ts.map +1 -0
  1172. package/lib/typescript/api/options/ScreenOptions.d.ts +32 -0
  1173. package/lib/typescript/api/options/ScreenOptions.d.ts.map +1 -0
  1174. package/lib/typescript/api/options/buttons.d.ts +35 -0
  1175. package/lib/typescript/api/options/buttons.d.ts.map +1 -0
  1176. package/lib/typescript/api/safeArea/ANNSafeAreaViewNativeComponent.d.ts +20 -0
  1177. package/lib/typescript/api/safeArea/ANNSafeAreaViewNativeComponent.d.ts.map +1 -0
  1178. package/lib/typescript/api/safeArea/screenInsets.d.ts +20 -0
  1179. package/lib/typescript/api/safeArea/screenInsets.d.ts.map +1 -0
  1180. package/lib/typescript/api/safeArea/screenRegions.d.ts +24 -0
  1181. package/lib/typescript/api/safeArea/screenRegions.d.ts.map +1 -0
  1182. package/lib/typescript/api/screens/ScreenBoundary.d.ts +34 -0
  1183. package/lib/typescript/api/screens/ScreenBoundary.d.ts.map +1 -0
  1184. package/lib/typescript/api/screens/arrangement.d.ts +70 -0
  1185. package/lib/typescript/api/screens/arrangement.d.ts.map +1 -0
  1186. package/lib/typescript/api/screens/defineScreen.d.ts +41 -0
  1187. package/lib/typescript/api/screens/defineScreen.d.ts.map +1 -0
  1188. package/lib/typescript/api/screens/nativeScreenCalls.d.ts +3 -0
  1189. package/lib/typescript/api/screens/nativeScreenCalls.d.ts.map +1 -0
  1190. package/lib/typescript/api/screens/nativeScreens.d.ts +47 -0
  1191. package/lib/typescript/api/screens/nativeScreens.d.ts.map +1 -0
  1192. package/lib/typescript/api/screens/registerScreens.d.ts +61 -0
  1193. package/lib/typescript/api/screens/registerScreens.d.ts.map +1 -0
  1194. package/lib/typescript/api/slots/ANNSlotNativeComponent.d.ts +15 -0
  1195. package/lib/typescript/api/slots/ANNSlotNativeComponent.d.ts.map +1 -0
  1196. package/lib/typescript/api/slots/SlotHost.d.ts +8 -0
  1197. package/lib/typescript/api/slots/SlotHost.d.ts.map +1 -0
  1198. package/lib/typescript/api/state/navigationState.d.ts +26 -0
  1199. package/lib/typescript/api/state/navigationState.d.ts.map +1 -0
  1200. package/lib/typescript/api/testIDs.d.ts +12 -0
  1201. package/lib/typescript/api/testIDs.d.ts.map +1 -0
  1202. package/lib/typescript/api/theme/theme.d.ts +70 -0
  1203. package/lib/typescript/api/theme/theme.d.ts.map +1 -0
  1204. package/lib/typescript/api/types.d.ts +64 -0
  1205. package/lib/typescript/api/types.d.ts.map +1 -0
  1206. package/lib/typescript/engine/backListeners.d.ts +8 -0
  1207. package/lib/typescript/engine/backListeners.d.ts.map +1 -0
  1208. package/lib/typescript/engine/buttons.d.ts +11 -0
  1209. package/lib/typescript/engine/buttons.d.ts.map +1 -0
  1210. package/lib/typescript/engine/commands.d.ts +38 -0
  1211. package/lib/typescript/engine/commands.d.ts.map +1 -0
  1212. package/lib/typescript/engine/events.d.ts +17 -0
  1213. package/lib/typescript/engine/events.d.ts.map +1 -0
  1214. package/lib/typescript/engine/ids.d.ts +3 -0
  1215. package/lib/typescript/engine/ids.d.ts.map +1 -0
  1216. package/lib/typescript/engine/launchState.d.ts +25 -0
  1217. package/lib/typescript/engine/launchState.d.ts.map +1 -0
  1218. package/lib/typescript/engine/layout.d.ts +32 -0
  1219. package/lib/typescript/engine/layout.d.ts.map +1 -0
  1220. package/lib/typescript/engine/mergeOptions.d.ts +6 -0
  1221. package/lib/typescript/engine/mergeOptions.d.ts.map +1 -0
  1222. package/lib/typescript/engine/native.d.ts +22 -0
  1223. package/lib/typescript/engine/native.d.ts.map +1 -0
  1224. package/lib/typescript/engine/nativeScreens.d.ts +49 -0
  1225. package/lib/typescript/engine/nativeScreens.d.ts.map +1 -0
  1226. package/lib/typescript/engine/options.d.ts +12 -0
  1227. package/lib/typescript/engine/options.d.ts.map +1 -0
  1228. package/lib/typescript/engine/places.d.ts +57 -0
  1229. package/lib/typescript/engine/places.d.ts.map +1 -0
  1230. package/lib/typescript/engine/props.d.ts +10 -0
  1231. package/lib/typescript/engine/props.d.ts.map +1 -0
  1232. package/lib/typescript/engine/reactMeasures.d.ts +3 -0
  1233. package/lib/typescript/engine/reactMeasures.d.ts.map +1 -0
  1234. package/lib/typescript/engine/rememberedOptions.d.ts +28 -0
  1235. package/lib/typescript/engine/rememberedOptions.d.ts.map +1 -0
  1236. package/lib/typescript/engine/screens.d.ts +90 -0
  1237. package/lib/typescript/engine/screens.d.ts.map +1 -0
  1238. package/lib/typescript/engine/slots.d.ts +71 -0
  1239. package/lib/typescript/engine/slots.d.ts.map +1 -0
  1240. package/lib/typescript/engine/tabs.d.ts +24 -0
  1241. package/lib/typescript/engine/tabs.d.ts.map +1 -0
  1242. package/lib/typescript/index.d.ts +3 -0
  1243. package/lib/typescript/index.d.ts.map +1 -0
  1244. package/lib/typescript/interfaces/ComponentEvents.d.ts +189 -0
  1245. package/lib/typescript/interfaces/ComponentEvents.d.ts.map +1 -0
  1246. package/lib/typescript/interfaces/Events.d.ts +199 -0
  1247. package/lib/typescript/interfaces/Events.d.ts.map +1 -0
  1248. package/lib/typescript/interfaces/Layout.d.ts +150 -0
  1249. package/lib/typescript/interfaces/Layout.d.ts.map +1 -0
  1250. package/lib/typescript/interfaces/Options.d.ts +93 -0
  1251. package/lib/typescript/interfaces/Options.d.ts.map +1 -0
  1252. package/lib/typescript/interfaces/options/animations.d.ts +452 -0
  1253. package/lib/typescript/interfaces/options/animations.d.ts.map +1 -0
  1254. package/lib/typescript/interfaces/options/bottomTabs.d.ts +462 -0
  1255. package/lib/typescript/interfaces/options/bottomTabs.d.ts.map +1 -0
  1256. package/lib/typescript/interfaces/options/buttons.d.ts +331 -0
  1257. package/lib/typescript/interfaces/options/buttons.d.ts.map +1 -0
  1258. package/lib/typescript/interfaces/options/common.d.ts +51 -0
  1259. package/lib/typescript/interfaces/options/common.d.ts.map +1 -0
  1260. package/lib/typescript/interfaces/options/modals.d.ts +202 -0
  1261. package/lib/typescript/interfaces/options/modals.d.ts.map +1 -0
  1262. package/lib/typescript/interfaces/options/preview.d.ts +40 -0
  1263. package/lib/typescript/interfaces/options/preview.d.ts.map +1 -0
  1264. package/lib/typescript/interfaces/options/sideMenu.d.ts +130 -0
  1265. package/lib/typescript/interfaces/options/sideMenu.d.ts.map +1 -0
  1266. package/lib/typescript/interfaces/options/splitView.d.ts +118 -0
  1267. package/lib/typescript/interfaces/options/splitView.d.ts.map +1 -0
  1268. package/lib/typescript/interfaces/options/stack.d.ts +109 -0
  1269. package/lib/typescript/interfaces/options/stack.d.ts.map +1 -0
  1270. package/lib/typescript/interfaces/options/system.d.ts +238 -0
  1271. package/lib/typescript/interfaces/options/system.d.ts.map +1 -0
  1272. package/lib/typescript/interfaces/options/toolbar.d.ts +45 -0
  1273. package/lib/typescript/interfaces/options/toolbar.d.ts.map +1 -0
  1274. package/lib/typescript/interfaces/options/topBar.d.ts +804 -0
  1275. package/lib/typescript/interfaces/options/topBar.d.ts.map +1 -0
  1276. package/lib/typescript/package.json +1 -0
  1277. package/package.json +166 -4
  1278. package/react-native.config.js +22 -0
  1279. package/src/ARCHITECTURE.md +289 -0
  1280. package/src/adapters/NativeANNTurboEventEmitter.ts +15 -0
  1281. package/src/adapters/NativeANNTurboModule.ts +100 -0
  1282. package/src/api/app/AppRegistry.ts +57 -0
  1283. package/src/api/app/activeApp.ts +20 -0
  1284. package/src/api/app/createNavigation.ts +566 -0
  1285. package/src/api/app/roots.ts +40 -0
  1286. package/src/api/app/splash.ts +154 -0
  1287. package/src/api/app/startFailure.tsx +39 -0
  1288. package/src/api/arrangement/arrangementState.ts +98 -0
  1289. package/src/api/commands/commands.ts +371 -0
  1290. package/src/api/commands/errors.ts +99 -0
  1291. package/src/api/commands/presentation.ts +78 -0
  1292. package/src/api/commands/sideMenus.ts +122 -0
  1293. package/src/api/commands/transitions.ts +133 -0
  1294. package/src/api/context/appContext.ts +23 -0
  1295. package/src/api/events/navigationEvents.ts +175 -0
  1296. package/src/api/events/screenLifecycle.ts +27 -0
  1297. package/src/api/events/tabPresses.ts +35 -0
  1298. package/src/api/hinge/hinge.ts +84 -0
  1299. package/src/api/hooks/appHooks.ts +37 -0
  1300. package/src/api/hooks/screenHooks.ts +272 -0
  1301. package/src/api/hooks/useArrangement.ts +26 -0
  1302. package/src/api/hooks/useHinge.ts +26 -0
  1303. package/src/api/hooks/useNavigation.ts +267 -0
  1304. package/src/api/hooks/usePendingLink.ts +11 -0
  1305. package/src/api/hooks/usePreview.ts +111 -0
  1306. package/src/api/hooks/useReservedRegions.ts +26 -0
  1307. package/src/api/hooks/useSafeAreaInsets.ts +23 -0
  1308. package/src/api/index.ts +139 -0
  1309. package/src/api/layout/Root.ts +113 -0
  1310. package/src/api/layout/Screen.ts +55 -0
  1311. package/src/api/layout/SideMenu.ts +87 -0
  1312. package/src/api/layout/SplitView.ts +146 -0
  1313. package/src/api/layout/Stack.ts +48 -0
  1314. package/src/api/layout/Tabs.ts +339 -0
  1315. package/src/api/layout/element.ts +114 -0
  1316. package/src/api/linking/linkPaths.ts +159 -0
  1317. package/src/api/linking/linking.ts +242 -0
  1318. package/src/api/linking/pendingLinks.ts +37 -0
  1319. package/src/api/linking/types.ts +130 -0
  1320. package/src/api/navigation.ts +269 -0
  1321. package/src/api/options/OptionsChain.ts +142 -0
  1322. package/src/api/options/ScreenOptions.ts +81 -0
  1323. package/src/api/options/buttons.ts +43 -0
  1324. package/src/api/safeArea/ANNSafeAreaViewNativeComponent.ts +28 -0
  1325. package/src/api/safeArea/screenInsets.ts +86 -0
  1326. package/src/api/safeArea/screenRegions.ts +99 -0
  1327. package/src/api/screens/ScreenBoundary.tsx +52 -0
  1328. package/src/api/screens/arrangement.ts +106 -0
  1329. package/src/api/screens/defineScreen.ts +57 -0
  1330. package/src/api/screens/nativeScreenCalls.ts +59 -0
  1331. package/src/api/screens/nativeScreens.ts +58 -0
  1332. package/src/api/screens/registerScreens.tsx +364 -0
  1333. package/src/api/slots/ANNSlotNativeComponent.ts +23 -0
  1334. package/src/api/slots/SlotHost.tsx +64 -0
  1335. package/src/api/state/navigationState.ts +95 -0
  1336. package/src/api/testIDs.ts +11 -0
  1337. package/src/api/theme/theme.ts +184 -0
  1338. package/src/api/types.ts +95 -0
  1339. package/src/engine/backListeners.ts +36 -0
  1340. package/src/engine/buttons.ts +91 -0
  1341. package/src/engine/commands.ts +469 -0
  1342. package/src/engine/events.ts +24 -0
  1343. package/src/engine/ids.ts +7 -0
  1344. package/src/engine/launchState.ts +35 -0
  1345. package/src/engine/layout.ts +247 -0
  1346. package/src/engine/mergeOptions.ts +20 -0
  1347. package/src/engine/native.ts +51 -0
  1348. package/src/engine/nativeScreens.ts +263 -0
  1349. package/src/engine/options.ts +165 -0
  1350. package/src/engine/places.ts +205 -0
  1351. package/src/engine/props.ts +45 -0
  1352. package/src/engine/reactMeasures.ts +24 -0
  1353. package/src/engine/rememberedOptions.ts +111 -0
  1354. package/src/engine/screens.tsx +239 -0
  1355. package/src/engine/slots.ts +191 -0
  1356. package/src/engine/tabs.ts +95 -0
  1357. package/src/index.ts +3 -0
  1358. package/src/interfaces/ComponentEvents.ts +214 -0
  1359. package/src/interfaces/Events.ts +227 -0
  1360. package/src/interfaces/Layout.ts +161 -0
  1361. package/src/interfaces/Options.ts +175 -0
  1362. package/src/interfaces/options/animations.ts +480 -0
  1363. package/src/interfaces/options/bottomTabs.ts +481 -0
  1364. package/src/interfaces/options/buttons.ts +364 -0
  1365. package/src/interfaces/options/common.ts +76 -0
  1366. package/src/interfaces/options/modals.ts +217 -0
  1367. package/src/interfaces/options/preview.ts +40 -0
  1368. package/src/interfaces/options/sideMenu.ts +132 -0
  1369. package/src/interfaces/options/splitView.ts +127 -0
  1370. package/src/interfaces/options/stack.ts +110 -0
  1371. package/src/interfaces/options/system.ts +252 -0
  1372. package/src/interfaces/options/toolbar.ts +47 -0
  1373. package/src/interfaces/options/topBar.ts +828 -0
@@ -0,0 +1,433 @@
1
+ # Glossary
2
+
3
+ The words these docs use for the parts of the navigation, each in a sentence or two, with the page that explains it.
4
+
5
+ The words these docs use for the parts of the navigation, from A to Z. Each entry says what the word means here, names the platform's own class where that helps, and links to the page that explains it. Where the pages use a second word for the same thing, the entry lists it as "also called".
6
+
7
+ [A](#a) · [B](#b) · [C](#c) · [D](#d) · [E](#e) · [F](#f) · [G](#g) · [H](#h) · [I](#i) · [K](#k) · [L](#l) · [M](#m) · [N](#n) · [O](#o) · [P](#p) · [R](#r) · [S](#s) · [T](#t) · [V](#v) · [W](#w) · [Z](#z)
8
+
9
+ ## A
10
+
11
+ ### Accessory
12
+
13
+ (iOS) 26: a screen of `screens` shown above the tab bar, such as the mini player of a music app. `Tabs().accessory('Player')` sets it, and it moves next to the tab bar when the bar shrinks. More: [The tab bar on each platform](../containers/tabs#platforms).
14
+
15
+ ### App defaults
16
+
17
+ The `options` of `createNavigation`: what every screen has unless its own options say otherwise, such as no large titles anywhere. Also called the default options. More: [Where a screen gets them](../fundamentals/screen-options#layers).
18
+
19
+ ### appProvider
20
+
21
+ A component that `createNavigation` puts around the whole app once. With it, every screen renders in [one tree](#one-tree) inside it, so a store or a query client is shared. More: [One tree](../architecture/one-tree#one-tree).
22
+
23
+ ### AppRegistry
24
+
25
+ The package's own `AppRegistry`, which `index.js` uses in place of React Native's. It takes the navigation made by `createNavigation` instead of a root component, and starts it when the native side launches the app. More: [Starting the app](../fundamentals/starting-the-app).
26
+
27
+ ### Appear, disappear
28
+
29
+ A screen appears each time the user comes to see it, and disappears when another screen covers it or it leaves. This is the user's line of a screen's life, apart from React's [mount](#mounted): a covered screen stays mounted. More: [What a screen goes through](../fundamentals/lifecycle-and-events#screen).
30
+
31
+ ## B
32
+
33
+ ### Back button
34
+
35
+ The button of the [top bar](#top-bar) that goes back one screen. It shows by itself on every screen but the first of a stack, and a screen sets its own look in its options. On (Android) it is an arrow without a title, the back arrow. More: [The back button](../screen-ui/back-and-gestures#back-button).
36
+
37
+ ### Badge
38
+
39
+ A number or a short text on the icon of a tab; a dot is a badge without text. `setTabBadge` changes it by the id of the tab. More: [Badges and dots](../containers/tabs#badges).
40
+
41
+ ### Bar button
42
+
43
+ A button of the top bar or of the toolbar: a text, an icon, a system item or a component, drawn by the platform. Its press is handled in `onPress` of the options or with `useNavigationButton`. More: [Bar buttons](../screen-ui/bar-buttons).
44
+
45
+ ### Builder
46
+
47
+ A function that makes a [layout](#layout): `Stack`, `Tabs` and `Tab`, `SideMenu`, `SplitView`, `Screen`, `Root`. Each one is a real container of the platform. More: [What a root can be](../start/quick-start#roots).
48
+
49
+ ## C
50
+
51
+ ### Center
52
+
53
+ The content of a [side menu](#side-menu), what the user works in. It is a stack, so it pushes as the root does, and the commands of the menu act on it. More: [What a side menu is](../containers/side-menu#what).
54
+
55
+ ### Chain
56
+
57
+ The way options are written: `(s) => s.title('Profile').largeTitle()`. Each step adds options over the steps before it, so the last one wins; `options()` takes any option the chain doesn't name. More: [The chain and plain objects](../fundamentals/screen-options#chain).
58
+
59
+ ### Codegen
60
+
61
+ `npx apex-navigation codegen`: makes Swift and Kotlin types from the props of [native screens](#native-screen), and registers the screens under their names. It runs again after each change of the props. More: [The generated code](../architecture/native-screens#step-codegen).
62
+
63
+ ### Column
64
+
65
+ One part of a [split view](#split-view), side by side with the others, each with a stack of its own: `primary` (the [sidebar](#sidebar)), `supplementary`, `secondary` and `inspector`. `showInColumn` shows a screen in one. More: [Building a split view](../containers/split-view#build).
66
+
67
+ ### Command
68
+
69
+ A call that asks the native side to change what shows: `push`, `showModal`, `switchTo`, `selectTab`. It returns a promise that resolves once the [move](#move) is done, and rejects with the reason when it can't be made. More: [When a move is done](../fundamentals/moving-between-screens#done).
70
+
71
+ ### Compact layout
72
+
73
+ What a split view shows where there is room for one column: on iPhone, in a narrow iPad window, on a narrow Android screen. `compact` of `SplitView` sets it. More: [A phone and a narrow window](../containers/split-view#compact).
74
+
75
+ ### Context
76
+
77
+ The app's own small object that every screen, every option and the start of the app can read: the signed-in user, the language, flags, services. `context` of `createNavigation` is its first value, `navigation.setContext` is the only way to change it, and `useAppContext` reads it. Also called the app context. More: [The context](../architecture/theme-and-context#context).
78
+
79
+ ## D
80
+
81
+ ### Detent
82
+
83
+ A height a [sheet](#sheet) stops at: `'medium'` (about half), `'large'` (full), a number, or `'content'`, the height of the screen's content. The user drags the sheet between its detents. More: [Sheets](../containers/modals#sheets).
84
+
85
+ ### didMount
86
+
87
+ A function of `createNavigation` that runs once the first root is on screen: the place for what can wait, such as a permission request. It runs once per JavaScript runtime, not once per launch. More: [After the first screen](../fundamentals/starting-the-app#after).
88
+
89
+ ### Direction
90
+
91
+ Left to right or right to left, for the whole app: `direction` of `createNavigation`, changed with `navigation.setDirection`. The bars, the transitions and the swipe back follow it. More: [The direction of the app](../screen-ui/system-ui#direction).
92
+
93
+ ### doctor
94
+
95
+ `npx apex-navigation doctor`: checks what the navigation needs in the app and on the machine, and gives a fix for each problem. More: [Check everything with doctor](../start/installation#doctor).
96
+
97
+ ## E
98
+
99
+ ### Edge effect
100
+
101
+ (iOS) 26: the fade of content that scrolls under a bar. `scrollEdgeEffect` sets how it looks at each edge. More: [The edge of the scroll](../screen-ui/system-ui#scroll-edge).
102
+
103
+ ### Engine
104
+
105
+ The thin layer in JavaScript between your app and the native side. It turns layouts and options into JSON, sends the commands, and passes the events back. More: [How it works](../start/introduction#how).
106
+
107
+ ### errorFallback
108
+
109
+ A component of the app shown in place of a screen that failed to render, with `retry`. When the start of the app fails, it is the first screen. More: [A screen that fails](../architecture/errors-and-loading#error).
110
+
111
+ ### Event
112
+
113
+ What the native side tells JavaScript: a screen appeared, a button was pressed, a tab was selected, a sheet moved. Screens hear their own with hooks; the whole app with `listeners`, `navigation.on` and `useNavigationEvent`. More: [Every event](../fundamentals/lifecycle-and-events#events).
114
+
115
+ ## F
116
+
117
+ ### FAB
118
+
119
+ (Android) The floating action button: the main action of a screen, floating over the content at the bottom corner. The `fab` option sets it, with its actions. More: [The floating action button](../screen-ui/toolbar-and-fab#fab).
120
+
121
+ ### Focused
122
+
123
+ A screen has the focus while it has appeared and nothing covers it: `useFocusEffect` runs then. Under a sheet a screen still shows, so it doesn't [disappear](#appear), but it loses the focus: the user is in the sheet. `useIsFocused()` is `true` for one screen, the one the user sees. More: [The hooks of a screen](../fundamentals/lifecycle-and-events#hooks).
124
+
125
+ ### Fold
126
+
127
+ Where a device that folds bends its screen: iPhone Duo, an Android foldable. Partly folded, the screen divides there, and `useReservedRegions` gives the fold as `division`; a [pair](#pair) puts its screens on each side of it. Opened flat, the fold is not a division. More: [The fold and the camera](../screen-ui/system-ui#reserved-regions).
128
+
129
+ ### Form sheet
130
+
131
+ (iPadOS) A modal as a card in the middle of the screen, `style: 'formSheet'`, sized with `contentSize`. On iPhone it is a [sheet](#sheet). More: [A form on iPad](../containers/modals#form).
132
+
133
+ ## G
134
+
135
+ ### Grabber
136
+
137
+ The small handle at the top of a [sheet](#sheet) that tells the user the sheet moves: `sheet.grabber`. More: [Sheets](../containers/modals#sheets).
138
+
139
+ ### Group
140
+
141
+ Screens listed in `groups` of `createNavigation` that share options, such as the sign-in screens without a top bar. A group gives options and nothing else: its screens are named like any other. More: [Screens that share options](../fundamentals/screens-and-props#groups).
142
+
143
+ ## H
144
+
145
+ ### Hinge
146
+
147
+ The joint of a device that folds, with its state (closed, partly open, open) and its angle. `useHinge` and `useHingeChange` read it, for effects; the layout of a screen follows the [fold](#fold) and the [pairs](#pair). More: [The hinge](../screen-ui/system-ui#hinge).
148
+
149
+ ## I
150
+
151
+ ### Id of a screen
152
+
153
+ The id of one showing of a screen, such as `Component12`, made by the navigation. Two Profile screens pushed one over the other have the same name and two ids. `useScreen()` returns it, and `push` resolves with it. More: [Which screen a component is in](../fundamentals/screens-and-props#use-screen).
154
+
155
+ ### init
156
+
157
+ `npx @apexnative/navigation init MyApp`: makes a new React Native app with the navigation set up, and a [starter](#starter) in place of the template's `App`. More: [A new app](../start/installation#new-app).
158
+
159
+ ### initialRoot
160
+
161
+ A function of `createNavigation` that picks the first of the [named roots](#roots) from the context, once `willMount` has set it. More: [One root, or named roots](../fundamentals/switching-roots#roots).
162
+
163
+ ### Inspector
164
+
165
+ (iPadOS) 26: a column at the trailing edge of a split view, for facts about the item. Android leaves it out. More: [Building a split view](../containers/split-view#build).
166
+
167
+ ## K
168
+
169
+ ### Key
170
+
171
+ `key` of `defineScreen`: the prop that makes a screen one per item within a stack. Pushing a chat that is in the stack already goes back to it instead of opening a copy. More: [One screen per item](../fundamentals/screens-and-props#key).
172
+
173
+ ### Keyboard shortcut
174
+
175
+ (iOS) A key combination with a hardware keyboard, such as ⌘N, set with the `keyCommands` option. A press sends `keyCommandPressed`. More: [Keyboard shortcuts](../screen-ui/system-ui#shortcuts).
176
+
177
+ ## L
178
+
179
+ ### Large title
180
+
181
+ (iOS) A big title under the row of the top bar that moves into the bar as the content scrolls. On (Android) the same option shows the large top app bar of Material 3. More: [The large title](../screen-ui/top-bar#large-title).
182
+
183
+ ### Large window
184
+
185
+ A window with room for a [pair](#pair): on iOS both size classes regular (iPad, iPhone Duo open), on Android at least 600 dp wide and 480 dp high (a tablet, a foldable open). Any phone and iPhone Duo folded are not. More: [What each device shows](../containers/arrangement#devices).
186
+
187
+ ### Layout
188
+
189
+ A description of what the platform shows: a screen name, or a tree of [builders](#builder) such as `Tabs(Tab('Home'), Tab('Inbox'))`. A root is a layout, and so is the content of a tab, a modal or a column. More: [What a root is](../fundamentals/switching-roots#what).
190
+
191
+ ### Lazy tabs
192
+
193
+ `Tabs().lazy()`: each tab is created the first time it shows, not with the tabs. More: [When tabs are created](../containers/tabs#lazy).
194
+
195
+ ### Liquid Glass
196
+
197
+ (iOS) 26: the see-through material of the bars, the tab bar and the buttons. A background color in the options takes it away. More: [The background and the border](../screen-ui/top-bar#background).
198
+
199
+ ### listeners
200
+
201
+ Handlers of the [events](#event) of the whole app, in `createNavigation`. They are attached before the first root shows, so they hear the first screen too. More: [Where to listen](../fundamentals/lifecycle-and-events#where).
202
+
203
+ ### Loading a screen later
204
+
205
+ `{ load: () => import('./screens/Settings') }` in `screens`: the code of the screen runs the first time a command shows it, not at the start. More: [Loading a screen later](../fundamentals/screens-and-props#lazy).
206
+
207
+ ### loadingFallback
208
+
209
+ A component of the app shown in place of a screen that waits for its data with Suspense. The bar is there at once; only the content waits. More: [A screen that loads](../architecture/errors-and-loading#loading).
210
+
211
+ ## M
212
+
213
+ ### Modal
214
+
215
+ A task of its own over the app, such as a form or a message to write. It shows over the tabs and the bars, has a stack of its own, and closes as a whole: `showModal`, `dismiss`. More: [Modals](../containers/modals#what).
216
+
217
+ ### Mounted
218
+
219
+ In React's tree. A screen under another one stays mounted, with its state and scroll, though the user doesn't see it; it unmounts when it leaves its stack, its modal closes or a new root comes. More: [The life of a screen](../fundamentals/screens-and-props#lifecycle).
220
+
221
+ ### Move
222
+
223
+ What the user sees when a [command](#command) shows a screen: a push, a modal, an overlay, a tab, a column beside a list, a new root. Each has its own way back. More: [The moves](../fundamentals/moving-between-screens#moves).
224
+
225
+ ## N
226
+
227
+ ### Native screen
228
+
229
+ A screen written in SwiftUI, UIKit, Jetpack Compose or Android views, defined with `nativeScreen`. It is pushed, presented and put in tabs like a React screen, and gets its props from the app. More: [Native screens](../architecture/native-screens#what).
230
+
231
+ ### navigation
232
+
233
+ The object of the package for code outside the screens, such as a store or a notification handler. Its commands act from the screen the user sees; it has no `dismiss` and no `setOptions`, which need a screen of their own. A screen uses `useNavigation()` instead. More: [Anywhere else: navigation](../fundamentals/moving-between-screens#navigation).
234
+
235
+ ### navigation-env.d.ts
236
+
237
+ The file at the root of the app that declares `Register`: it links the commands of the package to the screens of `Navigation.ts`, so names and props are checked, and can give the type of the context. More: [Typed commands](../start/installation#typed-commands).
238
+
239
+ ### Navigation state
240
+
241
+ What the user sees now: the screen of the top modal, or of the root, and the selected tab. Overlays don't count. `getState()`, `useNavigationState` and the event `stateChanged` read it. More: [What the user sees now](../fundamentals/lifecycle-and-events#state).
242
+
243
+ ## O
244
+
245
+ ### One tree
246
+
247
+ The way of rendering where every screen renders in one React tree inside [`appProvider`](#app-provider), while the screens stay native. Without `appProvider`, each screen is a [React root](#react-root) of its own. More: [One tree](../architecture/one-tree#one-tree).
248
+
249
+ ### Options
250
+
251
+ What the app tells the platform about a screen: its title, buttons, bars, back gesture, status bar. They are data, not components, and go to the native side with the command, so they apply before the screen appears. More: [What options are](../fundamentals/screen-options#what).
252
+
253
+ ### Overflow menu
254
+
255
+ The menu at the end of the top bar: "•••" on iOS 16+, "⋮" on Android. It holds the actions used less, and the right buttons the bar has no room for. More: [The overflow menu](../screen-ui/bar-buttons#overflow).
256
+
257
+ ### Overlay
258
+
259
+ A screen shown over everything without taking the place of any: a toast, a banner, a mini player. `showOverlay` shows one, and touches where it draws nothing reach the app under it. More: [What an overlay is](../containers/overlays#what).
260
+
261
+ ## P
262
+
263
+ ### Pair
264
+
265
+ Two screens shown as one entry of a stack: the primary, whose bar shows, and the secondary beside it, under it or behind it, in a [large window](#large-window). Back takes both. `arrangement` of `defineScreen` or `defineArrangement` makes one; UIKit calls it an arrangement. More: [Arrangement](../containers/arrangement).
266
+
267
+ ### Popover
268
+
269
+ (iPadOS) A modal that points at the bar button or the view that opened it. On iPhone it becomes a sheet; on Android the modal covers the screen. More: [A popover](../containers/modals#popover).
270
+
271
+ ### Presentation
272
+
273
+ `presentation` of `createNavigation`: the settings every push, modal and overlay starts from, such as a close button on every modal. A command's own settings go over it. More: [Defaults for the whole app](../fundamentals/moving-between-screens#presentation).
274
+
275
+ ### Presentation style
276
+
277
+ How the platform presents a modal: `style` of `showModal`, such as `'fullScreen'`, `'formSheet'` or `'overFullScreen'`. Without it, a modal is a sheet on iOS and covers the screen on Android. More: [How a modal looks](../containers/modals#styles).
278
+
279
+ ### Preset
280
+
281
+ A named [transition](#transition) of a command: `'platform'`, `'fade'`, `'slideUp'`, `'slideFromEnd'`, `'scale'` or `'none'`. More: [Presets](../architecture/transitions#presets).
282
+
283
+ ### Preview
284
+
285
+ (iOS) A long press on a view shows the screen it opens, small, with a menu; a tap on it pushes the screen. `usePreview` sets it. More: [Preview](../architecture/transitions#preview).
286
+
287
+ ### Props
288
+
289
+ The data of one showing of a screen, given by the command that shows it. They stay in JavaScript, so a prop can be a function, and TypeScript checks them against the component. In React Navigation and Expo Router the same data is a screen's params. More: [Props](../fundamentals/screens-and-props#props).
290
+
291
+ ## R
292
+
293
+ ### React root
294
+
295
+ A React tree of its own. By default each screen renders in a React root of its own, inside the native screen the platform shows. It isn't a [root](#root) of the navigation. More: [A root per screen](../architecture/one-tree#root-per-screen).
296
+
297
+ ### Reserved region
298
+
299
+ A part of a screen the hardware takes, inside the screen where the [safe area](#safe-area) doesn't reach: the [fold](#fold) of a partly folded device (`division`), a camera or a hinge over the screen (`occlusion`). `useReservedRegions` gives them. More: [The fold and the camera](../screen-ui/system-ui#reserved-regions).
300
+
301
+ ### Root
302
+
303
+ What takes the window: the bottom layer of the app, under the modals and the overlays. It is a screen name or a [layout](#layout), given in `root` or as one of `roots`, and `switchTo` replaces it. More: [What a root is](../fundamentals/switching-roots#what).
304
+
305
+ ### Roots
306
+
307
+ `roots` of `createNavigation`: the parts of an app the user switches between, by name, such as `signedOut` and `signedIn`. A root can be a function that takes a param. Also called named roots. More: [One root, or named roots](../fundamentals/switching-roots#roots).
308
+
309
+ ### Route
310
+
311
+ An entry of `linking.routes`: a path pattern, such as `'user/:userId'`, and what a link with it does. It is a screen name, a function, or `{ start, open, when }`. More: [Routes](../guides/deep-links#routes).
312
+
313
+ ## S
314
+
315
+ ### Safe area
316
+
317
+ The part of the screen that nothing covers: not the bars, the status bar, the cutout or the home indicator. The navigation keeps every screen in it by default, measured on the native side. More: [The safe area](../screen-ui/system-ui#safe-area).
318
+
319
+ ### Screen
320
+
321
+ Everything the user sees in the app: a list, its details, the settings. It is a screen of the platform with your component inside; the platform slides it in, draws its bars and takes it back. The app registers it under a name in `screens`, and commands show it by that name. More: [What a screen is](../fundamentals/screens-and-props#what).
322
+
323
+ ### screenProvider
324
+
325
+ A component that `createNavigation` puts around each screen on its own. Each screen has its own copy of it, so state inside it belongs to that screen. More: [A provider around every screen](../architecture/one-tree#screen-provider).
326
+
327
+ ### Search field
328
+
329
+ The platform's search field in the top bar: `UISearchController` on (iOS), the Material 3 search on (Android). The `searchBar` option turns it on, and `useSearchBar` gets its text. Also called the search bar. More: [Search](../screen-ui/search).
330
+
331
+ ### setup
332
+
333
+ `npx apex-navigation setup`: sets an app you have up for the navigation. It changes the native entry points, writes `Navigation.ts`, and installs the pods. More: [The app you have](../start/installation#existing-app).
334
+
335
+ ### Shared elements
336
+
337
+ Views that move from one screen into the next during a push, named by their `nativeID`; the rest of the screen fades. More: [Shared elements](../architecture/transitions#shared).
338
+
339
+ ### Sheet
340
+
341
+ A modal that comes up from the bottom and can stop at several heights, its [detents](#detent). It is UIKit's sheet on (iOS) and the Material bottom sheet on (Android). Also called a bottom sheet. More: [Sheets](../containers/modals#sheets).
342
+
343
+ ### Side menu
344
+
345
+ A menu that slides in beside the content: a [center](#center), and a menu on one side or both. `SideMenu` builds it. Also called a drawer. More: [What a side menu is](../containers/side-menu#what).
346
+
347
+ ### Sidebar
348
+
349
+ The first column of a split view on iPad, `primary`, which shows and hides beside the item. The tab bar of iPadOS 18+ can also turn into a sidebar. More: [How the sidebar shows](../containers/split-view#sidebar).
350
+
351
+ ### Splash screen
352
+
353
+ The platform's own screen between the tap on the icon and the first screen: a storyboard on iOS, the system splash screen of the activity's theme on Android. `npx apex-navigation splash` makes it from a logo and colors, and the navigation keeps it until the first root is drawn. Also called the launch screen, iOS's name for it. A splash of your own in React Native can follow it on a cold start: `splash` of `createNavigation`. More: [Splash screen](../guides/splash-screen).
354
+
355
+ ### Split view
356
+
357
+ Columns side by side on a big screen, each with a stack of its own: `UISplitViewController` on (iPadOS), two panes on (Android). Where there is room for one column, it shows its [compact layout](#compact). More: [What a split view is](../containers/split-view#what).
358
+
359
+ ### Stack
360
+
361
+ Screens one over another: the top one shows, back goes to the one under it, and the ones under it stay mounted. It is `UINavigationController` on (iOS) and the library's own stack of views on (Android), with one top bar for all its screens. More: [What a stack is](../containers/stack#what).
362
+
363
+ ### Starter
364
+
365
+ What `init` puts in place of the template's `App`: Home and Details in a stack, the app of the Quick start. More: [A new app](../start/installation#new-app).
366
+
367
+ ### Status bar
368
+
369
+ The system bar at the top of the screen, with the time and the battery. Each screen sets its own with the `statusBar` option, such as light text over a photo. More: [The status bar](../screen-ui/system-ui#status-bar).
370
+
371
+ ### Swipe back
372
+
373
+ (iOS) The swipe from the left edge, and on iOS 26 from the content, that goes back following the finger. `popGesture` narrows it or turns it off. More: [The swipe back](../screen-ui/back-and-gestures#swipe).
374
+
375
+ ### System back
376
+
377
+ (Android) The back of the system: a button, or a swipe from either edge. It closes a side menu or the search, pops a screen, or closes a modal, where the user is. More: [The system back of Android](../screen-ui/back-and-gestures#system-back).
378
+
379
+ ## T
380
+
381
+ ### Tab
382
+
383
+ A section of the app in [tabs](#tab-bar), with a stack of its own that it keeps while the user looks at other tabs. `Tab` builds one; a `Tab()` without content is a button that never becomes current. More: [What tabs are](../containers/tabs#what).
384
+
385
+ ### Tab bar
386
+
387
+ The bar of the tabs: the system tab bar on (iOS), a bar at the top or a sidebar on (iPadOS), the Material 3 bottom navigation on (Android). Its options are `bottomTabs`. More: [The tab bar on each platform](../containers/tabs#platforms).
388
+
389
+ ### Theme
390
+
391
+ The colors of the navigation: the bars, the tabs, the backgrounds, with a value for light and dark. `theme` of `createNavigation` sets it, and `navigation.setTheme` replaces it as a whole. More: [The theme](../architecture/theme-and-context#theme).
392
+
393
+ ### Title component
394
+
395
+ A React component in place of the title of the top bar, such as an avatar and a name. It is registered in `screens` and named in `title.component`. More: [A component in place of the title](../screen-ui/top-bar#title-component).
396
+
397
+ ### Toolbar
398
+
399
+ (iOS) A row of bar buttons at the bottom of a stack. It shows while the screen on top has buttons for it. More: [The toolbar](../screen-ui/toolbar-and-fab#toolbar).
400
+
401
+ ### Top bar
402
+
403
+ The bar at the top of a stack: it names the screen and holds the way back and the actions. It belongs to the stack, and each screen fills it through its options: `UINavigationBar` on (iOS), the Material 3 top app bar on (Android). More: [What the top bar is](../screen-ui/top-bar#what).
404
+
405
+ ### Transition
406
+
407
+ How a screen comes in and goes. By default it is the platform's own, which follows the finger; a command can ask for a [preset](#preset), shared elements, a zoom or an animation of its own. More: [Transitions](../architecture/transitions).
408
+
409
+ ## V
410
+
411
+ ### Vertical bar
412
+
413
+ (iOS) 27.1 The strip at the trailing edge of iPhone Duo's window that holds the status bar, the tab bar and the buttons of the bars, folded and open. The screen goes under it by default, as under a top bar; `layout.drawBehindVerticalBar: false` keeps the content off it, and `layout.verticalBars: false` keeps a screen's bars horizontal. More: [The vertical bar of iPhone Duo](../screen-ui/system-ui#vertical-bar), [Buttons on iPhone Duo](../screen-ui/bar-buttons#iphone-duo).
414
+
415
+ ## W
416
+
417
+ ### Waiting link
418
+
419
+ A link whose `when` is false, such as a link to an order while the user is signed out. It waits until the context lets it run; `usePendingLink` gives it to a component. Also called the pending link, the API's word. More: [Links that wait](../guides/deep-links#when).
420
+
421
+ ### willMount
422
+
423
+ A function of `createNavigation` that runs before the first screen, while the splash screen shows: the place to load what the first screen needs. When it throws, the start of the app fails. More: [Before the first screen](../fundamentals/starting-the-app#before).
424
+
425
+ ### Window
426
+
427
+ (iOS) What shows behind the screens, such as around a modal as it comes in. `window.backgroundColor` of `createNavigation` colors it. More: [The window](../screen-ui/system-ui#window).
428
+
429
+ ## Z
430
+
431
+ ### Zoom
432
+
433
+ (iOS) 18+: a transition in which the next screen opens out of a view and shrinks back into it. On Android and older iOS the screen comes in with the platform's transition. More: [Zoom](../architecture/transitions#zoom).