@apexnative/navigation 1.0.0-alpha.0 → 1.0.0-alpha.10

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 (574) hide show
  1. package/ApexNavigation.podspec +2 -1
  2. package/CHANGELOG.md +128 -0
  3. package/README.md +147 -51
  4. package/android/CLAUDE.md +78 -25
  5. package/android/CORE.md +49 -25
  6. package/android/RECIPES.md +13 -6
  7. package/android/consumer-rules.pro +6 -0
  8. package/android/src/main/java/dev/apexnative/navigation/NavigationActivity.kt +85 -10
  9. package/android/src/main/java/dev/apexnative/navigation/NavigationApplication.kt +34 -13
  10. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutChecks.kt +5 -1
  11. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutNode.kt +6 -2
  12. package/android/src/main/java/dev/apexnative/navigation/nativescreen/NativeScreenContext.kt +2 -2
  13. package/android/src/main/java/dev/apexnative/navigation/options/AnimationsOptions.kt +2 -2
  14. package/android/src/main/java/dev/apexnative/navigation/options/BottomTabOptions.kt +1 -1
  15. package/android/src/main/java/dev/apexnative/navigation/options/BottomTabsOptions.kt +13 -8
  16. package/android/src/main/java/dev/apexnative/navigation/options/ButtonMenuOptions.kt +2 -2
  17. package/android/src/main/java/dev/apexnative/navigation/options/ButtonOptions.kt +3 -3
  18. package/android/src/main/java/dev/apexnative/navigation/options/HardwareBackButtonOptions.kt +9 -1
  19. package/android/src/main/java/dev/apexnative/navigation/options/LargeTitleOptions.kt +1 -1
  20. package/android/src/main/java/dev/apexnative/navigation/options/LayoutAnimation.kt +1 -1
  21. package/android/src/main/java/dev/apexnative/navigation/options/OptionKey.kt +18 -0
  22. package/android/src/main/java/dev/apexnative/navigation/options/OptionPaths.kt +91 -0
  23. package/android/src/main/java/dev/apexnative/navigation/options/OptionsCache.kt +8 -4
  24. package/android/src/main/java/dev/apexnative/navigation/options/SheetOptions.kt +7 -4
  25. package/android/src/main/java/dev/apexnative/navigation/options/SideMenuOptions.kt +6 -1
  26. package/android/src/main/java/dev/apexnative/navigation/options/StackAnimationOptions.kt +40 -2
  27. package/android/src/main/java/dev/apexnative/navigation/options/StatusBarOptions.kt +7 -3
  28. package/android/src/main/java/dev/apexnative/navigation/options/TitleOptions.kt +2 -2
  29. package/android/src/main/java/dev/apexnative/navigation/options/TopBarAppearanceOptions.kt +1 -1
  30. package/android/src/main/java/dev/apexnative/navigation/options/TopBarOptions.kt +16 -7
  31. package/android/src/main/java/dev/apexnative/navigation/options/UserChoices.kt +159 -0
  32. package/android/src/main/java/dev/apexnative/navigation/react/CommandAnswer.kt +29 -36
  33. package/android/src/main/java/dev/apexnative/navigation/react/CommandContract.kt +59 -0
  34. package/android/src/main/java/dev/apexnative/navigation/react/ContentHeights.kt +95 -0
  35. package/android/src/main/java/dev/apexnative/navigation/react/ContentMounts.kt +66 -0
  36. package/android/src/main/java/dev/apexnative/navigation/react/ErrorTexts.kt +75 -60
  37. package/android/src/main/java/dev/apexnative/navigation/react/Hinge.kt +35 -23
  38. package/android/src/main/java/dev/apexnative/navigation/react/NavigationTurboModule.kt +12 -7
  39. package/android/src/main/java/dev/apexnative/navigation/react/OptionsCommands.kt +42 -4
  40. package/android/src/main/java/dev/apexnative/navigation/react/PendingCalls.kt +48 -0
  41. package/android/src/main/java/dev/apexnative/navigation/react/ReactView.kt +54 -20
  42. package/android/src/main/java/dev/apexnative/navigation/react/ReloadCoordinator.kt +7 -6
  43. package/android/src/main/java/dev/apexnative/navigation/react/ScreenEnvironment.kt +177 -0
  44. package/android/src/main/java/dev/apexnative/navigation/react/ScreenRegions.kt +19 -50
  45. package/android/src/main/java/dev/apexnative/navigation/react/ScrollEvents.kt +49 -128
  46. package/android/src/main/java/dev/apexnative/navigation/react/events/AppearanceDispatcher.kt +50 -81
  47. package/android/src/main/java/dev/apexnative/navigation/react/events/EventContract.kt +226 -0
  48. package/android/src/main/java/dev/apexnative/navigation/react/events/EventEmitter.kt +135 -94
  49. package/android/src/main/java/dev/apexnative/navigation/react/events/NavigationState.kt +154 -0
  50. package/android/src/main/java/dev/apexnative/navigation/react/events/ScreenAppearance.kt +0 -6
  51. package/android/src/main/java/dev/apexnative/navigation/safearea/SafeAreaView.kt +12 -10
  52. package/android/src/main/java/dev/apexnative/navigation/slots/SlotContainers.kt +10 -7
  53. package/android/src/main/java/dev/apexnative/navigation/slots/SlotScreenView.kt +39 -19
  54. package/android/src/main/java/dev/apexnative/navigation/slots/SlotView.kt +16 -4
  55. package/android/src/main/java/dev/apexnative/navigation/slots/SlotViews.kt +40 -0
  56. package/android/src/main/java/dev/apexnative/navigation/utils/ImageKey.kt +66 -0
  57. package/android/src/main/java/dev/apexnative/navigation/utils/ImageLoader.kt +7 -89
  58. package/android/src/main/java/dev/apexnative/navigation/utils/ImageRequests.kt +76 -0
  59. package/android/src/main/java/dev/apexnative/navigation/utils/MaterialTheme.kt +5 -6
  60. package/android/src/main/java/dev/apexnative/navigation/utils/OptionImages.kt +262 -0
  61. package/android/src/main/java/dev/apexnative/navigation/utils/SystemAnimations.kt +36 -0
  62. package/android/src/main/java/dev/apexnative/navigation/utils/UiUtils.kt +3 -3
  63. package/android/src/main/java/dev/apexnative/navigation/utils/ViewController.kt +3 -1
  64. package/android/src/main/java/dev/apexnative/navigation/utils/ViewExtensions.kt +0 -13
  65. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementController.kt +10 -7
  66. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/SecondaryScreenPresenter.kt +13 -5
  67. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/AppliedTabCalls.kt +49 -0
  68. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsCollapseBehavior.kt +5 -3
  69. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsController.kt +108 -34
  70. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsPresenter.kt +25 -24
  71. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/CustomTabRowGeometry.kt +22 -0
  72. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabItems.kt +3 -3
  73. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabsRoom.kt +0 -5
  74. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ComponentPresenter.kt +28 -7
  75. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ComponentViewController.kt +12 -9
  76. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ContentReadiness.kt +2 -2
  77. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/RenderWait.kt +27 -7
  78. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenFrame.kt +1 -1
  79. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenReadiness.kt +103 -56
  80. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenSafeArea.kt +29 -11
  81. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/externalcomponent/ExternalComponentViewController.kt +2 -6
  82. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalAnimations.kt +22 -24
  83. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalCoordinator.kt +109 -21
  84. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalRecord.kt +21 -6
  85. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalSheet.kt +476 -73
  86. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalViews.kt +57 -25
  87. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/SheetBack.kt +42 -0
  88. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/SheetStops.kt +83 -0
  89. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/BackCallbackCheck.kt +50 -0
  90. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/BackCallbackState.kt +49 -14
  91. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/Navigator.kt +71 -12
  92. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/RootCoordinator.kt +37 -11
  93. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/overlay/OverlayCoordinator.kt +10 -8
  94. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/Capabilities.kt +11 -4
  95. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/ContainerBackground.kt +3 -3
  96. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/ParentController.kt +6 -6
  97. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuController.kt +42 -9
  98. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuMotion.kt +19 -8
  99. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuPresenter.kt +16 -7
  100. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuRules.kt +43 -4
  101. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitPanes.kt +23 -0
  102. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitViewController.kt +77 -17
  103. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/BackPreview.kt +315 -0
  104. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/PreparedFrame.kt +3 -3
  105. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackCommands.kt +30 -20
  106. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackController.kt +216 -18
  107. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackDisplay.kt +26 -1
  108. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackQueue.kt +149 -41
  109. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackTransitions.kt +26 -8
  110. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackViews.kt +115 -6
  111. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/fab/FabMotion.kt +142 -0
  112. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/fab/FabPresenter.kt +222 -48
  113. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/search/ScreenSearch.kt +3 -5
  114. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/search/StackSearchPresenter.kt +30 -34
  115. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/BarComponents.kt +5 -51
  116. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/BarRowTransition.kt +3 -2
  117. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/ButtonPlaces.kt +11 -5
  118. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/MenuChecks.kt +13 -56
  119. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarPresenter.kt +219 -54
  120. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarVisibility.kt +9 -2
  121. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/ScrollEventListener.kt +6 -9
  122. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/ViewController.kt +75 -21
  123. package/android/src/main/java/dev/apexnative/navigation/views/animations/AnimationLayer.kt +73 -0
  124. package/android/src/main/java/dev/apexnative/navigation/views/animations/Curves.kt +29 -11
  125. package/android/src/main/java/dev/apexnative/navigation/views/animations/ValueInterpolation.kt +14 -0
  126. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabs.kt +9 -7
  127. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabsLayout.kt +61 -2
  128. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/CustomBottomTabItemView.kt +0 -5
  129. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/CustomTabRow.kt +72 -10
  130. package/android/src/main/java/dev/apexnative/navigation/views/element/ElementStep.kt +31 -0
  131. package/android/src/main/java/dev/apexnative/navigation/views/element/ElementTransitions.kt +143 -135
  132. package/android/src/main/java/dev/apexnative/navigation/views/element/TargetsWait.kt +13 -5
  133. package/android/src/main/java/dev/apexnative/navigation/views/element/TransitionLayer.kt +37 -112
  134. package/android/src/main/java/dev/apexnative/navigation/views/element/TransitionTargets.kt +9 -6
  135. package/android/src/main/java/dev/apexnative/navigation/views/element/TransitionViews.kt +100 -0
  136. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ElementPictures.kt +112 -4
  137. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/FlightGeometry.kt +346 -36
  138. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ImageMorph.kt +199 -0
  139. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/SharedAnimatorFactory.kt +56 -41
  140. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/TextMorph.kt +176 -0
  141. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ViewMorph.kt +108 -0
  142. package/android/src/main/java/dev/apexnative/navigation/views/sidemenu/SideMenuView.kt +12 -3
  143. package/android/src/main/java/dev/apexnative/navigation/views/stack/ScreenEdge.kt +45 -0
  144. package/android/src/main/java/dev/apexnative/navigation/views/stack/StackLayout.kt +140 -1
  145. package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/Fab.kt +14 -10
  146. package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/FabCopy.kt +85 -0
  147. package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/FabMenu.kt +13 -0
  148. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/TitleBar.kt +5 -17
  149. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/TopBar.kt +73 -34
  150. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/BarButtonComponentCell.kt +6 -6
  151. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/BarButtonView.kt +113 -0
  152. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/BarMenu.kt +219 -0
  153. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/ButtonBar.kt +125 -178
  154. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/ButtonMenus.kt +34 -64
  155. package/android/src/main/java/dev/apexnative/navigation/views/stack/topbar/titlebar/ButtonRow.kt +216 -0
  156. package/android/src/main/jni/ANNContentHeights.cpp +82 -0
  157. package/android/src/main/res/drawable/apex_navigation_ic_arrow_right.xml +14 -0
  158. package/android/src/main/res/layout/apex_navigation_menu_header.xml +19 -0
  159. package/android/src/main/res/layout/apex_navigation_menu_item.xml +68 -0
  160. package/android/src/main/res/values/styles.xml +1 -1
  161. package/android/src/main/res/values-night/styles.xml +1 -1
  162. package/cli/app.js +1 -1
  163. package/cli/doctor/checks/app.js +77 -14
  164. package/cli/doctor/checks/splash.js +4 -22
  165. package/cli/migrate/native.js +18 -0
  166. package/cli/project.js +10 -2
  167. package/cli/setup/index.js +18 -0
  168. package/cli/setup/source.js +2 -1
  169. package/cli/setup/steps/appDelegate.js +66 -11
  170. package/cli/setup/steps/mainApplication.js +134 -19
  171. package/cli/setup/steps/metro.js +46 -0
  172. package/cli/setup/steps/sceneDelegate.js +108 -0
  173. package/cli/splash/index.js +3 -1
  174. package/cli/upgrade/changelog.js +2 -2
  175. package/docs-md/architecture/native-screens.md +4 -0
  176. package/docs-md/architecture/theme-and-context.md +131 -12
  177. package/docs-md/architecture/transitions.md +58 -12
  178. package/docs-md/containers/modals.md +8 -4
  179. package/docs-md/containers/overlays.md +3 -1
  180. package/docs-md/containers/side-menu.md +19 -2
  181. package/docs-md/containers/tabs.md +5 -1
  182. package/docs-md/flows/bottom-sheets.md +4 -2
  183. package/docs-md/flows/forms-in-a-modal.md +1 -1
  184. package/docs-md/fundamentals/screens-and-props.md +9 -1
  185. package/docs-md/fundamentals/starting-the-app.md +1 -1
  186. package/docs-md/guides/cli.md +4 -3
  187. package/docs-md/guides/deep-links.md +15 -33
  188. package/docs-md/help/glossary.md +4 -4
  189. package/docs-md/help/troubleshooting.md +44 -6
  190. package/docs-md/index.json +57 -1
  191. package/docs-md/migration/from-expo-router.md +1 -1
  192. package/docs-md/migration/from-react-native-navigation.md +9 -3
  193. package/docs-md/migration/from-react-navigation.md +2 -2
  194. package/docs-md/screen-ui/back-and-gestures.md +46 -2
  195. package/docs-md/screen-ui/bar-buttons.md +5 -5
  196. package/docs-md/screen-ui/search.md +1 -1
  197. package/docs-md/screen-ui/system-ui.md +17 -12
  198. package/docs-md/screen-ui/toolbar-and-fab.md +4 -2
  199. package/docs-md/screen-ui/top-bar.md +8 -4
  200. package/docs-md/start/installation.md +21 -3
  201. package/ios/Animations/ANNFrameDriver.h +55 -15
  202. package/ios/Animations/ANNFrameDriver.mm +216 -60
  203. package/ios/Animations/ANNTransitionAnimator.h +26 -5
  204. package/ios/Animations/ANNTransitionAnimator.mm +61 -13
  205. package/ios/Animations/ANNTransitionPlan.h +2 -2
  206. package/ios/Animations/ANNTransitionPlan.mm +10 -0
  207. package/ios/Animations/ANNTransitionWait.mm +6 -7
  208. package/ios/Animations/Elements/ANNElementFinder.h +57 -0
  209. package/ios/Animations/Elements/ANNElementFinder.mm +174 -2
  210. package/ios/Animations/Elements/ANNElementTransition.h +10 -8
  211. package/ios/Animations/Elements/ANNElementTransition.mm +19 -21
  212. package/ios/Animations/Elements/ANNSharedElementFlight.h +16 -11
  213. package/ios/Animations/Elements/ANNSharedElementFlight.mm +308 -69
  214. package/ios/Animations/Interpolators/ANNInterpolate.h +2 -30
  215. package/ios/Animations/Interpolators/ANNTransformParts.h +48 -0
  216. package/ios/Animations/Interpolators/ANNTransformParts.mm +507 -0
  217. package/ios/Animations/Interpolators/ANNViewTracks.h +9 -6
  218. package/ios/Animations/Interpolators/ANNViewTracks.mm +100 -30
  219. package/ios/CLAUDE.md +60 -24
  220. package/ios/CORE.md +44 -34
  221. package/ios/Contract/ANNCommandAnswer.h +13 -5
  222. package/ios/Contract/ANNCommandAnswer.mm +40 -32
  223. package/ios/Contract/ANNCommandContract.h +15 -0
  224. package/ios/Contract/ANNCommandContract.mm +78 -0
  225. package/ios/Contract/ANNCommandRunner.h +10 -9
  226. package/ios/Contract/ANNCommandRunner.mm +22 -28
  227. package/ios/Contract/ANNErrorTexts.h +6 -2
  228. package/ios/Contract/ANNErrorTexts.mm +18 -10
  229. package/ios/Contract/ANNLayoutNode.h +3 -3
  230. package/ios/Contract/ANNLayoutReader.h +3 -3
  231. package/ios/Core/ANNAppDelegate.mm +0 -2
  232. package/ios/Core/ANNAppearanceDispatcher.h +5 -4
  233. package/ios/Core/ANNAppearanceDispatcher.mm +12 -1
  234. package/ios/Core/ANNDeepLinkQueue.h +22 -2
  235. package/ios/Core/ANNDeepLinkQueue.mm +121 -14
  236. package/ios/Core/ANNErrorHandler.h +9 -4
  237. package/ios/Core/ANNErrorHandler.mm +20 -2
  238. package/ios/Core/ANNEventContract.h +246 -0
  239. package/ios/Core/ANNEventContract.mm +225 -0
  240. package/ios/Core/ANNEventEmitter.h +6 -2
  241. package/ios/Core/ANNEventEmitter.mm +117 -80
  242. package/ios/Core/ANNHinge.h +6 -0
  243. package/ios/Core/ANNHinge.mm +15 -4
  244. package/ios/Core/ANNJavaScriptCalls.h +33 -0
  245. package/ios/Core/ANNJavaScriptCalls.mm +52 -0
  246. package/ios/Core/ANNLayoutProtocol.h +5 -5
  247. package/ios/Core/ANNNavigationState.h +7 -5
  248. package/ios/Core/ANNNavigationState.mm +8 -7
  249. package/ios/Core/ANNNodeHelper.h +32 -12
  250. package/ios/Core/ANNNodeHelper.mm +100 -3
  251. package/ios/Core/ANNParking.h +5 -4
  252. package/ios/Core/ANNReloadCoordinator.mm +5 -12
  253. package/ios/Core/ANNRenderWait.h +20 -6
  254. package/ios/Core/ANNRenderWait.mm +143 -56
  255. package/ios/Core/ANNSceneDelegate.mm +25 -15
  256. package/ios/Core/ANNSystemUI.h +3 -2
  257. package/ios/Core/ANNSystemUI.mm +7 -0
  258. package/ios/Core/ANNUtils.h +7 -0
  259. package/ios/Core/ANNUtils.mm +10 -0
  260. package/ios/Core/ApexNavigation+Internal.h +1 -1
  261. package/ios/Core/ApexNavigation.mm +7 -6
  262. package/ios/Core/UIViewController+LayoutProtocol.h +9 -2
  263. package/ios/Core/UIViewController+LayoutProtocol.mm +8 -0
  264. package/ios/Layouts/Arrangement/ANNArrangementState.h +2 -17
  265. package/ios/Layouts/Arrangement/ANNArrangementState.mm +0 -38
  266. package/ios/Layouts/Arrangement/ANNArrangementViewController.mm +10 -8
  267. package/ios/Layouts/Modal/ANNModalCoordinator.h +1 -1
  268. package/ios/Layouts/Modal/ANNModalCoordinator.mm +57 -16
  269. package/ios/Layouts/Modal/ANNModalPresentation.h +8 -5
  270. package/ios/Layouts/Modal/ANNModalPresentation.mm +12 -12
  271. package/ios/Layouts/Modal/ANNSheetPresenter.mm +83 -1
  272. package/ios/Layouts/Overlay/ANNOverlayCoordinator.mm +2 -8
  273. package/ios/Layouts/Root/ANNRootCoordinator.mm +58 -19
  274. package/ios/Layouts/Root/ANNSplashViewController.h +5 -3
  275. package/ios/Layouts/Root/ANNSplashViewController.mm +147 -0
  276. package/ios/Layouts/Screen/ANNComponentPresenter.h +11 -3
  277. package/ios/Layouts/Screen/ANNComponentPresenter.mm +34 -6
  278. package/ios/Layouts/Screen/ANNComponentViewController.h +15 -13
  279. package/ios/Layouts/Screen/ANNComponentViewController.mm +130 -75
  280. package/ios/Layouts/Screen/ANNNativeScreenContext.mm +7 -5
  281. package/ios/Layouts/Screen/ANNPreviewInteraction.h +7 -4
  282. package/ios/Layouts/Screen/ANNPreviewInteraction.mm +72 -10
  283. package/ios/Layouts/Screen/ANNScreenEnvironment.h +63 -0
  284. package/ios/Layouts/Screen/ANNScreenEnvironment.mm +181 -0
  285. package/ios/Layouts/Screen/ANNScreenPlace.h +53 -0
  286. package/ios/Layouts/Screen/ANNScreenPlace.mm +205 -0
  287. package/ios/Layouts/Screen/ANNScreenRegions.h +3 -18
  288. package/ios/Layouts/Screen/ANNScreenRegions.mm +9 -44
  289. package/ios/Layouts/Screen/ANNScreenSafeArea.h +4 -9
  290. package/ios/Layouts/Screen/ANNScreenSafeArea.mm +14 -16
  291. package/ios/Layouts/Screen/ANNScreenSettling.h +32 -0
  292. package/ios/Layouts/Screen/ANNScreenSettling.mm +137 -0
  293. package/ios/Layouts/SideMenu/ANNSideMenuTypes.h +8 -0
  294. package/ios/Layouts/SideMenu/ANNSideMenuViewController.mm +83 -14
  295. package/ios/Layouts/SplitView/ANNSplitViewCommands.h +3 -2
  296. package/ios/Layouts/SplitView/ANNSplitViewCommands.mm +105 -39
  297. package/ios/Layouts/SplitView/ANNSplitViewController.mm +7 -8
  298. package/ios/Layouts/Stack/ANNPreviewPush.h +7 -6
  299. package/ios/Layouts/Stack/ANNPreviewPush.mm +142 -27
  300. package/ios/Layouts/Stack/ANNStackAnimatingDelegate.h +11 -2
  301. package/ios/Layouts/Stack/ANNStackAnimatingDelegate.mm +14 -7
  302. package/ios/Layouts/Stack/ANNStackCommands.mm +1 -0
  303. package/ios/Layouts/Stack/ANNStackController.h +8 -0
  304. package/ios/Layouts/Stack/ANNStackController.mm +184 -16
  305. package/ios/Layouts/Stack/ANNStackQueue.h +5 -2
  306. package/ios/Layouts/Stack/ANNStackQueue.mm +56 -43
  307. package/ios/Layouts/Stack/ANNSwipePopInteraction.h +26 -0
  308. package/ios/Layouts/Stack/ANNSwipePopInteraction.mm +185 -0
  309. package/ios/Layouts/Stack/InteractivePopGestureDelegate.mm +28 -4
  310. package/ios/Layouts/Stack/UINavigationController+ANNCommands.h +4 -2
  311. package/ios/Layouts/Stack/UINavigationController+ANNCommands.mm +2 -3
  312. package/ios/Layouts/Tabs/ANNBottomTabItemBuilder.h +4 -0
  313. package/ios/Layouts/Tabs/ANNBottomTabItemBuilder.mm +11 -0
  314. package/ios/Layouts/Tabs/ANNBottomTabsAccessoryView.h +12 -1
  315. package/ios/Layouts/Tabs/ANNBottomTabsAccessoryView.mm +23 -0
  316. package/ios/Layouts/Tabs/ANNBottomTabsController.h +3 -0
  317. package/ios/Layouts/Tabs/ANNBottomTabsController.mm +237 -57
  318. package/ios/Layouts/Tabs/ANNBottomTabsCustomRow.mm +8 -3
  319. package/ios/Layouts/Tabs/ANNBottomTabsPresenter.h +6 -2
  320. package/ios/Layouts/Tabs/ANNBottomTabsPresenter.mm +232 -43
  321. package/ios/Layouts/Tabs/ANNTabsDesign.h +6 -5
  322. package/ios/Layouts/Tabs/ANNTabsDesign.mm +9 -1
  323. package/ios/Layouts/Tabs/UITabBar+utils.h +5 -5
  324. package/ios/Layouts/Tabs/UITabBar+utils.mm +32 -13
  325. package/ios/Options/ANNAnimationOptions.h +2 -1
  326. package/ios/Options/ANNAnimationOptions.mm +1 -1
  327. package/ios/Options/ANNBottomTabsOptions.h +2 -0
  328. package/ios/Options/ANNBottomTabsOptions.mm +1 -0
  329. package/ios/Options/ANNOptions.h +25 -0
  330. package/ios/Options/ANNOptions.mm +157 -1
  331. package/ios/Options/ANNOptionsCache.h +7 -6
  332. package/ios/Options/ANNOptionsReader.mm +108 -0
  333. package/ios/Options/ANNSearchBarOptions.h +4 -3
  334. package/ios/Options/ANNSheetOptions.h +4 -1
  335. package/ios/Options/ANNSideMenuOptions.h +2 -0
  336. package/ios/Options/ANNSideMenuOptions.mm +2 -0
  337. package/ios/Options/ANNStackPopAnimationOptions.h +13 -0
  338. package/ios/Options/ANNStackPopAnimationOptions.mm +11 -0
  339. package/ios/Options/ANNUserChoice.h +57 -0
  340. package/ios/Options/ANNUserChoice.mm +44 -0
  341. package/ios/Options/Params/ANNImageSource.h +61 -0
  342. package/ios/Options/Params/ANNImageSource.mm +101 -0
  343. package/ios/Options/Params/ANNOptionImages.h +37 -0
  344. package/ios/Options/Params/ANNOptionImages.mm +284 -0
  345. package/ios/Options/Params/ANNParam.h +15 -0
  346. package/ios/Options/Params/ANNParam.mm +61 -0
  347. package/ios/Options/Params/Color.h +3 -0
  348. package/ios/Options/Params/Color.mm +21 -0
  349. package/ios/Options/Params/ColorParser.h +4 -3
  350. package/ios/Options/Params/ColorParser.mm +22 -4
  351. package/ios/Options/Params/Image.h +15 -2
  352. package/ios/Options/Params/Image.mm +35 -2
  353. package/ios/Options/Params/ImageParser.h +5 -5
  354. package/ios/Options/Params/ImageParser.mm +28 -46
  355. package/ios/Public/ApexNavigation/ANNSceneDelegate.h +3 -0
  356. package/ios/Public/ApexNavigation/ApexNavigation.h +1 -1
  357. package/ios/RECIPES.md +13 -6
  358. package/ios/React/ANNReactView.mm +6 -25
  359. package/ios/React/ANNSafeAreaViewComponentView.mm +28 -17
  360. package/ios/React/ANNSurfaceHostingView.h +14 -0
  361. package/ios/React/ANNSurfaceHostingView.mm +144 -1
  362. package/ios/React/Slots/ANNSlotComponentView.mm +24 -17
  363. package/ios/React/Slots/ANNSlotContainers.h +14 -6
  364. package/ios/React/Slots/ANNSlotContainers.mm +75 -2
  365. package/ios/React/Slots/ANNSlotHost.mm +1 -3
  366. package/ios/React/Slots/ANNSlotScreenView.mm +8 -2
  367. package/ios/TopBar/ANNBackButtonPresenter.mm +6 -5
  368. package/ios/TopBar/ANNBarAppearance.h +2 -1
  369. package/ios/TopBar/ANNBarAppearance.mm +111 -30
  370. package/ios/TopBar/ANNBarBackgroundComponent.mm +16 -0
  371. package/ios/TopBar/ANNBarButtonComponentView.h +4 -4
  372. package/ios/TopBar/ANNBarButtonComponentView.mm +1 -1
  373. package/ios/TopBar/ANNBarButtons.h +14 -8
  374. package/ios/TopBar/ANNBarButtons.mm +397 -80
  375. package/ios/TopBar/ANNIconButtonImage.h +1 -0
  376. package/ios/TopBar/ANNIconButtonImage.mm +34 -1
  377. package/ios/TopBar/ANNLargeTitlePresenter.h +13 -0
  378. package/ios/TopBar/ANNLargeTitlePresenter.mm +50 -7
  379. package/ios/TopBar/ANNMainList.h +3 -0
  380. package/ios/TopBar/ANNMainList.mm +4 -0
  381. package/ios/TopBar/ANNScrollEdgeEffects.h +22 -6
  382. package/ios/TopBar/ANNScrollEdgeEffects.mm +123 -16
  383. package/ios/TopBar/ANNSearchPresenter.mm +172 -21
  384. package/ios/TopBar/ANNSearchResultsViewController.mm +29 -6
  385. package/ios/TopBar/ANNTopBarPresenter.h +8 -2
  386. package/ios/TopBar/ANNTopBarPresenter.mm +155 -33
  387. package/ios/TurboModules/ANNTurboEventEmitter.mm +4 -35
  388. package/ios/TurboModules/ANNTurboModule.mm +104 -33
  389. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSlotState.cpp +20 -0
  390. package/ios/cpp/react/renderer/components/ApexNavigationSpec/ANNSlotState.h +5 -14
  391. package/lib/module/ARCHITECTURE.md +40 -27
  392. package/lib/module/adapters/NativeANNTurboModule.js.map +1 -1
  393. package/lib/module/api/app/AppRegistry.js +14 -2
  394. package/lib/module/api/app/AppRegistry.js.map +1 -1
  395. package/lib/module/api/app/createNavigation.js +190 -66
  396. package/lib/module/api/app/createNavigation.js.map +1 -1
  397. package/lib/module/api/commands/commands.js +54 -6
  398. package/lib/module/api/commands/commands.js.map +1 -1
  399. package/lib/module/api/events/navigationEvents.js +6 -2
  400. package/lib/module/api/events/navigationEvents.js.map +1 -1
  401. package/lib/module/api/hooks/useNavigation.js +8 -3
  402. package/lib/module/api/hooks/useNavigation.js.map +1 -1
  403. package/lib/module/api/hooks/useSafeAreaInsets.js +4 -3
  404. package/lib/module/api/hooks/useSafeAreaInsets.js.map +1 -1
  405. package/lib/module/api/linking/dispatchedLinks.js +23 -0
  406. package/lib/module/api/linking/dispatchedLinks.js.map +1 -0
  407. package/lib/module/api/linking/linking.js +11 -0
  408. package/lib/module/api/linking/linking.js.map +1 -1
  409. package/lib/module/api/navigation.js.map +1 -1
  410. package/lib/module/api/options/OptionsChain.js +2 -2
  411. package/lib/module/api/screens/defineScreen.js +45 -3
  412. package/lib/module/api/screens/defineScreen.js.map +1 -1
  413. package/lib/module/api/screens/nativeScreens.js +31 -6
  414. package/lib/module/api/screens/nativeScreens.js.map +1 -1
  415. package/lib/module/api/screens/registerScreens.js +193 -35
  416. package/lib/module/api/screens/registerScreens.js.map +1 -1
  417. package/lib/module/api/theme/theme.js +5 -0
  418. package/lib/module/api/theme/theme.js.map +1 -1
  419. package/lib/module/engine/commands.js +51 -9
  420. package/lib/module/engine/commands.js.map +1 -1
  421. package/lib/module/engine/layout.js +20 -11
  422. package/lib/module/engine/layout.js.map +1 -1
  423. package/lib/module/engine/nativeScreens.js +9 -0
  424. package/lib/module/engine/nativeScreens.js.map +1 -1
  425. package/lib/module/engine/options.js +49 -15
  426. package/lib/module/engine/options.js.map +1 -1
  427. package/lib/module/engine/optionsChange.js +102 -0
  428. package/lib/module/engine/optionsChange.js.map +1 -0
  429. package/lib/module/engine/places.js +52 -7
  430. package/lib/module/engine/places.js.map +1 -1
  431. package/lib/module/engine/props.js +30 -1
  432. package/lib/module/engine/props.js.map +1 -1
  433. package/lib/module/engine/refresh.js +85 -0
  434. package/lib/module/engine/refresh.js.map +1 -0
  435. package/lib/module/engine/rememberedOptions.js +61 -1
  436. package/lib/module/engine/rememberedOptions.js.map +1 -1
  437. package/lib/module/engine/screens.js +77 -16
  438. package/lib/module/engine/screens.js.map +1 -1
  439. package/lib/module/interfaces/contract/commands.json +101 -0
  440. package/lib/module/interfaces/contract/errors.json +275 -0
  441. package/lib/typescript/adapters/NativeANNTurboModule.d.ts +12 -2
  442. package/lib/typescript/adapters/NativeANNTurboModule.d.ts.map +1 -1
  443. package/lib/typescript/api/app/AppRegistry.d.ts.map +1 -1
  444. package/lib/typescript/api/app/createNavigation.d.ts +8 -3
  445. package/lib/typescript/api/app/createNavigation.d.ts.map +1 -1
  446. package/lib/typescript/api/commands/commands.d.ts.map +1 -1
  447. package/lib/typescript/api/commands/presentation.d.ts +4 -3
  448. package/lib/typescript/api/commands/presentation.d.ts.map +1 -1
  449. package/lib/typescript/api/events/navigationEvents.d.ts +3 -3
  450. package/lib/typescript/api/events/navigationEvents.d.ts.map +1 -1
  451. package/lib/typescript/api/hooks/useNavigation.d.ts +1 -1
  452. package/lib/typescript/api/hooks/useNavigation.d.ts.map +1 -1
  453. package/lib/typescript/api/hooks/useSafeAreaInsets.d.ts +4 -3
  454. package/lib/typescript/api/hooks/useSafeAreaInsets.d.ts.map +1 -1
  455. package/lib/typescript/api/index.d.ts +1 -1
  456. package/lib/typescript/api/index.d.ts.map +1 -1
  457. package/lib/typescript/api/linking/dispatchedLinks.d.ts +7 -0
  458. package/lib/typescript/api/linking/dispatchedLinks.d.ts.map +1 -0
  459. package/lib/typescript/api/linking/linking.d.ts +8 -0
  460. package/lib/typescript/api/linking/linking.d.ts.map +1 -1
  461. package/lib/typescript/api/navigation.d.ts +4 -1
  462. package/lib/typescript/api/navigation.d.ts.map +1 -1
  463. package/lib/typescript/api/options/OptionsChain.d.ts +2 -2
  464. package/lib/typescript/api/screens/defineScreen.d.ts +23 -4
  465. package/lib/typescript/api/screens/defineScreen.d.ts.map +1 -1
  466. package/lib/typescript/api/screens/nativeScreens.d.ts +8 -1
  467. package/lib/typescript/api/screens/nativeScreens.d.ts.map +1 -1
  468. package/lib/typescript/api/screens/registerScreens.d.ts.map +1 -1
  469. package/lib/typescript/api/theme/theme.d.ts +2 -0
  470. package/lib/typescript/api/theme/theme.d.ts.map +1 -1
  471. package/lib/typescript/engine/commands.d.ts +5 -0
  472. package/lib/typescript/engine/commands.d.ts.map +1 -1
  473. package/lib/typescript/engine/layout.d.ts.map +1 -1
  474. package/lib/typescript/engine/nativeScreens.d.ts +5 -0
  475. package/lib/typescript/engine/nativeScreens.d.ts.map +1 -1
  476. package/lib/typescript/engine/options.d.ts +5 -2
  477. package/lib/typescript/engine/options.d.ts.map +1 -1
  478. package/lib/typescript/engine/optionsChange.d.ts +28 -0
  479. package/lib/typescript/engine/optionsChange.d.ts.map +1 -0
  480. package/lib/typescript/engine/places.d.ts +7 -2
  481. package/lib/typescript/engine/places.d.ts.map +1 -1
  482. package/lib/typescript/engine/props.d.ts +8 -1
  483. package/lib/typescript/engine/props.d.ts.map +1 -1
  484. package/lib/typescript/engine/refresh.d.ts +35 -0
  485. package/lib/typescript/engine/refresh.d.ts.map +1 -0
  486. package/lib/typescript/engine/rememberedOptions.d.ts +13 -0
  487. package/lib/typescript/engine/rememberedOptions.d.ts.map +1 -1
  488. package/lib/typescript/engine/screens.d.ts +27 -6
  489. package/lib/typescript/engine/screens.d.ts.map +1 -1
  490. package/lib/typescript/interfaces/ComponentEvents.d.ts +4 -4
  491. package/lib/typescript/interfaces/ComponentEvents.d.ts.map +1 -1
  492. package/lib/typescript/interfaces/Events.d.ts +28 -10
  493. package/lib/typescript/interfaces/Events.d.ts.map +1 -1
  494. package/lib/typescript/interfaces/Options.d.ts +1 -1
  495. package/lib/typescript/interfaces/Options.d.ts.map +1 -1
  496. package/lib/typescript/interfaces/options/animations.d.ts +80 -22
  497. package/lib/typescript/interfaces/options/animations.d.ts.map +1 -1
  498. package/lib/typescript/interfaces/options/bottomTabs.d.ts +21 -7
  499. package/lib/typescript/interfaces/options/bottomTabs.d.ts.map +1 -1
  500. package/lib/typescript/interfaces/options/buttons.d.ts +23 -15
  501. package/lib/typescript/interfaces/options/buttons.d.ts.map +1 -1
  502. package/lib/typescript/interfaces/options/modals.d.ts +34 -26
  503. package/lib/typescript/interfaces/options/modals.d.ts.map +1 -1
  504. package/lib/typescript/interfaces/options/sideMenu.d.ts +23 -6
  505. package/lib/typescript/interfaces/options/sideMenu.d.ts.map +1 -1
  506. package/lib/typescript/interfaces/options/stack.d.ts +17 -3
  507. package/lib/typescript/interfaces/options/stack.d.ts.map +1 -1
  508. package/lib/typescript/interfaces/options/system.d.ts +18 -11
  509. package/lib/typescript/interfaces/options/system.d.ts.map +1 -1
  510. package/lib/typescript/interfaces/options/toolbar.d.ts +2 -2
  511. package/lib/typescript/interfaces/options/topBar.d.ts +68 -38
  512. package/lib/typescript/interfaces/options/topBar.d.ts.map +1 -1
  513. package/metro/acceptPlugin.js +57 -0
  514. package/metro/babelTransformer.js +45 -0
  515. package/metro/index.js +36 -0
  516. package/package.json +4 -25
  517. package/src/ARCHITECTURE.md +40 -27
  518. package/src/adapters/NativeANNTurboModule.ts +12 -2
  519. package/src/api/app/AppRegistry.ts +16 -2
  520. package/src/api/app/createNavigation.ts +203 -69
  521. package/src/api/commands/commands.ts +48 -7
  522. package/src/api/commands/presentation.ts +4 -3
  523. package/src/api/events/navigationEvents.ts +10 -4
  524. package/src/api/hooks/useNavigation.ts +9 -4
  525. package/src/api/hooks/useSafeAreaInsets.ts +4 -3
  526. package/src/api/index.ts +1 -0
  527. package/src/api/linking/dispatchedLinks.ts +18 -0
  528. package/src/api/linking/linking.ts +22 -1
  529. package/src/api/navigation.ts +4 -1
  530. package/src/api/options/OptionsChain.ts +2 -2
  531. package/src/api/screens/defineScreen.ts +49 -5
  532. package/src/api/screens/nativeScreens.ts +40 -4
  533. package/src/api/screens/registerScreens.tsx +185 -42
  534. package/src/api/theme/theme.ts +5 -0
  535. package/src/engine/commands.ts +70 -13
  536. package/src/engine/layout.ts +27 -11
  537. package/src/engine/nativeScreens.ts +10 -1
  538. package/src/engine/options.ts +45 -19
  539. package/src/engine/optionsChange.ts +107 -0
  540. package/src/engine/places.ts +65 -7
  541. package/src/engine/props.ts +30 -1
  542. package/src/engine/refresh.ts +97 -0
  543. package/src/engine/rememberedOptions.ts +74 -1
  544. package/src/engine/screens.tsx +76 -21
  545. package/src/interfaces/ComponentEvents.ts +4 -4
  546. package/src/interfaces/Events.ts +29 -10
  547. package/src/interfaces/Options.ts +1 -0
  548. package/src/interfaces/contract/commands.json +101 -0
  549. package/src/interfaces/contract/errors.json +275 -0
  550. package/src/interfaces/options/animations.ts +81 -22
  551. package/src/interfaces/options/bottomTabs.ts +21 -7
  552. package/src/interfaces/options/buttons.ts +23 -15
  553. package/src/interfaces/options/modals.ts +34 -26
  554. package/src/interfaces/options/sideMenu.ts +24 -6
  555. package/src/interfaces/options/stack.ts +17 -3
  556. package/src/interfaces/options/system.ts +18 -11
  557. package/src/interfaces/options/toolbar.ts +2 -2
  558. package/src/interfaces/options/topBar.ts +68 -38
  559. package/android/src/main/java/dev/apexnative/navigation/react/ArrangementStates.kt +0 -41
  560. package/android/src/main/java/dev/apexnative/navigation/react/ScreenInsets.kt +0 -69
  561. package/android/src/main/java/dev/apexnative/navigation/react/events/NavigationStateReporter.kt +0 -62
  562. package/android/src/main/java/dev/apexnative/navigation/react/events/StateHold.kt +0 -62
  563. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/CustomTabRowPlacer.kt +0 -223
  564. package/android/src/main/java/dev/apexnative/navigation/views/element/ElementStub.kt +0 -31
  565. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ImageMatrixAnimator.kt +0 -138
  566. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/PlainViewAnimator.kt +0 -88
  567. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/PropertyAnimatorCreator.kt +0 -33
  568. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ReactImageAnimator.kt +0 -66
  569. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/TextChangeAnimator.kt +0 -179
  570. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ViewChangeAnimator.kt +0 -139
  571. package/ios/Layouts/Screen/ANNScreenInsets.h +0 -30
  572. package/ios/Layouts/Screen/ANNScreenInsets.mm +0 -68
  573. package/ios/Layouts/Tabs/ANNTabsPreloadWindow.h +0 -27
  574. package/ios/Layouts/Tabs/ANNTabsPreloadWindow.mm +0 -55
