@100mslive/react-sdk 0.0.17-alpha.0 → 0.0.18-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/hooks/useAVToggle.js +1 -0
  2. package/dist/hooks/useAVToggle.js.map +1 -0
  3. package/dist/hooks/useAudioLevelStyles.js +1 -0
  4. package/dist/hooks/useAudioLevelStyles.js.map +1 -0
  5. package/dist/hooks/useAutoplayError.js +1 -0
  6. package/dist/hooks/useAutoplayError.js.map +1 -0
  7. package/dist/hooks/useCustomEvent.js +1 -0
  8. package/dist/hooks/useCustomEvent.js.map +1 -0
  9. package/dist/hooks/useDevices.js +1 -0
  10. package/dist/hooks/useDevices.js.map +1 -0
  11. package/dist/hooks/useParticipantList.js +1 -0
  12. package/dist/hooks/useParticipantList.js.map +1 -0
  13. package/dist/hooks/usePreviewJoin.js +1 -0
  14. package/dist/hooks/usePreviewJoin.js.map +1 -0
  15. package/dist/hooks/useRecordingStreaming.js +1 -0
  16. package/dist/hooks/useRecordingStreaming.js.map +1 -0
  17. package/dist/hooks/useRemoteAVToggle.js +1 -0
  18. package/dist/hooks/useRemoteAVToggle.js.map +1 -0
  19. package/dist/hooks/useScreenShare.js +1 -0
  20. package/dist/hooks/useScreenShare.js.map +1 -0
  21. package/dist/hooks/useVideo.js +1 -0
  22. package/dist/hooks/useVideo.js.map +1 -0
  23. package/dist/hooks/useVideoList.js +1 -0
  24. package/dist/hooks/useVideoList.js.map +1 -0
  25. package/dist/index.cjs.js +1 -0
  26. package/dist/index.cjs.js.map +1 -0
  27. package/dist/index.js +1 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/node_modules/tslib/tslib.es6.js +1 -0
  30. package/dist/node_modules/tslib/tslib.es6.js.map +1 -0
  31. package/dist/node_modules/zustand/esm/shallow.js +1 -0
  32. package/dist/node_modules/zustand/esm/shallow.js.map +1 -0
  33. package/dist/primitives/HmsRoomProvider.js +1 -0
  34. package/dist/primitives/HmsRoomProvider.js.map +1 -0
  35. package/dist/primitives/store.js +1 -0
  36. package/dist/primitives/store.js.map +1 -0
  37. package/dist/utils/commons.js +1 -0
  38. package/dist/utils/commons.js.map +1 -0
  39. package/dist/utils/groupBy.js +1 -0
  40. package/dist/utils/groupBy.js.map +1 -0
  41. package/dist/utils/isBrowser.js +1 -0
  42. package/dist/utils/isBrowser.js.map +1 -0
  43. package/dist/utils/layout.js +1 -0
  44. package/dist/utils/layout.js.map +1 -0
  45. package/dist/utils/logger.js +1 -0
  46. package/dist/utils/logger.js.map +1 -0
  47. package/package.json +6 -5
  48. package/src/hooks/types.ts +6 -0
  49. package/src/hooks/useAVToggle.ts +62 -0
  50. package/src/hooks/useAudioLevelStyles.ts +37 -0
  51. package/src/hooks/useAutoplayError.ts +41 -0
  52. package/src/hooks/useCustomEvent.ts +85 -0
  53. package/src/hooks/useDevices.ts +93 -0
  54. package/src/hooks/useParticipantList.ts +27 -0
  55. package/src/hooks/usePreviewJoin.ts +132 -0
  56. package/src/hooks/useRecordingStreaming.ts +34 -0
  57. package/src/hooks/useRemoteAVToggle.ts +101 -0
  58. package/src/hooks/useScreenShare.ts +76 -0
  59. package/src/hooks/useVideo.ts +77 -0
  60. package/src/hooks/useVideoList.ts +162 -0
  61. package/src/index.ts +40 -0
  62. package/src/primitives/HmsRoomProvider.ts +203 -0
  63. package/src/primitives/store.ts +59 -0
  64. package/src/primitives/types.ts +6 -0
  65. package/src/utils/commons.ts +14 -0
  66. package/src/utils/groupBy.ts +29 -0
  67. package/src/utils/isBrowser.ts +1 -0
  68. package/src/utils/layout.ts +466 -0
  69. package/src/utils/logger.ts +62 -0
@@ -1 +1,2 @@
1
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};
2
+ //# sourceMappingURL=useAVToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAVToggle.js","sources":["../../src/hooks/useAVToggle.ts"],"sourcesContent":[null],"names":["useAVToggle","handleError","logErrorHandler","actions","useHMSActions","useCallback","__awaiter","isLocalAudioEnabled","err","toggleVideo","setLocalVideoEnabled","isLocalVideoEnabled","toggleAudio","isAllowedToPublish","audio","video"],"mappings":"+WA4BA,MAAAA,EAAA,CAAAC,EAAAC,gCAIGC,EAAAC,MACqBC,GAAmC,IAAAC,OAAA,cAAsC,GAAA,YAC/F,kCAC4BC,GAC5B,SACAN,EAAaO,EAAgB,uBAGvBD,EAAAN,IACFQ,KAAc,IAAAH,OAAsB,OAAA,OAAA,GAAqB,YAC1D,UAACH,EAAYO,sBAAAC,GACZ,MAAAH,GACDP,EAAAO,EAAA,oBAGH,CAAAL,EAAiBQ,YACX,CACFJ,oBAAAA,EACDI,oBAAAA,EAACC,aAAUC,MAAAA,OAAE,EAAAA,EAAAC,OAAAF,OAAA,EACZH,aAAAI,MAAAA,OAAyC,EAAAA,EAAAE,OAAAN,OAAA"}
@@ -1 +1,2 @@
1
1
  import{useEffect as r}from"react";import{selectTrackAudioByID as t}from"@100mslive/hms-video-store";import{useHMSVanillaStore as o}from"../primitives/HmsRoomProvider.js";function e({trackId:e,getStyle:i,ref:s}){const m=o();r((()=>m.subscribe((r=>{if(!s.current)return;const t=i(r);for(const r in t)s.current.style[r]=t[r]}),t(e))),[i,s,m,e])}export{e as useAudioLevelStyles};
2
+ //# sourceMappingURL=useAudioLevelStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAudioLevelStyles.js","sources":["../../src/hooks/useAudioLevelStyles.ts"],"sourcesContent":[null],"names":["useAudioLevelStyles","trackId","getStyle","ref","current","style","key","styles","selectTrackAudioByID","store"],"mappings":"0KAIA,SAAAA,GAAAC,QAAAA,EAAAC,SAAAA,EAAAC,IAAAA,2FAQGA,EAAAC,QAAAC,MAAAC,GAAAC,EAAAD,KAUDE,EAAgCP,KAAA,CAAEC,EAACC,EAAAM,EAAAR"}
@@ -1 +1,2 @@
1
1
  import{__awaiter as o}from"../node_modules/tslib/tslib.es6.js";import{useState as r,useCallback as i,useEffect as e}from"react";import{HMSNotificationTypes as t}from"@100mslive/hms-video-store";import{useHMSNotifications as s,useHMSActions as d}from"../primitives/HmsRoomProvider.js";const m=()=>{const m=s(t.ERROR),[l,n]=r(""),u=d(),v=i((()=>o(void 0,void 0,void 0,(function*(){yield u.unblockAudio()}))),[u]);return e((()=>{3008===(null==m?void 0:m.data.code)&&n(null==m?void 0:m.data.message)}),[m]),{error:l,unblockAudio:v,resetError:()=>n("")}};export{m as useAutoplayError};
2
+ //# sourceMappingURL=useAutoplayError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAutoplayError.js","sources":["../../src/hooks/useAutoplayError.ts"],"sourcesContent":[null],"names":["useAutoplayError","unblockAudio","useCallback","__awaiter","actions","notification","data","code","setError","message","error","resetError"],"mappings":"4RAmBA,MAAAA,EAAA,0CAIGC,EAAAC,GAAA,IAAAC,OAAA,OAAA,OAAA,GAAA,kBACIC,EAAsBH,mBACrB,CAAAG,cACM,KACoB,QAAhCC,MAAAA,OAAgC,EAAAA,EAAAC,KAAAC,OAEhCC,EAAkBH,MAAAA,OAA0B,EAAAA,EAAAC,KAAAG,WAE3C,CAAAJ,IAEQ,CAAAK,MAAAA,EAAMT,aAAAA,EAAAU,WAAA,IAAAH,EAAA"}
@@ -1 +1,2 @@
1
1
  import{__awaiter as o}from"../node_modules/tslib/tslib.es6.js";import{useHMSActions as t,useHMSVanillaNotifications as e}from"../primitives/HmsRoomProvider.js";import{useEffect as s,useCallback as r}from"react";import{HMSNotificationTypes as n}from"@100mslive/hms-video-store";import{logErrorHandler as i}from"../utils/commons.js";const m=({type:m,onEvent:d,handleError:a=i})=>{const c=t(),l=e();s((()=>{c.ignoreMessageTypes([m])}),[c,m]),s((()=>{if(!l)return;return l.onNotification((o=>{const t=o.data;if(t&&t.type===m)try{const o=JSON.parse(t.message);null==d||d(o)}catch(o){a(o,"handleCustomEvent")}}),n.NEW_MESSAGE)}),[l,m,d,a]);return{sendEvent:r((t=>o(void 0,void 0,void 0,(function*(){try{const o=JSON.stringify(t||"");yield c.sendBroadcastMessage(o,m),null==d||d(t)}catch(o){a(o,"sendCustomEvent")}}))),[c,a,d,m])}};export{m as useCustomEvent};
