@ohos-ports/react-native-navigation 8.9.0-beta.4 → 8.9.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/README.md +7 -20
  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 +6 -9
  81. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/statusbar/StatusBarPresenter.kt +0 -212
  82. package/lib/module/ARCHITECTURE.md +0 -331
  83. package/lib/module/Mock/Application.js +0 -33
  84. package/lib/module/Mock/Application.js.map +0 -1
  85. package/lib/module/Mock/ComponentProps.js +0 -4
  86. package/lib/module/Mock/ComponentProps.js.map +0 -1
  87. package/lib/module/Mock/Components/BottomTabs.js +0 -16
  88. package/lib/module/Mock/Components/BottomTabs.js.map +0 -1
  89. package/lib/module/Mock/Components/ComponentScreen.js +0 -101
  90. package/lib/module/Mock/Components/ComponentScreen.js.map +0 -1
  91. package/lib/module/Mock/Components/LayoutComponent.js +0 -50
  92. package/lib/module/Mock/Components/LayoutComponent.js.map +0 -1
  93. package/lib/module/Mock/Components/Modals.js +0 -22
  94. package/lib/module/Mock/Components/Modals.js.map +0 -1
  95. package/lib/module/Mock/Components/NavigationButton.js +0 -72
  96. package/lib/module/Mock/Components/NavigationButton.js.map +0 -1
  97. package/lib/module/Mock/Components/Overlays.js +0 -23
  98. package/lib/module/Mock/Components/Overlays.js.map +0 -1
  99. package/lib/module/Mock/Components/SideMenu.js +0 -29
  100. package/lib/module/Mock/Components/SideMenu.js.map +0 -1
  101. package/lib/module/Mock/Components/Stack.js +0 -18
  102. package/lib/module/Mock/Components/Stack.js.map +0 -1
  103. package/lib/module/Mock/Components/TopBar.js +0 -81
  104. package/lib/module/Mock/Components/TopBar.js.map +0 -1
  105. package/lib/module/Mock/Layouts/BottomTabsNode.js +0 -30
  106. package/lib/module/Mock/Layouts/BottomTabsNode.js.map +0 -1
  107. package/lib/module/Mock/Layouts/ComponentNode.js +0 -102
  108. package/lib/module/Mock/Layouts/ComponentNode.js.map +0 -1
  109. package/lib/module/Mock/Layouts/LayoutNodeFactory.js +0 -28
  110. package/lib/module/Mock/Layouts/LayoutNodeFactory.js.map +0 -1
  111. package/lib/module/Mock/Layouts/Node.js +0 -14
  112. package/lib/module/Mock/Layouts/Node.js.map +0 -1
  113. package/lib/module/Mock/Layouts/ParentNode.js +0 -66
  114. package/lib/module/Mock/Layouts/ParentNode.js.map +0 -1
  115. package/lib/module/Mock/Layouts/SideMenu.js +0 -72
  116. package/lib/module/Mock/Layouts/SideMenu.js.map +0 -1
  117. package/lib/module/Mock/Layouts/StackNode.js +0 -12
  118. package/lib/module/Mock/Layouts/StackNode.js.map +0 -1
  119. package/lib/module/Mock/Stores/EventsStore.js +0 -53
  120. package/lib/module/Mock/Stores/EventsStore.js.map +0 -1
  121. package/lib/module/Mock/Stores/LayoutStore.js.map +0 -1
  122. package/lib/module/Mock/actions/layoutActions.js +0 -19
  123. package/lib/module/Mock/actions/layoutActions.js.map +0 -1
  124. package/lib/module/Mock/connect.js +0 -8
  125. package/lib/module/Mock/connect.js.map +0 -1
  126. package/lib/module/Mock/constants.js +0 -5
  127. package/lib/module/Mock/constants.js.map +0 -1
  128. package/lib/module/Mock/index.js +0 -20
  129. package/lib/module/Mock/index.js.map +0 -1
  130. package/lib/module/Mock/mocks/AppRegistryService.js +0 -6
  131. package/lib/module/Mock/mocks/AppRegistryService.js.map +0 -1
  132. package/lib/module/Mock/mocks/NativeCommandsSender.js +0 -146
  133. package/lib/module/Mock/mocks/NativeCommandsSender.js.map +0 -1
  134. package/lib/module/Mock/mocks/NativeEventsReceiver.js +0 -103
  135. package/lib/module/Mock/mocks/NativeEventsReceiver.js.map +0 -1
  136. package/lib/module/Navigation.js +0 -250
  137. package/lib/module/Navigation.js.map +0 -1
  138. package/lib/module/NavigationDelegate.js.map +0 -1
  139. package/lib/module/adapters/AndroidCustomRowForwarder.js +0 -75
  140. package/lib/module/adapters/AndroidCustomRowForwarder.js.map +0 -1
  141. package/lib/module/adapters/AppRegistryService.js +0 -9
  142. package/lib/module/adapters/AppRegistryService.js.map +0 -1
  143. package/lib/module/adapters/AssetResolver.js +0 -9
  144. package/lib/module/adapters/AssetResolver.js.map +0 -1
  145. package/lib/module/adapters/ColorService.js +0 -9
  146. package/lib/module/adapters/ColorService.js.map +0 -1
  147. package/lib/module/adapters/Constants.js +0 -19
  148. package/lib/module/adapters/Constants.js.map +0 -1
  149. package/lib/module/adapters/NativeCommandsSender.js.map +0 -1
  150. package/lib/module/adapters/NativeEventsReceiver.js +0 -65
  151. package/lib/module/adapters/NativeEventsReceiver.js.map +0 -1
  152. package/lib/module/adapters/NativeEventsReceiver.mock.js +0 -6
  153. package/lib/module/adapters/NativeEventsReceiver.mock.js.map +0 -1
  154. package/lib/module/adapters/NativeRNNTurboEventEmitter.js +0 -7
  155. package/lib/module/adapters/NativeRNNTurboEventEmitter.js.map +0 -1
  156. package/lib/module/adapters/NativeRNNTurboModule.js +0 -6
  157. package/lib/module/adapters/NativeRNNTurboModule.js.map +0 -1
  158. package/lib/module/adapters/TouchablePreview.js +0 -115
  159. package/lib/module/adapters/TouchablePreview.js.map +0 -1
  160. package/lib/module/adapters/UniqueIdProvider.js +0 -9
  161. package/lib/module/adapters/UniqueIdProvider.js.map +0 -1
  162. package/lib/module/commands/Commands.js +0 -241
  163. package/lib/module/commands/Commands.js.map +0 -1
  164. package/lib/module/commands/Commands.test.js +0 -759
  165. package/lib/module/commands/Commands.test.js.map +0 -1
  166. package/lib/module/commands/Deprecations.js +0 -66
  167. package/lib/module/commands/Deprecations.js.map +0 -1
  168. package/lib/module/commands/LayoutTreeCrawler.js +0 -32
  169. package/lib/module/commands/LayoutTreeCrawler.js.map +0 -1
  170. package/lib/module/commands/LayoutTreeCrawler.test.js +0 -82
  171. package/lib/module/commands/LayoutTreeCrawler.test.js.map +0 -1
  172. package/lib/module/commands/LayoutTreeParser.js +0 -130
  173. package/lib/module/commands/LayoutTreeParser.js.map +0 -1
  174. package/lib/module/commands/LayoutTreeParser.test.js +0 -359
  175. package/lib/module/commands/LayoutTreeParser.test.js.map +0 -1
  176. package/lib/module/commands/LayoutType.js +0 -16
  177. package/lib/module/commands/LayoutType.js.map +0 -1
  178. package/lib/module/commands/LayoutType.test.js +0 -12
  179. package/lib/module/commands/LayoutType.test.js.map +0 -1
  180. package/lib/module/commands/OptionsCrawler.js +0 -72
  181. package/lib/module/commands/OptionsCrawler.js.map +0 -1
  182. package/lib/module/commands/OptionsCrawler.test.js +0 -351
  183. package/lib/module/commands/OptionsCrawler.test.js.map +0 -1
  184. package/lib/module/commands/OptionsProcessor.js.map +0 -1
  185. package/lib/module/commands/OptionsProcessor.test.js +0 -1234
  186. package/lib/module/commands/OptionsProcessor.test.js.map +0 -1
  187. package/lib/module/components/ComponentRegistry.js.map +0 -1
  188. package/lib/module/components/ComponentRegistry.test.js +0 -57
  189. package/lib/module/components/ComponentRegistry.test.js.map +0 -1
  190. package/lib/module/components/ComponentWrapper.js +0 -80
  191. package/lib/module/components/ComponentWrapper.js.map +0 -1
  192. package/lib/module/components/ComponentWrapper.test.js +0 -333
  193. package/lib/module/components/ComponentWrapper.test.js.map +0 -1
  194. package/lib/module/components/Modal.js +0 -125
  195. package/lib/module/components/Modal.js.map +0 -1
  196. package/lib/module/components/Store.js.map +0 -1
  197. package/lib/module/components/Store.test.js +0 -148
  198. package/lib/module/components/Store.test.js.map +0 -1
  199. package/lib/module/events/CommandsObserver.js +0 -19
  200. package/lib/module/events/CommandsObserver.js.map +0 -1
  201. package/lib/module/events/CommandsObserver.test.js +0 -43
  202. package/lib/module/events/CommandsObserver.test.js.map +0 -1
  203. package/lib/module/events/ComponentEventsObserver.js +0 -94
  204. package/lib/module/events/ComponentEventsObserver.js.map +0 -1
  205. package/lib/module/events/ComponentEventsObserver.test.js +0 -391
  206. package/lib/module/events/ComponentEventsObserver.test.js.map +0 -1
  207. package/lib/module/events/EventsRegistry.js.map +0 -1
  208. package/lib/module/events/EventsRegistry.test.js +0 -131
  209. package/lib/module/events/EventsRegistry.test.js.map +0 -1
  210. package/lib/module/index.js +0 -22
  211. package/lib/module/index.js.map +0 -1
  212. package/lib/module/interfaces/CommandName.js +0 -22
  213. package/lib/module/interfaces/CommandName.js.map +0 -1
  214. package/lib/module/interfaces/ComponentEvents.js +0 -2
  215. package/lib/module/interfaces/ComponentEvents.js.map +0 -1
  216. package/lib/module/interfaces/EventSubscription.js +0 -2
  217. package/lib/module/interfaces/EventSubscription.js.map +0 -1
  218. package/lib/module/interfaces/Events.js +0 -2
  219. package/lib/module/interfaces/Events.js.map +0 -1
  220. package/lib/module/interfaces/Layout.js +0 -4
  221. package/lib/module/interfaces/Layout.js.map +0 -1
  222. package/lib/module/interfaces/NavigationComponent.js +0 -21
  223. package/lib/module/interfaces/NavigationComponent.js.map +0 -1
  224. package/lib/module/interfaces/NavigationComponentListener.js +0 -4
  225. package/lib/module/interfaces/NavigationComponentListener.js.map +0 -1
  226. package/lib/module/interfaces/NavigationComponentProps.js +0 -2
  227. package/lib/module/interfaces/NavigationComponentProps.js.map +0 -1
  228. package/lib/module/interfaces/NavigationFunctionComponent.js +0 -4
  229. package/lib/module/interfaces/NavigationFunctionComponent.js.map +0 -1
  230. package/lib/module/interfaces/Options.js +0 -47
  231. package/lib/module/interfaces/Options.js.map +0 -1
  232. package/lib/module/interfaces/ProcessorSubscription.js +0 -2
  233. package/lib/module/interfaces/ProcessorSubscription.js.map +0 -1
  234. package/lib/module/interfaces/Processors.js +0 -4
  235. package/lib/module/interfaces/Processors.js.map +0 -1
  236. package/lib/module/linking/DeferredLinkQueue.js +0 -52
  237. package/lib/module/linking/DeferredLinkQueue.js.map +0 -1
  238. package/lib/module/linking/DeferredLinkQueue.test.js +0 -54
  239. package/lib/module/linking/DeferredLinkQueue.test.js.map +0 -1
  240. package/lib/module/linking/LinkingHandler.js.map +0 -1
  241. package/lib/module/linking/LinkingHandler.test.js +0 -384
  242. package/lib/module/linking/LinkingHandler.test.js.map +0 -1
  243. package/lib/module/linking/ModalLayoutBuilder.js +0 -56
  244. package/lib/module/linking/ModalLayoutBuilder.js.map +0 -1
  245. package/lib/module/linking/ModalLayoutBuilder.test.js +0 -154
  246. package/lib/module/linking/ModalLayoutBuilder.test.js.map +0 -1
  247. package/lib/module/linking/RouteMatcher.js.map +0 -1
  248. package/lib/module/linking/RouteMatcher.test.js +0 -164
  249. package/lib/module/linking/RouteMatcher.test.js.map +0 -1
  250. package/lib/module/linking/URLParser.js +0 -56
  251. package/lib/module/linking/URLParser.js.map +0 -1
  252. package/lib/module/linking/URLParser.test.js +0 -100
  253. package/lib/module/linking/URLParser.test.js.map +0 -1
  254. package/lib/module/linking/types.js +0 -4
  255. package/lib/module/linking/types.js.map +0 -1
  256. package/lib/module/package.json +0 -1
  257. package/lib/module/processors/LayoutProcessor.js +0 -15
  258. package/lib/module/processors/LayoutProcessor.js.map +0 -1
  259. package/lib/module/processors/LayoutProcessor.test.js +0 -53
  260. package/lib/module/processors/LayoutProcessor.test.js.map +0 -1
  261. package/lib/module/processors/LayoutProcessorsStore.js +0 -18
  262. package/lib/module/processors/LayoutProcessorsStore.js.map +0 -1
  263. package/lib/module/processors/LayoutProcessorsStore.test.js +0 -31
  264. package/lib/module/processors/LayoutProcessorsStore.test.js.map +0 -1
  265. package/lib/module/processors/OptionProcessorsStore.js +0 -19
  266. package/lib/module/processors/OptionProcessorsStore.js.map +0 -1
  267. package/lib/module/processors/OptionProcessorsStore.test.js +0 -31
  268. package/lib/module/processors/OptionProcessorsStore.test.js.map +0 -1
  269. package/lib/module/types.js +0 -2
  270. package/lib/module/types.js.map +0 -1
  271. package/scripts/setup-esm-shim.js +0 -53
