@apexnative/navigation 1.0.0-alpha.5 → 1.0.0-alpha.6

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 (182) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +1 -1
  3. package/android/CLAUDE.md +14 -12
  4. package/android/CORE.md +9 -6
  5. package/android/src/main/java/dev/apexnative/navigation/NavigationActivity.kt +36 -5
  6. package/android/src/main/java/dev/apexnative/navigation/options/BottomTabsOptions.kt +13 -8
  7. package/android/src/main/java/dev/apexnative/navigation/react/NavigationTurboModule.kt +3 -3
  8. package/android/src/main/java/dev/apexnative/navigation/react/ReloadCoordinator.kt +0 -2
  9. package/android/src/main/java/dev/apexnative/navigation/react/ScreenEnvironment.kt +177 -0
  10. package/android/src/main/java/dev/apexnative/navigation/react/ScreenRegions.kt +12 -49
  11. package/android/src/main/java/dev/apexnative/navigation/react/ScrollEvents.kt +49 -128
  12. package/android/src/main/java/dev/apexnative/navigation/safearea/SafeAreaView.kt +6 -6
  13. package/android/src/main/java/dev/apexnative/navigation/utils/ViewExtensions.kt +0 -13
  14. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/arrangement/ArrangementController.kt +9 -7
  15. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsCollapseBehavior.kt +5 -3
  16. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsController.kt +13 -10
  17. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/CustomTabRowGeometry.kt +22 -0
  18. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/TabsRoom.kt +0 -5
  19. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ComponentViewController.kt +7 -8
  20. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ScreenSafeArea.kt +29 -11
  21. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/externalcomponent/ExternalComponentViewController.kt +2 -6
  22. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalCoordinator.kt +20 -2
  23. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalSheet.kt +119 -8
  24. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalViews.kt +7 -0
  25. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/SheetBack.kt +42 -0
  26. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/Navigator.kt +4 -0
  27. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/ParentController.kt +3 -6
  28. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/PreparedFrame.kt +3 -3
  29. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackCommands.kt +2 -2
  30. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackController.kt +4 -0
  31. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackViews.kt +3 -0
  32. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/ScrollEventListener.kt +6 -9
  33. package/android/src/main/java/dev/apexnative/navigation/views/animations/AnimationLayer.kt +73 -0
  34. package/android/src/main/java/dev/apexnative/navigation/views/animations/ValueInterpolation.kt +14 -0
  35. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabsLayout.kt +61 -2
  36. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/CustomTabRow.kt +72 -10
  37. package/android/src/main/java/dev/apexnative/navigation/views/element/ElementTransitions.kt +9 -2
  38. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ElementPictures.kt +11 -0
  39. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/FlightGeometry.kt +318 -25
  40. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ImageMatrixAnimator.kt +18 -20
  41. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/PlainViewAnimator.kt +17 -25
  42. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ReactImageAnimator.kt +15 -22
  43. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/SharedAnimatorFactory.kt +12 -9
  44. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/TextChangeAnimator.kt +84 -35
  45. package/android/src/main/java/dev/apexnative/navigation/views/element/animators/ViewChangeAnimator.kt +49 -40
  46. package/docs-md/architecture/transitions.md +4 -2
  47. package/docs-md/containers/modals.md +2 -0
  48. package/docs-md/containers/overlays.md +1 -1
  49. package/docs-md/containers/side-menu.md +1 -1
  50. package/docs-md/containers/tabs.md +2 -0
  51. package/docs-md/flows/bottom-sheets.md +1 -1
  52. package/docs-md/fundamentals/starting-the-app.md +1 -1
  53. package/docs-md/help/glossary.md +2 -2
  54. package/docs-md/help/troubleshooting.md +21 -0
  55. package/docs-md/index.json +12 -0
  56. package/docs-md/migration/from-expo-router.md +1 -1
  57. package/docs-md/migration/from-react-native-navigation.md +1 -1
  58. package/docs-md/migration/from-react-navigation.md +2 -2
  59. package/docs-md/screen-ui/back-and-gestures.md +14 -0
  60. package/docs-md/screen-ui/bar-buttons.md +4 -4
  61. package/docs-md/screen-ui/search.md +1 -1
  62. package/docs-md/screen-ui/system-ui.md +16 -11
  63. package/docs-md/screen-ui/toolbar-and-fab.md +2 -2
  64. package/docs-md/screen-ui/top-bar.md +8 -4
  65. package/ios/Animations/ANNFrameDriver.mm +2 -0
  66. package/ios/Animations/Elements/ANNSharedElementFlight.mm +70 -4
  67. package/ios/Animations/Interpolators/ANNInterpolate.h +2 -30
  68. package/ios/Animations/Interpolators/ANNTransformParts.h +48 -0
  69. package/ios/Animations/Interpolators/ANNTransformParts.mm +507 -0
  70. package/ios/Animations/Interpolators/ANNViewTracks.h +6 -4
  71. package/ios/Animations/Interpolators/ANNViewTracks.mm +49 -9
  72. package/ios/CLAUDE.md +17 -15
  73. package/ios/CORE.md +24 -20
  74. package/ios/Contract/ANNCommandRunner.h +8 -7
  75. package/ios/Contract/ANNCommandRunner.mm +21 -27
  76. package/ios/Contract/ANNLayoutNode.h +3 -3
  77. package/ios/Contract/ANNLayoutReader.h +3 -3
  78. package/ios/Core/ANNJavaScriptCalls.h +11 -12
  79. package/ios/Core/ANNJavaScriptCalls.mm +7 -16
  80. package/ios/Core/ANNReloadCoordinator.mm +4 -8
  81. package/ios/Core/ApexNavigation+Internal.h +1 -1
  82. package/ios/Layouts/Arrangement/ANNArrangementState.h +2 -17
  83. package/ios/Layouts/Arrangement/ANNArrangementState.mm +0 -38
  84. package/ios/Layouts/Arrangement/ANNArrangementViewController.mm +4 -4
  85. package/ios/Layouts/Screen/ANNComponentViewController.h +2 -2
  86. package/ios/Layouts/Screen/ANNComponentViewController.mm +9 -22
  87. package/ios/Layouts/Screen/ANNPreviewInteraction.h +7 -4
  88. package/ios/Layouts/Screen/ANNPreviewInteraction.mm +72 -10
  89. package/ios/Layouts/Screen/ANNScreenEnvironment.h +63 -0
  90. package/ios/Layouts/Screen/ANNScreenEnvironment.mm +181 -0
  91. package/ios/Layouts/Screen/ANNScreenRegions.h +3 -18
  92. package/ios/Layouts/Screen/ANNScreenRegions.mm +0 -38
  93. package/ios/Layouts/Screen/ANNScreenSafeArea.h +4 -9
  94. package/ios/Layouts/Screen/ANNScreenSafeArea.mm +14 -16
  95. package/ios/Layouts/Stack/ANNPreviewPush.h +7 -6
  96. package/ios/Layouts/Stack/ANNPreviewPush.mm +57 -5
  97. package/ios/Layouts/Tabs/ANNBottomTabsAccessoryView.h +12 -1
  98. package/ios/Layouts/Tabs/ANNBottomTabsAccessoryView.mm +23 -0
  99. package/ios/Layouts/Tabs/ANNBottomTabsController.mm +2 -1
  100. package/ios/Layouts/Tabs/ANNBottomTabsCustomRow.mm +8 -3
  101. package/ios/Layouts/Tabs/ANNBottomTabsPresenter.h +4 -0
  102. package/ios/Layouts/Tabs/ANNBottomTabsPresenter.mm +123 -36
  103. package/ios/Layouts/Tabs/ANNTabsDesign.h +6 -5
  104. package/ios/Layouts/Tabs/ANNTabsDesign.mm +9 -1
  105. package/ios/Layouts/Tabs/UITabBar+utils.h +5 -5
  106. package/ios/Layouts/Tabs/UITabBar+utils.mm +32 -13
  107. package/ios/Options/ANNBottomTabsOptions.h +2 -0
  108. package/ios/Options/ANNBottomTabsOptions.mm +1 -0
  109. package/ios/Options/ANNOptions.h +18 -0
  110. package/ios/Options/ANNOptions.mm +112 -1
  111. package/ios/Options/ANNOptionsReader.mm +110 -0
  112. package/ios/Options/Params/ANNParam.h +15 -0
  113. package/ios/Options/Params/ANNParam.mm +61 -0
  114. package/ios/Options/Params/Color.h +3 -0
  115. package/ios/Options/Params/Color.mm +21 -0
  116. package/ios/Options/Params/Image.h +4 -0
  117. package/ios/Options/Params/Image.mm +20 -0
  118. package/ios/React/ANNReactView.mm +6 -25
  119. package/ios/React/ANNSafeAreaViewComponentView.mm +26 -15
  120. package/ios/React/ANNSurfaceHostingView.h +6 -0
  121. package/ios/React/ANNSurfaceHostingView.mm +116 -0
  122. package/ios/TopBar/ANNBackButtonPresenter.mm +6 -5
  123. package/ios/TopBar/ANNBarAppearance.h +2 -1
  124. package/ios/TopBar/ANNBarAppearance.mm +111 -30
  125. package/ios/TopBar/ANNBarBackgroundComponent.mm +16 -0
  126. package/ios/TopBar/ANNBarButtonComponentView.h +4 -4
  127. package/ios/TopBar/ANNBarButtonComponentView.mm +1 -1
  128. package/ios/TopBar/ANNBarButtons.h +5 -3
  129. package/ios/TopBar/ANNBarButtons.mm +186 -17
  130. package/ios/TopBar/ANNLargeTitlePresenter.mm +24 -4
  131. package/ios/TopBar/ANNMainList.h +3 -0
  132. package/ios/TopBar/ANNMainList.mm +4 -0
  133. package/ios/TopBar/ANNScrollEdgeEffects.h +22 -6
  134. package/ios/TopBar/ANNScrollEdgeEffects.mm +123 -16
  135. package/ios/TopBar/ANNSearchPresenter.mm +2 -2
  136. package/ios/TopBar/ANNSearchResultsViewController.mm +5 -5
  137. package/ios/TopBar/ANNTopBarPresenter.h +3 -2
  138. package/ios/TopBar/ANNTopBarPresenter.mm +95 -22
  139. package/ios/TurboModules/ANNTurboModule.mm +20 -16
  140. package/lib/module/ARCHITECTURE.md +8 -4
  141. package/lib/module/api/hooks/useSafeAreaInsets.js +4 -3
  142. package/lib/module/api/hooks/useSafeAreaInsets.js.map +1 -1
  143. package/lib/module/api/options/OptionsChain.js +2 -2
  144. package/lib/module/engine/commands.js +21 -1
  145. package/lib/module/engine/commands.js.map +1 -1
  146. package/lib/module/engine/screens.js +29 -4
  147. package/lib/module/engine/screens.js.map +1 -1
  148. package/lib/typescript/api/app/createNavigation.d.ts +3 -3
  149. package/lib/typescript/api/hooks/useSafeAreaInsets.d.ts +4 -3
  150. package/lib/typescript/api/hooks/useSafeAreaInsets.d.ts.map +1 -1
  151. package/lib/typescript/api/options/OptionsChain.d.ts +2 -2
  152. package/lib/typescript/engine/commands.d.ts.map +1 -1
  153. package/lib/typescript/engine/screens.d.ts +20 -6
  154. package/lib/typescript/engine/screens.d.ts.map +1 -1
  155. package/lib/typescript/interfaces/options/animations.d.ts +12 -7
  156. package/lib/typescript/interfaces/options/animations.d.ts.map +1 -1
  157. package/lib/typescript/interfaces/options/bottomTabs.d.ts +18 -5
  158. package/lib/typescript/interfaces/options/bottomTabs.d.ts.map +1 -1
  159. package/lib/typescript/interfaces/options/buttons.d.ts +8 -8
  160. package/lib/typescript/interfaces/options/system.d.ts +8 -5
  161. package/lib/typescript/interfaces/options/system.d.ts.map +1 -1
  162. package/lib/typescript/interfaces/options/toolbar.d.ts +2 -2
  163. package/lib/typescript/interfaces/options/topBar.d.ts +32 -29
  164. package/lib/typescript/interfaces/options/topBar.d.ts.map +1 -1
  165. package/package.json +1 -1
  166. package/src/ARCHITECTURE.md +8 -4
  167. package/src/api/app/createNavigation.ts +3 -3
  168. package/src/api/hooks/useSafeAreaInsets.ts +4 -3
  169. package/src/api/options/OptionsChain.ts +2 -2
  170. package/src/engine/commands.ts +30 -6
  171. package/src/engine/screens.tsx +29 -8
  172. package/src/interfaces/options/animations.ts +12 -7
  173. package/src/interfaces/options/bottomTabs.ts +18 -5
  174. package/src/interfaces/options/buttons.ts +8 -8
  175. package/src/interfaces/options/system.ts +8 -5
  176. package/src/interfaces/options/toolbar.ts +2 -2
  177. package/src/interfaces/options/topBar.ts +32 -29
  178. package/android/src/main/java/dev/apexnative/navigation/react/ArrangementStates.kt +0 -42
  179. package/android/src/main/java/dev/apexnative/navigation/react/ScreenInsets.kt +0 -70
  180. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/CustomTabRowPlacer.kt +0 -223
  181. package/ios/Layouts/Screen/ANNScreenInsets.h +0 -30
  182. package/ios/Layouts/Screen/ANNScreenInsets.mm +0 -70
