@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
@@ -0,0 +1,42 @@
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 LayoutProcessorsStore_exports = {};
20
+ __export(LayoutProcessorsStore_exports, {
21
+ LayoutProcessorsStore: () => LayoutProcessorsStore
22
+ });
23
+ module.exports = __toCommonJS(LayoutProcessorsStore_exports);
24
+ class LayoutProcessorsStore {
25
+ layoutProcessors = [];
26
+ addProcessor(processor) {
27
+ this.layoutProcessors.push(processor);
28
+ return {
29
+ remove: () => this.removeProcessor(processor)
30
+ };
31
+ }
32
+ getProcessors() {
33
+ return this.layoutProcessors;
34
+ }
35
+ removeProcessor(processor) {
36
+ this.layoutProcessors.splice(this.layoutProcessors.indexOf(processor));
37
+ }
38
+ }
39
+ // Annotate the CommonJS export names for ESM import in node:
40
+ 0 && (module.exports = {
41
+ LayoutProcessorsStore
42
+ });
@@ -0,0 +1,43 @@
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 OptionProcessorsStore_exports = {};
20
+ __export(OptionProcessorsStore_exports, {
21
+ OptionProcessorsStore: () => OptionProcessorsStore
22
+ });
23
+ module.exports = __toCommonJS(OptionProcessorsStore_exports);
24
+ class OptionProcessorsStore {
25
+ optionsProcessorsByObjectPath = {};
26
+ addProcessor(optionPath, processor) {
27
+ if (!this.optionsProcessorsByObjectPath[optionPath]) this.optionsProcessorsByObjectPath[optionPath] = [];
28
+ this.optionsProcessorsByObjectPath[optionPath].push(processor);
29
+ return {
30
+ remove: () => this.removeProcessor(optionPath, processor)
31
+ };
32
+ }
33
+ getProcessors(optionPath) {
34
+ return this.optionsProcessorsByObjectPath[optionPath];
35
+ }
36
+ removeProcessor(optionPath, processor) {
37
+ this.optionsProcessorsByObjectPath[optionPath].splice(this.optionsProcessorsByObjectPath[optionPath].indexOf(processor));
38
+ }
39
+ }
40
+ // Annotate the CommonJS export names for ESM import in node:
41
+ 0 && (module.exports = {
42
+ OptionProcessorsStore
43
+ });
@@ -0,0 +1 @@
1
+ "use strict";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ohos-ports/react-native-navigation",
3
- "version": "8.9.0-beta.1",
3
+ "version": "8.9.0-beta.11",
4
4
  "description": "React Native Navigation - truly native navigation for iOS and Android (HarmonyOS port)",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -15,31 +15,30 @@
15
15
  "url": "https://github.com/ohos-ports/ohos-ports.git",
16
16
  "directory": "ports/react-native-navigation/8.9.0"
17
17
  },
18
- "main": "./lib/module/index.js",
18
+ "main": "./lib/cjs/index.js",
19
19
  "types": "./lib/typescript/index.d.ts",
20
20
  "exports": {
21
21
  ".": {
22
22
  "types": "./lib/typescript/index.d.ts",
23
- "default": "./lib/module/index.js"
23
+ "default": "./lib/cjs/index.js"
24
24
  },
25
25
  "./Mock": {
26
26
  "types": "./lib/typescript/Mock/index.d.ts",
27
- "default": "./lib/module/Mock/index.js"
27
+ "default": "./lib/cjs/Mock/index.js"
28
28
  },
29
29
  "./package.json": "./package.json"
30
30
  },
31
31
  "files": [
32
32
  "lib",
33
- "scripts",
33
+ "postinstall.js",
34
34
  "README.md",
35
35
  "LICENSE"
36
36
  ],
37
37
  "scripts": {
38
- "postinstall": "node scripts/setup-esm-shim.js"
38
+ "postinstall": "node postinstall.js"
39
39
  },
40
40
  "peerDependencies": {
41
- "react": "*",
42
- "@ohos-ports/react-native": "^0.87.1-beta.1"
41
+ "react": "*"
43
42
  },
