@applicaster/zapp-react-native-ui-components 12.0.0-rc.30 → 12.0.0-rc.31

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.
@@ -3,7 +3,6 @@ import * as R from "ramda";
3
3
  import {
4
4
  View,
5
5
  StyleSheet,
6
- Image,
7
6
  Text,
8
7
  ViewStyle,
9
8
  TextStyle,
@@ -13,6 +12,7 @@ import {
13
12
  import { defaultAsset } from "./defaultAsset";
14
13
  import { platformSelect } from "@applicaster/zapp-react-native-utils/reactUtils";
15
14
  import { useNavigation } from "@applicaster/zapp-react-native-utils/reactHooks";
15
+ import { QBImage as Image } from "@applicaster/zapp-react-native-ui-components/Components/Image";
16
16
  import { Button } from "./Button";
17
17
 
18
18
  type ButtonProp = {
@@ -3,32 +3,10 @@ import FastImage, {
3
3
  FastImageProps,
4
4
  } from "@applicaster/react-native-fast-image";
5
5
 
6
- export const QBImage = (props: FastImageProps) => {
7
- const source = React.useMemo(() => {
8
- if (typeof props.source === "number") {
9
- return props.source;
10
- }
6
+ import { useImageSource } from "./utils";
11
7
 
12
- return {
13
- uri: props.source.uri,
14
- headers: props.source.headers,
15
- priority: props.source.priority,
16
- cache: props.source.cache,
17
- maxWidth: props.source.maxWidth,
18
- maxHeight: props.source.maxHeight,
19
- };
20
- }, [
21
- ...(typeof props.source === "object"
22
- ? [
23
- props.source?.uri,
24
- props.source?.priority,
25
- props.source?.cache,
26
- props.source?.headers,
27
- props.source?.maxWidth,
28
- props.source?.maxHeight,
29
- ]
30
- : []),
31
- ]);
8
+ export const QBImage = (props: FastImageProps) => {
9
+ const source = useImageSource(props.source);
32
10
 
33
11
  return <FastImage {...props} source={source} />;
34
12
  };
@@ -1,8 +1,24 @@
1
- import { Image, ImageProps, ImageStyle, StyleProp } from "react-native";
1
+ import React from "react";
2
+ import {
3
+ Image,
4
+ ImageBackground,
5
+ ImageProps,
6
+ ImageStyle,
7
+ StyleProp,
8
+ } from "react-native";
2
9
 
3
10
  export interface Props extends ImageProps {
4
11
  style?: StyleProp<ImageStyle> | undefined;
5
12
  }
6
13
 
7
14
  // TODO - React.FC<Props> QBImage should process incoming url and apply any transformations if needed
8
- export const QBImage = Image;
15
+ export const QBImage = ({
16
+ children,
17
+ ...props
18
+ }: Props & { children?: React.ReactNode }) => {
19
+ if (children) {
20
+ return <ImageBackground {...props}>{children}</ImageBackground>;
21
+ }
22
+
23
+ return <Image {...props} />;
24
+ };
@@ -0,0 +1,29 @@
1
+ import { useMemo } from "react";
2
+
3
+ export const useImageSource = (source) => {
4
+ return useMemo(() => {
5
+ if (typeof source === "number") {
6
+ return source;
7
+ }
8
+
9
+ return {
10
+ uri: source.uri,
11
+ headers: source.headers,
12
+ priority: source.priority,
13
+ cache: source.cache,
14
+ maxWidth: source.maxWidth,
15
+ maxHeight: source.maxHeight,
16
+ };
17
+ }, [
18
+ ...(typeof source === "object"
19
+ ? [
20
+ source?.uri,
21
+ source?.priority,
22
+ source?.cache,
23
+ source?.headers,
24
+ source?.maxWidth,
25
+ source?.maxHeight,
26
+ ]
27
+ : []),
28
+ ]);
29
+ };
@@ -14,6 +14,46 @@ exports[`Layout TV renders 1`] = `
14
14
  <View
15
15
  backgroundImageUrl="http://applicaster.com"
16
16
  testID="background-component"
17
- />
17
+ >
18
+ <View
19
+ style={
20
+ Array [
21
+ Object {
22
+ "position": "absolute",
23
+ "top": 0,
24
+ "width": 1920,
25
+ "zIndex": 10,
26
+ },
27
+ Object {
28
+ "maxHeight": 10,
29
+ },
30
+ ]
31
+ }
32
+ testID="nav-bar-container"
33
+ >
34
+ <View
35
+ isVisible={true}
36
+ menuPlugin={
37
+ Object {
38
+ "module": [Function],
39
+ "name": "resolved-menu-plug",
40
+ "type": "menu",
41
+ }
42
+ }
43
+ navigationProps={
44
+ Object {
45
+ "assets": undefined,
46
+ "home": undefined,
47
+ "nav_items": undefined,
48
+ "rules": undefined,
49
+ "selected": undefined,
50
+ "styles": undefined,
51
+ "title": "",
52
+ }
53
+ }
54
+ testID="nav-bar-component"
55
+ />
56
+ </View>
57
+ </View>
18
58
  </View>
19
59
  `;
@@ -118,7 +118,7 @@ const Layout = ({ Components, ComponentsExtraProps, children }: Props) => {
118
118
  ) : null}
119
119
  {/** Render NavBarContainer over ScreenContainer to let tvOS native
120
120
  focus manager works correctly to focus nav bar items first **/}
121
- {!isTVOS ? navBarContainer : null}
121
+ {isTVOS ? navBarContainer : null}
122
122
  <TransitionOverlay />
123
123
  </Components.Background>
124
124
  </ScreenLayoutContextProvider>
@@ -1,11 +1,11 @@
1
1
  import * as React from "react";
2
2
  import { ImageStyle, View } from "react-native";
3
3
  import * as R from "ramda";
4
- import ImageComponent from "@applicaster/zapp-react-native-ui-components/Components/FastImage";
4
+ import { QBImage } from "@applicaster/zapp-react-native-ui-components/Components/Image";
5
5
  import { toBooleanWithDefaultFalse } from "@applicaster/zapp-react-native-utils/booleanUtils";
6
- import { toFiniteNumberWithDefault } from "@applicaster/zapp-react-native-utils/numberUtils";
7
6
 
8
7
  import { useImageSourceWithDefault, useCheckFailedUri } from "./hooks";
8
+ import useImageSize from "./hooks/useImageSize";
9
9
 
10
10
  type Source = {
11
11
  uri: string;
@@ -19,32 +19,13 @@ type Props = Record<string, any> & {
19
19
  withDimensions: (source: Source) => Source;
20
20
  };
21
21
 
22
- const MemoizedImage = React.memo(ImageComponent, R.equals);
23
-
24
- const normalize = Math.ceil;
22
+ const MemoizedImage = React.memo(QBImage, R.equals);
25
23
 
26
24
  const isValidExternalSource = (source): boolean =>
27
25
  source?.uri?.startsWith("http") ||
28
26
  source?.uri?.startsWith("data:image") ||
29
27
  source?.uri?.startsWith("file://");
30
28
 
31
- const isValidSize = (size: unknown): boolean =>
32
- toFiniteNumberWithDefault(0, size) > 0;
33
-
34
- const getSourceWithMaxSizes = (applyMaxSize, style, source) => {
35
- const { width, height } = style;
36
-
37
- if (!applyMaxSize || !isValidSize(width) || !isValidSize(height)) {
38
- return source;
39
- }
40
-
41
- return {
42
- ...source,
43
- maxWidth: normalize(width),
44
- maxHeight: normalize(height),
45
- };
46
- };
47
-
48
29
  export default function Image({
49
30
  style,
50
31
  uri,
@@ -82,10 +63,12 @@ export default function Image({
82
63
 
83
64
  const applyMaxSize = toBooleanWithDefaultFalse(otherProps?.applyMaxSize);
84
65
 
85
- const sourceWithMaxSizes = React.useMemo(
86
- () => withDimensions(getSourceWithMaxSizes(applyMaxSize, style, source)),
87
- [applyMaxSize, style?.height, style?.width, source?.uri, withDimensions]
88
- );
66
+ const sourceWithMaxSizes = useImageSize({
67
+ style,
68
+ applyMaxSize,
69
+ source,
70
+ withDimensions,
71
+ });
89
72
 
90
73
  if (isFailedToLoadUri(uri) || !isValidExternalSource(source)) {
91
74
  return <View style={style} />;
@@ -0,0 +1,65 @@
1
+ import * as React from "react";
2
+ import { ImageStyle } from "react-native";
3
+ import { toFiniteNumberWithDefault } from "@applicaster/zapp-react-native-utils/numberUtils";
4
+
5
+ type Source = {
6
+ uri: string;
7
+ };
8
+
9
+ type Props = Record<string, any> & {
10
+ style: ImageStyle;
11
+ uri?: string;
12
+ placeholderImage?: string;
13
+ entry?: ZappEntry | ZappFeed;
14
+ withDimensions: (source: Source) => Source;
15
+ };
16
+
17
+ const normalize = Math.ceil;
18
+
19
+ const isValidSize = (size: unknown): boolean =>
20
+ toFiniteNumberWithDefault(0, size) > 0;
21
+
22
+ type WidthDimensions = { aspectRatio?: number; width: number; height?: number };
23
+ type HeightDimensions = {
24
+ aspectRatio?: number;
25
+ width?: number;
26
+ height: number;
27
+ };
28
+ type FullDimensions = { aspectRatio?: number; width: number; height: number };
29
+ type Dimensions = WidthDimensions | HeightDimensions | FullDimensions;
30
+
31
+ const calculateDimensions = ({ aspectRatio, width, height }: Dimensions) => {
32
+ if (aspectRatio) {
33
+ return {
34
+ width: width || height * aspectRatio,
35
+ height: height || width / aspectRatio,
36
+ };
37
+ }
38
+
39
+ return { width, height };
40
+ };
41
+
42
+ const getSourceWithMaxSizes = (applyMaxSize, style, source) => {
43
+ const { width, height } = calculateDimensions(style);
44
+
45
+ if (!applyMaxSize || !isValidSize(width) || !isValidSize(height)) {
46
+ return source;
47
+ }
48
+
49
+ return {
50
+ ...source,
51
+ maxWidth: normalize(width),
52
+ maxHeight: normalize(height),
53
+ };
54
+ };
55
+
56
+ export default function useImageSize(props: Props) {
57
+ const { style, applyMaxSize, source, withDimensions } = props;
58
+
59
+ const sourceWithMaxSizes = React.useMemo(
60
+ () => withDimensions(getSourceWithMaxSizes(applyMaxSize, style, source)),
61
+ [applyMaxSize, style?.height, style?.width, source?.uri, withDimensions]
62
+ );
63
+
64
+ return sourceWithMaxSizes;
65
+ }
@@ -18,6 +18,7 @@ type LiveImageProps = {
18
18
  imageKey?: string;
19
19
  state: "focused" | "unfocused" | "selected";
20
20
  audio_muted_by_default?: boolean;
21
+ uri: string; // cover image url
21
22
  };
22
23
 
23
24
  const DEFAULT_PLAYER_IDENTIFIER = "QuickBrickPlayerPlugin";
@@ -209,10 +210,11 @@ const LiveImageComponent = (props: LiveImageProps) => {
209
210
 
210
211
  return (
211
212
  <>
212
- <Image {...props} />
213
+ <Image {...props} applyMaxSize />
213
214
  {isShouldRender && (
214
215
  <View style={[style, positionAbsolute]}>
215
216
  <PlayerLiveImage
217
+ uri={props.uri}
216
218
  playerId={cellUUID}
217
219
  playerPluginId={playerPluginId}
218
220
  screenConfig={screenConfig}
@@ -1,11 +1,12 @@
1
1
  import * as React from "react";
2
2
  import { isNil } from "ramda";
3
- import { Image as RNImage, ImageStyle, View } from "react-native";
3
+ import { ImageStyle, View } from "react-native";
4
4
  import {
5
5
  FIT_POSITION,
6
6
  IMAGE_SIZING_FIT,
7
7
  IMAGE_SIZING_FILL,
8
8
  } from "@applicaster/zapp-react-native-utils/manifestUtils/secondaryImage";
9
+ import { QBImage as Image } from "@applicaster/zapp-react-native-ui-components/Components/Image";
9
10
 
10
11
  import { useGetImageDimensions } from "./hooks";
11
12
  import {
@@ -59,7 +60,7 @@ const SecondaryImageComponent = (props: Props) => {
59
60
 
60
61
  return (
61
62
  <View style={style} onLayout={onAsyncRender}>
62
- <RNImage
63
+ <Image
63
64
  {...props}
64
65
  source={{ uri }}
65
66
  style={{
@@ -4,7 +4,9 @@ import { styleKeys } from "@applicaster/zapp-react-native-utils/styleKeysUtils";
4
4
  import { transformColorCode as fixColorHexCode } from "@applicaster/zapp-react-native-utils/transform";
5
5
  import * as R from "ramda";
6
6
  import * as React from "react";
7
- import { Image, Text, TextStyle, View, ViewStyle } from "react-native";
7
+ import { Text, TextStyle, View, ViewStyle } from "react-native";
8
+ import { QBImage as Image } from "@applicaster/zapp-react-native-ui-components/Components/Image";
9
+
8
10
  import * as programStyles from "./styles";
9
11
 
10
12
  type Props = {
@@ -14,7 +14,7 @@ type Props = { pathname: string; screenData: Record<string, any> };
14
14
  * @param {Props}: see props above
15
15
  */
16
16
  export function RouteManager(props: Props) {
17
- const { pathname, screenData } = useRoute();
17
+ const { pathname, screenData: _screenData } = useRoute();
18
18
  const pathAttributes = getPathAttributes({ pathname });
19
19
 
20
20
  const { screenType, screenId } = R.last(pathAttributes);
@@ -25,7 +25,7 @@ export function RouteManager(props: Props) {
25
25
  screenType={screenType}
26
26
  screenId={screenId}
27
27
  {...props}
28
- screenData={screenData}
28
+ screenData={props.screenData}
29
29
  />
30
30
  </TestId>
31
31
  );
@@ -19,6 +19,7 @@ exports[`<Screen Component /> when the navbar should be hidden renders correctly
19
19
  <View>
20
20
  <View
21
21
  pathname="/river/testId"
22
+ screenData={Object {}}
22
23
  testID="routeManager"
23
24
  />
24
25
  </View>
@@ -44,6 +45,7 @@ exports[`<Screen Component /> when the navbar should show renders correctly 1`]
44
45
  <View>
45
46
  <View
46
47
  pathname="/river/testId"
48
+ screenData={Object {}}
47
49
  testID="routeManager"
48
50
  />
49
51
  </View>
@@ -14,6 +14,7 @@ import {
14
14
  useCurrentScreenData,
15
15
  useNavbarState,
16
16
  useScreenData,
17
+ useNavigation,
17
18
  } from "@applicaster/zapp-react-native-utils/reactHooks";
18
19
  import { getNavigationPluginModule } from "@applicaster/zapp-react-native-app/App/Layout/layoutHelpers";
19
20
 
@@ -41,13 +42,18 @@ function isValidColor(string) {
41
42
 
42
43
  type Props = {
43
44
  pathname: string;
44
- screenData: unknown;
45
+ screenData: Record<string, any>;
45
46
  setToggleMenu: () => void;
46
47
  setCloseMenu: () => void;
47
48
  };
48
49
 
49
- export function Screen({ setToggleMenu, setCloseMenu }: Props) {
50
+ export function Screen({
51
+ setToggleMenu,
52
+ setCloseMenu,
53
+ screenData: _screenData,
54
+ }: Props) {
50
55
  const theme = useTheme<BaseThemePropertiesMobile>();
56
+ const navigation = useNavigation();
51
57
  const { plugins } = usePickFromState(["plugins"]);
52
58
 
53
59
  // Gets the data for the current screen configuration
@@ -63,7 +69,8 @@ export function Screen({ setToggleMenu, setCloseMenu }: Props) {
63
69
 
64
70
  const currentRiver = useScreenData(
65
71
  (routeData.screenData as ZappRiver)?.targetScreen
66
- ? (routeData.screenData as ZappRiver)?.targetScreen.id
72
+ ? (routeData.screenData as ZappRiver)?.targetScreen?.id ??
73
+ navigation.activeRiver.id
67
74
  : (routeData.screenData as ZappRiver)?.screen_id
68
75
  );
69
76
 
@@ -130,7 +137,7 @@ export function Screen({ setToggleMenu, setCloseMenu }: Props) {
130
137
 
131
138
  <OfflineFallbackScreen screenData={screenData}>
132
139
  {/* @TODO RouteManager doesn't use props, can they be removed ? */}
133
- <RouteManager pathname={pathname} screenData={screenData} />
140
+ <RouteManager pathname={pathname} screenData={_screenData} />
134
141
  </OfflineFallbackScreen>
135
142
  </View>
136
143
  </ScreenContextProvider>
@@ -14,7 +14,7 @@ import {
14
14
  } from "@applicaster/zapp-react-native-utils/reactUtils";
15
15
  import { playerManager } from "@applicaster/zapp-react-native-utils/appUtils/playerManager";
16
16
  import { getUserCellPlayerMutedPreference } from "@applicaster/zapp-react-native-utils/appUtils/playerManager/userCellPlayerMutedPreference";
17
- import { PlayerImageBackground } from "../PlayerImageBackground";
17
+ import Image from "@applicaster/zapp-react-native-ui-components/Components/MasterCell/DefaultComponents/Image";
18
18
  import { LiveImage, LiveImageManager, LiveImageType } from "./LiveImageManager";
19
19
 
20
20
  import { AnimatedInOut } from "@applicaster/zapp-react-native-ui-components/Components/AnimatedInOut";
@@ -39,12 +39,13 @@ type Props = {
39
39
  imageKey?: string;
40
40
  screenConfig: Record<string, any>;
41
41
  audioMutedByDefault?: boolean;
42
+ uri: string; // cover image url
42
43
  };
43
44
 
44
45
  const PlayerLiveImageComponent = (props: Props) => {
45
46
  const dimensions = useDimensions("screen", { fullDimensions: true });
46
47
 
47
- const { item, style, playerId, imageKey } = props;
48
+ const { item, style, playerId } = props;
48
49
 
49
50
  const timeoutRef = React.useRef<NodeJS.Timeout | null>(null);
50
51
  const [mode, setMode] = React.useState(LiveImageType.Image);
@@ -63,24 +64,27 @@ const PlayerLiveImageComponent = (props: Props) => {
63
64
  *
64
65
  * @param type video or image
65
66
  */
66
- const setModeDebounced = React.useCallback((type: LiveImageType) => {
67
- if (type === LiveImageType.Video) {
68
- if (type === mode) {
69
- return;
70
- }
67
+ const setModeDebounced = React.useCallback(
68
+ (type: LiveImageType) => {
69
+ if (type === LiveImageType.Video) {
70
+ if (type === mode) {
71
+ return;
72
+ }
73
+
74
+ timeoutRef.current = setTimeout(() => {
75
+ setMode(type);
76
+ }, 1000) as unknown as NodeJS.Timeout;
77
+ } else {
78
+ if (timeoutRef.current) {
79
+ clearTimeout(timeoutRef.current);
80
+ timeoutRef.current = null;
81
+ }
71
82
 
72
- timeoutRef.current = setTimeout(() => {
73
83
  setMode(type);
74
- }, 1000) as unknown as NodeJS.Timeout;
75
- } else {
76
- if (timeoutRef.current) {
77
- clearTimeout(timeoutRef.current);
78
- timeoutRef.current = null;
79
84
  }
80
-
81
- setMode(type);
82
- }
83
- }, [mode]);
85
+ },
86
+ [mode]
87
+ );
84
88
 
85
89
  const { screenConfig, playerPluginId } = props;
86
90
 
@@ -100,7 +104,7 @@ const PlayerLiveImageComponent = (props: Props) => {
100
104
  return new LiveImage({
101
105
  playerId,
102
106
  player: playerFactoryItem.controller,
103
- component: playerFactoryItem?.Component
107
+ component: playerFactoryItem?.Component,
104
108
  });
105
109
  } else {
106
110
  throw new Error("Player factory item is null");
@@ -111,10 +115,7 @@ const PlayerLiveImageComponent = (props: Props) => {
111
115
  liveImageItem.setMode = setModeDebounced;
112
116
  }, [setModeDebounced, liveImageItem]);
113
117
 
114
- const { start, end } = React.useMemo(
115
- () => getAutoplaySettings(item),
116
- [item]
117
- );
118
+ const { start, end } = React.useMemo(() => getAutoplaySettings(item), [item]);
118
119
 
119
120
  const controller = liveImageItem.getPlayer();
120
121
  const player = usePlayer(playerId);
@@ -239,7 +240,12 @@ const PlayerLiveImageComponent = (props: Props) => {
239
240
 
240
241
  const onPositionUpdated = React.useCallback(
241
242
  (data) => {
242
- const normalizedRect = (rect: {left: number, right: number, top: number, bottom: number }) => {
243
+ const normalizedRect = (rect: {
244
+ left: number;
245
+ right: number;
246
+ top: number;
247
+ bottom: number;
248
+ }) => {
243
249
  if (!rect) {
244
250
  return null;
245
251
  }
@@ -283,6 +289,7 @@ const PlayerLiveImageComponent = (props: Props) => {
283
289
  const videoStyles = { ...style, position: "absolute", zIndex: -100 };
284
290
  const Player: any = liveImageItem.component || BufferAnimation;
285
291
 
292
+ // TODO: nice to have - resolve imageKey when imageUrl is not provided
286
293
  return (
287
294
  <TrackedView
288
295
  testId={`tracked-view-${playerId}-${item.title}`}
@@ -307,11 +314,7 @@ const PlayerLiveImageComponent = (props: Props) => {
307
314
  animationConfig={overlayFadeIn}
308
315
  staticStyles={style}
309
316
  >
310
- <PlayerImageBackground
311
- entry={item}
312
- style={style}
313
- imageKey={imageKey}
314
- />
317
+ <Image {...props} resizeMode="cover" style={style} applyMaxSize />
315
318
  </AnimatedInOut>
316
319
  }
317
320
  </TrackedView>
@@ -3,6 +3,8 @@ import * as React from "react";
3
3
  import { render } from "@testing-library/react-native";
4
4
  import * as PlayerFactory from "@applicaster/zapp-react-native-utils/appUtils/playerManager/playerFactory";
5
5
  import { Player } from "@applicaster/zapp-react-native-utils/appUtils/playerManager/player";
6
+ import { ThemeContext } from "@applicaster/zapp-react-native-utils/theme";
7
+
6
8
  import { PlayerLiveImage } from "../PlayerLiveImageComponent";
7
9
 
8
10
  const seekTo = jest.fn();
@@ -16,6 +18,14 @@ jest.mock(
16
18
  })
17
19
  );
18
20
 
21
+ const Wrapper = ({ children }: { children: React.ReactChildren }) => (
22
+ <ThemeContext.Provider
23
+ value={{ themes: { myTheme: {} }, selectedThemeId: "myTheme" }}
24
+ >
25
+ {children}
26
+ </ThemeContext.Provider>
27
+ );
28
+
19
29
  describe("PlayerLiveImageComponent", () => {
20
30
  const defaultProps = {
21
31
  item: { id: "1", title: "Test", type: { value: "" } },
@@ -39,7 +49,11 @@ describe("PlayerLiveImageComponent", () => {
39
49
  });
40
50
 
41
51
  it("should render correctly with default props", () => {
42
- const component = render(<PlayerLiveImage {...defaultProps} />);
52
+ const component = render(
53
+ <Wrapper>
54
+ <PlayerLiveImage {...defaultProps} />
55
+ </Wrapper>
56
+ );
43
57
 
44
58
  expect(component.toJSON()).toMatchSnapshot();
45
59
  });
@@ -53,7 +67,11 @@ describe("PlayerLiveImageComponent", () => {
53
67
  },
54
68
  };
55
69
 
56
- render(<PlayerLiveImage {...props} />);
70
+ render(
71
+ <Wrapper>
72
+ <PlayerLiveImage {...props} />
73
+ </Wrapper>
74
+ );
57
75
 
58
76
  // TODO: implement this test
59
77
  });
@@ -67,7 +85,11 @@ describe("PlayerLiveImageComponent", () => {
67
85
  },
68
86
  };
69
87
 
70
- render(<PlayerLiveImage {...props} />);
88
+ render(
89
+ <Wrapper>
90
+ <PlayerLiveImage {...props} />
91
+ </Wrapper>
92
+ );
71
93
 
72
94
  // TODO: implement this test
73
95
  });
@@ -13,35 +13,30 @@ exports[`PlayerLiveImageComponent should render correctly with default props 1`]
13
13
  }
14
14
  }
15
15
  >
16
- <View
17
- accessibilityIgnoresInvertColors={true}
18
- style={Object {}}
19
- >
20
- <Image
21
- resizeMode="cover"
22
- source={
23
- Object {
24
- "uri": undefined,
25
- }
16
+ <Image
17
+ applyMaxSize={true}
18
+ audioMutedByDefault={false}
19
+ imageKey="image1"
20
+ item={
21
+ Object {
22
+ "id": "1",
23
+ "title": "Test",
24
+ "type": Object {
25
+ "value": "",
26
+ },
26
27
  }
27
- style={
28
- Array [
29
- Object {
30
- "bottom": 0,
31
- "left": 0,
32
- "position": "absolute",
33
- "right": 0,
34
- "top": 0,
35
- },
36
- Object {
37
- "height": undefined,
38
- "width": undefined,
39
- },
40
- undefined,
41
- ]
28
+ }
29
+ onError={[Function]}
30
+ playerId="player1"
31
+ resizeMode="cover"
32
+ screenConfig={Object {}}
33
+ source={
34
+ Object {
35
+ "uri": "",
42
36
  }
43
- />
44
- </View>
37
+ }
38
+ style={Object {}}
39
+ />
45
40
  </View>
46
41
  </TrackedView>
47
42
  `;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applicaster/zapp-react-native-ui-components",
3
- "version": "12.0.0-rc.30",
3
+ "version": "12.0.0-rc.31",
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",
@@ -34,10 +34,10 @@
34
34
  "redux-mock-store": "^1.5.3"
35
35
  },
36
36
  "dependencies": {
37
- "@applicaster/applicaster-types": "12.0.0-rc.30",
38
- "@applicaster/zapp-react-native-bridge": "12.0.0-rc.30",
39
- "@applicaster/zapp-react-native-redux": "12.0.0-rc.30",
40
- "@applicaster/zapp-react-native-utils": "12.0.0-rc.30",
37
+ "@applicaster/applicaster-types": "12.0.0-rc.31",
38
+ "@applicaster/zapp-react-native-bridge": "12.0.0-rc.31",
39
+ "@applicaster/zapp-react-native-redux": "12.0.0-rc.31",
40
+ "@applicaster/zapp-react-native-utils": "12.0.0-rc.31",
41
41
  "promise": "^8.3.0",
42
42
  "react-router-native": "^5.1.2",
43
43
  "url": "^0.11.0",