2
+ //# sourceMappingURL=useCustomEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCustomEvent.js","sources":["../../src/hooks/useCustomEvent.ts"],"sourcesContent":[null],"names":["useCustomEvent","type","onEvent","handleError","logErrorHandler","actions","ignoreMessageTypes","useEffect","notifications","onNotification","notification","msg","data","parse","message","err","NEW_MESSAGE","useCallback","__awaiter","dataStr","JSON","stringify","sendBroadcastMessage"],"mappings":"2UAgCA,MAAAA,EAAA,EAAAC,KAAAA,EAAAC,QAAAA,EAAAC,YAAAA,EAAAC,gCAIGC,EAAAC,mBAAA,CAAAL,MACH,CAAMI,EAAqBJ,IAKzBM,GAAa,KACb,IAAAC,EAES,cAEmBA,EAAMC,gBAAGC,UACjCC,EAAaD,EAAGE,KAE2B,GAAAD,GAAAA,EAAAV,OAAAA,EACtC,IACH,aAAgBY,MAAAF,EAAAG,kBACXZ,EAAAU,GACR,MAAAG,GACKZ,EAAAY,4BAGEC,eAEF,CAAAR,EAAAP,EAAOC,MAUf,MAAA,WATOe,GAAAL,GAAAM,OAAA,OAAA,OAAA,GAAA,YAAC,IACA,MAAAC,EAAAC,KAAAC,UAA0BT,GAAA,UAC3BP,EAAAiB,qBAAAH,EAAAlB,GACFC,MAAAA,GAAAA,EAAAU,GACH,MAAGG,GACHZ,4BAGyD,CAAAE,EAAAF,EAAAD,EAAAD"}
@@ -1 +1,2 @@
1
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:c.setAudioOutputDevice(t)}}catch(e){a(e,"updateDevices")}}))),[a,c])}};export{v as DeviceType,c as useDevices};
2
+ //# sourceMappingURL=useDevices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDevices.js","sources":["../../src/hooks/useDevices.ts"],"sourcesContent":[null],"names":["DeviceType","DeviceType2","useDevices","handleError","logErrorHandler","allDevices","videoInput","sdkAllDevices","selectedDeviceIDs","sdkSelectedDevices","videoInputDeviceId","isAllowedToPublish","audio","audioInput","audioInputDeviceId","useCallback","deviceType","deviceId","__awaiter","actions","setAudioSettings","setVideoSettings","audioOutput","setAudioOutputDevice","err"],"mappings":"kWAMM,IAAAA,EAANC,GAAAA,EAAYD,IAAAA,EAIX,KAHC,WAAA,aACAC,EAAA,WAAA,aACAA,EAAA,YAAA,cAsBF,MAAAC,EAAA,CAAAC,EAAAC,4HAYGC,EAAAL,EAAAM,YAAAC,EAAAD,WACGE,EAAiBR,EAAmCM,YAAAG,EAAqCC,oBAE7FC,EAA4DC,QAC5DP,gBAA2BE,EAAYM,WACvCL,IAA2BK,YAAYJ,EAAAK,yEAGzBC,GAAc,EAAAC,WAAAA,EAAAC,SAAAA,KAAsCC,OAAA,OAAA,OAAA,GAAA,gBAElE,UACE,OAAYL,iBACZM,EAAAC,iBAAA,CAAAH,SAAAA,IAEE,MACF,KAAUjB,mBACOmB,EAAAE,iBAAY,CAAAJ,SAAAA,IAC9B,MACG,KAAAjB,EAAAsB,YACQH,EAAAI,qBAAYN,IAIlB,MAAAO,KAEEA,EAAA,yBAEKL"}
@@ -1 +1,2 @@
1
1
  import{useMemo as o}from"react";import{selectIsConnectedToRoom as r,selectPeers as t,selectRemotePeers as e,selectPeerCount as s}from"@100mslive/hms-video-store";import{useHMSStore as i}from"../primitives/HmsRoomProvider.js";import{groupByRoles as m}from"../utils/groupBy.js";const p=()=>{const p=i(r),n=i(p?t:e),c=i(s),f=o((()=>m(n)),[n]);return{roles:Object.keys(f),participantsByRoles:f,peerCount:c,isConnected:p}};export{p as useParticipantList};
2
+ //# sourceMappingURL=useParticipantList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useParticipantList.js","sources":["../../src/hooks/useParticipantList.ts"],"sourcesContent":[null],"names":["useParticipantList","isConnected","useHMSStore","selectIsConnectedToRoom","participantList","selectPeers","selectRemotePeers","peerCount","selectPeerCount","participantsByRoles","useMemo","roles","keys"],"mappings":"oRAmBA,MAAMA,EAAyB,KAC7B,MAAAC,EAAoBC,EAAAC,GACpBC,EAAqBF,EAAcD,EAAaI,EAAcC,GAC9DC,EAAkBL,EAAAM,GAClBC,EAA4BC,GAAA,MAAcN,IAA6B,CAAEA,UAElE,CAAAO,aADaC,QACNH,oBAAAA,EAAqBF,UAAAA,EAAWN,YAAAA"}
@@ -1 +1,2 @@
1
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 c=({name:c="",token:d,metadata:v,handleError:l=a,initEndpoint:p,initialSettings:u,captureNetworkQualityInPreview:f})=>{const w=m(),j=s(i),y=s(t)||!1,h=j===o.Preview,b=r((()=>({userName:c,authToken:d,metaData:v,rememberDeviceSelection:!0,settings:u,initEndpoint:p,captureNetworkQualityInPreview:f})),[c,d,v,p,u,f]),k=n((()=>{e(void 0,void 0,void 0,(function*(){if(d&&j===o.Disconnected){y&&(yield w.leave());try{yield w.preview(b)}catch(e){l(e,"preview")}}}))}),[w,l,d,j,b,y]);return{enableJoin:h,join:n((()=>{if(d)try{w.join(b)}catch(e){l(e,"join")}}),[w,b,l,d]),isConnected:y,preview:k}};export{c as usePreviewJoin};
2
+ //# sourceMappingURL=usePreviewJoin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePreviewJoin.js","sources":["../../src/hooks/usePreviewJoin.ts"],"sourcesContent":[null],"names":["usePreviewJoin","name","token","metadata","handleError","logErrorHandler","initEndpoint","initialSettings","captureNetworkQualityInPreview","config","useMemo","userName","authToken","metaData","rememberDeviceSelection","settings","preview","useCallback","__awaiter","roomState","HMSRoomState","Disconnected","leave","err","isConnected","join"],"mappings":"oWA+DA,MAAAA,EAAA,EAAAC,KAAAA,EAAA,GAAAC,MAAAA,EAAAC,SAAAA,EAAAC,YAAAA,EAAAC,EAAAC,aAAAA,EAAAC,gBAAAA,EAAAC,+BAAAA,oDAKGC,EAAAC,GAAA,KACU,CASXC,SAAaV,EACbW,YACMC,SAAAV,EACNW,yBAAmB,EAEnBC,SAAYR,iBAERC,+BAAAA,KAEA,CAAAP,EAAAC,EAAAC,EAAkBG,EAAAC,EAAAC,IAClBQ,EAAAC,GAAA,KACAC,cAAyB,OAAA,GAAA,YACzB,GAAAhB,GAGIiB,IAASC,EAAUC,aAAxB,aAKUC,SAET,YACSN,QAAAP,GACR,MAAAc,GACDnB,yBAGIA,EAAAF,EAAAiB,EAAAV,EAAAe,IAWL,MAAA,cAECC,KAZER,QACD,GAAAf,EAEA,MACEuB,KAAAhB,GACJ,MAAQc,GAEXnB,EAAwBmB,EAAA,cAEbd,EAAAL,EAAAF,IAIRsB,YAAAA,EAACR,QAAAA"}
@@ -1 +1,2 @@
1
1
  import{selectRecordingState as n,selectRTMPState as r,selectHLSState as i}from"@100mslive/hms-video-store";import{useHMSStore as s}from"../primitives/HmsRoomProvider.js";const e=()=>{const e=s(n),o=s(r),g=s(i),m=e.server.running,u=e.browser.running,t=e.hls.running,R=m||u||t;return{isServerRecordingOn:m,isBrowserRecordingOn:u,isHLSRecordingOn:t,isStreamingOn:g.running||o.running,isHLSRunning:g.running,isRTMPRunning:o.running,isRecordingOn:R}};export{e as useRecordingStreaming};
