@ohos-ports/react-native-navigation 8.9.0-beta.12 → 8.9.0-beta.2

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 (271) hide show
  1. package/README.md +13 -11
  2. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/statusbar/StatusBarPresenter.kt +212 -0
  3. package/lib/module/ARCHITECTURE.md +331 -0
  4. package/lib/module/Mock/Application.js +33 -0
  5. package/lib/module/Mock/Application.js.map +1 -0
  6. package/lib/module/Mock/ComponentProps.js +4 -0
  7. package/lib/module/Mock/ComponentProps.js.map +1 -0
  8. package/lib/module/Mock/Components/BottomTabs.js +16 -0
  9. package/lib/module/Mock/Components/BottomTabs.js.map +1 -0
  10. package/lib/module/Mock/Components/ComponentScreen.js +101 -0
  11. package/lib/module/Mock/Components/ComponentScreen.js.map +1 -0
  12. package/lib/module/Mock/Components/LayoutComponent.js +50 -0
  13. package/lib/module/Mock/Components/LayoutComponent.js.map +1 -0
  14. package/lib/module/Mock/Components/Modals.js +22 -0
  15. package/lib/module/Mock/Components/Modals.js.map +1 -0
  16. package/lib/module/Mock/Components/NavigationButton.js +72 -0
  17. package/lib/module/Mock/Components/NavigationButton.js.map +1 -0
  18. package/lib/module/Mock/Components/Overlays.js +23 -0
  19. package/lib/module/Mock/Components/Overlays.js.map +1 -0
  20. package/lib/module/Mock/Components/SideMenu.js +29 -0
  21. package/lib/module/Mock/Components/SideMenu.js.map +1 -0
  22. package/lib/module/Mock/Components/Stack.js +18 -0
  23. package/lib/module/Mock/Components/Stack.js.map +1 -0
  24. package/lib/module/Mock/Components/TopBar.js +81 -0
  25. package/lib/module/Mock/Components/TopBar.js.map +1 -0
  26. package/lib/module/Mock/Layouts/BottomTabsNode.js +30 -0
  27. package/lib/module/Mock/Layouts/BottomTabsNode.js.map +1 -0
  28. package/lib/module/Mock/Layouts/ComponentNode.js +102 -0
  29. package/lib/module/Mock/Layouts/ComponentNode.js.map +1 -0
  30. package/lib/module/Mock/Layouts/LayoutNodeFactory.js +28 -0
  31. package/lib/module/Mock/Layouts/LayoutNodeFactory.js.map +1 -0
  32. package/lib/module/Mock/Layouts/Node.js +14 -0
  33. package/lib/module/Mock/Layouts/Node.js.map +1 -0
  34. package/lib/module/Mock/Layouts/ParentNode.js +66 -0
  35. package/lib/module/Mock/Layouts/ParentNode.js.map +1 -0
  36. package/lib/module/Mock/Layouts/SideMenu.js +72 -0
  37. package/lib/module/Mock/Layouts/SideMenu.js.map +1 -0
  38. package/lib/module/Mock/Layouts/StackNode.js +12 -0
  39. package/lib/module/Mock/Layouts/StackNode.js.map +1 -0
  40. package/lib/module/Mock/Stores/EventsStore.js +53 -0
  41. package/lib/module/Mock/Stores/EventsStore.js.map +1 -0
  42. package/lib/{cjs → module}/Mock/Stores/LayoutStore.js +24 -56
  43. package/lib/module/Mock/Stores/LayoutStore.js.map +1 -0
  44. package/lib/module/Mock/actions/layoutActions.js +19 -0
  45. package/lib/module/Mock/actions/layoutActions.js.map +1 -0
  46. package/lib/module/Mock/connect.js +8 -0
  47. package/lib/module/Mock/connect.js.map +1 -0
  48. package/lib/module/Mock/constants.js +5 -0
  49. package/lib/module/Mock/constants.js.map +1 -0
  50. package/lib/module/Mock/index.js +20 -0
  51. package/lib/module/Mock/index.js.map +1 -0
  52. package/lib/module/Mock/mocks/AppRegistryService.js +6 -0
  53. package/lib/module/Mock/mocks/AppRegistryService.js.map +1 -0
  54. package/lib/module/Mock/mocks/NativeCommandsSender.js +146 -0
  55. package/lib/module/Mock/mocks/NativeCommandsSender.js.map +1 -0
  56. package/lib/module/Mock/mocks/NativeEventsReceiver.js +103 -0
  57. package/lib/module/Mock/mocks/NativeEventsReceiver.js.map +1 -0
  58. package/lib/module/Navigation.js +250 -0
  59. package/lib/module/Navigation.js.map +1 -0
  60. package/lib/{cjs → module}/NavigationDelegate.js +34 -33
  61. package/lib/module/NavigationDelegate.js.map +1 -0
  62. package/lib/module/adapters/AndroidCustomRowForwarder.js +75 -0
  63. package/lib/module/adapters/AndroidCustomRowForwarder.js.map +1 -0
  64. package/lib/module/adapters/AppRegistryService.js +9 -0
  65. package/lib/module/adapters/AppRegistryService.js.map +1 -0
  66. package/lib/module/adapters/AssetResolver.js +9 -0
  67. package/lib/module/adapters/AssetResolver.js.map +1 -0
  68. package/lib/module/adapters/ColorService.js +9 -0
  69. package/lib/module/adapters/ColorService.js.map +1 -0
  70. package/lib/module/adapters/Constants.js +19 -0
  71. package/lib/module/adapters/Constants.js.map +1 -0
  72. package/lib/{cjs → module}/adapters/NativeCommandsSender.js +5 -39
  73. package/lib/module/adapters/NativeCommandsSender.js.map +1 -0
  74. package/lib/module/adapters/NativeEventsReceiver.js +65 -0
  75. package/lib/module/adapters/NativeEventsReceiver.js.map +1 -0
  76. package/lib/module/adapters/NativeEventsReceiver.mock.js +6 -0
  77. package/lib/module/adapters/NativeEventsReceiver.mock.js.map +1 -0
  78. package/lib/module/adapters/NativeRNNTurboEventEmitter.js +7 -0
  79. package/lib/module/adapters/NativeRNNTurboEventEmitter.js.map +1 -0
  80. package/lib/module/adapters/NativeRNNTurboModule.js +6 -0
  81. package/lib/module/adapters/NativeRNNTurboModule.js.map +1 -0
  82. package/lib/module/adapters/TouchablePreview.js +115 -0
  83. package/lib/module/adapters/TouchablePreview.js.map +1 -0
  84. package/lib/module/adapters/UniqueIdProvider.js +9 -0
  85. package/lib/module/adapters/UniqueIdProvider.js.map +1 -0
  86. package/lib/module/commands/Commands.js +241 -0
  87. package/lib/module/commands/Commands.js.map +1 -0
  88. package/lib/module/commands/Commands.test.js +759 -0
  89. package/lib/module/commands/Commands.test.js.map +1 -0
  90. package/lib/module/commands/Deprecations.js +66 -0
  91. package/lib/module/commands/Deprecations.js.map +1 -0
  92. package/lib/module/commands/LayoutTreeCrawler.js +32 -0
  93. package/lib/module/commands/LayoutTreeCrawler.js.map +1 -0
  94. package/lib/module/commands/LayoutTreeCrawler.test.js +82 -0
  95. package/lib/module/commands/LayoutTreeCrawler.test.js.map +1 -0
  96. package/lib/module/commands/LayoutTreeParser.js +130 -0
  97. package/lib/module/commands/LayoutTreeParser.js.map +1 -0
  98. package/lib/module/commands/LayoutTreeParser.test.js +359 -0
  99. package/lib/module/commands/LayoutTreeParser.test.js.map +1 -0
  100. package/lib/module/commands/LayoutType.js +16 -0
  101. package/lib/module/commands/LayoutType.js.map +1 -0
  102. package/lib/module/commands/LayoutType.test.js +12 -0
  103. package/lib/module/commands/LayoutType.test.js.map +1 -0
  104. package/lib/module/commands/OptionsCrawler.js +72 -0
  105. package/lib/module/commands/OptionsCrawler.js.map +1 -0
  106. package/lib/module/commands/OptionsCrawler.test.js +351 -0
  107. package/lib/module/commands/OptionsCrawler.test.js.map +1 -0
  108. package/lib/{cjs → module}/commands/OptionsProcessor.js +67 -102
  109. package/lib/module/commands/OptionsProcessor.js.map +1 -0
  110. package/lib/module/commands/OptionsProcessor.test.js +1234 -0
  111. package/lib/module/commands/OptionsProcessor.test.js.map +1 -0
  112. package/lib/{cjs → module}/components/ComponentRegistry.js +3 -27
  113. package/lib/module/components/ComponentRegistry.js.map +1 -0
  114. package/lib/module/components/ComponentRegistry.test.js +57 -0
  115. package/lib/module/components/ComponentRegistry.test.js.map +1 -0
  116. package/lib/module/components/ComponentWrapper.js +80 -0
  117. package/lib/module/components/ComponentWrapper.js.map +1 -0
  118. package/lib/module/components/ComponentWrapper.test.js +333 -0
  119. package/lib/module/components/ComponentWrapper.test.js.map +1 -0
  120. package/lib/module/components/Modal.js +125 -0
  121. package/lib/module/components/Modal.js.map +1 -0
  122. package/lib/{cjs → module}/components/Store.js +3 -27
  123. package/lib/module/components/Store.js.map +1 -0
  124. package/lib/module/components/Store.test.js +148 -0
  125. package/lib/module/components/Store.test.js.map +1 -0
  126. package/lib/module/events/CommandsObserver.js +19 -0
  127. package/lib/module/events/CommandsObserver.js.map +1 -0
  128. package/lib/module/events/CommandsObserver.test.js +43 -0
  129. package/lib/module/events/CommandsObserver.test.js.map +1 -0
  130. package/lib/module/events/ComponentEventsObserver.js +94 -0
  131. package/lib/module/events/ComponentEventsObserver.js.map +1 -0
  132. package/lib/module/events/ComponentEventsObserver.test.js +391 -0
  133. package/lib/module/events/ComponentEventsObserver.test.js.map +1 -0
  134. package/lib/{cjs → module}/events/EventsRegistry.js +3 -27
  135. package/lib/module/events/EventsRegistry.js.map +1 -0
  136. package/lib/module/events/EventsRegistry.test.js +131 -0
  137. package/lib/module/events/EventsRegistry.test.js.map +1 -0
  138. package/lib/module/index.js +22 -0
  139. package/lib/module/index.js.map +1 -0
  140. package/lib/module/interfaces/CommandName.js +22 -0
  141. package/lib/module/interfaces/CommandName.js.map +1 -0
  142. package/lib/module/interfaces/ComponentEvents.js +2 -0
  143. package/lib/module/interfaces/ComponentEvents.js.map +1 -0
  144. package/lib/module/interfaces/EventSubscription.js +2 -0
  145. package/lib/module/interfaces/EventSubscription.js.map +1 -0
  146. package/lib/module/interfaces/Events.js +2 -0
  147. package/lib/module/interfaces/Events.js.map +1 -0
  148. package/lib/module/interfaces/Layout.js +4 -0
  149. package/lib/module/interfaces/Layout.js.map +1 -0
  150. package/lib/module/interfaces/NavigationComponent.js +21 -0
  151. package/lib/module/interfaces/NavigationComponent.js.map +1 -0
  152. package/lib/module/interfaces/NavigationComponentListener.js +4 -0
  153. package/lib/module/interfaces/NavigationComponentListener.js.map +1 -0
  154. package/lib/module/interfaces/NavigationComponentProps.js +2 -0
  155. package/lib/module/interfaces/NavigationComponentProps.js.map +1 -0
  156. package/lib/module/interfaces/NavigationFunctionComponent.js +4 -0
  157. package/lib/module/interfaces/NavigationFunctionComponent.js.map +1 -0
  158. package/lib/module/interfaces/Options.js +47 -0
  159. package/lib/module/interfaces/Options.js.map +1 -0
  160. package/lib/module/interfaces/ProcessorSubscription.js +2 -0
  161. package/lib/module/interfaces/ProcessorSubscription.js.map +1 -0
  162. package/lib/module/interfaces/Processors.js +4 -0
  163. package/lib/module/interfaces/Processors.js.map +1 -0
  164. package/lib/module/linking/DeferredLinkQueue.js +52 -0
  165. package/lib/module/linking/DeferredLinkQueue.js.map +1 -0
  166. package/lib/module/linking/DeferredLinkQueue.test.js +54 -0
  167. package/lib/module/linking/DeferredLinkQueue.test.js.map +1 -0
  168. package/lib/{cjs → module}/linking/LinkingHandler.js +43 -40
  169. package/lib/module/linking/LinkingHandler.js.map +1 -0
  170. package/lib/module/linking/LinkingHandler.test.js +384 -0
  171. package/lib/module/linking/LinkingHandler.test.js.map +1 -0
  172. package/lib/module/linking/ModalLayoutBuilder.js +56 -0
  173. package/lib/module/linking/ModalLayoutBuilder.js.map +1 -0
  174. package/lib/module/linking/ModalLayoutBuilder.test.js +154 -0
  175. package/lib/module/linking/ModalLayoutBuilder.test.js.map +1 -0
  176. package/lib/{cjs → module}/linking/RouteMatcher.js +15 -31
  177. package/lib/module/linking/RouteMatcher.js.map +1 -0
  178. package/lib/module/linking/RouteMatcher.test.js +164 -0
  179. package/lib/module/linking/RouteMatcher.test.js.map +1 -0
  180. package/lib/module/linking/URLParser.js +56 -0
  181. package/lib/module/linking/URLParser.js.map +1 -0
  182. package/lib/module/linking/URLParser.test.js +100 -0
  183. package/lib/module/linking/URLParser.test.js.map +1 -0
  184. package/lib/module/linking/types.js +4 -0
  185. package/lib/module/linking/types.js.map +1 -0
  186. package/lib/module/package.json +1 -0
  187. package/lib/module/processors/LayoutProcessor.js +15 -0
  188. package/lib/module/processors/LayoutProcessor.js.map +1 -0
  189. package/lib/module/processors/LayoutProcessor.test.js +53 -0
  190. package/lib/module/processors/LayoutProcessor.test.js.map +1 -0
  191. package/lib/module/processors/LayoutProcessorsStore.js +18 -0
  192. package/lib/module/processors/LayoutProcessorsStore.js.map +1 -0
  193. package/lib/module/processors/LayoutProcessorsStore.test.js +31 -0
  194. package/lib/module/processors/LayoutProcessorsStore.test.js.map +1 -0
  195. package/lib/module/processors/OptionProcessorsStore.js +19 -0
  196. package/lib/module/processors/OptionProcessorsStore.js.map +1 -0
  197. package/lib/module/processors/OptionProcessorsStore.test.js +31 -0
  198. package/lib/module/processors/OptionProcessorsStore.test.js.map +1 -0
  199. package/lib/module/types.js +2 -0
  200. package/lib/module/types.js.map +1 -0
  201. package/package.json +7 -12
  202. package/lib/cjs/Mock/Application.js +0 -67
  203. package/lib/cjs/Mock/ComponentProps.js +0 -16
  204. package/lib/cjs/Mock/Components/BottomTabs.js +0 -50
  205. package/lib/cjs/Mock/Components/ComponentScreen.js +0 -135
  206. package/lib/cjs/Mock/Components/LayoutComponent.js +0 -85
  207. package/lib/cjs/Mock/Components/Modals.js +0 -56
  208. package/lib/cjs/Mock/Components/NavigationButton.js +0 -104
  209. package/lib/cjs/Mock/Components/Overlays.js +0 -57
  210. package/lib/cjs/Mock/Components/SideMenu.js +0 -69
  211. package/lib/cjs/Mock/Components/Stack.js +0 -52
  212. package/lib/cjs/Mock/Components/TopBar.js +0 -115
  213. package/lib/cjs/Mock/Layouts/BottomTabsNode.js +0 -60
  214. package/lib/cjs/Mock/Layouts/ComponentNode.js +0 -132
  215. package/lib/cjs/Mock/Layouts/LayoutNodeFactory.js +0 -59
  216. package/lib/cjs/Mock/Layouts/Node.js +0 -32
  217. package/lib/cjs/Mock/Layouts/ParentNode.js +0 -99
  218. package/lib/cjs/Mock/Layouts/SideMenu.js +0 -112
  219. package/lib/cjs/Mock/Layouts/StackNode.js +0 -42
  220. package/lib/cjs/Mock/Stores/EventsStore.js +0 -85
  221. package/lib/cjs/Mock/actions/layoutActions.js +0 -47
  222. package/lib/cjs/Mock/connect.js +0 -31
  223. package/lib/cjs/Mock/constants.js +0 -31
  224. package/lib/cjs/Mock/index.js +0 -48
  225. package/lib/cjs/Mock/mocks/AppRegistryService.js +0 -31
  226. package/lib/cjs/Mock/mocks/NativeCommandsSender.js +0 -181
  227. package/lib/cjs/Mock/mocks/NativeEventsReceiver.js +0 -146
  228. package/lib/cjs/Navigation.js +0 -259
  229. package/lib/cjs/adapters/AndroidCustomRowForwarder.js +0 -84
  230. package/lib/cjs/adapters/AppRegistryService.js +0 -33
  231. package/lib/cjs/adapters/AssetResolver.js +0 -33
  232. package/lib/cjs/adapters/ColorService.js +0 -33
  233. package/lib/cjs/adapters/Constants.js +0 -43
  234. package/lib/cjs/adapters/NativeEventsReceiver.js +0 -99
  235. package/lib/cjs/adapters/NativeEventsReceiver.mock.js +0 -30
  236. package/lib/cjs/adapters/NativeRNNTurboEventEmitter.js +0 -27
  237. package/lib/cjs/adapters/NativeRNNTurboModule.js +0 -26
  238. package/lib/cjs/adapters/TouchablePreview.js +0 -137
  239. package/lib/cjs/adapters/UniqueIdProvider.js +0 -43
  240. package/lib/cjs/commands/Commands.js +0 -276
  241. package/lib/cjs/commands/Deprecations.js +0 -101
  242. package/lib/cjs/commands/LayoutTreeCrawler.js +0 -56
  243. package/lib/cjs/commands/LayoutTreeParser.js +0 -154
  244. package/lib/cjs/commands/LayoutType.js +0 -40
  245. package/lib/cjs/commands/OptionsCrawler.js +0 -106
  246. package/lib/cjs/components/ComponentWrapper.js +0 -114
  247. package/lib/cjs/components/Modal.js +0 -159
  248. package/lib/cjs/events/CommandsObserver.js +0 -43
  249. package/lib/cjs/events/ComponentEventsObserver.js +0 -128
  250. package/lib/cjs/index.js +0 -63
  251. package/lib/cjs/interfaces/CommandName.js +0 -46
  252. package/lib/cjs/interfaces/ComponentEvents.js +0 -1
  253. package/lib/cjs/interfaces/EventSubscription.js +0 -1
  254. package/lib/cjs/interfaces/Events.js +0 -1
  255. package/lib/cjs/interfaces/Layout.js +0 -16
  256. package/lib/cjs/interfaces/NavigationComponent.js +0 -62
  257. package/lib/cjs/interfaces/NavigationComponentListener.js +0 -16
  258. package/lib/cjs/interfaces/NavigationComponentProps.js +0 -1
  259. package/lib/cjs/interfaces/NavigationFunctionComponent.js +0 -16
  260. package/lib/cjs/interfaces/Options.js +0 -47
  261. package/lib/cjs/interfaces/ProcessorSubscription.js +0 -1
  262. package/lib/cjs/interfaces/Processors.js +0 -16
  263. package/lib/cjs/linking/DeferredLinkQueue.js +0 -66
  264. package/lib/cjs/linking/ModalLayoutBuilder.js +0 -59
  265. package/lib/cjs/linking/URLParser.js +0 -70
  266. package/lib/cjs/linking/types.js +0 -16
  267. package/lib/cjs/processors/LayoutProcessor.js +0 -39
  268. package/lib/cjs/processors/LayoutProcessorsStore.js +0 -42
  269. package/lib/cjs/processors/OptionProcessorsStore.js +0 -43
  270. package/lib/cjs/types.js +0 -1
  271. package/postinstall.js +0 -53
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CommandName"],"sourceRoot":"../../../src","sources":["interfaces/CommandName.ts"],"mappings":";;AAAA,WAAYA,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=ComponentEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["interfaces/ComponentEvents.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=EventSubscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["interfaces/EventSubscription.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=Events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["interfaces/Events.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=Layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["interfaces/Layout.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ export class NavigationComponent extends React.Component {
5
+ /**
6
+ * Options used to apply a style configuration when the screen appears.
7
+ *
8
+ * This field can either contain the concrete options to be applied, or a generator function
9
+ * which accepts props and returns an Options object.
10
+ */
11
+
12
+ componentWillAppear(_event) {}
13
+ componentDidAppear(_event) {}
14
+ componentDidDisappear(_event) {}
15
+ navigationButtonPressed(_event) {}
16
+ searchBarUpdated(_event) {}
17
+ searchBarCancelPressed(_event) {}
18
+ previewCompleted(_event) {}
19
+ screenPopped(_event) {}
20
+ }
21
+ //# sourceMappingURL=NavigationComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","NavigationComponent","Component","componentWillAppear","_event","componentDidAppear","componentDidDisappear","navigationButtonPressed","searchBarUpdated","searchBarCancelPressed","previewCompleted","screenPopped"],"sourceRoot":"../../../src","sources":["interfaces/NavigationComponent.ts"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAczB,OAAO,MAAMC,mBAAmB,SAAiDD,KAAK,CAACE,SAAS,CAI9F;EACA;AACF;AACA;AACA;AACA;AACA;;EAGEC,mBAAmBA,CAACC,MAAgC,EAAE,CAAC;EACvDC,kBAAkBA,CAACD,MAA+B,EAAE,CAAC;EACrDE,qBAAqBA,CAACF,MAAkC,EAAE,CAAC;EAC3DG,uBAAuBA,CAACH,MAAoC,EAAE,CAAC;EAC/DI,gBAAgBA,CAACJ,MAA6B,EAAE,CAAC;EACjDK,sBAAsBA,CAACL,MAAmC,EAAE,CAAC;EAC7DM,gBAAgBA,CAACN,MAA6B,EAAE,CAAC;EACjDO,YAAYA,CAACP,MAAyB,EAAE,CAAC;AAC3C","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=NavigationComponentListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["interfaces/NavigationComponentListener.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=NavigationComponentProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["interfaces/NavigationComponentProps.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=NavigationFunctionComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["interfaces/NavigationFunctionComponent.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ // tslint:disable jsdoc-format
4
+
5
+ // TODO: Import ColorValue instead when upgrading @types/react-native to 0.63+
6
+ // Only assign PlatformColor or DynamicColorIOS as a Color symbol!
7
+
8
+ export let OptionsModalPresentationStyle = /*#__PURE__*/function (OptionsModalPresentationStyle) {
9
+ OptionsModalPresentationStyle["formSheet"] = "formSheet";
10
+ OptionsModalPresentationStyle["pageSheet"] = "pageSheet";
11
+ OptionsModalPresentationStyle["overFullScreen"] = "overFullScreen";
12
+ OptionsModalPresentationStyle["overCurrentContext"] = "overCurrentContext";
13
+ OptionsModalPresentationStyle["currentContext"] = "currentContext";
14
+ OptionsModalPresentationStyle["popover"] = "popover";
15
+ OptionsModalPresentationStyle["fullScreen"] = "fullScreen";
16
+ OptionsModalPresentationStyle["none"] = "none";
17
+ return OptionsModalPresentationStyle;
18
+ }({});
19
+ export let OptionsModalTransitionStyle = /*#__PURE__*/function (OptionsModalTransitionStyle) {
20
+ OptionsModalTransitionStyle["coverVertical"] = "coverVertical";
21
+ OptionsModalTransitionStyle["crossDissolve"] = "crossDissolve";
22
+ OptionsModalTransitionStyle["flipHorizontal"] = "flipHorizontal";
23
+ OptionsModalTransitionStyle["partialCurl"] = "partialCurl";
24
+ return OptionsModalTransitionStyle;
25
+ }({});
26
+
27
+ /**
28
+ * Used to animate the actual content added to the hierarchy.
29
+ * Content can be a React component (component) or any other layout (Stack, BottomTabs etc)
30
+ */
31
+
32
+ /**
33
+ * Used for describing stack commands animations.
34
+ */
35
+
36
+ /**
37
+ * Used for configuring command animations
38
+ */
39
+
40
+ /**
41
+ * Configure Android's NavigationBar
42
+ */
43
+
44
+ /**
45
+ * Used for configuring and controlling the main window in iOS
46
+ */
47
+ //# sourceMappingURL=Options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["OptionsModalPresentationStyle","OptionsModalTransitionStyle"],"sourceRoot":"../../../src","sources":["interfaces/Options.ts"],"mappings":";;AAAA;;AAGA;AACA;;AAwMA,WAAYA,6BAA6B,0BAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAAA,OAA7BA,6BAA6B;AAAA;AAWzC,WAAYC,2BAA2B,0BAA3BA,2BAA2B;EAA3BA,2BAA2B;EAA3BA,2BAA2B;EAA3BA,2BAA2B;EAA3BA,2BAA2B;EAAA,OAA3BA,2BAA2B;AAAA;;AAmrCvC;AACA;AACA;AACA;;AAiJA;AACA;AACA;;AA0DA;AACA;AACA;;AA6BA;AACA;AACA;;AAWA;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=ProcessorSubscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["interfaces/ProcessorSubscription.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=Processors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["interfaces/Processors.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Holds URLs while the linking pipeline is not ready and replays them in
5
+ * order once it becomes ready.
6
+ *
7
+ * Readiness is set by the owning `LinkingHandler` and reflects the combined
8
+ * state of:
9
+ * - whether the first `setRoot` has resolved (so a modal can be presented),
10
+ * - whether the user-supplied `isReady` predicate (if any) returns `true`.
11
+ */
12
+ export class DeferredLinkQueue {
13
+ queue = [];
14
+ ready = false;
15
+ flushCallback = null;
16
+ setFlushCallback(callback) {
17
+ this.flushCallback = callback;
18
+ }
19
+ setReady(ready) {
20
+ const becameReady = !this.ready && ready;
21
+ this.ready = ready;
22
+ if (becameReady) {
23
+ this.flush();
24
+ }
25
+ }
26
+ isReady() {
27
+ return this.ready;
28
+ }
29
+
30
+ /**
31
+ * Enqueue a URL for later processing. Should only be called when the
32
+ * queue is not ready; the handler decides when to enqueue vs process.
33
+ */
34
+ enqueue(url) {
35
+ this.queue.push(url);
36
+ }
37
+ flush() {
38
+ if (!this.flushCallback) return;
39
+ const pending = [...this.queue];
40
+ this.queue = [];
41
+ for (const url of pending) {
42
+ this.flushCallback(url);
43
+ }
44
+ }
45
+ clear() {
46
+ this.queue = [];
47
+ }
48
+ pending() {
49
+ return [...this.queue];
50
+ }
51
+ }
52
+ //# sourceMappingURL=DeferredLinkQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DeferredLinkQueue","queue","ready","flushCallback","setFlushCallback","callback","setReady","becameReady","flush","isReady","enqueue","url","push","pending","clear"],"sourceRoot":"../../../src","sources":["linking/DeferredLinkQueue.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,iBAAiB,CAAC;EACrBC,KAAK,GAAa,EAAE;EACpBC,KAAK,GAAG,KAAK;EACbC,aAAa,GAAmC,IAAI;EAErDC,gBAAgBA,CAACC,QAA+B,EAAQ;IAC7D,IAAI,CAACF,aAAa,GAAGE,QAAQ;EAC/B;EAEOC,QAAQA,CAACJ,KAAc,EAAQ;IACpC,MAAMK,WAAW,GAAG,CAAC,IAAI,CAACL,KAAK,IAAIA,KAAK;IACxC,IAAI,CAACA,KAAK,GAAGA,KAAK;IAClB,IAAIK,WAAW,EAAE;MACf,IAAI,CAACC,KAAK,CAAC,CAAC;IACd;EACF;EAEOC,OAAOA,CAAA,EAAY;IACxB,OAAO,IAAI,CAACP,KAAK;EACnB;;EAEA;AACF;AACA;AACA;EACSQ,OAAOA,CAACC,GAAW,EAAQ;IAChC,IAAI,CAACV,KAAK,CAACW,IAAI,CAACD,GAAG,CAAC;EACtB;EAEOH,KAAKA,CAAA,EAAS;IACnB,IAAI,CAAC,IAAI,CAACL,aAAa,EAAE;IACzB,MAAMU,OAAO,GAAG,CAAC,GAAG,IAAI,CAACZ,KAAK,CAAC;IAC/B,IAAI,CAACA,KAAK,GAAG,EAAE;IACf,KAAK,MAAMU,GAAG,IAAIE,OAAO,EAAE;MACzB,IAAI,CAACV,aAAa,CAACQ,GAAG,CAAC;IACzB;EACF;EAEOG,KAAKA,CAAA,EAAS;IACnB,IAAI,CAACb,KAAK,GAAG,EAAE;EACjB;EAEOY,OAAOA,CAAA,EAAa;IACzB,OAAO,CAAC,GAAG,IAAI,CAACZ,KAAK,CAAC;EACxB;AACF","ignoreList":[]}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ import { DeferredLinkQueue } from "./DeferredLinkQueue.js";
4
+ describe('DeferredLinkQueue', () => {
5
+ let uut;
6
+ let flushed;
7
+ beforeEach(() => {
8
+ uut = new DeferredLinkQueue();
9
+ flushed = [];
10
+ uut.setFlushCallback(url => flushed.push(url));
11
+ });
12
+ it('starts not ready', () => {
13
+ expect(uut.isReady()).toBe(false);
14
+ });
15
+ it('enqueues URLs while not ready', () => {
16
+ uut.enqueue('myapp://a');
17
+ uut.enqueue('myapp://b');
18
+ expect(uut.pending()).toEqual(['myapp://a', 'myapp://b']);
19
+ expect(flushed).toEqual([]);
20
+ });
21
+ it('flushes queued URLs in order when becoming ready', () => {
22
+ uut.enqueue('myapp://a');
23
+ uut.enqueue('myapp://b');
24
+ uut.setReady(true);
25
+ expect(flushed).toEqual(['myapp://a', 'myapp://b']);
26
+ expect(uut.pending()).toEqual([]);
27
+ });
28
+ it('does not re-flush when already ready', () => {
29
+ uut.setReady(true);
30
+ uut.enqueue('myapp://a');
31
+ uut.setReady(true);
32
+ expect(flushed).toEqual([]);
33
+ expect(uut.pending()).toEqual(['myapp://a']);
34
+ });
35
+ it('flushes again after toggling not-ready → ready', () => {
36
+ uut.setReady(true);
37
+ uut.setReady(false);
38
+ uut.enqueue('myapp://x');
39
+ uut.setReady(true);
40
+ expect(flushed).toEqual(['myapp://x']);
41
+ });
42
+ it('clear() drops pending URLs', () => {
43
+ uut.enqueue('myapp://a');
44
+ uut.clear();
45
+ uut.setReady(true);
46
+ expect(flushed).toEqual([]);
47
+ });
48
+ it('flush() is a no-op when no callback is registered', () => {
49
+ const fresh = new DeferredLinkQueue();
50
+ fresh.enqueue('myapp://a');
51
+ expect(() => fresh.flush()).not.toThrow();
52
+ });
53
+ });
54
+ //# sourceMappingURL=DeferredLinkQueue.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DeferredLinkQueue","describe","uut","flushed","beforeEach","setFlushCallback","url","push","it","expect","isReady","toBe","enqueue","pending","toEqual","setReady","clear","fresh","flush","not","toThrow"],"sourceRoot":"../../../src","sources":["linking/DeferredLinkQueue.test.ts"],"mappings":"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","ignoreList":[]}
@@ -1,44 +1,46 @@
1
1
  "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var LinkingHandler_exports = {};
20
- __export(LinkingHandler_exports, {
21
- LinkingHandler: () => LinkingHandler
22
- });
23
- module.exports = __toCommonJS(LinkingHandler_exports);
24
- var import_react_native = require("@ohos-ports/react-native");
25
- var import_URLParser = require("./URLParser.js");
26
- var import_RouteMatcher = require("./RouteMatcher.js");
27
- var import_DeferredLinkQueue = require("./DeferredLinkQueue.js");
28
- var import_ModalLayoutBuilder = require("./ModalLayoutBuilder.js");
29
- class LinkingHandler {
2
+
3
+ import { Linking } from 'react-native';
4
+ import { URLParser } from "./URLParser.js";
5
+ import { RouteMatcher } from "./RouteMatcher.js";
6
+ import { DeferredLinkQueue } from "./DeferredLinkQueue.js";
7
+ import { ModalLayoutBuilder } from "./ModalLayoutBuilder.js";
8
+
9
+ /** A function that shows a layout as a modal. Mirrors `Commands.showModal`. */
10
+
11
+ /**
12
+ * Minimal abstraction over React Native's `Linking` module so the handler
13
+ * can be tested without touching native bindings.
14
+ */
15
+
16
+ /**
17
+ * Orchestrates deep linking:
18
+ *
19
+ * 1. Subscribes to URL events from `Linking` and the initial URL.
20
+ * 2. Parses + matches each URL against the configured `screens` tree.
21
+ * 3. Defers processing until both:
22
+ * - the first `setRoot` has resolved (so a modal can be presented), and
23
+ * - the user-supplied `isReady` predicate (if any) returns `true`.
24
+ * 4. Resolves matches in this order:
25
+ * - `onLink(match)` if provided (full escape hatch), else
26
+ * - `getModal(match)` if provided, else
27
+ * - the default `ModalLayoutBuilder` output.
28
+ * Result is presented via `showModal`.
29
+ * 5. Calls `fallback(url)` when a URL has no matching prefix or route.
30
+ */
31
+ export class LinkingHandler {
30
32
  config = null;
31
33
  linkingSubscription = null;
32
34
  rootReady = false;
33
35
  userReadyOverride = null;
34
36
  constructor(showModal, linkingAPI) {
35
- this.urlParser = new import_URLParser.URLParser();
36
- this.routeMatcher = new import_RouteMatcher.RouteMatcher();
37
- this.deferredQueue = new import_DeferredLinkQueue.DeferredLinkQueue();
38
- this.modalLayoutBuilder = new import_ModalLayoutBuilder.ModalLayoutBuilder();
37
+ this.urlParser = new URLParser();
38
+ this.routeMatcher = new RouteMatcher();
39
+ this.deferredQueue = new DeferredLinkQueue();
40
+ this.modalLayoutBuilder = new ModalLayoutBuilder();
39
41
  this.showModal = showModal;
40
- this.linkingAPI = linkingAPI || import_react_native.Linking;
41
- this.deferredQueue.setFlushCallback((url) => this.processURL(url));
42
+ this.linkingAPI = linkingAPI || Linking;
43
+ this.deferredQueue.setFlushCallback(url => this.processURL(url));
42
44
  }
43
45
  configure(config) {
44
46
  this.teardown();
@@ -48,6 +50,7 @@ class LinkingHandler {
48
50
  this.refreshReady();
49
51
  this.subscribe();
50
52
  }
53
+
51
54
  /**
52
55
  * Manually feed a URL into the pipeline as if it came from the OS.
53
56
  * Useful for URLs received from push notifications or other sources.
@@ -60,6 +63,7 @@ class LinkingHandler {
60
63
  }
61
64
  this.processURL(url);
62
65
  }
66
+
63
67
  /**
64
68
  * Called by `NavigationRoot` after the first `setRoot` resolves. Subsequent
65
69
  * calls are no-ops.
@@ -69,6 +73,7 @@ class LinkingHandler {
69
73
  this.rootReady = true;
70
74
  this.refreshReady();
71
75
  }
76
+
72
77
  /**
73
78
  * Public toggle for the app-supplied readiness gate. Overrides the
74
79
  * `config.isReady` predicate from the moment it's first called.
@@ -77,6 +82,7 @@ class LinkingHandler {
77
82
  this.userReadyOverride = ready;
78
83
  this.refreshReady();
79
84
  }
85
+
80
86
  /**
81
87
  * Resolve a URL to a `RouteMatch` without side effects. Returns `null`
82
88
  * when the URL doesn't match any configured prefix or route.
@@ -97,10 +103,10 @@ class LinkingHandler {
97
103
  this.userReadyOverride = null;
98
104
  }
99
105
  subscribe() {
100
- this.linkingSubscription = this.linkingAPI.addEventListener("url", (event) => {
106
+ this.linkingSubscription = this.linkingAPI.addEventListener('url', event => {
101
107
  this.handleURL(event.url);
102
108
  });
103
- this.linkingAPI.getInitialURL().then((url) => {
109
+ this.linkingAPI.getInitialURL().then(url => {
104
110
  if (url) this.handleURL(url);
105
111
  });
106
112
  }
@@ -130,7 +136,4 @@ class LinkingHandler {
130
136
  this.deferredQueue.setReady(this.isReady());
131
137
  }
132
138
  }
133
- // Annotate the CommonJS export names for ESM import in node:
134
- 0 && (module.exports = {
135
- LinkingHandler
136
- });
139
+ //# sourceMappingURL=LinkingHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Linking","URLParser","RouteMatcher","DeferredLinkQueue","ModalLayoutBuilder","LinkingHandler","config","linkingSubscription","rootReady","userReadyOverride","constructor","showModal","linkingAPI","urlParser","routeMatcher","deferredQueue","modalLayoutBuilder","setFlushCallback","url","processURL","configure","teardown","tree","buildRouteTree","screens","setRouteTree","refreshReady","subscribe","handleURL","isReady","enqueue","setRootReady","setLinkingReady","ready","resolve","parsed","parse","prefixes","match","path","queryParams","remove","clear","addEventListener","event","getInitialURL","then","fallback","onLink","layout","getModal","build","setReady"],"sourceRoot":"../../../src","sources":["linking/LinkingHandler.ts"],"mappings":"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","ignoreList":[]}