@@ -47,12 +47,17 @@ function stackCommands(id) {
47
47
  };
48
48
  }
49
49
 
50
- /** The commands of the center for a menu screen: the menu closes once the center has changed. */
50
+ /**
51
+ * The commands of the center for a menu screen: the menu closes as the center changes, and the command resolves once
52
+ * both are done.
53
+ */
51
54
  function fromCenter(center, menuScreen) {
52
55
  const centerCommands = stackCommands(center);
56
+ // As in the system's apps, the menu starts to close at the pick and the center changes as it goes, so a push is seen
57
+ // sliding in. The command settles after both, so the next one acts from the center; either one's error rejects it.
53
58
  const closing = run => async (...args) => {
54
- const result = await run(...args);
55
- await closeMenu(menuScreen);
59
+ const closed = closeMenu(menuScreen);
60
+ const [result] = await Promise.all([run(...args), closed]);
56
61
  return result;
57
62
  };
58
63
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["useContext","useMemo","setPressEvent","commands","command","navigation","ScreenContext","whenTabShows","placeOf","centerOf","closeMenu","openMenu","useNavigation","screen","Error","screenNavigation","stackCommands","id","push","name","config","pop","popToRoot","replace","setStack","entries","showInColumn","selectTab","tab","shown","setTabBadge","badge","fromCenter","center","menuScreen","centerCommands","closing","run","args","result","own","stack","place","container","menu","part","popTo","screenId","showModal","dismiss","canPop","canDismiss","goBack","canGoBack","showOverlay","setOptions","options","showColumn","column","setColumnShown","hideColumn","side","event"],"sourceRoot":"../../../../src","sources":["api/hooks/useNavigation.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useContext","useMemo","setPressEvent","commands","command","navigation","ScreenContext","whenTabShows","placeOf","centerOf","closeMenu","openMenu","useNavigation","screen","Error","screenNavigation","stackCommands","id","push","name","config","pop","popToRoot","replace","setStack","entries","showInColumn","selectTab","tab","shown","setTabBadge","badge","fromCenter","center","menuScreen","centerCommands","closing","run","args","closed","result","Promise","all","own","stack","place","container","menu","part","popTo","screenId","showModal","dismiss","canPop","canDismiss","goBack","canGoBack","showOverlay","setOptions","options","showColumn","column","setColumnShown","hideColumn","side","event"],"sourceRoot":"../../../../src","sources":["api/hooks/useNavigation.ts"],"mappings":"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","ignoreList":[]}
@@ -7,13 +7,14 @@ import { useScreen } from "./screenHooks.js";
7
7
  /**
8
8
  * How much of this screen's content the bars and the system still cover on each side, past what the screen keeps its
9
9
  * content off itself (`layout.safeAreaEdges`): 0 on an edge the screen pads, the whole inset on an edge its content goes
10
- * under — under a top bar, under the vertical bar at the side of iPhone Duo, every edge with `safeAreaEdges: []`. A list
11
- * adds exactly this to its own padding. The native side measures every screen on its own, also the screens of
10
+ * under — the bottom by default (the home indicator, the navigation bar, a tab bar or toolbar the screen goes under),
11
+ * under a top bar, under the vertical bar at the side of iPhone Duo, every edge with `safeAreaEdges: []`. A list adds
12
+ * exactly this to its own padding. The native side measures every screen on its own, also the screens of
12
13
  * `appProvider`.
13
14
  *
14
15
  * @example
15
16
  * const insets = useSafeAreaInsets();
16
- * <ScrollView contentContainerStyle={{ paddingLeft: 16 + insets.left, paddingRight: 16 + insets.right }} />
17
+ * <ScrollView contentContainerStyle={{ paddingBottom: 16 + insets.bottom }} />
17
18
  */
