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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1373) hide show
  1. package/ApexNavigation.podspec +42 -0
  2. package/CHANGELOG.md +8 -0
  3. package/LICENSE +21 -0
  4. package/README.md +76 -2
  5. package/android/CLAUDE.md +183 -0
  6. package/android/CORE.md +219 -0
  7. package/android/MATERIAL_SYMBOLS_LICENSE.txt +205 -0
  8. package/android/RECIPES.md +39 -0
  9. package/android/build.gradle +108 -0
  10. package/android/consumer-rules.pro +2 -0
  11. package/android/src/main/AndroidManifest.xml +9 -0
  12. package/android/src/main/java/dev/apexnative/navigation/EdgeToEdgeDecision.kt +25 -0
  13. package/android/src/main/java/dev/apexnative/navigation/NavigationActivity.kt +339 -0
  14. package/android/src/main/java/dev/apexnative/navigation/NavigationApplication.kt +90 -0
  15. package/android/src/main/java/dev/apexnative/navigation/NavigationPackage.kt +37 -0
  16. package/android/src/main/java/dev/apexnative/navigation/customrow/BottomTabsCustomRowOptions.kt +85 -0
  17. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutChecks.kt +51 -0
  18. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutException.kt +7 -0
  19. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutNode.kt +118 -0
  20. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutReader.kt +274 -0
  21. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutType.kt +35 -0
  22. package/android/src/main/java/dev/apexnative/navigation/nativescreen/NativeScreenCalls.kt +61 -0
  23. package/android/src/main/java/dev/apexnative/navigation/nativescreen/NativeScreenContext.kt +84 -0
  24. package/android/src/main/java/dev/apexnative/navigation/nativescreen/NativeScreenCreator.kt +17 -0
  25. package/android/src/main/java/dev/apexnative/navigation/options/AnimationsOptions.kt +54 -0
  26. package/android/src/main/java/dev/apexnative/navigation/options/BottomTabOptions.kt +238 -0
  27. package/android/src/main/java/dev/apexnative/navigation/options/BottomTabsOptions.kt +244 -0
  28. package/android/src/main/java/dev/apexnative/navigation/options/ButtonMenuOptions.kt +70 -0
  29. package/android/src/main/java/dev/apexnative/navigation/options/ButtonOptions.kt +296 -0
  30. package/android/src/main/java/dev/apexnative/navigation/options/ComponentOptions.kt +141 -0
  31. package/android/src/main/java/dev/apexnative/navigation/options/DefaultOptions.kt +21 -0
  32. package/android/src/main/java/dev/apexnative/navigation/options/FabOptions.kt +97 -0
  33. package/android/src/main/java/dev/apexnative/navigation/options/FontOptions.kt +47 -0
  34. package/android/src/main/java/dev/apexnative/navigation/options/HardwareBackButtonOptions.kt +49 -0
  35. package/android/src/main/java/dev/apexnative/navigation/options/InterpolationOptions.kt +203 -0
  36. package/android/src/main/java/dev/apexnative/navigation/options/KeyCommandOptions.kt +49 -0
  37. package/android/src/main/java/dev/apexnative/navigation/options/LargeTitleOptions.kt +78 -0
  38. package/android/src/main/java/dev/apexnative/navigation/options/LayoutAnimation.kt +157 -0
  39. package/android/src/main/java/dev/apexnative/navigation/options/LayoutOptions.kt +94 -0
  40. package/android/src/main/java/dev/apexnative/navigation/options/ModalOptions.kt +87 -0
  41. package/android/src/main/java/dev/apexnative/navigation/options/ModalPlacementOptions.kt +90 -0
  42. package/android/src/main/java/dev/apexnative/navigation/options/NavigationBarOptions.kt +44 -0
  43. package/android/src/main/java/dev/apexnative/navigation/options/Options.kt +167 -0
  44. package/android/src/main/java/dev/apexnative/navigation/options/OptionsCache.kt +21 -0
  45. package/android/src/main/java/dev/apexnative/navigation/options/OptionsReader.kt +133 -0
  46. package/android/src/main/java/dev/apexnative/navigation/options/PreviewOptions.kt +97 -0
  47. package/android/src/main/java/dev/apexnative/navigation/options/ReadableMaps.kt +70 -0
  48. package/android/src/main/java/dev/apexnative/navigation/options/ScrollEdgeEffectOptions.kt +98 -0
  49. package/android/src/main/java/dev/apexnative/navigation/options/SearchBarOptions.kt +151 -0
  50. package/android/src/main/java/dev/apexnative/navigation/options/SharedElementTransitionOptions.kt +57 -0
  51. package/android/src/main/java/dev/apexnative/navigation/options/SheetOptions.kt +108 -0
  52. package/android/src/main/java/dev/apexnative/navigation/options/SideMenuOptions.kt +130 -0
  53. package/android/src/main/java/dev/apexnative/navigation/options/SplitViewGroupOptions.kt +190 -0
  54. package/android/src/main/java/dev/apexnative/navigation/options/SplitViewOptions.kt +28 -0
  55. package/android/src/main/java/dev/apexnative/navigation/options/StackAnimationOptions.kt +270 -0
  56. package/android/src/main/java/dev/apexnative/navigation/options/StatusBarOptions.kt +75 -0
  57. package/android/src/main/java/dev/apexnative/navigation/options/TitleOptions.kt +167 -0
  58. package/android/src/main/java/dev/apexnative/navigation/options/ToolbarOptions.kt +60 -0
  59. package/android/src/main/java/dev/apexnative/navigation/options/TopBarAppearanceOptions.kt +223 -0
  60. package/android/src/main/java/dev/apexnative/navigation/options/TopBarOptions.kt +381 -0
  61. package/android/src/main/java/dev/apexnative/navigation/options/ViewAnimationOptions.kt +225 -0
  62. package/android/src/main/java/dev/apexnative/navigation/options/WindowOptions.kt +36 -0
  63. package/android/src/main/java/dev/apexnative/navigation/options/params/Bool.kt +23 -0
  64. package/android/src/main/java/dev/apexnative/navigation/options/params/Fraction.kt +12 -0
  65. package/android/src/main/java/dev/apexnative/navigation/options/params/LayoutDirection.kt +26 -0
  66. package/android/src/main/java/dev/apexnative/navigation/options/params/Param.kt +24 -0
  67. package/android/src/main/java/dev/apexnative/navigation/options/params/Text.kt +24 -0
  68. package/android/src/main/java/dev/apexnative/navigation/options/params/ThemeColour.kt +259 -0
  69. package/android/src/main/java/dev/apexnative/navigation/options/params/Variant.kt +36 -0
  70. package/android/src/main/java/dev/apexnative/navigation/options/parsers/BoolParser.kt +15 -0
  71. package/android/src/main/java/dev/apexnative/navigation/options/parsers/FontParser.kt +28 -0
  72. package/android/src/main/java/dev/apexnative/navigation/options/parsers/FractionParser.kt +24 -0
  73. package/android/src/main/java/dev/apexnative/navigation/options/parsers/IconParser.kt +48 -0
  74. package/android/src/main/java/dev/apexnative/navigation/options/parsers/StringListParser.kt +27 -0
  75. package/android/src/main/java/dev/apexnative/navigation/options/parsers/TextParser.kt +32 -0
  76. package/android/src/main/java/dev/apexnative/navigation/options/parsers/TypefaceLoader.kt +42 -0
  77. package/android/src/main/java/dev/apexnative/navigation/options/parsers/VariantParser.kt +34 -0
  78. package/android/src/main/java/dev/apexnative/navigation/react/ArrangementStates.kt +41 -0
  79. package/android/src/main/java/dev/apexnative/navigation/react/CommandAnswer.kt +111 -0
  80. package/android/src/main/java/dev/apexnative/navigation/react/CommandListener.kt +27 -0
  81. package/android/src/main/java/dev/apexnative/navigation/react/CommandRunner.kt +131 -0
  82. package/android/src/main/java/dev/apexnative/navigation/react/DeveloperReload.kt +69 -0
  83. package/android/src/main/java/dev/apexnative/navigation/react/ErrorTexts.kt +123 -0
  84. package/android/src/main/java/dev/apexnative/navigation/react/Hinge.kt +154 -0
  85. package/android/src/main/java/dev/apexnative/navigation/react/LaunchLink.kt +37 -0
  86. package/android/src/main/java/dev/apexnative/navigation/react/NavigationTurboModule.kt +311 -0
  87. package/android/src/main/java/dev/apexnative/navigation/react/OptionsCommands.kt +89 -0
  88. package/android/src/main/java/dev/apexnative/navigation/react/ReactGateway.kt +67 -0
  89. package/android/src/main/java/dev/apexnative/navigation/react/ReactView.kt +197 -0
  90. package/android/src/main/java/dev/apexnative/navigation/react/ReadableJson.kt +60 -0
  91. package/android/src/main/java/dev/apexnative/navigation/react/ReloadCoordinator.kt +130 -0
  92. package/android/src/main/java/dev/apexnative/navigation/react/ScreenInsets.kt +69 -0
  93. package/android/src/main/java/dev/apexnative/navigation/react/ScreenRegions.kt +87 -0
  94. package/android/src/main/java/dev/apexnative/navigation/react/ScrollEvents.kt +160 -0
  95. package/android/src/main/java/dev/apexnative/navigation/react/StartInfo.kt +44 -0
  96. package/android/src/main/java/dev/apexnative/navigation/react/events/AppearanceDispatcher.kt +507 -0
  97. package/android/src/main/java/dev/apexnative/navigation/react/events/ComponentType.kt +13 -0
  98. package/android/src/main/java/dev/apexnative/navigation/react/events/EventEmitter.kt +199 -0
  99. package/android/src/main/java/dev/apexnative/navigation/react/events/NavigationStateReporter.kt +62 -0
  100. package/android/src/main/java/dev/apexnative/navigation/react/events/ScreenAppearance.kt +87 -0
  101. package/android/src/main/java/dev/apexnative/navigation/react/events/StateHold.kt +62 -0
  102. package/android/src/main/java/dev/apexnative/navigation/safearea/SafeAreaReadyEvent.kt +16 -0
  103. package/android/src/main/java/dev/apexnative/navigation/safearea/SafeAreaView.kt +140 -0
  104. package/android/src/main/java/dev/apexnative/navigation/safearea/SafeAreaViewManager.kt +45 -0
  105. package/android/src/main/java/dev/apexnative/navigation/slots/SlotContainers.kt +44 -0
  106. package/android/src/main/java/dev/apexnative/navigation/slots/SlotHost.kt +91 -0
  107. package/android/src/main/java/dev/apexnative/navigation/slots/SlotScreenView.kt +158 -0
  108. package/android/src/main/java/dev/apexnative/navigation/slots/SlotView.kt +141 -0
  109. package/android/src/main/java/dev/apexnative/navigation/slots/SlotViewManager.kt +50 -0
  110. package/android/src/main/java/dev/apexnative/navigation/splash/SplashHold.kt +67 -0
  111. package/android/src/main/java/dev/apexnative/navigation/splash/SplashTheme.kt +81 -0
  112. package/android/src/main/java/dev/apexnative/navigation/splash/SplashView.kt +77 -0
  113. package/android/src/main/java/dev/apexnative/navigation/system/AppDirection.kt +92 -0
  114. package/android/src/main/java/dev/apexnative/navigation/system/SystemUiLayers.kt +126 -0
  115. package/android/src/main/java/dev/apexnative/navigation/system/SystemUiOwner.kt +229 -0
  116. package/android/src/main/java/dev/apexnative/navigation/system/SystemUiRules.kt +302 -0
  117. package/android/src/main/java/dev/apexnative/navigation/system/SystemUiState.kt +58 -0
  118. package/android/src/main/java/dev/apexnative/navigation/system/SystemUiWindow.kt +405 -0
  119. package/android/src/main/java/dev/apexnative/navigation/utils/ColorUtils.kt +22 -0
  120. package/android/src/main/java/dev/apexnative/navigation/utils/DevelopmentLog.kt +45 -0
  121. package/android/src/main/java/dev/apexnative/navigation/utils/DimensionExtensions.kt +16 -0
  122. package/android/src/main/java/dev/apexnative/navigation/utils/ImageLoader.kt +112 -0
  123. package/android/src/main/java/dev/apexnative/navigation/utils/MaterialTheme.kt +148 -0
  124. package/android/src/main/java/dev/apexnative/navigation/utils/NavigationLog.kt +6 -0
  125. package/android/src/main/java/dev/apexnative/navigation/utils/ScrollToTop.kt +33 -0
  126. package/android/src/main/java/dev/apexnative/navigation/utils/SystemUiUtils.kt +41 -0
  127. package/android/src/main/java/dev/apexnative/navigation/utils/TestIds.kt +89 -0
  128. package/android/src/main/java/dev/apexnative/navigation/utils/TextViewUtils.kt +10 -0
  129. package/android/src/main/java/dev/apexnative/navigation/utils/UiThread.kt +31 -0
  130. package/android/src/main/java/dev/apexnative/navigation/utils/UiUtils.kt +43 -0
  131. package/android/src/main/java/dev/apexnative/navigation/utils/ViewController.kt +124 -0
  132. package/android/src/main/java/dev/apexnative/navigation/utils/ViewExtensions.kt +41 -0
  133. package/android/src/main/java/dev/apexnative/navigation/utils/ViewUtils.kt +15 -0
  134. package/android/src/main/java/dev/apexnative/navigation/utils/WindowFolds.kt +107 -0
  135. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementController.kt +258 -0
  136. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementDefinition.kt +57 -0
  137. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementLayout.kt +225 -0
  138. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementPlanner.kt +120 -0
  139. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/SecondaryScreenPresenter.kt +31 -0
  140. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsCollapseBehavior.kt +54 -0
  141. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsController.kt +664 -0
  142. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsPresenter.kt +367 -0
  143. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/CustomTabRowGeometry.kt +81 -0
  144. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/CustomTabRowPlacer.kt +223 -0
  145. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabBarLook.kt +74 -0
  146. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabBarMotion.kt +83 -0
  147. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabCellState.kt +27 -0
  148. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabHistory.kt +38 -0
  149. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabItems.kt +172 -0
  150. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabSelection.kt +65 -0
  151. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabsAttach.kt +42 -0
  152. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabsRoom.kt +72 -0
  153. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/child/ChildController.kt +45 -0
  154. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/child/ChildControllersRegistry.kt +29 -0
  155. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ComponentPresenter.kt +90 -0
  156. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ComponentViewController.kt +254 -0
  157. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ContentReadiness.kt +65 -0
  158. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/RenderWait.kt +231 -0
  159. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/RestPlace.kt +28 -0
  160. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenContentFactory.kt +28 -0
  161. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenFocus.kt +22 -0
  162. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenFrame.kt +154 -0
  163. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenReadiness.kt +104 -0
  164. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenSafeArea.kt +148 -0
  165. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/externalcomponent/ExternalComponentCreator.kt +18 -0
  166. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/externalcomponent/ExternalComponentViewController.kt +187 -0
  167. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/externalcomponent/NativeScreens.kt +25 -0
  168. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalAnimations.kt +40 -0
  169. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalContainer.kt +20 -0
  170. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalCoordinator.kt +1269 -0
  171. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalRecord.kt +186 -0
  172. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalSheet.kt +342 -0
  173. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalViews.kt +398 -0
  174. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/SheetContainer.kt +67 -0
  175. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/BackCallbackState.kt +78 -0
  176. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/FirstRootDraw.kt +58 -0
  177. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/LayoutFactory.kt +203 -0
  178. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/Navigator.kt +562 -0
  179. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/Navigators.kt +53 -0
  180. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/RootCoordinator.kt +514 -0
  181. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/WaitingLayer.kt +18 -0
  182. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/overlay/OverlayContainer.kt +33 -0
  183. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/overlay/OverlayCoordinator.kt +383 -0
  184. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/overlay/OverlayTouches.kt +44 -0
  185. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/overlay/OverlayViews.kt +117 -0
  186. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/Capabilities.kt +62 -0
  187. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/ContainerBackground.kt +43 -0
  188. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/ParentController.kt +218 -0
  189. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/ShownChildren.kt +82 -0
  190. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuController.kt +283 -0
  191. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuMotion.kt +276 -0
  192. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuPresenter.kt +92 -0
  193. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuRules.kt +107 -0
  194. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitPanes.kt +59 -0
  195. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitViewController.kt +509 -0
  196. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitViewLayout.kt +61 -0
  197. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitViewPresenter.kt +25 -0
  198. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/PreparedFrame.kt +19 -0
  199. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/PreparedPushes.kt +114 -0
  200. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackCommands.kt +387 -0
  201. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackController.kt +635 -0
  202. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackDisplay.kt +167 -0
  203. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackPresenter.kt +24 -0
  204. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackQueue.kt +1274 -0
  205. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackTransitions.kt +82 -0
  206. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackViews.kt +222 -0
  207. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/fab/FabPlacement.kt +47 -0
  208. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/fab/FabPlan.kt +44 -0
  209. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/fab/FabPresenter.kt +279 -0
  210. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/search/ScreenSearch.kt +450 -0
  211. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/search/SearchPanel.kt +176 -0
  212. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/search/StackSearchPresenter.kt +243 -0
  213. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/BarComponents.kt +211 -0
  214. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/BarRowTransition.kt +122 -0
  215. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/ButtonCells.kt +30 -0
  216. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/ButtonPlaces.kt +65 -0
  217. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/LargeTitleCollapse.kt +71 -0
  218. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/MenuChecks.kt +72 -0
  219. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarCollapseBehavior.kt +104 -0
  220. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarPresenter.kt +1085 -0
  221. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarRoom.kt +95 -0
  222. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarVisibility.kt +122 -0
  223. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/IReactView.kt +89 -0
  224. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/Presenter.kt +51 -0
  225. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/ScrollEventListener.kt +194 -0
  226. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/ViewController.kt +320 -0
  227. package/android/src/main/java/dev/apexnative/navigation/views/animations/AnimationRules.kt +141 -0
  228. package/android/src/main/java/dev/apexnative/navigation/views/animations/Curves.kt +193 -0
  229. package/android/src/main/java/dev/apexnative/navigation/views/animations/FadeThrough.kt +57 -0
  230. package/android/src/main/java/dev/apexnative/navigation/views/animations/SideAnimator.kt +143 -0
  231. package/android/src/main/java/dev/apexnative/navigation/views/animations/SystemTransition.kt +26 -0
  232. package/android/src/main/java/dev/apexnative/navigation/views/animations/ValueInterpolation.kt +93 -0
  233. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabItem.kt +13 -0
  234. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabs.kt +550 -0
  235. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabsContainer.kt +135 -0
  236. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabsLayout.kt +89 -0
  237. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/CustomBottomTabItemView.kt +91 -0
  238. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/CustomTabRow.kt +165 -0
  239. package/android/src/main/java/dev/apexnative/navigation/views/component/ComponentLayout.kt +89 -0
  240. package/android/src/main/java/dev/apexnative/navigation/views/component/Renderable.kt +6 -0
  241. package/android/src/main/java/dev/apexnative/navigation/views/element/DrawOrder.kt +44 -0
  242. package/android/src/main/java/dev/apexnative/navigation/views/element/ElementStub.kt +31 -0
  243. package/android/src/main/java/dev/apexnative/navigation/views/element/ElementTransitions.kt +281 -0
  244. package/android/src/main/java/dev/apexnative/navigation/views/element/ImageLoads.kt +103 -0
  245. package/android/src/main/java/dev/apexnative/navigation/views/element/TargetsWait.kt +112 -0
  246. package/android/src/main/java/dev/apexnative/navigation/views/element/TransitionLayer.kt +152 -0
  247. package/android/src/main/java/dev/apexnative/navigation/views/element/TransitionTargets.kt +53 -0
  248. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ElementPictures.kt +46 -0
  249. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/FlightGeometry.kt +53 -0
  250. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ImageMatrixAnimator.kt +138 -0
  251. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/PlainViewAnimator.kt +88 -0
  252. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/PropertyAnimatorCreator.kt +33 -0
  253. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ReactImageAnimator.kt +66 -0
  254. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/SharedAnimatorFactory.kt +70 -0
  255. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/TextChangeAnimator.kt +179 -0
  256. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ViewChangeAnimator.kt +139 -0
  257. package/android/src/main/java/dev/apexnative/navigation/views/externalcomponent/ExternalComponentLayout.kt +44 -0
  258. package/android/src/main/java/dev/apexnative/navigation/views/sidemenu/SideMenuView.kt +183 -0
  259. package/android/src/main/java/dev/apexnative/navigation/views/stack/StackLayout.kt +137 -0
  260. package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/Fab.kt +125 -0
  261. package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/FabAnimator.kt +8 -0
  262. package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/FabCollapseBehaviour.kt +34 -0
  263. package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/FabMenu.kt +133 -0
  264. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/LargeTitleView.kt +45 -0
  265. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/TitleBar.kt +211 -0
  266. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/TopBar.kt +407 -0
  267. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/TopBarDefaults.kt +35 -0
  268. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/search/ScopeRow.kt +82 -0
  269. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/search/SearchField.kt +130 -0
  270. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/search/SearchStyle.kt +29 -0
  271. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/search/SuggestionList.kt +77 -0
  272. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/BarButtonComponentCell.kt +80 -0
  273. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/ButtonBar.kt +334 -0
  274. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/ButtonMenus.kt +106 -0
  275. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/IconBackgroundDrawable.kt +93 -0
  276. package/android/src/main/jni/ApexNavigationSpec.h +18 -0
  277. package/android/src/main/jni/CMakeLists.txt +33 -0
  278. package/android/src/main/res/color/apex_navigation_highlight_inverse.xml +5 -0
  279. package/android/src/main/res/color/apex_navigation_text_primary.xml +6 -0
  280. package/android/src/main/res/color/apex_navigation_text_primary_inverse.xml +6 -0
  281. package/android/src/main/res/color/apex_navigation_text_secondary.xml +6 -0
  282. package/android/src/main/res/color/apex_navigation_text_secondary_inverse.xml +6 -0
  283. package/android/src/main/res/drawable/apex_navigation_ic_arrow_back.xml +13 -0
  284. package/android/src/main/res/drawable/apex_navigation_ic_close.xml +12 -0
  285. package/android/src/main/res/drawable/ic_fab_add_24dp.xml +12 -0
  286. package/android/src/main/res/values/attrs.xml +13 -0
  287. package/android/src/main/res/values/dimens.xml +5 -0
  288. package/android/src/main/res/values/dimens_splash.xml +9 -0
  289. package/android/src/main/res/values/ids.xml +12 -0
  290. package/android/src/main/res/values/styles.xml +18 -0
  291. package/android/src/main/res/values/themes.xml +75 -0
  292. package/android/src/main/res/values-night/styles.xml +6 -0
  293. package/android/src/main/res/values-night/themes.xml +67 -0
  294. package/cli/app.js +113 -0
  295. package/cli/changes.js +235 -0
  296. package/cli/codegen/commands.js +356 -0
  297. package/cli/codegen/index.js +211 -0
  298. package/cli/codegen/kotlin.js +396 -0
  299. package/cli/codegen/names.js +99 -0
  300. package/cli/codegen/read.js +602 -0
  301. package/cli/codegen/swift.js +342 -0
  302. package/cli/config.js +78 -0
  303. package/cli/diff.js +139 -0
  304. package/cli/doctor/checks/android.js +217 -0
  305. package/cli/doctor/checks/app.js +305 -0
  306. package/cli/doctor/checks/conflicts.js +42 -0
  307. package/cli/doctor/checks/devices.js +98 -0
  308. package/cli/doctor/checks/icons.js +69 -0
  309. package/cli/doctor/checks/ios.js +187 -0
  310. package/cli/doctor/checks/navigation.js +285 -0
  311. package/cli/doctor/checks/splash.js +102 -0
  312. package/cli/doctor/fix.js +66 -0
  313. package/cli/doctor/index.js +136 -0
  314. package/cli/doctor/types.js +30 -0
  315. package/cli/exec.js +34 -0
  316. package/cli/gradle.js +142 -0
  317. package/cli/icons/android.js +173 -0
  318. package/cli/icons/images.js +202 -0
  319. package/cli/icons/index.js +97 -0
  320. package/cli/icons/ios.js +113 -0
  321. package/cli/icons/settings.js +116 -0
  322. package/cli/images.js +67 -0
  323. package/cli/index.js +307 -0
  324. package/cli/info/index.js +290 -0
  325. package/cli/init/index.js +426 -0
  326. package/cli/init/packageManager.js +48 -0
  327. package/cli/init/starter.js +440 -0
  328. package/cli/links/files.js +109 -0
  329. package/cli/links/identity.js +75 -0
  330. package/cli/links/index.js +532 -0
  331. package/cli/links/native.js +396 -0
  332. package/cli/links/open.js +120 -0
  333. package/cli/links/prefixes.js +89 -0
  334. package/cli/mcp/appMap.js +128 -0
  335. package/cli/mcp/docs.js +175 -0
  336. package/cli/mcp/index.js +153 -0
  337. package/cli/mcp/markdown.js +210 -0
  338. package/cli/mcp/protocol.js +151 -0
  339. package/cli/mcp/tools.js +389 -0
  340. package/cli/migrate/entry.js +451 -0
  341. package/cli/migrate/index.js +305 -0
  342. package/cli/migrate/native.js +250 -0
  343. package/cli/migrate/report.js +238 -0
  344. package/cli/pods.js +56 -0
  345. package/cli/project.js +189 -0
  346. package/cli/screen/index.js +383 -0
  347. package/cli/screen/templates/compose.js +46 -0
  348. package/cli/screen/templates/native.js +40 -0
  349. package/cli/screen/templates/react.js +47 -0
  350. package/cli/screen/templates/swiftui.js +30 -0
  351. package/cli/screen/templates/uikit.js +48 -0
  352. package/cli/screen/templates/views.js +46 -0
  353. package/cli/setup/index.js +240 -0
  354. package/cli/setup/source.js +58 -0
  355. package/cli/setup/steps/app.js +76 -0
  356. package/cli/setup/steps/appDelegate.js +98 -0
  357. package/cli/setup/steps/entry.js +68 -0
  358. package/cli/setup/steps/env.js +245 -0
  359. package/cli/setup/steps/infoPlist.js +39 -0
  360. package/cli/setup/steps/mainActivity.js +60 -0
  361. package/cli/setup/steps/mainApplication.js +58 -0
  362. package/cli/setup/steps/manifest.js +38 -0
  363. package/cli/setup/steps/styles.js +29 -0
  364. package/cli/setup/steps/types.js +14 -0
  365. package/cli/splash/android.js +239 -0
  366. package/cli/splash/files.js +50 -0
  367. package/cli/splash/images.js +117 -0
  368. package/cli/splash/index.js +109 -0
  369. package/cli/splash/ios.js +349 -0
  370. package/cli/splash/settings.js +143 -0
  371. package/cli/typescript.js +473 -0
  372. package/cli/ui.js +268 -0
  373. package/cli/upgrade/changelog.js +45 -0
  374. package/cli/upgrade/index.js +347 -0
  375. package/cli/upgrade/versions.js +105 -0
  376. package/cli/workspace.js +60 -0
  377. package/cli/xcode/pbxproj.js +327 -0
  378. package/docs-md/architecture/errors-and-loading.md +138 -0
  379. package/docs-md/architecture/native-screens.md +290 -0
  380. package/docs-md/architecture/one-tree.md +164 -0
  381. package/docs-md/architecture/theme-and-context.md +368 -0
  382. package/docs-md/architecture/transitions.md +191 -0
  383. package/docs-md/containers/arrangement.md +320 -0
  384. package/docs-md/containers/modals.md +195 -0
  385. package/docs-md/containers/overlays.md +109 -0
  386. package/docs-md/containers/side-menu.md +138 -0
  387. package/docs-md/containers/split-view.md +155 -0
  388. package/docs-md/containers/stack.md +156 -0
  389. package/docs-md/containers/tabs.md +187 -0
  390. package/docs-md/flows/a-search-screen.md +311 -0
  391. package/docs-md/flows/an-app-with-tabs.md +380 -0
  392. package/docs-md/flows/bottom-sheets.md +326 -0
  393. package/docs-md/flows/forms-in-a-modal.md +420 -0
  394. package/docs-md/flows/list-and-details.md +428 -0
  395. package/docs-md/flows/onboarding.md +454 -0
  396. package/docs-md/flows/sign-in-and-sign-out.md +693 -0
  397. package/docs-md/fundamentals/lifecycle-and-events.md +224 -0
  398. package/docs-md/fundamentals/moving-between-screens.md +267 -0
  399. package/docs-md/fundamentals/screen-options.md +197 -0
  400. package/docs-md/fundamentals/screens-and-props.md +314 -0
  401. package/docs-md/fundamentals/starting-the-app.md +317 -0
  402. package/docs-md/fundamentals/switching-roots.md +166 -0
  403. package/docs-md/guides/analytics.md +377 -0
  404. package/docs-md/guides/app-context.md +554 -0
  405. package/docs-md/guides/building-a-screen.md +350 -0
  406. package/docs-md/guides/cli.md +421 -0
  407. package/docs-md/guides/data-fetching.md +492 -0
  408. package/docs-md/guides/deep-links.md +694 -0
  409. package/docs-md/guides/error-reporting.md +290 -0
  410. package/docs-md/guides/gestures-and-animations.md +381 -0
  411. package/docs-md/guides/notifications.md +548 -0
  412. package/docs-md/guides/overview.md +65 -0
  413. package/docs-md/guides/right-to-left.md +273 -0
  414. package/docs-md/guides/splash-screen.md +30 -0
  415. package/docs-md/guides/state-management.md +1050 -0
  416. package/docs-md/guides/testing.md +293 -0
  417. package/docs-md/help/glossary.md +433 -0
  418. package/docs-md/help/troubleshooting.md +709 -0
  419. package/docs-md/index.json +4205 -0
  420. package/docs-md/migration/from-expo-router.md +446 -0
  421. package/docs-md/migration/from-react-native-navigation.md +789 -0
  422. package/docs-md/migration/from-react-navigation.md +628 -0
  423. package/docs-md/screen-ui/back-and-gestures.md +178 -0
  424. package/docs-md/screen-ui/bar-buttons.md +312 -0
  425. package/docs-md/screen-ui/search.md +181 -0
  426. package/docs-md/screen-ui/system-ui.md +337 -0
  427. package/docs-md/screen-ui/toolbar-and-fab.md +146 -0
  428. package/docs-md/screen-ui/top-bar.md +247 -0
  429. package/docs-md/start/installation.md +233 -0
  430. package/docs-md/start/introduction.md +46 -0
  431. package/docs-md/start/quick-start.md +124 -0
  432. package/ios/Animations/ANNAnimationRules.h +72 -0
  433. package/ios/Animations/ANNAnimationRules.mm +122 -0
  434. package/ios/Animations/ANNFrameDriver.h +46 -0
  435. package/ios/Animations/ANNFrameDriver.mm +126 -0
  436. package/ios/Animations/ANNTransitionAnimator.h +34 -0
  437. package/ios/Animations/ANNTransitionAnimator.mm +293 -0
  438. package/ios/Animations/ANNTransitionPlan.h +115 -0
  439. package/ios/Animations/ANNTransitionPlan.mm +130 -0
  440. package/ios/Animations/ANNTransitionWait.h +29 -0
  441. package/ios/Animations/ANNTransitionWait.mm +135 -0
  442. package/ios/Animations/Elements/ANNElementFinder.h +26 -0
  443. package/ios/Animations/Elements/ANNElementFinder.mm +37 -0
  444. package/ios/Animations/Elements/ANNElementTransition.h +30 -0
  445. package/ios/Animations/Elements/ANNElementTransition.mm +75 -0
  446. package/ios/Animations/Elements/ANNSharedElementFlight.h +42 -0
  447. package/ios/Animations/Elements/ANNSharedElementFlight.mm +340 -0
  448. package/ios/Animations/Elements/ANNZoomAnchor.h +33 -0
  449. package/ios/Animations/Elements/ANNZoomAnchor.mm +133 -0
  450. package/ios/Animations/Interpolators/ANNCurve.h +61 -0
  451. package/ios/Animations/Interpolators/ANNCurve.mm +301 -0
  452. package/ios/Animations/Interpolators/ANNInterpolate.h +69 -0
  453. package/ios/Animations/Interpolators/ANNTrack.h +52 -0
  454. package/ios/Animations/Interpolators/ANNTrack.mm +77 -0
  455. package/ios/Animations/Interpolators/ANNViewTracks.h +57 -0
  456. package/ios/Animations/Interpolators/ANNViewTracks.mm +261 -0
  457. package/ios/ApexNavigation-prefix.h +6 -0
  458. package/ios/CLAUDE.md +151 -0
  459. package/ios/CORE.md +177 -0
  460. package/ios/Contract/ANNCommandAnswer.h +38 -0
  461. package/ios/Contract/ANNCommandAnswer.mm +99 -0
  462. package/ios/Contract/ANNCommandRunner.h +42 -0
  463. package/ios/Contract/ANNCommandRunner.mm +89 -0
  464. package/ios/Contract/ANNErrorTexts.h +86 -0
  465. package/ios/Contract/ANNErrorTexts.mm +230 -0
  466. package/ios/Contract/ANNLayoutNode.h +64 -0
  467. package/ios/Contract/ANNLayoutNode.mm +153 -0
  468. package/ios/Contract/ANNLayoutReader.h +34 -0
  469. package/ios/Contract/ANNLayoutReader.mm +282 -0
  470. package/ios/Contract/ANNLayoutRoot.h +26 -0
  471. package/ios/Contract/ANNLayoutRoot.mm +21 -0
  472. package/ios/Contract/ANNLayoutTreeOptions.h +22 -0
  473. package/ios/Contract/ANNLayoutTreeOptions.mm +32 -0
  474. package/ios/Contract/ANNLayoutType.h +44 -0
  475. package/ios/Contract/ANNLayoutValidator.h +23 -0
  476. package/ios/Contract/ANNLayoutValidator.mm +28 -0
  477. package/ios/Core/ANNAppDelegate.mm +122 -0
  478. package/ios/Core/ANNAppDirection.h +43 -0
  479. package/ios/Core/ANNAppDirection.mm +194 -0
  480. package/ios/Core/ANNAppearanceDispatcher.h +117 -0
  481. package/ios/Core/ANNAppearanceDispatcher.mm +433 -0
  482. package/ios/Core/ANNAssert.h +7 -0
  483. package/ios/Core/ANNDeepLinkQueue.h +35 -0
  484. package/ios/Core/ANNDeepLinkQueue.mm +136 -0
  485. package/ios/Core/ANNErrorHandler.h +17 -0
  486. package/ios/Core/ANNErrorHandler.mm +14 -0
  487. package/ios/Core/ANNEventEmitter.h +174 -0
  488. package/ios/Core/ANNEventEmitter.mm +337 -0
  489. package/ios/Core/ANNHinge.h +26 -0
  490. package/ios/Core/ANNHinge.mm +116 -0
  491. package/ios/Core/ANNKeyCommands.h +12 -0
  492. package/ios/Core/ANNKeyCommands.mm +74 -0
  493. package/ios/Core/ANNLayoutInfo.h +18 -0
  494. package/ios/Core/ANNLayoutInfo.mm +13 -0
  495. package/ios/Core/ANNLayoutProtocol.h +155 -0
  496. package/ios/Core/ANNNavigationState.h +38 -0
  497. package/ios/Core/ANNNavigationState.mm +127 -0
  498. package/ios/Core/ANNNodeHelper.h +114 -0
  499. package/ios/Core/ANNNodeHelper.mm +260 -0
  500. package/ios/Core/ANNNodePresenter.h +86 -0
  501. package/ios/Core/ANNNodePresenter.mm +92 -0
  502. package/ios/Core/ANNNodeRegistry.h +30 -0
  503. package/ios/Core/ANNNodeRegistry.mm +48 -0
  504. package/ios/Core/ANNOptionsRepaint.h +19 -0
  505. package/ios/Core/ANNOptionsRepaint.mm +59 -0
  506. package/ios/Core/ANNParking.h +34 -0
  507. package/ios/Core/ANNParking.mm +117 -0
  508. package/ios/Core/ANNPendingLayers.h +31 -0
  509. package/ios/Core/ANNPendingLayers.mm +57 -0
  510. package/ios/Core/ANNReloadCoordinator.h +26 -0
  511. package/ios/Core/ANNReloadCoordinator.mm +211 -0
  512. package/ios/Core/ANNRenderWait.h +105 -0
  513. package/ios/Core/ANNRenderWait.mm +496 -0
  514. package/ios/Core/ANNSceneDelegate.mm +92 -0
  515. package/ios/Core/ANNScreenAppearance+Internal.h +29 -0
  516. package/ios/Core/ANNScreenAppearance.h +60 -0
  517. package/ios/Core/ANNScreenAppearance.mm +44 -0
  518. package/ios/Core/ANNShownScreens.h +27 -0
  519. package/ios/Core/ANNShownScreens.mm +16 -0
  520. package/ios/Core/ANNSystemUI.h +95 -0
  521. package/ios/Core/ANNSystemUI.mm +401 -0
  522. package/ios/Core/ANNSystemUIRules.h +35 -0
  523. package/ios/Core/ANNSystemUIRules.mm +139 -0
  524. package/ios/Core/ANNUtils.h +35 -0
  525. package/ios/Core/ANNUtils.mm +111 -0
  526. package/ios/Core/ApexNavigation+Internal.h +26 -0
  527. package/ios/Core/ApexNavigation.mm +177 -0
  528. package/ios/Core/UIViewController+LayoutProtocol.h +102 -0
  529. package/ios/Core/UIViewController+LayoutProtocol.mm +253 -0
  530. package/ios/Layouts/Arrangement/ANNArrangementScreenDelegate.h +18 -0
  531. package/ios/Layouts/Arrangement/ANNArrangementState.h +30 -0
  532. package/ios/Layouts/Arrangement/ANNArrangementState.mm +53 -0
  533. package/ios/Layouts/Arrangement/ANNArrangementViewController.h +38 -0
  534. package/ios/Layouts/Arrangement/ANNArrangementViewController.mm +573 -0
  535. package/ios/Layouts/External/ANNExternalViewController.h +28 -0
  536. package/ios/Layouts/External/ANNExternalViewController.mm +118 -0
  537. package/ios/Layouts/External/ANNNativeScreenCalls.h +27 -0
  538. package/ios/Layouts/External/ANNNativeScreenCalls.mm +77 -0
  539. package/ios/Layouts/Modal/ANNModal.h +121 -0
  540. package/ios/Layouts/Modal/ANNModal.mm +64 -0
  541. package/ios/Layouts/Modal/ANNModalCoordinator.h +99 -0
  542. package/ios/Layouts/Modal/ANNModalCoordinator.mm +1965 -0
  543. package/ios/Layouts/Modal/ANNModalHostViewComponentView.h +13 -0
  544. package/ios/Layouts/Modal/ANNModalHostViewComponentView.mm +24 -0
  545. package/ios/Layouts/Modal/ANNModalPresentation.h +73 -0
  546. package/ios/Layouts/Modal/ANNModalPresentation.mm +189 -0
  547. package/ios/Layouts/Modal/ANNModalSizePresenter.h +13 -0
  548. package/ios/Layouts/Modal/ANNModalSizePresenter.mm +65 -0
  549. package/ios/Layouts/Modal/ANNModalTransitions.h +29 -0
  550. package/ios/Layouts/Modal/ANNModalTransitions.mm +40 -0
  551. package/ios/Layouts/Modal/ANNPopoverPresenter.h +29 -0
  552. package/ios/Layouts/Modal/ANNPopoverPresenter.mm +158 -0
  553. package/ios/Layouts/Modal/ANNPresentationGate.h +52 -0
  554. package/ios/Layouts/Modal/ANNPresentationGate.mm +153 -0
  555. package/ios/Layouts/Modal/ANNSheetPresenter.h +31 -0
  556. package/ios/Layouts/Modal/ANNSheetPresenter.mm +247 -0
  557. package/ios/Layouts/Overlay/ANNOverlayCoordinator.h +66 -0
  558. package/ios/Layouts/Overlay/ANNOverlayCoordinator.mm +604 -0
  559. package/ios/Layouts/Overlay/ANNOverlayWindow.h +10 -0
  560. package/ios/Layouts/Overlay/ANNOverlayWindow.mm +71 -0
  561. package/ios/Layouts/Root/ANNLayoutFactory.h +31 -0
  562. package/ios/Layouts/Root/ANNLayoutFactory.mm +349 -0
  563. package/ios/Layouts/Root/ANNRootCoordinator.h +42 -0
  564. package/ios/Layouts/Root/ANNRootCoordinator.mm +847 -0
  565. package/ios/Layouts/Root/ANNSplashViewController.h +30 -0
  566. package/ios/Layouts/Root/ANNSplashViewController.mm +138 -0
  567. package/ios/Layouts/Screen/ANNComponentPresenter.h +32 -0
  568. package/ios/Layouts/Screen/ANNComponentPresenter.mm +136 -0
  569. package/ios/Layouts/Screen/ANNComponentViewController.h +100 -0
  570. package/ios/Layouts/Screen/ANNComponentViewController.mm +652 -0
  571. package/ios/Layouts/Screen/ANNNativeScreenContext+Internal.h +19 -0
  572. package/ios/Layouts/Screen/ANNNativeScreenContext.mm +84 -0
  573. package/ios/Layouts/Screen/ANNPreviewInteraction.h +38 -0
  574. package/ios/Layouts/Screen/ANNPreviewInteraction.mm +252 -0
  575. package/ios/Layouts/Screen/ANNScreenBars.h +29 -0
  576. package/ios/Layouts/Screen/ANNScreenBars.mm +47 -0
  577. package/ios/Layouts/Screen/ANNScreenInsets.h +30 -0
  578. package/ios/Layouts/Screen/ANNScreenInsets.mm +68 -0
  579. package/ios/Layouts/Screen/ANNScreenReadiness.h +92 -0
  580. package/ios/Layouts/Screen/ANNScreenReadiness.mm +186 -0
  581. package/ios/Layouts/Screen/ANNScreenRegions.h +33 -0
  582. package/ios/Layouts/Screen/ANNScreenRegions.mm +105 -0
  583. package/ios/Layouts/Screen/ANNScreenSafeArea.h +38 -0
  584. package/ios/Layouts/Screen/ANNScreenSafeArea.mm +58 -0
  585. package/ios/Layouts/SideMenu/ANNSideMenuChildViewController.h +41 -0
  586. package/ios/Layouts/SideMenu/ANNSideMenuChildViewController.mm +113 -0
  587. package/ios/Layouts/SideMenu/ANNSideMenuPresenter.h +28 -0
  588. package/ios/Layouts/SideMenu/ANNSideMenuPresenter.mm +260 -0
  589. package/ios/Layouts/SideMenu/ANNSideMenuTypes.h +19 -0
  590. package/ios/Layouts/SideMenu/ANNSideMenuViewController.h +46 -0
  591. package/ios/Layouts/SideMenu/ANNSideMenuViewController.mm +891 -0
  592. package/ios/Layouts/SplitView/ANNSplitViewCommands.h +39 -0
  593. package/ios/Layouts/SplitView/ANNSplitViewCommands.mm +612 -0
  594. package/ios/Layouts/SplitView/ANNSplitViewController.h +52 -0
  595. package/ios/Layouts/SplitView/ANNSplitViewController.mm +494 -0
  596. package/ios/Layouts/SplitView/ANNSplitViewPresenter.h +18 -0
  597. package/ios/Layouts/SplitView/ANNSplitViewPresenter.mm +181 -0
  598. package/ios/Layouts/SplitView/UISplitViewController+ANNOptions.h +32 -0
  599. package/ios/Layouts/SplitView/UISplitViewController+ANNOptions.mm +133 -0
  600. package/ios/Layouts/Stack/ANNPreviewPush.h +46 -0
  601. package/ios/Layouts/Stack/ANNPreviewPush.mm +298 -0
  602. package/ios/Layouts/Stack/ANNStackAnimatingDelegate.h +32 -0
  603. package/ios/Layouts/Stack/ANNStackAnimatingDelegate.mm +92 -0
  604. package/ios/Layouts/Stack/ANNStackCommands.h +51 -0
  605. package/ios/Layouts/Stack/ANNStackCommands.mm +403 -0
  606. package/ios/Layouts/Stack/ANNStackController.h +161 -0
  607. package/ios/Layouts/Stack/ANNStackController.mm +1597 -0
  608. package/ios/Layouts/Stack/ANNStackPresenter.h +44 -0
  609. package/ios/Layouts/Stack/ANNStackPresenter.mm +181 -0
  610. package/ios/Layouts/Stack/ANNStackQueue.h +194 -0
  611. package/ios/Layouts/Stack/ANNStackQueue.mm +1300 -0
  612. package/ios/Layouts/Stack/InteractivePopGestureDelegate.h +53 -0
  613. package/ios/Layouts/Stack/InteractivePopGestureDelegate.mm +228 -0
  614. package/ios/Layouts/Stack/UINavigationController+ANNCommands.h +19 -0
  615. package/ios/Layouts/Stack/UINavigationController+ANNCommands.mm +29 -0
  616. package/ios/Layouts/Tabs/ANNBottomTabCellView.h +33 -0
  617. package/ios/Layouts/Tabs/ANNBottomTabCellView.mm +100 -0
  618. package/ios/Layouts/Tabs/ANNBottomTabItemBuilder.h +49 -0
  619. package/ios/Layouts/Tabs/ANNBottomTabItemBuilder.mm +153 -0
  620. package/ios/Layouts/Tabs/ANNBottomTabsAccessoryView.h +17 -0
  621. package/ios/Layouts/Tabs/ANNBottomTabsAccessoryView.mm +56 -0
  622. package/ios/Layouts/Tabs/ANNBottomTabsController.h +121 -0
  623. package/ios/Layouts/Tabs/ANNBottomTabsController.mm +1404 -0
  624. package/ios/Layouts/Tabs/ANNBottomTabsCustomRow.h +47 -0
  625. package/ios/Layouts/Tabs/ANNBottomTabsCustomRow.mm +280 -0
  626. package/ios/Layouts/Tabs/ANNBottomTabsPresenter.h +81 -0
  627. package/ios/Layouts/Tabs/ANNBottomTabsPresenter.mm +1026 -0
  628. package/ios/Layouts/Tabs/ANNMoreNavigationDelegate.h +24 -0
  629. package/ios/Layouts/Tabs/ANNMoreNavigationDelegate.mm +58 -0
  630. package/ios/Layouts/Tabs/ANNScrollToTop.h +23 -0
  631. package/ios/Layouts/Tabs/ANNScrollToTop.mm +55 -0
  632. package/ios/Layouts/Tabs/ANNTabDotView.h +19 -0
  633. package/ios/Layouts/Tabs/ANNTabDotView.mm +46 -0
  634. package/ios/Layouts/Tabs/ANNTabLongPress.h +28 -0
  635. package/ios/Layouts/Tabs/ANNTabLongPress.mm +98 -0
  636. package/ios/Layouts/Tabs/ANNTabsDesign.h +26 -0
  637. package/ios/Layouts/Tabs/ANNTabsDesign.mm +34 -0
  638. package/ios/Layouts/Tabs/ANNTabsPreloadWindow.h +27 -0
  639. package/ios/Layouts/Tabs/ANNTabsPreloadWindow.mm +55 -0
  640. package/ios/Layouts/Tabs/UITabBar+utils.h +24 -0
  641. package/ios/Layouts/Tabs/UITabBar+utils.mm +103 -0
  642. package/ios/Options/ANNAnimationOptions.h +22 -0
  643. package/ios/Options/ANNAnimationOptions.mm +16 -0
  644. package/ios/Options/ANNAnimationPropertyOptions.h +17 -0
  645. package/ios/Options/ANNAnimationPropertyOptions.mm +15 -0
  646. package/ios/Options/ANNBottomTabDotIndicatorOptions.h +14 -0
  647. package/ios/Options/ANNBottomTabDotIndicatorOptions.mm +13 -0
  648. package/ios/Options/ANNBottomTabOptions.h +51 -0
  649. package/ios/Options/ANNBottomTabOptions.mm +47 -0
  650. package/ios/Options/ANNBottomTabsAccessoryOptions.h +19 -0
  651. package/ios/Options/ANNBottomTabsAccessoryOptions.mm +25 -0
  652. package/ios/Options/ANNBottomTabsAnimationOptions.h +12 -0
  653. package/ios/Options/ANNBottomTabsAnimationOptions.mm +11 -0
  654. package/ios/Options/ANNBottomTabsCustomRowOptions.h +19 -0
  655. package/ios/Options/ANNBottomTabsCustomRowOptions.mm +17 -0
  656. package/ios/Options/ANNBottomTabsOptions.h +51 -0
  657. package/ios/Options/ANNBottomTabsOptions.mm +48 -0
  658. package/ios/Options/ANNBottomTabsShadowOptions.h +14 -0
  659. package/ios/Options/ANNBottomTabsShadowOptions.mm +13 -0
  660. package/ios/Options/ANNButtonComponentOptions.h +13 -0
  661. package/ios/Options/ANNButtonComponentOptions.mm +12 -0
  662. package/ios/Options/ANNButtonOptions.h +56 -0
  663. package/ios/Options/ANNButtonOptions.mm +53 -0
  664. package/ios/Options/ANNButtonsParser.h +13 -0
  665. package/ios/Options/ANNButtonsParser.mm +18 -0
  666. package/ios/Options/ANNComponentOptions.h +14 -0
  667. package/ios/Options/ANNComponentOptions.mm +12 -0
  668. package/ios/Options/ANNDefaultOptions.h +18 -0
  669. package/ios/Options/ANNDefaultOptions.mm +22 -0
  670. package/ios/Options/ANNElementAnimationOptions.h +18 -0
  671. package/ios/Options/ANNElementAnimationOptions.mm +15 -0
  672. package/ios/Options/ANNElementTransitionOptions.h +26 -0
  673. package/ios/Options/ANNElementTransitionOptions.mm +28 -0
  674. package/ios/Options/ANNEnterExitBottomTabsAnimationOptions.h +14 -0
  675. package/ios/Options/ANNEnterExitBottomTabsAnimationOptions.mm +12 -0
  676. package/ios/Options/ANNEnterExitScreenAnimationOptions.h +14 -0
  677. package/ios/Options/ANNEnterExitScreenAnimationOptions.mm +12 -0
  678. package/ios/Options/ANNEnterExitTopBarAnimationOptions.h +14 -0
  679. package/ios/Options/ANNEnterExitTopBarAnimationOptions.mm +12 -0
  680. package/ios/Options/ANNFabOptions.h +26 -0
  681. package/ios/Options/ANNFabOptions.mm +23 -0
  682. package/ios/Options/ANNFontOptions.h +24 -0
  683. package/ios/Options/ANNFontOptions.mm +65 -0
  684. package/ios/Options/ANNHardwareBackButtonOptions.h +15 -0
  685. package/ios/Options/ANNHardwareBackButtonOptions.mm +13 -0
  686. package/ios/Options/ANNIconBackgroundOptions.h +16 -0
  687. package/ios/Options/ANNIconBackgroundOptions.mm +15 -0
  688. package/ios/Options/ANNIconInsetsOptions.h +16 -0
  689. package/ios/Options/ANNIconInsetsOptions.mm +14 -0
  690. package/ios/Options/ANNInterpolationOptions.h +22 -0
  691. package/ios/Options/ANNInterpolationOptions.mm +22 -0
  692. package/ios/Options/ANNLayoutOptions.h +26 -0
  693. package/ios/Options/ANNLayoutOptions.mm +25 -0
  694. package/ios/Options/ANNMenuOptions.h +37 -0
  695. package/ios/Options/ANNMenuOptions.mm +136 -0
  696. package/ios/Options/ANNModalAnimationOptions.h +17 -0
  697. package/ios/Options/ANNModalAnimationOptions.mm +15 -0
  698. package/ios/Options/ANNModalContentSizeOptions.h +14 -0
  699. package/ios/Options/ANNModalContentSizeOptions.mm +15 -0
  700. package/ios/Options/ANNModalOptions.h +19 -0
  701. package/ios/Options/ANNModalOptions.mm +15 -0
  702. package/ios/Options/ANNNavigationBarOptions.h +14 -0
  703. package/ios/Options/ANNNavigationBarOptions.mm +13 -0
  704. package/ios/Options/ANNNavigationOptions.h +60 -0
  705. package/ios/Options/ANNNavigationOptions.mm +54 -0
  706. package/ios/Options/ANNOptionField.h +91 -0
  707. package/ios/Options/ANNOptionField.mm +173 -0
  708. package/ios/Options/ANNOptions.h +62 -0
  709. package/ios/Options/ANNOptions.mm +329 -0
  710. package/ios/Options/ANNOptionsCache.h +22 -0
  711. package/ios/Options/ANNOptionsCache.mm +17 -0
  712. package/ios/Options/ANNOptionsReader.h +33 -0
  713. package/ios/Options/ANNOptionsReader.mm +63 -0
  714. package/ios/Options/ANNOverlayOptions.h +14 -0
  715. package/ios/Options/ANNOverlayOptions.mm +12 -0
  716. package/ios/Options/ANNPopoverOptions.h +17 -0
  717. package/ios/Options/ANNPopoverOptions.mm +31 -0
  718. package/ios/Options/ANNPreviewOptions.h +17 -0
  719. package/ios/Options/ANNPreviewOptions.mm +15 -0
  720. package/ios/Options/ANNScreenAnimationOptions.h +13 -0
  721. package/ios/Options/ANNScreenAnimationOptions.mm +12 -0
  722. package/ios/Options/ANNScrollEdgeEffectOptions.h +20 -0
  723. package/ios/Options/ANNScrollEdgeEffectOptions.mm +16 -0
  724. package/ios/Options/ANNScrollEdgeOptions.h +14 -0
  725. package/ios/Options/ANNScrollEdgeOptions.mm +12 -0
  726. package/ios/Options/ANNSearchBarOptions.h +49 -0
  727. package/ios/Options/ANNSearchBarOptions.mm +41 -0
  728. package/ios/Options/ANNSearchScopeOptions.h +15 -0
  729. package/ios/Options/ANNSearchScopeOptions.mm +13 -0
  730. package/ios/Options/ANNSearchSuggestionOptions.h +19 -0
  731. package/ios/Options/ANNSearchSuggestionOptions.mm +16 -0
  732. package/ios/Options/ANNSearchTokenOptions.h +18 -0
  733. package/ios/Options/ANNSearchTokenOptions.mm +15 -0
  734. package/ios/Options/ANNSetStackRootAnimationOptions.h +12 -0
  735. package/ios/Options/ANNSetStackRootAnimationOptions.mm +11 -0
  736. package/ios/Options/ANNSharedElementTransitionOptions.h +17 -0
  737. package/ios/Options/ANNSharedElementTransitionOptions.mm +15 -0
  738. package/ios/Options/ANNSheetOptions.h +25 -0
  739. package/ios/Options/ANNSheetOptions.mm +41 -0
  740. package/ios/Options/ANNSideMenuOptions.h +19 -0
  741. package/ios/Options/ANNSideMenuOptions.mm +16 -0
  742. package/ios/Options/ANNSideMenuSideOptions.h +23 -0
  743. package/ios/Options/ANNSideMenuSideOptions.mm +20 -0
  744. package/ios/Options/ANNSplitViewColumnOptions.h +14 -0
  745. package/ios/Options/ANNSplitViewColumnOptions.mm +13 -0
  746. package/ios/Options/ANNSplitViewInspectorOptions.h +13 -0
  747. package/ios/Options/ANNSplitViewInspectorOptions.mm +9 -0
  748. package/ios/Options/ANNSplitViewOptions.h +29 -0
  749. package/ios/Options/ANNSplitViewOptions.mm +26 -0
  750. package/ios/Options/ANNStackAnimationOptions.h +23 -0
  751. package/ios/Options/ANNStackAnimationOptions.mm +20 -0
  752. package/ios/Options/ANNStackPushAnimationOptions.h +13 -0
  753. package/ios/Options/ANNStackPushAnimationOptions.mm +11 -0
  754. package/ios/Options/ANNStatusBarOptions.h +20 -0
  755. package/ios/Options/ANNStatusBarOptions.mm +18 -0
  756. package/ios/Options/ANNToolbarOptions.h +14 -0
  757. package/ios/Options/ANNToolbarOptions.mm +27 -0
  758. package/ios/Options/ANNTopBarAnimationOptions.h +12 -0
  759. package/ios/Options/ANNTopBarAnimationOptions.mm +11 -0
  760. package/ios/Options/ANNTopBarBackButtonOptions.h +31 -0
  761. package/ios/Options/ANNTopBarBackButtonOptions.mm +35 -0
  762. package/ios/Options/ANNTopBarBackgroundComponentOptions.h +13 -0
  763. package/ios/Options/ANNTopBarBackgroundComponentOptions.mm +11 -0
  764. package/ios/Options/ANNTopBarBackgroundOptions.h +17 -0
  765. package/ios/Options/ANNTopBarBackgroundOptions.mm +15 -0
  766. package/ios/Options/ANNTopBarLargeTitleOptions.h +19 -0
  767. package/ios/Options/ANNTopBarLargeTitleOptions.mm +15 -0
  768. package/ios/Options/ANNTopBarOptions.h +62 -0
  769. package/ios/Options/ANNTopBarOptions.mm +49 -0
  770. package/ios/Options/ANNTopBarScrollEdgeAppearanceBackgroundOptions.h +14 -0
  771. package/ios/Options/ANNTopBarScrollEdgeAppearanceBackgroundOptions.mm +12 -0
  772. package/ios/Options/ANNTopBarScrollEdgeAppearanceOptions.h +19 -0
  773. package/ios/Options/ANNTopBarScrollEdgeAppearanceOptions.mm +16 -0
  774. package/ios/Options/ANNTopBarScrollEdgeAppearanceTitleOptions.h +16 -0
  775. package/ios/Options/ANNTopBarScrollEdgeAppearanceTitleOptions.mm +12 -0
  776. package/ios/Options/ANNTopBarSubtitleOptions.h +18 -0
  777. package/ios/Options/ANNTopBarSubtitleOptions.mm +14 -0
  778. package/ios/Options/ANNTopBarTitleComponentOptions.h +15 -0
  779. package/ios/Options/ANNTopBarTitleComponentOptions.mm +12 -0
  780. package/ios/Options/ANNTopBarTitleDocumentOptions.h +12 -0
  781. package/ios/Options/ANNTopBarTitleDocumentOptions.mm +11 -0
  782. package/ios/Options/ANNTopBarTitleOptions.h +29 -0
  783. package/ios/Options/ANNTopBarTitleOptions.mm +21 -0
  784. package/ios/Options/ANNViewAnimationOptions.h +26 -0
  785. package/ios/Options/ANNViewAnimationOptions.mm +58 -0
  786. package/ios/Options/ANNWindowOptions.h +12 -0
  787. package/ios/Options/ANNWindowOptions.mm +9 -0
  788. package/ios/Options/ANNZoomTransitionOptions.h +13 -0
  789. package/ios/Options/ANNZoomTransitionOptions.mm +12 -0
  790. package/ios/Options/Params/ANNIntegerParam.h +14 -0
  791. package/ios/Options/Params/ANNIntegerParam.mm +13 -0
  792. package/ios/Options/Params/ANNParam.h +28 -0
  793. package/ios/Options/Params/ANNParam.mm +29 -0
  794. package/ios/Options/Params/Bool.h +17 -0
  795. package/ios/Options/Params/Bool.mm +17 -0
  796. package/ios/Options/Params/BoolParser.h +12 -0
  797. package/ios/Options/Params/BoolParser.mm +10 -0
  798. package/ios/Options/Params/Color.h +43 -0
  799. package/ios/Options/Params/Color.mm +65 -0
  800. package/ios/Options/Params/ColorParser.h +14 -0
  801. package/ios/Options/Params/ColorParser.mm +95 -0
  802. package/ios/Options/Params/Double.h +14 -0
  803. package/ios/Options/Params/Double.mm +13 -0
  804. package/ios/Options/Params/DoubleParser.h +16 -0
  805. package/ios/Options/Params/DoubleParser.mm +16 -0
  806. package/ios/Options/Params/Image.h +15 -0
  807. package/ios/Options/Params/Image.mm +13 -0
  808. package/ios/Options/Params/ImageParser.h +16 -0
  809. package/ios/Options/Params/ImageParser.mm +103 -0
  810. package/ios/Options/Params/Number.h +14 -0
  811. package/ios/Options/Params/Number.mm +13 -0
  812. package/ios/Options/Params/NumberParser.h +13 -0
  813. package/ios/Options/Params/NumberParser.mm +10 -0
  814. package/ios/Options/Params/Param.h +16 -0
  815. package/ios/Options/Params/Param.mm +13 -0
  816. package/ios/Options/Params/Text.h +17 -0
  817. package/ios/Options/Params/Text.mm +17 -0
  818. package/ios/Options/Params/TextParser.h +17 -0
  819. package/ios/Options/Params/TextParser.mm +17 -0
  820. package/ios/Package.swift +58 -0
  821. package/ios/Public/ApexNavigation/ANNAppDelegate.h +66 -0
  822. package/ios/Public/ApexNavigation/ANNSceneDelegate.h +19 -0
  823. package/ios/Public/ApexNavigation/ApexNavigation.h +92 -0
  824. package/ios/Public/module.modulemap +8 -0
  825. package/ios/RECIPES.md +41 -0
  826. package/ios/React/ANNComponentType.h +22 -0
  827. package/ios/React/ANNComponentViewCreator.h +18 -0
  828. package/ios/React/ANNReactComponentRegistry.h +53 -0
  829. package/ios/React/ANNReactComponentRegistry.mm +153 -0
  830. package/ios/React/ANNReactView.h +104 -0
  831. package/ios/React/ANNReactView.mm +374 -0
  832. package/ios/React/ANNReactViewCreator.h +20 -0
  833. package/ios/React/ANNReactViewCreator.mm +42 -0
  834. package/ios/React/ANNSafeAreaViewComponentView.h +13 -0
  835. package/ios/React/ANNSafeAreaViewComponentView.mm +153 -0
  836. package/ios/React/ANNSurfaceHostingView.h +17 -0
  837. package/ios/React/ANNSurfaceHostingView.mm +68 -0
  838. package/ios/React/Slots/ANNSlotComponentView.h +10 -0
  839. package/ios/React/Slots/ANNSlotComponentView.mm +122 -0
  840. package/ios/React/Slots/ANNSlotContainers.h +34 -0
  841. package/ios/React/Slots/ANNSlotContainers.mm +39 -0
  842. package/ios/React/Slots/ANNSlotContentView.h +12 -0
  843. package/ios/React/Slots/ANNSlotContentView.mm +18 -0
  844. package/ios/React/Slots/ANNSlotHost.h +29 -0
  845. package/ios/React/Slots/ANNSlotHost.mm +59 -0
  846. package/ios/React/Slots/ANNSlotScreenView.h +38 -0
  847. package/ios/React/Slots/ANNSlotScreenView.mm +254 -0
  848. package/ios/TopBar/ANNBackButtonPresenter.h +35 -0
  849. package/ios/TopBar/ANNBackButtonPresenter.mm +187 -0
  850. package/ios/TopBar/ANNBarAppearance.h +53 -0
  851. package/ios/TopBar/ANNBarAppearance.mm +278 -0
  852. package/ios/TopBar/ANNBarBackgroundComponent.h +46 -0
  853. package/ios/TopBar/ANNBarBackgroundComponent.mm +163 -0
  854. package/ios/TopBar/ANNBarButtonComponentView.h +30 -0
  855. package/ios/TopBar/ANNBarButtonComponentView.mm +110 -0
  856. package/ios/TopBar/ANNBarButtons.h +65 -0
  857. package/ios/TopBar/ANNBarButtons.mm +1125 -0
  858. package/ios/TopBar/ANNBarComponentsWait.h +37 -0
  859. package/ios/TopBar/ANNBarComponentsWait.mm +116 -0
  860. package/ios/TopBar/ANNIconButtonImage.h +25 -0
  861. package/ios/TopBar/ANNIconButtonImage.mm +94 -0
  862. package/ios/TopBar/ANNLargeTitlePresenter.h +117 -0
  863. package/ios/TopBar/ANNLargeTitlePresenter.mm +402 -0
  864. package/ios/TopBar/ANNMainList.h +28 -0
  865. package/ios/TopBar/ANNMainList.mm +72 -0
  866. package/ios/TopBar/ANNScrollEdgeEffects.h +29 -0
  867. package/ios/TopBar/ANNScrollEdgeEffects.mm +122 -0
  868. package/ios/TopBar/ANNSearchPresenter.h +29 -0
  869. package/ios/TopBar/ANNSearchPresenter.mm +637 -0
  870. package/ios/TopBar/ANNSearchResultsViewController.h +16 -0
  871. package/ios/TopBar/ANNSearchResultsViewController.mm +56 -0
  872. package/ios/TopBar/ANNShowTextButton.h +22 -0
  873. package/ios/TopBar/ANNShowTextButton.mm +63 -0
  874. package/ios/TopBar/ANNTitleComponentView.h +37 -0
  875. package/ios/TopBar/ANNTitleComponentView.mm +86 -0
  876. package/ios/TopBar/ANNTitleGlassView.h +33 -0
  877. package/ios/TopBar/ANNTitleGlassView.mm +126 -0
  878. package/ios/TopBar/ANNTitleView.h +18 -0
  879. package/ios/TopBar/ANNTitleView.mm +63 -0
  880. package/ios/TopBar/ANNToolbarPresenter.h +26 -0
  881. package/ios/TopBar/ANNToolbarPresenter.mm +24 -0
  882. package/ios/TopBar/ANNTopBarPresenter.h +120 -0
  883. package/ios/TopBar/ANNTopBarPresenter.mm +1252 -0
  884. package/ios/TopBar/ANNUIBarButtonItem.h +16 -0
  885. package/ios/TopBar/ANNUIBarButtonItem.mm +5 -0
  886. package/ios/TurboModules/ANNTurboEventEmitter.h +31 -0
  887. package/ios/TurboModules/ANNTurboEventEmitter.mm +129 -0
  888. package/ios/TurboModules/ANNTurboModule.h +11 -0
  889. package/ios/TurboModules/ANNTurboModule.mm +626 -0
  890. package/ios/Utils/UIColor+ANNLuminance.h +13 -0
  891. package/ios/Utils/UIColor+ANNLuminance.mm +32 -0
  892. package/ios/Utils/UIView+Utils.h +12 -0
  893. package/ios/Utils/UIView+Utils.mm +21 -0
  894. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSafeAreaViewComponentDescriptor.h +19 -0
  895. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSafeAreaViewShadowNode.h +60 -0
  896. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSafeAreaViewState.h +33 -0
  897. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSlotComponentDescriptor.h +22 -0
  898. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSlotShadowNode.h +87 -0
  899. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSlotState.h +101 -0
  900. package/lib/module/ARCHITECTURE.md +289 -0
  901. package/lib/module/adapters/NativeANNTurboEventEmitter.js +12 -0
  902. package/lib/module/adapters/NativeANNTurboEventEmitter.js.map +1 -0
  903. package/lib/module/adapters/NativeANNTurboModule.js +13 -0
  904. package/lib/module/adapters/NativeANNTurboModule.js.map +1 -0
  905. package/lib/module/api/app/AppRegistry.js +52 -0
  906. package/lib/module/api/app/AppRegistry.js.map +1 -0
  907. package/lib/module/api/app/activeApp.js +12 -0
  908. package/lib/module/api/app/activeApp.js.map +1 -0
  909. package/lib/module/api/app/createNavigation.js +365 -0
  910. package/lib/module/api/app/createNavigation.js.map +1 -0
  911. package/lib/module/api/app/roots.js +20 -0
  912. package/lib/module/api/app/roots.js.map +1 -0
  913. package/lib/module/api/app/splash.js +124 -0
  914. package/lib/module/api/app/splash.js.map +1 -0
  915. package/lib/module/api/app/startFailure.js +38 -0
  916. package/lib/module/api/app/startFailure.js.map +1 -0
  917. package/lib/module/api/arrangement/arrangementState.js +86 -0
  918. package/lib/module/api/arrangement/arrangementState.js.map +1 -0
  919. package/lib/module/api/commands/commands.js +375 -0
  920. package/lib/module/api/commands/commands.js.map +1 -0
  921. package/lib/module/api/commands/errors.js +94 -0
  922. package/lib/module/api/commands/errors.js.map +1 -0
  923. package/lib/module/api/commands/presentation.js +4 -0
  924. package/lib/module/api/commands/presentation.js.map +1 -0
  925. package/lib/module/api/commands/sideMenus.js +134 -0
  926. package/lib/module/api/commands/sideMenus.js.map +1 -0
  927. package/lib/module/api/commands/transitions.js +245 -0
  928. package/lib/module/api/commands/transitions.js.map +1 -0
  929. package/lib/module/api/context/appContext.js +22 -0
  930. package/lib/module/api/context/appContext.js.map +1 -0
  931. package/lib/module/api/events/navigationEvents.js +69 -0
  932. package/lib/module/api/events/navigationEvents.js.map +1 -0
  933. package/lib/module/api/events/screenLifecycle.js +30 -0
  934. package/lib/module/api/events/screenLifecycle.js.map +1 -0
  935. package/lib/module/api/events/tabPresses.js +32 -0
  936. package/lib/module/api/events/tabPresses.js.map +1 -0
  937. package/lib/module/api/hinge/hinge.js +73 -0
  938. package/lib/module/api/hinge/hinge.js.map +1 -0
  939. package/lib/module/api/hooks/appHooks.js +26 -0
  940. package/lib/module/api/hooks/appHooks.js.map +1 -0
  941. package/lib/module/api/hooks/screenHooks.js +250 -0
  942. package/lib/module/api/hooks/screenHooks.js.map +1 -0
  943. package/lib/module/api/hooks/useArrangement.js +24 -0
  944. package/lib/module/api/hooks/useArrangement.js.map +1 -0
  945. package/lib/module/api/hooks/useHinge.js +29 -0
  946. package/lib/module/api/hooks/useHinge.js.map +1 -0
  947. package/lib/module/api/hooks/useNavigation.js +117 -0
  948. package/lib/module/api/hooks/useNavigation.js.map +1 -0
  949. package/lib/module/api/hooks/usePendingLink.js +12 -0
  950. package/lib/module/api/hooks/usePendingLink.js.map +1 -0
  951. package/lib/module/api/hooks/usePreview.js +97 -0
  952. package/lib/module/api/hooks/usePreview.js.map +1 -0
  953. package/lib/module/api/hooks/useReservedRegions.js +24 -0
  954. package/lib/module/api/hooks/useReservedRegions.js.map +1 -0
  955. package/lib/module/api/hooks/useSafeAreaInsets.js +25 -0
  956. package/lib/module/api/hooks/useSafeAreaInsets.js.map +1 -0
  957. package/lib/module/api/index.js +26 -0
  958. package/lib/module/api/index.js.map +1 -0
  959. package/lib/module/api/layout/Root.js +121 -0
  960. package/lib/module/api/layout/Root.js.map +1 -0
  961. package/lib/module/api/layout/Screen.js +52 -0
  962. package/lib/module/api/layout/Screen.js.map +1 -0
  963. package/lib/module/api/layout/SideMenu.js +85 -0
  964. package/lib/module/api/layout/SideMenu.js.map +1 -0
  965. package/lib/module/api/layout/SplitView.js +137 -0
  966. package/lib/module/api/layout/SplitView.js.map +1 -0
  967. package/lib/module/api/layout/Stack.js +36 -0
  968. package/lib/module/api/layout/Stack.js.map +1 -0
  969. package/lib/module/api/layout/Tabs.js +326 -0
  970. package/lib/module/api/layout/Tabs.js.map +1 -0
  971. package/lib/module/api/layout/element.js +100 -0
  972. package/lib/module/api/layout/element.js.map +1 -0
  973. package/lib/module/api/linking/linkPaths.js +132 -0
  974. package/lib/module/api/linking/linkPaths.js.map +1 -0
  975. package/lib/module/api/linking/linking.js +244 -0
  976. package/lib/module/api/linking/linking.js.map +1 -0
  977. package/lib/module/api/linking/pendingLinks.js +34 -0
  978. package/lib/module/api/linking/pendingLinks.js.map +1 -0
  979. package/lib/module/api/linking/types.js +4 -0
  980. package/lib/module/api/linking/types.js.map +1 -0
  981. package/lib/module/api/navigation.js +105 -0
  982. package/lib/module/api/navigation.js.map +1 -0
  983. package/lib/module/api/options/OptionsChain.js +158 -0
  984. package/lib/module/api/options/OptionsChain.js.map +1 -0
  985. package/lib/module/api/options/ScreenOptions.js +83 -0
  986. package/lib/module/api/options/ScreenOptions.js.map +1 -0
  987. package/lib/module/api/options/buttons.js +4 -0
  988. package/lib/module/api/options/buttons.js.map +1 -0
  989. package/lib/module/api/safeArea/ANNSafeAreaViewNativeComponent.ts +28 -0
  990. package/lib/module/api/safeArea/screenInsets.js +86 -0
  991. package/lib/module/api/safeArea/screenInsets.js.map +1 -0
  992. package/lib/module/api/safeArea/screenRegions.js +84 -0
  993. package/lib/module/api/safeArea/screenRegions.js.map +1 -0
  994. package/lib/module/api/screens/ScreenBoundary.js +44 -0
  995. package/lib/module/api/screens/ScreenBoundary.js.map +1 -0
  996. package/lib/module/api/screens/arrangement.js +63 -0
  997. package/lib/module/api/screens/arrangement.js.map +1 -0
  998. package/lib/module/api/screens/defineScreen.js +29 -0
  999. package/lib/module/api/screens/defineScreen.js.map +1 -0
  1000. package/lib/module/api/screens/nativeScreenCalls.js +34 -0
  1001. package/lib/module/api/screens/nativeScreenCalls.js.map +1 -0
  1002. package/lib/module/api/screens/nativeScreens.js +43 -0
  1003. package/lib/module/api/screens/nativeScreens.js.map +1 -0
  1004. package/lib/module/api/screens/registerScreens.js +305 -0
  1005. package/lib/module/api/screens/registerScreens.js.map +1 -0
  1006. package/lib/module/api/slots/ANNSlotNativeComponent.ts +23 -0
  1007. package/lib/module/api/slots/SlotHost.js +92 -0
  1008. package/lib/module/api/slots/SlotHost.js.map +1 -0
  1009. package/lib/module/api/state/navigationState.js +98 -0
  1010. package/lib/module/api/state/navigationState.js.map +1 -0
  1011. package/lib/module/api/testIDs.js +14 -0
  1012. package/lib/module/api/testIDs.js.map +1 -0
  1013. package/lib/module/api/theme/theme.js +180 -0
  1014. package/lib/module/api/theme/theme.js.map +1 -0
  1015. package/lib/module/api/types.js +4 -0
  1016. package/lib/module/api/types.js.map +1 -0
  1017. package/lib/module/engine/backListeners.js +39 -0
  1018. package/lib/module/engine/backListeners.js.map +1 -0
  1019. package/lib/module/engine/buttons.js +105 -0
  1020. package/lib/module/engine/buttons.js.map +1 -0
  1021. package/lib/module/engine/commands.js +388 -0
  1022. package/lib/module/engine/commands.js.map +1 -0
  1023. package/lib/module/engine/events.js +30 -0
  1024. package/lib/module/engine/events.js.map +1 -0
  1025. package/lib/module/engine/ids.js +10 -0
  1026. package/lib/module/engine/ids.js.map +1 -0
  1027. package/lib/module/engine/launchState.js +34 -0
  1028. package/lib/module/engine/launchState.js.map +1 -0
  1029. package/lib/module/engine/layout.js +202 -0
  1030. package/lib/module/engine/layout.js.map +1 -0
  1031. package/lib/module/engine/mergeOptions.js +23 -0
  1032. package/lib/module/engine/mergeOptions.js.map +1 -0
  1033. package/lib/module/engine/native.js +45 -0
  1034. package/lib/module/engine/native.js.map +1 -0
  1035. package/lib/module/engine/nativeScreens.js +265 -0
  1036. package/lib/module/engine/nativeScreens.js.map +1 -0
  1037. package/lib/module/engine/options.js +170 -0
  1038. package/lib/module/engine/options.js.map +1 -0
  1039. package/lib/module/engine/places.js +178 -0
  1040. package/lib/module/engine/places.js.map +1 -0
  1041. package/lib/module/engine/props.js +44 -0
  1042. package/lib/module/engine/props.js.map +1 -0
  1043. package/lib/module/engine/reactMeasures.js +23 -0
  1044. package/lib/module/engine/reactMeasures.js.map +1 -0
  1045. package/lib/module/engine/rememberedOptions.js +118 -0
  1046. package/lib/module/engine/rememberedOptions.js.map +1 -0
  1047. package/lib/module/engine/screens.js +194 -0
  1048. package/lib/module/engine/screens.js.map +1 -0
  1049. package/lib/module/engine/slots.js +200 -0
  1050. package/lib/module/engine/slots.js.map +1 -0
  1051. package/lib/module/engine/tabs.js +79 -0
  1052. package/lib/module/engine/tabs.js.map +1 -0
  1053. package/lib/module/index.js +5 -0
  1054. package/lib/module/index.js.map +1 -0
  1055. package/lib/module/interfaces/ComponentEvents.js +2 -0
  1056. package/lib/module/interfaces/ComponentEvents.js.map +1 -0
  1057. package/lib/module/interfaces/Events.js +2 -0
  1058. package/lib/module/interfaces/Events.js.map +1 -0
  1059. package/lib/module/interfaces/Layout.js +4 -0
  1060. package/lib/module/interfaces/Layout.js.map +1 -0
  1061. package/lib/module/interfaces/Options.js +4 -0
  1062. package/lib/module/interfaces/Options.js.map +1 -0
  1063. package/lib/module/interfaces/options/animations.js +2 -0
  1064. package/lib/module/interfaces/options/animations.js.map +1 -0
  1065. package/lib/module/interfaces/options/bottomTabs.js +4 -0
  1066. package/lib/module/interfaces/options/bottomTabs.js.map +1 -0
  1067. package/lib/module/interfaces/options/buttons.js +4 -0
  1068. package/lib/module/interfaces/options/buttons.js.map +1 -0
  1069. package/lib/module/interfaces/options/common.js +4 -0
  1070. package/lib/module/interfaces/options/common.js.map +1 -0
  1071. package/lib/module/interfaces/options/modals.js +2 -0
  1072. package/lib/module/interfaces/options/modals.js.map +1 -0
  1073. package/lib/module/interfaces/options/preview.js +2 -0
  1074. package/lib/module/interfaces/options/preview.js.map +1 -0
  1075. package/lib/module/interfaces/options/sideMenu.js +2 -0
  1076. package/lib/module/interfaces/options/sideMenu.js.map +1 -0
  1077. package/lib/module/interfaces/options/splitView.js +2 -0
  1078. package/lib/module/interfaces/options/splitView.js.map +1 -0
  1079. package/lib/module/interfaces/options/stack.js +4 -0
  1080. package/lib/module/interfaces/options/stack.js.map +1 -0
  1081. package/lib/module/interfaces/options/system.js +4 -0
  1082. package/lib/module/interfaces/options/system.js.map +1 -0
  1083. package/lib/module/interfaces/options/toolbar.js +4 -0
  1084. package/lib/module/interfaces/options/toolbar.js.map +1 -0
  1085. package/lib/module/interfaces/options/topBar.js +4 -0
  1086. package/lib/module/interfaces/options/topBar.js.map +1 -0
  1087. package/lib/module/package.json +1 -0
  1088. package/lib/typescript/adapters/NativeANNTurboEventEmitter.d.ts +14 -0
  1089. package/lib/typescript/adapters/NativeANNTurboEventEmitter.d.ts.map +1 -0
  1090. package/lib/typescript/adapters/NativeANNTurboModule.d.ts +77 -0
  1091. package/lib/typescript/adapters/NativeANNTurboModule.d.ts.map +1 -0
  1092. package/lib/typescript/api/app/AppRegistry.d.ts +14 -0
  1093. package/lib/typescript/api/app/AppRegistry.d.ts.map +1 -0
  1094. package/lib/typescript/api/app/activeApp.d.ts +12 -0
  1095. package/lib/typescript/api/app/activeApp.d.ts.map +1 -0
  1096. package/lib/typescript/api/app/createNavigation.d.ts +182 -0
  1097. package/lib/typescript/api/app/createNavigation.d.ts.map +1 -0
  1098. package/lib/typescript/api/app/roots.d.ts +15 -0
  1099. package/lib/typescript/api/app/roots.d.ts.map +1 -0
  1100. package/lib/typescript/api/app/splash.d.ts +81 -0
  1101. package/lib/typescript/api/app/splash.d.ts.map +1 -0
  1102. package/lib/typescript/api/app/startFailure.d.ts +15 -0
  1103. package/lib/typescript/api/app/startFailure.d.ts.map +1 -0
  1104. package/lib/typescript/api/arrangement/arrangementState.d.ts +21 -0
  1105. package/lib/typescript/api/arrangement/arrangementState.d.ts.map +1 -0
  1106. package/lib/typescript/api/commands/commands.d.ts +57 -0
  1107. package/lib/typescript/api/commands/commands.d.ts.map +1 -0
  1108. package/lib/typescript/api/commands/errors.d.ts +24 -0
  1109. package/lib/typescript/api/commands/errors.d.ts.map +1 -0
  1110. package/lib/typescript/api/commands/presentation.d.ts +69 -0
  1111. package/lib/typescript/api/commands/presentation.d.ts.map +1 -0
  1112. package/lib/typescript/api/commands/sideMenus.d.ts +14 -0
  1113. package/lib/typescript/api/commands/sideMenus.d.ts.map +1 -0
  1114. package/lib/typescript/api/commands/transitions.d.ts +33 -0
  1115. package/lib/typescript/api/commands/transitions.d.ts.map +1 -0
  1116. package/lib/typescript/api/context/appContext.d.ts +4 -0
  1117. package/lib/typescript/api/context/appContext.d.ts.map +1 -0
  1118. package/lib/typescript/api/events/navigationEvents.d.ts +70 -0
  1119. package/lib/typescript/api/events/navigationEvents.d.ts.map +1 -0
  1120. package/lib/typescript/api/events/screenLifecycle.d.ts +5 -0
  1121. package/lib/typescript/api/events/screenLifecycle.d.ts.map +1 -0
  1122. package/lib/typescript/api/events/tabPresses.d.ts +5 -0
  1123. package/lib/typescript/api/events/tabPresses.d.ts.map +1 -0
  1124. package/lib/typescript/api/hinge/hinge.d.ts +21 -0
  1125. package/lib/typescript/api/hinge/hinge.d.ts.map +1 -0
  1126. package/lib/typescript/api/hooks/appHooks.d.ts +15 -0
  1127. package/lib/typescript/api/hooks/appHooks.d.ts.map +1 -0
  1128. package/lib/typescript/api/hooks/screenHooks.d.ts +74 -0
  1129. package/lib/typescript/api/hooks/screenHooks.d.ts.map +1 -0
  1130. package/lib/typescript/api/hooks/useArrangement.d.ts +13 -0
  1131. package/lib/typescript/api/hooks/useArrangement.d.ts.map +1 -0
  1132. package/lib/typescript/api/hooks/useHinge.d.ts +16 -0
  1133. package/lib/typescript/api/hooks/useHinge.d.ts.map +1 -0
  1134. package/lib/typescript/api/hooks/useNavigation.d.ts +108 -0
  1135. package/lib/typescript/api/hooks/useNavigation.d.ts.map +1 -0
  1136. package/lib/typescript/api/hooks/usePendingLink.d.ts +7 -0
  1137. package/lib/typescript/api/hooks/usePendingLink.d.ts.map +1 -0
  1138. package/lib/typescript/api/hooks/usePreview.d.ts +29 -0
  1139. package/lib/typescript/api/hooks/usePreview.d.ts.map +1 -0
  1140. package/lib/typescript/api/hooks/useReservedRegions.d.ts +13 -0
  1141. package/lib/typescript/api/hooks/useReservedRegions.d.ts.map +1 -0
  1142. package/lib/typescript/api/hooks/useSafeAreaInsets.d.ts +14 -0
  1143. package/lib/typescript/api/hooks/useSafeAreaInsets.d.ts.map +1 -0
  1144. package/lib/typescript/api/index.d.ts +60 -0
  1145. package/lib/typescript/api/index.d.ts.map +1 -0
  1146. package/lib/typescript/api/layout/Root.d.ts +47 -0
  1147. package/lib/typescript/api/layout/Root.d.ts.map +1 -0
  1148. package/lib/typescript/api/layout/Screen.d.ts +32 -0
  1149. package/lib/typescript/api/layout/Screen.d.ts.map +1 -0
  1150. package/lib/typescript/api/layout/SideMenu.d.ts +33 -0
  1151. package/lib/typescript/api/layout/SideMenu.d.ts.map +1 -0
  1152. package/lib/typescript/api/layout/SplitView.d.ts +48 -0
  1153. package/lib/typescript/api/layout/SplitView.d.ts.map +1 -0
  1154. package/lib/typescript/api/layout/Stack.d.ts +21 -0
  1155. package/lib/typescript/api/layout/Stack.d.ts.map +1 -0
  1156. package/lib/typescript/api/layout/Tabs.d.ts +120 -0
  1157. package/lib/typescript/api/layout/Tabs.d.ts.map +1 -0
  1158. package/lib/typescript/api/layout/element.d.ts +52 -0
  1159. package/lib/typescript/api/layout/element.d.ts.map +1 -0
  1160. package/lib/typescript/api/linking/linkPaths.d.ts +31 -0
  1161. package/lib/typescript/api/linking/linkPaths.d.ts.map +1 -0
  1162. package/lib/typescript/api/linking/linking.d.ts +37 -0
  1163. package/lib/typescript/api/linking/linking.d.ts.map +1 -0
  1164. package/lib/typescript/api/linking/pendingLinks.d.ts +8 -0
  1165. package/lib/typescript/api/linking/pendingLinks.d.ts.map +1 -0
  1166. package/lib/typescript/api/linking/types.d.ts +105 -0
  1167. package/lib/typescript/api/linking/types.d.ts.map +1 -0
  1168. package/lib/typescript/api/navigation.d.ts +115 -0
  1169. package/lib/typescript/api/navigation.d.ts.map +1 -0
  1170. package/lib/typescript/api/options/OptionsChain.d.ts +47 -0
  1171. package/lib/typescript/api/options/OptionsChain.d.ts.map +1 -0
  1172. package/lib/typescript/api/options/ScreenOptions.d.ts +32 -0
  1173. package/lib/typescript/api/options/ScreenOptions.d.ts.map +1 -0
  1174. package/lib/typescript/api/options/buttons.d.ts +35 -0
  1175. package/lib/typescript/api/options/buttons.d.ts.map +1 -0
  1176. package/lib/typescript/api/safeArea/ANNSafeAreaViewNativeComponent.d.ts +20 -0
  1177. package/lib/typescript/api/safeArea/ANNSafeAreaViewNativeComponent.d.ts.map +1 -0
  1178. package/lib/typescript/api/safeArea/screenInsets.d.ts +20 -0
  1179. package/lib/typescript/api/safeArea/screenInsets.d.ts.map +1 -0
  1180. package/lib/typescript/api/safeArea/screenRegions.d.ts +24 -0
  1181. package/lib/typescript/api/safeArea/screenRegions.d.ts.map +1 -0
  1182. package/lib/typescript/api/screens/ScreenBoundary.d.ts +34 -0
  1183. package/lib/typescript/api/screens/ScreenBoundary.d.ts.map +1 -0
  1184. package/lib/typescript/api/screens/arrangement.d.ts +70 -0
  1185. package/lib/typescript/api/screens/arrangement.d.ts.map +1 -0
  1186. package/lib/typescript/api/screens/defineScreen.d.ts +41 -0
  1187. package/lib/typescript/api/screens/defineScreen.d.ts.map +1 -0
  1188. package/lib/typescript/api/screens/nativeScreenCalls.d.ts +3 -0
  1189. package/lib/typescript/api/screens/nativeScreenCalls.d.ts.map +1 -0
  1190. package/lib/typescript/api/screens/nativeScreens.d.ts +47 -0
  1191. package/lib/typescript/api/screens/nativeScreens.d.ts.map +1 -0
  1192. package/lib/typescript/api/screens/registerScreens.d.ts +61 -0
  1193. package/lib/typescript/api/screens/registerScreens.d.ts.map +1 -0
  1194. package/lib/typescript/api/slots/ANNSlotNativeComponent.d.ts +15 -0
  1195. package/lib/typescript/api/slots/ANNSlotNativeComponent.d.ts.map +1 -0
  1196. package/lib/typescript/api/slots/SlotHost.d.ts +8 -0
  1197. package/lib/typescript/api/slots/SlotHost.d.ts.map +1 -0
  1198. package/lib/typescript/api/state/navigationState.d.ts +26 -0
  1199. package/lib/typescript/api/state/navigationState.d.ts.map +1 -0
  1200. package/lib/typescript/api/testIDs.d.ts +12 -0
  1201. package/lib/typescript/api/testIDs.d.ts.map +1 -0
  1202. package/lib/typescript/api/theme/theme.d.ts +70 -0
  1203. package/lib/typescript/api/theme/theme.d.ts.map +1 -0
  1204. package/lib/typescript/api/types.d.ts +64 -0
  1205. package/lib/typescript/api/types.d.ts.map +1 -0
  1206. package/lib/typescript/engine/backListeners.d.ts +8 -0
  1207. package/lib/typescript/engine/backListeners.d.ts.map +1 -0
  1208. package/lib/typescript/engine/buttons.d.ts +11 -0
  1209. package/lib/typescript/engine/buttons.d.ts.map +1 -0
  1210. package/lib/typescript/engine/commands.d.ts +38 -0
  1211. package/lib/typescript/engine/commands.d.ts.map +1 -0
  1212. package/lib/typescript/engine/events.d.ts +17 -0
  1213. package/lib/typescript/engine/events.d.ts.map +1 -0
  1214. package/lib/typescript/engine/ids.d.ts +3 -0
  1215. package/lib/typescript/engine/ids.d.ts.map +1 -0
  1216. package/lib/typescript/engine/launchState.d.ts +25 -0
  1217. package/lib/typescript/engine/launchState.d.ts.map +1 -0
  1218. package/lib/typescript/engine/layout.d.ts +32 -0
  1219. package/lib/typescript/engine/layout.d.ts.map +1 -0
  1220. package/lib/typescript/engine/mergeOptions.d.ts +6 -0
  1221. package/lib/typescript/engine/mergeOptions.d.ts.map +1 -0
  1222. package/lib/typescript/engine/native.d.ts +22 -0
  1223. package/lib/typescript/engine/native.d.ts.map +1 -0
  1224. package/lib/typescript/engine/nativeScreens.d.ts +49 -0
  1225. package/lib/typescript/engine/nativeScreens.d.ts.map +1 -0
  1226. package/lib/typescript/engine/options.d.ts +12 -0
  1227. package/lib/typescript/engine/options.d.ts.map +1 -0
  1228. package/lib/typescript/engine/places.d.ts +57 -0
  1229. package/lib/typescript/engine/places.d.ts.map +1 -0
  1230. package/lib/typescript/engine/props.d.ts +10 -0
  1231. package/lib/typescript/engine/props.d.ts.map +1 -0
  1232. package/lib/typescript/engine/reactMeasures.d.ts +3 -0
  1233. package/lib/typescript/engine/reactMeasures.d.ts.map +1 -0
  1234. package/lib/typescript/engine/rememberedOptions.d.ts +28 -0
  1235. package/lib/typescript/engine/rememberedOptions.d.ts.map +1 -0
  1236. package/lib/typescript/engine/screens.d.ts +90 -0
  1237. package/lib/typescript/engine/screens.d.ts.map +1 -0
  1238. package/lib/typescript/engine/slots.d.ts +71 -0
  1239. package/lib/typescript/engine/slots.d.ts.map +1 -0
  1240. package/lib/typescript/engine/tabs.d.ts +24 -0
  1241. package/lib/typescript/engine/tabs.d.ts.map +1 -0
  1242. package/lib/typescript/index.d.ts +3 -0
  1243. package/lib/typescript/index.d.ts.map +1 -0
  1244. package/lib/typescript/interfaces/ComponentEvents.d.ts +189 -0
  1245. package/lib/typescript/interfaces/ComponentEvents.d.ts.map +1 -0
  1246. package/lib/typescript/interfaces/Events.d.ts +199 -0
  1247. package/lib/typescript/interfaces/Events.d.ts.map +1 -0
  1248. package/lib/typescript/interfaces/Layout.d.ts +150 -0
  1249. package/lib/typescript/interfaces/Layout.d.ts.map +1 -0
  1250. package/lib/typescript/interfaces/Options.d.ts +93 -0
  1251. package/lib/typescript/interfaces/Options.d.ts.map +1 -0
  1252. package/lib/typescript/interfaces/options/animations.d.ts +452 -0
  1253. package/lib/typescript/interfaces/options/animations.d.ts.map +1 -0
  1254. package/lib/typescript/interfaces/options/bottomTabs.d.ts +462 -0
  1255. package/lib/typescript/interfaces/options/bottomTabs.d.ts.map +1 -0
  1256. package/lib/typescript/interfaces/options/buttons.d.ts +331 -0
  1257. package/lib/typescript/interfaces/options/buttons.d.ts.map +1 -0
  1258. package/lib/typescript/interfaces/options/common.d.ts +51 -0
  1259. package/lib/typescript/interfaces/options/common.d.ts.map +1 -0
  1260. package/lib/typescript/interfaces/options/modals.d.ts +202 -0
  1261. package/lib/typescript/interfaces/options/modals.d.ts.map +1 -0
  1262. package/lib/typescript/interfaces/options/preview.d.ts +40 -0
  1263. package/lib/typescript/interfaces/options/preview.d.ts.map +1 -0
  1264. package/lib/typescript/interfaces/options/sideMenu.d.ts +130 -0
  1265. package/lib/typescript/interfaces/options/sideMenu.d.ts.map +1 -0
  1266. package/lib/typescript/interfaces/options/splitView.d.ts +118 -0
  1267. package/lib/typescript/interfaces/options/splitView.d.ts.map +1 -0
  1268. package/lib/typescript/interfaces/options/stack.d.ts +109 -0
  1269. package/lib/typescript/interfaces/options/stack.d.ts.map +1 -0
  1270. package/lib/typescript/interfaces/options/system.d.ts +238 -0
  1271. package/lib/typescript/interfaces/options/system.d.ts.map +1 -0
  1272. package/lib/typescript/interfaces/options/toolbar.d.ts +45 -0
  1273. package/lib/typescript/interfaces/options/toolbar.d.ts.map +1 -0
  1274. package/lib/typescript/interfaces/options/topBar.d.ts +804 -0
  1275. package/lib/typescript/interfaces/options/topBar.d.ts.map +1 -0
  1276. package/lib/typescript/package.json +1 -0
  1277. package/package.json +166 -4
  1278. package/react-native.config.js +22 -0
  1279. package/src/ARCHITECTURE.md +289 -0
  1280. package/src/adapters/NativeANNTurboEventEmitter.ts +15 -0
  1281. package/src/adapters/NativeANNTurboModule.ts +100 -0
  1282. package/src/api/app/AppRegistry.ts +57 -0
  1283. package/src/api/app/activeApp.ts +20 -0
  1284. package/src/api/app/createNavigation.ts +566 -0
  1285. package/src/api/app/roots.ts +40 -0
  1286. package/src/api/app/splash.ts +154 -0
  1287. package/src/api/app/startFailure.tsx +39 -0
  1288. package/src/api/arrangement/arrangementState.ts +98 -0
  1289. package/src/api/commands/commands.ts +371 -0
  1290. package/src/api/commands/errors.ts +99 -0
  1291. package/src/api/commands/presentation.ts +78 -0
  1292. package/src/api/commands/sideMenus.ts +122 -0
  1293. package/src/api/commands/transitions.ts +133 -0
  1294. package/src/api/context/appContext.ts +23 -0
  1295. package/src/api/events/navigationEvents.ts +175 -0
  1296. package/src/api/events/screenLifecycle.ts +27 -0
  1297. package/src/api/events/tabPresses.ts +35 -0
  1298. package/src/api/hinge/hinge.ts +84 -0
  1299. package/src/api/hooks/appHooks.ts +37 -0
  1300. package/src/api/hooks/screenHooks.ts +272 -0
  1301. package/src/api/hooks/useArrangement.ts +26 -0
  1302. package/src/api/hooks/useHinge.ts +26 -0
  1303. package/src/api/hooks/useNavigation.ts +267 -0
  1304. package/src/api/hooks/usePendingLink.ts +11 -0
  1305. package/src/api/hooks/usePreview.ts +111 -0
  1306. package/src/api/hooks/useReservedRegions.ts +26 -0
  1307. package/src/api/hooks/useSafeAreaInsets.ts +23 -0
  1308. package/src/api/index.ts +139 -0
  1309. package/src/api/layout/Root.ts +113 -0
  1310. package/src/api/layout/Screen.ts +55 -0
  1311. package/src/api/layout/SideMenu.ts +87 -0
  1312. package/src/api/layout/SplitView.ts +146 -0
  1313. package/src/api/layout/Stack.ts +48 -0
  1314. package/src/api/layout/Tabs.ts +339 -0
  1315. package/src/api/layout/element.ts +114 -0
  1316. package/src/api/linking/linkPaths.ts +159 -0
  1317. package/src/api/linking/linking.ts +242 -0
  1318. package/src/api/linking/pendingLinks.ts +37 -0
  1319. package/src/api/linking/types.ts +130 -0
  1320. package/src/api/navigation.ts +269 -0
  1321. package/src/api/options/OptionsChain.ts +142 -0
  1322. package/src/api/options/ScreenOptions.ts +81 -0
  1323. package/src/api/options/buttons.ts +43 -0
  1324. package/src/api/safeArea/ANNSafeAreaViewNativeComponent.ts +28 -0
  1325. package/src/api/safeArea/screenInsets.ts +86 -0
  1326. package/src/api/safeArea/screenRegions.ts +99 -0
  1327. package/src/api/screens/ScreenBoundary.tsx +52 -0
  1328. package/src/api/screens/arrangement.ts +106 -0
  1329. package/src/api/screens/defineScreen.ts +57 -0
  1330. package/src/api/screens/nativeScreenCalls.ts +59 -0
  1331. package/src/api/screens/nativeScreens.ts +58 -0
  1332. package/src/api/screens/registerScreens.tsx +364 -0
  1333. package/src/api/slots/ANNSlotNativeComponent.ts +23 -0
  1334. package/src/api/slots/SlotHost.tsx +64 -0
  1335. package/src/api/state/navigationState.ts +95 -0
  1336. package/src/api/testIDs.ts +11 -0
  1337. package/src/api/theme/theme.ts +184 -0
  1338. package/src/api/types.ts +95 -0
  1339. package/src/engine/backListeners.ts +36 -0
  1340. package/src/engine/buttons.ts +91 -0
  1341. package/src/engine/commands.ts +469 -0
  1342. package/src/engine/events.ts +24 -0
  1343. package/src/engine/ids.ts +7 -0
  1344. package/src/engine/launchState.ts +35 -0
  1345. package/src/engine/layout.ts +247 -0
  1346. package/src/engine/mergeOptions.ts +20 -0
  1347. package/src/engine/native.ts +51 -0
  1348. package/src/engine/nativeScreens.ts +263 -0
  1349. package/src/engine/options.ts +165 -0
  1350. package/src/engine/places.ts +205 -0
  1351. package/src/engine/props.ts +45 -0
  1352. package/src/engine/reactMeasures.ts +24 -0
  1353. package/src/engine/rememberedOptions.ts +111 -0
  1354. package/src/engine/screens.tsx +239 -0
  1355. package/src/engine/slots.ts +191 -0
  1356. package/src/engine/tabs.ts +95 -0
  1357. package/src/index.ts +3 -0
  1358. package/src/interfaces/ComponentEvents.ts +214 -0
  1359. package/src/interfaces/Events.ts +227 -0
  1360. package/src/interfaces/Layout.ts +161 -0
  1361. package/src/interfaces/Options.ts +175 -0
  1362. package/src/interfaces/options/animations.ts +480 -0
  1363. package/src/interfaces/options/bottomTabs.ts +481 -0
  1364. package/src/interfaces/options/buttons.ts +364 -0
  1365. package/src/interfaces/options/common.ts +76 -0
  1366. package/src/interfaces/options/modals.ts +217 -0
  1367. package/src/interfaces/options/preview.ts +40 -0
  1368. package/src/interfaces/options/sideMenu.ts +132 -0
  1369. package/src/interfaces/options/splitView.ts +127 -0
  1370. package/src/interfaces/options/stack.ts +110 -0
  1371. package/src/interfaces/options/system.ts +252 -0
  1372. package/src/interfaces/options/toolbar.ts +47 -0
  1373. package/src/interfaces/options/topBar.ts +828 -0
