@applicaster/zapp-react-native-ui-components 14.0.0-alpha.5071825192 → 14.0.0-alpha.5114565431

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 (93) 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/{Artwork.tsx → tv/Artwork.tsx} +3 -2
  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} +7 -1
  11. package/Components/AudioPlayer/{Summary.tsx → tv/Summary.tsx} +6 -2
  12. package/Components/AudioPlayer/{Title.tsx → tv/Title.tsx} +6 -2
  13. package/Components/AudioPlayer/{__tests__ → tv/__tests__}/__snapshots__/Runtime.test.js.snap +2 -2
  14. package/Components/AudioPlayer/tv/__tests__/__snapshots__/audioPlayer.test.js.snap +164 -0
  15. package/Components/AudioPlayer/tv/__tests__/__snapshots__/channel.test.js.snap +19 -0
  16. package/Components/AudioPlayer/{__tests__ → tv/__tests__}/__snapshots__/summary.test.js.snap +1 -2
  17. package/Components/AudioPlayer/{__tests__ → tv/__tests__}/__snapshots__/title.test.js.snap +1 -2
  18. package/Components/AudioPlayer/{__tests__ → tv/__tests__}/audioPlayer.test.js +7 -3
  19. package/Components/AudioPlayer/{helpers.tsx → tv/helpers.tsx} +11 -5
  20. package/Components/AudioPlayer/{AudioPlayer.tsx → tv/index.tsx} +17 -58
  21. package/Components/AudioPlayer/types.ts +40 -0
  22. package/Components/Cell/index.js +6 -2
  23. package/Components/Focusable/Focusable.tsx +5 -3
  24. package/Components/Focusable/FocusableTvOS.tsx +3 -3
  25. package/Components/Focusable/FocusableiOS.tsx +2 -2
  26. package/Components/Focusable/__tests__/index.android.test.tsx +3 -0
  27. package/Components/Focusable/index.android.tsx +12 -8
  28. package/Components/Focusable/index.tsx +1 -1
  29. package/Components/FocusableList/index.tsx +4 -0
  30. package/Components/HandlePlayable/HandlePlayable.tsx +25 -9
  31. package/Components/MasterCell/DefaultComponents/FocusableView/index.tsx +4 -27
  32. package/Components/MasterCell/DefaultComponents/Image/hoc/withDimensions.tsx +1 -1
  33. package/Components/MasterCell/DefaultComponents/ImageContainer/index.tsx +2 -2
  34. package/Components/MasterCell/elementMapper.tsx +1 -2
  35. package/Components/MasterCell/index.tsx +1 -1
  36. package/Components/OfflineHandler/NotificationView/__tests__/index.test.tsx +13 -18
  37. package/Components/OfflineHandler/__tests__/__snapshots__/index.test.tsx.snap +9 -0
  38. package/Components/PlayerContainer/PlayerContainer.tsx +42 -32
  39. package/Components/PlayerImageBackground/index.tsx +1 -1
  40. package/Components/River/ComponentsMap/ComponentsMap.tsx +0 -1
  41. package/Components/River/TV/River.tsx +2 -17
  42. package/Components/River/TV/index.tsx +3 -1
  43. package/Components/River/TV/withPipesV1DataLoader.tsx +43 -0
  44. package/Components/River/TV/withRiverDataLoader.tsx +17 -0
  45. package/Components/River/TV/withTVEventHandler.tsx +1 -1
  46. package/Components/River/__tests__/__snapshots__/componentsMap.test.js.snap +2 -0
  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/Touchable/__tests__/__snapshots__/touchable.test.tsx.snap +34 -0
  54. package/Components/Transitioner/__tests__/__snapshots__/Scene.test.js.snap +15 -9
  55. package/Components/VideoLive/animationUtils.ts +3 -3
  56. package/Components/VideoModal/ModalAnimation/ModalAnimationContext.tsx +32 -8
  57. package/Components/VideoModal/PlayerDetails.tsx +24 -2
  58. package/Components/VideoModal/PlayerWrapper.tsx +26 -142
  59. package/Components/VideoModal/VideoModal.tsx +3 -17
  60. package/Components/VideoModal/__tests__/PlayerWrapper.test.tsx +1 -7
  61. package/Components/VideoModal/__tests__/__snapshots__/PlayerWrapper.test.tsx.snap +44 -240
  62. package/Components/VideoModal/hooks/index.ts +0 -2
  63. package/Components/VideoModal/hooks/useModalSize.ts +18 -2
  64. package/Components/VideoModal/utils.ts +6 -0
  65. package/Components/Viewport/ViewportAware/__tests__/viewportAware.test.js +12 -16
  66. package/Components/Viewport/ViewportTracker/__tests__/viewportTracker.test.js +84 -24
  67. package/Components/Viewport/VisibilitySensor/VisibilitySensor.tsx +3 -3
  68. package/Components/default-cell-renderer/viewTrees/tv/DefaultCell/index.ts +3 -3
  69. package/Decorators/ConfigurationWrapper/withConfigurationProvider.tsx +2 -2
  70. package/Decorators/ZappPipesDataConnector/ResolverSelector.tsx +25 -0
  71. package/Decorators/ZappPipesDataConnector/__tests__/NullFeedResolver.test.tsx +78 -0
  72. package/Decorators/ZappPipesDataConnector/__tests__/ResolverSelector.test.tsx +205 -0
  73. package/Decorators/ZappPipesDataConnector/__tests__/StaticFeedResolver.test.tsx +251 -0
  74. package/Decorators/ZappPipesDataConnector/__tests__/UrlFeedResolver.test.tsx +368 -0
  75. package/Decorators/ZappPipesDataConnector/__tests__/utils.test.ts +39 -0
  76. package/Decorators/ZappPipesDataConnector/index.tsx +26 -293
  77. package/Decorators/ZappPipesDataConnector/resolvers/NullFeedResolver.tsx +25 -0
  78. package/Decorators/ZappPipesDataConnector/resolvers/StaticFeedResolver.tsx +87 -0
  79. package/Decorators/ZappPipesDataConnector/resolvers/UrlFeedResolver.tsx +241 -0
  80. package/Decorators/ZappPipesDataConnector/types.ts +29 -0
  81. package/package.json +5 -9
  82. package/Components/AudioPlayer/AudioPlayerLayout.tsx +0 -202
  83. package/Components/AudioPlayer/__tests__/__snapshots__/audioPlayerLayout.test.js.snap +0 -66
  84. package/Components/AudioPlayer/__tests__/__snapshots__/channel.test.js.snap +0 -28
  85. package/Components/AudioPlayer/__tests__/audioPlayerLayout.test.js +0 -26
  86. package/Components/AudioPlayer/index.ts +0 -1
  87. package/Components/VideoModal/hooks/useBackgroundColor.ts +0 -10
  88. /package/Components/AudioPlayer/{__tests__ → tv/__tests__}/Runtime.test.js +0 -0
  89. /package/Components/AudioPlayer/{__tests__ → tv/__tests__}/__snapshots__/artWork.test.js.snap +0 -0
  90. /package/Components/AudioPlayer/{__tests__ → tv/__tests__}/artWork.test.js +0 -0
  91. /package/Components/AudioPlayer/{__tests__ → tv/__tests__}/channel.test.js +0 -0
  92. /package/Components/AudioPlayer/{__tests__ → tv/__tests__}/summary.test.js +0 -0
  93. /package/Components/AudioPlayer/{__tests__ → tv/__tests__}/title.test.js +0 -0
