@stream-io/video-react-native-sdk 1.22.2 → 1.23.0

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 (43) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/android/src/main/java/com/streamvideo/reactnative/callmanager/ProximityManager.kt +183 -0
  3. package/android/src/main/java/com/streamvideo/reactnative/callmanager/StreamInCallManagerModule.kt +12 -1
  4. package/dist/commonjs/components/Livestream/LivestreamPlayer/LivestreamPlayer.js +3 -2
  5. package/dist/commonjs/components/Livestream/LivestreamPlayer/LivestreamPlayer.js.map +1 -1
  6. package/dist/commonjs/components/Participant/FloatingParticipantView/index.js +13 -6
  7. package/dist/commonjs/components/Participant/FloatingParticipantView/index.js.map +1 -1
  8. package/dist/commonjs/components/Participant/FloatingParticipantView/useFloatingVideoDimensions.js +30 -0
  9. package/dist/commonjs/components/Participant/FloatingParticipantView/useFloatingVideoDimensions.js.map +1 -0
  10. package/dist/commonjs/constants/index.js +1 -6
  11. package/dist/commonjs/constants/index.js.map +1 -1
  12. package/dist/commonjs/hooks/useTrackDimensions.js +1 -1
  13. package/dist/commonjs/hooks/useTrackDimensions.js.map +1 -1
  14. package/dist/commonjs/version.js +1 -1
  15. package/dist/module/components/Livestream/LivestreamPlayer/LivestreamPlayer.js +3 -2
  16. package/dist/module/components/Livestream/LivestreamPlayer/LivestreamPlayer.js.map +1 -1
  17. package/dist/module/components/Participant/FloatingParticipantView/index.js +14 -7
  18. package/dist/module/components/Participant/FloatingParticipantView/index.js.map +1 -1
  19. package/dist/module/components/Participant/FloatingParticipantView/useFloatingVideoDimensions.js +23 -0
  20. package/dist/module/components/Participant/FloatingParticipantView/useFloatingVideoDimensions.js.map +1 -0
  21. package/dist/module/constants/index.js +0 -5
  22. package/dist/module/constants/index.js.map +1 -1
  23. package/dist/module/hooks/useTrackDimensions.js +1 -1
  24. package/dist/module/hooks/useTrackDimensions.js.map +1 -1
  25. package/dist/module/version.js +1 -1
  26. package/dist/typescript/components/Livestream/LivestreamPlayer/LivestreamPlayer.d.ts +3 -3
  27. package/dist/typescript/components/Livestream/LivestreamPlayer/LivestreamPlayer.d.ts.map +1 -1
  28. package/dist/typescript/components/Participant/FloatingParticipantView/index.d.ts.map +1 -1
  29. package/dist/typescript/components/Participant/FloatingParticipantView/useFloatingVideoDimensions.d.ts +9 -0
  30. package/dist/typescript/components/Participant/FloatingParticipantView/useFloatingVideoDimensions.d.ts.map +1 -0
  31. package/dist/typescript/constants/index.d.ts +0 -5
  32. package/dist/typescript/constants/index.d.ts.map +1 -1
  33. package/dist/typescript/hooks/useTrackDimensions.d.ts +1 -1
  34. package/dist/typescript/hooks/useTrackDimensions.d.ts.map +1 -1
  35. package/dist/typescript/version.d.ts +1 -1
  36. package/ios/StreamInCallManager.swift +105 -38
  37. package/package.json +3 -3
  38. package/src/components/Livestream/LivestreamPlayer/LivestreamPlayer.tsx +5 -3
  39. package/src/components/Participant/FloatingParticipantView/index.tsx +20 -6
  40. package/src/components/Participant/FloatingParticipantView/useFloatingVideoDimensions.tsx +36 -0
  41. package/src/constants/index.ts +0 -6
  42. package/src/hooks/useTrackDimensions.ts +2 -2
  43. package/src/version.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,32 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [1.23.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.22.3...@stream-io/video-react-native-sdk-1.23.0) (2025-10-27)
