@applicaster/zapp-react-native-ui-components 12.0.0-alpha.7725319213 → 12.0.0-alpha.8242130253

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 (71) hide show
  1. package/Components/AudioPlayer/AudioPlayer.tsx +9 -1
  2. package/Components/AudioPlayer/__tests__/__snapshots__/audioPlayer.test.js.snap +5 -0
  3. package/Components/AudioPlayer/helpers.tsx +1 -0
  4. package/Components/Cell/Cell.tsx +2 -2
  5. package/Components/Cell/CellWithFocusable.tsx +21 -14
  6. package/Components/Cell/TvOSCellComponent.tsx +2 -2
  7. package/Components/ErrorScreen/index.tsx +1 -1
  8. package/Components/FocusableCell/index.tsx +7 -7
  9. package/Components/FocusableList/FocusableChild.ts +24 -14
  10. package/Components/FocusableList/FocusableItem.tsx +1 -1
  11. package/Components/FocusableList/FocusableListItemWrapper.tsx +76 -0
  12. package/Components/FocusableList/hooks/useCellState.android.ts +3 -1
  13. package/Components/FocusableList/index.tsx +26 -25
  14. package/Components/GeneralContentScreen/GeneralContentScreen.tsx +6 -3
  15. package/Components/HookRenderer/index.tsx +1 -6
  16. package/Components/Image/Image.android.tsx +3 -25
  17. package/Components/Image/Image.tsx +18 -2
  18. package/Components/Image/utils/index.ts +39 -0
  19. package/Components/Layout/TV/__tests__/index.test.tsx +1 -34
  20. package/Components/Layout/TV/index.tsx +20 -36
  21. package/Components/MasterCell/DefaultComponents/Image/Image.android.tsx +9 -26
  22. package/Components/MasterCell/DefaultComponents/Image/hooks/useImageSize.ts +65 -0
  23. package/Components/MasterCell/DefaultComponents/LiveImage/index.tsx +3 -1
  24. package/Components/MasterCell/DefaultComponents/SecondaryImage/Image.tsx +3 -2
  25. package/Components/MasterCell/DefaultComponents/Toggle.tsx +5 -1
  26. package/Components/MasterCell/SharedUI/CollapsibleTextContainer/index.ts +8 -14
  27. package/Components/ModalComponent/BottomSheetModalContent.tsx +121 -0
  28. package/Components/ModalComponent/Button/Item.tsx +82 -0
  29. package/Components/ModalComponent/Button/ItemIcon.tsx +60 -0
  30. package/Components/ModalComponent/Button/ItemLabel.tsx +101 -0
  31. package/Components/ModalComponent/Button/assets.ts +4 -0
  32. package/Components/ModalComponent/Button/index.tsx +111 -0
  33. package/Components/ModalComponent/Header/CloseButton.tsx +59 -0
  34. package/Components/ModalComponent/Header/Title.tsx +70 -0
  35. package/Components/ModalComponent/Header/assets.ts +4 -0
  36. package/Components/ModalComponent/Header/index.tsx +71 -0
  37. package/Components/ModalComponent/Header/utils.ts +79 -0
  38. package/Components/ModalComponent/index.tsx +38 -0
  39. package/Components/ModalComponent/utils.ts +126 -0
  40. package/Components/PlayerContainer/PlayerContainer.tsx +45 -29
  41. package/Components/PlayerContainer/ProgramInfo/index.tsx +3 -1
  42. package/Components/River/ComponentsMap/ComponentsMap.tsx +25 -0
  43. package/Components/River/TV/River.tsx +2 -2
  44. package/Components/River/__tests__/__snapshots__/componentsMap.test.js.snap +1 -1
  45. package/Components/River/__tests__/componentsMap.test.js +1 -0
  46. package/Components/River/useScreenConfiguration.ts +2 -2
  47. package/Components/RouteManager/__tests__/__snapshots__/routeManager.test.js.snap +1 -0
  48. package/Components/RouteManager/__tests__/routeManager.test.js +9 -2
  49. package/Components/RouteManager/index.tsx +5 -3
  50. package/Components/Screen/__tests__/Screen.test.tsx +88 -74
  51. package/Components/Screen/__tests__/__snapshots__/Screen.test.tsx.snap +20 -6
  52. package/Components/Screen/__tests__/navigationHandler.test.ts +1 -178
  53. package/Components/Screen/index.tsx +91 -42
  54. package/Components/Screen/navigationHandler.ts +0 -82
  55. package/Components/ScreenResolver/index.tsx +1 -1
  56. package/Components/Tabs/TV/styles.ts +1 -1
  57. package/Components/VideoLive/LiveImageManager.ts +2 -2
  58. package/Components/VideoLive/PlayerLiveImageComponent.tsx +31 -28
  59. package/Components/VideoLive/__tests__/PlayerLiveImageComponent.test.tsx +30 -3
  60. package/Components/VideoLive/__tests__/__snapshots__/PlayerLiveImageComponent.test.tsx.snap +22 -27
  61. package/Components/VideoModal/PlayerDetails.tsx +3 -0
  62. package/Components/VideoModal/__tests__/PlayerDetails.test.tsx +0 -2
  63. package/Components/VideoModal/__tests__/PlayerWrapper.test.tsx +1 -2
  64. package/Components/VideoModal/__tests__/__snapshots__/PlayerWrapper.test.tsx.snap +211 -163
  65. package/Components/Viewport/ViewportAware/__tests__/viewportAware.test.js +26 -21
  66. package/Components/Viewport/ViewportTracker/__tests__/viewportTracker.test.js +4 -5
  67. package/Components/ZappUIComponent/index.tsx +22 -12
  68. package/Components/index.js +2 -0
  69. package/Contexts/ScreenContext/index.tsx +1 -4
  70. package/Decorators/ComponentsMapWrapper/withComponentsMapProvider.tsx +7 -2
  71. package/package.json +5 -5
