@100mslive/react-sdk 0.12.4-alpha.1 → 0.12.5-alpha.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.
package/dist/index.cjs.js CHANGED
@@ -1,3 +1,3 @@
1
- "use strict";var ft=Object.create;var Y=Object.defineProperty,St=Object.defineProperties,pt=Object.getOwnPropertyDescriptor,ht=Object.getOwnPropertyDescriptors,gt=Object.getOwnPropertyNames,Me=Object.getOwnPropertySymbols,Mt=Object.getPrototypeOf,Pe=Object.prototype.hasOwnProperty,Ht=Object.prototype.propertyIsEnumerable;var He=(t,e,r)=>e in t?Y(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,N=(t,e)=>{for(var r in e||(e={}))Pe.call(e,r)&&He(t,r,e[r]);if(Me)for(var r of Me(e))Ht.call(e,r)&&He(t,r,e[r]);return t},K=(t,e)=>St(t,ht(e));var Pt=(t,e)=>{for(var r in e)Y(t,r,{get:e[r],enumerable:!0})},re=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of gt(e))!Pe.call(t,o)&&o!==r&&Y(t,o,{get:()=>e[o],enumerable:!(s=pt(e,o))||s.enumerable});return t},M=(t,e,r)=>(re(t,e,"default"),r&&re(r,e,"default")),ce=(t,e,r)=>(r=t!=null?ft(Mt(t)):{},re(e||!t||!t.__esModule?Y(r,"default",{value:t,enumerable:!0}):r,t)),bt=t=>re(Y({},"__esModule",{value:!0}),t);var p=(t,e,r)=>new Promise((s,o)=>{var i=c=>{try{n(r.next(c))}catch(u){o(u)}},a=c=>{try{n(r.throw(c))}catch(u){o(u)}},n=c=>c.done?s(c.value):Promise.resolve(c.value).then(i,a);n((r=r.apply(t,e)).next())});var g={};Pt(g,{HMSRoomProvider:()=>Te,getPeersWithTiles:()=>ne,throwErrorHandler:()=>Re,useAVToggle:()=>Ie,useAudioLevelStyles:()=>ze,useAudioMode:()=>mt,useAutoplayError:()=>Xe,useAwayNotifications:()=>ct,useCustomEvent:()=>et,useDevices:()=>_e,useEmbedShare:()=>rt,useHMSActions:()=>H,useHMSNotifications:()=>oe,useHMSStatsStore:()=>ye,useHMSStore:()=>m,useHMSVanillaNotifications:()=>G,useHMSVanillaStore:()=>I,usePDFShare:()=>ot,usePaginatedParticipants:()=>it,useParticipantList:()=>Ye,useParticipants:()=>tt,usePreviewJoin:()=>ke,useRecordingStreaming:()=>Ke,useRemoteAVToggle:()=>Ne,useScreenShare:()=>z,useTranscript:()=>dt,useVideo:()=>Ce,useVideoList:()=>Ge,useWhiteboard:()=>nt});module.exports=bt(g);var w=ce(require("react")),Q=ce(require("zustand")),ve=require("@100mslive/hms-video-store");var ue=require("react"),le=ce(require("zustand/shallow"));var y=class{static v(e,...r){this.log(0,e,...r)}static d(e,...r){this.log(1,e,...r)}static i(e,...r){this.log(2,e,...r)}static w(e,...r){this.log(3,e,...r)}static e(e,...r){this.log(4,e,...r)}static log(e,r,...s){if(!(this.level.valueOf()>e.valueOf()))switch(e){case 0:{console.log("HMSui-components: ",r,...s);break}case 1:{console.debug("HMSui-components: ",r,...s);break}case 2:{console.info("HMSui-components: ",r,...s);break}case 3:{console.warn("HMSui-components: ",r,...s);break}case 4:{console.error("HMSui-components: ",r,...s);break}}}};y.level=0;var F=`It seems like you forgot to add your component within a top level HMSRoomProvider, please refer to 100ms react docs(https://www.100ms.live/docs/javascript/v2/how-to-guides/install-the-sdk/integration#react-hooks) to check on the required steps for using this hook. If the provider is present
2
- at the top level, check the yarn.lock/package-lock.json, if there are multiple versions of @100mslive/react-sdk. Please ensure the versions of @100mslive/react-sdk and @100mslive/roomkit-react are the same versions from the release notes(https://www.100ms.live/docs/javascript/v2/changelog/release-notes) that you are trying to update to.`;function be(t){return(r,s=le.default)=>{r||y.w("fetching full store without passing any selector may have a heavy performance impact on your website.");let o=(0,ue.useContext)(t);if(!o)throw new Error(F);let i=o.store;return i(r,s)}}function we(t){return(r,s=le.default)=>{r||y.w("fetching full store without passing any selector may have a heavy performance impact on your website.");let o=(0,ue.useContext)(t);if(!o)throw new Error(F);let i=o.statsStore;return i==null?void 0:i(r,s)}}var de=typeof window!="undefined";var W=(0,w.createContext)(null),Te=({children:t,actions:e,store:r,notifications:s,stats:o,isHMSStatsOn:i=!1,leaveOnUnload:a=!0})=>{let n=(0,w.useMemo)(()=>{let u,l=()=>{throw new Error("modifying store is not allowed")};if(e&&r)u={actions:e,store:(0,Q.default)(K(N({},r),{setState:l,destroy:l}))},s&&(u.notifications=s),o&&(u.statsStore=(0,Q.default)({getState:o.getState,subscribe:o.subscribe,setState:l,destroy:l}));else{let d=new ve.HMSReactiveStore;if(u={actions:d.getActions(),store:(0,Q.default)(K(N({},d.getStore()),{setState:l,destroy:l})),notifications:d.getNotifications()},i){let f=d.getStats();u.statsStore=(0,Q.default)({getState:f.getState,subscribe:f.subscribe,setState:l,destroy:l})}}return u.actions.setFrameworkInfo({type:"react-web",version:w.default.version,sdkVersion:process.env.REACT_SDK_VERSION}),u},[e,r,s,o,i]);(0,w.useEffect)(()=>{if(de&&a){let u=()=>n.actions.leave();return window.addEventListener("unload",u),()=>{window.removeEventListener("unload",u)}}return()=>{}},[a,n]);let c=!e&&!r;return(0,w.useEffect)(()=>{if(!(!c||!de||!a))return()=>{n.actions.leave()}},[c,a,n]),w.default.createElement(W.Provider,{value:n},t)},m=be(W),ye=we(W),I=()=>{let t=(0,w.useContext)(W);if(!t)throw new Error(F);return t.store},G=()=>{let t=(0,w.useContext)(W);if(!t)throw new Error(F);return t.notifications},H=()=>{let t=(0,w.useContext)(W);if(!t)throw new Error(F);return t.actions},oe=t=>{let e=(0,w.useContext)(W),[r,s]=(0,w.useState)(null);if(!e)throw new Error(F);return(0,w.useEffect)(()=>e.notifications?e.notifications.onNotification(i=>{s(i)},t):void 0,[e.notifications,t]),r};var Z=require("react"),B=require("@100mslive/hms-video-store");var se=require("react"),Ee=require("@100mslive/hms-video-store");var wt="react-sdk",v=(t,e)=>y.e(wt,e,t),Re=t=>{throw t};function X(t){let e=(0,se.useRef)();return(0,se.useEffect)(()=>{e.current=t}),e.current}var vt=["blink"],q=vt.some(t=>{var e,r;return((r=(e=Ee.parsedUserAgent.getEngine())==null?void 0:e.name)==null?void 0:r.toLowerCase())===t}),xe="https://pdf-annotation.100ms.live/generic/web/viewer.html";var ke=({name:t="",token:e,metadata:r,handleError:s=v,initEndpoint:o,initialSettings:i,captureNetworkQualityInPreview:a,asRole:n,autoManageVideo:c,autoManageWakeLock:u,iceServers:l})=>{let d=H(),f=m(B.selectRoomState),S=m(B.selectIsConnectedToRoom)||!1,h=f===B.HMSRoomState.Preview,P=(0,Z.useMemo)(()=>({userName:t,authToken:e,metaData:r,rememberDeviceSelection:!0,settings:i,initEndpoint:o,asRole:n,captureNetworkQualityInPreview:a,autoManageVideo:c,autoManageWakeLock:u,iceServers:l}),[t,e,r,o,i,a,n,c,u,l]),D=(0,Z.useCallback)(()=>p(null,null,function*(){if(e)try{(S||f!==B.HMSRoomState.Disconnected)&&(yield d.leave().catch(()=>{})),yield d.preview(P)}catch(T){s(T,"preview")}}),[e,S,f,d,P,s]),x=(0,Z.useCallback)(()=>p(null,null,function*(){if(e)try{yield d.join(P)}catch(T){s(T,"join")}}),[d,P,s,e]);return{enableJoin:h,join:x,isConnected:S,preview:D}};var me=require("react"),A=require("@100mslive/hms-video-store");var Ie=(t=v)=>{let e=m(A.selectIsLocalAudioEnabled),r=m(A.selectIsLocalVideoEnabled),o=m(A.selectIsInPreview)?A.selectIsAllowedToPreviewMedia:A.selectIsAllowedToPublish,i=m(o),a=H(),n=(0,me.useCallback)(()=>p(null,null,function*(){try{yield a.setLocalAudioEnabled(!e)}catch(u){t(u,"toggleAudio")}}),[a,e,t]),c=(0,me.useCallback)(()=>p(null,null,function*(){try{yield a.setLocalVideoEnabled(!r)}catch(u){t(u,"toggleVideo")}}),[a,r,t]);return{isLocalAudioEnabled:e,isLocalVideoEnabled:r,toggleAudio:i!=null&&i.audio?n:void 0,toggleVideo:i!=null&&i.video?c:void 0}};var V=require("react"),Ae=require("@100mslive/hms-video-store");var Ce=({trackId:t,attach:e})=>{let r=H(),s=(0,V.useRef)(null),o=m((0,Ae.selectVideoTrackByID)(t)),i=(0,V.useRef)(),a=(0,V.useCallback)(n=>{n&&(s.current=n)},[]);return(0,V.useEffect)(()=>{i.current?o!=null&&o.id&&i.current!==(o==null?void 0:o.id)&&p(null,null,function*(){if(s.current)try{y.d("detaching because different track is passed"),yield r.detachVideo(i.current,s.current)}catch(n){y.w("detach video error for track",i.current,n)}i.current=o==null?void 0:o.id}):i.current=o==null?void 0:o.id},[o==null?void 0:o.id,r]),(0,V.useEffect)(()=>{p(null,null,function*(){o!=null&&o.id&&s.current&&(e!==!1?yield r.attachVideo(o.id,s.current):yield r.detachVideo(o.id,s.current))})},[o,e,r]),(0,V.useEffect)(()=>()=>{p(null,null,function*(){if(s.current&&o)try{yield r.detachVideo(o.id,s.current)}catch(n){y.w("detach video error for track",o.id,n)}})},[]),{videoRef:a}};var Ve=require("react"),U=require("@100mslive/hms-video-store");var z=(t=v)=>{var a,n;let e=H(),r=m(U.selectIsLocalScreenShared),s=m(U.selectPeerScreenSharing),o=m((0,U.selectScreenSharesByPeerId)(s==null?void 0:s.id)),i=(0,Ve.useCallback)(c=>p(null,null,function*(){try{yield e.setScreenShareEnabled(!r,c)}catch(u){t(u,"toggleScreenShare")}}),[e,r,t]);return{amIScreenSharing:r,screenSharingPeerId:s==null?void 0:s.id,screenSharingPeerName:s==null?void 0:s.name,screenShareVideoTrackId:(a=o==null?void 0:o.video)==null?void 0:a.id,screenShareAudioTrackId:(n=o==null?void 0:o.audio)==null?void 0:n.id,toggleScreenShare:i}};var ie=require("react"),L=require("@100mslive/hms-video-store");var De=(t,e,r)=>p(null,null,function*(){if(e)try{yield t.setRemoteTrackEnabled(e.id,!e.enabled)}catch(s){r(s,"remoteToggle")}}),Ne=(t,e,r=v)=>{let s=H(),o=m((0,L.selectAudioTrackByID)(t)),i=m((0,L.selectVideoTrackByID)(e)),a=m((0,L.selectAudioTrackVolume)(o==null?void 0:o.id)),n=m(L.selectPermissions),c=i!=null&&i.enabled?n==null?void 0:n.mute:n==null?void 0:n.unmute,u=o!=null&&o.enabled?n==null?void 0:n.mute:n==null?void 0:n.unmute,l=(0,ie.useCallback)(()=>p(null,null,function*(){yield De(s,o,r)}),[s,o,r]),d=(0,ie.useCallback)(()=>p(null,null,function*(){yield De(s,i,r)}),[s,r,i]),f=(0,ie.useCallback)(S=>{o&&s.setVolume(S,o.id)},[s,o]);return{isAudioEnabled:!!(o!=null&&o.enabled),isVideoEnabled:!!(i!=null&&i.enabled),volume:a,toggleAudio:o&&u?l:void 0,toggleVideo:(i==null?void 0:i.source)==="regular"&&c?d:void 0,setVolume:o?f:void 0}};var ae=require("react"),We=require("react-resize-detector"),Be=require("@100mslive/hms-video-store");var Tt=(t,e,r)=>t.reduce((s,o,i)=>{let a=Math.floor(i/e);return a>0&&r||(s[a]||(s[a]=[]),s[a].push(o)),s},[]),Le=({elements:t,tilesInFirstPage:e,onlyOnePage:r,isLastPageDifferentFromFirstPage:s,defaultWidth:o,defaultHeight:i,lastPageWidth:a,lastPageHeight:n})=>{let c=Tt(t,e,r);return c.map((u,l)=>u.map(d=>{let f=l===c.length-1,S=s&&f?a:o,h=s&&f?n:i;return K(N({},d),{height:h,width:S})}))};function yt(t){if(t.length===0)return null;let e={},r=t[0],s=1;for(let o=0;o<t.length;o++){let i=t[o];e[i]===null?e[i]=1:e[i]++,e[i]>s&&(r=i,s=e[i])}return r}var Oe=t=>yt(t.filter(e=>{var r,s;return((r=e.track)==null?void 0:r.width)&&((s=e.track)==null?void 0:s.height)}).map(e=>{var o,i;let r=(o=e.track)==null?void 0:o.width,s=(i=e.track)==null?void 0:i.height;return(r||1)/(s||1)})),fe=(t,e,r,s,o)=>{if(t<0||e<0)throw new Error("Container must have a non-negative area");if(r<1||!Number.isInteger(r))throw new Error("Number of shapes to place must be a positive integer");let i=s&&o&&s/o;if(i!==void 0&&isNaN(i))throw new Error("Aspect ratio must be a number");let a={area:0,cols:0,rows:0,width:0,height:0},n=r,c=-1;if(i!==void 0)for(let u=n;u>0;u+=c){let l=Math.ceil(r/u),d=t/(u*i),f=e/l,S,h;d<=f?(S=t/u,h=S/i):(h=e/l,S=h*i);let P=S*h;P>a.area&&(a={area:P,width:S,height:h,rows:l,cols:u})}return a},Et=({parentWidth:t,parentHeight:e,count:r,maxCount:s,aspectRatio:o})=>{let i=0,a=0,n=0,c=0,u=!1,l=0,d=0,f=Math.min(Math.ceil(Math.sqrt(r*(t/e)/(o.width/o.height))),s),S=t/f,h=S/(o.width/o.height);h>e&&(h=e,S=h/(o.height/o.width));let P=Math.floor(e/h);if(a=h,i=S,l=Math.min(r,P*f),d=r%(P*f),u=d>0&&r>P*f,u){let D=Math.min(Math.ceil(Math.sqrt(d*(t/e)/(o.width/o.height))),s),x=t/D,T=x/(o.width/o.height);T>e&&(T=e,x=T/(o.height/o.width)),c=T,n=x}return{tilesInFirstPage:l,defaultWidth:i,defaultHeight:a,lastPageWidth:n,lastPageHeight:c,isLastPageDifferentFromFirstPage:u}},Rt=({parentWidth:t,parentHeight:e,count:r,maxCount:s,aspectRatio:o})=>{let i=0,a=0,n=0,c=0,u=!1,l=0,d=0,{width:f,height:S}=fe(t,e,Math.min(r,s),o.width,o.height);if(i=f,a=S,l=Math.min(r,s),d=r%s,u=d>0&&r>s,u){let{width:h,height:P}=fe(t,e,d,o.width,o.height);n=h,c=P}return{tilesInFirstPage:l,defaultWidth:i,defaultHeight:a,lastPageWidth:n,lastPageHeight:c,isLastPageDifferentFromFirstPage:u}},xt=({parentWidth:t,parentHeight:e,count:r,maxCount:s,aspectRatio:o})=>{let i=0,a=0,n=0,c=0,u=!1,l=0,d=0,f=Math.min(Math.ceil(Math.sqrt(r*(o.width/o.height)/(t/e))),s),S=e/f,h=S*(o.width/o.height),P=Math.floor(t/h);if(i=h,a=S,l=Math.min(r,f*P),d=r%(f*P),u=d>0&&r>f*P,u){let D=Math.min(Math.ceil(Math.sqrt(d*(o.width/o.height)/(t/e))),s),x=e/D,T=x*(o.width/o.height);c=x,n=T}return{tilesInFirstPage:l,defaultWidth:i,defaultHeight:a,lastPageWidth:n,lastPageHeight:c,isLastPageDifferentFromFirstPage:u}};function Fe({count:t,parentWidth:e,parentHeight:r,maxTileCount:s,maxRowCount:o,maxColCount:i,aspectRatio:a}){let n=0,c=0,u=0,l=0,d=!1,f=0;if(t===0)return{tilesInFirstPage:f,defaultWidth:n,defaultHeight:c,lastPageWidth:u,lastPageHeight:l,isLastPageDifferentFromFirstPage:d};if(s)({tilesInFirstPage:f,defaultWidth:n,defaultHeight:c,lastPageWidth:u,lastPageHeight:l,isLastPageDifferentFromFirstPage:d}=Rt({parentWidth:e,parentHeight:r,count:t,maxCount:s,aspectRatio:a}));else if(o)({tilesInFirstPage:f,defaultWidth:n,defaultHeight:c,lastPageWidth:u,lastPageHeight:l,isLastPageDifferentFromFirstPage:d}=xt({parentWidth:e,parentHeight:r,count:t,maxCount:o,aspectRatio:a}));else if(i)({tilesInFirstPage:f,defaultWidth:n,defaultHeight:c,lastPageWidth:u,lastPageHeight:l,isLastPageDifferentFromFirstPage:d}=Et({parentWidth:e,parentHeight:r,count:t,maxCount:i,aspectRatio:a}));else{let{width:S,height:h}=fe(e,r,t,a.width,a.height);n=S,c=h,f=t}return{tilesInFirstPage:f,defaultWidth:n,defaultHeight:c,lastPageWidth:u,lastPageHeight:l,isLastPageDifferentFromFirstPage:d}}var ne=(t,e,r,s=!0)=>{if(!t||!e||!r)return[];let o=[];for(let i of t)if(i.videoTrack===void 0&&i.audioTrack&&e[i.audioTrack]?o.push({peer:i}):i.videoTrack&&e[i.videoTrack]?o.push({track:e[i.videoTrack],peer:i}):s||o.push({peer:i}),i.auxiliaryTracks.length>0&&i.auxiliaryTracks.forEach(n=>{let c=e[n];(c==null?void 0:c.type)==="video"&&(c==null?void 0:c.source)==="regular"&&o.push({track:c,peer:i})}),r(i)&&i.auxiliaryTracks.length>0){let n=i.auxiliaryTracks.find(c=>{let u=e[c];return(u==null?void 0:u.type)==="video"&&(u==null?void 0:u.source)==="screen"});n&&o.push({track:e[n],peer:i})}return o};var kt={aspectRatio:{width:1,height:1}},Ge=({peers:t,maxTileCount:e,maxColCount:r,maxRowCount:s,includeScreenShareForPeer:o=()=>!1,aspectRatio:i=kt.aspectRatio,filterNonPublishingPeers:a=!0,offsetY:n=0})=>{let{width:c=0,height:u=0,ref:l}=(0,We.useResizeDetector)(),f=I().getState(Be.selectTracksMap),S=ne(t,f,o,a),h=(0,ae.useMemo)(()=>i||{width:Oe(S)||1,height:1},[i,S]),P=S.length,{tilesInFirstPage:D,defaultWidth:x,defaultHeight:T,lastPageWidth:pe,lastPageHeight:he,isLastPageDifferentFromFirstPage:ge}=(0,ae.useMemo)(()=>Fe({count:P,parentWidth:Math.floor(c),parentHeight:Math.floor(u)-Math.min(u,n),maxTileCount:e,maxRowCount:s,maxColCount:r,aspectRatio:h}),[P,c,u,e,s,r,h,n]);return{pagesWithTiles:(0,ae.useMemo)(()=>Le({elements:S,tilesInFirstPage:D,onlyOnePage:!1,isLastPageDifferentFromFirstPage:ge,defaultWidth:x,defaultHeight:T,lastPageWidth:pe,lastPageHeight:he}),[S,D,ge,x,T,pe,he]),ref:l}};var qe=require("react"),Ue=require("@100mslive/hms-video-store");function ze({trackId:t,getStyle:e,ref:r}){let s=I();(0,qe.useEffect)(()=>s.subscribe(o=>{if(!r.current)return;let i=e(o);for(let a in i)r.current.style[a]=i[a]},(0,Ue.selectTrackAudioByID)(t)),[e,r,s,t])}var je=require("react"),b=require("@100mslive/hms-video-store");var _e=(t=v)=>{let e=H(),r=m(b.selectDevices),s=m(b.selectLocalMediaSettings),i=m(b.selectIsInPreview)?b.selectIsAllowedToPreviewMedia:b.selectIsAllowedToPublish,a=m(i),n={[b.DeviceType.audioOutput]:s.audioOutputDeviceId},c={[b.DeviceType.audioOutput]:r.audioOutput};a.video&&(c[b.DeviceType.videoInput]=r.videoInput,n[b.DeviceType.videoInput]=s.videoInputDeviceId),a.audio&&(c[b.DeviceType.audioInput]=r.audioInput,n[b.DeviceType.audioInput]=s.audioInputDeviceId);let u=(0,je.useCallback)(f=>p(null,[f],function*({deviceType:l,deviceId:d}){try{switch(l){case b.DeviceType.audioInput:yield e.setAudioSettings({deviceId:d});break;case b.DeviceType.videoInput:yield e.setVideoSettings({deviceId:d});break;case b.DeviceType.audioOutput:yield e.setAudioOutputDevice(d);break}}catch(S){t(S,"updateDevices")}}),[t,e]);return{allDevices:c,selectedDeviceIDs:n,updateDevice:u}};var $e=require("react"),O=require("@100mslive/hms-video-store");var Je=t=>!t||!Array.isArray(t)||t.length===0?{}:t.reduce((e,r)=>(r.roleName&&(e[r.roleName]||(e[r.roleName]=[]),e[r.roleName].push(r)),e),{});var Ye=()=>{let t=m(O.selectIsConnectedToRoom),e=m(t?O.selectPeers:O.selectRemotePeers),r=m(O.selectPeerCount),s=(0,$e.useMemo)(()=>Je(e),[e]);return{roles:Object.keys(s),participantsByRoles:s,peerCount:r,isConnected:t}};var j=require("@100mslive/hms-video-store");var Ke=()=>{let t=m(j.selectRecordingState),e=m(j.selectRTMPState),r=m(j.selectHLSState),s=t.server.running,o=t.browser.running,i=t.hls.running,a=r.running||e.running,n=s||o||i;return{isServerRecordingOn:s,isBrowserRecordingOn:o,isHLSRecordingOn:i,isStreamingOn:a,isHLSRunning:r.running,isRTMPRunning:e.running,isRecordingOn:n}};var _=require("react"),Qe=require("@100mslive/hms-video-store");var Xe=()=>{let t=oe(Qe.HMSNotificationTypes.ERROR),[e,r]=(0,_.useState)(""),s=H(),o=(0,_.useCallback)(()=>p(null,null,function*(){yield s.unblockAudio()}),[s]);return(0,_.useEffect)(()=>{(t==null?void 0:t.data.code)===3008&&r(t==null?void 0:t.data.message)},[t]),{error:e,unblockAudio:o,resetError:()=>r("")}};var ee=require("react"),Ze=require("@100mslive/hms-video-store");var It=(t,e)=>e?JSON.stringify(t||""):t,et=({type:t,json:e=!0,onEvent:r,handleError:s=v})=>{let o=H(),i=G();return(0,ee.useEffect)(()=>{o.ignoreMessageTypes([t])},[o,t]),(0,ee.useEffect)(()=>i?i.onNotification(c=>{let u=c.data;if(u&&u.type===t)try{let l=e?JSON.parse(u.message):u.message;r==null||r(l)}catch(l){s(l,"handleCustomEvent")}},Ze.HMSNotificationTypes.NEW_MESSAGE):void 0,[i,t,e,r,s]),{sendEvent:(0,ee.useCallback)((n,c)=>p(null,null,function*(){try{let u=It(n,e);c&&Array.isArray(c==null?void 0:c.roleNames)?yield o.sendGroupMessage(u,c.roleNames,t):typeof(c==null?void 0:c.peerId)=="string"?yield o.sendDirectMessage(u,c.peerId,t):yield o.sendBroadcastMessage(u,t),r==null||r(n)}catch(u){s(u,"sendCustomEvent")}}),[o,s,r,t,e])}};var E=require("@100mslive/hms-video-store");var tt=t=>{var n;let e=m(E.selectIsConnectedToRoom),r=m(E.selectPeerCount),s=m(E.selectAvailableRoleNames),o=m(e?E.selectPeers:E.selectRemotePeers),i=Array.from(new Set(o.map(c=>c.roleName))),a=I();if((n=t==null?void 0:t.metadata)!=null&&n.isHandRaised&&(o=o.filter(c=>a.getState((0,E.selectPeerMetadata)(c.id)).isHandRaised)),t!=null&&t.role&&s.includes(t.role)&&(o=o.filter(c=>c.roleName===t.role)),t!=null&&t.search){let c=t.search.toLowerCase();o=o.filter(u=>{var l;return((l=u.roleName)==null?void 0:l.toLowerCase().includes(c))||u.name.toLowerCase().includes(c)})}return{participants:o,isConnected:e,peerCount:r,rolesWithParticipants:i}};var k=require("react");var rt=t=>{let e=(0,k.useRef)(null),[r,s]=(0,k.useState)(!1),o=(0,k.useCallback)(()=>{throw new Error("unable to start screen share")},[]),i=(0,k.useRef)(!1),{amIScreenSharing:a,toggleScreenShare:n}=z(o),c=X(a),u=(0,k.useCallback)(()=>p(null,null,function*(){a&&(yield n==null?void 0:n(),e.current=null)}),[a,n]),l=(0,k.useCallback)(d=>p(null,null,function*(){if(!i.current){if(!d)throw new Error("URL not found");if(a)throw new Error("You are already sharing");if(!e.current)throw new Error("Attach a reference `iframeRef` to iframe for sharing");e.current.src=d,i.current=!0,s(!0),yield n==null?void 0:n({forceCurrentTab:q,cropElement:e.current,preferCurrentTab:q})}}),[a,n]);return(0,k.useEffect)(()=>{c&&!a&&(t==null||t(),e.current&&(e.current.src=""),i.current=!1,s(!1))},[a,c,t]),{startEmbedShare:l,stopEmbedShare:u,iframeRef:e,isEmbedShareInProgress:r}};var R=require("react");var ot=t=>{let e=(0,R.useRef)(null),[r,s]=(0,R.useState)(!1),o=(0,R.useCallback)(()=>{throw new Error("unable to start screen share")},[]),i=(0,R.useRef)(!1),{amIScreenSharing:a,toggleScreenShare:n}=z(o),c=X(a),u=(0,R.useCallback)(f=>{var S;e.current&&((S=e.current.contentWindow)==null||S.postMessage({theme:2,file:f},"*"))},[]),l=(0,R.useCallback)(()=>p(null,null,function*(){a&&(yield n==null?void 0:n())}),[a,n]),d=(0,R.useCallback)(f=>p(null,null,function*(){if(i.current)return;if(!f)throw new Error("File or url not found");if(a)throw new Error("You are already sharing");if(!e.current)throw new Error("Attach a reference `iframeRef` to iframe for sharing");e.current.src=`${xe}${typeof f=="string"?`?file=${f}`:""}`,e.current.onload=()=>{requestAnimationFrame(()=>{f instanceof File&&u(f)})},i.current=!0,s(!0);let S=window.self!==window.top;yield n==null?void 0:n({forceCurrentTab:q&&!S,cropElement:e.current,preferCurrentTab:q&&!S})}),[a,u,n]);return(0,R.useEffect)(()=>{c&&!a&&(t==null||t(),e.current&&e.current.removeAttribute("src"),i.current=!1,s(!1))},[a,c,t]),{startPDFShare:d,stopPDFShare:l,iframeRef:e,isPDFShareInProgress:r}};var te=require("react");var st=t=>t.reduce((e,r)=>(e[r.id]=r,e),{}),it=t=>{let e=H(),r=(0,te.useRef)(e.getPeerListIterator(t)),[s,o]=(0,te.useState)({}),[i,a]=(0,te.useState)(0);return{loadPeers:()=>r.current.findPeers().then(n=>{o(st(n)),a(r.current.getTotal())}),loadMorePeers:()=>r.current.next().then(n=>{o(c=>N(N({},c),st(n))),a(r.current.getTotal())}),hasNext:()=>r.current.hasNext(),total:i,peers:Object.values(s)}};var J=require("react"),C=require("@100mslive/hms-video-store");var nt=(t=!1)=>{var S,h;let e=m(C.selectIsConnectedToRoom),r=(S=m(C.selectLocalPeer))==null?void 0:S.customerUserId,s=m(C.selectWhiteboard),o=m((0,C.selectAppData)("disableNotifications")),i=!!(s!=null&&s.open),a=(s==null?void 0:s.owner)===r,n=H(),[c,u]=(0,J.useState)(!1),l=(h=m(C.selectPermissions))==null?void 0:h.whiteboard,d=!!(l!=null&&l.includes("admin"));(0,J.useEffect)(()=>{e&&u(n.interactivityCenter.whiteboard.isEnabled)},[e,n]);let f=(0,J.useCallback)(()=>p(null,null,function*(){!e||!d||(i?a&&(yield n.interactivityCenter.whiteboard.close()):yield n.interactivityCenter.whiteboard.open())}),[n,a,d,i,e]);return{open:i,token:s==null?void 0:s.token,endpoint:s==null?void 0:s.addr,isOwner:a,isAdmin:d,zoomToContent:o||t,toggle:c&&d?f:void 0}};var Se=require("react"),at=require("@100mslive/hms-video-store");var ct=()=>{let t=I(),e=(0,Se.useCallback)(()=>p(null,null,function*(){if(!("Notification"in window)||navigator.webdriver){console.debug("Request Permsissions : Notifications not supported or headless browser");return}if((Notification==null?void 0:Notification.permission)==="granted"||(Notification==null?void 0:Notification.permission)==="denied")return;let s=t.subscribe(o=>p(null,null,function*(){o&&o!=="__internal_recorder"&&(yield Notification.requestPermission(),s==null||s())}),at.selectLocalPeerRoleName)}),[t]),r=(0,Se.useCallback)((s,o)=>{if(!("Notification"in window)){console.debug("Show Notifications: Notifications not supported or headless browser");return}if((Notification==null?void 0:Notification.permission)==="denied"||document.visibilityState==="visible"&&document.hasFocus())return;let i=new Notification(s,o),a=()=>{document.visibilityState==="visible"&&document.hasFocus()&&(i==null||i.close(),document.removeEventListener("visibilitychange",a))};document.addEventListener("visibilitychange",a)},[]);return{requestPermission:e,showNotification:r}};var ut=require("react"),lt=require("@100mslive/hms-video-store");var dt=({onTranscript:t,handleError:e=v})=>{let r="hms_transcript",s=G();(0,ut.useEffect)(()=>s?s.onNotification(i=>{let a=i.data;if(a&&a.type===r)try{let c=JSON.parse(a.message).results;t==null||t(c)}catch(n){e(n,"handleCaptionEvent")}},lt.HMSNotificationTypes.NEW_MESSAGE):void 0,[s,r,e,t])};var $=require("@100mslive/hms-video-store");var mt=()=>{let t=H(),{audioMode:e}=m($.selectLocalMediaSettings),r=e===$.HMSAudioMode.MUSIC;return{toggleMusicMode:()=>p(null,null,function*(){return yield t.setAudioSettings({audioMode:r?$.HMSAudioMode.VOICE:$.HMSAudioMode.MUSIC})}),isMusicModeEnabled:r}};M(g,require("@100mslive/hms-video-store"),module.exports);
1
+ "use strict";var ft=Object.create;var Y=Object.defineProperty,St=Object.defineProperties,pt=Object.getOwnPropertyDescriptor,ht=Object.getOwnPropertyDescriptors,gt=Object.getOwnPropertyNames,Me=Object.getOwnPropertySymbols,Mt=Object.getPrototypeOf,be=Object.prototype.hasOwnProperty,Ht=Object.prototype.propertyIsEnumerable;var He=(t,e,r)=>e in t?Y(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,N=(t,e)=>{for(var r in e||(e={}))be.call(e,r)&&He(t,r,e[r]);if(Me)for(var r of Me(e))Ht.call(e,r)&&He(t,r,e[r]);return t},K=(t,e)=>St(t,ht(e));var bt=(t,e)=>{for(var r in e)Y(t,r,{get:e[r],enumerable:!0})},re=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of gt(e))!be.call(t,o)&&o!==r&&Y(t,o,{get:()=>e[o],enumerable:!(s=pt(e,o))||s.enumerable});return t},M=(t,e,r)=>(re(t,e,"default"),r&&re(r,e,"default")),ce=(t,e,r)=>(r=t!=null?ft(Mt(t)):{},re(e||!t||!t.__esModule?Y(r,"default",{value:t,enumerable:!0}):r,t)),Pt=t=>re(Y({},"__esModule",{value:!0}),t);var p=(t,e,r)=>new Promise((s,o)=>{var i=c=>{try{n(r.next(c))}catch(u){o(u)}},a=c=>{try{n(r.throw(c))}catch(u){o(u)}},n=c=>c.done?s(c.value):Promise.resolve(c.value).then(i,a);n((r=r.apply(t,e)).next())});var g={};bt(g,{HMSRoomProvider:()=>Te,getPeersWithTiles:()=>ne,throwErrorHandler:()=>Re,useAVToggle:()=>Ie,useAudioLevelStyles:()=>Ue,useAudioMode:()=>mt,useAutoplayError:()=>Xe,useAwayNotifications:()=>ct,useCustomEvent:()=>et,useDevices:()=>_e,useEmbedShare:()=>rt,useHMSActions:()=>H,useHMSNotifications:()=>oe,useHMSStatsStore:()=>Ee,useHMSStore:()=>m,useHMSVanillaNotifications:()=>G,useHMSVanillaStore:()=>I,usePDFShare:()=>ot,usePaginatedParticipants:()=>it,useParticipantList:()=>Ye,useParticipants:()=>tt,usePreviewJoin:()=>ke,useRecordingStreaming:()=>Ke,useRemoteAVToggle:()=>Ne,useScreenShare:()=>U,useTranscript:()=>dt,useVideo:()=>Ce,useVideoList:()=>Ge,useWhiteboard:()=>nt});module.exports=Pt(g);var w=ce(require("react")),Q=ce(require("zustand")),ve=require("@100mslive/hms-video-store");var ue=require("react"),le=ce(require("zustand/shallow"));var E=class{static v(e,...r){this.log(0,e,...r)}static d(e,...r){this.log(1,e,...r)}static i(e,...r){this.log(2,e,...r)}static w(e,...r){this.log(3,e,...r)}static e(e,...r){this.log(4,e,...r)}static log(e,r,...s){if(!(this.level.valueOf()>e.valueOf()))switch(e){case 0:{console.log("HMSui-components: ",r,...s);break}case 1:{console.debug("HMSui-components: ",r,...s);break}case 2:{console.info("HMSui-components: ",r,...s);break}case 3:{console.warn("HMSui-components: ",r,...s);break}case 4:{console.error("HMSui-components: ",r,...s);break}}}};E.level=0;var F=`It seems like you forgot to add your component within a top level HMSRoomProvider, please refer to 100ms react docs(https://www.100ms.live/docs/javascript/v2/how-to-guides/install-the-sdk/integration#react-hooks) to check on the required steps for using this hook. If the provider is present
2
+ at the top level, check the yarn.lock/package-lock.json, if there are multiple versions of @100mslive/react-sdk. Please ensure the versions of @100mslive/react-sdk and @100mslive/roomkit-react are the same versions from the release notes(https://www.100ms.live/docs/javascript/v2/changelog/release-notes) that you are trying to update to.`;function Pe(t){return(r,s=le.default)=>{r||E.w("fetching full store without passing any selector may have a heavy performance impact on your website.");let o=(0,ue.useContext)(t);if(!o)throw new Error(F);let i=o.store;return i(r,s)}}function we(t){return(r,s=le.default)=>{r||E.w("fetching full store without passing any selector may have a heavy performance impact on your website.");let o=(0,ue.useContext)(t);if(!o)throw new Error(F);let i=o.statsStore;return i==null?void 0:i(r,s)}}var de=typeof window!="undefined";var W=(0,w.createContext)(null),Te=({children:t,actions:e,store:r,notifications:s,stats:o,isHMSStatsOn:i=!1,leaveOnUnload:a=!0})=>{let n=(0,w.useMemo)(()=>{let u,l=()=>{throw new Error("modifying store is not allowed")};if(e&&r)u={actions:e,store:(0,Q.default)(K(N({},r),{setState:l,destroy:l}))},s&&(u.notifications=s),o&&(u.statsStore=(0,Q.default)({getState:o.getState,subscribe:o.subscribe,setState:l,destroy:l}));else{let d=new ve.HMSReactiveStore;if(u={actions:d.getActions(),store:(0,Q.default)(K(N({},d.getStore()),{setState:l,destroy:l})),notifications:d.getNotifications()},i){let f=d.getStats();u.statsStore=(0,Q.default)({getState:f.getState,subscribe:f.subscribe,setState:l,destroy:l})}}return u.actions.setFrameworkInfo({type:"react-web",version:w.default.version,sdkVersion:process.env.REACT_SDK_VERSION}),u},[e,r,s,o,i]);(0,w.useEffect)(()=>{if(!de||!a)return()=>{};let u=()=>n.actions.leave();return window.addEventListener("pagehide",u),window.addEventListener("beforeunload",u),document.addEventListener("freeze",u),()=>{window.removeEventListener("pagehide",u),window.removeEventListener("beforeunload",u),document.removeEventListener("freeze",u)}},[a,n]);let c=!e&&!r;return(0,w.useEffect)(()=>{if(!(!c||!de||!a))return()=>{n.actions.leave()}},[c,a,n]),w.default.createElement(W.Provider,{value:n},t)},m=Pe(W),Ee=we(W),I=()=>{let t=(0,w.useContext)(W);if(!t)throw new Error(F);return t.store},G=()=>{let t=(0,w.useContext)(W);if(!t)throw new Error(F);return t.notifications},H=()=>{let t=(0,w.useContext)(W);if(!t)throw new Error(F);return t.actions},oe=t=>{let e=(0,w.useContext)(W),[r,s]=(0,w.useState)(null);if(!e)throw new Error(F);return(0,w.useEffect)(()=>e.notifications?e.notifications.onNotification(i=>{s(i)},t):void 0,[e.notifications,t]),r};var Z=require("react"),B=require("@100mslive/hms-video-store");var se=require("react"),ye=require("@100mslive/hms-video-store");var wt="react-sdk",v=(t,e)=>E.e(wt,e,t),Re=t=>{throw t};function X(t){let e=(0,se.useRef)();return(0,se.useEffect)(()=>{e.current=t}),e.current}var vt=["blink"],z=vt.some(t=>{var e,r;return((r=(e=ye.parsedUserAgent.getEngine())==null?void 0:e.name)==null?void 0:r.toLowerCase())===t}),xe="https://pdf-annotation.100ms.live/generic/web/viewer.html";var ke=({name:t="",token:e,metadata:r,handleError:s=v,initEndpoint:o,initialSettings:i,captureNetworkQualityInPreview:a,asRole:n,autoManageVideo:c,autoManageWakeLock:u,iceServers:l})=>{let d=H(),f=m(B.selectRoomState),S=m(B.selectIsConnectedToRoom)||!1,h=f===B.HMSRoomState.Preview,b=(0,Z.useMemo)(()=>({userName:t,authToken:e,metaData:r,rememberDeviceSelection:!0,settings:i,initEndpoint:o,asRole:n,captureNetworkQualityInPreview:a,autoManageVideo:c,autoManageWakeLock:u,iceServers:l}),[t,e,r,o,i,a,n,c,u,l]),D=(0,Z.useCallback)(()=>p(null,null,function*(){if(e)try{(S||f!==B.HMSRoomState.Disconnected)&&(yield d.leave().catch(()=>{})),yield d.preview(b)}catch(T){s(T,"preview")}}),[e,S,f,d,b,s]),x=(0,Z.useCallback)(()=>p(null,null,function*(){if(e)try{yield d.join(b)}catch(T){s(T,"join")}}),[d,b,s,e]);return{enableJoin:h,join:x,isConnected:S,preview:D}};var me=require("react"),A=require("@100mslive/hms-video-store");var Ie=(t=v)=>{let e=m(A.selectIsLocalAudioEnabled),r=m(A.selectIsLocalVideoEnabled),o=m(A.selectIsInPreview)?A.selectIsAllowedToPreviewMedia:A.selectIsAllowedToPublish,i=m(o),a=H(),n=(0,me.useCallback)(()=>p(null,null,function*(){try{yield a.setLocalAudioEnabled(!e)}catch(u){t(u,"toggleAudio")}}),[a,e,t]),c=(0,me.useCallback)(()=>p(null,null,function*(){try{yield a.setLocalVideoEnabled(!r)}catch(u){t(u,"toggleVideo")}}),[a,r,t]);return{isLocalAudioEnabled:e,isLocalVideoEnabled:r,toggleAudio:i!=null&&i.audio?n:void 0,toggleVideo:i!=null&&i.video?c:void 0}};var V=require("react"),Ae=require("@100mslive/hms-video-store");var Ce=({trackId:t,attach:e})=>{let r=H(),s=(0,V.useRef)(null),o=m((0,Ae.selectVideoTrackByID)(t)),i=(0,V.useRef)(),a=(0,V.useCallback)(n=>{n&&(s.current=n)},[]);return(0,V.useEffect)(()=>{i.current?o!=null&&o.id&&i.current!==(o==null?void 0:o.id)&&p(null,null,function*(){if(s.current)try{E.d("detaching because different track is passed"),yield r.detachVideo(i.current,s.current)}catch(n){E.w("detach video error for track",i.current,n)}i.current=o==null?void 0:o.id}):i.current=o==null?void 0:o.id},[o==null?void 0:o.id,r]),(0,V.useEffect)(()=>{p(null,null,function*(){o!=null&&o.id&&s.current&&(e!==!1?yield r.attachVideo(o.id,s.current):yield r.detachVideo(o.id,s.current))})},[o,e,r]),(0,V.useEffect)(()=>()=>{p(null,null,function*(){if(s.current&&o)try{yield r.detachVideo(o.id,s.current)}catch(n){E.w("detach video error for track",o.id,n)}})},[]),{videoRef:a}};var Ve=require("react"),q=require("@100mslive/hms-video-store");var U=(t=v)=>{var a,n;let e=H(),r=m(q.selectIsLocalScreenShared),s=m(q.selectPeerScreenSharing),o=m((0,q.selectScreenSharesByPeerId)(s==null?void 0:s.id)),i=(0,Ve.useCallback)(c=>p(null,null,function*(){try{yield e.setScreenShareEnabled(!r,c)}catch(u){t(u,"toggleScreenShare")}}),[e,r,t]);return{amIScreenSharing:r,screenSharingPeerId:s==null?void 0:s.id,screenSharingPeerName:s==null?void 0:s.name,screenShareVideoTrackId:(a=o==null?void 0:o.video)==null?void 0:a.id,screenShareAudioTrackId:(n=o==null?void 0:o.audio)==null?void 0:n.id,toggleScreenShare:i}};var ie=require("react"),L=require("@100mslive/hms-video-store");var De=(t,e,r)=>p(null,null,function*(){if(e)try{yield t.setRemoteTrackEnabled(e.id,!e.enabled)}catch(s){r(s,"remoteToggle")}}),Ne=(t,e,r=v)=>{let s=H(),o=m((0,L.selectAudioTrackByID)(t)),i=m((0,L.selectVideoTrackByID)(e)),a=m((0,L.selectAudioTrackVolume)(o==null?void 0:o.id)),n=m(L.selectPermissions),c=i!=null&&i.enabled?n==null?void 0:n.mute:n==null?void 0:n.unmute,u=o!=null&&o.enabled?n==null?void 0:n.mute:n==null?void 0:n.unmute,l=(0,ie.useCallback)(()=>p(null,null,function*(){yield De(s,o,r)}),[s,o,r]),d=(0,ie.useCallback)(()=>p(null,null,function*(){yield De(s,i,r)}),[s,r,i]),f=(0,ie.useCallback)(S=>{o&&s.setVolume(S,o.id)},[s,o]);return{isAudioEnabled:!!(o!=null&&o.enabled),isVideoEnabled:!!(i!=null&&i.enabled),volume:a,toggleAudio:o&&u?l:void 0,toggleVideo:(i==null?void 0:i.source)==="regular"&&c?d:void 0,setVolume:o?f:void 0}};var ae=require("react"),We=require("react-resize-detector"),Be=require("@100mslive/hms-video-store");var Tt=(t,e,r)=>t.reduce((s,o,i)=>{let a=Math.floor(i/e);return a>0&&r||(s[a]||(s[a]=[]),s[a].push(o)),s},[]),Le=({elements:t,tilesInFirstPage:e,onlyOnePage:r,isLastPageDifferentFromFirstPage:s,defaultWidth:o,defaultHeight:i,lastPageWidth:a,lastPageHeight:n})=>{let c=Tt(t,e,r);return c.map((u,l)=>u.map(d=>{let f=l===c.length-1,S=s&&f?a:o,h=s&&f?n:i;return K(N({},d),{height:h,width:S})}))};function Et(t){if(t.length===0)return null;let e={},r=t[0],s=1;for(let o=0;o<t.length;o++){let i=t[o];e[i]===null?e[i]=1:e[i]++,e[i]>s&&(r=i,s=e[i])}return r}var Oe=t=>Et(t.filter(e=>{var r,s;return((r=e.track)==null?void 0:r.width)&&((s=e.track)==null?void 0:s.height)}).map(e=>{var o,i;let r=(o=e.track)==null?void 0:o.width,s=(i=e.track)==null?void 0:i.height;return(r||1)/(s||1)})),fe=(t,e,r,s,o)=>{if(t<0||e<0)throw new Error("Container must have a non-negative area");if(r<1||!Number.isInteger(r))throw new Error("Number of shapes to place must be a positive integer");let i=s&&o&&s/o;if(i!==void 0&&isNaN(i))throw new Error("Aspect ratio must be a number");let a={area:0,cols:0,rows:0,width:0,height:0},n=r,c=-1;if(i!==void 0)for(let u=n;u>0;u+=c){let l=Math.ceil(r/u),d=t/(u*i),f=e/l,S,h;d<=f?(S=t/u,h=S/i):(h=e/l,S=h*i);let b=S*h;b>a.area&&(a={area:b,width:S,height:h,rows:l,cols:u})}return a},yt=({parentWidth:t,parentHeight:e,count:r,maxCount:s,aspectRatio:o})=>{let i=0,a=0,n=0,c=0,u=!1,l=0,d=0,f=Math.min(Math.ceil(Math.sqrt(r*(t/e)/(o.width/o.height))),s),S=t/f,h=S/(o.width/o.height);h>e&&(h=e,S=h/(o.height/o.width));let b=Math.floor(e/h);if(a=h,i=S,l=Math.min(r,b*f),d=r%(b*f),u=d>0&&r>b*f,u){let D=Math.min(Math.ceil(Math.sqrt(d*(t/e)/(o.width/o.height))),s),x=t/D,T=x/(o.width/o.height);T>e&&(T=e,x=T/(o.height/o.width)),c=T,n=x}return{tilesInFirstPage:l,defaultWidth:i,defaultHeight:a,lastPageWidth:n,lastPageHeight:c,isLastPageDifferentFromFirstPage:u}},Rt=({parentWidth:t,parentHeight:e,count:r,maxCount:s,aspectRatio:o})=>{let i=0,a=0,n=0,c=0,u=!1,l=0,d=0,{width:f,height:S}=fe(t,e,Math.min(r,s),o.width,o.height);if(i=f,a=S,l=Math.min(r,s),d=r%s,u=d>0&&r>s,u){let{width:h,height:b}=fe(t,e,d,o.width,o.height);n=h,c=b}return{tilesInFirstPage:l,defaultWidth:i,defaultHeight:a,lastPageWidth:n,lastPageHeight:c,isLastPageDifferentFromFirstPage:u}},xt=({parentWidth:t,parentHeight:e,count:r,maxCount:s,aspectRatio:o})=>{let i=0,a=0,n=0,c=0,u=!1,l=0,d=0,f=Math.min(Math.ceil(Math.sqrt(r*(o.width/o.height)/(t/e))),s),S=e/f,h=S*(o.width/o.height),b=Math.floor(t/h);if(i=h,a=S,l=Math.min(r,f*b),d=r%(f*b),u=d>0&&r>f*b,u){let D=Math.min(Math.ceil(Math.sqrt(d*(o.width/o.height)/(t/e))),s),x=e/D,T=x*(o.width/o.height);c=x,n=T}return{tilesInFirstPage:l,defaultWidth:i,defaultHeight:a,lastPageWidth:n,lastPageHeight:c,isLastPageDifferentFromFirstPage:u}};function Fe({count:t,parentWidth:e,parentHeight:r,maxTileCount:s,maxRowCount:o,maxColCount:i,aspectRatio:a}){let n=0,c=0,u=0,l=0,d=!1,f=0;if(t===0)return{tilesInFirstPage:f,defaultWidth:n,defaultHeight:c,lastPageWidth:u,lastPageHeight:l,isLastPageDifferentFromFirstPage:d};if(s)({tilesInFirstPage:f,defaultWidth:n,defaultHeight:c,lastPageWidth:u,lastPageHeight:l,isLastPageDifferentFromFirstPage:d}=Rt({parentWidth:e,parentHeight:r,count:t,maxCount:s,aspectRatio:a}));else if(o)({tilesInFirstPage:f,defaultWidth:n,defaultHeight:c,lastPageWidth:u,lastPageHeight:l,isLastPageDifferentFromFirstPage:d}=xt({parentWidth:e,parentHeight:r,count:t,maxCount:o,aspectRatio:a}));else if(i)({tilesInFirstPage:f,defaultWidth:n,defaultHeight:c,lastPageWidth:u,lastPageHeight:l,isLastPageDifferentFromFirstPage:d}=yt({parentWidth:e,parentHeight:r,count:t,maxCount:i,aspectRatio:a}));else{let{width:S,height:h}=fe(e,r,t,a.width,a.height);n=S,c=h,f=t}return{tilesInFirstPage:f,defaultWidth:n,defaultHeight:c,lastPageWidth:u,lastPageHeight:l,isLastPageDifferentFromFirstPage:d}}var ne=(t,e,r,s=!0)=>{if(!t||!e||!r)return[];let o=[];for(let i of t)if(i.videoTrack===void 0&&i.audioTrack&&e[i.audioTrack]?o.push({peer:i}):i.videoTrack&&e[i.videoTrack]?o.push({track:e[i.videoTrack],peer:i}):s||o.push({peer:i}),i.auxiliaryTracks.length>0&&i.auxiliaryTracks.forEach(n=>{let c=e[n];(c==null?void 0:c.type)==="video"&&(c==null?void 0:c.source)==="regular"&&o.push({track:c,peer:i})}),r(i)&&i.auxiliaryTracks.length>0){let n=i.auxiliaryTracks.find(c=>{let u=e[c];return(u==null?void 0:u.type)==="video"&&(u==null?void 0:u.source)==="screen"});n&&o.push({track:e[n],peer:i})}return o};var kt={aspectRatio:{width:1,height:1}},Ge=({peers:t,maxTileCount:e,maxColCount:r,maxRowCount:s,includeScreenShareForPeer:o=()=>!1,aspectRatio:i=kt.aspectRatio,filterNonPublishingPeers:a=!0,offsetY:n=0})=>{let{width:c=0,height:u=0,ref:l}=(0,We.useResizeDetector)(),f=I().getState(Be.selectTracksMap),S=ne(t,f,o,a),h=(0,ae.useMemo)(()=>i||{width:Oe(S)||1,height:1},[i,S]),b=S.length,{tilesInFirstPage:D,defaultWidth:x,defaultHeight:T,lastPageWidth:pe,lastPageHeight:he,isLastPageDifferentFromFirstPage:ge}=(0,ae.useMemo)(()=>Fe({count:b,parentWidth:Math.floor(c),parentHeight:Math.floor(u)-Math.min(u,n),maxTileCount:e,maxRowCount:s,maxColCount:r,aspectRatio:h}),[b,c,u,e,s,r,h,n]);return{pagesWithTiles:(0,ae.useMemo)(()=>Le({elements:S,tilesInFirstPage:D,onlyOnePage:!1,isLastPageDifferentFromFirstPage:ge,defaultWidth:x,defaultHeight:T,lastPageWidth:pe,lastPageHeight:he}),[S,D,ge,x,T,pe,he]),ref:l}};var ze=require("react"),qe=require("@100mslive/hms-video-store");function Ue({trackId:t,getStyle:e,ref:r}){let s=I();(0,ze.useEffect)(()=>s.subscribe(o=>{if(!r.current)return;let i=e(o);for(let a in i)r.current.style[a]=i[a]},(0,qe.selectTrackAudioByID)(t)),[e,r,s,t])}var je=require("react"),P=require("@100mslive/hms-video-store");var _e=(t=v)=>{let e=H(),r=m(P.selectDevices),s=m(P.selectLocalMediaSettings),i=m(P.selectIsInPreview)?P.selectIsAllowedToPreviewMedia:P.selectIsAllowedToPublish,a=m(i),n={[P.DeviceType.audioOutput]:s.audioOutputDeviceId},c={[P.DeviceType.audioOutput]:r.audioOutput};a.video&&(c[P.DeviceType.videoInput]=r.videoInput,n[P.DeviceType.videoInput]=s.videoInputDeviceId),a.audio&&(c[P.DeviceType.audioInput]=r.audioInput,n[P.DeviceType.audioInput]=s.audioInputDeviceId);let u=(0,je.useCallback)(f=>p(null,[f],function*({deviceType:l,deviceId:d}){try{switch(l){case P.DeviceType.audioInput:yield e.setAudioSettings({deviceId:d});break;case P.DeviceType.videoInput:yield e.setVideoSettings({deviceId:d});break;case P.DeviceType.audioOutput:yield e.setAudioOutputDevice(d);break}}catch(S){t(S,"updateDevices")}}),[t,e]);return{allDevices:c,selectedDeviceIDs:n,updateDevice:u}};var $e=require("react"),O=require("@100mslive/hms-video-store");var Je=t=>!t||!Array.isArray(t)||t.length===0?{}:t.reduce((e,r)=>(r.roleName&&(e[r.roleName]||(e[r.roleName]=[]),e[r.roleName].push(r)),e),{});var Ye=()=>{let t=m(O.selectIsConnectedToRoom),e=m(t?O.selectPeers:O.selectRemotePeers),r=m(O.selectPeerCount),s=(0,$e.useMemo)(()=>Je(e),[e]);return{roles:Object.keys(s),participantsByRoles:s,peerCount:r,isConnected:t}};var j=require("@100mslive/hms-video-store");var Ke=()=>{let t=m(j.selectRecordingState),e=m(j.selectRTMPState),r=m(j.selectHLSState),s=t.server.running,o=t.browser.running,i=t.hls.running,a=r.running||e.running,n=s||o||i;return{isServerRecordingOn:s,isBrowserRecordingOn:o,isHLSRecordingOn:i,isStreamingOn:a,isHLSRunning:r.running,isRTMPRunning:e.running,isRecordingOn:n}};var _=require("react"),Qe=require("@100mslive/hms-video-store");var Xe=()=>{let t=oe(Qe.HMSNotificationTypes.ERROR),[e,r]=(0,_.useState)(""),s=H(),o=(0,_.useCallback)(()=>p(null,null,function*(){yield s.unblockAudio()}),[s]);return(0,_.useEffect)(()=>{(t==null?void 0:t.data.code)===3008&&r(t==null?void 0:t.data.message)},[t]),{error:e,unblockAudio:o,resetError:()=>r("")}};var ee=require("react"),Ze=require("@100mslive/hms-video-store");var It=(t,e)=>e?JSON.stringify(t||""):t,et=({type:t,json:e=!0,onEvent:r,handleError:s=v})=>{let o=H(),i=G();return(0,ee.useEffect)(()=>{o.ignoreMessageTypes([t])},[o,t]),(0,ee.useEffect)(()=>i?i.onNotification(c=>{let u=c.data;if(u&&u.type===t)try{let l=e?JSON.parse(u.message):u.message;r==null||r(l)}catch(l){s(l,"handleCustomEvent")}},Ze.HMSNotificationTypes.NEW_MESSAGE):void 0,[i,t,e,r,s]),{sendEvent:(0,ee.useCallback)((n,c)=>p(null,null,function*(){try{let u=It(n,e);c&&Array.isArray(c==null?void 0:c.roleNames)?yield o.sendGroupMessage(u,c.roleNames,t):typeof(c==null?void 0:c.peerId)=="string"?yield o.sendDirectMessage(u,c.peerId,t):yield o.sendBroadcastMessage(u,t),r==null||r(n)}catch(u){s(u,"sendCustomEvent")}}),[o,s,r,t,e])}};var y=require("@100mslive/hms-video-store");var tt=t=>{var n;let e=m(y.selectIsConnectedToRoom),r=m(y.selectPeerCount),s=m(y.selectAvailableRoleNames),o=m(e?y.selectPeers:y.selectRemotePeers),i=Array.from(new Set(o.map(c=>c.roleName))),a=I();if((n=t==null?void 0:t.metadata)!=null&&n.isHandRaised&&(o=o.filter(c=>a.getState((0,y.selectPeerMetadata)(c.id)).isHandRaised)),t!=null&&t.role&&s.includes(t.role)&&(o=o.filter(c=>c.roleName===t.role)),t!=null&&t.search){let c=t.search.toLowerCase();o=o.filter(u=>{var l;return((l=u.roleName)==null?void 0:l.toLowerCase().includes(c))||u.name.toLowerCase().includes(c)})}return{participants:o,isConnected:e,peerCount:r,rolesWithParticipants:i}};var k=require("react");var rt=t=>{let e=(0,k.useRef)(null),[r,s]=(0,k.useState)(!1),o=(0,k.useCallback)(()=>{throw new Error("unable to start screen share")},[]),i=(0,k.useRef)(!1),{amIScreenSharing:a,toggleScreenShare:n}=U(o),c=X(a),u=(0,k.useCallback)(()=>p(null,null,function*(){a&&(yield n==null?void 0:n(),e.current=null)}),[a,n]),l=(0,k.useCallback)(d=>p(null,null,function*(){if(!i.current){if(!d)throw new Error("URL not found");if(a)throw new Error("You are already sharing");if(!e.current)throw new Error("Attach a reference `iframeRef` to iframe for sharing");e.current.src=d,i.current=!0,s(!0),yield n==null?void 0:n({forceCurrentTab:z,cropElement:e.current,preferCurrentTab:z})}}),[a,n]);return(0,k.useEffect)(()=>{c&&!a&&(t==null||t(),e.current&&(e.current.src=""),i.current=!1,s(!1))},[a,c,t]),{startEmbedShare:l,stopEmbedShare:u,iframeRef:e,isEmbedShareInProgress:r}};var R=require("react");var ot=t=>{let e=(0,R.useRef)(null),[r,s]=(0,R.useState)(!1),o=(0,R.useCallback)(()=>{throw new Error("unable to start screen share")},[]),i=(0,R.useRef)(!1),{amIScreenSharing:a,toggleScreenShare:n}=U(o),c=X(a),u=(0,R.useCallback)(f=>{var S;e.current&&((S=e.current.contentWindow)==null||S.postMessage({theme:2,file:f},"*"))},[]),l=(0,R.useCallback)(()=>p(null,null,function*(){a&&(yield n==null?void 0:n())}),[a,n]),d=(0,R.useCallback)(f=>p(null,null,function*(){if(i.current)return;if(!f)throw new Error("File or url not found");if(a)throw new Error("You are already sharing");if(!e.current)throw new Error("Attach a reference `iframeRef` to iframe for sharing");e.current.src=`${xe}${typeof f=="string"?`?file=${f}`:""}`,e.current.onload=()=>{requestAnimationFrame(()=>{f instanceof File&&u(f)})},i.current=!0,s(!0);let S=window.self!==window.top;yield n==null?void 0:n({forceCurrentTab:z&&!S,cropElement:e.current,preferCurrentTab:z&&!S})}),[a,u,n]);return(0,R.useEffect)(()=>{c&&!a&&(t==null||t(),e.current&&e.current.removeAttribute("src"),i.current=!1,s(!1))},[a,c,t]),{startPDFShare:d,stopPDFShare:l,iframeRef:e,isPDFShareInProgress:r}};var te=require("react");var st=t=>t.reduce((e,r)=>(e[r.id]=r,e),{}),it=t=>{let e=H(),r=(0,te.useRef)(e.getPeerListIterator(t)),[s,o]=(0,te.useState)({}),[i,a]=(0,te.useState)(0);return{loadPeers:()=>r.current.findPeers().then(n=>{o(st(n)),a(r.current.getTotal())}),loadMorePeers:()=>r.current.next().then(n=>{o(c=>N(N({},c),st(n))),a(r.current.getTotal())}),hasNext:()=>r.current.hasNext(),total:i,peers:Object.values(s)}};var J=require("react"),C=require("@100mslive/hms-video-store");var nt=(t=!1)=>{var S,h;let e=m(C.selectIsConnectedToRoom),r=(S=m(C.selectLocalPeer))==null?void 0:S.customerUserId,s=m(C.selectWhiteboard),o=m((0,C.selectAppData)("disableNotifications")),i=!!(s!=null&&s.open),a=(s==null?void 0:s.owner)===r,n=H(),[c,u]=(0,J.useState)(!1),l=(h=m(C.selectPermissions))==null?void 0:h.whiteboard,d=!!(l!=null&&l.includes("admin"));(0,J.useEffect)(()=>{e&&u(n.interactivityCenter.whiteboard.isEnabled)},[e,n]);let f=(0,J.useCallback)(()=>p(null,null,function*(){!e||!d||(i?a&&(yield n.interactivityCenter.whiteboard.close()):yield n.interactivityCenter.whiteboard.open())}),[n,a,d,i,e]);return{open:i,token:s==null?void 0:s.token,endpoint:s==null?void 0:s.addr,isOwner:a,isAdmin:d,zoomToContent:o||t,toggle:c&&d?f:void 0}};var Se=require("react"),at=require("@100mslive/hms-video-store");var ct=()=>{let t=I(),e=(0,Se.useCallback)(()=>p(null,null,function*(){if(!("Notification"in window)||navigator.webdriver){console.debug("Request Permsissions : Notifications not supported or headless browser");return}if((Notification==null?void 0:Notification.permission)==="granted"||(Notification==null?void 0:Notification.permission)==="denied")return;let s=t.subscribe(o=>p(null,null,function*(){o&&o!=="__internal_recorder"&&(yield Notification.requestPermission(),s==null||s())}),at.selectLocalPeerRoleName)}),[t]),r=(0,Se.useCallback)((s,o)=>{if(!("Notification"in window)){console.debug("Show Notifications: Notifications not supported or headless browser");return}if((Notification==null?void 0:Notification.permission)==="denied"||document.visibilityState==="visible"&&document.hasFocus())return;let i=new Notification(s,o),a=()=>{document.visibilityState==="visible"&&document.hasFocus()&&(i==null||i.close(),document.removeEventListener("visibilitychange",a))};document.addEventListener("visibilitychange",a)},[]);return{requestPermission:e,showNotification:r}};var ut=require("react"),lt=require("@100mslive/hms-video-store");var dt=({onTranscript:t,handleError:e=v})=>{let r="hms_transcript",s=G();(0,ut.useEffect)(()=>s?s.onNotification(i=>{let a=i.data;if(a&&a.type===r)try{let c=JSON.parse(a.message).results;t==null||t(c)}catch(n){e(n,"handleCaptionEvent")}},lt.HMSNotificationTypes.NEW_MESSAGE):void 0,[s,r,e,t])};var $=require("@100mslive/hms-video-store");var mt=()=>{let t=H(),{audioMode:e}=m($.selectLocalMediaSettings),r=e===$.HMSAudioMode.MUSIC;return{toggleMusicMode:()=>p(null,null,function*(){return yield t.setAudioSettings({audioMode:r?$.HMSAudioMode.VOICE:$.HMSAudioMode.MUSIC})}),isMusicModeEnabled:r}};M(g,require("@100mslive/hms-video-store"),module.exports);
3
3
  //# sourceMappingURL=index.cjs.js.map