@100mslive/hms-video-store 0.12.4-alpha.0 → 0.12.4

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,4 +1,4 @@
1
- "use strict";var io=Object.create;var at=Object.defineProperty,ro=Object.defineProperties,so=Object.getOwnPropertyDescriptor,ao=Object.getOwnPropertyDescriptors,oo=Object.getOwnPropertyNames,Jt=Object.getOwnPropertySymbols,Ts=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty,fs=Object.prototype.propertyIsEnumerable,no=Reflect.get;var gs=(a,e,t)=>e in a?at(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,S=(a,e)=>{for(var t in e||(e={}))dr.call(e,t)&&gs(a,t,e[t]);if(Jt)for(var t of Jt(e))fs.call(e,t)&&gs(a,t,e[t]);return a},v=(a,e)=>ro(a,ao(e));var lr=(a,e)=>{var t={};for(var i in a)dr.call(a,i)&&e.indexOf(i)<0&&(t[i]=a[i]);if(a!=null&&Jt)for(var i of Jt(a))e.indexOf(i)<0&&fs.call(a,i)&&(t[i]=a[i]);return t};var co=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports),lo=(a,e)=>{for(var t in e)at(a,t,{get:e[t],enumerable:!0})},vs=(a,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of oo(e))!dr.call(a,r)&&r!==t&&at(a,r,{get:()=>e[r],enumerable:!(i=so(e,r))||i.enumerable});return a};var Ce=(a,e,t)=>(t=a!=null?io(Ts(a)):{},vs(e||!a||!a.__esModule?at(t,"default",{value:a,enumerable:!0}):t,a)),uo=a=>vs(at({},"__esModule",{value:!0}),a);var q=(a,e,t)=>no(Ts(a),t,e);var c=(a,e,t)=>new Promise((i,r)=>{var s=l=>{try{n(t.next(l))}catch(u){r(u)}},o=l=>{try{n(t.throw(l))}catch(u){r(u)}},n=l=>l.done?i(l.value):Promise.resolve(l.value).then(s,o);n((t=t.apply(a,e)).next())});var wr=co((zd,tn)=>{tn.exports={version:"0.12.4-alpha.0",license:"MIT",repository:{type:"git",url:"https://github.com/100mslive/web-sdks.git",directory:"packages/hms-video-store"},main:"dist/index.cjs.js",module:"dist/index.js",typings:"dist/index.d.ts",files:["dist","src"],engines:{node:">=12"},exports:{".":{require:"./dist/index.cjs.js",import:"./dist/index.js",default:"./dist/index.js"}},sideEffects:!1,scripts:{prestart:"rm -rf dist && yarn types:build",start:'concurrently "yarn dev" "yarn types"',dev:"node ../../scripts/dev","build:only":"node ../../scripts/build",build:"yarn build:only && yarn types:build",types:"tsc -w","types:build":"tsc -p tsconfig.json",format:"prettier --write src/**/*.ts",test:"jest --maxWorkers=1","test:watch":"jest --watch","test:coverage":"jest --coverage",lint:"eslint -c ../../.eslintrc .","lint:fix":"yarn lint --fix",prepare:"yarn build",size:"size-limit",analyze:"size-limit --why",docs:"rm -rf ./docs && typedoc && rm -f ./docs/README.md && mkdir ./docs/home &&mv ./docs/modules.md ./docs/home/content.md && node ../../scripts/docs-store && npx prettier --write './docs/**/*'"},name:"@100mslive/hms-video-store",author:"100ms",dependencies:{eventemitter2:"^6.4.9",immer:"^9.0.6","lodash.isequal":"^4.5.0",reselect:"4.0.0","sdp-transform":"^2.14.1","ua-parser-js":"^1.0.1",uuid:"^8.3.2","webrtc-adapter":"^8.0.0",zustand:"3.5.7"},devDependencies:{"@types/dom-screen-wake-lock":"^1.0.1","@types/lodash.isequal":"^4.5.8","@types/sdp-transform":"^2.4.4","@types/ua-parser-js":"^0.7.36","@types/uuid":"^8.3.0","jest-canvas-mock":"^2.3.1","jsdom-worker":"^0.3.0",tslib:"^2.2.0"},description:"@100mslive Core SDK which abstracts the complexities of webRTC while providing a reactive store for data management with a unidirectional data flow",keywords:["video","webrtc","conferencing","100ms"],gitHead:"9d71fb326cd5235a5ddb8093703f69653d46949d"}});var Xc={};lo(Xc,{DeviceType:()=>Ur,DomainCategory:()=>Ir,EventBus:()=>et,HLSPlaylistType:()=>xr,HMSAudioPluginType:()=>ii,HMSLogLevel:()=>br,HMSMessageType:()=>Ms,HMSNotificationSeverity:()=>ur,HMSNotificationTypes:()=>zt,HMSPlaylistType:()=>pr,HMSPluginUnsupportedTypes:()=>ri,HMSReactiveStore:()=>Be,HMSRecordingState:()=>Or,HMSRoomState:()=>Qt,HMSStats:()=>st,HMSVideoPluginCanvasContextType:()=>ci,HMSVideoPluginType:()=>ni,createDefaultStatsStore:()=>nt,createDefaultStoreState:()=>ot,parsedUserAgent:()=>de,selectAppData:()=>Pn,selectAppDataByPath:()=>bn,selectAudioPlaylist:()=>Pr,selectAudioPlaylistTrackByPeerID:()=>Bn,selectAudioTrackByID:()=>In,selectAudioTrackByPeerID:()=>ka,selectAudioTrackVolume:()=>is,selectAudioVolumeByPeerID:()=>Kn,selectAuxiliaryAudioByPeerID:()=>On,selectAuxiliaryTracksByPeerID:()=>Ln,selectAvailableRoleNames:()=>Oo,selectBroadcastMessages:()=>Aa,selectBroadcastMessagesUnreadCount:()=>zn,selectCameraStreamByPeerID:()=>Cn,selectConnectionQualities:()=>go,selectConnectionQualityByPeerID:()=>Nn,selectDegradedTracks:()=>Lo,selectDevices:()=>So,selectDidIJoinWithin:()=>vc,selectDominantSpeaker:()=>Eo,selectEffectsKey:()=>Ko,selectErrors:()=>Ps,selectFullAppData:()=>Xt,selectHLSState:()=>Vo,selectHMSBroadcastMessages:()=>As,selectHMSMessages:()=>Fe,selectHMSMessagesCount:()=>wo,selectHMSStats:()=>to,selectHandRaisedPeers:()=>Qo,selectHasPeerHandRaised:()=>sc,selectIsAllowedToPreviewMedia:()=>uc,selectIsAllowedToPublish:()=>lc,selectIsAllowedToSubscribe:()=>xo,selectIsAudioLocallyMuted:()=>ts,selectIsConnectedToRoom:()=>me,selectIsEffectsEnabled:()=>$o,selectIsInPreview:()=>Tr,selectIsLargeRoom:()=>Wo,selectIsLocalAudioEnabled:()=>bo,selectIsLocalAudioPluginPresent:()=>gc,selectIsLocalScreenShared:()=>ei,selectIsLocalVideoDisplayEnabled:()=>gr,selectIsLocalVideoEnabled:()=>Zt,selectIsLocalVideoPluginPresent:()=>Sc,selectIsLocallyMutedByPeerID:()=>Wn,selectIsPeerAudioEnabled:()=>Fn,selectIsPeerVideoEnabled:()=>Gn,selectIsRoleAllowedToPublish:()=>pc,selectIsScreenShareLocallyMutedByPeerID:()=>$n,selectIsSomeoneScreenSharing:()=>Ao,selectLocalAudioTrackID:()=>X,selectLocalMediaSettings:()=>mr,selectLocalPeer:()=>j,selectLocalPeerID:()=>ce,selectLocalPeerName:()=>Mo,selectLocalPeerRole:()=>ht,selectLocalPeerRoleName:()=>yo,selectLocalTrackIDs:()=>Sr,selectLocalVideoTrackID:()=>W,selectMessageByMessageID:()=>oc,selectMessageIDsInOrder:()=>hr,selectMessagesByPeerID:()=>Yn,selectMessagesByRole:()=>Xn,selectMessagesMap:()=>pt,selectMessagesUnreadCountByPeerID:()=>ec,selectMessagesUnreadCountByRole:()=>Zn,selectPeerAudioByID:()=>_n,selectPeerByCondition:()=>Tc,selectPeerByID:()=>$,selectPeerCount:()=>To,selectPeerMetadata:()=>rc,selectPeerName:()=>ac,selectPeerNameByID:()=>An,selectPeerScreenSharing:()=>bs,selectPeerSharingAudio:()=>Io,selectPeerSharingAudioPlaylist:()=>Co,selectPeerSharingVideoPlaylist:()=>Ho,selectPeers:()=>ie,selectPeersByCondition:()=>fc,selectPeersByRole:()=>tc,selectPeersByRoles:()=>ic,selectPeersMap:()=>G,selectPeersScreenSharing:()=>Ro,selectPeersWithAudioStatus:()=>nc,selectPermissions:()=>vr,selectPollByID:()=>rs,selectPolls:()=>Jo,selectPollsMap:()=>Mr,selectPreviewRole:()=>fr,selectPreviewRoleName:()=>Is,selectRTMPState:()=>Bo,selectRecentError:()=>ho,selectRecordingState:()=>Uo,selectRemotePeers:()=>Po,selectRoleByRoleName:()=>Ia,selectRoleChangeRequest:()=>dc,selectRolesMap:()=>re,selectRoom:()=>U,selectRoomID:()=>mo,selectRoomStartTime:()=>Go,selectRoomStarted:()=>No,selectRoomState:()=>J,selectScreenAudioTrackByID:()=>Rn,selectScreenShareAudioByPeerID:()=>es,selectScreenShareByPeerID:()=>Vn,selectScreenSharesByPeerId:()=>Zr,selectScreenVideoTrackByID:()=>Hn,selectScreenshareAudioVolumeByPeerID:()=>qn,selectSessionId:()=>Fo,selectSessionMetadata:()=>jo,selectSessionStore:()=>En,selectSimulcastLayerByTrack:()=>jn,selectSpeakers:()=>Es,selectTemplateAppData:()=>qo,selectTrackAudioByID:()=>wn,selectTrackByID:()=>At,selectTracksMap:()=>w,selectUnreadHMSBroadcastMessagesCount:()=>_o,selectUnreadHMSMessagesCount:()=>Do,selectVideoPlaylist:()=>Er,selectVideoPlaylistAudioTrackByPeerID:()=>Un,selectVideoPlaylistVideoTrackByPeerID:()=>xn,selectVideoTrackByID:()=>Xr,selectVideoTrackByPeerID:()=>ya,selectWhiteboard:()=>zo,selectWhiteboards:()=>Rs,simulcastMapping:()=>Ie});module.exports=uo(Xc);var Qt=(n=>(n.Disconnected="Disconnected",n.Preview="Preview",n.Connecting="Connecting",n.Connected="Connected",n.Reconnecting="Reconnecting",n.Disconnecting="Disconnecting",n.Failed="Failed",n))(Qt||{});var ot=()=>({room:{id:"",isConnected:!1,name:"",peers:[],localPeer:"",roomState:"Disconnected",recording:{browser:{running:!1},server:{running:!1},hls:{running:!1}},rtmp:{running:!1},hls:{running:!1,variants:[]},sessionId:""},peers:{},tracks:{},playlist:{audio:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1},video:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1}},messages:{byID:{},allIDs:[]},speakers:{},connectionQualities:{},settings:{audioInputDeviceId:"",audioOutputDeviceId:"",videoInputDeviceId:""},devices:{audioInput:[],audioOutput:[],videoInput:[]},roles:{},roleChangeRequests:[],errors:[],sessionStore:{},templateAppData:{},polls:{},whiteboards:{},hideLocalPeer:!1}),nt=()=>({peerStats:{},remoteTrackStats:{},localTrackStats:{},localPeer:{id:""}});var Ms=(e=>(e.CHAT="chat",e))(Ms||{});var ur=(t=>(t.INFO="info",t.ERROR="error",t))(ur||{}),zt=(C=>(C.PEER_JOINED="PEER_JOINED",C.PEER_LEFT="PEER_LEFT",C.PEER_LIST="PEER_LIST",C.NEW_MESSAGE="NEW_MESSAGE",C.ERROR="ERROR",C.RECONNECTING="RECONNECTING",C.RECONNECTED="RECONNECTED",C.TRACK_ADDED="TRACK_ADDED",C.TRACK_REMOVED="TRACK_REMOVED",C.TRACK_MUTED="TRACK_MUTED",C.TRACK_UNMUTED="TRACK_UNMUTED",C.TRACK_DEGRADED="TRACK_DEGRADED",C.TRACK_RESTORED="TRACK_RESTORED",C.TRACK_DESCRIPTION_CHANGED="TRACK_DESCRIPTION_CHANGED",C.ROLE_UPDATED="ROLE_UPDATED",C.CHANGE_TRACK_STATE_REQUEST="CHANGE_TRACK_STATE_REQUEST",C.CHANGE_MULTI_TRACK_STATE_REQUEST="CHANGE_MULTI_TRACK_STATE_REQUEST",C.ROOM_ENDED="ROOM_ENDED",C.REMOVED_FROM_ROOM="REMOVED_FROM_ROOM",C.DEVICE_CHANGE_UPDATE="DEVICE_CHANGE_UPDATE",C.PLAYLIST_TRACK_ENDED="PLAYLIST_TRACK_ENDED",C.NAME_UPDATED="NAME_UPDATED",C.METADATA_UPDATED="METADATA_UPDATED",C.POLL_CREATED="POLL_CREATED",C.POLL_STARTED="POLL_STARTED",C.POLL_STOPPED="POLL_STOPPED",C.POLL_VOTES_UPDATED="POLL_VOTES_UPDATED",C.POLLS_LIST="POLLS_LIST",C.HAND_RAISE_CHANGED="HAND_RAISE_CHANGED",C))(zt||{});var pr=(t=>(t.audio="audio",t.video="video",t))(pr||{});var E=require("reselect");function Le(a,e){let t,i;if(e)for(let r of e.auxiliaryTracks){let s=a[r];po(s)&&(i=ct(s)?s:i,t=dt(s)?s:t)}return{video:t,audio:i}}function ct(a){return a&&a.type==="audio"}function dt(a){return a&&a.type==="video"}function po(a){return a&&a.source==="screen"}function Yt(a){return a&&a.source==="audioplaylist"}function lt(a){return a&&a.source==="videoplaylist"}function ys(a){return a?!!(a!=null&&a.degraded):!1}function Ve(a,e){return e&&a.tracks[e]?a.tracks[e].enabled:!1}function ks(a,e){return e&&a.tracks[e]?a.tracks[e].displayEnabled:!1}function ut(a){var r;let e=!1,t=!1,i=!1;return(r=a==null?void 0:a.publishParams)!=null&&r.allowed&&(e=a.publishParams.allowed.includes("video"),t=a.publishParams.allowed.includes("audio"),i=a.publishParams.allowed.includes("screen")),{video:e,audio:t,screen:i}}var U=a=>a.room,Ps=a=>a.errors,ho=(0,E.createSelector)(Ps,a=>a.length===0?null:a.at(-1)),mo=(0,E.createSelector)(U,a=>a.id),G=a=>a.peers,pt=a=>a.messages.byID,hr=a=>a.messages.allIDs,w=a=>a.tracks,mr=a=>a.settings,Xt=a=>a.appData,So=a=>a.devices,Es=a=>a.speakers,go=a=>a.connectionQualities,me=(0,E.createSelector)([U],a=>a&&a.isConnected),To=(0,E.createSelector)([me,U],(a,e)=>a?e.peerCount!==void 0?e.peerCount||1:e.peers.length:Math.max(e.peerCount!==void 0?e.peerCount:e.peers.length-1,0)),fo=a=>a.hideLocalPeer,ie=(0,E.createSelector)([U,G,fo],(a,e,t)=>t?a.peers.filter(i=>a.localPeer!==i).map(i=>e[i]):a.peers.map(i=>e[i])),vo=(0,E.createSelector)(w,a=>Object.values(a)),j=(0,E.createSelector)(U,G,(a,e)=>e[a.localPeer]),ce=(0,E.createSelector)(U,a=>a.localPeer),Mo=(0,E.createSelector)(j,a=>a==null?void 0:a.name),yo=(0,E.createSelector)(j,a=>a==null?void 0:a.roleName),X=(0,E.createSelector)(j,a=>a==null?void 0:a.audioTrack),W=(0,E.createSelector)(j,a=>a==null?void 0:a.videoTrack),ko=(0,E.createSelector)(j,a=>a==null?void 0:a.auxiliaryTracks),Sr=(0,E.createSelector)([X,W,ko],(a,e,t)=>{let i=t?[...t]:[];return a&&i.unshift(a),e&&i.unshift(e),i}),Po=(0,E.createSelector)(ie,a=>a.filter(e=>!e.isLocal)),Eo=(0,E.createSelector)(G,Es,(a,e)=>{let t=Object.entries(e).sort((i,r)=>{var n,l;let s=((n=i[1])==null?void 0:n.audioLevel)||0;return(((l=r[1])==null?void 0:l.audioLevel)||0)>s?1:-1});if(t.length>0&&t[0][1].audioLevel&&t[0][1].audioLevel>0){let i=t[0][1].peerID;if(i in a)return a[i]}return null}),bo=a=>{let e=j(a);return Ve(a,e==null?void 0:e.audioTrack)},Zt=a=>{let e=j(a);return Ve(a,e==null?void 0:e.videoTrack)},gr=a=>{let e=j(a);return ks(a,e==null?void 0:e.videoTrack)},ei=(0,E.createSelector)(j,w,(a,e)=>{let{video:t,audio:i}=Le(e,a);return!!(t||i)}),bs=(0,E.createSelector)(G,w,(a,e)=>{let t;for(let i in a){let r=a[i],{video:s,audio:o}=Le(e,r);if(s)return r;o&&!t&&(t=r)}return t}),Ao=(0,E.createSelector)(bs,a=>!!a),Io=(0,E.createSelector)(G,w,(a,e)=>{for(let t in a){let i=a[t],{audio:r,video:s}=Le(e,i);if(!s&&r)return i}}),Ro=(0,E.createSelector)(G,w,(a,e)=>{let t=[],i=[];for(let r in a){let s=a[r],{video:o,audio:n}=Le(e,s);o?t.push(s):n&&i.push(s)}return t.concat(i)}),Ho=(0,E.createSelector)(G,w,(a,e)=>{for(let t in e){let i=e[t];if(lt(i)&&dt(i)&&i.peerId)return a[i.peerId]}}),Co=(0,E.createSelector)(G,w,(a,e)=>{for(let t in e){let i=e[t];if(Yt(i)&&i.peerId)return a[i.peerId]}}),Lo=(0,E.createSelector)(vo,a=>a.filter(ys)),wo=(0,E.createSelector)(hr,a=>a.length),Do=(0,E.createSelector)(pt,a=>Object.values(a).filter(e=>!e.read).length),Fe=(0,E.createSelector)(hr,pt,(a,e)=>{let t=[];return a.forEach(i=>{t.push(e[i])}),t}),As=(0,E.createSelector)(Fe,a=>a.filter(e=>{var t;return!e.recipientPeer&&!(e.recipientRoles&&((t=e.recipientRoles)==null?void 0:t.length)>0)})),_o=(0,E.createSelector)(As,a=>a.filter(e=>!e.read).length),J=(0,E.createSelector)([U],a=>a&&a.roomState),Tr=(0,E.createSelector)(J,a=>a==="Preview"),No=(0,E.createSelector)(U,a=>a.roomState!=="Disconnected"),re=a=>a.roles,Oo=(0,E.createSelector)([re],a=>Object.keys(a)),ht=(0,E.createSelector)([j,re],(a,e)=>a!=null&&a.roleName?e[a.roleName]:null),Is=a=>{var e;return(e=a.preview)==null?void 0:e.asRole},fr=(0,E.createSelector)([Is,re],(a,e)=>a?e[a]:null),xo=(0,E.createSelector)([ht],a=>{var e;return(e=a==null?void 0:a.subscribeParams)!=null&&e.subscribeToRoles?a.subscribeParams.subscribeToRoles.length>0:!1}),vr=(0,E.createSelector)(ht,a=>a==null?void 0:a.permissions),Uo=(0,E.createSelector)(U,a=>a.recording),Bo=(0,E.createSelector)(U,a=>a.rtmp),Vo=(0,E.createSelector)(U,a=>a.hls),Fo=(0,E.createSelector)(U,a=>a.sessionId),Go=(0,E.createSelector)(U,a=>a.startedAt),Wo=(0,E.createSelector)(U,a=>!!a.isLargeRoom),$o=(0,E.createSelector)(U,a=>!!a.isEffectsEnabled),Ko=(0,E.createSelector)(U,a=>a.effectsKey),qo=a=>a.templateAppData,jo=a=>a.sessionMetadata,Mr=a=>a.polls,Jo=a=>Object.values(a.polls),Qo=(0,E.createSelector)(ie,a=>a.filter(e=>e.isHandRaised)),Rs=a=>a.whiteboards,zo=(0,E.createSelector)(Rs,a=>Object.values(a)[0]);var yr=require("reselect");var Hs=(a="audio")=>e=>e.playlist[a].list,kr=(a="audio")=>e=>e.playlist[a].selection,Cs=(a="audio")=>e=>e.playlist[a].progress,Ls=(a="audio")=>e=>e.playlist[a].currentTime,ws=(a="audio")=>e=>e.playlist[a].playbackRate,Ds=(a="audio")=>e=>e.playlist[a].volume,_s=(a="audio")=>(0,yr.createSelector)(Hs(a),e=>Object.values(e)),Ns=(a="audio")=>(0,yr.createSelector)(Hs(a),kr(a),(e,t)=>{if(t.id)return e[t.id]}),Pr={selection:kr("audio"),progress:Cs("audio"),currentTime:Ls("audio"),playbackRate:ws("audio"),volume:Ds("audio"),list:_s("audio"),selectedItem:Ns("audio")},Er={selection:kr("video"),progress:Cs("video"),currentTime:Ls("video"),playbackRate:ws("video"),volume:Ds("video"),list:_s("video"),selectedItem:Ns("video")};var H=require("reselect");function I(a){return e=>t=>a(t,e)}var br=(l=>(l[l.VERBOSE=0]="VERBOSE",l[l.DEBUG=1]="DEBUG",l[l.INFO=2]="INFO",l[l.WARN=3]="WARN",l[l.TIME=4]="TIME",l[l.TIMEEND=5]="TIMEEND",l[l.ERROR=6]="ERROR",l[l.NONE=7]="NONE",l))(br||{}),Yo=typeof window!="undefined"&&typeof window.expect!="undefined",d=class{static v(e,...t){this.log(0,e,...t)}static d(e,...t){this.log(1,e,...t)}static i(e,...t){this.log(2,e,...t)}static w(e,...t){this.log(3,e,...t)}static e(e,...t){this.log(6,e,...t)}static time(e){this.log(4,"[HMSPerformanceTiming]",e)}static timeEnd(e){this.log(5,"[HMSPerformanceTiming]",e,e)}static cleanup(){performance.clearMarks(),performance.clearMeasures()}static log(e,t,...i){if(!(this.level.valueOf()>e.valueOf()))switch(e){case 0:{console.log(t,...i);break}case 1:{console.debug(t,...i);break}case 2:{console.info(t,...i);break}case 3:{console.warn(t,...i);break}case 6:{console.error(t,...i);break}case 4:{performance.mark(i[0]);break}case 5:{let r=i[0];try{let s=performance.measure(r,r);this.log(1,t,r,s==null?void 0:s.duration),performance.clearMarks(r),performance.clearMeasures(r)}catch(s){this.log(1,t,r,s)}break}}}};d.level=Yo?7:0;var Ge=class{constructor(e){this.tracks=new Array;this.nativeStream=e,this.id=e.id}updateId(e){this.id=e}};var Bs=require("ua-parser-js"),de=new Bs.UAParser,_=typeof window!="undefined",Os,we=typeof window=="undefined"&&!((Os=de.getBrowser().name)!=null&&Os.toLowerCase().includes("electron"));var Xo=()=>!we,pd=Xo(),De=()=>de.getDevice().type==="mobile",Vs=()=>typeof document!="undefined"&&document.hidden,Ar=()=>{var a;return((a=de.getOS().name)==null?void 0:a.toLowerCase())==="ios"},xs,Us,Fs=((Us=(xs=de.getBrowser())==null?void 0:xs.name)==null?void 0:Us.toLowerCase())==="firefox";var ti=a=>a?`{
1
+ "use strict";var io=Object.create;var at=Object.defineProperty,ro=Object.defineProperties,so=Object.getOwnPropertyDescriptor,ao=Object.getOwnPropertyDescriptors,oo=Object.getOwnPropertyNames,Jt=Object.getOwnPropertySymbols,Ts=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty,fs=Object.prototype.propertyIsEnumerable,no=Reflect.get;var gs=(a,e,t)=>e in a?at(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,S=(a,e)=>{for(var t in e||(e={}))dr.call(e,t)&&gs(a,t,e[t]);if(Jt)for(var t of Jt(e))fs.call(e,t)&&gs(a,t,e[t]);return a},v=(a,e)=>ro(a,ao(e));var lr=(a,e)=>{var t={};for(var i in a)dr.call(a,i)&&e.indexOf(i)<0&&(t[i]=a[i]);if(a!=null&&Jt)for(var i of Jt(a))e.indexOf(i)<0&&fs.call(a,i)&&(t[i]=a[i]);return t};var co=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports),lo=(a,e)=>{for(var t in e)at(a,t,{get:e[t],enumerable:!0})},vs=(a,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of oo(e))!dr.call(a,r)&&r!==t&&at(a,r,{get:()=>e[r],enumerable:!(i=so(e,r))||i.enumerable});return a};var Ce=(a,e,t)=>(t=a!=null?io(Ts(a)):{},vs(e||!a||!a.__esModule?at(t,"default",{value:a,enumerable:!0}):t,a)),uo=a=>vs(at({},"__esModule",{value:!0}),a);var q=(a,e,t)=>no(Ts(a),t,e);var c=(a,e,t)=>new Promise((i,r)=>{var s=l=>{try{n(t.next(l))}catch(u){r(u)}},o=l=>{try{n(t.throw(l))}catch(u){r(u)}},n=l=>l.done?i(l.value):Promise.resolve(l.value).then(s,o);n((t=t.apply(a,e)).next())});var wr=co((zd,tn)=>{tn.exports={version:"0.12.4",license:"MIT",repository:{type:"git",url:"https://github.com/100mslive/web-sdks.git",directory:"packages/hms-video-store"},main:"dist/index.cjs.js",module:"dist/index.js",typings:"dist/index.d.ts",files:["dist","src"],engines:{node:">=12"},exports:{".":{require:"./dist/index.cjs.js",import:"./dist/index.js",default:"./dist/index.js"}},sideEffects:!1,scripts:{prestart:"rm -rf dist && yarn types:build",start:'concurrently "yarn dev" "yarn types"',dev:"node ../../scripts/dev","build:only":"node ../../scripts/build",build:"yarn build:only && yarn types:build",types:"tsc -w","types:build":"tsc -p tsconfig.json",format:"prettier --write src/**/*.ts",test:"jest --maxWorkers=1","test:watch":"jest --watch","test:coverage":"jest --coverage",lint:"eslint -c ../../.eslintrc .","lint:fix":"yarn lint --fix",prepare:"yarn build",size:"size-limit",analyze:"size-limit --why",docs:"rm -rf ./docs && typedoc && rm -f ./docs/README.md && mkdir ./docs/home &&mv ./docs/modules.md ./docs/home/content.md && node ../../scripts/docs-store && npx prettier --write './docs/**/*'"},name:"@100mslive/hms-video-store",author:"100ms",dependencies:{eventemitter2:"^6.4.9",immer:"^9.0.6","lodash.isequal":"^4.5.0",reselect:"4.0.0","sdp-transform":"^2.14.1","ua-parser-js":"^1.0.1",uuid:"^8.3.2","webrtc-adapter":"^8.0.0",zustand:"3.5.7"},devDependencies:{"@types/dom-screen-wake-lock":"^1.0.1","@types/lodash.isequal":"^4.5.8","@types/sdp-transform":"^2.4.4","@types/ua-parser-js":"^0.7.36","@types/uuid":"^8.3.0","jest-canvas-mock":"^2.3.1","jsdom-worker":"^0.3.0",tslib:"^2.2.0"},description:"@100mslive Core SDK which abstracts the complexities of webRTC while providing a reactive store for data management with a unidirectional data flow",keywords:["video","webrtc","conferencing","100ms"],gitHead:"7c3e871297668d3dc11759d88a888027967715ac"}});var Xc={};lo(Xc,{DeviceType:()=>Ur,DomainCategory:()=>Ir,EventBus:()=>et,HLSPlaylistType:()=>xr,HMSAudioPluginType:()=>ii,HMSLogLevel:()=>br,HMSMessageType:()=>Ms,HMSNotificationSeverity:()=>ur,HMSNotificationTypes:()=>zt,HMSPlaylistType:()=>pr,HMSPluginUnsupportedTypes:()=>ri,HMSReactiveStore:()=>Be,HMSRecordingState:()=>Or,HMSRoomState:()=>Qt,HMSStats:()=>st,HMSVideoPluginCanvasContextType:()=>ci,HMSVideoPluginType:()=>ni,createDefaultStatsStore:()=>nt,createDefaultStoreState:()=>ot,parsedUserAgent:()=>de,selectAppData:()=>Pn,selectAppDataByPath:()=>bn,selectAudioPlaylist:()=>Pr,selectAudioPlaylistTrackByPeerID:()=>Bn,selectAudioTrackByID:()=>In,selectAudioTrackByPeerID:()=>ka,selectAudioTrackVolume:()=>is,selectAudioVolumeByPeerID:()=>Kn,selectAuxiliaryAudioByPeerID:()=>On,selectAuxiliaryTracksByPeerID:()=>Ln,selectAvailableRoleNames:()=>Oo,selectBroadcastMessages:()=>Aa,selectBroadcastMessagesUnreadCount:()=>zn,selectCameraStreamByPeerID:()=>Cn,selectConnectionQualities:()=>go,selectConnectionQualityByPeerID:()=>Nn,selectDegradedTracks:()=>Lo,selectDevices:()=>So,selectDidIJoinWithin:()=>vc,selectDominantSpeaker:()=>Eo,selectEffectsKey:()=>Ko,selectErrors:()=>Ps,selectFullAppData:()=>Xt,selectHLSState:()=>Vo,selectHMSBroadcastMessages:()=>As,selectHMSMessages:()=>Fe,selectHMSMessagesCount:()=>wo,selectHMSStats:()=>to,selectHandRaisedPeers:()=>Qo,selectHasPeerHandRaised:()=>sc,selectIsAllowedToPreviewMedia:()=>uc,selectIsAllowedToPublish:()=>lc,selectIsAllowedToSubscribe:()=>xo,selectIsAudioLocallyMuted:()=>ts,selectIsConnectedToRoom:()=>me,selectIsEffectsEnabled:()=>$o,selectIsInPreview:()=>Tr,selectIsLargeRoom:()=>Wo,selectIsLocalAudioEnabled:()=>bo,selectIsLocalAudioPluginPresent:()=>gc,selectIsLocalScreenShared:()=>ei,selectIsLocalVideoDisplayEnabled:()=>gr,selectIsLocalVideoEnabled:()=>Zt,selectIsLocalVideoPluginPresent:()=>Sc,selectIsLocallyMutedByPeerID:()=>Wn,selectIsPeerAudioEnabled:()=>Fn,selectIsPeerVideoEnabled:()=>Gn,selectIsRoleAllowedToPublish:()=>pc,selectIsScreenShareLocallyMutedByPeerID:()=>$n,selectIsSomeoneScreenSharing:()=>Ao,selectLocalAudioTrackID:()=>X,selectLocalMediaSettings:()=>mr,selectLocalPeer:()=>j,selectLocalPeerID:()=>ce,selectLocalPeerName:()=>Mo,selectLocalPeerRole:()=>ht,selectLocalPeerRoleName:()=>yo,selectLocalTrackIDs:()=>Sr,selectLocalVideoTrackID:()=>W,selectMessageByMessageID:()=>oc,selectMessageIDsInOrder:()=>hr,selectMessagesByPeerID:()=>Yn,selectMessagesByRole:()=>Xn,selectMessagesMap:()=>pt,selectMessagesUnreadCountByPeerID:()=>ec,selectMessagesUnreadCountByRole:()=>Zn,selectPeerAudioByID:()=>_n,selectPeerByCondition:()=>Tc,selectPeerByID:()=>$,selectPeerCount:()=>To,selectPeerMetadata:()=>rc,selectPeerName:()=>ac,selectPeerNameByID:()=>An,selectPeerScreenSharing:()=>bs,selectPeerSharingAudio:()=>Io,selectPeerSharingAudioPlaylist:()=>Co,selectPeerSharingVideoPlaylist:()=>Ho,selectPeers:()=>ie,selectPeersByCondition:()=>fc,selectPeersByRole:()=>tc,selectPeersByRoles:()=>ic,selectPeersMap:()=>G,selectPeersScreenSharing:()=>Ro,selectPeersWithAudioStatus:()=>nc,selectPermissions:()=>vr,selectPollByID:()=>rs,selectPolls:()=>Jo,selectPollsMap:()=>Mr,selectPreviewRole:()=>fr,selectPreviewRoleName:()=>Is,selectRTMPState:()=>Bo,selectRecentError:()=>ho,selectRecordingState:()=>Uo,selectRemotePeers:()=>Po,selectRoleByRoleName:()=>Ia,selectRoleChangeRequest:()=>dc,selectRolesMap:()=>re,selectRoom:()=>U,selectRoomID:()=>mo,selectRoomStartTime:()=>Go,selectRoomStarted:()=>No,selectRoomState:()=>J,selectScreenAudioTrackByID:()=>Rn,selectScreenShareAudioByPeerID:()=>es,selectScreenShareByPeerID:()=>Vn,selectScreenSharesByPeerId:()=>Zr,selectScreenVideoTrackByID:()=>Hn,selectScreenshareAudioVolumeByPeerID:()=>qn,selectSessionId:()=>Fo,selectSessionMetadata:()=>jo,selectSessionStore:()=>En,selectSimulcastLayerByTrack:()=>jn,selectSpeakers:()=>Es,selectTemplateAppData:()=>qo,selectTrackAudioByID:()=>wn,selectTrackByID:()=>At,selectTracksMap:()=>w,selectUnreadHMSBroadcastMessagesCount:()=>_o,selectUnreadHMSMessagesCount:()=>Do,selectVideoPlaylist:()=>Er,selectVideoPlaylistAudioTrackByPeerID:()=>Un,selectVideoPlaylistVideoTrackByPeerID:()=>xn,selectVideoTrackByID:()=>Xr,selectVideoTrackByPeerID:()=>ya,selectWhiteboard:()=>zo,selectWhiteboards:()=>Rs,simulcastMapping:()=>Ie});module.exports=uo(Xc);var Qt=(n=>(n.Disconnected="Disconnected",n.Preview="Preview",n.Connecting="Connecting",n.Connected="Connected",n.Reconnecting="Reconnecting",n.Disconnecting="Disconnecting",n.Failed="Failed",n))(Qt||{});var ot=()=>({room:{id:"",isConnected:!1,name:"",peers:[],localPeer:"",roomState:"Disconnected",recording:{browser:{running:!1},server:{running:!1},hls:{running:!1}},rtmp:{running:!1},hls:{running:!1,variants:[]},sessionId:""},peers:{},tracks:{},playlist:{audio:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1},video:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1}},messages:{byID:{},allIDs:[]},speakers:{},connectionQualities:{},settings:{audioInputDeviceId:"",audioOutputDeviceId:"",videoInputDeviceId:""},devices:{audioInput:[],audioOutput:[],videoInput:[]},roles:{},roleChangeRequests:[],errors:[],sessionStore:{},templateAppData:{},polls:{},whiteboards:{},hideLocalPeer:!1}),nt=()=>({peerStats:{},remoteTrackStats:{},localTrackStats:{},localPeer:{id:""}});var Ms=(e=>(e.CHAT="chat",e))(Ms||{});var ur=(t=>(t.INFO="info",t.ERROR="error",t))(ur||{}),zt=(C=>(C.PEER_JOINED="PEER_JOINED",C.PEER_LEFT="PEER_LEFT",C.PEER_LIST="PEER_LIST",C.NEW_MESSAGE="NEW_MESSAGE",C.ERROR="ERROR",C.RECONNECTING="RECONNECTING",C.RECONNECTED="RECONNECTED",C.TRACK_ADDED="TRACK_ADDED",C.TRACK_REMOVED="TRACK_REMOVED",C.TRACK_MUTED="TRACK_MUTED",C.TRACK_UNMUTED="TRACK_UNMUTED",C.TRACK_DEGRADED="TRACK_DEGRADED",C.TRACK_RESTORED="TRACK_RESTORED",C.TRACK_DESCRIPTION_CHANGED="TRACK_DESCRIPTION_CHANGED",C.ROLE_UPDATED="ROLE_UPDATED",C.CHANGE_TRACK_STATE_REQUEST="CHANGE_TRACK_STATE_REQUEST",C.CHANGE_MULTI_TRACK_STATE_REQUEST="CHANGE_MULTI_TRACK_STATE_REQUEST",C.ROOM_ENDED="ROOM_ENDED",C.REMOVED_FROM_ROOM="REMOVED_FROM_ROOM",C.DEVICE_CHANGE_UPDATE="DEVICE_CHANGE_UPDATE",C.PLAYLIST_TRACK_ENDED="PLAYLIST_TRACK_ENDED",C.NAME_UPDATED="NAME_UPDATED",C.METADATA_UPDATED="METADATA_UPDATED",C.POLL_CREATED="POLL_CREATED",C.POLL_STARTED="POLL_STARTED",C.POLL_STOPPED="POLL_STOPPED",C.POLL_VOTES_UPDATED="POLL_VOTES_UPDATED",C.POLLS_LIST="POLLS_LIST",C.HAND_RAISE_CHANGED="HAND_RAISE_CHANGED",C))(zt||{});var pr=(t=>(t.audio="audio",t.video="video",t))(pr||{});var E=require("reselect");function Le(a,e){let t,i;if(e)for(let r of e.auxiliaryTracks){let s=a[r];po(s)&&(i=ct(s)?s:i,t=dt(s)?s:t)}return{video:t,audio:i}}function ct(a){return a&&a.type==="audio"}function dt(a){return a&&a.type==="video"}function po(a){return a&&a.source==="screen"}function Yt(a){return a&&a.source==="audioplaylist"}function lt(a){return a&&a.source==="videoplaylist"}function ys(a){return a?!!(a!=null&&a.degraded):!1}function Ve(a,e){return e&&a.tracks[e]?a.tracks[e].enabled:!1}function ks(a,e){return e&&a.tracks[e]?a.tracks[e].displayEnabled:!1}function ut(a){var r;let e=!1,t=!1,i=!1;return(r=a==null?void 0:a.publishParams)!=null&&r.allowed&&(e=a.publishParams.allowed.includes("video"),t=a.publishParams.allowed.includes("audio"),i=a.publishParams.allowed.includes("screen")),{video:e,audio:t,screen:i}}var U=a=>a.room,Ps=a=>a.errors,ho=(0,E.createSelector)(Ps,a=>a.length===0?null:a.at(-1)),mo=(0,E.createSelector)(U,a=>a.id),G=a=>a.peers,pt=a=>a.messages.byID,hr=a=>a.messages.allIDs,w=a=>a.tracks,mr=a=>a.settings,Xt=a=>a.appData,So=a=>a.devices,Es=a=>a.speakers,go=a=>a.connectionQualities,me=(0,E.createSelector)([U],a=>a&&a.isConnected),To=(0,E.createSelector)([me,U],(a,e)=>a?e.peerCount!==void 0?e.peerCount||1:e.peers.length:Math.max(e.peerCount!==void 0?e.peerCount:e.peers.length-1,0)),fo=a=>a.hideLocalPeer,ie=(0,E.createSelector)([U,G,fo],(a,e,t)=>t?a.peers.filter(i=>a.localPeer!==i).map(i=>e[i]):a.peers.map(i=>e[i])),vo=(0,E.createSelector)(w,a=>Object.values(a)),j=(0,E.createSelector)(U,G,(a,e)=>e[a.localPeer]),ce=(0,E.createSelector)(U,a=>a.localPeer),Mo=(0,E.createSelector)(j,a=>a==null?void 0:a.name),yo=(0,E.createSelector)(j,a=>a==null?void 0:a.roleName),X=(0,E.createSelector)(j,a=>a==null?void 0:a.audioTrack),W=(0,E.createSelector)(j,a=>a==null?void 0:a.videoTrack),ko=(0,E.createSelector)(j,a=>a==null?void 0:a.auxiliaryTracks),Sr=(0,E.createSelector)([X,W,ko],(a,e,t)=>{let i=t?[...t]:[];return a&&i.unshift(a),e&&i.unshift(e),i}),Po=(0,E.createSelector)(ie,a=>a.filter(e=>!e.isLocal)),Eo=(0,E.createSelector)(G,Es,(a,e)=>{let t=Object.entries(e).sort((i,r)=>{var n,l;let s=((n=i[1])==null?void 0:n.audioLevel)||0;return(((l=r[1])==null?void 0:l.audioLevel)||0)>s?1:-1});if(t.length>0&&t[0][1].audioLevel&&t[0][1].audioLevel>0){let i=t[0][1].peerID;if(i in a)return a[i]}return null}),bo=a=>{let e=j(a);return Ve(a,e==null?void 0:e.audioTrack)},Zt=a=>{let e=j(a);return Ve(a,e==null?void 0:e.videoTrack)},gr=a=>{let e=j(a);return ks(a,e==null?void 0:e.videoTrack)},ei=(0,E.createSelector)(j,w,(a,e)=>{let{video:t,audio:i}=Le(e,a);return!!(t||i)}),bs=(0,E.createSelector)(G,w,(a,e)=>{let t;for(let i in a){let r=a[i],{video:s,audio:o}=Le(e,r);if(s)return r;o&&!t&&(t=r)}return t}),Ao=(0,E.createSelector)(bs,a=>!!a),Io=(0,E.createSelector)(G,w,(a,e)=>{for(let t in a){let i=a[t],{audio:r,video:s}=Le(e,i);if(!s&&r)return i}}),Ro=(0,E.createSelector)(G,w,(a,e)=>{let t=[],i=[];for(let r in a){let s=a[r],{video:o,audio:n}=Le(e,s);o?t.push(s):n&&i.push(s)}return t.concat(i)}),Ho=(0,E.createSelector)(G,w,(a,e)=>{for(let t in e){let i=e[t];if(lt(i)&&dt(i)&&i.peerId)return a[i.peerId]}}),Co=(0,E.createSelector)(G,w,(a,e)=>{for(let t in e){let i=e[t];if(Yt(i)&&i.peerId)return a[i.peerId]}}),Lo=(0,E.createSelector)(vo,a=>a.filter(ys)),wo=(0,E.createSelector)(hr,a=>a.length),Do=(0,E.createSelector)(pt,a=>Object.values(a).filter(e=>!e.read).length),Fe=(0,E.createSelector)(hr,pt,(a,e)=>{let t=[];return a.forEach(i=>{t.push(e[i])}),t}),As=(0,E.createSelector)(Fe,a=>a.filter(e=>{var t;return!e.recipientPeer&&!(e.recipientRoles&&((t=e.recipientRoles)==null?void 0:t.length)>0)})),_o=(0,E.createSelector)(As,a=>a.filter(e=>!e.read).length),J=(0,E.createSelector)([U],a=>a&&a.roomState),Tr=(0,E.createSelector)(J,a=>a==="Preview"),No=(0,E.createSelector)(U,a=>a.roomState!=="Disconnected"),re=a=>a.roles,Oo=(0,E.createSelector)([re],a=>Object.keys(a)),ht=(0,E.createSelector)([j,re],(a,e)=>a!=null&&a.roleName?e[a.roleName]:null),Is=a=>{var e;return(e=a.preview)==null?void 0:e.asRole},fr=(0,E.createSelector)([Is,re],(a,e)=>a?e[a]:null),xo=(0,E.createSelector)([ht],a=>{var e;return(e=a==null?void 0:a.subscribeParams)!=null&&e.subscribeToRoles?a.subscribeParams.subscribeToRoles.length>0:!1}),vr=(0,E.createSelector)(ht,a=>a==null?void 0:a.permissions),Uo=(0,E.createSelector)(U,a=>a.recording),Bo=(0,E.createSelector)(U,a=>a.rtmp),Vo=(0,E.createSelector)(U,a=>a.hls),Fo=(0,E.createSelector)(U,a=>a.sessionId),Go=(0,E.createSelector)(U,a=>a.startedAt),Wo=(0,E.createSelector)(U,a=>!!a.isLargeRoom),$o=(0,E.createSelector)(U,a=>!!a.isEffectsEnabled),Ko=(0,E.createSelector)(U,a=>a.effectsKey),qo=a=>a.templateAppData,jo=a=>a.sessionMetadata,Mr=a=>a.polls,Jo=a=>Object.values(a.polls),Qo=(0,E.createSelector)(ie,a=>a.filter(e=>e.isHandRaised)),Rs=a=>a.whiteboards,zo=(0,E.createSelector)(Rs,a=>Object.values(a)[0]);var yr=require("reselect");var Hs=(a="audio")=>e=>e.playlist[a].list,kr=(a="audio")=>e=>e.playlist[a].selection,Cs=(a="audio")=>e=>e.playlist[a].progress,Ls=(a="audio")=>e=>e.playlist[a].currentTime,ws=(a="audio")=>e=>e.playlist[a].playbackRate,Ds=(a="audio")=>e=>e.playlist[a].volume,_s=(a="audio")=>(0,yr.createSelector)(Hs(a),e=>Object.values(e)),Ns=(a="audio")=>(0,yr.createSelector)(Hs(a),kr(a),(e,t)=>{if(t.id)return e[t.id]}),Pr={selection:kr("audio"),progress:Cs("audio"),currentTime:Ls("audio"),playbackRate:ws("audio"),volume:Ds("audio"),list:_s("audio"),selectedItem:Ns("audio")},Er={selection:kr("video"),progress:Cs("video"),currentTime:Ls("video"),playbackRate:ws("video"),volume:Ds("video"),list:_s("video"),selectedItem:Ns("video")};var H=require("reselect");function I(a){return e=>t=>a(t,e)}var br=(l=>(l[l.VERBOSE=0]="VERBOSE",l[l.DEBUG=1]="DEBUG",l[l.INFO=2]="INFO",l[l.WARN=3]="WARN",l[l.TIME=4]="TIME",l[l.TIMEEND=5]="TIMEEND",l[l.ERROR=6]="ERROR",l[l.NONE=7]="NONE",l))(br||{}),Yo=typeof window!="undefined"&&typeof window.expect!="undefined",d=class{static v(e,...t){this.log(0,e,...t)}static d(e,...t){this.log(1,e,...t)}static i(e,...t){this.log(2,e,...t)}static w(e,...t){this.log(3,e,...t)}static e(e,...t){this.log(6,e,...t)}static time(e){this.log(4,"[HMSPerformanceTiming]",e)}static timeEnd(e){this.log(5,"[HMSPerformanceTiming]",e,e)}static cleanup(){performance.clearMarks(),performance.clearMeasures()}static log(e,t,...i){if(!(this.level.valueOf()>e.valueOf()))switch(e){case 0:{console.log(t,...i);break}case 1:{console.debug(t,...i);break}case 2:{console.info(t,...i);break}case 3:{console.warn(t,...i);break}case 6:{console.error(t,...i);break}case 4:{performance.mark(i[0]);break}case 5:{let r=i[0];try{let s=performance.measure(r,r);this.log(1,t,r,s==null?void 0:s.duration),performance.clearMarks(r),performance.clearMeasures(r)}catch(s){this.log(1,t,r,s)}break}}}};d.level=Yo?7:0;var Ge=class{constructor(e){this.tracks=new Array;this.nativeStream=e,this.id=e.id}updateId(e){this.id=e}};var Bs=require("ua-parser-js"),de=new Bs.UAParser,_=typeof window!="undefined",Os,we=typeof window=="undefined"&&!((Os=de.getBrowser().name)!=null&&Os.toLowerCase().includes("electron"));var Xo=()=>!we,pd=Xo(),De=()=>de.getDevice().type==="mobile",Vs=()=>typeof document!="undefined"&&document.hidden,Ar=()=>{var a;return((a=de.getOS().name)==null?void 0:a.toLowerCase())==="ios"},xs,Us,Fs=((Us=(xs=de.getBrowser())==null?void 0:xs.name)==null?void 0:Us.toLowerCase())==="firefox";var ti=a=>a?`{
2
2
  trackId: ${a.id};
3
3
  kind: ${a.kind};
4
4
  enabled: ${a.enabled};