@applicaster/zapp-react-native-ui-components 13.0.0-rc.14 → 13.0.0-rc.140
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.
- package/Components/AppContainer/__tests__/AppContainer.test.js +4 -6
- package/Components/AppContainer/__tests__/__snapshots__/AppContainer.test.js.snap +1 -1
- package/Components/AudioPlayer/index.tsx +15 -0
- package/Components/AudioPlayer/mobile/Layout.tsx +63 -0
- package/Components/AudioPlayer/mobile/__tests__/__snapshots__/audioPlayerMobileLayout.test.js.snap +66 -0
- package/Components/AudioPlayer/mobile/__tests__/audioPlayerMobileLayout.test.js +18 -0
- package/Components/AudioPlayer/mobile/index.tsx +23 -0
- package/Components/AudioPlayer/tv/Artwork.tsx +40 -0
- package/Components/AudioPlayer/{AudioPlayerLayout.tsx → tv/Layout.tsx} +37 -79
- package/Components/AudioPlayer/{Runtime.tsx → tv/Runtime.tsx} +2 -1
- package/Components/AudioPlayer/{Summary.tsx → tv/Summary.tsx} +12 -9
- package/Components/AudioPlayer/{Title.tsx → tv/Title.tsx} +12 -9
- package/Components/AudioPlayer/{__tests__ → tv/__tests__}/Runtime.test.js +5 -8
- package/Components/AudioPlayer/{__tests__ → tv/__tests__}/__snapshots__/Runtime.test.js.snap +6 -6
- package/Components/AudioPlayer/{__tests__ → tv/__tests__}/__snapshots__/artWork.test.js.snap +11 -6
- package/Components/AudioPlayer/tv/__tests__/__snapshots__/audioPlayer.test.js.snap +170 -0
- package/Components/AudioPlayer/{__tests__ → tv/__tests__}/__snapshots__/channel.test.js.snap +3 -3
- package/Components/AudioPlayer/{__tests__ → tv/__tests__}/__snapshots__/summary.test.js.snap +3 -3
- package/Components/AudioPlayer/{__tests__ → tv/__tests__}/__snapshots__/title.test.js.snap +3 -3
- package/Components/AudioPlayer/{__tests__ → tv/__tests__}/artWork.test.js +3 -5
- package/Components/AudioPlayer/{__tests__ → tv/__tests__}/audioPlayer.test.js +5 -7
- package/Components/AudioPlayer/{__tests__ → tv/__tests__}/channel.test.js +3 -5
- package/Components/AudioPlayer/{__tests__ → tv/__tests__}/summary.test.js +3 -5
- package/Components/AudioPlayer/{__tests__ → tv/__tests__}/title.test.js +3 -5
- package/Components/AudioPlayer/{helpers.tsx → tv/helpers.tsx} +3 -5
- package/Components/AudioPlayer/{AudioPlayer.tsx → tv/index.tsx} +21 -62
- package/Components/AudioPlayer/types.ts +40 -0
- package/Components/BaseFocusable/index.ios.ts +1 -1
- package/Components/BaseFocusable/index.tsx +67 -31
- package/Components/Cell/Cell.tsx +14 -14
- package/Components/Cell/CellWithFocusable.tsx +50 -59
- package/Components/Cell/CellWrapper.tsx +18 -0
- package/Components/Cell/TvOSCellComponent.tsx +20 -26
- package/Components/Cell/__tests__/CellWIthFocusable.test.js +13 -6
- package/Components/Cell/index.js +3 -1
- package/Components/Cell/styles.ts +17 -0
- package/Components/CellRendererResolver/__tests__/cellRendererResolver.test.js +50 -50
- package/Components/CellRendererResolver/index.ts +2 -1
- package/Components/ComponentResolver/__tests__/__snapshots__/componentResolver.test.js.snap +1 -42
- package/Components/ComponentResolver/__tests__/componentResolver.test.js +26 -30
- package/Components/ContentScreen/__tests__/contentScreen.test.js +3 -3
- package/Components/DisplayState/__tests__/__snapshots__/displayState.test.js.snap +2 -2
- package/Components/ErrorScreen/index.tsx +14 -6
- package/Components/Focusable/Focusable.tsx +1 -54
- package/Components/Focusable/FocusableTvOS.tsx +6 -2
- package/Components/Focusable/Touchable.tsx +19 -20
- package/Components/Focusable/index.android.tsx +10 -3
- package/Components/FocusableCell/index.tsx +1 -1
- package/Components/FocusableGroup/FocusableTvOS.tsx +34 -86
- package/Components/FocusableGroup/index.tsx +0 -3
- package/Components/FocusableList/index.tsx +26 -10
- package/Components/FocusableScrollView/index.tsx +43 -13
- package/Components/GeneralContentScreen/GeneralContentScreen.tsx +3 -0
- package/Components/GeneralContentScreen/utils/__tests__/useCurationAPI.test.js +9 -0
- package/Components/GeneralContentScreen/utils/useCurationAPI.ts +5 -3
- package/Components/GeneralContentScreen/utils/useEventAlerts.ts +30 -0
- package/Components/HandlePlayable/HandlePlayable.tsx +21 -27
- package/Components/Layout/TV/LayoutBackground.tsx +28 -0
- package/Components/Layout/TV/NavBarContainer.tsx +19 -23
- package/Components/Layout/TV/ScreenContainer.tsx +8 -2
- package/Components/Layout/TV/ScreenLayoutContextProvider.tsx +5 -0
- package/Components/Layout/TV/__tests__/ScreenContainer.test.tsx +3 -1
- package/Components/Layout/TV/__tests__/__snapshots__/LayoutContainer.test.tsx.snap +1 -1
- package/Components/Layout/TV/__tests__/__snapshots__/NavBarContainer.test.tsx.snap +6 -5
- package/Components/Layout/TV/__tests__/__snapshots__/ScreenContainer.test.tsx.snap +12 -11
- package/Components/Layout/TV/__tests__/__snapshots__/index.test.tsx.snap +15 -10
- package/Components/Layout/TV/__tests__/index.test.tsx +14 -4
- package/Components/Layout/TV/index.tsx +6 -20
- package/Components/Layout/TV/index.web.tsx +4 -1
- package/Components/MasterCell/DefaultComponents/ActionButton.tsx +2 -3
- package/Components/MasterCell/DefaultComponents/BorderContainerView/__tests__/index.test.tsx +66 -0
- package/Components/MasterCell/DefaultComponents/BorderContainerView/index.tsx +4 -1
- package/Components/MasterCell/DefaultComponents/Image/Image.ios.tsx +10 -15
- package/Components/MasterCell/DefaultComponents/Image/hooks/useImage.ts +11 -7
- package/Components/MasterCell/DefaultComponents/ImageBorderContainer/__tests__/index.test.ts +93 -0
- package/Components/MasterCell/DefaultComponents/LiveImage/index.tsx +2 -2
- package/Components/MasterCell/DefaultComponents/SecondaryImage/__tests__/__snapshots__/Image.test.tsx.snap +3 -3
- package/Components/MasterCell/DefaultComponents/SecondaryImage/utils.ts +1 -1
- package/Components/MasterCell/DefaultComponents/__tests__/image.test.js +1 -1
- package/Components/MasterCell/DefaultComponents/tv/TvActionButtons/const.ts +3 -0
- package/Components/MasterCell/DefaultComponents/tv/TvActionButtons/index.ts +6 -6
- package/Components/MasterCell/SharedUI/CollapsibleTextContainer/__tests__/__snapshots__/index.test.tsx.snap +1 -1
- package/Components/MasterCell/SharedUI/ProgressBar/hooks/useFillInPercent.ts +2 -8
- package/Components/MasterCell/__tests__/__snapshots__/dataAdapter.test.js.snap +180 -180
- package/Components/MasterCell/__tests__/__snapshots__/elementMapper.test.js.snap +11 -19
- package/Components/MasterCell/__tests__/__snapshots__/masterCell.test.js.snap +6 -235
- package/Components/MasterCell/__tests__/elementMapper.test.js +18 -5
- package/Components/MasterCell/__tests__/masterCell.test.js +26 -26
- package/Components/MasterCell/hooks/useAsyncRendering/MasterCellAsyncRenderManager.ts +2 -2
- package/Components/MasterCell/hooks/useAsyncRendering/index.ts +2 -2
- package/Components/MasterCell/utils/behaviorProvider.ts +136 -0
- package/Components/MasterCell/utils/index.ts +9 -135
- package/Components/ModalComponent/BottomSheetModalContent.tsx +66 -54
- package/Components/ModalComponent/Button/Item.tsx +6 -5
- package/Components/ModalComponent/Button/assets.ts +1 -1
- package/Components/ModalComponent/Button/index.tsx +45 -62
- package/Components/ModalComponent/Header/index.tsx +12 -11
- package/Components/ModalComponent/utils.ts +55 -7
- package/Components/OfflineHandler/NotificationView/NotificationView.lg.tsx +2 -2
- package/Components/OfflineHandler/NotificationView/NotificationView.samsung.tsx +2 -2
- package/Components/OfflineHandler/NotificationView/__tests__/index.test.tsx +0 -5
- package/Components/OfflineHandler/__tests__/__snapshots__/index.test.tsx.snap +7 -7
- package/Components/OfflineHandler/__tests__/index.test.tsx +28 -25
- package/Components/OfflineHandler/utils/index.ts +1 -1
- package/Components/PlayerContainer/PlayerContainer.tsx +76 -66
- package/Components/PlayerContainer/PlayerContainerContext.tsx +9 -0
- package/Components/PlayerContainer/ProgramInfo/index.tsx +2 -2
- package/Components/PlayerImageBackground/index.tsx +2 -2
- package/Components/River/ComponentsMap/ComponentsMap.tsx +49 -68
- package/Components/River/ComponentsMap/hooks/useLoadingState.ts +78 -51
- package/Components/River/RefreshControl.tsx +1 -1
- package/Components/River/RiverFooter.tsx +39 -9
- package/Components/River/RiverItem.tsx +44 -4
- package/Components/River/TV/index.tsx +6 -1
- package/Components/River/__tests__/__snapshots__/componentsMap.test.js.snap +115 -46
- package/Components/River/__tests__/__snapshots__/river.test.js.snap +21 -83
- package/Components/River/__tests__/componentsMap.test.js +64 -17
- package/Components/River/__tests__/river.test.js +75 -40
- package/Components/RouteManager/TestId.tsx +1 -5
- package/Components/RouteManager/__tests__/__snapshots__/routeManager.test.js.snap +11 -5
- package/Components/RouteManager/__tests__/routeManager.test.js +29 -14
- package/Components/RouteManager/__tests__/testId.test.js +4 -6
- package/Components/Screen/TV/__tests__/index.web.test.tsx +26 -0
- package/Components/Screen/TV/index.web.tsx +5 -6
- package/Components/Screen/__tests__/Screen.test.tsx +53 -31
- package/Components/Screen/__tests__/__snapshots__/Screen.test.tsx.snap +6 -6
- package/Components/Screen/hooks.ts +53 -0
- package/Components/Screen/index.tsx +16 -42
- package/Components/ScreenResolver/__tests__/screenResolver.test.js +95 -70
- package/Components/Tabs/Tab.tsx +12 -9
- package/Components/TextInputTv/__tests__/TextInputTv.test.js +42 -42
- package/Components/TextInputTv/__tests__/__snapshots__/TextInputTv.test.js.snap +7 -0
- package/Components/TextInputTv/index.tsx +6 -5
- package/Components/TopMarginApplicator/TopMarginApplicator.tsx +2 -3
- package/Components/Touchable/__tests__/__snapshots__/touchable.test.tsx.snap +2 -2
- package/Components/TrackedView/index.tsx +1 -0
- package/Components/Transitioner/AnimationManager.js +15 -15
- package/Components/Transitioner/Scene.tsx +53 -24
- package/Components/Transitioner/Transitioner.tsx +3 -3
- package/Components/Transitioner/__tests__/Scene.test.js +25 -14
- package/Components/Transitioner/__tests__/__snapshots__/AnimationManager.test.js.snap +26 -26
- package/Components/Transitioner/__tests__/__snapshots__/Scene.test.js.snap +10 -50
- package/Components/Transitioner/__tests__/__snapshots__/config.test.js.snap +20 -20
- package/Components/Transitioner/__tests__/__snapshots__/transitioner.test.js.snap +4 -4
- package/Components/Transitioner/__tests__/transitioner.test.js +13 -4
- package/Components/Transitioner/index.js +8 -4
- package/Components/VideoLive/LiveImageManager.ts +27 -1
- package/Components/VideoLive/PlayerLiveImageComponent.tsx +36 -24
- package/Components/VideoLive/__tests__/PlayerLiveImageComponent.test.tsx +63 -8
- package/Components/VideoLive/__tests__/__snapshots__/PlayerLiveImageComponent.test.tsx.snap +6 -10
- package/Components/VideoModal/ModalAnimation/AnimatedPlayerModalWrapper.tsx +1 -1
- package/Components/VideoModal/ModalAnimation/AnimatedScrollModal.tsx +51 -31
- package/Components/VideoModal/ModalAnimation/AnimatedVideoPlayerComponent.tsx +8 -4
- package/Components/VideoModal/ModalAnimation/AnimationComponent.tsx +48 -23
- package/Components/VideoModal/ModalAnimation/ModalAnimationContext.tsx +16 -15
- package/Components/VideoModal/ModalAnimation/__tests__/getMoveUpValue.test.ts +108 -0
- package/Components/VideoModal/ModalAnimation/const.ts +5 -0
- package/Components/VideoModal/ModalAnimation/index.ts +4 -1
- package/Components/VideoModal/ModalAnimation/useModalAnimationContext.ts +6 -0
- package/Components/VideoModal/ModalAnimation/utils.ts +32 -2
- package/Components/VideoModal/OpaqueLayer.tsx +33 -0
- package/Components/VideoModal/PlayerDetails.tsx +18 -10
- package/Components/VideoModal/PlayerWrapper.tsx +51 -57
- package/Components/VideoModal/VideoModal.tsx +17 -11
- package/Components/VideoModal/__tests__/PlayerDetails.test.tsx +5 -2
- package/Components/VideoModal/__tests__/PlayerWrapper.test.tsx +13 -10
- package/Components/VideoModal/__tests__/__snapshots__/PlayerDetails.test.tsx.snap +2 -40
- package/Components/VideoModal/__tests__/__snapshots__/PlayerWrapper.test.tsx.snap +74 -104
- package/Components/VideoModal/hooks/__tests__/useDelayedPlayerDetails.test.ts +51 -0
- package/Components/VideoModal/hooks/index.ts +7 -0
- package/Components/VideoModal/hooks/useDelayedPlayerDetails.ts +38 -0
- package/Components/VideoModal/hooks/utils/__tests__/showDetails.test.ts +91 -0
- package/Components/VideoModal/hooks/utils/index.ts +33 -0
- package/Components/VideoModal/utils.ts +6 -9
- package/Components/Viewport/ViewportAware/__tests__/__snapshots__/viewportAware.test.js.snap +24 -36
- package/Components/Viewport/ViewportAware/__tests__/viewportAware.test.js +12 -18
- package/Components/Viewport/ViewportTracker/__tests__/__snapshots__/viewportTracker.test.js.snap +1 -1
- package/Components/Viewport/__tests__/utils.test.js +5 -4
- package/Components/ZappUIComponent/Placeholder.tsx +3 -1
- package/Components/ZappUIComponent/__tests__/{ZappUIComponent.test.js → ZappUIComponent.test.tsx} +26 -10
- package/Components/ZappUIComponent/index.tsx +4 -17
- package/Components/default-cell-renderer/__tests__/defaultCellRenderer.test.tsx +20 -17
- package/Components/default-cell-renderer/viewTrees/tv/DefaultCell/__tests__/DefaultCell.test.tsx +15 -11
- package/Contexts/ComponentsMapOffsetContext/index.tsx +49 -0
- package/Contexts/ConfigutaionContext/__tests__/__snapshots__/ConfigurationProvider.test.tsx.snap +1 -1
- package/Contexts/FocusableGroupContext/withFocusableContext.tsx +4 -10
- package/Contexts/HeaderOffsetContext/index.tsx +4 -6
- package/Contexts/ScreenContext/index.tsx +6 -12
- package/Contexts/ScreenLayoutContext/index.tsx +5 -3
- package/Decorators/Navigator/__tests__/navigator.test.js +16 -16
- package/Decorators/Navigator/index.tsx +1 -1
- package/Decorators/RiverFeedLoader/__tests__/__snapshots__/riverFeedLoader.test.tsx.snap +77 -77
- package/Decorators/RiverFeedLoader/__tests__/riverFeedLoader.test.tsx +34 -39
- package/Decorators/RiverFeedLoader/__tests__/utils.test.ts +0 -9
- package/Decorators/RiverFeedLoader/index.tsx +1 -1
- package/Decorators/RiverFeedLoader/utils/getDatasourceUrl.ts +39 -0
- package/Decorators/RiverFeedLoader/utils/index.ts +29 -0
- package/Decorators/RiverFeedLoader/utils/usePipesContexts.ts +40 -0
- package/Decorators/RiverResolver/__tests__/riverResolver.test.tsx +27 -27
- package/Decorators/RiverResolver/index.tsx +6 -8
- package/Decorators/ZappPipesDataConnector/__tests__/Hero.js +1 -1
- package/Decorators/ZappPipesDataConnector/__tests__/zappPipesDataConnector.test.js +29 -22
- package/Decorators/ZappPipesDataConnector/index.tsx +7 -3
- package/package.json +13 -11
- package/tsconfig.json +2 -3
- package/.babelrc +0 -8
- package/Components/AudioPlayer/Artwork.tsx +0 -35
- package/Components/AudioPlayer/__tests__/__snapshots__/audioPlayer.test.js.snap +0 -123
- package/Components/AudioPlayer/__tests__/__snapshots__/audioPlayerLayout.test.js.snap +0 -50
- package/Components/AudioPlayer/__tests__/audioPlayerLayout.test.js +0 -27
- package/Components/AudioPlayer/index.ts +0 -1
- package/Components/Cell/CellStyles/FallbackCellStyle/index.js +0 -157
- package/Components/Cell/CellStyles/Hero/index.js +0 -111
- package/Components/Cell/CellStyles/ScreenSelector/index.js +0 -68
- package/Components/Cell/CellStyles/cellStylesResolver.ts +0 -19
- package/Components/Cell/CellStyles/colors.js +0 -40
- package/Components/Cell/CellStyles/index.js +0 -15
- package/Components/CellRendererResolver/__tests__/__snapshots__/cellRendererResolver.test.js.snap +0 -53
- package/Components/RouteManager/__tests__/__snapshots__/testId.test.js.snap +0 -17
- package/Components/ScreenResolver/__tests__/__snapshots__/screenResolver.test.js.snap +0 -17
- package/Components/ZappUIComponent/__tests__/__snapshots__/ZappUIComponent.test.js.snap +0 -91
- package/Components/default-cell-renderer/__tests__/__snapshots__/defaultCellRenderer.test.tsx.snap +0 -338
- package/Decorators/Navigator/__tests__/__snapshots__/navigator.test.js.snap +0 -18
- package/Decorators/RiverFeedLoader/utils.ts +0 -100
- package/Decorators/RiverResolver/__tests__/__snapshots__/riverResolver.test.tsx.snap +0 -28
- /package/Components/AudioPlayer/{Channel.tsx → tv/Channel.tsx} +0 -0
|
@@ -4,8 +4,8 @@ exports[`PlayerWrapper renders inline 1`] = `
|
|
|
4
4
|
<RNCSafeAreaProvider
|
|
5
5
|
onInsetsChange={[Function]}
|
|
6
6
|
style={
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
[
|
|
8
|
+
{
|
|
9
9
|
"flex": 1,
|
|
10
10
|
},
|
|
11
11
|
undefined,
|
|
@@ -14,7 +14,7 @@ exports[`PlayerWrapper renders inline 1`] = `
|
|
|
14
14
|
>
|
|
15
15
|
<RNCSafeAreaView
|
|
16
16
|
edges={
|
|
17
|
-
|
|
17
|
+
{
|
|
18
18
|
"bottom": "off",
|
|
19
19
|
"left": "off",
|
|
20
20
|
"right": "off",
|
|
@@ -22,31 +22,31 @@ exports[`PlayerWrapper renders inline 1`] = `
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
style={
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
[
|
|
26
|
+
{
|
|
27
27
|
"backgroundColor": "transparent",
|
|
28
28
|
},
|
|
29
|
-
|
|
29
|
+
{
|
|
30
30
|
"height": 800,
|
|
31
31
|
"width": 300,
|
|
32
32
|
},
|
|
33
|
-
|
|
33
|
+
{},
|
|
34
34
|
]
|
|
35
35
|
}
|
|
36
36
|
>
|
|
37
37
|
<View
|
|
38
38
|
additionalData={
|
|
39
|
-
|
|
39
|
+
{
|
|
40
40
|
"saveArea": true,
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
animationType="moveUpComponent"
|
|
44
44
|
style={
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
[
|
|
46
|
+
{
|
|
47
47
|
"flexDirection": "column",
|
|
48
48
|
},
|
|
49
|
-
|
|
49
|
+
{
|
|
50
50
|
"flex": 1,
|
|
51
51
|
},
|
|
52
52
|
]
|
|
@@ -54,19 +54,19 @@ exports[`PlayerWrapper renders inline 1`] = `
|
|
|
54
54
|
>
|
|
55
55
|
<View
|
|
56
56
|
style={
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
[
|
|
58
|
+
{
|
|
59
59
|
"alignSelf": "center",
|
|
60
60
|
"position": "relative",
|
|
61
61
|
"zIndex": 200,
|
|
62
62
|
},
|
|
63
|
-
|
|
63
|
+
{
|
|
64
64
|
"aspectRatio": 1.7777777777777777,
|
|
65
65
|
"height": undefined,
|
|
66
66
|
"width": "100%",
|
|
67
67
|
},
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
{},
|
|
69
|
+
{},
|
|
70
70
|
]
|
|
71
71
|
}
|
|
72
72
|
testID="test-player-container"
|
|
@@ -74,27 +74,27 @@ exports[`PlayerWrapper renders inline 1`] = `
|
|
|
74
74
|
<View
|
|
75
75
|
animationType="componentFade"
|
|
76
76
|
style={
|
|
77
|
-
|
|
77
|
+
{
|
|
78
78
|
"flex": 1,
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
>
|
|
82
82
|
<View
|
|
83
83
|
configuration={
|
|
84
|
-
|
|
84
|
+
{
|
|
85
85
|
"tablet_landscape_player_container_background_color": "red",
|
|
86
86
|
"tablet_landscape_sidebar_width": "35%",
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
entry={
|
|
90
|
-
|
|
90
|
+
{
|
|
91
91
|
"id": "test",
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
isTablet={false}
|
|
95
95
|
isTabletLandscape={false}
|
|
96
96
|
style={
|
|
97
|
-
|
|
97
|
+
{
|
|
98
98
|
"flex": 1,
|
|
99
99
|
"paddingTop": 20,
|
|
100
100
|
}
|
|
@@ -110,8 +110,8 @@ exports[`PlayerWrapper renders inline and docked 1`] = `
|
|
|
110
110
|
<RNCSafeAreaProvider
|
|
111
111
|
onInsetsChange={[Function]}
|
|
112
112
|
style={
|
|
113
|
-
|
|
114
|
-
|
|
113
|
+
[
|
|
114
|
+
{
|
|
115
115
|
"flex": 1,
|
|
116
116
|
},
|
|
117
117
|
undefined,
|
|
@@ -120,7 +120,7 @@ exports[`PlayerWrapper renders inline and docked 1`] = `
|
|
|
120
120
|
>
|
|
121
121
|
<RNCSafeAreaView
|
|
122
122
|
edges={
|
|
123
|
-
|
|
123
|
+
{
|
|
124
124
|
"bottom": "off",
|
|
125
125
|
"left": "off",
|
|
126
126
|
"right": "off",
|
|
@@ -128,31 +128,31 @@ exports[`PlayerWrapper renders inline and docked 1`] = `
|
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
style={
|
|
131
|
-
|
|
132
|
-
|
|
131
|
+
[
|
|
132
|
+
{
|
|
133
133
|
"backgroundColor": "transparent",
|
|
134
134
|
},
|
|
135
|
-
|
|
135
|
+
{
|
|
136
136
|
"height": undefined,
|
|
137
137
|
"width": 300,
|
|
138
138
|
},
|
|
139
|
-
|
|
139
|
+
{},
|
|
140
140
|
]
|
|
141
141
|
}
|
|
142
142
|
>
|
|
143
143
|
<View
|
|
144
144
|
additionalData={
|
|
145
|
-
|
|
145
|
+
{
|
|
146
146
|
"saveArea": true,
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
animationType="moveUpComponent"
|
|
150
150
|
style={
|
|
151
|
-
|
|
152
|
-
|
|
151
|
+
[
|
|
152
|
+
{
|
|
153
153
|
"flexDirection": "column",
|
|
154
154
|
},
|
|
155
|
-
|
|
155
|
+
{
|
|
156
156
|
"flex": 1,
|
|
157
157
|
},
|
|
158
158
|
]
|
|
@@ -160,53 +160,23 @@ exports[`PlayerWrapper renders inline and docked 1`] = `
|
|
|
160
160
|
>
|
|
161
161
|
<View
|
|
162
162
|
style={
|
|
163
|
-
|
|
164
|
-
|
|
163
|
+
[
|
|
164
|
+
{
|
|
165
165
|
"alignSelf": "center",
|
|
166
166
|
"position": "relative",
|
|
167
167
|
"zIndex": 200,
|
|
168
168
|
},
|
|
169
|
-
|
|
169
|
+
{
|
|
170
170
|
"aspectRatio": undefined,
|
|
171
171
|
"height": undefined,
|
|
172
172
|
"width": "100%",
|
|
173
173
|
},
|
|
174
|
-
|
|
175
|
-
|
|
174
|
+
{},
|
|
175
|
+
{},
|
|
176
176
|
]
|
|
177
177
|
}
|
|
178
178
|
testID="test-player-container"
|
|
179
179
|
/>
|
|
180
|
-
<View
|
|
181
|
-
animationType="componentFade"
|
|
182
|
-
style={
|
|
183
|
-
Object {
|
|
184
|
-
"flex": 1,
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
>
|
|
188
|
-
<View
|
|
189
|
-
configuration={
|
|
190
|
-
Object {
|
|
191
|
-
"tablet_landscape_player_container_background_color": "red",
|
|
192
|
-
"tablet_landscape_sidebar_width": "35%",
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
entry={
|
|
196
|
-
Object {
|
|
197
|
-
"id": "test",
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
isTablet={false}
|
|
201
|
-
isTabletLandscape={false}
|
|
202
|
-
style={
|
|
203
|
-
Object {
|
|
204
|
-
"flex": 1,
|
|
205
|
-
"paddingTop": 20,
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
/>
|
|
209
|
-
</View>
|
|
210
180
|
</View>
|
|
211
181
|
</RNCSafeAreaView>
|
|
212
182
|
</RNCSafeAreaProvider>
|
|
@@ -216,8 +186,8 @@ exports[`PlayerWrapper renders inline on tablet in landscape orientation 1`] = `
|
|
|
216
186
|
<RNCSafeAreaProvider
|
|
217
187
|
onInsetsChange={[Function]}
|
|
218
188
|
style={
|
|
219
|
-
|
|
220
|
-
|
|
189
|
+
[
|
|
190
|
+
{
|
|
221
191
|
"flex": 1,
|
|
222
192
|
},
|
|
223
193
|
undefined,
|
|
@@ -226,7 +196,7 @@ exports[`PlayerWrapper renders inline on tablet in landscape orientation 1`] = `
|
|
|
226
196
|
>
|
|
227
197
|
<RNCSafeAreaView
|
|
228
198
|
edges={
|
|
229
|
-
|
|
199
|
+
{
|
|
230
200
|
"bottom": "off",
|
|
231
201
|
"left": "off",
|
|
232
202
|
"right": "off",
|
|
@@ -234,31 +204,31 @@ exports[`PlayerWrapper renders inline on tablet in landscape orientation 1`] = `
|
|
|
234
204
|
}
|
|
235
205
|
}
|
|
236
206
|
style={
|
|
237
|
-
|
|
238
|
-
|
|
207
|
+
[
|
|
208
|
+
{
|
|
239
209
|
"backgroundColor": "red",
|
|
240
210
|
},
|
|
241
|
-
|
|
211
|
+
{
|
|
242
212
|
"height": 800,
|
|
243
213
|
"width": 300,
|
|
244
214
|
},
|
|
245
|
-
|
|
215
|
+
{},
|
|
246
216
|
]
|
|
247
217
|
}
|
|
248
218
|
>
|
|
249
219
|
<View
|
|
250
220
|
additionalData={
|
|
251
|
-
|
|
221
|
+
{
|
|
252
222
|
"saveArea": true,
|
|
253
223
|
}
|
|
254
224
|
}
|
|
255
225
|
animationType="moveUpComponent"
|
|
256
226
|
style={
|
|
257
|
-
|
|
258
|
-
|
|
227
|
+
[
|
|
228
|
+
{
|
|
259
229
|
"flexDirection": "row",
|
|
260
230
|
},
|
|
261
|
-
|
|
231
|
+
{
|
|
262
232
|
"flex": 1,
|
|
263
233
|
},
|
|
264
234
|
]
|
|
@@ -266,26 +236,26 @@ exports[`PlayerWrapper renders inline on tablet in landscape orientation 1`] = `
|
|
|
266
236
|
>
|
|
267
237
|
<View
|
|
268
238
|
style={
|
|
269
|
-
|
|
270
|
-
|
|
239
|
+
[
|
|
240
|
+
{
|
|
271
241
|
"alignSelf": "center",
|
|
272
242
|
"position": "relative",
|
|
273
243
|
"zIndex": 200,
|
|
274
244
|
},
|
|
275
|
-
|
|
245
|
+
{
|
|
276
246
|
"aspectRatio": 1.7777777777777777,
|
|
277
247
|
"height": undefined,
|
|
278
248
|
"width": 195,
|
|
279
249
|
},
|
|
280
|
-
|
|
281
|
-
|
|
250
|
+
{},
|
|
251
|
+
{},
|
|
282
252
|
]
|
|
283
253
|
}
|
|
284
254
|
testID="test-player-container"
|
|
285
255
|
>
|
|
286
256
|
<View
|
|
287
257
|
additionalData={
|
|
288
|
-
|
|
258
|
+
{
|
|
289
259
|
"disableAnimatedComponent": false,
|
|
290
260
|
"resetAnimationValue": undefined,
|
|
291
261
|
"useLayoutMeasure": true,
|
|
@@ -293,7 +263,7 @@ exports[`PlayerWrapper renders inline on tablet in landscape orientation 1`] = `
|
|
|
293
263
|
}
|
|
294
264
|
animationType="moveUpComponent"
|
|
295
265
|
style={
|
|
296
|
-
|
|
266
|
+
{
|
|
297
267
|
"flex": 1,
|
|
298
268
|
}
|
|
299
269
|
}
|
|
@@ -302,27 +272,27 @@ exports[`PlayerWrapper renders inline on tablet in landscape orientation 1`] = `
|
|
|
302
272
|
<View
|
|
303
273
|
animationType="componentFade"
|
|
304
274
|
style={
|
|
305
|
-
|
|
275
|
+
{
|
|
306
276
|
"flex": 1,
|
|
307
277
|
}
|
|
308
278
|
}
|
|
309
279
|
>
|
|
310
280
|
<View
|
|
311
281
|
configuration={
|
|
312
|
-
|
|
282
|
+
{
|
|
313
283
|
"tablet_landscape_player_container_background_color": "red",
|
|
314
284
|
"tablet_landscape_sidebar_width": "35%",
|
|
315
285
|
}
|
|
316
286
|
}
|
|
317
287
|
entry={
|
|
318
|
-
|
|
288
|
+
{
|
|
319
289
|
"id": "test",
|
|
320
290
|
}
|
|
321
291
|
}
|
|
322
292
|
isTablet={true}
|
|
323
293
|
isTabletLandscape={true}
|
|
324
294
|
style={
|
|
325
|
-
|
|
295
|
+
{
|
|
326
296
|
"flex": 1,
|
|
327
297
|
"paddingTop": 20,
|
|
328
298
|
}
|
|
@@ -338,8 +308,8 @@ exports[`PlayerWrapper renders properly 1`] = `
|
|
|
338
308
|
<RNCSafeAreaProvider
|
|
339
309
|
onInsetsChange={[Function]}
|
|
340
310
|
style={
|
|
341
|
-
|
|
342
|
-
|
|
311
|
+
[
|
|
312
|
+
{
|
|
343
313
|
"flex": 1,
|
|
344
314
|
},
|
|
345
315
|
undefined,
|
|
@@ -348,7 +318,7 @@ exports[`PlayerWrapper renders properly 1`] = `
|
|
|
348
318
|
>
|
|
349
319
|
<RNCSafeAreaView
|
|
350
320
|
edges={
|
|
351
|
-
|
|
321
|
+
{
|
|
352
322
|
"bottom": "off",
|
|
353
323
|
"left": "off",
|
|
354
324
|
"right": "off",
|
|
@@ -356,31 +326,31 @@ exports[`PlayerWrapper renders properly 1`] = `
|
|
|
356
326
|
}
|
|
357
327
|
}
|
|
358
328
|
style={
|
|
359
|
-
|
|
360
|
-
|
|
329
|
+
[
|
|
330
|
+
{
|
|
361
331
|
"backgroundColor": "transparent",
|
|
362
332
|
},
|
|
363
|
-
|
|
333
|
+
{
|
|
364
334
|
"height": 800,
|
|
365
335
|
"width": 300,
|
|
366
336
|
},
|
|
367
|
-
|
|
337
|
+
{},
|
|
368
338
|
]
|
|
369
339
|
}
|
|
370
340
|
>
|
|
371
341
|
<View
|
|
372
342
|
additionalData={
|
|
373
|
-
|
|
343
|
+
{
|
|
374
344
|
"saveArea": true,
|
|
375
345
|
}
|
|
376
346
|
}
|
|
377
347
|
animationType="moveUpComponent"
|
|
378
348
|
style={
|
|
379
|
-
|
|
380
|
-
|
|
349
|
+
[
|
|
350
|
+
{
|
|
381
351
|
"flexDirection": "column",
|
|
382
352
|
},
|
|
383
|
-
|
|
353
|
+
{
|
|
384
354
|
"flex": 1,
|
|
385
355
|
},
|
|
386
356
|
]
|
|
@@ -388,19 +358,19 @@ exports[`PlayerWrapper renders properly 1`] = `
|
|
|
388
358
|
>
|
|
389
359
|
<View
|
|
390
360
|
style={
|
|
391
|
-
|
|
392
|
-
|
|
361
|
+
[
|
|
362
|
+
{
|
|
393
363
|
"alignSelf": "center",
|
|
394
364
|
"position": "relative",
|
|
395
365
|
"zIndex": 200,
|
|
396
366
|
},
|
|
397
|
-
|
|
367
|
+
{
|
|
398
368
|
"aspectRatio": 1.7786666666666666,
|
|
399
369
|
"height": undefined,
|
|
400
370
|
"width": "100%",
|
|
401
371
|
},
|
|
402
|
-
|
|
403
|
-
|
|
372
|
+
{},
|
|
373
|
+
{},
|
|
404
374
|
]
|
|
405
375
|
}
|
|
406
376
|
testID="test-player-container"
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { renderHook } from "@testing-library/react-hooks";
|
|
2
|
+
import { useDelayedPlayerDetails } from "../useDelayedPlayerDetails";
|
|
3
|
+
import { useIsTablet } from "@applicaster/zapp-react-native-utils/reactHooks";
|
|
4
|
+
|
|
5
|
+
jest.mock("@applicaster/zapp-react-native-utils/reactHooks", () => ({
|
|
6
|
+
useIsTablet: jest.fn().mockReturnValue(false),
|
|
7
|
+
}));
|
|
8
|
+
|
|
9
|
+
describe("useDelayedPlayerDetails", () => {
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
jest.clearAllMocks();
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it("should return true initially", () => {
|
|
15
|
+
const { result } = renderHook(() =>
|
|
16
|
+
useDelayedPlayerDetails({ isInline: true, isDocked: false, isPip: false })
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
expect(result.current).toBe(true);
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it("should return false when isPip is true", () => {
|
|
23
|
+
const { result } = renderHook(() =>
|
|
24
|
+
useDelayedPlayerDetails({ isInline: true, isDocked: true, isPip: true })
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
expect(result.current).toBe(false);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it("should return false when isDocked is true", () => {
|
|
31
|
+
const { result } = renderHook(() =>
|
|
32
|
+
useDelayedPlayerDetails({ isInline: true, isDocked: true, isPip: false })
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
expect(result.current).toBe(false);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it("should return true for tablet regardless of other flags", () => {
|
|
39
|
+
(useIsTablet as jest.Mock).mockReturnValue(true);
|
|
40
|
+
|
|
41
|
+
const { result } = renderHook(() =>
|
|
42
|
+
useDelayedPlayerDetails({
|
|
43
|
+
isInline: false,
|
|
44
|
+
isDocked: false,
|
|
45
|
+
isPip: false,
|
|
46
|
+
})
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
expect(result.current).toBe(true);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { useIsTablet } from "@applicaster/zapp-react-native-utils/reactHooks";
|
|
2
|
+
|
|
3
|
+
import { showDetails } from "./utils";
|
|
4
|
+
|
|
5
|
+
type Props = { isInline: boolean; isDocked: boolean; isPip: boolean };
|
|
6
|
+
|
|
7
|
+
const showPlayerDetails = (
|
|
8
|
+
isInline: boolean,
|
|
9
|
+
isDocked: boolean,
|
|
10
|
+
isPip: boolean,
|
|
11
|
+
isTablet: boolean
|
|
12
|
+
) => {
|
|
13
|
+
return showDetails({
|
|
14
|
+
isMobile: !isTablet,
|
|
15
|
+
isInline,
|
|
16
|
+
isDocked,
|
|
17
|
+
isPip,
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Custom hook to determine whether to show player details with a delay.
|
|
23
|
+
*
|
|
24
|
+
* @param {Object} params - The parameters object.
|
|
25
|
+
* @param {boolean} params.isInline - Indicates if the player is inline.
|
|
26
|
+
* @param {boolean} params.isDocked - Indicates if the player is docked.
|
|
27
|
+
* @param {boolean} params.isPip - Indicates if the player is in PIP mode.
|
|
28
|
+
* @returns {boolean} - Returns true if player details should be shown, otherwise false.
|
|
29
|
+
*/
|
|
30
|
+
export const useDelayedPlayerDetails = ({
|
|
31
|
+
isInline,
|
|
32
|
+
isDocked,
|
|
33
|
+
isPip,
|
|
34
|
+
}: Props): boolean => {
|
|
35
|
+
const isTablet = useIsTablet();
|
|
36
|
+
|
|
37
|
+
return showPlayerDetails(isInline, isDocked, isPip, isTablet);
|
|
38
|
+
};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { showDetails } from "..";
|
|
2
|
+
|
|
3
|
+
describe("showDetails", () => {
|
|
4
|
+
it("should return false if isPip is true", () => {
|
|
5
|
+
const result = showDetails({
|
|
6
|
+
isMobile: true,
|
|
7
|
+
isInline: true,
|
|
8
|
+
isDocked: false,
|
|
9
|
+
isPip: true,
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
expect(result).toBe(false);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it("should return false if isDocked is true", () => {
|
|
16
|
+
const result = showDetails({
|
|
17
|
+
isMobile: true,
|
|
18
|
+
isInline: true,
|
|
19
|
+
isDocked: true,
|
|
20
|
+
isPip: false,
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
expect(result).toBe(false);
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it("should return true if isMobile is true and isInline is true", () => {
|
|
27
|
+
const result = showDetails({
|
|
28
|
+
isMobile: true,
|
|
29
|
+
isInline: true,
|
|
30
|
+
isDocked: false,
|
|
31
|
+
isPip: false,
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
expect(result).toBe(true);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it("should return false if isMobile is true and isInline is false", () => {
|
|
38
|
+
const result = showDetails({
|
|
39
|
+
isMobile: true,
|
|
40
|
+
isInline: false,
|
|
41
|
+
isDocked: false,
|
|
42
|
+
isPip: false,
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
expect(result).toBe(false);
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
it("should return true if isMobile is false", () => {
|
|
49
|
+
const result = showDetails({
|
|
50
|
+
isMobile: false,
|
|
51
|
+
isInline: true,
|
|
52
|
+
isDocked: false,
|
|
53
|
+
isPip: false,
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
expect(result).toBe(true);
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
it("should return true if isMobile is false and isInline is false", () => {
|
|
60
|
+
const result = showDetails({
|
|
61
|
+
isMobile: false,
|
|
62
|
+
isInline: false,
|
|
63
|
+
isDocked: false,
|
|
64
|
+
isPip: false,
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
expect(result).toBe(true);
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
it("should return false if all properties are false except isMobile", () => {
|
|
71
|
+
const result = showDetails({
|
|
72
|
+
isMobile: true,
|
|
73
|
+
isInline: false,
|
|
74
|
+
isDocked: false,
|
|
75
|
+
isPip: false,
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
expect(result).toBe(false);
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
it("should return true if all properties are false except isInline", () => {
|
|
82
|
+
const result = showDetails({
|
|
83
|
+
isMobile: false,
|
|
84
|
+
isInline: true,
|
|
85
|
+
isDocked: false,
|
|
86
|
+
isPip: false,
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
expect(result).toBe(true);
|
|
90
|
+
});
|
|
91
|
+
});
|
|
@@ -35,3 +35,36 @@ export const orientationWasChangedFromPortraitToLandscape = ({
|
|
|
35
35
|
isOrientationLandscape(toOrientation)
|
|
36
36
|
);
|
|
37
37
|
};
|
|
38
|
+
|
|
39
|
+
export const showDetails = ({
|
|
40
|
+
isMobile,
|
|
41
|
+
isInline,
|
|
42
|
+
isDocked,
|
|
43
|
+
isPip,
|
|
44
|
+
}: {
|
|
45
|
+
isMobile: boolean;
|
|
46
|
+
isInline: boolean;
|
|
47
|
+
isDocked: boolean;
|
|
48
|
+
isPip: boolean;
|
|
49
|
+
}): boolean => {
|
|
50
|
+
if (isPip) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (isDocked) {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// for mobile with inline mode(rotation is portrait) we always show details.
|
|
59
|
+
if (isMobile && isInline) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// for mobile with landscape rotation(player is fullscreen) we always hide details. Mounting of it is very heavy operation.
|
|
64
|
+
if (isMobile && !isInline) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// for tablets we always show details
|
|
69
|
+
return true;
|
|
70
|
+
};
|