@applicaster/zapp-react-native-utils 13.0.0-alpha.2635505531 → 13.0.0-alpha.2761483533

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 (108) 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 +92 -64
  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 -3
  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 +12 -8
  42. package/appUtils/playerManager/playerNative.ts +1 -1
  43. package/appUtils/playerManager/usePlayerControllerSetup.tsx +1 -15
  44. package/arrayUtils/__tests__/__snapshots__/arrayUtils.test.ts.snap +4 -4
  45. package/domUtils/{cookieManager.js → cookieManager.ts} +1 -2
  46. package/functionUtils/__tests__/__snapshots__/functionUtils.test.js.snap +4 -4
  47. package/functionUtils/index.ts +15 -11
  48. package/idleUtils/__tests__/withTimeout$.test.ts +37 -0
  49. package/idleUtils/index.ts +1 -1
  50. package/idleUtils/withTimeout.ts +15 -2
  51. package/logger/const.ts +9 -67
  52. package/manifestUtils/__tests__/createConfig.test.js +18 -16
  53. package/modalState/index.ts +1 -5
  54. package/navigationUtils/__tests__/__snapshots__/navigationUtils.test.js.snap +6 -6
  55. package/navigationUtils/__tests__/itemTypes.test.js +2 -2
  56. package/navigationUtils/__tests__/navigationUtils.test.js +2 -2
  57. package/navigationUtils/index.ts +14 -5
  58. package/package.json +3 -2
  59. package/reactHooks/autoscrolling/__tests__/useTrackCurrentAutoScrollingElement.test.ts +1 -1
  60. package/reactHooks/autoscrolling/__tests__/useTrackedView.test.tsx +1 -1
  61. package/reactHooks/cell-click/__tests__/index.test.js +10 -2
  62. package/reactHooks/cell-click/index.ts +7 -1
  63. package/reactHooks/feed/__tests__/useBuildPipesUrl.test.tsx +4 -4
  64. package/reactHooks/feed/__tests__/useFeedLoader.test.tsx +10 -11
  65. package/reactHooks/feed/useFeedLoader.tsx +1 -1
  66. package/reactHooks/feed/usePipesCacheReset.ts +5 -5
  67. package/reactHooks/flatList/__tests__/index.test.tsx +30 -21
  68. package/reactHooks/layout/__tests__/index.test.tsx +10 -10
  69. package/reactHooks/layout/useDimensions/helpers/__tests__/getInitialDimensions.native.test.js +14 -28
  70. package/reactHooks/navigation/__tests__/index.test.tsx +0 -4
  71. package/reactHooks/navigation/index.ts +29 -218
  72. package/reactHooks/navigation/useGetBottomTabBarHeight.ts +12 -0
  73. package/reactHooks/navigation/useGetNavBarTopBorderWidth.ts +14 -0
  74. package/reactHooks/navigation/useGetTabBarHeight.ts +12 -0
  75. package/reactHooks/navigation/useIsScreenActive.ts +17 -0
  76. package/reactHooks/navigation/useNavigationPluginData.ts +15 -0
  77. package/reactHooks/navigation/useNavigationType.ts +15 -0
  78. package/reactHooks/navigation/usePathname.ts +4 -0
  79. package/reactHooks/navigation/useRoute.ts +100 -0
  80. package/reactHooks/navigation/useUniqueRouteSuffix.ts +41 -0
  81. package/reactHooks/player/TVSeekControlller/ISeekController.ts +28 -3
  82. package/reactHooks/player/TVSeekControlller/LongPressSeekController.ts +43 -96
  83. package/reactHooks/player/TVSeekControlller/TVSeekController.ts +203 -97
  84. package/reactHooks/player/TVSeekControlller/TapSeekController.ts +35 -55
  85. package/reactHooks/player/__tests__/{useAutoSeek.test.tsx → useAutoSeek._test.tsx} +2 -10
  86. package/reactHooks/player/const.ts +1 -5
  87. package/reactHooks/player/index.ts +0 -6
  88. package/reactUtils/__tests__/reactUtils.test.js +10 -28
  89. package/reactUtils/createContext/__tests__/__snapshots__/helpers.test.js.snap +19 -19
  90. package/reactUtils/createContext/__tests__/__snapshots__/index.test.js.snap +2 -2
  91. package/reactUtils/createContext/__tests__/__snapshots__/provider.test.js.snap +3 -3
  92. package/reactUtils/createContext/__tests__/helpers.test.js +8 -8
  93. package/reactUtils/index.ts +0 -14
  94. package/theme/__mocks__/index.ts +4 -0
  95. package/time/Timer.ts +1 -1
  96. package/types.ts +1 -0
  97. package/appUtils/keyCodes/keys.ios.js +0 -46
  98. package/appUtils/playerManager/DelayedSeekPlayerWrapper.tsx +0 -180
  99. package/reactHooks/player/useAutoSeek.tsx +0 -106
  100. package/reactHooks/player/useSeek.tsx +0 -17
  101. package/reactHooks/player/useTapSeek.tsx +0 -85
  102. /package/appUtils/HooksManager/{logger.js → logger.ts} +0 -0
  103. /package/appUtils/{directionHelper.js → directionHelper.ts} +0 -0
  104. /package/appUtils/keyCodes/{androidTVKeys.js → androidTVKeys.ts} +0 -0
  105. /package/appUtils/keyCodes/{keys.web.js → keys/keys.web.ts} +0 -0
  106. /package/appUtils/{localizationsHelper.js → localizationsHelper.ts} +0 -0
  107. /package/domUtils/{logger.js → logger.ts} +0 -0
  108. /package/reactHooks/player/__tests__/{useTapSeek.test.ts → useTapSeek._test.ts} +0 -0