@@ -0,0 +1,69 @@
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 SideMenu_exports = {};
30
+ __export(SideMenu_exports, {
31
+ SideMenuCenter: () => SideMenuCenter,
32
+ SideMenuLeft: () => SideMenuLeft,
33
+ SideMenuRight: () => SideMenuRight,
34
+ SideMenuRoot: () => SideMenuRoot
35
+ });
36
+ module.exports = __toCommonJS(SideMenu_exports);
37
+ var import_react = __toESM(require("react"), 1);
38
+ var import_connect = require("../connect.js");
39
+ var import_LayoutComponent = require("./LayoutComponent.js");
40
+ var import_jsx_runtime = require("react/jsx-runtime");
41
+ const SideMenuRoot = (0, import_connect.connect)(class extends import_react.Component {
42
+ render() {
43
+ const children = this.props.layoutNode.children;
44
+ return children.map((child) => {
45
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_LayoutComponent.LayoutComponent, {
46
+ layoutNode: child
47
+ }, child.nodeId);
48
+ });
49
+ }
50
+ });
51
+ const SideMenuComponent = (0, import_connect.connect)(class extends import_react.Component {
52
+ render() {
53
+ const children = this.props.layoutNode.children;
54
+ const component = children[0];
55
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_LayoutComponent.LayoutComponent, {
56
+ layoutNode: component
57
+ }, component.nodeId);
58
+ }
59
+ });
60
+ const SideMenuLeft = SideMenuComponent;
61
+ const SideMenuCenter = SideMenuComponent;
62
+ const SideMenuRight = SideMenuComponent;
63
+ // Annotate the CommonJS export names for ESM import in node:
64
+ 0 && (module.exports = {
65
+ SideMenuCenter,
66
+ SideMenuLeft,
67
+ SideMenuRight,
68
+ SideMenuRoot
69
+ });
@@ -0,0 +1,52 @@
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 Stack_exports = {};
30
+ __export(Stack_exports, {
31
+ Stack: () => Stack
32
+ });
33
+ module.exports = __toCommonJS(Stack_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 Stack = (0, import_connect.connect)(class extends import_react.Component {
39
+ render() {
40
+ const children = this.props.layoutNode.children;
41
+ return children.map((child, i) => {
42
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_LayoutComponent.LayoutComponent, {
43
+ layoutNode: child,
44
+ backButton: i > 0
45
+ }, child.nodeId);
46
+ });
47
+ }
48
+ });
49
+ // Annotate the CommonJS export names for ESM import in node:
50
+ 0 && (module.exports = {
51
+ Stack
52
+ });
@@ -0,0 +1,115 @@
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 TopBar_exports = {};
30
+ __export(TopBar_exports, {
31
+ TopBar: () => TopBar
32
+ });
33
+ module.exports = __toCommonJS(TopBar_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_LayoutStore = require("../Stores/LayoutStore.js");
38
+ var import_NavigationButton = require("./NavigationButton.js");
39
+ var import_EventsStore = require("../Stores/EventsStore.js");
40
+ var import_jsx_runtime = require("react/jsx-runtime");
41
+ const DEFAULT_BACK_BUTTON_ID = "RNN.back";
42
+ const TopBar = class extends import_react.Component {
43
+ constructor(props) {
44
+ super(props);
45
+ }
46
+ render() {
47
+ const topBarOptions = this.props.topBarOptions;
48
+ const topbarTestId = topBarOptions?.testID;
49
+ const titleTestId = topbarTestId ? {
50
+ testID: `${topbarTestId}.title`
51
+ } : {};
52
+ const subtitleTestId = topbarTestId ? {
53
+ testID: `${topbarTestId}.subtitle`
54
+ } : {};
55
+ if (topBarOptions?.visible === false) return null;
56
+ else {
57
+ const component = topBarOptions?.title?.component;
58
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_native.View, {
59
+ testID: topbarTestId,
60
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Text, {
61
+ ...titleTestId,
62
+ children: topBarOptions?.title?.text
63
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Text, {
64
+ ...subtitleTestId,
65
+ children: topBarOptions?.subtitle?.text
66
+ }), this.renderButtons(topBarOptions?.leftButtons), this.renderButtons(topBarOptions?.rightButtons), component && //@ts-ignore
67
+ this.renderComponent(component.componentId, component.name), this.shouldRenderBackButton(this.props.layoutNode) && this.renderBackButton()]
68
+ });
69
+ }
70
+ }
71
+ shouldRenderBackButton(layoutNode) {
72
+ const backButtonVisible = layoutNode.resolveOptions().topBar?.backButton?.visible;
73
+ return layoutNode.getStack().children.length > 1 && backButtonVisible !== false;
74
+ }
75
+ renderButtons(buttons = []) {
76
+ return buttons.map((button, i) => {
77
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_NavigationButton.NavigationButton, {
78
+ button,
79
+ componentId: this.props.layoutNode.nodeId
80
+ }, button.id || i);
81
+ });
82
+ }
83
+ renderBackButton() {
84
+ const backButtonOptions = this.props.backButtonOptions;
85
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.Button, {
86
+ testID: backButtonOptions?.testID,
87
+ title: backButtonOptions && backButtonOptions.title ? backButtonOptions.title : "",
88
+ onPress: () => {
89
+ if (backButtonOptions?.popStackOnPress === false) {
90
+ import_EventsStore.events.invokeNavigationButtonPressed({
91
+ buttonId: backButtonOptions?.id || DEFAULT_BACK_BUTTON_ID,
92
+ componentId: this.props.layoutNode.nodeId
93
+ });
94
+ } else {
95
+ import_LayoutStore.LayoutStore.pop(this.props.layoutNode.nodeId);
96
+ }
97
+ }
98
+ });
99
+ }
100
+ renderComponent(id, name, testID) {
101
+ const Component2 = import_react_native_navigation.Navigation.mock.store.getComponentClassForName(name)();
102
+ const props = import_react_native_navigation.Navigation.mock.store.getPropsForId(id);
103
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.View, {
104
+ testID,
105
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component2, {
106
+ ...props,
107
+ componentId: id
108
+ })
109
+ }, id);
110
+ }
111
+ };
112
+ // Annotate the CommonJS export names for ESM import in node:
113
+ 0 && (module.exports = {
114
+ TopBar
115
+ });
@@ -0,0 +1,60 @@
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 BottomTabsNode_exports = {};
30
+ __export(BottomTabsNode_exports, {
31
+ default: () => BottomTabsNode
32
+ });
33
+ module.exports = __toCommonJS(BottomTabsNode_exports);
34
+ var import_lodash = __toESM(require("lodash"), 1);
35
+ var import_layoutActions = require("../actions/layoutActions.js");
36
+ var import_ParentNode = __toESM(require("./ParentNode.js"), 1);
37
+ class BottomTabsNode extends import_ParentNode.default {
38
+ constructor(layout, parentNode) {
39
+ super(layout, "BottomTabs", parentNode);
40
+ this.selectedIndex = layout.data?.options?.bottomTabs?.currentTabIndex || 0;
41
+ }
42
+ mergeOptions(_options) {
43
+ super.mergeOptions(_options);
44
+ const {
45
+ options
46
+ } = this.data;
47
+ if (options.bottomTabs?.currentTabIndex) {
48
+ this.selectedIndex = options.bottomTabs?.currentTabIndex;
49
+ (0, import_layoutActions.switchTabByIndex)(this, this.selectedIndex);
50
+ }
51
+ if (options.bottomTabs?.currentTabId) {
52
+ const index = import_lodash.default.findIndex(this.children, (child) => child.nodeId === options?.bottomTabs?.currentTabId);
53
+ if (index !== -1) this.selectedIndex = index;
54
+ (0, import_layoutActions.switchTabByIndex)(this, this.selectedIndex);
55
+ }
56
+ }
57
+ getVisibleLayout() {
58
+ return this.children[this.selectedIndex].getVisibleLayout();
59
+ }
60
+ }
@@ -0,0 +1,132 @@
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 ComponentNode_exports = {};
30
+ __export(ComponentNode_exports, {
31
+ default: () => ComponentNode
32
+ });
33
+ module.exports = __toCommonJS(ComponentNode_exports);
34
+ var import_lodash = __toESM(require("lodash"), 1);
35
+ var import_EventsStore = require("../Stores/EventsStore.js");
36
+ var import_ParentNode = __toESM(require("./ParentNode.js"), 1);
37
+ class ComponentNode extends import_ParentNode.default {
38
+ componentDidMountOnce = false;
39
+ componentDidAppearPending = false;
40
+ constructor(layout, parentNode) {
41
+ super(layout, "Component", parentNode);
42
+ }
43
+ componentDidMount() {
44
+ this.componentDidMountOnce = true;
45
+ this.componentDidAppearPending && setImmediate(() => this.componentDidAppear());
46
+ }
47
+ componentDidAppear() {
48
+ if (this.componentDidMountOnce) {
49
+ import_EventsStore.events.invokeComponentWillAppear({
50
+ componentName: this.data.name,
51
+ componentId: this.nodeId,
52
+ componentType: "Component"
53
+ });
54
+ import_EventsStore.events.invokeComponentDidAppear({
55
+ componentName: this.data.name,
56
+ componentId: this.nodeId,
57
+ componentType: "Component"
58
+ });
59
+ this.buttonsDidAppear(import_lodash.default.concat(this.data.options.topBar?.rightButtons || [], this.data.options.topBar?.leftButtons || []));
60
+ this.titleChanged(void 0, this.data.options.topBar?.title);
61
+ } else {
62
+ this.componentDidAppearPending = true;
63
+ }
64
+ }
65
+ componentDidDisappear() {
66
+ import_EventsStore.events.invokeComponentDidDisappear({
67
+ componentName: this.data.name,
68
+ componentId: this.nodeId,
69
+ componentType: "Component"
70
+ });
71
+ this.buttonsDidDisappear(import_lodash.default.concat(this.data.options.topBar?.rightButtons || [], this.data.options.topBar?.leftButtons || []));
72
+ this.titleChanged(this.data.options.topBar?.title);
73
+ }
74
+ titleChanged(oldTitle, newTitle) {
75
+ if (oldTitle && oldTitle.component) {
76
+ import_EventsStore.events.invokeComponentDidDisappear({
77
+ componentName: oldTitle.component.name,
78
+ componentId: oldTitle.component.componentId,
79
+ componentType: "TopBarTitle"
80
+ });
81
+ }
82
+ if (newTitle && newTitle.component) {
83
+ import_EventsStore.events.invokeComponentWillAppear({
84
+ componentName: newTitle.component.name,
85
+ componentId: newTitle.component.componentId,
86
+ componentType: "TopBarTitle"
87
+ });
88
+ import_EventsStore.events.invokeComponentDidAppear({
89
+ componentName: newTitle.component.name,
90
+ componentId: newTitle.component.componentId,
91
+ componentType: "TopBarTitle"
92
+ });
93
+ }
94
+ }
95
+ buttonsChanged(oldButtons, newButtons) {
96
+ this.buttonsDidDisappear(oldButtons);
97
+ this.buttonsDidAppear(newButtons);
98
+ }
99
+ buttonsDidAppear(buttons = []) {
100
+ buttons.forEach((button) => {
101
+ if (button.component) {
102
+ import_EventsStore.events.invokeComponentWillAppear({
103
+ componentName: button.component.name,
104
+ // @ts-ignore
105
+ componentId: button.component.componentId,
106
+ componentType: "TopBarButton"
107
+ });
108
+ import_EventsStore.events.invokeComponentDidAppear({
109
+ componentName: button.component.name,
110
+ // @ts-ignore
111
+ componentId: button.component.componentId,
112
+ componentType: "TopBarButton"
113
+ });
114
+ }
115
+ });
116
+ }
117
+ buttonsDidDisappear(buttons = []) {
118
+ buttons.forEach((button) => {
119
+ if (button.component) {
120
+ import_EventsStore.events.invokeComponentDidDisappear({
121
+ componentName: button.component.name,
122
+ // @ts-ignore
123
+ componentId: button.component.componentId,
124
+ componentType: "TopBarButton"
125
+ });
126
+ }
127
+ });
128
+ }
129
+ getVisibleLayout() {
130
+ return this;
131
+ }
132
+ }
@@ -0,0 +1,59 @@
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 LayoutNodeFactory_exports = {};
30
+ __export(LayoutNodeFactory_exports, {
31
+ default: () => LayoutNodeFactory
32
+ });
33
+ module.exports = __toCommonJS(LayoutNodeFactory_exports);
34
+ var import_BottomTabsNode = __toESM(require("./BottomTabsNode.js"), 1);
35
+ var import_ComponentNode = __toESM(require("./ComponentNode.js"), 1);
36
+ var import_StackNode = __toESM(require("./StackNode.js"), 1);
37
+ var import_SideMenu = __toESM(require("./SideMenu.js"), 1);
38
+ class LayoutNodeFactory {
39
+ static create(layout, parentNode) {
40
+ switch (layout.type) {
41
+ case "Component":
42
+ return new import_ComponentNode.default(layout, parentNode);
43
+ case "Stack":
44
+ return new import_StackNode.default(layout, parentNode);
45
+ case "SideMenuRoot":
46
+ return new import_SideMenu.default(layout, parentNode);
47
+ case "SideMenuLeft":
48
+ return new import_SideMenu.SideMenuLeftNode(layout, parentNode);
49
+ case "SideMenuCenter":
50
+ return new import_SideMenu.SideMenuCenterNode(layout, parentNode);
51
+ case "SideMenuRight":
52
+ return new import_SideMenu.SideMenuRightNode(layout, parentNode);
53
+ default:
54
+ // TODO Undo
55
+ case "BottomTabs":
56
+ return new import_BottomTabsNode.default(layout, parentNode);
57
+ }
58
+ }
59
+ }
@@ -0,0 +1,32 @@
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 Node_exports = {};
20
+ __export(Node_exports, {
21
+ default: () => Node
22
+ });
23
+ module.exports = __toCommonJS(Node_exports);
24
+ class Node {
25
+ // options: Options;
26
+ constructor(layout, type, parentNode) {
27
+ this.nodeId = layout.id;
28
+ this.data = layout.data;
29
+ this.parentNode = parentNode;
30
+ this.type = type;
31
+ }
32
+ }
@@ -0,0 +1,99 @@
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 ParentNode_exports = {};
30
+ __export(ParentNode_exports, {
31
+ default: () => ParentNode
32
+ });
33
+ module.exports = __toCommonJS(ParentNode_exports);
34
+ var import_lodash = __toESM(require("lodash"), 1);
35
+ var import_LayoutStore = require("../Stores/LayoutStore.js");
36
+ var import_LayoutNodeFactory = __toESM(require("./LayoutNodeFactory.js"), 1);
37
+ var import_Node = __toESM(require("./Node.js"), 1);
38
+ class ParentNode extends import_Node.default {
39
+ constructor(layout, type, parentNode) {
40
+ super(layout, type, parentNode);
41
+ this.children = layout.children.map((childLayout) => import_LayoutNodeFactory.default.create(childLayout, this));
42
+ }
43
+ componentDidMount() {
44
+ }
45
+ componentDidAppear() {
46
+ this.getVisibleLayout().componentDidAppear();
47
+ }
48
+ componentDidDisappear() {
49
+ this.getVisibleLayout().componentDidDisappear();
50
+ }
51
+ getVisibleLayout() {
52
+ return this.children[this.children.length - 1].getVisibleLayout();
53
+ }
54
+ getTopParent() {
55
+ if (this.parentNode) return this.parentNode.getTopParent();
56
+ return this;
57
+ }
58
+ applyOptions(_options) {
59
+ this.parentNode?.applyOptions(_options);
60
+ }
61
+ mergeOptions(options) {
62
+ this.data.options = import_lodash.default.mergeWith(this.data.options, options, (objValue, srcValue, key) => {
63
+ if (import_lodash.default.isArray(objValue)) {
64
+ if (key === "rightButtons" || key === "leftButtons") {
65
+ this.buttonsChanged(objValue, srcValue);
66
+ }
67
+ return srcValue;
68
+ }
69
+ if (key === "title" && srcValue.component) {
70
+ this.titleChanged(objValue, srcValue);
71
+ }
72
+ });
73
+ this.parentNode?.mergeOptions(options);
74
+ }
75
+ buttonsChanged(_oldButtons, _newButtons) {
76
+ }
77
+ titleChanged(_oldComponent, _newComponent) {
78
+ }
79
+ resolveOptions() {
80
+ const options = import_lodash.default.merge(import_lodash.default.cloneDeep(this.data.options), this.getVisibleLayout().data.options);
81
+ return import_lodash.default.merge(import_lodash.default.cloneDeep(import_LayoutStore.LayoutStore.getDefaultOptions()), options);
82
+ }
83
+ getStack() {
84
+ if (this.type === "Stack") {
85
+ return this;
86
+ } else if (this.parentNode) {
87
+ return this.parentNode.getStack();
88
+ }
89
+ return void 0;
90
+ }
91
+ getBottomTabs() {
92
+ if (this.type === "BottomTabs") {
93
+ return this;
94
+ } else if (this.parentNode) {
95
+ return this.parentNode.getBottomTabs();
96
+ }
97
+ return void 0;
98
+ }
99
+ }