44
43
  "peerDependenciesMeta": {
45
44
  "@ohos-ports/remx": {
@@ -51,6 +50,8 @@
51
50
  "lodash": "4.18.1",
52
51
  "prop-types": "15.x.x",
53
52
  "react-lifecycles-compat": "^3.0.4",
54
- "tslib": "1.9.3"
53
+ "tslib": "1.9.3",
54
+ "@ohos-ports/react-native": "^0.87.1-beta.2",
55
+ "react-native": "npm:@ohos-ports/react-native@^0.87.1-beta.2"
55
56
  }
56
57
  }
package/postinstall.js ADDED
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ const fs = require("fs");
4
+ const path = require("path");
5
+
6
+ const REQUIRED_OVERRIDE = "npm:@ohos-ports/react-native@^0.87.1-beta.2";
7
+
8
+ // npm sets INIT_CWD to the project root during postinstall
9
+ const projectRoot = process.env.INIT_CWD || process.cwd();
10
+ const pkgPath = path.join(projectRoot, "package.json");
11
+
12
+ if (!fs.existsSync(pkgPath)) {
13
+ // Not a project context (e.g. running inside the package's own dir), skip
14
+ process.exit(0);
15
+ }
16
+
17
+ let pkg;
18
+ try {
19
+ pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
20
+ } catch {
21
+ // Invalid package.json, skip silently
22
+ process.exit(0);
23
+ }
24
+
25
+ // Check if override already exists and matches
26
+ const existing = pkg.overrides && pkg.overrides["react-native"];
27
+ if (existing === REQUIRED_OVERRIDE) {
28
+ process.exit(0);
29
+ }
30
+
31
+ // Add/update overrides
32
+ if (!pkg.overrides) {
33
+ pkg.overrides = {};
34
+ }
35
+
36
+ pkg.overrides["react-native"] = REQUIRED_OVERRIDE;
37
+
38
+ try {
39
+ fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + "\n", "utf8");
40
+ console.log(
41
+ "[@ohos-ports/react-native-navigation] " +
42
+ 'Automatically added "overrides.react-native" to your package.json. ' +
43
+ "Please run `npm install` again to apply the changes."
44
+ );
45
+ } catch {
46
+ // Cannot write (read-only filesystem, permissions, etc.) — fall back to warning
47
+ console.warn(
48
+ "[@ohos-ports/react-native-navigation] " +
49
+ "Could not automatically add overrides to package.json. " +
50
+ 'Please add this to your package.json manually:\n' +
51
+ JSON.stringify({ overrides: { "react-native": REQUIRED_OVERRIDE } }, null, 2)
52
+ );
53
+ }
@@ -1,212 +0,0 @@
1
- package com.reactnativenavigation.viewcontrollers.statusbar
2
-
3
- import android.animation.Animator
4
- import android.app.Activity
5
- import android.graphics.Color
6
- import android.view.View
7
- import android.view.Window
8
- import com.reactnativenavigation.RNNFeatureToggles.isEnabled
9
- import com.reactnativenavigation.RNNToggles
10
- import com.reactnativenavigation.options.Options
11
- import com.reactnativenavigation.options.StatusBarOptions
12
- import com.reactnativenavigation.options.StatusBarOptions.TextColorScheme
13
- import com.reactnativenavigation.options.params.Bool
14
- import com.reactnativenavigation.utils.ColorUtils.isColorLight
15
- import com.reactnativenavigation.utils.StubAnimationListener.Companion.onAnimatorEnd
16
- import com.reactnativenavigation.utils.SystemUiUtils.clearStatusBarTranslucency
17
- import com.reactnativenavigation.utils.SystemUiUtils.getStatusBarColor
18
- import com.reactnativenavigation.utils.SystemUiUtils.hideStatusBar
19
- import com.reactnativenavigation.utils.SystemUiUtils.isTranslucent
20
- import com.reactnativenavigation.utils.SystemUiUtils.setStatusBarColor
21
- import com.reactnativenavigation.utils.SystemUiUtils.setStatusBarColorScheme
22
- import com.reactnativenavigation.utils.SystemUiUtils.setStatusBarTranslucent
23
- import com.reactnativenavigation.utils.SystemUiUtils.showStatusBar
24
- import com.reactnativenavigation.viewcontrollers.viewcontroller.StatusBarColorAnimator
25
- import com.reactnativenavigation.viewcontrollers.viewcontroller.ViewController
26
- import java.lang.ref.WeakReference
27
-
28
- class StatusBarPresenter private constructor(
29
- activity: Activity,
30
- private val sbColorAnimator: StatusBarColorAnimator = StatusBarColorAnimator(activity)) {
31
-
32
- private val window = WeakReference(activity.window)
33
- private var hasPendingColorAnim = false
34
-
35
- fun applyOptions(viewController: ViewController<*>, options: StatusBarOptions) {
36
- if (!hasPendingColorAnim) {
37
- setStatusBarBackgroundColor(options)
38
- setTranslucent(options)
39
- }
40
- setTextColorScheme(options)
41
- setStatusBarVisible(viewController, options.visible)
42
- }
43
-
44
- fun mergeOptions(view: View, statusBar: StatusBarOptions) {
45
- mergeStatusBarBackgroundColor(statusBar)
46
- mergeTextColorScheme(statusBar)
47
- mergeTranslucent(statusBar)
48
- mergeStatusBarVisible(view, statusBar.visible)
49
- }
50
-
51
- fun onConfigurationChanged(options: StatusBarOptions) {
52
- setStatusBarBackgroundColor(options)
53
- setTextColorScheme(options)
54
- }
55
-
56
- fun bindViewController(newOptions: StatusBarOptions) {
57
- if (!isEnabled(RNNToggles.TOP_BAR_COLOR_ANIMATION__TABS)) {
58
- return
59
- }
60
-
61
- if (newOptions.backgroundColor.canApplyValue()) {
62
- val currentColor = getCurrentStatusBarBackgroundColor() ?: return
63
- val newColor = getStatusBarBackgroundColor(newOptions)
64
- createStatusBarColorAnimation(
65
- from = currentColor,
66
- to = newColor,
67
- translucent = newOptions.translucent.isTrue,
68
- ).start()
69
- }
70
- }
71
-
72
- fun getStatusBarPushAnimation(appearingOptions: Options): Animator? =
73
- if (isEnabled(RNNToggles.TOP_BAR_COLOR_ANIMATION__PUSH)) {
74
- getStatusBarColorAnimation(appearingOptions.statusBar)
75
- } else null
76
-
77
- fun getStatusBarPopAnimation(appearingOptions: Options, disappearingOptions: Options): Animator? =
78
- if (isEnabled(RNNToggles.TOP_BAR_COLOR_ANIMATION__PUSH)) {
79
- getStatusBarColorAnimation(appearingOptions.statusBar)
80
- } else null
81
-
82
- private fun setStatusBarBackgroundColor(statusBar: StatusBarOptions) {
83
- if (statusBar.backgroundColor.canApplyValue()) {
84
- val statusBarBackgroundColor: Int = getStatusBarBackgroundColor(statusBar)
85
- setStatusBarBackgroundColor(statusBarBackgroundColor, statusBar.translucent.isTrue)
86
- }
87
- }
88
-
89
- private fun setStatusBarBackgroundColor(color: Int, translucent: Boolean) {
90
- setStatusBarColor(window.get(), color, translucent)
91
- }
92
-
93
- private fun getStatusBarBackgroundColor(statusBar: StatusBarOptions): Int {
94
- val defaultColor =
95
- if (statusBar.visible.isTrueOrUndefined) Color.BLACK else Color.TRANSPARENT
96
- return statusBar.backgroundColor.get(defaultColor)!!
97
- }
98
-
99
- private fun setTextColorScheme(statusBar: StatusBarOptions) {
100
- val view = window.get()?.decorView
101
- //View.post is a Workaround, added to solve internal Samsung
102
- //Android 9 issues. For more info see https://github.com/wix/react-native-navigation/pull/7231
103
- view?.post {
104
- setStatusBarColorScheme(
105
- window.get(),
106
- view,
107
- isDarkTextColorScheme(statusBar)
108
- )
109
- }
110
- }
111
-
112
- private fun setTranslucent(options: StatusBarOptions) {
113
- val window = window.get()
114
- if (options.translucent.isTrue) {
115
- setStatusBarTranslucent(window)
116
- } else if (isTranslucent(window)) {
117
- clearStatusBarTranslucency(window)
118
- }
119
- }
120
-
121
- private fun setStatusBarVisible(viewController: ViewController<*>, visible: Bool) {
122
- val window = window.get() ?: return
123
- val view = if (viewController.view != null) viewController.view else window.decorView
124
- if (visible.isFalse) {
125
- hideStatusBar(window, view)
126
- } else {
127
- showStatusBar(window, view)
128
- }
129
- }
130
-
131
- private fun mergeStatusBarBackgroundColor(statusBar: StatusBarOptions) {
132
- if (statusBar.backgroundColor.hasValue()) {
133
- val statusBarBackgroundColor = getStatusBarBackgroundColor(statusBar)
134
- setStatusBarColor(
135
- window.get(), statusBarBackgroundColor,
136
- statusBar.translucent.isTrue
137
- )
138
- }
139
- }
140
-
141
- private fun mergeTextColorScheme(statusBar: StatusBarOptions) {
142
- if (!statusBar.textColorScheme.hasValue()) return
143
- setTextColorScheme(statusBar)
144
- }
145
-
146
- private fun mergeTranslucent(options: StatusBarOptions) {
147
- val window: Window = window.get() ?: return
148
- if (options.translucent.isTrue) {
149
- setStatusBarTranslucent(window)
150
- } else if (options.translucent.isFalse && isTranslucent(window)) {
151
- clearStatusBarTranslucency(window)
152
- }
153
- }
154
-
155
- private fun mergeStatusBarVisible(view: View, visible: Bool) {
156
- if (visible.hasValue()) {
157
- if (visible.isTrue) {
158
- showStatusBar(window.get(), view)
159
- } else {
160
- hideStatusBar(window.get(), view)
161
- }
162
- }
163
- }
164
-
165
- private fun isDarkTextColorScheme(statusBar: StatusBarOptions): Boolean {
166
- if (statusBar.textColorScheme == TextColorScheme.Dark) {
167
- return true
168
- }
169
-
170
- if (statusBar.textColorScheme == TextColorScheme.Light) {
171
- return false
172
- }
173
- return isColorLight(getStatusBarBackgroundColor(statusBar))
174
- }
175
-
176
- private fun getStatusBarColorAnimation(statusBarOptions: StatusBarOptions): Animator? {
177
- if (isEnabled(RNNToggles.TOP_BAR_COLOR_ANIMATION__TABS)) {
178
- getCurrentStatusBarBackgroundColor()?.let { currentColor ->
179
- val targetColor = statusBarOptions.backgroundColor
180
-
181
- if (targetColor.hasValue()) {
182
- val translucent = statusBarOptions.translucent.isTrue
183
- return createStatusBarColorAnimation(
184
- from = currentColor,
185
- to = targetColor.get(),
186
- translucent = translucent,
187
- )
188
- }
189
- }
190
- }
191
- return null
192
- }
193
-
194
- private fun createStatusBarColorAnimation(from: Int, to: Int, translucent: Boolean): Animator =
195
- sbColorAnimator.getAnimator(from, to, translucent).apply {
196
- addListener(onAnimatorEnd {
197
- hasPendingColorAnim = false
198
- })
199
- hasPendingColorAnim = true
200
- }
201
-
202
- private fun getCurrentStatusBarBackgroundColor() =
203
- getStatusBarColor(window.get())
204
-
205
- companion object {
206
- lateinit var instance: StatusBarPresenter
207
-
208
- fun init(activity: Activity) {
209
- instance = StatusBarPresenter(activity)
210
- }
211
- }
212
- }