@@ -1,249 +1,297 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`PlayerWrapper renders inline 1`] = `
4
- <RNCSafeAreaView
5
- edges={
6
- Object {
7
- "bottom": "off",
8
- "left": "off",
9
- "right": "off",
10
- "top": "additive",
11
- }
12
- }
4
+ <RNCSafeAreaProvider
5
+ onInsetsChange={[Function]}
13
6
  style={
14
7
  Array [
15
8
  Object {
16
- "flexDirection": "column",
17
- },
18
- Object {
19
- "backgroundColor": "transparent",
20
- },
21
- Object {
22
- "height": 800,
23
- "width": 300,
9
+ "flex": 1,
24
10
  },
25
- Object {},
11
+ undefined,
26
12
  ]
27
13
  }
28
14
  >
29
- <View
15
+ <RNCSafeAreaView
16
+ edges={
17
+ Object {
18
+ "bottom": "off",
19
+ "left": "off",
20
+ "right": "off",
21
+ "top": "additive",
22
+ }
23
+ }
30
24
  style={
31
25
  Array [
32
26
  Object {
33
- "alignSelf": "center",
34
- "position": "relative",
35
- "zIndex": 200,
27
+ "flexDirection": "column",
36
28
  },
37
29
  Object {
38
- "aspectRatio": 1.7777777777777777,
39
- "height": undefined,
40
- "width": "100%",
30
+ "backgroundColor": "transparent",
31
+ },
32
+ Object {
33
+ "height": 800,
34
+ "width": 300,
41
35
  },
42
- Object {},
43
36
  Object {},
44
37
  ]
45
38
  }
46
- testID="test-player-container"
47
- />
48
- <View
49
- configuration={
50
- Object {
51
- "tablet_landscape_player_container_background_color": "red",
52
- "tablet_landscape_sidebar_width": "35%",
39
+ >
40
+ <View
41
+ style={
42
+ Array [
43
+ Object {
44
+ "alignSelf": "center",
45
+ "position": "relative",
46
+ "zIndex": 200,
47
+ },
48
+ Object {
49
+ "aspectRatio": 1.7777777777777777,
50
+ "height": undefined,
51
+ "width": "100%",
52
+ },
53
+ Object {},
54
+ Object {},
55
+ ]
53
56
  }
54
- }
55
- entry={
56
- Object {
57
- "id": "test",
57
+ testID="test-player-container"
58
+ />
59
+ <View
60
+ configuration={
61
+ Object {
62
+ "tablet_landscape_player_container_background_color": "red",
63
+ "tablet_landscape_sidebar_width": "35%",
64
+ }
58
65
  }
59
- }
60
- isTabletLandscape={false}
61
- style={
62
- Object {
63
- "flex": 1,
64
- "paddingTop": 20,
66
+ entry={
67
+ Object {
68
+ "id": "test",
69
+ }
65
70
  }
66
- }
67
- />
68
- </RNCSafeAreaView>
71
+ isTabletLandscape={false}
72
+ style={
73
+ Object {
74
+ "flex": 1,
75
+ "paddingTop": 20,
76
+ }
77
+ }
78
+ />
79
+ </RNCSafeAreaView>
80
+ </RNCSafeAreaProvider>
69
81
  `;