2
+ //# sourceMappingURL=useRecordingStreaming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRecordingStreaming.js","sources":["../../src/hooks/useRecordingStreaming.ts"],"sourcesContent":[null],"names":["useRecordingStreaming","recording","useHMSStore","selectRecordingState","rtmp","selectRTMPState","hls","selectHLSState","isServerRecordingOn","server","running","isBrowserRecordingOn","browser","isHLSRecordingOn","isRecordingOn"],"mappings":"0KAaA,MAAMA,EAA4B,KAChC,MAAAC,EAAkBC,EAAAC,GAClBC,EAAaF,EAAAG,GACbC,EAAYJ,EAAAK,GAEZC,EAA4BP,EAAAQ,OAAgBC,QAC5CC,EAA6BV,EAAAW,QAAiBF,QAC9CG,EAAyBZ,EAAAK,IAAaI,QAEtCI,EAAsBN,MAA2CK,QAE1D,iFAHkBH,SAAYN,EAAAM,qBAQvBJ,EAAEI,sBACDN,EAAMM"}
@@ -1 +1,2 @@
1
1
  import{__awaiter as o}from"../node_modules/tslib/tslib.es6.js";import{selectTrackByID as i,selectAudioTrackVolume as e,selectPermissions as d}from"@100mslive/hms-video-store";import{useHMSActions as l,useHMSStore as n}from"../primitives/HmsRoomProvider.js";import{useCallback as t}from"react";import{logErrorHandler as u}from"../utils/commons.js";const m=(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")}})),v=(v,r,s=u)=>{const a=l(),c=n(i(v)),b=n(i(r)),f=n(e(null==c?void 0:c.id)),g=n(d),p=(null==b?void 0:b.enabled)?null==g?void 0:g.mute:null==g?void 0:g.unmute,y=(null==c?void 0:c.enabled)?null==g?void 0:g.mute:null==g?void 0:g.unmute,V=t((()=>o(void 0,void 0,void 0,(function*(){yield m(a,c,s)}))),[a,c,s]),j=t((()=>o(void 0,void 0,void 0,(function*(){yield m(a,b,s)}))),[a,s,b]),E=t((o=>{c&&a.setVolume(o,c.id)}),[a,c]);return{isAudioEnabled:!!(null==c?void 0:c.enabled),isVideoEnabled:!!(null==b?void 0:b.enabled),volume:f,toggleAudio:c&&y?V:void 0,toggleVideo:"regular"===(null==b?void 0:b.source)&&p?j:void 0,setVolume:c?E:void 0}};export{v as useRemoteAVToggle};
2
+ //# sourceMappingURL=useRemoteAVToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRemoteAVToggle.js","sources":["../../src/hooks/useRemoteAVToggle.ts"],"sourcesContent":[null],"names":["toggleTrackEnabled","actions","__awaiter","track","setRemoteTrackEnabled","id","enabled","err","handleError","useRemoteAVToggle","audioTrackId","videoTrackId","logErrorHandler","useHMSActions","audioTrack","useHMSStore","selectTrackByID","toggleAudio","useCallback","toggleVideo","videoTrack","setVolume","volume2","isAudioEnabled","volume","canToggleAudio","source","canToggleVideo"],"mappings":"2VAYA,MAAAA,EAA0B,CAAAC,QAAyBC,OAAA,OAAA,OAAA,GAAA,YA6B7C,GAAAC,EAKJ,UACMF,EAAAG,sBAAAD,EAAAE,IAAAF,EAAAG,SACF,MAAAC,GACDC,EAAAD,EAAA,oBAGFE,EAAA,CAAAC,EAAAC,EAAAH,EAAAI,KACF,MAACX,EAAAY,IAEFC,EAAAC,EAAAC,EAAAN,uMAMGO,EAAAC,GAAA,IAAAhB,OAAA,OAAA,OAAA,GAAA,kBACIF,EAAuBC,EAC5Ba,EACAN,OAGA,CAAAP,EAAaa,EAAgBN,IACvBW,KAAwB,WAAgB,OAAC,OAAe,GAAA,kBACxDnB,EAAwBC,IAAgBO,OAC9C,CAAAP,EAAYO,EAAcY,IAC1BC,KAAoBC,IACpBR,GACAb,EAAoBoB,UAAAC,EAAGR,EAAAT,SAGfS,UACJ,CAEJS,kBAAiBT,MAAAA,OAA0B,EAAAA,EAAAR,2BACnCc,MAAAA,OAAqD,EAAAA,EAAAd,SAC7DkB,OAAAA,EAEAP,eAAkBQ,EACGR,OAAA,EACjBE,YAAgB,0BAAA,EAAAC,EAAAM,SAAAC,EAAAR,OAAA,YACPL,SAA6B"}
@@ -1 +1,2 @@
1
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};
2
+ //# sourceMappingURL=useScreenShare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScreenShare.js","sources":["../../src/hooks/useScreenShare.ts"],"sourcesContent":[null],"names":["useScreenShare","handleError","logErrorHandler","actions","setScreenShareEnabled","amIScreenSharing","audioOnly","err","screenSharingPeerId","screenSharePeer","id","name","_a","screenShare","video","screenShareAudioTrackId","_b","audio","toggleScreenShare"],"mappings":"+WAyCA,MAAAA,EAAA,CAAAC,EAAAC,8HAQGC,EAAAC,uBAAAC,EAAAC,GACG,MAAOC,iCAEX,CAAAJ,IAAyBF,IACzB,MAAA,CACAI,iBAAAA,EAEAG,oBAAMC,MAAAA,OACwB,EAAAA,EAAAC,yBACtBD,MAAAA,OAAA,EAAAA,EAAAE,6BACgE,QAA/BC,EAAAC,MAAAA,OAA+B,EAAAA,EAAAC,aAAA,IAAAF,OAAA,EAAAA,EAAAF,GACnEK,wBAAA,QAAAC,EAAAH,MAAAA,OAAA,EAAAA,EAAAI,aAAA,IAAAD,OAAA,EAAAA,EAAAN,GAACQ,kBAAAA"}
@@ -1 +1,2 @@
1
1
  import{__awaiter as i}from"../node_modules/tslib/tslib.es6.js";import{selectTrackByID 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 n,useHMSStore as l}from"../primitives/HmsRoomProvider.js";import c from"../utils/logger.js";const s=({trackId:s,attach:v})=>{const m=n(),u=r(null),a=l(o(s)),{ref:f,inView:h}=d({threshold:.5}),p=e((i=>{i&&(u.current=i,f(i))}),[f]);return t((()=>{i(void 0,void 0,void 0,(function*(){u.current&&(null==a?void 0:a.id)&&(h&&a.enabled&&!1!==v?yield m.attachVideo(a.id,u.current):yield m.detachVideo(a.id,u.current))}))}),[m,h,u,null==a?void 0:a.id,null==a?void 0:a.enabled,null==a?void 0:a.deviceID,null==a?void 0:a.plugins,v]),t((()=>()=>{i(void 0,void 0,void 0,(function*(){if(u.current&&a)try{yield m.detachVideo(a.id,u.current)}catch(i){c.w("detach video error for track",a.id,i)}}))}),[]),{videoRef:p}};export{s as useVideo};
2
+ //# sourceMappingURL=useVideo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVideo.js","sources":["../../src/hooks/useVideo.ts"],"sourcesContent":[null],"names":["useVideo","trackId","attach","setRefs","useCallback","node","videoRef","current","inViewRef","useEffect","__awaiter","track","id","inView","enabled","actions","attachVideo","detachVideo","deviceID","plugins","err","HMSLogger","w"],"mappings":"uWAqBA,MAAAA,EAAA,EAAAC,QAAAA,EAAAC,OAAAA,yEAKGC,EAAAC,GAAAC,IACUA,IACXC,EAAaC,QAAgBF,EAC7BG,QAGA,CAAAA,IA8BM,OA5BNC,QAEIC,OAAU,OAAA,OAAA,GAAA,YACRJ,EAAAC,UAAmBI,MAAAA,OAAK,EAAAA,EAAAC,MACxBC,GAAUF,EAAMG,UAAA,IAAAZ,QACjBa,EAAAC,YAAAL,EAAAC,GAAAN,EAAAC,iBAKUU,YAAAN,EAAAC,GAAAN,EAAAC,oBAI2BD,EAAAK,MAAAA,OAAA,EAAAA,EAAAC,GAAAD,MAAAA,OAAA,EAAAA,EAAAG,QAAAH,MAAAA,OAAA,EAAAA,EAAAO,SAAAP,MAAAA,OAAA,EAAAA,EAAAQ,QAAAjB,IAClCO,GAAA,IACD,KAAMC,OAAA,OAAA,OAAA,GAAA,iBACqBH,SAAAI,EAC1B,UACDI,EAAAE,YAAAN,EAAAC,GAAAN,EAAAC,SACF,MAAAa,GACDC,EAAGC,EAAA,+BAAAX,EAAAC,GAAAQ,SAMH,IACE,CAAAd,SAAYH"}
@@ -1 +1,2 @@
1
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};
2
+ //# sourceMappingURL=useVideoList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVideoList.js","sources":["../../src/hooks/useVideoList.ts"],"sourcesContent":[null],"names":["DEFAULTS","width","height","useVideoList","peers","maxTileCount","maxColCount","maxRowCount","includeScreenShareForPeer","aspectRatio","filterNonPublishingPeers","offsetY","finalAspectRatio","useMemo","getModeAspectRatio","tracksWithPeer","count","length","tilesInFirstPage","defaultHeight","lastPageWidth","lastPageHeight","isLastPageDifferentFromFirstPage","calculateLayoutSizes","Math","floor","min","chunkElements","elements"],"mappings":"+VAsEA,MAAMA,EACO,CACTC,MAAA,EACAC,OAAA,GAIJC,EAAA,EAAAC,MAAAA,EAAAC,aAAAA,EAAAC,YAAAA,EAAAC,YAAAA,EAAAC,0BAAAA,EAAA,MAAA,GAAAC,YAAAA,EAAAT,EAAAU,yBAAAA,GAAA,EAAAC,QAAAA,EAAA,2EAKGC,EAAAC,GAAA,KACH,GAAaJ,EAUX,OAAQA,EAGR,MAAM,CACNR,MAF2Fa,EAAAC,IAE5B,EAM/Db,OAAsB,KAElB,CAAAO,EAAOM,IACRC,EAAAD,EAAAE,QACDC,iBAAAA,iBAAwBC,cAAAA,EAAmBC,cAAAA,EAAgBC,eAAAA,EAAAC,iCAAAA,GAAAT,GAAA,IAAAU,EAAA,qBAEpDC,KAAAC,MAAAxB,gBACAuB,KAAiBC,MAAAvB,GAAKsB,KAAAE,IAAAxB,EAAAS,GAC3BN,aAAAA,gBAEJC,YAAAA,EACAG,YAAWG,KACL,CAAAI,MAEJX,IACaC,IAEbK,UA4BgB,gBAvBPE,GAAA,IAAAc,EAAA,CACLC,SAAAb,EACAG,iBAAAA,eACY,oDAGZC,cAAAA,EACDC,cAAAA,EAGLC,eAAAA,KAGM,GAEAH"}
package/dist/index.cjs.js CHANGED
@@ -14,3 +14,4 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
15
  ***************************************************************************** */
