@apexnative/navigation 1.0.0-alpha.3 → 1.0.0-alpha.4

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 (193) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/android/CLAUDE.md +17 -7
  3. package/android/CORE.md +8 -3
  4. package/android/RECIPES.md +9 -3
  5. package/android/src/main/java/dev/apexnative/navigation/NavigationApplication.kt +34 -13
  6. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutChecks.kt +5 -1
  7. package/android/src/main/java/dev/apexnative/navigation/layout/LayoutNode.kt +6 -2
  8. package/android/src/main/java/dev/apexnative/navigation/nativescreen/NativeScreenContext.kt +2 -2
  9. package/android/src/main/java/dev/apexnative/navigation/options/ButtonMenuOptions.kt +2 -2
  10. package/android/src/main/java/dev/apexnative/navigation/options/ButtonOptions.kt +2 -2
  11. package/android/src/main/java/dev/apexnative/navigation/options/OptionsCache.kt +8 -4
  12. package/android/src/main/java/dev/apexnative/navigation/options/UserChoices.kt +159 -0
  13. package/android/src/main/java/dev/apexnative/navigation/react/CommandAnswer.kt +2 -24
  14. package/android/src/main/java/dev/apexnative/navigation/react/CommandContract.kt +59 -0
  15. package/android/src/main/java/dev/apexnative/navigation/react/Hinge.kt +27 -19
  16. package/android/src/main/java/dev/apexnative/navigation/react/NavigationTurboModule.kt +5 -4
  17. package/android/src/main/java/dev/apexnative/navigation/react/PendingCalls.kt +48 -0
  18. package/android/src/main/java/dev/apexnative/navigation/react/events/AppearanceDispatcher.kt +17 -7
  19. package/android/src/main/java/dev/apexnative/navigation/slots/SlotContainers.kt +10 -7
  20. package/android/src/main/java/dev/apexnative/navigation/slots/SlotView.kt +4 -3
  21. package/android/src/main/java/dev/apexnative/navigation/slots/SlotViews.kt +40 -0
  22. package/android/src/main/java/dev/apexnative/navigation/utils/ImageKey.kt +66 -0
  23. package/android/src/main/java/dev/apexnative/navigation/utils/ImageLoader.kt +7 -89
  24. package/android/src/main/java/dev/apexnative/navigation/utils/ImageRequests.kt +76 -0
  25. package/android/src/main/java/dev/apexnative/navigation/utils/OptionImages.kt +262 -0
  26. package/android/src/main/java/dev/apexnative/navigation/utils/ViewController.kt +3 -1
  27. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/AppliedTabCalls.kt +49 -0
  28. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsController.kt +16 -6
  29. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/bottomtabs/BottomTabsPresenter.kt +25 -24
  30. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/ContentReadiness.kt +1 -1
  31. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/component/RenderWait.kt +27 -7
  32. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/modal/ModalCoordinator.kt +5 -5
  33. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/Navigator.kt +4 -3
  34. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/navigator/RootCoordinator.kt +6 -3
  35. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/overlay/OverlayCoordinator.kt +8 -8
  36. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/parent/Capabilities.kt +11 -4
  37. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/sidemenu/SideMenuController.kt +1 -1
  38. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitPanes.kt +23 -0
  39. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/splitview/SplitViewController.kt +58 -15
  40. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackCommands.kt +28 -18
  41. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackController.kt +16 -7
  42. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackDisplay.kt +2 -1
  43. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackQueue.kt +85 -29
  44. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/StackViews.kt +2 -2
  45. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/fab/FabPresenter.kt +7 -5
  46. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/search/StackSearchPresenter.kt +3 -3
  47. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/MenuChecks.kt +13 -56
  48. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/stack/topbar/TopBarPresenter.kt +10 -2
  49. package/android/src/main/java/dev/apexnative/navigation/viewcontrollers/viewcontroller/ViewController.kt +56 -21
  50. package/android/src/main/java/dev/apexnative/navigation/views/bottomtabs/BottomTabs.kt +4 -2
  51. package/android/src/main/java/dev/apexnative/navigation/views/stack/fab/Fab.kt +14 -10
  52. package/cli/doctor/checks/app.js +61 -13
  53. package/cli/migrate/native.js +18 -0
  54. package/cli/setup/source.js +2 -1
  55. package/cli/setup/steps/mainApplication.js +134 -19
  56. package/docs-md/architecture/transitions.md +6 -7
  57. package/docs-md/help/glossary.md +1 -1
  58. package/docs-md/help/troubleshooting.md +20 -3
  59. package/docs-md/index.json +4 -0
  60. package/docs-md/migration/from-react-native-navigation.md +8 -2
  61. package/docs-md/screen-ui/back-and-gestures.md +2 -2
  62. package/docs-md/start/installation.md +3 -1
  63. package/ios/CLAUDE.md +17 -5
  64. package/ios/CORE.md +13 -8
  65. package/ios/Contract/ANNCommandAnswer.mm +5 -20
  66. package/ios/Contract/ANNCommandContract.h +15 -0
  67. package/ios/Contract/ANNCommandContract.mm +78 -0
  68. package/ios/Core/ANNAppearanceDispatcher.mm +1 -1
  69. package/ios/Core/ANNErrorHandler.h +1 -1
  70. package/ios/Core/ANNErrorHandler.mm +3 -1
  71. package/ios/Core/ANNEventEmitter.h +1 -1
  72. package/ios/Core/ANNEventEmitter.mm +2 -2
  73. package/ios/Core/ANNJavaScriptCalls.h +34 -0
  74. package/ios/Core/ANNJavaScriptCalls.mm +61 -0
  75. package/ios/Core/ANNNavigationState.h +7 -3
  76. package/ios/Core/ANNNavigationState.mm +10 -5
  77. package/ios/Core/ANNNodeHelper.h +32 -12
  78. package/ios/Core/ANNNodeHelper.mm +100 -3
  79. package/ios/Core/ANNRenderWait.h +15 -1
  80. package/ios/Core/ANNRenderWait.mm +119 -17
  81. package/ios/Core/UIViewController+LayoutProtocol.h +9 -2
  82. package/ios/Core/UIViewController+LayoutProtocol.mm +8 -0
  83. package/ios/Layouts/Modal/ANNModalCoordinator.h +1 -1
  84. package/ios/Layouts/Modal/ANNModalCoordinator.mm +55 -14
  85. package/ios/Layouts/Screen/ANNComponentViewController.h +8 -0
  86. package/ios/Layouts/Screen/ANNComponentViewController.mm +32 -5
  87. package/ios/Layouts/Screen/ANNScreenPlace.h +41 -0
  88. package/ios/Layouts/Screen/ANNScreenPlace.mm +175 -0
  89. package/ios/Layouts/SplitView/ANNSplitViewCommands.h +3 -2
  90. package/ios/Layouts/SplitView/ANNSplitViewCommands.mm +105 -39
  91. package/ios/Layouts/SplitView/ANNSplitViewController.mm +4 -2
  92. package/ios/Layouts/Stack/ANNStackCommands.mm +1 -0
  93. package/ios/Layouts/Stack/ANNStackController.mm +26 -3
  94. package/ios/Layouts/Stack/ANNStackQueue.h +3 -1
  95. package/ios/Layouts/Stack/ANNStackQueue.mm +56 -43
  96. package/ios/Layouts/Stack/UINavigationController+ANNCommands.h +4 -2
  97. package/ios/Layouts/Stack/UINavigationController+ANNCommands.mm +2 -3
  98. package/ios/Layouts/Tabs/ANNBottomTabItemBuilder.h +4 -0
  99. package/ios/Layouts/Tabs/ANNBottomTabItemBuilder.mm +11 -0
  100. package/ios/Layouts/Tabs/ANNBottomTabsController.mm +13 -5
  101. package/ios/Layouts/Tabs/ANNBottomTabsPresenter.h +2 -2
  102. package/ios/Layouts/Tabs/ANNBottomTabsPresenter.mm +109 -7
  103. package/ios/Options/ANNOptionsCache.h +7 -6
  104. package/ios/Options/ANNSearchBarOptions.h +4 -3
  105. package/ios/Options/ANNUserChoice.h +57 -0
  106. package/ios/Options/ANNUserChoice.mm +44 -0
  107. package/ios/Options/Params/ANNImageSource.h +61 -0
  108. package/ios/Options/Params/ANNImageSource.mm +101 -0
  109. package/ios/Options/Params/ANNOptionImages.h +37 -0
  110. package/ios/Options/Params/ANNOptionImages.mm +284 -0
  111. package/ios/Options/Params/Image.h +11 -2
  112. package/ios/Options/Params/Image.mm +15 -2
  113. package/ios/Options/Params/ImageParser.h +5 -5
  114. package/ios/Options/Params/ImageParser.mm +28 -46
  115. package/ios/Public/ApexNavigation/ApexNavigation.h +1 -1
  116. package/ios/RECIPES.md +11 -5
  117. package/ios/React/Slots/ANNSlotComponentView.mm +24 -17
  118. package/ios/React/Slots/ANNSlotContainers.h +14 -6
  119. package/ios/React/Slots/ANNSlotContainers.mm +75 -2
  120. package/ios/TopBar/ANNBarButtons.h +9 -5
  121. package/ios/TopBar/ANNBarButtons.mm +211 -63
  122. package/ios/TopBar/ANNIconButtonImage.h +1 -0
  123. package/ios/TopBar/ANNIconButtonImage.mm +34 -1
  124. package/ios/TopBar/ANNLargeTitlePresenter.h +13 -0
  125. package/ios/TopBar/ANNLargeTitlePresenter.mm +26 -3
  126. package/ios/TopBar/ANNSearchPresenter.mm +170 -19
  127. package/ios/TopBar/ANNTopBarPresenter.h +5 -0
  128. package/ios/TopBar/ANNTopBarPresenter.mm +60 -11
  129. package/ios/TurboModules/ANNTurboModule.mm +39 -21
  130. package/lib/module/ARCHITECTURE.md +18 -18
  131. package/lib/module/adapters/NativeANNTurboModule.js.map +1 -1
  132. package/lib/module/api/navigation.js.map +1 -1
  133. package/lib/module/engine/commands.js +9 -7
  134. package/lib/module/engine/commands.js.map +1 -1
  135. package/lib/module/engine/layout.js +13 -9
  136. package/lib/module/engine/layout.js.map +1 -1
  137. package/lib/module/engine/options.js +44 -11
  138. package/lib/module/engine/options.js.map +1 -1
  139. package/lib/module/engine/places.js +44 -7
  140. package/lib/module/engine/places.js.map +1 -1
  141. package/lib/module/engine/props.js +30 -1
  142. package/lib/module/engine/props.js.map +1 -1
  143. package/lib/module/engine/rememberedOptions.js +1 -1
  144. package/lib/module/engine/rememberedOptions.js.map +1 -1
  145. package/lib/module/engine/screens.js +22 -12
  146. package/lib/module/engine/screens.js.map +1 -1
  147. package/lib/module/interfaces/contract/commands.json +101 -0
  148. package/lib/typescript/adapters/NativeANNTurboModule.d.ts +5 -2
  149. package/lib/typescript/adapters/NativeANNTurboModule.d.ts.map +1 -1
  150. package/lib/typescript/api/events/navigationEvents.d.ts +1 -1
  151. package/lib/typescript/api/events/navigationEvents.d.ts.map +1 -1
  152. package/lib/typescript/api/hooks/useNavigation.d.ts +1 -1
  153. package/lib/typescript/api/hooks/useNavigation.d.ts.map +1 -1
  154. package/lib/typescript/api/navigation.d.ts +4 -1
  155. package/lib/typescript/api/navigation.d.ts.map +1 -1
  156. package/lib/typescript/engine/commands.d.ts.map +1 -1
  157. package/lib/typescript/engine/options.d.ts +5 -2
  158. package/lib/typescript/engine/options.d.ts.map +1 -1
  159. package/lib/typescript/engine/places.d.ts +5 -2
  160. package/lib/typescript/engine/places.d.ts.map +1 -1
  161. package/lib/typescript/engine/props.d.ts +8 -1
  162. package/lib/typescript/engine/props.d.ts.map +1 -1
  163. package/lib/typescript/engine/rememberedOptions.d.ts.map +1 -1
  164. package/lib/typescript/engine/screens.d.ts.map +1 -1
  165. package/lib/typescript/interfaces/ComponentEvents.d.ts +2 -2
  166. package/lib/typescript/interfaces/ComponentEvents.d.ts.map +1 -1
  167. package/lib/typescript/interfaces/Events.d.ts +19 -10
  168. package/lib/typescript/interfaces/Events.d.ts.map +1 -1
  169. package/lib/typescript/interfaces/options/animations.d.ts +5 -2
  170. package/lib/typescript/interfaces/options/animations.d.ts.map +1 -1
  171. package/lib/typescript/interfaces/options/buttons.d.ts +13 -5
  172. package/lib/typescript/interfaces/options/buttons.d.ts.map +1 -1
  173. package/lib/typescript/interfaces/options/topBar.d.ts +22 -9
  174. package/lib/typescript/interfaces/options/topBar.d.ts.map +1 -1
  175. package/package.json +1 -1
  176. package/src/ARCHITECTURE.md +18 -18
  177. package/src/adapters/NativeANNTurboModule.ts +5 -2
  178. package/src/api/events/navigationEvents.ts +1 -1
  179. package/src/api/hooks/useNavigation.ts +1 -1
  180. package/src/api/navigation.ts +4 -1
  181. package/src/engine/commands.ts +19 -7
  182. package/src/engine/layout.ts +16 -9
  183. package/src/engine/options.ts +39 -11
  184. package/src/engine/places.ts +56 -7
  185. package/src/engine/props.ts +30 -1
  186. package/src/engine/rememberedOptions.ts +4 -1
  187. package/src/engine/screens.tsx +23 -13
  188. package/src/interfaces/ComponentEvents.ts +2 -2
  189. package/src/interfaces/Events.ts +19 -10
  190. package/src/interfaces/contract/commands.json +101 -0
  191. package/src/interfaces/options/animations.ts +5 -2
  192. package/src/interfaces/options/buttons.ts +13 -5
  193. package/src/interfaces/options/topBar.ts +22 -9