70
82
 
71
83
  exports[`PlayerWrapper renders inline and docked 1`] = `
72
- <RNCSafeAreaView
73
- edges={
74
- Object {
75
- "bottom": "additive",
76
- "left": "off",
77
- "right": "off",
78
- "top": "off",
79
- }
80
- }
84
+ <RNCSafeAreaProvider
85
+ onInsetsChange={[Function]}
81
86
  style={
82
87
  Array [
83
88
  Object {
84
- "flexDirection": "column",
85
- },
86
- Object {
87
- "backgroundColor": "transparent",
88
- },
89
- Object {
90
- "height": 50,
91
- "width": 300,
89
+ "flex": 1,
92
90
  },
93
- Object {},
91
+ undefined,
94
92
  ]
95
93
  }
96
94
  >
97
- <View
95
+ <RNCSafeAreaView
96
+ edges={
97
+ Object {
98
+ "bottom": "additive",
99
+ "left": "off",
100
+ "right": "off",
101
+ "top": "off",
102
+ }
103
+ }
98
104
  style={
99
105
  Array [
100
106
  Object {
101
- "alignSelf": "center",
102
- "position": "relative",
103
- "zIndex": 200,
107
+ "flexDirection": "column",
108
+ },
109
+ Object {
110
+ "backgroundColor": "transparent",
104
111
  },
105
112
  Object {
106
- "aspectRatio": undefined,
107
113
  "height": 50,
108
- "width": "100%",
114
+ "width": 300,
109
115
  },
110
116
  Object {},
111
- Object {},
112
117
  ]
113
118
  }
114
- testID="test-player-container"
115
- />
116
- <View
117
- style={
118
- Object {
119
- "flex": 1,
120
- "paddingTop": 20,
119
+ >
120
+ <View
121
+ style={
122
+ Array [
123
+ Object {
124
+ "alignSelf": "center",
125
+ "position": "relative",
126
+ "zIndex": 200,
127
+ },
128
+ Object {
129
+ "aspectRatio": undefined,
130
+ "height": 50,
131
+ "width": "100%",
132
+ },
133
+ Object {},
134
+ Object {},
135
+ ]
121
136
  }
122
- }
123
- />
124
- </RNCSafeAreaView>
137
+ testID="test-player-container"
138
+ />
139
+ <View
140
+ style={
141
+ Object {
142
+ "flex": 1,
143
+ "paddingTop": 20,
144
+ }
145
+ }
146
+ />
147
+ </RNCSafeAreaView>
148
+ </RNCSafeAreaProvider>
125
149
  `;
126
150
 