@@ -70,8 +70,9 @@ NS_ASSUME_NONNULL_BEGIN
70
70
  - (void)screenDidLayOut;
71
71
  - (void)contentDidMount;
72
72
 
73
- /// The screen's content is about to go (a pop removes it before `viewDidDisappear`): its lists get the system edge
74
- /// effect back and the large title's color leaves them; the place of the large title during a pop leaves the screen.
73
+ /// The screen's content is about to go (its destroy; a pop removes it before `viewDidDisappear`): its lists get the
74
+ /// system edge effect back and the large title's color leaves them; the place of the large title during a pop leaves
75
+ /// the screen. At `screenDidDisappear` the same, the lists of the edge effects kept for the screen's next appearance.
75
76
  - (void)releaseLists;
76
77
 
77
78
  /// Every root of the screen's bar still alive stops, once, on the main queue.
@@ -9,7 +9,9 @@
9
9
  #import "ANNScreenBars.h"
10
10
  #import "ANNScrollEdgeEffects.h"
11
11
  #import "ANNSearchPresenter.h"
12
+ #import "ANNSlotScreenView.h"
12
13
  #import "ANNStackController.h"
14
+ #import "ANNTabsDesign.h"
13
15
  #import "ANNTitleComponentView.h"
14
16
  #import "ANNTitleGlassView.h"