18
19
  export function useSafeAreaInsets() {
19
20
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useSyncExternalStore","getScreenInsets","subscribeScreenInsets","useScreen","useSafeAreaInsets","id","subscribe","onChange"],"sourceRoot":"../../../../src","sources":["api/hooks/useSafeAreaInsets.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,oBAAoB,QAAQ,OAAO;AACzD,SAA0BC,eAAe,EAAEC,qBAAqB,QAAQ,6BAA0B;AAClG,SAASC,SAAS,QAAQ,kBAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAA,EAAe;EAC9C,MAAM;IAAEC;EAAG,CAAC,GAAGF,SAAS,CAAC,CAAC;EAC1B,MAAMG,SAAS,GAAGP,WAAW,CAC1BQ,QAAoB,IAAKL,qBAAqB,CAACG,EAAE,EAAEE,QAAQ,CAAC,EAC7D,CAACF,EAAE,CACL,CAAC;EACD,OAAOL,oBAAoB,CAACM,SAAS,EAAE,MAAML,eAAe,CAACI,EAAE,CAAC,CAAC;AACnE","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useSyncExternalStore","getScreenInsets","subscribeScreenInsets","useScreen","useSafeAreaInsets","id","subscribe","onChange"],"sourceRoot":"../../../../src","sources":["api/hooks/useSafeAreaInsets.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,oBAAoB,QAAQ,OAAO;AACzD,SAA0BC,eAAe,EAAEC,qBAAqB,QAAQ,6BAA0B;AAClG,SAASC,SAAS,QAAQ,kBAAe;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAA,EAAe;EAC9C,MAAM;IAAEC;EAAG,CAAC,GAAGF,SAAS,CAAC,CAAC;EAC1B,MAAMG,SAAS,GAAGP,WAAW,CAC1BQ,QAAoB,IAAKL,qBAAqB,CAACG,EAAE,EAAEE,QAAQ,CAAC,EAC7D,CAACF,EAAE,CACL,CAAC;EACD,OAAOL,oBAAoB,CAACM,SAAS,EAAE,MAAML,eAAe,CAACI,EAAE,CAAC,CAAC;AACnE","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ import { DeviceEventEmitter, Platform } from 'react-native';
4
+ import { onNativeEvent } from "../../engine/native.js";
5
+ let listening = false;
6
+
7
+ /**
8
+ * (iOS) Hands `Linking` the links the app dispatched that it didn't take from the native side: on React Native 0.88
9
+ * and newer, in an app with a scene delegate, it takes only the links a scene opened. `Linking` listens to its `url`
10
+ * events through `DeviceEventEmitter`, so every listener of the app gets them, the navigation's links too.
11
+ */
12
+ export function listenToDispatchedLinks() {
13
+ if (listening || Platform.OS !== 'ios') return;
14
+ listening = true;
15
+ onNativeEvent('DeepLinkDispatched', ({
16
+ url
17
+ }) => {
18
+ DeviceEventEmitter.emit('url', {
19
+ url
20
+ });
21
+ });
22
+ }
23
+ //# sourceMappingURL=dispatchedLinks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DeviceEventEmitter","Platform","onNativeEvent","listening","listenToDispatchedLinks","OS","url","emit"],"sourceRoot":"../../../../src","sources":["api/linking/dispatchedLinks.ts"],"mappings":";;AAAA,SAASA,kBAAkB,EAAEC,QAAQ,QAAQ,cAAc;AAC3D,SAASC,aAAa,QAAQ,wBAAqB;AAGnD,IAAIC,SAAS,GAAG,KAAK;;AAErB;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,uBAAuBA,CAAA,EAAG;EACxC,IAAID,SAAS,IAAIF,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;EACxCF,SAAS,GAAG,IAAI;EAChBD,aAAa,CAA0B,oBAAoB,EAAE,CAAC;IAAEI;EAAI,CAAC,KAAK;IACxEN,kBAAkB,CAACO,IAAI,CAAC,KAAK,EAAE;MAAED;IAAI,CAAC,CAAC;EACzC,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -48,6 +48,17 @@ export function setupLinking(linking, options) {
48
48
  setPendingLinkOpener(link => run(link, routeOf(link), false));
49
49
  }