16
16
  function E(e,t,i,o){return new(i||(i=Promise))((function(n,r){function a(e){try{u(o.next(e))}catch(e){r(e)}}function s(e){try{u(o.throw(e))}catch(e){r(e)}}function u(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,s)}u((o=o.apply(e,t||[])).next())}))}const x=(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")}})),R=({elements:e,tilesInFirstPage:t,onlyOnePage:i,isLastPageDifferentFromFirstPage:o,defaultWidth:n,defaultHeight:r,lastPageWidth:a,lastPageHeight:s})=>{const u=((e,t,i)=>e.reduce(((e,o,n)=>{const r=Math.floor(n/t);return r>0&&i||(e[r]||(e[r]=[]),e[r].push(o)),e}),[]))(e,t,i);return u.map(((e,t)=>e.map((e=>{const i=t===u.length-1,l=o&&i?a:n,c=o&&i?s:r;return Object.assign(Object.assign({},e),{height:c,width:l})}))))};const I=(e,t,i,o,n)=>{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 r=o&&n&&o/n;if(void 0!==r&&isNaN(r))throw new Error("Aspect ratio must be a number");let a={area:0,cols:0,rows:0,width:0,height:0};if(void 0!==r)for(let o=i;o>0;o+=-1){const n=Math.ceil(i/o);let s,u;e/(o*r)<=t/n?(s=e/o,u=s/r):(u=t/n,s=u*r);const l=s*u;l>a.area&&(a={area:l,width:s,height:u,rows:n,cols:o})}return a};function M({count:e,parentWidth:t,parentHeight:i,maxTileCount:o,maxRowCount:n,maxColCount:r,aspectRatio:a}){let s=0,u=0,l=0,c=0,d=!1,h=0;if(0===e)return{tilesInFirstPage:h,defaultWidth:s,defaultHeight:u,lastPageWidth:l,lastPageHeight:c,isLastPageDifferentFromFirstPage:d};if(o)({tilesInFirstPage:h,defaultWidth:s,defaultHeight:u,lastPageWidth:l,lastPageHeight:c,isLastPageDifferentFromFirstPage:d}=(({parentWidth:e,parentHeight:t,count:i,maxCount:o,aspectRatio:n})=>{let r=0,a=0,s=0,u=0,l=!1,c=0,d=0;const{width:h,height:g}=I(e,t,Math.min(i,o),n.width,n.height);if(r=h,a=g,c=Math.min(i,o),d=i%o,l=d>0&&i>o,l){const{width:i,height:o}=I(e,t,d,n.width,n.height);s=i,u=o}return{tilesInFirstPage:c,defaultWidth:r,defaultHeight:a,lastPageWidth:s,lastPageHeight:u,isLastPageDifferentFromFirstPage:l}})({parentWidth:t,parentHeight:i,count:e,maxCount:o,aspectRatio:a}));else if(n)({tilesInFirstPage:h,defaultWidth:s,defaultHeight:u,lastPageWidth:l,lastPageHeight:c,isLastPageDifferentFromFirstPage:d}=(({parentWidth:e,parentHeight:t,count:i,maxCount:o,aspectRatio:n})=>{let r=0,a=0,s=0,u=0,l=!1,c=0,d=0;const h=Math.min(Math.ceil(Math.sqrt(i*(n.width/n.height)/(e/t))),o),g=t/h,f=g*(n.width/n.height),v=Math.floor(e/f);if(r=f,a=g,c=Math.min(i,h*v),d=i%(h*v),l=d>0&&i>h*v,l){const i=t/Math.min(Math.ceil(Math.sqrt(d*(n.width/n.height)/(e/t))),o);u=i,s=i*(n.width/n.height)}return{tilesInFirstPage:c,defaultWidth:r,defaultHeight:a,lastPageWidth:s,lastPageHeight:u,isLastPageDifferentFromFirstPage:l}})({parentWidth:t,parentHeight:i,count:e,maxCount:n,aspectRatio:a}));else if(r)({tilesInFirstPage:h,defaultWidth:s,defaultHeight:u,lastPageWidth:l,lastPageHeight:c,isLastPageDifferentFromFirstPage:d}=(({parentWidth:e,parentHeight:t,count:i,maxCount:o,aspectRatio:n})=>{let r=0,a=0,s=0,u=0,l=!1,c=0,d=0;const h=Math.min(Math.ceil(Math.sqrt(i*(e/t)/(n.width/n.height))),o);let g=e/h,f=g/(n.width/n.height);f>t&&(f=t,g=f/(n.height/n.width));const v=Math.floor(t/f);if(a=f,r=g,c=Math.min(i,v*h),d=i%(v*h),l=d>0&&i>v*h,l){let i=e/Math.min(Math.ceil(Math.sqrt(d*(e/t)/(n.width/n.height))),o),r=i/(n.width/n.height);r>t&&(r=t,i=r/(n.height/n.width)),u=r,s=i}return{tilesInFirstPage:c,defaultWidth:r,defaultHeight:a,lastPageWidth:s,lastPageHeight:u,isLastPageDifferentFromFirstPage:l}})({parentWidth:t,parentHeight:i,count:e,maxCount:r,aspectRatio:a}));else{const{width:o,height:n}=I(t,i,e,a.width,a.height);s=o,u=n,h=e}return{tilesInFirstPage:h,defaultWidth:s,defaultHeight:u,lastPageWidth:l,lastPageHeight:c,isLastPageDifferentFromFirstPage:d}}const H={width:1,height:1};var O;exports.DeviceType=void 0,(O=exports.DeviceType||(exports.DeviceType={})).videoInput="videoInput",O.audioInput="audioInput",O.audioOutput="audioOutput";exports.HMSRoomProvider=({children:i,actions:o,store:n,notifications:r,stats:a,isHMSStatsOn:s=!1})=>{if(!v){const e=()=>{throw new Error("modifying store is not allowed")};if(o&&n)v={actions:o,store:l.default(Object.assign(Object.assign({},n),{setState:e,destroy:e}))},r&&(v.notifications=r),a&&(v.statsStore=l.default({getState:a.getState,subscribe:a.subscribe,setState:e,destroy:e}));else{const i=new t.HMSReactiveStore;if(v={actions:i.getActions(),store:l.default(Object.assign(Object.assign({},i.getStore()),{setState:e,destroy:e})),notifications:i.getNotifications()},s){const t=i.getStats();v.statsStore=l.default({getState:t.getState,subscribe:t.subscribe,setState:e,destroy:e})}}}return e.useEffect((()=>{g&&(window.addEventListener("beforeunload",(()=>v.actions.leave())),window.addEventListener("onunload",(()=>v.actions.leave())))}),[]),u.default.createElement(f.Provider,{value:v},i)},exports.throwErrorHandler=e=>{throw e},exports.useAVToggle=(i=x)=>{const o=p(t.selectIsLocalAudioEnabled),n=p(t.selectIsLocalVideoEnabled),r=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]),u=e.useCallback((()=>E(void 0,void 0,void 0,(function*(){try{yield a.setLocalVideoEnabled(!n)}catch(e){i(e,"toggleVideo")}}))),[a,n,i]);return{isLocalAudioEnabled:o,isLocalVideoEnabled:n,toggleAudio:(null==r?void 0:r.audio)?s:void 0,toggleVideo:(null==r?void 0:r.video)?u:void 0}},exports.useAudioLevelStyles=function({trackId:i,getStyle:o,ref:n}){const r=w();e.useEffect((()=>r.subscribe((e=>{if(!n.current)return;const t=o(e);for(const e in t)n.current.style[e]=t[e]}),t.selectTrackAudioByID(i))),[o,n,r,i])},exports.useAutoplayError=()=>{const i=b(t.HMSNotificationTypes.ERROR),[o,n]=e.useState(""),r=P(),a=e.useCallback((()=>E(void 0,void 0,void 0,(function*(){yield r.unblockAudio()}))),[r]);return e.useEffect((()=>{3008===(null==i?void 0:i.data.code)&&n(null==i?void 0:i.data.message)}),[i]),{error:o,unblockAudio:a,resetError:()=>n("")}},exports.useCustomEvent=({type:i,onEvent:o,handleError:n=x})=>{const r=P(),a=S();e.useEffect((()=>{r.ignoreMessageTypes([i])}),[r,i]),e.useEffect((()=>{if(!a)return;return a.onNotification((e=>{const t=e.data;if(t&&t.type===i)try{const e=JSON.parse(t.message);null==o||o(e)}catch(e){n(e,"handleCustomEvent")}}),t.HMSNotificationTypes.NEW_MESSAGE)}),[a,i,o,n]);return{sendEvent:e.useCallback((e=>E(void 0,void 0,void 0,(function*(){try{const t=JSON.stringify(e||"");yield r.sendBroadcastMessage(t,i),null==o||o(e)}catch(e){n(e,"sendCustomEvent")}}))),[r,n,o,i])}},exports.useDevices=(i=x)=>{const o=P(),n=p(t.selectDevices),r=p(t.selectLocalMediaSettings),a=p(t.selectIsAllowedToPublish),s={[exports.DeviceType.audioOutput]:r.audioOutputDeviceId},u={[exports.DeviceType.audioOutput]:n.audioOutput};a.video&&(u[exports.DeviceType.videoInput]=n.videoInput,s[exports.DeviceType.videoInput]=r.videoInputDeviceId),a.audio&&(u[exports.DeviceType.audioInput]=n.audioInput,s[exports.DeviceType.audioInput]=r.audioInputDeviceId);return{allDevices:u,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: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),n=p(t.selectPeerCount),r=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(r),participantsByRoles:r,peerCount:n,isConnected:i}},exports.usePreviewJoin=({name:i="",token:o,metadata:n,handleError:r=x,initEndpoint:a,initialSettings:s,captureNetworkQualityInPreview:u})=>{const l=P(),c=p(t.selectRoomState),d=p(t.selectIsConnectedToRoom)||!1,h=c===t.HMSRoomState.Preview,g=e.useMemo((()=>({userName:i,authToken:o,metaData:n,rememberDeviceSelection:!0,settings:s,initEndpoint:a,captureNetworkQualityInPreview:u})),[i,o,n,a,s,u]),f=e.useCallback((()=>{E(void 0,void 0,void 0,(function*(){if(o&&c===t.HMSRoomState.Disconnected){d&&(yield l.leave());try{yield l.preview(g)}catch(e){r(e,"preview")}}}))}),[l,r,o,c,g,d]);return{enableJoin:h,join:e.useCallback((()=>{if(o)try{l.join(g)}catch(e){r(e,"join")}}),[l,g,r,o]),isConnected:d,preview:f}},exports.useRecordingStreaming=()=>{const e=p(t.selectRecordingState),i=p(t.selectRTMPState),o=p(t.selectHLSState),n=e.server.running,r=e.browser.running,a=e.hls.running,s=n||r||a;return{isServerRecordingOn:n,isBrowserRecordingOn:r,isHLSRecordingOn:a,isStreamingOn:o.running||i.running,isHLSRunning:o.running,isRTMPRunning:i.running,isRecordingOn:s}},exports.useRemoteAVToggle=(i,o,n=x)=>{const r=P(),a=p(t.selectTrackByID(i)),s=p(t.selectTrackByID(o)),u=p(t.selectAudioTrackVolume(null==a?void 0:a.id)),l=p(t.selectPermissions),c=(null==s?void 0:s.enabled)?null==l?void 0:l.mute:null==l?void 0:l.unmute,d=(null==a?void 0:a.enabled)?null==l?void 0:l.mute:null==l?void 0:l.unmute,h=e.useCallback((()=>E(void 0,void 0,void 0,(function*(){yield k(r,a,n)}))),[r,a,n]),g=e.useCallback((()=>E(void 0,void 0,void 0,(function*(){yield k(r,s,n)}))),[r,n,s]),f=e.useCallback((e=>{a&&r.setVolume(e,a.id)}),[r,a]);return{isAudioEnabled:!!(null==a?void 0:a.enabled),isVideoEnabled:!!(null==s?void 0:s.enabled),volume:u,toggleAudio:a&&d?h:void 0,toggleVideo:"regular"===(null==s?void 0:s.source)&&c?g:void 0,setVolume:a?f:void 0}},exports.useScreenShare=(i=x)=>{var o,n;const r=P(),a=p(t.selectIsLocalScreenShared),s=p(t.selectPeerScreenSharing),u=p(t.selectScreenSharesByPeerId(null==s?void 0:s.id)),l=e.useCallback(((e=!1)=>E(void 0,void 0,void 0,(function*(){try{yield r.setScreenShareEnabled(!a,e)}catch(e){i(e,"toggleScreenShare")}}))),[r,a,i]);return{amIScreenSharing:a,screenSharingPeerId:null==s?void 0:s.id,screenSharingPeerName:null==s?void 0:s.name,screenShareVideoTrackId:null===(o=null==u?void 0:u.video)||void 0===o?void 0:o.id,screenShareAudioTrackId:null===(n=null==u?void 0:u.audio)||void 0===n?void 0:n.id,toggleScreenShare:l}},exports.useVideo=({trackId:i,attach:n})=>{const r=P(),a=e.useRef(null),s=p(t.selectTrackByID(i)),{ref:u,inView:l}=o.useInView({threshold:.5}),c=e.useCallback((e=>{e&&(a.current=e,u(e))}),[u]);return e.useEffect((()=>{E(void 0,void 0,void 0,(function*(){a.current&&(null==s?void 0:s.id)&&(l&&s.enabled&&!1!==n?yield r.attachVideo(s.id,a.current):yield r.detachVideo(s.id,a.current))}))}),[r,l,a,null==s?void 0:s.id,null==s?void 0:s.enabled,null==s?void 0:s.deviceID,null==s?void 0:s.plugins,n]),e.useEffect((()=>()=>{E(void 0,void 0,void 0,(function*(){if(a.current&&s)try{yield r.detachVideo(s.id,a.current)}catch(e){d.w("detach video error for track",s.id,e)}}))}),[]),{videoRef:c}},exports.useVideoList=({peers:i,maxTileCount:o,maxColCount:r,maxRowCount:a,includeScreenShareForPeer:s=(()=>!1),aspectRatio:u=H,filterNonPublishingPeers:l=!0,offsetY:c=0})=>{const{width:d=0,height:h=0,ref:g}=n.useResizeDetector(),f=((e,t,i,o=!0)=>{if(!e||!t||!i)return[];const n=[];for(const r of e)if(void 0===r.videoTrack&&r.audioTrack&&t[r.audioTrack]?n.push({peer:r}):r.videoTrack&&t[r.videoTrack]?n.push({track:t[r.videoTrack],peer:r}):o||n.push({peer:r}),r.auxiliaryTracks.length>0&&r.auxiliaryTracks.forEach((e=>{const i=t[e];"video"===(null==i?void 0:i.type)&&"regular"===(null==i?void 0:i.source)&&n.push({track:i,peer:r})})),i(r)&&r.auxiliaryTracks.length>0){const e=r.auxiliaryTracks.find((e=>{const i=t[e];return"video"===(null==i?void 0:i.type)&&"screen"===(null==i?void 0:i.source)}));e&&n.push({track:t[e],peer:r})}return n})(i,w().getState(t.selectTracksMap),s,l),v=e.useMemo((()=>{if(u)return u;return{width:function(e){if(0===e.length)return null;const t={};let i=e[0],o=1;for(let n=0;n<e.length;n++){const r=e[n];null===t[r]?t[r]=1:t[r]++,t[r]>o&&(i=r,o=t[r])}return i}(f.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}}),[u,f]),p=f.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,c),maxTileCount:o,maxRowCount:a,maxColCount:r,aspectRatio:v})),[p,d,h,o,a,r,v,c]);return{pagesWithTiles:e.useMemo((()=>R({elements:f,tilesInFirstPage:m,onlyOnePage:!1,isLastPageDifferentFromFirstPage:E,defaultWidth:y,defaultHeight:S,lastPageWidth:P,lastPageHeight:b})),[f,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]}})}));
17
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +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/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 Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\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",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","this","log","VERBOSE","data","DEBUG","INFO","WARN","ERROR","level","valueOf","console","debug","info","warn","error","hooksErrorMessage","isBrowser","window","HMSContext","createContext","useHMSStore","hmsContext","equalityFn","selector","w","HMSContextConsumer","Error","useStore","store","useHMSStatsStore","statsStore","makeHMSStatsStoreHook","useHMSVanillaStore","useContext","useHMSVanillaNotifications","notifications","onNotification","notification2","setNotification","type","notification","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","logErrorHandler","err","method","toggleTrackEnabled","actions","track","setRemoteTrackEnabled","id","enabled","handleError","chunkElements","elements","tilesInFirstPage","onlyOnePage","isLastPageDifferentFromFirstPage","defaultWidth","defaultHeight","lastPageWidth","lastPageHeight","reduce","resultArray","tile","chunkIndex","Math","floor","index","chunkSize","push","width","isLastPage","assign","element","height","largestRect","containerWidth","containerHeight","numRects","Number","isInteger","aspectRatio","best","area","cols","rows","height2","width2","calculateLayoutSizes","count","parentWidth","parentHeight","maxTileCount","maxRowCount","maxColCount","maxCount","tilesinLastPage","initialWidth","initialHeight","min","remWidth","remHeight","getTileSizesWithPageConstraint","ceil","sqrt","DEFAULTS","DeviceType2","DeviceType","providerProps","stats","create","getState","subscribe","setState","errFn","destroy","HMSReactiveStore","hmsReactiveStore","getActions","getStore","getNotifications","getStats","stats2","useEffect","addEventListener","leave","Provider","children","useHMSActions","useCallback","isLocalAudioEnabled","toggleVideo","setLocalVideoEnabled","isLocalVideoEnabled","toggleAudio","isAllowedToPublish","audio","video","trackId","getStyle","ref","current","style","key","styles","selectTrackAudioByID","unblockAudio","code","setError","message","resetError","onEvent","ignoreMessageTypes","msg","parse","NEW_MESSAGE","dataStr","JSON","stringify","sendBroadcastMessage","allDevices","videoInput","sdkAllDevices","selectedDeviceIDs","sdkSelectedDevices","videoInputDeviceId","audioInput","audioInputDeviceId","deviceType","deviceId","setAudioSettings","setVideoSettings","audioOutput","setAudioOutputDevice","isConnected","selectIsConnectedToRoom","participantList","selectPeers","selectRemotePeers","peerCount","selectPeerCount","participantsByRoles","useMemo","peers","res","roles","name","token","metadata","initEndpoint","initialSettings","captureNetworkQualityInPreview","config","userName","authToken","metaData","rememberDeviceSelection","settings","preview","roomState","HMSRoomState","Disconnected","join","recording","selectRecordingState","rtmp","selectRTMPState","hls","selectHLSState","isServerRecordingOn","server","running","isBrowserRecordingOn","browser","isHLSRecordingOn","isRecordingOn","audioTrackId","videoTrackId","audioTrack","selectTrackByID","videoTrack","setVolume","volume2","isAudioEnabled","volume","canToggleAudio","source","canToggleVideo","setScreenShareEnabled","amIScreenSharing","audioOnly","screenSharingPeerId","screenSharePeer","_a","screenShare","screenShareAudioTrackId","_b","toggleScreenShare","attach","setRefs","node","videoRef","inViewRef","inView","attachVideo","detachVideo","deviceID","plugins","includeScreenShareForPeer","filterNonPublishingPeers","offsetY","tracks","peerTiles","peer","auxiliaryTracks","forEach","screenShareTrackID","find","trackID","finalAspectRatio","array","modeMap","maxEl","el","mode","tracksWithPeer","filter","map"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1 +1,2 @@
1
1
  export{HMSRoomProvider,useHMSActions,useHMSNotifications,useHMSStatsStore,useHMSStore,useHMSVanillaNotifications,useHMSVanillaStore}from"./primitives/HmsRoomProvider.js";export{usePreviewJoin}from"./hooks/usePreviewJoin.js";export{useAVToggle}from"./hooks/useAVToggle.js";export{useVideo}from"./hooks/useVideo.js";export{useScreenShare}from"./hooks/useScreenShare.js";export{useRemoteAVToggle}from"./hooks/useRemoteAVToggle.js";export{useVideoList}from"./hooks/useVideoList.js";export{useAudioLevelStyles}from"./hooks/useAudioLevelStyles.js";export{DeviceType,useDevices}from"./hooks/useDevices.js";export{useParticipantList}from"./hooks/useParticipantList.js";export{useRecordingStreaming}from"./hooks/useRecordingStreaming.js";export{useAutoplayError}from"./hooks/useAutoplayError.js";export{useCustomEvent}from"./hooks/useCustomEvent.js";export{throwErrorHandler}from"./utils/commons.js";export*from"@100mslive/hms-video-store";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -13,3 +13,4 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
13
  PERFORMANCE OF THIS SOFTWARE.
14
14
  ***************************************************************************** */
15
15
  function n(n,t,e,c){return new(e||(e=Promise))((function(o,u){function i(n){try{a(c.next(n))}catch(n){u(n)}}function r(n){try{a(c.throw(n))}catch(n){u(n)}}function a(n){var t;n.done?o(n.value):(t=n.value,t instanceof e?t:new e((function(n){n(t)}))).then(i,r)}a((c=c.apply(n,t||[])).next())}))}export{n as __awaiter};
16
+ //# sourceMappingURL=tslib.es6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tslib.es6.js","sources":["../../../../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/*! *****************************************************************************\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 Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\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"],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply"],"mappings":";;;;;;;;;;;;;;AAqEO,SAASA,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,IACpF,SAASC,EAASJ,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,IAAW,MAAOG,GAAKL,EAAOK,IACvF,SAASF,EAAKI,GAJlB,IAAeL,EAIaK,EAAOC,KAAOT,EAAQQ,EAAOL,QAJ1CA,EAIyDK,EAAOL,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,OAITO,KAAKR,EAAWK,GAClGH,GAAMN,EAAYA,EAAUa,MAAMhB,EAASC,GAAc,KAAKS"}
@@ -1 +1,2 @@
1
1
  function t(t,e){if(Object.is(t,e))return!0;if("object"!=typeof t||null===t||"object"!=typeof e||null===e)return!1;const r=Object.keys(t);if(r.length!==Object.keys(e).length)return!1;for(let n=0;n<r.length;n++)if(!Object.prototype.hasOwnProperty.call(e,r[n])||!Object.is(t[r[n]],e[r[n]]))return!1;return!0}export{t as default};
2
+ //# sourceMappingURL=shallow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shallow.js","sources":["../../../../../../node_modules/zustand/esm/shallow.js"],"sourcesContent":["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"],"names":["shallow","objA","objB","Object","is","keysA","keys","length","i","prototype","hasOwnProperty","call"],"mappings":"AAAA,SAASA,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"}
@@ -1 +1,2 @@
1
1
  import t,{createContext as e,useEffect as o,useContext as s,useState as r}from"react";import{HMSReactiveStore as i}from"@100mslive/hms-video-store";import n from"zustand";import{makeHMSStoreHook as a,makeHMSStatsStoreHook as c,hooksErrorMessage as f}from"./store.js";import{isBrowser as d}from"../utils/isBrowser.js";const u=e(null);let l;const w=({children:e,actions:s,store:r,notifications:a,stats:c,isHMSStatsOn:f=!1})=>{if(!l){const t=()=>{throw new Error("modifying store is not allowed")};if(s&&r)l={actions:s,store:n(Object.assign(Object.assign({},r),{setState:t,destroy:t}))},a&&(l.notifications=a),c&&(l.statsStore=n({getState:c.getState,subscribe:c.subscribe,setState:t,destroy:t}));else{const e=new i;if(l={actions:e.getActions(),store:n(Object.assign(Object.assign({},e.getStore()),{setState:t,destroy:t})),notifications:e.getNotifications()},f){const o=e.getStats();l.statsStore=n({getState:o.getState,subscribe:o.subscribe,setState:t,destroy:t})}}}return o((()=>{d&&(window.addEventListener("beforeunload",(()=>l.actions.leave())),window.addEventListener("onunload",(()=>l.actions.leave())))}),[]),t.createElement(u.Provider,{value:l},e)},m=a(u),S=c(u),b=()=>{const t=s(u);if(!t)throw new Error(f);return t.store},g=()=>{const t=s(u);if(!t)throw new Error(f);return t.notifications},v=()=>{const t=s(u);if(!t)throw new Error(f);return t.actions},E=t=>{const e=s(u),[i,n]=r(null);if(!e)throw new Error(f);return o((()=>{if(!e.notifications)return;return e.notifications.onNotification((t=>n(t)),t)}),[e.notifications,t]),i};export{w as HMSRoomProvider,v as useHMSActions,E as useHMSNotifications,S as useHMSStatsStore,m as useHMSStore,g as useHMSVanillaNotifications,b as useHMSVanillaStore};
2
+ //# sourceMappingURL=HmsRoomProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HmsRoomProvider.js","sources":["../../src/primitives/HmsRoomProvider.ts"],"sourcesContent":[null],"names":["HMSContext","createContext","providerProps","notifications","stats","statsStore","create","getState","subscribe","setState","errFn","destroy","HMSReactiveStore","actions","hmsReactiveStore","getActions","store","Object","assign","getStore","getNotifications","getStats","stats2","useEffect","isBrowser","addEventListener","leave","window","Provider","value","children","useHMSStore","makeHMSStoreHook","useHMSStatsStore","makeHMSStatsStoreHook","useHMSVanillaStore","HMSContextConsumer","useContext","Error","hooksErrorMessage","useHMSVanillaNotifications","onNotification","notification2","setNotification","type","notification"],"mappings":"6TA2BA,MAAAA,EAAAC,EAAA,iGAGG,IAAAC,EAAA,CACH,QAAmB,qBAEwB,4HAOLC,MACVA,cAC1BA,GAQ0FC,IACxFF,EAAyDG,WAAAC,EAAA,CACnDC,SAAQH,EAAKG,SACjBC,UAAUJ,EAAKI,UACfC,SAAAC,EACEC,QAAOD,SAGP,SAKA,IAAAE,KACFV,GACEW,QAAAC,EAAcC,aACfC,MAAAV,EAAAW,OAAAC,OAAAD,OAAAC,OAAA,GAAAJ,EAAAK,YAAA,CAAAV,SAAAC,EAAAC,QAAAD,KACDP,cAAWW,EAAAM,sBAEC,SACCN,EAAiBO,WAC1BnB,EAAAG,WAAeC,EAAA,CACfC,SAAAe,EAAOf,SACRC,UAAEc,EAAAd,UACJC,SAAAC,EACFC,QAAAD,aAIGa,GAAA,KAKAC,WACDC,iBAAC,gBAAA,IAAAvB,EAAAW,QAAAa,UAEFC,OAAAF,iBAAkB,YAAA,IAAAvB,EAAAW,QAAAa,aAEhB,oBACU1B,EAAgB4B,SAAA,CAAAC,MAAA3B,GAAA4B,IAExBC,EAAAC,EAAehC,GACfiC,EAAAC,EAAclC,GACfmC,EAAE,KACJ,MAAAC,EAAAC,EAAArC,GACF,IAAAoC,EACF,MAAA,IAAAE,MAAAC,GAGC,OAAAH,EAAepB,OAEbwB,EAAuB,KACxB,MAAAJ,EAAAC,EAAArC,OACAoC,EAEH,MAAA,UAAaG,GAGf,OAAAH,EAAAjC,sBAGG,MAAAiC,EAAAC,EAAArC,GACG,IAACoC,EAED,UAAuBE,MAAAC,+EAkB1B,mCALA,OAGD,SADsCpC,cAAYsC,gBAAAC,GAAAC,EAAAD,IAAAE,KAEhD,CAAAR,EAAgBjC,cAAAyC,IACjBC"}
@@ -1 +1,2 @@
1
1
  import{useContext as o}from"react";import e from"../node_modules/zustand/esm/shallow.js";import t from"../utils/logger.js";const r="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.";function s(s){return(n,i=e)=>{n||t.w("fetching full store without passing any selector may have a heavy performance impact on your website.");const a=o(s);if(!a)throw new Error(r);return(0,a.store)(n,i)}}function n(s){return(n,i=e)=>{n||t.w("fetching full store without passing any selector may have a heavy performance impact on your website.");const a=o(s);if(!a)throw new Error(r);const c=a.statsStore;return null==c?void 0:c(n,i)}}export{r as hooksErrorMessage,n as makeHMSStatsStoreHook,s as makeHMSStoreHook};
2
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sources":["../../src/primitives/store.ts"],"sourcesContent":[null],"names":["hooksErrorMessage","makeHMSStoreHook","hmsContext","equalityFn","shallow","selector","HMSLogger","w","HMSContextConsumer","Error","useStore","store","makeHMSStatsStoreHook","statsStore"],"mappings":"2HAUA,MAAMA,EAAwB,kPAU9B,SAAMC,EAA0BC,GAiB9B,SAf+CC,EACHC,KAEtCC,GACFC,EAAAC,EAAA,yGAIF,MAAAC,IAA2BN,OACvBM,EACF,MAAA,IAAAC,MAAUT,GAGZ,OAAAU,EADcF,EAAqBG,SACnBR,IAKpB,SAAMS,EAA+BV,GAiBnC,SAfoDC,EACRC,KAEtCC,GACFC,EAAAC,EAAA,yGAIF,MAAAC,IAA2BN,OACvBM,EACF,MAAA,IAAAC,MAAUT,GAEZ,MAAAU,EAAcF,EAAqBK,kBAC5BH,MAAAA,OAAA,EAAAA,EAAAL,EAAmBF"}
@@ -1 +1,2 @@
1
1
  import o from"./logger.js";const r=(r,t)=>o.e("react-sdk",t,r),t=o=>{throw o};export{r as logErrorHandler,t as throwErrorHandler};
2
+ //# sourceMappingURL=commons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commons.js","sources":["../../src/utils/commons.ts"],"sourcesContent":[null],"names":["logErrorHandler","err","method","e","throwErrorHandler"],"mappings":"2BAGA,MAEMA,EAAsB,CAAAC,EAAAC,MAA8DC,EAF9E,YAE+ED,EAAaD,GAExGG,EAAAH"}
@@ -1 +1,2 @@
1
1
  const e=e=>e&&Array.isArray(e)&&0!==e.length?e.reduce(((e,r)=>r.roleName?(e[r.roleName]||(e[r.roleName]=[]),e[r.roleName].push(r),e):e),{}):{};export{e as groupByRoles};
2
+ //# sourceMappingURL=groupBy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupBy.js","sources":["../../src/utils/groupBy.ts"],"sourcesContent":[null],"names":["groupByRoles","peers","res"],"mappings":"AACA,MAAAA,EAAAC,0HAYGC,MACH"}
@@ -1 +1,2 @@
1
1
  const e="undefined"!=typeof window;export{e as isBrowser};
2
+ //# sourceMappingURL=isBrowser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isBrowser.js","sources":["../../src/utils/isBrowser.ts"],"sourcesContent":[null],"names":["isBrowser","window"],"mappings":"AAAM,MAAAA,EAAgC,oBAAbC"}
@@ -1 +1,2 @@
1
1
  const t=(t,e,i)=>t.reduce(((t,a,r)=>{const h=Math.floor(r/e);return h>0&&i||(t[h]||(t[h]=[]),t[h].push(a)),t}),[]),e=({elements:e,tilesInFirstPage:i,onlyOnePage:a,isLastPageDifferentFromFirstPage:r,defaultWidth:h,defaultHeight:n,lastPageWidth:s,lastPageHeight:o})=>{const l=t(e,i,a);return l.map(((t,e)=>t.map((t=>{const i=e===l.length-1,a=r&&i?s:h,g=r&&i?o:n;return Object.assign(Object.assign({},t),{height:g,width:a})}))))};function i(t){if(0===t.length)return null;const e={};let i=t[0],a=1;for(let r=0;r<t.length;r++){const h=t[r];null===e[h]?e[h]=1:e[h]++,e[h]>a&&(i=h,a=e[h])}return i}const a=t=>i(t.filter((t=>{var e,i;return(null===(e=t.track)||void 0===e?void 0:e.width)&&(null===(i=t.track)||void 0===i?void 0:i.height)})).map((t=>{var e,i;return((null===(e=t.track)||void 0===e?void 0:e.width)||1)/((null===(i=t.track)||void 0===i?void 0:i.height)||1)}))),r=(t,e,i,a,r)=>{if(t<0||e<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 h=a&&r&&a/r;if(void 0!==h&&isNaN(h))throw new Error("Aspect ratio must be a number");let n={area:0,cols:0,rows:0,width:0,height:0};if(void 0!==h)for(let a=i;a>0;a+=-1){const r=Math.ceil(i/a);let s,o;t/(a*h)<=e/r?(s=t/a,o=s/h):(o=e/r,s=o*h);const l=s*o;l>n.area&&(n={area:l,width:s,height:o,rows:r,cols:a})}return n},h=({parentWidth:t,parentHeight:e,count:i,maxCount:a,aspectRatio:r})=>{let h=0,n=0,s=0,o=0,l=!1,g=0,d=0;const u=Math.min(Math.ceil(Math.sqrt(i*(t/e)/(r.width/r.height))),a);let c=t/u,f=c/(r.width/r.height);f>e&&(f=e,c=f/(r.height/r.width));const P=Math.floor(e/f);if(n=f,h=c,g=Math.min(i,P*u),d=i%(P*u),l=d>0&&i>P*u,l){let i=t/Math.min(Math.ceil(Math.sqrt(d*(t/e)/(r.width/r.height))),a),h=i/(r.width/r.height);h>e&&(h=e,i=h/(r.height/r.width)),o=h,s=i}return{tilesInFirstPage:g,defaultWidth:h,defaultHeight:n,lastPageWidth:s,lastPageHeight:o,isLastPageDifferentFromFirstPage:l}},n=({parentWidth:t,parentHeight:e,count:i,maxCount:a,aspectRatio:h})=>{let n=0,s=0,o=0,l=0,g=!1,d=0,u=0;const{width:c,height:f}=r(t,e,Math.min(i,a),h.width,h.height);if(n=c,s=f,d=Math.min(i,a),u=i%a,g=u>0&&i>a,g){const{width:i,height:a}=r(t,e,u,h.width,h.height);o=i,l=a}return{tilesInFirstPage:d,defaultWidth:n,defaultHeight:s,lastPageWidth:o,lastPageHeight:l,isLastPageDifferentFromFirstPage:g}},s=({parentWidth:t,parentHeight:e,count:i,maxCount:a,aspectRatio:r})=>{let h=0,n=0,s=0,o=0,l=!1,g=0,d=0;const u=Math.min(Math.ceil(Math.sqrt(i*(r.width/r.height)/(t/e))),a),c=e/u,f=c*(r.width/r.height),P=Math.floor(t/f);if(h=f,n=c,g=Math.min(i,u*P),d=i%(u*P),l=d>0&&i>u*P,l){const i=e/Math.min(Math.ceil(Math.sqrt(d*(r.width/r.height)/(t/e))),a);o=i,s=i*(r.width/r.height)}return{tilesInFirstPage:g,defaultWidth:h,defaultHeight:n,lastPageWidth:s,lastPageHeight:o,isLastPageDifferentFromFirstPage:l}};function o({count:t,parentWidth:e,parentHeight:i,maxTileCount:a,maxRowCount:o,maxColCount:l,aspectRatio:g}){let d=0,u=0,c=0,f=0,P=!1,p=0;if(0===t)return{tilesInFirstPage:p,defaultWidth:d,defaultHeight:u,lastPageWidth:c,lastPageHeight:f,isLastPageDifferentFromFirstPage:P};if(a)({tilesInFirstPage:p,defaultWidth:d,defaultHeight:u,lastPageWidth:c,lastPageHeight:f,isLastPageDifferentFromFirstPage:P}=n({parentWidth:e,parentHeight:i,count:t,maxCount:a,aspectRatio:g}));else if(o)({tilesInFirstPage:p,defaultWidth:d,defaultHeight:u,lastPageWidth:c,lastPageHeight:f,isLastPageDifferentFromFirstPage:P}=s({parentWidth:e,parentHeight:i,count:t,maxCount:o,aspectRatio:g}));else if(l)({tilesInFirstPage:p,defaultWidth:d,defaultHeight:u,lastPageWidth:c,lastPageHeight:f,isLastPageDifferentFromFirstPage:P}=h({parentWidth:e,parentHeight:i,count:t,maxCount:l,aspectRatio:g}));else{const{width:a,height:h}=r(e,i,t,g.width,g.height);d=a,u=h,p=t}return{tilesInFirstPage:p,defaultWidth:d,defaultHeight:u,lastPageWidth:c,lastPageHeight:f,isLastPageDifferentFromFirstPage:P}}const l=(t,e,i,a=!0)=>{if(!t||!e||!i)return[];const r=[];for(const h of t){if(void 0===h.videoTrack&&h.audioTrack&&e[h.audioTrack]?r.push({peer:h}):h.videoTrack&&e[h.videoTrack]?r.push({track:e[h.videoTrack],peer:h}):a||r.push({peer:h}),h.auxiliaryTracks.length>0&&h.auxiliaryTracks.forEach((t=>{const i=e[t];"video"===(null==i?void 0:i.type)&&"regular"===(null==i?void 0:i.source)&&r.push({track:i,peer:h})})),i(h)&&h.auxiliaryTracks.length>0){const t=h.auxiliaryTracks.find((t=>{const i=e[t];return"video"===(null==i?void 0:i.type)&&"screen"===(null==i?void 0:i.source)}));t&&r.push({track:e[t],peer:h})}}return r};export{o as calculateLayoutSizes,t as chunk,e as chunkElements,a as getModeAspectRatio,h as getTileSizesWithColConstraint,n as getTileSizesWithPageConstraint,s as getTileSizesWithRowConstraint,l as getVideoTracksFromPeers,r as largestRect,i as mode};
2
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","sources":["../../src/utils/layout.ts"],"sourcesContent":[null],"names":["chunk","elements","onlyOnePage","reduce","resultArray","tile","chunkIndex","Math","floor","index","chunkSize","push","chunkElements","tilesInFirstPage","isLastPageDifferentFromFirstPage","defaultWidth","defaultHeight","lastPageWidth","lastPageHeight","width","isLastPage","Object","assign","element","height","mode","array","length","modeMap","maxEl","el","i","maxCount","getModeAspectRatio","tracks","filter","track","_a","_b","map","largestRect","containerWidth","containerHeight","numRects","Number","isInteger","Error","aspectRatio","best","area","cols","rows","height2","width2","getTileSizesWithColConstraint","parentWidth","parentHeight","count","tilesinLastPage","min","ceil","sqrt","getTileSizesWithPageConstraint","initialWidth","initialHeight","remWidth","remHeight","getTileSizesWithRowConstraint","calculateLayoutSizes","maxTileCount","maxRowCount","maxColCount","peers","includeScreenShareForPeer","filterNonPublishingPeers","peerTiles","peer","videoTrack","audioTrack","auxiliaryTracks","forEach","trackId","type","source","screenShareTrackID","find","trackID"],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  var s,e;(e=s||(s={}))[e.VERBOSE=0]="VERBOSE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.NONE=5]="NONE";class o{static v(e,...o){this.log(s.VERBOSE,e,...o)}static d(e,...o){this.log(s.DEBUG,e,...o)}static i(e,...o){this.log(s.INFO,e,...o)}static w(e,...o){this.log(s.WARN,e,...o)}static e(e,...o){this.log(s.ERROR,e,...o)}static log(e,o,...t){if(!(this.level.valueOf()>e.valueOf()))switch(e){case s.VERBOSE:console.log("HMSui-components: ",o,...t);break;case s.DEBUG:console.debug("HMSui-components: ",o,...t);break;case s.INFO:console.info("HMSui-components: ",o,...t);break;case s.WARN:console.warn("HMSui-components: ",o,...t);break;case s.ERROR:console.error("HMSui-components: ",o,...t)}}}o.level=s.VERBOSE;export{s as HMSLogLevel,o as default};
2
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sources":["../../src/utils/logger.ts"],"sourcesContent":[null],"names":["HMSLogLevel","HMSLogLevel2","HMSLogger","static","tag","this","log","VERBOSE","data","DEBUG","INFO","WARN","ERROR","level","valueOf","console","debug","info","warn","error"],"mappings":"AAAM,IAAAA,EAANC,GAAAA,EAAYD,IAAAA,EAOX,KANCC,EAAA,QAAA,GAAA,UACAA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,KAAA,GAAA,OAGF,MAAMC,EAGJC,SAAOC,QACLC,KAAAC,IAAKN,EAAIO,QAAYH,KAAcI,GAGrCL,SAAOC,QACLC,KAAAC,IAAKN,EAAIS,MAAYL,KAAYI,GAGnCL,SAAOC,QACLC,KAAAC,IAAKN,EAAIU,KAAYN,KAAWI,GAGlCL,SAAOC,QACLC,KAAAC,IAAKN,EAAIW,KAAYP,KAAWI,GAGlCL,SAAOC,QACLC,KAAAC,IAAKN,EAAIY,MAAYR,KAAYI,cAGGK,EAAAT,KAAAI,GAC9B,KAAMH,WAAKS,UAA+CD,EAAAC,WAG/D,OAAAD,GAED,KAAAb,EAAeO,QACbQ,QAAAT,IAAgB,qBAAUF,KAAAI,SAGzB,KAAAR,EAAAS,MACDM,QAAAC,MAAgB,qBAAQZ,KAAAI,SAGvB,KAAAR,EAAAU,KACDK,QAAAE,KAAgB,qBAAOb,KAAAI,SAGtB,KAAAR,EAAAW,KACDI,QAAAG,KAAgB,qBAAOd,KAAAI,SAGtB,KAAAR,EAAAY,MACDG,QAAAI,MAAgB,qBAAQf,KAAAI"}
package/package.json CHANGED
@@ -4,11 +4,12 @@
4
4
  "main": "dist/index.cjs.js",
5
5
  "module": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
7
- "version": "0.0.17-alpha.0",
7
+ "version": "0.0.18-alpha.1",
8
8
  "author": "100ms",
9
9
  "license": "MIT",
10
10
  "files": [
11
- "dist"
11
+ "dist",
12
+ "src"
12
13
  ],
13
14
  "sideEffects": false,
14
15
  "scripts": {
@@ -31,13 +32,13 @@
31
32
  "rollup-plugin-terser": "^7.0.2"
32
33
  },
33
34
  "peerDependencies": {
34
- "react": "^18.1.0"
35
+ "react": ">=17.0.2 <19.0.0"
35
36
  },
36
37
  "dependencies": {
37
- "@100mslive/hms-video-store": "0.2.100-alpha.0",
38
+ "@100mslive/hms-video-store": "0.2.101-alpha.1",
38
39
  "react-intersection-observer": "^8.33.1",
39
40
  "react-resize-detector": "^7.0.0",
40
41
  "zustand": "^3.6.2"
41
42
  },
42
- "gitHead": "82e7f3ced711abfc0ca0c319439c5df38b46223f"
43
+ "gitHead": "5a80c78fc88d8a04d04d1a284faff67b7b5d0111"
43
44
  }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * use this to control how errors are handled within a function exposed by a hook. By default this
