@100mslive/react-sdk 0.4.7-alpha.0 → 0.5.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.
@@ -1,2 +1,2 @@
1
- import{__awaiter as o}from"../node_modules/tslib/tslib.es6.js";import{selectIsLocalAudioEnabled as i,selectIsLocalVideoEnabled as d,selectIsAllowedToPublish as e}from"@100mslive/hms-video-store";import{useCallback as t}from"react";import{useHMSStore as l,useHMSActions as r}from"../primitives/HmsRoomProvider.js";import{logErrorHandler as s}from"../utils/commons.js";const m=(m=s)=>{const n=l(i),v=l(d),c=l(e),a=r(),u=t((()=>o(void 0,void 0,void 0,(function*(){try{yield a.setLocalAudioEnabled(!n)}catch(o){m(o,"toggleAudio")}}))),[a,n,m]),g=t((()=>o(void 0,void 0,void 0,(function*(){try{yield a.setLocalVideoEnabled(!v)}catch(o){m(o,"toggleVideo")}}))),[a,v,m]);return{isLocalAudioEnabled:n,isLocalVideoEnabled:v,toggleAudio:(null==c?void 0:c.audio)?u:void 0,toggleVideo:(null==c?void 0:c.video)?g:void 0}};export{m as useAVToggle};
1
+ import{__awaiter as o}from"../node_modules/tslib/tslib.es6.js";import{useCallback as i}from"react";import{selectIsLocalAudioEnabled as d,selectIsLocalVideoEnabled as e,selectIsAllowedToPublish as t}from"@100mslive/hms-video-store";import{useHMSStore as l,useHMSActions as r}from"../primitives/HmsRoomProvider.js";import{logErrorHandler as s}from"../utils/commons.js";const m=(m=s)=>{const n=l(d),v=l(e),c=l(t),a=r(),u=i((()=>o(void 0,void 0,void 0,(function*(){try{yield a.setLocalAudioEnabled(!n)}catch(o){m(o,"toggleAudio")}}))),[a,n,m]),g=i((()=>o(void 0,void 0,void 0,(function*(){try{yield a.setLocalVideoEnabled(!v)}catch(o){m(o,"toggleVideo")}}))),[a,v,m]);return{isLocalAudioEnabled:n,isLocalVideoEnabled:v,toggleAudio:(null==c?void 0:c.audio)?u:void 0,toggleVideo:(null==c?void 0:c.video)?g:void 0}};export{m as useAVToggle};
2
2
  //# sourceMappingURL=useAVToggle.js.map
@@ -1,2 +1,2 @@
1
- import{__awaiter as e}from"../node_modules/tslib/tslib.es6.js";import{useHMSActions as s,useHMSVanillaNotifications as o}from"../primitives/HmsRoomProvider.js";import{useEffect as r,useCallback as t}from"react";import{HMSNotificationTypes as i}from"@100mslive/hms-video-store";import{logErrorHandler as n}from"../utils/commons.js";const m=({type:m,json:d=!0,onEvent:a,handleError:l=n})=>{const c=s(),p=o();r((()=>{c.ignoreMessageTypes([m])}),[c,m]),r((()=>{if(!p)return;return p.onNotification((e=>{const s=e.data;if(s&&s.type===m)try{const e=d?JSON.parse(s.message):s.message;null==a||a(e)}catch(e){l(e,"handleCustomEvent")}}),i.NEW_MESSAGE)}),[p,m,d,a,l]);return{sendEvent:t(((s,o)=>e(void 0,void 0,void 0,(function*(){try{const e=((e,s)=>s?JSON.stringify(e||""):e)(s,d);o&&Array.isArray(null==o?void 0:o.roleNames)?yield c.sendGroupMessage(e,o.roleNames,m):"string"==typeof(null==o?void 0:o.peerId)?yield c.sendDirectMessage(e,o.peerId,m):yield c.sendBroadcastMessage(e,m),null==a||a(s)}catch(e){l(e,"sendCustomEvent")}}))),[c,l,a,m,d])}};export{m as useCustomEvent};
1
+ import{__awaiter as e}from"../node_modules/tslib/tslib.es6.js";import{useEffect as s,useCallback as o}from"react";import{HMSNotificationTypes as r}from"@100mslive/hms-video-store";import{useHMSActions as t,useHMSVanillaNotifications as i}from"../primitives/HmsRoomProvider.js";import{logErrorHandler as n}from"../utils/commons.js";const m=({type:m,json:d=!0,onEvent:a,handleError:l=n})=>{const c=t(),p=i();s((()=>{c.ignoreMessageTypes([m])}),[c,m]),s((()=>{if(!p)return;return p.onNotification((e=>{const s=e.data;if(s&&s.type===m)try{const e=d?JSON.parse(s.message):s.message;null==a||a(e)}catch(e){l(e,"handleCustomEvent")}}),r.NEW_MESSAGE)}),[p,m,d,a,l]);return{sendEvent:o(((s,o)=>e(void 0,void 0,void 0,(function*(){try{const e=((e,s)=>s?JSON.stringify(e||""):e)(s,d);o&&Array.isArray(null==o?void 0:o.roleNames)?yield c.sendGroupMessage(e,o.roleNames,m):"string"==typeof(null==o?void 0:o.peerId)?yield c.sendDirectMessage(e,o.peerId,m):yield c.sendBroadcastMessage(e,m),null==a||a(s)}catch(e){l(e,"sendCustomEvent")}}))),[c,l,a,m,d])}};export{m as useCustomEvent};
2
2
  //# sourceMappingURL=useCustomEvent.js.map
@@ -1,2 +1,2 @@
1
- import{__awaiter as e}from"../node_modules/tslib/tslib.es6.js";import{selectDevices as i,selectLocalMediaSettings as t,selectIsAllowedToPublish as u}from"@100mslive/hms-video-store";import{useCallback as o}from"react";import{useHMSActions as d,useHMSStore as p}from"../primitives/HmsRoomProvider.js";import{logErrorHandler as s}from"../utils/commons.js";var v,a;(a=v||(v={})).videoInput="videoInput",a.audioInput="audioInput",a.audioOutput="audioOutput";const c=(a=s)=>{const c=d(),n=p(i),r=p(t),I=p(u),m={[v.audioOutput]:r.audioOutputDeviceId},l={[v.audioOutput]:n.audioOutput};I.video&&(l[v.videoInput]=n.videoInput,m[v.videoInput]=r.videoInputDeviceId),I.audio&&(l[v.audioInput]=n.audioInput,m[v.audioInput]=r.audioInputDeviceId);return{allDevices:l,selectedDeviceIDs:m,updateDevice:o((({deviceType:i,deviceId:t})=>e(void 0,void 0,void 0,(function*(){try{switch(i){case v.audioInput:yield c.setAudioSettings({deviceId:t});break;case v.videoInput:yield c.setVideoSettings({deviceId:t});break;case v.audioOutput:yield c.setAudioOutputDevice(t)}}catch(e){a(e,"updateDevices")}}))),[a,c])}};export{v as DeviceType,c as useDevices};
1
+ import{__awaiter as e}from"../node_modules/tslib/tslib.es6.js";import{useCallback as i}from"react";import{selectDevices as t,selectLocalMediaSettings as u,selectIsAllowedToPublish as o}from"@100mslive/hms-video-store";import{useHMSActions as d,useHMSStore as p}from"../primitives/HmsRoomProvider.js";import{logErrorHandler as s}from"../utils/commons.js";var v,a;(a=v||(v={})).videoInput="videoInput",a.audioInput="audioInput",a.audioOutput="audioOutput";const c=(a=s)=>{const c=d(),n=p(t),r=p(u),I=p(o),m={[v.audioOutput]:r.audioOutputDeviceId},l={[v.audioOutput]:n.audioOutput};I.video&&(l[v.videoInput]=n.videoInput,m[v.videoInput]=r.videoInputDeviceId),I.audio&&(l[v.audioInput]=n.audioInput,m[v.audioInput]=r.audioInputDeviceId);return{allDevices:l,selectedDeviceIDs:m,updateDevice:i((({deviceType:i,deviceId:t})=>e(void 0,void 0,void 0,(function*(){try{switch(i){case v.audioInput:yield c.setAudioSettings({deviceId:t});break;case v.videoInput:yield c.setVideoSettings({deviceId:t});break;case v.audioOutput:yield c.setAudioOutputDevice(t)}}catch(e){a(e,"updateDevices")}}))),[a,c])}};export{v as DeviceType,c as useDevices};
2
2
  //# sourceMappingURL=useDevices.js.map
@@ -1,2 +1,2 @@
1
- import{__awaiter as e}from"../node_modules/tslib/tslib.es6.js";import{selectRoomState as i,selectIsConnectedToRoom as t,HMSRoomState as o}from"@100mslive/hms-video-store";import{useMemo as r,useCallback as n}from"react";import{useHMSActions as m,useHMSStore as s}from"../primitives/HmsRoomProvider.js";import{logErrorHandler as a}from"../utils/commons.js";const d=({name:d="",token:v,metadata:c,handleError:l=a,initEndpoint:p,initialSettings:u,captureNetworkQualityInPreview:f})=>{const w=m(),y=s(i),j=s(t)||!1,h=y===o.Preview,b=r((()=>({userName:d,authToken:v,metaData:c,rememberDeviceSelection:!0,settings:u,initEndpoint:p,captureNetworkQualityInPreview:f})),[d,v,c,p,u,f]),k=n((()=>e(void 0,void 0,void 0,(function*(){if(v&&y===o.Disconnected){j&&(yield w.leave());try{yield w.preview(b)}catch(e){l(e,"preview")}}}))),[w,l,v,y,b,j]);return{enableJoin:h,join:n((()=>e(void 0,void 0,void 0,(function*(){if(v)try{yield w.join(b)}catch(e){l(e,"join")}}))),[w,b,l,v]),isConnected:j,preview:k}};export{d as usePreviewJoin};
1
+ import{__awaiter as e}from"../node_modules/tslib/tslib.es6.js";import{useMemo as i,useCallback as t}from"react";import{selectRoomState as o,selectIsConnectedToRoom as r,HMSRoomState as n}from"@100mslive/hms-video-store";import{useHMSActions as m,useHMSStore as s}from"../primitives/HmsRoomProvider.js";import{logErrorHandler as a}from"../utils/commons.js";const d=({name:d="",token:v,metadata:c,handleError:l=a,initEndpoint:p,initialSettings:u,captureNetworkQualityInPreview:f})=>{const w=m(),y=s(o),j=s(r)||!1,h=y===n.Preview,b=i((()=>({userName:d,authToken:v,metaData:c,rememberDeviceSelection:!0,settings:u,initEndpoint:p,captureNetworkQualityInPreview:f})),[d,v,c,p,u,f]),k=t((()=>e(void 0,void 0,void 0,(function*(){if(v&&y===n.Disconnected){j&&(yield w.leave());try{yield w.preview(b)}catch(e){l(e,"preview")}}}))),[w,l,v,y,b,j]);return{enableJoin:h,join:t((()=>e(void 0,void 0,void 0,(function*(){if(v)try{yield w.join(b)}catch(e){l(e,"join")}}))),[w,b,l,v]),isConnected:j,preview:k}};export{d as usePreviewJoin};
2
2
  //# sourceMappingURL=usePreviewJoin.js.map
@@ -1,2 +1,2 @@
1
- import{__awaiter as o}from"../node_modules/tslib/tslib.es6.js";import{selectAudioTrackByID as i,selectVideoTrackByID as e,selectAudioTrackVolume as d,selectPermissions as l}from"@100mslive/hms-video-store";import{useHMSActions as n,useHMSStore as t}from"../primitives/HmsRoomProvider.js";import{useCallback as u}from"react";import{logErrorHandler as m}from"../utils/commons.js";const v=(i,e,d)=>o(void 0,void 0,void 0,(function*(){if(e)try{yield i.setRemoteTrackEnabled(e.id,!e.enabled)}catch(o){d(o,"remoteToggle")}})),r=(r,s,a=m)=>{const c=n(),b=t(i(r)),f=t(e(s)),g=t(d(null==b?void 0:b.id)),p=t(l),y=(null==f?void 0:f.enabled)?null==p?void 0:p.mute:null==p?void 0:p.unmute,V=(null==b?void 0:b.enabled)?null==p?void 0:p.mute:null==p?void 0:p.unmute,j=u((()=>o(void 0,void 0,void 0,(function*(){yield v(c,b,a)}))),[c,b,a]),E=u((()=>o(void 0,void 0,void 0,(function*(){yield v(c,f,a)}))),[c,a,f]),h=u((o=>{b&&c.setVolume(o,b.id)}),[c,b]);return{isAudioEnabled:!!(null==b?void 0:b.enabled),isVideoEnabled:!!(null==f?void 0:f.enabled),volume:g,toggleAudio:b&&V?j:void 0,toggleVideo:"regular"===(null==f?void 0:f.source)&&y?E:void 0,setVolume:b?h:void 0}};export{r as useRemoteAVToggle};
1
+ import{__awaiter as o}from"../node_modules/tslib/tslib.es6.js";import{useCallback as i}from"react";import{selectAudioTrackByID as e,selectVideoTrackByID as d,selectAudioTrackVolume as l,selectPermissions as n}from"@100mslive/hms-video-store";import{useHMSActions as t,useHMSStore as u}from"../primitives/HmsRoomProvider.js";import{logErrorHandler as m}from"../utils/commons.js";const v=(i,e,d)=>o(void 0,void 0,void 0,(function*(){if(e)try{yield i.setRemoteTrackEnabled(e.id,!e.enabled)}catch(o){d(o,"remoteToggle")}})),r=(r,s,a=m)=>{const c=t(),b=u(e(r)),f=u(d(s)),g=u(l(null==b?void 0:b.id)),p=u(n),y=(null==f?void 0:f.enabled)?null==p?void 0:p.mute:null==p?void 0:p.unmute,V=(null==b?void 0:b.enabled)?null==p?void 0:p.mute:null==p?void 0:p.unmute,j=i((()=>o(void 0,void 0,void 0,(function*(){yield v(c,b,a)}))),[c,b,a]),E=i((()=>o(void 0,void 0,void 0,(function*(){yield v(c,f,a)}))),[c,a,f]),h=i((o=>{b&&c.setVolume(o,b.id)}),[c,b]);return{isAudioEnabled:!!(null==b?void 0:b.enabled),isVideoEnabled:!!(null==f?void 0:f.enabled),volume:g,toggleAudio:b&&V?j:void 0,toggleVideo:"regular"===(null==f?void 0:f.source)&&y?E:void 0,setVolume:b?h:void 0}};export{r as useRemoteAVToggle};
2
2
  //# sourceMappingURL=useRemoteAVToggle.js.map
@@ -1,5 +1,5 @@
1
+ import { HMSPeerID, HMSScreenShareConfig, HMSTrackID } from '@100mslive/hms-video-store';
1
2
  import { hooksErrHandler } from '../hooks/types';