6
+
7
+ ### Dependency Updates
8
+
9
+ - `@stream-io/video-client` updated to version `1.35.1`
10
+ - `@stream-io/video-react-bindings` updated to version `1.10.3`
11
+
12
+ ### Features
13
+
14
+ - adaptive floating video dimensions ([#1969](https://github.com/GetStream/stream-video-js/issues/1969)) ([5a213d2](https://github.com/GetStream/stream-video-js/commit/5a213d2571610846bdcd9b4554a5a8d1a3def6c4))
15
+
16
+ ### Bug Fixes
17
+
18
+ - **react-native:** restore screen wake lock and proximity sensing ([#1971](https://github.com/GetStream/stream-video-js/issues/1971)) ([f20ef70](https://github.com/GetStream/stream-video-js/commit/f20ef70a5958fddf52075233f9f3d64a2ce01895)), closes [#1840](https://github.com/GetStream/stream-video-js/issues/1840)
19
+
20
+ ## [1.22.3](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.22.2...@stream-io/video-react-native-sdk-1.22.3) (2025-10-24)
21
+
22
+ ### Dependency Updates
23
+
24
+ - `@stream-io/video-client` updated to version `1.35.0`
25
+ - `@stream-io/video-react-bindings` updated to version `1.10.2`
26
+
27
+ ### Bug Fixes
28
+
29
+ - accept `children` in LivestreamPlayer components ([#1968](https://github.com/GetStream/stream-video-js/issues/1968)) ([1558f06](https://github.com/GetStream/stream-video-js/commit/1558f060614581964b72e9627e82a8419fc3d570))
30
+
5
31
  ## [1.22.2](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.22.1...@stream-io/video-react-native-sdk-1.22.2) (2025-10-24)
6
32
 
7
33
  ### Bug Fixes
@@ -0,0 +1,183 @@
1
+ package com.streamvideo.reactnative.callmanager
2
+
3
+ import android.content.Context
4
+ import android.hardware.Sensor
5
+ import android.hardware.SensorEventListener
6
+ import android.hardware.SensorManager
7
+ import android.media.AudioDeviceInfo
8
+ import android.media.AudioManager
9
+ import android.os.PowerManager
10
+ import android.util.Log
11
+
12
+ /**
13
+ * Encapsulates Android proximity sensor handling for in-call UX.
14
+ *
15
+ * Responsibilities:
16
+ * - Initialize proximity sensor + PowerManager wake lock lazily
17
+ * - Register/unregister sensor listener
18
+ * - Acquire/release PROXIMITY_SCREEN_OFF_WAKE_LOCK when near/away
19
+ * - Provide a simple API: start(), stop(), update()
20
+ */
21
+ class ProximityManager(
22
+ private val context: Context,
23
+ ) {
24
+
25
+ companion object {
26
+ const val TAG = "ProximityManager"
27
+ }
28
+
29
+ private var sensorManager: SensorManager? = null
30
+ private var proximitySensor: Sensor? = null
31
+ private var proximityListener: SensorEventListener? = null
32
+
33
+ private var powerManager: PowerManager? = null
34
+ private var proximityWakeLock: PowerManager.WakeLock? = null
35
+
36
+ private var proximityRegistered = false
37
+ private var initialized = false
38
+
39
+ fun start() {
40
+ this.update()
41
+ }
42
+
43
+ fun stop() {
44
+ // Unregister listener and release wakelock
45
+ disableProximity()
46
+ }
47
+
48
+ fun onDestroy() {
49
+ stop()
50
+ }
51
+
52
+ /**
53
+ * Toggle monitoring state based on higher-level decision.
54
+ */
55
+ fun update() {
56
+ if (!initialized) init()
57
+ if (isOnEarpiece()) enableProximity() else disableProximity()
58
+ }
59
+
60
+ private fun init() {
61
+ if (initialized) return
62
+ try {
63
+ sensorManager = context.getSystemService(Context.SENSOR_SERVICE) as SensorManager
64
+ proximitySensor = sensorManager?.getDefaultSensor(Sensor.TYPE_PROXIMITY)
65
+ } catch (t: Throwable) {
66
+ Log.w(TAG, "Proximity sensor init failed", t)
67
+ }
68
+ try {
69
+ powerManager = context.getSystemService(Context.POWER_SERVICE) as PowerManager
70
+ // Obtain PROXIMITY_SCREEN_OFF_WAKE_LOCK via reflection to avoid compile-time dependency
71
+ val field = PowerManager::class.java.getField("PROXIMITY_SCREEN_OFF_WAKE_LOCK")
72
+ val level = field.getInt(null)
73
+ proximityWakeLock = powerManager?.newWakeLock(level, "$TAG:Proximity")
74
+ } catch (t: Throwable) {
75
+ Log.w(TAG, "Proximity wakelock init failed (may be unsupported on this device)", t)
76
+ proximityWakeLock = null
77
+ }
78
+ initialized = true
79
+ }
80
+
81
+ private fun enableProximity() {
82
+ val sensor = proximitySensor
83
+ if (sensor == null) {
84
+ Log.d(TAG, "No proximity sensor available; skipping enable")
85
+ return
86
+ }
87
+ if (proximityRegistered) return
88
+ if (proximityListener == null) {
89
+ proximityListener = object : SensorEventListener {
90
+ override fun onSensorChanged(event: android.hardware.SensorEvent) {
91
+ val max = sensor.maximumRange
92
+ val value = event.values.firstOrNull() ?: max
93
+ val near = value < max
94
+ onProximityChanged(near)
95
+ }
96
+
97
+ override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {}
98
+ }
99
+ }
100
+ try {
101
+ sensorManager?.registerListener(
102
+ proximityListener,
103
+ sensor,
104
+ SensorManager.SENSOR_DELAY_NORMAL
105
+ )
106
+ proximityRegistered = true
107
+ Log.d(TAG, "Proximity monitoring ENABLED")
108
+ } catch (t: Throwable) {
109
+ Log.w(TAG, "Failed to register proximity listener", t)
110
+ }
111
+ }
112
+
113
+ private fun disableProximity() {
114
+ if (proximityRegistered && proximityListener != null) {
115
+ try {
116
+ sensorManager?.unregisterListener(proximityListener)
117
+ } catch (t: Throwable) {
118
+ Log.w(TAG, "Failed to unregister proximity listener", t)
119
+ }
120
+ }
121
+ proximityRegistered = false
122
+ releaseProximityWakeLock()
123
+ Log.d(TAG, "Proximity monitoring DISABLED")
124
+ }
125
+
126
+ private fun onProximityChanged(near: Boolean) {
127
+ if (near) {
128
+ acquireProximityWakeLock()
129
+ } else {
130
+ releaseProximityWakeLock()
131
+ }
132
+ }
133
+
134
+ private fun acquireProximityWakeLock() {
135
+ try {
136
+ val wl = proximityWakeLock
137
+ if (wl != null && !wl.isHeld) {
138
+ wl.acquire()
139
+ Log.d(TAG, "Proximity wakelock ACQUIRED (screen off near ear)")
140
+ }
141
+ } catch (t: Throwable) {
142
+ Log.w(TAG, "Failed to acquire proximity wakelock", t)
143
+ }
144
+ }
145
+
146
+ private fun releaseProximityWakeLock() {
147
+ try {
148
+ val wl = proximityWakeLock
149
+ if (wl != null && wl.isHeld) {
150
+ wl.release()
151
+ Log.d(TAG, "Proximity wakelock RELEASED (screen on)")
152
+ }
153
+ } catch (t: Throwable) {
154
+ Log.w(TAG, "Failed to release proximity wakelock", t)
155
+ }
156
+ }
157
+
158
+ private fun isOnEarpiece(): Boolean {
159
+ val audioManager = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager
160
+ // If speakerphone is on, not earpiece
161
+ if (audioManager.isSpeakerphoneOn) return false
162
+
163
+ // Check if Bluetooth SCO/A2DP or wired headset is connected
164
+ var hasBt = false
165
+ var hasWired = false
166
+ val outputs = audioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS)
167
+ outputs.forEach { dev ->
168
+ val type = dev.type
169
+ if (type == AudioDeviceInfo.TYPE_BLUETOOTH_A2DP ||
170
+ type == AudioDeviceInfo.TYPE_BLUETOOTH_SCO
171
+ ) {
172
+ hasBt = true
173
+ } else if (type == AudioDeviceInfo.TYPE_WIRED_HEADPHONES
174
+ || type == AudioDeviceInfo.TYPE_WIRED_HEADSET
175
+ || type == AudioDeviceInfo.TYPE_USB_HEADSET
176
+ ) {
177
+ hasWired = true
178
+ }
179
+ }
180
+
181
+ return !hasBt && !hasWired
182
+ }
183
+ }
@@ -20,7 +20,7 @@ class StreamInCallManagerModule(reactContext: ReactApplicationContext) :
20
20
  private var audioManagerActivated = false
21
21
 
22
22
  private val mAudioDeviceManager = AudioDeviceManager(reactContext)
23
-
23
+ private val proximityManager = ProximityManager(reactContext)
24
24
 
25
25
  override fun getName(): String {
26
26
  return TAG
@@ -40,6 +40,8 @@ class StreamInCallManagerModule(reactContext: ReactApplicationContext) :
40
40
  }
41
41
 
42
42
  override fun invalidate() {
43
+ // Ensure we cleanup proximity and screen flags too
44
+ stop()
43
45
  mAudioDeviceManager.close()
44
46
  super.invalidate()
45
47
  }
@@ -87,6 +89,8 @@ class StreamInCallManagerModule(reactContext: ReactApplicationContext) :
87
89
  mAudioDeviceManager.start(it)
88
90
  setKeepScreenOn(true)
89
91
  audioManagerActivated = true
92
+ // Initialize and evaluate proximity monitoring via controller
93
+ proximityManager.start()
90
94
  }
91
95
  }
92
96
  }
@@ -99,6 +103,8 @@ class StreamInCallManagerModule(reactContext: ReactApplicationContext) :
99
103
  Log.d(TAG, "stop() mAudioDeviceManager")
100
104
  mAudioDeviceManager.stop()
101
105
  setMicrophoneMute(false)
106
+ // Disable proximity monitoring via controller and clear keep-screen-on
107
+ proximityManager.stop()
102
108
  setKeepScreenOn(false)
103
109
  audioManagerActivated = false
104
110
  }
@@ -127,6 +133,8 @@ class StreamInCallManagerModule(reactContext: ReactApplicationContext) :
127
133
  return
128
134
  }