15
17
  #import "ANNTitleView.h"
@@ -34,11 +36,27 @@ typedef NS_ENUM(NSInteger, ANNBarPhase) {
34
36
  ANNBarPhaseDidAppear,
35
37
  };
36
38
 
37
- static BOOL ANNIsIOS26(void) {
38
- if (@available(iOS 26.0, *)) {
39
- return YES;
39
+ // The glass design of iOS 26, not its compatibility mode: the large title in the list, the title's capsule, the
40
+ // system subtitle and the pin of the title's color are its own (`ANNTabsDesign`).
41
+ static BOOL ANNIsGlass(void) {
42
+ return ANNTabsDesign.isGlass;
43
+ }
44
+
45
+ // The same look: the item's appearance is the one set last, or one equal to it.
46
+ static BOOL ANNSameAppearance(UINavigationBarAppearance *a, UINavigationBarAppearance *b) {
47
+ return a == b || [a isEqual:b];
48
+ }
49
+
50
+ // The traits a look's colors and fonts resolve with: the style, the contrast, the elevation (the 1×1 background is
51
+ // drawn with them) and the text size.
52
+ static NSArray *ANNLookTraitsOf(UITraitCollection *traits) {
53
+ if (!traits) {
54
+ return @[];
40
55
  }
41
- return NO;
56
+ return @[
57
+ @(traits.userInterfaceStyle), @(traits.accessibilityContrast), @(traits.userInterfaceLevel),
58
+ traits.preferredContentSizeCategory ?: @""
59
+ ];
42
60
  }
43
61
 
44
62
  static BOOL ANNHasComponentName(ANNComponentOptions *component) {
@@ -110,6 +128,10 @@ static ANNUserChoice *ANNRenameChoice(NSString *title) {
110
128
  NSUInteger _pinToken;
111
129
  // A pop's band under the title keeps the bar's look as it is (the screen leaves for one without a band of its own).
112
130
  BOOL _bandKeepsLook;
131
+ // What the last look was filled from, and the two appearances the item held right after it.
132
+ NSArray *_lookInputs;
133
+ UINavigationBarAppearance *_lookStandard;
134
+ UINavigationBarAppearance *_lookEdge;
113
135
  }
114
136
 
115
137
  - (instancetype)initWithScreen:(UIViewController *)screen {
@@ -177,13 +199,13 @@ static ANNUserChoice *ANNRenameChoice(NSString *title) {
177
199
  BOOL collapses = [ANNLargeTitlePresenter collapsesIntoList:options];
178
200
  BOOL inlineInRow = [self inlineInRow:options];
179
201
  BOOL ownEdge = [options.topBar.scrollEdgeAppearance.active withDefault:NO];
180
- context.transparentEdge = ANNIsIOS26() && collapses && !inlineInRow && !ownEdge;
202
+ context.transparentEdge = ANNIsGlass() && collapses && !inlineInRow && !ownEdge;
181
203
  // While a pop draws the band behind the title in the title's own place, the bar's edge stays clear: UIKit grows
182
204
  // the bar's background with an interactive pop, over the screen's top where the title is.
183
205
  if ([_largeTitle drawsTitleBand] && !_bandKeepsLook && !ownEdge) {
184
206
  context.transparentEdge = YES;
185
207
  }
186
- context.largeTitleNeedsBackground = ANNIsIOS26() && canShow && !collapses && !inlineInRow;
208
+ context.largeTitleNeedsBackground = ANNIsGlass() && canShow && !collapses && !inlineInRow;
187
209
  return context;
188
210
  }
189
211
 
@@ -367,26 +389,64 @@ static ANNUserChoice *ANNRenameChoice(NSString *title) {
367
389
 
368
390
  #pragma mark - The look
369
391
 
392
+ // Several callers ask for the look along one appearance (the screen's, a merge, the band and the pin of iOS 26): it
393
+ // is filled only when what the fill reads changed or the item holds another look, and set only when it differs from
394
+ // the item's. A look set again makes UIKit lay the bar out anew, and on iOS 26 copy it into the stack's bar.
370
395
  - (void)applyLook:(ANNNavigationOptions *)options {
371
396
  UIViewController *screen = _screen;
372
397
  UINavigationItem *item = screen.navigationItem;
398
+ UITraitCollection *traits =
399
+ screen.viewIfLoaded.window.traitCollection ?: screen.traitCollection;
400
+ ANNBarAppearanceContext context = [self appearanceContextOf:options];
401
+ UITraitCollection *pinned = ANNIsGlass() ? _pinnedTraits : nil;
402
+ NSArray *inputs = [self lookInputsOf:options context:context traits:traits pinned:pinned];
403
+ if (_lookInputs && ANNOptionValuesSame(_lookInputs, inputs) &&
404
+ ANNSameAppearance(item.standardAppearance, _lookStandard) &&
405
+ ANNSameAppearance(item.scrollEdgeAppearance, _lookEdge)) {
406
+ return;
407
+ }
373
408
  // The screen's own looks, filled whole and set again (the item copies them).
374
409
  UINavigationBarAppearance *standard =
375
410
  [item.standardAppearance copy] ?: [UINavigationBarAppearance new];
376
411
  UINavigationBarAppearance *edge =
377
412
  [item.scrollEdgeAppearance copy] ?: [UINavigationBarAppearance new];
378
- UITraitCollection *traits =
379
- screen.viewIfLoaded.window.traitCollection ?: screen.traitCollection;
380
413
  [ANNBarAppearance fillStandard:standard
381
414
  scrollEdge:edge
382
415
  withOptions:options
383
- context:[self appearanceContextOf:options]
416
+ context:context
384
417
  traits:traits];
385
- if (_pinnedTraits && ANNIsIOS26()) {
386
- [self pinTitleColorsOf:standard edge:edge options:options traits:_pinnedTraits];
418
+ if (pinned) {
419
+ [self pinTitleColorsOf:standard edge:edge options:options traits:pinned];
420
+ }
421
+ if (!ANNSameAppearance(item.standardAppearance, standard)) {
422
+ item.standardAppearance = standard;
387
423
  }
388
- item.standardAppearance = standard;
389
- item.scrollEdgeAppearance = edge;
424
+ if (!ANNSameAppearance(item.scrollEdgeAppearance, edge)) {
425
+ item.scrollEdgeAppearance = edge;
426
+ }
427
+ _lookInputs = inputs;
428
+ _lookStandard = item.standardAppearance;
429
+ _lookEdge = item.scrollEdgeAppearance;
430
+ }
431
+
432
+ // What `fillStandard:scrollEdge:withOptions:context:traits:` and the pin read: the bar's options by value, the
433
+ // image the back button's icon loads (a file written again at its path is another image), the context, the traits.
434
+ - (NSArray *)lookInputsOf:(ANNNavigationOptions *)options
435
+ context:(ANNBarAppearanceContext)context
436
+ traits:(UITraitCollection *)traits
437
+ pinned:(nullable UITraitCollection *)pinned {
438
+ ANNTopBarOptions *topBar = options.topBar;
439
+ Image *backIcon = topBar.backButton.icon;
440
+ ANNImageSource *source = backIcon.source;
441
+ BOOL loads = backIcon.hasValue && !(source && source.kind == ANNImageSourceKindSymbol);
442
+ id backImage = loads ? [backIcon withDefault:nil] : nil;
443
+ return @[
444
+ topBar.background, topBar.scrollEdgeAppearance, topBar.noBorder, topBar.borderColor,
445
+ topBar.title.font, topBar.title.color, topBar.largeTitle.font, topBar.largeTitle.color,
446
+ topBar.backButton, backImage ?: NSNull.null, @(context.transparentEdge),
447
+ @(context.largeTitleNeedsBackground), ANNLookTraitsOf(traits),
448
+ pinned ? ANNLookTraitsOf(pinned) : NSNull.null
449
+ ];
390
450
  }
391
451
 
392
452
  // The title colors resolved for `traits`: fixed colors that don't follow the glass's style.
@@ -414,7 +474,7 @@ static ANNUserChoice *ANNRenameChoice(NSString *title) {
414
474
  - (void)pinTitleColorAlong:(id<UIViewControllerTransitionCoordinator>)coordinator
415
475
  traits:(UITraitCollection *)traits {
416
476
  UIViewController *screen = _screen;
417
- if (!screen || !ANNIsIOS26()) {
477
+ if (!screen || !ANNIsGlass()) {
418
478
  return;
419
479
  }
420
480
  NSUInteger token = ++_pinToken;
@@ -461,7 +521,7 @@ static ANNUserChoice *ANNRenameChoice(NSString *title) {
461
521
  NSString *glass = [title.glass withDefault:nil];
462
522
  BOOL glassShows = NO;
463
523
  if (@available(iOS 26.0, *)) {
464
- glassShows = [ANNTitleGlassView isGlass:glass];
524
+ glassShows = ANNIsGlass() && [ANNTitleGlassView isGlass:glass];
465
525
  }
466
526
  [self applySubtitle:options glass:glassShows];
467
527
 
@@ -497,7 +557,7 @@ static ANNUserChoice *ANNRenameChoice(NSString *title) {
497
557
  }
498
558
  } else if (_titleComponent) {
499
559
  titleView = _titleComponent;
500
- } else if (!ANNIsIOS26() && subtitle.length > 0 && !ANNLargeTitleCanShow(options)) {
560
+ } else if (!ANNIsGlass() && subtitle.length > 0 && !ANNLargeTitleCanShow(options)) {
501
561
  // Before iOS 26 a subtitle is a two-label title, without a large title that can show.
502
562
  titleView = [[ANNTitleView alloc] initWithOptions:options];
503
563
  }
@@ -538,7 +598,8 @@ static ANNUserChoice *ANNRenameChoice(NSString *title) {
538
598
  if (_native && !subtitle.text.hasValue) {
539
599
  return;
540
600
  }
541
- if (text.length == 0) {
601
+ // The compatibility mode draws no system subtitle: a two-label title shows it, as before iOS 26.
602
+ if (text.length == 0 || !ANNIsGlass()) {
542
603
  item.attributedSubtitle = nil;
543
604
  item.largeAttributedSubtitle = nil;
544
605
  return;
@@ -590,7 +651,7 @@ static ANNUserChoice *ANNRenameChoice(NSString *title) {
590
651
  return NO;
591
652
  }
592
653
  CGFloat height = ANNTitleRowHeight;
593
- if (!ANNIsIOS26()) {
654
+ if (!ANNIsGlass()) {
594
655
  if (_screen.traitCollection.userInterfaceIdiom == UIUserInterfaceIdiomPad) {
595
656
  height = ANNTitleRowHeightPad;
596
657
  }
@@ -1029,8 +1090,10 @@ static ANNUserChoice *ANNRenameChoice(NSString *title) {
1029
1090
  ANNNavigationOptions *options = [screen resolveOptionsWithDefault];
1030
1091
  [_largeTitle screenDidDisappear:options list:[self followedList]];
1031
1092
  }
1032
- // The lists the screen set leave with it; its color and its React background leave the main list.
1033
- [self releaseLists];
1093
+ // The lists the screen set leave with it (the edge effects stay known for its next appearance); its color and its
1094
+ // React background leave the main list.
1095
+ [_edgeEffects screenDidDisappear];
1096
+ [self releaseListsKeepingEdgeEffects:YES];
1034
1097
  _bandKeepsLook = NO;
1035
1098
  // A swipe back given up: the screen keeps the bar's own look for its next appearance.
1036
1099
  if (band && screen) {
@@ -1039,7 +1102,13 @@ static ANNUserChoice *ANNRenameChoice(NSString *title) {
1039
1102
  }
1040
1103
 
1041
1104
  - (void)releaseLists {
1042
- [_edgeEffects reset];
1105
+ [self releaseListsKeepingEdgeEffects:NO];
1106
+ }
1107
+
1108
+ - (void)releaseListsKeepingEdgeEffects:(BOOL)keepEdgeEffects {
1109
+ if (!keepEdgeEffects) {
1110
+ [_edgeEffects reset];
1111
+ }
1043
1112
  [_largeTitle removeListFill];
1044
1113
  [_largeTitle removeTitlePlaceFill];
1045
1114
  [_largeTitle removeTitleHost];
@@ -1084,6 +1153,10 @@ static ANNUserChoice *ANNRenameChoice(NSString *title) {
1084
1153
  [weakSelf contentDidMount];
1085
1154
  }
1086
1155
  forKey:ANNTopBarMountKey];
1156
+ // The edge effect walks the screen again only after a mount. A native screen's views are the app's, never told; a
1157
+ // screen of one tree (`appProvider`) hears the mounts only in the window, so it walks at each appearance.
1158
+ [self edgeEffects].mountsReported =
1159
+ !_native && ![content isKindOfClass:ANNSlotScreenView.class];
1087
1160
  }
1088
1161
 
1089
1162
  // The list the bar follows at the top edge under a large title that folds into it: the main list of a React screen;
@@ -1224,7 +1297,7 @@ static ANNUserChoice *ANNRenameChoice(NSString *title) {
1224
1297
  return;
1225
1298
  }
1226
1299
  ANNNavigationOptions *options = [screen resolveOptionsWithDefault];
1227
- BOOL eligible = ANNIsIOS26() && [self isShownTop] && screen.viewIfLoaded.window != nil &&
1300
+ BOOL eligible = ANNIsGlass() && [self isShownTop] && screen.viewIfLoaded.window != nil &&
1228
1301
  [background isShownInBar:bar] &&
1229
1302
  [ANNLargeTitlePresenter collapsesIntoList:options] &&
1230
1303
  ![self inlineInRow:options];
@@ -22,8 +22,7 @@
22
22
  #import "ANNPreviewInteraction.h"
23
23
  #import "ANNPreviewPush.h"
24
24
  #import "ANNRootCoordinator.h"
25
- #import "ANNScreenInsets.h"
26
- #import "ANNScreenRegions.h"
25
+ #import "ANNScreenEnvironment.h"
27
26
  #import "ANNSlotHost.h"
28
27
  #import "ANNSplitViewCommands.h"
29
28
  #import "ANNSystemUI.h"
@@ -88,14 +87,14 @@ static BOOL ANNFindsScreen(NSString *componentId, ANNCommandAnswer *answer) {
88
87
  return NO;
89
88
  }
90
89
 
91
- // The module's call invoker and queue go to `ANNJavaScriptCalls`, so that a step of the core can come after the calls
90
+ // The module's call invoker goes to `ANNJavaScriptCalls`, so that a step of the core can come after the calls
92
91
  // JavaScript made (a push after the options of its screen's first commit).
93
92
  @interface ANNTurboModule () <RCTCallInvokerModule, RCTInitializing, RCTInvalidating>
94
93
  @end
95
94
 
96
- // Every asynchronous method takes the one path of `ANNCommandRunner`: on the module's queue the layout is read and
97
- // checked whole, then one task on the main queue runs the command with its area's class. A question answers at once on
98
- // the JavaScript thread what it answers before the first data.
95
+ // Every asynchronous method comes on the main queue and takes the one path of `ANNCommandRunner`: in that one task the
96
+ // layout is read and checked whole, then the command runs with its area's class. A question answers at once on the
97
+ // JavaScript thread what it answers before the first data.
99
98
  @implementation ANNTurboModule {
100
99
  BOOL _coldStart;
101
100
  id _splashLogo;
@@ -103,15 +102,20 @@ static BOOL ANNFindsScreen(NSString *componentId, ANNCommandAnswer *answer) {
103
102
 
104
103
  RCT_EXPORT_MODULE(ANNTurboModule)
105
104
 
106
- // React Native gives the module its shared queue through this (it has none of its own) and its call invoker, both
107
- // before `initialize`.
108
- @synthesize methodQueue = _methodQueue;
105
+ // React Native gives the module its call invoker before `initialize`.
109
106
  @synthesize callInvoker = _callInvoker;
110
107
 
111
108
  + (BOOL)requiresMainQueueSetup {
112
109
  return NO;
113
110
  }
114
111
 
112
+ // The asynchronous methods and `invalidate` come here, where every command runs: a call goes from the JavaScript thread
113
+ // straight to the main queue, without waiting behind other modules on React Native's shared queue and without a second
114
+ // hop. The synchronous questions stay on the JavaScript thread (React Native calls them there whatever the queue).
115
+ - (dispatch_queue_t)methodQueue {
116
+ return dispatch_get_main_queue();
117
+ }
118
+
115
119
  - (instancetype)init {
116
120
  if (self = [super init]) {
117
121
  @synchronized(ANNTurboModule.class) {
@@ -124,7 +128,7 @@ RCT_EXPORT_MODULE(ANNTurboModule)
124
128
  }
125
129
 
126
130
  - (void)initialize {
127
- [ANNJavaScriptCalls setCallInvoker:_callInvoker methodQueue:_methodQueue ofModule:self];
131
+ [ANNJavaScriptCalls setCallInvoker:_callInvoker ofModule:self];
128
132
  }
129
133
 
130
134
  - (void)invalidate {
@@ -338,7 +342,7 @@ RCT_EXPORT_MODULE(ANNTurboModule)
338
342
  }];
339
343
  }
340
344
 
341
- // The screens may be none here; the command rejects that with the id of its screen, on the module's queue too.
345
+ // The screens may be none here; the command rejects that with the id of its screen, in its check too.
342
346
  - (void)setStackRoot:(NSString *)commandId
343
347
  componentId:(NSString *)componentId
344
348
  layout:(NSArray *)layout
@@ -524,18 +528,18 @@ RCT_EXPORT_MODULE(ANNTurboModule)
524
528
 
525
529
  #pragma mark - Questions answered at once
526
530
 
527
- // The stores are written on the main queue and read here under their own locks: JavaScript reads them during a
528
- // screen's first render, so the answer never waits for the main queue.
531
+ // The screen's environment is written on the main queue and read here under its lock (the hinge under its own):
532
+ // JavaScript reads it during a screen's first render, so the answer never waits for the main queue.
529
533
  - (NSDictionary *)getArrangementState:(NSString *)componentId {
530
- return [ANNArrangementState stateForScreenId:componentId] ?: @{};
534
+ return [ANNScreenEnvironment arrangementForScreenId:componentId] ?: @{};
531
535
  }
532
536
 
533
537
  - (NSDictionary *)getScreenInsets:(NSString *)componentId {
534
- return [ANNScreenInsets insetsForScreenId:componentId] ?: @{};
538
+ return [ANNScreenEnvironment insetsForScreenId:componentId] ?: @{};
535
539
  }
536
540
 
537
541
  - (NSDictionary *)getScreenRegions:(NSString *)componentId {
538
- NSDictionary *regions = [ANNScreenRegions regionsForScreenId:componentId];
542
+ NSDictionary *regions = [ANNScreenEnvironment regionsForScreenId:componentId];
539
543
  const auto &keys = ANNEventContract.ScreenRegionsChanged;
540
544
  return regions ?: @{keys.division : @[], keys.occlusion : @[]};
541
545
  }
@@ -248,10 +248,14 @@ name and on one id for two screens.
248
248
 
249
249
  `usePreview(nativeID, { screen, props, actions })` works on iOS only. It arms a `pushPreview` from its screen: a push
250
250
  with an id of its own (`Preview14`) and a `preview` option (`nativeID`, `commit`, the menu without its handlers, a
251
- size). The native side builds the screen and gives the view with that `nativeID` a context menu that previews it. A tap
252
- on the preview pushes the screen, the push resolves, and the hook arms the next one. A press of a menu item comes as
253
- `buttonPressed` of the preview's id, and the hook calls its `onPress`. A preview that goes without being shown rejects
254
- its push, which the hook ignores.
251
+ size). The native side makes the screen's node at once and gives the view with that `nativeID` a context menu that
252
+ previews it; a React screen gets its own root and renders when a press starts (the menu's configuration call, about
253
+ 0.5 s before the preview), so a hundred previews hold no rendered screens until one is pressed. A screen of the one
254
+ tree (`appProvider`) and a native screen render at once. A tap on the preview pushes the screen, the push resolves, and
255
+ the hook arms the next one. A press of a menu item comes as `buttonPressed` of the preview's id, and the hook calls its
256
+ `onPress`. A preview that goes without being shown rejects its push, which the hook ignores. One that goes before its
257
+ first press never mounted a root, so the engine forgets what the push noted for it (`forgetUnmountedPreview` in
258
+ `src/engine/commands.ts`, after 1 s, unless a root of it mounted by then).
255
259
 
256
260
  ## The native side's contract
257
261
 
@@ -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":[]}
@@ -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({
@@ -12,7 +12,7 @@ import { dropReactRenderMeasures } from "./reactMeasures.js";
12
12
  import { columnOf, forgetPlace, layoutsOf, notePlaces, placeOf, stackOfColumn } from "./places.js";
13
13
  import { forgetProps } from "./props.js";
14
14
  import { forgetMergedOptions, rememberMergedOptions, rootGoesOut, sentRoot } from "./rememberedOptions.js";
15
- import { afterLoading } from "./screens.js";
15
+ import { afterLoading, hasRoot, isReactScreen } from "./screens.js";
16
16
  import { holdSlot, isSlotName, removeSlots, showSlot } from "./slots.js";
17
17
  import { forgetTabsScreen, showScreensFrom } from "./tabs.js";
18
18
 
@@ -201,10 +201,30 @@ export function push(componentId, layout, wanted = () => true) {
201
201
  // A screen with a key went back to the one with the same key: the new screen never shows.
202
202
  if (shownId !== node.id) forgetNeverShown(node.id);
203
203
  return shownId;
204
+ }, error => {
205
+ if (rendersAtPress(node)) forgetUnmountedPreview(node.id);
206
+ throw error;
204
207
  }));
205
208
  }));
206
209
  }
207
210
 
211
+ // A preview's React screen with a root of its own renders only once the view is pressed (iOS): one whose preview went
212
+ // before that never mounts. A screen of the one tree mounts with its slot, a native screen has no root.
213
+ function rendersAtPress(node) {
214
+ return node.data.options?.preview?.nativeID !== undefined && isReactScreen(node.data.name ?? '');
215
+ }
216
+
217
+ // A root started at a press that came just before the preview went can reach JavaScript after its push failed: without
218
+ // its props it would render the screen with none. Its notes go after this time, when no root of it has mounted by
219
+ // then; one that has clears them as it unmounts.
220
+ const PREVIEW_FORGET_DELAY = 1000;
221
+ function forgetUnmountedPreview(screenId) {
222
+ if (hasRoot(screenId)) return;
223
+ setTimeout(() => {
224
+ if (!hasRoot(screenId)) forgetNeverShown(screenId);
225
+ }, PREVIEW_FORGET_DELAY);
226
+ }
227
+
208
228
  // Everything a push noted for a screen that never mounts, which an unmount would clear.
209
229
  function forgetNeverShown(screenId) {
210
230
  forgetProps(screenId);
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","clearButtonHandlers","rememberDefaultOptions","rememberRoot","restoresRoot","nextId","toNativeLayout","whenNativeScreensReady","commands","native","toNativeOptions","dropReactRenderMeasures","columnOf","forgetPlace","layoutsOf","notePlaces","placeOf","stackOfColumn","forgetProps","forgetMergedOptions","rememberMergedOptions","rootGoesOut","sentRoot","afterLoading","holdSlot","isSlotName","removeSlots","showSlot","forgetTabsScreen","showScreensFrom","NODE_KINDS","checkIds","layouts","stack","seen","Set","visit","value","Array","isArray","forEach","key","item","Object","entries","id","includes","undefined","has","Error","shown","add","screenNames","names","named","name","push","setRoot","root","again","commandId","show","goneOut","layout","modals","map","overlays","modal","overlay","nodes","inOrder","sendShow","setDefaultOptions","options","shows","waitingShows","heldMerges","preparedScreens","mergeOptions","componentId","nativeOptions","send","prepared","some","size","after","run","number","delete","sendHeldMerges","result","error","then","merge","showWaitsUntil","shift","waiting","wanted","node","prepares","preparesPush","from","container","index","menu","layer","sendPush","shownId","forgetNeverShown","screenId","OS","type","data","preparedPushesSent","Promise","reject","before","sent","mine","resolve","queued","prepareAndPush","frame","preparePush","cancelPreparedPush","dismissPreview","previewId","catch","pop","popTo","popToRoot","setStackRoot","children","showInColumn","column","at","columnPlace","within","fromId","fromColumn","target","split","setColumnShown","showModal","dismissModal","dismissAllModals","showOverlay","dismissOverlay","dismissAllOverlays"],"sourceRoot":"../../../src","sources":["engine/commands.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","clearButtonHandlers","rememberDefaultOptions","rememberRoot","restoresRoot","nextId","toNativeLayout","whenNativeScreensReady","commands","native","toNativeOptions","dropReactRenderMeasures","columnOf","forgetPlace","layoutsOf","notePlaces","placeOf","stackOfColumn","forgetProps","forgetMergedOptions","rememberMergedOptions","rootGoesOut","sentRoot","afterLoading","hasRoot","isReactScreen","holdSlot","isSlotName","removeSlots","showSlot","forgetTabsScreen","showScreensFrom","NODE_KINDS","checkIds","layouts","stack","seen","Set","visit","value","Array","isArray","forEach","key","item","Object","entries","id","includes","undefined","has","Error","shown","add","screenNames","names","named","name","push","setRoot","root","again","commandId","show","goneOut","layout","modals","map","overlays","modal","overlay","nodes","inOrder","sendShow","setDefaultOptions","options","shows","waitingShows","heldMerges","preparedScreens","mergeOptions","componentId","nativeOptions","send","prepared","some","size","after","run","number","delete","sendHeldMerges","result","error","then","merge","showWaitsUntil","shift","waiting","wanted","node","prepares","preparesPush","from","container","index","menu","layer","sendPush","shownId","forgetNeverShown","rendersAtPress","forgetUnmountedPreview","data","preview","nativeID","PREVIEW_FORGET_DELAY","screenId","setTimeout","OS","type","preparedPushesSent","Promise","reject","before","sent","mine","resolve","queued","prepareAndPush","frame","preparePush","cancelPreparedPush","dismissPreview","previewId","catch","pop","popTo","popToRoot","setStackRoot","children","showInColumn","column","at","columnPlace","within","fromId","fromColumn","target","split","setColumnShown","showModal","dismissModal","dismissAllModals","showOverlay","dismissOverlay","dismissAllOverlays"],"sourceRoot":"../../../src","sources":["engine/commands.ts"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,12 @@ import { hasSlot } from "./slots.js";
15
15
  */
16
16
 
17
17
  /** What the root of a React screen renders: the screen's id, and the props the command gave it. */
18
+
19
+ /**
20
+ * What React Native gives the root of a React screen: the screen's id, its root tag (none in a slot of the app's one
21
+ * tree), and the props the native side gives that root, a tab cell's `tabIndex`, `selected`, `badge`, `dot` and
22
+ * `dotColor`.
23
+ */
18
24
  import { jsx as _jsx } from "react/jsx-runtime";
19
25
  const screens = new Map();
20
26
  const roots = new Map();
@@ -26,6 +32,11 @@ let unmounted;
26
32
  // has no tag: while the one tree shows a screen with the id, no root of that id lets it go.
27
33
  const owners = new Map();
28
34
 
35
+ /** Whether a React root of the screen with the id is mounted now (a slot of the app's one tree doesn't count). */
36
+ export function hasRoot(componentId) {
37
+ return owners.has(componentId);
38
+ }
39
+
29
40
  /** What runs when the root of a screen unmounts: the screen is gone. */
30
41
  export function onScreenUnmounted(listener) {
31
42
  unmounted = listener;
@@ -146,10 +157,25 @@ export function isReactScreen(name) {
146
157
  return screen !== undefined && 'component' in screen;
147
158
  }
148
159
 
160
+ /**
161
+ * The props a screen's component renders with: those a command left under its id ([stored]), the props the native side
162
+ * gave its root over them ([root]: a tab cell's state, which the docs promise arrives on top of `passProps`), and its
163
+ * id. The root tag stays with the root.
164
+ */
165
+ export function screenProps(stored, root) {
166
+ const props = {
167
+ ...stored,
168
+ ...root,
169
+ componentId: root.componentId
170
+ };
171
+ delete props.rootTag;
172
+ return props;
173
+ }
174
+
149
175
  /**
150
176
  * The root a React screen runs in: the screen with the props a command left for it under its id, and the new ones when
151
- * options give its id new props. React Native gives a root only its id (and its own root props, which stay here); the
152
- * slot of the app's one tree renders the same root.
177
+ * options give its id new props, under the props the native side gives the root ([screenProps]). The slot of the app's
178
+ * one tree renders the same root.
153
179
  */
154
180
  export function screenRoot(name) {
155
181
  const screen = screens.get(name);
@@ -192,8 +218,7 @@ export function screenRoot(name) {
192
218
  };
193
219
  }, [componentId, rootTag]);
194
220
  return /*#__PURE__*/_jsx(Screen, {
195
- ...props,
196
- componentId: componentId
221
+ ...screenProps(props, rootProps)
197
222
  });
198
223
  };
199
224
  root.displayName = `ScreenRoot(${name})`;
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useSyncExternalStore","AppRegistry","forgetPlace","forgetProps","isOptionsComponent","propsOf","watchProps","forgetMergedOptions","hasSlot","jsx","_jsx","screens","Map","roots","unmounted","owners","onScreenUnmounted","listener","registerScreen","name","screen","set","delete","registerComponent","screenRoot","loadScreens","names","named","flatMap","get","pair","primary","secondary","secondaries","arrangementOf","first","loadNames","then","loads","Set","loading","load","undefined","push","length","Promise","all","afterLoading","run","error","reject","screenKey","props","key","screenOptions","options","arrangement","checkArrangement","part","Error","checkArrangements","nativeScreenName","nativeName","nativeScreenController","controller","hasNativeScreenHooks","values","some","rendersInSlot","ownRoot","isReactScreen","root","Screen","component","ScreenRoot","rootProps","componentId","rootTag","watch","watcher","tags","add","size","displayName"],"sourceRoot":"../../../src","sources":["engine/screens.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useSyncExternalStore","AppRegistry","forgetPlace","forgetProps","isOptionsComponent","propsOf","watchProps","forgetMergedOptions","hasSlot","jsx","_jsx","screens","Map","roots","unmounted","owners","hasRoot","componentId","has","onScreenUnmounted","listener","registerScreen","name","screen","set","delete","registerComponent","screenRoot","loadScreens","names","named","flatMap","get","pair","primary","secondary","secondaries","arrangementOf","first","loadNames","then","loads","Set","loading","load","undefined","push","length","Promise","all","afterLoading","run","error","reject","screenKey","props","key","screenOptions","options","arrangement","checkArrangement","part","Error","checkArrangements","nativeScreenName","nativeName","nativeScreenController","controller","hasNativeScreenHooks","values","some","rendersInSlot","ownRoot","isReactScreen","screenProps","stored","root","rootTag","Screen","component","ScreenRoot","rootProps","watch","watcher","tags","add","size","displayName"],"sourceRoot":"../../../src","sources":["engine/screens.tsx"],"mappings":"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","ignoreList":[]}