@@ -0,0 +1,29 @@
1
+ import { ReloadDataFunction } from "@applicaster/zapp-react-native-utils/reactHooks/feed/useFeedLoader";
2
+
3
+ export type ZappPipesData = {
4
+ url: string;
5
+ loading: boolean;
6
+ data: ZappFeed;
7
+ error?: Error;
8
+ };
9
+
10
+ export type ComponentDataSourceContext = {
11
+ component: ZappUIComponent;
12
+ feedUrl?: string;
13
+ riverId: string;
14
+ getStaticComponentFeed?: GeneralContentScreenProps["getStaticComponentFeed"];
15
+ componentIndex?: number;
16
+ isScreenWrappedInContainer?: boolean;
17
+ isLast?: boolean;
18
+ entryContext?: Record<string, any>;
19
+ screenContext?: Record<string, any>;
20
+ searchContext?: string;
21
+ screenData?: any;
22
+ plugins?: QuickBrickPlugin[];
23
+ };
24
+
25
+ export type ZappPipesDataProps = {
26
+ zappPipesData: ZappPipesData;
27
+ reloadData?: ReloadDataFunction;
28
+ loadNextData?: () => void;
29
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applicaster/zapp-react-native-ui-components",
3
- "version": "14.0.0-alpha.5071825192",
3
+ "version": "14.0.0-alpha.5114565431",
4
4
  "description": "Applicaster Zapp React Native ui components for the Quick Brick App",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -27,14 +27,11 @@
27
27
  "url": "https://github.com/applicaster/quickbrick/issues"
28
28
  },