50
50
 
51
+ /**
52
+ * Takes the routes, the roots and `onError` of an app whose module ran again after an edit (Fast Refresh, development):
53
+ * the links that come from now on find the new routes.
54
+ */
55
+ export function updateLinking(linking, options) {
56
+ config = linking;
57
+ roots = options.roots;
58
+ onError = options.onError;
59
+ routes = compileRoutes(Object.keys(linking.routes));
60
+ }
61
+
51
62
  /**
52
63
  * The link that launched the app, matched as the app starts (`unmatched` may run commands then); the same one for
53
64
  * every try of the first start.
@@ -1 +1 @@
1
- {"version":3,"names":["Linking","Platform","getLaunchLink","resolveRoot","commandsStarted","whenCommandsSettle","getAppContext","subscribeAppContext","buildRoot","navigation","getNavigationState","whenScreenAfter","compileRoutes","matchLink","parseLink","getPendingLink","setPendingLink","setPendingLinkOpener","config","roots","routes","onError","started","early","launchUrl","launch","pendingCheck","whenFailed","Set","setupLinking","linking","options","OS","takeLaunchUrl","Object","keys","addEventListener","url","receive","openPendingWhenAllowed","link","run","routeOf","launchLink","then","find","undefined","catch","Promise","resolve","launchRoot","handled","route","start","allowed","root","toRoot","params","infoOf","error","report","reportLink","linksStarted","stateBefore","handle","splice","forEach","next","initial","linksRelaunched","push","parsed","prefixes","unmatched","__DEV__","console","warn","when","has","add","path","pattern","query","info","props","open","switchToTarget","target","switchTo","Array","isArray","slice","pending","commandsBefore","setTimeout"],"sourceRoot":"../../../../src","sources":["api/linking/linking.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Linking","Platform","getLaunchLink","resolveRoot","commandsStarted","whenCommandsSettle","getAppContext","subscribeAppContext","buildRoot","navigation","getNavigationState","whenScreenAfter","compileRoutes","matchLink","parseLink","getPendingLink","setPendingLink","setPendingLinkOpener","config","roots","routes","onError","started","early","launchUrl","launch","pendingCheck","whenFailed","Set","setupLinking","linking","options","OS","takeLaunchUrl","Object","keys","addEventListener","url","receive","openPendingWhenAllowed","link","run","routeOf","updateLinking","launchLink","then","find","undefined","catch","Promise","resolve","launchRoot","handled","route","start","allowed","root","toRoot","params","infoOf","error","report","reportLink","linksStarted","stateBefore","handle","splice","forEach","next","initial","linksRelaunched","push","parsed","prefixes","unmatched","__DEV__","console","warn","when","has","add","path","pattern","query","info","props","open","switchToTarget","target","switchTo","Array","isArray","slice","pending","commandsBefore","setTimeout"],"sourceRoot":"../../../../src","sources":["api/linking/linking.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["setRoot","withSlots","getActiveApp","resolveRoot","commands","command","closeMenu","openMenu","onNavigationEvent","buildRoot","getNavigationState","whenTabShows","getAppContext","setAppContext","getPendingLink","openPendingLink","setPendingLink","setDirection","setTheme","startedApp","app","Error","mounted","switchTo","target","param","root","roots","currentScreen","screen","id","seenScreen","check","fromCurrent","name","run","afterStart","navigation","push","config","pop","popTo","screenId","popToRoot","replace","canPop","canDismiss","goBack","showColumn","column","setColumnShown","hideColumn","side","canGoBack","setStack","entries","showInColumn","showModal","dismissModal","modalId","dismissAllModals","showOverlay","dismissOverlay","overlayId","dismissAllOverlays","selectTab","tab","shown","setTabBadge","badge","getContext","setContext","next","getState","clearPendingLink","on"],"sourceRoot":"../../../src","sources":["api/navigation.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["setRoot","withSlots","getActiveApp","resolveRoot","commands","command","closeMenu","openMenu","onNavigationEvent","buildRoot","getNavigationState","whenTabShows","getAppContext","setAppContext","getPendingLink","openPendingLink","setPendingLink","setDirection","setTheme","startedApp","app","Error","mounted","switchTo","target","param","root","roots","currentScreen","screen","id","seenScreen","check","fromCurrent","name","run","afterStart","navigation","push","config","pop","popTo","screenId","popToRoot","replace","canPop","canDismiss","goBack","showColumn","column","setColumnShown","hideColumn","side","canGoBack","setStack","entries","showInColumn","showModal","dismissModal","modalId","dismissAllModals","showOverlay","dismissOverlay","overlayId","dismissAllOverlays","selectTab","tab","shown","setTabBadge","badge","getContext","setContext","next","getState","clearPendingLink","on"],"sourceRoot":"../../../src","sources":["api/navigation.ts"],"mappings":"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","ignoreList":[]}
@@ -65,8 +65,8 @@ export class OptionsChain {
65
65
 
66
66
  /**
67
67
  * The edges on which the screen keeps its content out of its safe area (bars, status bar, home indicator, cutout);
68
- * none with no edge. Without it: all four on Android, and on iOS every edge but those where the content goes under
69
- * a bar. On iOS a large title leaves the top out by itself.
68
+ * none with no edge. Without it: the top and the sides, but those where the content goes under a bar; the bottom is
69
+ * free, and a list keeps clear of it with `useSafeAreaInsets()`. A large title leaves the top out by itself.
70
70
  */
