@applicaster/zapp-react-native-ui-components 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 (90) hide show
  1. package/Components/AnimatedInOut/index.tsx +5 -3
  2. package/Components/AudioPlayer/index.tsx +15 -0
  3. package/Components/AudioPlayer/mobile/Layout.tsx +66 -0
  4. package/Components/AudioPlayer/{__tests__/__snapshots__/audioPlayer.test.js.snap → mobile/__tests__/__snapshots__/audioPlayerMobileLayout.test.js.snap} +2 -2
  5. package/Components/AudioPlayer/mobile/__tests__/audioPlayerMobileLayout.test.js +18 -0
  6. package/Components/AudioPlayer/mobile/index.tsx +18 -0
  7. package/Components/AudioPlayer/tv/Artwork.tsx +41 -0
  8. package/Components/AudioPlayer/{Channel.tsx → tv/Channel.tsx} +7 -7
  9. package/Components/AudioPlayer/tv/Layout.tsx +168 -0
  10. package/Components/AudioPlayer/{Runtime.tsx → tv/Runtime.tsx} +9 -2
  11. package/Components/AudioPlayer/{Summary.tsx → tv/Summary.tsx} +17 -10
  12. package/Components/AudioPlayer/tv/Title.tsx +46 -0
  13. package/Components/AudioPlayer/{__tests__ → tv/__tests__}/__snapshots__/Runtime.test.js.snap +4 -4
  14. package/Components/AudioPlayer/{__tests__ → tv/__tests__}/__snapshots__/artWork.test.js.snap +9 -4
  15. package/Components/AudioPlayer/tv/__tests__/__snapshots__/audioPlayer.test.js.snap +164 -0
  16. package/Components/AudioPlayer/tv/__tests__/__snapshots__/channel.test.js.snap +19 -0
  17. package/Components/AudioPlayer/{__tests__ → tv/__tests__}/__snapshots__/summary.test.js.snap +2 -3
  18. package/Components/AudioPlayer/{__tests__ → tv/__tests__}/__snapshots__/title.test.js.snap +2 -3
  19. package/Components/AudioPlayer/{__tests__ → tv/__tests__}/audioPlayer.test.js +7 -3
  20. package/Components/AudioPlayer/{helpers.tsx → tv/helpers.tsx} +3 -4
  21. package/Components/AudioPlayer/{AudioPlayer.tsx → tv/index.tsx} +18 -57
  22. package/Components/AudioPlayer/types.ts +40 -0
  23. package/Components/Cell/index.js +6 -2
  24. package/Components/Focusable/Focusable.tsx +5 -3
  25. package/Components/Focusable/FocusableTvOS.tsx +3 -3
  26. package/Components/Focusable/FocusableiOS.tsx +1 -1
  27. package/Components/Focusable/__tests__/index.android.test.tsx +3 -0
  28. package/Components/Focusable/index.android.tsx +12 -8
  29. package/Components/FocusableList/index.tsx +4 -0
  30. package/Components/GeneralContentScreen/GeneralContentScreen.tsx +0 -2
  31. package/Components/HandlePlayable/HandlePlayable.tsx +25 -9
  32. package/Components/MasterCell/DefaultComponents/FocusableView/index.tsx +4 -27
  33. package/Components/MasterCell/DefaultComponents/Text/index.tsx +1 -0
  34. package/Components/MasterCell/elementMapper.tsx +1 -2
  35. package/Components/MasterCell/index.tsx +1 -1
  36. package/Components/MasterCell/utils/behaviorProvider.ts +12 -67
  37. package/Components/MasterCell/utils/index.ts +3 -13
  38. package/Components/OfflineHandler/NotificationView/__tests__/index.test.tsx +13 -18
  39. package/Components/OfflineHandler/__tests__/__snapshots__/index.test.tsx.snap +9 -0
  40. package/Components/PlayerContainer/PlayerContainer.tsx +62 -66
  41. package/Components/PlayerImageBackground/index.tsx +1 -1
  42. package/Components/River/ComponentsMap/ComponentsMap.tsx +1 -6
  43. package/Components/River/RiverItem.tsx +8 -8
  44. package/Components/River/TV/River.tsx +0 -3
  45. package/Components/River/TV/withTVEventHandler.tsx +1 -1
  46. package/Components/River/__tests__/__snapshots__/componentsMap.test.js.snap +2 -6
  47. package/Components/ScreenRevealManager/ScreenRevealManager.ts +76 -0
  48. package/Components/ScreenRevealManager/__tests__/ScreenRevealManager.test.ts +107 -0
  49. package/Components/ScreenRevealManager/__tests__/withScreenRevealManager.test.tsx +96 -0
  50. package/Components/ScreenRevealManager/index.ts +1 -0
  51. package/Components/ScreenRevealManager/withScreenRevealManager.tsx +79 -0
  52. package/Components/Tabs/TV/Tabs.android.tsx +0 -2
  53. package/Components/TopMarginApplicator/TopMarginApplicator.tsx +16 -15
  54. package/Components/Touchable/__tests__/__snapshots__/touchable.test.tsx.snap +34 -0
  55. package/Components/Transitioner/__tests__/__snapshots__/Scene.test.js.snap +15 -9
  56. package/Components/VideoLive/animationUtils.ts +3 -3
  57. package/Components/VideoModal/ModalAnimation/ModalAnimationContext.tsx +9 -1
  58. package/Components/VideoModal/PlayerDetails.tsx +24 -2
  59. package/Components/VideoModal/PlayerWrapper.tsx +26 -142
  60. package/Components/VideoModal/VideoModal.tsx +3 -17
  61. package/Components/VideoModal/__tests__/PlayerWrapper.test.tsx +1 -7
  62. package/Components/VideoModal/__tests__/__snapshots__/PlayerWrapper.test.tsx.snap +44 -180
  63. package/Components/VideoModal/hooks/__tests__/useDelayedPlayerDetails.test.ts +17 -55
  64. package/Components/VideoModal/hooks/index.ts +0 -2
  65. package/Components/VideoModal/hooks/useDelayedPlayerDetails.ts +15 -26
  66. package/Components/VideoModal/hooks/useModalSize.ts +18 -2
  67. package/Components/VideoModal/utils.ts +6 -0
  68. package/Components/Viewport/ViewportAware/__tests__/viewportAware.test.js +12 -16
  69. package/Components/Viewport/ViewportTracker/__tests__/viewportTracker.test.js +84 -24
  70. package/Components/Viewport/VisibilitySensor/VisibilitySensor.tsx +3 -3
  71. package/Components/default-cell-renderer/viewTrees/tv/DefaultCell/index.ts +3 -3
  72. package/Decorators/ConfigurationWrapper/withConfigurationProvider.tsx +2 -2
  73. package/Decorators/RiverFeedLoader/index.tsx +2 -8
  74. package/Decorators/RiverFeedLoader/utils/index.ts +2 -7
  75. package/Decorators/ZappPipesDataConnector/index.tsx +2 -16
  76. package/index.d.ts +0 -1
  77. package/package.json +5 -9
  78. package/Components/AudioPlayer/Artwork.tsx +0 -35
  79. package/Components/AudioPlayer/AudioPlayerLayout.tsx +0 -202
  80. package/Components/AudioPlayer/Title.tsx +0 -39
  81. package/Components/AudioPlayer/__tests__/__snapshots__/audioPlayerLayout.test.js.snap +0 -66
  82. package/Components/AudioPlayer/__tests__/__snapshots__/channel.test.js.snap +0 -28
  83. package/Components/AudioPlayer/__tests__/audioPlayerLayout.test.js +0 -26
  84. package/Components/AudioPlayer/index.ts +0 -1
  85. package/Components/VideoModal/hooks/useBackgroundColor.ts +0 -10
  86. /package/Components/AudioPlayer/{__tests__ → tv/__tests__}/Runtime.test.js +0 -0
  87. /package/Components/AudioPlayer/{__tests__ → tv/__tests__}/artWork.test.js +0 -0
  88. /package/Components/AudioPlayer/{__tests__ → tv/__tests__}/channel.test.js +0 -0
  89. /package/Components/AudioPlayer/{__tests__ → tv/__tests__}/summary.test.js +0 -0
  90. /package/Components/AudioPlayer/{__tests__ → tv/__tests__}/title.test.js +0 -0
