@applicaster/zapp-react-native-utils 14.0.0-alpha.1661204539 → 14.0.0-alpha.2175196485

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 (78) hide show
  1. package/actionsExecutor/ActionExecutorContext.tsx +82 -53
  2. package/analyticsUtils/AnalyticsEvents/helper.ts +81 -0
  3. package/analyticsUtils/AnalyticsEvents/sendHeaderClickEvent.ts +1 -1
  4. package/analyticsUtils/AnalyticsEvents/sendMenuClickEvent.ts +2 -1
  5. package/analyticsUtils/AnalyticsEvents/sendOnClickEvent.ts +14 -4
  6. package/analyticsUtils/__tests__/analyticsUtils.test.js +14 -0
  7. package/analyticsUtils/events.ts +8 -0
  8. package/analyticsUtils/index.tsx +3 -4
  9. package/analyticsUtils/manager.ts +1 -1
  10. package/appUtils/HooksManager/Hook.ts +4 -4
  11. package/appUtils/HooksManager/index.ts +11 -1
  12. package/appUtils/accessibilityManager/index.ts +7 -4
  13. package/appUtils/contextKeysManager/contextResolver.ts +1 -15
  14. package/appUtils/playerManager/OverlayObserver/OverlaysObserver.ts +0 -15
  15. package/appUtils/playerManager/useChapterMarker.tsx +0 -1
  16. package/appUtils/playerManager/usePlayerControllerSetup.tsx +16 -0
  17. package/arrayUtils/__tests__/isEmptyArray.test.ts +63 -0
  18. package/arrayUtils/__tests__/isFilledArray.test.ts +1 -1
  19. package/arrayUtils/index.ts +8 -3
  20. package/audioPlayerUtils/__tests__/getArtworkImage.test.ts +144 -0
  21. package/audioPlayerUtils/__tests__/getBackgroundImage.test.ts +72 -0
  22. package/audioPlayerUtils/__tests__/getImageFromEntry.test.ts +110 -0
  23. package/audioPlayerUtils/assets/index.ts +2 -0
  24. package/audioPlayerUtils/index.ts +242 -0
  25. package/componentsUtils/__tests__/isTabsScreen.test.ts +38 -0
  26. package/componentsUtils/index.ts +4 -1
  27. package/conf/player/__tests__/selectors.test.ts +34 -0
  28. package/conf/player/selectors.ts +10 -0
  29. package/configurationUtils/__tests__/configurationUtils.test.js +0 -31
  30. package/configurationUtils/__tests__/getMediaItems.test.ts +65 -0
  31. package/configurationUtils/__tests__/imageSrcFromMediaItem.test.ts +34 -0
  32. package/configurationUtils/__tests__/manifestKeyParser.test.ts +547 -0
  33. package/configurationUtils/index.ts +63 -34
  34. package/configurationUtils/manifestKeyParser.ts +57 -32
  35. package/focusManager/FocusManager.ts +26 -16
  36. package/focusManager/Tree.ts +25 -21
  37. package/focusManager/__tests__/FocusManager.test.ts +50 -8
  38. package/index.d.ts +0 -9
  39. package/manifestUtils/_internals/getDefaultConfiguration.js +28 -0
  40. package/manifestUtils/{_internals.js → _internals/index.js} +2 -25
  41. package/manifestUtils/createConfig.js +4 -1
  42. package/manifestUtils/defaultManifestConfigurations/player.js +1239 -200
  43. package/manifestUtils/progressBar/__tests__/mobileProgressBar.test.js +0 -30
  44. package/manifestUtils/sharedConfiguration/screenPicker/stylesFields.js +1 -2
  45. package/package.json +2 -2
  46. package/playerUtils/__tests__/configurationUtils.test.ts +1 -65
  47. package/playerUtils/__tests__/getPlayerActionButtons.test.ts +54 -0
  48. package/playerUtils/_internals/__tests__/utils.test.ts +71 -0
  49. package/playerUtils/_internals/index.ts +1 -0
  50. package/playerUtils/_internals/utils.ts +31 -0
  51. package/playerUtils/configurationUtils.ts +0 -44
  52. package/playerUtils/getPlayerActionButtons.ts +17 -0
  53. package/playerUtils/index.ts +59 -0
  54. package/playerUtils/useValidatePlayerConfig.tsx +22 -19
  55. package/reactHooks/autoscrolling/__tests__/useTrackedView.test.tsx +12 -13
  56. package/reactHooks/cell-click/index.ts +1 -5
  57. package/reactHooks/feed/__tests__/useBatchLoading.test.tsx +39 -88
  58. package/reactHooks/feed/useBatchLoading.ts +3 -3
  59. package/reactHooks/feed/useFeedLoader.tsx +6 -13
  60. package/reactHooks/feed/usePipesCacheReset.ts +1 -1
  61. package/reactHooks/layout/isTablet/index.ts +12 -5
  62. package/reactHooks/navigation/index.ts +7 -5
  63. package/reactHooks/navigation/useIsScreenActive.ts +9 -5
  64. package/reactHooks/screen/useScreenContext.ts +1 -1
  65. package/reactHooks/state/__tests__/ZStoreProvider.test.tsx +2 -1
  66. package/riverComponetsMeasurementProvider/index.tsx +1 -1
  67. package/services/js2native.ts +1 -0
  68. package/testUtils/index.tsx +7 -8
  69. package/time/BackgroundTimer.ts +5 -3
  70. package/utils/index.ts +16 -1
  71. package/actionsExecutor/ScreenActions.ts +0 -90
  72. package/actionsExecutor/StorageActions.ts +0 -110
  73. package/actionsExecutor/screenResolver.ts +0 -8
  74. package/playerUtils/configurationGenerator.ts +0 -2572
  75. package/storage/ScreenSingleValueProvider.ts +0 -92
  76. package/storage/ScreenStateMultiSelectProvider.ts +0 -119
  77. package/storage/StorageMultiSelectProvider.ts +0 -192
  78. package/storage/StorageSingleSelectProvider.ts +0 -108
