@ohos-ports/react-native-navigation 8.9.0-beta.1 → 8.9.0-beta.11

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 (272) hide show
  1. package/README.md +27 -27
  2. package/lib/cjs/Mock/Application.js +67 -0
  3. package/lib/cjs/Mock/ComponentProps.js +16 -0
  4. package/lib/cjs/Mock/Components/BottomTabs.js +50 -0
  5. package/lib/cjs/Mock/Components/ComponentScreen.js +135 -0
  6. package/lib/cjs/Mock/Components/LayoutComponent.js +85 -0
  7. package/lib/cjs/Mock/Components/Modals.js +56 -0
  8. package/lib/cjs/Mock/Components/NavigationButton.js +104 -0
  9. package/lib/cjs/Mock/Components/Overlays.js +57 -0
  10. package/lib/cjs/Mock/Components/SideMenu.js +69 -0
  11. package/lib/cjs/Mock/Components/Stack.js +52 -0
  12. package/lib/cjs/Mock/Components/TopBar.js +115 -0
  13. package/lib/cjs/Mock/Layouts/BottomTabsNode.js +60 -0
  14. package/lib/cjs/Mock/Layouts/ComponentNode.js +132 -0
  15. package/lib/cjs/Mock/Layouts/LayoutNodeFactory.js +59 -0
  16. package/lib/cjs/Mock/Layouts/Node.js +32 -0
  17. package/lib/cjs/Mock/Layouts/ParentNode.js +99 -0
  18. package/lib/cjs/Mock/Layouts/SideMenu.js +112 -0
  19. package/lib/cjs/Mock/Layouts/StackNode.js +42 -0
  20. package/lib/cjs/Mock/Stores/EventsStore.js +85 -0
  21. package/lib/{module → cjs}/Mock/Stores/LayoutStore.js +56 -24
  22. package/lib/cjs/Mock/actions/layoutActions.js +47 -0
  23. package/lib/cjs/Mock/connect.js +31 -0
  24. package/lib/cjs/Mock/constants.js +31 -0
  25. package/lib/cjs/Mock/index.js +48 -0
  26. package/lib/cjs/Mock/mocks/AppRegistryService.js +31 -0
  27. package/lib/cjs/Mock/mocks/NativeCommandsSender.js +181 -0
  28. package/lib/cjs/Mock/mocks/NativeEventsReceiver.js +146 -0
  29. package/lib/cjs/Navigation.js +259 -0
  30. package/lib/{module → cjs}/NavigationDelegate.js +33 -34
  31. package/lib/cjs/adapters/AndroidCustomRowForwarder.js +84 -0
  32. package/lib/cjs/adapters/AppRegistryService.js +33 -0
  33. package/lib/cjs/adapters/AssetResolver.js +33 -0
  34. package/lib/cjs/adapters/ColorService.js +33 -0
  35. package/lib/cjs/adapters/Constants.js +43 -0
  36. package/lib/{module → cjs}/adapters/NativeCommandsSender.js +39 -5
  37. package/lib/cjs/adapters/NativeEventsReceiver.js +99 -0
  38. package/lib/cjs/adapters/NativeEventsReceiver.mock.js +30 -0
  39. package/lib/cjs/adapters/NativeRNNTurboEventEmitter.js +27 -0
  40. package/lib/cjs/adapters/NativeRNNTurboModule.js +26 -0
  41. package/lib/cjs/adapters/TouchablePreview.js +137 -0
  42. package/lib/cjs/adapters/UniqueIdProvider.js +43 -0
  43. package/lib/cjs/commands/Commands.js +276 -0
  44. package/lib/cjs/commands/Deprecations.js +101 -0
  45. package/lib/cjs/commands/LayoutTreeCrawler.js +56 -0
  46. package/lib/cjs/commands/LayoutTreeParser.js +154 -0
  47. package/lib/cjs/commands/LayoutType.js +40 -0
  48. package/lib/cjs/commands/OptionsCrawler.js +106 -0
  49. package/lib/{module → cjs}/commands/OptionsProcessor.js +102 -67
  50. package/lib/{module → cjs}/components/ComponentRegistry.js +27 -3
  51. package/lib/cjs/components/ComponentWrapper.js +114 -0
  52. package/lib/cjs/components/Modal.js +159 -0
  53. package/lib/{module → cjs}/components/Store.js +27 -3
  54. package/lib/cjs/events/CommandsObserver.js +43 -0
  55. package/lib/cjs/events/ComponentEventsObserver.js +128 -0
  56. package/lib/{module → cjs}/events/EventsRegistry.js +27 -3
  57. package/lib/cjs/index.js +63 -0
  58. package/lib/cjs/interfaces/CommandName.js +46 -0
  59. package/lib/cjs/interfaces/ComponentEvents.js +1 -0
  60. package/lib/cjs/interfaces/EventSubscription.js +1 -0
  61. package/lib/cjs/interfaces/Events.js +1 -0
  62. package/lib/cjs/interfaces/Layout.js +16 -0
  63. package/lib/cjs/interfaces/NavigationComponent.js +62 -0
  64. package/lib/cjs/interfaces/NavigationComponentListener.js +16 -0
  65. package/lib/cjs/interfaces/NavigationComponentProps.js +1 -0
  66. package/lib/cjs/interfaces/NavigationFunctionComponent.js +16 -0
  67. package/lib/cjs/interfaces/Options.js +47 -0
  68. package/lib/cjs/interfaces/ProcessorSubscription.js +1 -0
  69. package/lib/cjs/interfaces/Processors.js +16 -0
  70. package/lib/cjs/linking/DeferredLinkQueue.js +66 -0
  71. package/lib/{module → cjs}/linking/LinkingHandler.js +40 -43
  72. package/lib/cjs/linking/ModalLayoutBuilder.js +59 -0
  73. package/lib/{module → cjs}/linking/RouteMatcher.js +31 -15
  74. package/lib/cjs/linking/URLParser.js +70 -0
  75. package/lib/cjs/linking/types.js +16 -0
  76. package/lib/cjs/processors/LayoutProcessor.js +39 -0
  77. package/lib/cjs/processors/LayoutProcessorsStore.js +42 -0
  78. package/lib/cjs/processors/OptionProcessorsStore.js +43 -0
  79. package/lib/cjs/types.js +1 -0
  80. package/package.json +10 -9
  81. package/postinstall.js +53 -0
  82. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/statusbar/StatusBarPresenter.kt +0 -212
  83. package/lib/module/ARCHITECTURE.md +0 -331
  84. package/lib/module/Mock/Application.js +0 -33
  85. package/lib/module/Mock/Application.js.map +0 -1
  86. package/lib/module/Mock/ComponentProps.js +0 -4
  87. package/lib/module/Mock/ComponentProps.js.map +0 -1
  88. package/lib/module/Mock/Components/BottomTabs.js +0 -16
  89. package/lib/module/Mock/Components/BottomTabs.js.map +0 -1
  90. package/lib/module/Mock/Components/ComponentScreen.js +0 -101
  91. package/lib/module/Mock/Components/ComponentScreen.js.map +0 -1
  92. package/lib/module/Mock/Components/LayoutComponent.js +0 -50
  93. package/lib/module/Mock/Components/LayoutComponent.js.map +0 -1
  94. package/lib/module/Mock/Components/Modals.js +0 -22
  95. package/lib/module/Mock/Components/Modals.js.map +0 -1
  96. package/lib/module/Mock/Components/NavigationButton.js +0 -72
  97. package/lib/module/Mock/Components/NavigationButton.js.map +0 -1
  98. package/lib/module/Mock/Components/Overlays.js +0 -23
  99. package/lib/module/Mock/Components/Overlays.js.map +0 -1
  100. package/lib/module/Mock/Components/SideMenu.js +0 -29
  101. package/lib/module/Mock/Components/SideMenu.js.map +0 -1
  102. package/lib/module/Mock/Components/Stack.js +0 -18
  103. package/lib/module/Mock/Components/Stack.js.map +0 -1
  104. package/lib/module/Mock/Components/TopBar.js +0 -81
  105. package/lib/module/Mock/Components/TopBar.js.map +0 -1
  106. package/lib/module/Mock/Layouts/BottomTabsNode.js +0 -30
  107. package/lib/module/Mock/Layouts/BottomTabsNode.js.map +0 -1
  108. package/lib/module/Mock/Layouts/ComponentNode.js +0 -102
  109. package/lib/module/Mock/Layouts/ComponentNode.js.map +0 -1
  110. package/lib/module/Mock/Layouts/LayoutNodeFactory.js +0 -28
  111. package/lib/module/Mock/Layouts/LayoutNodeFactory.js.map +0 -1
  112. package/lib/module/Mock/Layouts/Node.js +0 -14
  113. package/lib/module/Mock/Layouts/Node.js.map +0 -1
  114. package/lib/module/Mock/Layouts/ParentNode.js +0 -66
  115. package/lib/module/Mock/Layouts/ParentNode.js.map +0 -1
  116. package/lib/module/Mock/Layouts/SideMenu.js +0 -72
  117. package/lib/module/Mock/Layouts/SideMenu.js.map +0 -1
  118. package/lib/module/Mock/Layouts/StackNode.js +0 -12
  119. package/lib/module/Mock/Layouts/StackNode.js.map +0 -1
  120. package/lib/module/Mock/Stores/EventsStore.js +0 -53
  121. package/lib/module/Mock/Stores/EventsStore.js.map +0 -1
  122. package/lib/module/Mock/Stores/LayoutStore.js.map +0 -1
  123. package/lib/module/Mock/actions/layoutActions.js +0 -19
  124. package/lib/module/Mock/actions/layoutActions.js.map +0 -1
  125. package/lib/module/Mock/connect.js +0 -8
  126. package/lib/module/Mock/connect.js.map +0 -1
  127. package/lib/module/Mock/constants.js +0 -5
  128. package/lib/module/Mock/constants.js.map +0 -1
  129. package/lib/module/Mock/index.js +0 -20
  130. package/lib/module/Mock/index.js.map +0 -1
  131. package/lib/module/Mock/mocks/AppRegistryService.js +0 -6
  132. package/lib/module/Mock/mocks/AppRegistryService.js.map +0 -1
  133. package/lib/module/Mock/mocks/NativeCommandsSender.js +0 -146
  134. package/lib/module/Mock/mocks/NativeCommandsSender.js.map +0 -1
  135. package/lib/module/Mock/mocks/NativeEventsReceiver.js +0 -103
  136. package/lib/module/Mock/mocks/NativeEventsReceiver.js.map +0 -1
  137. package/lib/module/Navigation.js +0 -250
  138. package/lib/module/Navigation.js.map +0 -1
  139. package/lib/module/NavigationDelegate.js.map +0 -1
  140. package/lib/module/adapters/AndroidCustomRowForwarder.js +0 -75
  141. package/lib/module/adapters/AndroidCustomRowForwarder.js.map +0 -1
  142. package/lib/module/adapters/AppRegistryService.js +0 -9
  143. package/lib/module/adapters/AppRegistryService.js.map +0 -1
  144. package/lib/module/adapters/AssetResolver.js +0 -9
  145. package/lib/module/adapters/AssetResolver.js.map +0 -1
  146. package/lib/module/adapters/ColorService.js +0 -9
  147. package/lib/module/adapters/ColorService.js.map +0 -1
  148. package/lib/module/adapters/Constants.js +0 -19
  149. package/lib/module/adapters/Constants.js.map +0 -1
  150. package/lib/module/adapters/NativeCommandsSender.js.map +0 -1
  151. package/lib/module/adapters/NativeEventsReceiver.js +0 -65
  152. package/lib/module/adapters/NativeEventsReceiver.js.map +0 -1
  153. package/lib/module/adapters/NativeEventsReceiver.mock.js +0 -6
  154. package/lib/module/adapters/NativeEventsReceiver.mock.js.map +0 -1
  155. package/lib/module/adapters/NativeRNNTurboEventEmitter.js +0 -7
  156. package/lib/module/adapters/NativeRNNTurboEventEmitter.js.map +0 -1
  157. package/lib/module/adapters/NativeRNNTurboModule.js +0 -6
  158. package/lib/module/adapters/NativeRNNTurboModule.js.map +0 -1
  159. package/lib/module/adapters/TouchablePreview.js +0 -115
  160. package/lib/module/adapters/TouchablePreview.js.map +0 -1
  161. package/lib/module/adapters/UniqueIdProvider.js +0 -9
  162. package/lib/module/adapters/UniqueIdProvider.js.map +0 -1
  163. package/lib/module/commands/Commands.js +0 -241
  164. package/lib/module/commands/Commands.js.map +0 -1
  165. package/lib/module/commands/Commands.test.js +0 -759
  166. package/lib/module/commands/Commands.test.js.map +0 -1
  167. package/lib/module/commands/Deprecations.js +0 -66
  168. package/lib/module/commands/Deprecations.js.map +0 -1
  169. package/lib/module/commands/LayoutTreeCrawler.js +0 -32
  170. package/lib/module/commands/LayoutTreeCrawler.js.map +0 -1
  171. package/lib/module/commands/LayoutTreeCrawler.test.js +0 -82
  172. package/lib/module/commands/LayoutTreeCrawler.test.js.map +0 -1
  173. package/lib/module/commands/LayoutTreeParser.js +0 -130
  174. package/lib/module/commands/LayoutTreeParser.js.map +0 -1
  175. package/lib/module/commands/LayoutTreeParser.test.js +0 -359
  176. package/lib/module/commands/LayoutTreeParser.test.js.map +0 -1
  177. package/lib/module/commands/LayoutType.js +0 -16
  178. package/lib/module/commands/LayoutType.js.map +0 -1
  179. package/lib/module/commands/LayoutType.test.js +0 -12
  180. package/lib/module/commands/LayoutType.test.js.map +0 -1
  181. package/lib/module/commands/OptionsCrawler.js +0 -72
  182. package/lib/module/commands/OptionsCrawler.js.map +0 -1
  183. package/lib/module/commands/OptionsCrawler.test.js +0 -351
  184. package/lib/module/commands/OptionsCrawler.test.js.map +0 -1
  185. package/lib/module/commands/OptionsProcessor.js.map +0 -1
  186. package/lib/module/commands/OptionsProcessor.test.js +0 -1234
  187. package/lib/module/commands/OptionsProcessor.test.js.map +0 -1
  188. package/lib/module/components/ComponentRegistry.js.map +0 -1
  189. package/lib/module/components/ComponentRegistry.test.js +0 -57
  190. package/lib/module/components/ComponentRegistry.test.js.map +0 -1
  191. package/lib/module/components/ComponentWrapper.js +0 -80
  192. package/lib/module/components/ComponentWrapper.js.map +0 -1
  193. package/lib/module/components/ComponentWrapper.test.js +0 -333
  194. package/lib/module/components/ComponentWrapper.test.js.map +0 -1
  195. package/lib/module/components/Modal.js +0 -125
  196. package/lib/module/components/Modal.js.map +0 -1
  197. package/lib/module/components/Store.js.map +0 -1
  198. package/lib/module/components/Store.test.js +0 -148
  199. package/lib/module/components/Store.test.js.map +0 -1
  200. package/lib/module/events/CommandsObserver.js +0 -19
  201. package/lib/module/events/CommandsObserver.js.map +0 -1
  202. package/lib/module/events/CommandsObserver.test.js +0 -43
  203. package/lib/module/events/CommandsObserver.test.js.map +0 -1
  204. package/lib/module/events/ComponentEventsObserver.js +0 -94
  205. package/lib/module/events/ComponentEventsObserver.js.map +0 -1
  206. package/lib/module/events/ComponentEventsObserver.test.js +0 -391
  207. package/lib/module/events/ComponentEventsObserver.test.js.map +0 -1
  208. package/lib/module/events/EventsRegistry.js.map +0 -1
  209. package/lib/module/events/EventsRegistry.test.js +0 -131
  210. package/lib/module/events/EventsRegistry.test.js.map +0 -1
  211. package/lib/module/index.js +0 -22
  212. package/lib/module/index.js.map +0 -1
  213. package/lib/module/interfaces/CommandName.js +0 -22
  214. package/lib/module/interfaces/CommandName.js.map +0 -1
  215. package/lib/module/interfaces/ComponentEvents.js +0 -2
  216. package/lib/module/interfaces/ComponentEvents.js.map +0 -1
  217. package/lib/module/interfaces/EventSubscription.js +0 -2
  218. package/lib/module/interfaces/EventSubscription.js.map +0 -1
  219. package/lib/module/interfaces/Events.js +0 -2
  220. package/lib/module/interfaces/Events.js.map +0 -1
  221. package/lib/module/interfaces/Layout.js +0 -4
  222. package/lib/module/interfaces/Layout.js.map +0 -1
  223. package/lib/module/interfaces/NavigationComponent.js +0 -21
  224. package/lib/module/interfaces/NavigationComponent.js.map +0 -1
  225. package/lib/module/interfaces/NavigationComponentListener.js +0 -4
  226. package/lib/module/interfaces/NavigationComponentListener.js.map +0 -1
  227. package/lib/module/interfaces/NavigationComponentProps.js +0 -2
  228. package/lib/module/interfaces/NavigationComponentProps.js.map +0 -1
  229. package/lib/module/interfaces/NavigationFunctionComponent.js +0 -4
  230. package/lib/module/interfaces/NavigationFunctionComponent.js.map +0 -1
  231. package/lib/module/interfaces/Options.js +0 -47
  232. package/lib/module/interfaces/Options.js.map +0 -1
  233. package/lib/module/interfaces/ProcessorSubscription.js +0 -2
  234. package/lib/module/interfaces/ProcessorSubscription.js.map +0 -1
  235. package/lib/module/interfaces/Processors.js +0 -4
  236. package/lib/module/interfaces/Processors.js.map +0 -1
  237. package/lib/module/linking/DeferredLinkQueue.js +0 -52
  238. package/lib/module/linking/DeferredLinkQueue.js.map +0 -1
  239. package/lib/module/linking/DeferredLinkQueue.test.js +0 -54
  240. package/lib/module/linking/DeferredLinkQueue.test.js.map +0 -1
  241. package/lib/module/linking/LinkingHandler.js.map +0 -1
  242. package/lib/module/linking/LinkingHandler.test.js +0 -384
  243. package/lib/module/linking/LinkingHandler.test.js.map +0 -1
  244. package/lib/module/linking/ModalLayoutBuilder.js +0 -56
  245. package/lib/module/linking/ModalLayoutBuilder.js.map +0 -1
  246. package/lib/module/linking/ModalLayoutBuilder.test.js +0 -154
  247. package/lib/module/linking/ModalLayoutBuilder.test.js.map +0 -1
  248. package/lib/module/linking/RouteMatcher.js.map +0 -1
  249. package/lib/module/linking/RouteMatcher.test.js +0 -164
  250. package/lib/module/linking/RouteMatcher.test.js.map +0 -1
  251. package/lib/module/linking/URLParser.js +0 -56
  252. package/lib/module/linking/URLParser.js.map +0 -1
  253. package/lib/module/linking/URLParser.test.js +0 -100
  254. package/lib/module/linking/URLParser.test.js.map +0 -1
  255. package/lib/module/linking/types.js +0 -4
  256. package/lib/module/linking/types.js.map +0 -1
  257. package/lib/module/package.json +0 -1
  258. package/lib/module/processors/LayoutProcessor.js +0 -15
  259. package/lib/module/processors/LayoutProcessor.js.map +0 -1
  260. package/lib/module/processors/LayoutProcessor.test.js +0 -53
  261. package/lib/module/processors/LayoutProcessor.test.js.map +0 -1
  262. package/lib/module/processors/LayoutProcessorsStore.js +0 -18
  263. package/lib/module/processors/LayoutProcessorsStore.js.map +0 -1
  264. package/lib/module/processors/LayoutProcessorsStore.test.js +0 -31
  265. package/lib/module/processors/LayoutProcessorsStore.test.js.map +0 -1
  266. package/lib/module/processors/OptionProcessorsStore.js +0 -19
  267. package/lib/module/processors/OptionProcessorsStore.js.map +0 -1
  268. package/lib/module/processors/OptionProcessorsStore.test.js +0 -31
  269. package/lib/module/processors/OptionProcessorsStore.test.js.map +0 -1
  270. package/lib/module/types.js +0 -2
  271. package/lib/module/types.js.map +0 -1
  272. package/scripts/setup-esm-shim.js +0 -101