127
151
  exports[`PlayerWrapper renders inline on tablet in landscape orientation 1`] = `
128
- <RNCSafeAreaView
129
- edges={
130
- Object {
131
- "bottom": "off",
132
- "left": "off",
133
- "right": "off",
134
- "top": "additive",
135
- }
136
- }
152
+ <RNCSafeAreaProvider
153
+ onInsetsChange={[Function]}
137
154
  style={
138
155
  Array [
139
156
  Object {
140
- "flexDirection": "row",
141
- },
142
- Object {
143
- "backgroundColor": "red",
144
- },
145
- Object {
146
- "height": 800,
147
- "width": 300,
157
+ "flex": 1,
148
158
  },
149
- Object {},
159
+ undefined,
150
160
  ]
151
161
  }
152
162
  >
153
- <View
163
+ <RNCSafeAreaView
164
+ edges={
165
+ Object {
166
+ "bottom": "off",
167
+ "left": "off",
168
+ "right": "off",
169
+ "top": "additive",
170
+ }
171
+ }
154
172
  style={
155
173
  Array [
156
174
  Object {
157
- "alignSelf": "center",
158
- "position": "relative",
159
- "zIndex": 200,
175
+ "flexDirection": "row",
160
176
  },
161
177
  Object {
162
- "aspectRatio": 1.7777777777777777,
163
- "height": undefined,
164
- "width": 195,
178
+ "backgroundColor": "red",
179
+ },
180
+ Object {
181
+ "height": 800,
182
+ "width": 300,
165
183
  },
166
- Object {},
167
184
  Object {},
168
185
  ]
169
186
  }
170
- testID="test-player-container"
171
- />
172
- <View
173
- configuration={
174
- Object {
175
- "tablet_landscape_player_container_background_color": "red",
176
- "tablet_landscape_sidebar_width": "35%",
187
+ >
188
+ <View
189
+ style={
190
+ Array [
191
+ Object {
192
+ "alignSelf": "center",
193
+ "position": "relative",
194
+ "zIndex": 200,
195
+ },
196
+ Object {
197
+ "aspectRatio": 1.7777777777777777,
198
+ "height": undefined,
199
+ "width": 195,
200
+ },
201
+ Object {},
202
+ Object {},
203
+ ]
177
204
  }
178
- }
179
- entry={
180
- Object {
181
- "id": "test",
205
+ testID="test-player-container"
206
+ />
207
+ <View
208
+ configuration={
209
+ Object {
210
+ "tablet_landscape_player_container_background_color": "red",
211
+ "tablet_landscape_sidebar_width": "35%",
212
+ }
182
213
  }
183
- }
184
- isTabletLandscape={true}
185
- style={
186
- Object {
187
- "flex": 1,
188
- "paddingTop": 20,
214
+ entry={
215
+ Object {
216
+ "id": "test",
217
+ }
189
218
  }
190
- }
191
- />
192
- </RNCSafeAreaView>
219
+ isTabletLandscape={true}
220
+ style={
221
+ Object {
222
+ "flex": 1,
223
+ "paddingTop": 20,
224
+ }
225
+ }
226
+ />
227
+ </RNCSafeAreaView>
228
+ </RNCSafeAreaProvider>
193
229
  `;
194
230
 