129
135
  mAudioDeviceManager.setSpeakerphoneOn(enable)
136
+ // Re-evaluate proximity monitoring when route may change
137
+ this.proximityManager.update()
130
138
  }
131
139
 
132
140
  @ReactMethod
@@ -152,6 +160,8 @@ class StreamInCallManagerModule(reactContext: ReactApplicationContext) :
152
160
  mAudioDeviceManager.switchDeviceFromDeviceName(
153
161
  endpointDeviceName
154
162
  )
163
+ // Re-evaluate proximity monitoring when endpoint changes
164
+ this.proximityManager.update()
155
165
  }
156
166
 
157
167
  @ReactMethod
@@ -164,6 +174,7 @@ class StreamInCallManagerModule(reactContext: ReactApplicationContext) :
164
174
  mAudioDeviceManager.unmuteAudioOutput()
165
175
  }
166
176
 
177
+
167
178
  override fun onHostResume() {
168
179
  }
169
180
 
@@ -14,7 +14,8 @@ const LivestreamPlayer = ({
14
14
  callType,
15
15
  callId,
16
16
  ViewerLivestream = _ViewerLivestream.ViewerLivestream,
17
- joinBehavior = 'asap'
17
+ joinBehavior = 'asap',
18
+ children
18
19
  }) => {
19
20
  const client = (0, _videoReactBindings.useStreamVideoClient)();
20
21
  const [call, setCall] = (0, _react.useState)();
@@ -52,7 +53,7 @@ const LivestreamPlayer = ({
52
53
  call: call
53
54
  }, /*#__PURE__*/_react.default.createElement(ViewerLivestream, {
54
55
  joinBehavior: joinBehavior
55
- }));
56
+ }), children);
56
57
  };
57
58
  exports.LivestreamPlayer = LivestreamPlayer;
58
59
  //# sourceMappingURL=LivestreamPlayer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_ViewerLivestream","_videoClient","_StreamCall","_videoReactBindings","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LivestreamPlayer","callType","callId","ViewerLivestream","DefaultViewerLivestream","joinBehavior","client","useStreamVideoClient","setCall","useState","useEffect","myCall","state","callingState","CallingState","LEFT","leave","catch","logger","getLogger","undefined","createElement","StreamCall","exports"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamPlayer/LivestreamPlayer.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_ViewerLivestream","_videoClient","_StreamCall","_videoReactBindings","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LivestreamPlayer","callType","callId","ViewerLivestream","DefaultViewerLivestream","joinBehavior","children","client","useStreamVideoClient","setCall","useState","useEffect","myCall","state","callingState","CallingState","LEFT","leave","catch","logger","getLogger","undefined","createElement","StreamCall","exports"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamPlayer/LivestreamPlayer.tsx"],"mappings":"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","ignoreList":[]}
@@ -13,6 +13,7 @@ var _FloatingView = _interopRequireDefault(require("./FloatingView"));
13
13
  var _common = require("./FloatingView/common");
14
14
  var _ParticipantView = require("../ParticipantView");
15
15
  var _ThemeContext = require("../../../contexts/ThemeContext");