71
71
  safeArea(...edges) {
72
72
  return this.layout({
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ import { createElement } from 'react';
4
+ import { keepStateOf, newestType, redefined } from "../../engine/refresh.js";
3
5
  import { getAppContext } from "../context/appContext.js";
4
6
  import { readScreenOptions, ScreenOptions } from "../options/ScreenOptions.js";
5
7
  import { getTheme } from "../theme/theme.js";
@@ -10,12 +12,52 @@ import { getTheme } from "../theme/theme.js";
10
12
 
11
13
  /** A screen with what goes with it. */
12
14
 
15
+ const SCREEN_DEFINITION = Symbol('apexnative.navigation.screenDefinition');
16
+
17
+ /**
18
+ * A screen of `defineScreen`: a component of its own, which renders the screen's component and carries the screen's
19
+ * definition. It goes right into `screens` of createNavigation, and rendered on its own (a test) it renders the screen.
20
+ */
21
+
13
22
  /**
14
- * Describes a screen next to its component, so its registration stays one line. The same object can go right into
15
- * `screens` of createNavigation.
23
+ * Describes a screen next to its component, so its registration stays one line. It gives a component that renders the
24
+ * screen and goes right into `screens` of createNavigation: a file that exports only its screens stays a boundary of
25
+ * Fast Refresh, so an edit of the screen, its options too, updates it in place instead of reloading the app.
16
26
  */
17
27
  export function defineScreen(definition) {
18
- return definition;
28
+ const {
29
+ component
30
+ } = definition;
31
+ // A component of each definition, so the app's own component stays as it is for any other use of it.
32
+ const Component = component;
33
+ function Screen(props) {
34
+ return /*#__PURE__*/createElement(Component, props);
35
+ }
36
+ Screen.displayName = component.displayName ?? component.name;
37
+ Object.defineProperty(Screen, SCREEN_DEFINITION, {
38
+ value: definition
39
+ });
40
+ keepStateOf(Screen, component);
41
+ redefined(Screen);
42
+ return Screen;
43
+ }
44
+
45
+ /**
46
+ * The definition a screen of `defineScreen` carries, the newest one after Fast Refresh ran the screen's module again;
47
+ * undefined for anything else.
48
+ */
49
+ export function definitionOf(value) {
50
+ return isDefinedScreen(value) ? ownDefinitionOf(newestType(value)) : undefined;
51
+ }
52
+
53
+ /** The definition a screen of `defineScreen` carries itself, not a newer one; undefined for anything else. */
54
+ export function ownDefinitionOf(value) {
55
+ return isDefinedScreen(value) ? value[SCREEN_DEFINITION] : undefined;
56
+ }
57
+
58
+ /** Whether the value is a screen of `defineScreen`. */
59
+ export function isDefinedScreen(value) {
60
+ return (typeof value === 'function' || typeof value === 'object') && value !== null && SCREEN_DEFINITION in value;
19
61
  }
20
62
  export function buildScreenOptions(input, props) {
21
63
  if (!input) return {};
@@ -1 +1 @@
1
- {"version":3,"names":["getAppContext","readScreenOptions","ScreenOptions","getTheme","defineScreen","definition","buildScreenOptions","input","props","app","theme","context"],"sourceRoot":"../../../../src","sources":["api/screens/defineScreen.ts"],"mappings":";;AAEA,SAASA,aAAa,QAAQ,0BAAuB;AACrD,SAASC,iBAAiB,EAAEC,aAAa,QAAQ,6BAA0B;AAC3E,SAASC,QAAQ,QAA8B,mBAAgB;;AAI/D;;AAMA;;AAIA;;AAsBA;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAAQC,UAAmC,EAA2B;EAChG,OAAOA,UAAU;AACnB;AAEA,OAAO,SAASC,kBAAkBA,CAChCC,KAA4C,EAC5CC,KAAY,EACH;EACT,IAAI,CAACD,KAAK,EAAE,OAAO,CAAC,CAAC;EACrB,IAAI,OAAOA,KAAK,KAAK,UAAU,EAAE,OAAOA,KAAK;EAC7C,MAAME,GAAuB,GAAG;IAAEC,KAAK,EAAEP,QAAQ,CAAC,CAAC;IAAEQ,OAAO,EAAEX,aAAa,CAAC;EAAE,CAAC;EAC/E,OAAOC,iBAAiB,CAACM,KAAK,CAAC,IAAIL,aAAa,CAAC,CAAC,EAAEM,KAAK,EAAEC,GAAG,CAAC,CAAC;AAClE","ignoreList":[]}
1
+ {"version":3,"names":["createElement","keepStateOf","newestType","redefined","getAppContext","readScreenOptions","ScreenOptions","getTheme","SCREEN_DEFINITION","Symbol","defineScreen","definition","component","Component","Screen","props","displayName","name","Object","defineProperty","value","definitionOf","isDefinedScreen","ownDefinitionOf","undefined","buildScreenOptions","input","app","theme","context"],"sourceRoot":"../../../../src","sources":["api/screens/defineScreen.ts"],"mappings":";;AAAA,SAA6BA,aAAa,QAAQ,OAAO;AAEzD,SAASC,WAAW,EAAEC,UAAU,EAAEC,SAAS,QAAQ,yBAAsB;AACzE,SAASC,aAAa,QAAQ,0BAAuB;AACrD,SAASC,iBAAiB,EAAEC,aAAa,QAAQ,6BAA0B;AAC3E,SAASC,QAAQ,QAA8B,mBAAgB;;AAI/D;;AAMA;;AAIA;;AAsBA,MAAMC,iBAAiB,GAAGC,MAAM,CAAC,wCAAwC,CAAC;;AAE1E;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAAQC,UAAmC,EAAwB;EAC7F,MAAM;IAAEC;EAAU,CAAC,GAAGD,UAAU;EAChC;EACA,MAAME,SAAS,GAAGD,SAAkC;EACpD,SAASE,MAAMA,CAACC,KAAY,EAAE;IAC5B,oBAAOf,aAAa,CAACa,SAAS,EAAEE,KAAe,CAAC;EAClD;EACAD,MAAM,CAACE,WAAW,GAAGJ,SAAS,CAACI,WAAW,IAAIJ,SAAS,CAACK,IAAI;EAC5DC,MAAM,CAACC,cAAc,CAACL,MAAM,EAAEN,iBAAiB,EAAE;IAAEY,KAAK,EAAET;EAAW,CAAC,CAAC;EACvEV,WAAW,CAACa,MAAM,EAAEF,SAAS,CAAC;EAC9BT,SAAS,CAACW,MAAM,CAAC;EACjB,OAAOA,MAAM;AACf;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASO,YAAYA,CAACD,KAAc,EAAgC;EACzE,OAAOE,eAAe,CAACF,KAAK,CAAC,GAAGG,eAAe,CAACrB,UAAU,CAACkB,KAAK,CAAC,CAAC,GAAGI,SAAS;AAChF;;AAEA;AACA,OAAO,SAASD,eAAeA,CAACH,KAAc,EAAgC;EAC5E,OAAOE,eAAe,CAACF,KAAK,CAAC,GAAGA,KAAK,CAACZ,iBAAiB,CAAC,GAAGgB,SAAS;AACtE;;AAEA;AACA,OAAO,SAASF,eAAeA,CAACF,KAAc,EAA+B;EAC3E,OACE,CAAC,OAAOA,KAAK,KAAK,UAAU,IAAI,OAAOA,KAAK,KAAK,QAAQ,KACzDA,KAAK,KAAK,IAAI,IACdZ,iBAAiB,IAAIY,KAAK;AAE9B;AAEA,OAAO,SAASK,kBAAkBA,CAChCC,KAA4C,EAC5CX,KAAY,EACH;EACT,IAAI,CAACW,KAAK,EAAE,OAAO,CAAC,CAAC;EACrB,IAAI,OAAOA,KAAK,KAAK,UAAU,EAAE,OAAOA,KAAK;EAC7C,MAAMC,GAAuB,GAAG;IAAEC,KAAK,EAAErB,QAAQ,CAAC,CAAC;IAAEsB,OAAO,EAAEzB,aAAa,CAAC;EAAE,CAAC;EAC/E,OAAOC,iBAAiB,CAACqB,KAAK,CAAC,IAAIpB,aAAa,CAAC,CAAC,EAAES,KAAK,EAAEY,GAAG,CAAC,CAAC;AAClE","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ import { useEffect } from 'react';
4
+ import { redefined, resetOnEdit } from "../../engine/refresh.js";
3
5
  const NATIVE_SCREEN = Symbol('apexnative.navigation.nativeScreen');
4
6
 
5
7
  /** A screen made on the native side (SwiftUI, UIKit, Compose, Android views), registered there under `nativeName`. */
@@ -8,7 +10,9 @@ const NATIVE_SCREEN = Symbol('apexnative.navigation.nativeScreen');
8
10
 
9
11
  /**
10
12
  * A native screen for `screens`: commands and layouts name it like any other screen, and its props go to the native
11
- * creator. `nativeName` is the name it is registered under natively (`ApexNavigation.registerNativeScreen`).
13
+ * creator. `nativeName` is the name it is registered under natively (`ApexNavigation.registerNativeScreen`). It is a
14
+ * component that runs `useProps`, so a file that exports only its screens updates by Fast Refresh, the hook and the
15
+ * options too.
12
16
  *
13
17
  * @example
14
18
  * const Settings = nativeScreen('Settings', {
@@ -26,18 +30,39 @@ const NATIVE_SCREEN = Symbol('apexnative.navigation.nativeScreen');
26
30
  export function nativeScreen(nativeName, definition = {}) {
27
31
  const {
28
32
  options,
29
- useProps,
33
+ useProps = noProps,
30
34
  arrangement
31
35
  } = definition;
32
- return {
36
+ // A component that runs the hook, so that a file exporting only its screens stays a boundary of Fast Refresh: React
37
+ // Refresh puts the new version in place, with the edited hook.
38
+ function NativeScreen({
39
+ props,
40
+ onProps
41
+ }) {
42
+ const result = useProps(props);
43
+ // After each render React committed, so the native side never shows what the app did not.
44
+ useEffect(() => onProps(result));
45
+ return null;
46
+ }
47
+ const screen = Object.assign(NativeScreen, {
33
48
  [NATIVE_SCREEN]: true,
34
49
  nativeName,
35
50
  options,
36
- useProps,
51
+ useProps: definition.useProps,
37
52
  arrangement
38
- };
53
+ });
54
+ // The hook is the app's and may have other hooks after an edit: its new version mounts anew.
55
+ resetOnEdit(screen);
56
+ redefined(screen);
57
+ return screen;
39
58
  }
59
+ function noProps() {
60
+ return {};
61
+ }
62
+
63
+ /** What the component of a native screen renders with: the props of the command, and where the hook's result goes. */
64
+
40
65
  export function isNativeScreen(value) {
41
- return typeof value === 'object' && value !== null && NATIVE_SCREEN in value;
66
+ return (typeof value === 'function' || typeof value === 'object') && value !== null && NATIVE_SCREEN in value;
42
67
  }
43
68
  //# sourceMappingURL=nativeScreens.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NATIVE_SCREEN","Symbol","nativeScreen","nativeName","definition","options","useProps","arrangement","isNativeScreen","value"],"sourceRoot":"../../../../src","sources":["api/screens/nativeScreens.ts"],"mappings":";;AAGA,MAAMA,aAAa,GAAGC,MAAM,CAAC,oCAAoC,CAAC;;AAElE;;AAWA;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAC1BC,UAAkB,EAClBC,UAAyC,GAAG,CAAC,CAAC,EACzB;EACrB,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAY,CAAC,GAAGH,UAAU;EACrD,OAAO;IAAE,CAACJ,aAAa,GAAG,IAAI;IAAEG,UAAU;IAAEE,OAAO;IAAEC,QAAQ;IAAEC;EAAY,CAAC;AAC9E;AAEA,OAAO,SAASC,cAAcA,CAACC,KAAc,EAA8B;EACzE,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAIT,aAAa,IAAIS,KAAK;AAC9E","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","redefined","resetOnEdit","NATIVE_SCREEN","Symbol","nativeScreen","nativeName","definition","options","useProps","noProps","arrangement","NativeScreen","props","onProps","result","screen","Object","assign","isNativeScreen","value"],"sourceRoot":"../../../../src","sources":["api/screens/nativeScreens.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,SAAS,EAAEC,WAAW,QAAQ,yBAAsB;AAI7D,MAAMC,aAAa,GAAGC,MAAM,CAAC,oCAAoC,CAAC;;AAElE;;AAWA;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAC1BC,UAAkB,EAClBC,UAAyC,GAAG,CAAC,CAAC,EACzB;EACrB,MAAM;IAAEC,OAAO;IAAEC,QAAQ,GAAGC,OAAO;IAAEC;EAAY,CAAC,GAAGJ,UAAU;EAC/D;EACA;EACA,SAASK,YAAYA,CAAC;IAAEC,KAAK;IAAEC;EAAsC,CAAC,EAAE;IACtE,MAAMC,MAAM,GAAGN,QAAQ,CAACI,KAAK,CAAC;IAC9B;IACAb,SAAS,CAAC,MAAMc,OAAO,CAACC,MAAM,CAAC,CAAC;IAChC,OAAO,IAAI;EACb;EACA,MAAMC,MAAM,GAAGC,MAAM,CAACC,MAAM,CAACN,YAAY,EAAE;IACzC,CAACT,aAAa,GAAG,IAAa;IAC9BG,UAAU;IACVE,OAAO;IACPC,QAAQ,EAAEF,UAAU,CAACE,QAAQ;IAC7BE;EACF,CAAC,CAAC;EACF;EACAT,WAAW,CAACc,MAAM,CAAC;EACnBf,SAAS,CAACe,MAAM,CAAC;EACjB,OAAOA,MAAM;AACf;AAEA,SAASN,OAAOA,CAAA,EAAW;EACzB,OAAO,CAAC,CAAC;AACX;;AAEA;;AAMA,OAAO,SAASS,cAAcA,CAACC,KAAc,EAA8B;EACzE,OACE,CAAC,OAAOA,KAAK,KAAK,UAAU,IAAI,OAAOA,KAAK,KAAK,QAAQ,KACzDA,KAAK,KAAK,IAAI,IACdjB,aAAa,IAAIiB,KAAK;AAE1B","ignoreList":[]}