@100mslive/react-sdk 0.8.8 → 0.8.10-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,28 @@
1
+ /// <reference types="react" />
2
+ export interface useEmbedShareResult {
3
+ /**
4
+ * used to start screen share
5
+ * It throws error in given below scenarios:
6
+ * 1. When url is not passed.
7
+ * 2. Reference to a iframe or element is not at attached.
8
+ * 3. Unable to start screen share
9
+ */
10
+ startEmbedShare: (value: string) => Promise<void>;
11
+ /**
12
+ * stop your screen share.
13
+ */
14
+ stopEmbedShare: () => Promise<void>;
15
+ /**
16
+ * am I sharing embed view in a room
17
+ */
18
+ isEmbedShareInProgress: boolean;
19
+ /**
20
+ * reference of iframe where embed url will be launched
21
+ */
22
+ iframeRef: React.RefObject<HTMLIFrameElement | null>;
23
+ }
24
+ /**
25
+ * @param resetConfig pass resetConfig where you were mounting the iframe, it will help to clear configuration when stop screen share occurs
26
+ * @returns useEmbedShareResult
27
+ */
28
+ export declare const useEmbedShare: (resetConfig?: () => void) => useEmbedShareResult;
@@ -0,0 +1,2 @@
1
+ import{__awaiter as r}from"../node_modules/tslib/tslib.es6.js";import{useRef as e,useState as o,useCallback as n,useEffect as t}from"react";import{useScreenShare as i}from"./useScreenShare.js";import c,{isChromiumBased as u}from"../utils/commons.js";const a=a=>{const s=e(null),[f,l]=o(!1),m=n((()=>{throw new Error("unable to start screen share")}),[]),d=e(!1),{amIScreenSharing:h,toggleScreenShare:S}=i(m),b=c(h),p=n((()=>r(void 0,void 0,void 0,(function*(){h&&(yield null==S?void 0:S(),s.current=null)}))),[h,S]),v=n((e=>r(void 0,void 0,void 0,(function*(){if(!d.current){if(!e)throw new Error("URL not found");if(h)throw new Error("You are already sharing");if(!s.current)throw new Error("Attach a reference `iframeRef` to iframe for sharing");s.current.src=e,d.current=!0,l(!0),yield null==S?void 0:S({forceCurrentTab:u,cropElement:s.current,preferCurrentTab:u})}}))),[h,S]);return t((()=>{b&&!h&&(null==a||a(),s.current&&(s.current.src=""),d.current=!1,l(!1))}),[h,b,a]),{startEmbedShare:v,stopEmbedShare:p,iframeRef:s,isEmbedShareInProgress:f}};export{a as useEmbedShare};
2
+ //# sourceMappingURL=useEmbedShare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEmbedShare.js","sources":["../../src/hooks/useEmbedShare.ts"],"sourcesContent":[null],"names":["useEmbedShare","resetConfig","iframeRef","useRef","sharing","setSharing","useState","handleScreenShareError","useCallback","Error","inProgress","amIScreenSharing","toggleScreenShare","useScreenShare","previouslySharing","usePrevious","stopShare","__awaiter","current","startShare","value","src","forceCurrentTab","isChromiumBased","cropElement","preferCurrentTab","useEffect","startEmbedShare","stopEmbedShare","isEmbedShareInProgress"],"mappings":"0PAiCa,MAAAA,EAAiBC,IAC5B,MAAMC,EAAYC,EAAiC,OAC5CC,EAASC,GAAcC,GAAS,GAEjCC,EAAyBC,GAAY,KACzC,MAAM,IAAIC,MAAM,+BAAA,GACf,IACGC,EAAaP,GAAO,IACpBQ,iBAAEA,EAAkBC,kBAAAA,GAAsBC,EAAeN,GAEzDO,EAAoBC,EAAYJ,GAEhCK,EAAYR,GAAY,IAAWS,OAAA,OAAA,OAAA,GAAA,YACnCN,UACIC,aAAiB,EAAjBA,IACNV,EAAUgB,QAAU,KAAA,KAErB,CAACP,EAAkBC,IAEhBO,EAAaX,GACVY,GAAiBH,OAAA,OAAA,OAAA,GAAA,YACtB,IAAIP,EAAWQ,QAAf,CAGA,IAAKE,EACH,MAAM,IAAIX,MAAM,iBAElB,GAAIE,EACF,MAAM,IAAIF,MAAM,2BAEd,IAACP,EAAUgB,QACb,MAAM,IAAIT,MAAM,wDAElBP,EAAUgB,QAAQG,IAAMD,EACxBV,EAAWQ,SAAU,EACVb,GAAA,SACLO,aAAiB,EAAjBA,EAAoB,CACxBU,gBAAiBC,EACjBC,YAAatB,EAAUgB,QACvBO,iBAAkBF,GAjBlB,CAiBkB,KAGtB,CAACZ,EAAkBC,IAcd,OAXPc,GAAU,KACJZ,IAAsBH,IACxBV,SAAAA,IACIC,EAAUgB,UACZhB,EAAUgB,QAAQG,IAAM,IAE1BX,EAAWQ,SAAU,EACVb,GAAA,GAAA,GAEZ,CAACM,EAAkBG,EAAmBb,IAElC,CACL0B,gBAAiBR,EACjBS,eAAgBZ,EAChBd,YACA2B,uBAAwBzB,EAAA"}
@@ -0,0 +1,28 @@
1
+ /// <reference types="react" />
2
+ export interface usePDFShareResult {
3
+ /**
4
+ * used to start screen share
5
+ * It throws error in given below scenarios:
6
+ * 1. When file or url is not passed.
7
+ * 2. Reference to a iframe or element is not yet attached.
8
+ * 3. Unable to start screen share
9
+ */
10
+ startPDFShare: (value: File | string) => Promise<void>;
11
+ /**
12
+ * stop your screen share.
13
+ */
14
+ stopPDFShare: () => Promise<void>;
15
+ /**
16
+ * am I sharing pdf annotator in a room
17
+ */
18
+ isPDFShareInProgress: boolean;
19
+ /**
20
+ * reference of iframe where pdf annotator will be launched
21
+ */
22
+ iframeRef: React.RefObject<HTMLIFrameElement | null>;
23
+ }
24
+ /**
25
+ * @param resetConfig pass resetConfig where you were mounting the iframe, it will help to clear configuration when stop screen share occurs
26
+ * @returns usePDFShareResult
27
+ */
28
+ export declare const usePDFShare: (resetConfig?: () => void) => usePDFShareResult;
@@ -0,0 +1,2 @@
1
+ import{__awaiter as r}from"../node_modules/tslib/tslib.es6.js";import{useRef as e,useState as o,useCallback as t,useEffect as n}from"react";import{useScreenShare as i}from"./useScreenShare.js";import a,{pdfIframeURL as s,isChromiumBased as u}from"../utils/commons.js";const c=c=>{const l=e(null),[f,m]=o(!1),d=t((()=>{throw new Error("unable to start screen share")}),[]),h=e(!1),{amIScreenSharing:v,toggleScreenShare:p}=i(d),w=a(v),S=t((r=>{var e;l.current&&(null===(e=l.current.contentWindow)||void 0===e||e.postMessage({theme:2,file:r},"*"))}),[]),g=t((()=>r(void 0,void 0,void 0,(function*(){v&&(yield null==p?void 0:p())}))),[v,p]),b=t((e=>r(void 0,void 0,void 0,(function*(){if(!h.current){if(!e)throw new Error("File or url not found");if(v)throw new Error("You are already sharing");if(!l.current)throw new Error("Attach a reference `iframeRef` to iframe for sharing");l.current.src=`${s}${"string"==typeof e?`?file=${e}`:""}`,l.current.onload=()=>{requestAnimationFrame((()=>{e instanceof File&&S(e)}))},h.current=!0,m(!0),yield null==p?void 0:p({forceCurrentTab:u,cropElement:l.current,preferCurrentTab:u})}}))),[v,S,p]);return n((()=>{w&&!v&&(null==c||c(),l.current&&l.current.removeAttribute("src"),h.current=!1,m(!1))}),[v,w,c]),{startPDFShare:b,stopPDFShare:g,iframeRef:l,isPDFShareInProgress:f}};export{c as usePDFShare};
2
+ //# sourceMappingURL=usePDFShare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePDFShare.js","sources":["../../src/hooks/usePDFShare.ts"],"sourcesContent":[null],"names":["usePDFShare","resetConfig","iframeRef","useRef","sharing","setSharing","useState","handleScreenShareError","useCallback","Error","inProgress","amIScreenSharing","toggleScreenShare","useScreenShare","previouslySharing","usePrevious","sendDataToPDFIframe","file","current","_a","contentWindow","postMessage","theme","stopShare","__awaiter","startShare","value","src","pdfIframeURL","onload","requestAnimationFrame","File","forceCurrentTab","isChromiumBased","cropElement","preferCurrentTab","useEffect","removeAttribute","startPDFShare","stopPDFShare","isPDFShareInProgress"],"mappings":"4QAiCa,MAAAA,EAAeC,IAC1B,MAAMC,EAAYC,EAAiC,OAC5CC,EAASC,GAAcC,GAAS,GAEjCC,EAAyBC,GAAY,KACzC,MAAM,IAAIC,MAAM,+BAAA,GACf,IACGC,EAAaP,GAAO,IACpBQ,iBAAEA,EAAkBC,kBAAAA,GAAsBC,EAAeN,GAEzDO,EAAoBC,EAAYJ,GAEhCK,EAAsBR,GAAaS,UACnCf,EAAUgB,UACmB,QAA/BC,EAAAjB,EAAUgB,QAAQE,qBAAa,IAAAD,GAAAA,EAAEE,YAC/B,CACEC,MAAO,EACPL,QAEF,KAAA,GAGH,IAEGM,EAAYf,GAAY,IAAWgB,OAAA,OAAA,OAAA,GAAA,YACnCb,UACIC,aAAiB,EAAjBA,IAAA,KAEP,CAACD,EAAkBC,IAEhBa,EAAajB,GAEVkB,GAAwBF,OAAA,OAAA,OAAA,GAAA,YAC7B,IAAId,EAAWQ,QAAf,CAGA,IAAKQ,EACH,MAAM,IAAIjB,MAAM,yBAElB,GAAIE,EACF,MAAM,IAAIF,MAAM,2BAEd,IAACP,EAAUgB,QACb,MAAM,IAAIT,MAAM,wDAGRP,EAAAgB,QAAQS,IAAM,GAAGC,IAAgC,iBAAVF,EAAqB,SAASA,IAAU,KAC/ExB,EAAAgB,QAAQW,OAAS,KACzBC,uBAAsB,KAChBJ,aAAiBK,MACCf,EAAAU,EAAA,GAAA,EAI1BhB,EAAWQ,SAAU,EACVb,GAAA,SACLO,aAAiB,EAAjBA,EAAoB,CACxBoB,gBAAiBC,EACjBC,YAAahC,EAAUgB,QACvBiB,iBAAkBF,GAzBlB,CA4BJ,KAAA,CAACtB,EAAkBK,EAAqBJ,IAcnC,OAXPwB,GAAU,KACJtB,IAAsBH,IACxBV,SAAAA,IACIC,EAAUgB,SACZhB,EAAUgB,QAAQmB,gBAAgB,OAEpC3B,EAAWQ,SAAU,EACVb,GAAA,GAAA,GAEZ,CAACM,EAAkBG,EAAmBb,IAElC,CACLqC,cAAeb,EACfc,aAAchB,EACdrB,YACAsC,qBAAsBpC,EAAA"}
package/dist/index.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("zustand"),i=require("@100mslive/hms-video-store"),o=require("react-resize-detector");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n,a,s=r(e),l=r(t);function c(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;const i=Object.keys(e);if(i.length!==Object.keys(t).length)return!1;for(let o=0;o<i.length;o++)if(!Object.prototype.hasOwnProperty.call(t,i[o])||!Object.is(e[i[o]],t[i[o]]))return!1;return!0}(a=n||(n={}))[a.VERBOSE=0]="VERBOSE",a[a.DEBUG=1]="DEBUG",a[a.INFO=2]="INFO",a[a.WARN=3]="WARN",a[a.ERROR=4]="ERROR",a[a.NONE=5]="NONE";class u{static v(e,...t){this.log(n.VERBOSE,e,...t)}static d(e,...t){this.log(n.DEBUG,e,...t)}static i(e,...t){this.log(n.INFO,e,...t)}static w(e,...t){this.log(n.WARN,e,...t)}static e(e,...t){this.log(n.ERROR,e,...t)}static log(e,t,...i){if(!(this.level.valueOf()>e.valueOf()))switch(e){case n.VERBOSE:console.log("HMSui-components: ",t,...i);break;case n.DEBUG:console.debug("HMSui-components: ",t,...i);break;case n.INFO:console.info("HMSui-components: ",t,...i);break;case n.WARN:console.warn("HMSui-components: ",t,...i);break;case n.ERROR:console.error("HMSui-components: ",t,...i)}}}u.level=n.VERBOSE;const d="It seems like you forgot to add your component within a top level HMSRoomProvider, please refer to 100ms react docs(https://docs.100ms.live/javascript/v2/features/integration#react-hooks) to check on the required steps for using this hook.";const h="undefined"!=typeof window,g=e.createContext(null),f=(v=g,(t,i=c)=>{t||u.w("fetching full store without passing any selector may have a heavy performance impact on your website.");const o=e.useContext(v);if(!o)throw new Error(d);return(0,o.store)(t,i)});var v;const p=function(t){return(i,o=c)=>{i||u.w("fetching full store without passing any selector may have a heavy performance impact on your website.");const r=e.useContext(t);if(!r)throw new Error(d);const n=r.statsStore;return null==n?void 0:n(i,o)}}(g),m=()=>{const t=e.useContext(g);if(!t)throw new Error(d);return t.store},y=()=>{const t=e.useContext(g);if(!t)throw new Error(d);return t.notifications},w=()=>{const t=e.useContext(g);if(!t)throw new Error(d);return t.actions},P=t=>{const i=e.useContext(g),[o,r]=e.useState(null);if(!i)throw new Error(d);return e.useEffect((()=>{if(!i.notifications)return;return i.notifications.onNotification((e=>{r(e)}),t)}),[i.notifications,t]),o};function S(e,t,i,o){return new(i||(i=Promise))((function(r,n){function a(e){try{l(o.next(e))}catch(e){n(e)}}function s(e){try{l(o.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,s)}l((o=o.apply(e,t||[])).next())}))}const b=(e,t)=>u.e("react-sdk",t,e),k=(e,t,i)=>S(void 0,void 0,void 0,(function*(){if(t)try{yield e.setRemoteTrackEnabled(t.id,!t.enabled)}catch(e){i(e,"remoteToggle")}})),E=({elements:e,tilesInFirstPage:t,onlyOnePage:i,isLastPageDifferentFromFirstPage:o,defaultWidth:r,defaultHeight:n,lastPageWidth:a,lastPageHeight:s})=>{const l=((e,t,i)=>e.reduce(((e,o,r)=>{const n=Math.floor(r/t);return n>0&&i||(e[n]||(e[n]=[]),e[n].push(o)),e}),[]))(e,t,i);return l.map(((e,t)=>e.map((e=>{const i=t===l.length-1,c=o&&i?a:r,u=o&&i?s:n;return Object.assign(Object.assign({},e),{height:u,width:c})}))))};const R=(e,t,i,o,r)=>{if(e<0||t<0)throw new Error("Container must have a non-negative area");if(i<1||!Number.isInteger(i))throw new Error("Number of shapes to place must be a positive integer");const n=o&&r&&o/r;if(void 0!==n&&isNaN(n))throw new Error("Aspect ratio must be a number");let a={area:0,cols:0,rows:0,width:0,height:0};if(void 0!==n)for(let o=i;o>0;o+=-1){const r=Math.ceil(i/o);let s,l;e/(o*n)<=t/r?(s=e/o,l=s/n):(l=t/r,s=l*n);const c=s*l;c>a.area&&(a={area:c,width:s,height:l,rows:r,cols:o})}return a};function M({count:e,parentWidth:t,parentHeight:i,maxTileCount:o,maxRowCount:r,maxColCount:n,aspectRatio:a}){let s=0,l=0,c=0,u=0,d=!1,h=0;if(0===e)return{tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:c,lastPageHeight:u,isLastPageDifferentFromFirstPage:d};if(o)({tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:c,lastPageHeight:u,isLastPageDifferentFromFirstPage:d}=(({parentWidth:e,parentHeight:t,count:i,maxCount:o,aspectRatio:r})=>{let n=0,a=0,s=0,l=0,c=!1,u=0,d=0;const{width:h,height:g}=R(e,t,Math.min(i,o),r.width,r.height);if(n=h,a=g,u=Math.min(i,o),d=i%o,c=d>0&&i>o,c){const{width:i,height:o}=R(e,t,d,r.width,r.height);s=i,l=o}return{tilesInFirstPage:u,defaultWidth:n,defaultHeight:a,lastPageWidth:s,lastPageHeight:l,isLastPageDifferentFromFirstPage:c}})({parentWidth:t,parentHeight:i,count:e,maxCount:o,aspectRatio:a}));else if(r)({tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:c,lastPageHeight:u,isLastPageDifferentFromFirstPage:d}=(({parentWidth:e,parentHeight:t,count:i,maxCount:o,aspectRatio:r})=>{let n=0,a=0,s=0,l=0,c=!1,u=0,d=0;const h=Math.min(Math.ceil(Math.sqrt(i*(r.width/r.height)/(e/t))),o),g=t/h,f=g*(r.width/r.height),v=Math.floor(e/f);if(n=f,a=g,u=Math.min(i,h*v),d=i%(h*v),c=d>0&&i>h*v,c){const i=t/Math.min(Math.ceil(Math.sqrt(d*(r.width/r.height)/(e/t))),o);l=i,s=i*(r.width/r.height)}return{tilesInFirstPage:u,defaultWidth:n,defaultHeight:a,lastPageWidth:s,lastPageHeight:l,isLastPageDifferentFromFirstPage:c}})({parentWidth:t,parentHeight:i,count:e,maxCount:r,aspectRatio:a}));else if(n)({tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:c,lastPageHeight:u,isLastPageDifferentFromFirstPage:d}=(({parentWidth:e,parentHeight:t,count:i,maxCount:o,aspectRatio:r})=>{let n=0,a=0,s=0,l=0,c=!1,u=0,d=0;const h=Math.min(Math.ceil(Math.sqrt(i*(e/t)/(r.width/r.height))),o);let g=e/h,f=g/(r.width/r.height);f>t&&(f=t,g=f/(r.height/r.width));const v=Math.floor(t/f);if(a=f,n=g,u=Math.min(i,v*h),d=i%(v*h),c=d>0&&i>v*h,c){let i=e/Math.min(Math.ceil(Math.sqrt(d*(e/t)/(r.width/r.height))),o),n=i/(r.width/r.height);n>t&&(n=t,i=n/(r.height/r.width)),l=n,s=i}return{tilesInFirstPage:u,defaultWidth:n,defaultHeight:a,lastPageWidth:s,lastPageHeight:l,isLastPageDifferentFromFirstPage:c}})({parentWidth:t,parentHeight:i,count:e,maxCount:n,aspectRatio:a}));else{const{width:o,height:r}=R(t,i,e,a.width,a.height);s=o,l=r,h=e}return{tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:c,lastPageHeight:u,isLastPageDifferentFromFirstPage:d}}const I={width:1,height:1};exports.HMSRoomProvider=({children:t,actions:o,store:r,notifications:n,stats:a,isHMSStatsOn:c=!1,leaveOnUnload:u=!0})=>{const d=e.useMemo((()=>{let e;const t=()=>{throw new Error("modifying store is not allowed")};if(o&&r)e={actions:o,store:l.default(Object.assign(Object.assign({},r),{setState:t,destroy:t}))},n&&(e.notifications=n),a&&(e.statsStore=l.default({getState:a.getState,subscribe:a.subscribe,setState:t,destroy:t}));else{const o=new i.HMSReactiveStore;if(e={actions:o.getActions(),store:l.default(Object.assign(Object.assign({},o.getStore()),{setState:t,destroy:t})),notifications:o.getNotifications()},c){const i=o.getStats();e.statsStore=l.default({getState:i.getState,subscribe:i.subscribe,setState:t,destroy:t})}}return e.actions.setFrameworkInfo({type:"react-web",version:s.default.version,sdkVersion:"0.8.8"}),e}),[o,r,n,a,c]);return e.useEffect((()=>{if(h&&u){const e=()=>d.actions.leave();return window.addEventListener("beforeunload",e),()=>{window.removeEventListener("beforeunload",e)}}return()=>{}}),[u,d]),s.default.createElement(g.Provider,{value:d},t)},exports.throwErrorHandler=e=>{throw e},exports.useAVToggle=(t=b)=>{const o=f(i.selectIsLocalAudioEnabled),r=f(i.selectIsLocalVideoEnabled),n=f(i.selectIsInPreview)?i.selectIsAllowedToPreviewMedia:i.selectIsAllowedToPublish,a=f(n),s=w(),l=e.useCallback((()=>S(void 0,void 0,void 0,(function*(){try{yield s.setLocalAudioEnabled(!o)}catch(e){t(e,"toggleAudio")}}))),[s,o,t]),c=e.useCallback((()=>S(void 0,void 0,void 0,(function*(){try{yield s.setLocalVideoEnabled(!r)}catch(e){t(e,"toggleVideo")}}))),[s,r,t]);return{isLocalAudioEnabled:o,isLocalVideoEnabled:r,toggleAudio:(null==a?void 0:a.audio)?l:void 0,toggleVideo:(null==a?void 0:a.video)?c:void 0}},exports.useAudioLevelStyles=function({trackId:t,getStyle:o,ref:r}){const n=m();e.useEffect((()=>n.subscribe((e=>{if(!r.current)return;const t=o(e);for(const e in t)r.current.style[e]=t[e]}),i.selectTrackAudioByID(t))),[o,r,n,t])},exports.useAutoplayError=()=>{const t=P(i.HMSNotificationTypes.ERROR),[o,r]=e.useState(""),n=w(),a=e.useCallback((()=>S(void 0,void 0,void 0,(function*(){yield n.unblockAudio()}))),[n]);return e.useEffect((()=>{3008===(null==t?void 0:t.data.code)&&r(null==t?void 0:t.data.message)}),[t]),{error:o,unblockAudio:a,resetError:()=>r("")}},exports.useCustomEvent=({type:t,json:o=!0,onEvent:r,handleError:n=b})=>{const a=w(),s=y();e.useEffect((()=>{a.ignoreMessageTypes([t])}),[a,t]),e.useEffect((()=>{if(!s)return;return s.onNotification((e=>{const i=e.data;if(i&&i.type===t)try{const e=o?JSON.parse(i.message):i.message;null==r||r(e)}catch(e){n(e,"handleCustomEvent")}}),i.HMSNotificationTypes.NEW_MESSAGE)}),[s,t,o,r,n]);return{sendEvent:e.useCallback(((e,i)=>S(void 0,void 0,void 0,(function*(){try{const n=((e,t)=>t?JSON.stringify(e||""):e)(e,o);i&&Array.isArray(null==i?void 0:i.roleNames)?yield a.sendGroupMessage(n,i.roleNames,t):"string"==typeof(null==i?void 0:i.peerId)?yield a.sendDirectMessage(n,i.peerId,t):yield a.sendBroadcastMessage(n,t),null==r||r(e)}catch(e){n(e,"sendCustomEvent")}}))),[a,n,r,t,o])}},exports.useDevices=(t=b)=>{const o=w(),r=f(i.selectDevices),n=f(i.selectLocalMediaSettings),a=f(i.selectIsAllowedToPublish),s={[i.DeviceType.audioOutput]:n.audioOutputDeviceId},l={[i.DeviceType.audioOutput]:r.audioOutput};a.video&&(l[i.DeviceType.videoInput]=r.videoInput,s[i.DeviceType.videoInput]=n.videoInputDeviceId),a.audio&&(l[i.DeviceType.audioInput]=r.audioInput,s[i.DeviceType.audioInput]=n.audioInputDeviceId);return{allDevices:l,selectedDeviceIDs:s,updateDevice:e.useCallback((({deviceType:e,deviceId:r})=>S(void 0,void 0,void 0,(function*(){try{switch(e){case i.DeviceType.audioInput:yield o.setAudioSettings({deviceId:r});break;case i.DeviceType.videoInput:yield o.setVideoSettings({deviceId:r});break;case i.DeviceType.audioOutput:yield o.setAudioOutputDevice(r)}}catch(e){t(e,"updateDevices")}}))),[t,o])}},exports.useHMSActions=w,exports.useHMSNotifications=P,exports.useHMSStatsStore=p,exports.useHMSStore=f,exports.useHMSVanillaNotifications=y,exports.useHMSVanillaStore=m,exports.useParticipantList=()=>{const t=f(i.selectIsConnectedToRoom),o=f(t?i.selectPeers:i.selectRemotePeers),r=f(i.selectPeerCount),n=e.useMemo((()=>{return(e=o)&&Array.isArray(e)&&0!==e.length?e.reduce(((e,t)=>t.roleName?(e[t.roleName]||(e[t.roleName]=[]),e[t.roleName].push(t),e):e),{}):{};var e}),[o]);return{roles:Object.keys(n),participantsByRoles:n,peerCount:r,isConnected:t}},exports.useParticipants=e=>{var t;const o=f(i.selectIsConnectedToRoom),r=f(i.selectPeerCount),n=f(i.selectAvailableRoleNames);let a=f(o?i.selectPeers:i.selectRemotePeers);const s=Array.from(new Set(a.map((e=>e.roleName)))),l=m();if((null===(t=null==e?void 0:e.metadata)||void 0===t?void 0:t.isHandRaised)&&(a=a.filter((e=>l.getState(i.selectPeerMetadata(e.id)).isHandRaised))),(null==e?void 0:e.role)&&n.includes(e.role)&&(a=a.filter((t=>t.roleName===e.role))),null==e?void 0:e.search){const t=e.search.toLowerCase();a=a.filter((e=>{var i;return(null===(i=e.roleName)||void 0===i?void 0:i.toLowerCase().includes(t))||e.name.toLowerCase().includes(t)}))}return{participants:a,isConnected:o,peerCount:r,rolesWithParticipants:s}},exports.usePreviewJoin=({name:t="",token:o,metadata:r,handleError:n=b,initEndpoint:a,initialSettings:s,captureNetworkQualityInPreview:l,asRole:c,autoManageVideo:u,autoManageWakeLock:d})=>{const h=w(),g=f(i.selectRoomState),v=f(i.selectIsConnectedToRoom)||!1,p=g===i.HMSRoomState.Preview,m=e.useMemo((()=>({userName:t,authToken:o,metaData:r,rememberDeviceSelection:!0,settings:s,initEndpoint:a,asRole:c,captureNetworkQualityInPreview:l,autoManageVideo:u,autoManageWakeLock:d})),[t,o,r,a,s,l,c,u,d]),y=e.useCallback((()=>S(void 0,void 0,void 0,(function*(){if(o&&g===i.HMSRoomState.Disconnected){v&&(yield h.leave());try{yield h.preview(m)}catch(e){n(e,"preview")}}}))),[h,n,o,g,m,v]);return{enableJoin:p,join:e.useCallback((()=>S(void 0,void 0,void 0,(function*(){if(o)try{yield h.join(m)}catch(e){n(e,"join")}}))),[h,m,n,o]),isConnected:v,preview:y}},exports.useRecordingStreaming=()=>{const e=f(i.selectRecordingState),t=f(i.selectRTMPState),o=f(i.selectHLSState),r=e.server.running,n=e.browser.running,a=e.hls.running,s=r||n||a;return{isServerRecordingOn:r,isBrowserRecordingOn:n,isHLSRecordingOn:a,isStreamingOn:o.running||t.running,isHLSRunning:o.running,isRTMPRunning:t.running,isRecordingOn:s}},exports.useRemoteAVToggle=(t,o,r=b)=>{const n=w(),a=f(i.selectAudioTrackByID(t)),s=f(i.selectVideoTrackByID(o)),l=f(i.selectAudioTrackVolume(null==a?void 0:a.id)),c=f(i.selectPermissions),u=(null==s?void 0:s.enabled)?null==c?void 0:c.mute:null==c?void 0:c.unmute,d=(null==a?void 0:a.enabled)?null==c?void 0:c.mute:null==c?void 0:c.unmute,h=e.useCallback((()=>S(void 0,void 0,void 0,(function*(){yield k(n,a,r)}))),[n,a,r]),g=e.useCallback((()=>S(void 0,void 0,void 0,(function*(){yield k(n,s,r)}))),[n,r,s]),v=e.useCallback((e=>{a&&n.setVolume(e,a.id)}),[n,a]);return{isAudioEnabled:!!(null==a?void 0:a.enabled),isVideoEnabled:!!(null==s?void 0:s.enabled),volume:l,toggleAudio:a&&d?h:void 0,toggleVideo:"regular"===(null==s?void 0:s.source)&&u?g:void 0,setVolume:a?v:void 0}},exports.useScreenShare=(t=b)=>{var o,r;const n=w(),a=f(i.selectIsLocalScreenShared),s=f(i.selectPeerScreenSharing),l=f(i.selectScreenSharesByPeerId(null==s?void 0:s.id)),c=e.useCallback((e=>S(void 0,void 0,void 0,(function*(){try{yield n.setScreenShareEnabled(!a,e)}catch(e){t(e,"toggleScreenShare")}}))),[n,a,t]);return{amIScreenSharing:a,screenSharingPeerId:null==s?void 0:s.id,screenSharingPeerName:null==s?void 0:s.name,screenShareVideoTrackId:null===(o=null==l?void 0:l.video)||void 0===o?void 0:o.id,screenShareAudioTrackId:null===(r=null==l?void 0:l.audio)||void 0===r?void 0:r.id,toggleScreenShare:c}},exports.useVideo=({trackId:t,attach:o})=>{const r=w(),n=e.useRef(null),a=f(i.selectVideoTrackByID(t)),s=e.useRef(),l=e.useCallback((e=>{e&&(n.current=e)}),[]);return e.useEffect((()=>{s.current?(null==a?void 0:a.id)&&s.current!==(null==a?void 0:a.id)&&S(void 0,void 0,void 0,(function*(){if(n.current)try{u.d("detaching because different track is passed"),yield r.detachVideo(s.current,n.current)}catch(e){u.w("detach video error for track",s.current,e)}s.current=null==a?void 0:a.id})):s.current=null==a?void 0:a.id}),[null==a?void 0:a.id,r]),e.useEffect((()=>{S(void 0,void 0,void 0,(function*(){(null==a?void 0:a.id)&&n.current&&(!1!==o?yield r.attachVideo(a.id,n.current):yield r.detachVideo(a.id,n.current))}))}),[a,o,r]),e.useEffect((()=>()=>{S(void 0,void 0,void 0,(function*(){if(n.current&&a)try{yield r.detachVideo(a.id,n.current)}catch(e){u.w("detach video error for track",a.id,e)}}))}),[]),{videoRef:l}},exports.useVideoList=({peers:t,maxTileCount:r,maxColCount:n,maxRowCount:a,includeScreenShareForPeer:s=(()=>!1),aspectRatio:l=I,filterNonPublishingPeers:c=!0,offsetY:u=0})=>{const{width:d=0,height:h=0,ref:g}=o.useResizeDetector(),f=((e,t,i,o=!0)=>{if(!e||!t||!i)return[];const r=[];for(const n of e)if(void 0===n.videoTrack&&n.audioTrack&&t[n.audioTrack]?r.push({peer:n}):n.videoTrack&&t[n.videoTrack]?r.push({track:t[n.videoTrack],peer:n}):o||r.push({peer:n}),n.auxiliaryTracks.length>0&&n.auxiliaryTracks.forEach((e=>{const i=t[e];"video"===(null==i?void 0:i.type)&&"regular"===(null==i?void 0:i.source)&&r.push({track:i,peer:n})})),i(n)&&n.auxiliaryTracks.length>0){const e=n.auxiliaryTracks.find((e=>{const i=t[e];return"video"===(null==i?void 0:i.type)&&"screen"===(null==i?void 0:i.source)}));e&&r.push({track:t[e],peer:n})}return r})(t,m().getState(i.selectTracksMap),s,c),v=e.useMemo((()=>{if(l)return l;return{width:function(e){if(0===e.length)return null;const t={};let i=e[0],o=1;for(let r=0;r<e.length;r++){const n=e[r];null===t[n]?t[n]=1:t[n]++,t[n]>o&&(i=n,o=t[n])}return i}(f.filter((e=>{var t,i;return(null===(t=e.track)||void 0===t?void 0:t.width)&&(null===(i=e.track)||void 0===i?void 0:i.height)})).map((e=>{var t,i;return((null===(t=e.track)||void 0===t?void 0:t.width)||1)/((null===(i=e.track)||void 0===i?void 0:i.height)||1)})))||1,height:1}}),[l,f]),p=f.length,{tilesInFirstPage:y,defaultWidth:w,defaultHeight:P,lastPageWidth:S,lastPageHeight:b,isLastPageDifferentFromFirstPage:k}=e.useMemo((()=>M({count:p,parentWidth:Math.floor(d),parentHeight:Math.floor(h)-Math.min(h,u),maxTileCount:r,maxRowCount:a,maxColCount:n,aspectRatio:v})),[p,d,h,r,a,n,v,u]);return{pagesWithTiles:e.useMemo((()=>E({elements:f,tilesInFirstPage:y,onlyOnePage:!1,isLastPageDifferentFromFirstPage:k,defaultWidth:w,defaultHeight:P,lastPageWidth:S,lastPageHeight:b})),[f,y,k,w,P,S,b]),ref:g}},Object.keys(i).forEach((function(e){"default"===e||exports.hasOwnProperty(e)||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return i[e]}})}));
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("zustand"),i=require("@100mslive/hms-video-store"),r=require("react-resize-detector");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n,a,s=o(e),l=o(t);function u(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;const i=Object.keys(e);if(i.length!==Object.keys(t).length)return!1;for(let r=0;r<i.length;r++)if(!Object.prototype.hasOwnProperty.call(t,i[r])||!Object.is(e[i[r]],t[i[r]]))return!1;return!0}(a=n||(n={}))[a.VERBOSE=0]="VERBOSE",a[a.DEBUG=1]="DEBUG",a[a.INFO=2]="INFO",a[a.WARN=3]="WARN",a[a.ERROR=4]="ERROR",a[a.NONE=5]="NONE";class c{static v(e,...t){this.log(n.VERBOSE,e,...t)}static d(e,...t){this.log(n.DEBUG,e,...t)}static i(e,...t){this.log(n.INFO,e,...t)}static w(e,...t){this.log(n.WARN,e,...t)}static e(e,...t){this.log(n.ERROR,e,...t)}static log(e,t,...i){if(!(this.level.valueOf()>e.valueOf()))switch(e){case n.VERBOSE:console.log("HMSui-components: ",t,...i);break;case n.DEBUG:console.debug("HMSui-components: ",t,...i);break;case n.INFO:console.info("HMSui-components: ",t,...i);break;case n.WARN:console.warn("HMSui-components: ",t,...i);break;case n.ERROR:console.error("HMSui-components: ",t,...i)}}}c.level=n.VERBOSE;const d="It seems like you forgot to add your component within a top level HMSRoomProvider, please refer to 100ms react docs(https://docs.100ms.live/javascript/v2/features/integration#react-hooks) to check on the required steps for using this hook.";const h="undefined"!=typeof window,f=e.createContext(null),g=(v=f,(t,i=u)=>{t||c.w("fetching full store without passing any selector may have a heavy performance impact on your website.");const r=e.useContext(v);if(!r)throw new Error(d);return(0,r.store)(t,i)});var v;const p=function(t){return(i,r=u)=>{i||c.w("fetching full store without passing any selector may have a heavy performance impact on your website.");const o=e.useContext(t);if(!o)throw new Error(d);const n=o.statsStore;return null==n?void 0:n(i,r)}}(f),m=()=>{const t=e.useContext(f);if(!t)throw new Error(d);return t.store},w=()=>{const t=e.useContext(f);if(!t)throw new Error(d);return t.notifications},y=()=>{const t=e.useContext(f);if(!t)throw new Error(d);return t.actions},S=t=>{const i=e.useContext(f),[r,o]=e.useState(null);if(!i)throw new Error(d);return e.useEffect((()=>{if(!i.notifications)return;return i.notifications.onNotification((e=>{o(e)}),t)}),[i.notifications,t]),r};function b(e,t,i,r){return new(i||(i=Promise))((function(o,n){function a(e){try{l(r.next(e))}catch(e){n(e)}}function s(e){try{l(r.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))}const P=(e,t)=>c.e("react-sdk",t,e);function E(t){const i=e.useRef();return e.useEffect((()=>{i.current=t})),i.current}const R=["chrome","brave","opera","edge"].some((e=>{var t,r;return(null===(r=null===(t=i.parsedUserAgent.getBrowser())||void 0===t?void 0:t.name)||void 0===r?void 0:r.toLowerCase())===e})),k=(t=P)=>{var r,o;const n=y(),a=g(i.selectIsLocalScreenShared),s=g(i.selectPeerScreenSharing),l=g(i.selectScreenSharesByPeerId(null==s?void 0:s.id)),u=e.useCallback((e=>b(void 0,void 0,void 0,(function*(){try{yield n.setScreenShareEnabled(!a,e)}catch(e){t(e,"toggleScreenShare")}}))),[n,a,t]);return{amIScreenSharing:a,screenSharingPeerId:null==s?void 0:s.id,screenSharingPeerName:null==s?void 0:s.name,screenShareVideoTrackId:null===(r=null==l?void 0:l.video)||void 0===r?void 0:r.id,screenShareAudioTrackId:null===(o=null==l?void 0:l.audio)||void 0===o?void 0:o.id,toggleScreenShare:u}},C=(e,t,i)=>b(void 0,void 0,void 0,(function*(){if(t)try{yield e.setRemoteTrackEnabled(t.id,!t.enabled)}catch(e){i(e,"remoteToggle")}})),I=({elements:e,tilesInFirstPage:t,onlyOnePage:i,isLastPageDifferentFromFirstPage:r,defaultWidth:o,defaultHeight:n,lastPageWidth:a,lastPageHeight:s})=>{const l=((e,t,i)=>e.reduce(((e,r,o)=>{const n=Math.floor(o/t);return n>0&&i||(e[n]||(e[n]=[]),e[n].push(r)),e}),[]))(e,t,i);return l.map(((e,t)=>e.map((e=>{const i=t===l.length-1,u=r&&i?a:o,c=r&&i?s:n;return Object.assign(Object.assign({},e),{height:c,width:u})}))))};const M=(e,t,i,r,o)=>{if(e<0||t<0)throw new Error("Container must have a non-negative area");if(i<1||!Number.isInteger(i))throw new Error("Number of shapes to place must be a positive integer");const n=r&&o&&r/o;if(void 0!==n&&isNaN(n))throw new Error("Aspect ratio must be a number");let a={area:0,cols:0,rows:0,width:0,height:0};if(void 0!==n)for(let r=i;r>0;r+=-1){const o=Math.ceil(i/r);let s,l;e/(r*n)<=t/o?(s=e/r,l=s/n):(l=t/o,s=l*n);const u=s*l;u>a.area&&(a={area:u,width:s,height:l,rows:o,cols:r})}return a};function H({count:e,parentWidth:t,parentHeight:i,maxTileCount:r,maxRowCount:o,maxColCount:n,aspectRatio:a}){let s=0,l=0,u=0,c=0,d=!1,h=0;if(0===e)return{tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:u,lastPageHeight:c,isLastPageDifferentFromFirstPage:d};if(r)({tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:u,lastPageHeight:c,isLastPageDifferentFromFirstPage:d}=(({parentWidth:e,parentHeight:t,count:i,maxCount:r,aspectRatio:o})=>{let n=0,a=0,s=0,l=0,u=!1,c=0,d=0;const{width:h,height:f}=M(e,t,Math.min(i,r),o.width,o.height);if(n=h,a=f,c=Math.min(i,r),d=i%r,u=d>0&&i>r,u){const{width:i,height:r}=M(e,t,d,o.width,o.height);s=i,l=r}return{tilesInFirstPage:c,defaultWidth:n,defaultHeight:a,lastPageWidth:s,lastPageHeight:l,isLastPageDifferentFromFirstPage:u}})({parentWidth:t,parentHeight:i,count:e,maxCount:r,aspectRatio:a}));else if(o)({tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:u,lastPageHeight:c,isLastPageDifferentFromFirstPage:d}=(({parentWidth:e,parentHeight:t,count:i,maxCount:r,aspectRatio:o})=>{let n=0,a=0,s=0,l=0,u=!1,c=0,d=0;const h=Math.min(Math.ceil(Math.sqrt(i*(o.width/o.height)/(e/t))),r),f=t/h,g=f*(o.width/o.height),v=Math.floor(e/g);if(n=g,a=f,c=Math.min(i,h*v),d=i%(h*v),u=d>0&&i>h*v,u){const i=t/Math.min(Math.ceil(Math.sqrt(d*(o.width/o.height)/(e/t))),r);l=i,s=i*(o.width/o.height)}return{tilesInFirstPage:c,defaultWidth:n,defaultHeight:a,lastPageWidth:s,lastPageHeight:l,isLastPageDifferentFromFirstPage:u}})({parentWidth:t,parentHeight:i,count:e,maxCount:o,aspectRatio:a}));else if(n)({tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:u,lastPageHeight:c,isLastPageDifferentFromFirstPage:d}=(({parentWidth:e,parentHeight:t,count:i,maxCount:r,aspectRatio:o})=>{let n=0,a=0,s=0,l=0,u=!1,c=0,d=0;const h=Math.min(Math.ceil(Math.sqrt(i*(e/t)/(o.width/o.height))),r);let f=e/h,g=f/(o.width/o.height);g>t&&(g=t,f=g/(o.height/o.width));const v=Math.floor(t/g);if(a=g,n=f,c=Math.min(i,v*h),d=i%(v*h),u=d>0&&i>v*h,u){let i=e/Math.min(Math.ceil(Math.sqrt(d*(e/t)/(o.width/o.height))),r),n=i/(o.width/o.height);n>t&&(n=t,i=n/(o.height/o.width)),l=n,s=i}return{tilesInFirstPage:c,defaultWidth:n,defaultHeight:a,lastPageWidth:s,lastPageHeight:l,isLastPageDifferentFromFirstPage:u}})({parentWidth:t,parentHeight:i,count:e,maxCount:n,aspectRatio:a}));else{const{width:r,height:o}=M(t,i,e,a.width,a.height);s=r,l=o,h=e}return{tilesInFirstPage:h,defaultWidth:s,defaultHeight:l,lastPageWidth:u,lastPageHeight:c,isLastPageDifferentFromFirstPage:d}}const x={width:1,height:1};exports.HMSRoomProvider=({children:t,actions:r,store:o,notifications:n,stats:a,isHMSStatsOn:u=!1,leaveOnUnload:c=!0})=>{const d=e.useMemo((()=>{let e;const t=()=>{throw new Error("modifying store is not allowed")};if(r&&o)e={actions:r,store:l.default(Object.assign(Object.assign({},o),{setState:t,destroy:t}))},n&&(e.notifications=n),a&&(e.statsStore=l.default({getState:a.getState,subscribe:a.subscribe,setState:t,destroy:t}));else{const r=new i.HMSReactiveStore;if(e={actions:r.getActions(),store:l.default(Object.assign(Object.assign({},r.getStore()),{setState:t,destroy:t})),notifications:r.getNotifications()},u){const i=r.getStats();e.statsStore=l.default({getState:i.getState,subscribe:i.subscribe,setState:t,destroy:t})}}return e.actions.setFrameworkInfo({type:"react-web",version:s.default.version,sdkVersion:"0.8.10-alpha.0"}),e}),[r,o,n,a,u]);return e.useEffect((()=>{if(h&&c){const e=()=>d.actions.leave();return window.addEventListener("beforeunload",e),()=>{window.removeEventListener("beforeunload",e)}}return()=>{}}),[c,d]),s.default.createElement(f.Provider,{value:d},t)},exports.throwErrorHandler=e=>{throw e},exports.useAVToggle=(t=P)=>{const r=g(i.selectIsLocalAudioEnabled),o=g(i.selectIsLocalVideoEnabled),n=g(i.selectIsInPreview)?i.selectIsAllowedToPreviewMedia:i.selectIsAllowedToPublish,a=g(n),s=y(),l=e.useCallback((()=>b(void 0,void 0,void 0,(function*(){try{yield s.setLocalAudioEnabled(!r)}catch(e){t(e,"toggleAudio")}}))),[s,r,t]),u=e.useCallback((()=>b(void 0,void 0,void 0,(function*(){try{yield s.setLocalVideoEnabled(!o)}catch(e){t(e,"toggleVideo")}}))),[s,o,t]);return{isLocalAudioEnabled:r,isLocalVideoEnabled:o,toggleAudio:(null==a?void 0:a.audio)?l:void 0,toggleVideo:(null==a?void 0:a.video)?u:void 0}},exports.useAudioLevelStyles=function({trackId:t,getStyle:r,ref:o}){const n=m();e.useEffect((()=>n.subscribe((e=>{if(!o.current)return;const t=r(e);for(const e in t)o.current.style[e]=t[e]}),i.selectTrackAudioByID(t))),[r,o,n,t])},exports.useAutoplayError=()=>{const t=S(i.HMSNotificationTypes.ERROR),[r,o]=e.useState(""),n=y(),a=e.useCallback((()=>b(void 0,void 0,void 0,(function*(){yield n.unblockAudio()}))),[n]);return e.useEffect((()=>{3008===(null==t?void 0:t.data.code)&&o(null==t?void 0:t.data.message)}),[t]),{error:r,unblockAudio:a,resetError:()=>o("")}},exports.useCustomEvent=({type:t,json:r=!0,onEvent:o,handleError:n=P})=>{const a=y(),s=w();e.useEffect((()=>{a.ignoreMessageTypes([t])}),[a,t]),e.useEffect((()=>{if(!s)return;return s.onNotification((e=>{const i=e.data;if(i&&i.type===t)try{const e=r?JSON.parse(i.message):i.message;null==o||o(e)}catch(e){n(e,"handleCustomEvent")}}),i.HMSNotificationTypes.NEW_MESSAGE)}),[s,t,r,o,n]);return{sendEvent:e.useCallback(((e,i)=>b(void 0,void 0,void 0,(function*(){try{const n=((e,t)=>t?JSON.stringify(e||""):e)(e,r);i&&Array.isArray(null==i?void 0:i.roleNames)?yield a.sendGroupMessage(n,i.roleNames,t):"string"==typeof(null==i?void 0:i.peerId)?yield a.sendDirectMessage(n,i.peerId,t):yield a.sendBroadcastMessage(n,t),null==o||o(e)}catch(e){n(e,"sendCustomEvent")}}))),[a,n,o,t,r])}},exports.useDevices=(t=P)=>{const r=y(),o=g(i.selectDevices),n=g(i.selectLocalMediaSettings),a=g(i.selectIsAllowedToPublish),s={[i.DeviceType.audioOutput]:n.audioOutputDeviceId},l={[i.DeviceType.audioOutput]:o.audioOutput};a.video&&(l[i.DeviceType.videoInput]=o.videoInput,s[i.DeviceType.videoInput]=n.videoInputDeviceId),a.audio&&(l[i.DeviceType.audioInput]=o.audioInput,s[i.DeviceType.audioInput]=n.audioInputDeviceId);return{allDevices:l,selectedDeviceIDs:s,updateDevice:e.useCallback((({deviceType:e,deviceId:o})=>b(void 0,void 0,void 0,(function*(){try{switch(e){case i.DeviceType.audioInput:yield r.setAudioSettings({deviceId:o});break;case i.DeviceType.videoInput:yield r.setVideoSettings({deviceId:o});break;case i.DeviceType.audioOutput:yield r.setAudioOutputDevice(o)}}catch(e){t(e,"updateDevices")}}))),[t,r])}},exports.useEmbedShare=t=>{const i=e.useRef(null),[r,o]=e.useState(!1),n=e.useCallback((()=>{throw new Error("unable to start screen share")}),[]),a=e.useRef(!1),{amIScreenSharing:s,toggleScreenShare:l}=k(n),u=E(s),c=e.useCallback((()=>b(void 0,void 0,void 0,(function*(){s&&(yield null==l?void 0:l(),i.current=null)}))),[s,l]),d=e.useCallback((e=>b(void 0,void 0,void 0,(function*(){if(!a.current){if(!e)throw new Error("URL not found");if(s)throw new Error("You are already sharing");if(!i.current)throw new Error("Attach a reference `iframeRef` to iframe for sharing");i.current.src=e,a.current=!0,o(!0),yield null==l?void 0:l({forceCurrentTab:R,cropElement:i.current,preferCurrentTab:R})}}))),[s,l]);return e.useEffect((()=>{u&&!s&&(null==t||t(),i.current&&(i.current.src=""),a.current=!1,o(!1))}),[s,u,t]),{startEmbedShare:d,stopEmbedShare:c,iframeRef:i,isEmbedShareInProgress:r}},exports.useHMSActions=y,exports.useHMSNotifications=S,exports.useHMSStatsStore=p,exports.useHMSStore=g,exports.useHMSVanillaNotifications=w,exports.useHMSVanillaStore=m,exports.usePDFShare=t=>{const i=e.useRef(null),[r,o]=e.useState(!1),n=e.useCallback((()=>{throw new Error("unable to start screen share")}),[]),a=e.useRef(!1),{amIScreenSharing:s,toggleScreenShare:l}=k(n),u=E(s),c=e.useCallback((e=>{var t;i.current&&(null===(t=i.current.contentWindow)||void 0===t||t.postMessage({theme:2,file:e},"*"))}),[]),d=e.useCallback((()=>b(void 0,void 0,void 0,(function*(){s&&(yield null==l?void 0:l())}))),[s,l]),h=e.useCallback((e=>b(void 0,void 0,void 0,(function*(){if(!a.current){if(!e)throw new Error("File or url not found");if(s)throw new Error("You are already sharing");if(!i.current)throw new Error("Attach a reference `iframeRef` to iframe for sharing");i.current.src="https://pdf-annotation.100ms.live/generic/web/viewer.html"+("string"==typeof e?`?file=${e}`:""),i.current.onload=()=>{requestAnimationFrame((()=>{e instanceof File&&c(e)}))},a.current=!0,o(!0),yield null==l?void 0:l({forceCurrentTab:R,cropElement:i.current,preferCurrentTab:R})}}))),[s,c,l]);return e.useEffect((()=>{u&&!s&&(null==t||t(),i.current&&i.current.removeAttribute("src"),a.current=!1,o(!1))}),[s,u,t]),{startPDFShare:h,stopPDFShare:d,iframeRef:i,isPDFShareInProgress:r}},exports.useParticipantList=()=>{const t=g(i.selectIsConnectedToRoom),r=g(t?i.selectPeers:i.selectRemotePeers),o=g(i.selectPeerCount),n=e.useMemo((()=>{return(e=r)&&Array.isArray(e)&&0!==e.length?e.reduce(((e,t)=>t.roleName?(e[t.roleName]||(e[t.roleName]=[]),e[t.roleName].push(t),e):e),{}):{};var e}),[r]);return{roles:Object.keys(n),participantsByRoles:n,peerCount:o,isConnected:t}},exports.useParticipants=e=>{var t;const r=g(i.selectIsConnectedToRoom),o=g(i.selectPeerCount),n=g(i.selectAvailableRoleNames);let a=g(r?i.selectPeers:i.selectRemotePeers);const s=Array.from(new Set(a.map((e=>e.roleName)))),l=m();if((null===(t=null==e?void 0:e.metadata)||void 0===t?void 0:t.isHandRaised)&&(a=a.filter((e=>l.getState(i.selectPeerMetadata(e.id)).isHandRaised))),(null==e?void 0:e.role)&&n.includes(e.role)&&(a=a.filter((t=>t.roleName===e.role))),null==e?void 0:e.search){const t=e.search.toLowerCase();a=a.filter((e=>{var i;return(null===(i=e.roleName)||void 0===i?void 0:i.toLowerCase().includes(t))||e.name.toLowerCase().includes(t)}))}return{participants:a,isConnected:r,peerCount:o,rolesWithParticipants:s}},exports.usePreviewJoin=({name:t="",token:r,metadata:o,handleError:n=P,initEndpoint:a,initialSettings:s,captureNetworkQualityInPreview:l,asRole:u,autoManageVideo:c,autoManageWakeLock:d})=>{const h=y(),f=g(i.selectRoomState),v=g(i.selectIsConnectedToRoom)||!1,p=f===i.HMSRoomState.Preview,m=e.useMemo((()=>({userName:t,authToken:r,metaData:o,rememberDeviceSelection:!0,settings:s,initEndpoint:a,asRole:u,captureNetworkQualityInPreview:l,autoManageVideo:c,autoManageWakeLock:d})),[t,r,o,a,s,l,u,c,d]),w=e.useCallback((()=>b(void 0,void 0,void 0,(function*(){if(r&&f===i.HMSRoomState.Disconnected){v&&(yield h.leave());try{yield h.preview(m)}catch(e){n(e,"preview")}}}))),[h,n,r,f,m,v]);return{enableJoin:p,join:e.useCallback((()=>b(void 0,void 0,void 0,(function*(){if(r)try{yield h.join(m)}catch(e){n(e,"join")}}))),[h,m,n,r]),isConnected:v,preview:w}},exports.useRecordingStreaming=()=>{const e=g(i.selectRecordingState),t=g(i.selectRTMPState),r=g(i.selectHLSState),o=e.server.running,n=e.browser.running,a=e.hls.running,s=o||n||a;return{isServerRecordingOn:o,isBrowserRecordingOn:n,isHLSRecordingOn:a,isStreamingOn:r.running||t.running,isHLSRunning:r.running,isRTMPRunning:t.running,isRecordingOn:s}},exports.useRemoteAVToggle=(t,r,o=P)=>{const n=y(),a=g(i.selectAudioTrackByID(t)),s=g(i.selectVideoTrackByID(r)),l=g(i.selectAudioTrackVolume(null==a?void 0:a.id)),u=g(i.selectPermissions),c=(null==s?void 0:s.enabled)?null==u?void 0:u.mute:null==u?void 0:u.unmute,d=(null==a?void 0:a.enabled)?null==u?void 0:u.mute:null==u?void 0:u.unmute,h=e.useCallback((()=>b(void 0,void 0,void 0,(function*(){yield C(n,a,o)}))),[n,a,o]),f=e.useCallback((()=>b(void 0,void 0,void 0,(function*(){yield C(n,s,o)}))),[n,o,s]),v=e.useCallback((e=>{a&&n.setVolume(e,a.id)}),[n,a]);return{isAudioEnabled:!!(null==a?void 0:a.enabled),isVideoEnabled:!!(null==s?void 0:s.enabled),volume:l,toggleAudio:a&&d?h:void 0,toggleVideo:"regular"===(null==s?void 0:s.source)&&c?f:void 0,setVolume:a?v:void 0}},exports.useScreenShare=k,exports.useVideo=({trackId:t,attach:r})=>{const o=y(),n=e.useRef(null),a=g(i.selectVideoTrackByID(t)),s=e.useRef(),l=e.useCallback((e=>{e&&(n.current=e)}),[]);return e.useEffect((()=>{s.current?(null==a?void 0:a.id)&&s.current!==(null==a?void 0:a.id)&&b(void 0,void 0,void 0,(function*(){if(n.current)try{c.d("detaching because different track is passed"),yield o.detachVideo(s.current,n.current)}catch(e){c.w("detach video error for track",s.current,e)}s.current=null==a?void 0:a.id})):s.current=null==a?void 0:a.id}),[null==a?void 0:a.id,o]),e.useEffect((()=>{b(void 0,void 0,void 0,(function*(){(null==a?void 0:a.id)&&n.current&&(!1!==r?yield o.attachVideo(a.id,n.current):yield o.detachVideo(a.id,n.current))}))}),[a,r,o]),e.useEffect((()=>()=>{b(void 0,void 0,void 0,(function*(){if(n.current&&a)try{yield o.detachVideo(a.id,n.current)}catch(e){c.w("detach video error for track",a.id,e)}}))}),[]),{videoRef:l}},exports.useVideoList=({peers:t,maxTileCount:o,maxColCount:n,maxRowCount:a,includeScreenShareForPeer:s=(()=>!1),aspectRatio:l=x,filterNonPublishingPeers:u=!0,offsetY:c=0})=>{const{width:d=0,height:h=0,ref:f}=r.useResizeDetector(),g=((e,t,i,r=!0)=>{if(!e||!t||!i)return[];const o=[];for(const n of e)if(void 0===n.videoTrack&&n.audioTrack&&t[n.audioTrack]?o.push({peer:n}):n.videoTrack&&t[n.videoTrack]?o.push({track:t[n.videoTrack],peer:n}):r||o.push({peer:n}),n.auxiliaryTracks.length>0&&n.auxiliaryTracks.forEach((e=>{const i=t[e];"video"===(null==i?void 0:i.type)&&"regular"===(null==i?void 0:i.source)&&o.push({track:i,peer:n})})),i(n)&&n.auxiliaryTracks.length>0){const e=n.auxiliaryTracks.find((e=>{const i=t[e];return"video"===(null==i?void 0:i.type)&&"screen"===(null==i?void 0:i.source)}));e&&o.push({track:t[e],peer:n})}return o})(t,m().getState(i.selectTracksMap),s,u),v=e.useMemo((()=>{if(l)return l;return{width:function(e){if(0===e.length)return null;const t={};let i=e[0],r=1;for(let o=0;o<e.length;o++){const n=e[o];null===t[n]?t[n]=1:t[n]++,t[n]>r&&(i=n,r=t[n])}return i}(g.filter((e=>{var t,i;return(null===(t=e.track)||void 0===t?void 0:t.width)&&(null===(i=e.track)||void 0===i?void 0:i.height)})).map((e=>{var t,i;return((null===(t=e.track)||void 0===t?void 0:t.width)||1)/((null===(i=e.track)||void 0===i?void 0:i.height)||1)})))||1,height:1}}),[l,g]),p=g.length,{tilesInFirstPage:w,defaultWidth:y,defaultHeight:S,lastPageWidth:b,lastPageHeight:P,isLastPageDifferentFromFirstPage:E}=e.useMemo((()=>H({count:p,parentWidth:Math.floor(d),parentHeight:Math.floor(h)-Math.min(h,c),maxTileCount:o,maxRowCount:a,maxColCount:n,aspectRatio:v})),[p,d,h,o,a,n,v,c]);return{pagesWithTiles:e.useMemo((()=>I({elements:g,tilesInFirstPage:w,onlyOnePage:!1,isLastPageDifferentFromFirstPage:E,defaultWidth:y,defaultHeight:S,lastPageWidth:b,lastPageHeight:P})),[g,w,E,y,S,b,P]),ref:f}},Object.keys(i).forEach((function(e){"default"===e||exports.hasOwnProperty(e)||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return i[e]}})}));
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/utils/logger.ts","../node_modules/zustand/esm/shallow.js","../src/primitives/store.ts","../src/utils/isBrowser.ts","../src/primitives/HmsRoomProvider.ts","../../../node_modules/tslib/tslib.es6.js","../src/utils/commons.ts","../src/hooks/useRemoteAVToggle.ts","../src/utils/layout.ts","../src/hooks/useVideoList.ts","../src/hooks/useAVToggle.ts","../src/hooks/useAudioLevelStyles.ts","../src/hooks/useAutoplayError.ts","../src/hooks/useCustomEvent.ts","../src/hooks/useDevices.ts","../src/hooks/useParticipantList.ts","../src/utils/groupBy.ts","../src/hooks/useParticipants.ts","../src/hooks/usePreviewJoin.ts","../src/hooks/useRecordingStreaming.ts","../src/hooks/useScreenShare.ts","../src/hooks/useVideo.ts"],"sourcesContent":[null,"function shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\n\nexport { shallow as default };\n",null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["HMSLogLevel","HMSLogLevel2","shallow","objA","objB","Object","is","keysA","keys","length","i","prototype","hasOwnProperty","call","HMSLogger","static","tag","data","this","log","VERBOSE","DEBUG","INFO","WARN","ERROR","level","valueOf","console","debug","info","warn","error","hooksErrorMessage","isBrowser","window","HMSContext","createContext","useHMSStore","hmsContext","selector","equalityFn","w","HMSContextConsumer","useContext","Error","useStore","store","useHMSStatsStore","statsStore","makeHMSStatsStoreHook","useHMSVanillaStore","useHMSVanillaNotifications","notifications","useHMSActions","actions","useHMSNotifications","type","notification","setNotification","useState","useEffect","onNotification","notification2","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","logErrorHandler","err","method","toggleTrackEnabled","track","handleError","setRemoteTrackEnabled","id","enabled","chunkElements","elements","tilesInFirstPage","onlyOnePage","isLastPageDifferentFromFirstPage","defaultWidth","defaultHeight","lastPageWidth","lastPageHeight","chunks","chunkSize","reduce","resultArray","tile","index","chunkIndex","Math","floor","push","chunk","map","ch","page","element","isLastPage","width","height","assign","largestRect","containerWidth","containerHeight","numRects","Number","isInteger","aspectRatio","isNaN","best","area","cols","rows","ceil","width2","height2","count","parentWidth","parentHeight","maxTileCount","maxRowCount","maxColCount","maxCount","tilesinLastPage","initialWidth","initialHeight","min","remWidth","remHeight","getTileSizesWithPageConstraint","sqrt","getTileSizesWithRowConstraint","getTileSizesWithColConstraint","DEFAULTS","children","stats","isHMSStatsOn","leaveOnUnload","providerProps","useMemo","providerProps2","errFn","create","setState","destroy","getState","subscribe","hmsReactiveStore","HMSReactiveStore","getActions","getStore","getNotifications","stats2","getStats","setFrameworkInfo","version","React","sdkVersion","beforeUnloadCallback","leave","addEventListener","removeEventListener","createElement","Provider","isLocalAudioEnabled","selectIsLocalAudioEnabled","isLocalVideoEnabled","selectIsLocalVideoEnabled","selectAllowed","selectIsInPreview","selectIsAllowedToPreviewMedia","selectIsAllowedToPublish","isAllowedToPublish","toggleAudio","useCallback","setLocalAudioEnabled","toggleVideo","setLocalVideoEnabled","audio","video","trackId","getStyle","ref","current","styles","key","style","selectTrackAudioByID","HMSNotificationTypes","setError","unblockAudio","code","message","resetError","json","onEvent","ignoreMessageTypes","msg","JSON","parse","NEW_MESSAGE","sendEvent","receiver","dataStr","stringify","stringifyData","Array","isArray","roleNames","sendGroupMessage","peerId","sendDirectMessage","sendBroadcastMessage","sdkAllDevices","selectDevices","sdkSelectedDevices","selectLocalMediaSettings","selectedDeviceIDs","DeviceType","audioOutput","audioOutputDeviceId","allDevices","videoInput","videoInputDeviceId","audioInput","audioInputDeviceId","updateDevice","deviceType","deviceId","setAudioSettings","setVideoSettings","setAudioOutputDevice","isConnected","selectIsConnectedToRoom","participantList","selectPeers","selectRemotePeers","peerCount","selectPeerCount","participantsByRoles","groupByRoles","peers","res","peer","roleName","roles","params","availableRoles","selectAvailableRoleNames","rolesWithParticipants","from","Set","vanillaStore","_a","metadata","isHandRaised","filter","selectPeerMetadata","role","includes","search","toLowerCase","_a2","name","participants","token","initEndpoint","initialSettings","captureNetworkQualityInPreview","asRole","autoManageVideo","autoManageWakeLock","roomState","selectRoomState","enableJoin","HMSRoomState","Preview","config","userName","authToken","metaData","rememberDeviceSelection","settings","preview","Disconnected","join","recording","selectRecordingState","rtmp","selectRTMPState","hls","selectHLSState","isServerRecordingOn","server","running","isBrowserRecordingOn","browser","isHLSRecordingOn","isRecordingOn","isStreamingOn","isHLSRunning","isRTMPRunning","audioTrackId","videoTrackId","audioTrack","selectAudioTrackByID","videoTrack","selectVideoTrackByID","volume","selectAudioTrackVolume","permissions","selectPermissions","canToggleVideo","mute","unmute","canToggleAudio","setVolume","volume2","isAudioEnabled","isVideoEnabled","source","amIScreenSharing","selectIsLocalScreenShared","screenSharePeer","selectPeerScreenSharing","screenShare","selectScreenSharesByPeerId","toggleScreenShare","setScreenShareEnabled","screenSharingPeerId","screenSharingPeerName","screenShareVideoTrackId","screenShareAudioTrackId","_b","attach","videoRef","useRef","prevTrackId","setRefs","node","d","detachVideo","attachVideo","includeScreenShareForPeer","filterNonPublishingPeers","offsetY","useResizeDetector","tracksWithPeer","tracks","peerTiles","auxiliaryTracks","forEach","screenShareTrackID","find","trackID","getVideoTracksFromPeers","selectTracksMap","finalAspectRatio","array","modeMap","maxEl","el","mode","calculateLayoutSizes","pagesWithTiles"],"mappings":"uQAAYA,EAAAC,gBCAZ,SAASC,EAAQC,EAAMC,GACrB,GAAIC,OAAOC,GAAGH,EAAMC,GAClB,OAAO,EAET,GAAoB,iBAATD,GAA8B,OAATA,GAAiC,iBAATC,GAA8B,OAATA,EAC3E,OAAO,EAET,MAAMG,EAAQF,OAAOG,KAAKL,GAC1B,GAAII,EAAME,SAAWJ,OAAOG,KAAKJ,GAAMK,OACrC,OAAO,EAET,IAAK,IAAIC,EAAI,EAAGA,EAAIH,EAAME,OAAQC,IAChC,IAAKL,OAAOM,UAAUC,eAAeC,KAAKT,EAAMG,EAAMG,MAAQL,OAAOC,GAAGH,EAAKI,EAAMG,IAAKN,EAAKG,EAAMG,KACjG,OAAO,EAGX,OAAO,CACT,EDjBYT,EAAAD,IAOXA,EAAA,CAAA,IANCC,UAAA,GAAA,UACAA,EAAAA,QAAA,GAAA,QACAA,EAAAA,OAAA,GAAA,OACAA,EAAAA,OAAA,GAAA,OACAA,EAAAA,QAAA,GAAA,QACAA,EAAAA,OAAA,GAAA,OAGF,MAA8Ba,EAGrBC,SAAEC,KAAgBC,GACvBC,KAAKC,IAAInB,EAAYoB,QAASJ,KAAQC,EAAA,CAGjCF,SAAEC,KAAgBC,GACvBC,KAAKC,IAAInB,EAAYqB,MAAOL,KAAQC,EAAA,CAG/BF,SAAEC,KAAgBC,GACvBC,KAAKC,IAAInB,EAAYsB,KAAMN,KAAQC,EAAA,CAG9BF,SAAEC,KAAgBC,GACvBC,KAAKC,IAAInB,EAAYuB,KAAMP,KAAQC,EAAA,CAG9BF,SAAEC,KAAgBC,GACvBC,KAAKC,IAAInB,EAAYwB,MAAOR,KAAQC,EAAA,CAIvBF,WAAIU,EAAoBT,KAAgBC,GACrD,KAAIC,KAAKO,MAAMC,UAAYD,EAAMC,WAIzB,OAAAD,GAAA,KACDzB,EAAYoB,QACPO,QAAAR,IAAI,qBAAsBH,KAAQC,GAC1C,MAAA,KAEGjB,EAAYqB,MACPM,QAAAC,MAAM,qBAAsBZ,KAAQC,GAC5C,MAAA,KAEGjB,EAAYsB,KACPK,QAAAE,KAAK,qBAAsBb,KAAQC,GAC3C,MAAA,KAEGjB,EAAYuB,KACPI,QAAAG,KAAK,qBAAsBd,KAAQC,GAC3C,MAAA,KAEGjB,EAAYwB,MACPG,QAAAI,MAAM,qBAAsBf,KAAQC,GAC5C,EA/CCH,EAAAW,MAAqBzB,EAAYoB,QEAnC,MAAMY,EACX,kPCXK,MAAMC,EAA8B,oBAAXC,OCiC1BC,EAAaC,EAAAA,cAA8C,MAkGpDC,GF/GoBC,EE+GWH,EF9GtB,CAClBI,EACAC,EAA0CtC,KAErCqC,GACHzB,EAAU2B,EACR,yGAGJ,MAAMC,EAAqBC,aAAWL,GACtC,IAAKI,EACH,MAAM,IAAIE,MAAMZ,GAGlB,OAAOa,EADUH,EAAmBI,OACpBP,EAAUC,EAAA,GAfxB,IAA2BF,EEiH1B,MAAMS,EF7FP,SAAgCT,GAiB7B,MAhBkB,CACvBC,EACAC,EAA0CtC,KAErCqC,GACHzB,EAAU2B,EACR,yGAGJ,MAAMC,EAAqBC,aAAWL,GACtC,IAAKI,EACH,MAAM,IAAIE,MAAMZ,GAElB,MAAMa,EAAWH,EAAmBM,WACpC,OAAOH,aAAA,EAAAA,EAAWN,EAAUC,EAAA,CAEvB,CE4EuBS,CAAsBd,GAczCe,EAAqB,KAChC,MAAMR,EAAqBC,aAAWR,GACtC,IAAKO,EACH,MAAM,IAAIE,MAAMZ,GAGlB,OAAOU,EAAmBI,KAAA,EAiBfK,EAA6B,KACxC,MAAMT,EAAqBC,aAAWR,GACtC,IAAKO,EACH,MAAM,IAAIE,MAAMZ,GAElB,OAAOU,EAAmBU,aAAA,EAMfC,EAAgB,KAC3B,MAAMX,EAAqBC,aAAWR,GACtC,IAAKO,EACH,MAAM,IAAIE,MAAMZ,GAElB,OAAOU,EAAmBY,OAAA,EASfC,EACXC,IAEA,MAAMd,EAAqBC,aAAWR,IAC/BsB,EAAcC,GAAmBC,EAA8CA,SAAA,MAEtF,IAAKjB,EACH,MAAM,IAAIE,MAAMZ,GAaX,OAVP4B,EAAAA,WAAU,KACJ,IAAClB,EAAmBU,cACtB,OAKK,OAHaV,EAAmBU,cAAcS,gBAAiCC,IACpEJ,EAAAI,EAAA,GACfN,EACI,GACN,CAACd,EAAmBU,cAAeI,IAE/BC,CAAA,EClJF,SAASM,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,IAAW,MAAOG,GAAKL,EAAOK,GAAO,CAC3F,SAASC,EAASJ,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,IAAW,MAAOG,GAAKL,EAAOK,GAAO,CAC9F,SAASF,EAAKI,GAJlB,IAAeL,EAIaK,EAAOC,KAAOT,EAAQQ,EAAOL,QAJ1CA,EAIyDK,EAAOL,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAO,KAIhBO,KAAKR,EAAWK,EAAY,CAC9GH,GAAMN,EAAYA,EAAUa,MAAMhB,EAASC,GAAc,KAAKS,OACtE,GACA,CC1EA,MAEaO,EAAmC,CAACC,EAAYC,IAAoBrE,EAAU6D,EAF/E,YAEsFQ,EAAQD,GCqCpGE,EAAqB,CACzB9B,EACA+B,EACAC,IACEvB,OAAA,OAAA,OAAA,GAAA,YACF,GAAIsB,EACE,UACI/B,EAAQiC,sBAAsBF,EAAMG,IAAKH,EAAMI,QAE3B,CAF2B,MAC9CP,GACPI,EAAYJ,EAAc,eAAA,CAAA,IChBnBQ,EAAgB,EAC3BC,WACAC,mBACAC,cACAC,mCACAC,eACAC,gBACAC,gBACAC,qBAEM,MAAAC,EAxCa,EAAIR,EAAeS,EAAmBP,IACzDF,EAASU,QAAO,CAACC,EAAoBC,EAASC,KACtC,MAAAC,EAAaC,KAAKC,MAAMH,EAAQJ,GAClC,OAAAK,EAAa,GAAKZ,IAGjBS,EAAYG,KACfH,EAAYG,GAAc,IAG5BH,EAAYG,GAAYG,KAAKL,IANpBD,CAOF,GACN,IA4BmBO,CAASlB,EAAUC,EAAkBC,GAC3D,OAAOM,EAAOW,KAAI,CAACC,EAAIC,IACrBD,EAAGD,KAAcG,IACT,MAAAC,EAAsBF,IAASb,EAAO1F,OAAS,EAC/C0G,EAAQrB,GAAoCoB,EAAajB,EAAgBF,EACzEqB,EAAStB,GAAoCoB,EAAahB,EAAiBF,EACjF,OAAA3F,OAAAgH,OAAAhH,OAAAgH,OAAA,CAAA,EAAYJ,GAAO,CAAEG,SAAQD,SAAA,KAAA,EAqC5B,MA4CMG,EAAc,CACzBC,EACAC,EACAC,EACAN,EACAC,KAEI,GAAAG,EAAiB,GAAKC,EAAkB,EAC1C,MAAM,IAAI5E,MAAM,2CAElB,GAAI6E,EAAW,IAAMC,OAAOC,UAAUF,GACpC,MAAM,IAAI7E,MAAM,wDAEZ,MAAAgF,EAAcT,GAASC,GAAUD,EAAQC,EAC3C,QAAgB,IAAhBQ,GAA6BC,MAAMD,GACrC,MAAM,IAAIhF,MAAM,iCAGd,IAAAkF,EAAO,CAAEC,KAAM,EAAGC,KAAM,EAAGC,KAAM,EAAGd,MAAO,EAAGC,OAAQ,GAQ1D,QAAoB,IAAhBQ,EACF,IAAA,IAASI,EANOP,EAMWO,EAAO,EAAGA,IALtB,EAKwC,CAC/C,MAAAC,EAAOvB,KAAKwB,KAAKT,EAAWO,GAG9B,IAAAG,EACAC,EAHWb,GAAyBS,EAAAJ,IACzBJ,EAAkBS,GAK/BE,EAAQZ,EAAiBS,EACzBI,EAASD,EAAQP,IAEjBQ,EAASZ,EAAkBS,EAC3BE,EAAQC,EAASR,GAEnB,MAAMG,EAAOI,EAAQC,EACjBL,EAAOD,EAAKC,OACdD,EAAO,CAAEC,OAAMZ,MAAOgB,EAAAf,OAAAgB,EAAQH,OAAMD,QAAA,CAInC,OAAAF,CAAA,cAsJ4BO,MACnCA,EACAC,YAAAA,EAAAC,aACAA,eACAC,EACAC,YAAAA,EAAAC,YACAA,cACAd,IAEA,IAAI7B,EAAe,EACfC,EAAgB,EAChBC,EAAgB,EAChBC,EAAiB,EACjBJ,GAAmC,EACnCF,EAAmB,EAEvB,GAAc,IAAVyC,EAEK,MAAA,CACLzC,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,oCAIJ,GAAI0C,IAEA5C,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,oCAhIwC,GAC5CwC,cACAC,eACAF,QACAM,WACAf,kBAEA,IAAI7B,EAAe,EACfC,EAAgB,EAChBC,EAAgB,EAChBC,EAAiB,EACjBJ,GAAmC,EACnCF,EAAmB,EACnBgD,EAAkB,EACtB,MAAQzB,MAAO0B,EAAczB,OAAQ0B,GAAkBxB,EACrDgB,EACAC,EACA7B,KAAKqC,IAAIV,EAAOM,GAChBf,EAAYT,MACZS,EAAYR,QAOd,GALerB,EAAA8C,EACC7C,EAAA8C,EACGlD,EAAAc,KAAKqC,IAAIV,EAAOM,GACnCC,EAAkBP,EAAQM,EACS7C,EAAA8C,EAAkB,GAAKP,EAAQM,EAC9D7C,EAAkC,CAC9B,MAAEqB,MAAO6B,EAAU5B,OAAQ6B,GAAc3B,EAC7CgB,EACAC,EACAK,EACAhB,EAAYT,MACZS,EAAYR,QAEEnB,EAAA+C,EACC9C,EAAA+C,CAAA,CAEZ,MAAA,CACLrD,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,mCAAA,EAsFIoD,CAA+B,CACjCZ,cACAC,eACAF,QACAM,SAAUH,EACVZ,sBAAA,GAEOa,IAEP7C,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,oCAhGuC,GAC3CwC,cACAC,eACAF,QACAM,WACAf,kBAEA,IAAI7B,EAAe,EACfC,EAAgB,EAChBC,EAAgB,EAChBC,EAAiB,EACjBJ,GAAmC,EACnCF,EAAmB,EACnBgD,EAAkB,EACtB,MAAMX,EAAOvB,KAAKqC,IAChBrC,KAAKwB,KAAKxB,KAAKyC,KAAMd,GAAqBT,EAAAT,MAAQS,EAAYR,WAA0BmB,KACxFI,GAEIvB,EAASmB,EAAeN,EACxBd,EAAQC,GAAsBQ,EAAAT,MAAQS,EAAYR,QAClDY,EAAOtB,KAAKC,MAAM2B,EAAcnB,GAMtC,GALepB,EAAAoB,EACCnB,EAAAoB,EACGxB,EAAAc,KAAKqC,IAAIV,EAAOJ,EAAOD,GAC1CY,EAAkBP,GAAgBJ,EAAAD,GACClC,EAAA8C,EAAkB,GAAKP,EAAQJ,EAAOD,EACrElC,EAAkC,CACpC,MAIMsC,EAASG,EAJF7B,KAAKqC,IAChBrC,KAAKwB,KAAKxB,KAAKyC,KAAMP,GAA+BhB,EAAAT,MAAQS,EAAYR,WAA0BmB,KAClGI,GAIezC,EAAAkC,EACDnC,EAFFmC,GAAsBR,EAAAT,MAAQS,EAAYR,OAExC,CAEX,MAAA,CACLxB,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,mCAAA,EAuDIsD,CAA8B,CAChCd,cACAC,eACAF,QACAM,SAAUF,EACVb,sBAAA,GAEOc,IAEP9C,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,oCApNuC,GAC3CwC,cACAC,eACAF,QACAM,WACAf,kBAEA,IAAI7B,EAAe,EACfC,EAAgB,EAChBC,EAAgB,EAChBC,EAAiB,EACjBJ,GAAmC,EACnCF,EAAmB,EACnBgD,EAAkB,EACtB,MAAMZ,EAAOtB,KAAKqC,IAChBrC,KAAKwB,KAAKxB,KAAKyC,KAAMd,GAAuBC,EAAAC,IAA8BX,EAAAT,MAAQS,EAAYR,UAC9FuB,GAEF,IAAIxB,EAAQmB,EAAcN,EACtBZ,EAASD,GAAqBS,EAAAT,MAAQS,EAAYR,QAClDA,EAASmB,IACFnB,EAAAmB,EACDpB,EAAAC,GAAsBQ,EAAAR,OAASQ,EAAYT,QAE/C,MAAAc,EAAOvB,KAAKC,MAAM4B,EAAenB,GAMvC,GALgBpB,EAAAoB,EACDrB,EAAAoB,EACIvB,EAAAc,KAAKqC,IAAIV,EAAOJ,EAAOD,GAC1CY,EAAkBP,GAAgBJ,EAAAD,GACClC,EAAA8C,EAAkB,GAAKP,EAAQJ,EAAOD,EACrElC,EAAkC,CAKpC,IAAIqC,EAAQG,EAJC5B,KAAKqC,IAChBrC,KAAKwB,KAAKxB,KAAKyC,KAAMP,GAAiCN,EAAAC,IAA8BX,EAAAT,MAAQS,EAAYR,UACxGuB,GAGEP,EAASD,GAAqBP,EAAAT,MAAQS,EAAYR,QAClDgB,EAASG,IACFH,EAAAG,EACDJ,EAAAC,GAAsBR,EAAAR,OAASQ,EAAYT,QAEpCjB,EAAAkC,EACDnC,EAAAkC,CAAA,CAEX,MAAA,CACLvC,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,mCAAA,EAmKIuD,CAA8B,CAChCf,cACAC,eACAF,QACAM,SAAUD,EACVd,qBAEG,CACC,MAAAT,MAAEA,SAAOC,GAAWE,EAAYgB,EAAaC,EAAcF,EAAOT,EAAYT,MAAOS,EAAYR,QACxFrB,EAAAoB,EACCnB,EAAAoB,EACGxB,EAAAyC,CAAA,CAEd,MAAA,CACLzC,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,mCAAA,CAWG,MCnWDwD,EACS,CACXnC,MAAO,EACPC,OAAQ,2BL/BmB,EAC7BmC,WACAjG,UACAR,QACAM,gBACAoG,QACAC,gBAAe,EACfC,iBAAgB,MAEV,MAAAC,EAAyCC,EAAAA,SAAQ,KACjD,IAAAC,EAGJ,MAAMC,EAAQ,KACZ,MAAM,IAAIlH,MAAM,iCAAA,EAElB,GAAIU,GAAWR,EACG+G,EAAA,CACdvG,UACAR,MAAOiH,EAAAA,QACF1J,OAAAgH,OAAAhH,OAAAgH,OAAA,CAAA,EAAAvE,GACH,CAAAkH,SAAUF,EACVG,QAASH,MAGT1G,IACFyG,EAAczG,cAAgBA,GAE5BoG,IACFK,EAAc7G,WAAa+G,UAAsB,CAC/CG,SAAUV,EAAMU,SAChBC,UAAWX,EAAMW,UACjBH,SAAUF,EACVG,QAASH,SAGR,CACL,MAAMM,EAAmB,IAAIC,EAAAA,iBAW7B,GAVgBR,EAAA,CACdvG,QAAS8G,EAAiBE,aAC1BxH,MAAOiH,EAAA,QACF1J,OAAAgH,OAAAhH,OAAAgH,OAAA,GAAA+C,EAAiBG,YACpB,CAAAP,SAAUF,EACVG,QAASH,KAEX1G,cAAegH,EAAiBI,oBAG9Bf,EAAc,CAChB,MAAMgB,EAAQL,EAAiBM,WAC/Bb,EAAc7G,WAAa+G,UAAsB,CAC/CG,SAAUO,EAAMP,SAChBC,UAAWM,EAAMN,UACjBH,SAAUF,EACVG,QAASH,GAAA,CAAA,CAYR,OANPD,EAAcvG,QAAQqH,iBAAiB,CACrCnH,KAAM,YACNoH,QAASC,EAAM,QAAAD,QACfE,WAAY,UAGPjB,CAAA,GACN,CAACvG,EAASR,EAAOM,EAAeoG,EAAOC,IAe1C,OAbA7F,EAAAA,WAAU,KACR,GAAI3B,GAAayH,EAAe,CACxB,MAAAqB,EAAuB,IAAMpB,EAAcrG,QAAQ0H,QAGzD,OAFA9I,OAAO+I,iBAAiB,eAAgBF,GAEjC,KACL7I,OAAOgJ,oBAAoB,eAAgBH,EAAA,CAAA,CAI/C,MAAO,MAAO,GACb,CAACrB,EAAeC,IAEZkB,UAAMM,cAAchJ,EAAWiJ,SAAU,CAAE5G,MAAOmF,GAAiBJ,EAAA,4BEjHzBrE,IAC3C,MAAAA,CAAA,sBIuBmB,CAACI,EAA+BL,KACzD,MAAMoG,EAAsBhJ,EAAYiJ,EAAAA,2BAClCC,EAAsBlJ,EAAYmJ,EAAAA,2BAElCC,EADcpJ,EAAYqJ,EAAAA,mBACIC,EAAgCA,8BAAAC,2BAC9DC,EAAqBxJ,EAAYoJ,GACjCnI,EAAUD,IAEVyI,EAAcC,EAAYA,aAAA,IAAWhI,OAAA,OAAA,OAAA,GAAA,YACrC,UACIT,EAAQ0I,sBAAsBX,EAEV,CAFU,MAC7BnG,GACPI,EAAYJ,EAAc,cAAA,CAE3B,KAAA,CAAC5B,EAAS+H,EAAqB/F,IAE5B2G,EAAcF,EAAYA,aAAA,IAAWhI,OAAA,OAAA,OAAA,GAAA,YACrC,UACIT,EAAQ4I,sBAAsBX,EAEV,CAFU,MAC7BrG,GACPI,EAAYJ,EAAc,cAAA,CAE3B,KAAA,CAAC5B,EAASiI,EAAqBjG,IAE3B,MAAA,CACL+F,sBACAE,sBACAO,4BAAaD,EAAoBM,OAAQL,OAAc,EACvDG,4BAAaJ,EAAoBO,OAAQH,OAAc,EAAA,8BClDrD,UAA8BI,QAClCA,EACAC,SAAAA,EAAAC,IACAA,IAMA,MAAMzJ,EAAQI,IAEZU,EAAAA,WAAA,IACEd,EAAMqH,WAAkB1I,IAClB,IAAC8K,EAAIC,QACP,OAEF,MAAMC,EAASH,EAAS7K,GACxB,IAAA,MAAWiL,KAAOD,EACZF,EAAAC,QAAQG,MAAMD,GAAOD,EAAOC,EAAA,GAEjCE,EAAqBA,qBAAAP,KAC1B,CAACC,EAAUC,EAAKzJ,EAAOuJ,GAAA,2BCVK,KACxB,MAAA5I,EAAeF,EAAoBsJ,EAAqBA,qBAAArL,QACvDO,EAAO+K,GAAYnJ,EAASA,SAAA,IAC7BL,EAAUD,IAEV0J,EAAehB,EAAYA,aAAA,IAAWhI,OAAA,OAAA,OAAA,GAAA,kBACpCT,EAAQyJ,cAAA,KACb,CAACzJ,IAQJ,OANAM,EAAAA,WAAU,KACwB,QAA5BH,aAAA,EAAAA,EAAcxC,KAAK+L,OACrBF,EAASrJ,aAAY,EAAZA,EAAcxC,KAAKgM,QAAA,GAE7B,CAACxJ,IAEG,CAAE1B,QAAOgL,eAAcG,WAAY,IAAMJ,EAAS,IAAA,yBC2B7B,EAC5BtJ,OACA2J,QAAO,EACPC,UACA9H,cAAcL,MAEd,MAAM3B,EAAUD,IACVD,EAAgBD,IAEtBS,EAAAA,WAAU,KAERN,EAAQ+J,mBAAmB,CAAC7J,GAAA,GAC3B,CAACF,EAASE,IAGbI,EAAAA,WAAU,KACR,IAAKR,EACH,OAaK,OAXaA,EAAcS,gBAA8BJ,IAC9D,MAAM6J,EAAM7J,EAAaxC,KACrB,GAAAqM,GAAOA,EAAI9J,OAASA,EAClB,IACF,MAAMvC,EAAOkM,EAAOI,KAAKC,MAAMF,EAAIL,SAAWK,EAAIL,QAClDG,SAAAA,EAAUnM,EAEgB,CAFhB,MACHiE,GACPI,EAAYJ,EAAc,oBAAA,CAAA,GAG7B2H,EAAAA,qBAAqBY,YACjB,GACN,CAACrK,EAAeI,EAAM2J,EAAMC,EAAS9H,IAsBxC,MAAO,CAAEoI,UAnBS3B,EAAAA,aAChB,CAAO9K,EAAS0M,IAA4B5J,OAAA,OAAA,OAAA,GAAA,YACtC,IACI,MAAA6J,EA5CQ,EAAI3M,EAASkM,IAAmBA,EAAOI,KAAKM,UAAU5M,GAAQ,IAAOA,EA4CnE6M,CAAiB7M,EAAMkM,GACnCQ,GAAYI,MAAMC,QAAQL,aAAA,EAAAA,EAAUM,iBAChC3K,EAAQ4K,iBAAiBN,EAASD,EAASM,UAAWzK,GACvB,8BAAb,EAARmK,EAAUQ,cACpB7K,EAAQ8K,kBAAkBR,EAASD,EAASQ,OAAQ3K,SAEpDF,EAAQ+K,qBAAqBT,EAASpK,GAE9C4J,SAAAA,EAAUnM,EAEgB,CAFhB,MACHiE,GACPI,EAAYJ,EAAc,kBAAA,CAAA,KAG9B,CAAC5B,EAASgC,EAAa8H,EAAS5J,EAAM2J,IAG/B,qBC5Ee,CAAC7H,EAA+BL,KACxD,MAAM3B,EAAUD,IACViL,EAAsDjM,EAAYkM,EAAAA,eAClEC,EAAqBnM,EAAYoM,EAAAA,0BACjC5C,EAAqBxJ,EAAYuJ,EAAAA,0BAEjC8C,EAA+C,CAClD,CAAAC,EAAAA,WAAWC,aAAcJ,EAAmBK,qBAEzCC,EAAmD,CACtD,CAAAH,EAAAA,WAAWC,aAAcN,EAAcM,aAGtC/C,EAAmBO,QACV0C,EAAAH,EAAAA,WAAWI,YAAcT,EAAcS,WAChCL,EAAAC,EAAAA,WAAWI,YAAcP,EAAmBQ,oBAE5DnD,EAAmBM,QACV2C,EAAAH,EAAAA,WAAWM,YAAcX,EAAcW,WAChCP,EAAAC,EAAAA,WAAWM,YAAcT,EAAmBU,oBAwBzD,MAAA,CACLJ,aACAJ,oBACAS,aAxBmBpD,EAAAA,aACnB,EAASqD,aAAYC,cAA4DtL,OAAA,OAAA,OAAA,GAAA,YAC3E,IACM,OAAAqL,GAAA,KACDT,EAAWA,WAAAM,iBACR3L,EAAQgM,iBAAiB,CAAED,aACjC,MAAA,KACGV,EAAWA,WAAAI,iBACRzL,EAAQiM,iBAAiB,CAAEF,aACjC,MAAA,KACGV,EAAWA,WAAAC,kBACRtL,EAAQkM,qBAAqBH,GAIb,CAHtB,MAEGnK,GACPI,EAAYJ,EAAc,gBAAA,CAAA,KAG9B,CAACI,EAAahC,IAMd,sMCtE8B,KAChC,MAAMmM,EAAcpN,EAAYqN,EAAAA,yBAC1BC,EAAkBtN,EAAYoN,EAAcG,EAAcA,YAAAC,EAAAA,mBAC1DC,EAAYzN,EAAY0N,EAAAA,iBACxBC,EAAsBpG,EAAAA,SAAQ,KAAMqG,OCTfC,EDS4BP,ICRxC5B,MAAMC,QAAQkC,IAA2B,IAAjBA,EAAMzP,OAGtCyP,EAAM7J,QAAO,CAAC8J,EAAgCC,IAC9CA,EAAKC,UAGLF,EAAIC,EAAKC,YACZF,EAAIC,EAAKC,UAAY,IAEnBF,EAAAC,EAAKC,UAAUzJ,KAAKwJ,GACjBD,GANEA,GAOR,CAAA,GAXM,GAFiB,IAACD,IDS8C,CAACP,IAEnE,MAAA,CAAEW,MADKjQ,OAAOG,KAAKwP,GACVA,sBAAqBF,YAAWL,cAAA,0BEwBlBc,UAC9B,MAAMd,EAAcpN,EAAYqN,EAAAA,yBAC1BI,EAAYzN,EAAY0N,EAAAA,iBACxBS,EAAiBnO,EAAYoO,EAAAA,0BAC/B,IAAAd,EAAkBtN,EAAYoN,EAAcG,EAAcA,YAAAC,EAAAA,mBACxD,MAAAa,EAAwB3C,MAAM4C,KAAK,IAAIC,IAAIjB,EAAgB7I,QAAYsJ,EAAKC,aAC5EQ,EAAe3N,IASrB,IARsB,QAAlB4N,EAAAP,aAAM,EAANA,EAAQQ,gBAAU,IAAAD,OAAA,EAAAA,EAAAE,gBACFrB,EAAAA,EAAgBsB,QAAcb,GACvCS,EAAa3G,SAASgH,EAAmBA,mBAAAd,EAAK5K,KAAKwL,iBAG1DT,aAAM,EAANA,EAAQY,OAAQX,EAAeY,SAASb,EAAOY,QACjDxB,EAAkBA,EAAgBsB,QAAeb,GAAAA,EAAKC,WAAaE,EAAOY,QAExEZ,eAAAA,EAAQc,OAAQ,CACZ,MAAAA,EAASd,EAAOc,OAAOC,cACX3B,EAAAA,EAAgBsB,QACxBb,IAAA,IAAAmB,EAAA,eAAAA,EAAAnB,EAAKC,+BAAUiB,cAAcF,SAASC,KAAWjB,EAAKoB,KAAKF,cAAcF,SAASC,EAAA,GAAA,CAG9F,MAAO,CAAEI,aAAc9B,EAAiBF,cAAaK,YAAWY,wBAAA,yBCWpC,EAC5Bc,OAAO,GACPE,QACAX,WACAzL,cAAcL,EACd0M,eACAC,kBACAC,iCACAC,SACAC,kBACAC,yBAEA,MAAM1O,EAAUD,IACV4O,EAAY5P,EAAY6P,EAAAA,iBACxBzC,EAAcpN,EAAYqN,EAA4BA,2BAAA,EACtDyC,EAAaF,IAAcG,EAAaA,aAAAC,QAExCC,EAA2B1I,EAAAA,SAAQ,KAChC,CACL2I,SAAUf,EACVgB,UAAWd,EACXe,SAAU1B,EACV2B,yBAAyB,EACzBC,SAAUf,EACVD,eACAG,SACAD,iCACAE,kBACAC,wBAED,CACDR,EACAE,EACAX,EACAY,EACAC,EACAC,EACAC,EACAC,EACAC,IAGIY,EAAU7G,EAAYA,aAAA,IAAWhI,OAAA,OAAA,OAAA,GAAA,YACrC,GAAK2N,GAGDO,IAAcG,eAAaS,aAA3B,CAGApD,UACInM,EAAQ0H,SAEZ,UACI1H,EAAQsP,QAAQN,EAEI,CAFJ,MACfpN,GACPI,EAAYJ,EAAc,UAAA,CAR1B,CAQ0B,KAE3B,CAAC5B,EAASgC,EAAaoM,EAAOO,EAAWK,EAAQ7C,IAa7C,MAAA,CACL0C,aACAW,KAbW/G,EAAYA,aAAA,IAAWhI,OAAA,OAAA,OAAA,GAAA,YAClC,GAAK2N,EAGD,UACIpO,EAAQwP,KAAKR,EAEO,CAFP,MACZpN,GACPI,EAAYJ,EAAc,OAAA,CAAA,KAE3B,CAAC5B,EAASgP,EAAQhN,EAAaoM,IAKhCjC,cACAmD,UAAA,gCC9IiC,KACnC,MAAMG,EAAY1Q,EAAY2Q,EAAAA,sBACxBC,EAAO5Q,EAAY6Q,EAAAA,iBACnBC,EAAM9Q,EAAY+Q,EAAAA,gBAElBC,EAAsBN,EAAUO,OAAOC,QACvCC,EAAuBT,EAAUU,QAAQF,QACzCG,EAAmBX,EAAUI,IAAII,QAEjCI,EAAgBN,GAAuBG,GAAwBE,EAE9D,MAAA,CACLL,sBACAG,uBACAE,mBACAE,cAPoBT,EAAII,SAAWN,EAAKM,QAQxCM,aAAcV,EAAII,QAClBO,cAAeb,EAAKM,QACpBI,gBAAA,4BZgC6B,CAC/BI,EACAC,EACA1O,EAA+BL,KAE/B,MAAM3B,EAAUD,IACV4Q,EAAa5R,EAAY6R,uBAAqBH,IAC9CI,EAAa9R,EAAY+R,uBAAqBJ,IAC9CK,EAAShS,EAAYiS,yBAAuBL,eAAAA,EAAYzO,KACxD+O,EAAclS,EAAYmS,EAAAA,mBAC1BC,gBAAiB,EAAAN,EAAY1O,SAAU8O,aAAW,EAAXA,EAAaG,KAAOH,aAAW,EAAXA,EAAaI,OACxEC,gBAAiB,EAAAX,EAAYxO,SAAU8O,aAAW,EAAXA,EAAaG,KAAOH,aAAW,EAAXA,EAAaI,OAExE7I,EAAcC,EAAYA,aAAA,IAAWhI,OAAA,OAAA,OAAA,GAAA,kBACnCqB,EAAmB9B,EAAS2Q,EAAY3O,EAC7C,KAAA,CAAChC,EAAS2Q,EAAY3O,IAEnB2G,EAAcF,EAAYA,aAAA,IAAWhI,OAAA,OAAA,OAAA,GAAA,kBACnCqB,EAAmB9B,EAAS6Q,EAAY7O,EAC7C,KAAA,CAAChC,EAASgC,EAAa6O,IAEpBU,EAAY9I,eACf+I,IACKb,GACM3Q,EAAAuR,UAAUC,EAAQb,EAAWzO,GAAA,GAGzC,CAAClC,EAAS2Q,IAGL,MAAA,CACLc,kBAAkBd,aAAA,EAAAA,EAAYxO,SAC9BuP,kBAAkBb,aAAA,EAAAA,EAAY1O,SAC9B4O,SACAvI,YAAamI,GAAcW,EAAiB9I,OAAc,EAC1DG,YAAoC,aAAbkI,aAAV,EAAAA,EAAYc,SAAwBR,EAAiBxI,OAAc,EAChF4I,UAAWZ,EAAaY,OAAY,EAAA,yBahDV,CAACvP,EAA+BL,aAC5D,MAAM3B,EAAUD,IACV6R,EAAmB7S,EAAY8S,EAAAA,2BAC/BC,EAAkB/S,EAAYgT,EAAAA,yBAC9BC,EAAcjT,EAAYkT,6BAA2BH,eAAAA,EAAiB5P,KAEtEgQ,EAAoBzJ,eACjBuG,GAAiCvO,OAAA,OAAA,OAAA,GAAA,YAClC,UACIT,EAAQmS,uBAAuBP,EAAkB5C,EAE7B,CAF6B,MAChDpN,GACPI,EAAYJ,EAAc,oBAAA,CAG9B,KAAA,CAAC5B,EAAS4R,EAAkB5P,IAGvB,MAAA,CACL4P,mBACAQ,oBAAqBN,aAAA,EAAAA,EAAiB5P,GACtCmQ,sBAAuBP,aAAA,EAAAA,EAAiB5D,KACxCoE,wBAA2C,QAAlB9E,EAAAwE,eAAAA,EAAalJ,aAAK,IAAA0E,OAAA,EAAAA,EAAEtL,GAC7CqQ,wBAA2C,QAAlBC,EAAAR,eAAAA,EAAanJ,aAAK,IAAA2J,OAAA,EAAAA,EAAEtQ,GAC7CgQ,oBAAA,mBCjDoB,EAAGnJ,UAAS0J,aAClC,MAAMzS,EAAUD,IACV2S,EAAWC,SAAgC,MAC3C5Q,EAAQhD,EAAY+R,uBAAqB/H,IACzC6J,EAAcD,EAAAA,SAEdE,EAAUpK,eAAaqK,IACvBA,IACFJ,EAASxJ,QAAU4J,EAAA,GAEpB,IAkDH,OAhDAxS,EAAAA,WAAU,KACHsS,EAAY1J,SAENnH,eAAAA,EAAOG,KAAM0Q,EAAY1J,0BAAYnH,EAAOG,KAEzCzB,OAAA,OAAA,OAAA,GAAA,YACV,GAAIiS,EAASxJ,QACP,IACF1L,EAAUuV,EAAE,qDACN/S,EAAQgT,YAAYJ,EAAY1J,QAAUwJ,EAASxJ,QAEQ,CAFR,MAClDtH,GACGpE,EAAA2B,EAAE,+BAAgCyT,EAAY1J,QAAStH,EAAA,CAGrEgR,EAAY1J,QAAUnH,aAAA,EAAAA,EAAOG,EAAA,IAZ/B0Q,EAAY1J,QAAUnH,aAAA,EAAAA,EAAOG,EAYE,GAGhC,CAACH,aAAK,EAALA,EAAOG,GAAIlC,IAEfM,EAAAA,WAAU,KACIG,OAAA,OAAA,OAAA,GAAA,aACNsB,aAAA,EAAAA,EAAOG,KAAMwQ,EAASxJ,WACT,IAAXuJ,QACIzS,EAAQiT,YAAYlR,EAAMG,GAAIwQ,EAASxJ,eAEvClJ,EAAQgT,YAAYjR,EAAMG,GAAIwQ,EAASxJ,SAAA,GAAA,GAIlD,CAACnH,EAAO0Q,EAAQzS,IAGnBM,EAAAA,WAAU,IACD,KACOG,OAAA,OAAA,OAAA,GAAA,YACN,GAAAiS,EAASxJ,SAAWnH,EAClB,UAEI/B,EAAQgT,YAAYjR,EAAMG,GAAIwQ,EAASxJ,QAES,CAFT,MACtCtH,GACGpE,EAAA2B,EAAE,+BAAgC4C,EAAMG,GAAIN,EAAA,CAAA,GAAA,GAM7D,IAEI,CAAE8Q,SAAUG,EAAA,uBZFO,EAC1BjG,QACA1H,eACAE,cACAD,cACA+N,4BAA4B,MAAM,GAClC5O,cAAc0B,EACdmN,4BAA2B,EAC3BC,UAAU,MAEV,MAAMvP,MAAEA,EAAQ,EAAGC,OAAAA,EAAS,MAAGmF,GAAQoK,EAAAA,oBAIjCC,EDwU+B,EACrC1G,EACA2G,EACAL,EACAC,GAA2B,KAE3B,IAAKvG,IAAU2G,IAAWL,EACjB,MAAA,GAET,MAAMM,EAA6B,GACnC,IAAA,MAAW1G,KAAQF,EAkBjB,QAjB2C,IAApBE,EAAK+D,YAA4B/D,EAAK6D,YAAc4C,EAAOzG,EAAK6D,YAErF6C,EAAUlQ,KAAK,CAAEwJ,SACRA,EAAK+D,YAAc0C,EAAOzG,EAAK+D,YACxC2C,EAAUlQ,KAAK,CAAEvB,MAAOwR,EAAOzG,EAAK+D,YAA8B/D,SACxDqG,GACVK,EAAUlQ,KAAK,CAAEwJ,SAGfA,EAAK2G,gBAAgBtW,OAAS,GAC3B2P,EAAA2G,gBAAgBC,SAAkB3K,IACrC,MAAMhH,EAAQwR,EAAOxK,GACD,WAAhBhH,eAAAA,EAAO7B,OAAsC,aAAlB6B,aAAK,EAALA,EAAO4P,SAC1B6B,EAAAlQ,KAAK,CAAEvB,QAAO+K,QAAA,IAI1BoG,EAA0BpG,IAASA,EAAK2G,gBAAgBtW,OAAS,EAAG,CACtE,MAAMwW,EAAqB7G,EAAK2G,gBAAgBG,MAAeC,IAC7D,MAAM9R,EAAQwR,EAAOM,GACrB,MAAuB,WAAhB9R,eAAAA,EAAO7B,OAAsC,YAAlB6B,aAAK,EAALA,EAAO4P,OAAW,IAGlDgC,GACFH,EAAUlQ,KAAK,CAAEvB,MAAOwR,EAAOI,GAA4C7G,QAAA,CAI1E,OAAA0G,CAAA,EC/WiCM,CACtClH,EAJYhN,IAEwCgH,SAASmN,EAAAA,iBAI7Db,EACAC,GAEIa,EAAmB1N,EAAAA,SAAQ,KAC/B,GAAIhC,EACK,OAAAA,EAIF,MAAA,CACLT,MDlDA,SAAeoQ,GACf,GAAiB,IAAjBA,EAAM9W,OACD,OAAA,KAET,MAAM+W,EAAkC,CAAA,EACxC,IAAIC,EAAQF,EAAM,GACd5O,EAAW,EACf,IAAA,IAASjI,EAAI,EAAGA,EAAI6W,EAAM9W,OAAQC,IAAK,CACrC,MAAMgX,EAAKH,EAAM7W,GACG,OAAhB8W,EAAQE,GACVF,EAAQE,GAAM,EAENF,EAAAE,KAENF,EAAQE,GAAM/O,IACR8O,EAAAC,EACR/O,EAAW6O,EAAQE,GAAA,CAGhB,OAAAD,CAAA,CAUPE,CCkB6Cf,EDhBxC3F,oBAAgB,iBAAA5L,EAAMA,4BAAO8B,iBAAS2O,EAAAzQ,EAAMA,4BAAO+B,OAAA,IACnDN,KAAYzB,YAIH,QAHiB,UAAXA,EAAMA,aAAK,IAAAyL,OAAA,EAAAA,EAAE3J,QAGV,KAFS,UAAX9B,EAAMA,aAAK,IAAAyQ,OAAA,EAAAA,EAAE1O,SAEK,EAAA,MCcT,EAC1BA,OAAQ,EAAA,GAET,CAACQ,EAAagP,IACXvO,EAAQuO,EAAenW,QACvBmF,iBACJA,eACAG,EACAC,cAAAA,EAAAC,cACAA,iBACAC,EACAJ,iCAAAA,GACE8D,WACF,IACEgO,EAAqB,CACnBvP,QACAC,YAAa5B,KAAKC,MAAMQ,GACxBoB,aAAc7B,KAAKC,MAAMS,GAAUV,KAAKqC,IAAI3B,EAAQsP,GACpDlO,eACAC,cACAC,cACAd,YAAa0P,KAEjB,CAACjP,EAAOlB,EAAOC,EAAQoB,EAAcC,EAAaC,EAAa4O,EAAkBZ,IAwB5E,MAAA,CACLmB,eAvB4BjO,WAC5B,IACElE,EAA6B,CAC3BC,SAAUiR,EACVhR,mBACAC,aAAa,EACbC,mCACAC,eACAC,gBACAC,gBACAC,oBAEJ,CACE0Q,EACAhR,EACAE,EACAC,EACAC,EACAC,EACAC,IAKFqG,MAAA"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/utils/logger.ts","../node_modules/zustand/esm/shallow.js","../src/primitives/store.ts","../src/utils/isBrowser.ts","../src/primitives/HmsRoomProvider.ts","../../../node_modules/tslib/tslib.es6.js","../src/utils/commons.ts","../src/hooks/useScreenShare.ts","../src/hooks/useRemoteAVToggle.ts","../src/utils/layout.ts","../src/hooks/useVideoList.ts","../src/hooks/useAVToggle.ts","../src/hooks/useAudioLevelStyles.ts","../src/hooks/useAutoplayError.ts","../src/hooks/useCustomEvent.ts","../src/hooks/useDevices.ts","../src/hooks/useEmbedShare.ts","../src/hooks/usePDFShare.ts","../src/hooks/useParticipantList.ts","../src/utils/groupBy.ts","../src/hooks/useParticipants.ts","../src/hooks/usePreviewJoin.ts","../src/hooks/useRecordingStreaming.ts","../src/hooks/useVideo.ts"],"sourcesContent":[null,"function shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\n\nexport { shallow as default };\n",null,null,null,"/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["HMSLogLevel","HMSLogLevel2","shallow","objA","objB","Object","is","keysA","keys","length","i","prototype","hasOwnProperty","call","HMSLogger","static","tag","data","this","log","VERBOSE","DEBUG","INFO","WARN","ERROR","level","valueOf","console","debug","info","warn","error","hooksErrorMessage","isBrowser","window","HMSContext","createContext","useHMSStore","hmsContext","selector","equalityFn","w","HMSContextConsumer","useContext","Error","useStore","store","useHMSStatsStore","statsStore","makeHMSStatsStoreHook","useHMSVanillaStore","useHMSVanillaNotifications","notifications","useHMSActions","actions","useHMSNotifications","type","notification","setNotification","useState","useEffect","onNotification","notification2","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","logErrorHandler","err","method","usePrevious","state","ref","useRef","current","isChromiumBased","some","_b","_a","parsedUserAgent","getBrowser","name","toLowerCase","useScreenShare","handleError","amIScreenSharing","selectIsLocalScreenShared","screenSharePeer","selectPeerScreenSharing","screenShare","selectScreenSharesByPeerId","id","toggleScreenShare","useCallback","config","setScreenShareEnabled","screenSharingPeerId","screenSharingPeerName","screenShareVideoTrackId","video","screenShareAudioTrackId","audio","toggleTrackEnabled","track","setRemoteTrackEnabled","enabled","chunkElements","elements","tilesInFirstPage","onlyOnePage","isLastPageDifferentFromFirstPage","defaultWidth","defaultHeight","lastPageWidth","lastPageHeight","chunks","chunkSize","reduce","resultArray","tile","index","chunkIndex","Math","floor","push","chunk","map","ch","page","element","isLastPage","width","height","assign","largestRect","containerWidth","containerHeight","numRects","Number","isInteger","aspectRatio","isNaN","best","area","cols","rows","ceil","width2","height2","count","parentWidth","parentHeight","maxTileCount","maxRowCount","maxColCount","maxCount","tilesinLastPage","initialWidth","initialHeight","min","remWidth","remHeight","getTileSizesWithPageConstraint","sqrt","getTileSizesWithRowConstraint","getTileSizesWithColConstraint","DEFAULTS","children","stats","isHMSStatsOn","leaveOnUnload","providerProps","useMemo","providerProps2","errFn","create","setState","destroy","getState","subscribe","hmsReactiveStore","HMSReactiveStore","getActions","getStore","getNotifications","stats2","getStats","setFrameworkInfo","version","React","sdkVersion","beforeUnloadCallback","leave","addEventListener","removeEventListener","createElement","Provider","isLocalAudioEnabled","selectIsLocalAudioEnabled","isLocalVideoEnabled","selectIsLocalVideoEnabled","selectAllowed","selectIsInPreview","selectIsAllowedToPreviewMedia","selectIsAllowedToPublish","isAllowedToPublish","toggleAudio","setLocalAudioEnabled","toggleVideo","setLocalVideoEnabled","trackId","getStyle","styles","key","style","selectTrackAudioByID","HMSNotificationTypes","setError","unblockAudio","code","message","resetError","json","onEvent","ignoreMessageTypes","msg","JSON","parse","NEW_MESSAGE","sendEvent","receiver","dataStr","stringify","stringifyData","Array","isArray","roleNames","sendGroupMessage","peerId","sendDirectMessage","sendBroadcastMessage","sdkAllDevices","selectDevices","sdkSelectedDevices","selectLocalMediaSettings","selectedDeviceIDs","DeviceType","audioOutput","audioOutputDeviceId","allDevices","videoInput","videoInputDeviceId","audioInput","audioInputDeviceId","updateDevice","deviceType","deviceId","setAudioSettings","setVideoSettings","setAudioOutputDevice","resetConfig","iframeRef","sharing","setSharing","handleScreenShareError","inProgress","previouslySharing","stopShare","startShare","src","forceCurrentTab","cropElement","preferCurrentTab","startEmbedShare","stopEmbedShare","isEmbedShareInProgress","sendDataToPDFIframe","file","contentWindow","postMessage","theme","onload","requestAnimationFrame","File","removeAttribute","startPDFShare","stopPDFShare","isPDFShareInProgress","isConnected","selectIsConnectedToRoom","participantList","selectPeers","selectRemotePeers","peerCount","selectPeerCount","participantsByRoles","groupByRoles","peers","res","peer","roleName","roles","params","availableRoles","selectAvailableRoleNames","rolesWithParticipants","from","Set","vanillaStore","metadata","isHandRaised","filter","selectPeerMetadata","role","includes","search","_a2","participants","token","initEndpoint","initialSettings","captureNetworkQualityInPreview","asRole","autoManageVideo","autoManageWakeLock","roomState","selectRoomState","enableJoin","HMSRoomState","Preview","userName","authToken","metaData","rememberDeviceSelection","settings","preview","Disconnected","join","recording","selectRecordingState","rtmp","selectRTMPState","hls","selectHLSState","isServerRecordingOn","server","running","isBrowserRecordingOn","browser","isHLSRecordingOn","isRecordingOn","isStreamingOn","isHLSRunning","isRTMPRunning","audioTrackId","videoTrackId","audioTrack","selectAudioTrackByID","videoTrack","selectVideoTrackByID","volume","selectAudioTrackVolume","permissions","selectPermissions","canToggleVideo","mute","unmute","canToggleAudio","setVolume","volume2","isAudioEnabled","isVideoEnabled","source","attach","videoRef","prevTrackId","setRefs","node","d","detachVideo","attachVideo","includeScreenShareForPeer","filterNonPublishingPeers","offsetY","useResizeDetector","tracksWithPeer","tracks","peerTiles","auxiliaryTracks","forEach","screenShareTrackID","find","trackID","getVideoTracksFromPeers","selectTracksMap","finalAspectRatio","array","modeMap","maxEl","el","mode","calculateLayoutSizes","pagesWithTiles"],"mappings":"uQAAYA,EAAAC,gBCAZ,SAASC,EAAQC,EAAMC,GACrB,GAAIC,OAAOC,GAAGH,EAAMC,GAClB,OAAO,EAET,GAAoB,iBAATD,GAA8B,OAATA,GAAiC,iBAATC,GAA8B,OAATA,EAC3E,OAAO,EAET,MAAMG,EAAQF,OAAOG,KAAKL,GAC1B,GAAII,EAAME,SAAWJ,OAAOG,KAAKJ,GAAMK,OACrC,OAAO,EAET,IAAK,IAAIC,EAAI,EAAGA,EAAIH,EAAME,OAAQC,IAChC,IAAKL,OAAOM,UAAUC,eAAeC,KAAKT,EAAMG,EAAMG,MAAQL,OAAOC,GAAGH,EAAKI,EAAMG,IAAKN,EAAKG,EAAMG,KACjG,OAAO,EAGX,OAAO,CACT,EDjBYT,EAAAD,IAOXA,EAAA,CAAA,IANCC,UAAA,GAAA,UACAA,EAAAA,QAAA,GAAA,QACAA,EAAAA,OAAA,GAAA,OACAA,EAAAA,OAAA,GAAA,OACAA,EAAAA,QAAA,GAAA,QACAA,EAAAA,OAAA,GAAA,OAGF,MAA8Ba,EAGrBC,SAAEC,KAAgBC,GACvBC,KAAKC,IAAInB,EAAYoB,QAASJ,KAAQC,EAAA,CAGjCF,SAAEC,KAAgBC,GACvBC,KAAKC,IAAInB,EAAYqB,MAAOL,KAAQC,EAAA,CAG/BF,SAAEC,KAAgBC,GACvBC,KAAKC,IAAInB,EAAYsB,KAAMN,KAAQC,EAAA,CAG9BF,SAAEC,KAAgBC,GACvBC,KAAKC,IAAInB,EAAYuB,KAAMP,KAAQC,EAAA,CAG9BF,SAAEC,KAAgBC,GACvBC,KAAKC,IAAInB,EAAYwB,MAAOR,KAAQC,EAAA,CAIvBF,WAAIU,EAAoBT,KAAgBC,GACrD,KAAIC,KAAKO,MAAMC,UAAYD,EAAMC,WAIzB,OAAAD,GAAA,KACDzB,EAAYoB,QACPO,QAAAR,IAAI,qBAAsBH,KAAQC,GAC1C,MAAA,KAEGjB,EAAYqB,MACPM,QAAAC,MAAM,qBAAsBZ,KAAQC,GAC5C,MAAA,KAEGjB,EAAYsB,KACPK,QAAAE,KAAK,qBAAsBb,KAAQC,GAC3C,MAAA,KAEGjB,EAAYuB,KACPI,QAAAG,KAAK,qBAAsBd,KAAQC,GAC3C,MAAA,KAEGjB,EAAYwB,MACPG,QAAAI,MAAM,qBAAsBf,KAAQC,GAC5C,EA/CCH,EAAAW,MAAqBzB,EAAYoB,QEAnC,MAAMY,EACX,kPCXK,MAAMC,EAA8B,oBAAXC,OCiC1BC,EAAaC,EAAAA,cAA8C,MAkGpDC,GF/GoBC,EE+GWH,EF9GtB,CAClBI,EACAC,EAA0CtC,KAErCqC,GACHzB,EAAU2B,EACR,yGAGJ,MAAMC,EAAqBC,aAAWL,GACtC,IAAKI,EACH,MAAM,IAAIE,MAAMZ,GAGlB,OAAOa,EADUH,EAAmBI,OACpBP,EAAUC,EAAA,GAfxB,IAA2BF,EEiH1B,MAAMS,EF7FP,SAAgCT,GAiB7B,MAhBkB,CACvBC,EACAC,EAA0CtC,KAErCqC,GACHzB,EAAU2B,EACR,yGAGJ,MAAMC,EAAqBC,aAAWL,GACtC,IAAKI,EACH,MAAM,IAAIE,MAAMZ,GAElB,MAAMa,EAAWH,EAAmBM,WACpC,OAAOH,aAAA,EAAAA,EAAWN,EAAUC,EAAA,CAEvB,CE4EuBS,CAAsBd,GAczCe,EAAqB,KAChC,MAAMR,EAAqBC,aAAWR,GACtC,IAAKO,EACH,MAAM,IAAIE,MAAMZ,GAGlB,OAAOU,EAAmBI,KAAA,EAiBfK,EAA6B,KACxC,MAAMT,EAAqBC,aAAWR,GACtC,IAAKO,EACH,MAAM,IAAIE,MAAMZ,GAElB,OAAOU,EAAmBU,aAAA,EAMfC,EAAgB,KAC3B,MAAMX,EAAqBC,aAAWR,GACtC,IAAKO,EACH,MAAM,IAAIE,MAAMZ,GAElB,OAAOU,EAAmBY,OAAA,EASfC,EACXC,IAEA,MAAMd,EAAqBC,aAAWR,IAC/BsB,EAAcC,GAAmBC,EAA8CA,SAAA,MAEtF,IAAKjB,EACH,MAAM,IAAIE,MAAMZ,GAaX,OAVP4B,EAAAA,WAAU,KACJ,IAAClB,EAAmBU,cACtB,OAKK,OAHaV,EAAmBU,cAAcS,gBAAiCC,IACpEJ,EAAAI,EAAA,GACfN,EACI,GACN,CAACd,EAAmBU,cAAeI,IAE/BC,CAAA,EClJF,SAASM,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,IAAW,MAAOG,GAAKL,EAAOK,GAAO,CAC3F,SAASC,EAASJ,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,IAAW,MAAOG,GAAKL,EAAOK,GAAO,CAC9F,SAASF,EAAKI,GAJlB,IAAeL,EAIaK,EAAOC,KAAOT,EAAQQ,EAAOL,QAJ1CA,EAIyDK,EAAOL,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,GAAE,SAAUG,GAAWA,EAAQG,EAAO,KAIhBO,KAAKR,EAAWK,EAAY,CAC9GH,GAAMN,EAAYA,EAAUa,MAAMhB,EAASC,GAAc,KAAKS,OACtE,GACA,CCxEA,MAEaO,EAAmC,CAACC,EAAYC,IAAoBrE,EAAU6D,EAF/E,YAEsFQ,EAAQD,GAUlF,SAAAE,EAAeC,GACrC,MAAMC,EAAMC,EAAAA,SAMZ,OAJA3B,EAAAA,WAAU,KACR0B,EAAIE,QAAUH,CAAA,IAGTC,EAAIE,OAAA,CAGb,MAEaC,EAFiB,CAAC,SAAU,QAAS,QAAS,QAENC,MAClDlB,YAAkB,OAAkC,QAAlCmB,UAAAC,EAAAC,EAAAA,gBAAgBC,mCAAcC,YAAI,IAAAJ,OAAA,EAAAA,EAAEK,iBAAkBxB,CAAA,ICqB9DyB,EAAiB,CAACC,EAA+BjB,aAC5D,MAAM3B,EAAUD,IACV8C,EAAmB9D,EAAY+D,EAAAA,2BAC/BC,EAAkBhE,EAAYiE,EAAAA,yBAC9BC,EAAclE,EAAYmE,6BAA2BH,eAAAA,EAAiBI,KAEtEC,EAAoBC,eACjBC,GAAiC7C,OAAA,OAAA,OAAA,GAAA,YAClC,UACIT,EAAQuD,uBAAuBV,EAAkBS,EAE7B,CAF6B,MAChD1B,GACPgB,EAAYhB,EAAc,oBAAA,CAG9B,KAAA,CAAC5B,EAAS6C,EAAkBD,IAGvB,MAAA,CACLC,mBACAW,oBAAqBT,aAAA,EAAAA,EAAiBI,GACtCM,sBAAuBV,aAAA,EAAAA,EAAiBN,KACxCiB,wBAA2C,QAAlBpB,EAAAW,eAAAA,EAAaU,aAAK,IAAArB,OAAA,EAAAA,EAAEa,GAC7CS,wBAA2C,QAAlBvB,EAAAY,eAAAA,EAAaY,aAAK,IAAAxB,OAAA,EAAAA,EAAEc,GAC7CC,oBAAA,EChCEU,EAAqB,CACzB9D,EACA+D,EACAnB,IACEnC,OAAA,OAAA,OAAA,GAAA,YACF,GAAIsD,EACE,UACI/D,EAAQgE,sBAAsBD,EAAMZ,IAAKY,EAAME,QAE3B,CAF2B,MAC9CrC,GACPgB,EAAYhB,EAAc,eAAA,CAAA,IChBnBsC,EAAgB,EAC3BC,WACAC,mBACAC,cACAC,mCACAC,eACAC,gBACAC,gBACAC,qBAEM,MAAAC,EAxCa,EAAIR,EAAeS,EAAmBP,IACzDF,EAASU,QAAO,CAACC,EAAoBC,EAASC,KACtC,MAAAC,EAAaC,KAAKC,MAAMH,EAAQJ,GAClC,OAAAK,EAAa,GAAKZ,IAGjBS,EAAYG,KACfH,EAAYG,GAAc,IAG5BH,EAAYG,GAAYG,KAAKL,IANpBD,CAOF,GACN,IA4BmBO,CAASlB,EAAUC,EAAkBC,GAC3D,OAAOM,EAAOW,KAAI,CAACC,EAAIC,IACrBD,EAAGD,KAAcG,IACT,MAAAC,EAAsBF,IAASb,EAAOxH,OAAS,EAC/CwI,EAAQrB,GAAoCoB,EAAajB,EAAgBF,EACzEqB,EAAStB,GAAoCoB,EAAahB,EAAiBF,EACjF,OAAAzH,OAAA8I,OAAA9I,OAAA8I,OAAA,CAAA,EAAYJ,GAAO,CAAEG,SAAQD,SAAA,KAAA,EAqC5B,MA4CMG,EAAc,CACzBC,EACAC,EACAC,EACAN,EACAC,KAEI,GAAAG,EAAiB,GAAKC,EAAkB,EAC1C,MAAM,IAAI1G,MAAM,2CAElB,GAAI2G,EAAW,IAAMC,OAAOC,UAAUF,GACpC,MAAM,IAAI3G,MAAM,wDAEZ,MAAA8G,EAAcT,GAASC,GAAUD,EAAQC,EAC3C,QAAgB,IAAhBQ,GAA6BC,MAAMD,GACrC,MAAM,IAAI9G,MAAM,iCAGd,IAAAgH,EAAO,CAAEC,KAAM,EAAGC,KAAM,EAAGC,KAAM,EAAGd,MAAO,EAAGC,OAAQ,GAQ1D,QAAoB,IAAhBQ,EACF,IAAA,IAASI,EANOP,EAMWO,EAAO,EAAGA,IALtB,EAKwC,CAC/C,MAAAC,EAAOvB,KAAKwB,KAAKT,EAAWO,GAG9B,IAAAG,EACAC,EAHWb,GAAyBS,EAAAJ,IACzBJ,EAAkBS,GAK/BE,EAAQZ,EAAiBS,EACzBI,EAASD,EAAQP,IAEjBQ,EAASZ,EAAkBS,EAC3BE,EAAQC,EAASR,GAEnB,MAAMG,EAAOI,EAAQC,EACjBL,EAAOD,EAAKC,OACdD,EAAO,CAAEC,OAAMZ,MAAOgB,EAAAf,OAAAgB,EAAQH,OAAMD,QAAA,CAInC,OAAAF,CAAA,cAsJ4BO,MACnCA,EACAC,YAAAA,EAAAC,aACAA,eACAC,EACAC,YAAAA,EAAAC,YACAA,cACAd,IAEA,IAAI7B,EAAe,EACfC,EAAgB,EAChBC,EAAgB,EAChBC,EAAiB,EACjBJ,GAAmC,EACnCF,EAAmB,EAEvB,GAAc,IAAVyC,EAEK,MAAA,CACLzC,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,oCAIJ,GAAI0C,IAEA5C,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,oCAhIwC,GAC5CwC,cACAC,eACAF,QACAM,WACAf,kBAEA,IAAI7B,EAAe,EACfC,EAAgB,EAChBC,EAAgB,EAChBC,EAAiB,EACjBJ,GAAmC,EACnCF,EAAmB,EACnBgD,EAAkB,EACtB,MAAQzB,MAAO0B,EAAczB,OAAQ0B,GAAkBxB,EACrDgB,EACAC,EACA7B,KAAKqC,IAAIV,EAAOM,GAChBf,EAAYT,MACZS,EAAYR,QAOd,GALerB,EAAA8C,EACC7C,EAAA8C,EACGlD,EAAAc,KAAKqC,IAAIV,EAAOM,GACnCC,EAAkBP,EAAQM,EACS7C,EAAA8C,EAAkB,GAAKP,EAAQM,EAC9D7C,EAAkC,CAC9B,MAAEqB,MAAO6B,EAAU5B,OAAQ6B,GAAc3B,EAC7CgB,EACAC,EACAK,EACAhB,EAAYT,MACZS,EAAYR,QAEEnB,EAAA+C,EACC9C,EAAA+C,CAAA,CAEZ,MAAA,CACLrD,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,mCAAA,EAsFIoD,CAA+B,CACjCZ,cACAC,eACAF,QACAM,SAAUH,EACVZ,sBAAA,GAEOa,IAEP7C,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,oCAhGuC,GAC3CwC,cACAC,eACAF,QACAM,WACAf,kBAEA,IAAI7B,EAAe,EACfC,EAAgB,EAChBC,EAAgB,EAChBC,EAAiB,EACjBJ,GAAmC,EACnCF,EAAmB,EACnBgD,EAAkB,EACtB,MAAMX,EAAOvB,KAAKqC,IAChBrC,KAAKwB,KAAKxB,KAAKyC,KAAMd,GAAqBT,EAAAT,MAAQS,EAAYR,WAA0BmB,KACxFI,GAEIvB,EAASmB,EAAeN,EACxBd,EAAQC,GAAsBQ,EAAAT,MAAQS,EAAYR,QAClDY,EAAOtB,KAAKC,MAAM2B,EAAcnB,GAMtC,GALepB,EAAAoB,EACCnB,EAAAoB,EACGxB,EAAAc,KAAKqC,IAAIV,EAAOJ,EAAOD,GAC1CY,EAAkBP,GAAgBJ,EAAAD,GACClC,EAAA8C,EAAkB,GAAKP,EAAQJ,EAAOD,EACrElC,EAAkC,CACpC,MAIMsC,EAASG,EAJF7B,KAAKqC,IAChBrC,KAAKwB,KAAKxB,KAAKyC,KAAMP,GAA+BhB,EAAAT,MAAQS,EAAYR,WAA0BmB,KAClGI,GAIezC,EAAAkC,EACDnC,EAFFmC,GAAsBR,EAAAT,MAAQS,EAAYR,OAExC,CAEX,MAAA,CACLxB,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,mCAAA,EAuDIsD,CAA8B,CAChCd,cACAC,eACAF,QACAM,SAAUF,EACVb,sBAAA,GAEOc,IAEP9C,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,oCApNuC,GAC3CwC,cACAC,eACAF,QACAM,WACAf,kBAEA,IAAI7B,EAAe,EACfC,EAAgB,EAChBC,EAAgB,EAChBC,EAAiB,EACjBJ,GAAmC,EACnCF,EAAmB,EACnBgD,EAAkB,EACtB,MAAMZ,EAAOtB,KAAKqC,IAChBrC,KAAKwB,KAAKxB,KAAKyC,KAAMd,GAAuBC,EAAAC,IAA8BX,EAAAT,MAAQS,EAAYR,UAC9FuB,GAEF,IAAIxB,EAAQmB,EAAcN,EACtBZ,EAASD,GAAqBS,EAAAT,MAAQS,EAAYR,QAClDA,EAASmB,IACFnB,EAAAmB,EACDpB,EAAAC,GAAsBQ,EAAAR,OAASQ,EAAYT,QAE/C,MAAAc,EAAOvB,KAAKC,MAAM4B,EAAenB,GAMvC,GALgBpB,EAAAoB,EACDrB,EAAAoB,EACIvB,EAAAc,KAAKqC,IAAIV,EAAOJ,EAAOD,GAC1CY,EAAkBP,GAAgBJ,EAAAD,GACClC,EAAA8C,EAAkB,GAAKP,EAAQJ,EAAOD,EACrElC,EAAkC,CAKpC,IAAIqC,EAAQG,EAJC5B,KAAKqC,IAChBrC,KAAKwB,KAAKxB,KAAKyC,KAAMP,GAAiCN,EAAAC,IAA8BX,EAAAT,MAAQS,EAAYR,UACxGuB,GAGEP,EAASD,GAAqBP,EAAAT,MAAQS,EAAYR,QAClDgB,EAASG,IACFH,EAAAG,EACDJ,EAAAC,GAAsBR,EAAAR,OAASQ,EAAYT,QAEpCjB,EAAAkC,EACDnC,EAAAkC,CAAA,CAEX,MAAA,CACLvC,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,mCAAA,EAmKIuD,CAA8B,CAChCf,cACAC,eACAF,QACAM,SAAUD,EACVd,qBAEG,CACC,MAAAT,MAAEA,SAAOC,GAAWE,EAAYgB,EAAaC,EAAcF,EAAOT,EAAYT,MAAOS,EAAYR,QACxFrB,EAAAoB,EACCnB,EAAAoB,EACGxB,EAAAyC,CAAA,CAEd,MAAA,CACLzC,mBACAG,eACAC,gBACAC,gBACAC,iBACAJ,mCAAA,CAWG,MCnWDwD,EACS,CACXnC,MAAO,EACPC,OAAQ,2BN/BmB,EAC7BmC,WACA/H,UACAR,QACAM,gBACAkI,QACAC,gBAAe,EACfC,iBAAgB,MAEV,MAAAC,EAAyCC,EAAAA,SAAQ,KACjD,IAAAC,EAGJ,MAAMC,EAAQ,KACZ,MAAM,IAAIhJ,MAAM,iCAAA,EAElB,GAAIU,GAAWR,EACG6I,EAAA,CACdrI,UACAR,MAAO+I,EAAAA,QACFxL,OAAA8I,OAAA9I,OAAA8I,OAAA,CAAA,EAAArG,GACH,CAAAgJ,SAAUF,EACVG,QAASH,MAGTxI,IACFuI,EAAcvI,cAAgBA,GAE5BkI,IACFK,EAAc3I,WAAa6I,UAAsB,CAC/CG,SAAUV,EAAMU,SAChBC,UAAWX,EAAMW,UACjBH,SAAUF,EACVG,QAASH,SAGR,CACL,MAAMM,EAAmB,IAAIC,EAAAA,iBAW7B,GAVgBR,EAAA,CACdrI,QAAS4I,EAAiBE,aAC1BtJ,MAAO+I,EAAA,QACFxL,OAAA8I,OAAA9I,OAAA8I,OAAA,GAAA+C,EAAiBG,YACpB,CAAAP,SAAUF,EACVG,QAASH,KAEXxI,cAAe8I,EAAiBI,oBAG9Bf,EAAc,CAChB,MAAMgB,EAAQL,EAAiBM,WAC/Bb,EAAc3I,WAAa6I,UAAsB,CAC/CG,SAAUO,EAAMP,SAChBC,UAAWM,EAAMN,UACjBH,SAAUF,EACVG,QAASH,GAAA,CAAA,CAYR,OANPD,EAAcrI,QAAQmJ,iBAAiB,CACrCjJ,KAAM,YACNkJ,QAASC,EAAM,QAAAD,QACfE,WAAY,mBAGPjB,CAAA,GACN,CAACrI,EAASR,EAAOM,EAAekI,EAAOC,IAe1C,OAbA3H,EAAAA,WAAU,KACR,GAAI3B,GAAauJ,EAAe,CACxB,MAAAqB,EAAuB,IAAMpB,EAAcnI,QAAQwJ,QAGzD,OAFA5K,OAAO6K,iBAAiB,eAAgBF,GAEjC,KACL3K,OAAO8K,oBAAoB,eAAgBH,EAAA,CAAA,CAI/C,MAAO,MAAO,GACb,CAACrB,EAAeC,IAEZkB,UAAMM,cAAc9K,EAAW+K,SAAU,CAAE1I,MAAOiH,GAAiBJ,EAAA,4BE/GzBnG,IAC3C,MAAAA,CAAA,sBKqBmB,CAACgB,EAA+BjB,KACzD,MAAMkI,EAAsB9K,EAAY+K,EAAAA,2BAClCC,EAAsBhL,EAAYiL,EAAAA,2BAElCC,EADclL,EAAYmL,EAAAA,mBACIC,EAAgCA,8BAAAC,2BAC9DC,EAAqBtL,EAAYkL,GACjCjK,EAAUD,IAEVuK,EAAcjH,EAAYA,aAAA,IAAW5C,OAAA,OAAA,OAAA,GAAA,YACrC,UACIT,EAAQuK,sBAAsBV,EAEV,CAFU,MAC7BjI,GACPgB,EAAYhB,EAAc,cAAA,CAE3B,KAAA,CAAC5B,EAAS6J,EAAqBjH,IAE5B4H,EAAcnH,EAAYA,aAAA,IAAW5C,OAAA,OAAA,OAAA,GAAA,YACrC,UACIT,EAAQyK,sBAAsBV,EAEV,CAFU,MAC7BnI,GACPgB,EAAYhB,EAAc,cAAA,CAE3B,KAAA,CAAC5B,EAAS+J,EAAqBnH,IAE3B,MAAA,CACLiH,sBACAE,sBACAO,4BAAaD,EAAoBxG,OAAQyG,OAAc,EACvDE,4BAAaH,EAAoB1G,OAAQ6G,OAAc,EAAA,8BClDrD,UAA8BE,QAClCA,EACAC,SAAAA,EAAA3I,IACAA,IAMA,MAAMxC,EAAQI,IAEZU,EAAAA,WAAA,IACEd,EAAMmJ,WAAkBxK,IAClB,IAAC6D,EAAIE,QACP,OAEF,MAAM0I,EAASD,EAASxM,GACxB,IAAA,MAAW0M,KAAOD,EACZ5I,EAAAE,QAAQ4I,MAAMD,GAAOD,EAAOC,EAAA,GAEjCE,EAAqBA,qBAAAL,KAC1B,CAACC,EAAU3I,EAAKxC,EAAOkL,GAAA,2BCVK,KACxB,MAAAvK,EAAeF,EAAoB+K,EAAqBA,qBAAA9M,QACvDO,EAAOwM,GAAY5K,EAASA,SAAA,IAC7BL,EAAUD,IAEVmL,EAAe7H,EAAYA,aAAA,IAAW5C,OAAA,OAAA,OAAA,GAAA,kBACpCT,EAAQkL,cAAA,KACb,CAAClL,IAQJ,OANAM,EAAAA,WAAU,KACwB,QAA5BH,aAAA,EAAAA,EAAcxC,KAAKwN,OACrBF,EAAS9K,aAAY,EAAZA,EAAcxC,KAAKyN,QAAA,GAE7B,CAACjL,IAEG,CAAE1B,QAAOyM,eAAcG,WAAY,IAAMJ,EAAS,IAAA,yBC2B7B,EAC5B/K,OACAoL,QAAO,EACPC,UACA3I,cAAcjB,MAEd,MAAM3B,EAAUD,IACVD,EAAgBD,IAEtBS,EAAAA,WAAU,KAERN,EAAQwL,mBAAmB,CAACtL,GAAA,GAC3B,CAACF,EAASE,IAGbI,EAAAA,WAAU,KACR,IAAKR,EACH,OAaK,OAXaA,EAAcS,gBAA8BJ,IAC9D,MAAMsL,EAAMtL,EAAaxC,KACrB,GAAA8N,GAAOA,EAAIvL,OAASA,EAClB,IACF,MAAMvC,EAAO2N,EAAOI,KAAKC,MAAMF,EAAIL,SAAWK,EAAIL,QAClDG,SAAAA,EAAU5N,EAEgB,CAFhB,MACHiE,GACPgB,EAAYhB,EAAc,oBAAA,CAAA,GAG7BoJ,EAAAA,qBAAqBY,YACjB,GACN,CAAC9L,EAAeI,EAAMoL,EAAMC,EAAS3I,IAsBxC,MAAO,CAAEiJ,UAnBSxI,EAAAA,aAChB,CAAO1F,EAASmO,IAA4BrL,OAAA,OAAA,OAAA,GAAA,YACtC,IACI,MAAAsL,EA5CQ,EAAIpO,EAAS2N,IAAmBA,EAAOI,KAAKM,UAAUrO,GAAQ,IAAOA,EA4CnEsO,CAAiBtO,EAAM2N,GACnCQ,GAAYI,MAAMC,QAAQL,aAAA,EAAAA,EAAUM,iBAChCpM,EAAQqM,iBAAiBN,EAASD,EAASM,UAAWlM,GACvB,8BAAb,EAAR4L,EAAUQ,cACpBtM,EAAQuM,kBAAkBR,EAASD,EAASQ,OAAQpM,SAEpDF,EAAQwM,qBAAqBT,EAAS7L,GAE9CqL,SAAAA,EAAU5N,EAEgB,CAFhB,MACHiE,GACPgB,EAAYhB,EAAc,kBAAA,CAAA,KAG9B,CAAC5B,EAAS4C,EAAa2I,EAASrL,EAAMoL,IAG/B,qBC5Ee,CAAC1I,EAA+BjB,KACxD,MAAM3B,EAAUD,IACV0M,EAAsD1N,EAAY2N,EAAAA,eAClEC,EAAqB5N,EAAY6N,EAAAA,0BACjCvC,EAAqBtL,EAAYqL,EAAAA,0BAEjCyC,EAA+C,CAClD,CAAAC,EAAAA,WAAWC,aAAcJ,EAAmBK,qBAEzCC,EAAmD,CACtD,CAAAH,EAAAA,WAAWC,aAAcN,EAAcM,aAGtC1C,EAAmB1G,QACVsJ,EAAAH,EAAAA,WAAWI,YAAcT,EAAcS,WAChCL,EAAAC,EAAAA,WAAWI,YAAcP,EAAmBQ,oBAE5D9C,EAAmBxG,QACVoJ,EAAAH,EAAAA,WAAWM,YAAcX,EAAcW,WAChCP,EAAAC,EAAAA,WAAWM,YAAcT,EAAmBU,oBAwBzD,MAAA,CACLJ,aACAJ,oBACAS,aAxBmBjK,EAAAA,aACnB,EAASkK,aAAYC,cAA4D/M,OAAA,OAAA,OAAA,GAAA,YAC3E,IACM,OAAA8M,GAAA,KACDT,EAAWA,WAAAM,iBACRpN,EAAQyN,iBAAiB,CAAED,aACjC,MAAA,KACGV,EAAWA,WAAAI,iBACRlN,EAAQ0N,iBAAiB,CAAEF,aACjC,MAAA,KACGV,EAAWA,WAAAC,kBACR/M,EAAQ2N,qBAAqBH,GAIb,CAHtB,MAEG5L,GACPgB,EAAYhB,EAAc,gBAAA,CAAA,KAG9B,CAACgB,EAAa5C,IAMd,wBCxD0B4N,IAC5B,MAAMC,EAAY5L,SAAiC,OAC5C6L,EAASC,GAAc1N,EAASA,UAAA,GAEjC2N,EAAyB3K,EAAAA,aAAY,KACzC,MAAM,IAAI/D,MAAM,+BAAA,GACf,IACG2O,EAAahM,UAAO,IACpBY,iBAAEA,EAAkBO,kBAAAA,GAAsBT,EAAeqL,GAEzDE,EAAoBpM,EAAYe,GAEhCsL,EAAY9K,EAAYA,aAAA,IAAW5C,OAAA,OAAA,OAAA,GAAA,YACnCoC,UACIO,aAAiB,EAAjBA,IACNyK,EAAU3L,QAAU,KAAA,KAErB,CAACW,EAAkBO,IAEhBgL,EAAa/K,eACVnC,GAAiBT,OAAA,OAAA,OAAA,GAAA,YACtB,IAAIwN,EAAW/L,QAAf,CAGA,IAAKhB,EACH,MAAM,IAAI5B,MAAM,iBAElB,GAAIuD,EACF,MAAM,IAAIvD,MAAM,2BAEd,IAACuO,EAAU3L,QACb,MAAM,IAAI5C,MAAM,wDAElBuO,EAAU3L,QAAQmM,IAAMnN,EACxB+M,EAAW/L,SAAU,EACV6L,GAAA,SACL3K,aAAiB,EAAjBA,EAAoB,CACxBkL,gBAAiBnM,EACjBoM,YAAaV,EAAU3L,QACvBsM,iBAAkBrM,GAjBlB,CAiBkB,KAGtB,CAACU,EAAkBO,IAcd,OAXP9C,EAAAA,WAAU,KACJ4N,IAAsBrL,IACxB+K,SAAAA,IACIC,EAAU3L,UACZ2L,EAAU3L,QAAQmM,IAAM,IAE1BJ,EAAW/L,SAAU,EACV6L,GAAA,GAAA,GAEZ,CAAClL,EAAkBqL,EAAmBN,IAElC,CACLa,gBAAiBL,EACjBM,eAAgBP,EAChBN,YACAc,uBAAwBb,EAAA,+LC5DAF,IAC1B,MAAMC,EAAY5L,SAAiC,OAC5C6L,EAASC,GAAc1N,EAASA,UAAA,GAEjC2N,EAAyB3K,EAAAA,aAAY,KACzC,MAAM,IAAI/D,MAAM,+BAAA,GACf,IACG2O,EAAahM,UAAO,IACpBY,iBAAEA,EAAkBO,kBAAAA,GAAsBT,EAAeqL,GAEzDE,EAAoBpM,EAAYe,GAEhC+L,EAAsBvL,eAAawL,UACnChB,EAAU3L,UACmB,QAA/BI,EAAAuL,EAAU3L,QAAQ4M,qBAAa,IAAAxM,GAAAA,EAAEyM,YAC/B,CACEC,MAAO,EACPH,QAEF,KAAA,GAGH,IAEGV,EAAY9K,EAAYA,aAAA,IAAW5C,OAAA,OAAA,OAAA,GAAA,YACnCoC,UACIO,aAAiB,EAAjBA,IAAA,KAEP,CAACP,EAAkBO,IAEhBgL,EAAa/K,eAEVnC,GAAwBT,OAAA,OAAA,OAAA,GAAA,YAC7B,IAAIwN,EAAW/L,QAAf,CAGA,IAAKhB,EACH,MAAM,IAAI5B,MAAM,yBAElB,GAAIuD,EACF,MAAM,IAAIvD,MAAM,2BAEd,IAACuO,EAAU3L,QACb,MAAM,IAAI5C,MAAM,wDAGRuO,EAAA3L,QAAQmM,IAAM,6DAAmC,iBAAVnN,EAAqB,SAASA,IAAU,IAC/E2M,EAAA3L,QAAQ+M,OAAS,KACzBC,uBAAsB,KAChBhO,aAAiBiO,MACCP,EAAA1N,EAAA,GAAA,EAI1B+M,EAAW/L,SAAU,EACV6L,GAAA,SACL3K,aAAiB,EAAjBA,EAAoB,CACxBkL,gBAAiBnM,EACjBoM,YAAaV,EAAU3L,QACvBsM,iBAAkBrM,GAzBlB,CA4BJ,KAAA,CAACU,EAAkB+L,EAAqBxL,IAcnC,OAXP9C,EAAAA,WAAU,KACJ4N,IAAsBrL,IACxB+K,SAAAA,IACIC,EAAU3L,SACZ2L,EAAU3L,QAAQkN,gBAAgB,OAEpCnB,EAAW/L,SAAU,EACV6L,GAAA,GAAA,GAEZ,CAAClL,EAAkBqL,EAAmBN,IAElC,CACLyB,cAAejB,EACfkB,aAAcnB,EACdN,YACA0B,qBAAsBzB,EAAA,6BC9FQ,KAChC,MAAM0B,EAAczQ,EAAY0Q,EAAAA,yBAC1BC,EAAkB3Q,EAAYyQ,EAAcG,EAAcA,YAAAC,EAAAA,mBAC1DC,EAAY9Q,EAAY+Q,EAAAA,iBACxBC,EAAsB3H,EAAAA,SAAQ,KAAM4H,OCTfC,EDS4BP,ICRxCxD,MAAMC,QAAQ8D,IAA2B,IAAjBA,EAAM9S,OAGtC8S,EAAMpL,QAAO,CAACqL,EAAgCC,IAC9CA,EAAKC,UAGLF,EAAIC,EAAKC,YACZF,EAAIC,EAAKC,UAAY,IAEnBF,EAAAC,EAAKC,UAAUhL,KAAK+K,GACjBD,GANEA,GAOR,CAAA,GAXM,GAFiB,IAACD,IDS8C,CAACP,IAEnE,MAAA,CAAEW,MADKtT,OAAOG,KAAK6S,GACVA,sBAAqBF,YAAWL,cAAA,0BEwBlBc,UAC9B,MAAMd,EAAczQ,EAAY0Q,EAAAA,yBAC1BI,EAAY9Q,EAAY+Q,EAAAA,iBACxBS,EAAiBxR,EAAYyR,EAAAA,0BAC/B,IAAAd,EAAkB3Q,EAAYyQ,EAAcG,EAAcA,YAAAC,EAAAA,mBACxD,MAAAa,EAAwBvE,MAAMwE,KAAK,IAAIC,IAAIjB,EAAgBpK,QAAY6K,EAAKC,aAC5EQ,EAAehR,IASrB,IARsB,QAAlB0C,EAAAgO,aAAM,EAANA,EAAQO,gBAAU,IAAAvO,OAAA,EAAAA,EAAAwO,gBACFpB,EAAAA,EAAgBqB,QAAcZ,GACvCS,EAAalI,SAASsI,EAAmBA,mBAAAb,EAAKhN,KAAK2N,iBAG1DR,aAAM,EAANA,EAAQW,OAAQV,EAAeW,SAASZ,EAAOW,QACjDvB,EAAkBA,EAAgBqB,QAAeZ,GAAAA,EAAKC,WAAaE,EAAOW,QAExEX,eAAAA,EAAQa,OAAQ,CACZ,MAAAA,EAASb,EAAOa,OAAOzO,cACXgN,EAAAA,EAAgBqB,QACxBZ,IAAA,IAAAiB,EAAA,eAAAA,EAAAjB,EAAKC,+BAAU1N,cAAcwO,SAASC,KAAWhB,EAAK1N,KAAKC,cAAcwO,SAASC,EAAA,GAAA,CAG9F,MAAO,CAAEE,aAAc3B,EAAiBF,cAAaK,YAAWY,wBAAA,yBCWpC,EAC5BhO,OAAO,GACP6O,QACAT,WACAjO,cAAcjB,EACd4P,eACAC,kBACAC,iCACAC,SACAC,kBACAC,yBAEA,MAAM5R,EAAUD,IACV8R,EAAY9S,EAAY+S,EAAAA,iBACxBtC,EAAczQ,EAAY0Q,EAA4BA,2BAAA,EACtDsC,EAAaF,IAAcG,EAAaA,aAAAC,QAExC3O,EAA2B8E,EAAAA,SAAQ,KAChC,CACL8J,SAAUzP,EACV0P,UAAWb,EACXc,SAAUvB,EACVwB,yBAAyB,EACzBC,SAAUd,EACVD,eACAG,SACAD,iCACAE,kBACAC,wBAED,CACDnP,EACA6O,EACAT,EACAU,EACAC,EACAC,EACAC,EACAC,EACAC,IAGIW,EAAUlP,EAAYA,aAAA,IAAW5C,OAAA,OAAA,OAAA,GAAA,YACrC,GAAK6Q,GAGDO,IAAcG,eAAaQ,aAA3B,CAGAhD,UACIxP,EAAQwJ,SAEZ,UACIxJ,EAAQuS,QAAQjP,EAEI,CAFJ,MACf1B,GACPgB,EAAYhB,EAAc,UAAA,CAR1B,CAQ0B,KAE3B,CAAC5B,EAAS4C,EAAa0O,EAAOO,EAAWvO,EAAQkM,IAa7C,MAAA,CACLuC,aACAU,KAbWpP,EAAYA,aAAA,IAAW5C,OAAA,OAAA,OAAA,GAAA,YAClC,GAAK6Q,EAGD,UACItR,EAAQyS,KAAKnP,EAEO,CAFP,MACZ1B,GACPgB,EAAYhB,EAAc,OAAA,CAAA,KAE3B,CAAC5B,EAASsD,EAAQV,EAAa0O,IAKhC9B,cACA+C,UAAA,gCC9IiC,KACnC,MAAMG,EAAY3T,EAAY4T,EAAAA,sBACxBC,EAAO7T,EAAY8T,EAAAA,iBACnBC,EAAM/T,EAAYgU,EAAAA,gBAElBC,EAAsBN,EAAUO,OAAOC,QACvCC,EAAuBT,EAAUU,QAAQF,QACzCG,EAAmBX,EAAUI,IAAII,QAEjCI,EAAgBN,GAAuBG,GAAwBE,EAE9D,MAAA,CACLL,sBACAG,uBACAE,mBACAE,cAPoBT,EAAII,SAAWN,EAAKM,QAQxCM,aAAcV,EAAII,QAClBO,cAAeb,EAAKM,QACpBI,gBAAA,4BdgC6B,CAC/BI,EACAC,EACA/Q,EAA+BjB,KAE/B,MAAM3B,EAAUD,IACV6T,EAAa7U,EAAY8U,uBAAqBH,IAC9CI,EAAa/U,EAAYgV,uBAAqBJ,IAC9CK,EAASjV,EAAYkV,yBAAuBL,eAAAA,EAAYzQ,KACxD+Q,EAAcnV,EAAYoV,EAAAA,mBAC1BC,gBAAiB,EAAAN,EAAY7P,SAAUiQ,aAAW,EAAXA,EAAaG,KAAOH,aAAW,EAAXA,EAAaI,OACxEC,gBAAiB,EAAAX,EAAY3P,SAAUiQ,aAAW,EAAXA,EAAaG,KAAOH,aAAW,EAAXA,EAAaI,OAExEhK,EAAcjH,EAAYA,aAAA,IAAW5C,OAAA,OAAA,OAAA,GAAA,kBACnCqD,EAAmB9D,EAAS4T,EAAYhR,EAC7C,KAAA,CAAC5C,EAAS4T,EAAYhR,IAEnB4H,EAAcnH,EAAYA,aAAA,IAAW5C,OAAA,OAAA,OAAA,GAAA,kBACnCqD,EAAmB9D,EAAS8T,EAAYlR,EAC7C,KAAA,CAAC5C,EAAS4C,EAAakR,IAEpBU,EAAYnR,eACfoR,IACKb,GACM5T,EAAAwU,UAAUC,EAAQb,EAAWzQ,GAAA,GAGzC,CAACnD,EAAS4T,IAGL,MAAA,CACLc,kBAAkBd,aAAA,EAAAA,EAAY3P,SAC9B0Q,kBAAkBb,aAAA,EAAAA,EAAY7P,SAC9B+P,SACA1J,YAAasJ,GAAcW,EAAiBjK,OAAc,EAC1DE,YAAoC,aAAbsJ,aAAV,EAAAA,EAAYc,SAAwBR,EAAiB5J,OAAc,EAChFgK,UAAWZ,EAAaY,OAAY,EAAA,4Ce1EhB,EAAG9J,UAASmK,aAClC,MAAM7U,EAAUD,IACV+U,EAAW7S,SAAgC,MAC3C8B,EAAQhF,EAAYgV,uBAAqBrJ,IACzCqK,EAAc9S,EAAAA,SAEd+S,EAAU3R,eAAa4R,IACvBA,IACFH,EAAS5S,QAAU+S,EAAA,GAEpB,IAkDH,OAhDA3U,EAAAA,WAAU,KACHyU,EAAY7S,SAEN6B,eAAAA,EAAOZ,KAAM4R,EAAY7S,0BAAY6B,EAAOZ,KAEzC1C,OAAA,OAAA,OAAA,GAAA,YACV,GAAIqU,EAAS5S,QACP,IACF1E,EAAU0X,EAAE,qDACNlV,EAAQmV,YAAYJ,EAAY7S,QAAU4S,EAAS5S,QAEQ,CAFR,MAClDN,GACGpE,EAAA2B,EAAE,+BAAgC4V,EAAY7S,QAASN,EAAA,CAGrEmT,EAAY7S,QAAU6B,aAAA,EAAAA,EAAOZ,EAAA,IAZ/B4R,EAAY7S,QAAU6B,aAAA,EAAAA,EAAOZ,EAYE,GAGhC,CAACY,aAAK,EAALA,EAAOZ,GAAInD,IAEfM,EAAAA,WAAU,KACIG,OAAA,OAAA,OAAA,GAAA,aACNsD,aAAA,EAAAA,EAAOZ,KAAM2R,EAAS5S,WACT,IAAX2S,QACI7U,EAAQoV,YAAYrR,EAAMZ,GAAI2R,EAAS5S,eAEvClC,EAAQmV,YAAYpR,EAAMZ,GAAI2R,EAAS5S,SAAA,GAAA,GAIlD,CAAC6B,EAAO8Q,EAAQ7U,IAGnBM,EAAAA,WAAU,IACD,KACOG,OAAA,OAAA,OAAA,GAAA,YACN,GAAAqU,EAAS5S,SAAW6B,EAClB,UAEI/D,EAAQmV,YAAYpR,EAAMZ,GAAI2R,EAAS5S,QAES,CAFT,MACtCN,GACGpE,EAAA2B,EAAE,+BAAgC4E,EAAMZ,GAAIvB,EAAA,CAAA,GAAA,GAM7D,IAEI,CAAEkT,SAAUE,EAAA,uBbFO,EAC1B/E,QACAjJ,eACAE,cACAD,cACAoO,4BAA4B,MAAM,GAClCjP,cAAc0B,EACdwN,4BAA2B,EAC3BC,UAAU,MAEV,MAAM5P,MAAEA,EAAQ,EAAGC,OAAAA,EAAS,MAAG5D,GAAQwT,EAAAA,oBAIjCC,EDwU+B,EACrCxF,EACAyF,EACAL,EACAC,GAA2B,KAE3B,IAAKrF,IAAUyF,IAAWL,EACjB,MAAA,GAET,MAAMM,EAA6B,GACnC,IAAA,MAAWxF,KAAQF,EAkBjB,QAjB2C,IAApBE,EAAK2D,YAA4B3D,EAAKyD,YAAc8B,EAAOvF,EAAKyD,YAErF+B,EAAUvQ,KAAK,CAAE+K,SACRA,EAAK2D,YAAc4B,EAAOvF,EAAK2D,YACxC6B,EAAUvQ,KAAK,CAAErB,MAAO2R,EAAOvF,EAAK2D,YAA8B3D,SACxDmF,GACVK,EAAUvQ,KAAK,CAAE+K,SAGfA,EAAKyF,gBAAgBzY,OAAS,GAC3BgT,EAAAyF,gBAAgBC,SAAkBnL,IACrC,MAAM3G,EAAQ2R,EAAOhL,GACD,WAAhB3G,eAAAA,EAAO7D,OAAsC,aAAlB6D,aAAK,EAALA,EAAO6Q,SAC1Be,EAAAvQ,KAAK,CAAErB,QAAOoM,QAAA,IAI1BkF,EAA0BlF,IAASA,EAAKyF,gBAAgBzY,OAAS,EAAG,CACtE,MAAM2Y,EAAqB3F,EAAKyF,gBAAgBG,MAAeC,IAC7D,MAAMjS,EAAQ2R,EAAOM,GACrB,MAAuB,WAAhBjS,eAAAA,EAAO7D,OAAsC,YAAlB6D,aAAK,EAALA,EAAO6Q,OAAW,IAGlDkB,GACFH,EAAUvQ,KAAK,CAAErB,MAAO2R,EAAOI,GAA4C3F,QAAA,CAI1E,OAAAwF,CAAA,EC/WiCM,CACtChG,EAJYrQ,IAEwC8I,SAASwN,EAAAA,iBAI7Db,EACAC,GAEIa,EAAmB/N,EAAAA,SAAQ,KAC/B,GAAIhC,EACK,OAAAA,EAIF,MAAA,CACLT,MDlDA,SAAeyQ,GACf,GAAiB,IAAjBA,EAAMjZ,OACD,OAAA,KAET,MAAMkZ,EAAkC,CAAA,EACxC,IAAIC,EAAQF,EAAM,GACdjP,EAAW,EACf,IAAA,IAAS/J,EAAI,EAAGA,EAAIgZ,EAAMjZ,OAAQC,IAAK,CACrC,MAAMmZ,EAAKH,EAAMhZ,GACG,OAAhBiZ,EAAQE,GACVF,EAAQE,GAAM,EAENF,EAAAE,KAENF,EAAQE,GAAMpP,IACRmP,EAAAC,EACRpP,EAAWkP,EAAQE,GAAA,CAGhB,OAAAD,CAAA,CAUPE,CCkB6Cf,EDhBxC1E,oBAAgB,iBAAAhN,EAAMA,4BAAO4B,iBAAStD,EAAA0B,EAAMA,4BAAO6B,OAAA,IACnDN,KAAYvB,YAIH,QAHiB,UAAXA,EAAMA,aAAK,IAAAzB,OAAA,EAAAA,EAAEqD,QAGV,KAFS,UAAX5B,EAAMA,aAAK,IAAA1B,OAAA,EAAAA,EAAEuD,SAEK,EAAA,MCcT,EAC1BA,OAAQ,EAAA,GAET,CAACQ,EAAaqP,IACX5O,EAAQ4O,EAAetY,QACvBiH,iBACJA,eACAG,EACAC,cAAAA,EAAAC,cACAA,iBACAC,EACAJ,iCAAAA,GACE8D,WACF,IACEqO,EAAqB,CACnB5P,QACAC,YAAa5B,KAAKC,MAAMQ,GACxBoB,aAAc7B,KAAKC,MAAMS,GAAUV,KAAKqC,IAAI3B,EAAQ2P,GACpDvO,eACAC,cACAC,cACAd,YAAa+P,KAEjB,CAACtP,EAAOlB,EAAOC,EAAQoB,EAAcC,EAAaC,EAAaiP,EAAkBZ,IAwB5E,MAAA,CACLmB,eAvB4BtO,WAC5B,IACElE,EAA6B,CAC3BC,SAAUsR,EACVrR,mBACAC,aAAa,EACbC,mCACAC,eACAC,gBACAC,gBACAC,oBAEJ,CACE+Q,EACArR,EACAE,EACAC,EACAC,EACAC,EACAC,IAKF1C,MAAA"}
package/dist/index.d.ts CHANGED
@@ -12,6 +12,8 @@ export { useRecordingStreaming } from './hooks/useRecordingStreaming';
12
12
  export { useAutoplayError } from './hooks/useAutoplayError';
13
13
  export { useCustomEvent } from './hooks/useCustomEvent';
14
14
  export { useParticipants } from './hooks/useParticipants';
15
+ export { useEmbedShare } from './hooks/useEmbedShare';
16
+ export { usePDFShare } from './hooks/usePDFShare';
15
17
  export type { hooksErrHandler } from './hooks/types';
16
18
  export type { usePreviewInput, usePreviewResult } from './hooks/usePreviewJoin';
17
19
  export type { useVideoListInput, useVideoResult, useVideoListTile } from './hooks/useVideoList';
@@ -25,5 +27,7 @@ export type { useParticipantsResult, useParticipantsParams } from './hooks/usePa
25
27
  export type { useVideoInput, useVideoOutput } from './hooks/useVideo';
26
28
  export type { useAutoplayErrorResult } from './hooks/useAutoplayError';
27
29
  export type { useCustomEventInput, useCustomEventResult } from './hooks/useCustomEvent';
30
+ export type { useEmbedShareResult } from './hooks/useEmbedShare';
31
+ export type { usePDFShareResult } from './hooks/usePDFShare';
28
32
  export { throwErrorHandler } from './utils/commons';
29
33
  export * from '@100mslive/hms-video-store';
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export{HMSRoomProvider,useHMSActions,useHMSNotifications,useHMSStatsStore,useHMSStore,useHMSVanillaNotifications,useHMSVanillaStore}from"./primitives/HmsRoomProvider.js";export{usePreviewJoin}from"./hooks/usePreviewJoin.js";export{useAVToggle}from"./hooks/useAVToggle.js";export{useVideo}from"./hooks/useVideo.js";export{useScreenShare}from"./hooks/useScreenShare.js";export{useRemoteAVToggle}from"./hooks/useRemoteAVToggle.js";export{useVideoList}from"./hooks/useVideoList.js";export{useAudioLevelStyles}from"./hooks/useAudioLevelStyles.js";export{useDevices}from"./hooks/useDevices.js";export{useParticipantList}from"./hooks/useParticipantList.js";export{useRecordingStreaming}from"./hooks/useRecordingStreaming.js";export{useAutoplayError}from"./hooks/useAutoplayError.js";export{useCustomEvent}from"./hooks/useCustomEvent.js";export{useParticipants}from"./hooks/useParticipants.js";export{throwErrorHandler}from"./utils/commons.js";export*from"@100mslive/hms-video-store";
1
+ export{HMSRoomProvider,useHMSActions,useHMSNotifications,useHMSStatsStore,useHMSStore,useHMSVanillaNotifications,useHMSVanillaStore}from"./primitives/HmsRoomProvider.js";export{usePreviewJoin}from"./hooks/usePreviewJoin.js";export{useAVToggle}from"./hooks/useAVToggle.js";export{useVideo}from"./hooks/useVideo.js";export{useScreenShare}from"./hooks/useScreenShare.js";export{useRemoteAVToggle}from"./hooks/useRemoteAVToggle.js";export{useVideoList}from"./hooks/useVideoList.js";export{useAudioLevelStyles}from"./hooks/useAudioLevelStyles.js";export{useDevices}from"./hooks/useDevices.js";export{useParticipantList}from"./hooks/useParticipantList.js";export{useRecordingStreaming}from"./hooks/useRecordingStreaming.js";export{useAutoplayError}from"./hooks/useAutoplayError.js";export{useCustomEvent}from"./hooks/useCustomEvent.js";export{useParticipants}from"./hooks/useParticipants.js";export{useEmbedShare}from"./hooks/useEmbedShare.js";export{usePDFShare}from"./hooks/usePDFShare.js";export{throwErrorHandler}from"./utils/commons.js";export*from"@100mslive/hms-video-store";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import t,{createContext as e,useMemo as o,useEffect as r,useContext as s,useState as n}from"react";import i from"zustand";import{HMSReactiveStore as a}from"@100mslive/hms-video-store";import{makeHMSStoreHook as c,makeHMSStatsStoreHook as f,hooksErrorMessage as u}from"./store.js";import{isBrowser as w}from"../utils/isBrowser.js";const d=e(null),l=({children:e,actions:s,store:n,notifications:c,stats:f,isHMSStatsOn:u=!1,leaveOnUnload:l=!0})=>{const m=o((()=>{let e;const o=()=>{throw new Error("modifying store is not allowed")};if(s&&n)e={actions:s,store:i(Object.assign(Object.assign({},n),{setState:o,destroy:o}))},c&&(e.notifications=c),f&&(e.statsStore=i({getState:f.getState,subscribe:f.subscribe,setState:o,destroy:o}));else{const t=new a;if(e={actions:t.getActions(),store:i(Object.assign(Object.assign({},t.getStore()),{setState:o,destroy:o})),notifications:t.getNotifications()},u){const r=t.getStats();e.statsStore=i({getState:r.getState,subscribe:r.subscribe,setState:o,destroy:o})}}return e.actions.setFrameworkInfo({type:"react-web",version:t.version,sdkVersion:"0.8.8"}),e}),[s,n,c,f,u]);return r((()=>{if(w&&l){const t=()=>m.actions.leave();return window.addEventListener("beforeunload",t),()=>{window.removeEventListener("beforeunload",t)}}return()=>{}}),[l,m]),t.createElement(d.Provider,{value:m},e)},m=c(d),b=f(d),S=()=>{const t=s(d);if(!t)throw new Error(u);return t.store},g=()=>{const t=s(d);if(!t)throw new Error(u);return t.notifications},v=()=>{const t=s(d);if(!t)throw new Error(u);return t.actions},E=t=>{const e=s(d),[o,i]=n(null);if(!e)throw new Error(u);return r((()=>{if(!e.notifications)return;return e.notifications.onNotification((t=>{i(t)}),t)}),[e.notifications,t]),o};export{l as HMSRoomProvider,v as useHMSActions,E as useHMSNotifications,b as useHMSStatsStore,m as useHMSStore,g as useHMSVanillaNotifications,S as useHMSVanillaStore};
1
+ import t,{createContext as e,useMemo as o,useEffect as r,useContext as s,useState as n}from"react";import i from"zustand";import{HMSReactiveStore as a}from"@100mslive/hms-video-store";import{makeHMSStoreHook as c,makeHMSStatsStoreHook as f,hooksErrorMessage as u}from"./store.js";import{isBrowser as l}from"../utils/isBrowser.js";const w=e(null),d=({children:e,actions:s,store:n,notifications:c,stats:f,isHMSStatsOn:u=!1,leaveOnUnload:d=!0})=>{const m=o((()=>{let e;const o=()=>{throw new Error("modifying store is not allowed")};if(s&&n)e={actions:s,store:i(Object.assign(Object.assign({},n),{setState:o,destroy:o}))},c&&(e.notifications=c),f&&(e.statsStore=i({getState:f.getState,subscribe:f.subscribe,setState:o,destroy:o}));else{const t=new a;if(e={actions:t.getActions(),store:i(Object.assign(Object.assign({},t.getStore()),{setState:o,destroy:o})),notifications:t.getNotifications()},u){const r=t.getStats();e.statsStore=i({getState:r.getState,subscribe:r.subscribe,setState:o,destroy:o})}}return e.actions.setFrameworkInfo({type:"react-web",version:t.version,sdkVersion:"0.8.10-alpha.0"}),e}),[s,n,c,f,u]);return r((()=>{if(l&&d){const t=()=>m.actions.leave();return window.addEventListener("beforeunload",t),()=>{window.removeEventListener("beforeunload",t)}}return()=>{}}),[d,m]),t.createElement(w.Provider,{value:m},e)},m=c(w),b=f(w),S=()=>{const t=s(w);if(!t)throw new Error(u);return t.store},g=()=>{const t=s(w);if(!t)throw new Error(u);return t.notifications},v=()=>{const t=s(w);if(!t)throw new Error(u);return t.actions},h=t=>{const e=s(w),[o,i]=n(null);if(!e)throw new Error(u);return r((()=>{if(!e.notifications)return;return e.notifications.onNotification((t=>{i(t)}),t)}),[e.notifications,t]),o};export{d as HMSRoomProvider,v as useHMSActions,h as useHMSNotifications,b as useHMSStatsStore,m as useHMSStore,g as useHMSVanillaNotifications,S as useHMSVanillaStore};
2
2
  //# sourceMappingURL=HmsRoomProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HmsRoomProvider.js","sources":["../../src/primitives/HmsRoomProvider.ts"],"sourcesContent":[null],"names":["HMSContext","createContext","HMSRoomProvider","children","actions","store","notifications","stats","isHMSStatsOn","leaveOnUnload","providerProps","useMemo","providerProps2","errFn","Error","create","Object","assign","setState","destroy","statsStore","getState","subscribe","hmsReactiveStore","HMSReactiveStore","getActions","getStore","getNotifications","stats2","getStats","setFrameworkInfo","type","version","React","sdkVersion","useEffect","isBrowser","beforeUnloadCallback","leave","window","addEventListener","removeEventListener","createElement","Provider","value","useHMSStore","makeHMSStoreHook","useHMSStatsStore","makeHMSStatsStoreHook","useHMSVanillaStore","HMSContextConsumer","useContext","hooksErrorMessage","useHMSVanillaNotifications","useHMSActions","useHMSNotifications","notification","setNotification","useState","onNotification","notification2"],"mappings":"0UAiCA,MAAMA,EAAaC,EAA8C,MASpDC,EAAkB,EAC7BC,WACAC,UACAC,QACAC,gBACAC,QACAC,gBAAe,EACfC,iBAAgB,MAEV,MAAAC,EAAyCC,GAAQ,KACjD,IAAAC,EAGJ,MAAMC,EAAQ,KACZ,MAAM,IAAIC,MAAM,iCAAA,EAElB,GAAIV,GAAWC,EACGO,EAAA,CACdR,UACAC,MAAOU,EACFC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAAZ,GACH,CAAAa,SAAUL,EACVM,QAASN,MAGTP,IACFM,EAAcN,cAAgBA,GAE5BC,IACFK,EAAcQ,WAAaL,EAAsB,CAC/CM,SAAUd,EAAMc,SAChBC,UAAWf,EAAMe,UACjBJ,SAAUL,EACVM,QAASN,SAGR,CACL,MAAMU,EAAmB,IAAIC,EAW7B,GAVgBZ,EAAA,CACdR,QAASmB,EAAiBE,aAC1BpB,MAAOU,EACFC,OAAAC,OAAAD,OAAAC,OAAA,GAAAM,EAAiBG,YACpB,CAAAR,SAAUL,EACVM,QAASN,KAEXP,cAAeiB,EAAiBI,oBAG9BnB,EAAc,CAChB,MAAMoB,EAAQL,EAAiBM,WAC/BjB,EAAcQ,WAAaL,EAAsB,CAC/CM,SAAUO,EAAMP,SAChBC,UAAWM,EAAMN,UACjBJ,SAAUL,EACVM,QAASN,GAAA,CAAA,CAYR,OANPD,EAAcR,QAAQ0B,iBAAiB,CACrCC,KAAM,YACNC,QAASC,EAAMD,QACfE,WAAY,UAGPtB,CAAA,GACN,CAACR,EAASC,EAAOC,EAAeC,EAAOC,IAe1C,OAbA2B,GAAU,KACR,GAAIC,GAAa3B,EAAe,CACxB,MAAA4B,EAAuB,IAAM3B,EAAcN,QAAQkC,QAGzD,OAFAC,OAAOC,iBAAiB,eAAgBH,GAEjC,KACLE,OAAOE,oBAAoB,eAAgBJ,EAAA,CAAA,CAI/C,MAAO,MAAO,GACb,CAAC5B,EAAeC,IAEZuB,EAAMS,cAAc1C,EAAW2C,SAAU,CAAEC,MAAOlC,GAAiBP,EAAA,EAO/D0C,EAAcC,EAAiB9C,GAE/B+C,EAAmBC,EAAsBhD,GAczCiD,EAAqB,KAChC,MAAMC,EAAqBC,EAAWnD,GACtC,IAAKkD,EACH,MAAM,IAAIpC,MAAMsC,GAGlB,OAAOF,EAAmB7C,KAAA,EAiBfgD,EAA6B,KACxC,MAAMH,EAAqBC,EAAWnD,GACtC,IAAKkD,EACH,MAAM,IAAIpC,MAAMsC,GAElB,OAAOF,EAAmB5C,aAAA,EAMfgD,EAAgB,KAC3B,MAAMJ,EAAqBC,EAAWnD,GACtC,IAAKkD,EACH,MAAM,IAAIpC,MAAMsC,GAElB,OAAOF,EAAmB9C,OAAA,EASfmD,EACXxB,IAEA,MAAMmB,EAAqBC,EAAWnD,IAC/BwD,EAAcC,GAAmBC,EAA8C,MAEtF,IAAKR,EACH,MAAM,IAAIpC,MAAMsC,GAaX,OAVPjB,GAAU,KACJ,IAACe,EAAmB5C,cACtB,OAKK,OAHa4C,EAAmB5C,cAAcqD,gBAAiCC,IACpEH,EAAAG,EAAA,GACf7B,EACI,GACN,CAACmB,EAAmB5C,cAAeyB,IAE/ByB,CAAA"}
1
+ {"version":3,"file":"HmsRoomProvider.js","sources":["../../src/primitives/HmsRoomProvider.ts"],"sourcesContent":[null],"names":["HMSContext","createContext","HMSRoomProvider","children","actions","store","notifications","stats","isHMSStatsOn","leaveOnUnload","providerProps","useMemo","providerProps2","errFn","Error","create","Object","assign","setState","destroy","statsStore","getState","subscribe","hmsReactiveStore","HMSReactiveStore","getActions","getStore","getNotifications","stats2","getStats","setFrameworkInfo","type","version","React","sdkVersion","useEffect","isBrowser","beforeUnloadCallback","leave","window","addEventListener","removeEventListener","createElement","Provider","value","useHMSStore","makeHMSStoreHook","useHMSStatsStore","makeHMSStatsStoreHook","useHMSVanillaStore","HMSContextConsumer","useContext","hooksErrorMessage","useHMSVanillaNotifications","useHMSActions","useHMSNotifications","notification","setNotification","useState","onNotification","notification2"],"mappings":"0UAiCA,MAAMA,EAAaC,EAA8C,MASpDC,EAAkB,EAC7BC,WACAC,UACAC,QACAC,gBACAC,QACAC,gBAAe,EACfC,iBAAgB,MAEV,MAAAC,EAAyCC,GAAQ,KACjD,IAAAC,EAGJ,MAAMC,EAAQ,KACZ,MAAM,IAAIC,MAAM,iCAAA,EAElB,GAAIV,GAAWC,EACGO,EAAA,CACdR,UACAC,MAAOU,EACFC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAAZ,GACH,CAAAa,SAAUL,EACVM,QAASN,MAGTP,IACFM,EAAcN,cAAgBA,GAE5BC,IACFK,EAAcQ,WAAaL,EAAsB,CAC/CM,SAAUd,EAAMc,SAChBC,UAAWf,EAAMe,UACjBJ,SAAUL,EACVM,QAASN,SAGR,CACL,MAAMU,EAAmB,IAAIC,EAW7B,GAVgBZ,EAAA,CACdR,QAASmB,EAAiBE,aAC1BpB,MAAOU,EACFC,OAAAC,OAAAD,OAAAC,OAAA,GAAAM,EAAiBG,YACpB,CAAAR,SAAUL,EACVM,QAASN,KAEXP,cAAeiB,EAAiBI,oBAG9BnB,EAAc,CAChB,MAAMoB,EAAQL,EAAiBM,WAC/BjB,EAAcQ,WAAaL,EAAsB,CAC/CM,SAAUO,EAAMP,SAChBC,UAAWM,EAAMN,UACjBJ,SAAUL,EACVM,QAASN,GAAA,CAAA,CAYR,OANPD,EAAcR,QAAQ0B,iBAAiB,CACrCC,KAAM,YACNC,QAASC,EAAMD,QACfE,WAAY,mBAGPtB,CAAA,GACN,CAACR,EAASC,EAAOC,EAAeC,EAAOC,IAe1C,OAbA2B,GAAU,KACR,GAAIC,GAAa3B,EAAe,CACxB,MAAA4B,EAAuB,IAAM3B,EAAcN,QAAQkC,QAGzD,OAFAC,OAAOC,iBAAiB,eAAgBH,GAEjC,KACLE,OAAOE,oBAAoB,eAAgBJ,EAAA,CAAA,CAI/C,MAAO,MAAO,GACb,CAAC5B,EAAeC,IAEZuB,EAAMS,cAAc1C,EAAW2C,SAAU,CAAEC,MAAOlC,GAAiBP,EAAA,EAO/D0C,EAAcC,EAAiB9C,GAE/B+C,EAAmBC,EAAsBhD,GAczCiD,EAAqB,KAChC,MAAMC,EAAqBC,EAAWnD,GACtC,IAAKkD,EACH,MAAM,IAAIpC,MAAMsC,GAGlB,OAAOF,EAAmB7C,KAAA,EAiBfgD,EAA6B,KACxC,MAAMH,EAAqBC,EAAWnD,GACtC,IAAKkD,EACH,MAAM,IAAIpC,MAAMsC,GAElB,OAAOF,EAAmB5C,aAAA,EAMfgD,EAAgB,KAC3B,MAAMJ,EAAqBC,EAAWnD,GACtC,IAAKkD,EACH,MAAM,IAAIpC,MAAMsC,GAElB,OAAOF,EAAmB9C,OAAA,EASfmD,EACXxB,IAEA,MAAMmB,EAAqBC,EAAWnD,IAC/BwD,EAAcC,GAAmBC,EAA8C,MAEtF,IAAKR,EACH,MAAM,IAAIpC,MAAMsC,GAaX,OAVPjB,GAAU,KACJ,IAACe,EAAmB5C,cACtB,OAKK,OAHa4C,EAAmB5C,cAAcqD,gBAAiCC,IACpEH,EAAAG,EAAA,GACf7B,EACI,GACN,CAACmB,EAAmB5C,cAAeyB,IAE/ByB,CAAA"}
@@ -5,3 +5,6 @@ export declare const logErrorHandler: hooksErrHandler;
5
5
  * @param err
6
6
  */
7
7
  export declare const throwErrorHandler: hooksErrHandler;
8
+ export default function usePrevious<T>(state: T): T | undefined;
9
+ export declare const isChromiumBased: boolean;
10
+ export declare const pdfIframeURL = "https://pdf-annotation.100ms.live/generic/web/viewer.html";
@@ -1,2 +1,2 @@
1
- import o from"./logger.js";const r=(r,t)=>o.e("react-sdk",t,r),t=o=>{throw o};export{r as logErrorHandler,t as throwErrorHandler};
1
+ import{useRef as e,useEffect as r}from"react";import{parsedUserAgent as o}from"@100mslive/hms-video-store";import t from"./logger.js";const n=(e,r)=>t.e("react-sdk",r,e),i=e=>{throw e};function s(o){const t=e();return r((()=>{t.current=o})),t.current}const m=["chrome","brave","opera","edge"].some((e=>{var r,t;return(null===(t=null===(r=o.getBrowser())||void 0===r?void 0:r.name)||void 0===t?void 0:t.toLowerCase())===e})),a="https://pdf-annotation.100ms.live/generic/web/viewer.html";export{s as default,m as isChromiumBased,n as logErrorHandler,a as pdfIframeURL,i as throwErrorHandler};
2
2
  //# sourceMappingURL=commons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commons.js","sources":["../../src/utils/commons.ts"],"sourcesContent":[null],"names":["logErrorHandler","err","method","HMSLogger","e","throwErrorHandler"],"mappings":"2BAGA,MAEaA,EAAmC,CAACC,EAAYC,IAAoBC,EAAUC,EAF/E,YAEsFF,EAAQD,GAM7FI,EAAsCJ,IAC3C,MAAAA,CAAA"}
1
+ {"version":3,"file":"commons.js","sources":["../../src/utils/commons.ts"],"sourcesContent":[null],"names":["logErrorHandler","err","method","HMSLogger","e","throwErrorHandler","usePrevious","state","ref","useRef","useEffect","current","isChromiumBased","some","value","_b","_a","parsedUserAgent","getBrowser","name","toLowerCase","pdfIframeURL"],"mappings":"sIAKA,MAEaA,EAAmC,CAACC,EAAYC,IAAoBC,EAAUC,EAF/E,YAEsFF,EAAQD,GAM7FI,EAAsCJ,IAC3C,MAAAA,CAAA,EAGgB,SAAAK,EAAeC,GACrC,MAAMC,EAAMC,IAMZ,OAJAC,GAAU,KACRF,EAAIG,QAAUJ,CAAA,IAGTC,EAAIG,OAAA,CAGb,MAEaC,EAFiB,CAAC,SAAU,QAAS,QAAS,QAENC,MAClDC,YAAkB,OAAkC,QAAlCC,UAAAC,EAAAC,EAAgBC,mCAAcC,YAAI,IAAAJ,OAAA,EAAAA,EAAEK,iBAAkBN,CAAA,IAG9DO,EAAe"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "main": "dist/index.cjs.js",
5
5
  "module": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
7
- "version": "0.8.8",
7
+ "version": "0.8.10-alpha.0",
8
8
  "author": "100ms",
9
9
  "license": "MIT",
10
10
  "files": [
@@ -43,9 +43,9 @@
43
43
  "react": ">=16.8 <19.0.0"
44
44
  },
45
45
  "dependencies": {
46
- "@100mslive/hms-video-store": "0.10.8",
46
+ "@100mslive/hms-video-store": "0.10.10-alpha.0",
47
47
  "react-resize-detector": "^7.0.0",
48
48
  "zustand": "^3.6.2"
49
49
  },
50
- "gitHead": "beb1f3143aaef4bcf8ca42bc48a97c4825dd5784"
50
+ "gitHead": "58b4be0b49e2ba351bab98068b7983fa621a04e0"
51
51
  }
@@ -0,0 +1,96 @@
1
+ import { useCallback, useEffect, useRef, useState } from 'react';
2
+ import { useScreenShare } from './useScreenShare';
3
+ import usePrevious, { isChromiumBased } from '../utils/commons';
4
+
5
+ export interface useEmbedShareResult {
6
+ /**
7
+ * used to start screen share
8
+ * It throws error in given below scenarios:
9
+ * 1. When url is not passed.
10
+ * 2. Reference to a iframe or element is not at attached.
11
+ * 3. Unable to start screen share
12
+ */
13
+ startEmbedShare: (value: string) => Promise<void>;
14
+
15
+ /**
16
+ * stop your screen share.
17
+ */
18
+ stopEmbedShare: () => Promise<void>;
19
+ /**
20
+ * am I sharing embed view in a room
21
+ */
22
+ isEmbedShareInProgress: boolean;
23
+
24
+ /**
25
+ * reference of iframe where embed url will be launched
26
+ */
27
+ iframeRef: React.RefObject<HTMLIFrameElement | null>;
28
+ }
29
+
30
+ /**
31
+ * @param resetConfig pass resetConfig where you were mounting the iframe, it will help to clear configuration when stop screen share occurs
32
+ * @returns useEmbedShareResult
33
+ */
34
+ export const useEmbedShare = (resetConfig?: () => void): useEmbedShareResult => {
35
+ const iframeRef = useRef<HTMLIFrameElement | null>(null);
36
+ const [sharing, setSharing] = useState(false);
37
+
38
+ const handleScreenShareError = useCallback(() => {
39
+ throw new Error('unable to start screen share');
40
+ }, []);
41
+ const inProgress = useRef(false);
42
+ const { amIScreenSharing, toggleScreenShare } = useScreenShare(handleScreenShareError);
43
+ // store previous state of screensharing, it will help to reset the config after screensharing stop.
44
+ const previouslySharing = usePrevious(amIScreenSharing);
45
+
46
+ const stopShare = useCallback(async () => {
47
+ if (amIScreenSharing) {
48
+ await toggleScreenShare?.(); // Stop screen sharing
49
+ iframeRef.current = null;
50
+ }
51
+ }, [amIScreenSharing, toggleScreenShare]);
52
+
53
+ const startShare = useCallback(
54
+ async (value: string) => {
55
+ if (inProgress.current) {
56
+ return;
57
+ }
58
+ if (!value) {
59
+ throw new Error('URL not found');
60
+ }
61
+ if (amIScreenSharing) {
62
+ throw new Error('You are already sharing');
63
+ }
64
+ if (!iframeRef.current) {
65
+ throw new Error('Attach a reference `iframeRef` to iframe for sharing');
66
+ }
67
+ iframeRef.current.src = value;
68
+ inProgress.current = true;
69
+ setSharing(true);
70
+ await toggleScreenShare?.({
71
+ forceCurrentTab: isChromiumBased,
72
+ cropElement: iframeRef.current,
73
+ preferCurrentTab: isChromiumBased,
74
+ });
75
+ },
76
+ [amIScreenSharing, toggleScreenShare],
77
+ );
78
+
79
+ useEffect(() => {
80
+ if (previouslySharing && !amIScreenSharing) {
81
+ resetConfig?.();
82
+ if (iframeRef.current) {
83
+ iframeRef.current.src = '';
84
+ }
85
+ inProgress.current = false;
86
+ setSharing(false);
87
+ }
88
+ }, [amIScreenSharing, previouslySharing, resetConfig]);
89
+
90
+ return {
91
+ startEmbedShare: startShare,
92
+ stopEmbedShare: stopShare,
93
+ iframeRef,
94
+ isEmbedShareInProgress: sharing,
95
+ };
96
+ };
@@ -0,0 +1,116 @@
1
+ import { useCallback, useEffect, useRef, useState } from 'react';
2
+ import { useScreenShare } from './useScreenShare';
3
+ import usePrevious, { isChromiumBased, pdfIframeURL } from '../utils/commons';
4
+
5
+ export interface usePDFShareResult {
6
+ /**
7
+ * used to start screen share
8
+ * It throws error in given below scenarios:
9
+ * 1. When file or url is not passed.
10
+ * 2. Reference to a iframe or element is not yet attached.
11
+ * 3. Unable to start screen share
12
+ */
13
+ startPDFShare: (value: File | string) => Promise<void>;
14
+
15
+ /**
16
+ * stop your screen share.
17
+ */
18
+ stopPDFShare: () => Promise<void>;
19
+ /**
20
+ * am I sharing pdf annotator in a room
21
+ */
22
+ isPDFShareInProgress: boolean;
23
+
24
+ /**
25
+ * reference of iframe where pdf annotator will be launched
26
+ */
27
+ iframeRef: React.RefObject<HTMLIFrameElement | null>;
28
+ }
29
+
30
+ /**
31
+ * @param resetConfig pass resetConfig where you were mounting the iframe, it will help to clear configuration when stop screen share occurs
32
+ * @returns usePDFShareResult
33
+ */
34
+ export const usePDFShare = (resetConfig?: () => void): usePDFShareResult => {
35
+ const iframeRef = useRef<HTMLIFrameElement | null>(null);
36
+ const [sharing, setSharing] = useState(false);
37
+
38
+ const handleScreenShareError = useCallback(() => {
39
+ throw new Error('unable to start screen share');
40
+ }, []);
41
+ const inProgress = useRef(false);
42
+ const { amIScreenSharing, toggleScreenShare } = useScreenShare(handleScreenShareError);
43
+ // store previous state of screensharing, it will help to reset the config after screensharing stop.
44
+ const previouslySharing = usePrevious(amIScreenSharing);
45
+
46
+ const sendDataToPDFIframe = useCallback((file?: File) => {
47
+ if (iframeRef.current) {
48
+ iframeRef.current.contentWindow?.postMessage(
49
+ {
50
+ theme: 2, // dark theme -> 2, light theme -> 1
51
+ file,
52
+ },
53
+ '*',
54
+ );
55
+ }
56
+ }, []);
57
+
58
+ const stopShare = useCallback(async () => {
59
+ if (amIScreenSharing) {
60
+ await toggleScreenShare?.(); // Stop screen sharing
61
+ }
62
+ }, [amIScreenSharing, toggleScreenShare]);
63
+
64
+ const startShare = useCallback(
65
+ // eslint-disable-next-line complexity
66
+ async (value: File | string) => {
67
+ if (inProgress.current) {
68
+ return;
69
+ }
70
+ if (!value) {
71
+ throw new Error('File or url not found');
72
+ }
73
+ if (amIScreenSharing) {
74
+ throw new Error('You are already sharing');
75
+ }
76
+ if (!iframeRef.current) {
77
+ throw new Error('Attach a reference `iframeRef` to iframe for sharing');
78
+ }
79
+
80
+ iframeRef.current.src = `${pdfIframeURL}${typeof value === 'string' ? `?file=${value}` : ''}`;
81
+ iframeRef.current.onload = () => {
82
+ requestAnimationFrame(() => {
83
+ if (value instanceof File) {
84
+ sendDataToPDFIframe(value);
85
+ }
86
+ });
87
+ };
88
+ inProgress.current = true;
89
+ setSharing(true);
90
+ await toggleScreenShare?.({
91
+ forceCurrentTab: isChromiumBased,
92
+ cropElement: iframeRef.current,
93
+ preferCurrentTab: isChromiumBased,
94
+ });
95
+ },
96
+ [amIScreenSharing, sendDataToPDFIframe, toggleScreenShare],
97
+ );
98
+
99
+ useEffect(() => {
100
+ if (previouslySharing && !amIScreenSharing) {
101
+ resetConfig?.();
102
+ if (iframeRef.current) {
103
+ iframeRef.current.removeAttribute('src');
104
+ }
105
+ inProgress.current = false;
106
+ setSharing(false);
107
+ }
108
+ }, [amIScreenSharing, previouslySharing, resetConfig]);
109
+
110
+ return {
111
+ startPDFShare: startShare,
112
+ stopPDFShare: stopShare,
113
+ iframeRef,
114
+ isPDFShareInProgress: sharing,
115
+ };
116
+ };
package/src/index.ts CHANGED
@@ -20,6 +20,9 @@ export { useRecordingStreaming } from './hooks/useRecordingStreaming';
20
20
  export { useAutoplayError } from './hooks/useAutoplayError';
21
21
  export { useCustomEvent } from './hooks/useCustomEvent';
22
22
  export { useParticipants } from './hooks/useParticipants';
23
+ export { useEmbedShare } from './hooks/useEmbedShare';
24
+ export { usePDFShare } from './hooks/usePDFShare';
25
+
23
26
  // types
24
27
  export type { hooksErrHandler } from './hooks/types';
25
28
  export type { usePreviewInput, usePreviewResult } from './hooks/usePreviewJoin';
@@ -34,6 +37,8 @@ export type { useParticipantsResult, useParticipantsParams } from './hooks/usePa
34
37
  export type { useVideoInput, useVideoOutput } from './hooks/useVideo';
35
38
  export type { useAutoplayErrorResult } from './hooks/useAutoplayError';
36
39
  export type { useCustomEventInput, useCustomEventResult } from './hooks/useCustomEvent';
40
+ export type { useEmbedShareResult } from './hooks/useEmbedShare';
41
+ export type { usePDFShareResult } from './hooks/usePDFShare';
37
42
 
38
43
  // helpers
39
44
  export { throwErrorHandler } from './utils/commons';
@@ -1,3 +1,5 @@
1
+ import { useEffect, useRef } from 'react';
2
+ import { parsedUserAgent } from '@100mslive/hms-video-store';
1
3
  import HMSLogger from './logger';
2
4
  import { hooksErrHandler } from '../hooks/types';
3
5
 
@@ -12,3 +14,21 @@ export const logErrorHandler: hooksErrHandler = (err: Error, method?: string) =>
12
14
  export const throwErrorHandler: hooksErrHandler = (err: Error) => {
13
15
  throw err;
14
16
  };
17
+
18
+ export default function usePrevious<T>(state: T): T | undefined {
19
+ const ref = useRef<T>();
20
+
21
+ useEffect(() => {
22
+ ref.current = state;
23
+ });
24
+
25
+ return ref.current;
26
+ }
27
+
28
+ const chromiumBasedBrowsers = ['chrome', 'brave', 'opera', 'edge'];
29
+
30
+ export const isChromiumBased = chromiumBasedBrowsers.some(
31
+ (value: string) => parsedUserAgent.getBrowser()?.name?.toLowerCase() === value,
32
+ );
33
+
34
+ export const pdfIframeURL = 'https://pdf-annotation.100ms.live/generic/web/viewer.html';