2
- import { HMSPeerID, HMSTrackID } from '@100mslive/hms-video-store';
3
3
  export interface useScreenShareResult {
4
4
  /**
5
5
  * true if the local user is screensharing, false otherwise
@@ -8,7 +8,7 @@ export interface useScreenShareResult {
8
8
  /**
9
9
  * toggle screenshare for the local user, will only be present if the user has the permission to toggle
10
10
  */
11
- toggleScreenShare?: () => void;
11
+ toggleScreenShare?: (config?: HMSScreenShareConfig) => Promise<void>;
12
12
  /**
13
13
  * the id of the peer who is currently screensharing, will only be present if there is a screenshare in the room.
14
14
  * In case of multiple screenshares, the behaviour of which one is picked is not defined.
@@ -1,2 +1,2 @@
1
- import{__awaiter as e}from"../node_modules/tslib/tslib.es6.js";import{selectIsLocalScreenShared as o,selectPeerScreenSharing as r,selectScreenSharesByPeerId as i}from"@100mslive/hms-video-store";import{useHMSActions as d,useHMSStore as n}from"../primitives/HmsRoomProvider.js";import{useCallback as l}from"react";import{logErrorHandler as m}from"../utils/commons.js";const s=(s=m)=>{var t,a;const v=d(),c=n(o),u=n(r),S=n(i(null==u?void 0:u.id)),h=l(((o=!1)=>e(void 0,void 0,void 0,(function*(){try{yield v.setScreenShareEnabled(!c,o)}catch(e){s(e,"toggleScreenShare")}}))),[v,c,s]);return{amIScreenSharing:c,screenSharingPeerId:null==u?void 0:u.id,screenSharingPeerName:null==u?void 0:u.name,screenShareVideoTrackId:null===(t=null==S?void 0:S.video)||void 0===t?void 0:t.id,screenShareAudioTrackId:null===(a=null==S?void 0:S.audio)||void 0===a?void 0:a.id,toggleScreenShare:h}};export{s as useScreenShare};
1
+ import{__awaiter as e}from"../node_modules/tslib/tslib.es6.js";import{useCallback as o}from"react";import{selectIsLocalScreenShared as r,selectPeerScreenSharing as i,selectScreenSharesByPeerId as d}from"@100mslive/hms-video-store";import{useHMSActions as n,useHMSStore as l}from"../primitives/HmsRoomProvider.js";import{logErrorHandler as m}from"../utils/commons.js";const s=(s=m)=>{var t,a;const v=n(),c=l(r),u=l(i),S=l(d(null==u?void 0:u.id)),h=o((o=>e(void 0,void 0,void 0,(function*(){try{yield v.setScreenShareEnabled(!c,o)}catch(e){s(e,"toggleScreenShare")}}))),[v,c,s]);return{amIScreenSharing:c,screenSharingPeerId:null==u?void 0:u.id,screenSharingPeerName:null==u?void 0:u.name,screenShareVideoTrackId:null===(t=null==S?void 0:S.video)||void 0===t?void 0:t.id,screenShareAudioTrackId:null===(a=null==S?void 0:S.audio)||void 0===a?void 0:a.id,toggleScreenShare:h}};export{s as useScreenShare};
2
2
  //# sourceMappingURL=useScreenShare.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useScreenShare.js","sources":["../../src/hooks/useScreenShare.ts"],"sourcesContent":[null],"names":["useScreenShare","handleError","logErrorHandler","actions","useHMSActions","amIScreenSharing","useHMSStore","selectIsLocalScreenShared","screenSharePeer","selectPeerScreenSharing","screenShare","selectScreenSharesByPeerId","id","toggleScreenShare","useCallback","audioOnly","__awaiter","setScreenShareEnabled","err","screenSharingPeerId","screenSharingPeerName","name","screenShareVideoTrackId","_a","video","screenShareAudioTrackId","_b","audio"],"mappings":"+WAkDa,MAAAA,EAAiB,CAACC,EAA+BC,aAC5D,MAAMC,EAAUC,IACVC,EAAmBC,EAAYC,GAC/BC,EAAkBF,EAAYG,GAC9BC,EAAcJ,EAAYK,EAA2BH,eAAAA,EAAiBI,KAEtEC,EAAoBC,GACxB,CAAOC,GAAY,IAASC,OAAA,OAAA,OAAA,GAAA,YACtB,UACIb,EAAQc,uBAAuBZ,EAAkBU,EAE7B,CAF6B,MAChDG,GACPjB,EAAYiB,EAAc,oBAAA,CAG9B,KAAA,CAACf,EAASE,EAAkBJ,IAGvB,MAAA,CACLI,mBACAc,oBAAqBX,aAAA,EAAAA,EAAiBI,GACtCQ,sBAAuBZ,aAAA,EAAAA,EAAiBa,KACxCC,wBAA2C,QAAlBC,EAAAb,eAAAA,EAAac,aAAK,IAAAD,OAAA,EAAAA,EAAEX,GAC7Ca,wBAA2C,QAAlBC,EAAAhB,eAAAA,EAAaiB,aAAK,IAAAD,OAAA,EAAAA,EAAEd,GAC7CC,oBAAA"}
1
+ {"version":3,"file":"useScreenShare.js","sources":["../../src/hooks/useScreenShare.ts"],"sourcesContent":[null],"names":["useScreenShare","handleError","logErrorHandler","actions","useHMSActions","amIScreenSharing","useHMSStore","selectIsLocalScreenShared","screenSharePeer","selectPeerScreenSharing","screenShare","selectScreenSharesByPeerId","id","toggleScreenShare","useCallback","config","__awaiter","setScreenShareEnabled","err","screenSharingPeerId","screenSharingPeerName","name","screenShareVideoTrackId","_a","video","screenShareAudioTrackId","_b","audio"],"mappings":"+WAmDa,MAAAA,EAAiB,CAACC,EAA+BC,aAC5D,MAAMC,EAAUC,IACVC,EAAmBC,EAAYC,GAC/BC,EAAkBF,EAAYG,GAC9BC,EAAcJ,EAAYK,EAA2BH,eAAAA,EAAiBI,KAEtEC,EAAoBC,GACjBC,GAAiCC,OAAA,OAAA,OAAA,GAAA,YAClC,UACIb,EAAQc,uBAAuBZ,EAAkBU,EAE7B,CAF6B,MAChDG,GACPjB,EAAYiB,EAAc,oBAAA,CAG9B,KAAA,CAACf,EAASE,EAAkBJ,IAGvB,MAAA,CACLI,mBACAc,oBAAqBX,aAAA,EAAAA,EAAiBI,GACtCQ,sBAAuBZ,aAAA,EAAAA,EAAiBa,KACxCC,wBAA2C,QAAlBC,EAAAb,eAAAA,EAAac,aAAK,IAAAD,OAAA,EAAAA,EAAEX,GAC7Ca,wBAA2C,QAAlBC,EAAAhB,eAAAA,EAAaiB,aAAK,IAAAD,OAAA,EAAAA,EAAEd,GAC7CC,oBAAA"}
@@ -1,5 +1,5 @@
1
- import { HMSTrackID } from '@100mslive/hms-video-store';
2
1
  import React from 'react';
2
+ import { HMSTrackID } from '@100mslive/hms-video-store';
3
3
  export interface useVideoInput {
4
4
  /**
5
5
  * TrackId that is to be rendered
@@ -1,2 +1,2 @@
1
- import{__awaiter as i}from"../node_modules/tslib/tslib.es6.js";import{selectVideoTrackByID as o}from"@100mslive/hms-video-store";import{useRef as r,useCallback as e,useEffect as t}from"react";import{useInView as d}from"react-intersection-observer";import{useHMSActions as l,useHMSStore as n}from"../primitives/HmsRoomProvider.js";import c from"../utils/logger.js";const s=({trackId:s,attach:v,threshold:m=.5})=>{const u=l(),a=r(null),f=n(o(s)),{ref:h,inView:p}=d({threshold:m}),b=e((i=>{i&&(a.current=i,h(i))}),[h]);return t((()=>{i(void 0,void 0,void 0,(function*(){a.current&&(null==f?void 0:f.id)&&(p&&f.enabled&&!1!==v?yield u.attachVideo(f.id,a.current):yield u.detachVideo(f.id,a.current))}))}),[u,p,a,null==f?void 0:f.id,null==f?void 0:f.enabled,null==f?void 0:f.deviceID,null==f?void 0:f.plugins,v]),t((()=>()=>{i(void 0,void 0,void 0,(function*(){if(a.current&&f)try{yield u.detachVideo(f.id,a.current)}catch(i){c.w("detach video error for track",f.id,i)}}))}),[]),{videoRef:b}};export{s as useVideo};
1
+ import{__awaiter as i}from"../node_modules/tslib/tslib.es6.js";import{useRef as o,useCallback as r,useEffect as e}from"react";import{useInView as t}from"react-intersection-observer";import{selectVideoTrackByID as d}from"@100mslive/hms-video-store";import{useHMSActions as l,useHMSStore as n}from"../primitives/HmsRoomProvider.js";import c from"../utils/logger.js";const s=({trackId:s,attach:v,threshold:m=.5})=>{const u=l(),a=o(null),f=n(d(s)),{ref:h,inView:p}=t({threshold:m}),b=r((i=>{i&&(a.current=i,h(i))}),[h]);return e((()=>{i(void 0,void 0,void 0,(function*(){a.current&&(null==f?void 0:f.id)&&(p&&f.enabled&&!1!==v?yield u.attachVideo(f.id,a.current):yield u.detachVideo(f.id,a.current))}))}),[u,p,a,null==f?void 0:f.id,null==f?void 0:f.enabled,null==f?void 0:f.deviceID,null==f?void 0:f.plugins,v]),e((()=>()=>{i(void 0,void 0,void 0,(function*(){if(a.current&&f)try{yield u.detachVideo(f.id,a.current)}catch(i){c.w("detach video error for track",f.id,i)}}))}),[]),{videoRef:b}};export{s as useVideo};
2
2
  //# sourceMappingURL=useVideo.js.map
@@ -1,5 +1,5 @@
1
- import { HMSPeer } from '@100mslive/hms-video-store';
2
1
  import React from 'react';
2
+ import { HMSPeer } from '@100mslive/hms-video-store';
3
3
  import { TrackWithPeer } from '../utils/layout';
4
4
  export interface useVideoListInput {
5
5
  /**
@@ -1,2 +1,2 @@
1
- import{selectTracksMap as t}from"@100mslive/hms-video-store";import{useMemo as e}from"react";import{getVideoTracksFromPeers as i,getModeAspectRatio as r,calculateLayoutSizes as o,chunkElements as a}from"../utils/layout.js";import{useHMSVanillaStore as s}from"../primitives/HmsRoomProvider.js";import{useResizeDetector as h}from"react-resize-detector";const n={width:1,height:1},l=({peers:l,maxTileCount:m,maxColCount:g,maxRowCount:f,includeScreenShareForPeer:u=(()=>!1),aspectRatio:d=n,filterNonPublishingPeers:P=!0,offsetY:p=0})=>{const{width:c=0,height:C=0,ref:x}=h(),F=s().getState(t),H=i(l,F,u,P),W=e((()=>{if(d)return d;return{width:r(H)||1,height:1}}),[d,H]),w=H.length,{tilesInFirstPage:R,defaultWidth:v,defaultHeight:M,lastPageWidth:S,lastPageHeight:T,isLastPageDifferentFromFirstPage:j}=e((()=>o({count:w,parentWidth:Math.floor(c),parentHeight:Math.floor(C)-Math.min(C,p),maxTileCount:m,maxRowCount:f,maxColCount:g,aspectRatio:W})),[w,c,C,m,f,g,W,p]);return{pagesWithTiles:e((()=>a({elements:H,tilesInFirstPage:R,onlyOnePage:!1,isLastPageDifferentFromFirstPage:j,defaultWidth:v,defaultHeight:M,lastPageWidth:S,lastPageHeight:T})),[H,R,j,v,M,S,T]),ref:x}};export{l as useVideoList};
1
+ import{useMemo as t}from"react";import{useResizeDetector as e}from"react-resize-detector";import{selectTracksMap as i}from"@100mslive/hms-video-store";import{useHMSVanillaStore as r}from"../primitives/HmsRoomProvider.js";import{getVideoTracksFromPeers as o,getModeAspectRatio as a,calculateLayoutSizes as s,chunkElements as h}from"../utils/layout.js";const n={width:1,height:1},l=({peers:l,maxTileCount:m,maxColCount:g,maxRowCount:f,includeScreenShareForPeer:u=(()=>!1),aspectRatio:d=n,filterNonPublishingPeers:P=!0,offsetY:p=0})=>{const{width:c=0,height:C=0,ref:x}=e(),F=r().getState(i),H=o(l,F,u,P),W=t((()=>{if(d)return d;return{width:a(H)||1,height:1}}),[d,H]),w=H.length,{tilesInFirstPage:R,defaultWidth:v,defaultHeight:M,lastPageWidth:S,lastPageHeight:T,isLastPageDifferentFromFirstPage:j}=t((()=>s({count:w,parentWidth:Math.floor(c),parentHeight:Math.floor(C)-Math.min(C,p),maxTileCount:m,maxRowCount:f,maxColCount:g,aspectRatio:W})),[w,c,C,m,f,g,W,p]);return{pagesWithTiles:t((()=>h({elements:H,tilesInFirstPage:R,onlyOnePage:!1,isLastPageDifferentFromFirstPage:j,defaultWidth:v,defaultHeight:M,lastPageWidth:S,lastPageHeight:T})),[H,R,j,v,M,S,T]),ref:x}};export{l as useVideoList};
2
2
  //# sourceMappingURL=useVideoList.js.map
package/dist/index.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@100mslive/hms-video-store"),i=require("zustand"),o=require("react-intersection-observer"),r=require("react-resize-detector");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a,s,l=n(e),c=n(i);function u(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;const i=Object.keys(e);if(i.length!==Object.keys(t).length)return!1;for(let o=0;o<i.length;o++)if(!Object.prototype.hasOwnProperty.call(t,i[o])||!Object.is(e[i[o]],t[i[o]]))return!1;return!0}(s=a||(a={}))[s.VERBOSE=0]="VERBOSE",s[s.DEBUG=1]="DEBUG",s[s.INFO=2]="INFO",s[s.WARN=3]="WARN",s[s.ERROR=4]="ERROR",s[s.NONE=5]="NONE";class d{static v(e,...t){this.log(a.VERBOSE,e,...t)}static d(e,...t){this.log(a.DEBUG,e,...t)}static i(e,...t){this.log(a.INFO,e,...t)}static w(e,...t){this.log(a.WARN,e,...t)}static e(e,...t){this.log(a.ERROR,e,...t)}static log(e,t,...i){if(!(this.level.valueOf()>e.valueOf()))switch(e){case a.VERBOSE:console.log("HMSui-components: ",t,...i);break;case a.DEBUG:console.debug("HMSui-components: ",t,...i);break;case a.INFO:console.info("HMSui-components: ",t,...i);break;case a.WARN:console.warn("HMSui-components: ",t,...i);break;case a.ERROR:console.error("HMSui-components: ",t,...i)}}}d.level=a.VERBOSE;const h="It seems like you forgot to add your component within a top level HMSRoomProvider, please refer to 100ms react docs(https://docs.100ms.live/javascript/v2/features/integration#react-hooks) to check on the required steps for using this hook.";const g="undefined"!=typeof window,v=e.createContext(null);let f;const p=(m=v,(t,i=u)=>{t||d.w("fetching full store without passing any selector may have a heavy performance impact on your website.");const o=e.useContext(m);if(!o)throw new Error(h);return(0,o.store)(t,i)});var m;const y=function(t){return(i,o=u)=>{i||d.w("fetching full store without passing any selector may have a heavy performance impact on your website.");const r=e.useContext(t);if(!r)throw new Error(h);const n=r.statsStore;return null==n?void 0:n(i,o)}}(v),w=()=>{const t=e.useContext(v);if(!t)throw new Error(h);return t.store},S=()=>{const t=e.useContext(v);if(!t)throw new Error(h);return t.notifications},P=()=>{const t=e.useContext(v);if(!t)throw new Error(h);return t.actions},b=t=>{const i=e.useContext(v),[o,r]=e.useState(null);if(!i)throw new Error(h);return e.useEffect((()=>{if(!i.notifications)return;return i.notifications.onNotification((e=>{r(e)}),t)}),[i.notifications,t]),o};function E(e,t,i,o){return new(i||(i=Promise))((function(r,n){function a(e){try{l(o.next(e))}catch(e){n(e)}}function s(e){try{l(o.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,s)}l((o=o.apply(e,t||[])).next())}))}const R=(e,t)=>d.e("react-sdk",t,e),k=(e,t,i)=>E(void 0,void 0,void 0,(function*(){if(t)try{yield e.setRemoteTrackEnabled(t.id,!t.enabled)}catch(e){i(e,"remoteToggle")}})),x=({elements:e,tilesInFirstPage:t,onlyOnePage:i,isLastPageDifferentFromFirstPage:o,defaultWidth:r,defaultHeight:n,lastPageWidth:a,lastPageHeight:s})=>{const l=((e,t,i)=>e.reduce(((e,o,r)=>{const n=Math.floor(r/t);return n>0&&i||(e[n]||(e[n]=[]),e[n].push(o)),e}),[]))(e,t,i);return l.map(((e,t)=>e.map((e=>{const i=t===l.length-1,c=o&&i?a:r,u=o&&i?s:n;return Object.assign(Object.assign({},e),{height:u,width:c})}))))};const I=(e,t,i,o,r)=>{if(e<0||t<0)throw new Error("Container must have a non-negative area");if(i<1||!Number.isInteger(i))throw new Error("Number of shapes to place must be a positive integer");const n=o&&r&&o/r;if(void 0!==n&&isNaN(n))throw new Error("Aspect ratio must be a number");let a={area:0,cols:0,rows:0,width:0,height:0};if(void 0!==n)for(let o=i;o>0;o+=-1){const r=Math.ceil(i/o);let s,l;e/(o*n)<=t/r?(s=e/o,l=s/n):(l=t/r,s=l*n);const c=s*l;c>a.area&&(a={area:c,width:s,height:l,rows:r,cols:o})}return a};function M({count:e,parentWidth:t,parentHeight:i,maxTileCount:o,maxRowCount:r,maxColCount:n,aspectRatio:a}){let s=0,l=0,c=0,u=0,d=!1,h=0;if(0===e)return{tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:c,lastPageHeight:u,isLastPageDifferentFromFirstPage:d};if(o)({tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:c,lastPageHeight:u,isLastPageDifferentFromFirstPage:d}=(({parentWidth:e,parentHeight:t,count:i,maxCount:o,aspectRatio:r})=>{let n=0,a=0,s=0,l=0,c=!1,u=0,d=0;const{width:h,height:g}=I(e,t,Math.min(i,o),r.width,r.height);if(n=h,a=g,u=Math.min(i,o),d=i%o,c=d>0&&i>o,c){const{width:i,height:o}=I(e,t,d,r.width,r.height);s=i,l=o}return{tilesInFirstPage:u,defaultWidth:n,defaultHeight:a,lastPageWidth:s,lastPageHeight:l,isLastPageDifferentFromFirstPage:c}})({parentWidth:t,parentHeight:i,count:e,maxCount:o,aspectRatio:a}));else if(r)({tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:c,lastPageHeight:u,isLastPageDifferentFromFirstPage:d}=(({parentWidth:e,parentHeight:t,count:i,maxCount:o,aspectRatio:r})=>{let n=0,a=0,s=0,l=0,c=!1,u=0,d=0;const h=Math.min(Math.ceil(Math.sqrt(i*(r.width/r.height)/(e/t))),o),g=t/h,v=g*(r.width/r.height),f=Math.floor(e/v);if(n=v,a=g,u=Math.min(i,h*f),d=i%(h*f),c=d>0&&i>h*f,c){const i=t/Math.min(Math.ceil(Math.sqrt(d*(r.width/r.height)/(e/t))),o);l=i,s=i*(r.width/r.height)}return{tilesInFirstPage:u,defaultWidth:n,defaultHeight:a,lastPageWidth:s,lastPageHeight:l,isLastPageDifferentFromFirstPage:c}})({parentWidth:t,parentHeight:i,count:e,maxCount:r,aspectRatio:a}));else if(n)({tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:c,lastPageHeight:u,isLastPageDifferentFromFirstPage:d}=(({parentWidth:e,parentHeight:t,count:i,maxCount:o,aspectRatio:r})=>{let n=0,a=0,s=0,l=0,c=!1,u=0,d=0;const h=Math.min(Math.ceil(Math.sqrt(i*(e/t)/(r.width/r.height))),o);let g=e/h,v=g/(r.width/r.height);v>t&&(v=t,g=v/(r.height/r.width));const f=Math.floor(t/v);if(a=v,n=g,u=Math.min(i,f*h),d=i%(f*h),c=d>0&&i>f*h,c){let i=e/Math.min(Math.ceil(Math.sqrt(d*(e/t)/(r.width/r.height))),o),n=i/(r.width/r.height);n>t&&(n=t,i=n/(r.height/r.width)),l=n,s=i}return{tilesInFirstPage:u,defaultWidth:n,defaultHeight:a,lastPageWidth:s,lastPageHeight:l,isLastPageDifferentFromFirstPage:c}})({parentWidth:t,parentHeight:i,count:e,maxCount:n,aspectRatio:a}));else{const{width:o,height:r}=I(t,i,e,a.width,a.height);s=o,l=r,h=e}return{tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:c,lastPageHeight:u,isLastPageDifferentFromFirstPage:d}}const H={width:1,height:1};var C;exports.DeviceType=void 0,(C=exports.DeviceType||(exports.DeviceType={})).videoInput="videoInput",C.audioInput="audioInput",C.audioOutput="audioOutput";exports.HMSRoomProvider=({children:i,actions:o,store:r,notifications:n,stats:a,isHMSStatsOn:s=!1,leaveOnUnload:u=!0})=>{if(!f){const e=()=>{throw new Error("modifying store is not allowed")};if(o&&r)f={actions:o,store:c.default(Object.assign(Object.assign({},r),{setState:e,destroy:e}))},n&&(f.notifications=n),a&&(f.statsStore=c.default({getState:a.getState,subscribe:a.subscribe,setState:e,destroy:e}));else{const i=new t.HMSReactiveStore;if(f={actions:i.getActions(),store:c.default(Object.assign(Object.assign({},i.getStore()),{setState:e,destroy:e})),notifications:i.getNotifications()},s){const t=i.getStats();f.statsStore=c.default({getState:t.getState,subscribe:t.subscribe,setState:e,destroy:e})}}f.actions.setFrameworkInfo({type:"react-web",version:l.default.version,sdkVersion:require("../../package.json").version})}return e.useEffect((()=>{g&&u&&(window.addEventListener("beforeunload",(()=>f.actions.leave())),window.addEventListener("onunload",(()=>f.actions.leave())))}),[u]),l.default.createElement(v.Provider,{value:f},i)},exports.throwErrorHandler=e=>{throw e},exports.useAVToggle=(i=R)=>{const o=p(t.selectIsLocalAudioEnabled),r=p(t.selectIsLocalVideoEnabled),n=p(t.selectIsAllowedToPublish),a=P(),s=e.useCallback((()=>E(void 0,void 0,void 0,(function*(){try{yield a.setLocalAudioEnabled(!o)}catch(e){i(e,"toggleAudio")}}))),[a,o,i]),l=e.useCallback((()=>E(void 0,void 0,void 0,(function*(){try{yield a.setLocalVideoEnabled(!r)}catch(e){i(e,"toggleVideo")}}))),[a,r,i]);return{isLocalAudioEnabled:o,isLocalVideoEnabled:r,toggleAudio:(null==n?void 0:n.audio)?s:void 0,toggleVideo:(null==n?void 0:n.video)?l:void 0}},exports.useAudioLevelStyles=function({trackId:i,getStyle:o,ref:r}){const n=w();e.useEffect((()=>n.subscribe((e=>{if(!r.current)return;const t=o(e);for(const e in t)r.current.style[e]=t[e]}),t.selectTrackAudioByID(i))),[o,r,n,i])},exports.useAutoplayError=()=>{const i=b(t.HMSNotificationTypes.ERROR),[o,r]=e.useState(""),n=P(),a=e.useCallback((()=>E(void 0,void 0,void 0,(function*(){yield n.unblockAudio()}))),[n]);return e.useEffect((()=>{3008===(null==i?void 0:i.data.code)&&r(null==i?void 0:i.data.message)}),[i]),{error:o,unblockAudio:a,resetError:()=>r("")}},exports.useCustomEvent=({type:i,json:o=!0,onEvent:r,handleError:n=R})=>{const a=P(),s=S();e.useEffect((()=>{a.ignoreMessageTypes([i])}),[a,i]),e.useEffect((()=>{if(!s)return;return s.onNotification((e=>{const t=e.data;if(t&&t.type===i)try{const e=o?JSON.parse(t.message):t.message;null==r||r(e)}catch(e){n(e,"handleCustomEvent")}}),t.HMSNotificationTypes.NEW_MESSAGE)}),[s,i,o,r,n]);return{sendEvent:e.useCallback(((e,t)=>E(void 0,void 0,void 0,(function*(){try{const n=((e,t)=>t?JSON.stringify(e||""):e)(e,o);t&&Array.isArray(null==t?void 0:t.roleNames)?yield a.sendGroupMessage(n,t.roleNames,i):"string"==typeof(null==t?void 0:t.peerId)?yield a.sendDirectMessage(n,t.peerId,i):yield a.sendBroadcastMessage(n,i),null==r||r(e)}catch(e){n(e,"sendCustomEvent")}}))),[a,n,r,i,o])}},exports.useDevices=(i=R)=>{const o=P(),r=p(t.selectDevices),n=p(t.selectLocalMediaSettings),a=p(t.selectIsAllowedToPublish),s={[exports.DeviceType.audioOutput]:n.audioOutputDeviceId},l={[exports.DeviceType.audioOutput]:r.audioOutput};a.video&&(l[exports.DeviceType.videoInput]=r.videoInput,s[exports.DeviceType.videoInput]=n.videoInputDeviceId),a.audio&&(l[exports.DeviceType.audioInput]=r.audioInput,s[exports.DeviceType.audioInput]=n.audioInputDeviceId);return{allDevices:l,selectedDeviceIDs:s,updateDevice:e.useCallback((({deviceType:e,deviceId:t})=>E(void 0,void 0,void 0,(function*(){try{switch(e){case exports.DeviceType.audioInput:yield o.setAudioSettings({deviceId:t});break;case exports.DeviceType.videoInput:yield o.setVideoSettings({deviceId:t});break;case exports.DeviceType.audioOutput:yield o.setAudioOutputDevice(t)}}catch(e){i(e,"updateDevices")}}))),[i,o])}},exports.useHMSActions=P,exports.useHMSNotifications=b,exports.useHMSStatsStore=y,exports.useHMSStore=p,exports.useHMSVanillaNotifications=S,exports.useHMSVanillaStore=w,exports.useParticipantList=()=>{const i=p(t.selectIsConnectedToRoom),o=p(i?t.selectPeers:t.selectRemotePeers),r=p(t.selectPeerCount),n=e.useMemo((()=>{return(e=o)&&Array.isArray(e)&&0!==e.length?e.reduce(((e,t)=>t.roleName?(e[t.roleName]||(e[t.roleName]=[]),e[t.roleName].push(t),e):e),{}):{};var e}),[o]);return{roles:Object.keys(n),participantsByRoles:n,peerCount:r,isConnected:i}},exports.useParticipants=e=>{var i;const o=p(t.selectIsConnectedToRoom),r=p(t.selectPeerCount),n=p(t.selectAvailableRoleNames);let a=p(o?t.selectPeers:t.selectRemotePeers);const s=Array.from(new Set(a.map((e=>e.roleName)))),l=w();if((null===(i=null==e?void 0:e.metadata)||void 0===i?void 0:i.isHandRaised)&&(a=a.filter((e=>l.getState(t.selectPeerMetadata(e.id)).isHandRaised))),(null==e?void 0:e.role)&&n.includes(e.role)&&(a=a.filter((t=>t.roleName===e.role))),null==e?void 0:e.search){const t=e.search.toLowerCase();a=a.filter((e=>{var i;return(null===(i=e.roleName)||void 0===i?void 0:i.toLowerCase().includes(t))||e.name.toLowerCase().includes(t)}))}return{participants:a,isConnected:o,peerCount:r,rolesWithParticipants:s}},exports.usePreviewJoin=({name:i="",token:o,metadata:r,handleError:n=R,initEndpoint:a,initialSettings:s,captureNetworkQualityInPreview:l})=>{const c=P(),u=p(t.selectRoomState),d=p(t.selectIsConnectedToRoom)||!1,h=u===t.HMSRoomState.Preview,g=e.useMemo((()=>({userName:i,authToken:o,metaData:r,rememberDeviceSelection:!0,settings:s,initEndpoint:a,captureNetworkQualityInPreview:l})),[i,o,r,a,s,l]),v=e.useCallback((()=>E(void 0,void 0,void 0,(function*(){if(o&&u===t.HMSRoomState.Disconnected){d&&(yield c.leave());try{yield c.preview(g)}catch(e){n(e,"preview")}}}))),[c,n,o,u,g,d]);return{enableJoin:h,join:e.useCallback((()=>E(void 0,void 0,void 0,(function*(){if(o)try{yield c.join(g)}catch(e){n(e,"join")}}))),[c,g,n,o]),isConnected:d,preview:v}},exports.useRecordingStreaming=()=>{const e=p(t.selectRecordingState),i=p(t.selectRTMPState),o=p(t.selectHLSState),r=e.server.running,n=e.browser.running,a=e.hls.running,s=r||n||a;return{isServerRecordingOn:r,isBrowserRecordingOn:n,isHLSRecordingOn:a,isStreamingOn:o.running||i.running,isHLSRunning:o.running,isRTMPRunning:i.running,isRecordingOn:s}},exports.useRemoteAVToggle=(i,o,r=R)=>{const n=P(),a=p(t.selectAudioTrackByID(i)),s=p(t.selectVideoTrackByID(o)),l=p(t.selectAudioTrackVolume(null==a?void 0:a.id)),c=p(t.selectPermissions),u=(null==s?void 0:s.enabled)?null==c?void 0:c.mute:null==c?void 0:c.unmute,d=(null==a?void 0:a.enabled)?null==c?void 0:c.mute:null==c?void 0:c.unmute,h=e.useCallback((()=>E(void 0,void 0,void 0,(function*(){yield k(n,a,r)}))),[n,a,r]),g=e.useCallback((()=>E(void 0,void 0,void 0,(function*(){yield k(n,s,r)}))),[n,r,s]),v=e.useCallback((e=>{a&&n.setVolume(e,a.id)}),[n,a]);return{isAudioEnabled:!!(null==a?void 0:a.enabled),isVideoEnabled:!!(null==s?void 0:s.enabled),volume:l,toggleAudio:a&&d?h:void 0,toggleVideo:"regular"===(null==s?void 0:s.source)&&u?g:void 0,setVolume:a?v:void 0}},exports.useScreenShare=(i=R)=>{var o,r;const n=P(),a=p(t.selectIsLocalScreenShared),s=p(t.selectPeerScreenSharing),l=p(t.selectScreenSharesByPeerId(null==s?void 0:s.id)),c=e.useCallback(((e=!1)=>E(void 0,void 0,void 0,(function*(){try{yield n.setScreenShareEnabled(!a,e)}catch(e){i(e,"toggleScreenShare")}}))),[n,a,i]);return{amIScreenSharing:a,screenSharingPeerId:null==s?void 0:s.id,screenSharingPeerName:null==s?void 0:s.name,screenShareVideoTrackId:null===(o=null==l?void 0:l.video)||void 0===o?void 0:o.id,screenShareAudioTrackId:null===(r=null==l?void 0:l.audio)||void 0===r?void 0:r.id,toggleScreenShare:c}},exports.useVideo=({trackId:i,attach:r,threshold:n=.5})=>{const a=P(),s=e.useRef(null),l=p(t.selectVideoTrackByID(i)),{ref:c,inView:u}=o.useInView({threshold:n}),h=e.useCallback((e=>{e&&(s.current=e,c(e))}),[c]);return e.useEffect((()=>{E(void 0,void 0,void 0,(function*(){s.current&&(null==l?void 0:l.id)&&(u&&l.enabled&&!1!==r?yield a.attachVideo(l.id,s.current):yield a.detachVideo(l.id,s.current))}))}),[a,u,s,null==l?void 0:l.id,null==l?void 0:l.enabled,null==l?void 0:l.deviceID,null==l?void 0:l.plugins,r]),e.useEffect((()=>()=>{E(void 0,void 0,void 0,(function*(){if(s.current&&l)try{yield a.detachVideo(l.id,s.current)}catch(e){d.w("detach video error for track",l.id,e)}}))}),[]),{videoRef:h}},exports.useVideoList=({peers:i,maxTileCount:o,maxColCount:n,maxRowCount:a,includeScreenShareForPeer:s=(()=>!1),aspectRatio:l=H,filterNonPublishingPeers:c=!0,offsetY:u=0})=>{const{width:d=0,height:h=0,ref:g}=r.useResizeDetector(),v=((e,t,i,o=!0)=>{if(!e||!t||!i)return[];const r=[];for(const n of e)if(void 0===n.videoTrack&&n.audioTrack&&t[n.audioTrack]?r.push({peer:n}):n.videoTrack&&t[n.videoTrack]?r.push({track:t[n.videoTrack],peer:n}):o||r.push({peer:n}),n.auxiliaryTracks.length>0&&n.auxiliaryTracks.forEach((e=>{const i=t[e];"video"===(null==i?void 0:i.type)&&"regular"===(null==i?void 0:i.source)&&r.push({track:i,peer:n})})),i(n)&&n.auxiliaryTracks.length>0){const e=n.auxiliaryTracks.find((e=>{const i=t[e];return"video"===(null==i?void 0:i.type)&&"screen"===(null==i?void 0:i.source)}));e&&r.push({track:t[e],peer:n})}return r})(i,w().getState(t.selectTracksMap),s,c),f=e.useMemo((()=>{if(l)return l;return{width:function(e){if(0===e.length)return null;const t={};let i=e[0],o=1;for(let r=0;r<e.length;r++){const n=e[r];null===t[n]?t[n]=1:t[n]++,t[n]>o&&(i=n,o=t[n])}return i}(v.filter((e=>{var t,i;return(null===(t=e.track)||void 0===t?void 0:t.width)&&(null===(i=e.track)||void 0===i?void 0:i.height)})).map((e=>{var t,i;return((null===(t=e.track)||void 0===t?void 0:t.width)||1)/((null===(i=e.track)||void 0===i?void 0:i.height)||1)})))||1,height:1}}),[l,v]),p=v.length,{tilesInFirstPage:m,defaultWidth:y,defaultHeight:S,lastPageWidth:P,lastPageHeight:b,isLastPageDifferentFromFirstPage:E}=e.useMemo((()=>M({count:p,parentWidth:Math.floor(d),parentHeight:Math.floor(h)-Math.min(h,u),maxTileCount:o,maxRowCount:a,maxColCount:n,aspectRatio:f})),[p,d,h,o,a,n,f,u]);return{pagesWithTiles:e.useMemo((()=>x({elements:v,tilesInFirstPage:m,onlyOnePage:!1,isLastPageDifferentFromFirstPage:E,defaultWidth:y,defaultHeight:S,lastPageWidth:P,lastPageHeight:b})),[v,m,E,y,S,P,b]),ref:g}},Object.keys(t).forEach((function(e){"default"===e||exports.hasOwnProperty(e)||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return t[e]}})}));
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("zustand"),i=require("@100mslive/hms-video-store"),o=require("react-intersection-observer"),r=require("react-resize-detector");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a,s,l=n(e),c=n(t);function u(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;const i=Object.keys(e);if(i.length!==Object.keys(t).length)return!1;for(let o=0;o<i.length;o++)if(!Object.prototype.hasOwnProperty.call(t,i[o])||!Object.is(e[i[o]],t[i[o]]))return!1;return!0}(s=a||(a={}))[s.VERBOSE=0]="VERBOSE",s[s.DEBUG=1]="DEBUG",s[s.INFO=2]="INFO",s[s.WARN=3]="WARN",s[s.ERROR=4]="ERROR",s[s.NONE=5]="NONE";class d{static v(e,...t){this.log(a.VERBOSE,e,...t)}static d(e,...t){this.log(a.DEBUG,e,...t)}static i(e,...t){this.log(a.INFO,e,...t)}static w(e,...t){this.log(a.WARN,e,...t)}static e(e,...t){this.log(a.ERROR,e,...t)}static log(e,t,...i){if(!(this.level.valueOf()>e.valueOf()))switch(e){case a.VERBOSE:console.log("HMSui-components: ",t,...i);break;case a.DEBUG:console.debug("HMSui-components: ",t,...i);break;case a.INFO:console.info("HMSui-components: ",t,...i);break;case a.WARN:console.warn("HMSui-components: ",t,...i);break;case a.ERROR:console.error("HMSui-components: ",t,...i)}}}d.level=a.VERBOSE;const h="It seems like you forgot to add your component within a top level HMSRoomProvider, please refer to 100ms react docs(https://docs.100ms.live/javascript/v2/features/integration#react-hooks) to check on the required steps for using this hook.";const g="undefined"!=typeof window,v=e.createContext(null);let f;const p=(m=v,(t,i=u)=>{t||d.w("fetching full store without passing any selector may have a heavy performance impact on your website.");const o=e.useContext(m);if(!o)throw new Error(h);return(0,o.store)(t,i)});var m;const y=function(t){return(i,o=u)=>{i||d.w("fetching full store without passing any selector may have a heavy performance impact on your website.");const r=e.useContext(t);if(!r)throw new Error(h);const n=r.statsStore;return null==n?void 0:n(i,o)}}(v),w=()=>{const t=e.useContext(v);if(!t)throw new Error(h);return t.store},S=()=>{const t=e.useContext(v);if(!t)throw new Error(h);return t.notifications},P=()=>{const t=e.useContext(v);if(!t)throw new Error(h);return t.actions},b=t=>{const i=e.useContext(v),[o,r]=e.useState(null);if(!i)throw new Error(h);return e.useEffect((()=>{if(!i.notifications)return;return i.notifications.onNotification((e=>{r(e)}),t)}),[i.notifications,t]),o};function E(e,t,i,o){return new(i||(i=Promise))((function(r,n){function a(e){try{l(o.next(e))}catch(e){n(e)}}function s(e){try{l(o.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,s)}l((o=o.apply(e,t||[])).next())}))}const R=(e,t)=>d.e("react-sdk",t,e),k=(e,t,i)=>E(void 0,void 0,void 0,(function*(){if(t)try{yield e.setRemoteTrackEnabled(t.id,!t.enabled)}catch(e){i(e,"remoteToggle")}})),x=({elements:e,tilesInFirstPage:t,onlyOnePage:i,isLastPageDifferentFromFirstPage:o,defaultWidth:r,defaultHeight:n,lastPageWidth:a,lastPageHeight:s})=>{const l=((e,t,i)=>e.reduce(((e,o,r)=>{const n=Math.floor(r/t);return n>0&&i||(e[n]||(e[n]=[]),e[n].push(o)),e}),[]))(e,t,i);return l.map(((e,t)=>e.map((e=>{const i=t===l.length-1,c=o&&i?a:r,u=o&&i?s:n;return Object.assign(Object.assign({},e),{height:u,width:c})}))))};const I=(e,t,i,o,r)=>{if(e<0||t<0)throw new Error("Container must have a non-negative area");if(i<1||!Number.isInteger(i))throw new Error("Number of shapes to place must be a positive integer");const n=o&&r&&o/r;if(void 0!==n&&isNaN(n))throw new Error("Aspect ratio must be a number");let a={area:0,cols:0,rows:0,width:0,height:0};if(void 0!==n)for(let o=i;o>0;o+=-1){const r=Math.ceil(i/o);let s,l;e/(o*n)<=t/r?(s=e/o,l=s/n):(l=t/r,s=l*n);const c=s*l;c>a.area&&(a={area:c,width:s,height:l,rows:r,cols:o})}return a};function M({count:e,parentWidth:t,parentHeight:i,maxTileCount:o,maxRowCount:r,maxColCount:n,aspectRatio:a}){let s=0,l=0,c=0,u=0,d=!1,h=0;if(0===e)return{tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:c,lastPageHeight:u,isLastPageDifferentFromFirstPage:d};if(o)({tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:c,lastPageHeight:u,isLastPageDifferentFromFirstPage:d}=(({parentWidth:e,parentHeight:t,count:i,maxCount:o,aspectRatio:r})=>{let n=0,a=0,s=0,l=0,c=!1,u=0,d=0;const{width:h,height:g}=I(e,t,Math.min(i,o),r.width,r.height);if(n=h,a=g,u=Math.min(i,o),d=i%o,c=d>0&&i>o,c){const{width:i,height:o}=I(e,t,d,r.width,r.height);s=i,l=o}return{tilesInFirstPage:u,defaultWidth:n,defaultHeight:a,lastPageWidth:s,lastPageHeight:l,isLastPageDifferentFromFirstPage:c}})({parentWidth:t,parentHeight:i,count:e,maxCount:o,aspectRatio:a}));else if(r)({tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:c,lastPageHeight:u,isLastPageDifferentFromFirstPage:d}=(({parentWidth:e,parentHeight:t,count:i,maxCount:o,aspectRatio:r})=>{let n=0,a=0,s=0,l=0,c=!1,u=0,d=0;const h=Math.min(Math.ceil(Math.sqrt(i*(r.width/r.height)/(e/t))),o),g=t/h,v=g*(r.width/r.height),f=Math.floor(e/v);if(n=v,a=g,u=Math.min(i,h*f),d=i%(h*f),c=d>0&&i>h*f,c){const i=t/Math.min(Math.ceil(Math.sqrt(d*(r.width/r.height)/(e/t))),o);l=i,s=i*(r.width/r.height)}return{tilesInFirstPage:u,defaultWidth:n,defaultHeight:a,lastPageWidth:s,lastPageHeight:l,isLastPageDifferentFromFirstPage:c}})({parentWidth:t,parentHeight:i,count:e,maxCount:r,aspectRatio:a}));else if(n)({tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:c,lastPageHeight:u,isLastPageDifferentFromFirstPage:d}=(({parentWidth:e,parentHeight:t,count:i,maxCount:o,aspectRatio:r})=>{let n=0,a=0,s=0,l=0,c=!1,u=0,d=0;const h=Math.min(Math.ceil(Math.sqrt(i*(e/t)/(r.width/r.height))),o);let g=e/h,v=g/(r.width/r.height);v>t&&(v=t,g=v/(r.height/r.width));const f=Math.floor(t/v);if(a=v,n=g,u=Math.min(i,f*h),d=i%(f*h),c=d>0&&i>f*h,c){let i=e/Math.min(Math.ceil(Math.sqrt(d*(e/t)/(r.width/r.height))),o),n=i/(r.width/r.height);n>t&&(n=t,i=n/(r.height/r.width)),l=n,s=i}return{tilesInFirstPage:u,defaultWidth:n,defaultHeight:a,lastPageWidth:s,lastPageHeight:l,isLastPageDifferentFromFirstPage:c}})({parentWidth:t,parentHeight:i,count:e,maxCount:n,aspectRatio:a}));else{const{width:o,height:r}=I(t,i,e,a.width,a.height);s=o,l=r,h=e}return{tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:c,lastPageHeight:u,isLastPageDifferentFromFirstPage:d}}const H={width:1,height:1};var C;exports.DeviceType=void 0,(C=exports.DeviceType||(exports.DeviceType={})).videoInput="videoInput",C.audioInput="audioInput",C.audioOutput="audioOutput";exports.HMSRoomProvider=({children:t,actions:o,store:r,notifications:n,stats:a,isHMSStatsOn:s=!1,leaveOnUnload:u=!0})=>{if(!f){const e=()=>{throw new Error("modifying store is not allowed")};if(o&&r)f={actions:o,store:c.default(Object.assign(Object.assign({},r),{setState:e,destroy:e}))},n&&(f.notifications=n),a&&(f.statsStore=c.default({getState:a.getState,subscribe:a.subscribe,setState:e,destroy:e}));else{const t=new i.HMSReactiveStore;if(f={actions:t.getActions(),store:c.default(Object.assign(Object.assign({},t.getStore()),{setState:e,destroy:e})),notifications:t.getNotifications()},s){const i=t.getStats();f.statsStore=c.default({getState:i.getState,subscribe:i.subscribe,setState:e,destroy:e})}}f.actions.setFrameworkInfo({type:"react-web",version:l.default.version,sdkVersion:require("../../package.json").version})}return e.useEffect((()=>{g&&u&&(window.addEventListener("beforeunload",(()=>f.actions.leave())),window.addEventListener("onunload",(()=>f.actions.leave())))}),[u]),l.default.createElement(v.Provider,{value:f},t)},exports.throwErrorHandler=e=>{throw e},exports.useAVToggle=(t=R)=>{const o=p(i.selectIsLocalAudioEnabled),r=p(i.selectIsLocalVideoEnabled),n=p(i.selectIsAllowedToPublish),a=P(),s=e.useCallback((()=>E(void 0,void 0,void 0,(function*(){try{yield a.setLocalAudioEnabled(!o)}catch(e){t(e,"toggleAudio")}}))),[a,o,t]),l=e.useCallback((()=>E(void 0,void 0,void 0,(function*(){try{yield a.setLocalVideoEnabled(!r)}catch(e){t(e,"toggleVideo")}}))),[a,r,t]);return{isLocalAudioEnabled:o,isLocalVideoEnabled:r,toggleAudio:(null==n?void 0:n.audio)?s:void 0,toggleVideo:(null==n?void 0:n.video)?l:void 0}},exports.useAudioLevelStyles=function({trackId:t,getStyle:o,ref:r}){const n=w();e.useEffect((()=>n.subscribe((e=>{if(!r.current)return;const t=o(e);for(const e in t)r.current.style[e]=t[e]}),i.selectTrackAudioByID(t))),[o,r,n,t])},exports.useAutoplayError=()=>{const t=b(i.HMSNotificationTypes.ERROR),[o,r]=e.useState(""),n=P(),a=e.useCallback((()=>E(void 0,void 0,void 0,(function*(){yield n.unblockAudio()}))),[n]);return e.useEffect((()=>{3008===(null==t?void 0:t.data.code)&&r(null==t?void 0:t.data.message)}),[t]),{error:o,unblockAudio:a,resetError:()=>r("")}},exports.useCustomEvent=({type:t,json:o=!0,onEvent:r,handleError:n=R})=>{const a=P(),s=S();e.useEffect((()=>{a.ignoreMessageTypes([t])}),[a,t]),e.useEffect((()=>{if(!s)return;return s.onNotification((e=>{const i=e.data;if(i&&i.type===t)try{const e=o?JSON.parse(i.message):i.message;null==r||r(e)}catch(e){n(e,"handleCustomEvent")}}),i.HMSNotificationTypes.NEW_MESSAGE)}),[s,t,o,r,n]);return{sendEvent:e.useCallback(((e,i)=>E(void 0,void 0,void 0,(function*(){try{const n=((e,t)=>t?JSON.stringify(e||""):e)(e,o);i&&Array.isArray(null==i?void 0:i.roleNames)?yield a.sendGroupMessage(n,i.roleNames,t):"string"==typeof(null==i?void 0:i.peerId)?yield a.sendDirectMessage(n,i.peerId,t):yield a.sendBroadcastMessage(n,t),null==r||r(e)}catch(e){n(e,"sendCustomEvent")}}))),[a,n,r,t,o])}},exports.useDevices=(t=R)=>{const o=P(),r=p(i.selectDevices),n=p(i.selectLocalMediaSettings),a=p(i.selectIsAllowedToPublish),s={[exports.DeviceType.audioOutput]:n.audioOutputDeviceId},l={[exports.DeviceType.audioOutput]:r.audioOutput};a.video&&(l[exports.DeviceType.videoInput]=r.videoInput,s[exports.DeviceType.videoInput]=n.videoInputDeviceId),a.audio&&(l[exports.DeviceType.audioInput]=r.audioInput,s[exports.DeviceType.audioInput]=n.audioInputDeviceId);return{allDevices:l,selectedDeviceIDs:s,updateDevice:e.useCallback((({deviceType:e,deviceId:i})=>E(void 0,void 0,void 0,(function*(){try{switch(e){case exports.DeviceType.audioInput:yield o.setAudioSettings({deviceId:i});break;case exports.DeviceType.videoInput:yield o.setVideoSettings({deviceId:i});break;case exports.DeviceType.audioOutput:yield o.setAudioOutputDevice(i)}}catch(e){t(e,"updateDevices")}}))),[t,o])}},exports.useHMSActions=P,exports.useHMSNotifications=b,exports.useHMSStatsStore=y,exports.useHMSStore=p,exports.useHMSVanillaNotifications=S,exports.useHMSVanillaStore=w,exports.useParticipantList=()=>{const t=p(i.selectIsConnectedToRoom),o=p(t?i.selectPeers:i.selectRemotePeers),r=p(i.selectPeerCount),n=e.useMemo((()=>{return(e=o)&&Array.isArray(e)&&0!==e.length?e.reduce(((e,t)=>t.roleName?(e[t.roleName]||(e[t.roleName]=[]),e[t.roleName].push(t),e):e),{}):{};var e}),[o]);return{roles:Object.keys(n),participantsByRoles:n,peerCount:r,isConnected:t}},exports.useParticipants=e=>{var t;const o=p(i.selectIsConnectedToRoom),r=p(i.selectPeerCount),n=p(i.selectAvailableRoleNames);let a=p(o?i.selectPeers:i.selectRemotePeers);const s=Array.from(new Set(a.map((e=>e.roleName)))),l=w();if((null===(t=null==e?void 0:e.metadata)||void 0===t?void 0:t.isHandRaised)&&(a=a.filter((e=>l.getState(i.selectPeerMetadata(e.id)).isHandRaised))),(null==e?void 0:e.role)&&n.includes(e.role)&&(a=a.filter((t=>t.roleName===e.role))),null==e?void 0:e.search){const t=e.search.toLowerCase();a=a.filter((e=>{var i;return(null===(i=e.roleName)||void 0===i?void 0:i.toLowerCase().includes(t))||e.name.toLowerCase().includes(t)}))}return{participants:a,isConnected:o,peerCount:r,rolesWithParticipants:s}},exports.usePreviewJoin=({name:t="",token:o,metadata:r,handleError:n=R,initEndpoint:a,initialSettings:s,captureNetworkQualityInPreview:l})=>{const c=P(),u=p(i.selectRoomState),d=p(i.selectIsConnectedToRoom)||!1,h=u===i.HMSRoomState.Preview,g=e.useMemo((()=>({userName:t,authToken:o,metaData:r,rememberDeviceSelection:!0,settings:s,initEndpoint:a,captureNetworkQualityInPreview:l})),[t,o,r,a,s,l]),v=e.useCallback((()=>E(void 0,void 0,void 0,(function*(){if(o&&u===i.HMSRoomState.Disconnected){d&&(yield c.leave());try{yield c.preview(g)}catch(e){n(e,"preview")}}}))),[c,n,o,u,g,d]);return{enableJoin:h,join:e.useCallback((()=>E(void 0,void 0,void 0,(function*(){if(o)try{yield c.join(g)}catch(e){n(e,"join")}}))),[c,g,n,o]),isConnected:d,preview:v}},exports.useRecordingStreaming=()=>{const e=p(i.selectRecordingState),t=p(i.selectRTMPState),o=p(i.selectHLSState),r=e.server.running,n=e.browser.running,a=e.hls.running,s=r||n||a;return{isServerRecordingOn:r,isBrowserRecordingOn:n,isHLSRecordingOn:a,isStreamingOn:o.running||t.running,isHLSRunning:o.running,isRTMPRunning:t.running,isRecordingOn:s}},exports.useRemoteAVToggle=(t,o,r=R)=>{const n=P(),a=p(i.selectAudioTrackByID(t)),s=p(i.selectVideoTrackByID(o)),l=p(i.selectAudioTrackVolume(null==a?void 0:a.id)),c=p(i.selectPermissions),u=(null==s?void 0:s.enabled)?null==c?void 0:c.mute:null==c?void 0:c.unmute,d=(null==a?void 0:a.enabled)?null==c?void 0:c.mute:null==c?void 0:c.unmute,h=e.useCallback((()=>E(void 0,void 0,void 0,(function*(){yield k(n,a,r)}))),[n,a,r]),g=e.useCallback((()=>E(void 0,void 0,void 0,(function*(){yield k(n,s,r)}))),[n,r,s]),v=e.useCallback((e=>{a&&n.setVolume(e,a.id)}),[n,a]);return{isAudioEnabled:!!(null==a?void 0:a.enabled),isVideoEnabled:!!(null==s?void 0:s.enabled),volume:l,toggleAudio:a&&d?h:void 0,toggleVideo:"regular"===(null==s?void 0:s.source)&&u?g:void 0,setVolume:a?v:void 0}},exports.useScreenShare=(t=R)=>{var o,r;const n=P(),a=p(i.selectIsLocalScreenShared),s=p(i.selectPeerScreenSharing),l=p(i.selectScreenSharesByPeerId(null==s?void 0:s.id)),c=e.useCallback((e=>E(void 0,void 0,void 0,(function*(){try{yield n.setScreenShareEnabled(!a,e)}catch(e){t(e,"toggleScreenShare")}}))),[n,a,t]);return{amIScreenSharing:a,screenSharingPeerId:null==s?void 0:s.id,screenSharingPeerName:null==s?void 0:s.name,screenShareVideoTrackId:null===(o=null==l?void 0:l.video)||void 0===o?void 0:o.id,screenShareAudioTrackId:null===(r=null==l?void 0:l.audio)||void 0===r?void 0:r.id,toggleScreenShare:c}},exports.useVideo=({trackId:t,attach:r,threshold:n=.5})=>{const a=P(),s=e.useRef(null),l=p(i.selectVideoTrackByID(t)),{ref:c,inView:u}=o.useInView({threshold:n}),h=e.useCallback((e=>{e&&(s.current=e,c(e))}),[c]);return e.useEffect((()=>{E(void 0,void 0,void 0,(function*(){s.current&&(null==l?void 0:l.id)&&(u&&l.enabled&&!1!==r?yield a.attachVideo(l.id,s.current):yield a.detachVideo(l.id,s.current))}))}),[a,u,s,null==l?void 0:l.id,null==l?void 0:l.enabled,null==l?void 0:l.deviceID,null==l?void 0:l.plugins,r]),e.useEffect((()=>()=>{E(void 0,void 0,void 0,(function*(){if(s.current&&l)try{yield a.detachVideo(l.id,s.current)}catch(e){d.w("detach video error for track",l.id,e)}}))}),[]),{videoRef:h}},exports.useVideoList=({peers:t,maxTileCount:o,maxColCount:n,maxRowCount:a,includeScreenShareForPeer:s=(()=>!1),aspectRatio:l=H,filterNonPublishingPeers:c=!0,offsetY:u=0})=>{const{width:d=0,height:h=0,ref:g}=r.useResizeDetector(),v=((e,t,i,o=!0)=>{if(!e||!t||!i)return[];const r=[];for(const n of e)if(void 0===n.videoTrack&&n.audioTrack&&t[n.audioTrack]?r.push({peer:n}):n.videoTrack&&t[n.videoTrack]?r.push({track:t[n.videoTrack],peer:n}):o||r.push({peer:n}),n.auxiliaryTracks.length>0&&n.auxiliaryTracks.forEach((e=>{const i=t[e];"video"===(null==i?void 0:i.type)&&"regular"===(null==i?void 0:i.source)&&r.push({track:i,peer:n})})),i(n)&&n.auxiliaryTracks.length>0){const e=n.auxiliaryTracks.find((e=>{const i=t[e];return"video"===(null==i?void 0:i.type)&&"screen"===(null==i?void 0:i.source)}));e&&r.push({track:t[e],peer:n})}return r})(t,w().getState(i.selectTracksMap),s,c),f=e.useMemo((()=>{if(l)return l;return{width:function(e){if(0===e.length)return null;const t={};let i=e[0],o=1;for(let r=0;r<e.length;r++){const n=e[r];null===t[n]?t[n]=1:t[n]++,t[n]>o&&(i=n,o=t[n])}return i}(v.filter((e=>{var t,i;return(null===(t=e.track)||void 0===t?void 0:t.width)&&(null===(i=e.track)||void 0===i?void 0:i.height)})).map((e=>{var t,i;return((null===(t=e.track)||void 0===t?void 0:t.width)||1)/((null===(i=e.track)||void 0===i?void 0:i.height)||1)})))||1,height:1}}),[l,v]),p=v.length,{tilesInFirstPage:m,defaultWidth:y,defaultHeight:S,lastPageWidth:P,lastPageHeight:b,isLastPageDifferentFromFirstPage:E}=e.useMemo((()=>M({count:p,parentWidth:Math.floor(d),parentHeight:Math.floor(h)-Math.min(h,u),maxTileCount:o,maxRowCount:a,maxColCount:n,aspectRatio:f})),[p,d,h,o,a,n,f,u]);return{pagesWithTiles:e.useMemo((()=>x({elements:v,tilesInFirstPage:m,onlyOnePage:!1,isLastPageDifferentFromFirstPage:E,defaultWidth:y,defaultHeight:S,lastPageWidth:P,lastPageHeight:b})),[v,m,E,y,S,P,b]),ref:g}},Object.keys(i).forEach((function(e){"default"===e||exports.hasOwnProperty(e)||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return i[e]}})}));
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/utils/logger.ts","../node_modules/zustand/esm/shallow.js","../src/primitives/store.ts","../src/utils/isBrowser.ts","../src/primitives/HmsRoomProvider.ts","../../../node_modules/tslib/tslib.es6.js","../src/utils/commons.ts","../src/hooks/useRemoteAVToggle.ts","../src/utils/layout.ts","../src/hooks/useVideoList.ts","../src/hooks/useDevices.ts","../src/hooks/useAVToggle.ts","../src/hooks/useAudioLevelStyles.ts","../src/hooks/useAutoplayError.ts","../src/hooks/useCustomEvent.ts","../src/hooks/useParticipantList.ts","../src/utils/groupBy.ts","../src/hooks/useParticipants.ts","../src/hooks/usePreviewJoin.ts","../src/hooks/useRecordingStreaming.ts","../src/hooks/useScreenShare.ts","../src/hooks/useVideo.ts"],"sourcesContent":[null,"function shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\n\nexport { shallow as default };\n",null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["HMSLogLevel","HMSLogLevel2","shallow","objA","objB","Object","is","keysA","keys","length","i","prototype","hasOwnProperty","call","HMSLogger","static","tag","data","this","log","VERBOSE","DEBUG","INFO","WARN","ERROR","level","valueOf","console","debug","info","warn","error","hooksErrorMessage","isBrowser","window","HMSContext","createContext","providerProps","useHMSStore","hmsContext","selector","equalityFn","w","HMSContextConsumer","useContext","Error","useStore","store","useHMSStatsStore","statsStore","makeHMSStatsStoreHook","useHMSVanillaStore","useHMSVanillaNotifications","notifications","useHMSActions","actions","useHMSNotifications","type","notification","setNotification","useState","useEffect","onNotification","notification2","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","logErrorHandler","err","method","toggleTrackEnabled","track","handleError","setRemoteTrackEnabled","id","enabled","chunkElements","elements","tilesInFirstPage","onlyOnePage","isLastPageDifferentFromFirstPage","defaultWidth","defaultHeight","lastPageWidth","lastPageHeight","chunks","chunkSize","reduce","resultArray","tile","index","chunkIndex","Math","floor","push","chunk","map","ch","page","element","isLastPage","width","height","assign","largestRect","containerWidth","containerHeight","numRects","Number","isInteger","aspectRatio","isNaN","best","area","cols","rows","ceil","width2","height2","count","parentWidth","parentHeight","maxTileCount","maxRowCount","maxColCount","maxCount","tilesinLastPage","initialWidth","initialHeight","min","remWidth","remHeight","getTileSizesWithPageConstraint","sqrt","getTileSizesWithRowConstraint","getTileSizesWithColConstraint","DEFAULTS","DeviceType2","DeviceType","children","stats","isHMSStatsOn","leaveOnUnload","errFn","create","setState","destroy","getState","subscribe","hmsReactiveStore","HMSReactiveStore","getActions","getStore","getNotifications","stats2","getStats","setFrameworkInfo","version","React","sdkVersion","require","addEventListener","leave","createElement","Provider","isLocalAudioEnabled","selectIsLocalAudioEnabled","isLocalVideoEnabled","selectIsLocalVideoEnabled","isAllowedToPublish","selectIsAllowedToPublish","toggleAudio","useCallback","setLocalAudioEnabled","toggleVideo","setLocalVideoEnabled","audio","video","trackId","getStyle","ref","current","styles","key","style","selectTrackAudioByID","HMSNotificationTypes","setError","unblockAudio","code","message","resetError","json","onEvent","ignoreMessageTypes","msg","JSON","parse","NEW_MESSAGE","sendEvent","receiver","dataStr","stringify","stringifyData","Array","isArray","roleNames","sendGroupMessage","peerId","sendDirectMessage","sendBroadcastMessage","sdkAllDevices","selectDevices","sdkSelectedDevices","selectLocalMediaSettings","selectedDeviceIDs","audioOutput","audioOutputDeviceId","allDevices","videoInput","videoInputDeviceId","audioInput","audioInputDeviceId","updateDevice","deviceType","deviceId","setAudioSettings","setVideoSettings","setAudioOutputDevice","isConnected","selectIsConnectedToRoom","participantList","selectPeers","selectRemotePeers","peerCount","selectPeerCount","participantsByRoles","useMemo","groupByRoles","peers","res","peer","roleName","roles","params","availableRoles","selectAvailableRoleNames","rolesWithParticipants","from","Set","vanillaStore","_a","metadata","isHandRaised","filter","selectPeerMetadata","role","includes","search","toLowerCase","_a2","name","participants","token","initEndpoint","initialSettings","captureNetworkQualityInPreview","roomState","selectRoomState","enableJoin","HMSRoomState","Preview","config","userName","authToken","metaData","rememberDeviceSelection","settings","preview","Disconnected","join","recording","selectRecordingState","rtmp","selectRTMPState","hls","selectHLSState","isServerRecordingOn","server","running","isBrowserRecordingOn","browser","isHLSRecordingOn","isRecordingOn","isStreamingOn","isHLSRunning","isRTMPRunning","audioTrackId","videoTrackId","audioTrack","selectAudioTrackByID","videoTrack","selectVideoTrackByID","volume","selectAudioTrackVolume","permissions","selectPermissions","canToggleVideo","mute","unmute","canToggleAudio","setVolume","volume2","isAudioEnabled","isVideoEnabled","source","amIScreenSharing","selectIsLocalScreenShared","screenSharePeer","selectPeerScreenSharing","screenShare","selectScreenSharesByPeerId","toggleScreenShare","audioOnly","setScreenShareEnabled","screenSharingPeerId","screenSharingPeerName","screenShareVideoTrackId","screenShareAudioTrackId","_b","attach","threshold","videoRef","useRef","inViewRef","inView","useInView","setRefs","node","attachVideo","detachVideo","deviceID","plugins","includeScreenShareForPeer","filterNonPublishingPeers","offsetY","useResizeDetector","tracksWithPeer","tracks","peerTiles","auxiliaryTracks","forEach","screenShareTrackID","find","trackID","getVideoTracksFromPeers","selectTracksMap","finalAspectRatio","array","modeMap","maxEl","el","mode","calculateLayoutSizes","pagesWithTiles"],"mappings":"gTAAYA,EAAAC,gBCAZ,SAASC,EAAQC,EAAMC,GACrB,GAAIC,OAAOC,GAAGH,EAAMC,GAClB,OAAO,EAET,GAAoB,iBAATD,GAA8B,OAATA,GAAiC,iBAATC,GAA8B,OAATA,EAC3E,OAAO,EAET,MAAMG,EAAQF,OAAOG,KAAKL,GAC1B,GAAII,EAAME,SAAWJ,OAAOG,KAAKJ,GAAMK,OACrC,OAAO,EAET,IAAK,IAAIC,EAAI,EAAGA,EAAIH,EAAME,OAAQC,IAChC,IAAKL,OAAOM,UAAUC,eAAeC,KAAKT,EAAMG,EAAMG,MAAQL,OAAOC,GAAGH,EAAKI,EAAMG,IAAKN,EAAKG,EAAMG,KACjG,OAAO,EAGX,OAAO,CACT,EDjBYT,EAAAD,IAOXA,EAAA,CAAA,IANCC,UAAA,GAAA,UACAA,EAAAA,QAAA,GAAA,QACAA,EAAAA,OAAA,GAAA,OACAA,EAAAA,OAAA,GAAA,OACAA,EAAAA,QAAA,GAAA,QACAA,EAAAA,OAAA,GAAA,OAGF,MAA8Ba,EAGrBC,SAAEC,KAAgBC,GACvBC,KAAKC,IAAInB,EAAYoB,QAASJ,KAAQC,EAAA,CAGjCF,SAAEC,KAAgBC,GACvBC,KAAKC,IAAInB,EAAYqB,MAAOL,KAAQC,EAAA,CAG/BF,SAAEC,KAAgBC,GACvBC,KAAKC,IAAInB,EAAYsB,KAAMN,KAAQC,EAAA,CAG9BF,SAAEC,KAAgBC,GACvBC,KAAKC,IAAInB,EAAYuB,KAAMP,KAAQC,EAAA,CAG9BF,SAAEC,KAAgBC,GACvBC,KAAKC,IAAInB,EAAYwB,MAAOR,KAAQC,EAAA,CAIvBF,WAAIU,EAAoBT,KAAgBC,GACrD,KAAIC,KAAKO,MAAMC,UAAYD,EAAMC,WAIzB,OAAAD,GAAA,KACDzB,EAAYoB,QACPO,QAAAR,IAAI,qBAAsBH,KAAQC,GAC1C,MAAA,KAEGjB,EAAYqB,MACPM,QAAAC,MAAM,qBAAsBZ,KAAQC,GAC5C,MAAA,KAEGjB,EAAYsB,KACPK,QAAAE,KAAK,qBAAsBb,KAAQC,GAC3C,MAAA,KAEGjB,EAAYuB,KACPI,QAAAG,KAAK,qBAAsBd,KAAQC,GAC3C,MAAA,KAEGjB,EAAYwB,MACPG,QAAAI,MAAM,qBAAsBf,KAAQC,GAC5C,EA/CCH,EAAAW,MAAqBzB,EAAYoB,QEAnC,MAAMY,EACX,kPCXK,MAAMC,EAA8B,oBAAXC,OCgC1BC,EAAaC,EAAAA,cAA8C,MAEjE,IAAIC,EAQS,MAgFAC,GFtGoBC,EEsGWJ,EFrGtB,CAClBK,EACAC,EAA0CvC,KAErCsC,GACH1B,EAAU4B,EACR,yGAGJ,MAAMC,EAAqBC,aAAWL,GACtC,IAAKI,EACH,MAAM,IAAIE,MAAMb,GAGlB,OAAOc,EADUH,EAAmBI,OACpBP,EAAUC,EAAA,GAfxB,IAA2BF,EEwG1B,MAAMS,EFpFP,SAAgCT,GAiB7B,MAhBkB,CACvBC,EACAC,EAA0CvC,KAErCsC,GACH1B,EAAU4B,EACR,yGAGJ,MAAMC,EAAqBC,aAAWL,GACtC,IAAKI,EACH,MAAM,IAAIE,MAAMb,GAElB,MAAMc,EAAWH,EAAmBM,WACpC,OAAOH,aAAA,EAAAA,EAAWN,EAAUC,EAAA,CAEvB,CEmEuBS,CAAsBf,GAczCgB,EAAqB,KAChC,MAAMR,EAAqBC,aAAWT,GACtC,IAAKQ,EACH,MAAM,IAAIE,MAAMb,GAGlB,OAAOW,EAAmBI,KAAA,EAiBfK,EAA6B,KACxC,MAAMT,EAAqBC,aAAWT,GACtC,IAAKQ,EACH,MAAM,IAAIE,MAAMb,GAElB,OAAOW,EAAmBU,aAAA,EAMfC,EAAgB,KAC3B,MAAMX,EAAqBC,aAAWT,GACtC,IAAKQ,EACH,MAAM,IAAIE,MAAMb,GAElB,OAAOW,EAAmBY,OAAA,EASfC,EACXC,IAEA,MAAMd,EAAqBC,aAAWT,IAC/BuB,EAAcC,GAAmBC,EAA8CA,SAAA,MAEtF,IAAKjB,EACH,MAAM,IAAIE,MAAMb,GAaX,OAVP6B,EAAAA,WAAU,KACJ,IAAClB,EAAmBU,cACtB,OAKK,OAHaV,EAAmBU,cAAcS,gBAAiCC,IACpEJ,EAAAI,EAAA,GACfN,EACI,GACN,CAACd,EAAmBU,cAAeI,IAE/BC,CAAA,ECzIF,SAASM,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,IAAW,MAAOG,GAAKL,EAAOK,GAAO,CAC3F,SAASC,EAASJ,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,IAAW,MAAOG,GAAKL,EAAOK,GAAO,CAC9F,SAASF,EAAKI,GAJlB,IAAeL,EAIaK,EAAOC,KAAOT,EAAQQ,EAAOL,QAJ1CA,EAIyDK,EAAOL,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAO,KAIhBO,KAAKR,EAAWK,EAAY,CAC9GH,GAAMN,EAAYA,EAAUa,MAAMhB,EAASC,GAAc,KAAKS,OACtE,GACA,CC1EA,MAEaO,EAAmC,CAACC,EAAYC,IAAoBtE,EAAU8D,EAF/E,YAEsFQ,EAAQD,GCqCpGE,EAAqB,CACzB9B,EACA+B,EACAC,IACEvB,OAAA,OAAA,OAAA,GAAA,YACF,GAAIsB,EACE,UACI/B,EAAQiC,sBAAsBF,EAAMG,IAAKH,EAAMI,QAE3B,CAF2B,MAC9CP,GACPI,EAAYJ,EAAc,eAAA,CAAA,IChBnBQ,EAAgB,EAC3BC,WACAC,mBACAC,cACAC,mCACAC,eACAC,gBACAC,gBACAC,qBAEM,MAAAC,EAxCa,EAAIR,EAAeS,EAAmBP,IACzDF,EAASU,QAAO,CAACC,EAAoBC,EAASC,KACtC,MAAAC,EAAaC,KAAKC,MAAMH,EAAQJ,GAClC,OAAAK,EAAa,GAAKZ,IAGjBS,EAAYG,KACfH,EAAYG,GAAc,IAG5BH,EAAYG,GAAYG,KAAKL,IANpBD,CAOF,GACN,IA4BmBO,CAASlB,EAAUC,EAAkBC,GAC3D,OAAOM,EAAOW,KAAI,CAACC,EAAIC,IACrBD,EAAGD,KAAcG,IACT,MAAAC,EAAsBF,IAASb,EAAO3F,OAAS,EAC/C2G,EAAQrB,GAAoCoB,EAAajB,EAAgBF,EACzEqB,EAAStB,GAAoCoB,EAAahB,EAAiBF,EACjF,OAAA5F,OAAAiH,OAAAjH,OAAAiH,OAAA,CAAA,EAAYJ,GAAO,CAAEG,SAAQD,SAAA,KAAA,EAqC5B,MA4CMG,EAAc,CACzBC,EACAC,EACAC,EACAN,EACAC,KAEI,GAAAG,EAAiB,GAAKC,EAAkB,EAC1C,MAAM,IAAI5E,MAAM,2CAElB,GAAI6E,EAAW,IAAMC,OAAOC,UAAUF,GACpC,MAAM,IAAI7E,MAAM,wDAEZ,MAAAgF,EAAcT,GAASC,GAAUD,EAAQC,EAC3C,QAAgB,IAAhBQ,GAA6BC,MAAMD,GACrC,MAAM,IAAIhF,MAAM,iCAGd,IAAAkF,EAAO,CAAEC,KAAM,EAAGC,KAAM,EAAGC,KAAM,EAAGd,MAAO,EAAGC,OAAQ,GAQ1D,QAAoB,IAAhBQ,EACF,IAAA,IAASI,EANOP,EAMWO,EAAO,EAAGA,IALtB,EAKwC,CAC/C,MAAAC,EAAOvB,KAAKwB,KAAKT,EAAWO,GAG9B,IAAAG,EACAC,EAHWb,GAAyBS,EAAAJ,IACzBJ,EAAkBS,GAK/BE,EAAQZ,EAAiBS,EACzBI,EAASD,EAAQP,IAEjBQ,EAASZ,EAAkBS,EAC3BE,EAAQC,EAASR,GAEnB,MAAMG,EAAOI,EAAQC,EACjBL,EAAOD,EAAKC,OACdD,EAAO,CAAEC,OAAMZ,MAAOgB,EAAAf,OAAAgB,EAAQH,OAAMD,QAAA,CAInC,OAAAF,CAAA,cAsJ4BO,MACnCA,EACAC,YAAAA,EAAAC,aACAA,eACAC,EACAC,YAAAA,EAAAC,YACAA,cACAd,IAEA,IAAI7B,EAAe,EACfC,EAAgB,EAChBC,EAAgB,EAChBC,EAAiB,EACjBJ,GAAmC,EACnCF,EAAmB,EAEvB,GAAc,IAAVyC,EAEK,MAAA,CACLzC,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,oCAIJ,GAAI0C,IAEA5C,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,oCAhIwC,GAC5CwC,cACAC,eACAF,QACAM,WACAf,kBAEA,IAAI7B,EAAe,EACfC,EAAgB,EAChBC,EAAgB,EAChBC,EAAiB,EACjBJ,GAAmC,EACnCF,EAAmB,EACnBgD,EAAkB,EACtB,MAAQzB,MAAO0B,EAAczB,OAAQ0B,GAAkBxB,EACrDgB,EACAC,EACA7B,KAAKqC,IAAIV,EAAOM,GAChBf,EAAYT,MACZS,EAAYR,QAOd,GALerB,EAAA8C,EACC7C,EAAA8C,EACGlD,EAAAc,KAAKqC,IAAIV,EAAOM,GACnCC,EAAkBP,EAAQM,EACS7C,EAAA8C,EAAkB,GAAKP,EAAQM,EAC9D7C,EAAkC,CAC9B,MAAEqB,MAAO6B,EAAU5B,OAAQ6B,GAAc3B,EAC7CgB,EACAC,EACAK,EACAhB,EAAYT,MACZS,EAAYR,QAEEnB,EAAA+C,EACC9C,EAAA+C,CAAA,CAEZ,MAAA,CACLrD,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,mCAAA,EAsFIoD,CAA+B,CACjCZ,cACAC,eACAF,QACAM,SAAUH,EACVZ,sBAAA,GAEOa,IAEP7C,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,oCAhGuC,GAC3CwC,cACAC,eACAF,QACAM,WACAf,kBAEA,IAAI7B,EAAe,EACfC,EAAgB,EAChBC,EAAgB,EAChBC,EAAiB,EACjBJ,GAAmC,EACnCF,EAAmB,EACnBgD,EAAkB,EACtB,MAAMX,EAAOvB,KAAKqC,IAChBrC,KAAKwB,KAAKxB,KAAKyC,KAAMd,GAAqBT,EAAAT,MAAQS,EAAYR,WAA0BmB,KACxFI,GAEIvB,EAASmB,EAAeN,EACxBd,EAAQC,GAAsBQ,EAAAT,MAAQS,EAAYR,QAClDY,EAAOtB,KAAKC,MAAM2B,EAAcnB,GAMtC,GALepB,EAAAoB,EACCnB,EAAAoB,EACGxB,EAAAc,KAAKqC,IAAIV,EAAOJ,EAAOD,GAC1CY,EAAkBP,GAAgBJ,EAAAD,GACClC,EAAA8C,EAAkB,GAAKP,EAAQJ,EAAOD,EACrElC,EAAkC,CACpC,MAIMsC,EAASG,EAJF7B,KAAKqC,IAChBrC,KAAKwB,KAAKxB,KAAKyC,KAAMP,GAA+BhB,EAAAT,MAAQS,EAAYR,WAA0BmB,KAClGI,GAIezC,EAAAkC,EACDnC,EAFFmC,GAAsBR,EAAAT,MAAQS,EAAYR,OAExC,CAEX,MAAA,CACLxB,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,mCAAA,EAuDIsD,CAA8B,CAChCd,cACAC,eACAF,QACAM,SAAUF,EACVb,sBAAA,GAEOc,IAEP9C,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,oCApNuC,GAC3CwC,cACAC,eACAF,QACAM,WACAf,kBAEA,IAAI7B,EAAe,EACfC,EAAgB,EAChBC,EAAgB,EAChBC,EAAiB,EACjBJ,GAAmC,EACnCF,EAAmB,EACnBgD,EAAkB,EACtB,MAAMZ,EAAOtB,KAAKqC,IAChBrC,KAAKwB,KAAKxB,KAAKyC,KAAMd,GAAuBC,EAAAC,IAA8BX,EAAAT,MAAQS,EAAYR,UAC9FuB,GAEF,IAAIxB,EAAQmB,EAAcN,EACtBZ,EAASD,GAAqBS,EAAAT,MAAQS,EAAYR,QAClDA,EAASmB,IACFnB,EAAAmB,EACDpB,EAAAC,GAAsBQ,EAAAR,OAASQ,EAAYT,QAE/C,MAAAc,EAAOvB,KAAKC,MAAM4B,EAAenB,GAMvC,GALgBpB,EAAAoB,EACDrB,EAAAoB,EACIvB,EAAAc,KAAKqC,IAAIV,EAAOJ,EAAOD,GAC1CY,EAAkBP,GAAgBJ,EAAAD,GACClC,EAAA8C,EAAkB,GAAKP,EAAQJ,EAAOD,EACrElC,EAAkC,CAKpC,IAAIqC,EAAQG,EAJC5B,KAAKqC,IAChBrC,KAAKwB,KAAKxB,KAAKyC,KAAMP,GAAiCN,EAAAC,IAA8BX,EAAAT,MAAQS,EAAYR,UACxGuB,GAGEP,EAASD,GAAqBP,EAAAT,MAAQS,EAAYR,QAClDgB,EAASG,IACFH,EAAAG,EACDJ,EAAAC,GAAsBR,EAAAR,OAASQ,EAAYT,QAEpCjB,EAAAkC,EACDnC,EAAAkC,CAAA,CAEX,MAAA,CACLvC,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,mCAAA,EAmKIuD,CAA8B,CAChCf,cACAC,eACAF,QACAM,SAAUD,EACVd,qBAEG,CACC,MAAAT,MAAEA,SAAOC,GAAWE,EAAYgB,EAAaC,EAAcF,EAAOT,EAAYT,MAAOS,EAAYR,QACxFrB,EAAAoB,EACCnB,EAAAoB,EACGxB,EAAAyC,CAAA,CAEd,MAAA,CACLzC,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,mCAAA,CAWG,MCnWDwD,EACS,CACXnC,MAAO,EACPC,OAAQ,GCnEZ,IAAYmC,EAAAC,QAAAA,gBAAA,GAAAD,EAAAC,qBAIXA,QAAAA,WAAA,CAAA,IAHC,WAAA,aACAD,EAAA,WAAA,aACAA,EAAA,YAAA,sCNiCgF,EAChFE,WACAnG,UACAR,QACAM,gBACAsG,QACAC,gBAAe,EACfC,iBAAgB,MAEhB,IAAKxH,EAAe,CAGlB,MAAMyH,EAAQ,KACZ,MAAM,IAAIjH,MAAM,iCAAA,EAElB,GAAIU,GAAWR,EACGV,EAAA,CACdkB,UACAR,MAAOgH,EAAAA,QACF1J,OAAAiH,OAAAjH,OAAAiH,OAAA,CAAA,EAAAvE,GACH,CAAAiH,SAAUF,EACVG,QAASH,MAGTzG,IACFhB,EAAcgB,cAAgBA,GAE5BsG,IACFtH,EAAcY,WAAa8G,UAAsB,CAC/CG,SAAUP,EAAMO,SAChBC,UAAWR,EAAMQ,UACjBH,SAAUF,EACVG,QAASH,SAGR,CACL,MAAMM,EAAmB,IAAIC,EAAAA,iBAW7B,GAVgBhI,EAAA,CACdkB,QAAS6G,EAAiBE,aAC1BvH,MAAOgH,EAAA,QACF1J,OAAAiH,OAAAjH,OAAAiH,OAAA,GAAA8C,EAAiBG,YACpB,CAAAP,SAAUF,EACVG,QAASH,KAEXzG,cAAe+G,EAAiBI,oBAG9BZ,EAAc,CAChB,MAAMa,EAAQL,EAAiBM,WAC/BrI,EAAcY,WAAa8G,UAAsB,CAC/CG,SAAUO,EAAMP,SAChBC,UAAWM,EAAMN,UACjBH,SAAUF,EACVG,QAASH,GAAA,CAAA,CAMfzH,EAAckB,QAAQoH,iBAAiB,CACrClH,KAAM,YACNmH,QAASC,EAAM,QAAAD,QACfE,WAAYC,QAAQ,sBAAsBH,SAAA,CAW9C,OAPA/G,EAAAA,WAAU,KACJ5B,GAAa4H,IACf3H,OAAO8I,iBAAiB,gBAAgB,IAAM3I,EAAckB,QAAQ0H,UACpE/I,OAAO8I,iBAAiB,YAAY,IAAM3I,EAAckB,QAAQ0H,UAAA,GAEjE,CAACpB,IAEGgB,UAAMK,cAAc/I,EAAWgJ,SAAU,CAAE1G,MAAOpC,GAAiBqH,EAAA,4BExGzBvE,IAC3C,MAAAA,CAAA,sBKqBmB,CAACI,EAA+BL,KACzD,MAAMkG,EAAsB9I,EAAY+I,EAAAA,2BAClCC,EAAsBhJ,EAAYiJ,EAAAA,2BAClCC,EAAqBlJ,EAAYmJ,EAAAA,0BACjClI,EAAUD,IAEVoI,EAAcC,EAAYA,aAAA,IAAW3H,OAAA,OAAA,OAAA,GAAA,YACrC,UACIT,EAAQqI,sBAAsBR,EAEV,CAFU,MAC7BjG,GACPI,EAAYJ,EAAc,cAAA,CAE3B,KAAA,CAAC5B,EAAS6H,EAAqB7F,IAE5BsG,EAAcF,EAAYA,aAAA,IAAW3H,OAAA,OAAA,OAAA,GAAA,YACrC,UACIT,EAAQuI,sBAAsBR,EAEV,CAFU,MAC7BnG,GACPI,EAAYJ,EAAc,cAAA,CAE3B,KAAA,CAAC5B,EAAS+H,EAAqB/F,IAE3B,MAAA,CACL6F,sBACAE,sBACAI,4BAAaF,EAAoBO,OAAQL,OAAc,EACvDG,4BAAaL,EAAoBQ,OAAQH,OAAc,EAAA,8BC9CrD,UAA8BI,QAClCA,EACAC,SAAAA,EAAAC,IACAA,IAMA,MAAMpJ,EAAQI,IAEZU,EAAAA,WAAA,IACEd,EAAMoH,WAAkB1I,IAClB,IAAC0K,EAAIC,QACP,OAEF,MAAMC,EAASH,EAASzK,GACxB,IAAA,MAAW6K,KAAOD,EACZF,EAAAC,QAAQG,MAAMD,GAAOD,EAAOC,EAAA,GAEjCE,EAAqBA,qBAAAP,KAC1B,CAACC,EAAUC,EAAKpJ,EAAOkJ,GAAA,2BCVK,KACxB,MAAAvI,EAAeF,EAAoBiJ,EAAqBA,qBAAAjL,QACvDO,EAAO2K,GAAY9I,EAASA,SAAA,IAC7BL,EAAUD,IAEVqJ,EAAehB,EAAYA,aAAA,IAAW3H,OAAA,OAAA,OAAA,GAAA,kBACpCT,EAAQoJ,cAAA,KACb,CAACpJ,IAQJ,OANAM,EAAAA,WAAU,KACwB,QAA5BH,aAAA,EAAAA,EAAczC,KAAK2L,OACrBF,EAAShJ,aAAY,EAAZA,EAAczC,KAAK4L,QAAA,GAE7B,CAACnJ,IAEG,CAAE3B,QAAO4K,eAAcG,WAAY,IAAMJ,EAAS,IAAA,yBC2B7B,EAC5BjJ,OACAsJ,QAAO,EACPC,UACAzH,cAAcL,MAEd,MAAM3B,EAAUD,IACVD,EAAgBD,IAEtBS,EAAAA,WAAU,KAERN,EAAQ0J,mBAAmB,CAACxJ,GAAA,GAC3B,CAACF,EAASE,IAGbI,EAAAA,WAAU,KACR,IAAKR,EACH,OAaK,OAXaA,EAAcS,gBAA8BJ,IAC9D,MAAMwJ,EAAMxJ,EAAazC,KACrB,GAAAiM,GAAOA,EAAIzJ,OAASA,EAClB,IACF,MAAMxC,EAAO8L,EAAOI,KAAKC,MAAMF,EAAIL,SAAWK,EAAIL,QAClDG,SAAAA,EAAU/L,EAEgB,CAFhB,MACHkE,GACPI,EAAYJ,EAAc,oBAAA,CAAA,GAG7BsH,EAAAA,qBAAqBY,YACjB,GACN,CAAChK,EAAeI,EAAMsJ,EAAMC,EAASzH,IAsBxC,MAAO,CAAE+H,UAnBS3B,EAAAA,aAChB,CAAO1K,EAASsM,IAA4BvJ,OAAA,OAAA,OAAA,GAAA,YACtC,IACI,MAAAwJ,EA5CQ,EAAIvM,EAAS8L,IAAmBA,EAAOI,KAAKM,UAAUxM,GAAQ,IAAOA,EA4CnEyM,CAAiBzM,EAAM8L,GACnCQ,GAAYI,MAAMC,QAAQL,aAAA,EAAAA,EAAUM,iBAChCtK,EAAQuK,iBAAiBN,EAASD,EAASM,UAAWpK,GACvB,8BAAb,EAAR8J,EAAUQ,cACpBxK,EAAQyK,kBAAkBR,EAASD,EAASQ,OAAQtK,SAEpDF,EAAQ0K,qBAAqBT,EAAS/J,GAE9CuJ,SAAAA,EAAU/L,EAEgB,CAFhB,MACHkE,GACPI,EAAYJ,EAAc,kBAAA,CAAA,KAG9B,CAAC5B,EAASgC,EAAayH,EAASvJ,EAAMsJ,IAG/B,qBJ3Ee,CAACxH,EAA+BL,KACxD,MAAM3B,EAAUD,IACV4K,EAAsD5L,EAAY6L,EAAAA,eAClEC,EAAqB9L,EAAY+L,EAAAA,0BACjC7C,EAAqBlJ,EAAYmJ,EAAAA,0BAEjC6C,EAA+C,CAClD,CAAA7E,QAAAA,WAAW8E,aAAcH,EAAmBI,qBAEzCC,EAAmD,CACtD,CAAAhF,QAAAA,WAAW8E,aAAcL,EAAcK,aAGtC/C,EAAmBQ,QACVyC,EAAAhF,QAAAA,WAAWiF,YAAcR,EAAcQ,WAChCJ,EAAA7E,QAAAA,WAAWiF,YAAcN,EAAmBO,oBAE5DnD,EAAmBO,QACV0C,EAAAhF,QAAAA,WAAWmF,YAAcV,EAAcU,WAChCN,EAAA7E,QAAAA,WAAWmF,YAAcR,EAAmBS,oBAwBzD,MAAA,CACLJ,aACAH,oBACAQ,aAxBmBnD,EAAAA,aACnB,EAASoD,aAAYC,cAA4DhL,OAAA,OAAA,OAAA,GAAA,YAC3E,IACM,OAAA+K,GAAA,KACDtF,QAAWA,WAAAmF,iBACRrL,EAAQ0L,iBAAiB,CAAED,aACjC,MAAA,KACGvF,QAAWA,WAAAiF,iBACRnL,EAAQ2L,iBAAiB,CAAEF,aACjC,MAAA,KACGvF,QAAWA,WAAA8E,kBACRhL,EAAQ4L,qBAAqBH,GAIb,CAHtB,MAEG7J,GACPI,EAAYJ,EAAc,gBAAA,CAAA,KAG9B,CAACI,EAAahC,IAMd,sMKvE8B,KAChC,MAAM6L,EAAc9M,EAAY+M,EAAAA,yBAC1BC,EAAkBhN,EAAY8M,EAAcG,EAAcA,YAAAC,EAAAA,mBAC1DC,EAAYnN,EAAYoN,EAAAA,iBACxBC,EAAsBC,EAAAA,SAAQ,KAAMC,OCTfC,EDS4BR,ICRxC3B,MAAMC,QAAQkC,IAA2B,IAAjBA,EAAMrP,OAGtCqP,EAAMxJ,QAAO,CAACyJ,EAAgCC,IAC9CA,EAAKC,UAGLF,EAAIC,EAAKC,YACZF,EAAIC,EAAKC,UAAY,IAEnBF,EAAAC,EAAKC,UAAUpJ,KAAKmJ,GACjBD,GANEA,GAOR,CAAA,GAXM,GAFiB,IAACD,IDS8C,CAACR,IAEnE,MAAA,CAAEY,MADK7P,OAAOG,KAAKmP,GACVA,sBAAqBF,YAAWL,cAAA,0BEwBlBe,UAC9B,MAAMf,EAAc9M,EAAY+M,EAAAA,yBAC1BI,EAAYnN,EAAYoN,EAAAA,iBACxBU,EAAiB9N,EAAY+N,EAAAA,0BAC/B,IAAAf,EAAkBhN,EAAY8M,EAAcG,EAAcA,YAAAC,EAAAA,mBACxD,MAAAc,EAAwB3C,MAAM4C,KAAK,IAAIC,IAAIlB,EAAgBvI,QAAYiJ,EAAKC,aAC5EQ,EAAetN,IASrB,IARsB,QAAlBuN,EAAAP,aAAM,EAANA,EAAQQ,gBAAU,IAAAD,OAAA,EAAAA,EAAAE,gBACFtB,EAAAA,EAAgBuB,QAAcb,GACvCS,EAAavG,SAAS4G,EAAmBA,mBAAAd,EAAKvK,KAAKmL,iBAG1DT,aAAM,EAANA,EAAQY,OAAQX,EAAeY,SAASb,EAAOY,QACjDzB,EAAkBA,EAAgBuB,QAAeb,GAAAA,EAAKC,WAAaE,EAAOY,QAExEZ,eAAAA,EAAQc,OAAQ,CACZ,MAAAA,EAASd,EAAOc,OAAOC,cACX5B,EAAAA,EAAgBuB,QACxBb,IAAA,IAAAmB,EAAA,eAAAA,EAAAnB,EAAKC,+BAAUiB,cAAcF,SAASC,KAAWjB,EAAKoB,KAAKF,cAAcF,SAASC,EAAA,GAAA,CAG9F,MAAO,CAAEI,aAAc/B,EAAiBF,cAAaK,YAAWa,wBAAA,yBCDpC,EAC5Bc,OAAO,GACPE,QACAX,WACApL,cAAcL,EACdqM,eACAC,kBACAC,qCAEA,MAAMlO,EAAUD,IACVoO,EAAYpP,EAAYqP,EAAAA,iBACxBvC,EAAc9M,EAAY+M,EAA4BA,2BAAA,EACtDuC,EAAaF,IAAcG,EAAaA,aAAAC,QAExCC,EAAoBnC,EAAAA,SAAQ,KACzB,CACLoC,SAAUZ,EACVa,UAAWX,EACXY,SAAUvB,EACVwB,yBAAyB,EACzBC,SAAUZ,EACVD,eACAE,oCAED,CAACL,EAAME,EAAOX,EAAUY,EAAcC,EAAiBC,IAEpDY,EAAU1G,EAAYA,aAAA,IAAW3H,OAAA,OAAA,OAAA,GAAA,YACrC,GAAKsN,GAGDI,IAAcG,eAAaS,aAA3B,CAGAlD,UACI7L,EAAQ0H,SAEZ,UACI1H,EAAQ8O,QAAQN,EAEI,CAFJ,MACf5M,GACPI,EAAYJ,EAAc,UAAA,CAR1B,CAQ0B,KAE3B,CAAC5B,EAASgC,EAAa+L,EAAOI,EAAWK,EAAQ3C,IAa7C,MAAA,CACLwC,aACAW,KAbW5G,EAAYA,aAAA,IAAW3H,OAAA,OAAA,OAAA,GAAA,YAClC,GAAKsN,EAGD,UACI/N,EAAQgP,KAAKR,EAEO,CAFP,MACZ5M,GACPI,EAAYJ,EAAc,OAAA,CAAA,KAE3B,CAAC5B,EAASwO,EAAQxM,EAAa+L,IAKhClC,cACAiD,UAAA,gCClHiC,KACnC,MAAMG,EAAYlQ,EAAYmQ,EAAAA,sBACxBC,EAAOpQ,EAAYqQ,EAAAA,iBACnBC,EAAMtQ,EAAYuQ,EAAAA,gBAElBC,EAAsBN,EAAUO,OAAOC,QACvCC,EAAuBT,EAAUU,QAAQF,QACzCG,EAAmBX,EAAUI,IAAII,QAEjCI,EAAgBN,GAAuBG,GAAwBE,EAE9D,MAAA,CACLL,sBACAG,uBACAE,mBACAE,cAPoBT,EAAII,SAAWN,EAAKM,QAQxCM,aAAcV,EAAII,QAClBO,cAAeb,EAAKM,QACpBI,gBAAA,4BZgC6B,CAC/BI,EACAC,EACAlO,EAA+BL,KAE/B,MAAM3B,EAAUD,IACVoQ,EAAapR,EAAYqR,uBAAqBH,IAC9CI,EAAatR,EAAYuR,uBAAqBJ,IAC9CK,EAASxR,EAAYyR,yBAAuBL,eAAAA,EAAYjO,KACxDuO,EAAc1R,EAAY2R,EAAAA,mBAC1BC,gBAAiB,EAAAN,EAAYlO,SAAUsO,aAAW,EAAXA,EAAaG,KAAOH,aAAW,EAAXA,EAAaI,OACxEC,gBAAiB,EAAAX,EAAYhO,SAAUsO,aAAW,EAAXA,EAAaG,KAAOH,aAAW,EAAXA,EAAaI,OAExE1I,EAAcC,EAAYA,aAAA,IAAW3H,OAAA,OAAA,OAAA,GAAA,kBACnCqB,EAAmB9B,EAASmQ,EAAYnO,EAC7C,KAAA,CAAChC,EAASmQ,EAAYnO,IAEnBsG,EAAcF,EAAYA,aAAA,IAAW3H,OAAA,OAAA,OAAA,GAAA,kBACnCqB,EAAmB9B,EAASqQ,EAAYrO,EAC7C,KAAA,CAAChC,EAASgC,EAAaqO,IAEpBU,EAAY3I,eACf4I,IACKb,GACMnQ,EAAA+Q,UAAUC,EAAQb,EAAWjO,GAAA,GAGzC,CAAClC,EAASmQ,IAGL,MAAA,CACLc,kBAAkBd,aAAA,EAAAA,EAAYhO,SAC9B+O,kBAAkBb,aAAA,EAAAA,EAAYlO,SAC9BoO,SACApI,YAAagI,GAAcW,EAAiB3I,OAAc,EAC1DG,YAAoC,aAAb+H,aAAV,EAAAA,EAAYc,SAAwBR,EAAiBrI,OAAc,EAChFyI,UAAWZ,EAAaY,OAAY,EAAA,yBajDV,CAAC/O,EAA+BL,aAC5D,MAAM3B,EAAUD,IACVqR,EAAmBrS,EAAYsS,EAAAA,2BAC/BC,EAAkBvS,EAAYwS,EAAAA,yBAC9BC,EAAczS,EAAY0S,6BAA2BH,eAAAA,EAAiBpP,KAEtEwP,EAAoBtJ,EAAAA,aACxB,CAAOuJ,GAAY,IAASlR,OAAA,OAAA,OAAA,GAAA,YACtB,UACIT,EAAQ4R,uBAAuBR,EAAkBO,EAE7B,CAF6B,MAChD/P,GACPI,EAAYJ,EAAc,oBAAA,CAG9B,KAAA,CAAC5B,EAASoR,EAAkBpP,IAGvB,MAAA,CACLoP,mBACAS,oBAAqBP,aAAA,EAAAA,EAAiBpP,GACtC4P,sBAAuBR,aAAA,EAAAA,EAAiBzD,KACxCkE,wBAA2C,QAAlB5E,EAAAqE,eAAAA,EAAa/I,aAAK,IAAA0E,OAAA,EAAAA,EAAEjL,GAC7C8P,wBAA2C,QAAlBC,EAAAT,eAAAA,EAAahJ,aAAK,IAAAyJ,OAAA,EAAAA,EAAE/P,GAC7CwP,oBAAA,mBC1CoB,EAAGhJ,UAASwJ,SAAQC,YAAY,OACtD,MAAMnS,EAAUD,IACVqS,EAAWC,SAAgC,MAC3CtQ,EAAQhD,EAAYuR,uBAAqB5H,KAEvCE,IAAK0J,EAAWC,OAAAA,GAAWC,YAAU,CAAEL,cAEzCM,EAAUrK,eACbsK,IACKA,IACFN,EAASvJ,QAAU6J,EACTJ,EAAAI,GAAA,GAGd,CAACJ,IAkCH,OA/BAhS,EAAAA,WAAU,KACIG,OAAA,OAAA,OAAA,GAAA,YACN2R,EAASvJ,UAAgB9G,aAAA,EAALA,EAAOG,MACzBqQ,GAAUxQ,EAAMI,UAAsB,IAAX+P,QAEvBlS,EAAQ2S,YAAY5Q,EAAMG,GAAIkQ,EAASvJ,eAGvC7I,EAAQ4S,YAAY7Q,EAAMG,GAAIkQ,EAASvJ,SAAA,GAAA,GAIlD,CAAC7I,EAASuS,EAAQH,EAAUrQ,aAAK,EAALA,EAAOG,GAAIH,aAAA,EAAAA,EAAOI,QAASJ,eAAAA,EAAO8Q,SAAU9Q,aAAK,EAALA,EAAO+Q,QAASZ,IAG3F5R,EAAAA,WAAU,IACD,KACOG,OAAA,OAAA,OAAA,GAAA,YACN,GAAA2R,EAASvJ,SAAW9G,EAClB,UAEI/B,EAAQ4S,YAAY7Q,EAAMG,GAAIkQ,EAASvJ,QAES,CAFT,MACtCjH,GACGrE,EAAA4B,EAAE,+BAAgC4C,EAAMG,GAAIN,EAAA,CAAA,GAAA,GAM7D,IAEI,CAAEwQ,SAAUK,EAAA,uBZIO,EAC1BlG,QACArH,eACAE,cACAD,cACA4N,4BAA4B,MAAM,GAClCzO,cAAc0B,EACdgN,4BAA2B,EAC3BC,UAAU,MAEV,MAAMpP,MAAEA,EAAQ,EAAGC,OAAAA,EAAS,MAAG8E,GAAQsK,EAAAA,oBAIjCC,EDwU+B,EACrC5G,EACA6G,EACAL,EACAC,GAA2B,KAE3B,IAAKzG,IAAU6G,IAAWL,EACjB,MAAA,GAET,MAAMM,EAA6B,GACnC,IAAA,MAAW5G,KAAQF,EAkBjB,QAjB2C,IAApBE,EAAK4D,YAA4B5D,EAAK0D,YAAciD,EAAO3G,EAAK0D,YAErFkD,EAAU/P,KAAK,CAAEmJ,SACRA,EAAK4D,YAAc+C,EAAO3G,EAAK4D,YACxCgD,EAAU/P,KAAK,CAAEvB,MAAOqR,EAAO3G,EAAK4D,YAA8B5D,SACxDuG,GACVK,EAAU/P,KAAK,CAAEmJ,SAGfA,EAAK6G,gBAAgBpW,OAAS,GAC3BuP,EAAA6G,gBAAgBC,SAAkB7K,IACrC,MAAM3G,EAAQqR,EAAO1K,GACD,WAAhB3G,eAAAA,EAAO7B,OAAsC,aAAlB6B,aAAK,EAALA,EAAOoP,SAC1BkC,EAAA/P,KAAK,CAAEvB,QAAO0K,QAAA,IAI1BsG,EAA0BtG,IAASA,EAAK6G,gBAAgBpW,OAAS,EAAG,CACtE,MAAMsW,EAAqB/G,EAAK6G,gBAAgBG,MAAeC,IAC7D,MAAM3R,EAAQqR,EAAOM,GACrB,MAAuB,WAAhB3R,eAAAA,EAAO7B,OAAsC,YAAlB6B,aAAK,EAALA,EAAOoP,OAAW,IAGlDqC,GACFH,EAAU/P,KAAK,CAAEvB,MAAOqR,EAAOI,GAA4C/G,QAAA,CAI1E,OAAA4G,CAAA,EC/WiCM,CACtCpH,EAJY3M,IAEwC+G,SAASiN,EAAAA,iBAI7Db,EACAC,GAEIa,EAAmBxH,EAAAA,SAAQ,KAC/B,GAAI/H,EACK,OAAAA,EAIF,MAAA,CACLT,MDlDA,SAAeiQ,GACf,GAAiB,IAAjBA,EAAM5W,OACD,OAAA,KAET,MAAM6W,EAAkC,CAAA,EACxC,IAAIC,EAAQF,EAAM,GACdzO,EAAW,EACf,IAAA,IAASlI,EAAI,EAAGA,EAAI2W,EAAM5W,OAAQC,IAAK,CACrC,MAAM8W,EAAKH,EAAM3W,GACG,OAAhB4W,EAAQE,GACVF,EAAQE,GAAM,EAENF,EAAAE,KAENF,EAAQE,GAAM5O,IACR2O,EAAAC,EACR5O,EAAW0O,EAAQE,GAAA,CAGhB,OAAAD,CAAA,CAUPE,CCkB6Cf,EDhBxC7F,oBAAgB,iBAAAvL,EAAMA,4BAAO8B,iBAASoO,EAAAlQ,EAAMA,4BAAO+B,OAAA,IACnDN,KAAYzB,YAIH,QAHiB,UAAXA,EAAMA,aAAK,IAAAoL,OAAA,EAAAA,EAAEtJ,QAGV,KAFS,UAAX9B,EAAMA,aAAK,IAAAkQ,OAAA,EAAAA,EAAEnO,SAEK,EAAA,MCcT,EAC1BA,OAAQ,EAAA,GAET,CAACQ,EAAa6O,IACXpO,EAAQoO,EAAejW,QACvBoF,iBACJA,eACAG,EACAC,cAAAA,EAAAC,cACAA,iBACAC,EACAJ,iCAAAA,GACE6J,WACF,IACE8H,EAAqB,CACnBpP,QACAC,YAAa5B,KAAKC,MAAMQ,GACxBoB,aAAc7B,KAAKC,MAAMS,GAAUV,KAAKqC,IAAI3B,EAAQmP,GACpD/N,eACAC,cACAC,cACAd,YAAauP,KAEjB,CAAC9O,EAAOlB,EAAOC,EAAQoB,EAAcC,EAAaC,EAAayO,EAAkBZ,IAwB5E,MAAA,CACLmB,eAvB4B/H,WAC5B,IACEjK,EAA6B,CAC3BC,SAAU8Q,EACV7Q,mBACAC,aAAa,EACbC,mCACAC,eACAC,gBACAC,gBACAC,oBAEJ,CACEuQ,EACA7Q,EACAE,EACAC,EACAC,EACAC,EACAC,IAKFgG,MAAA"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/utils/logger.ts","../node_modules/zustand/esm/shallow.js","../src/primitives/store.ts","../src/utils/isBrowser.ts","../src/primitives/HmsRoomProvider.ts","../../../node_modules/tslib/tslib.es6.js","../src/utils/commons.ts","../src/hooks/useRemoteAVToggle.ts","../src/utils/layout.ts","../src/hooks/useVideoList.ts","../src/hooks/useDevices.ts","../src/hooks/useAVToggle.ts","../src/hooks/useAudioLevelStyles.ts","../src/hooks/useAutoplayError.ts","../src/hooks/useCustomEvent.ts","../src/hooks/useParticipantList.ts","../src/utils/groupBy.ts","../src/hooks/useParticipants.ts","../src/hooks/usePreviewJoin.ts","../src/hooks/useRecordingStreaming.ts","../src/hooks/useScreenShare.ts","../src/hooks/useVideo.ts"],"sourcesContent":[null,"function shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\n\nexport { shallow as default };\n",null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["HMSLogLevel","HMSLogLevel2","shallow","objA","objB","Object","is","keysA","keys","length","i","prototype","hasOwnProperty","call","HMSLogger","static","tag","data","this","log","VERBOSE","DEBUG","INFO","WARN","ERROR","level","valueOf","console","debug","info","warn","error","hooksErrorMessage","isBrowser","window","HMSContext","createContext","providerProps","useHMSStore","hmsContext","selector","equalityFn","w","HMSContextConsumer","useContext","Error","useStore","store","useHMSStatsStore","statsStore","makeHMSStatsStoreHook","useHMSVanillaStore","useHMSVanillaNotifications","notifications","useHMSActions","actions","useHMSNotifications","type","notification","setNotification","useState","useEffect","onNotification","notification2","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","logErrorHandler","err","method","toggleTrackEnabled","track","handleError","setRemoteTrackEnabled","id","enabled","chunkElements","elements","tilesInFirstPage","onlyOnePage","isLastPageDifferentFromFirstPage","defaultWidth","defaultHeight","lastPageWidth","lastPageHeight","chunks","chunkSize","reduce","resultArray","tile","index","chunkIndex","Math","floor","push","chunk","map","ch","page","element","isLastPage","width","height","assign","largestRect","containerWidth","containerHeight","numRects","Number","isInteger","aspectRatio","isNaN","best","area","cols","rows","ceil","width2","height2","count","parentWidth","parentHeight","maxTileCount","maxRowCount","maxColCount","maxCount","tilesinLastPage","initialWidth","initialHeight","min","remWidth","remHeight","getTileSizesWithPageConstraint","sqrt","getTileSizesWithRowConstraint","getTileSizesWithColConstraint","DEFAULTS","DeviceType2","DeviceType","children","stats","isHMSStatsOn","leaveOnUnload","errFn","create","setState","destroy","getState","subscribe","hmsReactiveStore","HMSReactiveStore","getActions","getStore","getNotifications","stats2","getStats","setFrameworkInfo","version","React","sdkVersion","require","addEventListener","leave","createElement","Provider","isLocalAudioEnabled","selectIsLocalAudioEnabled","isLocalVideoEnabled","selectIsLocalVideoEnabled","isAllowedToPublish","selectIsAllowedToPublish","toggleAudio","useCallback","setLocalAudioEnabled","toggleVideo","setLocalVideoEnabled","audio","video","trackId","getStyle","ref","current","styles","key","style","selectTrackAudioByID","HMSNotificationTypes","setError","unblockAudio","code","message","resetError","json","onEvent","ignoreMessageTypes","msg","JSON","parse","NEW_MESSAGE","sendEvent","receiver","dataStr","stringify","stringifyData","Array","isArray","roleNames","sendGroupMessage","peerId","sendDirectMessage","sendBroadcastMessage","sdkAllDevices","selectDevices","sdkSelectedDevices","selectLocalMediaSettings","selectedDeviceIDs","audioOutput","audioOutputDeviceId","allDevices","videoInput","videoInputDeviceId","audioInput","audioInputDeviceId","updateDevice","deviceType","deviceId","setAudioSettings","setVideoSettings","setAudioOutputDevice","isConnected","selectIsConnectedToRoom","participantList","selectPeers","selectRemotePeers","peerCount","selectPeerCount","participantsByRoles","useMemo","groupByRoles","peers","res","peer","roleName","roles","params","availableRoles","selectAvailableRoleNames","rolesWithParticipants","from","Set","vanillaStore","_a","metadata","isHandRaised","filter","selectPeerMetadata","role","includes","search","toLowerCase","_a2","name","participants","token","initEndpoint","initialSettings","captureNetworkQualityInPreview","roomState","selectRoomState","enableJoin","HMSRoomState","Preview","config","userName","authToken","metaData","rememberDeviceSelection","settings","preview","Disconnected","join","recording","selectRecordingState","rtmp","selectRTMPState","hls","selectHLSState","isServerRecordingOn","server","running","isBrowserRecordingOn","browser","isHLSRecordingOn","isRecordingOn","isStreamingOn","isHLSRunning","isRTMPRunning","audioTrackId","videoTrackId","audioTrack","selectAudioTrackByID","videoTrack","selectVideoTrackByID","volume","selectAudioTrackVolume","permissions","selectPermissions","canToggleVideo","mute","unmute","canToggleAudio","setVolume","volume2","isAudioEnabled","isVideoEnabled","source","amIScreenSharing","selectIsLocalScreenShared","screenSharePeer","selectPeerScreenSharing","screenShare","selectScreenSharesByPeerId","toggleScreenShare","setScreenShareEnabled","screenSharingPeerId","screenSharingPeerName","screenShareVideoTrackId","screenShareAudioTrackId","_b","attach","threshold","videoRef","useRef","inViewRef","inView","useInView","setRefs","node","attachVideo","detachVideo","deviceID","plugins","includeScreenShareForPeer","filterNonPublishingPeers","offsetY","useResizeDetector","tracksWithPeer","tracks","peerTiles","auxiliaryTracks","forEach","screenShareTrackID","find","trackID","getVideoTracksFromPeers","selectTracksMap","finalAspectRatio","array","modeMap","maxEl","el","mode","calculateLayoutSizes","pagesWithTiles"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React, { PropsWithChildren } from 'react';
2
- import { HMSStore, HMSActions, HMSNotificationInCallback, HMSNotifications, HMSStatsStore, HMSStats, HMSStoreWrapper, HMSNotificationTypeParam } from '@100mslive/hms-video-store';
2
+ import { HMSActions, HMSNotificationInCallback, HMSNotifications, HMSNotificationTypeParam, HMSStats, HMSStatsStore, HMSStore, HMSStoreWrapper } from '@100mslive/hms-video-store';
3
3
  export interface HMSRoomProviderProps {
4
4
  actions?: HMSActions;
5
5
  store?: HMSStoreWrapper;
@@ -1,2 +1,2 @@
1
- import t,{createContext as e,useEffect as o,useContext as s,useState as r}from"react";import{HMSReactiveStore as n}from"@100mslive/hms-video-store";import i from"zustand";import{makeHMSStoreHook as a,makeHMSStatsStoreHook as c,hooksErrorMessage as f}from"./store.js";import{isBrowser as d}from"../utils/isBrowser.js";const l=e(null);let u;const w=({children:e,actions:s,store:r,notifications:a,stats:c,isHMSStatsOn:f=!1,leaveOnUnload:w=!0})=>{if(!u){const e=()=>{throw new Error("modifying store is not allowed")};if(s&&r)u={actions:s,store:i(Object.assign(Object.assign({},r),{setState:e,destroy:e}))},a&&(u.notifications=a),c&&(u.statsStore=i({getState:c.getState,subscribe:c.subscribe,setState:e,destroy:e}));else{const t=new n;if(u={actions:t.getActions(),store:i(Object.assign(Object.assign({},t.getStore()),{setState:e,destroy:e})),notifications:t.getNotifications()},f){const o=t.getStats();u.statsStore=i({getState:o.getState,subscribe:o.subscribe,setState:e,destroy:e})}}u.actions.setFrameworkInfo({type:"react-web",version:t.version,sdkVersion:require("../../package.json").version})}return o((()=>{d&&w&&(window.addEventListener("beforeunload",(()=>u.actions.leave())),window.addEventListener("onunload",(()=>u.actions.leave())))}),[w]),t.createElement(l.Provider,{value:u},e)},m=a(l),b=c(l),g=()=>{const t=s(l);if(!t)throw new Error(f);return t.store},S=()=>{const t=s(l);if(!t)throw new Error(f);return t.notifications},v=()=>{const t=s(l);if(!t)throw new Error(f);return t.actions},p=t=>{const e=s(l),[n,i]=r(null);if(!e)throw new Error(f);return o((()=>{if(!e.notifications)return;return e.notifications.onNotification((t=>{i(t)}),t)}),[e.notifications,t]),n};export{w as HMSRoomProvider,v as useHMSActions,p as useHMSNotifications,b as useHMSStatsStore,m as useHMSStore,S as useHMSVanillaNotifications,g as useHMSVanillaStore};
1
+ import t,{createContext as e,useEffect as o,useContext as s,useState as r}from"react";import n from"zustand";import{HMSReactiveStore as i}from"@100mslive/hms-video-store";import{makeHMSStoreHook as a,makeHMSStatsStoreHook as c,hooksErrorMessage as f}from"./store.js";import{isBrowser as d}from"../utils/isBrowser.js";const l=e(null);let u;const w=({children:e,actions:s,store:r,notifications:a,stats:c,isHMSStatsOn:f=!1,leaveOnUnload:w=!0})=>{if(!u){const e=()=>{throw new Error("modifying store is not allowed")};if(s&&r)u={actions:s,store:n(Object.assign(Object.assign({},r),{setState:e,destroy:e}))},a&&(u.notifications=a),c&&(u.statsStore=n({getState:c.getState,subscribe:c.subscribe,setState:e,destroy:e}));else{const t=new i;if(u={actions:t.getActions(),store:n(Object.assign(Object.assign({},t.getStore()),{setState:e,destroy:e})),notifications:t.getNotifications()},f){const o=t.getStats();u.statsStore=n({getState:o.getState,subscribe:o.subscribe,setState:e,destroy:e})}}u.actions.setFrameworkInfo({type:"react-web",version:t.version,sdkVersion:require("../../package.json").version})}return o((()=>{d&&w&&(window.addEventListener("beforeunload",(()=>u.actions.leave())),window.addEventListener("onunload",(()=>u.actions.leave())))}),[w]),t.createElement(l.Provider,{value:u},e)},m=a(l),b=c(l),g=()=>{const t=s(l);if(!t)throw new Error(f);return t.store},S=()=>{const t=s(l);if(!t)throw new Error(f);return t.notifications},v=()=>{const t=s(l);if(!t)throw new Error(f);return t.actions},p=t=>{const e=s(l),[n,i]=r(null);if(!e)throw new Error(f);return o((()=>{if(!e.notifications)return;return e.notifications.onNotification((t=>{i(t)}),t)}),[e.notifications,t]),n};export{w as HMSRoomProvider,v as useHMSActions,p as useHMSNotifications,b as useHMSStatsStore,m as useHMSStore,S as useHMSVanillaNotifications,g as useHMSVanillaStore};
2
2
  //# sourceMappingURL=HmsRoomProvider.js.map
@@ -1,6 +1,6 @@
1
- import { EqualityChecker, StateSelector } from 'zustand';
2
1
  import React from 'react';
3
- import { HMSActions, HMSStore, HMSNotifications, HMSStatsStore, IStoreReadOnly } from '@100mslive/hms-video-store';
2
+ import { EqualityChecker, StateSelector } from 'zustand';
3
+ import { HMSActions, HMSNotifications, HMSStatsStore, HMSStore, IStoreReadOnly } from '@100mslive/hms-video-store';
4
4
  export interface IHMSReactStore<S extends HMSStore | HMSStatsStore> extends IStoreReadOnly<S> {
5
5
  <U>(selector: StateSelector<S, U>, equalityFn?: EqualityChecker<U>): U;
6
6
  }
@@ -1,5 +1,5 @@
1
1
  import { EqualityChecker, StateSelector } from 'zustand';
2
- import { HMSStore, IStoreReadOnly, HMSStatsStore } from '@100mslive/hms-video-store';
2
+ import { HMSStatsStore, HMSStore, IStoreReadOnly } from '@100mslive/hms-video-store';
3
3
  export interface IHMSReactStore<S extends HMSStore | HMSStatsStore> extends IStoreReadOnly<S> {
4
4
  <U>(selector: StateSelector<S, U>, equalityFn?: EqualityChecker<U>): U;
5
5
  }
@@ -1,4 +1,4 @@
1
- import { HMSPeer, HMSTrack, HMSTrackID, HMSVideoTrack, HMSScreenVideoTrack } from '@100mslive/hms-video-store';
1
+ import { HMSPeer, HMSScreenVideoTrack, HMSTrack, HMSTrackID, HMSVideoTrack } from '@100mslive/hms-video-store';
2
2
  export declare const chunk: <T>(elements: T[], chunkSize: number, onlyOnePage: boolean) => T[][];
3
3
  interface ChunkElements<T> {
4
4
  elements: T[];
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "main": "dist/index.cjs.js",
5
5
  "module": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
7
- "version": "0.4.7-alpha.0",
7
+ "version": "0.5.0",
8
8
  "author": "100ms",
9
9
  "license": "MIT",
10
10
  "files": [
@@ -24,6 +24,7 @@
24
24
  "devDependencies": {
25
25
  "@rollup/plugin-commonjs": "^21.0.3",
26
26
  "@rollup/plugin-node-resolve": "^13.1.3",
27
+ "@rollup/plugin-replace": "^5.0.1",
27
28
  "@rollup/plugin-typescript": "^8.3.1",
28
29
  "@types/react": "^18.0.8",
29
30
  "react": "^18.1.0",
@@ -35,10 +36,10 @@
35
36
  "react": ">=16.8 <19.0.0"
36
37
  },
37
38
  "dependencies": {
38
- "@100mslive/hms-video-store": "0.6.7-alpha.0",
39
+ "@100mslive/hms-video-store": "0.7.0",
39
40
  "react-intersection-observer": "^8.33.1",
40
41
  "react-resize-detector": "^7.0.0",
41
42
  "zustand": "^3.6.2"
42
43
  },
43
- "gitHead": "1db4a10e361ca20caebe90f41509fce177aa3f49"
44
+ "gitHead": "d5cc829f7c2177b8db707f04b8fe95246167fdcd"
44
45
  }
@@ -1,12 +1,12 @@
1
+ import { useCallback } from 'react';
1
2
  import {
2
3
  selectIsAllowedToPublish,
3
4
  selectIsLocalAudioEnabled,
4
5
  selectIsLocalVideoEnabled,
5
6
  } from '@100mslive/hms-video-store';
6
- import { useCallback } from 'react';
7
+ import { hooksErrHandler } from '../hooks/types';
7
8
  import { useHMSActions, useHMSStore } from '../primitives/HmsRoomProvider';
8
9
  import { logErrorHandler } from '../utils/commons';
9
- import { hooksErrHandler } from '../hooks/types';
10
10
 
11
11
  export interface useAVToggleResult {
12
12
  /**
@@ -1,7 +1,7 @@
1
- import { useHMSActions, useHMSVanillaNotifications } from '../primitives/HmsRoomProvider';
2
1
  import { useCallback, useEffect } from 'react';
3
2
  import { HMSNotificationTypes, HMSPeerID, HMSRoleName } from '@100mslive/hms-video-store';
4
3
  import { hooksErrHandler } from './types';
4
+ import { useHMSActions, useHMSVanillaNotifications } from '../primitives/HmsRoomProvider';
5
5
  import { logErrorHandler } from '../utils/commons';
6
6
 
7
7
  export interface useCustomEventInput<T> {
@@ -1,8 +1,8 @@
1
- import { selectDevices, selectIsAllowedToPublish, selectLocalMediaSettings } from '@100mslive/hms-video-store';
2
1
  import { useCallback } from 'react';
2
+ import { selectDevices, selectIsAllowedToPublish, selectLocalMediaSettings } from '@100mslive/hms-video-store';
3
+ import { hooksErrHandler } from '../hooks/types';
3
4
  import { useHMSActions, useHMSStore } from '../primitives/HmsRoomProvider';
4
5
  import { logErrorHandler } from '../utils/commons';
5
- import { hooksErrHandler } from '../hooks/types';
6
6
 
7
7
  export enum DeviceType {
8
8
  videoInput = 'videoInput',
@@ -1,14 +1,14 @@
1
+ import { useCallback, useMemo } from 'react';
2
+ import { HMSConfig } from '@100mslive/hms-video';
1
3
  import {
4
+ HMSConfigInitialSettings,
2
5
  HMSRoomState,
3
6
  selectIsConnectedToRoom,
4
7
  selectRoomState,
5
- HMSConfigInitialSettings,
6
8
  } from '@100mslive/hms-video-store';
7
- import { useCallback, useMemo } from 'react';
8
- import { useHMSActions, useHMSStore } from '../primitives/HmsRoomProvider';
9
9
  import { hooksErrHandler } from './types';
10
+ import { useHMSActions, useHMSStore } from '../primitives/HmsRoomProvider';
10
11
  import { logErrorHandler } from '../utils/commons';
11
- import { HMSConfig } from '@100mslive/hms-video';
12
12
 
13
13
  export interface usePreviewInput {
14
14
  /**
@@ -1,16 +1,16 @@
1
1
  /* eslint-disable complexity */
2
+ import { useCallback } from 'react';
2
3
  import {
3
4
  HMSActions,
4
5
  HMSTrack,
5
6
  HMSTrackID,
7
+ selectAudioTrackByID,
6
8
  selectAudioTrackVolume,
7
9
  selectPermissions,
8
- selectAudioTrackByID,
9
10
  selectVideoTrackByID,
10
11
  } from '@100mslive/hms-video-store';
11
- import { useHMSActions, useHMSStore } from '../primitives/HmsRoomProvider';
12
- import { useCallback } from 'react';
13
12
  import { hooksErrHandler } from './types';
13
+ import { useHMSActions, useHMSStore } from '../primitives/HmsRoomProvider';
14
14
  import { logErrorHandler } from '../utils/commons';
15
15
 
16
16
  export interface useRemoteAVToggleResult {
@@ -1,13 +1,14 @@
1
- import { hooksErrHandler } from '../hooks/types';
1
+ import { useCallback } from 'react';
2
2
  import {
3
3
  HMSPeerID,
4
+ HMSScreenShareConfig,
4
5
  HMSTrackID,
5
6
  selectIsLocalScreenShared,
6
7
  selectPeerScreenSharing,
7
8
  selectScreenSharesByPeerId,
8
9
  } from '@100mslive/hms-video-store';
10
+ import { hooksErrHandler } from '../hooks/types';
9
11
  import { useHMSActions, useHMSStore } from '../primitives/HmsRoomProvider';
10
- import { useCallback } from 'react';
11
12
  import { logErrorHandler } from '../utils/commons';
12
13
 
13
14
  export interface useScreenShareResult {
@@ -18,7 +19,7 @@ export interface useScreenShareResult {
18
19
  /**
19
20
  * toggle screenshare for the local user, will only be present if the user has the permission to toggle
20
21
  */
21
- toggleScreenShare?: () => void;
22
+ toggleScreenShare?: (config?: HMSScreenShareConfig) => Promise<void>;
22
23
  /**
23
24
  * the id of the peer who is currently screensharing, will only be present if there is a screenshare in the room.
24
25
  * In case of multiple screenshares, the behaviour of which one is picked is not defined.
@@ -55,9 +56,9 @@ export const useScreenShare = (handleError: hooksErrHandler = logErrorHandler):
55
56
  const screenShare = useHMSStore(selectScreenSharesByPeerId(screenSharePeer?.id));
56
57
 
57
58
  const toggleScreenShare = useCallback(
58
- async (audioOnly = false) => {
59
+ async (config?: HMSScreenShareConfig) => {
59
60
  try {
60
- await actions.setScreenShareEnabled(!amIScreenSharing, audioOnly);
61
+ await actions.setScreenShareEnabled(!amIScreenSharing, config);
61
62
  } catch (err) {
62
63
  handleError(err as Error, 'toggleScreenShare');
63
64
  }
@@ -1,6 +1,6 @@
1
- import { selectVideoTrackByID, HMSTrackID } from '@100mslive/hms-video-store';
2
1
  import React, { useCallback, useEffect, useRef } from 'react';
3
2
  import { useInView } from 'react-intersection-observer';
3
+ import { HMSTrackID, selectVideoTrackByID } from '@100mslive/hms-video-store';
4
4
  import { useHMSActions, useHMSStore } from '../primitives/HmsRoomProvider';
5
5
  import HMSLogger from '../utils/logger';
6
6
 
@@ -1,5 +1,7 @@
1
- import { HMSPeer, HMSTrack, HMSTrackID, selectTracksMap } from '@100mslive/hms-video-store';
2
1
  import React, { useMemo } from 'react';
2
+ import { useResizeDetector } from 'react-resize-detector';
3
+ import { HMSPeer, HMSTrack, HMSTrackID, selectTracksMap } from '@100mslive/hms-video-store';
4
+ import { useHMSVanillaStore } from '../primitives/HmsRoomProvider';
3
5
  import {
4
6
  calculateLayoutSizes,
5
7
  chunkElements,
@@ -7,8 +9,6 @@ import {
7
9
  getVideoTracksFromPeers,
8
10
  TrackWithPeer,
9
11
  } from '../utils/layout';
10
- import { useHMSVanillaStore } from '../primitives/HmsRoomProvider';
11
- import { useResizeDetector } from 'react-resize-detector';
12
12
 
13
13
  export interface useVideoListInput {
14
14
  /**
@@ -1,17 +1,17 @@
1
1
  import React, { createContext, PropsWithChildren, useContext, useEffect, useState } from 'react';
2
+ import create from 'zustand';
2
3
  import {
3
- HMSReactiveStore,
4
- HMSStore,
5
4
  HMSActions,
6
5
  HMSNotificationInCallback,
7
6
  HMSNotifications,
8
- HMSStatsStore,
7
+ HMSNotificationTypeParam,
8
+ HMSReactiveStore,
9
9
  HMSStats,
10
+ HMSStatsStore,
11
+ HMSStore,
10
12
  HMSStoreWrapper,
11
- HMSNotificationTypeParam,
12
13
  } from '@100mslive/hms-video-store';
13
- import create from 'zustand';
14
- import { HMSContextProviderProps, makeHMSStoreHook, hooksErrorMessage, makeHMSStatsStoreHook } from './store';
14
+ import { HMSContextProviderProps, hooksErrorMessage, makeHMSStatsStoreHook, makeHMSStoreHook } from './store';
15
15
  import { isBrowser } from '../utils/isBrowser';
16
16
 
17
17
  export interface HMSRoomProviderProps {
@@ -102,7 +102,7 @@ export const HMSRoomProvider: React.FC<PropsWithChildren<HMSRoomProviderProps>>
102
102
  providerProps.actions.setFrameworkInfo({
103
103
  type: 'react-web',
104
104
  version: React.version,
105
- sdkVersion: require('../../package.json').version,
105
+ sdkVersion: process.env.REACT_SDK_VERSION,
106
106
  });
107
107
  }
108
108
 
@@ -1,7 +1,7 @@
1
- import { EqualityChecker, StateSelector } from 'zustand';
2
1
  import React, { useContext } from 'react';
2
+ import { EqualityChecker, StateSelector } from 'zustand';
3
3
  import shallow from 'zustand/shallow';
4
- import { HMSActions, HMSStore, HMSNotifications, HMSStatsStore, IStoreReadOnly } from '@100mslive/hms-video-store';
4
+ import { HMSActions, HMSNotifications, HMSStatsStore, HMSStore, IStoreReadOnly } from '@100mslive/hms-video-store';
5
5
  import HMSLogger from '../utils/logger';
6
6
 
7
7
  export interface IHMSReactStore<S extends HMSStore | HMSStatsStore> extends IStoreReadOnly<S> {
@@ -1,5 +1,5 @@
1
1
  import { EqualityChecker, StateSelector } from 'zustand';
2
- import { HMSStore, IStoreReadOnly, HMSStatsStore } from '@100mslive/hms-video-store';
2
+ import { HMSStatsStore, HMSStore, IStoreReadOnly } from '@100mslive/hms-video-store';
3
3
 
4
4
  export interface IHMSReactStore<S extends HMSStore | HMSStatsStore> extends IStoreReadOnly<S> {
5
5
  <U>(selector: StateSelector<S, U>, equalityFn?: EqualityChecker<U>): U;
@@ -1,5 +1,5 @@
1
- import { hooksErrHandler } from '../hooks/types';
2
1
  import HMSLogger from './logger';
2
+ import { hooksErrHandler } from '../hooks/types';
3
3
 
4
4
  const TAG = 'react-sdk';
5
5
 
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable complexity */
2
2
  /* eslint-disable no-plusplus */
3
3
  /* eslint-disable @typescript-eslint/no-shadow */
4
- import { HMSPeer, HMSTrack, HMSTrackID, HMSVideoTrack, HMSScreenVideoTrack } from '@100mslive/hms-video-store';
4
+ import { HMSPeer, HMSScreenVideoTrack, HMSTrack, HMSTrackID, HMSVideoTrack } from '@100mslive/hms-video-store';
5
5
 
6
6
  export const chunk = <T>(elements: T[], chunkSize: number, onlyOnePage: boolean) =>
7
7
  elements.reduce((resultArray: T[][], tile: T, index: number) => {