195
231
  exports[`PlayerWrapper renders properly 1`] = `
196
- <RNCSafeAreaView
197
- edges={
198
- Object {
199
- "bottom": "off",
200
- "left": "off",
201
- "right": "off",
202
- "top": "additive",
203
- }
204
- }
232
+ <RNCSafeAreaProvider
233
+ onInsetsChange={[Function]}
205
234
  style={
206
235
  Array [
207
236
  Object {
208
- "flexDirection": "column",
209
- },
210
- Object {
211
- "backgroundColor": "transparent",
212
- },
213
- Object {
214
- "height": 800,
215
- "width": 300,
237
+ "flex": 1,
216
238
  },
217
- Object {},
239
+ undefined,
218
240
  ]
219
241
  }
220
242
  >
221
- <View
243
+ <RNCSafeAreaView
244
+ edges={
245
+ Object {
246
+ "bottom": "off",
247
+ "left": "off",
248
+ "right": "off",
249
+ "top": "additive",
250
+ }
251
+ }
222
252
  style={
223
253
  Array [
224
254
  Object {
225
- "alignSelf": "center",
226
- "position": "relative",
227
- "zIndex": 200,
255
+ "flexDirection": "column",
228
256
  },
229
257
  Object {
230
- "aspectRatio": 1.7786666666666666,
231
- "height": undefined,
232
- "width": "100%",
258
+ "backgroundColor": "transparent",
259
+ },
260
+ Object {
261
+ "height": 800,
262
+ "width": 300,
233
263
  },
234
- Object {},
235
264
  Object {},
236
265
  ]
237
266
  }
238
- testID="test-player-container"
239
- />
240
- <View
241
- style={
242
- Object {
243
- "flex": 1,
244
- "paddingTop": 20,
267
+ >
268
+ <View
269
+ style={
270
+ Array [
271
+ Object {
272
+ "alignSelf": "center",
273
+ "position": "relative",
274
+ "zIndex": 200,
275
+ },
276
+ Object {
277
+ "aspectRatio": 1.7786666666666666,
278
+ "height": undefined,
279
+ "width": "100%",
280
+ },
281
+ Object {},
282
+ Object {},
283
+ ]
245
284
  }
246
- }
247
- />
248
- </RNCSafeAreaView>
285
+ testID="test-player-container"
286
+ />
287
+ <View
288
+ style={
289
+ Object {
290
+ "flex": 1,
291
+ "paddingTop": 20,
292
+ }
293
+ }
294
+ />
295
+ </RNCSafeAreaView>
296
+ </RNCSafeAreaProvider>
249
297
  `;
@@ -1,35 +1,38 @@
1
1
  /* eslint-disable react/prop-types */
2
2
 
