@apexnative/navigation 0.0.0-stage → 1.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1372) hide show
  1. package/ApexNavigation.podspec +42 -0
  2. package/LICENSE +21 -0
  3. package/README.md +76 -2
  4. package/android/CLAUDE.md +183 -0
  5. package/android/CORE.md +219 -0
  6. package/android/MATERIAL_SYMBOLS_LICENSE.txt +205 -0
  7. package/android/RECIPES.md +39 -0
  8. package/android/build.gradle +108 -0
  9. package/android/consumer-rules.pro +2 -0
  10. package/android/src/main/AndroidManifest.xml +9 -0
  11. package/android/src/main/java/dev/apexnative/navigation/EdgeToEdgeDecision.kt +25 -0
  12. package/android/src/main/java/dev/apexnative/navigation/NavigationActivity.kt +339 -0
  13. package/android/src/main/java/dev/apexnative/navigation/NavigationApplication.kt +90 -0
  14. package/android/src/main/java/dev/apexnative/navigation/NavigationPackage.kt +37 -0
  15. package/android/src/main/java/dev/apexnative/navigation/customrow/BottomTabsCustomRowOptions.kt +85 -0
  16. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutChecks.kt +51 -0
  17. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutException.kt +7 -0
  18. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutNode.kt +118 -0
  19. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutReader.kt +274 -0
  20. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutType.kt +35 -0
  21. package/android/src/main/java/dev/apexnative/navigation/nativescreen/NativeScreenCalls.kt +61 -0
  22. package/android/src/main/java/dev/apexnative/navigation/nativescreen/NativeScreenContext.kt +84 -0
  23. package/android/src/main/java/dev/apexnative/navigation/nativescreen/NativeScreenCreator.kt +17 -0
  24. package/android/src/main/java/dev/apexnative/navigation/options/AnimationsOptions.kt +54 -0
  25. package/android/src/main/java/dev/apexnative/navigation/options/BottomTabOptions.kt +238 -0
  26. package/android/src/main/java/dev/apexnative/navigation/options/BottomTabsOptions.kt +244 -0
  27. package/android/src/main/java/dev/apexnative/navigation/options/ButtonMenuOptions.kt +70 -0
  28. package/android/src/main/java/dev/apexnative/navigation/options/ButtonOptions.kt +296 -0
  29. package/android/src/main/java/dev/apexnative/navigation/options/ComponentOptions.kt +141 -0
  30. package/android/src/main/java/dev/apexnative/navigation/options/DefaultOptions.kt +21 -0
  31. package/android/src/main/java/dev/apexnative/navigation/options/FabOptions.kt +97 -0
  32. package/android/src/main/java/dev/apexnative/navigation/options/FontOptions.kt +47 -0
  33. package/android/src/main/java/dev/apexnative/navigation/options/HardwareBackButtonOptions.kt +49 -0
  34. package/android/src/main/java/dev/apexnative/navigation/options/InterpolationOptions.kt +203 -0
  35. package/android/src/main/java/dev/apexnative/navigation/options/KeyCommandOptions.kt +49 -0
  36. package/android/src/main/java/dev/apexnative/navigation/options/LargeTitleOptions.kt +78 -0
  37. package/android/src/main/java/dev/apexnative/navigation/options/LayoutAnimation.kt +157 -0
  38. package/android/src/main/java/dev/apexnative/navigation/options/LayoutOptions.kt +94 -0
  39. package/android/src/main/java/dev/apexnative/navigation/options/ModalOptions.kt +87 -0
  40. package/android/src/main/java/dev/apexnative/navigation/options/ModalPlacementOptions.kt +90 -0
  41. package/android/src/main/java/dev/apexnative/navigation/options/NavigationBarOptions.kt +44 -0
  42. package/android/src/main/java/dev/apexnative/navigation/options/Options.kt +167 -0
  43. package/android/src/main/java/dev/apexnative/navigation/options/OptionsCache.kt +21 -0
  44. package/android/src/main/java/dev/apexnative/navigation/options/OptionsReader.kt +133 -0
  45. package/android/src/main/java/dev/apexnative/navigation/options/PreviewOptions.kt +97 -0
  46. package/android/src/main/java/dev/apexnative/navigation/options/ReadableMaps.kt +70 -0
  47. package/android/src/main/java/dev/apexnative/navigation/options/ScrollEdgeEffectOptions.kt +98 -0
  48. package/android/src/main/java/dev/apexnative/navigation/options/SearchBarOptions.kt +151 -0
  49. package/android/src/main/java/dev/apexnative/navigation/options/SharedElementTransitionOptions.kt +57 -0
  50. package/android/src/main/java/dev/apexnative/navigation/options/SheetOptions.kt +108 -0
  51. package/android/src/main/java/dev/apexnative/navigation/options/SideMenuOptions.kt +130 -0
  52. package/android/src/main/java/dev/apexnative/navigation/options/SplitViewGroupOptions.kt +190 -0
  53. package/android/src/main/java/dev/apexnative/navigation/options/SplitViewOptions.kt +28 -0
  54. package/android/src/main/java/dev/apexnative/navigation/options/StackAnimationOptions.kt +270 -0
  55. package/android/src/main/java/dev/apexnative/navigation/options/StatusBarOptions.kt +75 -0
  56. package/android/src/main/java/dev/apexnative/navigation/options/TitleOptions.kt +167 -0
  57. package/android/src/main/java/dev/apexnative/navigation/options/ToolbarOptions.kt +60 -0
  58. package/android/src/main/java/dev/apexnative/navigation/options/TopBarAppearanceOptions.kt +223 -0
  59. package/android/src/main/java/dev/apexnative/navigation/options/TopBarOptions.kt +381 -0
  60. package/android/src/main/java/dev/apexnative/navigation/options/ViewAnimationOptions.kt +225 -0
  61. package/android/src/main/java/dev/apexnative/navigation/options/WindowOptions.kt +36 -0
  62. package/android/src/main/java/dev/apexnative/navigation/options/params/Bool.kt +23 -0
  63. package/android/src/main/java/dev/apexnative/navigation/options/params/Fraction.kt +12 -0
  64. package/android/src/main/java/dev/apexnative/navigation/options/params/LayoutDirection.kt +26 -0
  65. package/android/src/main/java/dev/apexnative/navigation/options/params/Param.kt +24 -0
  66. package/android/src/main/java/dev/apexnative/navigation/options/params/Text.kt +24 -0
  67. package/android/src/main/java/dev/apexnative/navigation/options/params/ThemeColour.kt +259 -0
  68. package/android/src/main/java/dev/apexnative/navigation/options/params/Variant.kt +36 -0
  69. package/android/src/main/java/dev/apexnative/navigation/options/parsers/BoolParser.kt +15 -0
  70. package/android/src/main/java/dev/apexnative/navigation/options/parsers/FontParser.kt +28 -0
  71. package/android/src/main/java/dev/apexnative/navigation/options/parsers/FractionParser.kt +24 -0
  72. package/android/src/main/java/dev/apexnative/navigation/options/parsers/IconParser.kt +48 -0
  73. package/android/src/main/java/dev/apexnative/navigation/options/parsers/StringListParser.kt +27 -0
  74. package/android/src/main/java/dev/apexnative/navigation/options/parsers/TextParser.kt +32 -0
  75. package/android/src/main/java/dev/apexnative/navigation/options/parsers/TypefaceLoader.kt +42 -0
  76. package/android/src/main/java/dev/apexnative/navigation/options/parsers/VariantParser.kt +34 -0
  77. package/android/src/main/java/dev/apexnative/navigation/react/ArrangementStates.kt +41 -0
  78. package/android/src/main/java/dev/apexnative/navigation/react/CommandAnswer.kt +111 -0
  79. package/android/src/main/java/dev/apexnative/navigation/react/CommandListener.kt +27 -0
  80. package/android/src/main/java/dev/apexnative/navigation/react/CommandRunner.kt +131 -0
  81. package/android/src/main/java/dev/apexnative/navigation/react/DeveloperReload.kt +69 -0
  82. package/android/src/main/java/dev/apexnative/navigation/react/ErrorTexts.kt +123 -0
  83. package/android/src/main/java/dev/apexnative/navigation/react/Hinge.kt +154 -0
  84. package/android/src/main/java/dev/apexnative/navigation/react/LaunchLink.kt +37 -0
  85. package/android/src/main/java/dev/apexnative/navigation/react/NavigationTurboModule.kt +311 -0
  86. package/android/src/main/java/dev/apexnative/navigation/react/OptionsCommands.kt +89 -0
  87. package/android/src/main/java/dev/apexnative/navigation/react/ReactGateway.kt +67 -0
  88. package/android/src/main/java/dev/apexnative/navigation/react/ReactView.kt +197 -0
  89. package/android/src/main/java/dev/apexnative/navigation/react/ReadableJson.kt +60 -0
  90. package/android/src/main/java/dev/apexnative/navigation/react/ReloadCoordinator.kt +130 -0
  91. package/android/src/main/java/dev/apexnative/navigation/react/ScreenInsets.kt +69 -0
  92. package/android/src/main/java/dev/apexnative/navigation/react/ScreenRegions.kt +87 -0
  93. package/android/src/main/java/dev/apexnative/navigation/react/ScrollEvents.kt +160 -0
  94. package/android/src/main/java/dev/apexnative/navigation/react/StartInfo.kt +44 -0
  95. package/android/src/main/java/dev/apexnative/navigation/react/events/AppearanceDispatcher.kt +507 -0
  96. package/android/src/main/java/dev/apexnative/navigation/react/events/ComponentType.kt +13 -0
  97. package/android/src/main/java/dev/apexnative/navigation/react/events/EventEmitter.kt +199 -0
  98. package/android/src/main/java/dev/apexnative/navigation/react/events/NavigationStateReporter.kt +62 -0
  99. package/android/src/main/java/dev/apexnative/navigation/react/events/ScreenAppearance.kt +87 -0
  100. package/android/src/main/java/dev/apexnative/navigation/react/events/StateHold.kt +62 -0
  101. package/android/src/main/java/dev/apexnative/navigation/safearea/SafeAreaReadyEvent.kt +16 -0
  102. package/android/src/main/java/dev/apexnative/navigation/safearea/SafeAreaView.kt +140 -0
  103. package/android/src/main/java/dev/apexnative/navigation/safearea/SafeAreaViewManager.kt +45 -0
  104. package/android/src/main/java/dev/apexnative/navigation/slots/SlotContainers.kt +44 -0
  105. package/android/src/main/java/dev/apexnative/navigation/slots/SlotHost.kt +91 -0
  106. package/android/src/main/java/dev/apexnative/navigation/slots/SlotScreenView.kt +158 -0
  107. package/android/src/main/java/dev/apexnative/navigation/slots/SlotView.kt +141 -0
  108. package/android/src/main/java/dev/apexnative/navigation/slots/SlotViewManager.kt +50 -0
  109. package/android/src/main/java/dev/apexnative/navigation/splash/SplashHold.kt +67 -0
  110. package/android/src/main/java/dev/apexnative/navigation/splash/SplashTheme.kt +81 -0
  111. package/android/src/main/java/dev/apexnative/navigation/splash/SplashView.kt +77 -0
  112. package/android/src/main/java/dev/apexnative/navigation/system/AppDirection.kt +92 -0
  113. package/android/src/main/java/dev/apexnative/navigation/system/SystemUiLayers.kt +126 -0
  114. package/android/src/main/java/dev/apexnative/navigation/system/SystemUiOwner.kt +229 -0
  115. package/android/src/main/java/dev/apexnative/navigation/system/SystemUiRules.kt +302 -0
  116. package/android/src/main/java/dev/apexnative/navigation/system/SystemUiState.kt +58 -0
  117. package/android/src/main/java/dev/apexnative/navigation/system/SystemUiWindow.kt +405 -0
  118. package/android/src/main/java/dev/apexnative/navigation/utils/ColorUtils.kt +22 -0
  119. package/android/src/main/java/dev/apexnative/navigation/utils/DevelopmentLog.kt +45 -0
  120. package/android/src/main/java/dev/apexnative/navigation/utils/DimensionExtensions.kt +16 -0
  121. package/android/src/main/java/dev/apexnative/navigation/utils/ImageLoader.kt +112 -0
  122. package/android/src/main/java/dev/apexnative/navigation/utils/MaterialTheme.kt +148 -0
  123. package/android/src/main/java/dev/apexnative/navigation/utils/NavigationLog.kt +6 -0
  124. package/android/src/main/java/dev/apexnative/navigation/utils/ScrollToTop.kt +33 -0
  125. package/android/src/main/java/dev/apexnative/navigation/utils/SystemUiUtils.kt +41 -0
  126. package/android/src/main/java/dev/apexnative/navigation/utils/TestIds.kt +89 -0
  127. package/android/src/main/java/dev/apexnative/navigation/utils/TextViewUtils.kt +10 -0
  128. package/android/src/main/java/dev/apexnative/navigation/utils/UiThread.kt +31 -0
  129. package/android/src/main/java/dev/apexnative/navigation/utils/UiUtils.kt +43 -0
  130. package/android/src/main/java/dev/apexnative/navigation/utils/ViewController.kt +124 -0
  131. package/android/src/main/java/dev/apexnative/navigation/utils/ViewExtensions.kt +41 -0
  132. package/android/src/main/java/dev/apexnative/navigation/utils/ViewUtils.kt +15 -0
  133. package/android/src/main/java/dev/apexnative/navigation/utils/WindowFolds.kt +107 -0
  134. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementController.kt +258 -0
  135. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementDefinition.kt +57 -0
  136. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementLayout.kt +225 -0
  137. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementPlanner.kt +120 -0
  138. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/SecondaryScreenPresenter.kt +31 -0
  139. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsCollapseBehavior.kt +54 -0
  140. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsController.kt +664 -0
  141. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsPresenter.kt +367 -0
  142. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/CustomTabRowGeometry.kt +81 -0
  143. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/CustomTabRowPlacer.kt +223 -0
  144. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabBarLook.kt +74 -0
  145. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabBarMotion.kt +83 -0
  146. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabCellState.kt +27 -0
  147. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabHistory.kt +38 -0
  148. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabItems.kt +172 -0
  149. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabSelection.kt +65 -0
  150. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabsAttach.kt +42 -0
  151. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabsRoom.kt +72 -0
  152. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/child/ChildController.kt +45 -0
  153. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/child/ChildControllersRegistry.kt +29 -0
  154. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ComponentPresenter.kt +90 -0
  155. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ComponentViewController.kt +254 -0
  156. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ContentReadiness.kt +65 -0
  157. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/RenderWait.kt +231 -0
  158. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/RestPlace.kt +28 -0
  159. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenContentFactory.kt +28 -0
  160. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenFocus.kt +22 -0
  161. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenFrame.kt +154 -0
  162. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenReadiness.kt +104 -0
  163. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenSafeArea.kt +148 -0
  164. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/externalcomponent/ExternalComponentCreator.kt +18 -0
  165. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/externalcomponent/ExternalComponentViewController.kt +187 -0
  166. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/externalcomponent/NativeScreens.kt +25 -0
  167. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalAnimations.kt +40 -0
  168. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalContainer.kt +20 -0
  169. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalCoordinator.kt +1269 -0
  170. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalRecord.kt +186 -0
  171. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalSheet.kt +342 -0
  172. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalViews.kt +398 -0
  173. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/SheetContainer.kt +67 -0
  174. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/BackCallbackState.kt +78 -0
  175. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/FirstRootDraw.kt +58 -0
  176. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/LayoutFactory.kt +203 -0
  177. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/Navigator.kt +562 -0
  178. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/Navigators.kt +53 -0
  179. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/RootCoordinator.kt +514 -0
  180. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/WaitingLayer.kt +18 -0
  181. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/overlay/OverlayContainer.kt +33 -0
  182. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/overlay/OverlayCoordinator.kt +383 -0
  183. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/overlay/OverlayTouches.kt +44 -0
  184. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/overlay/OverlayViews.kt +117 -0
  185. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/Capabilities.kt +62 -0
  186. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/ContainerBackground.kt +43 -0
  187. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/ParentController.kt +218 -0
  188. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/ShownChildren.kt +82 -0
  189. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuController.kt +283 -0
  190. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuMotion.kt +276 -0
  191. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuPresenter.kt +92 -0
  192. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuRules.kt +107 -0
  193. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitPanes.kt +59 -0
  194. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitViewController.kt +509 -0
  195. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitViewLayout.kt +61 -0
  196. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitViewPresenter.kt +25 -0
  197. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/PreparedFrame.kt +19 -0
  198. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/PreparedPushes.kt +114 -0
  199. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackCommands.kt +387 -0
  200. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackController.kt +635 -0
  201. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackDisplay.kt +167 -0
  202. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackPresenter.kt +24 -0
  203. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackQueue.kt +1274 -0
  204. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackTransitions.kt +82 -0
  205. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackViews.kt +222 -0
  206. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/fab/FabPlacement.kt +47 -0
  207. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/fab/FabPlan.kt +44 -0
  208. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/fab/FabPresenter.kt +279 -0
  209. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/search/ScreenSearch.kt +450 -0
  210. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/search/SearchPanel.kt +176 -0
  211. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/search/StackSearchPresenter.kt +243 -0
  212. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/BarComponents.kt +211 -0
  213. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/BarRowTransition.kt +122 -0
  214. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/ButtonCells.kt +30 -0
  215. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/ButtonPlaces.kt +65 -0
  216. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/LargeTitleCollapse.kt +71 -0
  217. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/MenuChecks.kt +72 -0
  218. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarCollapseBehavior.kt +104 -0
  219. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarPresenter.kt +1085 -0
  220. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarRoom.kt +95 -0
  221. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarVisibility.kt +122 -0
  222. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/IReactView.kt +89 -0
  223. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/Presenter.kt +51 -0
  224. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/ScrollEventListener.kt +194 -0
  225. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/ViewController.kt +320 -0
  226. package/android/src/main/java/dev/apexnative/navigation/views/animations/AnimationRules.kt +141 -0
  227. package/android/src/main/java/dev/apexnative/navigation/views/animations/Curves.kt +193 -0
  228. package/android/src/main/java/dev/apexnative/navigation/views/animations/FadeThrough.kt +57 -0
  229. package/android/src/main/java/dev/apexnative/navigation/views/animations/SideAnimator.kt +143 -0
  230. package/android/src/main/java/dev/apexnative/navigation/views/animations/SystemTransition.kt +26 -0
  231. package/android/src/main/java/dev/apexnative/navigation/views/animations/ValueInterpolation.kt +93 -0
  232. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabItem.kt +13 -0
  233. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabs.kt +550 -0
  234. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabsContainer.kt +135 -0
  235. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabsLayout.kt +89 -0
  236. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/CustomBottomTabItemView.kt +91 -0
  237. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/CustomTabRow.kt +165 -0
  238. package/android/src/main/java/dev/apexnative/navigation/views/component/ComponentLayout.kt +89 -0
  239. package/android/src/main/java/dev/apexnative/navigation/views/component/Renderable.kt +6 -0
  240. package/android/src/main/java/dev/apexnative/navigation/views/element/DrawOrder.kt +44 -0
  241. package/android/src/main/java/dev/apexnative/navigation/views/element/ElementStub.kt +31 -0
  242. package/android/src/main/java/dev/apexnative/navigation/views/element/ElementTransitions.kt +281 -0
  243. package/android/src/main/java/dev/apexnative/navigation/views/element/ImageLoads.kt +103 -0
  244. package/android/src/main/java/dev/apexnative/navigation/views/element/TargetsWait.kt +112 -0
  245. package/android/src/main/java/dev/apexnative/navigation/views/element/TransitionLayer.kt +152 -0
  246. package/android/src/main/java/dev/apexnative/navigation/views/element/TransitionTargets.kt +53 -0
  247. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ElementPictures.kt +46 -0
  248. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/FlightGeometry.kt +53 -0
  249. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ImageMatrixAnimator.kt +138 -0
  250. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/PlainViewAnimator.kt +88 -0
  251. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/PropertyAnimatorCreator.kt +33 -0
  252. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ReactImageAnimator.kt +66 -0
  253. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/SharedAnimatorFactory.kt +70 -0
  254. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/TextChangeAnimator.kt +179 -0
  255. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ViewChangeAnimator.kt +139 -0
  256. package/android/src/main/java/dev/apexnative/navigation/views/externalcomponent/ExternalComponentLayout.kt +44 -0
  257. package/android/src/main/java/dev/apexnative/navigation/views/sidemenu/SideMenuView.kt +183 -0
  258. package/android/src/main/java/dev/apexnative/navigation/views/stack/StackLayout.kt +137 -0
  259. package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/Fab.kt +125 -0
  260. package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/FabAnimator.kt +8 -0
  261. package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/FabCollapseBehaviour.kt +34 -0
  262. package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/FabMenu.kt +133 -0
  263. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/LargeTitleView.kt +45 -0
  264. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/TitleBar.kt +211 -0
  265. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/TopBar.kt +407 -0
  266. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/TopBarDefaults.kt +35 -0
  267. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/search/ScopeRow.kt +82 -0
  268. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/search/SearchField.kt +130 -0
  269. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/search/SearchStyle.kt +29 -0
  270. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/search/SuggestionList.kt +77 -0
  271. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/BarButtonComponentCell.kt +80 -0
  272. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/ButtonBar.kt +334 -0
  273. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/ButtonMenus.kt +106 -0
  274. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/IconBackgroundDrawable.kt +93 -0
  275. package/android/src/main/jni/ApexNavigationSpec.h +18 -0
  276. package/android/src/main/jni/CMakeLists.txt +33 -0
  277. package/android/src/main/res/color/apex_navigation_highlight_inverse.xml +5 -0
  278. package/android/src/main/res/color/apex_navigation_text_primary.xml +6 -0
  279. package/android/src/main/res/color/apex_navigation_text_primary_inverse.xml +6 -0
  280. package/android/src/main/res/color/apex_navigation_text_secondary.xml +6 -0
  281. package/android/src/main/res/color/apex_navigation_text_secondary_inverse.xml +6 -0
  282. package/android/src/main/res/drawable/apex_navigation_ic_arrow_back.xml +13 -0
  283. package/android/src/main/res/drawable/apex_navigation_ic_close.xml +12 -0
  284. package/android/src/main/res/drawable/ic_fab_add_24dp.xml +12 -0
  285. package/android/src/main/res/values/attrs.xml +13 -0
  286. package/android/src/main/res/values/dimens.xml +5 -0
  287. package/android/src/main/res/values/dimens_splash.xml +9 -0
  288. package/android/src/main/res/values/ids.xml +12 -0
  289. package/android/src/main/res/values/styles.xml +18 -0
  290. package/android/src/main/res/values/themes.xml +75 -0
  291. package/android/src/main/res/values-night/styles.xml +6 -0
  292. package/android/src/main/res/values-night/themes.xml +67 -0
  293. package/cli/app.js +113 -0
  294. package/cli/changes.js +235 -0
  295. package/cli/codegen/commands.js +356 -0
  296. package/cli/codegen/index.js +211 -0
  297. package/cli/codegen/kotlin.js +396 -0
  298. package/cli/codegen/names.js +99 -0
  299. package/cli/codegen/read.js +602 -0
  300. package/cli/codegen/swift.js +342 -0
  301. package/cli/config.js +78 -0
  302. package/cli/diff.js +139 -0
  303. package/cli/doctor/checks/android.js +217 -0
  304. package/cli/doctor/checks/app.js +305 -0
  305. package/cli/doctor/checks/conflicts.js +42 -0
  306. package/cli/doctor/checks/devices.js +98 -0
  307. package/cli/doctor/checks/icons.js +69 -0
  308. package/cli/doctor/checks/ios.js +187 -0
  309. package/cli/doctor/checks/navigation.js +285 -0
  310. package/cli/doctor/checks/splash.js +102 -0
  311. package/cli/doctor/fix.js +66 -0
  312. package/cli/doctor/index.js +136 -0
  313. package/cli/doctor/types.js +30 -0
  314. package/cli/exec.js +34 -0
  315. package/cli/gradle.js +142 -0
  316. package/cli/icons/android.js +173 -0
  317. package/cli/icons/images.js +202 -0
  318. package/cli/icons/index.js +97 -0
  319. package/cli/icons/ios.js +113 -0
  320. package/cli/icons/settings.js +116 -0
  321. package/cli/images.js +67 -0
  322. package/cli/index.js +307 -0
  323. package/cli/info/index.js +290 -0
  324. package/cli/init/index.js +426 -0
  325. package/cli/init/packageManager.js +48 -0
  326. package/cli/init/starter.js +440 -0
  327. package/cli/links/files.js +109 -0
  328. package/cli/links/identity.js +75 -0
  329. package/cli/links/index.js +532 -0
  330. package/cli/links/native.js +396 -0
  331. package/cli/links/open.js +120 -0
  332. package/cli/links/prefixes.js +89 -0
  333. package/cli/mcp/appMap.js +128 -0
  334. package/cli/mcp/docs.js +175 -0
  335. package/cli/mcp/index.js +153 -0
  336. package/cli/mcp/markdown.js +210 -0
  337. package/cli/mcp/protocol.js +151 -0
  338. package/cli/mcp/tools.js +389 -0
  339. package/cli/migrate/entry.js +451 -0
  340. package/cli/migrate/index.js +305 -0
  341. package/cli/migrate/native.js +250 -0
  342. package/cli/migrate/report.js +238 -0
  343. package/cli/pods.js +56 -0
  344. package/cli/project.js +189 -0
  345. package/cli/screen/index.js +383 -0
  346. package/cli/screen/templates/compose.js +46 -0
  347. package/cli/screen/templates/native.js +40 -0
  348. package/cli/screen/templates/react.js +47 -0
  349. package/cli/screen/templates/swiftui.js +30 -0
  350. package/cli/screen/templates/uikit.js +48 -0
  351. package/cli/screen/templates/views.js +46 -0
  352. package/cli/setup/index.js +240 -0
  353. package/cli/setup/source.js +58 -0
  354. package/cli/setup/steps/app.js +76 -0
  355. package/cli/setup/steps/appDelegate.js +98 -0
  356. package/cli/setup/steps/entry.js +68 -0
  357. package/cli/setup/steps/env.js +245 -0
  358. package/cli/setup/steps/infoPlist.js +39 -0
  359. package/cli/setup/steps/mainActivity.js +60 -0
  360. package/cli/setup/steps/mainApplication.js +58 -0
  361. package/cli/setup/steps/manifest.js +38 -0
  362. package/cli/setup/steps/styles.js +29 -0
  363. package/cli/setup/steps/types.js +14 -0
  364. package/cli/splash/android.js +239 -0
  365. package/cli/splash/files.js +50 -0
  366. package/cli/splash/images.js +117 -0
  367. package/cli/splash/index.js +109 -0
  368. package/cli/splash/ios.js +349 -0
  369. package/cli/splash/settings.js +143 -0
  370. package/cli/typescript.js +473 -0
  371. package/cli/ui.js +268 -0
  372. package/cli/upgrade/changelog.js +45 -0
  373. package/cli/upgrade/index.js +347 -0
  374. package/cli/upgrade/versions.js +105 -0
  375. package/cli/workspace.js +60 -0
  376. package/cli/xcode/pbxproj.js +327 -0
  377. package/docs-md/architecture/errors-and-loading.md +138 -0
  378. package/docs-md/architecture/native-screens.md +290 -0
  379. package/docs-md/architecture/one-tree.md +164 -0
  380. package/docs-md/architecture/theme-and-context.md +368 -0
  381. package/docs-md/architecture/transitions.md +191 -0
  382. package/docs-md/containers/arrangement.md +320 -0
  383. package/docs-md/containers/modals.md +195 -0
  384. package/docs-md/containers/overlays.md +109 -0
  385. package/docs-md/containers/side-menu.md +138 -0
  386. package/docs-md/containers/split-view.md +155 -0
  387. package/docs-md/containers/stack.md +156 -0
  388. package/docs-md/containers/tabs.md +187 -0
  389. package/docs-md/flows/a-search-screen.md +311 -0
  390. package/docs-md/flows/an-app-with-tabs.md +380 -0
  391. package/docs-md/flows/bottom-sheets.md +326 -0
  392. package/docs-md/flows/forms-in-a-modal.md +420 -0
  393. package/docs-md/flows/list-and-details.md +428 -0
  394. package/docs-md/flows/onboarding.md +454 -0
  395. package/docs-md/flows/sign-in-and-sign-out.md +693 -0
  396. package/docs-md/fundamentals/lifecycle-and-events.md +224 -0
  397. package/docs-md/fundamentals/moving-between-screens.md +267 -0
  398. package/docs-md/fundamentals/screen-options.md +197 -0
  399. package/docs-md/fundamentals/screens-and-props.md +314 -0
  400. package/docs-md/fundamentals/starting-the-app.md +317 -0
  401. package/docs-md/fundamentals/switching-roots.md +166 -0
  402. package/docs-md/guides/analytics.md +377 -0
  403. package/docs-md/guides/app-context.md +554 -0
  404. package/docs-md/guides/building-a-screen.md +350 -0
  405. package/docs-md/guides/cli.md +421 -0
  406. package/docs-md/guides/data-fetching.md +492 -0
  407. package/docs-md/guides/deep-links.md +694 -0
  408. package/docs-md/guides/error-reporting.md +290 -0
  409. package/docs-md/guides/gestures-and-animations.md +381 -0
  410. package/docs-md/guides/notifications.md +548 -0
  411. package/docs-md/guides/overview.md +65 -0
  412. package/docs-md/guides/right-to-left.md +273 -0
  413. package/docs-md/guides/splash-screen.md +30 -0
  414. package/docs-md/guides/state-management.md +1050 -0
  415. package/docs-md/guides/testing.md +293 -0
  416. package/docs-md/help/glossary.md +433 -0
  417. package/docs-md/help/troubleshooting.md +709 -0
  418. package/docs-md/index.json +4205 -0
  419. package/docs-md/migration/from-expo-router.md +446 -0
  420. package/docs-md/migration/from-react-native-navigation.md +789 -0
  421. package/docs-md/migration/from-react-navigation.md +628 -0
  422. package/docs-md/screen-ui/back-and-gestures.md +178 -0
  423. package/docs-md/screen-ui/bar-buttons.md +312 -0
  424. package/docs-md/screen-ui/search.md +181 -0
  425. package/docs-md/screen-ui/system-ui.md +337 -0
  426. package/docs-md/screen-ui/toolbar-and-fab.md +146 -0
  427. package/docs-md/screen-ui/top-bar.md +247 -0
  428. package/docs-md/start/installation.md +233 -0
  429. package/docs-md/start/introduction.md +46 -0
  430. package/docs-md/start/quick-start.md +124 -0
  431. package/ios/Animations/ANNAnimationRules.h +72 -0
  432. package/ios/Animations/ANNAnimationRules.mm +122 -0
  433. package/ios/Animations/ANNFrameDriver.h +46 -0
  434. package/ios/Animations/ANNFrameDriver.mm +126 -0
  435. package/ios/Animations/ANNTransitionAnimator.h +34 -0
  436. package/ios/Animations/ANNTransitionAnimator.mm +293 -0
  437. package/ios/Animations/ANNTransitionPlan.h +115 -0
  438. package/ios/Animations/ANNTransitionPlan.mm +130 -0
  439. package/ios/Animations/ANNTransitionWait.h +29 -0
  440. package/ios/Animations/ANNTransitionWait.mm +135 -0
  441. package/ios/Animations/Elements/ANNElementFinder.h +26 -0
  442. package/ios/Animations/Elements/ANNElementFinder.mm +37 -0
  443. package/ios/Animations/Elements/ANNElementTransition.h +30 -0
  444. package/ios/Animations/Elements/ANNElementTransition.mm +75 -0
  445. package/ios/Animations/Elements/ANNSharedElementFlight.h +42 -0
  446. package/ios/Animations/Elements/ANNSharedElementFlight.mm +340 -0
  447. package/ios/Animations/Elements/ANNZoomAnchor.h +33 -0
  448. package/ios/Animations/Elements/ANNZoomAnchor.mm +133 -0
  449. package/ios/Animations/Interpolators/ANNCurve.h +61 -0
  450. package/ios/Animations/Interpolators/ANNCurve.mm +301 -0
  451. package/ios/Animations/Interpolators/ANNInterpolate.h +69 -0
  452. package/ios/Animations/Interpolators/ANNTrack.h +52 -0
  453. package/ios/Animations/Interpolators/ANNTrack.mm +77 -0
  454. package/ios/Animations/Interpolators/ANNViewTracks.h +57 -0
  455. package/ios/Animations/Interpolators/ANNViewTracks.mm +261 -0
  456. package/ios/ApexNavigation-prefix.h +6 -0
  457. package/ios/CLAUDE.md +151 -0
  458. package/ios/CORE.md +177 -0
  459. package/ios/Contract/ANNCommandAnswer.h +38 -0
  460. package/ios/Contract/ANNCommandAnswer.mm +99 -0
  461. package/ios/Contract/ANNCommandRunner.h +42 -0
  462. package/ios/Contract/ANNCommandRunner.mm +89 -0
  463. package/ios/Contract/ANNErrorTexts.h +86 -0
  464. package/ios/Contract/ANNErrorTexts.mm +230 -0
  465. package/ios/Contract/ANNLayoutNode.h +64 -0
  466. package/ios/Contract/ANNLayoutNode.mm +153 -0
  467. package/ios/Contract/ANNLayoutReader.h +34 -0
  468. package/ios/Contract/ANNLayoutReader.mm +282 -0
  469. package/ios/Contract/ANNLayoutRoot.h +26 -0
  470. package/ios/Contract/ANNLayoutRoot.mm +21 -0
  471. package/ios/Contract/ANNLayoutTreeOptions.h +22 -0
  472. package/ios/Contract/ANNLayoutTreeOptions.mm +32 -0
  473. package/ios/Contract/ANNLayoutType.h +44 -0
  474. package/ios/Contract/ANNLayoutValidator.h +23 -0
  475. package/ios/Contract/ANNLayoutValidator.mm +28 -0
  476. package/ios/Core/ANNAppDelegate.mm +122 -0
  477. package/ios/Core/ANNAppDirection.h +43 -0
  478. package/ios/Core/ANNAppDirection.mm +194 -0
  479. package/ios/Core/ANNAppearanceDispatcher.h +117 -0
  480. package/ios/Core/ANNAppearanceDispatcher.mm +433 -0
  481. package/ios/Core/ANNAssert.h +7 -0
  482. package/ios/Core/ANNDeepLinkQueue.h +35 -0
  483. package/ios/Core/ANNDeepLinkQueue.mm +136 -0
  484. package/ios/Core/ANNErrorHandler.h +17 -0
  485. package/ios/Core/ANNErrorHandler.mm +14 -0
  486. package/ios/Core/ANNEventEmitter.h +174 -0
  487. package/ios/Core/ANNEventEmitter.mm +337 -0
  488. package/ios/Core/ANNHinge.h +26 -0
  489. package/ios/Core/ANNHinge.mm +116 -0
  490. package/ios/Core/ANNKeyCommands.h +12 -0
  491. package/ios/Core/ANNKeyCommands.mm +74 -0
  492. package/ios/Core/ANNLayoutInfo.h +18 -0
  493. package/ios/Core/ANNLayoutInfo.mm +13 -0
  494. package/ios/Core/ANNLayoutProtocol.h +155 -0
  495. package/ios/Core/ANNNavigationState.h +38 -0
  496. package/ios/Core/ANNNavigationState.mm +127 -0
  497. package/ios/Core/ANNNodeHelper.h +114 -0
  498. package/ios/Core/ANNNodeHelper.mm +260 -0
  499. package/ios/Core/ANNNodePresenter.h +86 -0
  500. package/ios/Core/ANNNodePresenter.mm +92 -0
  501. package/ios/Core/ANNNodeRegistry.h +30 -0
  502. package/ios/Core/ANNNodeRegistry.mm +48 -0
  503. package/ios/Core/ANNOptionsRepaint.h +19 -0
  504. package/ios/Core/ANNOptionsRepaint.mm +59 -0
  505. package/ios/Core/ANNParking.h +34 -0
  506. package/ios/Core/ANNParking.mm +117 -0
  507. package/ios/Core/ANNPendingLayers.h +31 -0
  508. package/ios/Core/ANNPendingLayers.mm +57 -0
  509. package/ios/Core/ANNReloadCoordinator.h +26 -0
  510. package/ios/Core/ANNReloadCoordinator.mm +211 -0
  511. package/ios/Core/ANNRenderWait.h +105 -0
  512. package/ios/Core/ANNRenderWait.mm +496 -0
  513. package/ios/Core/ANNSceneDelegate.mm +92 -0
  514. package/ios/Core/ANNScreenAppearance+Internal.h +29 -0
  515. package/ios/Core/ANNScreenAppearance.h +60 -0
  516. package/ios/Core/ANNScreenAppearance.mm +44 -0
  517. package/ios/Core/ANNShownScreens.h +27 -0
  518. package/ios/Core/ANNShownScreens.mm +16 -0
  519. package/ios/Core/ANNSystemUI.h +95 -0
  520. package/ios/Core/ANNSystemUI.mm +401 -0
  521. package/ios/Core/ANNSystemUIRules.h +35 -0
  522. package/ios/Core/ANNSystemUIRules.mm +139 -0
  523. package/ios/Core/ANNUtils.h +35 -0
  524. package/ios/Core/ANNUtils.mm +111 -0
  525. package/ios/Core/ApexNavigation+Internal.h +26 -0
  526. package/ios/Core/ApexNavigation.mm +177 -0
  527. package/ios/Core/UIViewController+LayoutProtocol.h +102 -0
  528. package/ios/Core/UIViewController+LayoutProtocol.mm +253 -0
  529. package/ios/Layouts/Arrangement/ANNArrangementScreenDelegate.h +18 -0
  530. package/ios/Layouts/Arrangement/ANNArrangementState.h +30 -0
  531. package/ios/Layouts/Arrangement/ANNArrangementState.mm +53 -0
  532. package/ios/Layouts/Arrangement/ANNArrangementViewController.h +38 -0
  533. package/ios/Layouts/Arrangement/ANNArrangementViewController.mm +573 -0
  534. package/ios/Layouts/External/ANNExternalViewController.h +28 -0
  535. package/ios/Layouts/External/ANNExternalViewController.mm +118 -0
  536. package/ios/Layouts/External/ANNNativeScreenCalls.h +27 -0
  537. package/ios/Layouts/External/ANNNativeScreenCalls.mm +77 -0
  538. package/ios/Layouts/Modal/ANNModal.h +121 -0
  539. package/ios/Layouts/Modal/ANNModal.mm +64 -0
  540. package/ios/Layouts/Modal/ANNModalCoordinator.h +99 -0
  541. package/ios/Layouts/Modal/ANNModalCoordinator.mm +1965 -0
  542. package/ios/Layouts/Modal/ANNModalHostViewComponentView.h +13 -0
  543. package/ios/Layouts/Modal/ANNModalHostViewComponentView.mm +24 -0
  544. package/ios/Layouts/Modal/ANNModalPresentation.h +73 -0
  545. package/ios/Layouts/Modal/ANNModalPresentation.mm +189 -0
  546. package/ios/Layouts/Modal/ANNModalSizePresenter.h +13 -0
  547. package/ios/Layouts/Modal/ANNModalSizePresenter.mm +65 -0
  548. package/ios/Layouts/Modal/ANNModalTransitions.h +29 -0
  549. package/ios/Layouts/Modal/ANNModalTransitions.mm +40 -0
  550. package/ios/Layouts/Modal/ANNPopoverPresenter.h +29 -0
  551. package/ios/Layouts/Modal/ANNPopoverPresenter.mm +158 -0
  552. package/ios/Layouts/Modal/ANNPresentationGate.h +52 -0
  553. package/ios/Layouts/Modal/ANNPresentationGate.mm +153 -0
  554. package/ios/Layouts/Modal/ANNSheetPresenter.h +31 -0
  555. package/ios/Layouts/Modal/ANNSheetPresenter.mm +247 -0
  556. package/ios/Layouts/Overlay/ANNOverlayCoordinator.h +66 -0
  557. package/ios/Layouts/Overlay/ANNOverlayCoordinator.mm +604 -0
  558. package/ios/Layouts/Overlay/ANNOverlayWindow.h +10 -0
  559. package/ios/Layouts/Overlay/ANNOverlayWindow.mm +71 -0
  560. package/ios/Layouts/Root/ANNLayoutFactory.h +31 -0
  561. package/ios/Layouts/Root/ANNLayoutFactory.mm +349 -0
  562. package/ios/Layouts/Root/ANNRootCoordinator.h +42 -0
  563. package/ios/Layouts/Root/ANNRootCoordinator.mm +847 -0
  564. package/ios/Layouts/Root/ANNSplashViewController.h +30 -0
  565. package/ios/Layouts/Root/ANNSplashViewController.mm +138 -0
  566. package/ios/Layouts/Screen/ANNComponentPresenter.h +32 -0
  567. package/ios/Layouts/Screen/ANNComponentPresenter.mm +136 -0
  568. package/ios/Layouts/Screen/ANNComponentViewController.h +100 -0
  569. package/ios/Layouts/Screen/ANNComponentViewController.mm +652 -0
  570. package/ios/Layouts/Screen/ANNNativeScreenContext+Internal.h +19 -0
  571. package/ios/Layouts/Screen/ANNNativeScreenContext.mm +84 -0
  572. package/ios/Layouts/Screen/ANNPreviewInteraction.h +38 -0
  573. package/ios/Layouts/Screen/ANNPreviewInteraction.mm +252 -0
  574. package/ios/Layouts/Screen/ANNScreenBars.h +29 -0
  575. package/ios/Layouts/Screen/ANNScreenBars.mm +47 -0
  576. package/ios/Layouts/Screen/ANNScreenInsets.h +30 -0
  577. package/ios/Layouts/Screen/ANNScreenInsets.mm +68 -0
  578. package/ios/Layouts/Screen/ANNScreenReadiness.h +92 -0
  579. package/ios/Layouts/Screen/ANNScreenReadiness.mm +186 -0
  580. package/ios/Layouts/Screen/ANNScreenRegions.h +33 -0
  581. package/ios/Layouts/Screen/ANNScreenRegions.mm +105 -0
  582. package/ios/Layouts/Screen/ANNScreenSafeArea.h +38 -0
  583. package/ios/Layouts/Screen/ANNScreenSafeArea.mm +58 -0
  584. package/ios/Layouts/SideMenu/ANNSideMenuChildViewController.h +41 -0
  585. package/ios/Layouts/SideMenu/ANNSideMenuChildViewController.mm +113 -0
  586. package/ios/Layouts/SideMenu/ANNSideMenuPresenter.h +28 -0
  587. package/ios/Layouts/SideMenu/ANNSideMenuPresenter.mm +260 -0
  588. package/ios/Layouts/SideMenu/ANNSideMenuTypes.h +19 -0
  589. package/ios/Layouts/SideMenu/ANNSideMenuViewController.h +46 -0
  590. package/ios/Layouts/SideMenu/ANNSideMenuViewController.mm +891 -0
  591. package/ios/Layouts/SplitView/ANNSplitViewCommands.h +39 -0
  592. package/ios/Layouts/SplitView/ANNSplitViewCommands.mm +612 -0
  593. package/ios/Layouts/SplitView/ANNSplitViewController.h +52 -0
  594. package/ios/Layouts/SplitView/ANNSplitViewController.mm +494 -0
  595. package/ios/Layouts/SplitView/ANNSplitViewPresenter.h +18 -0
  596. package/ios/Layouts/SplitView/ANNSplitViewPresenter.mm +181 -0
  597. package/ios/Layouts/SplitView/UISplitViewController+ANNOptions.h +32 -0
  598. package/ios/Layouts/SplitView/UISplitViewController+ANNOptions.mm +133 -0
  599. package/ios/Layouts/Stack/ANNPreviewPush.h +46 -0
  600. package/ios/Layouts/Stack/ANNPreviewPush.mm +298 -0
  601. package/ios/Layouts/Stack/ANNStackAnimatingDelegate.h +32 -0
  602. package/ios/Layouts/Stack/ANNStackAnimatingDelegate.mm +92 -0
  603. package/ios/Layouts/Stack/ANNStackCommands.h +51 -0
  604. package/ios/Layouts/Stack/ANNStackCommands.mm +403 -0
  605. package/ios/Layouts/Stack/ANNStackController.h +161 -0
  606. package/ios/Layouts/Stack/ANNStackController.mm +1597 -0
  607. package/ios/Layouts/Stack/ANNStackPresenter.h +44 -0
  608. package/ios/Layouts/Stack/ANNStackPresenter.mm +181 -0
  609. package/ios/Layouts/Stack/ANNStackQueue.h +194 -0
  610. package/ios/Layouts/Stack/ANNStackQueue.mm +1300 -0
  611. package/ios/Layouts/Stack/InteractivePopGestureDelegate.h +53 -0
  612. package/ios/Layouts/Stack/InteractivePopGestureDelegate.mm +228 -0
  613. package/ios/Layouts/Stack/UINavigationController+ANNCommands.h +19 -0
  614. package/ios/Layouts/Stack/UINavigationController+ANNCommands.mm +29 -0
  615. package/ios/Layouts/Tabs/ANNBottomTabCellView.h +33 -0
  616. package/ios/Layouts/Tabs/ANNBottomTabCellView.mm +100 -0
  617. package/ios/Layouts/Tabs/ANNBottomTabItemBuilder.h +49 -0
  618. package/ios/Layouts/Tabs/ANNBottomTabItemBuilder.mm +153 -0
  619. package/ios/Layouts/Tabs/ANNBottomTabsAccessoryView.h +17 -0
  620. package/ios/Layouts/Tabs/ANNBottomTabsAccessoryView.mm +56 -0
  621. package/ios/Layouts/Tabs/ANNBottomTabsController.h +121 -0
  622. package/ios/Layouts/Tabs/ANNBottomTabsController.mm +1404 -0
  623. package/ios/Layouts/Tabs/ANNBottomTabsCustomRow.h +47 -0
  624. package/ios/Layouts/Tabs/ANNBottomTabsCustomRow.mm +280 -0
  625. package/ios/Layouts/Tabs/ANNBottomTabsPresenter.h +81 -0
  626. package/ios/Layouts/Tabs/ANNBottomTabsPresenter.mm +1026 -0
  627. package/ios/Layouts/Tabs/ANNMoreNavigationDelegate.h +24 -0
  628. package/ios/Layouts/Tabs/ANNMoreNavigationDelegate.mm +58 -0
  629. package/ios/Layouts/Tabs/ANNScrollToTop.h +23 -0
  630. package/ios/Layouts/Tabs/ANNScrollToTop.mm +55 -0
  631. package/ios/Layouts/Tabs/ANNTabDotView.h +19 -0
  632. package/ios/Layouts/Tabs/ANNTabDotView.mm +46 -0
  633. package/ios/Layouts/Tabs/ANNTabLongPress.h +28 -0
  634. package/ios/Layouts/Tabs/ANNTabLongPress.mm +98 -0
  635. package/ios/Layouts/Tabs/ANNTabsDesign.h +26 -0
  636. package/ios/Layouts/Tabs/ANNTabsDesign.mm +34 -0
  637. package/ios/Layouts/Tabs/ANNTabsPreloadWindow.h +27 -0
  638. package/ios/Layouts/Tabs/ANNTabsPreloadWindow.mm +55 -0
  639. package/ios/Layouts/Tabs/UITabBar+utils.h +24 -0
  640. package/ios/Layouts/Tabs/UITabBar+utils.mm +103 -0
  641. package/ios/Options/ANNAnimationOptions.h +22 -0
  642. package/ios/Options/ANNAnimationOptions.mm +16 -0
  643. package/ios/Options/ANNAnimationPropertyOptions.h +17 -0
  644. package/ios/Options/ANNAnimationPropertyOptions.mm +15 -0
  645. package/ios/Options/ANNBottomTabDotIndicatorOptions.h +14 -0
  646. package/ios/Options/ANNBottomTabDotIndicatorOptions.mm +13 -0
  647. package/ios/Options/ANNBottomTabOptions.h +51 -0
  648. package/ios/Options/ANNBottomTabOptions.mm +47 -0
  649. package/ios/Options/ANNBottomTabsAccessoryOptions.h +19 -0
  650. package/ios/Options/ANNBottomTabsAccessoryOptions.mm +25 -0
  651. package/ios/Options/ANNBottomTabsAnimationOptions.h +12 -0
  652. package/ios/Options/ANNBottomTabsAnimationOptions.mm +11 -0
  653. package/ios/Options/ANNBottomTabsCustomRowOptions.h +19 -0
  654. package/ios/Options/ANNBottomTabsCustomRowOptions.mm +17 -0
  655. package/ios/Options/ANNBottomTabsOptions.h +51 -0
  656. package/ios/Options/ANNBottomTabsOptions.mm +48 -0
  657. package/ios/Options/ANNBottomTabsShadowOptions.h +14 -0
  658. package/ios/Options/ANNBottomTabsShadowOptions.mm +13 -0
  659. package/ios/Options/ANNButtonComponentOptions.h +13 -0
  660. package/ios/Options/ANNButtonComponentOptions.mm +12 -0
  661. package/ios/Options/ANNButtonOptions.h +56 -0
  662. package/ios/Options/ANNButtonOptions.mm +53 -0
  663. package/ios/Options/ANNButtonsParser.h +13 -0
  664. package/ios/Options/ANNButtonsParser.mm +18 -0
  665. package/ios/Options/ANNComponentOptions.h +14 -0
  666. package/ios/Options/ANNComponentOptions.mm +12 -0
  667. package/ios/Options/ANNDefaultOptions.h +18 -0
  668. package/ios/Options/ANNDefaultOptions.mm +22 -0
  669. package/ios/Options/ANNElementAnimationOptions.h +18 -0
  670. package/ios/Options/ANNElementAnimationOptions.mm +15 -0
  671. package/ios/Options/ANNElementTransitionOptions.h +26 -0
  672. package/ios/Options/ANNElementTransitionOptions.mm +28 -0
  673. package/ios/Options/ANNEnterExitBottomTabsAnimationOptions.h +14 -0
  674. package/ios/Options/ANNEnterExitBottomTabsAnimationOptions.mm +12 -0
  675. package/ios/Options/ANNEnterExitScreenAnimationOptions.h +14 -0
  676. package/ios/Options/ANNEnterExitScreenAnimationOptions.mm +12 -0
  677. package/ios/Options/ANNEnterExitTopBarAnimationOptions.h +14 -0
  678. package/ios/Options/ANNEnterExitTopBarAnimationOptions.mm +12 -0
  679. package/ios/Options/ANNFabOptions.h +26 -0
  680. package/ios/Options/ANNFabOptions.mm +23 -0
  681. package/ios/Options/ANNFontOptions.h +24 -0
  682. package/ios/Options/ANNFontOptions.mm +65 -0
  683. package/ios/Options/ANNHardwareBackButtonOptions.h +15 -0
  684. package/ios/Options/ANNHardwareBackButtonOptions.mm +13 -0
  685. package/ios/Options/ANNIconBackgroundOptions.h +16 -0
  686. package/ios/Options/ANNIconBackgroundOptions.mm +15 -0
  687. package/ios/Options/ANNIconInsetsOptions.h +16 -0
  688. package/ios/Options/ANNIconInsetsOptions.mm +14 -0
  689. package/ios/Options/ANNInterpolationOptions.h +22 -0
  690. package/ios/Options/ANNInterpolationOptions.mm +22 -0
  691. package/ios/Options/ANNLayoutOptions.h +26 -0
  692. package/ios/Options/ANNLayoutOptions.mm +25 -0
  693. package/ios/Options/ANNMenuOptions.h +37 -0
  694. package/ios/Options/ANNMenuOptions.mm +136 -0
  695. package/ios/Options/ANNModalAnimationOptions.h +17 -0
  696. package/ios/Options/ANNModalAnimationOptions.mm +15 -0
  697. package/ios/Options/ANNModalContentSizeOptions.h +14 -0
  698. package/ios/Options/ANNModalContentSizeOptions.mm +15 -0
  699. package/ios/Options/ANNModalOptions.h +19 -0
  700. package/ios/Options/ANNModalOptions.mm +15 -0
  701. package/ios/Options/ANNNavigationBarOptions.h +14 -0
  702. package/ios/Options/ANNNavigationBarOptions.mm +13 -0
  703. package/ios/Options/ANNNavigationOptions.h +60 -0
  704. package/ios/Options/ANNNavigationOptions.mm +54 -0
  705. package/ios/Options/ANNOptionField.h +91 -0
  706. package/ios/Options/ANNOptionField.mm +173 -0
  707. package/ios/Options/ANNOptions.h +62 -0
  708. package/ios/Options/ANNOptions.mm +329 -0
  709. package/ios/Options/ANNOptionsCache.h +22 -0
  710. package/ios/Options/ANNOptionsCache.mm +17 -0
  711. package/ios/Options/ANNOptionsReader.h +33 -0
  712. package/ios/Options/ANNOptionsReader.mm +63 -0
  713. package/ios/Options/ANNOverlayOptions.h +14 -0
  714. package/ios/Options/ANNOverlayOptions.mm +12 -0
  715. package/ios/Options/ANNPopoverOptions.h +17 -0
  716. package/ios/Options/ANNPopoverOptions.mm +31 -0
  717. package/ios/Options/ANNPreviewOptions.h +17 -0
  718. package/ios/Options/ANNPreviewOptions.mm +15 -0
  719. package/ios/Options/ANNScreenAnimationOptions.h +13 -0
  720. package/ios/Options/ANNScreenAnimationOptions.mm +12 -0
  721. package/ios/Options/ANNScrollEdgeEffectOptions.h +20 -0
  722. package/ios/Options/ANNScrollEdgeEffectOptions.mm +16 -0
  723. package/ios/Options/ANNScrollEdgeOptions.h +14 -0
  724. package/ios/Options/ANNScrollEdgeOptions.mm +12 -0
  725. package/ios/Options/ANNSearchBarOptions.h +49 -0
  726. package/ios/Options/ANNSearchBarOptions.mm +41 -0
  727. package/ios/Options/ANNSearchScopeOptions.h +15 -0
  728. package/ios/Options/ANNSearchScopeOptions.mm +13 -0
  729. package/ios/Options/ANNSearchSuggestionOptions.h +19 -0
  730. package/ios/Options/ANNSearchSuggestionOptions.mm +16 -0
  731. package/ios/Options/ANNSearchTokenOptions.h +18 -0
  732. package/ios/Options/ANNSearchTokenOptions.mm +15 -0
  733. package/ios/Options/ANNSetStackRootAnimationOptions.h +12 -0
  734. package/ios/Options/ANNSetStackRootAnimationOptions.mm +11 -0
  735. package/ios/Options/ANNSharedElementTransitionOptions.h +17 -0
  736. package/ios/Options/ANNSharedElementTransitionOptions.mm +15 -0
  737. package/ios/Options/ANNSheetOptions.h +25 -0
  738. package/ios/Options/ANNSheetOptions.mm +41 -0
  739. package/ios/Options/ANNSideMenuOptions.h +19 -0
  740. package/ios/Options/ANNSideMenuOptions.mm +16 -0
  741. package/ios/Options/ANNSideMenuSideOptions.h +23 -0
  742. package/ios/Options/ANNSideMenuSideOptions.mm +20 -0
  743. package/ios/Options/ANNSplitViewColumnOptions.h +14 -0
  744. package/ios/Options/ANNSplitViewColumnOptions.mm +13 -0
  745. package/ios/Options/ANNSplitViewInspectorOptions.h +13 -0
  746. package/ios/Options/ANNSplitViewInspectorOptions.mm +9 -0
  747. package/ios/Options/ANNSplitViewOptions.h +29 -0
  748. package/ios/Options/ANNSplitViewOptions.mm +26 -0
  749. package/ios/Options/ANNStackAnimationOptions.h +23 -0
  750. package/ios/Options/ANNStackAnimationOptions.mm +20 -0
  751. package/ios/Options/ANNStackPushAnimationOptions.h +13 -0
  752. package/ios/Options/ANNStackPushAnimationOptions.mm +11 -0
  753. package/ios/Options/ANNStatusBarOptions.h +20 -0
  754. package/ios/Options/ANNStatusBarOptions.mm +18 -0
  755. package/ios/Options/ANNToolbarOptions.h +14 -0
  756. package/ios/Options/ANNToolbarOptions.mm +27 -0
  757. package/ios/Options/ANNTopBarAnimationOptions.h +12 -0
  758. package/ios/Options/ANNTopBarAnimationOptions.mm +11 -0
  759. package/ios/Options/ANNTopBarBackButtonOptions.h +31 -0
  760. package/ios/Options/ANNTopBarBackButtonOptions.mm +35 -0
  761. package/ios/Options/ANNTopBarBackgroundComponentOptions.h +13 -0
  762. package/ios/Options/ANNTopBarBackgroundComponentOptions.mm +11 -0
  763. package/ios/Options/ANNTopBarBackgroundOptions.h +17 -0
  764. package/ios/Options/ANNTopBarBackgroundOptions.mm +15 -0
  765. package/ios/Options/ANNTopBarLargeTitleOptions.h +19 -0
  766. package/ios/Options/ANNTopBarLargeTitleOptions.mm +15 -0
  767. package/ios/Options/ANNTopBarOptions.h +62 -0
  768. package/ios/Options/ANNTopBarOptions.mm +49 -0
  769. package/ios/Options/ANNTopBarScrollEdgeAppearanceBackgroundOptions.h +14 -0
  770. package/ios/Options/ANNTopBarScrollEdgeAppearanceBackgroundOptions.mm +12 -0
  771. package/ios/Options/ANNTopBarScrollEdgeAppearanceOptions.h +19 -0
  772. package/ios/Options/ANNTopBarScrollEdgeAppearanceOptions.mm +16 -0
  773. package/ios/Options/ANNTopBarScrollEdgeAppearanceTitleOptions.h +16 -0
  774. package/ios/Options/ANNTopBarScrollEdgeAppearanceTitleOptions.mm +12 -0
  775. package/ios/Options/ANNTopBarSubtitleOptions.h +18 -0
  776. package/ios/Options/ANNTopBarSubtitleOptions.mm +14 -0
  777. package/ios/Options/ANNTopBarTitleComponentOptions.h +15 -0
  778. package/ios/Options/ANNTopBarTitleComponentOptions.mm +12 -0
  779. package/ios/Options/ANNTopBarTitleDocumentOptions.h +12 -0
  780. package/ios/Options/ANNTopBarTitleDocumentOptions.mm +11 -0
  781. package/ios/Options/ANNTopBarTitleOptions.h +29 -0
  782. package/ios/Options/ANNTopBarTitleOptions.mm +21 -0
  783. package/ios/Options/ANNViewAnimationOptions.h +26 -0
  784. package/ios/Options/ANNViewAnimationOptions.mm +58 -0
  785. package/ios/Options/ANNWindowOptions.h +12 -0
  786. package/ios/Options/ANNWindowOptions.mm +9 -0
  787. package/ios/Options/ANNZoomTransitionOptions.h +13 -0
  788. package/ios/Options/ANNZoomTransitionOptions.mm +12 -0
  789. package/ios/Options/Params/ANNIntegerParam.h +14 -0
  790. package/ios/Options/Params/ANNIntegerParam.mm +13 -0
  791. package/ios/Options/Params/ANNParam.h +28 -0
  792. package/ios/Options/Params/ANNParam.mm +29 -0
  793. package/ios/Options/Params/Bool.h +17 -0
  794. package/ios/Options/Params/Bool.mm +17 -0
  795. package/ios/Options/Params/BoolParser.h +12 -0
  796. package/ios/Options/Params/BoolParser.mm +10 -0
  797. package/ios/Options/Params/Color.h +43 -0
  798. package/ios/Options/Params/Color.mm +65 -0
  799. package/ios/Options/Params/ColorParser.h +14 -0
  800. package/ios/Options/Params/ColorParser.mm +95 -0
  801. package/ios/Options/Params/Double.h +14 -0
  802. package/ios/Options/Params/Double.mm +13 -0
  803. package/ios/Options/Params/DoubleParser.h +16 -0
  804. package/ios/Options/Params/DoubleParser.mm +16 -0
  805. package/ios/Options/Params/Image.h +15 -0
  806. package/ios/Options/Params/Image.mm +13 -0
  807. package/ios/Options/Params/ImageParser.h +16 -0
  808. package/ios/Options/Params/ImageParser.mm +103 -0
  809. package/ios/Options/Params/Number.h +14 -0
  810. package/ios/Options/Params/Number.mm +13 -0
  811. package/ios/Options/Params/NumberParser.h +13 -0
  812. package/ios/Options/Params/NumberParser.mm +10 -0
  813. package/ios/Options/Params/Param.h +16 -0
  814. package/ios/Options/Params/Param.mm +13 -0
  815. package/ios/Options/Params/Text.h +17 -0
  816. package/ios/Options/Params/Text.mm +17 -0
  817. package/ios/Options/Params/TextParser.h +17 -0
  818. package/ios/Options/Params/TextParser.mm +17 -0
  819. package/ios/Package.swift +58 -0
  820. package/ios/Public/ApexNavigation/ANNAppDelegate.h +66 -0
  821. package/ios/Public/ApexNavigation/ANNSceneDelegate.h +19 -0
  822. package/ios/Public/ApexNavigation/ApexNavigation.h +92 -0
  823. package/ios/Public/module.modulemap +8 -0
  824. package/ios/RECIPES.md +41 -0
  825. package/ios/React/ANNComponentType.h +22 -0
  826. package/ios/React/ANNComponentViewCreator.h +18 -0
  827. package/ios/React/ANNReactComponentRegistry.h +53 -0
  828. package/ios/React/ANNReactComponentRegistry.mm +153 -0
  829. package/ios/React/ANNReactView.h +104 -0
  830. package/ios/React/ANNReactView.mm +374 -0
  831. package/ios/React/ANNReactViewCreator.h +20 -0
  832. package/ios/React/ANNReactViewCreator.mm +42 -0
  833. package/ios/React/ANNSafeAreaViewComponentView.h +13 -0
  834. package/ios/React/ANNSafeAreaViewComponentView.mm +153 -0
  835. package/ios/React/ANNSurfaceHostingView.h +17 -0
  836. package/ios/React/ANNSurfaceHostingView.mm +68 -0
  837. package/ios/React/Slots/ANNSlotComponentView.h +10 -0
  838. package/ios/React/Slots/ANNSlotComponentView.mm +122 -0
  839. package/ios/React/Slots/ANNSlotContainers.h +34 -0
  840. package/ios/React/Slots/ANNSlotContainers.mm +39 -0
  841. package/ios/React/Slots/ANNSlotContentView.h +12 -0
  842. package/ios/React/Slots/ANNSlotContentView.mm +18 -0
  843. package/ios/React/Slots/ANNSlotHost.h +29 -0
  844. package/ios/React/Slots/ANNSlotHost.mm +59 -0
  845. package/ios/React/Slots/ANNSlotScreenView.h +38 -0
  846. package/ios/React/Slots/ANNSlotScreenView.mm +254 -0
  847. package/ios/TopBar/ANNBackButtonPresenter.h +35 -0
  848. package/ios/TopBar/ANNBackButtonPresenter.mm +187 -0
  849. package/ios/TopBar/ANNBarAppearance.h +53 -0
  850. package/ios/TopBar/ANNBarAppearance.mm +278 -0
  851. package/ios/TopBar/ANNBarBackgroundComponent.h +46 -0
  852. package/ios/TopBar/ANNBarBackgroundComponent.mm +163 -0
  853. package/ios/TopBar/ANNBarButtonComponentView.h +30 -0
  854. package/ios/TopBar/ANNBarButtonComponentView.mm +110 -0
  855. package/ios/TopBar/ANNBarButtons.h +65 -0
  856. package/ios/TopBar/ANNBarButtons.mm +1125 -0
  857. package/ios/TopBar/ANNBarComponentsWait.h +37 -0
  858. package/ios/TopBar/ANNBarComponentsWait.mm +116 -0
  859. package/ios/TopBar/ANNIconButtonImage.h +25 -0
  860. package/ios/TopBar/ANNIconButtonImage.mm +94 -0
  861. package/ios/TopBar/ANNLargeTitlePresenter.h +117 -0
  862. package/ios/TopBar/ANNLargeTitlePresenter.mm +402 -0
  863. package/ios/TopBar/ANNMainList.h +28 -0
  864. package/ios/TopBar/ANNMainList.mm +72 -0
  865. package/ios/TopBar/ANNScrollEdgeEffects.h +29 -0
  866. package/ios/TopBar/ANNScrollEdgeEffects.mm +122 -0
  867. package/ios/TopBar/ANNSearchPresenter.h +29 -0
  868. package/ios/TopBar/ANNSearchPresenter.mm +637 -0
  869. package/ios/TopBar/ANNSearchResultsViewController.h +16 -0
  870. package/ios/TopBar/ANNSearchResultsViewController.mm +56 -0
  871. package/ios/TopBar/ANNShowTextButton.h +22 -0
  872. package/ios/TopBar/ANNShowTextButton.mm +63 -0
  873. package/ios/TopBar/ANNTitleComponentView.h +37 -0
  874. package/ios/TopBar/ANNTitleComponentView.mm +86 -0
  875. package/ios/TopBar/ANNTitleGlassView.h +33 -0
  876. package/ios/TopBar/ANNTitleGlassView.mm +126 -0
  877. package/ios/TopBar/ANNTitleView.h +18 -0
  878. package/ios/TopBar/ANNTitleView.mm +63 -0
  879. package/ios/TopBar/ANNToolbarPresenter.h +26 -0
  880. package/ios/TopBar/ANNToolbarPresenter.mm +24 -0
  881. package/ios/TopBar/ANNTopBarPresenter.h +120 -0
  882. package/ios/TopBar/ANNTopBarPresenter.mm +1252 -0
  883. package/ios/TopBar/ANNUIBarButtonItem.h +16 -0
  884. package/ios/TopBar/ANNUIBarButtonItem.mm +5 -0
  885. package/ios/TurboModules/ANNTurboEventEmitter.h +31 -0
  886. package/ios/TurboModules/ANNTurboEventEmitter.mm +129 -0
  887. package/ios/TurboModules/ANNTurboModule.h +11 -0
  888. package/ios/TurboModules/ANNTurboModule.mm +626 -0
  889. package/ios/Utils/UIColor+ANNLuminance.h +13 -0
  890. package/ios/Utils/UIColor+ANNLuminance.mm +32 -0
  891. package/ios/Utils/UIView+Utils.h +12 -0
  892. package/ios/Utils/UIView+Utils.mm +21 -0
  893. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSafeAreaViewComponentDescriptor.h +19 -0
  894. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSafeAreaViewShadowNode.h +60 -0
  895. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSafeAreaViewState.h +33 -0
  896. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSlotComponentDescriptor.h +22 -0
  897. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSlotShadowNode.h +87 -0
  898. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSlotState.h +101 -0
  899. package/lib/module/ARCHITECTURE.md +289 -0
  900. package/lib/module/adapters/NativeANNTurboEventEmitter.js +12 -0
  901. package/lib/module/adapters/NativeANNTurboEventEmitter.js.map +1 -0
  902. package/lib/module/adapters/NativeANNTurboModule.js +13 -0
  903. package/lib/module/adapters/NativeANNTurboModule.js.map +1 -0
  904. package/lib/module/api/app/AppRegistry.js +52 -0
  905. package/lib/module/api/app/AppRegistry.js.map +1 -0
  906. package/lib/module/api/app/activeApp.js +12 -0
  907. package/lib/module/api/app/activeApp.js.map +1 -0
  908. package/lib/module/api/app/createNavigation.js +365 -0
  909. package/lib/module/api/app/createNavigation.js.map +1 -0
  910. package/lib/module/api/app/roots.js +20 -0
  911. package/lib/module/api/app/roots.js.map +1 -0
  912. package/lib/module/api/app/splash.js +124 -0
  913. package/lib/module/api/app/splash.js.map +1 -0
  914. package/lib/module/api/app/startFailure.js +38 -0
  915. package/lib/module/api/app/startFailure.js.map +1 -0
  916. package/lib/module/api/arrangement/arrangementState.js +86 -0
  917. package/lib/module/api/arrangement/arrangementState.js.map +1 -0
  918. package/lib/module/api/commands/commands.js +375 -0
  919. package/lib/module/api/commands/commands.js.map +1 -0
  920. package/lib/module/api/commands/errors.js +94 -0
  921. package/lib/module/api/commands/errors.js.map +1 -0
  922. package/lib/module/api/commands/presentation.js +4 -0
  923. package/lib/module/api/commands/presentation.js.map +1 -0
  924. package/lib/module/api/commands/sideMenus.js +134 -0
  925. package/lib/module/api/commands/sideMenus.js.map +1 -0
  926. package/lib/module/api/commands/transitions.js +245 -0
  927. package/lib/module/api/commands/transitions.js.map +1 -0
  928. package/lib/module/api/context/appContext.js +22 -0
  929. package/lib/module/api/context/appContext.js.map +1 -0
  930. package/lib/module/api/events/navigationEvents.js +69 -0
  931. package/lib/module/api/events/navigationEvents.js.map +1 -0
  932. package/lib/module/api/events/screenLifecycle.js +30 -0
  933. package/lib/module/api/events/screenLifecycle.js.map +1 -0
  934. package/lib/module/api/events/tabPresses.js +32 -0
  935. package/lib/module/api/events/tabPresses.js.map +1 -0
  936. package/lib/module/api/hinge/hinge.js +73 -0
  937. package/lib/module/api/hinge/hinge.js.map +1 -0
  938. package/lib/module/api/hooks/appHooks.js +26 -0
  939. package/lib/module/api/hooks/appHooks.js.map +1 -0
  940. package/lib/module/api/hooks/screenHooks.js +250 -0
  941. package/lib/module/api/hooks/screenHooks.js.map +1 -0
  942. package/lib/module/api/hooks/useArrangement.js +24 -0
  943. package/lib/module/api/hooks/useArrangement.js.map +1 -0
  944. package/lib/module/api/hooks/useHinge.js +29 -0
  945. package/lib/module/api/hooks/useHinge.js.map +1 -0
  946. package/lib/module/api/hooks/useNavigation.js +117 -0
  947. package/lib/module/api/hooks/useNavigation.js.map +1 -0
  948. package/lib/module/api/hooks/usePendingLink.js +12 -0
  949. package/lib/module/api/hooks/usePendingLink.js.map +1 -0
  950. package/lib/module/api/hooks/usePreview.js +97 -0
  951. package/lib/module/api/hooks/usePreview.js.map +1 -0
  952. package/lib/module/api/hooks/useReservedRegions.js +24 -0
  953. package/lib/module/api/hooks/useReservedRegions.js.map +1 -0
  954. package/lib/module/api/hooks/useSafeAreaInsets.js +25 -0
  955. package/lib/module/api/hooks/useSafeAreaInsets.js.map +1 -0
  956. package/lib/module/api/index.js +26 -0
  957. package/lib/module/api/index.js.map +1 -0
  958. package/lib/module/api/layout/Root.js +121 -0
  959. package/lib/module/api/layout/Root.js.map +1 -0
  960. package/lib/module/api/layout/Screen.js +52 -0
  961. package/lib/module/api/layout/Screen.js.map +1 -0
  962. package/lib/module/api/layout/SideMenu.js +85 -0
  963. package/lib/module/api/layout/SideMenu.js.map +1 -0
  964. package/lib/module/api/layout/SplitView.js +137 -0
  965. package/lib/module/api/layout/SplitView.js.map +1 -0
  966. package/lib/module/api/layout/Stack.js +36 -0
  967. package/lib/module/api/layout/Stack.js.map +1 -0
  968. package/lib/module/api/layout/Tabs.js +326 -0
  969. package/lib/module/api/layout/Tabs.js.map +1 -0
  970. package/lib/module/api/layout/element.js +100 -0
  971. package/lib/module/api/layout/element.js.map +1 -0
  972. package/lib/module/api/linking/linkPaths.js +132 -0
  973. package/lib/module/api/linking/linkPaths.js.map +1 -0
  974. package/lib/module/api/linking/linking.js +244 -0
  975. package/lib/module/api/linking/linking.js.map +1 -0
  976. package/lib/module/api/linking/pendingLinks.js +34 -0
  977. package/lib/module/api/linking/pendingLinks.js.map +1 -0
  978. package/lib/module/api/linking/types.js +4 -0
  979. package/lib/module/api/linking/types.js.map +1 -0
  980. package/lib/module/api/navigation.js +105 -0
  981. package/lib/module/api/navigation.js.map +1 -0
  982. package/lib/module/api/options/OptionsChain.js +158 -0
  983. package/lib/module/api/options/OptionsChain.js.map +1 -0
  984. package/lib/module/api/options/ScreenOptions.js +83 -0
  985. package/lib/module/api/options/ScreenOptions.js.map +1 -0
  986. package/lib/module/api/options/buttons.js +4 -0
  987. package/lib/module/api/options/buttons.js.map +1 -0
  988. package/lib/module/api/safeArea/ANNSafeAreaViewNativeComponent.ts +28 -0
  989. package/lib/module/api/safeArea/screenInsets.js +86 -0
  990. package/lib/module/api/safeArea/screenInsets.js.map +1 -0
  991. package/lib/module/api/safeArea/screenRegions.js +84 -0
  992. package/lib/module/api/safeArea/screenRegions.js.map +1 -0
  993. package/lib/module/api/screens/ScreenBoundary.js +44 -0
  994. package/lib/module/api/screens/ScreenBoundary.js.map +1 -0
  995. package/lib/module/api/screens/arrangement.js +63 -0
  996. package/lib/module/api/screens/arrangement.js.map +1 -0
  997. package/lib/module/api/screens/defineScreen.js +29 -0
  998. package/lib/module/api/screens/defineScreen.js.map +1 -0
  999. package/lib/module/api/screens/nativeScreenCalls.js +34 -0
  1000. package/lib/module/api/screens/nativeScreenCalls.js.map +1 -0
  1001. package/lib/module/api/screens/nativeScreens.js +43 -0
  1002. package/lib/module/api/screens/nativeScreens.js.map +1 -0
  1003. package/lib/module/api/screens/registerScreens.js +305 -0
  1004. package/lib/module/api/screens/registerScreens.js.map +1 -0
  1005. package/lib/module/api/slots/ANNSlotNativeComponent.ts +23 -0
  1006. package/lib/module/api/slots/SlotHost.js +92 -0
  1007. package/lib/module/api/slots/SlotHost.js.map +1 -0
  1008. package/lib/module/api/state/navigationState.js +98 -0
  1009. package/lib/module/api/state/navigationState.js.map +1 -0
  1010. package/lib/module/api/testIDs.js +14 -0
  1011. package/lib/module/api/testIDs.js.map +1 -0
  1012. package/lib/module/api/theme/theme.js +180 -0
  1013. package/lib/module/api/theme/theme.js.map +1 -0
  1014. package/lib/module/api/types.js +4 -0
  1015. package/lib/module/api/types.js.map +1 -0
  1016. package/lib/module/engine/backListeners.js +39 -0
  1017. package/lib/module/engine/backListeners.js.map +1 -0
  1018. package/lib/module/engine/buttons.js +105 -0
  1019. package/lib/module/engine/buttons.js.map +1 -0
  1020. package/lib/module/engine/commands.js +388 -0
  1021. package/lib/module/engine/commands.js.map +1 -0
  1022. package/lib/module/engine/events.js +30 -0
  1023. package/lib/module/engine/events.js.map +1 -0
  1024. package/lib/module/engine/ids.js +10 -0
  1025. package/lib/module/engine/ids.js.map +1 -0
  1026. package/lib/module/engine/launchState.js +34 -0
  1027. package/lib/module/engine/launchState.js.map +1 -0
  1028. package/lib/module/engine/layout.js +202 -0
  1029. package/lib/module/engine/layout.js.map +1 -0
  1030. package/lib/module/engine/mergeOptions.js +23 -0
  1031. package/lib/module/engine/mergeOptions.js.map +1 -0
  1032. package/lib/module/engine/native.js +45 -0
  1033. package/lib/module/engine/native.js.map +1 -0
  1034. package/lib/module/engine/nativeScreens.js +265 -0
  1035. package/lib/module/engine/nativeScreens.js.map +1 -0
  1036. package/lib/module/engine/options.js +170 -0
  1037. package/lib/module/engine/options.js.map +1 -0
  1038. package/lib/module/engine/places.js +178 -0
  1039. package/lib/module/engine/places.js.map +1 -0
  1040. package/lib/module/engine/props.js +44 -0
  1041. package/lib/module/engine/props.js.map +1 -0
  1042. package/lib/module/engine/reactMeasures.js +23 -0
  1043. package/lib/module/engine/reactMeasures.js.map +1 -0
  1044. package/lib/module/engine/rememberedOptions.js +118 -0
  1045. package/lib/module/engine/rememberedOptions.js.map +1 -0
  1046. package/lib/module/engine/screens.js +194 -0
  1047. package/lib/module/engine/screens.js.map +1 -0
  1048. package/lib/module/engine/slots.js +200 -0
  1049. package/lib/module/engine/slots.js.map +1 -0
  1050. package/lib/module/engine/tabs.js +79 -0
  1051. package/lib/module/engine/tabs.js.map +1 -0
  1052. package/lib/module/index.js +5 -0
  1053. package/lib/module/index.js.map +1 -0
  1054. package/lib/module/interfaces/ComponentEvents.js +2 -0
  1055. package/lib/module/interfaces/ComponentEvents.js.map +1 -0
  1056. package/lib/module/interfaces/Events.js +2 -0
  1057. package/lib/module/interfaces/Events.js.map +1 -0
  1058. package/lib/module/interfaces/Layout.js +4 -0
  1059. package/lib/module/interfaces/Layout.js.map +1 -0
  1060. package/lib/module/interfaces/Options.js +4 -0
  1061. package/lib/module/interfaces/Options.js.map +1 -0
  1062. package/lib/module/interfaces/options/animations.js +2 -0
  1063. package/lib/module/interfaces/options/animations.js.map +1 -0
  1064. package/lib/module/interfaces/options/bottomTabs.js +4 -0
  1065. package/lib/module/interfaces/options/bottomTabs.js.map +1 -0
  1066. package/lib/module/interfaces/options/buttons.js +4 -0
  1067. package/lib/module/interfaces/options/buttons.js.map +1 -0
  1068. package/lib/module/interfaces/options/common.js +4 -0
  1069. package/lib/module/interfaces/options/common.js.map +1 -0
  1070. package/lib/module/interfaces/options/modals.js +2 -0
  1071. package/lib/module/interfaces/options/modals.js.map +1 -0
  1072. package/lib/module/interfaces/options/preview.js +2 -0
  1073. package/lib/module/interfaces/options/preview.js.map +1 -0
  1074. package/lib/module/interfaces/options/sideMenu.js +2 -0
  1075. package/lib/module/interfaces/options/sideMenu.js.map +1 -0
  1076. package/lib/module/interfaces/options/splitView.js +2 -0
  1077. package/lib/module/interfaces/options/splitView.js.map +1 -0
  1078. package/lib/module/interfaces/options/stack.js +4 -0
  1079. package/lib/module/interfaces/options/stack.js.map +1 -0
  1080. package/lib/module/interfaces/options/system.js +4 -0
  1081. package/lib/module/interfaces/options/system.js.map +1 -0
  1082. package/lib/module/interfaces/options/toolbar.js +4 -0
  1083. package/lib/module/interfaces/options/toolbar.js.map +1 -0
  1084. package/lib/module/interfaces/options/topBar.js +4 -0
  1085. package/lib/module/interfaces/options/topBar.js.map +1 -0
  1086. package/lib/module/package.json +1 -0
  1087. package/lib/typescript/adapters/NativeANNTurboEventEmitter.d.ts +14 -0
  1088. package/lib/typescript/adapters/NativeANNTurboEventEmitter.d.ts.map +1 -0
  1089. package/lib/typescript/adapters/NativeANNTurboModule.d.ts +77 -0
  1090. package/lib/typescript/adapters/NativeANNTurboModule.d.ts.map +1 -0
  1091. package/lib/typescript/api/app/AppRegistry.d.ts +14 -0
  1092. package/lib/typescript/api/app/AppRegistry.d.ts.map +1 -0
  1093. package/lib/typescript/api/app/activeApp.d.ts +12 -0
  1094. package/lib/typescript/api/app/activeApp.d.ts.map +1 -0
  1095. package/lib/typescript/api/app/createNavigation.d.ts +182 -0
  1096. package/lib/typescript/api/app/createNavigation.d.ts.map +1 -0
  1097. package/lib/typescript/api/app/roots.d.ts +15 -0
  1098. package/lib/typescript/api/app/roots.d.ts.map +1 -0
  1099. package/lib/typescript/api/app/splash.d.ts +81 -0
  1100. package/lib/typescript/api/app/splash.d.ts.map +1 -0
  1101. package/lib/typescript/api/app/startFailure.d.ts +15 -0
  1102. package/lib/typescript/api/app/startFailure.d.ts.map +1 -0
  1103. package/lib/typescript/api/arrangement/arrangementState.d.ts +21 -0
  1104. package/lib/typescript/api/arrangement/arrangementState.d.ts.map +1 -0
  1105. package/lib/typescript/api/commands/commands.d.ts +57 -0
  1106. package/lib/typescript/api/commands/commands.d.ts.map +1 -0
  1107. package/lib/typescript/api/commands/errors.d.ts +24 -0
  1108. package/lib/typescript/api/commands/errors.d.ts.map +1 -0
  1109. package/lib/typescript/api/commands/presentation.d.ts +69 -0
  1110. package/lib/typescript/api/commands/presentation.d.ts.map +1 -0
  1111. package/lib/typescript/api/commands/sideMenus.d.ts +14 -0
  1112. package/lib/typescript/api/commands/sideMenus.d.ts.map +1 -0
  1113. package/lib/typescript/api/commands/transitions.d.ts +33 -0
  1114. package/lib/typescript/api/commands/transitions.d.ts.map +1 -0
  1115. package/lib/typescript/api/context/appContext.d.ts +4 -0
  1116. package/lib/typescript/api/context/appContext.d.ts.map +1 -0
  1117. package/lib/typescript/api/events/navigationEvents.d.ts +70 -0
  1118. package/lib/typescript/api/events/navigationEvents.d.ts.map +1 -0
  1119. package/lib/typescript/api/events/screenLifecycle.d.ts +5 -0
  1120. package/lib/typescript/api/events/screenLifecycle.d.ts.map +1 -0
  1121. package/lib/typescript/api/events/tabPresses.d.ts +5 -0
  1122. package/lib/typescript/api/events/tabPresses.d.ts.map +1 -0
  1123. package/lib/typescript/api/hinge/hinge.d.ts +21 -0
  1124. package/lib/typescript/api/hinge/hinge.d.ts.map +1 -0
  1125. package/lib/typescript/api/hooks/appHooks.d.ts +15 -0
  1126. package/lib/typescript/api/hooks/appHooks.d.ts.map +1 -0
  1127. package/lib/typescript/api/hooks/screenHooks.d.ts +74 -0
  1128. package/lib/typescript/api/hooks/screenHooks.d.ts.map +1 -0
  1129. package/lib/typescript/api/hooks/useArrangement.d.ts +13 -0
  1130. package/lib/typescript/api/hooks/useArrangement.d.ts.map +1 -0
  1131. package/lib/typescript/api/hooks/useHinge.d.ts +16 -0
  1132. package/lib/typescript/api/hooks/useHinge.d.ts.map +1 -0
  1133. package/lib/typescript/api/hooks/useNavigation.d.ts +108 -0
  1134. package/lib/typescript/api/hooks/useNavigation.d.ts.map +1 -0
  1135. package/lib/typescript/api/hooks/usePendingLink.d.ts +7 -0
  1136. package/lib/typescript/api/hooks/usePendingLink.d.ts.map +1 -0
  1137. package/lib/typescript/api/hooks/usePreview.d.ts +29 -0
  1138. package/lib/typescript/api/hooks/usePreview.d.ts.map +1 -0
  1139. package/lib/typescript/api/hooks/useReservedRegions.d.ts +13 -0
  1140. package/lib/typescript/api/hooks/useReservedRegions.d.ts.map +1 -0
  1141. package/lib/typescript/api/hooks/useSafeAreaInsets.d.ts +14 -0
  1142. package/lib/typescript/api/hooks/useSafeAreaInsets.d.ts.map +1 -0
  1143. package/lib/typescript/api/index.d.ts +60 -0
  1144. package/lib/typescript/api/index.d.ts.map +1 -0
  1145. package/lib/typescript/api/layout/Root.d.ts +47 -0
  1146. package/lib/typescript/api/layout/Root.d.ts.map +1 -0
  1147. package/lib/typescript/api/layout/Screen.d.ts +32 -0
  1148. package/lib/typescript/api/layout/Screen.d.ts.map +1 -0
  1149. package/lib/typescript/api/layout/SideMenu.d.ts +33 -0
  1150. package/lib/typescript/api/layout/SideMenu.d.ts.map +1 -0
  1151. package/lib/typescript/api/layout/SplitView.d.ts +48 -0
  1152. package/lib/typescript/api/layout/SplitView.d.ts.map +1 -0
  1153. package/lib/typescript/api/layout/Stack.d.ts +21 -0
  1154. package/lib/typescript/api/layout/Stack.d.ts.map +1 -0
  1155. package/lib/typescript/api/layout/Tabs.d.ts +120 -0
  1156. package/lib/typescript/api/layout/Tabs.d.ts.map +1 -0
  1157. package/lib/typescript/api/layout/element.d.ts +52 -0
  1158. package/lib/typescript/api/layout/element.d.ts.map +1 -0
  1159. package/lib/typescript/api/linking/linkPaths.d.ts +31 -0
  1160. package/lib/typescript/api/linking/linkPaths.d.ts.map +1 -0
  1161. package/lib/typescript/api/linking/linking.d.ts +37 -0
  1162. package/lib/typescript/api/linking/linking.d.ts.map +1 -0
  1163. package/lib/typescript/api/linking/pendingLinks.d.ts +8 -0
  1164. package/lib/typescript/api/linking/pendingLinks.d.ts.map +1 -0
  1165. package/lib/typescript/api/linking/types.d.ts +105 -0
  1166. package/lib/typescript/api/linking/types.d.ts.map +1 -0
  1167. package/lib/typescript/api/navigation.d.ts +115 -0
  1168. package/lib/typescript/api/navigation.d.ts.map +1 -0
  1169. package/lib/typescript/api/options/OptionsChain.d.ts +47 -0
  1170. package/lib/typescript/api/options/OptionsChain.d.ts.map +1 -0
  1171. package/lib/typescript/api/options/ScreenOptions.d.ts +32 -0
  1172. package/lib/typescript/api/options/ScreenOptions.d.ts.map +1 -0
  1173. package/lib/typescript/api/options/buttons.d.ts +35 -0
  1174. package/lib/typescript/api/options/buttons.d.ts.map +1 -0
  1175. package/lib/typescript/api/safeArea/ANNSafeAreaViewNativeComponent.d.ts +20 -0
  1176. package/lib/typescript/api/safeArea/ANNSafeAreaViewNativeComponent.d.ts.map +1 -0
  1177. package/lib/typescript/api/safeArea/screenInsets.d.ts +20 -0
  1178. package/lib/typescript/api/safeArea/screenInsets.d.ts.map +1 -0
  1179. package/lib/typescript/api/safeArea/screenRegions.d.ts +24 -0
  1180. package/lib/typescript/api/safeArea/screenRegions.d.ts.map +1 -0
  1181. package/lib/typescript/api/screens/ScreenBoundary.d.ts +34 -0
  1182. package/lib/typescript/api/screens/ScreenBoundary.d.ts.map +1 -0
  1183. package/lib/typescript/api/screens/arrangement.d.ts +70 -0
  1184. package/lib/typescript/api/screens/arrangement.d.ts.map +1 -0
  1185. package/lib/typescript/api/screens/defineScreen.d.ts +41 -0
  1186. package/lib/typescript/api/screens/defineScreen.d.ts.map +1 -0
  1187. package/lib/typescript/api/screens/nativeScreenCalls.d.ts +3 -0
  1188. package/lib/typescript/api/screens/nativeScreenCalls.d.ts.map +1 -0
  1189. package/lib/typescript/api/screens/nativeScreens.d.ts +47 -0
  1190. package/lib/typescript/api/screens/nativeScreens.d.ts.map +1 -0
  1191. package/lib/typescript/api/screens/registerScreens.d.ts +61 -0
  1192. package/lib/typescript/api/screens/registerScreens.d.ts.map +1 -0
  1193. package/lib/typescript/api/slots/ANNSlotNativeComponent.d.ts +15 -0
  1194. package/lib/typescript/api/slots/ANNSlotNativeComponent.d.ts.map +1 -0
  1195. package/lib/typescript/api/slots/SlotHost.d.ts +8 -0
  1196. package/lib/typescript/api/slots/SlotHost.d.ts.map +1 -0
  1197. package/lib/typescript/api/state/navigationState.d.ts +26 -0
  1198. package/lib/typescript/api/state/navigationState.d.ts.map +1 -0
  1199. package/lib/typescript/api/testIDs.d.ts +12 -0
  1200. package/lib/typescript/api/testIDs.d.ts.map +1 -0
  1201. package/lib/typescript/api/theme/theme.d.ts +70 -0
  1202. package/lib/typescript/api/theme/theme.d.ts.map +1 -0
  1203. package/lib/typescript/api/types.d.ts +64 -0
  1204. package/lib/typescript/api/types.d.ts.map +1 -0
  1205. package/lib/typescript/engine/backListeners.d.ts +8 -0
  1206. package/lib/typescript/engine/backListeners.d.ts.map +1 -0
  1207. package/lib/typescript/engine/buttons.d.ts +11 -0
  1208. package/lib/typescript/engine/buttons.d.ts.map +1 -0
  1209. package/lib/typescript/engine/commands.d.ts +38 -0
  1210. package/lib/typescript/engine/commands.d.ts.map +1 -0
  1211. package/lib/typescript/engine/events.d.ts +17 -0
  1212. package/lib/typescript/engine/events.d.ts.map +1 -0
  1213. package/lib/typescript/engine/ids.d.ts +3 -0
  1214. package/lib/typescript/engine/ids.d.ts.map +1 -0
  1215. package/lib/typescript/engine/launchState.d.ts +25 -0
  1216. package/lib/typescript/engine/launchState.d.ts.map +1 -0
  1217. package/lib/typescript/engine/layout.d.ts +32 -0
  1218. package/lib/typescript/engine/layout.d.ts.map +1 -0
  1219. package/lib/typescript/engine/mergeOptions.d.ts +6 -0
  1220. package/lib/typescript/engine/mergeOptions.d.ts.map +1 -0
  1221. package/lib/typescript/engine/native.d.ts +22 -0
  1222. package/lib/typescript/engine/native.d.ts.map +1 -0
  1223. package/lib/typescript/engine/nativeScreens.d.ts +49 -0
  1224. package/lib/typescript/engine/nativeScreens.d.ts.map +1 -0
  1225. package/lib/typescript/engine/options.d.ts +12 -0
  1226. package/lib/typescript/engine/options.d.ts.map +1 -0
  1227. package/lib/typescript/engine/places.d.ts +57 -0
  1228. package/lib/typescript/engine/places.d.ts.map +1 -0
  1229. package/lib/typescript/engine/props.d.ts +10 -0
  1230. package/lib/typescript/engine/props.d.ts.map +1 -0
  1231. package/lib/typescript/engine/reactMeasures.d.ts +3 -0
  1232. package/lib/typescript/engine/reactMeasures.d.ts.map +1 -0
  1233. package/lib/typescript/engine/rememberedOptions.d.ts +28 -0
  1234. package/lib/typescript/engine/rememberedOptions.d.ts.map +1 -0
  1235. package/lib/typescript/engine/screens.d.ts +90 -0
  1236. package/lib/typescript/engine/screens.d.ts.map +1 -0
  1237. package/lib/typescript/engine/slots.d.ts +71 -0
  1238. package/lib/typescript/engine/slots.d.ts.map +1 -0
  1239. package/lib/typescript/engine/tabs.d.ts +24 -0
  1240. package/lib/typescript/engine/tabs.d.ts.map +1 -0
  1241. package/lib/typescript/index.d.ts +3 -0
  1242. package/lib/typescript/index.d.ts.map +1 -0
  1243. package/lib/typescript/interfaces/ComponentEvents.d.ts +189 -0
  1244. package/lib/typescript/interfaces/ComponentEvents.d.ts.map +1 -0
  1245. package/lib/typescript/interfaces/Events.d.ts +199 -0
  1246. package/lib/typescript/interfaces/Events.d.ts.map +1 -0
  1247. package/lib/typescript/interfaces/Layout.d.ts +150 -0
  1248. package/lib/typescript/interfaces/Layout.d.ts.map +1 -0
  1249. package/lib/typescript/interfaces/Options.d.ts +93 -0
  1250. package/lib/typescript/interfaces/Options.d.ts.map +1 -0
  1251. package/lib/typescript/interfaces/options/animations.d.ts +452 -0
  1252. package/lib/typescript/interfaces/options/animations.d.ts.map +1 -0
  1253. package/lib/typescript/interfaces/options/bottomTabs.d.ts +462 -0
  1254. package/lib/typescript/interfaces/options/bottomTabs.d.ts.map +1 -0
  1255. package/lib/typescript/interfaces/options/buttons.d.ts +331 -0
  1256. package/lib/typescript/interfaces/options/buttons.d.ts.map +1 -0
  1257. package/lib/typescript/interfaces/options/common.d.ts +51 -0
  1258. package/lib/typescript/interfaces/options/common.d.ts.map +1 -0
  1259. package/lib/typescript/interfaces/options/modals.d.ts +202 -0
  1260. package/lib/typescript/interfaces/options/modals.d.ts.map +1 -0
  1261. package/lib/typescript/interfaces/options/preview.d.ts +40 -0
  1262. package/lib/typescript/interfaces/options/preview.d.ts.map +1 -0
  1263. package/lib/typescript/interfaces/options/sideMenu.d.ts +130 -0
  1264. package/lib/typescript/interfaces/options/sideMenu.d.ts.map +1 -0
  1265. package/lib/typescript/interfaces/options/splitView.d.ts +118 -0
  1266. package/lib/typescript/interfaces/options/splitView.d.ts.map +1 -0
  1267. package/lib/typescript/interfaces/options/stack.d.ts +109 -0
  1268. package/lib/typescript/interfaces/options/stack.d.ts.map +1 -0
  1269. package/lib/typescript/interfaces/options/system.d.ts +238 -0
  1270. package/lib/typescript/interfaces/options/system.d.ts.map +1 -0
  1271. package/lib/typescript/interfaces/options/toolbar.d.ts +45 -0
  1272. package/lib/typescript/interfaces/options/toolbar.d.ts.map +1 -0
  1273. package/lib/typescript/interfaces/options/topBar.d.ts +804 -0
  1274. package/lib/typescript/interfaces/options/topBar.d.ts.map +1 -0
  1275. package/lib/typescript/package.json +1 -0
  1276. package/package.json +189 -4
  1277. package/react-native.config.js +22 -0
  1278. package/src/ARCHITECTURE.md +289 -0
  1279. package/src/adapters/NativeANNTurboEventEmitter.ts +15 -0
  1280. package/src/adapters/NativeANNTurboModule.ts +100 -0
  1281. package/src/api/app/AppRegistry.ts +57 -0
  1282. package/src/api/app/activeApp.ts +20 -0
  1283. package/src/api/app/createNavigation.ts +566 -0
  1284. package/src/api/app/roots.ts +40 -0
  1285. package/src/api/app/splash.ts +154 -0
  1286. package/src/api/app/startFailure.tsx +39 -0
  1287. package/src/api/arrangement/arrangementState.ts +98 -0
  1288. package/src/api/commands/commands.ts +371 -0
  1289. package/src/api/commands/errors.ts +99 -0
  1290. package/src/api/commands/presentation.ts +78 -0
  1291. package/src/api/commands/sideMenus.ts +122 -0
  1292. package/src/api/commands/transitions.ts +133 -0
  1293. package/src/api/context/appContext.ts +23 -0
  1294. package/src/api/events/navigationEvents.ts +175 -0
  1295. package/src/api/events/screenLifecycle.ts +27 -0
  1296. package/src/api/events/tabPresses.ts +35 -0
  1297. package/src/api/hinge/hinge.ts +84 -0
  1298. package/src/api/hooks/appHooks.ts +37 -0
  1299. package/src/api/hooks/screenHooks.ts +272 -0
  1300. package/src/api/hooks/useArrangement.ts +26 -0
  1301. package/src/api/hooks/useHinge.ts +26 -0
  1302. package/src/api/hooks/useNavigation.ts +267 -0
  1303. package/src/api/hooks/usePendingLink.ts +11 -0
  1304. package/src/api/hooks/usePreview.ts +111 -0
  1305. package/src/api/hooks/useReservedRegions.ts +26 -0
  1306. package/src/api/hooks/useSafeAreaInsets.ts +23 -0
  1307. package/src/api/index.ts +139 -0
  1308. package/src/api/layout/Root.ts +113 -0
  1309. package/src/api/layout/Screen.ts +55 -0
  1310. package/src/api/layout/SideMenu.ts +87 -0
  1311. package/src/api/layout/SplitView.ts +146 -0
  1312. package/src/api/layout/Stack.ts +48 -0
  1313. package/src/api/layout/Tabs.ts +339 -0
  1314. package/src/api/layout/element.ts +114 -0
  1315. package/src/api/linking/linkPaths.ts +159 -0
  1316. package/src/api/linking/linking.ts +242 -0
  1317. package/src/api/linking/pendingLinks.ts +37 -0
  1318. package/src/api/linking/types.ts +130 -0
  1319. package/src/api/navigation.ts +269 -0
  1320. package/src/api/options/OptionsChain.ts +142 -0
  1321. package/src/api/options/ScreenOptions.ts +81 -0
  1322. package/src/api/options/buttons.ts +43 -0
  1323. package/src/api/safeArea/ANNSafeAreaViewNativeComponent.ts +28 -0
  1324. package/src/api/safeArea/screenInsets.ts +86 -0
  1325. package/src/api/safeArea/screenRegions.ts +99 -0
  1326. package/src/api/screens/ScreenBoundary.tsx +52 -0
  1327. package/src/api/screens/arrangement.ts +106 -0
  1328. package/src/api/screens/defineScreen.ts +57 -0
  1329. package/src/api/screens/nativeScreenCalls.ts +59 -0
  1330. package/src/api/screens/nativeScreens.ts +58 -0
  1331. package/src/api/screens/registerScreens.tsx +364 -0
  1332. package/src/api/slots/ANNSlotNativeComponent.ts +23 -0
  1333. package/src/api/slots/SlotHost.tsx +64 -0
  1334. package/src/api/state/navigationState.ts +95 -0
  1335. package/src/api/testIDs.ts +11 -0
  1336. package/src/api/theme/theme.ts +184 -0
  1337. package/src/api/types.ts +95 -0
  1338. package/src/engine/backListeners.ts +36 -0
  1339. package/src/engine/buttons.ts +91 -0
  1340. package/src/engine/commands.ts +469 -0
  1341. package/src/engine/events.ts +24 -0
  1342. package/src/engine/ids.ts +7 -0
  1343. package/src/engine/launchState.ts +35 -0
  1344. package/src/engine/layout.ts +247 -0
  1345. package/src/engine/mergeOptions.ts +20 -0
  1346. package/src/engine/native.ts +51 -0
  1347. package/src/engine/nativeScreens.ts +263 -0
  1348. package/src/engine/options.ts +165 -0
  1349. package/src/engine/places.ts +205 -0
  1350. package/src/engine/props.ts +45 -0
  1351. package/src/engine/reactMeasures.ts +24 -0
  1352. package/src/engine/rememberedOptions.ts +111 -0
  1353. package/src/engine/screens.tsx +239 -0
  1354. package/src/engine/slots.ts +191 -0
  1355. package/src/engine/tabs.ts +95 -0
  1356. package/src/index.ts +3 -0
  1357. package/src/interfaces/ComponentEvents.ts +214 -0
  1358. package/src/interfaces/Events.ts +227 -0
  1359. package/src/interfaces/Layout.ts +161 -0
  1360. package/src/interfaces/Options.ts +175 -0
  1361. package/src/interfaces/options/animations.ts +480 -0
  1362. package/src/interfaces/options/bottomTabs.ts +481 -0
  1363. package/src/interfaces/options/buttons.ts +364 -0
  1364. package/src/interfaces/options/common.ts +76 -0
  1365. package/src/interfaces/options/modals.ts +217 -0
  1366. package/src/interfaces/options/preview.ts +40 -0
  1367. package/src/interfaces/options/sideMenu.ts +132 -0
  1368. package/src/interfaces/options/splitView.ts +127 -0
  1369. package/src/interfaces/options/stack.ts +110 -0
  1370. package/src/interfaces/options/system.ts +252 -0
  1371. package/src/interfaces/options/toolbar.ts +47 -0
  1372. package/src/interfaces/options/topBar.ts +828 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["interfaces/options/toolbar.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=topBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["interfaces/options/topBar.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,14 @@
1
+ import { type TurboModule } from 'react-native';
2
+ /**
3
+ * (iOS) The module the native side sends its events `ANN.<Name>` through. Android has none: its events come without
4
+ * a module.
5
+ */
6
+ export interface Spec extends TurboModule {
7
+ /** A listener of the event came. */
8
+ addListener(eventType: string): void;
9
+ /** The number of listeners that went. */
10
+ removeListeners(count: number): void;
11
+ }
12
+ declare const _default: Spec | undefined;
13
+ export default _default;
14
+ //# sourceMappingURL=NativeANNTurboEventEmitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeANNTurboEventEmitter.d.ts","sourceRoot":"","sources":["../../../src/adapters/NativeANNTurboEventEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAErE;;;GAGG;AACH,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,oCAAoC;IACpC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,yCAAyC;IACzC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;;AAGD,wBAAkF"}
@@ -0,0 +1,77 @@
1
+ import { type CodegenTypes, type TurboModule } from 'react-native';
2
+ /**
3
+ * The commands and questions JavaScript sends the native side. A command with a promise resolves once what it moves
4
+ * has settled, or rejects with a sentence that names the screen; a `void` one goes and reports its errors in the log.
5
+ * The synchronous methods only read what the native side stored for them and answer at once.
6
+ */
7
+ export interface Spec extends TurboModule {
8
+ /** Sets the root of the app with `{ root, modals, overlays }`; resolves with the id of the root once all shows. */
9
+ setRoot(commandId: string, layout: CodegenTypes.UnsafeObject): Promise<string>;
10
+ /** Starts the hidden React root `apexnative.slots`, once; a second call does nothing. */
11
+ startHost(): void;
12
+ /** Replaces the default options of every layout, shown or not, and applies their look to what shows. */
13
+ setDefaultOptions(options: CodegenTypes.UnsafeObject): void;
14
+ /** Merges options into the layout with the id and applies them to what shows; an unknown id does nothing. */
15
+ mergeOptions(componentId: string, options: CodegenTypes.UnsafeObject): void;
16
+ /** Pushes a layout over the screen in its stack; resolves with the id of the screen that shows. */
17
+ push(commandId: string, componentId: string, layout: CodegenTypes.UnsafeObject): Promise<string>;
18
+ /**
19
+ * (Android, one React tree) Lays the screen of a coming push out in its stack before React renders it, and resolves
20
+ * with its frame `{ width, height, padding }` in dp; null when it isn't prepared, and always on iOS.
21
+ */
22
+ preparePush(commandId: string, componentId: string, layout: CodegenTypes.UnsafeObject): Promise<CodegenTypes.UnsafeObject | null>;
23
+ /** Drops a screen that `preparePush` laid out; an unknown id does nothing. */
24
+ cancelPreparedPush(componentId: string): void;
25
+ /** Takes the screen and every screen above it off its stack; resolves with the id of the screen that went. */
26
+ pop(commandId: string, componentId: string): Promise<string>;
27
+ /** Takes the stack back to the screen with the id; resolves with that id. */
28
+ popTo(commandId: string, componentId: string): Promise<string>;
29
+ /** Takes the stack of the screen back to its first screen; resolves with the id of that screen. */
30
+ popToRoot(commandId: string, componentId: string): Promise<string>;
31
+ /** Replaces the screens of the screen's stack, the last one on top; resolves with the id of the new top screen. */
32
+ setStackRoot(commandId: string, componentId: string, layout: ReadonlyArray<CodegenTypes.UnsafeObject>): Promise<string>;
33
+ /** (Android) Whether JavaScript has `BackHandler` listeners; iOS does nothing. */
34
+ setBackListeners(active: boolean): void;
35
+ /** Shows a layout as a modal over the top modal or the root; resolves with the id of the modal's root. */
36
+ showModal(commandId: string, layout: CodegenTypes.UnsafeObject): Promise<string>;
37
+ /** Dismisses the modal the screen is in; resolves with the id of the modal's root. */
38
+ dismissModal(commandId: string, componentId: string, options?: CodegenTypes.UnsafeObject): Promise<string>;
39
+ /** Dismisses every modal; resolves with an empty string. */
40
+ dismissAllModals(commandId: string, options?: CodegenTypes.UnsafeObject): Promise<string>;
41
+ /** Shows a layout over everything, apart from the root and the modals; resolves with the id of its root. */
42
+ showOverlay(commandId: string, layout: CodegenTypes.UnsafeObject): Promise<string>;
43
+ /** Dismisses the overlay the screen is in; resolves with the id of the overlay. */
44
+ dismissOverlay(commandId: string, componentId: string): Promise<string>;
45
+ /** Dismisses every overlay; resolves with an empty string. */
46
+ dismissAllOverlays(commandId: string): Promise<string>;
47
+ /**
48
+ * Shows the layout in a column of the screen's split view in place of what it showed; out of a split view and in the
49
+ * compact width it is a push. Resolves with the id of the screen that shows.
50
+ */
51
+ showInColumn(commandId: string, componentId: string, column: string, layout: CodegenTypes.UnsafeObject): Promise<string>;
52
+ /** Shows or hides a column of the screen's split view; resolves once the columns stopped moving. */
53
+ setColumnShown(commandId: string, componentId: string, column: string, shown: boolean): Promise<void>;
54
+ /** How a screen of a pair shows, `{ placement, layout, front, hidden }`; `{}` out of a pair. */
55
+ getArrangementState(componentId: string): CodegenTypes.UnsafeObject;
56
+ /** The safe area of the screen, `{ top, right, bottom, left }`; `{}` before its first layout. */
57
+ getScreenInsets(componentId: string): CodegenTypes.UnsafeObject;
58
+ /** The reserved regions of the screen, `{ division, occlusion }`; empty lists before its first layout. */
59
+ getScreenRegions(componentId: string): CodegenTypes.UnsafeObject;
60
+ /** Turns `ANN.HingeChanged` on and off. */
61
+ setHingeUpdates(enabled: boolean): void;
62
+ /** The last state of the device's hinge, `{ state, angle? }`; `{}` without a hinge. */
63
+ getHinge(): CodegenTypes.UnsafeObject;
64
+ /** The link that launched the app (Android: the current activity), given once; null without one. */
65
+ getLaunchLink(): Promise<string | null>;
66
+ /** What the native side tells at the start: `{ coldStart, splashLogo, arrangements }`. */
67
+ getStartInfo(): CodegenTypes.UnsafeObject;
68
+ /** New props of an open native screen: `{ props, removed, functions }`. */
69
+ updateNativeScreenProps(componentId: string, update: CodegenTypes.UnsafeObject): void;
70
+ /** The answer to `ANN.NativeScreenCall`: `{ value }` or `{ error }`. */
71
+ resolveNativeScreenCall(callId: string, result: CodegenTypes.UnsafeObject): void;
72
+ /** (iOS) Takes away a preview that waits, with its screen; a screen it opened stays. Android does nothing. */
73
+ dismissPreview(previewId: string): void;
74
+ }
75
+ declare const _default: Spec;
76
+ export default _default;
77
+ //# sourceMappingURL=NativeANNTurboModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeANNTurboModule.d.ts","sourceRoot":"","sources":["../../../src/adapters/NativeANNTurboModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { AppRegistry as ReactNativeAppRegistry } from 'react-native';
2
+ import { type NavigationApp } from './createNavigation.js';
3
+ type NavigationAppProvider = () => NavigationApp<any, any>;
4
+ /**
5
+ * Registers the app's navigation under the app's name; it starts when the native side launches the app. A function
6
+ * that returns the navigation loads its module only then.
7
+ */
8
+ declare function registerComponent(key: string, navigation: NavigationApp<any, any> | NavigationAppProvider): string;
9
+ /** React Native's AppRegistry, with `registerComponent` taking the navigation instead of a root component. */
10
+ export declare const AppRegistry: Omit<typeof ReactNativeAppRegistry, 'registerComponent'> & {
11
+ registerComponent: typeof registerComponent;
12
+ };
13
+ export {};
14
+ //# sourceMappingURL=AppRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppRegistry.d.ts","sourceRoot":"","sources":["../../../../src/api/app/AppRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAIrE,OAAO,EAAmB,KAAK,aAAa,EAAY,MAAM,uBAAoB,CAAC;AAEnF,KAAK,qBAAqB,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAsB3D;;;GAGG;AACH,iBAAS,iBAAiB,CACxB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,qBAAqB,GAC1D,MAAM,CAgBR;AAED,8GAA8G;AAC9G,eAAO,MAAM,WAAW,EAAE,IAAI,CAAC,OAAO,sBAAsB,EAAE,mBAAmB,CAAC,GAAG;IACnF,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;CACM,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { Presentation } from '../commands/presentation.js';
2
+ import type { RootsMap } from './roots.js';
3
+ /** The started app, for the commands made outside it. */
4
+ export interface ActiveApp {
5
+ roots: RootsMap | undefined;
6
+ presentation: Presentation | undefined;
7
+ /** Resolves once the first root is shown. */
8
+ mounted: Promise<void>;
9
+ }
10
+ export declare function setActiveApp(app: ActiveApp): void;
11
+ export declare function getActiveApp(): ActiveApp | undefined;
12
+ //# sourceMappingURL=activeApp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activeApp.d.ts","sourceRoot":"","sources":["../../../../src/api/app/activeApp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAS,CAAC;AAExC,yDAAyD;AACzD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;IACvC,6CAA6C;IAC7C,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAID,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,QAE1C;AAED,wBAAgB,YAAY,IAAI,SAAS,GAAG,SAAS,CAEpD"}
@@ -0,0 +1,182 @@
1
+ import type { ComponentType } from 'react';
2
+ import { type AppProvider } from '../../engine/slots.js';
3
+ import type { SafeAreaEdge, WindowOptions } from '../../interfaces/Options.js';
4
+ import type { Presentation } from '../commands/presentation.js';
5
+ import { type NavigationListeners } from '../events/navigationEvents.js';
6
+ import { type RootLayout } from '../layout/Root.js';
7
+ import { type LoadingFallback, type ScreenGroup, type ScreenInfo, type ScreenProvider, type Screens } from '../screens/registerScreens.js';
8
+ import type { ErrorFallbackProps } from '../screens/ScreenBoundary.js';
9
+ import { type AppOptionsInput, type NavigationDirection, type NavigationTheme } from '../theme/theme.js';
10
+ import { type SplashConfig } from './splash.js';
11
+ import { type RootsMap, type RootTarget, type UsesOfRootValue } from './roots.js';
12
+ import type { LinkingConfig } from '../linking/types.js';
13
+ import type { CheckedScreens } from '../types.js';
14
+ declare const NAVIGATION_APP: unique symbol;
15
+ declare const rootsType: unique symbol;
16
+ declare const screensType: unique symbol;
17
+ /** Where an error that goes to `onError` came from. */
18
+ export type NavigationErrorSource =
19
+ /** A screen failed to render: it shows `errorFallback`, or nothing, and the other screens go on. */
20
+ {
21
+ type: 'screen';
22
+ screen: ScreenInfo;
23
+ componentStack?: string | null;
24
+ }
25
+ /**
26
+ * The app failed to start: `willMount` or the first root. `errorFallback` shows as the first screen, and its `retry`
27
+ * starts again; without it the splash screen stays, and the next launch tries again.
28
+ */
29
+ | {
30
+ type: 'start';
31
+ }
32
+ /** A route of `linking` failed: its `start`, its `open`, or a command they made. The app goes on. */
33
+ | {
34
+ type: 'link';
35
+ url: string;
36
+ };
37
+ /** The navigation made by `createNavigation`, for `AppRegistry.registerComponent`. */
38
+ export interface NavigationApp<Roots extends RootsMap = RootsMap, AppScreens = Screens> {
39
+ readonly [NAVIGATION_APP]: true;
40
+ /** Carries the type of the roots for `navigation.switchTo`; never set. */
41
+ readonly [rootsType]?: Roots;
42
+ /** Carries the type of the screens for the commands; never set. */
43
+ readonly [screensType]?: AppScreens;
44
+ }
45
+ /** Starts the app, or brings back its root when the native side launches again. */
46
+ export declare function startApp(app: NavigationApp<any, any>): Promise<void>;
47
+ type ScreenGroups = Record<string, Screens>;
48
+ /** Every screen of the app: those of `screens` and of every group. */
49
+ type AllScreens<AppScreens, Groups extends ScreenGroups> = AppScreens & UnionToIntersection<Groups[keyof Groups]>;
50
+ type UnionToIntersection<Union> = (Union extends unknown ? (value: Union) => void : never) extends (value: infer Intersection) => void ? Intersection : never;
51
+ interface BaseConfig<Context, AppScreens extends Screens, Groups extends ScreenGroups, Roots extends RootsMap = RootsMap, Patterns extends string = string> {
52
+ /** The screens of the app by name. */
53
+ screens?: AppScreens;
54
+ /**
55
+ * Screens sharing options, by group name. Their names are in one namespace with `screens`: a command names a
56
+ * screen without its group.
57
+ */
58
+ groups?: {
59
+ [Group in keyof Groups]: ScreenGroup & {
60
+ screens: Groups[Group];
61
+ };
62
+ };
63
+ /** What every push, modal and overlay starts from; the settings of a command go over it. */
64
+ presentation?: Presentation;
65
+ /** Handlers of the events of the navigation, for as long as the app runs. */
66
+ listeners?: NavigationListeners;
67
+ /**
68
+ * Wraps the whole app once. With it every screen of `screens` and `groups` renders in one React tree inside it, so
69
+ * what it holds (a store, a query client, a theme) is shared and lives as long as the app does.
70
+ */
71
+ appProvider?: AppProvider;
72
+ /** Wraps every screen on its own, inside `appProvider`. */
73
+ screenProvider?: ScreenProvider;
74
+ /**
75
+ * What a screen that failed to render shows instead, with `retry` to render it again; without it the screen is empty
76
+ * and its top bar stays, so the user can go back. It renders inside `screenProvider`, unless that failed. When the
77
+ * start fails, it is the first screen, in place of the splash screen, and its `retry` runs the start again from
78
+ * `willMount`.
79
+ */
80
+ errorFallback?: ComponentType<ErrorFallbackProps>;
81
+ /** What a screen shows while it waits for a lazy component or data (Suspense); nothing without it. */
82
+ loadingFallback?: LoadingFallback;
83
+ /**
84
+ * The errors of the app: a screen that failed to render, a start that failed, and a link whose route failed. Without
85
+ * it they go to the console, as React and React Native report them.
86
+ */
87
+ onError?: (error: unknown, source: NavigationErrorSource) => void;
88
+ /**
89
+ * The default options of every screen, over the colors of the theme: options, or a chain built from the theme and the
90
+ * app's context (`(s, { theme, context }) => …`), which is built again when the theme changes.
91
+ */
92
+ options?: AppOptionsInput;
93
+ /** The look of the navigation: colors of the bars, tabs and backgrounds; `navigation.setTheme` changes it. */
94
+ theme?: NavigationTheme;
95
+ /**
96
+ * The edges on which every screen keeps its content out of its safe area. Without it: all four on Android; on iOS
97
+ * every edge but those where the content goes under a bar that shows. A screen gives its own with `safeArea(...)`
98
+ * in its options.
99
+ */
100
+ safeArea?: {
101
+ edges: SafeAreaEdge[];
102
+ };
103
+ /** (iOS) The app's window, behind the screens: seen around a modal as it comes in. */
104
+ window?: WindowOptions;
105
+ /**
106
+ * The direction of the app: `'rtl'`, `'ltr'`, or `'locale'` for the language of the app. The bars, the transitions and
107
+ * the swipe back follow it, and follow `navigation.setDirection` at once (on iOS 15–16 a stack already shown keeps
108
+ * its direction until its next push; on iOS 17+ a stack not on screen at the change does when the app had no
109
+ * direction before). React content follows it in the screens created after a change
110
+ * (React Native's `I18nManager`, which keeps it between launches); a reload of the JavaScript mirrors the screens
111
+ * already open. The side menus keep their sides.
112
+ */
113
+ direction?: NavigationDirection;
114
+ /**
115
+ * The first value of the app's context, for every screen (`useAppContext`): there at once, while `willMount` runs
116
+ * too. Its type is the type of the context. `navigation.setContext` is the one way to change it.
117
+ */
118
+ context?: Context;
119
+ /**
120
+ * Runs once per JavaScript runtime before the first root, while the splash screen shows. What the first root needs
121
+ * goes into the context with `navigation.setContext`.
122
+ */
123
+ willMount?: () => void | PromiseLike<void>;
124
+ /** Runs once per JavaScript runtime, once the first root is shown, with the context. */
125
+ didMount?: (context: Context) => void;
126
+ /**
127
+ * The app's own splash in React Native: a component that shows after the native splash on a cold start of the app,
128
+ * while `willMount` runs; the least time it stays, whether it waits for `useSplash().hide()`, and how the first root
129
+ * replaces it. Once per process: a reload of the JavaScript goes to the first root at once.
130
+ */
131
+ splash?: SplashConfig;
132
+ /**
133
+ * The links that open the app's screens: custom schemes, universal links (iOS) and App Links (Android), by path. A
134
+ * link runs after `willMount`, once the first root is shown; the link that launches the app can make that root itself
135
+ * (`start`). The app declares its schemes and domains natively (Info.plist, entitlements, AndroidManifest).
136
+ */
137
+ linking?: LinkingConfig<Context, Roots, Patterns, AllScreens<AppScreens, Groups>>;
138
+ }
139
+ /** The first root: a layout, or a function making it from the context. */
140
+ type FirstRoot<Context, Layout extends RootLayout = RootLayout> = Layout | ((context: Context) => Layout);
141
+ /** One root: the app always starts with it. */
142
+ interface SingleRootConfig<Context, Root extends FirstRoot<Context> = FirstRoot<Context>> {
143
+ /** The first root, from the context as `willMount` left it. */
144
+ root: Root;
145
+ roots?: never;
146
+ initialRoot?: never;
147
+ }
148
+ /** Named roots to switch between, such as signed out and signed in. */
149
+ interface NamedRootsConfig<Context, Roots extends RootsMap, Target extends RootTarget<Roots> = RootTarget<Roots>> {
150
+ /** The roots of the app by name: a layout, or a function making it from a param. */
151
+ roots: Roots;
152
+ /** The root to start with, from the context as `willMount` left it: its name, or `[name, param]`. */
153
+ initialRoot: (context: Context) => Target;
154
+ root?: never;
155
+ }
156
+ /** What `createNavigation` takes: `screens` and `root`, or `roots` with `initialRoot`; every other key is optional. */
157
+ export type NavigationConfig<Context = void, Roots extends RootsMap = Record<never, never>, Target extends RootTarget<Roots> = RootTarget<Roots>, AppScreens extends Screens = Record<never, never>, Groups extends ScreenGroups = Record<never, never>, Root extends FirstRoot<Context> = FirstRoot<Context>, Patterns extends string = string> = BaseConfig<Context, AppScreens, Groups, Roots, Patterns> & (SingleRootConfig<Context, Root> | NamedRootsConfig<Context, Roots, Target>);
158
+ /**
159
+ * The roots, checked against the screens of the config itself: the app's registered type is made from this config,
160
+ * so it can't check it.
161
+ */
162
+ type CheckedRoots<Root, Roots, AppScreens> = {
163
+ root?: CheckedScreens<UsesOfRootValue<Root>, AppScreens>;
164
+ roots?: {
165
+ [Name in keyof Roots]: CheckedScreens<UsesOfRootValue<Roots[Name]>, AppScreens>;
166
+ };
167
+ };
168
+ export declare function isNavigationApp(value: unknown): value is NavigationApp;
169
+ /**
170
+ * The app's navigation in one object: its screens, its first root, how the screens look and show, the data every
171
+ * screen reads, and what runs at launch. `AppRegistry.registerComponent` in `index.js` takes it, and the app starts
172
+ * from it when the native side launches.
173
+ *
174
+ * @example
175
+ * export const Navigation = createNavigation({
176
+ * screens: { Home: HomeScreen, Details: DetailsScreen },
177
+ * root: 'Home',
178
+ * });
179
+ */
180
+ export declare function createNavigation<Context = void, const Roots extends RootsMap = Record<never, never>, const Target extends RootTarget<Roots> = RootTarget<Roots>, AppScreens extends Screens = Record<never, never>, Groups extends ScreenGroups = Record<never, never>, const FirstLayout extends RootLayout = never, Patterns extends string = never>(config: NavigationConfig<Context, Roots, Target, AppScreens, Groups, FirstRoot<Context, FirstLayout>, Patterns> & NoInfer<CheckedRoots<FirstLayout, Roots, AllScreens<AppScreens, Groups>>>): NavigationApp<Roots, AllScreens<AppScreens, Groups>>;
181
+ export {};
182
+ //# sourceMappingURL=createNavigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createNavigation.d.ts","sourceRoot":"","sources":["../../../../src/api/app/createNavigation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { LayoutRoot } from '../../interfaces/Layout.js';
2
+ import { type RootLayout, type UsesOfRoot } from '../layout/Root.js';
3
+ /** A root of the app: its layout, or a function making it from a param. */
4
+ export type RootValue = RootLayout | (() => RootLayout) | ((param: any) => RootLayout);
5
+ export type RootsMap = Record<string, RootValue>;
6
+ /** The screens a root of `roots` shows: those of its layout, or of the layout its function makes. */
7
+ export type UsesOfRootValue<Value> = Value extends (...args: any[]) => infer Layout ? UsesOfRoot<Layout> : UsesOfRoot<Value>;
8
+ /** The param a root takes: none for a layout or a function without one. */
9
+ export type RootParam<Value> = Value extends () => RootLayout ? [] : Value extends (param: infer Param) => RootLayout ? [param: Param] : [];
10
+ /** A root to show: its name, or `[name, param]` for a root that takes a param. */
11
+ export type RootTarget<Roots extends RootsMap> = {
12
+ [Name in keyof Roots & string]: RootParam<Roots[Name]> extends [] ? Name : readonly [Name, ...RootParam<Roots[Name]>];
13
+ }[keyof Roots & string];
14
+ export declare function resolveRoot(roots: RootsMap | undefined, name: string, param: unknown[]): LayoutRoot;
15
+ //# sourceMappingURL=roots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roots.d.ts","sourceRoot":"","sources":["../../../../src/api/app/roots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAAyB,CAAC;AAC1D,OAAO,EAAa,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAgB,CAAC;AAE7E,2EAA2E;AAC3E,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,UAAU,CAAC,CAAC;AAEvF,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEjD,qGAAqG;AACrG,MAAM,MAAM,eAAe,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,MAAM,GAC/E,UAAU,CAAC,MAAM,CAAC,GAClB,UAAU,CAAC,KAAK,CAAC,CAAC;AAEtB,2EAA2E;AAC3E,MAAM,MAAM,SAAS,CAAC,KAAK,IAAI,KAAK,SAAS,MAAM,UAAU,GACzD,EAAE,GACF,KAAK,SAAS,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,UAAU,GAC9C,CAAC,KAAK,EAAE,KAAK,CAAC,GACd,EAAE,CAAC;AAET,kFAAkF;AAClF,MAAM,MAAM,UAAU,CAAC,KAAK,SAAS,QAAQ,IAAI;KAC9C,IAAI,IAAI,MAAM,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,GAC7D,IAAI,GACJ,SAAS,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;CAC/C,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC;AAExB,wBAAgB,WAAW,CACzB,KAAK,EAAE,QAAQ,GAAG,SAAS,EAC3B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EAAE,GACf,UAAU,CAQZ"}
@@ -0,0 +1,81 @@
1
+ import type { ComponentType } from 'react';
2
+ import type { LayoutRoot } from '../../interfaces/Layout.js';
3
+ import type { RootTransition } from '../layout/Root.js';
4
+ /** The screen of the app's splash in React Native: the first root of a cold start. */
5
+ export declare const SPLASH_SCREEN = "ApexNavigation.Splash";
6
+ /**
7
+ * The app's own splash in React Native: an animation, a progress. It shows after the native splash on a cold start
8
+ * of the app, once per process: not after a reload of the JavaScript, and not when Android makes a new activity while
9
+ * the JavaScript runs on.
10
+ */
11
+ export interface SplashConfig {
12
+ /**
13
+ * What the splash shows: a component without props, over the whole window. It renders before `willMount` ends, so
14
+ * it is a React root of its own, outside `appProvider` and `screenProvider`, which may need what `willMount`
15
+ * prepares. The app's context is there (`useAppContext`), as `willMount` leaves it.
16
+ */
17
+ component: ComponentType;
18
+ /** The least time the splash stays on screen, in ms, from when it shows: the length of its animation. `0` by default. */
19
+ minDuration?: number;
20
+ /**
21
+ * When the splash leaves: `'auto'` (the default) once `willMount` ended and `minDuration` passed; `'manual'` waits
22
+ * for `useSplash().hide()` too.
23
+ */
24
+ hide?: 'auto' | 'manual';
25
+ /**
26
+ * How the first root replaces the splash: what `Root(…).transition` takes, `'fade'` by default. A first root with a
27
+ * transition of its own (`Root(…).transition(…)` other than `'platform'`) keeps it.
28
+ */
29
+ transition?: RootTransition;
30
+ }
31
+ /** The size of the native splash's logo: points on iOS, dp on Android. */
32
+ export interface SplashLogo {
33
+ width: number;
34
+ height: number;
35
+ }
36
+ /** What `useSplash` returns. */
37
+ export interface Splash {
38
+ /**
39
+ * Lets the splash leave, with `hide: 'manual'`: it still waits for `willMount` and `minDuration`. Does nothing once
40
+ * it left, or without a splash.
41
+ */
42
+ hide(): void;
43
+ /**
44
+ * The logo of the native splash, centered in the window at this size, as `apex-navigation splash` made it: a splash
45
+ * that starts from it continues the native one without a jump. Undefined without a splash made by the CLI.
46
+ */
47
+ logo: SplashLogo | undefined;
48
+ }
49
+ /**
50
+ * The app's splash in React Native: lets it leave (`hide: 'manual'`), and gives the size of the native splash's logo
51
+ * to start an animation from.
52
+ *
53
+ * @example
54
+ * function Splash() {
55
+ * const { hide, logo } = useSplash();
56
+ * // … the logo at logo.width × logo.height in the middle of the window, then an animation that calls hide()
57
+ * }
58
+ */
59
+ export declare function useSplash(): Splash;
60
+ /** Whether the splash shows at this start: the app has one, and the JavaScript runs for the first time in the process. */
61
+ export declare function showsSplash(config: SplashConfig | undefined): config is SplashConfig;
62
+ /**
63
+ * The splash as the first root: at once, as it continues the native splash, over the whole window. Its own screen
64
+ * options can't hold this, as `component` is any component.
65
+ */
66
+ export declare const SPLASH_ROOT: LayoutRoot;
67
+ /**
68
+ * Shows the splash and resolves once it may leave as far as it is concerned: it is on screen, `minDuration` passed
69
+ * and, with `hide: 'manual'`, `hide()` came; or at once on `releaseSplash()`. A splash that failed to show holds
70
+ * nothing: the native splash stays until the first root.
71
+ */
72
+ export declare function showSplash(config: SplashConfig, show: () => Promise<unknown>): Promise<void>;
73
+ /**
74
+ * The splash can't leave by itself any more, and the start goes on at once: its screen went with an Android activity
75
+ * (the new one doesn't show it, and its setRoot may never end), or its component failed to render and can't call
76
+ * `hide()`.
77
+ */
78
+ export declare function releaseSplash(): void;
79
+ /** The splash left, or won't show: hide() does nothing from now on. */
80
+ export declare function splashDone(): void;
81
+ //# sourceMappingURL=splash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"splash.d.ts","sourceRoot":"","sources":["../../../../src/api/app/splash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAgB,CAAC;AAErD,sFAAsF;AACtF,eAAO,MAAM,aAAa,0BAA0B,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,SAAS,EAAE,aAAa,CAAC;IACzB,yHAAyH;IACzH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,0EAA0E;AAC1E,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gCAAgC;AAChC,MAAM,WAAW,MAAM;IACrB;;;OAGG;IACH,IAAI,IAAI,IAAI,CAAC;IACb;;;OAGG;IACH,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;CAC9B;AAaD;;;;;;;;;GASG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAGlC;AAED,0HAA0H;AAC1H,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,IAAI,YAAY,CAEpF;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,UAYzB,CAAC;AAOF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB5F;AAED;;;;GAIG;AACH,wBAAgB,aAAa,SAE5B;AAED,uEAAuE;AACvE,wBAAgB,UAAU,SAKzB"}
@@ -0,0 +1,15 @@
1
+ import { type ComponentType } from 'react';
2
+ import type { ErrorFallbackProps } from '../screens/ScreenBoundary.js';
3
+ /** The screen a failed start shows as the first root, in place of the splash screen: `errorFallback`. */
4
+ export declare const START_FAILURE_SCREEN = "ApexNavigation.StartFailure";
5
+ interface StartFailure {
6
+ error: unknown;
7
+ /** Runs the start again, from `willMount`. */
8
+ retry: () => void;
9
+ }
10
+ /** The start failed: the screen shows this error, or the new one of a try that failed again. */
11
+ export declare function setStartFailure(next: StartFailure): void;
12
+ /** The component of the screen: the app's `errorFallback` with the error of the start, its `retry` starts again. */
13
+ export declare function startFailureScreen(Fallback: ComponentType<ErrorFallbackProps>): ComponentType;
14
+ export {};
15
+ //# sourceMappingURL=startFailure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startFailure.d.ts","sourceRoot":"","sources":["../../../../src/api/app/startFailure.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,aAAa,EAAoC,MAAM,OAAO,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA2B,CAAC;AAGpE,yGAAyG;AACzG,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAElE,UAAU,YAAY;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,8CAA8C;IAC9C,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAKD,gGAAgG;AAChG,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,QAGjD;AASD,oHAAoH;AACpH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,GAAG,aAAa,CAQ7F"}
@@ -0,0 +1,21 @@
1
+ /** How a screen of a pair (`defineArrangement`) shows now. */
2
+ export interface ArrangementState {
3
+ /** Which view of the pair this screen is. */
4
+ placement: 'primary' | 'secondary';
5
+ /**
6
+ * How the pair lies: `sideBySide`, `stacked` (one above the other), `overlay` (one over the other, both full size),
7
+ * `single` (only one view is in the window).
8
+ */
9
+ layout: 'sideBySide' | 'stacked' | 'overlay' | 'single';
10
+ /** `overlay`: this view lies over the other one. */
11
+ front: boolean;
12
+ /** `single`: this screen is out of the window. */
13
+ hidden: boolean;
14
+ }
15
+ /** The state of a screen of a pair; null for a screen outside one. */
16
+ export declare function getArrangementState(screenId: string): ArrangementState | null;
17
+ /** Calls `onChange` when the screen's state in its pair changes; returns the function that stops it. */
18
+ export declare function subscribeArrangementState(screenId: string, onChange: () => void): () => void;
19
+ /** The screen unmounted: its state goes. */
20
+ export declare function forgetArrangementState(screenId: string): void;
21
+ //# sourceMappingURL=arrangementState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrangementState.d.ts","sourceRoot":"","sources":["../../../../src/api/arrangement/arrangementState.ts"],"names":[],"mappings":"AAKA,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,SAAS,EAAE,SAAS,GAAG,WAAW,CAAC;IACnC;;;OAGG;IACH,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxD,oDAAoD;IACpD,KAAK,EAAE,OAAO,CAAC;IACf,kDAAkD;IAClD,MAAM,EAAE,OAAO,CAAC;CACjB;AAeD,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAU7E;AAED,wGAAwG;AACxG,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAS5F;AAED,4CAA4C;AAC5C,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,QAGtD"}
@@ -0,0 +1,57 @@
1
+ import { type StackEntry } from '../layout/Stack.js';
2
+ import { type ScreenOptionsInput } from '../screens/defineScreen.js';
3
+ import type { ColumnConfig, ModalConfig, OverlayConfig, PushConfig } from './presentation.js';
4
+ type WithProps<Config> = Config & {
5
+ props?: object;
6
+ };
7
+ export declare function push(fromId: string, name: string, config?: WithProps<PushConfig>): Promise<string>;
8
+ /**
9
+ * A push that waits as the preview of a view of the screen (`usePreview`): a tap on the preview pushes it. The screen
10
+ * has the given id, so the presses of its menu reach the hook. A preview that is no longer `wanted` when its push is
11
+ * about to go out (the component unmounted while the screen loaded) isn't sent: its `dismissPreview` came before it.
12
+ */
13
+ export declare function pushPreview(fromId: string, name: string, props: object | undefined, preview: object, id: string, wanted: () => boolean): Promise<string>;
14
+ export declare function pop(fromId: string): Promise<string>;
15
+ export declare function popTo(screenId: string): Promise<string>;
16
+ export declare function popToRoot(fromId: string): Promise<string>;
17
+ export declare function setStack(fromId: string, entries: StackEntry[]): Promise<string>;
18
+ /**
19
+ * The screen alone in the stack of the screen it is made from: the history of the stack goes, so there is no back. It
20
+ * comes in as a push does; resolves with its id.
21
+ */
22
+ export declare function replace(fromId: string, name: string, config?: WithProps<PushConfig>): Promise<string>;
23
+ export declare function showInColumn(fromId: string, name: string, config?: WithProps<ColumnConfig>): Promise<string>;
24
+ /** A column of a split view that the app shows and hides. */
25
+ export type SplitColumn = 'primary' | 'supplementary' | 'inspector';
26
+ /** Shows or hides a column of the split view the screen is in; resolves once the columns have moved. */
27
+ export declare function setColumnShown(fromId: string, column: SplitColumn, shown: boolean): Promise<void>;
28
+ export declare function showModal(name: string, config?: WithProps<ModalConfig>): Promise<string>;
29
+ export declare function dismissModal(modalId: string): Promise<string>;
30
+ export declare function dismissAllModals(): Promise<string>;
31
+ export declare function showOverlay(name: string, config?: WithProps<OverlayConfig>): Promise<string>;
32
+ export declare function dismissOverlay(overlayId: string): Promise<string>;
33
+ /**
34
+ * There is a screen under this one in its stack, or it is the first of a split view column shown over the column
35
+ * before it.
36
+ */
37
+ export declare function canPop(screenId: string): boolean;
38
+ /** The screen is in a modal or an overlay. */
39
+ export declare function canDismiss(screenId: string): boolean;
40
+ /**
41
+ * What the back button would do on the screen: back to the screen under it in its stack, or else it closes the modal
42
+ * or the overlay it is in.
43
+ */
44
+ export declare function goBack(screenId: string): Promise<string>;
45
+ /** Closes the modal or the overlay the screen is in. */
46
+ export declare function dismiss(screenId: string): Promise<string>;
47
+ export declare function dismissAllOverlays(): Promise<string>;
48
+ /** Selects a tab of the tabs the screen is in: by its index, or by the id of the tab. */
49
+ export declare function selectTab(screenId: string, tab: number | string): void;
50
+ /** The badge of the tab the screen is in, or of the tab with the id; `null` and `0` take it away. */
51
+ export declare function setTabBadge(screenId: string, badge: string | number | null, tab?: string): void;
52
+ /** A chain of the options gets the props of the screen and `{ theme, context }`, as in `defineScreen`. */
53
+ export declare function setOptions(screenId: string, options: ScreenOptionsInput<object>): void;
54
+ /** Keeps the user on the screen: the close button of its modal calls `onAttempt` instead. Returns what lets go. */
55
+ export declare function holdLeave(screenId: string, onAttempt: () => void): () => void;
56
+ export {};
57
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../../src/api/commands/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { type ScreenPlace } from '../../engine/places.js';
2
+ /** Runs a command; what it can't do rejects with the command in the error. */
3
+ export declare function command<T>(name: string, run: () => Promise<T>): Promise<T>;
4
+ /** Counts a command as on its way until it settles; `command` does it, and the commands made without it. */
5
+ export declare function trackCommand<T>(result: Promise<T>): Promise<T>;
6
+ /** How many commands started since the app did: what `whenCommandsSettle` waits from. */
7
+ export declare function commandsStarted(): number;
8
+ /**
9
+ * Resolves once the commands started after `since` (a value of `commandsStarted`) settled, at the latest after
10
+ * `timeout`. Older ones don't count: a command the native side never answers (Android without an activity) doesn't
11
+ * hold what comes later.
12
+ */
13
+ export declare function whenCommandsSettle(since: number, timeout?: number): Promise<void>;
14
+ /**
15
+ * The place of the screen a command acts from, when the command can be made from there; otherwise it throws why: the
16
+ * screen is gone, it is not in a stack (`stack`), it is the first of its stack (`below`), or it is not in a modal or an
17
+ * overlay (`dismissible`). A screen the engine doesn't know is left to the native side.
18
+ */
19
+ export declare function placeFor(name: string, screenId: string, needs?: {
20
+ stack?: boolean;
21
+ below?: boolean;
22
+ dismissible?: boolean;
23
+ }): ScreenPlace | undefined;
24
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/api/commands/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,wBAAqB,CAAC;AAYxE,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAY1E;AAED,4GAA4G;AAC5G,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAO9D;AAED,yFAAyF;AACzF,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAe/E;AAWD;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GACtE,WAAW,GAAG,SAAS,CAgBzB"}