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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/README.md +13 -11
  2. package/lib/android/app/src/main/java/com/reactnativenavigation/viewcontrollers/statusbar/StatusBarPresenter.kt +212 -0
  3. package/lib/module/ARCHITECTURE.md +331 -0
  4. package/lib/module/Mock/Application.js +33 -0
  5. package/lib/module/Mock/Application.js.map +1 -0
  6. package/lib/module/Mock/ComponentProps.js +4 -0
  7. package/lib/module/Mock/ComponentProps.js.map +1 -0
  8. package/lib/module/Mock/Components/BottomTabs.js +16 -0
  9. package/lib/module/Mock/Components/BottomTabs.js.map +1 -0
  10. package/lib/module/Mock/Components/ComponentScreen.js +101 -0
  11. package/lib/module/Mock/Components/ComponentScreen.js.map +1 -0
  12. package/lib/module/Mock/Components/LayoutComponent.js +50 -0
  13. package/lib/module/Mock/Components/LayoutComponent.js.map +1 -0
  14. package/lib/module/Mock/Components/Modals.js +22 -0
  15. package/lib/module/Mock/Components/Modals.js.map +1 -0
  16. package/lib/module/Mock/Components/NavigationButton.js +72 -0
  17. package/lib/module/Mock/Components/NavigationButton.js.map +1 -0
  18. package/lib/module/Mock/Components/Overlays.js +23 -0
  19. package/lib/module/Mock/Components/Overlays.js.map +1 -0
  20. package/lib/module/Mock/Components/SideMenu.js +29 -0
  21. package/lib/module/Mock/Components/SideMenu.js.map +1 -0
  22. package/lib/module/Mock/Components/Stack.js +18 -0
  23. package/lib/module/Mock/Components/Stack.js.map +1 -0
  24. package/lib/module/Mock/Components/TopBar.js +81 -0
  25. package/lib/module/Mock/Components/TopBar.js.map +1 -0
  26. package/lib/module/Mock/Layouts/BottomTabsNode.js +30 -0
  27. package/lib/module/Mock/Layouts/BottomTabsNode.js.map +1 -0
  28. package/lib/module/Mock/Layouts/ComponentNode.js +102 -0
  29. package/lib/module/Mock/Layouts/ComponentNode.js.map +1 -0
  30. package/lib/module/Mock/Layouts/LayoutNodeFactory.js +28 -0
  31. package/lib/module/Mock/Layouts/LayoutNodeFactory.js.map +1 -0
  32. package/lib/module/Mock/Layouts/Node.js +14 -0
  33. package/lib/module/Mock/Layouts/Node.js.map +1 -0
  34. package/lib/module/Mock/Layouts/ParentNode.js +66 -0
  35. package/lib/module/Mock/Layouts/ParentNode.js.map +1 -0
  36. package/lib/module/Mock/Layouts/SideMenu.js +72 -0
  37. package/lib/module/Mock/Layouts/SideMenu.js.map +1 -0
  38. package/lib/module/Mock/Layouts/StackNode.js +12 -0
  39. package/lib/module/Mock/Layouts/StackNode.js.map +1 -0
  40. package/lib/module/Mock/Stores/EventsStore.js +53 -0
  41. package/lib/module/Mock/Stores/EventsStore.js.map +1 -0
  42. package/lib/{cjs → module}/Mock/Stores/LayoutStore.js +24 -56
  43. package/lib/module/Mock/Stores/LayoutStore.js.map +1 -0
  44. package/lib/module/Mock/actions/layoutActions.js +19 -0
  45. package/lib/module/Mock/actions/layoutActions.js.map +1 -0
  46. package/lib/module/Mock/connect.js +8 -0
  47. package/lib/module/Mock/connect.js.map +1 -0
  48. package/lib/module/Mock/constants.js +5 -0
  49. package/lib/module/Mock/constants.js.map +1 -0
  50. package/lib/module/Mock/index.js +20 -0
  51. package/lib/module/Mock/index.js.map +1 -0
  52. package/lib/module/Mock/mocks/AppRegistryService.js +6 -0
  53. package/lib/module/Mock/mocks/AppRegistryService.js.map +1 -0
  54. package/lib/module/Mock/mocks/NativeCommandsSender.js +146 -0
  55. package/lib/module/Mock/mocks/NativeCommandsSender.js.map +1 -0
  56. package/lib/module/Mock/mocks/NativeEventsReceiver.js +103 -0
  57. package/lib/module/Mock/mocks/NativeEventsReceiver.js.map +1 -0
  58. package/lib/module/Navigation.js +250 -0
  59. package/lib/module/Navigation.js.map +1 -0
  60. package/lib/{cjs → module}/NavigationDelegate.js +34 -33
  61. package/lib/module/NavigationDelegate.js.map +1 -0
  62. package/lib/module/adapters/AndroidCustomRowForwarder.js +75 -0
  63. package/lib/module/adapters/AndroidCustomRowForwarder.js.map +1 -0
  64. package/lib/module/adapters/AppRegistryService.js +9 -0
  65. package/lib/module/adapters/AppRegistryService.js.map +1 -0
  66. package/lib/module/adapters/AssetResolver.js +9 -0
  67. package/lib/module/adapters/AssetResolver.js.map +1 -0
  68. package/lib/module/adapters/ColorService.js +9 -0
  69. package/lib/module/adapters/ColorService.js.map +1 -0
  70. package/lib/module/adapters/Constants.js +19 -0
  71. package/lib/module/adapters/Constants.js.map +1 -0
  72. package/lib/{cjs → module}/adapters/NativeCommandsSender.js +5 -39
  73. package/lib/module/adapters/NativeCommandsSender.js.map +1 -0
  74. package/lib/module/adapters/NativeEventsReceiver.js +65 -0
  75. package/lib/module/adapters/NativeEventsReceiver.js.map +1 -0
  76. package/lib/module/adapters/NativeEventsReceiver.mock.js +6 -0
  77. package/lib/module/adapters/NativeEventsReceiver.mock.js.map +1 -0
  78. package/lib/module/adapters/NativeRNNTurboEventEmitter.js +7 -0
  79. package/lib/module/adapters/NativeRNNTurboEventEmitter.js.map +1 -0
  80. package/lib/module/adapters/NativeRNNTurboModule.js +6 -0
  81. package/lib/module/adapters/NativeRNNTurboModule.js.map +1 -0
  82. package/lib/module/adapters/TouchablePreview.js +115 -0
  83. package/lib/module/adapters/TouchablePreview.js.map +1 -0
  84. package/lib/module/adapters/UniqueIdProvider.js +9 -0
  85. package/lib/module/adapters/UniqueIdProvider.js.map +1 -0
  86. package/lib/module/commands/Commands.js +241 -0
  87. package/lib/module/commands/Commands.js.map +1 -0
  88. package/lib/module/commands/Commands.test.js +759 -0
  89. package/lib/module/commands/Commands.test.js.map +1 -0
  90. package/lib/module/commands/Deprecations.js +66 -0
  91. package/lib/module/commands/Deprecations.js.map +1 -0
  92. package/lib/module/commands/LayoutTreeCrawler.js +32 -0
  93. package/lib/module/commands/LayoutTreeCrawler.js.map +1 -0
  94. package/lib/module/commands/LayoutTreeCrawler.test.js +82 -0
  95. package/lib/module/commands/LayoutTreeCrawler.test.js.map +1 -0
  96. package/lib/module/commands/LayoutTreeParser.js +130 -0
  97. package/lib/module/commands/LayoutTreeParser.js.map +1 -0
  98. package/lib/module/commands/LayoutTreeParser.test.js +359 -0
  99. package/lib/module/commands/LayoutTreeParser.test.js.map +1 -0
  100. package/lib/module/commands/LayoutType.js +16 -0
  101. package/lib/module/commands/LayoutType.js.map +1 -0
  102. package/lib/module/commands/LayoutType.test.js +12 -0
  103. package/lib/module/commands/LayoutType.test.js.map +1 -0
  104. package/lib/module/commands/OptionsCrawler.js +72 -0
  105. package/lib/module/commands/OptionsCrawler.js.map +1 -0
  106. package/lib/module/commands/OptionsCrawler.test.js +351 -0
  107. package/lib/module/commands/OptionsCrawler.test.js.map +1 -0
  108. package/lib/{cjs → module}/commands/OptionsProcessor.js +67 -102
  109. package/lib/module/commands/OptionsProcessor.js.map +1 -0
  110. package/lib/module/commands/OptionsProcessor.test.js +1234 -0
  111. package/lib/module/commands/OptionsProcessor.test.js.map +1 -0
  112. package/lib/{cjs → module}/components/ComponentRegistry.js +3 -27
  113. package/lib/module/components/ComponentRegistry.js.map +1 -0
  114. package/lib/module/components/ComponentRegistry.test.js +57 -0
  115. package/lib/module/components/ComponentRegistry.test.js.map +1 -0
  116. package/lib/module/components/ComponentWrapper.js +80 -0
  117. package/lib/module/components/ComponentWrapper.js.map +1 -0
  118. package/lib/module/components/ComponentWrapper.test.js +333 -0
  119. package/lib/module/components/ComponentWrapper.test.js.map +1 -0
  120. package/lib/module/components/Modal.js +125 -0
  121. package/lib/module/components/Modal.js.map +1 -0
  122. package/lib/{cjs → module}/components/Store.js +3 -27
  123. package/lib/module/components/Store.js.map +1 -0
  124. package/lib/module/components/Store.test.js +148 -0
  125. package/lib/module/components/Store.test.js.map +1 -0
  126. package/lib/module/events/CommandsObserver.js +19 -0
  127. package/lib/module/events/CommandsObserver.js.map +1 -0
  128. package/lib/module/events/CommandsObserver.test.js +43 -0
  129. package/lib/module/events/CommandsObserver.test.js.map +1 -0
  130. package/lib/module/events/ComponentEventsObserver.js +94 -0
  131. package/lib/module/events/ComponentEventsObserver.js.map +1 -0
  132. package/lib/module/events/ComponentEventsObserver.test.js +391 -0
  133. package/lib/module/events/ComponentEventsObserver.test.js.map +1 -0
  134. package/lib/{cjs → module}/events/EventsRegistry.js +3 -27
  135. package/lib/module/events/EventsRegistry.js.map +1 -0
  136. package/lib/module/events/EventsRegistry.test.js +131 -0
  137. package/lib/module/events/EventsRegistry.test.js.map +1 -0
  138. package/lib/module/index.js +22 -0
  139. package/lib/module/index.js.map +1 -0
  140. package/lib/module/interfaces/CommandName.js +22 -0
  141. package/lib/module/interfaces/CommandName.js.map +1 -0
  142. package/lib/module/interfaces/ComponentEvents.js +2 -0
  143. package/lib/module/interfaces/ComponentEvents.js.map +1 -0
  144. package/lib/module/interfaces/EventSubscription.js +2 -0
  145. package/lib/module/interfaces/EventSubscription.js.map +1 -0
  146. package/lib/module/interfaces/Events.js +2 -0
  147. package/lib/module/interfaces/Events.js.map +1 -0
  148. package/lib/module/interfaces/Layout.js +4 -0
  149. package/lib/module/interfaces/Layout.js.map +1 -0
  150. package/lib/module/interfaces/NavigationComponent.js +21 -0
  151. package/lib/module/interfaces/NavigationComponent.js.map +1 -0
  152. package/lib/module/interfaces/NavigationComponentListener.js +4 -0
  153. package/lib/module/interfaces/NavigationComponentListener.js.map +1 -0
  154. package/lib/module/interfaces/NavigationComponentProps.js +2 -0
  155. package/lib/module/interfaces/NavigationComponentProps.js.map +1 -0
  156. package/lib/module/interfaces/NavigationFunctionComponent.js +4 -0
  157. package/lib/module/interfaces/NavigationFunctionComponent.js.map +1 -0
  158. package/lib/module/interfaces/Options.js +47 -0
  159. package/lib/module/interfaces/Options.js.map +1 -0
  160. package/lib/module/interfaces/ProcessorSubscription.js +2 -0
  161. package/lib/module/interfaces/ProcessorSubscription.js.map +1 -0
  162. package/lib/module/interfaces/Processors.js +4 -0
  163. package/lib/module/interfaces/Processors.js.map +1 -0
  164. package/lib/module/linking/DeferredLinkQueue.js +52 -0
  165. package/lib/module/linking/DeferredLinkQueue.js.map +1 -0
  166. package/lib/module/linking/DeferredLinkQueue.test.js +54 -0
  167. package/lib/module/linking/DeferredLinkQueue.test.js.map +1 -0
  168. package/lib/{cjs → module}/linking/LinkingHandler.js +43 -40
  169. package/lib/module/linking/LinkingHandler.js.map +1 -0
  170. package/lib/module/linking/LinkingHandler.test.js +384 -0
  171. package/lib/module/linking/LinkingHandler.test.js.map +1 -0
  172. package/lib/module/linking/ModalLayoutBuilder.js +56 -0
  173. package/lib/module/linking/ModalLayoutBuilder.js.map +1 -0
  174. package/lib/module/linking/ModalLayoutBuilder.test.js +154 -0
  175. package/lib/module/linking/ModalLayoutBuilder.test.js.map +1 -0
  176. package/lib/{cjs → module}/linking/RouteMatcher.js +15 -31
  177. package/lib/module/linking/RouteMatcher.js.map +1 -0
  178. package/lib/module/linking/RouteMatcher.test.js +164 -0
  179. package/lib/module/linking/RouteMatcher.test.js.map +1 -0
  180. package/lib/module/linking/URLParser.js +56 -0
  181. package/lib/module/linking/URLParser.js.map +1 -0
  182. package/lib/module/linking/URLParser.test.js +100 -0
  183. package/lib/module/linking/URLParser.test.js.map +1 -0
  184. package/lib/module/linking/types.js +4 -0
  185. package/lib/module/linking/types.js.map +1 -0
  186. package/lib/module/package.json +1 -0
  187. package/lib/module/processors/LayoutProcessor.js +15 -0
  188. package/lib/module/processors/LayoutProcessor.js.map +1 -0
  189. package/lib/module/processors/LayoutProcessor.test.js +53 -0
  190. package/lib/module/processors/LayoutProcessor.test.js.map +1 -0
  191. package/lib/module/processors/LayoutProcessorsStore.js +18 -0
  192. package/lib/module/processors/LayoutProcessorsStore.js.map +1 -0
  193. package/lib/module/processors/LayoutProcessorsStore.test.js +31 -0
  194. package/lib/module/processors/LayoutProcessorsStore.test.js.map +1 -0
  195. package/lib/module/processors/OptionProcessorsStore.js +19 -0
  196. package/lib/module/processors/OptionProcessorsStore.js.map +1 -0
  197. package/lib/module/processors/OptionProcessorsStore.test.js +31 -0
  198. package/lib/module/processors/OptionProcessorsStore.test.js.map +1 -0
  199. package/lib/module/types.js +2 -0
  200. package/lib/module/types.js.map +1 -0
  201. package/package.json +7 -12
  202. package/lib/cjs/Mock/Application.js +0 -67
  203. package/lib/cjs/Mock/ComponentProps.js +0 -16
  204. package/lib/cjs/Mock/Components/BottomTabs.js +0 -50
  205. package/lib/cjs/Mock/Components/ComponentScreen.js +0 -135
  206. package/lib/cjs/Mock/Components/LayoutComponent.js +0 -85
  207. package/lib/cjs/Mock/Components/Modals.js +0 -56
  208. package/lib/cjs/Mock/Components/NavigationButton.js +0 -104
  209. package/lib/cjs/Mock/Components/Overlays.js +0 -57
  210. package/lib/cjs/Mock/Components/SideMenu.js +0 -69
  211. package/lib/cjs/Mock/Components/Stack.js +0 -52
  212. package/lib/cjs/Mock/Components/TopBar.js +0 -115
  213. package/lib/cjs/Mock/Layouts/BottomTabsNode.js +0 -60
  214. package/lib/cjs/Mock/Layouts/ComponentNode.js +0 -132
  215. package/lib/cjs/Mock/Layouts/LayoutNodeFactory.js +0 -59
  216. package/lib/cjs/Mock/Layouts/Node.js +0 -32
  217. package/lib/cjs/Mock/Layouts/ParentNode.js +0 -99
  218. package/lib/cjs/Mock/Layouts/SideMenu.js +0 -112
  219. package/lib/cjs/Mock/Layouts/StackNode.js +0 -42
  220. package/lib/cjs/Mock/Stores/EventsStore.js +0 -85
  221. package/lib/cjs/Mock/actions/layoutActions.js +0 -47
  222. package/lib/cjs/Mock/connect.js +0 -31
  223. package/lib/cjs/Mock/constants.js +0 -31
  224. package/lib/cjs/Mock/index.js +0 -48
  225. package/lib/cjs/Mock/mocks/AppRegistryService.js +0 -31
  226. package/lib/cjs/Mock/mocks/NativeCommandsSender.js +0 -181
  227. package/lib/cjs/Mock/mocks/NativeEventsReceiver.js +0 -146
  228. package/lib/cjs/Navigation.js +0 -259
  229. package/lib/cjs/adapters/AndroidCustomRowForwarder.js +0 -84
  230. package/lib/cjs/adapters/AppRegistryService.js +0 -33
  231. package/lib/cjs/adapters/AssetResolver.js +0 -33
  232. package/lib/cjs/adapters/ColorService.js +0 -33
  233. package/lib/cjs/adapters/Constants.js +0 -43
  234. package/lib/cjs/adapters/NativeEventsReceiver.js +0 -99
  235. package/lib/cjs/adapters/NativeEventsReceiver.mock.js +0 -30
  236. package/lib/cjs/adapters/NativeRNNTurboEventEmitter.js +0 -27
  237. package/lib/cjs/adapters/NativeRNNTurboModule.js +0 -26
  238. package/lib/cjs/adapters/TouchablePreview.js +0 -137
  239. package/lib/cjs/adapters/UniqueIdProvider.js +0 -43
  240. package/lib/cjs/commands/Commands.js +0 -276
  241. package/lib/cjs/commands/Deprecations.js +0 -101
  242. package/lib/cjs/commands/LayoutTreeCrawler.js +0 -56
  243. package/lib/cjs/commands/LayoutTreeParser.js +0 -154
  244. package/lib/cjs/commands/LayoutType.js +0 -40
  245. package/lib/cjs/commands/OptionsCrawler.js +0 -106
  246. package/lib/cjs/components/ComponentWrapper.js +0 -114
  247. package/lib/cjs/components/Modal.js +0 -159
  248. package/lib/cjs/events/CommandsObserver.js +0 -43
  249. package/lib/cjs/events/ComponentEventsObserver.js +0 -128
  250. package/lib/cjs/index.js +0 -63
  251. package/lib/cjs/interfaces/CommandName.js +0 -46
  252. package/lib/cjs/interfaces/ComponentEvents.js +0 -1
  253. package/lib/cjs/interfaces/EventSubscription.js +0 -1
  254. package/lib/cjs/interfaces/Events.js +0 -1
  255. package/lib/cjs/interfaces/Layout.js +0 -16
  256. package/lib/cjs/interfaces/NavigationComponent.js +0 -62
  257. package/lib/cjs/interfaces/NavigationComponentListener.js +0 -16
  258. package/lib/cjs/interfaces/NavigationComponentProps.js +0 -1
  259. package/lib/cjs/interfaces/NavigationFunctionComponent.js +0 -16
  260. package/lib/cjs/interfaces/Options.js +0 -47
  261. package/lib/cjs/interfaces/ProcessorSubscription.js +0 -1
  262. package/lib/cjs/interfaces/Processors.js +0 -16
  263. package/lib/cjs/linking/DeferredLinkQueue.js +0 -66
  264. package/lib/cjs/linking/ModalLayoutBuilder.js +0 -59
  265. package/lib/cjs/linking/URLParser.js +0 -70
  266. package/lib/cjs/linking/types.js +0 -16
  267. package/lib/cjs/processors/LayoutProcessor.js +0 -39
  268. package/lib/cjs/processors/LayoutProcessorsStore.js +0 -42
  269. package/lib/cjs/processors/OptionProcessorsStore.js +0 -43
  270. package/lib/cjs/types.js +0 -1
  271. package/postinstall.js +0 -53
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+ import * as PropTypes from 'prop-types';
5
+ import { View, Platform, findNodeHandle, TouchableNativeFeedback, TouchableWithoutFeedback } from 'react-native';
6
+
7
+ // Polyfill GestureResponderEvent type with additional `force` property (iOS)
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ const PREVIEW_DELAY = 350;
10
+ const PREVIEW_MIN_FORCE = 0.1;
11
+ const PREVIEW_TIMEOUT = 1250;
12
+ export class TouchablePreview extends React.PureComponent {
13
+ static propTypes = {
14
+ children: PropTypes.node,
15
+ touchableComponent: PropTypes.func,
16
+ onPress: PropTypes.func,
17
+ onPressIn: PropTypes.func,
18
+ onPeekIn: PropTypes.func,
19
+ onPeekOut: PropTypes.func,
20
+ label: PropTypes.string
21
+ };
22
+ static defaultProps = {
23
+ touchableComponent: TouchableWithoutFeedback
24
+ };
25
+ static peeking = false;
26
+ touchStartedAt = 0;
27
+ onRef = /*#__PURE__*/React.createRef();
28
+ onPress = () => {
29
+ const {
30
+ onPress
31
+ } = this.props;
32
+ if (typeof onPress !== 'function' || TouchablePreview.peeking) {
33
+ return;
34
+ }
35
+ return onPress();
36
+ };
37
+ onPressIn = () => {
38
+ if (Platform.OS === 'ios') {
39
+ const {
40
+ onPressIn
41
+ } = this.props;
42
+ if (!onPressIn) {
43
+ return;
44
+ }
45
+ const reactTag = findNodeHandle(this.onRef.current);
46
+ return onPressIn({
47
+ reactTag
48
+ });
49
+ }
50
+
51
+ // Other platforms don't support 3D Touch Preview API
52
+ return null;
53
+ };
54
+ onTouchStart = event => {
55
+ // Store a timestamp of the initial touch start
56
+ this.touchStartedAt = event.nativeEvent.timestamp;
57
+ };
58
+ onTouchMove = event => {
59
+ clearTimeout(this.timeout);
60
+ const {
61
+ force,
62
+ timestamp
63
+ } = event.nativeEvent;
64
+ const diff = timestamp - this.touchStartedAt;
65
+ if (force > PREVIEW_MIN_FORCE && diff > PREVIEW_DELAY) {
66
+ TouchablePreview.peeking = true;
67
+ if (typeof this.props.onPeekIn === 'function') {
68
+ this.props.onPeekIn();
69
+ }
70
+ }
71
+ //@ts-ignore
72
+ this.timeout = setTimeout(this.onTouchEnd, PREVIEW_TIMEOUT);
73
+ };
74
+ onTouchEnd = () => {
75
+ clearTimeout(this.timeout);
76
+ TouchablePreview.peeking = false;
77
+ if (typeof this.props.onPeekOut === 'function') {
78
+ this.props.onPeekOut();
79
+ }
80
+ };
81
+ render() {
82
+ const {
83
+ children,
84
+ touchableComponent,
85
+ ...props
86
+ } = this.props;
87
+
88
+ // Default to TouchableWithoutFeedback for iOS if set to TouchableNativeFeedback
89
+ const Touchable = Platform.OS === 'ios' && touchableComponent instanceof TouchableNativeFeedback ? TouchableWithoutFeedback : touchableComponent;
90
+
91
+ // Wrap component with Touchable for handling platform touches
92
+ // and a single react View for detecting force and timing.
93
+ return (
94
+ /*#__PURE__*/
95
+ /**
96
+ * @TODO (Jin Shin 25 June 2020)
97
+ * Ignoring this for now so that it builds.
98
+ */
99
+ // @ts-ignore
100
+ _jsx(Touchable, {
101
+ ...props,
102
+ ref: this.onRef,
103
+ onPress: this.onPress,
104
+ onPressIn: this.onPressIn,
105
+ children: /*#__PURE__*/_jsx(View, {
106
+ onTouchStart: this.onTouchStart,
107
+ onTouchMove: this.onTouchMove,
108
+ onTouchEnd: this.onTouchEnd,
109
+ children: children
110
+ })
111
+ })
112
+ );
113
+ }
114
+ }
115
+ //# sourceMappingURL=TouchablePreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","PropTypes","View","Platform","findNodeHandle","TouchableNativeFeedback","TouchableWithoutFeedback","jsx","_jsx","PREVIEW_DELAY","PREVIEW_MIN_FORCE","PREVIEW_TIMEOUT","TouchablePreview","PureComponent","propTypes","children","node","touchableComponent","func","onPress","onPressIn","onPeekIn","onPeekOut","label","string","defaultProps","peeking","touchStartedAt","onRef","createRef","props","OS","reactTag","current","onTouchStart","event","nativeEvent","timestamp","onTouchMove","clearTimeout","timeout","force","diff","setTimeout","onTouchEnd","render","Touchable","ref"],"sourceRoot":"../../../src","sources":["adapters/TouchablePreview.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ import uniqueId from 'lodash/uniqueId.js';
4
+ export class UniqueIdProvider {
5
+ generate(prefix) {
6
+ return uniqueId(prefix);
7
+ }
8
+ }
9
+ //# sourceMappingURL=UniqueIdProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["uniqueId","UniqueIdProvider","generate","prefix"],"sourceRoot":"../../../src","sources":["adapters/UniqueIdProvider.ts"],"mappings":";;AAAA,OAAOA,QAAQ,MAAM,iBAAiB;AAEtC,OAAO,MAAMC,gBAAgB,CAAC;EAC5BC,QAAQA,CAACC,MAAe,EAAU;IAChC,OAAOH,QAAQ,CAACG,MAAM,CAAC;EACzB;AACF","ignoreList":[]}
@@ -0,0 +1,241 @@
1
+ "use strict";
2
+
3
+ import cloneDeepWith from 'lodash/cloneDeepWith.js';
4
+ import cloneDeep from 'lodash/cloneDeep.js';
5
+ import map from 'lodash/map.js';
6
+ import { CommandName } from "../interfaces/CommandName.js";
7
+ import { AndroidCustomRowForwarder } from "../adapters/AndroidCustomRowForwarder.js";
8
+ export class Commands {
9
+ androidCustomRowForwarder = new AndroidCustomRowForwarder();
10
+ constructor(store, nativeCommandsSender, layoutTreeParser, layoutTreeCrawler, commandsObserver, uniqueIdProvider, optionsProcessor, layoutProcessor, optionsCrawler) {
11
+ this.store = store;
12
+ this.nativeCommandsSender = nativeCommandsSender;
13
+ this.layoutTreeParser = layoutTreeParser;
14
+ this.layoutTreeCrawler = layoutTreeCrawler;
15
+ this.commandsObserver = commandsObserver;
16
+ this.uniqueIdProvider = uniqueIdProvider;
17
+ this.optionsProcessor = optionsProcessor;
18
+ this.layoutProcessor = layoutProcessor;
19
+ this.optionsCrawler = optionsCrawler;
20
+ }
21
+ setRoot(simpleApi) {
22
+ const input = cloneLayout(simpleApi);
23
+ this.optionsCrawler.crawl(input.root);
24
+ const processedRoot = this.layoutProcessor.process(input.root, CommandName.SetRoot);
25
+ const root = this.layoutTreeParser.parse(processedRoot);
26
+ const modals = map(input.modals, modal => {
27
+ this.optionsCrawler.crawl(modal);
28
+ const processedModal = this.layoutProcessor.process(modal, CommandName.SetRoot);
29
+ return this.layoutTreeParser.parse(processedModal);
30
+ });
31
+ const overlays = map(input.overlays, overlay => {
32
+ this.optionsCrawler.crawl(overlay);
33
+ const processedOverlay = this.layoutProcessor.process(overlay, CommandName.SetRoot);
34
+ return this.layoutTreeParser.parse(processedOverlay);
35
+ });
36
+ const commandId = this.uniqueIdProvider.generate(CommandName.SetRoot);
37
+ this.commandsObserver.notify(CommandName.SetRoot, {
38
+ commandId,
39
+ layout: {
40
+ root,
41
+ modals,
42
+ overlays
43
+ }
44
+ });
45
+ this.layoutTreeCrawler.crawl(root, CommandName.SetRoot);
46
+ modals.forEach(modalLayout => {
47
+ this.layoutTreeCrawler.crawl(modalLayout, CommandName.SetRoot);
48
+ });
49
+ overlays.forEach(overlayLayout => {
50
+ this.layoutTreeCrawler.crawl(overlayLayout, CommandName.SetRoot);
51
+ });
52
+ this.androidCustomRowForwarder.forwardFromLayouts([root, ...modals, ...overlays]);
53
+ const result = this.nativeCommandsSender.setRoot(commandId, {
54
+ root,
55
+ modals,
56
+ overlays
57
+ });
58
+ return result;
59
+ }
60
+ setDefaultOptions(options) {
61
+ const input = cloneDeep(options);
62
+ this.optionsProcessor.processDefaultOptions(input, CommandName.SetDefaultOptions);
63
+ this.androidCustomRowForwarder.forwardFromOptions(input);
64
+ this.nativeCommandsSender.setDefaultOptions(input);
65
+ this.commandsObserver.notify(CommandName.SetDefaultOptions, {
66
+ options
67
+ });
68
+ }
69
+ mergeOptions(componentId, options) {
70
+ const input = cloneDeep(options);
71
+ const component = this.store.getComponentInstance(componentId);
72
+ const componentProps = this.store.getPropsForId(componentId) || undefined;
73
+ this.optionsProcessor.processOptions(CommandName.MergeOptions, input, componentProps);
74
+ if (component && !component.isMounted) console.warn(`Navigation.mergeOptions was invoked on component with id: ${componentId} before it is mounted, this can cause UI issues and should be avoided.\n Use static options instead.`);
75
+ this.androidCustomRowForwarder.forwardFromOptions(input);
76
+ this.nativeCommandsSender.mergeOptions(componentId, input);
77
+ this.commandsObserver.notify(CommandName.MergeOptions, {
78
+ componentId,
79
+ options
80
+ });
81
+ }
82
+ updateProps(componentId, props, callback) {
83
+ this.store.updateProps(componentId, props, callback);
84
+ this.commandsObserver.notify(CommandName.UpdateProps, {
85
+ componentId,
86
+ props
87
+ });
88
+ }
89
+ showModal(layout) {
90
+ const layoutCloned = cloneLayout(layout);
91
+ this.optionsCrawler.crawl(layoutCloned);
92
+ const layoutProcessed = this.layoutProcessor.process(layoutCloned, CommandName.ShowModal);
93
+ const layoutNode = this.layoutTreeParser.parse(layoutProcessed);
94
+ const commandId = this.uniqueIdProvider.generate(CommandName.ShowModal);
95
+ this.commandsObserver.notify(CommandName.ShowModal, {
96
+ commandId,
97
+ layout: layoutNode
98
+ });
99
+ this.layoutTreeCrawler.crawl(layoutNode, CommandName.ShowModal);
100
+ this.androidCustomRowForwarder.forwardFromLayout(layoutNode);
101
+ const result = this.nativeCommandsSender.showModal(commandId, layoutNode);
102
+ return result;
103
+ }
104
+ dismissModal(componentId, mergeOptions) {
105
+ const commandId = this.uniqueIdProvider.generate(CommandName.DismissModal);
106
+ this.optionsProcessor.processOptions(CommandName.DismissModal, mergeOptions);
107
+ const result = this.nativeCommandsSender.dismissModal(commandId, componentId, mergeOptions);
108
+ this.commandsObserver.notify(CommandName.DismissModal, {
109
+ commandId,
110
+ componentId,
111
+ mergeOptions
112
+ });
113
+ return result;
114
+ }
115
+ dismissAllModals(mergeOptions) {
116
+ const commandId = this.uniqueIdProvider.generate(CommandName.DismissAllModals);
117
+ this.optionsProcessor.processOptions(CommandName.DismissAllModals, mergeOptions);
118
+ const result = this.nativeCommandsSender.dismissAllModals(commandId, mergeOptions);
119
+ this.commandsObserver.notify(CommandName.DismissAllModals, {
120
+ commandId,
121
+ mergeOptions
122
+ });
123
+ return result;
124
+ }
125
+ push(componentId, simpleApi) {
126
+ const input = cloneLayout(simpleApi);
127
+ this.optionsCrawler.crawl(input);
128
+ const layoutProcessed = this.layoutProcessor.process(input, CommandName.Push);
129
+ const layout = this.layoutTreeParser.parse(layoutProcessed);
130
+ const commandId = this.uniqueIdProvider.generate(CommandName.Push);
131
+ this.commandsObserver.notify(CommandName.Push, {
132
+ commandId,
133
+ componentId,
134
+ layout
135
+ });
136
+ this.layoutTreeCrawler.crawl(layout, CommandName.Push);
137
+ this.androidCustomRowForwarder.forwardFromLayout(layout);
138
+ const result = this.nativeCommandsSender.push(commandId, componentId, layout);
139
+ return result;
140
+ }
141
+ pop(componentId, mergeOptions) {
142
+ const commandId = this.uniqueIdProvider.generate(CommandName.Pop);
143
+ this.optionsProcessor.processOptions(CommandName.Pop, mergeOptions);
144
+ const result = this.nativeCommandsSender.pop(commandId, componentId, mergeOptions);
145
+ this.commandsObserver.notify(CommandName.Pop, {
146
+ commandId,
147
+ componentId,
148
+ mergeOptions
149
+ });
150
+ return result;
151
+ }
152
+ popTo(componentId, mergeOptions) {
153
+ const commandId = this.uniqueIdProvider.generate(CommandName.PopTo);
154
+ this.optionsProcessor.processOptions(CommandName.PopTo, mergeOptions);
155
+ const result = this.nativeCommandsSender.popTo(commandId, componentId, mergeOptions);
156
+ this.commandsObserver.notify(CommandName.PopTo, {
157
+ commandId,
158
+ componentId,
159
+ mergeOptions
160
+ });
161
+ return result;
162
+ }
163
+ popToRoot(componentId, mergeOptions) {
164
+ const commandId = this.uniqueIdProvider.generate(CommandName.PopToRoot);
165
+ this.optionsProcessor.processOptions(CommandName.PopToRoot, mergeOptions);
166
+ const result = this.nativeCommandsSender.popToRoot(commandId, componentId, mergeOptions);
167
+ this.commandsObserver.notify(CommandName.PopToRoot, {
168
+ commandId,
169
+ componentId,
170
+ mergeOptions
171
+ });
172
+ return result;
173
+ }
174
+ setStackRoot(componentId, children) {
175
+ const input = map(cloneLayout(children), simpleApi => {
176
+ this.optionsCrawler.crawl(simpleApi);
177
+ const layoutProcessed = this.layoutProcessor.process(simpleApi, CommandName.SetStackRoot);
178
+ const layout = this.layoutTreeParser.parse(layoutProcessed);
179
+ return layout;
180
+ });
181
+ const commandId = this.uniqueIdProvider.generate(CommandName.SetStackRoot);
182
+ this.commandsObserver.notify(CommandName.SetStackRoot, {
183
+ commandId,
184
+ componentId,
185
+ layout: input
186
+ });
187
+ input.forEach(layoutNode => {
188
+ this.layoutTreeCrawler.crawl(layoutNode, CommandName.SetStackRoot);
189
+ });
190
+ this.androidCustomRowForwarder.forwardFromLayouts(input);
191
+ const result = this.nativeCommandsSender.setStackRoot(commandId, componentId, input);
192
+ return result;
193
+ }
194
+ showOverlay(simpleApi) {
195
+ const input = cloneLayout(simpleApi);
196
+ this.optionsCrawler.crawl(input);
197
+ const layoutProcessed = this.layoutProcessor.process(input, CommandName.ShowOverlay);
198
+ const layout = this.layoutTreeParser.parse(layoutProcessed);
199
+ const commandId = this.uniqueIdProvider.generate(CommandName.ShowOverlay);
200
+ this.commandsObserver.notify(CommandName.ShowOverlay, {
201
+ commandId,
202
+ layout
203
+ });
204
+ this.layoutTreeCrawler.crawl(layout, CommandName.ShowOverlay);
205
+ const result = this.nativeCommandsSender.showOverlay(commandId, layout);
206
+ return result;
207
+ }
208
+ dismissOverlay(componentId) {
209
+ const commandId = this.uniqueIdProvider.generate(CommandName.DismissOverlay);
210
+ const result = this.nativeCommandsSender.dismissOverlay(commandId, componentId);
211
+ this.commandsObserver.notify(CommandName.DismissOverlay, {
212
+ commandId,
213
+ componentId
214
+ });
215
+ return result;
216
+ }
217
+ dismissAllOverlays() {
218
+ const commandId = this.uniqueIdProvider.generate(CommandName.DismissAllOverlays);
219
+ const result = this.nativeCommandsSender.dismissAllOverlays(commandId);
220
+ this.commandsObserver.notify(CommandName.DismissAllOverlays, {
221
+ commandId
222
+ });
223
+ return result;
224
+ }
225
+ getLaunchArgs() {
226
+ const commandId = this.uniqueIdProvider.generate(CommandName.GetLaunchArgs);
227
+ const result = this.nativeCommandsSender.getLaunchArgs(commandId);
228
+ this.commandsObserver.notify(CommandName.GetLaunchArgs, {
229
+ commandId
230
+ });
231
+ return result;
232
+ }
233
+ }
234
+ function cloneLayout(layout) {
235
+ return cloneDeepWith(layout, (value, key) => {
236
+ if (key === 'passProps' && typeof value === 'object' && value !== null) return {
237
+ ...value
238
+ };
239
+ });
240
+ }
241
+ //# sourceMappingURL=Commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["cloneDeepWith","cloneDeep","map","CommandName","AndroidCustomRowForwarder","Commands","androidCustomRowForwarder","constructor","store","nativeCommandsSender","layoutTreeParser","layoutTreeCrawler","commandsObserver","uniqueIdProvider","optionsProcessor","layoutProcessor","optionsCrawler","setRoot","simpleApi","input","cloneLayout","crawl","root","processedRoot","process","SetRoot","parse","modals","modal","processedModal","overlays","overlay","processedOverlay","commandId","generate","notify","layout","forEach","modalLayout","overlayLayout","forwardFromLayouts","result","setDefaultOptions","options","processDefaultOptions","SetDefaultOptions","forwardFromOptions","mergeOptions","componentId","component","getComponentInstance","componentProps","getPropsForId","undefined","processOptions","MergeOptions","isMounted","console","warn","updateProps","props","callback","UpdateProps","showModal","layoutCloned","layoutProcessed","ShowModal","layoutNode","forwardFromLayout","dismissModal","DismissModal","dismissAllModals","DismissAllModals","push","Push","pop","Pop","popTo","PopTo","popToRoot","PopToRoot","setStackRoot","children","SetStackRoot","showOverlay","ShowOverlay","dismissOverlay","DismissOverlay","dismissAllOverlays","DismissAllOverlays","getLaunchArgs","GetLaunchArgs","value","key"],"sourceRoot":"../../../src","sources":["commands/Commands.ts"],"mappings":"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","ignoreList":[]}