@@ -85,24 +85,24 @@ form of `src/api/events/navigationEvents.ts`. Everything in `src/engine` is inte
85
85
 
86
86
  ## `src/engine` — the engine
87
87
 
88
- | Module | What it does |
89
- | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
90
- | `native.ts` | `commands`: the TurboModule (`src/adapters/NativeANNTurboModule.ts`). `onNativeEvent(name, listener)`: one native event, `ANN.<name>`. iOS sends events through `ANNTurboEventEmitter`; Android without a module. `getLaunchLink()`: the URL that launched the native side, null without the native side (Jest). `getStartInfo()`: `{ coldStart, splashLogo, arrangements }`, asked once; without the native side a cold start without a logo and without arrangements. |
91
- | `layout.ts` | `toNativeLayout(layout)`: a `LayoutNode`, `{ id, type, data: { name, options, passProps?, functions?, key?, columns? }, children }`. For a screen, in this order: a name that shows a pair becomes an `Arrangement` node (see Pairs, regions and the hinge), an unknown name fails, its id, its own options under those of the show, the press handlers of its buttons taken out; then a native screen goes as an external component (`showNativeScreen`), a React screen with its `key`, its props kept here, as a slot in one tree. |
92
- | `options.ts` | `toNativeOptions(options)`: colors (iOS: a number, `DynamicColorIOS` or `'NoColor'`; Android: `{ light, dark }`), images (`require` resolved), components in options (`componentId`, their props kept here), the props of buttons with a component, the roots of the bar buttons' components (`*Buttons`, the toolbar's `buttons`) remembered. Options come in their own form only. |
93
- | `commands.ts` | `setRoot`, `push`, `pop`, `popTo`, `popToRoot`, `setStackRoot`, `showInColumn`, `setColumnShown`, `showModal`, `dismissModal`, `dismissAllModals`, `showOverlay`, `dismissOverlay`, `dismissAllOverlays`, `mergeOptions`, `setDefaultOptions`. One that shows screens waits for lazy ones (`afterLoading`), checks the ids (`checkIds`), notes the places and waits for the hooks of native screens (`whenNativeScreensReady`). On Android, in one tree, a push goes through `preparePush` first (see One command). |
94
- | `screens.tsx` | The screens by name: a React component with its options, `key`, `load` (a lazy screen) and `arrangement` (its pair, if it has a secondary), a native screen (`nativeName`, the controller of its `useProps`, `arrangement`), or a pair entry of `defineArrangement` (`pair`). `arrangementOf(name)`: the pair a name shows; `checkArrangements` at registration, `checkArrangement` when a lazy screen's pair shows. `loadScreens`/`afterLoading`: a command goes once its lazy screens loaded, at once when none waits. A React screen is registered with `AppRegistry` as a root (`screenRoot`) that renders it with the props left for its id. After a JavaScript reload React Native starts the old roots again under the new screens' ids: the root with the newest root tag owns the screen, and an older one that unmounts leaves it alone. |
95
- | `nativeScreens.ts` | The native screens shown, by id. Data props go as JSON (`passProps`); functions stay here, their names in `data.functions`, and the native side calls them (`ANN.NativeScreenCall`, answered with `resolveNativeScreenCall`). With `useProps`: the hidden host runs the hook (`startHost`, 5 s to start), the command waits for its first result, later changes go with `updateNativeScreenProps`. `ANN.NativeScreenReleased` forgets one. |
96
- | `props.ts` | The props of screens and of components in options, by id: a command puts them here before the native side creates the view; React Native passes a root only its id. Also which roots are the components of bar buttons (`isButtonRoot`): on iOS their wrapper centers the content in the slot. |
97
- | `events.ts` | `toScreenEvent(event)`: an event of a screen as `listeners`, `navigation.on`, the screen hooks and `onPress` get it: the screen as `screen: { id, name }`, without the fields of the native side. |
98
- | `places.ts` | Where each screen is, noted as the commands build their layouts: the root, a modal or an overlay, its stack and its index there, its side menu, its pair (`arrangement`: the pair's id and its placement; `alone` for a primary shown without one, `noteAlone`). The column of a split view each stack shows (`columnOf`, `stackOfColumn`), and whether a split view's columns show as one stack (`ANN.SplitViewColumnsStacked`, `listenToSplitViews`): `showInColumn` notes its screen first in the column's stack, or over the screen that asks in the compact column, and the first screen of a column over the one before it can pop (`coversColumn`). `canPop`, `canDismiss`, `dismiss` and `placeFor` read it at once; `isGone` knows the last screens that went. |
99
- | `buttons.ts` | The `onPress` handlers of the buttons of each screen and of their menu items, called on `NavigationButtonPressed`; the API gives the event its form (`setPressEvent`). |
100
- | `tabs.ts` | The press handlers of `Tab().onPress()`: they come with the tabs' layout, stay under the id the tabs are shown with, and go once every React screen shown in the tabs (pushed ones too) unmounted. |
101
- | `slots.ts` | One tree (`appProvider`): `slotName` sends a React screen as `slot:<name>`, the native side gives it an empty container, and the slot with its id in `SlotHost` renders it. `withSlots` takes back the slots of a failed command; `ANN.SlotDestroyed` removes one. For a push on Android: `holdSlot` (nothing renders until the native side laid the screen out), `showSlot` (at its `SlotFrame`; resolves once React committed it, `slotCommitted`), `preparedPadding` (the first padding of its safe area view). |
102
- | `launchState.ts` | The last root and default options: Android destroys the activity while JavaScript lives on and sends `AppLaunched` again; the app sets them again. |
103
- | `backListeners.ts` | Android: wraps `BackHandler.addEventListener` at the launch to count the listeners, and tells the native side whether there is one (`setBackListeners`): the navigation takes the back button only while it can go back or JavaScript listens. A listener added before the launch isn't counted. |
104
- | `reactMeasures.ts` | Development only: every command that shows or closes screens drops React's `performance.measure` entries of component renders (named after the component with U+200B in front). React Native keeps them without a limit, and a long session ran out of memory; the app's own measures stay. |
105
- | `ids.ts`, `mergeOptions.ts` | `nextId` and the merge of options; see Ids and Options in layers. |
88
+ | Module | What it does |
89
+ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
90
+ | `native.ts` | `commands`: the TurboModule (`src/adapters/NativeANNTurboModule.ts`). `onNativeEvent(name, listener)`: one native event, `ANN.<name>`. iOS sends events through `ANNTurboEventEmitter`; Android without a module. `getLaunchLink()`: the URL that launched the native side, null without the native side (Jest). `getStartInfo()`: `{ coldStart, splashLogo, arrangements }`, asked once; without the native side a cold start without a logo and without arrangements. |
91
+ | `layout.ts` | `toNativeLayout(layout)`: a `LayoutNode`, `{ id, type, data: { name, options, passProps?, functions?, key?, columns? }, children }`. For a screen, in this order: a name that shows a pair becomes an `Arrangement` node (see Pairs, regions and the hinge), an unknown name fails, its id, its own options under those of the show, the press handlers of its buttons taken out; then a native screen goes as an external component (`showNativeScreen`), a React screen with its `key`, its props kept here, as a slot in one tree. |
92
+ | `options.ts` | `toNativeOptions(options, owner)`: colors (iOS: a number, `DynamicColorIOS` or `'NoColor'`; Android: `{ light, dark }`), images (`require` resolved), components in options (`componentId`, their props kept here; without an `id` of their own, `<owner>/<place>/<name>`, e.g. `Component12/topBar.title/Clock`, a list item by its id where it has one (`topBar.rightButtons[Save]`), the same on every `mergeOptions` of the node, so the native side keeps the mounted root), the props of buttons with a component, the roots of the bar buttons' components (`*Buttons`, the toolbar's `buttons`) remembered. Options come in their own form only. |
93
+ | `commands.ts` | `setRoot`, `push`, `pop`, `popTo`, `popToRoot`, `setStackRoot`, `showInColumn`, `setColumnShown`, `showModal`, `dismissModal`, `dismissAllModals`, `showOverlay`, `dismissOverlay`, `dismissAllOverlays`, `mergeOptions`, `setDefaultOptions`. One that shows screens waits for lazy ones (`afterLoading`), checks the ids (`checkIds`), notes the places and waits for the hooks of native screens (`whenNativeScreensReady`). On Android, in one tree, a push goes through `preparePush` first (see One command). |
94
+ | `screens.tsx` | The screens by name: a React component with its options, `key`, `load` (a lazy screen) and `arrangement` (its pair, if it has a secondary), a native screen (`nativeName`, the controller of its `useProps`, `arrangement`), or a pair entry of `defineArrangement` (`pair`). `arrangementOf(name)`: the pair a name shows; `checkArrangements` at registration, `checkArrangement` when a lazy screen's pair shows. `loadScreens`/`afterLoading`: a command goes once its lazy screens loaded, at once when none waits. A React screen is registered with `AppRegistry` as a root (`screenRoot`) that renders it with the props left for its id. After a JavaScript reload React Native starts the old roots again under the new screens' ids: a root that unmounts while another root of the id is mounted leaves the screen alone. The props of a component the library named in options go with its node, not with a root (several roots may show one default). |
95
+ | `nativeScreens.ts` | The native screens shown, by id. Data props go as JSON (`passProps`); functions stay here, their names in `data.functions`, and the native side calls them (`ANN.NativeScreenCall`, answered with `resolveNativeScreenCall`). With `useProps`: the hidden host runs the hook (`startHost`, 5 s to start), the command waits for its first result, later changes go with `updateNativeScreenProps`. `ANN.NativeScreenReleased` forgets one. |
96
+ | `props.ts` | The props of screens and of components in options, by id: a command puts them here before the native side creates the view; React Native passes a root only its id. Also which roots are the components of bar buttons (`isButtonRoot`): on iOS their wrapper centers the content in the slot. |
97
+ | `events.ts` | `toScreenEvent(event)`: an event of a screen as `listeners`, `navigation.on`, the screen hooks and `onPress` get it: the screen as `screen: { id, name }`, without the fields of the native side. |
98
+ | `places.ts` | Where each screen is, noted as the commands build their layouts: the root, a modal or an overlay, its stack and its index there, its side menu, its pair (`arrangement`: the pair's id and its placement; `alone` for a primary shown without one, `noteAlone`). The column of a split view each stack shows (`columnOf`, `stackOfColumn`), and whether a split view's columns show as one stack (`ANN.SplitViewColumnsStacked`, `listenToSplitViews`): `showInColumn` notes its screen first in the column's stack, or over the screen that asks in the compact column, and the first screen of a column over the one before it can pop (`coversColumn`). `canPop`, `canDismiss`, `dismiss` and `placeFor` read it at once; `isGone` knows the last screens that went. It also notes the layouts each screen shows in (`layoutsOf`): a layout whose last screen went is gone, and so are the props of the components named in its options. |
99
+ | `buttons.ts` | The `onPress` handlers of the buttons of each screen and of their menu items, called on `NavigationButtonPressed`; the API gives the event its form (`setPressEvent`). |
100
+ | `tabs.ts` | The press handlers of `Tab().onPress()`: they come with the tabs' layout, stay under the id the tabs are shown with, and go once every React screen shown in the tabs (pushed ones too) unmounted. |
101
+ | `slots.ts` | One tree (`appProvider`): `slotName` sends a React screen as `slot:<name>`, the native side gives it an empty container, and the slot with its id in `SlotHost` renders it. `withSlots` takes back the slots of a failed command; `ANN.SlotDestroyed` removes one. For a push on Android: `holdSlot` (nothing renders until the native side laid the screen out), `showSlot` (at its `SlotFrame`; resolves once React committed it, `slotCommitted`), `preparedPadding` (the first padding of its safe area view). |
102
+ | `launchState.ts` | The last root and default options: Android destroys the activity while JavaScript lives on and sends `AppLaunched` again; the app sets them again. |
103
+ | `backListeners.ts` | Android: wraps `BackHandler.addEventListener` at the launch to count the listeners, and tells the native side whether there is one (`setBackListeners`): the navigation takes the back button only while it can go back or JavaScript listens. A listener added before the launch isn't counted. |
104
+ | `reactMeasures.ts` | Development only: every command that shows or closes screens drops React's `performance.measure` entries of component renders (named after the component with U+200B in front). React Native keeps them without a limit, and a long session ran out of memory; the app's own measures stay. |
105
+ | `ids.ts`, `mergeOptions.ts` | `nextId` and the merge of options; see Ids and Options in layers. |
106
106
 
107
107
  ## The start of the app
108
108
 
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["adapters/NativeANNTurboModule.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAA6C,cAAc;;AAEvF;AACA;AACA;AACA;AACA;;AA4FA;AACA,eAAeA,mBAAmB,CAACC,GAAG,CAAO,gBAAgB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["adapters/NativeANNTurboModule.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAA6C,cAAc;;AAEvF;AACA;AACA;AACA;AACA;;AA+FA;AACA,eAAeA,mBAAmB,CAACC,GAAG,CAAO,gBAAgB,CAAC","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":";;AAAA,SAASA,OAAO,QAAQ,uBAAoB;AAC5C,SAASC,SAAS,QAAQ,oBAAiB;AAC3C,SAASC,YAAY,QAAQ,oBAAiB;AAC9C,SAASC,WAAW,QAAwB,gBAAa;AACzD,OAAO,KAAKC,QAAQ,MAAM,wBAAqB;AAE/C,SAASC,OAAO,QAAQ,sBAAmB;AAC3C,SAASC,SAAS,EAAEC,QAAQ,QAAQ,yBAAsB;AAE1D,SAGEC,iBAAiB,QACZ,8BAA2B;AAClC,SAASC,SAAS,QAA0C,kBAAe;AAC3E,SAASC,kBAAkB,EAAwBC,YAAY,QAAQ,4BAAyB;AAGhG,SAASC,aAAa,EAAEC,aAAa,QAAQ,yBAAsB;AACnE,SAASC,cAAc,EAAEC,eAAe,EAAEC,cAAc,QAAQ,2BAAwB;AAExF,SAGEC,YAAY,EACZC,QAAQ,QACH,kBAAe;;AAYtB;;AA4HA;AACA,eAAeC,UAAUA,CAAA,EAAG;EAC1B,MAAMC,GAAG,GAAGlB,YAAY,CAAC,CAAC;EAC1B,IAAI,CAACkB,GAAG,EAAE;IACR,MAAM,IAAIC,KAAK,CACb,+FACF,CAAC;EACH;EACA,MAAMD,GAAG,CAACE,OAAO;EACjB,OAAOF,GAAG;AACZ;AAEA,SAASG,QAAQA,CAACC,MAAkB,EAAE,GAAGC,KAAgB,EAAiB;EACxE,OAAOpB,OAAO,CAAC,UAAU,EAAE,YAAY;IACrC,MAAMe,GAAG,GAAG,MAAMD,UAAU,CAAC,CAAC;IAC9B,MAAMO,IAAI,GACR,OAAOF,MAAM,KAAK,QAAQ,GAAGrB,WAAW,CAACiB,GAAG,CAACO,KAAK,EAAEH,MAAM,EAAEC,KAAK,CAAC,GAAGhB,SAAS,CAACe,MAAM,CAAC;IACxF,MAAMvB,SAAS,CAAC,MAAMD,OAAO,CAAC0B,IAAI,CAAC,CAAC;EACtC,CAAC,CAAC;AACJ;;AAEA;AACA,eAAeE,aAAaA,CAAA,EAAoB;EAC9C,MAAMT,UAAU,CAAC,CAAC;EAClB,MAAMU,MAAM,GAAGnB,kBAAkB,CAAC,CAAC,CAACmB,MAAM;EAC1C,IAAI,CAACA,MAAM,EAAE,MAAM,IAAIR,KAAK,CAAC,8DAA8D,CAAC;EAC5F,OAAOQ,MAAM,CAACC,EAAE;AAClB;;AAEA;AACA,SAASC,UAAUA,CAACC,KAAoC,EAAW;EACjE,MAAMH,MAAM,GAAGnB,kBAAkB,CAAC,CAAC,CAACmB,MAAM;EAC1C,OAAOA,MAAM,GAAGG,KAAK,CAACH,MAAM,CAACC,EAAE,CAAC,GAAG,KAAK;AAC1C;;AAEA;AACA,SAASG,WAAWA,CAAIC,IAAY,EAAEC,GAAqC,EAAc;EACvF,OAAO9B,OAAO,CAAC6B,IAAI,EAAE,YAAYC,GAAG,CAAC,MAAMP,aAAa,CAAC,CAAC,CAAC,CAAC;AAC9D;;AAEA;AACA,SAASQ,UAAUA,CAAIF,IAAY,EAAEC,GAAqB,EAAc;EACtE,OAAO9B,OAAO,CAAC6B,IAAI,EAAE,YAAY;IAC/B,MAAMf,UAAU,CAAC,CAAC;IAClB,OAAOgB,GAAG,CAAC,CAAC;EACd,CAAC,CAAC;AACJ;;AAEA;AACA,OAAO,MAAME,UAAyB,GAAG;EACvCd,QAAQ;EACRe,IAAI,EAAGA,CAACJ,IAAY,EAAEK,MAAmB,KACvCN,WAAW,CAAC,MAAM,EAAGH,EAAE,IAAK1B,QAAQ,CAACkC,IAAI,CAACR,EAAE,EAAEI,IAAI,EAAEK,MAAM,CAAC,CAA2B;EACxFC,GAAG,EAAEA,CAAA,KAAMP,WAAW,CAAC,KAAK,EAAGH,EAAE,IAAK1B,QAAQ,CAACoC,GAAG,CAACV,EAAE,CAAC,CAAC;EACvDW,KAAK,EAAGC,QAAQ,IAAKN,UAAU,CAAC,OAAO,EAAE,MAAMhC,QAAQ,CAACqC,KAAK,CAACC,QAAQ,CAAC,CAAC;EACxEC,SAAS,EAAEA,CAAA,KAAMV,WAAW,CAAC,WAAW,EAAGH,EAAE,IAAK1B,QAAQ,CAACuC,SAAS,CAACb,EAAE,CAAC,CAAC;EACzEc,OAAO,EAAGA,CAACV,IAAY,EAAEK,MAAmB,KAC1CN,WAAW,CAAC,SAAS,EAAGH,EAAE,IAAK1B,QAAQ,CAACwC,OAAO,CAACd,EAAE,EAAEI,IAAI,EAAEK,MAAM,CAAC,CAA8B;EACjGM,MAAM,EAAEA,CAAA,KAAMd,UAAU,CAAED,EAAE,IAAK1B,QAAQ,CAACyC,MAAM,CAACf,EAAE,CAAC,CAAC;EACrDgB,UAAU,EAAEA,CAAA,KAAMf,UAAU,CAAED,EAAE,IAAK1B,QAAQ,CAAC0C,UAAU,CAAChB,EAAE,CAAC,CAAC;EAC7DiB,MAAM,EAAEA,CAAA,KAAMd,WAAW,CAAC,QAAQ,EAAGH,EAAE,IAAK1B,QAAQ,CAAC2C,MAAM,CAACjB,EAAE,CAAC,CAAC;EAChEkB,UAAU,EAAGC,MAAM,IACjBhB,WAAW,CAAC,YAAY,EAAGH,EAAE,IAAK1B,QAAQ,CAAC8C,cAAc,CAACpB,EAAE,EAAEmB,MAAM,EAAE,IAAI,CAAC,CAAC;EAC9EE,UAAU,EAAGF,MAAM,IACjBhB,WAAW,CAAC,YAAY,EAAGH,EAAE,IAAK1B,QAAQ,CAAC8C,cAAc,CAACpB,EAAE,EAAEmB,MAAM,EAAE,KAAK,CAAC,CAAC;EAC/E1C,QAAQ,EAAG6C,IAAI,IAAKnB,WAAW,CAAC,UAAU,EAAGH,EAAE,IAAKvB,QAAQ,CAACuB,EAAE,EAAEsB,IAAI,CAAC,CAAC;EACvE9C,SAAS,EAAEA,CAAA,KAAM2B,WAAW,CAAC,WAAW,EAAGH,EAAE,IAAKxB,SAAS,CAACwB,EAAE,CAAC,CAAC;EAChEuB,SAAS,EAAEA,CAAA,KAAMtB,UAAU,CAAED,EAAE,IAAK1B,QAAQ,CAACyC,MAAM,CAACf,EAAE,CAAC,IAAI1B,QAAQ,CAAC0C,UAAU,CAAChB,EAAE,CAAC,CAAC;EACnFwB,QAAQ,EAAGA,CAAC,GAAGC,OAAqB,KAClCtB,WAAW,CAAC,UAAU,EAAGH,EAAE,IAAK1B,QAAQ,CAACkD,QAAQ,CAACxB,EAAE,EAAEyB,OAAO,CAAC,CAA+B;EAC/FC,YAAY,EAAGA,CAACtB,IAAY,EAAEK,MAAqB,KACjDN,WAAW,CAAC,cAAc,EAAGH,EAAE,IAC7B1B,QAAQ,CAACoD,YAAY,CAAC1B,EAAE,EAAEI,IAAI,EAAEK,MAAM,CACxC,CAAmC;EACrCkB,SAAS,EAAGA,CAACvB,IAAY,EAAEK,MAAoB,KAC7CH,UAAU,CAAC,WAAW,EAAE,MAAMhC,QAAQ,CAACqD,SAAS,CAACvB,IAAI,EAAEK,MAAM,CAAC,CAAgC;EAChGmB,YAAY,EAAGC,OAAO,IAAKvB,UAAU,CAAC,cAAc,EAAE,MAAMhC,QAAQ,CAACsD,YAAY,CAACC,OAAO,CAAC,CAAC;EAC3FC,gBAAgB,EAAEA,CAAA,KAAMxB,UAAU,CAAC,kBAAkB,EAAE,MAAMhC,QAAQ,CAACwD,gBAAgB,CAAC,CAAC,CAAC;EACzFC,WAAW,EAAGA,CAAC3B,IAAY,EAAEK,MAAsB,KACjDH,UAAU,CAAC,aAAa,EAAE,MACxBhC,QAAQ,CAACyD,WAAW,CAAC3B,IAAI,EAAEK,MAAM,CACnC,CAAkC;EACpCuB,cAAc,EAAGC,SAAS,IACxB3B,UAAU,CAAC,gBAAgB,EAAE,MAAMhC,QAAQ,CAAC0D,cAAc,CAACC,SAAS,CAAC,CAAC;EACxEC,kBAAkB,EAAEA,CAAA,KAAM5B,UAAU,CAAC,oBAAoB,EAAE,MAAMhC,QAAQ,CAAC4D,kBAAkB,CAAC,CAAC,CAAC;EAC/F;EACAC,SAAS,EAAGC,GAAG,IACbjC,WAAW,CAAC,WAAW,EAAE,MAAOH,EAAE,IAAK;IACrC,MAAMqC,KAAK,GAAGxD,YAAY,CAACuD,GAAG,CAAC;IAC/B9D,QAAQ,CAAC6D,SAAS,CAACnC,EAAE,EAAEoC,GAAG,CAAC;IAC3B,MAAMC,KAAK;EACb,CAAC,CAAC;EACJ;EACAC,WAAW,EAAEA,CAACC,KAAK,EAAEH,GAAG,KACtBA,GAAG,GACC9B,UAAU,CAAC,aAAa,EAAE,YAAYhC,QAAQ,CAACgE,WAAW,CAACF,GAAG,EAAEG,KAAK,EAAEH,GAAG,CAAC,CAAC,GAC5EjC,WAAW,CAAC,aAAa,EAAE,MAAOH,EAAE,IAAK1B,QAAQ,CAACgE,WAAW,CAACtC,EAAE,EAAEuC,KAAK,CAAC,CAAC;EAC/EnD,QAAQ;EACRD,YAAY;EACZqD,UAAU,EAAEA,CAAA,KAAM1D,aAAa,CAAoB,CAAC;EACpD2D,UAAU,EAAGC,IAAI,IAAK3D,aAAa,CAAoB2D,IAAI,CAAC;EAC5DC,QAAQ,EAAE/D,kBAAkB;EAC5BI,cAAc;EACdC,eAAe;EACf2D,gBAAgB,EAAEA,CAAA,KAAM1D,cAAc,CAAC,IAAI,CAAC;EAC5C2D,EAAE,EAAEnE;AACN,CAAC","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":[]}
@@ -9,7 +9,7 @@ import { whenNativeScreensReady } from "./nativeScreens.js";
9
9
  import { commands as native } from "./native.js";
10
10
  import { toNativeOptions } from "./options.js";
11
11
  import { dropReactRenderMeasures } from "./reactMeasures.js";
12
- import { columnOf, forgetPlace, notePlaces, placeOf, stackOfColumn } from "./places.js";
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
15
  import { afterLoading } from "./screens.js";
@@ -101,7 +101,7 @@ export function setRoot(root) {
101
101
  }
102
102
  export function setDefaultOptions(options) {
103
103
  rememberDefaultOptions(options);
104
- native.setDefaultOptions(toNativeOptions(options));
104
+ native.setDefaultOptions(toNativeOptions(options, 'defaultOptions'));
105
105
  }
106
106
 
107
107
  // The show commands that wait in JS, by number: for lazy screens to load, for the first props of native screens, for a
@@ -120,7 +120,7 @@ const preparedScreens = new Set();
120
120
  * engine remembers them by the node's id, so the root set again for a new launch of the native side shows them too.
121
121
  */
122
122
  export function mergeOptions(componentId, options) {
123
- const nativeOptions = toNativeOptions(options);
123
+ const nativeOptions = toNativeOptions(options, componentId);
124
124
  const send = () => {
125
125
  rememberMergedOptions(componentId, options);
126
126
  native.mergeOptions(componentId, nativeOptions);
@@ -196,7 +196,7 @@ export function push(componentId, layout, wanted = () => true) {
196
196
  showScreensFrom(componentId, node);
197
197
  // Over the screen it is pushed from, in its stack.
198
198
  const from = placeOf(componentId);
199
- notePlaces(node, from?.container ?? 'root', from?.stack ?? null, (from?.index ?? 0) + 1, from?.menu, from?.layer);
199
+ notePlaces(node, from?.container ?? 'root', from?.stack ?? null, (from?.index ?? 0) + 1, from?.menu, from?.layer, layoutsOf(componentId));
200
200
  return whenNativeScreensReady([node], () => sendPush(commandId, componentId, node, prepares, wanted, goneOut).then(shownId => {
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);
@@ -303,7 +303,7 @@ export function setStackRoot(componentId, children) {
303
303
  const nodes = children.map(toNativeLayout);
304
304
  nodes.forEach(node => showScreensFrom(componentId, node));
305
305
  const from = placeOf(componentId);
306
- nodes.forEach((node, index) => notePlaces(node, from?.container ?? 'root', from?.stack ?? null, index, from?.menu, from?.layer));
306
+ nodes.forEach((node, index) => notePlaces(node, from?.container ?? 'root', from?.stack ?? null, index, from?.menu, from?.layer, layoutsOf(componentId)));
307
307
  return whenNativeScreensReady(nodes, () => inOrder(() => sendShow(goneOut, () => native.setStackRoot(commandId, componentId, nodes))));
308
308
  }));
309
309
  }
@@ -316,7 +316,9 @@ export function showInColumn(componentId, column, layout) {
316
316
  showScreensFrom(componentId, node);
317
317
  const from = placeOf(componentId);
318
318
  const at = columnPlace(componentId, column);
319
- notePlaces(node, from?.container ?? 'root', at.stack, at.index, from?.menu, from?.layer);
319
+ // In the split view of the screen it comes from, and in the column's stack.
320
+ const within = at.stack ? [...layoutsOf(componentId), at.stack] : layoutsOf(componentId);
321
+ notePlaces(node, from?.container ?? 'root', at.stack, at.index, from?.menu, from?.layer, within);
320
322
  return whenNativeScreensReady([node], () => inOrder(() => sendShow(goneOut, () => native.showInColumn(commandId, componentId, column, node))));
321
323
  }));
322
324
  }
@@ -358,7 +360,7 @@ export function showModal(layout) {
358
360
  export function dismissModal(componentId, options) {
359
361
  dropReactRenderMeasures();
360
362
  const commandId = nextId('dismissModal');
361
- return inOrder(() => native.dismissModal(commandId, componentId, options && toNativeOptions(options)));
363
+ return inOrder(() => native.dismissModal(commandId, componentId, options && toNativeOptions(options, componentId)));
362
364
  }
363
365
  export function dismissAllModals(options) {
364
366
  dropReactRenderMeasures();
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","clearButtonHandlers","rememberDefaultOptions","rememberRoot","restoresRoot","nextId","toNativeLayout","whenNativeScreensReady","commands","native","toNativeOptions","dropReactRenderMeasures","columnOf","forgetPlace","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","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","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":[]}
@@ -75,7 +75,7 @@ function screen(component, inPair = false, keyed = !inPair) {
75
75
  type: 'Component',
76
76
  data: {
77
77
  name: rendersInSlot(name) ? slotName(id, name) : name,
78
- options: toNativeOptions(options),
78
+ options: toNativeOptions(options, id),
79
79
  ...(key !== undefined && {
80
80
  key
81
81
  })
@@ -136,23 +136,25 @@ function arrangement(component, name, pair) {
136
136
  };
137
137
  }
138
138
  function external(component) {
139
+ const id = component.id || nextId('ExternalComponent');
139
140
  return {
140
- id: component.id || nextId('ExternalComponent'),
141
+ id,
141
142
  type: 'ExternalComponent',
142
143
  data: {
143
144
  name: String(component.name),
144
- options: toNativeOptions(component.options),
145
+ options: toNativeOptions(component.options, id),
145
146
  passProps: component.passProps
146
147
  },
147
148
  children: []
148
149
  };
149
150
  }
150
151
  function parent(type, id, options, children = []) {
152
+ const nodeId = id || nextId(type);
151
153
  return {
152
- id: id || nextId(type),
154
+ id: nodeId,
153
155
  type,
154
156
  data: {
155
- options: toNativeOptions(options)
157
+ options: toNativeOptions(options, nodeId)
156
158
  },
157
159
  children: children.map(toNativeLayout)
158
160
  };
@@ -174,11 +176,12 @@ function sideMenu(menu) {
174
176
  data: {},
175
177
  children: [toNativeLayout(content)]
176
178
  });
179
+ const id = menu.id || nextId('SideMenuRoot');
177
180
  return {
178
- id: menu.id || nextId('SideMenuRoot'),
181
+ id,
179
182
  type: 'SideMenuRoot',
180
183
  data: {
181
- options: toNativeOptions(menu.options)
184
+ options: toNativeOptions(menu.options, id)
182
185
  },
183
186
  children: [...(menu.left ? [side('SideMenuLeft', menu.left)] : []), side('SideMenuCenter', menu.center), ...(menu.right ? [side('SideMenuRight', menu.right)] : [])]
184
187
  };
@@ -189,11 +192,12 @@ function sideMenu(menu) {
189
192
  function splitView(split) {
190
193
  const columns = [['primary', split.master], ['secondary', split.detail], ['supplementary', split.supplementary], ['compact', split.compact], ['inspector', split.inspector]].filter(column => column[1] !== undefined);
191
194
  const present = split.master && split.detail ? columns : [];
195
+ const id = split.id || nextId('SplitView');
192
196
  return {
193
- id: split.id || nextId('SplitView'),
197
+ id,
194
198
  type: 'SplitView',
195
199
  data: {
196
- options: toNativeOptions(split.options),
200
+ options: toNativeOptions(split.options, id),
197
201
  columns: present.map(([column]) => column)
198
202
  },
199
203
  children: present.map(([, content]) => toNativeLayout(content))
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","mergeOptions","takeButtonHandlers","nextId","showNativeScreen","toNativeOptions","setProps","getStartInfo","noteAlone","arrangementOf","checkArrangement","isReactScreen","nativeScreenName","rendersInSlot","screenKey","screenOptions","slotName","showTabs","TAB_PRESS_HANDLERS","MAX_ANDROID_BOTTOM_TABS","toNativeLayout","layout","sideMenu","bottomTabs","stack","id","options","children","parent","component","screen","externalComponent","external","splitView","Error","Object","keys","join","inPair","keyed","name","String","pair","undefined","arrangement","props","passProps","nativeName","node","own","key","type","data","secondaryProps","part","partName","partProps","primary","arrangements","alone","style","axes","fraction","primaryEdge","compact","secondary","map","tabs","count","length","OS","menu","side","content","left","center","right","split","columns","master","detail","supplementary","inspector","filter","column","present"],"sourceRoot":"../../../src","sources":["engine/layout.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","mergeOptions","takeButtonHandlers","nextId","showNativeScreen","toNativeOptions","setProps","getStartInfo","noteAlone","arrangementOf","checkArrangement","isReactScreen","nativeScreenName","rendersInSlot","screenKey","screenOptions","slotName","showTabs","TAB_PRESS_HANDLERS","MAX_ANDROID_BOTTOM_TABS","toNativeLayout","layout","sideMenu","bottomTabs","stack","id","options","children","parent","component","screen","externalComponent","external","splitView","Error","Object","keys","join","inPair","keyed","name","String","pair","undefined","arrangement","props","passProps","nativeName","node","own","key","type","data","secondaryProps","part","partName","partProps","primary","arrangements","alone","style","axes","fraction","primaryEdge","compact","secondary","nodeId","map","tabs","count","length","OS","menu","side","content","left","center","right","split","columns","master","detail","supplementary","inspector","filter","column","present"],"sourceRoot":"../../../src","sources":["engine/layout.ts"],"mappings":"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","ignoreList":[]}
@@ -2,16 +2,25 @@
2
2
 
3
3
  import { DynamicColorIOS, Image, Platform, processColor } from 'react-native';
4
4
  import { nextId } from "./ids.js";
5
- import { rememberButtonRoot, setProps } from "./props.js";
5
+ import { rememberButtonRoot, rememberOptionsComponent, setProps } from "./props.js";
6
6
  /**
7
7
  * The options as the native side reads them: colors in the format of the platform, images resolved, and every
8
8
  * component in them with an id of its own (its props stay in JavaScript). Options come in their own form only:
9
- * animations with `enter` and `exit`, `searchBar` and `interpolation` as objects.
9
+ * animations with `enter` and `exit`, `searchBar` and `interpolation` as objects. `owner` is the id of the node the
10
+ * options are for, or `'defaultOptions'`: a component without an id of its own gets one made of the owner, its place
11
+ * in the options and its name, the same for every `mergeOptions` of the node, so the native side keeps the mounted
12
+ * component and only its props change. Without an owner each conversion gives it a new one.
10
13
  */
11
- export function toNativeOptions(options) {
12
- return convert(options);
14
+ export function toNativeOptions(options, owner) {
15
+ return convert(options, undefined, {
16
+ owner,
17
+ path: ''
18
+ });
13
19
  }
14
20
 
21
+ // Where a value is in the options being converted: the node they are for, and the path to the value
22
+ // (`topBar.rightButtons[0].component`).
23
+
15
24
  /**
16
25
  * Options as the native side reads them over others, merged as the native side merges them: groups key by key, while
17
26
  * a color or an image, an object here too, replaces what was there as any value does. `undefined` keeps it.
@@ -30,11 +39,19 @@ export function mergeNativeOptions(base, over) {
30
39
  function isGroup(value) {
31
40
  return isFields(value) && !Array.isArray(value);
32
41
  }
33
- function convert(value, key) {
42
+ function convert(value, key, place) {
34
43
  if (key !== undefined && isColor(key)) return nativeColor(value);
35
44
  if (key !== undefined && isImage(key)) return nativeImage(value);
36
45
  if (Array.isArray(value)) {
37
- const items = value.map(item => convert(item));
46
+ // An item is known by its id where it has one (a button, a suggestion), so a component keeps its root when the
47
+ // list around it changes; by its place in the list otherwise.
48
+ const items = value.map((item, index) => {
49
+ const id = isFields(item) && typeof item.id === 'string' && item.id ? item.id : index;
50
+ return convert(item, undefined, {
51
+ ...place,
52
+ path: `${place.path}[${id}]`
53
+ });
54
+ });
38
55
  if (key?.endsWith('Buttons') || key === 'buttons') items.forEach(noteButtonRoot);
39
56
  return key?.endsWith('Buttons') ? items.map(takeButtonProps) : items;
40
57
  }
@@ -42,9 +59,13 @@ function convert(value, key) {
42
59
  const result = {};
43
60
  for (const [name, item] of Object.entries(withSymbols(value))) {
44
61
  // The props of a component are its own, not options.
45
- result[name] = name === 'passProps' ? item : convert(item, name);
62
+ const path = place.path ? `${place.path}.${name}` : name;
63
+ result[name] = name === 'passProps' ? item : convert(item, name, {
64
+ ...place,
65
+ path
66
+ });
46
67
  }
47
- return key === 'component' || key === 'resultsComponent' ? takeComponentProps(result) : result;
68
+ return key === 'component' || key === 'resultsComponent' ? takeComponentProps(result, place) : result;
48
69
  }
49
70
  function isColor(key) {
50
71
  return (key === 'color' || key.endsWith('Color')) && key !== 'bkgColor';
@@ -98,18 +119,30 @@ function isFields(value) {
98
119
  return typeof value === 'object' && value !== null;
99
120
  }
100
121
 
101
- // A component in the options gets an id; the native side creates it with that id, and its props wait here.
122
+ // A component in the options gets an id; the native side creates it with that id, and its props wait here. Without
123
+ // an id of its own it is the owner's, the place of the component (`topBar.title`, `topBar.rightButtons[Save]` by the
124
+ // button's id, `topBar.searchBar.resultsComponent`) and its name: another name there is another component.
102
125
  function takeComponentProps({
103
126
  passProps,
104
127
  ...component
105
- }) {
106
- const componentId = component.id || nextId('CustomComponent');
128
+ }, place) {
129
+ const componentId = component.id || componentIdAt(place, component.name);
107
130
  if (passProps) setProps(componentId, passProps);
108
131
  return {
109
132
  ...component,
110
133
  componentId
111
134
  };
112
135
  }
136
+ function componentIdAt({
137
+ owner,
138
+ path
139
+ }, name) {
140
+ if (owner === undefined) return nextId('CustomComponent');
141
+ const at = path.endsWith('.component') ? path.slice(0, -'.component'.length) : path;
142
+ const id = `${owner}/${at}/${String(name)}`;
143
+ rememberOptionsComponent(owner, id);
144
+ return id;
145
+ }
113
146
 
114
147
  // The component of a bar button (the top bar's `*Buttons`, the toolbar's `buttons`) is a root the native side only
115
148
  // sizes: its wrapper centers the content in the button's slot.
@@ -1 +1 @@
1
- {"version":3,"names":["DynamicColorIOS","Image","Platform","processColor","nextId","rememberButtonRoot","setProps","toNativeOptions","options","convert","mergeNativeOptions","base","over","result","key","next","Object","entries","undefined","previous","isColor","isImage","isGroup","value","isFields","Array","isArray","nativeColor","nativeImage","items","map","item","endsWith","forEach","noteButtonRoot","takeButtonProps","name","withSymbols","takeComponentProps","SYMBOL_FIELDS","icon","selectedIcon","isPlatformIcon","fields","field","symbolField","own","OS","ios","android","system","resolveAssetSource","passProps","component","componentId","id","button","rest","iosColor","androidColor","pair","dynamic","light","dark","color","appearance"],"sourceRoot":"../../../src","sources":["engine/options.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DynamicColorIOS","Image","Platform","processColor","nextId","rememberButtonRoot","rememberOptionsComponent","setProps","toNativeOptions","options","owner","convert","undefined","path","mergeNativeOptions","base","over","result","key","next","Object","entries","previous","isColor","isImage","isGroup","value","isFields","Array","isArray","place","nativeColor","nativeImage","items","map","item","index","id","endsWith","forEach","noteButtonRoot","takeButtonProps","name","withSymbols","takeComponentProps","SYMBOL_FIELDS","icon","selectedIcon","isPlatformIcon","fields","field","symbolField","own","OS","ios","android","system","resolveAssetSource","passProps","component","componentId","componentIdAt","at","slice","length","String","button","rest","iosColor","androidColor","pair","dynamic","light","dark","color","appearance"],"sourceRoot":"../../../src","sources":["engine/options.ts"],"mappings":";;AAAA,SAASA,eAAe,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,YAAY,QAAQ,cAAc;AAE7E,SAASC,MAAM,QAAQ,UAAO;AAC9B,SAASC,kBAAkB,EAAEC,wBAAwB,EAAEC,QAAQ,QAAQ,YAAS;AAIhF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAIC,OAAU,EAAEC,KAAc,EAAK;EAChE,OAAOC,OAAO,CAACF,OAAO,EAAEG,SAAS,EAAE;IAAEF,KAAK;IAAEG,IAAI,EAAE;EAAG,CAAC,CAAC;AACzD;;AAEA;AACA;;AAMA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAmBC,IAAO,EAAEC,IAAO,EAAK;EACxE,MAAMC,MAAM,GAAG;IAAE,GAAGF;EAAK,CAAW;EACpC,KAAK,MAAM,CAACG,GAAG,EAAEC,IAAI,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,IAAI,CAAC,EAAE;IAC9C,IAAIG,IAAI,KAAKP,SAAS,EAAE;IACxB,MAAMU,QAAQ,GAAGL,MAAM,CAACC,GAAG,CAAC;IAC5BD,MAAM,CAACC,GAAG,CAAC,GACT,CAACK,OAAO,CAACL,GAAG,CAAC,IAAI,CAACM,OAAO,CAACN,GAAG,CAAC,IAAIO,OAAO,CAACH,QAAQ,CAAC,IAAIG,OAAO,CAACN,IAAI,CAAC,GAChEL,kBAAkB,CAACQ,QAAQ,EAAEH,IAAI,CAAC,GAClCA,IAAI;EACZ;EACA,OAAOF,MAAM;AACf;AAEA,SAASQ,OAAOA,CAACC,KAAc,EAAmB;EAChD,OAAOC,QAAQ,CAACD,KAAK,CAAC,IAAI,CAACE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC;AACjD;AAEA,SAASf,OAAOA,CAACe,KAAc,EAAER,GAAuB,EAAEY,KAAY,EAAW;EAC/E,IAAIZ,GAAG,KAAKN,SAAS,IAAIW,OAAO,CAACL,GAAG,CAAC,EAAE,OAAOa,WAAW,CAACL,KAAK,CAAC;EAChE,IAAIR,GAAG,KAAKN,SAAS,IAAIY,OAAO,CAACN,GAAG,CAAC,EAAE,OAAOc,WAAW,CAACN,KAAK,CAAC;EAChE,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;IACxB;IACA;IACA,MAAMO,KAAK,GAAGP,KAAK,CAACQ,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,KAAK;MACvC,MAAMC,EAAE,GAAGV,QAAQ,CAACQ,IAAI,CAAC,IAAI,OAAOA,IAAI,CAACE,EAAE,KAAK,QAAQ,IAAIF,IAAI,CAACE,EAAE,GAAGF,IAAI,CAACE,EAAE,GAAGD,KAAK;MACrF,OAAOzB,OAAO,CAACwB,IAAI,EAAEvB,SAAS,EAAE;QAAE,GAAGkB,KAAK;QAAEjB,IAAI,EAAE,GAAGiB,KAAK,CAACjB,IAAI,IAAIwB,EAAE;MAAI,CAAC,CAAC;IAC7E,CAAC,CAAC;IACF,IAAInB,GAAG,EAAEoB,QAAQ,CAAC,SAAS,CAAC,IAAIpB,GAAG,KAAK,SAAS,EAAEe,KAAK,CAACM,OAAO,CAACC,cAAc,CAAC;IAChF,OAAOtB,GAAG,EAAEoB,QAAQ,CAAC,SAAS,CAAC,GAAGL,KAAK,CAACC,GAAG,CAACO,eAAe,CAAC,GAAGR,KAAK;EACtE;EACA,IAAI,CAACN,QAAQ,CAACD,KAAK,CAAC,EAAE,OAAOA,KAAK;EAClC,MAAMT,MAAc,GAAG,CAAC,CAAC;EACzB,KAAK,MAAM,CAACyB,IAAI,EAAEP,IAAI,CAAC,IAAIf,MAAM,CAACC,OAAO,CAACsB,WAAW,CAACjB,KAAK,CAAC,CAAC,EAAE;IAC7D;IACA,MAAMb,IAAI,GAAGiB,KAAK,CAACjB,IAAI,GAAG,GAAGiB,KAAK,CAACjB,IAAI,IAAI6B,IAAI,EAAE,GAAGA,IAAI;IACxDzB,MAAM,CAACyB,IAAI,CAAC,GAAGA,IAAI,KAAK,WAAW,GAAGP,IAAI,GAAGxB,OAAO,CAACwB,IAAI,EAAEO,IAAI,EAAE;MAAE,GAAGZ,KAAK;MAAEjB;IAAK,CAAC,CAAC;EACtF;EACA,OAAOK,GAAG,KAAK,WAAW,IAAIA,GAAG,KAAK,kBAAkB,GACpD0B,kBAAkB,CAAC3B,MAAM,EAAEa,KAAK,CAAC,GACjCb,MAAM;AACZ;AAEA,SAASM,OAAOA,CAACL,GAAW,EAAW;EACrC,OAAO,CAACA,GAAG,KAAK,OAAO,IAAIA,GAAG,CAACoB,QAAQ,CAAC,OAAO,CAAC,KAAKpB,GAAG,KAAK,UAAU;AACzE;AAEA,SAASM,OAAOA,CAACN,GAAW,EAAW;EACrC,OAAOA,GAAG,KAAK,MAAM,IAAIA,GAAG,KAAK,OAAO,IAAIA,GAAG,CAACoB,QAAQ,CAAC,MAAM,CAAC,IAAIpB,GAAG,CAACoB,QAAQ,CAAC,OAAO,CAAC;AAC3F;;AAEA;AACA,MAAMO,aAAa,GAAG;EAAEC,IAAI,EAAE,UAAU;EAAEC,YAAY,EAAE;AAAmB,CAAU;;AAErF;AACA,SAASC,cAAcA,CAACtB,KAAc,EAAiD;EACrF,OACEC,QAAQ,CAACD,KAAK,CAAC,IACf,CAACE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,IACrB,EAAE,KAAK,IAAIA,KAAK,CAAC,KAChB,KAAK,IAAIA,KAAK,IAAI,SAAS,IAAIA,KAAK,CAAC;AAE1C;;AAEA;AACA,SAASiB,WAAWA,CAACM,MAAc,EAAU;EAC3C,IAAIhC,MAAM,GAAGgC,MAAM;EACnB,KAAK,MAAM,CAACC,KAAK,EAAEC,WAAW,CAAC,IAAI/B,MAAM,CAACC,OAAO,CAACwB,aAAa,CAAC,EAAE;IAChE,MAAMC,IAAI,GAAGG,MAAM,CAACC,KAAK,CAAC;IAC1B,IAAI,CAACF,cAAc,CAACF,IAAI,CAAC,EAAE;IAC3B,MAAMM,GAAG,GAAGlD,QAAQ,CAACmD,EAAE,KAAK,KAAK,GAAGP,IAAI,CAACQ,GAAG,GAAGR,IAAI,CAACS,OAAO;IAC3DtC,MAAM,GAAG;MAAE,GAAGA;IAAO,CAAC;IACtB,OAAOA,MAAM,CAACiC,KAAK,CAAC;IACpB,IAAIE,GAAG,KAAKxC,SAAS,EAAE;IACvB,IAAIV,QAAQ,CAACmD,EAAE,KAAK,KAAK,IAAI,OAAOD,GAAG,KAAK,QAAQ,EAAEnC,MAAM,CAACkC,WAAW,CAAC,GAAGC,GAAG,CAAC,KAC3EnC,MAAM,CAACiC,KAAK,CAAC,GAAGE,GAAG;EAC1B;EACA,OAAOnC,MAAM;AACf;;AAEA;AACA,SAASe,WAAWA,CAACN,KAAc,EAAW;EAC5C,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAOA,KAAK;EACrD,IAAIsB,cAAc,CAACtB,KAAK,CAAC,EAAE;IACzB,MAAM0B,GAAG,GAAGlD,QAAQ,CAACmD,EAAE,KAAK,KAAK,GAAG3B,KAAK,CAAC4B,GAAG,GAAG5B,KAAK,CAAC6B,OAAO;IAC7D,IAAIH,GAAG,KAAKxC,SAAS,EAAE,OAAOA,SAAS;IACvC,IAAI,OAAOwC,GAAG,KAAK,QAAQ,EAAE,OAAOlD,QAAQ,CAACmD,EAAE,KAAK,KAAK,GAAG;MAAEG,MAAM,EAAEJ;IAAI,CAAC,GAAGA,GAAG;IACjF,OAAOnD,KAAK,CAACwD,kBAAkB,CAACL,GAA0B,CAAC;EAC7D;EACA,OAAOnD,KAAK,CAACwD,kBAAkB,CAAC/B,KAA4B,CAAC;AAC/D;AAEA,SAASC,QAAQA,CAACD,KAAc,EAAmB;EACjD,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI;AACpD;;AAEA;AACA;AACA;AACA,SAASkB,kBAAkBA,CAAC;EAAEc,SAAS;EAAE,GAAGC;AAAkB,CAAC,EAAE7B,KAAY,EAAU;EACrF,MAAM8B,WAAW,GAAID,SAAS,CAACtB,EAAE,IAA2BwB,aAAa,CAAC/B,KAAK,EAAE6B,SAAS,CAACjB,IAAI,CAAC;EAChG,IAAIgB,SAAS,EAAEnD,QAAQ,CAACqD,WAAW,EAAEF,SAAmB,CAAC;EACzD,OAAO;IAAE,GAAGC,SAAS;IAAEC;EAAY,CAAC;AACtC;AAEA,SAASC,aAAaA,CAAC;EAAEnD,KAAK;EAAEG;AAAY,CAAC,EAAE6B,IAAa,EAAU;EACpE,IAAIhC,KAAK,KAAKE,SAAS,EAAE,OAAOR,MAAM,CAAC,iBAAiB,CAAC;EACzD,MAAM0D,EAAE,GAAGjD,IAAI,CAACyB,QAAQ,CAAC,YAAY,CAAC,GAAGzB,IAAI,CAACkD,KAAK,CAAC,CAAC,EAAE,CAAC,YAAY,CAACC,MAAM,CAAC,GAAGnD,IAAI;EACnF,MAAMwB,EAAE,GAAG,GAAG3B,KAAK,IAAIoD,EAAE,IAAIG,MAAM,CAACvB,IAAI,CAAC,EAAE;EAC3CpC,wBAAwB,CAACI,KAAK,EAAE2B,EAAE,CAAC;EACnC,OAAOA,EAAE;AACX;;AAEA;AACA;AACA,SAASG,cAAcA,CAAC0B,MAAe,EAAQ;EAC7C,MAAMP,SAAS,GAAGhC,QAAQ,CAACuC,MAAM,CAAC,GAAGA,MAAM,CAACP,SAAS,GAAG/C,SAAS;EACjE,IAAIe,QAAQ,CAACgC,SAAS,CAAC,IAAI,OAAOA,SAAS,CAACC,WAAW,KAAK,QAAQ,EAAE;IACpEvD,kBAAkB,CAACsD,SAAS,CAACC,WAAW,CAAC;EAC3C;AACF;;AAEA;AACA,SAASnB,eAAeA,CAACyB,MAAe,EAAW;EACjD,IAAI,CAACvC,QAAQ,CAACuC,MAAM,CAAC,IAAI,CAACA,MAAM,CAACR,SAAS,IAAI,CAACQ,MAAM,CAAC7B,EAAE,EAAE,OAAO6B,MAAM;EACvE,MAAM;IAAER,SAAS;IAAE,GAAGS;EAAK,CAAC,GAAGD,MAAM;EACrC3D,QAAQ,CAAC2D,MAAM,CAAC7B,EAAE,EAAYqB,SAAmB,CAAC;EAClD,OAAOS,IAAI;AACb;AAEA,SAASpC,WAAWA,CAACL,KAAc,EAAW;EAC5C,IAAIA,KAAK,KAAKd,SAAS,EAAE,OAAOA,SAAS;EACzC,OAAOV,QAAQ,CAACmD,EAAE,KAAK,KAAK,GAAGe,QAAQ,CAAC1C,KAAK,CAAC,GAAG2C,YAAY,CAAC3C,KAAK,CAAC;AACtE;;AAEA;AACA,SAAS0C,QAAQA,CAAC1C,KAAc,EAAW;EACzC,IAAIA,KAAK,KAAK,IAAI,EAAE,OAAO,SAAS;EACpC,IAAI,CAACC,QAAQ,CAACD,KAAK,CAAC,EAAE,OAAOvB,YAAY,CAACuB,KAAmB,CAAC;EAC9D,IAAI,UAAU,IAAIA,KAAK,EAAE,OAAOA,KAAK;EACrC,MAAM4C,IAAI,GAAI,SAAS,IAAI5C,KAAK,GAAGA,KAAK,CAAC6C,OAAO,GAAG7C,KAGlD;EACD,OAAO1B,eAAe,CAAC;IACrBwE,KAAK,EAAErE,YAAY,CAACmE,IAAI,CAACE,KAAK,CAAe;IAC7CC,IAAI,EAAEtE,YAAY,CAACmE,IAAI,CAACG,IAAI;EAC9B,CAAC,CAAC;AACJ;;AAEA;AACA,SAASJ,YAAYA,CAAC3C,KAAc,EAAW;EAC7C,MAAM4C,IAAY,GAAG;IAAEG,IAAI,EAAE,SAAS;IAAED,KAAK,EAAE;EAAU,CAAC;EAC1D,IAAI9C,KAAK,KAAK,IAAI,EAAE,OAAO4C,IAAI;EAC/B,IAAI,CAAC3C,QAAQ,CAACD,KAAK,CAAC,EAAE;IACpB,MAAMgD,KAAK,GAAGvE,YAAY,CAACuB,KAAmB,CAAC;IAC/C,OAAO;MAAE+C,IAAI,EAAEC,KAAK;MAAEF,KAAK,EAAEE;IAAM,CAAC;EACtC;EACA,IAAI,UAAU,IAAIhD,KAAK,IAAI,gBAAgB,IAAIA,KAAK,EAAE,OAAOA,KAAK;EAClE,KAAK,MAAM,CAACiD,UAAU,EAAED,KAAK,CAAC,IAAItD,MAAM,CAACC,OAAO,CAACK,KAAK,CAAC,EAAE;IACvD4C,IAAI,CAACK,UAAU,CAAC,GAAGxE,YAAY,CAACuE,KAAmB,CAAC;EACtD;EACA,OAAOJ,IAAI;AACb","ignoreList":[]}