@applicaster/zapp-react-native-utils 13.0.0-rc.2 → 13.0.0-rc.21

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 (109) hide show
  1. package/actionsExecutor/ActionExecutor.ts +16 -9
  2. package/actionsExecutor/ActionExecutorContext.tsx +74 -9
  3. package/alertUtils/alert.ts +148 -0
  4. package/alertUtils/index.ts +1 -148
  5. package/analyticsUtils/AnalyticPlayerListener.ts +18 -1
  6. package/analyticsUtils/__tests__/__snapshots__/analyticsManagerNoModule.test.js.snap +9 -9
  7. package/analyticsUtils/helpers/hooks.ts +1 -1
  8. package/appUtils/HooksManager/{Hook.js → Hook.ts} +35 -23
  9. package/appUtils/HooksManager/__tests__/__snapshots__/hook.test.js.snap +10 -8
  10. package/appUtils/HooksManager/__tests__/__snapshots__/hooksManager.test.js.snap +693 -0
  11. package/appUtils/HooksManager/__tests__/hook.test.js +196 -184
  12. package/appUtils/HooksManager/__tests__/hooksManager.test.js +96 -99
  13. package/appUtils/HooksManager/{constants.js → constants.ts} +1 -1
  14. package/appUtils/HooksManager/{index.js → index.ts} +121 -112
  15. package/appUtils/HooksManager/types.ts +119 -0
  16. package/appUtils/RiverFocusManager/index.js +17 -12
  17. package/appUtils/accessibilityManager/index.ts +42 -1
  18. package/appUtils/contextKeysManager/contextResolver.ts +73 -0
  19. package/appUtils/focusManager/__tests__/__snapshots__/focusManager.test.js.snap +6 -6
  20. package/appUtils/focusManager/index.ts +90 -63
  21. package/appUtils/focusManager/treeDataStructure/Tree/index.js +25 -3
  22. package/appUtils/focusManager/treeDataStructure/Utils/index.js +1 -3
  23. package/appUtils/focusManager/utils/enums.ts +4 -0
  24. package/appUtils/focusManagerAux/utils/index.ts +4 -3
  25. package/appUtils/{index.js → index.ts} +1 -1
  26. package/appUtils/keyCodes/__tests__/__snapshots__/keyCodes.test.js.snap +2 -2
  27. package/appUtils/keyCodes/__tests__/keyCodes.test.js +4 -4
  28. package/appUtils/keyCodes/{index.js → index.ts} +2 -0
  29. package/appUtils/keyCodes/keys/index.ts +3 -0
  30. package/appUtils/keyCodes/{keys.android.js → keys/keyEventMapper.ts} +0 -19
  31. package/appUtils/keyCodes/keys/keys.android.ts +18 -0
  32. package/appUtils/keyCodes/keys/keys.ios.ts +25 -0
  33. package/appUtils/keyCodes/keys/keys.ts +15 -0
  34. package/appUtils/keyCodes/{keysByPlatform.js → keys/keysByPlatform.ts} +4 -0
  35. package/appUtils/keyCodes/keysByPlatform.ts +8 -0
  36. package/appUtils/keyInputHandler/KeyInputHandler.ts +68 -0
  37. package/appUtils/orientationHelper.ts +1 -1
  38. package/appUtils/platform/const.ts +14 -0
  39. package/appUtils/platform/platformUtils.ts +17 -15
  40. package/appUtils/playerManager/index.ts +6 -2
  41. package/appUtils/playerManager/player.ts +17 -5
  42. package/appUtils/playerManager/playerFactory.ts +5 -4
  43. package/appUtils/playerManager/playerNative.ts +3 -2
  44. package/appUtils/playerManager/usePlayerControllerSetup.tsx +3 -3
  45. package/arrayUtils/__tests__/__snapshots__/arrayUtils.test.ts.snap +4 -4
  46. package/domUtils/{cookieManager.js → cookieManager.ts} +1 -2
  47. package/functionUtils/__tests__/__snapshots__/functionUtils.test.js.snap +4 -4
  48. package/functionUtils/index.ts +15 -11
  49. package/idleUtils/__tests__/withTimeout$.test.ts +37 -0
  50. package/idleUtils/index.ts +1 -1
  51. package/idleUtils/withTimeout.ts +15 -2
  52. package/logger/const.ts +9 -67
  53. package/manifestUtils/__tests__/createConfig.test.js +18 -16
  54. package/modalState/index.ts +1 -5
  55. package/navigationUtils/__tests__/__snapshots__/navigationUtils.test.js.snap +6 -6
  56. package/navigationUtils/__tests__/itemTypes.test.js +2 -2
  57. package/navigationUtils/__tests__/navigationUtils.test.js +2 -2
  58. package/navigationUtils/index.ts +14 -5
  59. package/package.json +3 -2
  60. package/reactHooks/autoscrolling/__tests__/useTrackCurrentAutoScrollingElement.test.ts +1 -1
  61. package/reactHooks/autoscrolling/__tests__/useTrackedView.test.tsx +1 -1
  62. package/reactHooks/cell-click/__tests__/index.test.js +10 -2
  63. package/reactHooks/cell-click/index.ts +7 -1
  64. package/reactHooks/feed/__tests__/useBuildPipesUrl.test.tsx +4 -4
  65. package/reactHooks/feed/__tests__/useFeedLoader.test.tsx +20 -13
  66. package/reactHooks/feed/useFeedLoader.tsx +12 -8
  67. package/reactHooks/feed/usePipesCacheReset.ts +5 -5
  68. package/reactHooks/flatList/__tests__/index.test.tsx +30 -21
  69. package/reactHooks/layout/__tests__/index.test.tsx +10 -10
  70. package/reactHooks/layout/useDimensions/helpers/__tests__/getInitialDimensions.native.test.js +14 -28
  71. package/reactHooks/navigation/__tests__/index.test.tsx +0 -4
  72. package/reactHooks/navigation/index.ts +29 -218
  73. package/reactHooks/navigation/useGetBottomTabBarHeight.ts +12 -0
  74. package/reactHooks/navigation/useGetNavBarTopBorderWidth.ts +14 -0
  75. package/reactHooks/navigation/useGetTabBarHeight.ts +12 -0
  76. package/reactHooks/navigation/useIsScreenActive.ts +17 -0
  77. package/reactHooks/navigation/useNavigationPluginData.ts +15 -0
  78. package/reactHooks/navigation/useNavigationType.ts +15 -0
  79. package/reactHooks/navigation/usePathname.ts +4 -0
  80. package/reactHooks/navigation/useRoute.ts +100 -0
  81. package/reactHooks/navigation/useUniqueRouteSuffix.ts +41 -0
  82. package/reactHooks/player/TVSeekControlller/ISeekController.ts +32 -0
  83. package/reactHooks/player/TVSeekControlller/LongPressSeekController.ts +71 -0
  84. package/reactHooks/player/TVSeekControlller/TVSeekController.ts +258 -0
  85. package/reactHooks/player/TVSeekControlller/TapSeekController.ts +53 -0
  86. package/reactHooks/player/__tests__/{useAutoSeek.test.tsx → useAutoSeek._test.tsx} +2 -3
  87. package/reactHooks/player/const.ts +0 -4
  88. package/reactHooks/player/index.ts +0 -6
  89. package/reactHooks/utils/index.ts +13 -0
  90. package/reactUtils/__tests__/reactUtils.test.js +10 -28
  91. package/reactUtils/createContext/__tests__/__snapshots__/helpers.test.js.snap +19 -19
  92. package/reactUtils/createContext/__tests__/__snapshots__/index.test.js.snap +2 -2
  93. package/reactUtils/createContext/__tests__/__snapshots__/provider.test.js.snap +3 -3
  94. package/reactUtils/createContext/__tests__/helpers.test.js +8 -8
  95. package/reactUtils/index.ts +0 -14
  96. package/theme/__mocks__/index.ts +4 -0
  97. package/time/Timer.ts +1 -1
  98. package/types.ts +1 -0
  99. package/appUtils/keyCodes/keys.ios.js +0 -46
  100. package/reactHooks/player/useAutoSeek.tsx +0 -87
  101. package/reactHooks/player/useSeek.tsx +0 -66
  102. package/reactHooks/player/useTapSeek.tsx +0 -58
  103. /package/appUtils/HooksManager/{logger.js → logger.ts} +0 -0
  104. /package/appUtils/{directionHelper.js → directionHelper.ts} +0 -0
  105. /package/appUtils/keyCodes/{androidTVKeys.js → androidTVKeys.ts} +0 -0
  106. /package/appUtils/keyCodes/{keys.web.js → keys/keys.web.ts} +0 -0
  107. /package/appUtils/{localizationsHelper.js → localizationsHelper.ts} +0 -0
  108. /package/domUtils/{logger.js → logger.ts} +0 -0
  109. /package/reactHooks/player/__tests__/{useTapSeek.test.ts → useTapSeek._test.ts} +0 -0