16
+ var _useFloatingVideoDimensions = require("./useFloatingVideoDimensions");
16
17
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
18
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
18
19
  /**
@@ -66,7 +67,10 @@ const FloatingParticipantView = ({
66
67
  const {
67
68
  theme: {
68
69
  colors,
69
- floatingParticipantsView
70
+ floatingParticipantsView,
71
+ variants: {
72
+ spacingSizes
73
+ }
70
74
  }
71
75
  } = (0, _ThemeContext.useTheme)();
72
76
  const floatingAlignmentMap = {
@@ -76,6 +80,7 @@ const FloatingParticipantView = ({
76
80
  'bottom-right': _common.FloatingViewAlignment.bottomRight
77
81
  };
78
82
  const [containerDimensions, setContainerDimensions] = _react.default.useState();
83
+ const floatingVideoDimensions = (0, _useFloatingVideoDimensions.useFloatingVideoDimensions)(containerDimensions, participant, 'videoTrack');
79
84
  const participantViewProps = {
80
85
  ParticipantLabel: null,
81
86
  ParticipantNetworkQualityIndicator,
@@ -108,7 +113,7 @@ const FloatingParticipantView = ({
108
113
  };
109
114
  });
110
115
  }
111
- }, containerDimensions && /*#__PURE__*/_react.default.createElement(_FloatingView.default, {
116
+ }, containerDimensions && floatingVideoDimensions && /*#__PURE__*/_react.default.createElement(_FloatingView.default, {
112
117
  containerHeight: containerDimensions.height,
113
118
  containerWidth: containerDimensions.width,
114
119
  initialAlignment: floatingAlignmentMap[alignment]
@@ -117,7 +122,12 @@ const FloatingParticipantView = ({
117
122
  }, ParticipantView && /*#__PURE__*/_react.default.createElement(ParticipantView, _extends({
118
123
  participant: participant,
119
124
  trackType: "videoTrack",
120
- style: [styles.participantViewContainer, participantViewStyle, {
125
+ style: [styles.participantViewContainer, {
126
+ width: floatingVideoDimensions.width,
127
+ height: floatingVideoDimensions.height,
128
+ borderRadius: floatingVideoDimensions.width * 0.1,
129
+ marginHorizontal: spacingSizes.md
130
+ }, participantViewStyle, {
121
131
  shadowColor: colors.sheetPrimary
122
132
  }, floatingParticipantsView.participantViewContainer]
123
133
  // video z order must be one above the one used in grid view
@@ -136,9 +146,6 @@ const styles = _reactNative.StyleSheet.create({
136
146
  flex: 1
137
147
  },
138
148
  participantViewContainer: {
139
- height: _constants.FLOATING_VIDEO_VIEW_STYLE.height,
140
- width: _constants.FLOATING_VIDEO_VIEW_STYLE.width,
141
- borderRadius: _constants.FLOATING_VIDEO_VIEW_STYLE.borderRadius,
142
149
  shadowOffset: {
143
150
  width: 0,
144
151
  height: 2
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_constants","_TestIds","_icons","_FloatingView","_common","_ParticipantView","_ThemeContext","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","DefaultLocalParticipantViewVideoFallback","theme","colors","floatingParticipantsView","variants","iconSizes","defaults","useTheme","createElement","View","style","styles","videoFallback","backgroundColor","sheetSecondary","height","md","width","VideoSlash","color","iconPrimary","size","iconSize","FloatingParticipantView","alignment","onPressHandler","participant","participantViewStyle","draggableContainerStyle","ParticipantView","DefaultParticipantView","ParticipantNetworkQualityIndicator","ParticipantVideoFallback","ParticipantReaction","VideoRenderer","supportedReactions","videoZOrder","objectFit","floatingAlignmentMap","FloatingViewAlignment","topLeft","topRight","bottomLeft","bottomRight","containerDimensions","setContainerDimensions","React","useState","participantViewProps","ParticipantLabel","testID","ComponentTestIds","LOCAL_PARTICIPANT","container","pointerEvents","onLayout","event","nativeEvent","layout","prev","containerHeight","containerWidth","initialAlignment","Pressable","onPress","trackType","participantViewContainer","shadowColor","sheetPrimary","exports","StyleSheet","create","zIndex","Z_INDEX","IN_MIDDLE","flex","FLOATING_VIDEO_VIEW_STYLE","borderRadius","shadowOffset","shadowOpacity","shadowRadius","elevation","absoluteFillObject","alignItems","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/Participant/FloatingParticipantView/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_constants","_TestIds","_icons","_FloatingView","_common","_ParticipantView","_ThemeContext","_useFloatingVideoDimensions","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","DefaultLocalParticipantViewVideoFallback","theme","colors","floatingParticipantsView","variants","iconSizes","defaults","useTheme","createElement","View","style","styles","videoFallback","backgroundColor","sheetSecondary","height","md","width","VideoSlash","color","iconPrimary","size","iconSize","FloatingParticipantView","alignment","onPressHandler","participant","participantViewStyle","draggableContainerStyle","ParticipantView","DefaultParticipantView","ParticipantNetworkQualityIndicator","ParticipantVideoFallback","ParticipantReaction","VideoRenderer","supportedReactions","videoZOrder","objectFit","spacingSizes","floatingAlignmentMap","FloatingViewAlignment","topLeft","topRight","bottomLeft","bottomRight","containerDimensions","setContainerDimensions","React","useState","floatingVideoDimensions","useFloatingVideoDimensions","participantViewProps","ParticipantLabel","testID","ComponentTestIds","LOCAL_PARTICIPANT","container","pointerEvents","onLayout","event","nativeEvent","layout","prev","containerHeight","containerWidth","initialAlignment","Pressable","onPress","trackType","participantViewContainer","borderRadius","marginHorizontal","shadowColor","sheetPrimary","exports","StyleSheet","create","zIndex","Z_INDEX","IN_MIDDLE","flex","shadowOffset","shadowOpacity","shadowRadius","elevation","absoluteFillObject","alignItems","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/Participant/FloatingParticipantView/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useFloatingVideoDimensions = void 0;
7
+ var _useTrackDimensions = require("../../../hooks/useTrackDimensions");
8
+ const useFloatingVideoDimensions = (containerDimensions, participant, trackType) => {
9
+ const containerWidth = containerDimensions?.width ?? 0;
10
+ const {
11
+ width,
12
+ height
13
+ } = (0, _useTrackDimensions.useTrackDimensions)(participant, trackType);
14
+ if (width === 0 || height === 0 || containerWidth === 0) {
15
+ return undefined;
16
+ }
17
+ const aspectRatio = width / height;
18
+
19
+ // based on Android AOSP PiP mode default dimensions algorithm
20
+ // 23% of the container width
21
+ const floatingVideoWidth = containerWidth * 0.23;
22
+ // the height is calculated based on the aspect ratio
23
+ const floatingVideoHeight = floatingVideoWidth / aspectRatio;
24
+ return {
25
+ width: floatingVideoWidth,
26
+ height: floatingVideoHeight
27
+ };
28
+ };
29
+ exports.useFloatingVideoDimensions = useFloatingVideoDimensions;
30
+ //# sourceMappingURL=useFloatingVideoDimensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_useTrackDimensions","require","useFloatingVideoDimensions","containerDimensions","participant","trackType","containerWidth","width","height","useTrackDimensions","undefined","aspectRatio","floatingVideoWidth","floatingVideoHeight","exports"],"sourceRoot":"../../../../../src","sources":["components/Participant/FloatingParticipantView/useFloatingVideoDimensions.tsx"],"mappings":";;;;;;AAIA,IAAAA,mBAAA,GAAAC,OAAA;AAEO,MAAMC,0BAA0B,GAAGA,CACxCC,mBAKa,EACbC,WAA+C,EAC/CC,SAAyB,KACtB;EACH,MAAMC,cAAc,GAAGH,mBAAmB,EAAEI,KAAK,IAAI,CAAC;EACtD,MAAM;IAAEA,KAAK;IAAEC;EAAO,CAAC,GAAG,IAAAC,sCAAkB,EAACL,WAAW,EAAEC,SAAS,CAAC;EAEpE,IAAIE,KAAK,KAAK,CAAC,IAAIC,MAAM,KAAK,CAAC,IAAIF,cAAc,KAAK,CAAC,EAAE;IACvD,OAAOI,SAAS;EAClB;EAEA,MAAMC,WAAW,GAAGJ,KAAK,GAAGC,MAAM;;EAElC;EACA;EACA,MAAMI,kBAAkB,GAAGN,cAAc,GAAG,IAAI;EAChD;EACA,MAAMO,mBAAmB,GAAGD,kBAAkB,GAAGD,WAAW;EAE5D,OAAO;IACLJ,KAAK,EAAEK,kBAAkB;IACzBJ,MAAM,EAAEK;EACV,CAAC;AACH,CAAC;AAACC,OAAA,CAAAZ,0BAAA,GAAAA,0BAAA","ignoreList":[]}
@@ -3,12 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.defaultEmojiReactions = exports.Z_INDEX = exports.FLOATING_VIDEO_VIEW_STYLE = void 0;
7
- const FLOATING_VIDEO_VIEW_STYLE = exports.FLOATING_VIDEO_VIEW_STYLE = {
8
- height: 140,
9
- width: 80,
10
- borderRadius: 10
11
- };
6
+ exports.defaultEmojiReactions = exports.Z_INDEX = void 0;
12
7
  const defaultEmojiReactions = exports.defaultEmojiReactions = [{
13
8
  type: 'reaction',
14
9
  emoji_code: ':rolling_on_the_floor_laughing:',
@@ -1 +1 @@
1
- {"version":3,"names":["FLOATING_VIDEO_VIEW_STYLE","exports","height","width","borderRadius","defaultEmojiReactions","type","emoji_code","custom","icon","Z_INDEX","IN_BACK","IN_MIDDLE","IN_FRONT"],"sourceRoot":"../../../src","sources":["constants/index.ts"],"mappings":";;;;;;AAEO,MAAMA,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG;EACvCE,MAAM,EAAE,GAAG;EACXC,KAAK,EAAE,EAAE;EACTC,YAAY,EAAE;AAChB,CAAC;AAEM,MAAMC,qBAA2C,GAAAJ,OAAA,CAAAI,qBAAA,GAAG,CACzD;EACEC,IAAI,EAAE,UAAU;EAChBC,UAAU,EAAE,iCAAiC;EAC7CC,MAAM,EAAE,CAAC,CAAC;EACVC,IAAI,EAAE;AACR,CAAC,EACD;EACEH,IAAI,EAAE,UAAU;EAChBC,UAAU,EAAE,QAAQ;EACpBC,MAAM,EAAE,CAAC,CAAC;EACVC,IAAI,EAAE;AACR,CAAC,EACD;EACEH,IAAI,EAAE,UAAU;EAChBC,UAAU,EAAE,UAAU;EACtBC,MAAM,EAAE,CAAC,CAAC;EACVC,IAAI,EAAE;AACR,CAAC,EACD;EACEH,IAAI,EAAE,UAAU;EAChBC,UAAU,EAAE,WAAW;EACvBC,MAAM,EAAE,CAAC,CAAC;EACVC,IAAI,EAAE;AACR,CAAC,EACD;EACEH,IAAI,EAAE,UAAU;EAChBC,UAAU,EAAE,aAAa;EACzBC,MAAM,EAAE,CAAC,CAAC;EACVC,IAAI,EAAE;AACR,CAAC,EACD;EACEH,IAAI,EAAE,UAAU;EAChBC,UAAU,EAAE,gBAAgB;EAC5BC,MAAM,EAAE,CAAC,CAAC;EACVC,IAAI,EAAE;AACR,CAAC,EACD;EACEH,IAAI,EAAE,aAAa;EACnBC,UAAU,EAAE,eAAe;EAC3BC,MAAM,EAAE,CAAC,CAAC;EACVC,IAAI,EAAE;AACR,CAAC,CACF;AAEM,MAAMC,OAAO,GAAAT,OAAA,CAAAS,OAAA,GAAG;EACrBC,OAAO,EAAE,CAAC;EACVC,SAAS,EAAE,CAAC;EACZC,QAAQ,EAAE;AACZ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["defaultEmojiReactions","exports","type","emoji_code","custom","icon","Z_INDEX","IN_BACK","IN_MIDDLE","IN_FRONT"],"sourceRoot":"../../../src","sources":["constants/index.ts"],"mappings":";;;;;;AAEO,MAAMA,qBAA2C,GAAAC,OAAA,CAAAD,qBAAA,GAAG,CACzD;EACEE,IAAI,EAAE,UAAU;EAChBC,UAAU,EAAE,iCAAiC;EAC7CC,MAAM,EAAE,CAAC,CAAC;EACVC,IAAI,EAAE;AACR,CAAC,EACD;EACEH,IAAI,EAAE,UAAU;EAChBC,UAAU,EAAE,QAAQ;EACpBC,MAAM,EAAE,CAAC,CAAC;EACVC,IAAI,EAAE;AACR,CAAC,EACD;EACEH,IAAI,EAAE,UAAU;EAChBC,UAAU,EAAE,UAAU;EACtBC,MAAM,EAAE,CAAC,CAAC;EACVC,IAAI,EAAE;AACR,CAAC,EACD;EACEH,IAAI,EAAE,UAAU;EAChBC,UAAU,EAAE,WAAW;EACvBC,MAAM,EAAE,CAAC,CAAC;EACVC,IAAI,EAAE;AACR,CAAC,EACD;EACEH,IAAI,EAAE,UAAU;EAChBC,UAAU,EAAE,aAAa;EACzBC,MAAM,EAAE,CAAC,CAAC;EACVC,IAAI,EAAE;AACR,CAAC,EACD;EACEH,IAAI,EAAE,UAAU;EAChBC,UAAU,EAAE,gBAAgB;EAC5BC,MAAM,EAAE,CAAC,CAAC;EACVC,IAAI,EAAE;AACR,CAAC,EACD;EACEH,IAAI,EAAE,aAAa;EACnBC,UAAU,EAAE,eAAe;EAC3BC,MAAM,EAAE,CAAC,CAAC;EACVC,IAAI,EAAE;AACR,CAAC,CACF;AAEM,MAAMC,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EACrBC,OAAO,EAAE,CAAC;EACVC,SAAS,EAAE,CAAC;EACZC,QAAQ,EAAE;AACZ,CAAC","ignoreList":[]}
@@ -15,7 +15,7 @@ function useTrackDimensions(participant, trackType) {
15
15
  const {
16
16
  videoStream,
17
17
  screenShareStream
18
- } = participant;
18
+ } = participant || {};
19
19
  const stream = trackType === 'screenShareTrack' ? screenShareStream : videoStream;
20
20
  const [track] = stream?.getVideoTracks() ?? [];
21
21
  const trackId = track?.id;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","useTrackDimensions","participant","trackType","videoStream","screenShareStream","stream","track","getVideoTracks","trackId","id","trackDimensions","setTrackDimensions","useState","settings","getSettings","width","height","useEffect","handleVideoTrackDimensionChanged","eventData","prev","webRTCEventEmitter","NativeEventEmitter","NativeModules","WebRTCModule","subscription","addListener","remove"],"sourceRoot":"../../../src","sources":["hooks/useTrackDimensions.ts"],"mappings":";;;;;;AAIA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASE,kBAAkBA,CAChCC,WAAmC,EACnCC,SAAyB,EACzB;EACA,MAAM;IAAEC,WAAW;IAAEC;EAAkB,CAAC,GAAGH,WAAW;EACtD,MAAMI,MAAM,GACVH,SAAS,KAAK,kBAAkB,GAAGE,iBAAiB,GAAGD,WAAW;EACpE,MAAM,CAACG,KAAK,CAAC,GAAGD,MAAM,EAAEE,cAAc,CAAC,CAAC,IAAI,EAAE;EAC9C,MAAMC,OAAO,GAAGF,KAAK,EAAEG,EAAE;EAEzB,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAC,eAAQ,EAAC,MAAM;IAC3D,MAAMC,QAAQ,GAAGP,KAAK,EAAEQ,WAAW,CAAC,CAAC;IACrC,MAAMC,KAAK,GAAGF,QAAQ,EAAEE,KAAK,IAAI,CAAC;IAClC,MAAMC,MAAM,GAAGH,QAAQ,EAAEG,MAAM,IAAI,CAAC;IACpC,OAAO;MACLD,KAAK;MACLC;IACF,CAAC;EACH,CAAC,CAAC;;EAEF;EACA,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACT,OAAO,IAAI,CAACF,KAAK,EAAE;IAExB,MAAMY,gCAAgC,GAAIC,SAKzC,IAAK;MACJ;MACA,IAAIA,SAAS,CAACX,OAAO,KAAKA,OAAO,EAAE;QACjCG,kBAAkB,CAAES,IAAI,IAAK;UAC3B,IACEA,IAAI,CAACL,KAAK,KAAKI,SAAS,CAACJ,KAAK,IAC9BK,IAAI,CAACJ,MAAM,KAAKG,SAAS,CAACH,MAAM,EAChC;YACA,OAAOI,IAAI;UACb;UACA,OAAO;YAAEL,KAAK,EAAEI,SAAS,CAACJ,KAAK;YAAEC,MAAM,EAAEG,SAAS,CAACH;UAAO,CAAC;QAC7D,CAAC,CAAC;MACJ;IACF,CAAC;IAED,MAAM;MAAED,KAAK;MAAEC;IAAO,CAAC,GAAGV,KAAK,CAACQ,WAAW,CAAC,CAAC;IAC7CH,kBAAkB,CAAES,IAAI,IAAK;MAC3B,IAAIA,IAAI,CAACL,KAAK,KAAKA,KAAK,IAAIK,IAAI,CAACJ,MAAM,KAAKA,MAAM,EAAE;QAClD,OAAOI,IAAI;MACb;MACA,OAAO;QACLL,KAAK,EAAEA,KAAK,IAAI,CAAC;QACjBC,MAAM,EAAEA,MAAM,IAAI;MACpB,CAAC;IACH,CAAC,CAAC;IAEF,MAAMK,kBAAkB,GAAG,IAAIC,+BAAkB,CAC/CC,0BAAa,CAACC,YAChB,CAAC;IACD,MAAMC,YAAY,GAAGJ,kBAAkB,CAACK,WAAW,CACjD,4BAA4B,EAC5BR,gCACF,CAAC;IAED,OAAO,MAAM;MACXO,YAAY,CAACE,MAAM,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,EAAE,CAACnB,OAAO,EAAEF,KAAK,CAAC,CAAC;EAEpB,OAAOI,eAAe;AACxB","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","useTrackDimensions","participant","trackType","videoStream","screenShareStream","stream","track","getVideoTracks","trackId","id","trackDimensions","setTrackDimensions","useState","settings","getSettings","width","height","useEffect","handleVideoTrackDimensionChanged","eventData","prev","webRTCEventEmitter","NativeEventEmitter","NativeModules","WebRTCModule","subscription","addListener","remove"],"sourceRoot":"../../../src","sources":["hooks/useTrackDimensions.ts"],"mappings":";;;;;;AAIA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASE,kBAAkBA,CAChCC,WAA+C,EAC/CC,SAAyB,EACzB;EACA,MAAM;IAAEC,WAAW;IAAEC;EAAkB,CAAC,GAAGH,WAAW,IAAI,CAAC,CAAC;EAC5D,MAAMI,MAAM,GACVH,SAAS,KAAK,kBAAkB,GAAGE,iBAAiB,GAAGD,WAAW;EACpE,MAAM,CAACG,KAAK,CAAC,GAAGD,MAAM,EAAEE,cAAc,CAAC,CAAC,IAAI,EAAE;EAC9C,MAAMC,OAAO,GAAGF,KAAK,EAAEG,EAAE;EAEzB,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAC,eAAQ,EAAC,MAAM;IAC3D,MAAMC,QAAQ,GAAGP,KAAK,EAAEQ,WAAW,CAAC,CAAC;IACrC,MAAMC,KAAK,GAAGF,QAAQ,EAAEE,KAAK,IAAI,CAAC;IAClC,MAAMC,MAAM,GAAGH,QAAQ,EAAEG,MAAM,IAAI,CAAC;IACpC,OAAO;MACLD,KAAK;MACLC;IACF,CAAC;EACH,CAAC,CAAC;;EAEF;EACA,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACT,OAAO,IAAI,CAACF,KAAK,EAAE;IAExB,MAAMY,gCAAgC,GAAIC,SAKzC,IAAK;MACJ;MACA,IAAIA,SAAS,CAACX,OAAO,KAAKA,OAAO,EAAE;QACjCG,kBAAkB,CAAES,IAAI,IAAK;UAC3B,IACEA,IAAI,CAACL,KAAK,KAAKI,SAAS,CAACJ,KAAK,IAC9BK,IAAI,CAACJ,MAAM,KAAKG,SAAS,CAACH,MAAM,EAChC;YACA,OAAOI,IAAI;UACb;UACA,OAAO;YAAEL,KAAK,EAAEI,SAAS,CAACJ,KAAK;YAAEC,MAAM,EAAEG,SAAS,CAACH;UAAO,CAAC;QAC7D,CAAC,CAAC;MACJ;IACF,CAAC;IAED,MAAM;MAAED,KAAK;MAAEC;IAAO,CAAC,GAAGV,KAAK,CAACQ,WAAW,CAAC,CAAC;IAC7CH,kBAAkB,CAAES,IAAI,IAAK;MAC3B,IAAIA,IAAI,CAACL,KAAK,KAAKA,KAAK,IAAIK,IAAI,CAACJ,MAAM,KAAKA,MAAM,EAAE;QAClD,OAAOI,IAAI;MACb;MACA,OAAO;QACLL,KAAK,EAAEA,KAAK,IAAI,CAAC;QACjBC,MAAM,EAAEA,MAAM,IAAI;MACpB,CAAC;IACH,CAAC,CAAC;IAEF,MAAMK,kBAAkB,GAAG,IAAIC,+BAAkB,CAC/CC,0BAAa,CAACC,YAChB,CAAC;IACD,MAAMC,YAAY,GAAGJ,kBAAkB,CAACK,WAAW,CACjD,4BAA4B,EAC5BR,gCACF,CAAC;IAED,OAAO,MAAM;MACXO,YAAY,CAACE,MAAM,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,EAAE,CAACnB,OAAO,EAAEF,KAAK,CAAC,CAAC;EAEpB,OAAOI,eAAe;AACxB","ignoreList":[]}
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- const version = exports.version = '1.22.2';
7
+ const version = exports.version = '1.23.0';
8
8
  //# sourceMappingURL=version.js.map
@@ -7,7 +7,8 @@ export const LivestreamPlayer = ({
7
7
  callType,
8
8
  callId,
9
9
  ViewerLivestream = DefaultViewerLivestream,
10
- joinBehavior = 'asap'
10
+ joinBehavior = 'asap',
11
+ children
11
12
  }) => {
12
13
  const client = useStreamVideoClient();
13
14
  const [call, setCall] = useState();
@@ -45,6 +46,6 @@ export const LivestreamPlayer = ({
45
46
  call: call
46
47
  }, /*#__PURE__*/React.createElement(ViewerLivestream, {
47
48
  joinBehavior: joinBehavior
48
- }));
49
+ }), children);
49
50
  };
50
51
  //# sourceMappingURL=LivestreamPlayer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","ViewerLivestream","DefaultViewerLivestream","CallingState","getLogger","StreamCall","useStreamVideoClient","LivestreamPlayer","callType","callId","joinBehavior","client","call","setCall","myCall","state","callingState","LEFT","leave","catch","e","logger","undefined","createElement"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamPlayer/LivestreamPlayer.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SACEC,gBAAgB,IAAIC,uBAAuB,QAEtC,qBAAqB;AAC5B,SAAeC,YAAY,EAAEC,SAAS,QAAQ,yBAAyB;AACvE,SAASC,UAAU,QAAQ,+BAA+B;AAC1D,SAASC,oBAAoB,QAAQ,iCAAiC;AA+BtE,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAC/BC,QAAQ;EACRC,MAAM;EACNR,gBAAgB,GAAGC,uBAAuB;EAC1CQ,YAAY,GAAG;AACM,CAAC,KAAK;EAC3B,MAAMC,MAAM,GAAGL,oBAAoB,CAAC,CAAC;EAErC,MAAM,CAACM,IAAI,EAAEC,OAAO,CAAC,GAAGb,QAAQ,CAAO,CAAC;EAExCD,SAAS,CAAC,MAAM;IACd,IAAI,CAACY,MAAM,EAAE;MACX;IACF;IACA,MAAMG,MAAM,GAAGH,MAAM,CAACC,IAAI,CAACJ,QAAQ,EAAEC,MAAM,CAAC;IAC5CI,OAAO,CAACC,MAAM,CAAC;IACf,OAAO,MAAM;MACX,IAAIA,MAAM,CAACC,KAAK,CAACC,YAAY,KAAKb,YAAY,CAACc,IAAI,EAAE;QACnDH,MAAM,CAACI,KAAK,CAAC,CAAC,CAACC,KAAK,CAAEC,CAAC,IAAK;UAC1B,MAAMC,MAAM,GAAGjB,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;UAC9CiB,MAAM,CAAC,OAAO,EAAE,qBAAqB,EAAED,CAAC,CAAC;QAC3C,CAAC,CAAC;MACJ;MACAP,OAAO,CAACS,SAAS,CAAC;IACpB,CAAC;EACH,CAAC,EAAE,CAACb,MAAM,EAAED,QAAQ,EAAEG,MAAM,CAAC,CAAC;EAE9BZ,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX;MACA,IAAIa,IAAI,EAAEG,KAAK,CAACC,YAAY,KAAKb,YAAY,CAACc,IAAI,EAAE;QAClDL,IAAI,EAAEM,KAAK,CAAC,CAAC,CAACC,KAAK,CAAEC,CAAC,IAAK;UACzB,MAAMC,MAAM,GAAGjB,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;UAC9CiB,MAAM,CAAC,OAAO,EAAE,qBAAqB,EAAED,CAAC,CAAC;QAC3C,CAAC,CAAC;MACJ;IACF,CAAC;EACH,CAAC,EAAE,CAACR,IAAI,CAAC,CAAC;EAEV,IAAI,CAACA,IAAI,EAAE;IACT,OAAO,IAAI;EACb;EAEA,oBACEd,KAAA,CAAAyB,aAAA,CAAClB,UAAU;IAACO,IAAI,EAAEA;EAAK,gBACrBd,KAAA,CAAAyB,aAAA,CAACtB,gBAAgB;IAACS,YAAY,EAAEA;EAAa,CAAE,CACrC,CAAC;AAEjB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","ViewerLivestream","DefaultViewerLivestream","CallingState","getLogger","StreamCall","useStreamVideoClient","LivestreamPlayer","callType","callId","joinBehavior","children","client","call","setCall","myCall","state","callingState","LEFT","leave","catch","e","logger","undefined","createElement"],"sourceRoot":"../../../../../src","sources":["components/Livestream/LivestreamPlayer/LivestreamPlayer.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAuBC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AACrE,SACEC,gBAAgB,IAAIC,uBAAuB,QAEtC,qBAAqB;AAC5B,SAAeC,YAAY,EAAEC,SAAS,QAAQ,yBAAyB;AACvE,SAASC,UAAU,QAAQ,+BAA+B;AAC1D,SAASC,oBAAoB,QAAQ,iCAAiC;AA+BtE,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAC/BC,QAAQ;EACRC,MAAM;EACNR,gBAAgB,GAAGC,uBAAuB;EAC1CQ,YAAY,GAAG,MAAM;EACrBC;AACwC,CAAC,KAAK;EAC9C,MAAMC,MAAM,GAAGN,oBAAoB,CAAC,CAAC;EAErC,MAAM,CAACO,IAAI,EAAEC,OAAO,CAAC,GAAGd,QAAQ,CAAO,CAAC;EAExCD,SAAS,CAAC,MAAM;IACd,IAAI,CAACa,MAAM,EAAE;MACX;IACF;IACA,MAAMG,MAAM,GAAGH,MAAM,CAACC,IAAI,CAACL,QAAQ,EAAEC,MAAM,CAAC;IAC5CK,OAAO,CAACC,MAAM,CAAC;IACf,OAAO,MAAM;MACX,IAAIA,MAAM,CAACC,KAAK,CAACC,YAAY,KAAKd,YAAY,CAACe,IAAI,EAAE;QACnDH,MAAM,CAACI,KAAK,CAAC,CAAC,CAACC,KAAK,CAAEC,CAAC,IAAK;UAC1B,MAAMC,MAAM,GAAGlB,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;UAC9CkB,MAAM,CAAC,OAAO,EAAE,qBAAqB,EAAED,CAAC,CAAC;QAC3C,CAAC,CAAC;MACJ;MACAP,OAAO,CAACS,SAAS,CAAC;IACpB,CAAC;EACH,CAAC,EAAE,CAACd,MAAM,EAAED,QAAQ,EAAEI,MAAM,CAAC,CAAC;EAE9Bb,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX;MACA,IAAIc,IAAI,EAAEG,KAAK,CAACC,YAAY,KAAKd,YAAY,CAACe,IAAI,EAAE;QAClDL,IAAI,EAAEM,KAAK,CAAC,CAAC,CAACC,KAAK,CAAEC,CAAC,IAAK;UACzB,MAAMC,MAAM,GAAGlB,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;UAC9CkB,MAAM,CAAC,OAAO,EAAE,qBAAqB,EAAED,CAAC,CAAC;QAC3C,CAAC,CAAC;MACJ;IACF,CAAC;EACH,CAAC,EAAE,CAACR,IAAI,CAAC,CAAC;EAEV,IAAI,CAACA,IAAI,EAAE;IACT,OAAO,IAAI;EACb;EAEA,oBACEf,KAAA,CAAA0B,aAAA,CAACnB,UAAU;IAACQ,IAAI,EAAEA;EAAK,gBACrBf,KAAA,CAAA0B,aAAA,CAACvB,gBAAgB;IAACS,YAAY,EAAEA;EAAa,CAAE,CAAC,EAC/CC,QACS,CAAC;AAEjB,CAAC","ignoreList":[]}
@@ -1,13 +1,14 @@
1
1
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
2
  import React from 'react';
3
3
  import { Pressable, StyleSheet, View } from 'react-native';
4
- import { FLOATING_VIDEO_VIEW_STYLE, Z_INDEX } from '../../../constants';
4
+ import { Z_INDEX } from '../../../constants';
5
5
  import { ComponentTestIds } from '../../../constants/TestIds';
6
6
  import { VideoSlash } from '../../../icons';
7
7
  import FloatingView from './FloatingView';
8
8
  import { FloatingViewAlignment } from './FloatingView/common';
9
9
  import { ParticipantView as DefaultParticipantView } from '../ParticipantView';
10
10
  import { useTheme } from '../../../contexts/ThemeContext';
11
+ import { useFloatingVideoDimensions } from './useFloatingVideoDimensions';
11
12
 
12
13
  /**
13
14
  * Props to be passed for the LocalVideoView component.
@@ -60,7 +61,10 @@ export const FloatingParticipantView = ({
60
61
  const {
61
62
  theme: {
62
63
  colors,
63
- floatingParticipantsView
64
+ floatingParticipantsView,
65
+ variants: {
66
+ spacingSizes
67
+ }
64
68
  }
65
69
  } = useTheme();
66
70
  const floatingAlignmentMap = {
@@ -70,6 +74,7 @@ export const FloatingParticipantView = ({
70
74
  'bottom-right': FloatingViewAlignment.bottomRight
71
75
  };
72
76
  const [containerDimensions, setContainerDimensions] = React.useState();
77
+ const floatingVideoDimensions = useFloatingVideoDimensions(containerDimensions, participant, 'videoTrack');
73
78
  const participantViewProps = {
74
79
  ParticipantLabel: null,
75
80
  ParticipantNetworkQualityIndicator,
@@ -102,7 +107,7 @@ export const FloatingParticipantView = ({
102
107
  };
103
108
  });
104
109
  }
105
- }, containerDimensions && /*#__PURE__*/React.createElement(FloatingView, {
110
+ }, containerDimensions && floatingVideoDimensions && /*#__PURE__*/React.createElement(FloatingView, {
106
111
  containerHeight: containerDimensions.height,
107
112
  containerWidth: containerDimensions.width,
108
113
  initialAlignment: floatingAlignmentMap[alignment]
@@ -111,7 +116,12 @@ export const FloatingParticipantView = ({
111
116
  }, ParticipantView && /*#__PURE__*/React.createElement(ParticipantView, _extends({
112
117
  participant: participant,
113
118
  trackType: "videoTrack",
114
- style: [styles.participantViewContainer, participantViewStyle, {
119
+ style: [styles.participantViewContainer, {
120
+ width: floatingVideoDimensions.width,
121
+ height: floatingVideoDimensions.height,
122
+ borderRadius: floatingVideoDimensions.width * 0.1,
123
+ marginHorizontal: spacingSizes.md
124
+ }, participantViewStyle, {
115
125
  shadowColor: colors.sheetPrimary
116
126
  }, floatingParticipantsView.participantViewContainer]
117
127
  // video z order must be one above the one used in grid view
@@ -129,9 +139,6 @@ const styles = StyleSheet.create({
129
139
  flex: 1
130
140
  },
131
141
  participantViewContainer: {
132
- height: FLOATING_VIDEO_VIEW_STYLE.height,
133
- width: FLOATING_VIDEO_VIEW_STYLE.width,
134
- borderRadius: FLOATING_VIDEO_VIEW_STYLE.borderRadius,
135
142
  shadowOffset: {
136
143
  width: 0,
137
144
  height: 2
@@ -1 +1 @@
1
- {"version":3,"names":["React","Pressable","StyleSheet","View","FLOATING_VIDEO_VIEW_STYLE","Z_INDEX","ComponentTestIds","VideoSlash","FloatingView","FloatingViewAlignment","ParticipantView","DefaultParticipantView","useTheme","DefaultLocalParticipantViewVideoFallback","theme","colors","floatingParticipantsView","variants","iconSizes","defaults","createElement","style","styles","videoFallback","backgroundColor","sheetSecondary","height","md","width","color","iconPrimary","size","iconSize","FloatingParticipantView","alignment","onPressHandler","participant","participantViewStyle","draggableContainerStyle","ParticipantNetworkQualityIndicator","ParticipantVideoFallback","ParticipantReaction","VideoRenderer","supportedReactions","videoZOrder","objectFit","floatingAlignmentMap","topLeft","topRight","bottomLeft","bottomRight","containerDimensions","setContainerDimensions","useState","participantViewProps","ParticipantLabel","testID","LOCAL_PARTICIPANT","container","pointerEvents","onLayout","event","nativeEvent","layout","prev","containerHeight","containerWidth","initialAlignment","onPress","_extends","trackType","participantViewContainer","shadowColor","sheetPrimary","create","zIndex","IN_MIDDLE","flex","borderRadius","shadowOffset","shadowOpacity","shadowRadius","elevation","absoluteFillObject","alignItems","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/Participant/FloatingParticipantView/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Pressable","StyleSheet","View","Z_INDEX","ComponentTestIds","VideoSlash","FloatingView","FloatingViewAlignment","ParticipantView","DefaultParticipantView","useTheme","useFloatingVideoDimensions","DefaultLocalParticipantViewVideoFallback","theme","colors","floatingParticipantsView","variants","iconSizes","defaults","createElement","style","styles","videoFallback","backgroundColor","sheetSecondary","height","md","width","color","iconPrimary","size","iconSize","FloatingParticipantView","alignment","onPressHandler","participant","participantViewStyle","draggableContainerStyle","ParticipantNetworkQualityIndicator","ParticipantVideoFallback","ParticipantReaction","VideoRenderer","supportedReactions","videoZOrder","objectFit","spacingSizes","floatingAlignmentMap","topLeft","topRight","bottomLeft","bottomRight","containerDimensions","setContainerDimensions","useState","floatingVideoDimensions","participantViewProps","ParticipantLabel","testID","LOCAL_PARTICIPANT","container","pointerEvents","onLayout","event","nativeEvent","layout","prev","containerHeight","containerWidth","initialAlignment","onPress","_extends","trackType","participantViewContainer","borderRadius","marginHorizontal","shadowColor","sheetPrimary","create","zIndex","IN_MIDDLE","flex","shadowOffset","shadowOpacity","shadowRadius","elevation","absoluteFillObject","alignItems","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/Participant/FloatingParticipantView/index.tsx"],"mappings":"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","ignoreList":[]}