3
- jest.mock("react-native", () => {
4
- const { ScrollView } = jest.requireActual("react-native");
3
+ import * as React from "react";
4
+
5
+ import { shallow } from "enzyme";
6
+ import { create, act } from "react-test-renderer";
7
+ import { shallowToJson } from "enzyme-to-json";
8
+
9
+ import { ViewportEvents } from "../../ViewportEvents";
10
+
11
+ jest.useFakeTimers();
5
12
 
13
+ jest.mock("react-native/Libraries/ReactNative/UIManager", () => {
6
14
  return {
7
- ScrollView,
8
- UIManager: {
9
- measureLayout: jest.fn((handle, parent, error, success) => {
10
- success(100, 100, 400, 400);
11
- }),
12
- },
13
- findNodeHandle: jest.fn(() => 1234),
14
- Animated: {
15
- timing: jest.fn(() => ({ start: jest.fn() })),
15
+ ...jest.requireActual("react-native/Libraries/ReactNative/NativeUIManager"),
16
+ measureLayout: (handle, parent, error, success) => {
17
+ success(100, 100, 400, 400);
16
18
  },
17
19
  };
18
20
  });
19
21
 
20
- import * as React from "react";
22
+ jest.mock("react-native/Libraries/Renderer/shims/ReactNative", () => ({
23
+ ...jest.requireActual("react-native/Libraries/Renderer/shims/ReactNative"),
24
+ findNodeHandle: () => 1234,
25
+ }));
21
26
 
22
- import { shallow } from "enzyme";
23
- import TestRenderer from "react-test-renderer";
24
- import { act } from "@testing-library/react-hooks";
25
- import { shallowToJson } from "enzyme-to-json";
27
+ const ReactNative = require("react-native");
26
28
 
27
- import { ViewportEvents } from "../../ViewportEvents";
29
+ const { Animated, ScrollView } = ReactNative;
30
+
31
+ Animated.timing = jest.fn(() => ({ start: jest.fn() }));
28
32
 
29
33
  const viewportEventsManager = new ViewportEvents(true);
30
34
 
31
- const { ScrollView } = require("react-native");
32
- const { ViewportAware } = require("../index");
35
+ const { ViewportAware } = require("../");
33
36
  const { ViewportTracker } = require("../../ViewportTracker");
34
37
 
35
38
  const TestComponent = (props) => {
@@ -116,7 +119,7 @@ describe("<ViewportAware />", () => {
116
119
  });
117
120
 
118
121
  it("invokes the onViewportEnter function when entering the viewport", () => {
119
- const wrapper = TestRenderer.create(
122
+ const wrapper = create(
120
123
  getWrapper(() => (
121
124
  <TestComponent
122
125
  preTriggerRatio={0.1}
@@ -134,6 +137,8 @@ describe("<ViewportAware />", () => {
134
137
  width: 1920,
135
138
  height: 1080,
136
139
  });
140
+
141
+ jest.runAllTimers();
137
142
  });
138
143
 
139
144
  expect(wrapper.toJSON()).toMatchSnapshot();
@@ -151,7 +156,7 @@ describe("<ViewportAware />", () => {
151
156
  });
152
157
 
153
158
  it("invokes the onViewportLeave function when leaving the viewport", () => {
154
- const wrapper = TestRenderer.create(
159
+ const wrapper = create(
155
160
  getWrapper(() => (
156
161
  <TestComponent
157
162
  preTriggerRatio={0.1}
@@ -5,11 +5,10 @@ import { ViewportEvents } from "../../ViewportEvents";
5
5
 
6
6
  const TestComponent = () => <ScrollView />;
7
7
 
8
- jest.mock("react-native", () => {
9
- return {
10
- findNodeHandle: jest.fn(() => 1234),
11
- };
12
- });
8
+ jest.mock("react-native/Libraries/Renderer/shims/ReactNative", () => ({
9
+ ...jest.requireActual("react-native/Libraries/Renderer/shims/ReactNative"),
10
+ findNodeHandle: () => 1234,
11
+ }));
13
12
 
14
13
  const viewportEventsManager = new ViewportEvents(true);
15
14
 
@@ -10,7 +10,7 @@ import {
10
10
 
11
11
  import { Placeholder } from "./Placeholder";
12
12
  import { useInitialLoading } from "./hooks";
13
- import { FocusableContext } from "../Focusable/index.android";
13
+ import { useFocusable } from "../Focusable/index.android";
14
14
 
15
15
  type ReactComponent = React.ComponentType<any>;
16
16
 
@@ -26,13 +26,23 @@ type ZappUIComponentType = {
26
26
  options?: Options;
27
27
  };
28
28
 
29
- const renderComponent = (Component: ReactComponent | undefined, props) => {
30
- if (Component) {
31
- const { component, parent } = props;
29
+ type RenderComponentProps = any;
30
+
31
+ const RenderComponent = (
32
+ Component: ReactComponent | undefined,
33
+ args: RenderComponentProps
34
+ ) => {
35
+ const { component, parent } = args;
32
36
 
37
+ const contextValue = React.useMemo(
38
+ () => ({ ...component, parent }),
39
+ [component, parent]
40
+ );
41
+
42
+ if (Component) {
33
43
  return (
34
- <UIComponentContext.Provider value={{ ...component, parent }}>
35
- <Component {...props} />
44
+ <UIComponentContext.Provider value={contextValue}>
45
+ <Component {...args} />
36
46
  </UIComponentContext.Provider>
37
47
  );
38
48
  }
@@ -117,7 +127,7 @@ New signature: {Component, ErrorComponent, LoadingComponent, options}`
117
127
  props;
118
128
 
119
129
  const parent = useUIComponentContext();
120
- const { setIsFocusable } = React.useContext(FocusableContext) || {};
130
+ const { setIsFocusable } = useFocusable();
121
131
 
122
132
  const isLoading = toBooleanWithDefaultFalse(zappPipesData?.loading);
123
133
  const isInitialLoading = useInitialLoading(isLoading);
@@ -154,11 +164,11 @@ New signature: {Component, ErrorComponent, LoadingComponent, options}`
154
164
  }, [props.component?.rules?.component_cells_focusable]);
155
165
 
156
166
  if (isDataSourceEmpty(props) && allowsEmptyDataSource) {
157
- return renderComponent(Component, componentProps);
167
+ return RenderComponent(Component, componentProps);
158
168
  }
159
169
 
160
- if (isLoading && !zappPipesData.data && isInitialLoading) {
161
- return renderComponent(LoadingComponent || Placeholder, componentProps);
170
+ if (isLoading && !zappPipesData?.data && isInitialLoading) {
171
+ return RenderComponent(LoadingComponent || Placeholder, componentProps);
162
172
  }
163
173
 
164
174
  if (zappPipesData?.error) {
@@ -167,9 +177,9 @@ New signature: {Component, ErrorComponent, LoadingComponent, options}`
167
177
  index: componentIndex,
168
178
  });
169
179
 
170
- return renderComponent(ErrorComponent, componentProps);
180
+ return RenderComponent(ErrorComponent, componentProps);
171
181
  }
172
182
 
173
- return renderComponent(Component, componentProps);
183
+ return RenderComponent(Component, componentProps);
174
184
  };
175
185
  }
@@ -4,6 +4,8 @@ export { River } from "./River";
4
4
 
5
5
  export { PlayerContainer } from "./PlayerContainer";
6
6
 
7
+ export { ModalComponent } from "./ModalComponent";
8
+
7
9
  export { ContentScreen } from "./ContentScreen";
8
10
 
9
11
  export { TextInputTv } from "./TextInputTv";
@@ -1,13 +1,12 @@
1
1
  import React, { createContext, ReactNode, useMemo, useState } from "react";
2
- import { usePickFromState } from "@applicaster/zapp-react-native-redux/hooks";
3
2
  import {
4
3
  useCurrentScreenData,
5
4
  useNavigation,
6
5
  useRoute,
6
+ isNavBarVisible,
7
7
  } from "@applicaster/zapp-react-native-utils/reactHooks";
8
8
  import { useModalNavigationContext } from "@applicaster/zapp-react-native-ui-components/Contexts/ModalNavigationContext";
9
9
  import { useNestedNavigationContext } from "@applicaster/zapp-react-native-ui-components/Contexts/NestedNavigationContext";
10
- import { isNavBarVisible } from "../../Components/Screen/navigationHandler";
11
10
 
12
11
  type ScreenContextType = {
13
12
  navBar: {
@@ -42,8 +41,6 @@ export function ScreenContextProvider({
42
41
  }) {
43
42
  const { data, modalData, videoModalState, canGoBack } = useNavigation();
44
43
 
45
- const { rivers: _rivers } = usePickFromState(["rivers", "plugins"]);
46
-
47
44
  // There are 4 route scenarios
48
45
  // For regular screens take date from navigator stack.
49
46
  // is path is model grab screenData from modal state
@@ -12,11 +12,16 @@ export function withComponentsMapProvider(Component: React.ComponentType<any>) {
12
12
  };
13
13
 
14
14
  const setComponentHeightById = (id: string | number, height: number) => {
15
- componentsHeightMapRef.current = { ...componentsHeightMapRef.current, [id]: height };
15
+ componentsHeightMapRef.current = {
16
+ ...componentsHeightMapRef.current,
17
+ [id]: height,
18
+ };
16
19
  };
17
20
 
18
21
  return (
19
- <ComponentsMapProvider {...{ setComponentHeightById, getComponentHeightById }}>
22
+ <ComponentsMapProvider
23
+ {...{ setComponentHeightById, getComponentHeightById }}
24
+ >
20
25
  <Component {...props} />
21
26
  </ComponentsMapProvider>
22
27
  );