@livekit/react-native 2.1.1 → 2.3.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 (110) hide show
  1. package/README.md +15 -6
  2. package/android/build.gradle +1 -1
  3. package/android/gradle/wrapper/gradle-wrapper.properties +3 -1
  4. package/android/gradlew +29 -14
  5. package/android/gradlew.bat +19 -16
  6. package/android/src/main/java/com/livekit/reactnative/LiveKitReactNative.kt +14 -1
  7. package/android/src/main/java/com/livekit/reactnative/LivekitReactNativeModule.kt +10 -0
  8. package/android/src/main/java/com/livekit/reactnative/video/SimulcastVideoEncoderFactoryWrapper.kt +2 -2
  9. package/android/src/main/java/org/webrtc/audio/WebRtcAudioTrackHelper.kt +20 -0
  10. package/lib/commonjs/audio/AudioManager.js +4 -27
  11. package/lib/commonjs/audio/AudioManager.js.map +1 -1
  12. package/lib/commonjs/audio/AudioSession.js +55 -23
  13. package/lib/commonjs/audio/AudioSession.js.map +1 -1
  14. package/lib/commonjs/components/LiveKitRoom.js +3 -6
  15. package/lib/commonjs/components/LiveKitRoom.js.map +1 -1
  16. package/lib/commonjs/components/VideoTrack.js +30 -66
  17. package/lib/commonjs/components/VideoTrack.js.map +1 -1
  18. package/lib/commonjs/components/VideoView.js +32 -63
  19. package/lib/commonjs/components/VideoView.js.map +1 -1
  20. package/lib/commonjs/components/ViewPortDetector.js +15 -62
  21. package/lib/commonjs/components/ViewPortDetector.js.map +1 -1
  22. package/lib/commonjs/hooks.js +6 -63
  23. package/lib/commonjs/hooks.js.map +1 -1
  24. package/lib/commonjs/index.js +10 -85
  25. package/lib/commonjs/index.js.map +1 -1
  26. package/lib/commonjs/logger.js +4 -14
  27. package/lib/commonjs/logger.js.map +1 -1
  28. package/lib/commonjs/polyfills/EncoderDecoderTogether.min.js +105 -0
  29. package/lib/commonjs/polyfills/EncoderDecoderTogether.min.js.map +1 -0
  30. package/lib/commonjs/useParticipant.js +5 -13
  31. package/lib/commonjs/useParticipant.js.map +1 -1
  32. package/lib/commonjs/useRoom.js +17 -33
  33. package/lib/commonjs/useRoom.js.map +1 -1
  34. package/lib/module/audio/AudioManager.js +3 -17
  35. package/lib/module/audio/AudioManager.js.map +1 -1
  36. package/lib/module/audio/AudioSession.js +54 -16
  37. package/lib/module/audio/AudioSession.js.map +1 -1
  38. package/lib/module/components/LiveKitRoom.js +1 -0
  39. package/lib/module/components/LiveKitRoom.js.map +1 -1
  40. package/lib/module/components/VideoTrack.js +18 -44
  41. package/lib/module/components/VideoTrack.js.map +1 -1
  42. package/lib/module/components/VideoView.js +18 -42
  43. package/lib/module/components/VideoView.js.map +1 -1
  44. package/lib/module/components/ViewPortDetector.js +13 -54
  45. package/lib/module/components/ViewPortDetector.js.map +1 -1
  46. package/lib/module/hooks.js +1 -2
  47. package/lib/module/hooks.js.map +1 -1
  48. package/lib/module/index.js +6 -24
  49. package/lib/module/index.js.map +1 -1
  50. package/lib/module/logger.js +2 -6
  51. package/lib/module/logger.js.map +1 -1
  52. package/lib/module/polyfills/EncoderDecoderTogether.min.js +105 -0
  53. package/lib/module/polyfills/EncoderDecoderTogether.min.js.map +1 -0
  54. package/lib/module/useParticipant.js +5 -11
  55. package/lib/module/useParticipant.js.map +1 -1
  56. package/lib/module/useRoom.js +17 -30
  57. package/lib/module/useRoom.js.map +1 -1
  58. package/lib/typescript/babel.config.d.ts +1 -0
  59. package/lib/typescript/docs/assets/icons.d.ts +0 -0
  60. package/lib/typescript/docs/assets/main.d.ts +0 -0
  61. package/lib/typescript/docs/assets/navigation.d.ts +0 -0
  62. package/lib/typescript/docs/assets/search.d.ts +0 -0
  63. package/lib/typescript/lib/commonjs/audio/AudioManager.d.ts +10 -0
  64. package/lib/typescript/lib/commonjs/audio/AudioSession.d.ts +33 -0
  65. package/lib/typescript/lib/commonjs/components/LiveKitRoom.d.ts +20 -0
  66. package/lib/typescript/lib/commonjs/components/VideoTrack.d.ts +8 -0
  67. package/lib/typescript/lib/commonjs/components/VideoView.d.ts +14 -0
  68. package/lib/typescript/lib/commonjs/components/ViewPortDetector.d.ts +30 -0
  69. package/lib/typescript/lib/commonjs/hooks.d.ts +29 -0
  70. package/lib/typescript/lib/commonjs/index.d.ts +10 -0
  71. package/lib/typescript/lib/commonjs/logger.d.ts +8 -0
  72. package/lib/typescript/lib/commonjs/useParticipant.d.ts +14 -0
  73. package/lib/typescript/lib/commonjs/useRoom.d.ts +16 -0
  74. package/lib/typescript/lib/module/audio/AudioManager.d.ts +9 -0
  75. package/lib/typescript/lib/module/audio/AudioSession.d.ts +31 -0
  76. package/lib/typescript/lib/module/components/LiveKitRoom.d.ts +22 -0
  77. package/lib/typescript/lib/module/components/VideoTrack.d.ts +9 -0
  78. package/lib/typescript/lib/module/components/VideoView.d.ts +9 -0
  79. package/lib/typescript/lib/module/components/ViewPortDetector.d.ts +29 -0
  80. package/lib/typescript/lib/module/hooks.d.ts +1 -0
  81. package/lib/typescript/lib/module/index.d.ts +18 -0
  82. package/lib/typescript/lib/module/logger.d.ts +8 -0
  83. package/lib/typescript/lib/module/polyfills/EncoderDecoderTogether.min.d.ts +0 -0
  84. package/lib/typescript/lib/module/useParticipant.d.ts +13 -0
  85. package/lib/typescript/lib/module/useRoom.d.ts +15 -0
  86. package/lib/typescript/scripts/bootstrap.d.ts +1 -0
  87. package/lib/typescript/{audio → src/audio}/AudioSession.d.ts +7 -9
  88. package/lib/typescript/{components → src/components}/LiveKitRoom.d.ts +1 -1
  89. package/lib/typescript/{components → src/components}/VideoTrack.d.ts +2 -2
  90. package/lib/typescript/{components → src/components}/VideoView.d.ts +3 -3
  91. package/lib/typescript/{components → src/components}/ViewPortDetector.d.ts +3 -3
  92. package/lib/typescript/src/hooks.d.ts +3 -0
  93. package/lib/typescript/src/index.d.ts +20 -0
  94. package/lib/typescript/{logger.d.ts → src/logger.d.ts} +2 -2
  95. package/lib/typescript/src/polyfills/EncoderDecoderTogether.min.d.ts +0 -0
  96. package/lib/typescript/{useRoom.d.ts → src/useRoom.d.ts} +1 -1
  97. package/package.json +22 -19
  98. package/src/audio/AudioSession.ts +0 -2
  99. package/src/components/LiveKitRoom.tsx +1 -1
  100. package/src/components/VideoTrack.tsx +7 -2
  101. package/src/components/VideoView.tsx +8 -3
  102. package/src/components/ViewPortDetector.tsx +4 -4
  103. package/src/hooks.ts +12 -9
  104. package/src/index.tsx +11 -9
  105. package/src/polyfills/EncoderDecoderTogether.min.js +6 -0
  106. package/src/useRoom.ts +1 -1
  107. package/lib/typescript/hooks.d.ts +0 -2
  108. package/lib/typescript/index.d.ts +0 -19
  109. /package/lib/typescript/{audio → src/audio}/AudioManager.d.ts +0 -0
  110. /package/lib/typescript/{useParticipant.d.ts → src/useParticipant.d.ts} +0 -0