@@ -0,0 +1,693 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`HooksManager when target route is playable executes the player hook 1`] = `
4
+ [
5
+ {
6
+ "callback": [Function],
7
+ "hookPlugin": Hook {
8
+ "configuration": {
9
+ "config_field": "bar",
10
+ },
11
+ "identifier": "headless_player_hook",
12
+ "lastHook": true,
13
+ "manager": {
14
+ "executeHook": [Function],
15
+ "handleHooks": [Function],
16
+ "presentScreenHook": [Function],
17
+ "runInBackground": [Function],
18
+ "subscriber": {
19
+ "handlers": {
20
+ "complete": [
21
+ [MockFunction] {
22
+ "calls": [
23
+ [
24
+ {
25
+ "callback": [Function],
26
+ "hookPlugin": [Circular],
27
+ "payload": {
28
+ "foo": "bar",
29
+ },
30
+ },
31
+ [Function],
32
+ ],
33
+ ],
34
+ "results": [
35
+ {
36
+ "type": "return",
37
+ "value": undefined,
38
+ },
39
+ ],
40
+ },
41
+ ],
42
+ "presentScreenHook": [
43
+ [MockFunction],
44
+ ],
45
+ "success": [
46
+ [MockFunction] {
47
+ "calls": [
48
+ [Circular],
49
+ ],
50
+ "results": [
51
+ {
52
+ "type": "return",
53
+ "value": undefined,
54
+ },
55
+ ],
56
+ },
57
+ ],
58
+ },
59
+ "invokeHandler": [Function],
60
+ "on": [Function],
61
+ "removeHandler": [Function],
62
+ },
63
+ },
64
+ "module": {
65
+ "hasPlayerHook": true,
66
+ "run": [MockFunction] {
67
+ "calls": [
68
+ [
69
+ {
70
+ "foo": "bar",
71
+ },
72
+ [Function],
73
+ {
74
+ "config_field": "bar",
75
+ },
76
+ ],
77
+ ],
78
+ "results": [
79
+ {
80
+ "type": "return",
81
+ "value": undefined,
82
+ },
83
+ ],
84
+ },
85
+ },
86
+ "state": 7,
87
+ "weight": 1,
88
+ },
89
+ "payload": {
90
+ "foo": "bar",
91
+ },
92
+ },
93
+ [Function],
94
+ ]
95
+ `;
96
+
97
+ exports[`HooksManager when target route is playable executes the player hook 2`] = `
98
+ [
99
+ {
100
+ "callback": [Function],
101
+ "hookPlugin": Hook {
102
+ "configuration": {
103
+ "config_field": "bar",
104
+ },
105
+ "identifier": "headless_player_hook",
106
+ "lastHook": true,
107
+ "manager": {
108
+ "executeHook": [Function],
109
+ "handleHooks": [Function],
110
+ "presentScreenHook": [Function],
111
+ "runInBackground": [Function],
112
+ "subscriber": {
113
+ "handlers": {
114
+ "complete": [
115
+ [MockFunction] {
116
+ "calls": [
117
+ [Circular],
118
+ ],
119
+ "results": [
120
+ {
121
+ "type": "return",
122
+ "value": undefined,
123
+ },
124
+ ],
125
+ },
126
+ ],
127
+ "presentScreenHook": [
128
+ [MockFunction],
129
+ ],
130
+ "success": [
131
+ [MockFunction] {
132
+ "calls": [
133
+ [
134
+ {
135
+ "callback": [Function],
136
+ "hookPlugin": [Circular],
137
+ "payload": {
138
+ "foo": "bar",
139
+ },
140
+ },
141
+ [Function],
142
+ ],
143
+ ],
144
+ "results": [
145
+ {
146
+ "type": "return",
147
+ "value": undefined,
148
+ },
149
+ ],
150
+ },
151
+ ],
152
+ },
153
+ "invokeHandler": [Function],
154
+ "on": [Function],
155
+ "removeHandler": [Function],
156
+ },
157
+ },
158
+ "module": {
159
+ "hasPlayerHook": true,
160
+ "run": [MockFunction] {
161
+ "calls": [
162
+ [
163
+ {
164
+ "foo": "bar",
165
+ },
166
+ [Function],
167
+ {
168
+ "config_field": "bar",
169
+ },
170
+ ],
171
+ ],
172
+ "results": [
173
+ {
174
+ "type": "return",
175
+ "value": undefined,
176
+ },
177
+ ],
178
+ },
179
+ },
180
+ "state": 7,
181
+ "weight": 1,
182
+ },
183
+ "payload": {
184
+ "foo": "bar",
185
+ },
186
+ },
187
+ [Function],
188
+ ]
189
+ `;
190
+
191
+ exports[`HooksManager when there are preload hooks hook with screen: executes 1`] = `
192
+ [
193
+ {
194
+ "callback": [Function],
195
+ "hookPlugin": Hook {
196
+ "advertising": {},
197
+ "configuration": {
198
+ "name": "hook_screen",
199
+ },
200
+ "data": {},
201
+ "general": {
202
+ "allow_screen_plugin_presentation": true,
203
+ "is_flow_blocker": true,
204
+ },
205
+ "home": false,
206
+ "hooks": {
207
+ "postload_plugins": [],
208
+ "preload_plugins": [],
209
+ },
210
+ "id": "1bb8ad39-a42e-4096-a134-56aadbd35c83",
211
+ "identifier": "hook_screen",
212
+ "lastHook": true,
213
+ "manager": {
214
+ "executeHook": [Function],
215
+ "handleHooks": [Function],
216
+ "presentScreenHook": [Function],
217
+ "runInBackground": [Function],
218
+ "subscriber": {
219
+ "handlers": {
220
+ "complete": [
221
+ [MockFunction] {
222
+ "calls": [
223
+ [
224
+ {
225
+ "callback": [Function],
226
+ "hookPlugin": [Circular],
227
+ "payload": {
228
+ "foo": "bar",
229
+ },
230
+ },
231
+ [Function],
232
+ ],
233
+ ],
234
+ "results": [
235
+ {
236
+ "type": "return",
237
+ "value": undefined,
238
+ },
239
+ ],
240
+ },
241
+ ],
242
+ "presentScreenHook": [
243
+ [MockFunction] {
244
+ "calls": [
245
+ [
246
+ {
247
+ "hookPlugin": [Circular],
248
+ "payload": {
249
+ "callback": [Function],
250
+ "hookPlugin": [Circular],
251
+ "payload": {
252
+ "foo": "bar",
253
+ },
254
+ },
255
+ "route": "/hooks/1bb8ad39-a42e-4096-a134-56aadbd35c83",
256
+ },
257
+ [Function],
258
+ ],
259
+ ],
260
+ "results": [
261
+ {
262
+ "type": "return",
263
+ "value": undefined,
264
+ },
265
+ ],
266
+ },
267
+ ],
268
+ "success": [
269
+ [MockFunction] {
270
+ "calls": [
271
+ [Circular],
272
+ ],
273
+ "results": [
274
+ {
275
+ "type": "return",
276
+ "value": undefined,
277
+ },
278
+ ],
279
+ },
280
+ ],
281
+ },
282
+ "invokeHandler": [Function],
283
+ "on": [Function],
284
+ "removeHandler": [Function],
285
+ },
286
+ },
287
+ "module": {
288
+ "isFlowBlocker": [Function],
289
+ "run": [MockFunction],
290
+ },
291
+ "name": "Hook: F_blocker, allow_P, present",
292
+ "navigations": [
293
+ {
294
+ "assets": {
295
+ "arrow_image_url": "https://assets-secure.applicaster.com/zapp/default_ui_components/default_assets/side_menu/arrow.png",
296
+ "close_button_image_url": "https://assets-secure.applicaster.com/zapp/default_ui_components/default_assets/side_menu/close.png",
297
+ },
298
+ "category": "menu",
299
+ "default": false,
300
+ "id": "3d7b4d04-1526-4116-baeb-bfb28f40f07b",
301
+ "name": "2-Level Menu",
302
+ "nav_items": [
303
+ {
304
+ "assets": {},
305
+ "data": {
306
+ "connected": null,
307
+ "source": null,
308
+ "target": "29cf3064-6acd-4a7f-961a-503a7d4fa8f9",
309
+ "type": null,
310
+ },
311
+ "general": {
312
+ "home": false,
313
+ "new": false,
314
+ },
315
+ "id": "f0387fba-636f-43e0-9a4f-e4fff551e1c0",
316
+ "position": 1,
317
+ "styles": {},
318
+ "title": "Home",
319
+ "type": "label",
320
+ },
321
+ {
322
+ "assets": {},
323
+ "data": {
324
+ "connected": null,
325
+ "source": null,
326
+ "target": "b886e64a-1234-4cd5-96ce-69629f11cdf8",
327
+ "type": null,
328
+ },
329
+ "general": {
330
+ "home": false,
331
+ "new": false,
332
+ },
333
+ "id": "c666eb1e-46d3-4dcb-8b8c-a7c0fe560deb",
334
+ "position": 2,
335
+ "styles": {},
336
+ "title": "All Shows",
337
+ "type": "label",
338
+ },
339
+ {
340
+ "assets": {},
341
+ "data": {
342
+ "connected": null,
343
+ "source": null,
344
+ "target": "8b57d5ad-dc15-42b4-9e6d-1ce5a3c36922",
345
+ "type": null,
346
+ },
347
+ "general": {
348
+ "home": false,
349
+ "new": false,
350
+ },
351
+ "id": "f969f1d8-e0cc-4ca6-ba71-5d219929f2b6",
352
+ "position": 3,
353
+ "styles": {},
354
+ "title": "Screen Picker",
355
+ "type": "label",
356
+ },
357
+ ],
358
+ "navigation_type": "two_level_rn_menu",
359
+ "rules": {
360
+ "screen_transition": "slide-from-left",
361
+ },
362
+ "styles": {
363
+ "align": "default",
364
+ "android_font_family": "Roboto-Regular",
365
+ "android_font_size": "13",
366
+ "android_header_font_family": "Roboto-Regular",
367
+ "android_header_font_size": "10",
368
+ "background_color": "#fff8f8f8",
369
+ "background_type": "color",
370
+ "header_text_color": "#ffc4c4c4",
371
+ "ios_font_family": "HelveticaNeue-Medium",
372
+ "ios_font_size": "12",
373
+ "ios_header_font_family": "HelveticaNeue-Medium",
374
+ "ios_header_font_size": "10",
375
+ "item_background_color": "#ff363c4a",
376
+ "item_text_color": "#ffffffff",
377
+ "selected_item_background_color": "#ff363c4a",
378
+ "selected_item_text_color": "#ff27da86",
379
+ "separation_line_color": "#00000000",
380
+ },
381
+ },
382
+ {
383
+ "assets": {},
384
+ "category": "nav_bar",
385
+ "default": true,
386
+ "id": "357084dc-d2c0-4780-8dd6-295e18c7cc7f",
387
+ "name": "Navigation Bar",
388
+ "nav_items": [
389
+ {
390
+ "assets": {},
391
+ "data": {
392
+ "connected": null,
393
+ "source": null,
394
+ "target": "b886e64a-1234-4cd5-96ce-69629f11cdf8",
395
+ "type": null,
396
+ },
397
+ "general": {
398
+ "home": false,
399
+ "new": false,
400
+ },
401
+ "id": "500f03b6-17ba-4533-ad20-985272484c1d",
402
+ "position": 1,
403
+ "styles": {},
404
+ "title": "All Shows",
405
+ "type": "button",
406
+ },
407
+ ],
408
+ "navigation_type": "navigation_bar",
409
+ "rules": {},
410
+ "styles": {
411
+ "android_font_family": "Roboto-Medium",
412
+ "background_color": "#ff4a90e2",
413
+ "background_type": "Color",
414
+ "ios_font_family": "HelveticaNeue-Medium",
415
+ "presentation_style": "title",
416
+ "state": "on_top",
417
+ "style": "center",
418
+ "title_color": "#ffffffff",
419
+ "title_size": "16",
420
+ "title_size_tablet": "18",
421
+ },
422
+ },
423
+ ],
424
+ "rules": {},
425
+ "screen_id": "1bb8ad39-a42e-4096-a134-56aadbd35c83",
426
+ "state": 7,
427
+ "styles": {
428
+ "family": "FAMILY_1",
429
+ "presentation": "present",
430
+ },
431
+ "type": "general",
432
+ "ui_components": [],
433
+ "weight": 7,
434
+ },
435
+ "payload": {
436
+ "foo": "bar",
437
+ },
438
+ },
439
+ [Function],
440
+ ]
441
+ `;
442
+
443
+ exports[`HooksManager when there are preload hooks hook with screen: executes 2`] = `
444
+ [
445
+ {
446
+ "callback": [Function],
447
+ "hookPlugin": Hook {
448
+ "advertising": {},
449
+ "configuration": {
450
+ "name": "hook_screen",
451
+ },
452
+ "data": {},
453
+ "general": {
454
+ "allow_screen_plugin_presentation": true,
455
+ "is_flow_blocker": true,
456
+ },
457
+ "home": false,
458
+ "hooks": {
459
+ "postload_plugins": [],
460
+ "preload_plugins": [],
461
+ },
462
+ "id": "1bb8ad39-a42e-4096-a134-56aadbd35c83",
463
+ "identifier": "hook_screen",
464
+ "lastHook": true,
465
+ "manager": {
466
+ "executeHook": [Function],
467
+ "handleHooks": [Function],
468
+ "presentScreenHook": [Function],
469
+ "runInBackground": [Function],
470
+ "subscriber": {
471
+ "handlers": {
472
+ "complete": [
473
+ [MockFunction] {
474
+ "calls": [
475
+ [Circular],
476
+ ],
477
+ "results": [
478
+ {
479
+ "type": "return",
480
+ "value": undefined,
481
+ },
482
+ ],
483
+ },
484
+ ],
485
+ "presentScreenHook": [
486
+ [MockFunction] {
487
+ "calls": [
488
+ [
489
+ {
490
+ "hookPlugin": [Circular],
491
+ "payload": {
492
+ "callback": [Function],
493
+ "hookPlugin": [Circular],
494
+ "payload": {
495
+ "foo": "bar",
496
+ },
497
+ },
498
+ "route": "/hooks/1bb8ad39-a42e-4096-a134-56aadbd35c83",
499
+ },
500
+ [Function],
501
+ ],
502
+ ],
503
+ "results": [
504
+ {
505
+ "type": "return",
506
+ "value": undefined,
507
+ },
508
+ ],
509
+ },
510
+ ],
511
+ "success": [
512
+ [MockFunction] {
513
+ "calls": [
514
+ [
515
+ {
516
+ "callback": [Function],
517
+ "hookPlugin": [Circular],
518
+ "payload": {
519
+ "foo": "bar",
520
+ },
521
+ },
522
+ [Function],
523
+ ],
524
+ ],
525
+ "results": [
526
+ {
527
+ "type": "return",
528
+ "value": undefined,
529
+ },
530
+ ],
531
+ },
532
+ ],
533
+ },
534
+ "invokeHandler": [Function],
535
+ "on": [Function],
536
+ "removeHandler": [Function],
537
+ },
538
+ },
539
+ "module": {
540
+ "isFlowBlocker": [Function],
541
+ "run": [MockFunction],
542
+ },
543
+ "name": "Hook: F_blocker, allow_P, present",
544
+ "navigations": [
545
+ {
546
+ "assets": {
547
+ "arrow_image_url": "https://assets-secure.applicaster.com/zapp/default_ui_components/default_assets/side_menu/arrow.png",
548
+ "close_button_image_url": "https://assets-secure.applicaster.com/zapp/default_ui_components/default_assets/side_menu/close.png",
549
+ },
550
+ "category": "menu",
551
+ "default": false,
552
+ "id": "3d7b4d04-1526-4116-baeb-bfb28f40f07b",
553
+ "name": "2-Level Menu",
554
+ "nav_items": [
555
+ {
556
+ "assets": {},
557
+ "data": {
558
+ "connected": null,
559
+ "source": null,
560
+ "target": "29cf3064-6acd-4a7f-961a-503a7d4fa8f9",
561
+ "type": null,
562
+ },
563
+ "general": {
564
+ "home": false,
565
+ "new": false,
566
+ },
567
+ "id": "f0387fba-636f-43e0-9a4f-e4fff551e1c0",
568
+ "position": 1,
569
+ "styles": {},
570
+ "title": "Home",
571
+ "type": "label",
572
+ },
573
+ {
574
+ "assets": {},
575
+ "data": {
576
+ "connected": null,
577
+ "source": null,
578
+ "target": "b886e64a-1234-4cd5-96ce-69629f11cdf8",
579
+ "type": null,
580
+ },
581
+ "general": {
582
+ "home": false,
583
+ "new": false,
584
+ },
585
+ "id": "c666eb1e-46d3-4dcb-8b8c-a7c0fe560deb",
586
+ "position": 2,
587
+ "styles": {},
588
+ "title": "All Shows",
589
+ "type": "label",
590
+ },
591
+ {
592
+ "assets": {},
593
+ "data": {
594
+ "connected": null,
595
+ "source": null,
596
+ "target": "8b57d5ad-dc15-42b4-9e6d-1ce5a3c36922",
597
+ "type": null,
598
+ },
599
+ "general": {
600
+ "home": false,
601
+ "new": false,
602
+ },
603
+ "id": "f969f1d8-e0cc-4ca6-ba71-5d219929f2b6",
604
+ "position": 3,
605
+ "styles": {},
606
+ "title": "Screen Picker",
607
+ "type": "label",
608
+ },
609
+ ],
610
+ "navigation_type": "two_level_rn_menu",
611
+ "rules": {
612
+ "screen_transition": "slide-from-left",
613
+ },
614
+ "styles": {
615
+ "align": "default",
616
+ "android_font_family": "Roboto-Regular",
617
+ "android_font_size": "13",
618
+ "android_header_font_family": "Roboto-Regular",
619
+ "android_header_font_size": "10",
620
+ "background_color": "#fff8f8f8",
621
+ "background_type": "color",
622
+ "header_text_color": "#ffc4c4c4",
623
+ "ios_font_family": "HelveticaNeue-Medium",
624
+ "ios_font_size": "12",
625
+ "ios_header_font_family": "HelveticaNeue-Medium",
626
+ "ios_header_font_size": "10",
627
+ "item_background_color": "#ff363c4a",
628
+ "item_text_color": "#ffffffff",
629
+ "selected_item_background_color": "#ff363c4a",
630
+ "selected_item_text_color": "#ff27da86",
631
+ "separation_line_color": "#00000000",
632
+ },
633
+ },
634
+ {
635
+ "assets": {},
636
+ "category": "nav_bar",
637
+ "default": true,
638
+ "id": "357084dc-d2c0-4780-8dd6-295e18c7cc7f",
639
+ "name": "Navigation Bar",
640
+ "nav_items": [
641
+ {
642
+ "assets": {},
643
+ "data": {
644
+ "connected": null,
645
+ "source": null,
646
+ "target": "b886e64a-1234-4cd5-96ce-69629f11cdf8",
647
+ "type": null,
648
+ },
649
+ "general": {
650
+ "home": false,
651
+ "new": false,
652
+ },
653
+ "id": "500f03b6-17ba-4533-ad20-985272484c1d",
654
+ "position": 1,
655
+ "styles": {},
656
+ "title": "All Shows",
657
+ "type": "button",
658
+ },
659
+ ],
660
+ "navigation_type": "navigation_bar",
661
+ "rules": {},
662
+ "styles": {
663
+ "android_font_family": "Roboto-Medium",
664
+ "background_color": "#ff4a90e2",
665
+ "background_type": "Color",
666
+ "ios_font_family": "HelveticaNeue-Medium",
667
+ "presentation_style": "title",
668
+ "state": "on_top",
669
+ "style": "center",
670
+ "title_color": "#ffffffff",
671
+ "title_size": "16",
672
+ "title_size_tablet": "18",
673
+ },
674
+ },
675
+ ],
676
+ "rules": {},
677
+ "screen_id": "1bb8ad39-a42e-4096-a134-56aadbd35c83",
678
+ "state": 7,
679
+ "styles": {
680
+ "family": "FAMILY_1",
681
+ "presentation": "present",
682
+ },
683
+ "type": "general",
684
+ "ui_components": [],
685
+ "weight": 7,
686
+ },
687
+ "payload": {
688
+ "foo": "bar",
689
+ },
690
+ },
691
+ [Function],
692
+ ]
693
+ `;