package/README.md CHANGED
@@ -1,37 +1,37 @@
1
- [![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://vshymanskyy.github.io/StandWithUkraine)
1
+ # @ohos-ports/react-native-navigation
2
2
 
3
- <h1 align="center">
4
- <img src=".logo.png"/><br/>
5
- React Native Navigation
6
- </h1>
3
+ React Native Navigation — truly native navigation for iOS and Android, ported for HarmonyOS.
7
4
 
8
- <p align="center">
9
- <a href="https://www.npmjs.com/package/react-native-navigation"><img src="https://img.shields.io/npm/dw/react-native-navigation.svg?style=flat-square" alt="NPM downloads"></a>
10
- <a href="https://www.npmjs.com/package/react-native-navigation"><img src="https://img.shields.io/npm/v/react-native-navigation/latest.svg?style=flat-square" alt="NPM latest version"></a>
11
- <a href="https://www.npmjs.com/package/react-native-navigation"><img src="https://img.shields.io/npm/v/react-native-navigation/snapshot.svg?style=flat-square" alt="NPM snapshot version"></a>
12
- <a href="https://jenkins-oss.wixpress.com/job/multi-react-native-navigation-master/"><img src="https://img.shields.io/jenkins/s/http/jenkins-oss.wixpress.com:8080/job/multi-react-native-navigation-master.svg?style=flat-square" alt="NPM snapshot version"></a>
5
+ ## Installation
13
6
 
14
- </p>
15
- <p align="center">
16
- <a href="https://twitter.com/reactnativenav"><img src="https://img.shields.io/twitter/follow/reactnativenav.svg?style=flat-square&colorA=1da1f2&colorB=&label=Follow%20us%20on%20Twitter" alt="Follow on Twitter"></a>
17
- <a href="https://discord.gg/DhkZjq2"><img src="https://img.shields.io/discord/242515947020222464.svg?color=%237289da&label=Chat%20on%20Discrd&style=flat-square" alt="Chat on Discord"></a>
18
- <a href="https://stackoverflow.com/questions/tagged/wix-react-native-navigation"><img src="https://img.shields.io/stackexchange/stackoverflow/t/wix-react-native-navigation.svg?style=flat-square" alt="StackExchange"></a>
19
- </p>
7
+ ```bash
8
+ npm install @ohos-ports/react-native-navigation @ohos-ports/react-native react
9
+ ```
20
10
 
21
- React Native Navigation provides 100% native platform navigation on both iOS and Android for React Native apps. The JavaScript API is simple and cross-platform - just install it in your app and give your users the native feel they deserve. Ready to get started? Check out the [docs](https://wix.github.io/react-native-navigation/).
11
+ And add this to your project's `package.json`:
22
12
 
23
- # Quick Links
13
+ ```json
14
+ {
15
+ "overrides": {
16
+ "react-native": "npm:@ohos-ports/react-native@^0.87.1-beta.1"
17
+ }
18
+ }
19
+ ```
24
20
 
25
- - [Documentation](https://wix.github.io/react-native-navigation/)
26
- - [Changelog](https://github.com/wix/react-native-navigation/blob/master/CHANGELOG.md)
27
- - [Stack Overflow](http://stackoverflow.com/questions/tagged/wix-react-native-navigation)
28
- - [Chat with us](https://discord.gg/DhkZjq2)
29
- - [Contributing](https://wix.github.io/react-native-navigation/docs/meta-contributing)
21
+ The `overrides` field ensures that all `react-native` references (including transitive peer dependencies) resolve to `@ohos-ports/react-native`, preventing the original facebook `react-native` (with Flow syntax) from being installed.
30
22
 
31
- # Requirements
23
+ ## Requirements
32
24
 
33
- Apps using React Native Navigation may target iOS 11 and Android 5.0 (API 21). You may use Windows, macOS or Linux as your development operating system.
25
+ - Node.js >= 22
26
+ - `@ohos-ports/react-native` runtime
34
27
 
35
- # Installation
28
+ ## What was changed
36
29
 
37
- As `react-native-navigation` is a native navigation library - integrating it into your app will require editing native files. Follow the installation guides in the [documentation](https://wix.github.io/react-native-navigation/).
30
+ - **ESM → CJS transpilation**: Source converted from ESM (`import`/`export`) to CommonJS (`require`/`module.exports`) using esbuild.
31
+ - **Dependency path replacement**: All `require('react-native')` → `require('@ohos-ports/react-native')`.
32
+ - **Dimensions fallback**: `Dimensions.get('window')` returns default values (375×812) when RN bridge is not initialized.
33
+ - **lodash ESM fix**: `.js` extensions added to lodash deep imports.
34
+
35
+ ## License
36
+
37
+ MIT
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var Application_exports = {};
30
+ __export(Application_exports, {
31
+ Application: () => Application
32
+ });
33
+ module.exports = __toCommonJS(Application_exports);
34
+ var React = __toESM(require("react"), 1);
35
+ var import_react_native = require("@ohos-ports/react-native");
36
+ var import_connect = require("./connect.js");
37
+ var import_jsx_runtime = require("react/jsx-runtime");
38
+ const Application = (0, import_connect.connect)(class extends React.Component {
39
+ constructor(props) {
40
+ super(props);
41
+ props.entryPoint();
42
+ }
43
+ render() {
44
+ const {
45
+ LayoutComponent
46
+ } = require("./Components/LayoutComponent");
47
+ const {
48
+ LayoutStore
49
+ } = require("./Stores/LayoutStore");
50
+ const {
51
+ Modals
52
+ } = require("./Components/Modals");
53
+ const {
54
+ Overlays
55
+ } = require("./Components/Overlays");
56
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_native.View, {
57
+ testID: "Application",
58
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(LayoutComponent, {
59
+ layoutNode: LayoutStore.getLayout()
60
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Modals, {}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Overlays, {})]
61
+ });
62
+ }
63
+ });
64
+ // Annotate the CommonJS export names for ESM import in node:
65
+ 0 && (module.exports = {
66
+ Application
67
+ });
@@ -0,0 +1,16 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var ComponentProps_exports = {};
16
+ module.exports = __toCommonJS(ComponentProps_exports);
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var BottomTabs_exports = {};
30
+ __export(BottomTabs_exports, {
31
+ BottomTabs: () => BottomTabs
32
+ });
33
+ module.exports = __toCommonJS(BottomTabs_exports);
34
+ var import_react = __toESM(require("react"), 1);
35
+ var import_LayoutComponent = require("./LayoutComponent.js");
36
+ var import_connect = require("../connect.js");
37
+ var import_jsx_runtime = require("react/jsx-runtime");
38
+ const BottomTabs = (0, import_connect.connect)(class extends import_react.Component {
39
+ render() {
40
+ return this.props.layoutNode.children.map((child) => {
41
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_LayoutComponent.LayoutComponent, {
42
+ layoutNode: child
43
+ }, child.nodeId);
44
+ });
45
+ }
46
+ });
47
+ // Annotate the CommonJS export names for ESM import in node:
48
+ 0 && (module.exports = {
49
+ BottomTabs
50
+ });
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var ComponentScreen_exports = {};
30
+ __export(ComponentScreen_exports, {
31
+ ComponentScreen: () => ComponentScreen
32
+ });
33
+ module.exports = __toCommonJS(ComponentScreen_exports);
34
+ var import_react = __toESM(require("react"), 1);
35
+ var import_react_native = require("@ohos-ports/react-native");
36
+ var import_react_native_navigation = require("react-native-navigation");
37
+ var import_constants = require("../constants.js");
38
+ var import_LayoutStore = require("../Stores/LayoutStore.js");
39
+ var import_connect = require("../connect.js");
40
+ var import_TopBar = require("./TopBar.js");
41
+ var import_EventsStore = require("../Stores/EventsStore.js");
42
+ var import_lodash = __toESM(require("lodash"), 1);
43
+ var import_layoutActions = require("../actions/layoutActions.js");
44
+ var import_jsx_runtime = require("react/jsx-runtime");
45
+ function isURISource(src) {
46
+ return !!src && typeof src === "object" && "uri" in src;
47
+ }
48
+ const ComponentScreen = (0, import_connect.connect)(class extends import_react.Component {
49
+ constructor(props) {
50
+ super(props);
51
+ }
52
+ componentDidMount() {
53
+ this.props.layoutNode.componentDidMount();
54
+ }
55
+ isVisible() {
56
+ const isVisible = import_LayoutStore.LayoutStore.isVisibleLayout(this.props.layoutNode);
57
+ return isVisible;
58
+ }
59
+ renderTabBar() {
60
+ const bottomTabs = this.props.layoutNode.getBottomTabs();
61
+ if (!bottomTabs) return null;
62
+ const bottomTabsOptions = bottomTabs.resolveOptions().bottomTabs;
63
+ if (bottomTabsOptions?.visible === false) return null;
64
+ const buttons = bottomTabs.children.map((child, i) => {
65
+ const bottomTabOptions = child.resolveOptions().bottomTab;
66
+ const icon = bottomTabs.selectedIndex === i ? bottomTabOptions?.selectedIcon : bottomTabOptions?.icon;
67
+ const iconURI = isURISource(icon) ? icon.uri : void 0;
68
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.View, {
69
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.TouchableOpacity, {
70
+ style: {
71
+ padding: 10
72
+ },
73
+ testID: bottomTabOptions?.testID,
74
+ onPress: () => {
75
+ import_EventsStore.events.invokeBottomTabPressed({
76
+ tabIndex: i
77
+ });
78
+ if (import_lodash.default.defaultTo(bottomTabOptions?.selectTabOnPress, true)) (0, import_layoutActions.switchTabByIndex)(this.props.layoutNode.getBottomTabs(), i);
79
+ },
80
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_native.View, {
81
+ style: {
82
+ justifyContent: "center",
83
+ alignItems: "center"
84
+ },
85
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Text, {
86
+ children: bottomTabOptions?.badge
87
+ }), iconURI && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Image, {
88
+ style: {
89
+ width: 18,
90
+ height: 18,
91
+ marginBottom: 5
92
+ },
93
+ source: {
94
+ uri: iconURI
95
+ }
96
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Text, {
97
+ style: {
98
+ fontSize: 12
99
+ },
100
+ children: bottomTabOptions?.text || ""
101
+ })]
102
+ })
103
+ })
104
+ }, `tab-${i}`);
105
+ });
106
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.View, {
107
+ testID: bottomTabsOptions?.testID,
108
+ style: {
109
+ flexDirection: "row",
110
+ justifyContent: "center",
111
+ width: "100%",
112
+ backgroundColor: "#F0F2F5"
113
+ },
114
+ children: buttons
115
+ });
116
+ }
117
+ render() {
118
+ const Component2 = import_react_native_navigation.Navigation.mock.store.getWrappedComponent(this.props.layoutNode.data.name);
119
+ if (!Component2) throw new Error(`${this.props.layoutNode.data.name} has not been registered.`);
120
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_native.View, {
121
+ testID: this.isVisible() ? import_constants.VISIBLE_SCREEN_TEST_ID : void 0,
122
+ children: [this.props.layoutNode.getStack() && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TopBar.TopBar, {
123
+ layoutNode: this.props.layoutNode,
124
+ topBarOptions: this.props.layoutNode.resolveOptions().topBar,
125
+ backButtonOptions: this.props.layoutNode.resolveOptions().topBar?.backButton
126
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component2, {
127
+ componentId: this.props.layoutNode.nodeId
128
+ }), this.renderTabBar()]
129
+ });
130
+ }
131
+ });
132
+ // Annotate the CommonJS export names for ESM import in node:
133
+ 0 && (module.exports = {
134
+ ComponentScreen
135
+ });
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var LayoutComponent_exports = {};
30
+ __export(LayoutComponent_exports, {
31
+ LayoutComponent: () => LayoutComponent
32
+ });
33
+ module.exports = __toCommonJS(LayoutComponent_exports);
34
+ var import_react = __toESM(require("react"), 1);
35
+ var import_react_native = require("@ohos-ports/react-native");
36
+ var import_BottomTabs = require("./BottomTabs.js");
37
+ var import_ComponentScreen = require("./ComponentScreen.js");
38
+ var import_Stack = require("./Stack.js");
39
+ var import_SideMenu = require("./SideMenu.js");
40
+ var import_jsx_runtime = require("react/jsx-runtime");
41
+ const LayoutComponent = class extends import_react.Component {
42
+ render() {
43
+ switch (this.props.layoutNode.type) {
44
+ case "BottomTabs":
45
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_BottomTabs.BottomTabs, {
46
+ layoutNode: this.props.layoutNode
47
+ });
48
+ case "Stack":
49
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Stack.Stack, {
50
+ layoutNode: this.props.layoutNode
51
+ });
52
+ case "Component":
53
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ComponentScreen.ComponentScreen, {
54
+ layoutNode: this.props.layoutNode
55
+ });
56
+ case "SideMenuRoot":
57
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SideMenu.SideMenuRoot, {
58
+ layoutNode: this.props.layoutNode
59
+ });
60
+ case "SideMenuLeft":
61
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SideMenu.SideMenuLeft, {
62
+ layoutNode: this.props.layoutNode
63
+ });
64
+ case "SideMenuCenter":
65
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SideMenu.SideMenuCenter, {
66
+ layoutNode: this.props.layoutNode
67
+ });
68
+ case "SideMenuRight":
69
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_SideMenu.SideMenuRight, {
70
+ layoutNode: this.props.layoutNode
71
+ });
72
+ }
73
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.View, {});
74
+ }
75
+ componentDidCatch(error, errorInfo) {
76
+ const err = new Error(`Error while trying to render layout ${this.props.layoutNode.nodeId} of type ${this.props.layoutNode.type}: ${error}
77
+ ${errorInfo?.componentStack}`);
78
+ err.cause = error;
79
+ throw err;
80
+ }
81
+ };
82
+ // Annotate the CommonJS export names for ESM import in node:
83
+ 0 && (module.exports = {
84
+ LayoutComponent
85
+ });
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var Modals_exports = {};
30
+ __export(Modals_exports, {
31
+ Modals: () => Modals
32
+ });
33
+ module.exports = __toCommonJS(Modals_exports);
34
+ var import_react = __toESM(require("react"), 1);
35
+ var import_react_native = require("@ohos-ports/react-native");
36
+ var import_LayoutComponent = require("./LayoutComponent.js");
37
+ var import_LayoutStore = require("../Stores/LayoutStore.js");
38
+ var import_connect = require("../connect.js");
39
+ var import_jsx_runtime = require("react/jsx-runtime");
40
+ const Modals = (0, import_connect.connect)(class extends import_react.Component {
41
+ render() {
42
+ const children = import_LayoutStore.LayoutStore.getModals();
43
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.View, {
44
+ testID: "MODALS",
45
+ children: children.map((child) => {
46
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_LayoutComponent.LayoutComponent, {
47
+ layoutNode: child
48
+ }, child.nodeId);
49
+ })
50
+ });
51
+ }
52
+ });
53
+ // Annotate the CommonJS export names for ESM import in node:
54
+ 0 && (module.exports = {
55
+ Modals
56
+ });
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var NavigationButton_exports = {};
30
+ __export(NavigationButton_exports, {
31
+ NavigationButton: () => NavigationButton
32
+ });
33
+ module.exports = __toCommonJS(NavigationButton_exports);
34
+ var import_react = __toESM(require("react"), 1);
35
+ var import_react_native = require("@ohos-ports/react-native");
36
+ var import_react_native_navigation = require("react-native-navigation");
37
+ var import_EventsStore = require("../Stores/EventsStore.js");
38
+ var import_jsx_runtime = require("react/jsx-runtime");
39
+ const NavigationButton = class extends import_react.Component {
40
+ ref = void 0;
41
+ render() {
42
+ const {
43
+ button,
44
+ componentId
45
+ } = this.props;
46
+ if (button.component) return this.renderButtonComponent();
47
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Button, {
48
+ testID: button.testID,
49
+ title: button.text || "",
50
+ disabled: button.enabled === false,
51
+ onPress: () => button.enabled !== false && import_EventsStore.events.invokeNavigationButtonPressed({
52
+ buttonId: button.id,
53
+ componentId
54
+ })
55
+ }, button.id);
56
+ }
57
+ renderButtonComponent() {
58
+ const {
59
+ button,
60
+ componentId
61
+ } = this.props;
62
+ const buttonComponentId = button.component.componentId;
63
+ const ComponentClass = import_react_native_navigation.Navigation.mock.store.getComponentClassForName(button.component.name);
64
+ if (!ComponentClass) {
65
+ throw new Error(`Cannot find registered component for: ${button.component?.name}`);
66
+ }
67
+ const ButtonComponent = ComponentClass();
68
+ const props = import_react_native_navigation.Navigation.mock.store.getPropsForId(buttonComponentId);
69
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.TouchableOpacity, {
70
+ onPress: () => {
71
+ if (this.ref) {
72
+ this.invokeOnClick(
73
+ // @ts-ignore
74
+ (this.ref._reactInternalFiber || this.ref._reactInternals).return.stateNode
75
+ );
76
+ }
77
+ import_EventsStore.events.invokeNavigationButtonPressed({
78
+ buttonId: button.id,
79
+ componentId
80
+ });
81
+ },
82
+ testID: button.testID,
83
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ButtonComponent, {
84
+ ...props,
85
+ componentId: buttonComponentId,
86
+ ref: (ref) => this.ref = ref
87
+ }, buttonComponentId)
88
+ });
89
+ }
90
+ invokeOnClick(stateNode) {
91
+ if (stateNode.children) {
92
+ stateNode.children.forEach((instance) => {
93
+ if (instance.internalInstanceHandle && instance.internalInstanceHandle.stateNode.props.onClick) {
94
+ instance.internalInstanceHandle.stateNode.props.onClick();
95
+ }
96
+ this.invokeOnClick(instance);
97
+ });
98
+ }
99
+ }
100
+ };
101
+ // Annotate the CommonJS export names for ESM import in node:
102
+ 0 && (module.exports = {
103
+ NavigationButton
104
+ });
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var Overlays_exports = {};
30
+ __export(Overlays_exports, {
31
+ Overlays: () => Overlays
32
+ });
33
+ module.exports = __toCommonJS(Overlays_exports);
34
+ var import_react = __toESM(require("react"), 1);
35
+ var import_react_native = require("@ohos-ports/react-native");
36
+ var import_constants = require("../constants.js");
37
+ var import_LayoutComponent = require("./LayoutComponent.js");
38
+ var import_LayoutStore = require("../Stores/LayoutStore.js");
39
+ var import_connect = require("../connect.js");
40
+ var import_jsx_runtime = require("react/jsx-runtime");
41
+ const Overlays = (0, import_connect.connect)(class extends import_react.Component {
42
+ render() {
43
+ const children = import_LayoutStore.LayoutStore.getOverlays();
44
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.View, {
45
+ testID: import_constants.VISIBLE_OVERLAY_TEST_ID,
46
+ children: children.map((child) => {
47
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_LayoutComponent.LayoutComponent, {
48
+ layoutNode: child
49
+ }, child.nodeId);
50
+ })
51
+ });
52
+ }
53
+ });
54
+ // Annotate the CommonJS export names for ESM import in node:
55
+ 0 && (module.exports = {
56
+ Overlays
57
+ });