@stream-io/video-react-native-sdk 0.1.10 → 0.1.12

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 (290) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/android/src/main/java/com/streamvideo/reactnative/StreamVideoReactNative.kt +19 -1
  3. package/android/src/main/java/com/streamvideo/reactnative/StreamVideoReactNativeModule.kt +82 -2
  4. package/dist/commonjs/components/Call/CallContent/CallContent.js +9 -7
  5. package/dist/commonjs/components/Call/CallContent/CallContent.js.map +1 -1
  6. package/dist/commonjs/components/Call/CallLayout/CallParticipantsGrid.js +7 -2
  7. package/dist/commonjs/components/Call/CallLayout/CallParticipantsGrid.js.map +1 -1
  8. package/dist/commonjs/components/Call/CallLayout/CallParticipantsSpotlight.js +3 -1
  9. package/dist/commonjs/components/Call/CallLayout/CallParticipantsSpotlight.js.map +1 -1
  10. package/dist/commonjs/components/Livestream/HostLivestream/HostLivestream.js +71 -0
  11. package/dist/commonjs/components/Livestream/HostLivestream/HostLivestream.js.map +1 -0
  12. package/dist/commonjs/components/Livestream/HostLivestream/index.js +17 -0
  13. package/dist/commonjs/components/Livestream/HostLivestream/index.js.map +1 -0
  14. package/dist/commonjs/components/Livestream/LivestreamControls/HostLivestreamControls.js +69 -0
  15. package/dist/commonjs/components/Livestream/LivestreamControls/HostLivestreamControls.js.map +1 -0
  16. package/dist/commonjs/components/Livestream/LivestreamControls/HostStartStreamButton.js +113 -0
  17. package/dist/commonjs/components/Livestream/LivestreamControls/HostStartStreamButton.js.map +1 -0
  18. package/dist/commonjs/components/Livestream/LivestreamControls/LivestreamAudioControlButton.js +70 -0
  19. package/dist/commonjs/components/Livestream/LivestreamControls/LivestreamAudioControlButton.js.map +1 -0
  20. package/dist/commonjs/components/Livestream/LivestreamControls/LivestreamMediaControls.js +38 -0
  21. package/dist/commonjs/components/Livestream/LivestreamControls/LivestreamMediaControls.js.map +1 -0
  22. package/dist/commonjs/components/Livestream/LivestreamControls/LivestreamVideoControlButton.js +70 -0
  23. package/dist/commonjs/components/Livestream/LivestreamControls/LivestreamVideoControlButton.js.map +1 -0
  24. package/dist/commonjs/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.js +83 -0
  25. package/dist/commonjs/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.js.map +1 -0
  26. package/dist/commonjs/components/Livestream/LivestreamControls/ViewerLivestreamControls.js +64 -0
  27. package/dist/commonjs/components/Livestream/LivestreamControls/ViewerLivestreamControls.js.map +1 -0
  28. package/dist/commonjs/components/Livestream/LivestreamControls/index.js +61 -0
  29. package/dist/commonjs/components/Livestream/LivestreamControls/index.js.map +1 -0
  30. package/dist/commonjs/components/Livestream/LivestreamLayout/LivestreamLayout.js +65 -0
  31. package/dist/commonjs/components/Livestream/LivestreamLayout/LivestreamLayout.js.map +1 -0
  32. package/dist/commonjs/components/Livestream/LivestreamLayout/index.js +17 -0
  33. package/dist/commonjs/components/Livestream/LivestreamLayout/index.js.map +1 -0
  34. package/dist/commonjs/components/Livestream/LivestreamTopView/DurationBadge.js +144 -0
  35. package/dist/commonjs/components/Livestream/LivestreamTopView/DurationBadge.js.map +1 -0
  36. package/dist/commonjs/components/Livestream/LivestreamTopView/FollowerCount.js +71 -0
  37. package/dist/commonjs/components/Livestream/LivestreamTopView/FollowerCount.js.map +1 -0
  38. package/dist/commonjs/components/Livestream/LivestreamTopView/HostLivestreamTopView.js +87 -0
  39. package/dist/commonjs/components/Livestream/LivestreamTopView/HostLivestreamTopView.js.map +1 -0
  40. package/dist/commonjs/components/Livestream/LivestreamTopView/LiveIndicator.js +55 -0
  41. package/dist/commonjs/components/Livestream/LivestreamTopView/LiveIndicator.js.map +1 -0
  42. package/dist/commonjs/components/Livestream/LivestreamTopView/ViewerLivestreamTopView.js +80 -0
  43. package/dist/commonjs/components/Livestream/LivestreamTopView/ViewerLivestreamTopView.js.map +1 -0
  44. package/dist/commonjs/components/Livestream/LivestreamTopView/index.js +50 -0
  45. package/dist/commonjs/components/Livestream/LivestreamTopView/index.js.map +1 -0
  46. package/dist/commonjs/components/Livestream/ViewerLivestream/ViewerLivestream.js +88 -0
  47. package/dist/commonjs/components/Livestream/ViewerLivestream/ViewerLivestream.js.map +1 -0
  48. package/dist/commonjs/components/Livestream/ViewerLivestream/index.js +17 -0
  49. package/dist/commonjs/components/Livestream/ViewerLivestream/index.js.map +1 -0
  50. package/dist/commonjs/components/Livestream/index.js +61 -0
  51. package/dist/commonjs/components/Livestream/index.js.map +1 -0
  52. package/dist/commonjs/components/index.js +11 -0
  53. package/dist/commonjs/components/index.js.map +1 -1
  54. package/dist/commonjs/hooks/index.js +22 -0
  55. package/dist/commonjs/hooks/index.js.map +1 -1
  56. package/dist/commonjs/hooks/useAutoEnterPiPEffect.js +20 -0
  57. package/dist/commonjs/hooks/useAutoEnterPiPEffect.js.map +1 -0
  58. package/dist/commonjs/hooks/useIsInPiPMode.js +25 -0
  59. package/dist/commonjs/hooks/useIsInPiPMode.js.map +1 -0
  60. package/dist/commonjs/hooks/usePaginatedLayoutSortPreset.js +26 -0
  61. package/dist/commonjs/hooks/usePaginatedLayoutSortPreset.js.map +1 -0
  62. package/dist/commonjs/icons/EndStreamIcon.js +20 -0
  63. package/dist/commonjs/icons/EndStreamIcon.js.map +1 -0
  64. package/dist/commonjs/icons/Eye.js +20 -0
  65. package/dist/commonjs/icons/Eye.js.map +1 -0
  66. package/dist/commonjs/icons/LeaveStreamIcon.js +20 -0
  67. package/dist/commonjs/icons/LeaveStreamIcon.js.map +1 -0
  68. package/dist/commonjs/icons/ShieldBadge.js +20 -0
  69. package/dist/commonjs/icons/ShieldBadge.js.map +1 -0
  70. package/dist/commonjs/icons/StartStreamIcon.js +20 -0
  71. package/dist/commonjs/icons/StartStreamIcon.js.map +1 -0
  72. package/dist/commonjs/icons/index.js +55 -0
  73. package/dist/commonjs/icons/index.js.map +1 -1
  74. package/dist/commonjs/providers/MediaStreamManagement.js +15 -2
  75. package/dist/commonjs/providers/MediaStreamManagement.js.map +1 -1
  76. package/dist/commonjs/theme/theme.js +70 -0
  77. package/dist/commonjs/theme/theme.js.map +1 -1
  78. package/dist/commonjs/translations/en.json +6 -1
  79. package/dist/commonjs/utils/enterPiPAndroid.js +15 -0
  80. package/dist/commonjs/utils/enterPiPAndroid.js.map +1 -0
  81. package/dist/commonjs/utils/index.js +12 -0
  82. package/dist/commonjs/utils/index.js.map +1 -1
  83. package/dist/commonjs/version.js +1 -1
  84. package/dist/module/components/Call/CallContent/CallContent.js +10 -7
  85. package/dist/module/components/Call/CallContent/CallContent.js.map +1 -1
  86. package/dist/module/components/Call/CallLayout/CallParticipantsGrid.js +7 -2
  87. package/dist/module/components/Call/CallLayout/CallParticipantsGrid.js.map +1 -1
  88. package/dist/module/components/Call/CallLayout/CallParticipantsSpotlight.js +3 -1
  89. package/dist/module/components/Call/CallLayout/CallParticipantsSpotlight.js.map +1 -1
  90. package/dist/module/components/Livestream/HostLivestream/HostLivestream.js +64 -0
  91. package/dist/module/components/Livestream/HostLivestream/HostLivestream.js.map +1 -0
  92. package/dist/module/components/Livestream/HostLivestream/index.js +2 -0
  93. package/dist/module/components/Livestream/HostLivestream/index.js.map +1 -0
  94. package/dist/module/components/Livestream/LivestreamControls/HostLivestreamControls.js +62 -0
  95. package/dist/module/components/Livestream/LivestreamControls/HostLivestreamControls.js.map +1 -0
  96. package/dist/module/components/Livestream/LivestreamControls/HostStartStreamButton.js +105 -0
  97. package/dist/module/components/Livestream/LivestreamControls/HostStartStreamButton.js.map +1 -0
  98. package/dist/module/components/Livestream/LivestreamControls/LivestreamAudioControlButton.js +63 -0
  99. package/dist/module/components/Livestream/LivestreamControls/LivestreamAudioControlButton.js.map +1 -0
  100. package/dist/module/components/Livestream/LivestreamControls/LivestreamMediaControls.js +31 -0
  101. package/dist/module/components/Livestream/LivestreamControls/LivestreamMediaControls.js.map +1 -0
  102. package/dist/module/components/Livestream/LivestreamControls/LivestreamVideoControlButton.js +63 -0
  103. package/dist/module/components/Livestream/LivestreamControls/LivestreamVideoControlButton.js.map +1 -0
  104. package/dist/module/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.js +75 -0
  105. package/dist/module/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.js.map +1 -0
  106. package/dist/module/components/Livestream/LivestreamControls/ViewerLivestreamControls.js +57 -0
  107. package/dist/module/components/Livestream/LivestreamControls/ViewerLivestreamControls.js.map +1 -0
  108. package/dist/module/components/Livestream/LivestreamControls/index.js +6 -0
  109. package/dist/module/components/Livestream/LivestreamControls/index.js.map +1 -0
  110. package/dist/module/components/Livestream/LivestreamLayout/LivestreamLayout.js +58 -0
  111. package/dist/module/components/Livestream/LivestreamLayout/LivestreamLayout.js.map +1 -0
  112. package/dist/module/components/Livestream/LivestreamLayout/index.js +2 -0
  113. package/dist/module/components/Livestream/LivestreamLayout/index.js.map +1 -0
  114. package/dist/module/components/Livestream/LivestreamTopView/DurationBadge.js +136 -0
  115. package/dist/module/components/Livestream/LivestreamTopView/DurationBadge.js.map +1 -0
  116. package/dist/module/components/Livestream/LivestreamTopView/FollowerCount.js +64 -0
  117. package/dist/module/components/Livestream/LivestreamTopView/FollowerCount.js.map +1 -0
  118. package/dist/module/components/Livestream/LivestreamTopView/HostLivestreamTopView.js +80 -0
  119. package/dist/module/components/Livestream/LivestreamTopView/HostLivestreamTopView.js.map +1 -0
  120. package/dist/module/components/Livestream/LivestreamTopView/LiveIndicator.js +48 -0
  121. package/dist/module/components/Livestream/LivestreamTopView/LiveIndicator.js.map +1 -0
  122. package/dist/module/components/Livestream/LivestreamTopView/ViewerLivestreamTopView.js +73 -0
  123. package/dist/module/components/Livestream/LivestreamTopView/ViewerLivestreamTopView.js.map +1 -0
  124. package/dist/module/components/Livestream/LivestreamTopView/index.js +5 -0
  125. package/dist/module/components/Livestream/LivestreamTopView/index.js.map +1 -0
  126. package/dist/module/components/Livestream/ViewerLivestream/ViewerLivestream.js +81 -0
  127. package/dist/module/components/Livestream/ViewerLivestream/ViewerLivestream.js.map +1 -0
  128. package/dist/module/components/Livestream/ViewerLivestream/index.js +2 -0
  129. package/dist/module/components/Livestream/ViewerLivestream/index.js.map +1 -0
  130. package/dist/module/components/Livestream/index.js +6 -0
  131. package/dist/module/components/Livestream/index.js.map +1 -0
  132. package/dist/module/components/index.js +1 -0
  133. package/dist/module/components/index.js.map +1 -1
  134. package/dist/module/hooks/index.js +2 -0
  135. package/dist/module/hooks/index.js.map +1 -1
  136. package/dist/module/hooks/useAutoEnterPiPEffect.js +14 -0
  137. package/dist/module/hooks/useAutoEnterPiPEffect.js.map +1 -0
  138. package/dist/module/hooks/useIsInPiPMode.js +19 -0
  139. package/dist/module/hooks/useIsInPiPMode.js.map +1 -0
  140. package/dist/module/hooks/usePaginatedLayoutSortPreset.js +19 -0
  141. package/dist/module/hooks/usePaginatedLayoutSortPreset.js.map +1 -0
  142. package/dist/module/icons/EndStreamIcon.js +12 -0
  143. package/dist/module/icons/EndStreamIcon.js.map +1 -0
  144. package/dist/module/icons/Eye.js +12 -0
  145. package/dist/module/icons/Eye.js.map +1 -0
  146. package/dist/module/icons/LeaveStreamIcon.js +12 -0
  147. package/dist/module/icons/LeaveStreamIcon.js.map +1 -0
  148. package/dist/module/icons/ShieldBadge.js +12 -0
  149. package/dist/module/icons/ShieldBadge.js.map +1 -0
  150. package/dist/module/icons/StartStreamIcon.js +12 -0
  151. package/dist/module/icons/StartStreamIcon.js.map +1 -0
  152. package/dist/module/icons/index.js +5 -0
  153. package/dist/module/icons/index.js.map +1 -1
  154. package/dist/module/providers/MediaStreamManagement.js +15 -2
  155. package/dist/module/providers/MediaStreamManagement.js.map +1 -1
  156. package/dist/module/theme/theme.js +70 -0
  157. package/dist/module/theme/theme.js.map +1 -1
  158. package/dist/module/translations/en.json +6 -1
  159. package/dist/module/utils/enterPiPAndroid.js +9 -0
  160. package/dist/module/utils/enterPiPAndroid.js.map +1 -0
  161. package/dist/module/utils/index.js +1 -0
  162. package/dist/module/utils/index.js.map +1 -1
  163. package/dist/module/version.js +1 -1
  164. package/dist/typescript/components/Call/CallContent/CallContent.d.ts.map +1 -1
  165. package/dist/typescript/components/Call/CallLayout/CallParticipantsGrid.d.ts.map +1 -1
  166. package/dist/typescript/components/Call/CallLayout/CallParticipantsSpotlight.d.ts.map +1 -1
  167. package/dist/typescript/components/Livestream/HostLivestream/HostLivestream.d.ts +30 -0
  168. package/dist/typescript/components/Livestream/HostLivestream/HostLivestream.d.ts.map +1 -0
  169. package/dist/typescript/components/Livestream/HostLivestream/index.d.ts +2 -0
  170. package/dist/typescript/components/Livestream/HostLivestream/index.d.ts.map +1 -0
  171. package/dist/typescript/components/Livestream/LivestreamControls/HostLivestreamControls.d.ts +25 -0
  172. package/dist/typescript/components/Livestream/LivestreamControls/HostLivestreamControls.d.ts.map +1 -0
  173. package/dist/typescript/components/Livestream/LivestreamControls/HostStartStreamButton.d.ts +25 -0
  174. package/dist/typescript/components/Livestream/LivestreamControls/HostStartStreamButton.d.ts.map +1 -0
  175. package/dist/typescript/components/Livestream/LivestreamControls/LivestreamAudioControlButton.d.ts +6 -0
  176. package/dist/typescript/components/Livestream/LivestreamControls/LivestreamAudioControlButton.d.ts.map +1 -0
  177. package/dist/typescript/components/Livestream/LivestreamControls/LivestreamMediaControls.d.ts +10 -0
  178. package/dist/typescript/components/Livestream/LivestreamControls/LivestreamMediaControls.d.ts.map +1 -0
  179. package/dist/typescript/components/Livestream/LivestreamControls/LivestreamVideoControlButton.d.ts +6 -0
  180. package/dist/typescript/components/Livestream/LivestreamControls/LivestreamVideoControlButton.d.ts.map +1 -0
  181. package/dist/typescript/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.d.ts +16 -0
  182. package/dist/typescript/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.d.ts.map +1 -0
  183. package/dist/typescript/components/Livestream/LivestreamControls/ViewerLivestreamControls.d.ts +16 -0
  184. package/dist/typescript/components/Livestream/LivestreamControls/ViewerLivestreamControls.d.ts.map +1 -0
  185. package/dist/typescript/components/Livestream/LivestreamControls/index.d.ts +6 -0
  186. package/dist/typescript/components/Livestream/LivestreamControls/index.d.ts.map +1 -0
  187. package/dist/typescript/components/Livestream/LivestreamLayout/LivestreamLayout.d.ts +17 -0
  188. package/dist/typescript/components/Livestream/LivestreamLayout/LivestreamLayout.d.ts.map +1 -0
  189. package/dist/typescript/components/Livestream/LivestreamLayout/index.d.ts +2 -0
  190. package/dist/typescript/components/Livestream/LivestreamLayout/index.d.ts.map +1 -0
  191. package/dist/typescript/components/Livestream/LivestreamTopView/DurationBadge.d.ts +12 -0
  192. package/dist/typescript/components/Livestream/LivestreamTopView/DurationBadge.d.ts.map +1 -0
  193. package/dist/typescript/components/Livestream/LivestreamTopView/FollowerCount.d.ts +10 -0
  194. package/dist/typescript/components/Livestream/LivestreamTopView/FollowerCount.d.ts.map +1 -0
  195. package/dist/typescript/components/Livestream/LivestreamTopView/HostLivestreamTopView.d.ts +26 -0
  196. package/dist/typescript/components/Livestream/LivestreamTopView/HostLivestreamTopView.d.ts.map +1 -0
  197. package/dist/typescript/components/Livestream/LivestreamTopView/LiveIndicator.d.ts +10 -0
  198. package/dist/typescript/components/Livestream/LivestreamTopView/LiveIndicator.d.ts.map +1 -0
  199. package/dist/typescript/components/Livestream/LivestreamTopView/ViewerLivestreamTopView.d.ts +26 -0
  200. package/dist/typescript/components/Livestream/LivestreamTopView/ViewerLivestreamTopView.d.ts.map +1 -0
  201. package/dist/typescript/components/Livestream/LivestreamTopView/index.d.ts +5 -0
  202. package/dist/typescript/components/Livestream/LivestreamTopView/index.d.ts.map +1 -0
  203. package/dist/typescript/components/Livestream/ViewerLivestream/ViewerLivestream.d.ts +32 -0
  204. package/dist/typescript/components/Livestream/ViewerLivestream/ViewerLivestream.d.ts.map +1 -0
  205. package/dist/typescript/components/Livestream/ViewerLivestream/index.d.ts +2 -0
  206. package/dist/typescript/components/Livestream/ViewerLivestream/index.d.ts.map +1 -0
  207. package/dist/typescript/components/Livestream/index.d.ts +6 -0
  208. package/dist/typescript/components/Livestream/index.d.ts.map +1 -0
  209. package/dist/typescript/components/index.d.ts +1 -0
  210. package/dist/typescript/components/index.d.ts.map +1 -1
  211. package/dist/typescript/hooks/index.d.ts +2 -0
  212. package/dist/typescript/hooks/index.d.ts.map +1 -1
  213. package/dist/typescript/hooks/useAutoEnterPiPEffect.d.ts +2 -0
  214. package/dist/typescript/hooks/useAutoEnterPiPEffect.d.ts.map +1 -0
  215. package/dist/typescript/hooks/useIsInPiPMode.d.ts +2 -0
  216. package/dist/typescript/hooks/useIsInPiPMode.d.ts.map +1 -0
  217. package/dist/typescript/hooks/usePaginatedLayoutSortPreset.d.ts +3 -0
  218. package/dist/typescript/hooks/usePaginatedLayoutSortPreset.d.ts.map +1 -0
  219. package/dist/typescript/icons/EndStreamIcon.d.ts +3 -0
  220. package/dist/typescript/icons/EndStreamIcon.d.ts.map +1 -0
  221. package/dist/typescript/icons/Eye.d.ts +3 -0
  222. package/dist/typescript/icons/Eye.d.ts.map +1 -0
  223. package/dist/typescript/icons/LeaveStreamIcon.d.ts +3 -0
  224. package/dist/typescript/icons/LeaveStreamIcon.d.ts.map +1 -0
  225. package/dist/typescript/icons/ShieldBadge.d.ts +3 -0
  226. package/dist/typescript/icons/ShieldBadge.d.ts.map +1 -0
  227. package/dist/typescript/icons/StartStreamIcon.d.ts +3 -0
  228. package/dist/typescript/icons/StartStreamIcon.d.ts.map +1 -0
  229. package/dist/typescript/icons/index.d.ts +5 -0
  230. package/dist/typescript/icons/index.d.ts.map +1 -1
  231. package/dist/typescript/providers/MediaStreamManagement.d.ts.map +1 -1
  232. package/dist/typescript/theme/theme.d.ts +70 -0
  233. package/dist/typescript/theme/theme.d.ts.map +1 -1
  234. package/dist/typescript/translations/index.d.ts +6 -1
  235. package/dist/typescript/translations/index.d.ts.map +1 -1
  236. package/dist/typescript/utils/enterPiPAndroid.d.ts +2 -0
  237. package/dist/typescript/utils/enterPiPAndroid.d.ts.map +1 -0
  238. package/dist/typescript/utils/index.d.ts +1 -0
  239. package/dist/typescript/utils/index.d.ts.map +1 -1
  240. package/dist/typescript/version.d.ts +1 -1
  241. package/expo-config-plugin/dist/common/addNewLinesToMainActivity.d.ts +1 -0
  242. package/expo-config-plugin/dist/common/addNewLinesToMainActivity.js +16 -0
  243. package/expo-config-plugin/dist/common/types.d.ts +4 -0
  244. package/expo-config-plugin/dist/index.js +6 -2
  245. package/expo-config-plugin/dist/withAndroidManifest.d.ts +2 -1
  246. package/expo-config-plugin/dist/withAndroidManifest.js +20 -2
  247. package/expo-config-plugin/dist/withMainActivity.d.ts +4 -0
  248. package/expo-config-plugin/dist/withMainActivity.js +72 -0
  249. package/package.json +1 -1
  250. package/src/components/Call/CallContent/CallContent.tsx +15 -7
  251. package/src/components/Call/CallLayout/CallParticipantsGrid.tsx +16 -2
  252. package/src/components/Call/CallLayout/CallParticipantsSpotlight.tsx +4 -1
  253. package/src/components/Livestream/HostLivestream/HostLivestream.tsx +99 -0
  254. package/src/components/Livestream/HostLivestream/index.ts +1 -0
  255. package/src/components/Livestream/LivestreamControls/HostLivestreamControls.tsx +87 -0
  256. package/src/components/Livestream/LivestreamControls/HostStartStreamButton.tsx +163 -0
  257. package/src/components/Livestream/LivestreamControls/LivestreamAudioControlButton.tsx +78 -0
  258. package/src/components/Livestream/LivestreamControls/LivestreamMediaControls.tsx +32 -0
  259. package/src/components/Livestream/LivestreamControls/LivestreamVideoControlButton.tsx +78 -0
  260. package/src/components/Livestream/LivestreamControls/ViewerLeaveStreamButton.tsx +102 -0
  261. package/src/components/Livestream/LivestreamControls/ViewerLivestreamControls.tsx +75 -0
  262. package/src/components/Livestream/LivestreamControls/index.ts +5 -0
  263. package/src/components/Livestream/LivestreamLayout/LivestreamLayout.tsx +77 -0
  264. package/src/components/Livestream/LivestreamLayout/index.ts +1 -0
  265. package/src/components/Livestream/LivestreamTopView/DurationBadge.tsx +170 -0
  266. package/src/components/Livestream/LivestreamTopView/FollowerCount.tsx +74 -0
  267. package/src/components/Livestream/LivestreamTopView/HostLivestreamTopView.tsx +105 -0
  268. package/src/components/Livestream/LivestreamTopView/LiveIndicator.tsx +53 -0
  269. package/src/components/Livestream/LivestreamTopView/ViewerLivestreamTopView.tsx +102 -0
  270. package/src/components/Livestream/LivestreamTopView/index.ts +4 -0
  271. package/src/components/Livestream/ViewerLivestream/ViewerLivestream.tsx +126 -0
  272. package/src/components/Livestream/ViewerLivestream/index.ts +1 -0
  273. package/src/components/Livestream/index.ts +5 -0
  274. package/src/components/index.ts +1 -0
  275. package/src/hooks/index.ts +2 -0
  276. package/src/hooks/useAutoEnterPiPEffect.tsx +16 -0
  277. package/src/hooks/useIsInPiPMode.tsx +29 -0
  278. package/src/hooks/usePaginatedLayoutSortPreset.ts +27 -0
  279. package/src/icons/EndStreamIcon.tsx +13 -0
  280. package/src/icons/Eye.tsx +13 -0
  281. package/src/icons/LeaveStreamIcon.tsx +13 -0
  282. package/src/icons/ShieldBadge.tsx +13 -0
  283. package/src/icons/StartStreamIcon.tsx +13 -0
  284. package/src/icons/index.tsx +5 -0
  285. package/src/providers/MediaStreamManagement.tsx +14 -1
  286. package/src/theme/theme.ts +140 -0
  287. package/src/translations/en.json +6 -1
  288. package/src/utils/enterPiPAndroid.ts +11 -0
  289. package/src/utils/index.ts +1 -0
  290. package/src/version.ts +1 -1
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.HostStartStreamButton = void 0;
7
+ var _videoReactBindings = require("@stream-io/video-react-bindings");
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _reactNative = require("react-native");
10
+ var _contexts = require("../../../contexts");
11
+ var _icons = require("../../../icons");
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ /**
15
+ * Props for the HostStartStreamButton component.
16
+ */
17
+
18
+ /**
19
+ * The HostStartStreamButton component displays and controls the start and end of the host's live stream.
20
+ */
21
+ const HostStartStreamButton = _ref => {
22
+ let {
23
+ onEndStreamHandler,
24
+ onStartStreamHandler,
25
+ hls
26
+ } = _ref;
27
+ const [isAwaitingResponse, setIsAwaitingResponse] = (0, _react.useState)(false);
28
+ const {
29
+ useIsCallLive,
30
+ useIsCallBroadcastingInProgress
31
+ } = (0, _videoReactBindings.useCallStateHooks)();
32
+ const {
33
+ theme: {
34
+ colors,
35
+ variants: {
36
+ iconSizes
37
+ },
38
+ typefaces,
39
+ hostStartStreamButton
40
+ }
41
+ } = (0, _contexts.useTheme)();
42
+ const call = (0, _videoReactBindings.useCall)();
43
+ const isCallLive = useIsCallLive();
44
+ const isCallBroadcasting = useIsCallBroadcastingInProgress();
45
+ const {
46
+ t
47
+ } = (0, _videoReactBindings.useI18n)();
48
+ const liveOrBroadcasting = isCallLive || isCallBroadcasting;
49
+ const onStartStreamButtonPress = async () => {
50
+ if (onStartStreamHandler) {
51
+ onStartStreamHandler();
52
+ return;
53
+ }
54
+ try {
55
+ setIsAwaitingResponse(true);
56
+ await (call === null || call === void 0 ? void 0 : call.goLive());
57
+ if (hls) {
58
+ await (call === null || call === void 0 ? void 0 : call.startHLS());
59
+ }
60
+ setIsAwaitingResponse(false);
61
+ } catch (error) {
62
+ console.error('Error starting livestream', error);
63
+ }
64
+ };
65
+ const onEndStreamButtonPress = async () => {
66
+ if (onEndStreamHandler) {
67
+ onEndStreamHandler();
68
+ return;
69
+ }
70
+ try {
71
+ setIsAwaitingResponse(true);
72
+ if (hls) {
73
+ await (call === null || call === void 0 ? void 0 : call.stopHLS());
74
+ } else {
75
+ await (call === null || call === void 0 ? void 0 : call.stopLive());
76
+ }
77
+ setIsAwaitingResponse(false);
78
+ } catch (error) {
79
+ console.error('Error stopping livestream', error);
80
+ }
81
+ };
82
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
83
+ disabled: isAwaitingResponse,
84
+ style: [styles.container, {
85
+ backgroundColor: isAwaitingResponse ? colors.dark_gray : liveOrBroadcasting ? colors.error : colors.primary
86
+ }, hostStartStreamButton.container],
87
+ onPress: liveOrBroadcasting ? onEndStreamButtonPress : onStartStreamButtonPress
88
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
89
+ style: [styles.icon, {
90
+ height: iconSizes.xs,
91
+ width: iconSizes.xs
92
+ }, hostStartStreamButton.icon]
93
+ }, isAwaitingResponse ? /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, null) : liveOrBroadcasting ? /*#__PURE__*/_react.default.createElement(_icons.EndBroadcastIcon, null) : /*#__PURE__*/_react.default.createElement(_icons.StartStreamIcon, null)), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
94
+ style: [styles.text, typefaces.subtitleBold, {
95
+ color: colors.static_white
96
+ }, hostStartStreamButton.text]
97
+ }, isAwaitingResponse ? t('Loading...') : liveOrBroadcasting ? t('Stop Livestream') : t('Start Livestream')));
98
+ };
99
+ exports.HostStartStreamButton = HostStartStreamButton;
100
+ const styles = _reactNative.StyleSheet.create({
101
+ container: {
102
+ flexDirection: 'row',
103
+ alignItems: 'center',
104
+ padding: 8,
105
+ borderRadius: 4
106
+ },
107
+ icon: {},
108
+ text: {
109
+ marginLeft: 8,
110
+ includeFontPadding: false
111
+ }
112
+ });
113
+ //# sourceMappingURL=HostStartStreamButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_videoReactBindings","require","_react","_interopRequireWildcard","_reactNative","_contexts","_icons","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","HostStartStreamButton","_ref","onEndStreamHandler","onStartStreamHandler","hls","isAwaitingResponse","setIsAwaitingResponse","useState","useIsCallLive","useIsCallBroadcastingInProgress","useCallStateHooks","theme","colors","variants","iconSizes","typefaces","hostStartStreamButton","useTheme","useCall","isCallLive","isCallBroadcasting","t","useI18n","liveOrBroadcasting","onStartStreamButtonPress","goLive","startHLS","error","console","onEndStreamButtonPress","stopHLS","stopLive","createElement","Pressable","disabled","style","styles","container","backgroundColor","dark_gray","primary","onPress","View","icon","height","xs","width","ActivityIndicator","EndBroadcastIcon","StartStreamIcon","Text","text","subtitleBold","color","static_white","exports","StyleSheet","create","flexDirection","alignItems","padding","borderRadius","marginLeft","includeFontPadding"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamControls/HostStartStreamButton.tsx"],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LivestreamAudioControlButton = void 0;
7
+ var _videoReactBindings = require("@stream-io/video-react-bindings");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _contexts = require("../../../contexts");
10
+ var _reactNative = require("react-native");
11
+ var _icons = require("../../../icons");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ /**
14
+ * The LivestreamAudioControlButton controls the audio stream publish/unpublish while in the livestream for the host.
15
+ */
16
+ const LivestreamAudioControlButton = () => {
17
+ const call = (0, _videoReactBindings.useCall)();
18
+ const {
19
+ useMicrophoneState
20
+ } = (0, _videoReactBindings.useCallStateHooks)();
21
+ const {
22
+ status
23
+ } = useMicrophoneState();
24
+ const {
25
+ theme: {
26
+ colors,
27
+ variants: {
28
+ iconSizes,
29
+ buttonSizes
30
+ },
31
+ livestreamAudioControlButton
32
+ }
33
+ } = (0, _contexts.useTheme)();
34
+ const onPress = async () => {
35
+ await (call === null || call === void 0 ? void 0 : call.microphone.toggle());
36
+ };
37
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
38
+ onPress: onPress,
39
+ style: [styles.container, {
40
+ backgroundColor: colors.dark_gray,
41
+ height: buttonSizes.xs,
42
+ width: buttonSizes.xs
43
+ }, livestreamAudioControlButton.container]
44
+ }, status === 'enabled' ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
45
+ style: [styles.icon, {
46
+ height: iconSizes.sm,
47
+ width: iconSizes.sm
48
+ }, livestreamAudioControlButton.icon]
49
+ }, /*#__PURE__*/_react.default.createElement(_icons.Mic, {
50
+ color: colors.static_white
51
+ })) : /*#__PURE__*/_react.default.createElement(_reactNative.View, {
52
+ style: [styles.icon, {
53
+ height: iconSizes.sm,
54
+ width: iconSizes.sm
55
+ }, livestreamAudioControlButton.icon]
56
+ }, /*#__PURE__*/_react.default.createElement(_icons.MicOff, {
57
+ color: colors.static_white
58
+ })));
59
+ };
60
+ exports.LivestreamAudioControlButton = LivestreamAudioControlButton;
61
+ const styles = _reactNative.StyleSheet.create({
62
+ container: {
63
+ justifyContent: 'center',
64
+ alignItems: 'center',
65
+ marginHorizontal: 4,
66
+ borderRadius: 4
67
+ },
68
+ icon: {}
69
+ });
70
+ //# sourceMappingURL=LivestreamAudioControlButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_videoReactBindings","require","_react","_interopRequireDefault","_contexts","_reactNative","_icons","obj","__esModule","default","LivestreamAudioControlButton","call","useCall","useMicrophoneState","useCallStateHooks","status","theme","colors","variants","iconSizes","buttonSizes","livestreamAudioControlButton","useTheme","onPress","microphone","toggle","createElement","Pressable","style","styles","container","backgroundColor","dark_gray","height","xs","width","View","icon","sm","Mic","color","static_white","MicOff","exports","StyleSheet","create","justifyContent","alignItems","marginHorizontal","borderRadius"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamControls/LivestreamAudioControlButton.tsx"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAA6C,SAAAE,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE7C;AACA;AACA;AACO,MAAMG,4BAA4B,GAAGA,CAAA,KAAM;EAChD,MAAMC,IAAI,GAAG,IAAAC,2BAAO,EAAC,CAAC;EACtB,MAAM;IAAEC;EAAmB,CAAC,GAAG,IAAAC,qCAAiB,EAAC,CAAC;EAClD,MAAM;IAAEC;EAAO,CAAC,GAAGF,kBAAkB,CAAC,CAAC;EACvC,MAAM;IACJG,KAAK,EAAE;MACLC,MAAM;MACNC,QAAQ,EAAE;QAAEC,SAAS;QAAEC;MAAY,CAAC;MACpCC;IACF;EACF,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EAEd,MAAMC,OAAO,GAAG,MAAAA,CAAA,KAAY;IAC1B,OAAMZ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEa,UAAU,CAACC,MAAM,CAAC,CAAC;EACjC,CAAC;EAED,oBACEvB,MAAA,CAAAO,OAAA,CAAAiB,aAAA,CAACrB,YAAA,CAAAsB,SAAS;IACRJ,OAAO,EAAEA,OAAQ;IACjBK,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MACEC,eAAe,EAAEd,MAAM,CAACe,SAAS;MACjCC,MAAM,EAAEb,WAAW,CAACc,EAAE;MACtBC,KAAK,EAAEf,WAAW,CAACc;IACrB,CAAC,EACDb,4BAA4B,CAACS,SAAS;EACtC,GAEDf,MAAM,KAAK,SAAS,gBACnBb,MAAA,CAAAO,OAAA,CAAAiB,aAAA,CAACrB,YAAA,CAAA+B,IAAI;IACHR,KAAK,EAAE,CACLC,MAAM,CAACQ,IAAI,EACX;MACEJ,MAAM,EAAEd,SAAS,CAACmB,EAAE;MACpBH,KAAK,EAAEhB,SAAS,CAACmB;IACnB,CAAC,EACDjB,4BAA4B,CAACgB,IAAI;EACjC,gBAEFnC,MAAA,CAAAO,OAAA,CAAAiB,aAAA,CAACpB,MAAA,CAAAiC,GAAG;IAACC,KAAK,EAAEvB,MAAM,CAACwB;EAAa,CAAE,CAC9B,CAAC,gBAEPvC,MAAA,CAAAO,OAAA,CAAAiB,aAAA,CAACrB,YAAA,CAAA+B,IAAI;IACHR,KAAK,EAAE,CACLC,MAAM,CAACQ,IAAI,EACX;MACEJ,MAAM,EAAEd,SAAS,CAACmB,EAAE;MACpBH,KAAK,EAAEhB,SAAS,CAACmB;IACnB,CAAC,EACDjB,4BAA4B,CAACgB,IAAI;EACjC,gBAEFnC,MAAA,CAAAO,OAAA,CAAAiB,aAAA,CAACpB,MAAA,CAAAoC,MAAM;IAACF,KAAK,EAAEvB,MAAM,CAACwB;EAAa,CAAE,CACjC,CAEC,CAAC;AAEhB,CAAC;AAACE,OAAA,CAAAjC,4BAAA,GAAAA,4BAAA;AAEF,MAAMmB,MAAM,GAAGe,uBAAU,CAACC,MAAM,CAAC;EAC/Bf,SAAS,EAAE;IACTgB,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,gBAAgB,EAAE,CAAC;IACnBC,YAAY,EAAE;EAChB,CAAC;EACDZ,IAAI,EAAE,CAAC;AACT,CAAC,CAAC"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LivestreamMediaControls = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _contexts = require("../../../contexts");
10
+ var _LivestreamAudioControlButton = require("./LivestreamAudioControlButton");
11
+ var _LivestreamVideoControlButton = require("./LivestreamVideoControlButton");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ /**
14
+ * Props for the LivestreamMediaControls component.
15
+ */
16
+
17
+ /**
18
+ * The LivestreamMediaControls component controls the media publish/unpublish for the host's live stream.
19
+ */
20
+ const LivestreamMediaControls = _ref => {
21
+ let {} = _ref;
22
+ const {
23
+ theme: {
24
+ livestreamMediaControls
25
+ }
26
+ } = (0, _contexts.useTheme)();
27
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
28
+ style: [styles.container, livestreamMediaControls.container]
29
+ }, /*#__PURE__*/_react.default.createElement(_LivestreamAudioControlButton.LivestreamAudioControlButton, null), /*#__PURE__*/_react.default.createElement(_LivestreamVideoControlButton.LivestreamVideoControlButton, null));
30
+ };
31
+ exports.LivestreamMediaControls = LivestreamMediaControls;
32
+ const styles = _reactNative.StyleSheet.create({
33
+ container: {
34
+ flexDirection: 'row',
35
+ alignItems: 'center'
36
+ }
37
+ });
38
+ //# sourceMappingURL=LivestreamMediaControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_contexts","_LivestreamAudioControlButton","_LivestreamVideoControlButton","obj","__esModule","default","LivestreamMediaControls","_ref","theme","livestreamMediaControls","useTheme","createElement","View","style","styles","container","LivestreamAudioControlButton","LivestreamVideoControlButton","exports","StyleSheet","create","flexDirection","alignItems"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamControls/LivestreamMediaControls.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,6BAAA,GAAAH,OAAA;AACA,IAAAI,6BAAA,GAAAJ,OAAA;AAA8E,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE9E;AACA;AACA;;AAGA;AACA;AACA;AACO,MAAMG,uBAAuB,GAAGC,IAAA,IAAsC;EAAA,IAArC,CAA+B,CAAC,GAAAA,IAAA;EACtE,MAAM;IACJC,KAAK,EAAE;MAAEC;IAAwB;EACnC,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACd,oBACEd,MAAA,CAAAS,OAAA,CAAAM,aAAA,CAACZ,YAAA,CAAAa,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAEN,uBAAuB,CAACM,SAAS;EAAE,gBACjEnB,MAAA,CAAAS,OAAA,CAAAM,aAAA,CAACV,6BAAA,CAAAe,4BAA4B,MAAE,CAAC,eAChCpB,MAAA,CAAAS,OAAA,CAAAM,aAAA,CAACT,6BAAA,CAAAe,4BAA4B,MAAE,CAC3B,CAAC;AAEX,CAAC;AAACC,OAAA,CAAAZ,uBAAA,GAAAA,uBAAA;AAEF,MAAMQ,MAAM,GAAGK,uBAAU,CAACC,MAAM,CAAC;EAC/BL,SAAS,EAAE;IACTM,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE;EACd;AACF,CAAC,CAAC"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LivestreamVideoControlButton = void 0;
7
+ var _videoReactBindings = require("@stream-io/video-react-bindings");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _contexts = require("../../../contexts");
10
+ var _reactNative = require("react-native");
11
+ var _icons = require("../../../icons");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ /**
14
+ * The LivestreamVideoControlButton controls the video stream publish/unpublish while in the livestream for the host.
15
+ */
16
+ const LivestreamVideoControlButton = () => {
17
+ const call = (0, _videoReactBindings.useCall)();
18
+ const {
19
+ useCameraState
20
+ } = (0, _videoReactBindings.useCallStateHooks)();
21
+ const {
22
+ status
23
+ } = useCameraState();
24
+ const {
25
+ theme: {
26
+ colors,
27
+ variants: {
28
+ iconSizes,
29
+ buttonSizes
30
+ },
31
+ livestreamVideoControlButton
32
+ }
33
+ } = (0, _contexts.useTheme)();
34
+ const onPress = async () => {
35
+ await (call === null || call === void 0 ? void 0 : call.camera.toggle());
36
+ };
37
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
38
+ onPress: onPress,
39
+ style: [styles.container, {
40
+ backgroundColor: colors.dark_gray,
41
+ height: buttonSizes.xs,
42
+ width: buttonSizes.xs
43
+ }, livestreamVideoControlButton.container]
44
+ }, status === 'enabled' ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
45
+ style: [styles.icon, {
46
+ height: iconSizes.sm,
47
+ width: iconSizes.sm
48
+ }, livestreamVideoControlButton.icon]
49
+ }, /*#__PURE__*/_react.default.createElement(_icons.Video, {
50
+ color: colors.static_white
51
+ })) : /*#__PURE__*/_react.default.createElement(_reactNative.View, {
52
+ style: [styles.icon, {
53
+ height: iconSizes.sm,
54
+ width: iconSizes.sm
55
+ }, livestreamVideoControlButton.icon]
56
+ }, /*#__PURE__*/_react.default.createElement(_icons.VideoSlash, {
57
+ color: colors.static_white
58
+ })));
59
+ };
60
+ exports.LivestreamVideoControlButton = LivestreamVideoControlButton;
61
+ const styles = _reactNative.StyleSheet.create({
62
+ container: {
63
+ justifyContent: 'center',
64
+ alignItems: 'center',
65
+ marginHorizontal: 4,
66
+ borderRadius: 4
67
+ },
68
+ icon: {}
69
+ });
70
+ //# sourceMappingURL=LivestreamVideoControlButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_videoReactBindings","require","_react","_interopRequireDefault","_contexts","_reactNative","_icons","obj","__esModule","default","LivestreamVideoControlButton","call","useCall","useCameraState","useCallStateHooks","status","theme","colors","variants","iconSizes","buttonSizes","livestreamVideoControlButton","useTheme","onPress","camera","toggle","createElement","Pressable","style","styles","container","backgroundColor","dark_gray","height","xs","width","View","icon","sm","Video","color","static_white","VideoSlash","exports","StyleSheet","create","justifyContent","alignItems","marginHorizontal","borderRadius"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamControls/LivestreamVideoControlButton.tsx"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAAmD,SAAAE,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEnD;AACA;AACA;AACO,MAAMG,4BAA4B,GAAGA,CAAA,KAAM;EAChD,MAAMC,IAAI,GAAG,IAAAC,2BAAO,EAAC,CAAC;EACtB,MAAM;IAAEC;EAAe,CAAC,GAAG,IAAAC,qCAAiB,EAAC,CAAC;EAC9C,MAAM;IAAEC;EAAO,CAAC,GAAGF,cAAc,CAAC,CAAC;EACnC,MAAM;IACJG,KAAK,EAAE;MACLC,MAAM;MACNC,QAAQ,EAAE;QAAEC,SAAS;QAAEC;MAAY,CAAC;MACpCC;IACF;EACF,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EAEd,MAAMC,OAAO,GAAG,MAAAA,CAAA,KAAY;IAC1B,OAAMZ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEa,MAAM,CAACC,MAAM,CAAC,CAAC;EAC7B,CAAC;EAED,oBACEvB,MAAA,CAAAO,OAAA,CAAAiB,aAAA,CAACrB,YAAA,CAAAsB,SAAS;IACRJ,OAAO,EAAEA,OAAQ;IACjBK,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MACEC,eAAe,EAAEd,MAAM,CAACe,SAAS;MACjCC,MAAM,EAAEb,WAAW,CAACc,EAAE;MACtBC,KAAK,EAAEf,WAAW,CAACc;IACrB,CAAC,EACDb,4BAA4B,CAACS,SAAS;EACtC,GAEDf,MAAM,KAAK,SAAS,gBACnBb,MAAA,CAAAO,OAAA,CAAAiB,aAAA,CAACrB,YAAA,CAAA+B,IAAI;IACHR,KAAK,EAAE,CACLC,MAAM,CAACQ,IAAI,EACX;MACEJ,MAAM,EAAEd,SAAS,CAACmB,EAAE;MACpBH,KAAK,EAAEhB,SAAS,CAACmB;IACnB,CAAC,EACDjB,4BAA4B,CAACgB,IAAI;EACjC,gBAEFnC,MAAA,CAAAO,OAAA,CAAAiB,aAAA,CAACpB,MAAA,CAAAiC,KAAK;IAACC,KAAK,EAAEvB,MAAM,CAACwB;EAAa,CAAE,CAChC,CAAC,gBAEPvC,MAAA,CAAAO,OAAA,CAAAiB,aAAA,CAACrB,YAAA,CAAA+B,IAAI;IACHR,KAAK,EAAE,CACLC,MAAM,CAACQ,IAAI,EACX;MACEJ,MAAM,EAAEd,SAAS,CAACmB,EAAE;MACpBH,KAAK,EAAEhB,SAAS,CAACmB;IACnB,CAAC,EACDjB,4BAA4B,CAACgB,IAAI;EACjC,gBAEFnC,MAAA,CAAAO,OAAA,CAAAiB,aAAA,CAACpB,MAAA,CAAAoC,UAAU;IAACF,KAAK,EAAEvB,MAAM,CAACwB;EAAa,CAAE,CACrC,CAEC,CAAC;AAEhB,CAAC;AAACE,OAAA,CAAAjC,4BAAA,GAAAA,4BAAA;AAEF,MAAMmB,MAAM,GAAGe,uBAAU,CAACC,MAAM,CAAC;EAC/Bf,SAAS,EAAE;IACTgB,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,gBAAgB,EAAE,CAAC;IACnBC,YAAY,EAAE;EAChB,CAAC;EACDZ,IAAI,EAAE,CAAC;AACT,CAAC,CAAC"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ViewerLeaveStreamButton = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _contexts = require("../../../contexts");
10
+ var _icons = require("../../../icons");
11
+ var _videoReactBindings = require("@stream-io/video-react-bindings");
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ /**
15
+ * Props for the ViewerLeaveStreamButton component.
16
+ */
17
+
18
+ /**
19
+ * The ViewerLeaveStreamButton component displays and controls the leave stream logic of the viewer's live stream.
20
+ */
21
+ const ViewerLeaveStreamButton = _ref => {
22
+ let {
23
+ onLeaveStreamHandler
24
+ } = _ref;
25
+ const [isAwaitingResponse, setIsAwaitingResponse] = (0, _react.useState)(false);
26
+ const call = (0, _videoReactBindings.useCall)();
27
+ const {
28
+ t
29
+ } = (0, _videoReactBindings.useI18n)();
30
+ const {
31
+ theme: {
32
+ colors,
33
+ variants: {
34
+ iconSizes
35
+ },
36
+ typefaces,
37
+ viewerLeaveStreamButton
38
+ }
39
+ } = (0, _contexts.useTheme)();
40
+ const onLeaveStreamButtonPress = async () => {
41
+ if (onLeaveStreamHandler) {
42
+ onLeaveStreamHandler();
43
+ return;
44
+ }
45
+ try {
46
+ setIsAwaitingResponse(true);
47
+ await (call === null || call === void 0 ? void 0 : call.leave());
48
+ setIsAwaitingResponse(false);
49
+ } catch (error) {
50
+ console.error('Error stopping livestream', error);
51
+ }
52
+ };
53
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
54
+ style: [styles.container, {
55
+ backgroundColor: colors.dark_gray
56
+ }, viewerLeaveStreamButton.container],
57
+ onPress: onLeaveStreamButtonPress
58
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
59
+ style: [styles.icon, {
60
+ height: iconSizes.xs,
61
+ width: iconSizes.xs
62
+ }, viewerLeaveStreamButton.icon]
63
+ }, isAwaitingResponse ? /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, null) : /*#__PURE__*/_react.default.createElement(_icons.LeaveStreamIcon, null)), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
64
+ style: [styles.text, typefaces.subtitleBold, {
65
+ color: colors.static_white
66
+ }, viewerLeaveStreamButton.text]
67
+ }, isAwaitingResponse ? t('Loading...') : t('Leave Stream')));
68
+ };
69
+ exports.ViewerLeaveStreamButton = ViewerLeaveStreamButton;
70
+ const styles = _reactNative.StyleSheet.create({
71
+ container: {
72
+ flexDirection: 'row',
73
+ alignItems: 'center',
74
+ padding: 8,
75
+ borderRadius: 4
76
+ },
77
+ icon: {},
78
+ text: {
79
+ marginLeft: 8,
80
+ includeFontPadding: false
81
+ }
82
+ });
83
+ //# sourceMappingURL=ViewerLeaveStreamButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_contexts","_icons","_videoReactBindings","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ViewerLeaveStreamButton","_ref","onLeaveStreamHandler","isAwaitingResponse","setIsAwaitingResponse","useState","useCall","t","useI18n","theme","colors","variants","iconSizes","typefaces","viewerLeaveStreamButton","useTheme","onLeaveStreamButtonPress","leave","error","console","createElement","Pressable","style","styles","container","backgroundColor","dark_gray","onPress","View","icon","height","xs","width","ActivityIndicator","LeaveStreamIcon","Text","text","subtitleBold","color","static_white","exports","StyleSheet","create","flexDirection","alignItems","padding","borderRadius","marginLeft","includeFontPadding"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamControls/ViewerLeaveStreamButton.tsx"],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ViewerLivestreamControls = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _ViewerLeaveStreamButton = require("./ViewerLeaveStreamButton");
10
+ var _contexts = require("../../../contexts");
11
+ var _constants = require("../../../constants");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ /**
14
+ * Props for the ViewerLivestreamControls component.
15
+ */
16
+
17
+ /**
18
+ * The ViewerLivestreamControls component displays the call controls for the live stream at viewer's end.
19
+ */
20
+ const ViewerLivestreamControls = _ref => {
21
+ let {
22
+ ViewerLeaveStreamButton = _ViewerLeaveStreamButton.ViewerLeaveStreamButton,
23
+ onLeaveStreamHandler
24
+ } = _ref;
25
+ const {
26
+ theme: {
27
+ colors,
28
+ viewerLivestreamControls
29
+ }
30
+ } = (0, _contexts.useTheme)();
31
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
32
+ style: [styles.container, {
33
+ backgroundColor: colors.static_overlay
34
+ }, viewerLivestreamControls.container]
35
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
36
+ style: [styles.leftElement, viewerLivestreamControls.leftElement]
37
+ }, ViewerLeaveStreamButton && /*#__PURE__*/_react.default.createElement(ViewerLeaveStreamButton, {
38
+ onLeaveStreamHandler: onLeaveStreamHandler
39
+ })), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
40
+ style: [styles.rightElement, viewerLivestreamControls.rightElement]
41
+ }));
42
+ };
43
+ exports.ViewerLivestreamControls = ViewerLivestreamControls;
44
+ const styles = _reactNative.StyleSheet.create({
45
+ container: {
46
+ position: 'absolute',
47
+ bottom: 0,
48
+ flexDirection: 'row',
49
+ alignItems: 'center',
50
+ paddingVertical: 16,
51
+ paddingHorizontal: 8,
52
+ zIndex: _constants.Z_INDEX.IN_FRONT
53
+ },
54
+ content: {},
55
+ leftElement: {
56
+ flex: 1,
57
+ alignItems: 'flex-start'
58
+ },
59
+ rightElement: {
60
+ flex: 1,
61
+ alignItems: 'flex-end'
62
+ }
63
+ });
64
+ //# sourceMappingURL=ViewerLivestreamControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ViewerLeaveStreamButton","_contexts","_constants","obj","__esModule","default","ViewerLivestreamControls","_ref","ViewerLeaveStreamButton","DefaultViewerLeaveStreamButton","onLeaveStreamHandler","theme","colors","viewerLivestreamControls","useTheme","createElement","View","style","styles","container","backgroundColor","static_overlay","leftElement","rightElement","exports","StyleSheet","create","position","bottom","flexDirection","alignItems","paddingVertical","paddingHorizontal","zIndex","Z_INDEX","IN_FRONT","content","flex"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamControls/ViewerLivestreamControls.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,wBAAA,GAAAF,OAAA;AAIA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAA6C,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE7C;AACA;AACA;;AAQA;AACA;AACA;AACO,MAAMG,wBAAwB,GAAGC,IAAA,IAGH;EAAA,IAHI;IACvCC,uBAAuB,GAAGC,gDAA8B;IACxDC;EAC6B,CAAC,GAAAH,IAAA;EAC9B,MAAM;IACJI,KAAK,EAAE;MAAEC,MAAM;MAAEC;IAAyB;EAC5C,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EAEd,oBACElB,MAAA,CAAAS,OAAA,CAAAU,aAAA,CAAChB,YAAA,CAAAiB,IAAI;IACHC,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MACEC,eAAe,EAAER,MAAM,CAACS;IAC1B,CAAC,EACDR,wBAAwB,CAACM,SAAS;EAClC,gBAEFvB,MAAA,CAAAS,OAAA,CAAAU,aAAA,CAAChB,YAAA,CAAAiB,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACI,WAAW,EAAET,wBAAwB,CAACS,WAAW;EAAE,GACrEd,uBAAuB,iBACtBZ,MAAA,CAAAS,OAAA,CAAAU,aAAA,CAACP,uBAAuB;IACtBE,oBAAoB,EAAEA;EAAqB,CAC5C,CAEC,CAAC,eACPd,MAAA,CAAAS,OAAA,CAAAU,aAAA,CAAChB,YAAA,CAAAiB,IAAI;IACHC,KAAK,EAAE,CAACC,MAAM,CAACK,YAAY,EAAEV,wBAAwB,CAACU,YAAY;EAAE,CACrE,CACG,CAAC;AAEX,CAAC;AAACC,OAAA,CAAAlB,wBAAA,GAAAA,wBAAA;AAEF,MAAMY,MAAM,GAAGO,uBAAU,CAACC,MAAM,CAAC;EAC/BP,SAAS,EAAE;IACTQ,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE,CAAC;IACTC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,CAAC;IACpBC,MAAM,EAAEC,kBAAO,CAACC;EAClB,CAAC;EACDC,OAAO,EAAE,CAAC,CAAC;EACXd,WAAW,EAAE;IACXe,IAAI,EAAE,CAAC;IACPP,UAAU,EAAE;EACd,CAAC;EACDP,YAAY,EAAE;IACZc,IAAI,EAAE,CAAC;IACPP,UAAU,EAAE;EACd;AACF,CAAC,CAAC"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _HostLivestreamControls = require("./HostLivestreamControls");
7
+ Object.keys(_HostLivestreamControls).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _HostLivestreamControls[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _HostLivestreamControls[key];
14
+ }
15
+ });
16
+ });
17
+ var _LivestreamMediaControls = require("./LivestreamMediaControls");
18
+ Object.keys(_LivestreamMediaControls).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _LivestreamMediaControls[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _LivestreamMediaControls[key];
25
+ }
26
+ });
27
+ });
28
+ var _HostStartStreamButton = require("./HostStartStreamButton");
29
+ Object.keys(_HostStartStreamButton).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _HostStartStreamButton[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _HostStartStreamButton[key];
36
+ }
37
+ });
38
+ });
39
+ var _LivestreamAudioControlButton = require("./LivestreamAudioControlButton");
40
+ Object.keys(_LivestreamAudioControlButton).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _LivestreamAudioControlButton[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _LivestreamAudioControlButton[key];
47
+ }
48
+ });
49
+ });
50
+ var _LivestreamVideoControlButton = require("./LivestreamVideoControlButton");
51
+ Object.keys(_LivestreamVideoControlButton).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _LivestreamVideoControlButton[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _LivestreamVideoControlButton[key];
58
+ }
59
+ });
60
+ });
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_HostLivestreamControls","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_LivestreamMediaControls","_HostStartStreamButton","_LivestreamAudioControlButton","_LivestreamVideoControlButton"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamControls/index.ts"],"mappings":";;;;;AAAA,IAAAA,uBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,uBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,uBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,uBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,wBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,wBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,wBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,wBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,sBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,sBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,sBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,sBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,6BAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,6BAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,6BAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,6BAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,6BAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,6BAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,6BAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,6BAAA,CAAAR,GAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LivestreamLayout = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _videoClient = require("@stream-io/video-client");
9
+ var _videoReactBindings = require("@stream-io/video-react-bindings");
10
+ var _reactNative = require("react-native");
11
+ var _usePaginatedLayoutSortPreset = require("../../../hooks/usePaginatedLayoutSortPreset");
12
+ var _contexts = require("../../../contexts");
13
+ var _Participant = require("../../Participant");
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ /**
16
+ * Props for the LivestreamLayout component.
17
+ */
18
+
19
+ const hasScreenShare = p => p === null || p === void 0 ? void 0 : p.publishedTracks.includes(_videoClient.SfuModels.TrackType.SCREEN_SHARE);
20
+
21
+ /**
22
+ * The LivestreamLayout component presents the live stream video layout.
23
+ */
24
+ const LivestreamLayout = _ref => {
25
+ let {
26
+ landscape,
27
+ VideoRenderer = _Participant.VideoRenderer
28
+ } = _ref;
29
+ const {
30
+ useParticipants,
31
+ useHasOngoingScreenShare
32
+ } = (0, _videoReactBindings.useCallStateHooks)();
33
+ const call = (0, _videoReactBindings.useCall)();
34
+ const {
35
+ theme: {
36
+ colors,
37
+ livestreamLayout
38
+ }
39
+ } = (0, _contexts.useTheme)();
40
+ const [currentSpeaker, ...otherParticipants] = useParticipants();
41
+ const hasOngoingScreenShare = useHasOngoingScreenShare();
42
+ const presenter = hasOngoingScreenShare ? hasScreenShare(currentSpeaker) && currentSpeaker : otherParticipants.find(hasScreenShare);
43
+ (0, _usePaginatedLayoutSortPreset.usePaginatedLayoutSortPreset)(call);
44
+ const landScapeStyles = {
45
+ flexDirection: landscape ? 'row' : 'column'
46
+ };
47
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
48
+ style: [styles.container, landScapeStyles, {
49
+ backgroundColor: colors.dark_gray
50
+ }, livestreamLayout.container]
51
+ }, VideoRenderer && hasOngoingScreenShare && presenter && /*#__PURE__*/_react.default.createElement(VideoRenderer, {
52
+ trackType: "screenShareTrack",
53
+ participant: presenter
54
+ }), VideoRenderer && !hasOngoingScreenShare && currentSpeaker && /*#__PURE__*/_react.default.createElement(VideoRenderer, {
55
+ participant: currentSpeaker,
56
+ trackType: "videoTrack"
57
+ }));
58
+ };
59
+ exports.LivestreamLayout = LivestreamLayout;
60
+ const styles = _reactNative.StyleSheet.create({
61
+ container: {
62
+ flex: 1
63
+ }
64
+ });
65
+ //# sourceMappingURL=LivestreamLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_videoClient","_videoReactBindings","_reactNative","_usePaginatedLayoutSortPreset","_contexts","_Participant","obj","__esModule","default","hasScreenShare","p","publishedTracks","includes","SfuModels","TrackType","SCREEN_SHARE","LivestreamLayout","_ref","landscape","VideoRenderer","DefaultVideoRenderer","useParticipants","useHasOngoingScreenShare","useCallStateHooks","call","useCall","theme","colors","livestreamLayout","useTheme","currentSpeaker","otherParticipants","hasOngoingScreenShare","presenter","find","usePaginatedLayoutSortPreset","landScapeStyles","flexDirection","createElement","View","style","styles","container","backgroundColor","dark_gray","trackType","participant","exports","StyleSheet","create","flex"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamLayout/LivestreamLayout.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,6BAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AAG2B,SAAAD,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE3B;AACA;AACA;;AAaA,MAAMG,cAAc,GAAIC,CAA0B,IAChDA,CAAC,aAADA,CAAC,uBAADA,CAAC,CAAEC,eAAe,CAACC,QAAQ,CAACC,sBAAS,CAACC,SAAS,CAACC,YAAY,CAAC;;AAE/D;AACA;AACA;AACO,MAAMC,gBAAgB,GAAGC,IAAA,IAGH;EAAA,IAHI;IAC/BC,SAAS;IACTC,aAAa,GAAGC;EACK,CAAC,GAAAH,IAAA;EACtB,MAAM;IAAEI,eAAe;IAAEC;EAAyB,CAAC,GAAG,IAAAC,qCAAiB,EAAC,CAAC;EACzE,MAAMC,IAAI,GAAG,IAAAC,2BAAO,EAAC,CAAC;EACtB,MAAM;IACJC,KAAK,EAAE;MAAEC,MAAM;MAAEC;IAAiB;EACpC,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACd,MAAM,CAACC,cAAc,EAAE,GAAGC,iBAAiB,CAAC,GAAGV,eAAe,CAAC,CAAC;EAChE,MAAMW,qBAAqB,GAAGV,wBAAwB,CAAC,CAAC;EACxD,MAAMW,SAAS,GAAGD,qBAAqB,GACnCvB,cAAc,CAACqB,cAAc,CAAC,IAAIA,cAAc,GAChDC,iBAAiB,CAACG,IAAI,CAACzB,cAAc,CAAC;EAE1C,IAAA0B,0DAA4B,EAACX,IAAI,CAAC;EAElC,MAAMY,eAA0B,GAAG;IACjCC,aAAa,EAAEnB,SAAS,GAAG,KAAK,GAAG;EACrC,CAAC;EAED,oBACErB,MAAA,CAAAW,OAAA,CAAA8B,aAAA,CAACpC,YAAA,CAAAqC,IAAI;IACHC,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChBN,eAAe,EACf;MAAEO,eAAe,EAAEhB,MAAM,CAACiB;IAAU,CAAC,EACrChB,gBAAgB,CAACc,SAAS;EAC1B,GAEDvB,aAAa,IAAIa,qBAAqB,IAAIC,SAAS,iBAClDpC,MAAA,CAAAW,OAAA,CAAA8B,aAAA,CAACnB,aAAa;IAAC0B,SAAS,EAAC,kBAAkB;IAACC,WAAW,EAAEb;EAAU,CAAE,CACtE,EACAd,aAAa,IAAI,CAACa,qBAAqB,IAAIF,cAAc,iBACxDjC,MAAA,CAAAW,OAAA,CAAA8B,aAAA,CAACnB,aAAa;IAAC2B,WAAW,EAAEhB,cAAe;IAACe,SAAS,EAAC;EAAY,CAAE,CAElE,CAAC;AAEX,CAAC;AAACE,OAAA,CAAA/B,gBAAA,GAAAA,gBAAA;AAEF,MAAMyB,MAAM,GAAGO,uBAAU,CAACC,MAAM,CAAC;EAC/BP,SAAS,EAAE;IACTQ,IAAI,EAAE;EACR;AACF,CAAC,CAAC"}