@applicaster/zapp-react-native-ui-components 13.0.0-alpha.3592223128 → 13.0.0-alpha.4120155420

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.
@@ -2,7 +2,7 @@ import * as React from "react";
2
2
  import * as R from "ramda";
3
3
  import { View, StyleSheet } from "react-native";
4
4
 
5
- import { Focusable } from "@applicaster/zapp-react-native-ui-components/Components/Focusable";
5
+ import { Focusable } from "@applicaster/zapp-react-native-ui-components/Components/Focusable/FocusableTvOS";
6
6
  import { FocusableCell } from "@applicaster/zapp-react-native-ui-components/Components/FocusableCell";
7
7
  import { getItemType } from "@applicaster/zapp-react-native-utils/navigationUtils";
8
8
  import { SCREEN_TYPES } from "@applicaster/zapp-react-native-utils/navigationUtils/itemTypes";
@@ -11,6 +11,13 @@ import {
11
11
  useInitialFocus,
12
12
  } from "@applicaster/zapp-react-native-utils/focusManager";
13
13
 
14
+ export type FocusableScrollViewRenderItem = (info: {
15
+ item: ZappUIComponent;
16
+ index: number;
17
+ focused: boolean;
18
+ parentFocus: ParentFocus;
19
+ }) => React.ReactElement;
20
+
14
21
  export type Props = ScrollViewProps & {
15
22
  id?: number | string;
16
23
  horizontal?: boolean;
@@ -32,12 +39,7 @@ export type Props = ScrollViewProps & {
32
39
  initialFocusDirection?: FocusManager.Android.FocusNavigationDirections;
33
40
  onAllComponentsLoaded?: () => void;
34
41
  omitPropsPropagation?: Array<keyof FlatListProps<any>>;
35
- renderItem: (info: {
36
- item: ZappUIComponent;
37
- index: number;
38
- focused: boolean;
39
- parentFocus: ParentFocus;
40
- }) => React.ReactElement;
42
+ renderItem: FocusableScrollViewRenderItem;
41
43
  } & ParentFocus;
42
44
 
43
45
  type State = boolean[];
@@ -73,7 +75,7 @@ const extendScrollViewRef = (_ref, childCompsMeasurementsMap) => {
73
75
  };
74
76
 
75
77
  _ref.scrollToIndex = (params) => {
76
- const { index, viewOffset } = params;
78
+ const { index, viewOffset = 0 } = params;
77
79
 
78
80
  const itemByIndex = R.find(R.propEq("index", index))(
79
81
  R.values(childCompsMeasurementsMap)
@@ -129,8 +131,14 @@ function FocusableScrollViewComponent(props: Props, ref) {
129
131
  );
130
132
 
131
133
  const getFocusableEntryId = React.useCallback(
132
- (_entry: ZappEntry, index?: number) => {
133
- const entry = R.isNil(index) ? _entry : data[index];
134
+ (_entry: ZappEntry | null, index?: number) => {
135
+ const entry = R.isNil(index)
136
+ ? Array.isArray(_entry)
137
+ ? _entry[0]
138
+ : _entry
139
+ : Array.isArray(data[index])
140
+ ? data[index][0]
141
+ : data[index];
134
142
 
135
143
  return entry ? `${props.id}--${entry?.id}` : undefined;
136
144
  },
@@ -273,11 +281,18 @@ function FocusableScrollViewComponent(props: Props, ref) {
273
281
  const renderItem = React.useCallback(
274
282
  (item, index) => {
275
283
  const renderArgs = { item, index };
276
- const id = `${props.id}--${renderArgs?.item?.id}`;
277
- const nextFocus = getNextFocus(renderArgs?.index);
284
+
285
+ const id = getFocusableEntryId(
286
+ Array.isArray(item) ? item[0] : item,
287
+ index
288
+ );
289
+
290
+ const nextFocus = getNextFocus(index);
278
291
 
279
292
  const onItemLayout = (event) => {
280
- childCompsMeasurementsMap.current[item.id] = {
293
+ childCompsMeasurementsMap.current[
294
+ Array.isArray(item) ? index : item.id
295
+ ] = {
281
296
  index,
282
297
  layout: event.nativeEvent.layout,
283
298
  };
@@ -128,7 +128,7 @@ export function Screen(_props: Props) {
128
128
  <View style={style}>
129
129
  {navBarProps && <NavBar {...navBarProps} hasMenu={hasMenu} />}
130
130
 
131
- <OfflineFallbackScreen screenData={targetScreenData}>
131
+ <OfflineFallbackScreen>
132
132
  {/* @TODO RouteManager doesn't use props, can they be removed ? */}
133
133
  <RouteManager pathname={pathname} screenData={screenData} />
134
134
  </OfflineFallbackScreen>
@@ -121,23 +121,16 @@ const getTabletWidth = (
121
121
  return Number(width) - sidebarWidth;
122
122
  };
123
123
 
124
- const getStyles = (baseStyle, isMobile, isPortrait) => {
125
- if (isMobile && isPortrait) {
126
- return { width: SCREEN_WIDTH, height: SCREEN_HEIGHT };
127
- }
128
-
129
- if (isMobile && !isPortrait) {
130
- return { width: SCREEN_HEIGHT, height: SCREEN_WIDTH };
131
- }
132
-
133
- return baseStyle;
134
- };
135
-
136
124
  const showDetails = (
137
125
  isMobile: boolean,
138
126
  docked: boolean,
139
- isInlineModal
127
+ isInlineModal,
128
+ pip
140
129
  ): boolean => {
130
+ if (pip) {
131
+ return false;
132
+ }
133
+
141
134
  if (!isInlineModal) {
142
135
  return false;
143
136
  }
@@ -159,7 +152,7 @@ const showDetails = (
159
152
  const PlayerWrapperComponent = (props: Props) => {
160
153
  const {
161
154
  entry,
162
- style: baseStyle,
155
+ style,
163
156
  containerStyle,
164
157
  inline,
165
158
  docked,
@@ -174,7 +167,7 @@ const PlayerWrapperComponent = (props: Props) => {
174
167
 
175
168
  const isInlineModal = inline && isModal;
176
169
 
177
- const style = getStyles(baseStyle, !isTablet, isInlineModal);
170
+ // const style = getStyles(baseStyle, !isTablet, isInlineModal, pip);
178
171
 
179
172
  const isTabletLandscape = !isTV() && isTablet && !isTabletPortrait;
180
173
 
@@ -253,7 +246,7 @@ const PlayerWrapperComponent = (props: Props) => {
253
246
  </View>
254
247
 
255
248
  <AnimatedScrollModal>
256
- {showDetails(!isTablet, docked, isInlineModal) && (
249
+ {showDetails(!isTablet, docked, isInlineModal, pip) && (
257
250
  <AnimationComponent
258
251
  animationType={ComponentAnimationType.componentFade}
259
252
  style={defaultStyles.flex}
@@ -27,8 +27,8 @@ exports[`PlayerWrapper renders inline 1`] = `
27
27
  "backgroundColor": "transparent",
28
28
  },
29
29
  Object {
30
- "height": 1334,
31
- "width": 750,
30
+ "height": 800,
31
+ "width": 300,
32
32
  },
33
33
  Object {},
34
34
  ]
@@ -133,8 +133,8 @@ exports[`PlayerWrapper renders inline and docked 1`] = `
133
133
  "backgroundColor": "transparent",
134
134
  },
135
135
  Object {
136
- "height": 1334,
137
- "width": 750,
136
+ "height": undefined,
137
+ "width": 300,
138
138
  },
139
139
  Object {},
140
140
  ]
@@ -361,8 +361,8 @@ exports[`PlayerWrapper renders properly 1`] = `
361
361
  "backgroundColor": "transparent",
362
362
  },
363
363
  Object {
364
- "height": 750,
365
- "width": 1334,
364
+ "height": 800,
365
+ "width": 300,
366
366
  },
367
367
  Object {},
368
368
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applicaster/zapp-react-native-ui-components",
3
- "version": "13.0.0-alpha.3592223128",
3
+ "version": "13.0.0-alpha.4120155420",
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": "13.0.0-alpha.3592223128",
38
- "@applicaster/zapp-react-native-bridge": "13.0.0-alpha.3592223128",
39
- "@applicaster/zapp-react-native-redux": "13.0.0-alpha.3592223128",
40
- "@applicaster/zapp-react-native-utils": "13.0.0-alpha.3592223128",
37
+ "@applicaster/applicaster-types": "13.0.0-alpha.4120155420",
38
+ "@applicaster/zapp-react-native-bridge": "13.0.0-alpha.4120155420",
39
+ "@applicaster/zapp-react-native-redux": "13.0.0-alpha.4120155420",
40
+ "@applicaster/zapp-react-native-utils": "13.0.0-alpha.4120155420",
41
41
  "promise": "^8.3.0",
42
42
  "react-router-native": "^5.1.2",
43
43
  "url": "^0.11.0",