@@ -1,17 +0,0 @@
1
- import React, { useMemo } from "react";
2
- import { noop } from "../../functionUtils";
3
- import { TVSeekController } from "./TVSeekControlller/TVSeekController";
4
-
5
- export const useSeek = (resetHUDTimer = noop) => {
6
- return useMemo(() => TVSeekController.getInstance().getSeekMethods(), []);
7
- };
8
-
9
- export const withUseSeek = (Component) =>
10
- Object.assign(
11
- (props) => {
12
- const seekMethods = useSeek(props?.resetHUDTimer);
13
-
14
- return <Component {...props} seekMethods={seekMethods} />;
15
- },
16
- { displayName: "WithUseSeek" }
17
- );
@@ -1,85 +0,0 @@
1
- import { useCallback, useRef, useState } from "react";
2
- import * as R from "ramda";
3
- import {
4
- MAX_SEEK_TIME,
5
- ON_PRESS_RESET_DURATION,
6
- SEEK_TYPE,
7
- SKIP_TIME_BASE,
8
- } from "./const";
9
- import { playerManager } from "@applicaster/zapp-react-native-utils/appUtils";
10
-
11
- type SeekType = SEEK_TYPE | null;
12
-
13
- const getSkipTime = (multiplier) =>
14
- R.min(MAX_SEEK_TIME, SKIP_TIME_BASE * multiplier);
15
-
16
- export const useTapSeek = () => {
17
- const [resumeTimer, setResumeTimer] = useState<NodeJS.Timeout>(null);
18
- const onPressMultiplier = useRef(1);
19
- const lastPressTime = useRef(0);
20
- const currentOnPressEventType = useRef<SeekType>(null);
21
-
22
- const resetMultiplier = useCallback(() => {
23
- onPressMultiplier.current = 1;
24
- }, []);
25
-
26
- const handlePressEvent = useCallback(
27
- (eventType) => {
28
- const player = playerManager.getInstanceController();
29
- if (!player) return;
30
-
31
- const now = Date.now();
32
- const timeSinceLastPress = now - lastPressTime.current;
33
- const isSameEventType = eventType === currentOnPressEventType.current;
34
-
35
- const isWithinResetDuration =
36
- timeSinceLastPress <= ON_PRESS_RESET_DURATION;
37
-
38
- const shouldIncreaseMultiplier = isSameEventType && isWithinResetDuration;
39
-
40
- if (shouldIncreaseMultiplier) {
41
- onPressMultiplier.current += 1;
42
- } else {
43
- resetMultiplier();
44
- }
45
-
46
- const seekTime = getSkipTime(onPressMultiplier.current);
47
-
48
- player[eventType](seekTime);
49
-
50
- if (resumeTimer) {
51
- clearTimeout(resumeTimer);
52
-
53
- const timer = setTimeout(() => {
54
- player.exitDelayedSeek();
55
- setResumeTimer(null);
56
- }, 2000);
57
-
58
- setResumeTimer(timer);
59
- }
60
-
61
- const clicksBeforePause = 3;
62
-
63
- // Only pause player if user starts to seek on large increments
64
- if (onPressMultiplier.current > clicksBeforePause) {
65
- if (!player.isPaused()) {
66
- player.enterDelayedSeek();
67
-
68
- const timer = setTimeout(() => {
69
- player.exitDelayedSeek();
70
- setResumeTimer(null);
71
- }, 2000);
72
-
73
- clearTimeout(resumeTimer);
74
- setResumeTimer(timer);
75
- }
76
- }
77
-
78
- lastPressTime.current = now;
79
- currentOnPressEventType.current = eventType;
80
- },
81
- [resetMultiplier, resumeTimer]
82
- );
83
-
84
- return handlePressEvent;
85
- };
File without changes
File without changes