@@ -0,0 +1,69 @@
1
+ import type { ModalOptions, OptionsModalPopover, OptionsModalPresentationStyle, OptionsModalSheet } from '../../interfaces/Options.js';
2
+ import type { ScreenOptionsInput } from '../screens/defineScreen.js';
3
+ import type { Transition } from './transitions.js';
4
+ /** How `push` shows a screen. */
5
+ export interface PushConfig {
6
+ /**
7
+ * How the screen comes and goes: a preset (`'fade'`, `'slideUp'`, `'scale'`…), the zoom of iOS 18 out of a view, or
8
+ * views that move into the screen. The way back is the same in reverse. `options.animations` go over it.
9
+ */
10
+ transition?: Transition;
11
+ /** Options of the screen for this show, over those of its definition. */
12
+ options?: ScreenOptionsInput<object>;
13
+ }
14
+ /** How `showInColumn` shows a screen. */
15
+ export interface ColumnConfig {
16
+ /**
17
+ * The column: `'secondary'`, the one beside the sidebar, or `'supplementary'`, the middle one of three. Android has
18
+ * the secondary column only.
19
+ */
20
+ column?: 'secondary' | 'supplementary';
21
+ /** Options of the screen for this show, over those of its definition. */
22
+ options?: ScreenOptionsInput<object>;
23
+ }
24
+ /** How `showModal` shows a screen. */
25
+ export interface ModalConfig {
26
+ /** The presentation style of the modal. */
27
+ style?: `${OptionsModalPresentationStyle}`;
28
+ /** A sheet with detents (on Android the Material bottom sheet); it is a page sheet unless `style` says otherwise. */
29
+ sheet?: OptionsModalSheet;
30
+ /** #### (iOS specific) A popover from a button or a view; it is a popover unless `style` says otherwise. */
31
+ popover?: OptionsModalPopover;
32
+ /** #### (iOS specific) The size of a form sheet. */
33
+ contentSize?: ModalOptions['contentSize'];
34
+ /** `false`: the screen shows without a stack around it, so without a top bar. */
35
+ stack?: boolean;
36
+ /**
37
+ * A close button at the leading edge of the modal's first screen, which dismisses the modal: the system one on iOS,
38
+ * an icon on Android. Its id and testID are `CloseButton`. Needs the stack.
39
+ */
40
+ closeButton?: boolean;
41
+ /**
42
+ * Called once the modal is gone, whatever dismissed it: a command, a swipe, a new root. `setStack` inside the
43
+ * modal replaces its first screen, and calls it too.
44
+ */
45
+ onDismiss?: () => void;
46
+ /**
47
+ * How the screen comes and goes: a preset (`'fade'`, `'slideUp'`, `'scale'`…), the zoom of iOS 18 out of a view, or
48
+ * views that move into the screen. The way back is the same in reverse. `options.animations` go over it.
49
+ */
50
+ transition?: Transition;
51
+ /** Options of the screen for this show, over those of its definition. */
52
+ options?: ScreenOptionsInput<object>;
53
+ }
54
+ /**
55
+ * How `showOverlay` shows a screen; its background is transparent. Touches outside its views reach the app under it.
56
+ */
57
+ export interface OverlayConfig {
58
+ /** Touches outside the overlay's views don't reach the app: a small overlay that still stops it. */
59
+ blockTouches?: boolean;
60
+ /** Options of the screen for this show, over those of its definition. */
61
+ options?: ScreenOptionsInput<object>;
62
+ }
63
+ /** What every push, modal and overlay of the app starts from; the settings of a command go over it. */
64
+ export interface Presentation {
65
+ push?: PushConfig;
66
+ modal?: Omit<ModalConfig, 'onDismiss'>;
67
+ overlay?: OverlayConfig;
68
+ }
69
+ //# sourceMappingURL=presentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation.d.ts","sourceRoot":"","sources":["../../../../src/api/commands/presentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,6BAA6B,EAC7B,iBAAiB,EAClB,MAAM,6BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAe,CAAC;AAEhD,iCAAiC;AACjC,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,yEAAyE;IACzE,OAAO,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;CACtC;AAED,yCAAyC;AACzC,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,GAAG,eAAe,CAAC;IACvC,yEAAyE;IACzE,OAAO,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;CACtC;AAED,sCAAsC;AACtC,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,KAAK,CAAC,EAAE,GAAG,6BAA6B,EAAE,CAAC;IAC3C,qHAAqH;IACrH,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,4GAA4G;IAC5G,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,oDAAoD;IACpD,WAAW,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IAC1C,iFAAiF;IACjF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,yEAAyE;IACzE,OAAO,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oGAAoG;IACpG,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yEAAyE;IACzE,OAAO,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;CACtC;AAED,uGAAuG;AACvG,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB"}
@@ -0,0 +1,14 @@
1
+ type MenuSide = 'left' | 'right';
2
+ /** Keeps the center the user saw last and the open menu of each side menu; the app starts it with its state. */
3
+ export declare function watchSideMenus(): void;
4
+ /** The screen of the center a menu screen acts from, when the menu has one. */
5
+ export declare function centerOf(menuId: string): string | undefined;
6
+ /** Opens a menu of the side menu the screen is in; resolves once it is open and the state shows its screen. */
7
+ export declare function openMenu(screenId: string, side: MenuSide): Promise<void>;
8
+ /**
9
+ * Closes the menu that is open in the side menu the screen is in; resolves once it is closed and the state shows the
10
+ * screen under it.
11
+ */
12
+ export declare function closeMenu(screenId: string): Promise<void>;
13
+ export {};
14
+ //# sourceMappingURL=sideMenus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sideMenus.d.ts","sourceRoot":"","sources":["../../../../src/api/commands/sideMenus.ts"],"names":[],"mappings":"AAMA,KAAK,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAWjC,gHAAgH;AAChH,wBAAgB,cAAc,IAAI,IAAI,CAerC;AAED,+EAA+E;AAC/E,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE3D;AA2DD,+GAA+G;AAC/G,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAQxE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASzD"}
@@ -0,0 +1,33 @@
1
+ import type { AnimationOptions, ScreenAnimationOptions } from '../../interfaces/Options.js';
2
+ /** A ready transition: how a screen comes, and the same in reverse when it goes. */
3
+ export type TransitionPreset = 'platform' | 'none' | 'fade' | 'slideUp' | 'slideFromEnd' | 'scale';
4
+ /**
5
+ * How a screen comes and goes; the way back is the same in reverse. A preset, a preset with its duration, the zoom of
6
+ * iOS 18 out of the view with a `nativeID`, or views that move from this screen into the new one (`nativeID` pairs,
7
+ * with a fade of the rest unless `type` says otherwise).
8
+ */
9
+ export type Transition = TransitionPreset | {
10
+ type: TransitionPreset;
11
+ duration?: number;
12
+ } | {
13
+ zoom: string;
14
+ } | {
15
+ shared: [from: string, to: string][];
16
+ type?: TransitionPreset;
17
+ duration?: number;
18
+ };
19
+ /**
20
+ * The content of a preset as the screen comes (`show`) and as it goes (`hide`); none for `platform` and `none`.
21
+ * `slideFromEnd` comes from the right, or from the left in a right-to-left layout.
22
+ */
23
+ export declare function presetContent(preset: TransitionPreset, duration?: number): {
24
+ show: ScreenAnimationOptions;
25
+ hide: ScreenAnimationOptions;
26
+ } | undefined;
27
+ /** The animations of a push and of the pop of the screen it shows. */
28
+ export declare function pushAnimations(transition: Transition | undefined): AnimationOptions | undefined;
29
+ /** The animations of a modal as it shows and as it is dismissed. */
30
+ export declare function modalAnimations(transition: Transition | undefined): AnimationOptions | undefined;
31
+ /** The object without its undefined values, so they don't go to the native side. */
32
+ export declare function defined<T extends object>(value: T): T;
33
+ //# sourceMappingURL=transitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../../../../src/api/commands/transitions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,6BAA0B,CAAC;AAEzF,oFAAoF;AACpF,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,OAAO,CAAC;AAEnG;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAClB,gBAAgB,GAChB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAyBzF;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,gBAAgB,EACxB,QAAQ,GAAE,MAAiB,GAC1B;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,IAAI,EAAE,sBAAsB,CAAA;CAAE,GAAG,SAAS,CAmC5E;AASD,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,gBAAgB,GAAG,SAAS,CAe/F;AAED,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,gBAAgB,GAAG,SAAS,CAiBhG;AAED,oFAAoF;AACpF,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAErD"}
@@ -0,0 +1,4 @@
1
+ export declare function getAppContext<Context>(): Context;
2
+ export declare function setAppContext<Context>(next: Context | ((previous: Context) => Context)): void;
3
+ export declare function subscribeAppContext(listener: () => void): () => void;
4
+ //# sourceMappingURL=appContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appContext.d.ts","sourceRoot":"","sources":["../../../../src/api/context/appContext.ts"],"names":[],"mappings":"AAKA,wBAAgB,aAAa,CAAC,OAAO,KAAK,OAAO,CAEhD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,QAMtF;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAKpE"}
@@ -0,0 +1,70 @@
1
+ import { type ScreenEventOf } from '../../engine/events.js';
2
+ import type { BottomAccessoryPlacementChangedEvent, ComponentDidAppearEvent, ComponentDidDisappearEvent, ComponentWillAppearEvent, KeyCommandPressedEvent as NativeKeyCommandPressedEvent, ModalAttemptedToDismissEvent, ModalDismissedEvent as NativeModalDismissedEvent, NavigationButtonPressedEvent, PreviewCompletedEvent as NativePreviewCompletedEvent, ScreenPoppedEvent as NativeScreenPoppedEvent, SearchBarCancelPressedEvent, SearchSuggestionPickedEvent as NativeSearchSuggestionPickedEvent, SearchBarSubmittedEvent, SearchBarUpdatedEvent, SheetDetentChangedEvent as NativeSheetDetentChangedEvent, SplitViewDisplayModeChangedEvent as NativeSplitViewDisplayModeChangedEvent, TitleRenamedEvent as NativeTitleRenamedEvent } from '../../interfaces/ComponentEvents.js';
3
+ import type { BottomTabLongPressedEvent, BottomTabPressedEvent, BottomTabSelectedEvent } from '../../interfaces/Events.js';
4
+ import { type NavigationState } from '../state/navigationState.js';
5
+ /** The events of the navigation by name, with what each one gets; the events of a screen carry it as `screen`. */
6
+ export interface NavigationEvents {
7
+ /** A screen is about to appear; the components of the bars (title, buttons, background) are not screens. */
8
+ screenWillAppear: ScreenEventOf<ComponentWillAppearEvent>;
9
+ /** A screen appeared. */
10
+ screenDidAppear: ScreenEventOf<ComponentDidAppearEvent>;
11
+ /** A screen disappeared: something covers it, or it left. */
12
+ screenDidDisappear: ScreenEventOf<ComponentDidDisappearEvent>;
13
+ /** A screen left its stack by back, a swipe or `pop`. */
14
+ screenPopped: ScreenEventOf<NativeScreenPoppedEvent>;
15
+ buttonPressed: ScreenEventOf<NavigationButtonPressedEvent>;
16
+ tabSelected: BottomTabSelectedEvent;
17
+ tabPressed: BottomTabPressedEvent;
18
+ tabLongPressed: BottomTabLongPressedEvent;
19
+ modalDismissed: ScreenEventOf<NativeModalDismissedEvent>;
20
+ /** A swipe tried to dismiss a modal whose screen keeps the user (`usePreventLeave`). */
21
+ modalDismissAttempted: ScreenEventOf<ModalAttemptedToDismissEvent>;
22
+ searchChanged: ScreenEventOf<SearchBarUpdatedEvent>;
23
+ searchSubmitted: ScreenEventOf<SearchBarSubmittedEvent>;
24
+ searchCancelled: ScreenEventOf<SearchBarCancelPressedEvent>;
25
+ /** #### (iOS 16+, Android) The user picked a suggestion of `searchBar.suggestions`; the text stays. */
26
+ searchSuggestionPicked: ScreenEventOf<NativeSearchSuggestionPickedEvent>;
27
+ /** #### (iOS specific) */
28
+ sheetDetentChanged: ScreenEventOf<NativeSheetDetentChangedEvent>;
29
+ /** #### (iOS specific) */
30
+ splitViewDisplayModeChanged: NativeSplitViewDisplayModeChangedEvent;
31
+ keyCommandPressed: ScreenEventOf<NativeKeyCommandPressedEvent>;
32
+ /** #### (iOS specific) */
33
+ titleRenamed: ScreenEventOf<NativeTitleRenamedEvent>;
34
+ /** #### (iOS specific, iOS 26+) */
35
+ accessoryPlacementChanged: BottomAccessoryPlacementChangedEvent;
36
+ /** #### (iOS specific) */
37
+ previewCompleted: ScreenEventOf<NativePreviewCompletedEvent>;
38
+ /** What the user sees changed: the screen or the selected tab. */
39
+ stateChanged: NavigationState;
40
+ }
41
+ export type NavigationEventName = keyof NavigationEvents;
42
+ export type ScreenWillAppearEvent = NavigationEvents['screenWillAppear'];
43
+ export type ScreenDidAppearEvent = NavigationEvents['screenDidAppear'];
44
+ export type ScreenDidDisappearEvent = NavigationEvents['screenDidDisappear'];
45
+ export type ScreenPoppedEvent = NavigationEvents['screenPopped'];
46
+ export type ButtonPressedEvent = NavigationEvents['buttonPressed'];
47
+ export type TabSelectedEvent = NavigationEvents['tabSelected'];
48
+ export type TabPressedEvent = NavigationEvents['tabPressed'];
49
+ export type TabLongPressedEvent = NavigationEvents['tabLongPressed'];
50
+ export type ModalDismissedEvent = NavigationEvents['modalDismissed'];
51
+ export type ModalDismissAttemptedEvent = NavigationEvents['modalDismissAttempted'];
52
+ export type SearchChangedEvent = NavigationEvents['searchChanged'];
53
+ export type SearchSubmittedEvent = NavigationEvents['searchSubmitted'];
54
+ export type SearchCancelledEvent = NavigationEvents['searchCancelled'];
55
+ export type SearchSuggestionPickedEvent = NavigationEvents['searchSuggestionPicked'];
56
+ export type SheetDetentChangedEvent = NavigationEvents['sheetDetentChanged'];
57
+ export type SplitViewDisplayModeChangedEvent = NavigationEvents['splitViewDisplayModeChanged'];
58
+ export type KeyCommandPressedEvent = NavigationEvents['keyCommandPressed'];
59
+ export type TitleRenamedEvent = NavigationEvents['titleRenamed'];
60
+ export type AccessoryPlacementChangedEvent = NavigationEvents['accessoryPlacementChanged'];
61
+ export type PreviewCompletedEvent = NavigationEvents['previewCompleted'];
62
+ /** Handlers of the events of the navigation, by event name. */
63
+ export type NavigationListeners = {
64
+ [Name in NavigationEventName]?: (event: NavigationEvents[Name]) => void;
65
+ };
66
+ /** Listens to an event of the navigation; returns the function that stops listening. */
67
+ export declare function onNavigationEvent<Name extends NavigationEventName>(name: Name, handler: (event: NavigationEvents[Name]) => void): () => void;
68
+ /** Listens to the events of `listeners`, for as long as the app runs. */
69
+ export declare function addNavigationListeners(listeners: NavigationListeners): void;
70
+ //# sourceMappingURL=navigationEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigationEvents.d.ts","sourceRoot":"","sources":["../../../../src/api/events/navigationEvents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** Runs the handler once the screen unmounts: its native screen is gone. */
2
+ export declare function whenScreenUnmounts(screenId: string, handler: () => void): void;
3
+ /** A screen of `screens` unmounted. */
4
+ export declare function screenUnmounted(screenId: string): void;
5
+ //# sourceMappingURL=screenLifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenLifecycle.d.ts","sourceRoot":"","sources":["../../../../src/api/events/screenLifecycle.ts"],"names":[],"mappings":"AAUA,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,QAEvE;AAED,uCAAuC;AACvC,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,QAU/C"}
@@ -0,0 +1,5 @@
1
+ import type { TabPressHandler } from '../../engine/tabs.js';
2
+ export type { TabPressEvent, TabPressHandler } from '../../engine/tabs.js';
3
+ /** Calls the handler when the tab of the screen is pressed while it shows the screen; returns the function to stop. */
4
+ export declare function onScreenTabPress(screenId: string, handler: TabPressHandler): () => void;
5
+ //# sourceMappingURL=tabPresses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabPresses.d.ts","sourceRoot":"","sources":["../../../../src/api/events/tabPresses.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,eAAe,EAAE,MAAM,sBAAmB,CAAC;AAGxE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAmB,CAAC;AAMxE,uHAAuH;AACvH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,MAAM,IAAI,CASvF"}
@@ -0,0 +1,21 @@
1
+ /** The device's hinge. */
2
+ export interface Hinge {
3
+ /**
4
+ * `closed`, `partiallyOpen`, `fullyOpen` (open as far as the device allows), or `unknown`. On Android `closed` is
5
+ * told by the hinge angle sensor: the app's window has no fold and the angle is below 90°.
6
+ */
7
+ state: 'closed' | 'partiallyOpen' | 'fullyOpen' | 'unknown';
8
+ /**
9
+ * Degrees: 0 closed, 180 open flat, beyond 180 on Android devices that fold back. Null where the platform gives no
10
+ * angle: on Android without a hinge sensor, and on iOS while the state is unknown.
11
+ */
12
+ angle: number | null;
13
+ }
14
+ /** The last hinge value; null without a hinge and before the native side sent the first one. */
15
+ export declare function getHinge(): Hinge | null;
16
+ /**
17
+ * Calls `listener` on every change of the hinge; returns the function that stops it. The native side watches the hinge
18
+ * only while something listens: a hinge sensor on Android costs power.
19
+ */
20
+ export declare function subscribeHinge(listener: (hinge: Hinge | null) => void): () => void;
21
+ //# sourceMappingURL=hinge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hinge.d.ts","sourceRoot":"","sources":["../../../../src/api/hinge/hinge.ts"],"names":[],"mappings":"AAIA,0BAA0B;AAC1B,MAAM,WAAW,KAAK;IACpB;;;OAGG;IACH,KAAK,EAAE,QAAQ,GAAG,eAAe,GAAG,WAAW,GAAG,SAAS,CAAC;IAC5D;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAOD,gGAAgG;AAChG,wBAAgB,QAAQ,IAAI,KAAK,GAAG,IAAI,CASvC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,MAAM,IAAI,CAOlF"}
@@ -0,0 +1,15 @@
1
+ import { type ResolvedNavigationTheme } from '../theme/theme.js';
2
+ import type { RegisteredContext } from '../types.js';
3
+ /**
4
+ * The theme of the navigation, its colors for the current appearance: they go straight into styles. The component
5
+ * renders again when `navigation.setTheme` changes the theme, and when the appearance turns light or dark.
6
+ */
7
+ export declare function useNavigationTheme(): ResolvedNavigationTheme;
8
+ /**
9
+ * The app's context: `context` of createNavigation, as `navigation.setContext` changed it since. Any component, in any
10
+ * screen. With `select`, the component renders again only when the selected part changes, so a change of the language
11
+ * doesn't render a component that reads the user; without it, on every change.
12
+ */
13
+ export declare function useAppContext<Context = RegisteredContext>(): Context;
14
+ export declare function useAppContext<Selected, Context = RegisteredContext>(select: (context: Context) => Selected): Selected;
15
+ //# sourceMappingURL=appHooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appHooks.d.ts","sourceRoot":"","sources":["../../../../src/api/hooks/appHooks.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,uBAAuB,EAE7B,MAAM,mBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAU,CAAC;AAElD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,uBAAuB,CAI5D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAG,iBAAiB,KAAK,OAAO,CAAC;AACtE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,iBAAiB,EACjE,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,GACrC,QAAQ,CAAC"}
@@ -0,0 +1,74 @@
1
+ import { type TabPressHandler } from '../events/tabPresses.js';
2
+ import { type ButtonPressedEvent, type NavigationEventName, type NavigationEvents, type ScreenDidAppearEvent, type ScreenDidDisappearEvent, type SearchCancelledEvent, type SearchChangedEvent, type SearchSubmittedEvent } from '../events/navigationEvents.js';
3
+ /** The events a screen hears about itself: those that carry the screen, and the move of the accessory it shows. */
4
+ export type ScreenEventName = {
5
+ [Name in NavigationEventName]: NavigationEvents[Name] extends {
6
+ screen: unknown;
7
+ } ? Name : never;
8
+ }[NavigationEventName] | 'accessoryPlacementChanged';
9
+ import { ScreenOptions } from '../options/ScreenOptions.js';
10
+ import { type NavigationState } from '../state/navigationState.js';
11
+ import { type ScreenInfo } from '../screens/registerScreens.js';
12
+ /**
13
+ * While `prevent` is true, keeps the user on this screen: the back button, the swipe back and the history menu (iOS),
14
+ * the system back (Android), the swipe down of the modal the screen is in and its close button call `onAttempt`
15
+ * instead, so the screen can ask. The commands of the app are not held: `goBack()` after the user agreed leaves.
16
+ * Leaving the app is not held either: on the first screen of the root the system back of Android leaves it, as the
17
+ * home gesture does on iOS; to ask before that, React Native's `BackHandler`.
18
+ */
19
+ export declare function usePreventLeave(prevent: boolean, onAttempt: () => void): void;
20
+ /** The screen the component is in. */
21
+ export declare function useScreen(): ScreenInfo;
22
+ /**
23
+ * An event of the screen the component is in, by its name in `listeners` and `navigation.on`: only this screen's. The
24
+ * handler can change on every render.
25
+ *
26
+ * @example
27
+ * useScreenEvent('sheetDetentChanged', ({ detent }) => {
28
+ * setExpanded(detent === 'large');
29
+ * });
30
+ */
31
+ export declare function useScreenEvent<Name extends ScreenEventName>(name: Name, handler: (event: NavigationEvents[Name]) => void): void;
32
+ /** Each time the screen appears. */
33
+ export declare function useScreenAppear(handler: (event: ScreenDidAppearEvent) => void): void;
34
+ /** Each time the screen disappears: something covers it, or it leaves. */
35
+ export declare function useScreenDisappear(handler: (event: ScreenDidDisappearEvent) => void): void;
36
+ /**
37
+ * Runs the effect each time the screen gets the focus, and its cleanup when it loses it or unmounts: a refresh, a
38
+ * subscription, a video that plays only while the screen shows. The screen has the focus while it shows and nothing
39
+ * covers it: a modal or a sheet over it takes the focus away, and its closing gives it back. A component mounted while
40
+ * its screen has the focus runs it at once; mounted under a sheet, once the sheet goes.
41
+ */
42
+ export declare function useFocusEffect(effect: () => void | (() => void)): void;
43
+ /**
44
+ * What the user sees: the screen and the selected tab. The component renders again when the selected part changes, so
45
+ * select only what it needs.
46
+ */
47
+ export declare function useNavigationState(): NavigationState;
48
+ export declare function useNavigationState<Selected>(select: (state: NavigationState) => Selected): Selected;
49
+ /** The screen the component is in is the one the user sees. */
50
+ export declare function useIsFocused(): boolean;
51
+ /** A press on a button of the screen's top bar or toolbar. */
52
+ export declare function useNavigationButton(buttonId: string, handler: (event: ButtonPressedEvent) => void): void;
53
+ /** The search bar of the screen. */
54
+ export declare function useSearchBar(handlers: {
55
+ onChange?: (event: SearchChangedEvent) => void;
56
+ onSubmit?: (event: SearchSubmittedEvent) => void;
57
+ onCancel?: (event: SearchCancelledEvent) => void;
58
+ /** (iOS 16+, Android) A suggestion of `searchBar.suggestions` is picked, by its `id`; the text stays. */
59
+ onSuggestion?: (suggestionId: string) => void;
60
+ }): void;
61
+ /**
62
+ * Options of the screen from its state, such as a title from loaded data or a button that turns on. They are built on
63
+ * each render and applied before the screen paints when they changed; buttons take `onPress`, and a new handler takes
64
+ * the press at once.
65
+ */
66
+ export declare function useScreenOptions(build: (options: ScreenOptions) => ScreenOptions): void;
67
+ /** Listens to an event of the whole navigation while the component is mounted. */
68
+ export declare function useNavigationEvent<Name extends NavigationEventName>(name: Name, handler: (event: NavigationEvents[Name]) => void): void;
69
+ /**
70
+ * Called when the tab of this screen is pressed while the tab shows it; `wasSelected` tells a second press, on which
71
+ * apps scroll to the top. The handler can change on every render.
72
+ */
73
+ export declare function useTabPress(handler: TabPressHandler): void;
74
+ //# sourceMappingURL=screenHooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenHooks.d.ts","sourceRoot":"","sources":["../../../../src/api/hooks/screenHooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type ArrangementState } from '../arrangement/arrangementState.js';
2
+ /**
3
+ * How this screen's pair (`arrangement` of a screen, or `defineArrangement`) shows now: which view the screen is, how the two lie, whether the
4
+ * screen is over the other one or out of the window. Null for a screen outside a pair. Changes as the window and the
5
+ * fold change, as the safe area does.
6
+ *
7
+ * @example
8
+ * // A list under a player: shorter while the player covers it.
9
+ * const pair = useArrangement();
10
+ * const collapsed = pair?.layout === 'overlay' && !pair.front;
11
+ */
12
+ export declare function useArrangement(): ArrangementState | null;
13
+ //# sourceMappingURL=useArrangement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useArrangement.d.ts","sourceRoot":"","sources":["../../../../src/api/hooks/useArrangement.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,oCAAiC,CAAC;AAGzC;;;;;;;;;GASG;AACH,wBAAgB,cAAc,IAAI,gBAAgB,GAAG,IAAI,CAOxD"}
@@ -0,0 +1,16 @@
1
+ import { type Hinge } from '../hinge/hinge.js';
2
+ /**
3
+ * The device's hinge: its state and angle. Null on a device without a hinge, and for the moment before the first value
4
+ * comes. The screen renders again on every change, often while the hinge moves: for an animation driven by the angle,
5
+ * `useHingeChange`. For the layout of a screen the fold calls for, `defineArrangement` and `useReservedRegions`.
6
+ */
7
+ export declare function useHinge(): Hinge | null;
8
+ /**
9
+ * Calls `listener` on every change of the hinge, without rendering again: for animations driven by the angle.
10
+ *
11
+ * @example
12
+ * const lid = useRef(new Animated.Value(180)).current;
13
+ * useHingeChange((hinge) => lid.setValue(hinge?.angle ?? 180));
14
+ */
15
+ export declare function useHingeChange(listener: (hinge: Hinge | null) => void): void;
16
+ //# sourceMappingURL=useHinge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHinge.d.ts","sourceRoot":"","sources":["../../../../src/api/hooks/useHinge.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,KAAK,EAAkB,MAAM,mBAAgB,CAAC;AAEtE;;;;GAIG;AACH,wBAAgB,QAAQ,IAAI,KAAK,GAAG,IAAI,CAEvC;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,CAM5E"}
@@ -0,0 +1,108 @@
1
+ import type { SplitColumn } from '../commands/commands.js';
2
+ import type { ColumnConfig, ModalConfig, OverlayConfig, PushConfig } from '../commands/presentation.js';
3
+ import type { StackEntry } from '../layout/Stack.js';
4
+ import { type AppNavigation, type CheckedEntries } from '../navigation.js';
5
+ import type { ScreenOptionsInput } from '../screens/defineScreen.js';
6
+ import { type ScreenInfo } from '../screens/registerScreens.js';
7
+ import type { ScreenName, ShowArgs } from '../types.js';
8
+ /** The commands that act from the screen, so they take no ids. */
9
+ interface ScreenCommands {
10
+ /** The screen the commands act from. */
11
+ readonly screen: ScreenInfo;
12
+ /** Shows a screen over this one in its stack; resolves with the id of the screen shown. */
13
+ push<Name extends ScreenName>(name: Name, ...args: ShowArgs<Name, PushConfig>): Promise<string>;
14
+ /**
15
+ * Goes back to the screen before this one in its stack. The first screen of a split view column shown over the list
16
+ * (a phone) goes back to the list.
17
+ */
18
+ pop(): Promise<string>;
19
+ /** Goes back to a screen of this stack, by its id. */
20
+ popTo(screenId: string): Promise<string>;
21
+ /** Goes back to the first screen of this stack. */
22
+ popToRoot(): Promise<string>;
23
+ /**
24
+ * Shows a screen in place of the whole history of this stack: it comes in as a push does and is alone in the stack,
25
+ * so there is no back. For a point the user shouldn't go back from, such as a payment once it is made. Resolves with
26
+ * the id of the screen shown.
27
+ */
28
+ replace<Name extends ScreenName>(name: Name, ...args: ShowArgs<Name, PushConfig>): Promise<string>;
29
+ /** Replaces the screens of this stack: the last one shows, back goes to the one before. */
30
+ setStack<const Entries extends readonly StackEntry[]>(...entries: CheckedEntries<Entries>): Promise<string>;
31
+ /**
32
+ * Shows a screen in a column of the split view this screen is in, in place of what the column shows: Details beside
33
+ * a list. The column comes into view: a sidebar over it goes away; collapsed into one stack (iPhone, a narrow
34
+ * window) the screen goes on top, and back comes here; on Android the secondary pane comes over the primary one.
35
+ * With a `compact` layout on screen and outside a split view the screen is pushed over this one.
36
+ *
37
+ * @example
38
+ * // Settings: sections in the sidebar, the picked one beside them.
39
+ * navigation.switchTo(
40
+ * SplitView({ primary: Screen('Settings'), secondary: Screen('Details') })
41
+ * );
42
+ *
43
+ * function Settings() {
44
+ * const navigation = useNavigation();
45
+ * const open = (section: string) =>
46
+ * navigation.showInColumn('Details', { props: { section } });
47
+ * return <Button title="Profile" onPress={() => open('profile')} />;
48
+ * }
49
+ */
50
+ showInColumn<Name extends ScreenName>(name: Name, ...args: ShowArgs<Name, ColumnConfig>): Promise<string>;
51
+ /** Shows a screen over everything, in a stack of its own unless `stack: false`. */
52
+ showModal<Name extends ScreenName>(name: Name, ...args: ShowArgs<Name, ModalConfig>): Promise<string>;
53
+ /** Closes the modal or the overlay this screen is in, with all its screens. */
54
+ dismiss(): Promise<string>;
55
+ /**
56
+ * There is a screen under this one in its stack, or this one is the first of a split view column shown over the list
57
+ * (a phone), so `pop()` has one to go back to. Answers at once.
58
+ */
59
+ canPop(): boolean;
60
+ /** This screen is in a modal or an overlay, so `dismiss()` has one to close. Answers at once. */
61
+ canDismiss(): boolean;
62
+ /**
63
+ * What the back button would do here: `pop()` when there is a screen under this one in its stack, `dismiss()` when it
64
+ * is the first screen of a modal. For a screen that opens both ways, pushed in one place and in a modal in another.
65
+ */
66
+ goBack(): Promise<string>;
67
+ /** `goBack()` has something to do: `canPop()` or `canDismiss()`. Answers at once. */
68
+ canGoBack(): boolean;
69
+ /** Shows a screen over everything, without taking the place of any. */
70
+ showOverlay<Name extends ScreenName>(name: Name, ...args: ShowArgs<Name, OverlayConfig>): Promise<string>;
71
+ /**
72
+ * Shows a column of the split view this screen is in, as the platform does for the split behavior: the sidebar
73
+ * (`'primary'`), the middle column (`'supplementary'`), the inspector. Resolves once the columns have moved. On
74
+ * Android the primary pane: beside the secondary one it comes back, under it the secondary pane goes away.
75
+ */
76
+ showColumn(column: SplitColumn): Promise<void>;
77
+ /** Hides a column of the split view this screen is in: `hideColumn('primary')` leaves the item alone. */
78
+ hideColumn(column: SplitColumn): Promise<void>;
79
+ /** Opens a menu of the side menu this screen is in; resolves once it is open and `getState()` shows its screen. */
80
+ openMenu(side: 'left' | 'right'): Promise<void>;
81
+ /**
82
+ * Closes the menu that is open in the side menu this screen is in; resolves once it is closed and `getState()` shows
83
+ * the center.
84
+ */
85
+ closeMenu(): Promise<void>;
86
+ /** Changes the options of this screen. */
87
+ setOptions(options: ScreenOptionsInput<object>): void;
88
+ /**
89
+ * Selects a tab of the tabs this screen is in: by its index, or by the id of the tab (`Tab().id()`). Resolves once the
90
+ * state shows it, as `navigation.selectTab` does.
91
+ */
92
+ selectTab(tab: number | string): Promise<void>;
93
+ /** The badge of this screen's tab, or of the tab with the id; `null` and the number `0` take it away. */
94
+ setTabBadge(badge: string | number | null, tab?: string): Promise<void>;
95
+ }
96
+ /**
97
+ * The navigation of a screen: its own commands act from it and take no ids, and the commands of the whole app are
98
+ * here too (`switchTo`, `dismissAllModals`, `getState`, `on`, the theme and the context), so a screen needs nothing
99
+ * else.
100
+ */
101
+ export interface ScreenNavigation extends Omit<AppNavigation, keyof ScreenCommands>, ScreenCommands {
102
+ }
103
+ /** The navigation of the screen the component is in. */
104
+ export declare function useNavigation(): ScreenNavigation;
105
+ /** The navigation of a screen, for code outside React that knows the screen. */
106
+ export declare function screenNavigation(screen: ScreenInfo): ScreenNavigation;
107
+ export {};
108
+ //# sourceMappingURL=useNavigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNavigation.d.ts","sourceRoot":"","sources":["../../../../src/api/hooks/useNavigation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAsB,CAAC;AAExD,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACX,MAAM,6BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAiB,CAAC;AAClD,OAAO,EAAE,KAAK,aAAa,EAAc,KAAK,cAAc,EAAE,MAAM,kBAAe,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAAyB,CAAC;AAClE,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,+BAA4B,CAAC;AAI5E,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAU,CAAC;AAErD,kEAAkE;AAClE,UAAU,cAAc;IACtB,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,2FAA2F;IAC3F,IAAI,CAAC,IAAI,SAAS,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChG;;;OAGG;IACH,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACvB,sDAAsD;IACtD,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,mDAAmD;IACnD,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,IAAI,SAAS,UAAU,EAC7B,IAAI,EAAE,IAAI,EACV,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,GAClC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,2FAA2F;IAC3F,QAAQ,CAAC,KAAK,CAAC,OAAO,SAAS,SAAS,UAAU,EAAE,EAClD,GAAG,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,GAClC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB;;;;;;;;;;;;;;;;;;OAkBG;IACH,YAAY,CAAC,IAAI,SAAS,UAAU,EAClC,IAAI,EAAE,IAAI,EACV,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,mFAAmF;IACnF,SAAS,CAAC,IAAI,SAAS,UAAU,EAC/B,IAAI,EAAE,IAAI,EACV,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,GACnC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,+EAA+E;IAC/E,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC;IAClB,iGAAiG;IACjG,UAAU,IAAI,OAAO,CAAC;IACtB;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,qFAAqF;IACrF,SAAS,IAAI,OAAO,CAAC;IACrB,uEAAuE;IACvE,WAAW,CAAC,IAAI,SAAS,UAAU,EACjC,IAAI,EAAE,IAAI,EACV,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,GACrC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,yGAAyG;IACzG,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,mHAAmH;IACnH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD;;;OAGG;IACH,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,0CAA0C;IAC1C,UAAU,CAAC,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACtD;;;OAGG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,yGAAyG;IACzG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAED;;;;GAIG;AACH,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,aAAa,EAAE,MAAM,cAAc,CAAC,EAAE,cAAc;CAAG;AAEtE,wDAAwD;AACxD,wBAAgB,aAAa,IAAI,gBAAgB,CAQhD;AAqED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,gBAAgB,CAqDrE"}
@@ -0,0 +1,7 @@
1
+ import type { PendingLink } from '../linking/types.js';
2
+ /**
3
+ * The link that waits for `when` of `linking`, or null: the component renders again when one starts waiting and when
4
+ * it runs or is forgotten. For a screen that offers it after a sign-in.
5
+ */
6
+ export declare function usePendingLink(): PendingLink | null;
7
+ //# sourceMappingURL=usePendingLink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePendingLink.d.ts","sourceRoot":"","sources":["../../../../src/api/hooks/usePendingLink.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAkB,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CAEnD"}
@@ -0,0 +1,29 @@
1
+ import type { ScreenName, ScreenProps } from '../types.js';
2
+ /** An item of the menu under a preview; with `actions`, a submenu. */
3
+ export interface PreviewAction {
4
+ id: string;
5
+ title: string;
6
+ style?: 'default' | 'selected' | 'destructive';
7
+ onPress?: () => void;
8
+ actions?: PreviewAction[];
9
+ }
10
+ /** What a view previews: the screen with its props, and the menu under it. */
11
+ export type PreviewConfig<Name extends ScreenName> = {
12
+ screen: Name;
13
+ actions?: PreviewAction[];
14
+ /** The width of the preview; the width of the screen without it. */
15
+ width?: number;
16
+ /** The height of the preview; the height of the screen without it. */
17
+ height?: number;
18
+ } & (Partial<ScreenProps<Name>> extends ScreenProps<Name> ? {
19
+ props?: ScreenProps<Name>;
20
+ } : {
21
+ props: ScreenProps<Name>;
22
+ });
23
+ /**
24
+ * (iOS) A long press on the view with `nativeID` in this screen (a right click with a pointer on iPad) shows `screen`
25
+ * small, with `actions` as a menu under it; a tap on the preview pushes the screen. UIKit's context menu. The preview
26
+ * goes when the component unmounts. Elsewhere the view has no preview.
27
+ */
28
+ export declare function usePreview<Name extends ScreenName>(nativeID: string, config: PreviewConfig<Name>): void;
29
+ //# sourceMappingURL=usePreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePreview.d.ts","sourceRoot":"","sources":["../../../../src/api/hooks/usePreview.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAU,CAAC;AAGxD,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,8EAA8E;AAC9E,MAAM,MAAM,aAAa,CAAC,IAAI,SAAS,UAAU,IAAI;IACnD,MAAM,EAAE,IAAI,CAAC;IACb,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,WAAW,CAAC,IAAI,CAAC,GACrD;IAAE,KAAK,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;CAAE,GAC7B;IAAE,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAAC;AAElC;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,SAAS,UAAU,EAChD,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,GAC1B,IAAI,CAqDN"}
@@ -0,0 +1,13 @@
1
+ import { type ReservedRegions } from '../safeArea/screenRegions.js';
2
+ /**
3
+ * The parts of this screen the hardware takes, in the screen's coordinates: `division`, the fold of a partly folded
4
+ * device, and `occlusion`, a camera or a hinge over the screen. Only what is active now: the fold of a device opened
5
+ * flat is not there. Empty where the platform has none (before iOS 27.1, a device without a fold). Changes as the
6
+ * device folds, as the safe area does.
7
+ *
8
+ * @example
9
+ * const { division } = useReservedRegions();
10
+ * const fold = division[0]; // keep the buttons on one side of it
11
+ */
12
+ export declare function useReservedRegions(): ReservedRegions;
13
+ //# sourceMappingURL=useReservedRegions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReservedRegions.d.ts","sourceRoot":"","sources":["../../../../src/api/hooks/useReservedRegions.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,8BAA2B,CAAC;AAGnC;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAOpD"}
@@ -0,0 +1,14 @@
1
+ import { type EdgeInsets } from '../safeArea/screenInsets.js';
2
+ /**
3
+ * How much of this screen's content the bars and the system still cover on each side, past what the screen keeps its
4
+ * content off itself (`layout.safeAreaEdges`): 0 on an edge the screen pads, the whole inset on an edge its content goes
5
+ * under — under a top bar, under the vertical bar at the side of iPhone Duo, every edge with `safeAreaEdges: []`. A list
6
+ * adds exactly this to its own padding. The native side measures every screen on its own, also the screens of
7
+ * `appProvider`.
8
+ *
9
+ * @example
10
+ * const insets = useSafeAreaInsets();
11
+ * <ScrollView contentContainerStyle={{ paddingLeft: 16 + insets.left, paddingRight: 16 + insets.right }} />
12
+ */
13
+ export declare function useSafeAreaInsets(): EdgeInsets;
14
+ //# sourceMappingURL=useSafeAreaInsets.d.ts.map