3
+ * only logs the error to the console, and can be overridden for any other behaviour. For e.g.
4
+ * `(err) => throw err;` will ensure that any error is thrown back to the caller when the function is called.
5
+ */
6
+ export type hooksErrHandler = (err: Error, method?: string) => void;
@@ -0,0 +1,62 @@
1
+ import {
2
+ selectIsAllowedToPublish,
3
+ selectIsLocalAudioEnabled,
4
+ selectIsLocalVideoEnabled,
5
+ } from '@100mslive/hms-video-store';
6
+ import { useCallback } from 'react';
7
+ import { useHMSActions, useHMSStore } from '../primitives/HmsRoomProvider';
8
+ import { logErrorHandler } from '../utils/commons';
9
+ import { hooksErrHandler } from '../hooks/types';
10
+
11
+ export interface useAVToggleResult {
12
+ /**
13
+ * true if unmuted and vice versa
14
+ */
15
+ isLocalAudioEnabled: boolean;
16
+ isLocalVideoEnabled: boolean;
17
+ /**
18
+ * use this function to toggle audio state, the function will only be present if the user
19
+ * has permission to unmute audio
20
+ */
21
+ toggleAudio?: () => void;
22
+ /**
23
+ * use this function to toggle video state, the function will only be present if the user
24
+ * has permission to unmute video
25
+ */
26
+ toggleVideo?: () => void;
27
+ }
28
+
29
+ /**
30
+ * Use this hook to implement mute/unmute for audio and video.
31
+ * isAllowedToPublish can be used to decide whether to show the toggle buttons in the UI.
32
+ * @param handleError to handle any error during toggle of audio/video
33
+ */
34
+ export const useAVToggle = (handleError: hooksErrHandler = logErrorHandler): useAVToggleResult => {
35
+ const isLocalAudioEnabled = useHMSStore(selectIsLocalAudioEnabled);
36
+ const isLocalVideoEnabled = useHMSStore(selectIsLocalVideoEnabled);
37
+ const isAllowedToPublish = useHMSStore(selectIsAllowedToPublish);
38
+ const actions = useHMSActions();
39
+
40
+ const toggleAudio = useCallback(async () => {
41
+ try {
42
+ await actions.setLocalAudioEnabled(!isLocalAudioEnabled);
43
+ } catch (err) {
44
+ handleError(err as Error, 'toggleAudio');
45
+ }
46
+ }, [actions, isLocalAudioEnabled, handleError]);
47
+
48
+ const toggleVideo = useCallback(async () => {
49
+ try {
50
+ await actions.setLocalVideoEnabled(!isLocalVideoEnabled);
51
+ } catch (err) {
52
+ handleError(err as Error, 'toggleVideo');
53
+ }
54
+ }, [actions, isLocalVideoEnabled, handleError]);
55
+
56
+ return {
57
+ isLocalAudioEnabled,
58
+ isLocalVideoEnabled,
59
+ toggleAudio: isAllowedToPublish?.audio ? toggleAudio : undefined,
60
+ toggleVideo: isAllowedToPublish?.video ? toggleVideo : undefined,
61
+ };
62
+ };
@@ -0,0 +1,37 @@
1
+ import React, { useEffect } from 'react';
2
+ import { selectTrackAudioByID } from '@100mslive/hms-video-store';
3
+ import { useHMSVanillaStore } from '../primitives/HmsRoomProvider';
4
+
5
+ /**
6
+ * This hook can be used to apply css properties on an element based on the current audio level for the passed in track.
7
+ * It doesn't return the audio level as it's optimised for performance. As audio level could be changing frequently we
8
+ * want to minimise the number of components an audio level change causes to re render.
9
+ * An e.g. use of this hook will be to apply box-shadow on parent tile based on audio level.
10
+ * @param trackId is the audio track id for which audio level needs to be used
11
+ * @param getStyle is a function which can take in current audio level and return the style to apply for the ref
12
+ * @param ref is the ref of the element on which you want the css to apply
13
+ */
14
+ export function useAudioLevelStyles({
15
+ trackId,
16
+ getStyle,
17
+ ref,
18
+ }: {
19
+ trackId?: string;
20
+ getStyle: (level: number) => Record<string, string>;
21
+ ref: React.RefObject<any>;
22
+ }) {
23
+ const store = useHMSVanillaStore();
24
+ useEffect(
25
+ () =>
26
+ store.subscribe(level => {
27
+ if (!ref.current) {
28
+ return;
29
+ }
30
+ const styles = getStyle(level);
31
+ for (const key in styles) {
32
+ ref.current.style[key] = styles[key];
33
+ }
34
+ }, selectTrackAudioByID(trackId)),
35
+ [getStyle, ref, store, trackId],
36
+ );
37
+ }