@@ -1,202 +0,0 @@
1
- import React, { useRef } from "react";
2
- import { View, ImageBackground, Animated, ViewStyle } from "react-native";
3
-
4
- import { platformSelect } from "@applicaster/zapp-react-native-utils/reactUtils";
5
-
6
- import { Artwork } from "./Artwork";
7
- import { directionStyles } from "./helpers";
8
-
9
- type Props = {
10
- artwork?: string;
11
- config: {
12
- titleColor: string;
13
- summaryColor: string;
14
- backgroundColor: string;
15
- backgroundImage: string;
16
- isRTL: boolean;
17
- };
18
- children: React.ReactNode;
19
- style: ViewStyle;
20
- };
21
-
22
- export function AudioPlayerLayout({ artwork, config, children, style }: Props) {
23
- const fadeAnimation = useRef(new Animated.Value(0)).current;
24
-
25
- const fadeAudioPlayerIn = () => {
26
- Animated.timing(fadeAnimation, {
27
- toValue: 1,
28
- duration: 3000,
29
- useNativeDriver: true,
30
- }).start();
31
- };
32
-
33
- const { isRTL, backgroundColor, backgroundImage } = config;
34
-
35
- const backgroundImageSource = { uri: backgroundImage };
36
-
37
- const backgroundColorStyle = backgroundImage
38
- ? "transparent"
39
- : backgroundColor;
40
-
41
- const mainContainerStyles = platformSelect({
42
- tvos: {
43
- width: 1920,
44
- height: 1080,
45
- alignItems: "center",
46
- justifyContent: "center",
47
- flexDirection: directionStyles(isRTL).flexDirection,
48
- backgroundColor: backgroundColorStyle,
49
- },
50
- android_tv: {
51
- position: "absolute",
52
- width: 1920,
53
- height: 1080,
54
- alignItems: "center",
55
- justifyContent: "center",
56
- flexDirection: directionStyles(isRTL).flexDirection,
57
- backgroundColor: backgroundColorStyle,
58
- },
59
- web: {
60
- width: 1920,
61
- height: 1080,
62
- alignItems: "center",
63
- justifyContent: "center",
64
- flexDirection: directionStyles(isRTL).flexDirection,
65
- backgroundColor: backgroundColorStyle,
66
- },
67
- native: {
68
- backgroundColor: backgroundColorStyle,
69
- overflow: "hidden",
70
- ...style,
71
- },
72
- samsung_tv: {
73
- position: "absolute",
74
- margin: "auto",
75
- display: "flex",
76
- flexWrap: "wrap",
77
- width: "100vw",
78
- flex: 1,
79
- alignItems: "center",
80
- justifyContent: "center",
81
- flexDirection: directionStyles(isRTL).flexDirection,
82
- backgroundColor: backgroundColorStyle,
83
- },
84
- lg_tv: {
85
- position: "absolute",
86
- margin: "auto",
87
- display: "flex",
88
- flexWrap: "wrap",
89
- width: "100vw",
90
- flex: 1,
91
- alignItems: "center",
92
- justifyContent: "center",
93
- flexDirection: directionStyles(isRTL).flexDirection,
94
- backgroundColor: backgroundColorStyle,
95
- },
96
- });
97
-
98
- const backgroundImgStyles = platformSelect({
99
- tvos: {
100
- width: 1920,
101
- height: 1080,
102
- alignItems: "center",
103
- justifyContent: "center",
104
- },
105
- android_tv: {
106
- width: "100%",
107
- height: "100%",
108
- alignItems: "center",
109
- justifyContent: "center",
110
- },
111
- web: {
112
- position: "absolute",
113
- margin: "auto",
114
- display: "flex",
115
- flexWrap: "wrap",
116
- width: "100%",
117
- height: "100%",
118
- flex: 1,
119
- alignItems: "center",
120
- justifyContent: "center",
121
- },
122
- native: {
123
- flex: 1,
124
- },
125
- });
126
-
127
- const textContainerStyles = platformSelect({
128
- tvos: {
129
- width: 600,
130
- height: 362,
131
- marginHorizontal: 24,
132
- alignItems: directionStyles(isRTL).justifyContent,
133
- },
134
- android_tv: {
135
- width: 600,
136
- height: 362,
137
- marginHorizontal: 24,
138
- alignItems: directionStyles(isRTL).justifyContent,
139
- },
140
- web: {
141
- margin: 10,
142
- height: "100vh",
143
- alignItems: directionStyles(isRTL).justifyContent,
144
- justifyContent: "center",
145
- },
146
- });
147
-
148
- const audioPlayerLayoutTV = backgroundImageSource?.uri ? (
149
- <ImageBackground
150
- source={backgroundImageSource}
151
- style={backgroundImgStyles}
152
- resizeMode="cover"
153
- >
154
- <View style={mainContainerStyles}>
155
- {!!artwork && <Artwork srcImage={artwork} config={config} />}
156
- <View style={textContainerStyles}>{children}</View>
157
- </View>
158
- </ImageBackground>
159
- ) : (
160
- <View style={mainContainerStyles}>
161
- {!!artwork && <Artwork srcImage={artwork} config={config} />}
162
- <View style={textContainerStyles}>{children}</View>
163
- </View>
164
- );
165
-
166
- const audioPlayerLayoutMobile = () => {
167
- fadeAudioPlayerIn();
168
-
169
- return (
170
- <View style={mainContainerStyles} pointerEvents="none">
171
- <Animated.View
172
- style={[
173
- mainContainerStyles,
174
- {
175
- opacity: fadeAnimation,
176
- },
177
- ]}
178
- >
179
- <ImageBackground
180
- source={backgroundImageSource}
181
- style={backgroundImgStyles}
182
- resizeMode="cover"
183
- >
184
- <View style={mainContainerStyles} />
185
- </ImageBackground>
186
- </Animated.View>
187
- </View>
188
- );
189
- };
190
-
191
- const audioPlayerLayout = platformSelect({
192
- tvos: audioPlayerLayoutTV,
193
- android_tv: audioPlayerLayoutTV,
194
- web: audioPlayerLayoutTV,
195
- samsung_tv: audioPlayerLayoutTV,
196
- lg_tv: audioPlayerLayoutTV,
197
- ios: audioPlayerLayoutMobile(),
198
- android: audioPlayerLayoutMobile(),
199
- });
200
-
201
- return audioPlayerLayout;
202
- }
@@ -1,39 +0,0 @@
1
- import React from "react";
2
- import { View, Text, TextStyle } from "react-native";
3
-
4
- type Props = {
5
- config: {
6
- titleColor: string;
7
- summaryColor: string;
8
- backgroundColor: string;
9
- backgroundImage: string;
10
- isRTL: boolean;
11
- titleFontFamily: string;
12
- titleFontSize: number;
13
- };
14
- title: string | number;
15
- };
16
-
17
- const containerStyles = {
18
- width: 600,
19
- height: 100,
20
- marginBottom: 12,
21
- };
22
-
23
- const textStyles = ({ titleColor, isRTL, titleFontFamily, titleFontSize }) => ({
24
- textAlign: (isRTL ? "left" : "right") as TextStyle["textAlign"],
25
- fontSize: titleFontSize ? Number(titleFontSize) : 38,
26
- fontWeight: "600" as TextStyle["fontWeight"],
27
- color: titleColor,
28
- fontFamily: titleFontFamily || null,
29
- });
30
-
31
- export function Title({ title, config }: Props) {
32
- return (
33
- <View style={containerStyles}>
34
- <Text style={textStyles(config)} numberOfLines={2}>
35
- {title}
36
- </Text>
37
- </View>
38
- );
39
- }
@@ -1,66 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`<AudioPlayerLayout /> renders correctly 1`] = `
4
- <View
5
- pointerEvents="none"
6
- style={
7
- {
8
- "backgroundColor": "transparent",
9
- "overflow": "hidden",
10
- }
11
- }
12
- >
13
- <View
14
- collapsable={false}
15
- style={
16
- {
17
- "backgroundColor": "transparent",
18
- "opacity": 0,
19
- "overflow": "hidden",
20
- }
21
- }
22
- >
23
- <View
24
- accessibilityIgnoresInvertColors={true}
25
- style={
26
- {
27
- "flex": 1,
28
- }
29
- }
30
- >
31
- <Image
32
- resizeMode="cover"
33
- source={
34
- {
35
- "uri": "https://example.com",
36
- }
37
- }
38
- style={
39
- [
40
- {
41
- "bottom": 0,
42
- "left": 0,
43
- "position": "absolute",
44
- "right": 0,
45
- "top": 0,
46
- },
47
- {
48
- "height": undefined,
49
- "width": undefined,
50
- },
51
- undefined,
52
- ]
53
- }
54
- />
55
- <View
56
- style={
57
- {
58
- "backgroundColor": "transparent",
59
- "overflow": "hidden",
60
- }
61
- }
62
- />
63
- </View>
64
- </View>
65
- </View>
66
- `;
@@ -1,28 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`<Channel /> renders correctly 1`] = `
4
- <View
5
- style={
6
- {
7
- "height": 72,
8
- "marginBottom": 30,
9
- "width": 128,
10
- }
11
- }
12
- >
13
- <Image
14
- fadeDuration={0}
15
- source={
16
- {
17
- "uri": "https://example.com",
18
- }
19
- }
20
- style={
21
- {
22
- "height": 72,
23
- "width": 128,
24
- }
25
- }
26
- />
27
- </View>
28
- `;
@@ -1,26 +0,0 @@
1
- import React from "react";
2
- import { render } from "@testing-library/react-native";
3
-
4
- import { AudioPlayerLayout } from "../AudioPlayerLayout";
5
-
6
- const audioPlayerLayoutProps = {
7
- artwork: "string",
8
- config: {
9
- titleColor: "white",
10
- summaryColor: "white",
11
- backgroundColor: "black",
12
- backgroundImage: "https://example.com",
13
- isRTL: true,
14
- },
15
- children: [],
16
- };
17
-
18
- describe("<AudioPlayerLayout />", () => {
19
- it("renders correctly", () => {
20
- const { toJSON } = render(
21
- <AudioPlayerLayout {...audioPlayerLayoutProps} />
22
- );
23
-
24
- expect(toJSON()).toMatchSnapshot();
25
- });
26
- });
@@ -1 +0,0 @@
1
- export { AudioPlayer } from "./AudioPlayer";
@@ -1,10 +0,0 @@
1
- import { useTheme } from "@applicaster/zapp-react-native-utils/theme";
2
- import { useConfiguration } from "../utils";
3
-
4
- export const useBackgroundColor = (): string => {
5
- const { modal_background_color: modalBackgroundColor } = useConfiguration();
6
-
7
- const theme = useTheme<BaseThemePropertiesMobile>();
8
-
9
- return modalBackgroundColor || theme?.status_background_color;
10
- };