@applicaster/zapp-react-native-utils 12.0.0-rc.99 → 13.0.0-alpha.2322412833
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.
- package/analyticsUtils/AnalyticPlayerListener.ts +141 -0
- package/analyticsUtils/PlayerAnalyticsManager.ts +90 -0
- package/analyticsUtils/{analyticsTracker.ts → playerAnalyticsTracker.ts} +19 -10
- package/appUtils/HooksManager/{Hook.js → Hook.ts} +35 -23
- package/appUtils/HooksManager/__tests__/__snapshots__/hook.test.js.snap +4 -2
- package/appUtils/HooksManager/__tests__/__snapshots__/hooksManager.test.js.snap +693 -0
- package/appUtils/HooksManager/__tests__/hook.test.js +196 -184
- package/appUtils/HooksManager/__tests__/hooksManager.test.js +96 -99
- package/appUtils/HooksManager/{constants.js → constants.ts} +1 -1
- package/appUtils/HooksManager/{index.js → index.ts} +121 -112
- package/appUtils/HooksManager/types.ts +116 -0
- package/appUtils/RiverFocusManager/index.js +17 -12
- package/appUtils/accessibilityManager/hooks.ts +16 -7
- package/appUtils/accessibilityManager/index.ts +33 -28
- package/appUtils/focusManager/treeDataStructure/Tree/index.js +2 -3
- package/appUtils/focusManager/treeDataStructure/Utils/index.js +1 -3
- package/appUtils/{index.js → index.ts} +1 -1
- package/appUtils/keyCodes/__tests__/keyCodes.test.js +3 -3
- package/appUtils/keyCodes/{index.js → index.ts} +2 -0
- package/appUtils/keyCodes/keys/index.ts +3 -0
- package/appUtils/keyCodes/{keys.android.js → keys/keyEventMapper.ts} +0 -19
- package/appUtils/keyCodes/keys/keys.android.ts +18 -0
- package/appUtils/keyCodes/keys/keys.ios.ts +25 -0
- package/appUtils/keyCodes/keys/keys.ts +15 -0
- package/appUtils/platform/platformUtils.ts +35 -16
- package/appUtils/playerManager/index.ts +9 -27
- package/appUtils/playerManager/playerFactory.ts +5 -4
- package/appUtils/playerManager/playerHooks/usePlayerCurrentTime.tsx +57 -0
- package/appUtils/playerManager/playerNative.ts +1 -1
- package/appUtils/playerManager/usePlayerControllerSetup.tsx +1 -1
- package/appUtils/playerManager/usePlayerState.tsx +19 -34
- package/arrayUtils/index.ts +11 -0
- package/cellUtils/index.ts +38 -5
- package/domUtils/{cookieManager.js → cookieManager.ts} +1 -2
- package/focusManager/FocusManager.ts +20 -5
- package/focusManager/__tests__/FocusManager.test.ts +0 -1
- package/functionUtils/index.ts +53 -11
- package/index.d.ts +15 -0
- package/manifestUtils/defaultManifestConfigurations/player.js +121 -0
- package/manifestUtils/keys.js +2 -1
- package/modalState/index.ts +1 -5
- package/navigationUtils/index.ts +15 -6
- package/numberUtils/__tests__/toNumber.test.ts +2 -2
- package/numberUtils/__tests__/toPositiveNumberWithDefault.test.ts +66 -0
- package/numberUtils/__tests__/toPositiveNumberWithDefaultZero.test.ts +66 -0
- package/numberUtils/index.ts +20 -0
- package/package.json +2 -2
- package/playerUtils/configurationGenerator.ts +120 -0
- package/playerUtils/imaScriptDom.ts +59 -0
- package/reactHooks/cell-click/index.ts +17 -3
- package/reactHooks/debugging/__tests__/index.test.js +81 -11
- package/reactHooks/feed/__tests__/useBatchLoading.test.tsx +69 -6
- package/reactHooks/feed/__tests__/useFeedLoader.test.tsx +10 -2
- package/reactHooks/feed/useBatchLoading.ts +52 -28
- package/reactHooks/feed/useFeedLoader.tsx +11 -7
- package/reactHooks/layout/useDimensions/__tests__/useDimensions.test.ts +134 -0
- package/reactHooks/layout/useDimensions/useDimensions.ts +2 -0
- package/reactHooks/navigation/index.ts +8 -5
- package/reactHooks/player/useAutoSeek.tsx +9 -7
- package/reactHooks/resolvers/useCellResolver.ts +5 -1
- package/reactHooks/useConfiguration.ts +2 -2
- package/reactHooks/utils/index.ts +13 -0
- package/reactUtils/index.ts +1 -16
- package/services/localStorageServiceSync.web.ts +48 -0
- package/services/sessionStorageServiceSync.web.ts +32 -0
- package/services/storageServiceSync.web.ts +24 -0
- package/services/storageWebUtils.web.ts +10 -0
- package/testUtils/index.tsx +42 -9
- package/appUtils/keyCodes/keys.ios.js +0 -46
- /package/appUtils/HooksManager/{logger.js → logger.ts} +0 -0
- /package/appUtils/{directionHelper.js → directionHelper.ts} +0 -0
- /package/appUtils/keyCodes/{androidTVKeys.js → androidTVKeys.ts} +0 -0
- /package/appUtils/keyCodes/{keys.web.js → keys/keys.web.ts} +0 -0
- /package/appUtils/keyCodes/{keysByPlatform.js → keys/keysByPlatform.ts} +0 -0
- /package/appUtils/{localizationsHelper.js → localizationsHelper.ts} +0 -0
- /package/domUtils/{logger.js → logger.ts} +0 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DEFAULT_STORAGE_NAMESPACE,
|
|
3
|
+
getWebStorageKey,
|
|
4
|
+
} from "./storageWebUtils.web";
|
|
5
|
+
|
|
6
|
+
export function saveSync(
|
|
7
|
+
key: string,
|
|
8
|
+
value: string,
|
|
9
|
+
namespace: string = DEFAULT_STORAGE_NAMESPACE
|
|
10
|
+
) {
|
|
11
|
+
const storageWebKey = getWebStorageKey(key, namespace);
|
|
12
|
+
|
|
13
|
+
return sessionStorage.setItem(storageWebKey, value);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export function getSync(
|
|
17
|
+
key: string,
|
|
18
|
+
namespace: string = DEFAULT_STORAGE_NAMESPACE
|
|
19
|
+
) {
|
|
20
|
+
const storageWebKey = getWebStorageKey(key, namespace);
|
|
21
|
+
|
|
22
|
+
return sessionStorage.getItem(storageWebKey);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function removeSync(
|
|
26
|
+
key: string,
|
|
27
|
+
namespace: string = DEFAULT_STORAGE_NAMESPACE
|
|
28
|
+
) {
|
|
29
|
+
const storageWebKey = getWebStorageKey(key, namespace);
|
|
30
|
+
|
|
31
|
+
return sessionStorage.removeItem(storageWebKey);
|
|
32
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { DEFAULT_STORAGE_NAMESPACE } from "./storageWebUtils.web";
|
|
2
|
+
import { getSync as getLocalStorage } from "./localStorageServiceSync.web";
|
|
3
|
+
import { getSync as getSessionStorage } from "./sessionStorageServiceSync.web";
|
|
4
|
+
|
|
5
|
+
export const getFromSessionOrLocalStorage = (
|
|
6
|
+
key: string,
|
|
7
|
+
namespace: string = DEFAULT_STORAGE_NAMESPACE
|
|
8
|
+
) => getSessionStorage(key, namespace) || getLocalStorage(key, namespace);
|
|
9
|
+
|
|
10
|
+
export const resolveStorageContextKey = (storageKey: string) => {
|
|
11
|
+
if (!storageKey) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const splitKey = storageKey.split(".");
|
|
16
|
+
const namespaceOrKey = splitKey[0];
|
|
17
|
+
const key = splitKey[1];
|
|
18
|
+
|
|
19
|
+
if (!key) {
|
|
20
|
+
return getFromSessionOrLocalStorage(key);
|
|
21
|
+
} else {
|
|
22
|
+
return getFromSessionOrLocalStorage(key, namespaceOrKey);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const DEFAULT_STORAGE_NAMESPACE = "applicaster.v2";
|
|
2
|
+
|
|
3
|
+
export const NAMESPACE_STORAGE_SEPARATOR_WEB = "_::_";
|
|
4
|
+
|
|
5
|
+
export const getWebStorageKey = (
|
|
6
|
+
key: String,
|
|
7
|
+
namespace: String = DEFAULT_STORAGE_NAMESPACE
|
|
8
|
+
) => {
|
|
9
|
+
return `${namespace}${NAMESPACE_STORAGE_SEPARATOR_WEB}${key}`;
|
|
10
|
+
};
|
package/testUtils/index.tsx
CHANGED
|
@@ -7,9 +7,11 @@ import { Provider } from "react-redux";
|
|
|
7
7
|
import thunk from "redux-thunk";
|
|
8
8
|
import configureStore from "redux-mock-store";
|
|
9
9
|
import { SafeAreaProvider } from "react-native-safe-area-context";
|
|
10
|
+
import { appStore } from "@applicaster/zapp-react-native-redux/AppStore";
|
|
10
11
|
|
|
11
12
|
import { render } from "@testing-library/react-native";
|
|
12
13
|
import { AnalyticsProvider } from "../analyticsUtils";
|
|
14
|
+
import { ThemeContext } from "../theme";
|
|
13
15
|
|
|
14
16
|
export { getByTestId } from "./getByTestId";
|
|
15
17
|
|
|
@@ -59,7 +61,9 @@ const initialState = {
|
|
|
59
61
|
appSettings: {},
|
|
60
62
|
plugins: [],
|
|
61
63
|
appState: { appReady: true, appLaunched: true },
|
|
64
|
+
pluginConfigurations: {},
|
|
62
65
|
appData: { layoutVersion: "v1" },
|
|
66
|
+
zappPipes: {},
|
|
63
67
|
contentTypes: null,
|
|
64
68
|
};
|
|
65
69
|
|
|
@@ -68,20 +72,49 @@ export const WrappedWithProviders = ({
|
|
|
68
72
|
store: storeObj = {},
|
|
69
73
|
}: any) => {
|
|
70
74
|
const _store = configureStore([thunk])(
|
|
71
|
-
R.
|
|
75
|
+
R.mergeDeepRight(initialState, { ...storeObj })
|
|
72
76
|
);
|
|
73
77
|
|
|
78
|
+
appStore.set(_store);
|
|
79
|
+
|
|
74
80
|
return (
|
|
75
|
-
<
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
81
|
+
<ThemeContext.Provider
|
|
82
|
+
value={{
|
|
83
|
+
themes: {
|
|
84
|
+
light: {
|
|
85
|
+
component_margin_top: 0,
|
|
86
|
+
component_margin_bottom: 0,
|
|
87
|
+
component_margin_left: 0,
|
|
88
|
+
component_margin_right: 0,
|
|
89
|
+
component_padding_top: 0,
|
|
90
|
+
component_padding_bottom: 0,
|
|
91
|
+
component_padding_left: 0,
|
|
92
|
+
component_padding_right: 0,
|
|
93
|
+
component_gutter_vertical: 0,
|
|
94
|
+
component_gutter_horizontal: 0,
|
|
95
|
+
component_corner_radius: 0,
|
|
96
|
+
app_background_color: "rgba(0,0,0,0)",
|
|
97
|
+
screen_margin_top: 0,
|
|
98
|
+
screen_margin_bottom: 0,
|
|
99
|
+
component_anchor_point_y: 0,
|
|
100
|
+
assets: "",
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
selectedThemeId: "light",
|
|
104
|
+
setSelectedThemeId: () => {},
|
|
79
105
|
}}
|
|
80
106
|
>
|
|
81
|
-
<
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
107
|
+
<SafeAreaProvider
|
|
108
|
+
initialMetrics={{
|
|
109
|
+
insets: { top: 0, left: 0, right: 0, bottom: 0 },
|
|
110
|
+
frame: { x: 0, y: 0, width: 0, height: 0 },
|
|
111
|
+
}}
|
|
112
|
+
>
|
|
113
|
+
<Provider store={_store}>
|
|
114
|
+
<AnalyticsProvider>{children}</AnalyticsProvider>
|
|
115
|
+
</Provider>
|
|
116
|
+
</SafeAreaProvider>
|
|
117
|
+
</ThemeContext.Provider>
|
|
85
118
|
);
|
|
86
119
|
};
|
|
87
120
|
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/* global tizen */
|
|
2
|
-
const isTizen = typeof tizen !== "undefined";
|
|
3
|
-
|
|
4
|
-
export const KEYS = {
|
|
5
|
-
Enter: { code: "Enter", keyCode: 13 },
|
|
6
|
-
Space: { code: "Space", keyCode: 32 },
|
|
7
|
-
m: { code: "m", keyCode: 77 },
|
|
8
|
-
ArrowLeft: { code: "ArrowLeft", keyCode: 37 },
|
|
9
|
-
ArrowUp: { code: "ArrowUp", keyCode: 38 },
|
|
10
|
-
ArrowRight: { code: "ArrowRight", keyCode: 39 },
|
|
11
|
-
ArrowDown: { code: "ArrowDown", keyCode: 40 },
|
|
12
|
-
Back: isTizen
|
|
13
|
-
? { code: "Back", keyCode: 10009 }
|
|
14
|
-
: { code: "Backspace", keyCode: 8 },
|
|
15
|
-
Play: isTizen
|
|
16
|
-
? { code: "MediaPlay", keyCode: 10252 }
|
|
17
|
-
: { code: "PlayPause", keyCode: 179 },
|
|
18
|
-
Pause: isTizen
|
|
19
|
-
? { code: "MediaPause", keyCode: 19 }
|
|
20
|
-
: { code: "Pause", keyCode: 179 },
|
|
21
|
-
Forward: isTizen
|
|
22
|
-
? { code: "MediaFastForward", keyCode: 417 }
|
|
23
|
-
: { code: "Forward", keyCode: 176 },
|
|
24
|
-
Rewind: isTizen
|
|
25
|
-
? { code: "MediaRewind", keyCode: 412 }
|
|
26
|
-
: { code: "Rewind", keyCode: 177 },
|
|
27
|
-
VolumeUp: isTizen
|
|
28
|
-
? { code: "VolumeUp", keyCode: 447 }
|
|
29
|
-
: { code: "VolumeUp", keyCode: 175 },
|
|
30
|
-
VolumeDown: isTizen
|
|
31
|
-
? { code: "VolumeDown", keyCode: 448 }
|
|
32
|
-
: { code: "VolumeDown", keyCode: 174 },
|
|
33
|
-
ToggleMute: isTizen
|
|
34
|
-
? { code: "VolumeMute", keyCode: 449 }
|
|
35
|
-
: { code: "VolumeMute", keyCode: 173 },
|
|
36
|
-
Stop: isTizen
|
|
37
|
-
? { code: "MediaStop", keyCode: 413 }
|
|
38
|
-
: { code: "Q", keyCode: 81 },
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
export const ARROW_KEYS = [
|
|
42
|
-
KEYS.ArrowUp,
|
|
43
|
-
KEYS.ArrowLeft,
|
|
44
|
-
KEYS.ArrowDown,
|
|
45
|
-
KEYS.ArrowRight,
|
|
46
|
-
];
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|