@@ -4,58 +4,50 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.VideoView = void 0;
7
-
8
- var React = _interopRequireWildcard(require("react"));
9
-
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var React = _react;
10
9
  var _reactNative = require("react-native");
11
-
12
10
  var _livekitClient = require("livekit-client");
13
-
14
11
  var _reactNativeWebrtc = require("@livekit/react-native-webrtc");
15
-
16
12
  var _ViewPortDetector = _interopRequireDefault(require("./ViewPortDetector"));
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- 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); }
21
-
22
- 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; }
23
-
24
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
-
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
18
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
26
19
  /**
27
20
  * @deprecated use `VideoTrack` and `VideoTrackProps` instead.
28
21
  */
29
- const VideoView = _ref => {
30
- var _mediaStream$toURL;
31
22
 
32
- let {
33
- style = {},
34
- videoTrack,
35
- objectFit = 'cover',
36
- zOrder,
37
- mirror
38
- } = _ref;
39
- const [elementInfo] = (0, React.useState)(() => {
23
+ /**
24
+ * @deprecated use `VideoTrack` and `VideoTrackProps` instead.
25
+ */
26
+ const VideoView = ({
27
+ style = {},
28
+ videoTrack,
29
+ objectFit = 'cover',
30
+ zOrder,
31
+ mirror
32
+ }) => {
33
+ const [elementInfo] = (0, _react.useState)(() => {
40
34
  let info = new VideoViewElementInfo();
41
35
  info.id = videoTrack === null || videoTrack === void 0 ? void 0 : videoTrack.sid;
42
36
  info.something = videoTrack;
43
37
  return info;
44
38
  });
45
- const layoutOnChange = (0, React.useCallback)(event => elementInfo.onLayout(event), [elementInfo]);
46
- const visibilityOnChange = (0, React.useCallback)(isVisible => elementInfo.onVisibility(isVisible), [elementInfo]);
47
- const shouldObserveVisibility = (0, React.useMemo)(() => {
39
+ const layoutOnChange = (0, _react.useCallback)(event => elementInfo.onLayout(event), [elementInfo]);
40
+ const visibilityOnChange = (0, _react.useCallback)(isVisible => elementInfo.onVisibility(isVisible), [elementInfo]);
41
+ const shouldObserveVisibility = (0, _react.useMemo)(() => {
48
42
  return videoTrack instanceof _livekitClient.RemoteVideoTrack && videoTrack.isAdaptiveStream;
49
43
  }, [videoTrack]);
50
- const [mediaStream, setMediaStream] = (0, React.useState)(videoTrack === null || videoTrack === void 0 ? void 0 : videoTrack.mediaStream);
51
- (0, React.useEffect)(() => {
44
+ const [mediaStream, setMediaStream] = (0, _react.useState)(videoTrack === null || videoTrack === void 0 ? void 0 : videoTrack.mediaStream);
45
+ (0, _react.useEffect)(() => {
52
46
  setMediaStream(videoTrack === null || videoTrack === void 0 ? void 0 : videoTrack.mediaStream);
53
-
54
47
  if (videoTrack instanceof _livekitClient.LocalVideoTrack) {
55
48
  const onRestarted = track => {
56
49
  setMediaStream(track === null || track === void 0 ? void 0 : track.mediaStream);
57
50
  };
58
-
59
51
  videoTrack.on(_livekitClient.TrackEvent.Restarted, onRestarted);
60
52
  return () => {
61
53
  videoTrack.off(_livekitClient.TrackEvent.Restarted, onRestarted);
@@ -64,18 +56,19 @@ const VideoView = _ref => {
64
56
  return () => {};
65
57
  }
66
58
  }, [videoTrack]);
67
- (0, React.useEffect)(() => {
59
+ (0, _react.useEffect)(() => {
68
60
  if (videoTrack instanceof _livekitClient.RemoteVideoTrack && videoTrack.isAdaptiveStream) {
69
- videoTrack === null || videoTrack === void 0 ? void 0 : videoTrack.observeElementInfo(elementInfo);
61
+ videoTrack === null || videoTrack === void 0 || videoTrack.observeElementInfo(elementInfo);
70
62
  return () => {
71
- videoTrack === null || videoTrack === void 0 ? void 0 : videoTrack.stopObservingElementInfo(elementInfo);
63
+ videoTrack === null || videoTrack === void 0 || videoTrack.stopObservingElementInfo(elementInfo);
72
64
  };
73
65
  } else {
74
66
  return () => {};
75
67
  }
76
68
  }, [videoTrack, elementInfo]);
77
69
  return /*#__PURE__*/React.createElement(_reactNative.View, {
78
- style: { ...style,
70
+ style: {
71
+ ...style,
79
72
  ...styles.container
80
73
  },
81
74
  onLayout: layoutOnChange
@@ -86,15 +79,13 @@ const VideoView = _ref => {
86
79
  propKey: videoTrack
87
80
  }, /*#__PURE__*/React.createElement(_reactNativeWebrtc.RTCView, {
88
81
  style: styles.videoView,
89
- streamURL: (_mediaStream$toURL = mediaStream === null || mediaStream === void 0 ? void 0 : mediaStream.toURL()) !== null && _mediaStream$toURL !== void 0 ? _mediaStream$toURL : '',
82
+ streamURL: (mediaStream === null || mediaStream === void 0 ? void 0 : mediaStream.toURL()) ?? '',
90
83
  objectFit: objectFit,
91
84
  zOrder: zOrder,
92
85
  mirror: mirror
93
86
  })));
94
87
  };
95
-
96
88
  exports.VideoView = VideoView;
97
-
98
89
  const styles = _reactNative.StyleSheet.create({
99
90
  container: {},
100
91
  videoView: {
@@ -102,44 +93,28 @@ const styles = _reactNative.StyleSheet.create({
102
93
  width: '100%'
103
94
  }
104
95
  });
105
-
106
96
  class VideoViewElementInfo {
107
97
  constructor() {
108
98
  _defineProperty(this, "element", {});
109
-
110
99
  _defineProperty(this, "something", void 0);
111
-
112
100
  _defineProperty(this, "id", void 0);
113
-
114
101
  _defineProperty(this, "_width", 0);
115
-
116
102
  _defineProperty(this, "_height", 0);
117
-
118
103
  _defineProperty(this, "_observing", false);
119
-
120
104
  _defineProperty(this, "visible", true);
121
-
122
105
  _defineProperty(this, "visibilityChangedAt", void 0);
123
-
124
106
  _defineProperty(this, "pictureInPicture", false);
125
-
126
107
  _defineProperty(this, "handleResize", void 0);
127
-
128
108
  _defineProperty(this, "handleVisibilityChanged", void 0);
129
-
130
109
  _defineProperty(this, "width", () => this._width);
131
-
132
110
  _defineProperty(this, "height", () => this._height);
133
111
  }
134
-
135
112
  observe() {
136
113
  this._observing = true;
137
114
  }
138
-
139
115
  stopObserving() {
140
116
  this._observing = false;
141
117
  }
142
-
143
118
  onLayout(event) {
144
119
  let {
145
120
  width,
@@ -147,26 +122,20 @@ class VideoViewElementInfo {
147
122
  } = event.nativeEvent.layout;
148
123
  this._width = width;
149
124
  this._height = height;
150
-
151
125
  if (this._observing) {
152
126
  var _this$handleResize;
153
-
154
- (_this$handleResize = this.handleResize) === null || _this$handleResize === void 0 ? void 0 : _this$handleResize.call(this);
127
+ (_this$handleResize = this.handleResize) === null || _this$handleResize === void 0 || _this$handleResize.call(this);
155
128
  }
156
129
  }
157
-
158
130
  onVisibility(isVisible) {
159
131
  if (this.visible !== isVisible) {
160
132
  this.visible = isVisible;
161
133
  this.visibilityChangedAt = Date.now();
162
-
163
134
  if (this._observing) {
164
135
  var _this$handleVisibilit;
165
-
166
- (_this$handleVisibilit = this.handleVisibilityChanged) === null || _this$handleVisibilit === void 0 ? void 0 : _this$handleVisibilit.call(this);
136
+ (_this$handleVisibilit = this.handleVisibilityChanged) === null || _this$handleVisibilit === void 0 || _this$handleVisibilit.call(this);
167
137
  }
168
138
  }
169
139
  }
170
-
171
140
  }
172
141
  //# sourceMappingURL=VideoView.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["VideoView.tsx"],"names":["VideoView","style","videoTrack","objectFit","zOrder","mirror","elementInfo","info","VideoViewElementInfo","id","sid","something","layoutOnChange","event","onLayout","visibilityOnChange","isVisible","onVisibility","shouldObserveVisibility","RemoteVideoTrack","isAdaptiveStream","mediaStream","setMediaStream","LocalVideoTrack","onRestarted","track","on","TrackEvent","Restarted","off","observeElementInfo","stopObservingElementInfo","styles","container","videoView","toURL","StyleSheet","create","flex","width","_width","_height","observe","_observing","stopObserving","height","nativeEvent","layout","handleResize","visible","visibilityChangedAt","Date","now","handleVisibilityChanged"],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport { LayoutChangeEvent, StyleSheet, View, ViewStyle } from 'react-native';\nimport {\n ElementInfo,\n LocalVideoTrack,\n Track,\n TrackEvent,\n VideoTrack,\n} from 'livekit-client';\nimport { RTCView } from '@livekit/react-native-webrtc';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { RemoteVideoTrack } from 'livekit-client';\nimport ViewPortDetector from './ViewPortDetector';\n\n/**\n * @deprecated use `VideoTrack` and `VideoTrackProps` instead.\n */\nexport type Props = {\n videoTrack?: VideoTrack | undefined;\n style?: ViewStyle;\n objectFit?: 'cover' | 'contain' | undefined;\n mirror?: boolean;\n zOrder?: number;\n};\n\n/**\n * @deprecated use `VideoTrack` and `VideoTrackProps` instead.\n */\nexport const VideoView = ({\n style = {},\n videoTrack,\n objectFit = 'cover',\n zOrder,\n mirror,\n}: Props) => {\n const [elementInfo] = useState(() => {\n let info = new VideoViewElementInfo();\n info.id = videoTrack?.sid;\n info.something = videoTrack;\n return info;\n });\n\n const layoutOnChange = useCallback(\n (event: LayoutChangeEvent) => elementInfo.onLayout(event),\n [elementInfo]\n );\n const visibilityOnChange = useCallback(\n (isVisible: boolean) => elementInfo.onVisibility(isVisible),\n [elementInfo]\n );\n const shouldObserveVisibility = useMemo(() => {\n return (\n videoTrack instanceof RemoteVideoTrack && videoTrack.isAdaptiveStream\n );\n }, [videoTrack]);\n\n const [mediaStream, setMediaStream] = useState(videoTrack?.mediaStream);\n useEffect(() => {\n setMediaStream(videoTrack?.mediaStream);\n if (videoTrack instanceof LocalVideoTrack) {\n const onRestarted = (track: Track | null) => {\n setMediaStream(track?.mediaStream);\n };\n videoTrack.on(TrackEvent.Restarted, onRestarted);\n\n return () => {\n videoTrack.off(TrackEvent.Restarted, onRestarted);\n };\n } else {\n return () => {};\n }\n }, [videoTrack]);\n\n useEffect(() => {\n if (videoTrack instanceof RemoteVideoTrack && videoTrack.isAdaptiveStream) {\n videoTrack?.observeElementInfo(elementInfo);\n return () => {\n videoTrack?.stopObservingElementInfo(elementInfo);\n };\n } else {\n return () => {};\n }\n }, [videoTrack, elementInfo]);\n\n return (\n <View style={{ ...style, ...styles.container }} onLayout={layoutOnChange}>\n <ViewPortDetector\n onChange={visibilityOnChange}\n style={styles.videoView}\n disabled={!shouldObserveVisibility}\n propKey={videoTrack}\n >\n <RTCView\n style={styles.videoView}\n streamURL={mediaStream?.toURL() ?? ''}\n objectFit={objectFit}\n zOrder={zOrder}\n mirror={mirror}\n />\n </ViewPortDetector>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {},\n videoView: {\n flex: 1,\n width: '100%',\n },\n});\n\nclass VideoViewElementInfo implements ElementInfo {\n element: object = {};\n something?: any;\n id?: string;\n _width = 0;\n _height = 0;\n _observing = false;\n visible: boolean = true;\n visibilityChangedAt: number | undefined;\n pictureInPicture = false;\n handleResize?: (() => void) | undefined;\n handleVisibilityChanged?: (() => void) | undefined;\n width = () => this._width;\n height = () => this._height;\n\n observe(): void {\n this._observing = true;\n }\n stopObserving(): void {\n this._observing = false;\n }\n\n onLayout(event: LayoutChangeEvent) {\n let { width, height } = event.nativeEvent.layout;\n this._width = width;\n this._height = height;\n\n if (this._observing) {\n this.handleResize?.();\n }\n }\n onVisibility(isVisible: boolean) {\n if (this.visible !== isVisible) {\n this.visible = isVisible;\n this.visibilityChangedAt = Date.now();\n if (this._observing) {\n this.handleVisibilityChanged?.();\n }\n }\n }\n}\n"]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNative","_livekitClient","_reactNativeWebrtc","_ViewPortDetector","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","VideoView","style","videoTrack","objectFit","zOrder","mirror","elementInfo","useState","info","VideoViewElementInfo","id","sid","something","layoutOnChange","useCallback","event","onLayout","visibilityOnChange","isVisible","onVisibility","shouldObserveVisibility","useMemo","RemoteVideoTrack","isAdaptiveStream","mediaStream","setMediaStream","useEffect","LocalVideoTrack","onRestarted","track","on","TrackEvent","Restarted","off","observeElementInfo","stopObservingElementInfo","createElement","View","styles","container","onChange","videoView","disabled","propKey","RTCView","streamURL","toURL","exports","StyleSheet","create","flex","width","constructor","_width","_height","observe","_observing","stopObserving","height","nativeEvent","layout","_this$handleResize","handleResize","visible","visibilityChangedAt","Date","now","_this$handleVisibilit","handleVisibilityChanged"],"sources":["VideoView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n type LayoutChangeEvent,\n StyleSheet,\n View,\n type ViewStyle,\n} from 'react-native';\nimport {\n type ElementInfo,\n LocalVideoTrack,\n Track,\n TrackEvent,\n type VideoTrack,\n} from 'livekit-client';\nimport { RTCView } from '@livekit/react-native-webrtc';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { RemoteVideoTrack } from 'livekit-client';\nimport ViewPortDetector from './ViewPortDetector';\n\n/**\n * @deprecated use `VideoTrack` and `VideoTrackProps` instead.\n */\nexport type Props = {\n videoTrack?: VideoTrack | undefined;\n style?: ViewStyle;\n objectFit?: 'cover' | 'contain' | undefined;\n mirror?: boolean;\n zOrder?: number;\n};\n\n/**\n * @deprecated use `VideoTrack` and `VideoTrackProps` instead.\n */\nexport const VideoView = ({\n style = {},\n videoTrack,\n objectFit = 'cover',\n zOrder,\n mirror,\n}: Props) => {\n const [elementInfo] = useState(() => {\n let info = new VideoViewElementInfo();\n info.id = videoTrack?.sid;\n info.something = videoTrack;\n return info;\n });\n\n const layoutOnChange = useCallback(\n (event: LayoutChangeEvent) => elementInfo.onLayout(event),\n [elementInfo]\n );\n const visibilityOnChange = useCallback(\n (isVisible: boolean) => elementInfo.onVisibility(isVisible),\n [elementInfo]\n );\n const shouldObserveVisibility = useMemo(() => {\n return (\n videoTrack instanceof RemoteVideoTrack && videoTrack.isAdaptiveStream\n );\n }, [videoTrack]);\n\n const [mediaStream, setMediaStream] = useState(videoTrack?.mediaStream);\n useEffect(() => {\n setMediaStream(videoTrack?.mediaStream);\n if (videoTrack instanceof LocalVideoTrack) {\n const onRestarted = (track: Track | null) => {\n setMediaStream(track?.mediaStream);\n };\n videoTrack.on(TrackEvent.Restarted, onRestarted);\n\n return () => {\n videoTrack.off(TrackEvent.Restarted, onRestarted);\n };\n } else {\n return () => {};\n }\n }, [videoTrack]);\n\n useEffect(() => {\n if (videoTrack instanceof RemoteVideoTrack && videoTrack.isAdaptiveStream) {\n videoTrack?.observeElementInfo(elementInfo);\n return () => {\n videoTrack?.stopObservingElementInfo(elementInfo);\n };\n } else {\n return () => {};\n }\n }, [videoTrack, elementInfo]);\n\n return (\n <View style={{ ...style, ...styles.container }} onLayout={layoutOnChange}>\n <ViewPortDetector\n onChange={visibilityOnChange}\n style={styles.videoView}\n disabled={!shouldObserveVisibility}\n propKey={videoTrack}\n >\n <RTCView\n style={styles.videoView}\n streamURL={mediaStream?.toURL() ?? ''}\n objectFit={objectFit}\n zOrder={zOrder}\n mirror={mirror}\n />\n </ViewPortDetector>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {},\n videoView: {\n flex: 1,\n width: '100%',\n },\n});\n\nclass VideoViewElementInfo implements ElementInfo {\n element: object = {};\n something?: any;\n id?: string;\n _width = 0;\n _height = 0;\n _observing = false;\n visible: boolean = true;\n visibilityChangedAt: number | undefined;\n pictureInPicture = false;\n handleResize?: (() => void) | undefined;\n handleVisibilityChanged?: (() => void) | undefined;\n width = () => this._width;\n height = () => this._height;\n\n observe(): void {\n this._observing = true;\n }\n stopObserving(): void {\n this._observing = false;\n }\n\n onLayout(event: LayoutChangeEvent) {\n let { width, height } = event.nativeEvent.layout;\n this._width = width;\n this._height = height;\n\n if (this._observing) {\n this.handleResize?.();\n }\n }\n onVisibility(isVisible: boolean) {\n if (this.visible !== isVisible) {\n this.visible = isVisible;\n this.visibilityChangedAt = Date.now();\n if (this._observing) {\n this.handleVisibilityChanged?.();\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,179 +4,136 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
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
-
14
- 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; }
15
-
16
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
-
18
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
-
9
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ 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); }
12
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
13
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
14
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
15
  const DEFAULT_DELAY = 1000;
21
-
22
16
  class TimeoutHandler {
23
17
  constructor() {
24
18
  _defineProperty(this, "handlerRef", {
25
19
  id: -1
26
20
  });
27
21
  }
28
-
29
22
  get handler() {
30
23
  return this.handlerRef.id;
31
24
  }
32
-
33
25
  set handler(n) {
34
26
  this.handlerRef.id = n;
35
27
  }
36
-
37
28
  clear() {
38
29
  clearTimeout(this.handlerRef.id);
39
30
  }
40
-
41
31
  }
42
-
43
- function setIntervalWithTimeout(callback, intervalMs) {
44
- let handleWrapper = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new TimeoutHandler();
32
+ function setIntervalWithTimeout(callback, intervalMs, handleWrapper = new TimeoutHandler()) {
45
33
  let cleared = false;
46
-
47
34
  const timeout = () => {
48
35
  handleWrapper.handler = setTimeout(() => {
49
36
  callback(() => {
50
37
  cleared = true;
51
38
  handleWrapper.clear();
52
39
  });
53
-
54
40
  if (!cleared) {
55
41
  timeout();
56
42
  }
57
43
  }, intervalMs);
58
44
  };
59
-
60
45
  timeout();
61
46
  return handleWrapper;
62
47
  }
48
+
63
49
  /**
64
50
  * Detects when this is in the viewport and visible.
65
51
  *
66
52
  * Will not fire visibility changes for zero width/height components.
67
53
  */
68
-
69
-
70
54
  class ViewPortDetector extends _react.Component {
71
55
  constructor(props) {
72
56
  super(props);
73
-
74
57
  _defineProperty(this, "lastValue", null);
75
-
76
58
  _defineProperty(this, "interval", null);
77
-
78
59
  _defineProperty(this, "view", null);
79
-
80
60
  _defineProperty(this, "lastAppStateActive", false);
81
-
82
61
  _defineProperty(this, "appStateSubscription", null);
83
-
84
62
  _defineProperty(this, "hasValidTimeout", (disabled, delay) => {
85
- let disabledValue = disabled !== null && disabled !== void 0 ? disabled : false;
86
- let delayValue = delay !== null && delay !== void 0 ? delay : DEFAULT_DELAY;
63
+ let disabledValue = disabled ?? false;
64
+ let delayValue = delay ?? DEFAULT_DELAY;
87
65
  return _reactNative.AppState.currentState === 'active' && !disabledValue && delayValue > 0;
88
66
  });
89
-
90
67
  _defineProperty(this, "handleAppStateChange", nextAppState => {
91
68
  let nextAppStateActive = nextAppState === 'active';
92
-
93
69
  if (this.lastAppStateActive !== nextAppStateActive) {
94
70
  this.checkVisibility();
95
71
  }
96
-
97
72
  this.lastAppStateActive = nextAppStateActive;
98
-
99
73
  if (!this.hasValidTimeout(this.props.disabled, this.props.delay)) {
100
74
  this.stopWatching();
101
75
  } else {
102
76
  this.startWatching();
103
77
  }
104
78
  });
105
-
106
79
  _defineProperty(this, "startWatching", () => {
107
80
  if (this.interval) {
108
81
  return;
109
82
  }
110
-
111
83
  this.interval = setIntervalWithTimeout(this.checkVisibility, this.props.delay || DEFAULT_DELAY);
112
84
  });
113
-
114
85
  _defineProperty(this, "stopWatching", () => {
115
86
  var _this$interval;
116
-
117
- (_this$interval = this.interval) === null || _this$interval === void 0 ? void 0 : _this$interval.clear();
87
+ (_this$interval = this.interval) === null || _this$interval === void 0 || _this$interval.clear();
118
88
  this.interval = null;
119
89
  });
120
-
121
90
  _defineProperty(this, "checkVisibility", () => {
122
91
  if (!this.view) {
123
92
  return;
124
93
  }
125
-
126
94
  if (_reactNative.AppState.currentState !== 'active') {
127
95
  this.updateVisibility(false);
128
96
  return;
129
97
  }
130
-
131
98
  this.view.measure((_x, _y, width, height, _pageX, _pageY) => {
132
99
  this.checkInViewPort(width, height);
133
100
  });
134
101
  });
135
-
136
102
  _defineProperty(this, "checkInViewPort", (width, height) => {
137
- let isVisible; // Not visible if any of these are missing.
138
-
103
+ let isVisible;
104
+ // Not visible if any of these are missing.
139
105
  if (!width || !height) {
140
106
  isVisible = false;
141
107
  } else {
142
108
  isVisible = true;
143
109
  }
144
-
145
110
  this.updateVisibility(isVisible);
146
111
  });
147
-
148
112
  _defineProperty(this, "updateVisibility", isVisible => {
149
113
  if (this.lastValue !== isVisible) {
150
114
  var _this$props$onChange, _this$props;
151
-
152
115
  this.lastValue = isVisible;
153
- (_this$props$onChange = (_this$props = this.props).onChange) === null || _this$props$onChange === void 0 ? void 0 : _this$props$onChange.call(_this$props, isVisible);
116
+ (_this$props$onChange = (_this$props = this.props).onChange) === null || _this$props$onChange === void 0 || _this$props$onChange.call(_this$props, isVisible);
154
117
  }
155
118
  });
156
-
157
119
  this.state = {
158
120
  rectTop: 0,
159
121
  rectBottom: 0
160
122
  };
161
123
  }
162
-
163
124
  componentDidMount() {
164
125
  this.lastAppStateActive = _reactNative.AppState.currentState === 'active';
165
126
  this.appStateSubscription = _reactNative.AppState.addEventListener('change', this.handleAppStateChange);
166
-
167
127
  if (this.hasValidTimeout(this.props.disabled, this.props.delay)) {
168
128
  this.startWatching();
169
129
  }
170
130
  }
171
-
172
131
  componentWillUnmount() {
173
132
  var _this$appStateSubscri;
174
-
175
- (_this$appStateSubscri = this.appStateSubscription) === null || _this$appStateSubscri === void 0 ? void 0 : _this$appStateSubscri.remove();
133
+ (_this$appStateSubscri = this.appStateSubscription) === null || _this$appStateSubscri === void 0 || _this$appStateSubscri.remove();
176
134
  this.appStateSubscription = null;
177
135
  this.stopWatching();
178
136
  }
179
-
180
137
  UNSAFE_componentWillReceiveProps(nextProps) {
181
138
  if (!this.hasValidTimeout(nextProps.disabled, nextProps.delay)) {
182
139
  this.stopWatching();
@@ -184,11 +141,9 @@ class ViewPortDetector extends _react.Component {
184
141
  if (this.props.propKey !== nextProps.propKey) {
185
142
  this.lastValue = null;
186
143
  }
187
-
188
144
  this.startWatching();
189
145
  }
190
146
  }
191
-
192
147
  render() {
193
148
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({
194
149
  collapsable: false,
@@ -197,8 +152,6 @@ class ViewPortDetector extends _react.Component {
197
152
  }
198
153
  }, this.props), this.props.children);
199
154
  }
200
-
201
155
  }
202
-
203
156
  exports.default = ViewPortDetector;
204
157
  //# sourceMappingURL=ViewPortDetector.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ViewPortDetector.tsx"],"names":["DEFAULT_DELAY","TimeoutHandler","id","handler","handlerRef","n","clear","clearTimeout","setIntervalWithTimeout","callback","intervalMs","handleWrapper","cleared","timeout","setTimeout","ViewPortDetector","Component","constructor","props","disabled","delay","disabledValue","delayValue","AppState","currentState","nextAppState","nextAppStateActive","lastAppStateActive","checkVisibility","hasValidTimeout","stopWatching","startWatching","interval","view","updateVisibility","measure","_x","_y","width","height","_pageX","_pageY","checkInViewPort","isVisible","lastValue","onChange","state","rectTop","rectBottom","componentDidMount","appStateSubscription","addEventListener","handleAppStateChange","componentWillUnmount","remove","UNSAFE_componentWillReceiveProps","nextProps","propKey","render","component","children"],"mappings":"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","sourcesContent":["'use strict';\n\nimport React, { Component, PropsWithChildren } from 'react';\nimport {\n AppState,\n AppStateStatus,\n NativeEventSubscription,\n View,\n ViewStyle,\n} from 'react-native';\n\nconst DEFAULT_DELAY = 1000;\n\nexport type Props = {\n disabled?: boolean;\n style?: ViewStyle;\n onChange?: (isVisible: boolean) => void;\n delay?: number;\n propKey?: any;\n};\n\nclass TimeoutHandler {\n private handlerRef: { id: any } = { id: -1 };\n\n get handler(): any {\n return this.handlerRef.id;\n }\n set handler(n: any) {\n this.handlerRef.id = n;\n }\n\n clear() {\n clearTimeout(this.handlerRef.id as any);\n }\n}\n\nfunction setIntervalWithTimeout(\n callback: (clear: () => void) => any,\n intervalMs: number,\n handleWrapper = new TimeoutHandler()\n): TimeoutHandler {\n let cleared = false;\n\n const timeout = () => {\n handleWrapper.handler = setTimeout(() => {\n callback(() => {\n cleared = true;\n handleWrapper.clear();\n });\n if (!cleared) {\n timeout();\n }\n }, intervalMs);\n };\n timeout();\n return handleWrapper;\n}\n\n/**\n * Detects when this is in the viewport and visible.\n *\n * Will not fire visibility changes for zero width/height components.\n */\nexport default class ViewPortDetector extends Component<\n PropsWithChildren<Props>\n> {\n private lastValue: boolean | null = null;\n private interval: TimeoutHandler | null = null;\n private view: View | null = null;\n private lastAppStateActive = false;\n private appStateSubscription: NativeEventSubscription | null = null;\n\n constructor(props: Props) {\n super(props);\n this.state = { rectTop: 0, rectBottom: 0 };\n }\n\n componentDidMount() {\n this.lastAppStateActive = AppState.currentState === 'active';\n this.appStateSubscription = AppState.addEventListener(\n 'change',\n this.handleAppStateChange\n );\n if (this.hasValidTimeout(this.props.disabled, this.props.delay)) {\n this.startWatching();\n }\n }\n\n componentWillUnmount() {\n this.appStateSubscription?.remove();\n this.appStateSubscription = null;\n this.stopWatching();\n }\n\n hasValidTimeout = (disabled?: boolean, delay?: number): boolean => {\n let disabledValue = disabled ?? false;\n let delayValue = delay ?? DEFAULT_DELAY;\n return (\n AppState.currentState === 'active' && !disabledValue && delayValue > 0\n );\n };\n\n UNSAFE_componentWillReceiveProps(nextProps: Props) {\n if (!this.hasValidTimeout(nextProps.disabled, nextProps.delay)) {\n this.stopWatching();\n } else {\n if (this.props.propKey !== nextProps.propKey) {\n this.lastValue = null;\n }\n this.startWatching();\n }\n }\n handleAppStateChange = (nextAppState: AppStateStatus) => {\n let nextAppStateActive = nextAppState === 'active';\n if (this.lastAppStateActive !== nextAppStateActive) {\n this.checkVisibility();\n }\n this.lastAppStateActive = nextAppStateActive;\n\n if (!this.hasValidTimeout(this.props.disabled, this.props.delay)) {\n this.stopWatching();\n } else {\n this.startWatching();\n }\n };\n\n startWatching = () => {\n if (this.interval) {\n return;\n }\n this.interval = setIntervalWithTimeout(\n this.checkVisibility,\n this.props.delay || DEFAULT_DELAY\n );\n };\n\n stopWatching = () => {\n this.interval?.clear();\n this.interval = null;\n };\n\n checkVisibility = () => {\n if (!this.view) {\n return;\n }\n\n if (AppState.currentState !== 'active') {\n this.updateVisibility(false);\n return;\n }\n\n this.view.measure((_x, _y, width, height, _pageX, _pageY) => {\n this.checkInViewPort(width, height);\n });\n };\n checkInViewPort = (width?: number, height?: number) => {\n let isVisible: boolean;\n // Not visible if any of these are missing.\n if (!width || !height) {\n isVisible = false;\n } else {\n isVisible = true;\n }\n this.updateVisibility(isVisible);\n };\n\n updateVisibility = (isVisible: boolean) => {\n if (this.lastValue !== isVisible) {\n this.lastValue = isVisible;\n this.props.onChange?.(isVisible);\n }\n };\n render() {\n return (\n <View\n collapsable={false}\n ref={(component) => {\n this.view = component;\n }}\n {...this.props}\n >\n {this.props.children}\n </View>\n );\n }\n}\n"]}
1
+ {"version":3,"names":["Object","defineProperty","exports","value","default","_react","_interopRequireWildcard","require","_reactNative","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","has","get","n","__proto__","a","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_defineProperty","_toPropertyKey","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","DEFAULT_DELAY","TimeoutHandler","constructor","id","handler","handlerRef","clear","clearTimeout","setIntervalWithTimeout","callback","intervalMs","handleWrapper","cleared","timeout","setTimeout","ViewPortDetector","Component","props","disabled","delay","disabledValue","delayValue","AppState","currentState","nextAppState","nextAppStateActive","lastAppStateActive","checkVisibility","hasValidTimeout","stopWatching","startWatching","interval","_this$interval","view","updateVisibility","measure","_x","_y","width","height","_pageX","_pageY","checkInViewPort","isVisible","lastValue","_this$props$onChange","_this$props","onChange","state","rectTop","rectBottom","componentDidMount","appStateSubscription","addEventListener","handleAppStateChange","componentWillUnmount","_this$appStateSubscri","remove","UNSAFE_componentWillReceiveProps","nextProps","propKey","render","createElement","View","collapsable","ref","component","children"],"sources":["ViewPortDetector.tsx"],"sourcesContent":["'use strict';\n\nimport React, { Component, type PropsWithChildren } from 'react';\nimport {\n AppState,\n type AppStateStatus,\n type NativeEventSubscription,\n View,\n type ViewStyle,\n} from 'react-native';\n\nconst DEFAULT_DELAY = 1000;\n\nexport type Props = {\n disabled?: boolean;\n style?: ViewStyle;\n onChange?: (isVisible: boolean) => void;\n delay?: number;\n propKey?: any;\n};\n\nclass TimeoutHandler {\n private handlerRef: { id: any } = { id: -1 };\n\n get handler(): any {\n return this.handlerRef.id;\n }\n set handler(n: any) {\n this.handlerRef.id = n;\n }\n\n clear() {\n clearTimeout(this.handlerRef.id as any);\n }\n}\n\nfunction setIntervalWithTimeout(\n callback: (clear: () => void) => any,\n intervalMs: number,\n handleWrapper = new TimeoutHandler()\n): TimeoutHandler {\n let cleared = false;\n\n const timeout = () => {\n handleWrapper.handler = setTimeout(() => {\n callback(() => {\n cleared = true;\n handleWrapper.clear();\n });\n if (!cleared) {\n timeout();\n }\n }, intervalMs);\n };\n timeout();\n return handleWrapper;\n}\n\n/**\n * Detects when this is in the viewport and visible.\n *\n * Will not fire visibility changes for zero width/height components.\n */\nexport default class ViewPortDetector extends Component<\n PropsWithChildren<Props>\n> {\n private lastValue: boolean | null = null;\n private interval: TimeoutHandler | null = null;\n private view: View | null = null;\n private lastAppStateActive = false;\n private appStateSubscription: NativeEventSubscription | null = null;\n\n constructor(props: Props) {\n super(props);\n this.state = { rectTop: 0, rectBottom: 0 };\n }\n\n componentDidMount() {\n this.lastAppStateActive = AppState.currentState === 'active';\n this.appStateSubscription = AppState.addEventListener(\n 'change',\n this.handleAppStateChange\n );\n if (this.hasValidTimeout(this.props.disabled, this.props.delay)) {\n this.startWatching();\n }\n }\n\n componentWillUnmount() {\n this.appStateSubscription?.remove();\n this.appStateSubscription = null;\n this.stopWatching();\n }\n\n hasValidTimeout = (disabled?: boolean, delay?: number): boolean => {\n let disabledValue = disabled ?? false;\n let delayValue = delay ?? DEFAULT_DELAY;\n return (\n AppState.currentState === 'active' && !disabledValue && delayValue > 0\n );\n };\n\n UNSAFE_componentWillReceiveProps(nextProps: Props) {\n if (!this.hasValidTimeout(nextProps.disabled, nextProps.delay)) {\n this.stopWatching();\n } else {\n if (this.props.propKey !== nextProps.propKey) {\n this.lastValue = null;\n }\n this.startWatching();\n }\n }\n handleAppStateChange = (nextAppState: AppStateStatus) => {\n let nextAppStateActive = nextAppState === 'active';\n if (this.lastAppStateActive !== nextAppStateActive) {\n this.checkVisibility();\n }\n this.lastAppStateActive = nextAppStateActive;\n\n if (!this.hasValidTimeout(this.props.disabled, this.props.delay)) {\n this.stopWatching();\n } else {\n this.startWatching();\n }\n };\n\n startWatching = () => {\n if (this.interval) {\n return;\n }\n this.interval = setIntervalWithTimeout(\n this.checkVisibility,\n this.props.delay || DEFAULT_DELAY\n );\n };\n\n stopWatching = () => {\n this.interval?.clear();\n this.interval = null;\n };\n\n checkVisibility = () => {\n if (!this.view) {\n return;\n }\n\n if (AppState.currentState !== 'active') {\n this.updateVisibility(false);\n return;\n }\n\n this.view.measure((_x, _y, width, height, _pageX, _pageY) => {\n this.checkInViewPort(width, height);\n });\n };\n checkInViewPort = (width?: number, height?: number) => {\n let isVisible: boolean;\n // Not visible if any of these are missing.\n if (!width || !height) {\n isVisible = false;\n } else {\n isVisible = true;\n }\n this.updateVisibility(isVisible);\n };\n\n updateVisibility = (isVisible: boolean) => {\n if (this.lastValue !== isVisible) {\n this.lastValue = isVisible;\n this.props.onChange?.(isVisible);\n }\n };\n render() {\n return (\n <View\n collapsable={false}\n ref={(component) => {\n this.view = component;\n }}\n {...this.props}\n >\n {this.props.children}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -9,12 +9,6 @@ Object.defineProperty(exports, "ParticipantContext", {
9
9
  return _componentsReact.ParticipantContext;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "ReceivedDataMessage", {
13
- enumerable: true,
14
- get: function () {
15
- return _componentsCore.ReceivedDataMessage;
16
- }
17
- });
18
12
  Object.defineProperty(exports, "RoomContext", {
19
13
  enumerable: true,
20
14
  get: function () {
@@ -27,60 +21,6 @@ Object.defineProperty(exports, "TrackRefContext", {
27
21
  return _componentsReact.TrackRefContext;
28
22
  }
29
23
  });
30
- Object.defineProperty(exports, "TrackReference", {
31
- enumerable: true,
32
- get: function () {
33
- return _componentsReact.TrackReference;
34
- }
35
- });
36
- Object.defineProperty(exports, "TrackReferenceOrPlaceholder", {
37
- enumerable: true,
38
- get: function () {
39
- return _componentsReact.TrackReferenceOrPlaceholder;
40
- }
41
- });
42
- Object.defineProperty(exports, "UseLocalParticipantOptions", {
43
- enumerable: true,
44
- get: function () {
45
- return _componentsReact.UseLocalParticipantOptions;
46
- }
47
- });
48
- Object.defineProperty(exports, "UseParticipantInfoOptions", {
49
- enumerable: true,
50
- get: function () {
51
- return _componentsReact.UseParticipantInfoOptions;
52
- }
53
- });
54
- Object.defineProperty(exports, "UseParticipantsOptions", {
55
- enumerable: true,
56
- get: function () {
57
- return _componentsReact.UseParticipantsOptions;
58
- }
59
- });
60
- Object.defineProperty(exports, "UseRemoteParticipantOptions", {
61
- enumerable: true,
62
- get: function () {
63
- return _componentsReact.UseRemoteParticipantOptions;
64
- }
65
- });
66
- Object.defineProperty(exports, "UseRemoteParticipantsOptions", {
67
- enumerable: true,
68
- get: function () {
69
- return _componentsReact.UseRemoteParticipantsOptions;
70
- }
71
- });
72
- Object.defineProperty(exports, "UseTracksOptions", {
73
- enumerable: true,
74
- get: function () {
75
- return _componentsReact.UseTracksOptions;
76
- }
77
- });
78
- Object.defineProperty(exports, "UseVisualStableUpdateOptions", {
79
- enumerable: true,
80
- get: function () {
81
- return _componentsReact.UseVisualStableUpdateOptions;
82
- }
83
- });
84
24
  Object.defineProperty(exports, "isTrackReference", {
85
25
  enumerable: true,
86
26
  get: function () {
@@ -189,6 +129,12 @@ Object.defineProperty(exports, "useRoomContext", {
189
129
  return _componentsReact.useRoomContext;
190
130
  }
191
131
  });
132
+ Object.defineProperty(exports, "useRoomInfo", {
133
+ enumerable: true,
134
+ get: function () {
135
+ return _componentsReact.useRoomInfo;
136
+ }
137
+ });
192
138
  Object.defineProperty(exports, "useSortedParticipants", {
193
139
  enumerable: true,
194
140
  get: function () {
@@ -225,8 +171,5 @@ Object.defineProperty(exports, "useVisualStableUpdate", {
225
171
  return _componentsReact.useVisualStableUpdate;
226
172
  }
227
173
  });
228
-
229
174
  var _componentsReact = require("@livekit/components-react");
230
-
231
- var _componentsCore = require("@livekit/components-core");
232
175
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["hooks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAuCA","sourcesContent":["export {\n useConnectionState,\n useDataChannel,\n useIsSpeaking,\n useLocalParticipant,\n UseLocalParticipantOptions,\n useLocalParticipantPermissions,\n useParticipantInfo,\n UseParticipantInfoOptions,\n useParticipants,\n UseParticipantsOptions,\n useRemoteParticipants,\n UseRemoteParticipantOptions,\n useRemoteParticipant,\n UseRemoteParticipantsOptions,\n useSpeakingParticipants,\n useSortedParticipants,\n useChat,\n useIsEncrypted,\n useIsMuted,\n useParticipantTracks,\n useLiveKitRoom,\n RoomContext,\n useRoomContext,\n ParticipantContext,\n useParticipantContext,\n TrackRefContext,\n useTrackRefContext,\n useTracks,\n UseTracksOptions,\n TrackReference,\n TrackReferenceOrPlaceholder,\n isTrackReference,\n useEnsureTrackRef,\n useTrackMutedIndicator,\n useVisualStableUpdate,\n UseVisualStableUpdateOptions,\n} from '@livekit/components-react';\n\nexport { ReceivedDataMessage } from '@livekit/components-core';\n"]}
1
+ {"version":3,"names":["_componentsReact","require"],"sources":["hooks.ts"],"sourcesContent":["export {\n useConnectionState,\n useDataChannel,\n useIsSpeaking,\n useLocalParticipant,\n useLocalParticipantPermissions,\n useParticipantInfo,\n useParticipants,\n useRemoteParticipants,\n useRemoteParticipant,\n useSpeakingParticipants,\n useSortedParticipants,\n useChat,\n useIsEncrypted,\n useRoomInfo,\n useIsMuted,\n useParticipantTracks,\n useLiveKitRoom,\n RoomContext,\n useRoomContext,\n ParticipantContext,\n useParticipantContext,\n TrackRefContext,\n useTrackRefContext,\n useTracks,\n isTrackReference,\n useEnsureTrackRef,\n useTrackMutedIndicator,\n useVisualStableUpdate,\n} from '@livekit/components-react';\nexport type {\n UseLocalParticipantOptions,\n UseParticipantInfoOptions,\n UseParticipantsOptions,\n UseRemoteParticipantOptions,\n UseRemoteParticipantsOptions,\n UseTracksOptions,\n TrackReference,\n TrackReferenceOrPlaceholder,\n UseVisualStableUpdateOptions,\n} from '@livekit/components-react';\n\nexport type { ReceivedDataMessage } from '@livekit/components-core';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA","ignoreList":[]}