29
29
  "homepage": "https://github.com/applicaster/quickbrick#readme",
30
- "devDependencies": {
31
- "redux-mock-store": "^1.5.3"
32
- },
33
30
  "dependencies": {
34
- "@applicaster/applicaster-types": "14.0.0-alpha.5071825192",
35
- "@applicaster/zapp-react-native-bridge": "14.0.0-alpha.5071825192",
36
- "@applicaster/zapp-react-native-redux": "14.0.0-alpha.5071825192",
37
- "@applicaster/zapp-react-native-utils": "14.0.0-alpha.5071825192",
31
+ "@applicaster/applicaster-types": "14.0.0-alpha.5114565431",
32
+ "@applicaster/zapp-react-native-bridge": "14.0.0-alpha.5114565431",
33
+ "@applicaster/zapp-react-native-redux": "14.0.0-alpha.5114565431",
34
+ "@applicaster/zapp-react-native-utils": "14.0.0-alpha.5114565431",
38
35
  "promise": "^8.3.0",
39
36
  "url": "^0.11.0",
40
37
  "uuid": "^3.3.2"
@@ -45,7 +42,6 @@
45
42
  "immer": "*",
46
43
  "react": "*",
47
44
  "react-native": "*",
48
- "react-native-safe-area-context": "*",
49
45
  "react-native-svg": "*",
50
46
  "uglify-js": "*",
51
47
  "validate-color": "*",
@@ -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
- artworkBorderRadius: Option<number>;
18
- };
19
- children: React.ReactNode;
20
- style: ViewStyle;
21
- };
22
-
23
- export function AudioPlayerLayout({ artwork, config, children, style }: Props) {
24
- const fadeAnimation = useRef(new Animated.Value(0)).current;
25
-
26
- const fadeAudioPlayerIn = () => {
27
- Animated.timing(fadeAnimation, {
28
- toValue: 1,
29
- duration: 3000,
30
- useNativeDriver: true,
31
- }).start();
32
- };
33
-
34
- const { isRTL, backgroundColor, backgroundImage } = config;
35
-
36
- const backgroundImageSource = { uri: backgroundImage };
37
-
38
- const backgroundColorStyle = backgroundImage
39
- ? "transparent"
40
- : backgroundColor;
41
-
42
- const mainContainerStyles = platformSelect({
43
- tvos: {
44
- width: "100%",
45
- height: "100%",
46
- alignItems: "center",
47
- justifyContent: "center",
48
- flexDirection: directionStyles(isRTL).flexDirection,
49
- backgroundColor: backgroundColorStyle,
50
- },
51
- android_tv: {
52
- width: "100%",
53
- height: "100%",
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: "100%",
101
- height: "100%",
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,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
- };