@@ -1,110 +0,0 @@
1
- import { ActionResult } from "./ActionExecutor";
2
- import { get } from "lodash";
3
- import { StorageMultiSelectProvider } from "@applicaster/zapp-react-native-utils/storage/StorageMultiSelectProvider";
4
- import { log_error, log_info } from "./ActionExecutorContext";
5
- import { postEvent } from "../reactHooks/useSubscriberFor";
6
- import { TOGGLE_FLAG_MAX_ITEMS_REACHED_EVENT } from "./consts";
7
- import { StorageType } from "../appUtils/contextKeysManager/consts";
8
-
9
- // send all data just in case (like for message string formatting)
10
- // Type is not exported for now
11
- type MaxTagsReachedEvent = {
12
- selectedItems: string[];
13
- maxItems: number;
14
- tag: string;
15
- keyNamespace: string;
16
- };
17
-
18
- export async function onMaxTagsReached(data: MaxTagsReachedEvent) {
19
- postEvent(TOGGLE_FLAG_MAX_ITEMS_REACHED_EVENT, [data]);
20
- }
21
-
22
- export async function storageToggleFlag(
23
- context: Record<string, any>,
24
- action: ActionType,
25
- storageType: StorageType
26
- ) {
27
- if (!context) {
28
- log_error("handleAction: localStorageToggleFlag action missing context");
29
-
30
- return ActionResult.Error;
31
- }
32
-
33
- const entry = context?.entry as ZappEntry;
34
-
35
- if (!entry) {
36
- log_error(
37
- "handleAction: localStorageToggleFlag action missing entry. Entry is required to get the tag."
38
- );
39
-
40
- return ActionResult.Error;
41
- }
42
-
43
- const tag = action.options?.selector
44
- ? get(entry, action.options.selector)
45
- : (entry.extensions?.tag ?? entry.id);
46
-
47
- const keyNamespace = action.options?.key;
48
-
49
- if (keyNamespace && tag) {
50
- const multiSelectProvider = StorageMultiSelectProvider.getProvider(
51
- keyNamespace,
52
- storageType
53
- );
54
-
55
- const selectedItems = await multiSelectProvider.getSelectedAsync();
56
- const isTagInSelectedItems = selectedItems.includes(tag);
57
-
58
- log_info(
59
- `handleAction: localStorageToggleFlag event will ${
60
- isTagInSelectedItems ? "remove" : "add"
61
- } tag: ${tag} for keyNamespace: ${keyNamespace}, current selectedItems: ${selectedItems}`
62
- );
63
-
64
- if (selectedItems.includes(tag)) {
65
- await multiSelectProvider.removeItem(tag);
66
- } else {
67
- const maxItems = action.options?.max_items;
68
-
69
- if (maxItems && selectedItems.length >= maxItems) {
70
- log_info(
71
- `handleAction: localStorageToggleFlag event reached max items limit: ${maxItems}, cannot add tag: ${tag}`
72
- );
73
-
74
- await onMaxTagsReached({
75
- selectedItems,
76
- maxItems,
77
- tag,
78
- keyNamespace,
79
- });
80
-
81
- return ActionResult.Cancel;
82
- }
83
-
84
- await multiSelectProvider.addItem(tag);
85
- }
86
- } else {
87
- log_error(
88
- "handleAction: localStorageToggleFlag event missing keyNamespace or tag",
89
- { keyNamespace, tag }
90
- );
91
-
92
- return ActionResult.Error;
93
- }
94
-
95
- return ActionResult.Success;
96
- }
97
-
98
- export async function sessionStorageToggleFlag(
99
- context: Record<string, any>,
100
- action: ActionType
101
- ) {
102
- return storageToggleFlag(context, action, StorageType.session);
103
- }
104
-
105
- export async function localStorageToggleFlag(
106
- context: Record<string, any>,
107
- action: ActionType
108
- ) {
109
- return storageToggleFlag(context, action, StorageType.local);
110
- }
@@ -1,8 +0,0 @@
1
- import { useMemo } from "react";
2
- import { ScreenStateResolver } from "../appUtils/contextKeysManager/contextResolver";
3
-
4
- export const useScreenResolvers = (screenRoute: string) => {
5
- return useMemo(() => {
6
- return { screen: new ScreenStateResolver(screenRoute) };
7
- }, [screenRoute]);
8
- };