@daily-co/daily-react
Advanced tools
Comparing version 0.6.0 to 0.6.1
@@ -1,2 +0,2 @@ | ||
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n=require("react"),t=e(n),i=require("recoil"),r=e(require("lodash.throttle")),a=e(require("@daily-co/daily-js"));function o(e,n,t,i,r,a,o){try{var u=e[a](o),c=u.value}catch(e){return void t(e)}u.done?n(c):Promise.resolve(c).then(i,r)}function u(e){return function(){var n=this,t=arguments;return new Promise((function(i,r){var a=e.apply(n,t);function u(e){o(a,i,r,u,c,"next",e)}function c(e){o(a,i,r,u,c,"throw",e)}u(void 0)}))}}function c(){return(c=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e}).apply(this,arguments)}function l(e,n){if(null==e)return{};var t,i,r={},a=Object.keys(e);for(i=0;i<a.length;i++)n.indexOf(t=a[i])>=0||(r[t]=e[t]);return r}function s(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,i=new Array(n);t<n;t++)i[t]=e[t];return i}var d=n.createContext(null),f=function(){return n.useContext(d)},v=n.createContext({on:function(){},off:function(){}}),p=0,m=function(){return p++},g=function(e,t){var i=n.useContext(v),r=i.off,a=i.on,o=n.useState(!1),u=o[0],c=o[1],l=n.useRef(0),s=n.useMemo((function(){return m()}),[]);n.useEffect((function(){if(e&&!u){if(l.current>1e5)return console.error("useDailyEvent called with potentially non-memoized event callback or due to too many re-renders.\n Memoize using useCallback to avoid re-render loop or reduce the amount of state transitions the callback depends on.\n Passed callback for '"+e+"' event is NOT registered.",t),void c(!0);l.current++;var n=setTimeout((function(){l.current=0}),50);return a(e,t,s),function(){clearTimeout(n),r(e,s)}}}),[t,e,s,u,r,a])},k=function(e,t,i){void 0===i&&(i=100);var a=n.useContext(v),o=a.off,u=a.on,c=n.useMemo((function(){var n;return Array.isArray(e)?e.reduce((function(e,n){return e[n]=m(),e}),{}):((n={})[e]=m(),n)}),[e]),l=n.useRef([]),s=n.useMemo((function(){return r((function(){0!==l.current.length&&(t(l.current),l.current=[])}),i,{trailing:!0})}),[t,i]);n.useEffect((function(){if(e){var n=function(e){l.current.push(e),setTimeout(s,0)};return Array.isArray(e)?e.forEach((function(e){return u(e,n,c[e])})):u(e,n,c[e]),function(){Array.isArray(e)?e.forEach((function(e){return o(e,c[e])})):o(e,c[e])}}}),[s,e,c,o,u])},y=i.atom({key:"active-id",default:null}),b=i.atom({key:"local-id",default:""}),h=i.atom({key:"participants-objects",default:[]}),S=i.selectorFamily({key:"participant",get:function(e){return function(n){var t;return null!=(t=(0,n.get)(h).find((function(n){return n.session_id===e})))?t:null}}}),R=i.selectorFamily({key:"participant-property",get:function(e){var n=e.id,t=e.properties;return function(e){var i,r;return r=null!=(i=(0,e.get)(h).find((function(e){return e.session_id===n})))?i:null,t.map((function(e){return function(e,n){return String(n).split(".").filter((function(e){return e.length})).reduce((function(e,n){return e&&e[n]}),e)}(r,e)}))}}}),C=function(e){var r=e.children,a=f(),o=i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return function(e){n((function(n){var t=n.set;t(b,e.local.session_id),t(h,Object.values(e))}))}}),[]);n.useEffect((function(){if(a){var e=setInterval((function(){var n=a.participants();"local"in n&&(o(n),clearInterval(e))}),100);return function(){clearInterval(e)}}}),[a,o]);var u=n.useCallback((function(){if(a){var e=null==a?void 0:a.participants();e.local&&o(e)}}),[a,o]);return g("started-camera",u),g("access-state-updated",u),g("joining-meeting",u),g("joined-meeting",n.useCallback((function(e){o(e.participants)}),[o])),k(["active-speaker-change","participant-joined","participant-updated","participant-left"],i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return function(e){n((function(n){var t=n.set;e.forEach((function(e){switch(e.action){case"active-speaker-change":var n=e.activeSpeaker.peerId;t(y,n),t(h,(function(e){return[].concat(e).map((function(e){return e.session_id===n?c({},e,{last_active:new Date}):e}))}));break;case"participant-joined":t(h,(function(n){return[].concat(n,[e.participant]).filter((function(e,n,t){return t.findIndex((function(n){return n.session_id===e.session_id}))==n}))}));break;case"participant-updated":t(h,(function(n){return[].concat(n).map((function(n){return n.session_id===e.participant.session_id?c({},e.participant,{last_active:n.last_active}):n}))}));break;case"participant-left":t(h,(function(n){return[].concat(n).filter((function(n){return e.participant.session_id!==n.session_id}))}))}}))}))}}),[])),g("left-meeting",i.useRecoilCallback((function(e){var n=e.reset;return function(){n(b),n(h)}}),[])),t.createElement(t.Fragment,null,r)},E=function(e,t){var r=void 0===t?{}:t,a=r.onParticipantLeft,o=r.onParticipantUpdated,u=i.useRecoilValue(S(e));return k(["participant-updated","participant-left"],n.useCallback((function(n){var t=n.filter((function(n){return n.participant.session_id===e}));t.length&&t.forEach((function(e){switch(e.action){case"participant-updated":setTimeout((function(){return null==o?void 0:o(e)}),0);break;case"participant-left":setTimeout((function(){return null==a?void 0:a(e)}),0)}}))}),[a,o,e])),u},T=function(e){var t=void 0===e?{}:e,r=t.ignoreLocal,a=void 0!==r&&r,o=t.onActiveSpeakerChange,u=f(),c=i.useRecoilValue(y),l=n.useState(""),s=l[1],d=E(l[0]);return n.useEffect((function(){var e;if(u){var n=null==u||null==(e=u.participants())?void 0:e.local;a&&c===(null==n?void 0:n.session_id)||s(null!=c?c:"")}}),[u,a,c]),g("active-speaker-change",n.useCallback((function(e){setTimeout((function(){return null==o?void 0:o(e)}),0)}),[o])),d},A=function(){return i.useRecoilValue(b)||null},I=Boolean,L=function(){return 0},_=function(e){var t=void 0===e?{filter:I,sort:L}:e,r=t.filter,a=void 0===r?I:r,o=t.onActiveSpeakerChange,u=t.onParticipantJoined,c=t.onParticipantLeft,l=t.onParticipantUpdated,s=t.sort,d=void 0===s?L:s,f=i.useRecoilValue(h),v=n.useMemo((function(){var e,n=I;switch(a){case"local":n=function(e){return e.local};break;case"owner":n=function(e){return e.owner};break;case"record":n=function(e){return e.record};break;case"remote":n=function(e){return!e.local};break;case"screen":n=function(e){return e.screen};break;default:n=a}switch(d){case"joined_at":case"session_id":case"user_id":case"user_name":e=function(e,n){var t=e[d],i=n[d];if(void 0!==t||void 0!==i){if(void 0===t)return-1;if(void 0===i)return 1;if(t>i)return 1;if(t<i)return-1}return 0};break;default:e=d}return f.filter(n).sort(e).map((function(e){return e.session_id})).filter(Boolean)}),[f,a,d]);return k(["participant-joined","participant-updated","active-speaker-change","participant-left"],n.useCallback((function(e){e.length&&e.forEach((function(e){switch(e.action){case"participant-joined":setTimeout((function(){return null==u?void 0:u(e)}),0);break;case"participant-updated":setTimeout((function(){return null==l?void 0:l(e)}),0);break;case"active-speaker-change":setTimeout((function(){return null==o?void 0:o(e)}),0);break;case"participant-left":setTimeout((function(){return null==c?void 0:c(e)}),0)}}))}),[o,u,c,l])),v},w=function(e){var t=void 0===e?{}:e,i=t.onLocalScreenShareStarted,r=t.onLocalScreenShareStopped,a=f(),o=n.useCallback((function(e){null==a||a.startScreenShare(e)}),[a]),u=n.useCallback((function(){null==a||a.stopScreenShare()}),[a]);g("local-screen-share-started",n.useCallback((function(){return null==i?void 0:i()}),[i])),g("local-screen-share-stopped",n.useCallback((function(){return null==r?void 0:r()}),[r]));var c=_({filter:"screen"}),l=n.useMemo((function(){return c.map((function(e){var n,t=Object.values(null!=(n=null==a||null==a.participants?void 0:a.participants())?n:{}).find((function(n){return n.session_id===e}));if(t)return{local:t.local,screenAudio:t.tracks.screenAudio,screenVideo:t.tracks.screenVideo,screenId:e+"-screen",session_id:e}})).filter((function(e){return!!e}))}),[a,c]);return{isSharingScreen:l.some((function(e){return e.local})),screens:l,startScreenShare:o,stopScreenShare:u}},x=function(e,n){var t=i.useRecoilValue(R({id:e,properties:Array.isArray(n)?n:[n]}));return Array.isArray(n)?t:t[0]},P=function(e,n){void 0===n&&(n="video");var t=x(e,"tracks."+n);return t?c({},t,{isOff:"blocked"===t.state||"off"===t.state}):{isOff:!0,persistentTrack:void 0,state:"off",subscribed:!1}},D=function(e){var i=e.onPlayFailed,r=e.sessionId,a=e.type,o=void 0===a?"audio":a,u=n.useRef(null),c=P(r,o);return n.useEffect((function(){var e=u.current;if(e&&(null==c?void 0:c.persistentTrack)){var n,t=function(){n=setTimeout((function(){(e.readyState!==e.HAVE_ENOUGH_DATA||e.paused)&&(null==i||i({sessionId:r,target:e,type:o}))}),1500)},a=function(){clearTimeout(n)};return e.addEventListener("canplay",t),e.addEventListener("play",a),e.srcObject=new MediaStream([null==c?void 0:c.persistentTrack]),function(){null==e||e.removeEventListener("canplay",t),null==e||e.removeEventListener("play",a)}}}),[null==c?void 0:c.persistentTrack,i,r,o]),t.createElement("audio",{autoPlay:!0,"data-session-id":r,"data-audio-type":o,playsInline:!0,ref:u})},j=n.memo((function(e){var r=e.maxSpeakers,a=void 0===r?5:r,o=e.onPlayFailed,c=e.playLocalScreenAudio,l=void 0!==c&&c,s=n.useState([]),d=s[0],f=s[1],v=w().screens,p=A(),m=T({ignoreLocal:!0}),g=i.useRecoilCallback((function(e){var n=e.snapshot;return function(){var e=u((function*(e){var t=yield n.getPromise(h);f((function(n){var i;if(n.includes(e))return n;if(n.some((function(e){return!e}))){var r=n.findIndex((function(e){return!e}));return n[r]=e,[].concat(n)}var a=n.findIndex((function(e){return t.some((function(n){return n.session_id===e&&["blocked","off"].includes(n.tracks.audio.state)}))}));if(a>=0)return n[a]=e,[].concat(n);var o=t.filter((function(e){return n.includes(e.session_id)&&e.session_id!==(null==m?void 0:m.session_id)})).sort((function(e,n){var t,i,r=null!=(t=null==e?void 0:e.last_active)?t:new Date("1970-01-01"),a=null!=(i=null==n?void 0:n.last_active)?i:new Date("1970-01-01");return r>a?1:r<a?-1:0}));if(!o.length)return n[0]=e,[].concat(n);var u=n.indexOf(null==(i=o[0])?void 0:i.session_id);return n[u]=e,[].concat(n)}))}));return function(n){return e.apply(this,arguments)}}()}),[null==m?void 0:m.session_id]),y=n.useCallback((function(e){f((function(n){if(!n.includes(e))return n;var t=[].concat(n),i=t.indexOf(e);return t[i]="",t}))}),[]);return k(["active-speaker-change","track-started","participant-left"],n.useCallback((function(e){e.forEach((function(e){switch(e.action){case"active-speaker-change":if(e.activeSpeaker.peerId===p)return;g(e.activeSpeaker.peerId);break;case"track-started":"audio"===e.track.kind&&e.participant&&!e.participant.local&&g(e.participant.session_id);break;case"participant-left":y(e.participant.session_id)}}))}),[g,p,y])),n.useEffect((function(){var e=new Array(a).fill(null);f(e)}),[a]),t.createElement(t.Fragment,null,d.map((function(e,n){return t.createElement(D,{key:"speaker-slot-"+n,onPlayFailed:o,sessionId:e,type:"audio"})})),v.filter((function(e){return!!l||!e.local})).map((function(e){return t.createElement(D,{key:e.screenId,onPlayFailed:o,sessionId:e.session_id,type:"screenAudio"})})))}));j.displayName="DailyAudio";var O=n.forwardRef((function(e,i){var r=e.automirror,a=e.fit,o=void 0===a?"contain":a,u=e.mirror,s=e.onResize,d=e.playableStyle,f=void 0===d?{}:d,v=e.sessionId,p=e.style,m=void 0===p?{}:p,g=e.type,k=void 0===g?"video":g,y=l(e,["automirror","fit","mirror","onResize","playableStyle","sessionId","style","type"]),b=A()===v,h="screenVideo"===k,S=b&&!h,R=n.useRef(null),C=i||R,E=P(v,k),T=E.persistentTrack,I=S||h||!E.isOff,L=x(v,"tracks."+k+".subscribed"),_=n.useMemo((function(){if("boolean"==typeof u)return u;if(!r)return!1;if(!T)return S;var e=T.getSettings();return"facingMode"in e?S&&"user"===e.facingMode:S}),[r,S,u,T]);return n.useEffect((function(){var e=C.current;if(e){var n=function(){e.paused&&e.play()},t=function(){e.style.transform="scale(1)"},i=function(){e.style.transform="",setTimeout((function(){e.paused&&e.play()}),100)},r=function(){"hidden"!==document.visibilityState&&e.paused&&e.play()};return e.addEventListener("canplay",n),e.addEventListener("enterpictureinpicture",t),e.addEventListener("leavepictureinpicture",i),document.addEventListener("visibilitychange",r),function(){e.removeEventListener("canplay",n),e.removeEventListener("enterpictureinpicture",t),e.removeEventListener("leavepictureinpicture",i),document.removeEventListener("visibilitychange",r)}}}),[C]),n.useEffect((function(){var e=C.current;if(e&&T)return e.srcObject=new MediaStream([T]),e.load(),function(){e.srcObject=null,e.load()}}),[C,T,null==T?void 0:T.id]),n.useEffect((function(){var e=C.current;if(s&&e){var n,t=function(){e&&(n&&cancelAnimationFrame(n),n=requestAnimationFrame((function(){if(!document.hidden){var n=null==e?void 0:e.videoWidth,t=null==e?void 0:e.videoHeight;n&&t&&s({aspectRatio:n/t,height:t,width:n})}})))};return t(),null==e||e.addEventListener("resize",t),function(){return null==e?void 0:e.removeEventListener("resize",t)}}}),[s,C,T]),t.createElement("video",Object.assign({autoPlay:!0,muted:!0,playsInline:!0,ref:C,"data-local":b,"data-mirrored":_||void 0,"data-playable":I||void 0,"data-session-id":v,"data-subscribed":L,"data-video-type":k,style:c({objectFit:o,transform:_?"scale(-1, 1)":""},m,I?f:{})},y))}));O.displayName="DailyVideo";var V=n.createContext({refreshDevices:function(){return Promise.resolve()}}),M=i.atom({key:"general-camera-state",default:"pending"}),U=i.atom({key:"general-microphone-state",default:"pending"}),B=i.atom({key:"camera-devices",default:[]}),N=i.atom({key:"microphone-devices",default:[]}),F=i.atom({key:"speaker-devices",default:[]}),q=i.atom({key:"last-camera-error",default:null}),z=function(e){var r=e.children,a=f(),o=i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return u((function*(){var e,t,i,r;if(void 0!==(null==(e=navigator)||null==(t=e.mediaDevices)?void 0:t.getUserMedia)&&void 0!==(null==(i=navigator)||null==(r=i.mediaDevices)?void 0:r.enumerateDevices)){if(a)try{var o=(yield a.enumerateDevices()).devices,u=o.filter((function(e){return"videoinput"===e.kind&&""!==e.deviceId})),c=o.filter((function(e){return"audioinput"===e.kind&&""!==e.deviceId})),l=o.filter((function(e){return"audiooutput"===e.kind&&""!==e.deviceId})),s=yield a.getInputDevices(),d=s.camera,f=s.mic,v=s.speaker,p=function(e,n,t){var i,r;return{device:n,selected:"deviceId"in e&&n.deviceId===e.deviceId,state:null!=(i=null==(r=t.find((function(e){return e.device.deviceId===n.deviceId})))?void 0:r.state)?i:"granted"}},m=function(e,n){return"default"===e.device.deviceId?-1:"default"===n.device.deviceId?1:e.device.label<n.device.label?-1:e.device.label>n.device.label?1:0};n((function(e){var n=e.set;n(B,(function(e){return u.filter(Boolean).map((function(n){return p(d,n,e)})).sort(m)})),n(N,(function(e){return c.filter(Boolean).map((function(n){return p(f,n,e)})).sort(m)})),n(F,(function(e){return l.filter(Boolean).map((function(n){return p(v,n,e)})).sort(m)}))}))}catch(e){n((function(e){var n=e.set;n(M,"not-supported"),n(U,"not-supported")}))}}else n((function(e){var n=e.set;n(M,"not-supported"),n(U,"not-supported")}))}))}),[a]),l=i.useRecoilCallback((function(e){var n=e.set,t=e.snapshot,i=e.transact_UNSTABLE;return u((function*(){var e,r,u,l,s,d,f,v,p,m,g,k;if(a){var y=yield t.getPromise(M),b=yield t.getPromise(U),h=a.participants().local.tracks,S="pending"===y&&"interrupted"===h.video.state,R="pending"===b&&"interrupted"===h.audio.state;(null==(e=h.audio)||null==(r=e.blocked)?void 0:r.byDeviceInUse)?i((function(e){var n=e.set;n(U,"in-use"),n(N,(function(e){return e.map((function(e){return e.selected?c({},e,{state:"in-use"}):e}))}))})):(null==(u=h.audio)||null==(l=u.blocked)?void 0:l.byDeviceMissing)?n(U,"not-found"):(null==(s=h.audio)||null==(d=s.blocked)?void 0:d.byPermissions)?n(U,"blocked"):R||i((function(e){var n=e.set;n(U,"granted"),n(N,(function(e){return e.map((function(e){return e.selected?c({},e,{state:"granted"}):e}))}))})),(null==(f=h.video)||null==(v=f.blocked)?void 0:v.byDeviceInUse)?i((function(e){var n=e.set;n(M,"in-use"),n(B,(function(e){return e.map((function(e){return e.selected?c({},e,{state:"in-use"}):e}))}))})):(null==(p=h.video)||null==(m=p.blocked)?void 0:m.byDeviceMissing)?n(M,"not-found"):(null==(g=h.video)||null==(k=g.blocked)?void 0:k.byPermissions)?n(M,"blocked"):S||i((function(e){var n=e.set;n(M,"granted"),n(B,(function(e){return e.map((function(e){return e.selected?c({},e,{state:"granted"}):e}))}))})),o()}}))}),[a,o]);return g("participant-updated",n.useCallback((function(e){e.participant.local&&l()}),[l])),g("available-devices-updated",o),g("selected-devices-updated",o),g("camera-error",i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return function(e){n((function(n){var t,i,r,a,o,u,c,l=n.set;switch(l(q,e.error),null==(t=e.error)?void 0:t.type){case"cam-in-use":l(M,"in-use");break;case"mic-in-use":l(U,"in-use");break;case"cam-mic-in-use":l(M,"in-use"),l(U,"in-use");break;case"not-found":(null==(i=e.error)?void 0:i.missingMedia.includes("video"))&&l(M,"not-found"),(null==(r=e.error)?void 0:r.missingMedia.includes("audio"))&&l(U,"not-found");break;case"permissions":(null==(a=e.error)?void 0:a.blockedMedia.includes("video"))&&l(M,"blocked"),(null==(o=e.error)?void 0:o.blockedMedia.includes("audio"))&&l(U,"blocked");break;case"constraints":"invalid"===(null==(u=e.error)?void 0:u.reason)?(l(M,"constraints-invalid"),l(U,"constraints-invalid")):"none-specified"===(null==(c=e.error)?void 0:c.reason)&&(l(M,"constraints-none-specified"),l(U,"constraints-none-specified"));break;case"undefined-mediadevices":l(M,"undefined-mediadevices"),l(U,"undefined-mediadevices");break;case"unknown":default:l(M,"unknown"),l(U,"unknown")}}))}}),[])),g("started-camera",i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return function(){n((function(e){var n=e.set;n(M,"granted"),n(U,"granted")})),l()}}),[l])),t.createElement(V.Provider,{value:{refreshDevices:o}},r)},W=i.atom({key:"room",default:null}),H=function(e){var n=e.children,r=f(),a=i.useRecoilCallback((function(e){var n=e.set;return u((function*(){if(r&&"left-meeting"!==r.meetingState()){var e=yield r.room();return e&&"id"in e&&n(W,e),e}}))}),[r]);return g("access-state-updated",a),t.createElement(t.Fragment,null,n)},Q=i.atom({key:"input-settings",default:null}),G=i.atom({key:"input-settings-error",default:null}),J=i.atom({key:"live-streaming",default:{errorMsg:void 0,isLiveStreaming:!1,layout:void 0}}),$=i.atom({key:"topology",default:"none"}),K=i.atom({key:"networkQuality",default:100}),X=i.atom({key:"networkThreshold",default:"good"}),Y=i.atomFamily({key:"participant-receive-settings",default:{}}),Z=i.atom({key:"recording",default:{isLocalParticipantRecorded:!1,isRecording:!1}}),ee=function(){return i.useRecoilValue(W)},ne=i.atom({key:"transcription",default:{isTranscriptionEnabled:!1,isTranscribing:!1,model:"general",language:"en",transcriptions:[]}}),te=i.atom({key:"waiting-participants",default:[]}),ie=i.atomFamily({key:"waiting-participant",default:{awaitingAccess:{level:"full"},id:"",name:""}}),re=i.selector({key:"waitingParticipantsSelector",get:function(e){var n=e.get;return n(te).map((function(e){return n(ie(e))}))}});exports.DailyAudio=j,exports.DailyAudioTrack=D,exports.DailyProvider=function(e){var r=e.children,o=l(e,["children"]),u=n.useState("callObject"in o?o.callObject:null),c=u[0],f=u[1],p=n.useRef({});n.useEffect((function(){var e;if("callObject"in o){var n=(null==c?void 0:c._callFrameId)!==(null==o||null==(e=o.callObject)?void 0:e._callFrameId);o.callObject?(n||!c&&o.callObject)&&f(o.callObject):f(null)}}),[c,o]);var m=n.useCallback((function(e){if("action"in e)for(var n,t=function(e,n){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=function(e,n){if(e){if("string"==typeof e)return s(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?s(e,void 0):void 0}}(e))){t&&(e=t);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(null!=(i=null==(r=p.current)||null==(a=r[e.action])?void 0:a.values())?i:[]);!(n=t()).done;){var i,r,a;(0,n.value)(e)}}),[]),g=n.useCallback((function(e){e&&Object.keys(p.current).forEach((function(n){e.off(n,m).on(n,m)}))}),[m]);n.useEffect((function(){if(!c){if("callObject"in o)return f(o.callObject),void g(o.callObject);var e=a.createCallObject(o);f(e),g(e)}}),[c,g,o]);var k=n.useCallback((function(e,n,t){var i,r;p.current[e]||(p.current[e]=new Map,c&&c.off(e,m).on(e,m)),(null==(i=p.current[e])?void 0:i.has(t))||null==(r=p.current[e])||r.set(t,n)}),[c,m]),y=n.useCallback((function(e,n){var t,i;null==(t=p.current[e])||t.delete(n),0===(null==(i=p.current[e])?void 0:i.size)&&(null==c||c.off(e,m),delete p.current[e])}),[c,m]);return t.createElement(i.RecoilRoot,null,t.createElement(d.Provider,{value:c},t.createElement(v.Provider,{value:{on:k,off:y}},t.createElement(H,null,t.createElement(C,null,t.createElement(z,null,r))))))},exports.DailyVideo=O,exports.useActiveParticipant=T,exports.useActiveSpeakerId=function(e){var t=(void 0===e?{}:e).ignoreLocal,r=void 0!==t&&t,a=A(),o=i.useRecoilValue(y),u=n.useState(null),c=u[0],l=u[1];return n.useEffect((function(){r&&o===a||l(o)}),[a,r,o]),c},exports.useAppMessage=function(e){var t=(void 0===e?{}:e).onAppMessage,i=f(),r=n.useCallback((function(e,n){void 0===n&&(n="*"),i&&i.sendAppMessage(e,n)}),[i]),a=n.useCallback((function(e){null==t||t(e,r)}),[t,r]);return g("app-message",a),r},exports.useAudioTrack=function(e){return P(e,"audio")},exports.useDaily=f,exports.useDailyEvent=g,exports.useDevices=function(){var e=f(),t=i.useRecoilValue(M),r=i.useRecoilValue(U),a=i.useRecoilValue(B),o=i.useRecoilValue(N),c=i.useRecoilValue(F),l=i.useRecoilValue(q),s=n.useContext(V).refreshDevices,d=n.useCallback(function(){var n=u((function*(n){yield null==e?void 0:e.setInputDevicesAsync({audioDeviceId:null,videoDeviceId:n})}));return function(e){return n.apply(this,arguments)}}(),[e]),v=n.useCallback(function(){var n=u((function*(n){yield null==e?void 0:e.setInputDevicesAsync({audioDeviceId:n,videoDeviceId:null})}));return function(e){return n.apply(this,arguments)}}(),[e]),p=n.useCallback(function(){var n=u((function*(n){yield null==e?void 0:e.setOutputDeviceAsync({outputDeviceId:n})}));return function(e){return n.apply(this,arguments)}}(),[e]),m=["blocked","in-use","not-found","constraints-invalid","constraints-none-specified","undefined-mediadevices","unknown"];return{cameraError:l,cameras:a,camState:t,hasCamError:m.includes(t),hasMicError:m.includes(r),microphones:o,micState:r,refreshDevices:s,setCamera:d,setMicrophone:v,setSpeaker:p,speakers:c}},exports.useInputSettings=function(e){var t=void 0===e?{}:e,r=t.onError,a=t.onInputSettingsUpdated,o=i.useRecoilValue(Q),u=i.useRecoilValue(G),c=f(),l=i.useRecoilCallback((function(e){var n=e.set;return function(e){n(Q,e)}}),[]);return n.useEffect((function(){c&&c.getInputSettings().then(l)}),[c,l]),g("input-settings-updated",n.useCallback((function(e){l(e.inputSettings),setTimeout((function(){return null==a?void 0:a(e)}),0)}),[a,l])),g("nonfatal-error",i.useRecoilCallback((function(e){var n=e.set;return function(e){"input-settings-error"===e.type&&(n(G,e.errorMsg),setTimeout((function(){return null==r?void 0:r(e)}),0))}}),[r])),{errorMsg:u,inputSettings:o,updateInputSettings:n.useCallback((function(e){null==c||c.updateInputSettings(e)}),[c])}},exports.useLiveStreaming=function(e){var t=void 0===e?{}:e,r=t.onLiveStreamingError,a=t.onLiveStreamingStarted,o=t.onLiveStreamingStopped,u=f(),l=i.useRecoilValue(J);return g("live-streaming-started",i.useRecoilCallback((function(e){var n=e.set;return function(e){n(J,{isLiveStreaming:!0,layout:null==e?void 0:e.layout}),setTimeout((function(){return null==a?void 0:a(e)}),0)}}),[a])),g("live-streaming-stopped",i.useRecoilCallback((function(e){var n=e.set;return function(e){n(J,(function(e){return c({},e,{isLiveStreaming:!1,layout:void 0})})),setTimeout((function(){return null==o?void 0:o(e)}),0)}}),[o])),g("live-streaming-error",i.useRecoilCallback((function(e){var n=e.set;return function(e){n(J,(function(n){return c({},n,{errorMsg:e.errorMsg})})),setTimeout((function(){return null==r?void 0:r(e)}),0)}}),[r])),c({},l,{startLiveStreaming:n.useCallback((function(e){u&&u.startLiveStreaming(e)}),[u]),stopLiveStreaming:n.useCallback((function(){u&&u.stopLiveStreaming()}),[u]),updateLiveStreaming:n.useCallback((function(e){u&&u.updateLiveStreaming({layout:e.layout})}),[u])})},exports.useLocalParticipant=function(){var e=i.useRecoilValue(b);return E(e)},exports.useLocalSessionId=A,exports.useMediaTrack=P,exports.useNetwork=function(e){var t=void 0===e?{}:e,r=t.onNetworkConnection,a=t.onNetworkQualityChange,o=f(),c=i.useRecoilValue($),l=i.useRecoilValue(K),s=i.useRecoilValue(X),d=i.useRecoilCallback((function(e){var n=e.set;return u((function*(){if(o){var e=yield o.getNetworkTopology();e&&"none"!==(null==e?void 0:e.topology)&&n($,e.topology)}}))}),[o]),v=i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return function(e){n((function(n){var t=n.set;switch(e.event){case"connected":"peer-to-peer"===e.type&&t($,"peer"),"sfu"===e.type&&t($,"sfu")}})),setTimeout((function(){return null==r?void 0:r(e)}),0)}}),[r]),p=i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return function(e){n((function(n){var t=n.set;t(K,(function(n){return n!==e.quality?e.quality:n})),t(X,(function(n){return n!==e.threshold?e.threshold:n}))})),setTimeout((function(){return null==a?void 0:a(e)}),0)}}),[a]);return g("joined-meeting",d),g("network-connection",v),g("network-quality-change",p),n.useEffect((function(){o&&!c&&d()}),[o,d,c]),{getStats:n.useCallback(u((function*(){var e=yield null==o?void 0:o.getNetworkStats();return null==e?void 0:e.stats})),[o]),quality:l,threshold:s,topology:c}},exports.useParticipant=E,exports.useParticipantIds=_,exports.useParticipantProperty=x,exports.useReceiveSettings=function(e){var t=void 0===e?{}:e,r=t.id,a=void 0===r?"base":r,o=t.onReceiveSettingsUpdated,u=i.useRecoilValue(Y("base")),l=i.useRecoilValue(Y(a)),s=f();g("receive-settings-updated",i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return function(e){n((function(n){for(var t=n.reset,i=n.set,r=c({},e.receiveSettings),o=0,u=Object.entries(r);o<u.length;o++){var l=u[o],s=l[1];i(Y(l[0]),s)}a in r||t(Y(a))})),setTimeout((function(){return null==o?void 0:o(e)}),0)}}),[a,o]));var d=n.useCallback((function(e){s&&"joined-meeting"===s.meetingState()&&(null==s||null==s.updateReceiveSettings||s.updateReceiveSettings(e))}),[s]);return{receiveSettings:"base"===a||0===Object.keys(l).length?u:l,updateReceiveSettings:d}},exports.useRecording=function(e){var t=void 0===e?{}:e,r=t.onRecordingData,a=t.onRecordingError,o=t.onRecordingStarted,u=t.onRecordingStopped,l=f(),s=i.useRecoilValue(Z),d=i.useSetRecoilState(Z),v=A(),p=_({filter:"record"});return n.useEffect((function(){var e=p.length>0,n=p.includes(null!=v?v:"local");d((function(t){return c({},t,{isLocalParticipantRecorded:"local"!==(null==t?void 0:t.type)&&(null==t?void 0:t.type)?t.isLocalParticipantRecorded:e,isRecording:"local"!==(null==t?void 0:t.type)&&(null==t?void 0:t.type)?t.isRecording:e,local:"local"!==(null==t?void 0:t.type)&&(null==t?void 0:t.type)||!e?null==t?void 0:t.local:n,type:e?"local":null==t?void 0:t.type})}))}),[v,p,d]),g("recording-started",i.useRecoilCallback((function(e){var n=e.set;return function(e){var t=!0;switch(e.type){case"cloud-beta":case"cloud":var i;v&&"single-participant"===(null==(i=e.layout)?void 0:i.preset)&&e.layout.session_id!==v&&(t=!1)}n(Z,{error:!1,isLocalParticipantRecorded:t,isRecording:!0,layout:null==e?void 0:e.layout,local:null==e?void 0:e.local,recordingId:null==e?void 0:e.recordingId,recordingStartedDate:new Date,startedBy:null==e?void 0:e.startedBy,type:null==e?void 0:e.type}),setTimeout((function(){return null==o?void 0:o(e)}),0)}}),[v,o])),g("recording-stopped",i.useRecoilCallback((function(e){var n=e.set;return function(e){n(Z,(function(e){return c({},e,{isLocalParticipantRecorded:!1,isRecording:!1})})),setTimeout((function(){return null==u?void 0:u(e)}),0)}}),[u])),g("recording-error",i.useRecoilCallback((function(e){var n=e.set;return function(e){n(Z,(function(e){return c({},e,{error:!0,isLocalParticipantRecorded:!1,isRecording:!1})})),setTimeout((function(){return null==a?void 0:a(e)}),0)}}),[a])),g("recording-data",n.useCallback((function(e){null==r||r(e)}),[r])),c({},s,{startRecording:n.useCallback((function(e){l&&l.startRecording(e)}),[l]),stopRecording:n.useCallback((function(){l&&l.stopRecording()}),[l]),updateRecording:n.useCallback((function(e){l&&l.updateRecording(e)}),[l])})},exports.useRoom=ee,exports.useScreenAudioTrack=function(e){return P(e,"screenAudio")},exports.useScreenShare=w,exports.useScreenVideoTrack=function(e){return P(e,"screenVideo")},exports.useThrottledDailyEvent=k,exports.useTranscription=function(e){var t,r=void 0===e?{}:e,a=r.onTranscriptionAppData,o=r.onTranscriptionError,u=r.onTranscriptionStarted,l=r.onTranscriptionStopped,s=f(),d=i.useRecoilValue(ne),v=i.useSetRecoilState(ne),p=ee();return n.useEffect((function(){var e;(null==p||null==(e=p.domainConfig)?void 0:e.enable_transcription)&&v((function(e){return c({},e,{isTranscriptionEnabled:!0})}))}),[null==p||null==(t=p.domainConfig)?void 0:t.enable_transcription,v]),g("transcription-started",i.useRecoilCallback((function(e){var n=e.set;return function(e){n(ne,c({isTranscriptionEnabled:!0,error:!1,isTranscribing:!0,transcriptionStartDate:new Date,transcriptions:[]},e)),setTimeout((function(){return null==u?void 0:u(e)}),0)}}),[u])),g("transcription-stopped",i.useRecoilCallback((function(e){var n=e.set;return function(e){n(ne,(function(n){return c({},n,{updatedBy:null==e?void 0:e.updatedBy,isTranscribing:!1})})),setTimeout((function(){return null==l?void 0:l(e)}),0)}}),[l])),g("transcription-error",i.useRecoilCallback((function(e){var n=e.set;return function(e){n(ne,(function(e){return c({},e,{error:!0,isTranscribing:!1})})),setTimeout((function(){return null==o?void 0:o(e)}),0)}}),[o])),g("app-message",i.useRecoilCallback((function(e){var n=e.set;return function(e){var t;"transcription"===(null==e?void 0:e.fromId)&&(null==e||null==(t=e.data)?void 0:t.is_final)&&(n(ne,(function(n){return c({},n,{isTranscribing:!0,transcriptions:[].concat(n.transcriptions,[e.data])})})),setTimeout((function(){return null==a?void 0:a(e)}),0))}}),[a])),c({},d,{startTranscription:n.useCallback((function(e){s&&s.startTranscription(e)}),[s]),stopTranscription:n.useCallback((function(){s&&s.stopTranscription()}),[s])})},exports.useVideoTrack=function(e){return P(e,"video")},exports.useWaitingParticipants=function(e){var t=void 0===e?{}:e,r=t.onWaitingParticipantAdded,a=t.onWaitingParticipantRemoved,o=t.onWaitingParticipantUpdated,u=f(),c=i.useRecoilValue(re),l=i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return function(e){n((function(n){var t=n.set;t(te,(function(n){return n.includes(e.participant.id)?n:[].concat(n,[e.participant.id])})),t(ie(e.participant.id),e.participant)})),setTimeout((function(){return null==r?void 0:r(e)}),0)}}),[r]),s=i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return function(e){n((function(n){var t=n.reset;(0,n.set)(te,(function(n){return n.filter((function(n){return n!==e.participant.id}))})),t(ie(e.participant.id))})),setTimeout((function(){return null==a?void 0:a(e)}),0)}}),[a]),d=i.useRecoilCallback((function(e){var n=e.set;return function(e){n(ie(e.participant.id),e.participant),setTimeout((function(){return null==o?void 0:o(e)}),0)}}),[o]);g("waiting-participant-added",l),g("waiting-participant-removed",s),g("waiting-participant-updated",d);var v=n.useCallback((function(e,n){"*"!==e?null==u||u.updateWaitingParticipant(e,{grantRequestedAccess:n}):null==u||u.updateWaitingParticipants({"*":{grantRequestedAccess:n}})}),[u]);return{waitingParticipants:c,grantAccess:n.useCallback((function(e){v(e,!0)}),[v]),denyAccess:n.useCallback((function(e){v(e,!1)}),[v])}}; | ||
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n=require("react"),t=e(n),i=require("recoil"),r=e(require("lodash.throttle")),a=e(require("@daily-co/daily-js"));function o(e,n,t,i,r,a,o){try{var u=e[a](o),c=u.value}catch(e){return void t(e)}u.done?n(c):Promise.resolve(c).then(i,r)}function u(e){return function(){var n=this,t=arguments;return new Promise((function(i,r){var a=e.apply(n,t);function u(e){o(a,i,r,u,c,"next",e)}function c(e){o(a,i,r,u,c,"throw",e)}u(void 0)}))}}function c(){return(c=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e}).apply(this,arguments)}function l(e,n){if(null==e)return{};var t,i,r={},a=Object.keys(e);for(i=0;i<a.length;i++)n.indexOf(t=a[i])>=0||(r[t]=e[t]);return r}function s(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,i=new Array(n);t<n;t++)i[t]=e[t];return i}var d=n.createContext(null),f=function(){return n.useContext(d)},p=n.createContext({on:function(){},off:function(){}}),v=0,m=function(){return v++},g=function(e,t){var i=n.useContext(p),r=i.off,a=i.on,o=n.useState(!1),u=o[0],c=o[1],l=n.useRef(0),s=n.useMemo((function(){return m()}),[]);n.useEffect((function(){if(e&&!u){if(l.current>1e5)return console.error("useDailyEvent called with potentially non-memoized event callback or due to too many re-renders.\n Memoize using useCallback to avoid re-render loop or reduce the amount of state transitions the callback depends on.\n Passed callback for '"+e+"' event is NOT registered.",t),void c(!0);l.current++;var n=setTimeout((function(){l.current=0}),50);return a(e,t,s),function(){clearTimeout(n),r(e,s)}}}),[t,e,s,u,r,a])},k=function(e,t,i){void 0===i&&(i=100);var a=n.useContext(p),o=a.off,u=a.on,c=n.useMemo((function(){var n;return Array.isArray(e)?e.reduce((function(e,n){return e[n]=m(),e}),{}):((n={})[e]=m(),n)}),[e]),l=n.useRef([]),s=n.useMemo((function(){return r((function(){0!==l.current.length&&(t(l.current),l.current=[])}),i,{trailing:!0})}),[t,i]);n.useEffect((function(){if(e){var n=function(e){l.current.push(e),setTimeout(s,0)};return Array.isArray(e)?e.forEach((function(e){return u(e,n,c[e])})):u(e,n,c[e]),function(){Array.isArray(e)?e.forEach((function(e){return o(e,c[e])})):o(e,c[e])}}}),[s,e,c,o,u])},y=i.atom({key:"active-id",default:null}),b=i.atom({key:"local-id",default:""}),h=i.atom({key:"participants-objects",default:[]}),S=i.selectorFamily({key:"participant",get:function(e){return function(n){var t;return null!=(t=(0,n.get)(h).find((function(n){return n.session_id===e})))?t:null}}}),R=i.selectorFamily({key:"participant-property",get:function(e){var n=e.id,t=e.properties;return function(e){var i,r;return r=null!=(i=(0,e.get)(h).find((function(e){return e.session_id===n})))?i:null,t.map((function(e){return function(e,n){return String(n).split(".").filter((function(e){return e.length})).reduce((function(e,n){return e&&e[n]}),e)}(r,e)}))}}}),C=function(e){var r=e.children,a=f(),o=i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return function(e){n((function(n){var t=n.set;t(b,e.local.session_id),t(h,Object.values(e))}))}}),[]);n.useEffect((function(){if(a){var e=setInterval((function(){var n=a.participants();"local"in n&&(o(n),clearInterval(e))}),100);return function(){clearInterval(e)}}}),[a,o]);var u=n.useCallback((function(){if(a){var e=null==a?void 0:a.participants();e.local&&o(e)}}),[a,o]);return g("started-camera",u),g("access-state-updated",u),g("joining-meeting",u),g("joined-meeting",n.useCallback((function(e){o(e.participants)}),[o])),k(["active-speaker-change","participant-joined","participant-updated","participant-left"],i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return function(e){n((function(n){var t=n.set;e.forEach((function(e){switch(e.action){case"active-speaker-change":var n=e.activeSpeaker.peerId;t(y,n),t(h,(function(e){return[].concat(e).map((function(e){return e.session_id===n?c({},e,{last_active:new Date}):e}))}));break;case"participant-joined":t(h,(function(n){return[].concat(n,[e.participant]).filter((function(e,n,t){return t.findIndex((function(n){return n.session_id===e.session_id}))==n}))}));break;case"participant-updated":t(h,(function(n){return[].concat(n).map((function(n){return n.session_id===e.participant.session_id?c({},e.participant,{last_active:n.last_active}):n}))}));break;case"participant-left":t(h,(function(n){return[].concat(n).filter((function(n){return e.participant.session_id!==n.session_id}))}))}}))}))}}),[])),g("left-meeting",i.useRecoilCallback((function(e){var n=e.reset;return function(){n(b),n(h)}}),[])),t.createElement(t.Fragment,null,r)},E=function(e,t){var r=void 0===t?{}:t,a=r.onParticipantLeft,o=r.onParticipantUpdated,u=i.useRecoilValue(S(e));return k(["participant-updated","participant-left"],n.useCallback((function(n){var t=n.filter((function(n){return n.participant.session_id===e}));t.length&&t.forEach((function(e){switch(e.action){case"participant-updated":null==o||o(e);break;case"participant-left":null==a||a(e)}}))}),[a,o,e])),u},A=function(e){var t=void 0===e?{}:e,r=t.ignoreLocal,a=void 0!==r&&r,o=t.onActiveSpeakerChange,u=f(),c=i.useRecoilValue(y),l=n.useState(""),s=l[1],d=E(l[0]);return n.useEffect((function(){var e;if(u){var n=null==u||null==(e=u.participants())?void 0:e.local;a&&c===(null==n?void 0:n.session_id)||s(null!=c?c:"")}}),[u,a,c]),g("active-speaker-change",n.useCallback((function(e){null==o||o(e)}),[o])),d},I=function(){return i.useRecoilValue(b)||null},L=Boolean,_=function(){return 0},T=function(e){var t=void 0===e?{filter:L,sort:_}:e,r=t.filter,a=void 0===r?L:r,o=t.onActiveSpeakerChange,u=t.onParticipantJoined,c=t.onParticipantLeft,l=t.onParticipantUpdated,s=t.sort,d=void 0===s?_:s,f=i.useRecoilValue(h),p=n.useMemo((function(){var e=L;switch(a){case"local":e=function(e){return e.local};break;case"owner":e=function(e){return e.owner};break;case"record":e=function(e){return e.record};break;case"remote":e=function(e){return!e.local};break;case"screen":e=function(e){return e.screen};break;default:e=a}return e}),[a]),v=n.useMemo((function(){var e;switch(d){case"joined_at":case"session_id":case"user_id":case"user_name":e=function(e,n){var t=e[d],i=n[d];if(void 0!==t||void 0!==i){if(void 0===t)return-1;if(void 0===i)return 1;if(t>i)return 1;if(t<i)return-1}return 0};break;default:e=d}return e}),[d]),m=n.useMemo((function(){return f.filter(p).sort(v).map((function(e){return e.session_id})).filter(Boolean)}),[f,p,v]);return k(["participant-joined","participant-updated","active-speaker-change","participant-left"],n.useCallback((function(e){e.length&&e.forEach((function(e){switch(e.action){case"participant-joined":null==u||u(e);break;case"participant-updated":null==l||l(e);break;case"active-speaker-change":null==o||o(e);break;case"participant-left":null==c||c(e)}}))}),[o,u,c,l])),m},w=function(e){var t=void 0===e?{}:e,i=t.onLocalScreenShareStarted,r=t.onLocalScreenShareStopped,a=f(),o=n.useCallback((function(e){null==a||a.startScreenShare(e)}),[a]),u=n.useCallback((function(){null==a||a.stopScreenShare()}),[a]);g("local-screen-share-started",n.useCallback((function(){return null==i?void 0:i()}),[i])),g("local-screen-share-stopped",n.useCallback((function(){return null==r?void 0:r()}),[r]));var c=T({filter:"screen"}),l=n.useMemo((function(){return c.map((function(e){var n,t=Object.values(null!=(n=null==a||null==a.participants?void 0:a.participants())?n:{}).find((function(n){return n.session_id===e}));if(t)return{local:t.local,screenAudio:t.tracks.screenAudio,screenVideo:t.tracks.screenVideo,screenId:e+"-screen",session_id:e}})).filter((function(e){return!!e}))}),[a,c]);return{isSharingScreen:l.some((function(e){return e.local})),screens:l,startScreenShare:o,stopScreenShare:u}},P=function(e,n){var t=i.useRecoilValue(R({id:e,properties:Array.isArray(n)?n:[n]}));return Array.isArray(n)?t:t[0]},x=function(e,n){void 0===n&&(n="video");var t=P(e,"tracks."+n);return t?c({},t,{isOff:"blocked"===t.state||"off"===t.state}):{isOff:!0,persistentTrack:void 0,state:"off",subscribed:!1}},D=function(e){var i=e.onPlayFailed,r=e.sessionId,a=e.type,o=void 0===a?"audio":a,u=n.useRef(null),c=x(r,o);return n.useEffect((function(){var e=u.current;if(e&&(null==c?void 0:c.persistentTrack)){var n,t=function(){n=setTimeout((function(){(e.readyState!==e.HAVE_ENOUGH_DATA||e.paused)&&(null==i||i({sessionId:r,target:e,type:o}))}),1500)},a=function(){clearTimeout(n)};return e.addEventListener("canplay",t),e.addEventListener("play",a),e.srcObject=new MediaStream([null==c?void 0:c.persistentTrack]),function(){null==e||e.removeEventListener("canplay",t),null==e||e.removeEventListener("play",a)}}}),[null==c?void 0:c.persistentTrack,i,r,o]),t.createElement("audio",{autoPlay:!0,"data-session-id":r,"data-audio-type":o,playsInline:!0,ref:u})},j=n.memo((function(e){var r=e.maxSpeakers,a=void 0===r?5:r,o=e.onPlayFailed,c=e.playLocalScreenAudio,l=void 0!==c&&c,s=n.useState([]),d=s[0],f=s[1],p=w().screens,v=I(),m=A({ignoreLocal:!0}),g=i.useRecoilCallback((function(e){var n=e.snapshot;return function(){var e=u((function*(e){var t=yield n.getPromise(h);f((function(n){var i;if(n.includes(e))return n;if(n.some((function(e){return!e}))){var r=n.findIndex((function(e){return!e}));return n[r]=e,[].concat(n)}var a=n.findIndex((function(e){return t.some((function(n){return n.session_id===e&&["blocked","off"].includes(n.tracks.audio.state)}))}));if(a>=0)return n[a]=e,[].concat(n);var o=t.filter((function(e){return n.includes(e.session_id)&&e.session_id!==(null==m?void 0:m.session_id)})).sort((function(e,n){var t,i,r=null!=(t=null==e?void 0:e.last_active)?t:new Date("1970-01-01"),a=null!=(i=null==n?void 0:n.last_active)?i:new Date("1970-01-01");return r>a?1:r<a?-1:0}));if(!o.length)return n[0]=e,[].concat(n);var u=n.indexOf(null==(i=o[0])?void 0:i.session_id);return n[u]=e,[].concat(n)}))}));return function(n){return e.apply(this,arguments)}}()}),[null==m?void 0:m.session_id]),y=n.useCallback((function(e){f((function(n){if(!n.includes(e))return n;var t=[].concat(n),i=t.indexOf(e);return t[i]="",t}))}),[]);return k(["active-speaker-change","track-started","participant-left"],n.useCallback((function(e){e.forEach((function(e){switch(e.action){case"active-speaker-change":if(e.activeSpeaker.peerId===v)return;g(e.activeSpeaker.peerId);break;case"track-started":"audio"===e.track.kind&&e.participant&&!e.participant.local&&g(e.participant.session_id);break;case"participant-left":y(e.participant.session_id)}}))}),[g,v,y])),n.useEffect((function(){var e=new Array(a).fill(null);f(e)}),[a]),t.createElement(t.Fragment,null,d.map((function(e,n){return t.createElement(D,{key:"speaker-slot-"+n,onPlayFailed:o,sessionId:e,type:"audio"})})),p.filter((function(e){return!!l||!e.local})).map((function(e){return t.createElement(D,{key:e.screenId,onPlayFailed:o,sessionId:e.session_id,type:"screenAudio"})})))}));j.displayName="DailyAudio";var O=n.forwardRef((function(e,i){var r=e.automirror,a=e.fit,o=void 0===a?"contain":a,u=e.mirror,s=e.onResize,d=e.playableStyle,f=void 0===d?{}:d,p=e.sessionId,v=e.style,m=void 0===v?{}:v,g=e.type,k=void 0===g?"video":g,y=l(e,["automirror","fit","mirror","onResize","playableStyle","sessionId","style","type"]),b=I()===p,h="screenVideo"===k,S=b&&!h,R=n.useRef(null),C=i||R,E=x(p,k),A=E.persistentTrack,L=S||h||!E.isOff,_=P(p,"tracks."+k+".subscribed"),T=n.useMemo((function(){if("boolean"==typeof u)return u;if(!r)return!1;if(!A)return S;var e=A.getSettings();return"facingMode"in e?S&&"user"===e.facingMode:S}),[r,S,u,A]);return n.useEffect((function(){var e=C.current;if(e){var n=function(){e.paused&&e.play()},t=function(){e.style.transform="scale(1)"},i=function(){e.style.transform="",setTimeout((function(){e.paused&&e.play()}),100)},r=function(){"hidden"!==document.visibilityState&&e.paused&&e.play()};return e.addEventListener("canplay",n),e.addEventListener("enterpictureinpicture",t),e.addEventListener("leavepictureinpicture",i),document.addEventListener("visibilitychange",r),function(){e.removeEventListener("canplay",n),e.removeEventListener("enterpictureinpicture",t),e.removeEventListener("leavepictureinpicture",i),document.removeEventListener("visibilitychange",r)}}}),[C]),n.useEffect((function(){var e=C.current;if(e&&A)return e.srcObject=new MediaStream([A]),e.load(),function(){e.srcObject=null,e.load()}}),[C,A,null==A?void 0:A.id]),n.useEffect((function(){var e=C.current;if(s&&e){var n,t=function(){e&&(n&&cancelAnimationFrame(n),n=requestAnimationFrame((function(){if(!document.hidden){var n=null==e?void 0:e.videoWidth,t=null==e?void 0:e.videoHeight;n&&t&&s({aspectRatio:n/t,height:t,width:n})}})))};return t(),null==e||e.addEventListener("resize",t),function(){return null==e?void 0:e.removeEventListener("resize",t)}}}),[s,C,A]),t.createElement("video",Object.assign({autoPlay:!0,muted:!0,playsInline:!0,ref:C,"data-local":b,"data-mirrored":T||void 0,"data-playable":L||void 0,"data-session-id":p,"data-subscribed":_,"data-video-type":k,style:c({objectFit:o,transform:T?"scale(-1, 1)":""},m,L?f:{})},y))}));O.displayName="DailyVideo";var M=n.createContext({refreshDevices:function(){return Promise.resolve()}}),V=i.atom({key:"general-camera-state",default:"pending"}),U=i.atom({key:"general-microphone-state",default:"pending"}),B=i.atom({key:"camera-devices",default:[]}),N=i.atom({key:"microphone-devices",default:[]}),F=i.atom({key:"speaker-devices",default:[]}),q=i.atom({key:"last-camera-error",default:null}),z=function(e){var r=e.children,a=f(),o=i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return u((function*(){var e,t,i,r;if(void 0!==(null==(e=navigator)||null==(t=e.mediaDevices)?void 0:t.getUserMedia)&&void 0!==(null==(i=navigator)||null==(r=i.mediaDevices)?void 0:r.enumerateDevices)){if(a)try{var o=(yield a.enumerateDevices()).devices,u=o.filter((function(e){return"videoinput"===e.kind&&""!==e.deviceId})),c=o.filter((function(e){return"audioinput"===e.kind&&""!==e.deviceId})),l=o.filter((function(e){return"audiooutput"===e.kind&&""!==e.deviceId})),s=yield a.getInputDevices(),d=s.camera,f=s.mic,p=s.speaker,v=function(e,n,t){var i,r;return{device:n,selected:"deviceId"in e&&n.deviceId===e.deviceId,state:null!=(i=null==(r=t.find((function(e){return e.device.deviceId===n.deviceId})))?void 0:r.state)?i:"granted"}},m=function(e,n){return"default"===e.device.deviceId?-1:"default"===n.device.deviceId?1:e.device.label<n.device.label?-1:e.device.label>n.device.label?1:0};n((function(e){var n=e.set;n(B,(function(e){return u.filter(Boolean).map((function(n){return v(d,n,e)})).sort(m)})),n(N,(function(e){return c.filter(Boolean).map((function(n){return v(f,n,e)})).sort(m)})),n(F,(function(e){return l.filter(Boolean).map((function(n){return v(p,n,e)})).sort(m)}))}))}catch(e){n((function(e){var n=e.set;n(V,"not-supported"),n(U,"not-supported")}))}}else n((function(e){var n=e.set;n(V,"not-supported"),n(U,"not-supported")}))}))}),[a]),l=i.useRecoilCallback((function(e){var n=e.set,t=e.snapshot,i=e.transact_UNSTABLE;return u((function*(){var e,r,u,l,s,d,f,p,v,m,g,k;if(a){var y=yield t.getPromise(V),b=yield t.getPromise(U),h=a.participants().local.tracks,S="pending"===y&&"interrupted"===h.video.state,R="pending"===b&&"interrupted"===h.audio.state;(null==(e=h.audio)||null==(r=e.blocked)?void 0:r.byDeviceInUse)?i((function(e){var n=e.set;n(U,"in-use"),n(N,(function(e){return e.map((function(e){return e.selected?c({},e,{state:"in-use"}):e}))}))})):(null==(u=h.audio)||null==(l=u.blocked)?void 0:l.byDeviceMissing)?n(U,"not-found"):(null==(s=h.audio)||null==(d=s.blocked)?void 0:d.byPermissions)?n(U,"blocked"):R||i((function(e){var n=e.set;n(U,"granted"),n(N,(function(e){return e.map((function(e){return e.selected?c({},e,{state:"granted"}):e}))}))})),(null==(f=h.video)||null==(p=f.blocked)?void 0:p.byDeviceInUse)?i((function(e){var n=e.set;n(V,"in-use"),n(B,(function(e){return e.map((function(e){return e.selected?c({},e,{state:"in-use"}):e}))}))})):(null==(v=h.video)||null==(m=v.blocked)?void 0:m.byDeviceMissing)?n(V,"not-found"):(null==(g=h.video)||null==(k=g.blocked)?void 0:k.byPermissions)?n(V,"blocked"):S||i((function(e){var n=e.set;n(V,"granted"),n(B,(function(e){return e.map((function(e){return e.selected?c({},e,{state:"granted"}):e}))}))})),o()}}))}),[a,o]);return g("participant-updated",n.useCallback((function(e){e.participant.local&&l()}),[l])),g("available-devices-updated",o),g("selected-devices-updated",o),g("camera-error",i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return function(e){n((function(n){var t,i,r,a,o,u,c,l=n.set;switch(l(q,e.error),null==(t=e.error)?void 0:t.type){case"cam-in-use":l(V,"in-use");break;case"mic-in-use":l(U,"in-use");break;case"cam-mic-in-use":l(V,"in-use"),l(U,"in-use");break;case"not-found":(null==(i=e.error)?void 0:i.missingMedia.includes("video"))&&l(V,"not-found"),(null==(r=e.error)?void 0:r.missingMedia.includes("audio"))&&l(U,"not-found");break;case"permissions":(null==(a=e.error)?void 0:a.blockedMedia.includes("video"))&&l(V,"blocked"),(null==(o=e.error)?void 0:o.blockedMedia.includes("audio"))&&l(U,"blocked");break;case"constraints":"invalid"===(null==(u=e.error)?void 0:u.reason)?(l(V,"constraints-invalid"),l(U,"constraints-invalid")):"none-specified"===(null==(c=e.error)?void 0:c.reason)&&(l(V,"constraints-none-specified"),l(U,"constraints-none-specified"));break;case"undefined-mediadevices":l(V,"undefined-mediadevices"),l(U,"undefined-mediadevices");break;case"unknown":default:l(V,"unknown"),l(U,"unknown")}}))}}),[])),g("started-camera",i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return function(){n((function(e){var n=e.set;n(V,"granted"),n(U,"granted")})),l()}}),[l])),t.createElement(M.Provider,{value:{refreshDevices:o}},r)},W=i.atom({key:"room",default:null}),H=function(e){var n=e.children,r=f(),a=i.useRecoilCallback((function(e){var n=e.set;return u((function*(){if(r&&"left-meeting"!==r.meetingState()){var e=yield r.room();return e&&"id"in e&&n(W,e),e}}))}),[r]);return g("access-state-updated",a),t.createElement(t.Fragment,null,n)},Q=i.atom({key:"input-settings",default:null}),G=i.atom({key:"input-settings-error",default:null}),J=i.atom({key:"live-streaming",default:{errorMsg:void 0,isLiveStreaming:!1,layout:void 0}}),$=i.atom({key:"topology",default:"none"}),K=i.atom({key:"networkQuality",default:100}),X=i.atom({key:"networkThreshold",default:"good"}),Y=i.atomFamily({key:"participant-receive-settings",default:{}}),Z=i.atom({key:"recording",default:{isLocalParticipantRecorded:!1,isRecording:!1}}),ee=function(){return i.useRecoilValue(W)},ne=i.atom({key:"transcription",default:{isTranscriptionEnabled:!1,isTranscribing:!1,model:"general",language:"en",transcriptions:[]}}),te=i.atom({key:"waiting-participants",default:[]}),ie=i.atomFamily({key:"waiting-participant",default:{awaitingAccess:{level:"full"},id:"",name:""}}),re=i.selector({key:"waitingParticipantsSelector",get:function(e){var n=e.get;return n(te).map((function(e){return n(ie(e))}))}});exports.DailyAudio=j,exports.DailyAudioTrack=D,exports.DailyProvider=function(e){var r=e.children,o=e.recoilRootProps,u=void 0===o?{}:o,c=l(e,["children","recoilRootProps"]),f=n.useState("callObject"in c?c.callObject:null),v=f[0],m=f[1],g=n.useRef({});n.useEffect((function(){var e;if("callObject"in c){var n=(null==v?void 0:v._callFrameId)!==(null==c||null==(e=c.callObject)?void 0:e._callFrameId);c.callObject?(n||!v&&c.callObject)&&m(c.callObject):m(null)}}),[v,c]);var k=n.useCallback((function(e){if("action"in e)for(var n,t=function(e,n){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=function(e,n){if(e){if("string"==typeof e)return s(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?s(e,void 0):void 0}}(e))){t&&(e=t);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(null!=(i=null==(r=g.current)||null==(a=r[e.action])?void 0:a.values())?i:[]);!(n=t()).done;){var i,r,a;(0,n.value)(e)}}),[]),y=n.useCallback((function(e){e&&Object.keys(g.current).forEach((function(n){e.off(n,k).on(n,k)}))}),[k]);n.useEffect((function(){if(!v){if("callObject"in c)return m(c.callObject),void y(c.callObject);var e=a.createCallObject(c);m(e),y(e)}}),[v,y,c]);var b=n.useCallback((function(e,n,t){var i,r;g.current[e]||(g.current[e]=new Map,v&&v.off(e,k).on(e,k)),(null==(i=g.current[e])?void 0:i.has(t))||null==(r=g.current[e])||r.set(t,n)}),[v,k]),h=n.useCallback((function(e,n){var t,i;null==(t=g.current[e])||t.delete(n),0===(null==(i=g.current[e])?void 0:i.size)&&(null==v||v.off(e,k),delete g.current[e])}),[v,k]);return t.createElement(i.RecoilRoot,Object.assign({},u),t.createElement(d.Provider,{value:v},t.createElement(p.Provider,{value:{on:b,off:h}},t.createElement(H,null,t.createElement(C,null,t.createElement(z,null,r))))))},exports.DailyVideo=O,exports.useActiveParticipant=A,exports.useActiveSpeakerId=function(e){var t=(void 0===e?{}:e).ignoreLocal,r=void 0!==t&&t,a=I(),o=i.useRecoilValue(y),u=n.useState(null),c=u[0],l=u[1];return n.useEffect((function(){r&&o===a||l(o)}),[a,r,o]),c},exports.useAppMessage=function(e){var t=(void 0===e?{}:e).onAppMessage,i=f(),r=n.useCallback((function(e,n){void 0===n&&(n="*"),i&&i.sendAppMessage(e,n)}),[i]),a=n.useCallback((function(e){null==t||t(e,r)}),[t,r]);return g("app-message",a),r},exports.useAudioTrack=function(e){return x(e,"audio")},exports.useDaily=f,exports.useDailyEvent=g,exports.useDevices=function(){var e=f(),t=i.useRecoilValue(V),r=i.useRecoilValue(U),a=i.useRecoilValue(B),o=i.useRecoilValue(N),c=i.useRecoilValue(F),l=i.useRecoilValue(q),s=n.useContext(M).refreshDevices,d=n.useCallback(function(){var n=u((function*(n){yield null==e?void 0:e.setInputDevicesAsync({audioDeviceId:null,videoDeviceId:n})}));return function(e){return n.apply(this,arguments)}}(),[e]),p=n.useCallback(function(){var n=u((function*(n){yield null==e?void 0:e.setInputDevicesAsync({audioDeviceId:n,videoDeviceId:null})}));return function(e){return n.apply(this,arguments)}}(),[e]),v=n.useCallback(function(){var n=u((function*(n){yield null==e?void 0:e.setOutputDeviceAsync({outputDeviceId:n})}));return function(e){return n.apply(this,arguments)}}(),[e]),m=["blocked","in-use","not-found","constraints-invalid","constraints-none-specified","undefined-mediadevices","unknown"];return{cameraError:l,cameras:a,camState:t,hasCamError:m.includes(t),hasMicError:m.includes(r),microphones:o,micState:r,refreshDevices:s,setCamera:d,setMicrophone:p,setSpeaker:v,speakers:c}},exports.useInputSettings=function(e){var t=void 0===e?{}:e,r=t.onError,a=t.onInputSettingsUpdated,o=i.useRecoilValue(Q),u=i.useRecoilValue(G),c=f(),l=i.useRecoilCallback((function(e){var n=e.set;return function(e){n(Q,e)}}),[]);return n.useEffect((function(){c&&c.getInputSettings().then(l)}),[c,l]),g("input-settings-updated",n.useCallback((function(e){l(e.inputSettings),null==a||a(e)}),[a,l])),g("nonfatal-error",i.useRecoilCallback((function(e){var n=e.set;return function(e){"input-settings-error"===e.type&&(n(G,e.errorMsg),null==r||r(e))}}),[r])),{errorMsg:u,inputSettings:o,updateInputSettings:n.useCallback((function(e){null==c||c.updateInputSettings(e)}),[c])}},exports.useLiveStreaming=function(e){var t=void 0===e?{}:e,r=t.onLiveStreamingError,a=t.onLiveStreamingStarted,o=t.onLiveStreamingStopped,u=f(),l=i.useRecoilValue(J);return g("live-streaming-started",i.useRecoilCallback((function(e){var n=e.set;return function(e){n(J,{isLiveStreaming:!0,layout:null==e?void 0:e.layout}),null==a||a(e)}}),[a])),g("live-streaming-stopped",i.useRecoilCallback((function(e){var n=e.set;return function(e){n(J,(function(e){return c({},e,{isLiveStreaming:!1,layout:void 0})})),null==o||o(e)}}),[o])),g("live-streaming-error",i.useRecoilCallback((function(e){var n=e.set;return function(e){n(J,(function(n){return c({},n,{errorMsg:e.errorMsg})})),null==r||r(e)}}),[r])),c({},l,{startLiveStreaming:n.useCallback((function(e){u&&u.startLiveStreaming(e)}),[u]),stopLiveStreaming:n.useCallback((function(){u&&u.stopLiveStreaming()}),[u]),updateLiveStreaming:n.useCallback((function(e){u&&u.updateLiveStreaming({layout:e.layout})}),[u])})},exports.useLocalParticipant=function(){var e=i.useRecoilValue(b);return E(e)},exports.useLocalSessionId=I,exports.useMediaTrack=x,exports.useNetwork=function(e){var t=void 0===e?{}:e,r=t.onNetworkConnection,a=t.onNetworkQualityChange,o=f(),c=i.useRecoilValue($),l=i.useRecoilValue(K),s=i.useRecoilValue(X),d=i.useRecoilCallback((function(e){var n=e.set;return u((function*(){if(o){var e=yield o.getNetworkTopology();e&&"none"!==(null==e?void 0:e.topology)&&n($,e.topology)}}))}),[o]),p=i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return function(e){n((function(n){var t=n.set;switch(e.event){case"connected":"peer-to-peer"===e.type&&t($,"peer"),"sfu"===e.type&&t($,"sfu")}})),null==r||r(e)}}),[r]),v=i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return function(e){n((function(n){var t=n.set;t(K,(function(n){return n!==e.quality?e.quality:n})),t(X,(function(n){return n!==e.threshold?e.threshold:n}))})),null==a||a(e)}}),[a]);return g("joined-meeting",d),g("network-connection",p),g("network-quality-change",v),n.useEffect((function(){o&&!c&&d()}),[o,d,c]),{getStats:n.useCallback(u((function*(){var e=yield null==o?void 0:o.getNetworkStats();return null==e?void 0:e.stats})),[o]),quality:l,threshold:s,topology:c}},exports.useParticipant=E,exports.useParticipantIds=T,exports.useParticipantProperty=P,exports.useReceiveSettings=function(e){var t=void 0===e?{}:e,r=t.id,a=void 0===r?"base":r,o=t.onReceiveSettingsUpdated,u=i.useRecoilValue(Y("base")),l=i.useRecoilValue(Y(a)),s=f();g("receive-settings-updated",i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return function(e){n((function(n){for(var t=n.reset,i=n.set,r=c({},e.receiveSettings),o=0,u=Object.entries(r);o<u.length;o++){var l=u[o],s=l[1];i(Y(l[0]),s)}a in r||t(Y(a))})),null==o||o(e)}}),[a,o]));var d=n.useCallback((function(e){s&&"joined-meeting"===s.meetingState()&&(null==s||null==s.updateReceiveSettings||s.updateReceiveSettings(e))}),[s]);return{receiveSettings:"base"===a||0===Object.keys(l).length?u:l,updateReceiveSettings:d}},exports.useRecording=function(e){var t=void 0===e?{}:e,r=t.onRecordingData,a=t.onRecordingError,o=t.onRecordingStarted,u=t.onRecordingStopped,l=f(),s=i.useRecoilValue(Z),d=i.useSetRecoilState(Z),p=I(),v=T({filter:"record"});return n.useEffect((function(){var e=v.length>0,n=v.includes(null!=p?p:"local");d((function(t){return c({},t,{isLocalParticipantRecorded:"local"!==(null==t?void 0:t.type)&&(null==t?void 0:t.type)?t.isLocalParticipantRecorded:e,isRecording:"local"!==(null==t?void 0:t.type)&&(null==t?void 0:t.type)?t.isRecording:e,local:"local"!==(null==t?void 0:t.type)&&(null==t?void 0:t.type)||!e?null==t?void 0:t.local:n,type:e?"local":null==t?void 0:t.type})}))}),[p,v,d]),g("recording-started",i.useRecoilCallback((function(e){var n=e.set;return function(e){var t=!0;switch(e.type){case"cloud-beta":case"cloud":var i;p&&"single-participant"===(null==(i=e.layout)?void 0:i.preset)&&e.layout.session_id!==p&&(t=!1)}n(Z,{error:!1,isLocalParticipantRecorded:t,isRecording:!0,layout:null==e?void 0:e.layout,local:null==e?void 0:e.local,recordingId:null==e?void 0:e.recordingId,recordingStartedDate:new Date,startedBy:null==e?void 0:e.startedBy,type:null==e?void 0:e.type}),null==o||o(e)}}),[p,o])),g("recording-stopped",i.useRecoilCallback((function(e){var n=e.set;return function(e){n(Z,(function(e){return c({},e,{isLocalParticipantRecorded:!1,isRecording:!1})})),null==u||u(e)}}),[u])),g("recording-error",i.useRecoilCallback((function(e){var n=e.set;return function(e){n(Z,(function(e){return c({},e,{error:!0,isLocalParticipantRecorded:!1,isRecording:!1})})),null==a||a(e)}}),[a])),g("recording-data",n.useCallback((function(e){null==r||r(e)}),[r])),c({},s,{startRecording:n.useCallback((function(e){l&&l.startRecording(e)}),[l]),stopRecording:n.useCallback((function(){l&&l.stopRecording()}),[l]),updateRecording:n.useCallback((function(e){l&&l.updateRecording(e)}),[l])})},exports.useRoom=ee,exports.useScreenAudioTrack=function(e){return x(e,"screenAudio")},exports.useScreenShare=w,exports.useScreenVideoTrack=function(e){return x(e,"screenVideo")},exports.useThrottledDailyEvent=k,exports.useTranscription=function(e){var t,r=void 0===e?{}:e,a=r.onTranscriptionAppData,o=r.onTranscriptionError,u=r.onTranscriptionStarted,l=r.onTranscriptionStopped,s=f(),d=i.useRecoilValue(ne),p=i.useSetRecoilState(ne),v=ee();return n.useEffect((function(){var e;(null==v||null==(e=v.domainConfig)?void 0:e.enable_transcription)&&p((function(e){return c({},e,{isTranscriptionEnabled:!0})}))}),[null==v||null==(t=v.domainConfig)?void 0:t.enable_transcription,p]),g("transcription-started",i.useRecoilCallback((function(e){var n=e.set;return function(e){n(ne,c({isTranscriptionEnabled:!0,error:!1,isTranscribing:!0,transcriptionStartDate:new Date,transcriptions:[]},e)),null==u||u(e)}}),[u])),g("transcription-stopped",i.useRecoilCallback((function(e){var n=e.set;return function(e){n(ne,(function(n){return c({},n,{updatedBy:null==e?void 0:e.updatedBy,isTranscribing:!1})})),null==l||l(e)}}),[l])),g("transcription-error",i.useRecoilCallback((function(e){var n=e.set;return function(e){n(ne,(function(e){return c({},e,{error:!0,isTranscribing:!1})})),null==o||o(e)}}),[o])),g("app-message",i.useRecoilCallback((function(e){var n=e.set;return function(e){var t;"transcription"===(null==e?void 0:e.fromId)&&(null==e||null==(t=e.data)?void 0:t.is_final)&&(n(ne,(function(n){return c({},n,{isTranscribing:!0,transcriptions:[].concat(n.transcriptions,[e.data])})})),null==a||a(e))}}),[a])),c({},d,{startTranscription:n.useCallback((function(e){s&&s.startTranscription(e)}),[s]),stopTranscription:n.useCallback((function(){s&&s.stopTranscription()}),[s])})},exports.useVideoTrack=function(e){return x(e,"video")},exports.useWaitingParticipants=function(e){var t=void 0===e?{}:e,r=t.onWaitingParticipantAdded,a=t.onWaitingParticipantRemoved,o=t.onWaitingParticipantUpdated,u=f(),c=i.useRecoilValue(re),l=i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return function(e){n((function(n){var t=n.set;t(te,(function(n){return n.includes(e.participant.id)?n:[].concat(n,[e.participant.id])})),t(ie(e.participant.id),e.participant)})),null==r||r(e)}}),[r]),s=i.useRecoilCallback((function(e){var n=e.transact_UNSTABLE;return function(e){n((function(n){var t=n.reset;(0,n.set)(te,(function(n){return n.filter((function(n){return n!==e.participant.id}))})),t(ie(e.participant.id))})),null==a||a(e)}}),[a]),d=i.useRecoilCallback((function(e){var n=e.set;return function(e){n(ie(e.participant.id),e.participant),null==o||o(e)}}),[o]);g("waiting-participant-added",l),g("waiting-participant-removed",s),g("waiting-participant-updated",d);var p=n.useCallback((function(e,n){"*"!==e?null==u||u.updateWaitingParticipant(e,{grantRequestedAccess:n}):null==u||u.updateWaitingParticipants({"*":{grantRequestedAccess:n}})}),[u]);return{waitingParticipants:c,grantAccess:n.useCallback((function(e){p(e,!0)}),[p]),denyAccess:n.useCallback((function(e){p(e,!1)}),[p])}}; | ||
//# sourceMappingURL=daily-react.cjs.production.min.js.map |
import { DailyCall, DailyCallOptions } from '@daily-co/daily-js'; | ||
import React from 'react'; | ||
import { RecoilRootProps } from 'recoil'; | ||
declare type DailyProperties = Pick<DailyCallOptions, 'audioSource' | 'dailyConfig' | 'receiveSettings' | 'subscribeToTracksAutomatically' | 'token' | 'url' | 'userName' | 'videoSource'>; | ||
declare type Props = DailyProperties | { | ||
declare type BaseProps = DailyProperties | { | ||
callObject: DailyCall; | ||
}; | ||
declare type Props = BaseProps & { | ||
/** | ||
* Allows to override props for [RecoilRoot](https://recoiljs.org/docs/api-reference/core/RecoilRoot/). | ||
* In case you use Recoil in your own application, you can pass `override: false` to allow | ||
* daily-react to store its state in your application's RecoilRoot. | ||
* Default value: {} | ||
*/ | ||
recoilRootProps?: Omit<RecoilRootProps, 'children'>; | ||
}; | ||
export declare const DailyProvider: React.FC<React.PropsWithChildren<Props>>; | ||
export {}; |
@@ -15,11 +15,11 @@ import { DailyEventObjectNoPayload, DailyEventObjectRecordingData, DailyEventObjectRecordingStarted, DailyStreamingLayoutConfig, DailyStreamingOptions } from '@daily-co/daily-js'; | ||
/** | ||
* Determines wether an error occurred during the last recording attempt. | ||
* Determines whether an error occurred during the last recording attempt. | ||
*/ | ||
error?: boolean | undefined; | ||
/** | ||
* Determines wether the local participant is being recorded, based on the recording settings. | ||
* Determines whether the local participant is being recorded, based on the recording settings. | ||
*/ | ||
isLocalParticipantRecorded: boolean; | ||
/** | ||
* Determines wether a recording is currently running or not. | ||
* Determines whether a recording is currently running or not. | ||
*/ | ||
@@ -32,3 +32,3 @@ isRecording: boolean; | ||
/** | ||
* Determines wether the recording is running locally. | ||
* Determines whether the recording is running locally. | ||
* See [enable_recording](https://docs.daily.co/reference/rest-api/rooms/config#enable_recording). | ||
@@ -35,0 +35,0 @@ */ |
{ | ||
"version": "0.6.0", | ||
"version": "0.6.1", | ||
"license": "BSD-2-Clause", | ||
@@ -4,0 +4,0 @@ "keywords": [ |
@@ -46,3 +46,3 @@ import { DailyEventObjectActiveSpeakerChange } from '@daily-co/daily-js'; | ||
(ev: DailyEventObjectActiveSpeakerChange) => { | ||
setTimeout(() => onActiveSpeakerChange?.(ev), 0); | ||
onActiveSpeakerChange?.(ev); | ||
}, | ||
@@ -49,0 +49,0 @@ [onActiveSpeakerChange] |
@@ -55,3 +55,3 @@ import { | ||
updateInputSettingsState(ev.inputSettings); | ||
setTimeout(() => onInputSettingsUpdated?.(ev), 0); | ||
onInputSettingsUpdated?.(ev); | ||
}, | ||
@@ -72,3 +72,3 @@ [onInputSettingsUpdated, updateInputSettingsState] | ||
set(errorState, ev.errorMsg); | ||
setTimeout(() => onError?.(ev), 0); | ||
onError?.(ev); | ||
}, | ||
@@ -75,0 +75,0 @@ [onError] |
@@ -58,3 +58,3 @@ import { | ||
}); | ||
setTimeout(() => onLiveStreamingStarted?.(ev), 0); | ||
onLiveStreamingStarted?.(ev); | ||
}, | ||
@@ -75,3 +75,3 @@ [onLiveStreamingStarted] | ||
})); | ||
setTimeout(() => onLiveStreamingStopped?.(ev), 0); | ||
onLiveStreamingStopped?.(ev); | ||
}, | ||
@@ -91,3 +91,3 @@ [onLiveStreamingStopped] | ||
})); | ||
setTimeout(() => onLiveStreamingError?.(ev), 0); | ||
onLiveStreamingError?.(ev); | ||
}, | ||
@@ -94,0 +94,0 @@ [onLiveStreamingError] |
@@ -67,3 +67,3 @@ import { | ||
}); | ||
setTimeout(() => onNetworkConnection?.(ev), 0); | ||
onNetworkConnection?.(ev); | ||
}, | ||
@@ -84,3 +84,3 @@ [onNetworkConnection] | ||
}); | ||
setTimeout(() => onNetworkQualityChange?.(ev), 0); | ||
onNetworkQualityChange?.(ev); | ||
}, | ||
@@ -87,0 +87,0 @@ [onNetworkQualityChange] |
@@ -40,6 +40,6 @@ import { | ||
case 'participant-updated': | ||
setTimeout(() => onParticipantUpdated?.(ev), 0); | ||
onParticipantUpdated?.(ev); | ||
break; | ||
case 'participant-left': | ||
setTimeout(() => onParticipantLeft?.(ev), 0); | ||
onParticipantLeft?.(ev); | ||
break; | ||
@@ -46,0 +46,0 @@ } |
@@ -69,3 +69,3 @@ import { | ||
const sortedIds = useMemo(() => { | ||
const filterFn = useMemo(() => { | ||
let filterFn = defaultFilter; | ||
@@ -91,2 +91,6 @@ switch (filter) { | ||
} | ||
return filterFn; | ||
}, [filter]); | ||
const sortFn = useMemo(() => { | ||
let sortFn: SortParticipantsFunction; | ||
@@ -119,2 +123,6 @@ switch (sort) { | ||
} | ||
return sortFn; | ||
}, [sort]); | ||
const sortedIds = useMemo(() => { | ||
return allParticipants | ||
@@ -125,3 +133,3 @@ .filter(filterFn) | ||
.filter(Boolean); | ||
}, [allParticipants, filter, sort]); | ||
}, [allParticipants, filterFn, sortFn]); | ||
@@ -148,12 +156,12 @@ useThrottledDailyEvent( | ||
case 'participant-joined': | ||
setTimeout(() => onParticipantJoined?.(ev), 0); | ||
onParticipantJoined?.(ev); | ||
break; | ||
case 'participant-updated': | ||
setTimeout(() => onParticipantUpdated?.(ev), 0); | ||
onParticipantUpdated?.(ev); | ||
break; | ||
case 'active-speaker-change': | ||
setTimeout(() => onActiveSpeakerChange?.(ev), 0); | ||
onActiveSpeakerChange?.(ev); | ||
break; | ||
case 'participant-left': | ||
setTimeout(() => onParticipantLeft?.(ev), 0); | ||
onParticipantLeft?.(ev); | ||
break; | ||
@@ -160,0 +168,0 @@ } |
@@ -53,3 +53,3 @@ import { | ||
}); | ||
setTimeout(() => onReceiveSettingsUpdated?.(ev), 0); | ||
onReceiveSettingsUpdated?.(ev); | ||
}, | ||
@@ -56,0 +56,0 @@ [id, onReceiveSettingsUpdated] |
@@ -30,11 +30,11 @@ import { | ||
/** | ||
* Determines wether an error occurred during the last recording attempt. | ||
* Determines whether an error occurred during the last recording attempt. | ||
*/ | ||
error?: boolean; | ||
/** | ||
* Determines wether the local participant is being recorded, based on the recording settings. | ||
* Determines whether the local participant is being recorded, based on the recording settings. | ||
*/ | ||
isLocalParticipantRecorded: boolean; | ||
/** | ||
* Determines wether a recording is currently running or not. | ||
* Determines whether a recording is currently running or not. | ||
*/ | ||
@@ -47,3 +47,3 @@ isRecording: boolean; | ||
/** | ||
* Determines wether the recording is running locally. | ||
* Determines whether the recording is running locally. | ||
* See [enable_recording](https://docs.daily.co/reference/rest-api/rooms/config#enable_recording). | ||
@@ -156,3 +156,3 @@ */ | ||
}); | ||
setTimeout(() => onRecordingStarted?.(ev), 0); | ||
onRecordingStarted?.(ev); | ||
}, | ||
@@ -172,3 +172,3 @@ [localSessionId, onRecordingStarted] | ||
})); | ||
setTimeout(() => onRecordingStopped?.(ev), 0); | ||
onRecordingStopped?.(ev); | ||
}, | ||
@@ -189,3 +189,3 @@ [onRecordingStopped] | ||
})); | ||
setTimeout(() => onRecordingError?.(ev), 0); | ||
onRecordingError?.(ev); | ||
}, | ||
@@ -192,0 +192,0 @@ [onRecordingError] |
@@ -113,3 +113,3 @@ import { | ||
}); | ||
setTimeout(() => onTranscriptionStarted?.(ev), 0); | ||
onTranscriptionStarted?.(ev); | ||
}, | ||
@@ -129,3 +129,3 @@ [onTranscriptionStarted] | ||
})); | ||
setTimeout(() => onTranscriptionStopped?.(ev), 0); | ||
onTranscriptionStopped?.(ev); | ||
}, | ||
@@ -145,3 +145,3 @@ [onTranscriptionStopped] | ||
})); | ||
setTimeout(() => onTranscriptionError?.(ev), 0); | ||
onTranscriptionError?.(ev); | ||
}, | ||
@@ -165,3 +165,3 @@ [onTranscriptionError] | ||
})); | ||
setTimeout(() => onTranscriptionAppData?.(ev), 0); | ||
onTranscriptionAppData?.(ev); | ||
} | ||
@@ -168,0 +168,0 @@ }, |
@@ -74,3 +74,3 @@ import { | ||
}); | ||
setTimeout(() => onWaitingParticipantAdded?.(ev), 0); | ||
onWaitingParticipantAdded?.(ev); | ||
}, | ||
@@ -89,3 +89,3 @@ [onWaitingParticipantAdded] | ||
}); | ||
setTimeout(() => onWaitingParticipantRemoved?.(ev), 0); | ||
onWaitingParticipantRemoved?.(ev); | ||
}, | ||
@@ -99,3 +99,3 @@ [onWaitingParticipantRemoved] | ||
set(waitingParticipantState(ev.participant.id), ev.participant); | ||
setTimeout(() => onWaitingParticipantUpdated?.(ev), 0); | ||
onWaitingParticipantUpdated?.(ev); | ||
}, | ||
@@ -102,0 +102,0 @@ [onWaitingParticipantUpdated] |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
782150
8018