1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="259a0439-7cec-46bd-8730-cab853eee0da",e._sentryDebugIdIdentifier="sentry-dbid-259a0439-7cec-46bd-8730-cab853eee0da")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[35867],{1240:(e,t,r)=>{r.d(t,{Mf9:()=>er,fSl:()=>Z,xwR:()=>ee});var n,i,s=r(838),o=r(14733),a=r(95155),c=r(12115),l=r(45299),d=r(84945),u=r(76492),p=r(52596);let f=({participant:e,trackType:t="audioTrack",...r})=>{let n=(0,o.Gc)(),[i,s]=(0,c.useState)(null),{userId:l,sessionId:d}=e;return(0,c.useEffect)(()=>{if(!n||!i)return;let e=n.bindAudioElement(i,d,t);return()=>{e?.()}},[n,d,i,t]),(0,a.jsx)("audio",{autoPlay:!0,...r,ref:s,"data-user-id":l,"data-session-id":d,"data-track-type":t})};f.displayName="Audio";let m=(0,c.createContext)(void 0),v=()=>(0,c.useContext)(m),_=({middleware:e=[],placement:t,strategy:r,offset:n=10})=>{let{refs:i,x:s,y:o,update:a,elements:{domReference:p,floating:f},context:m}=(0,l.we)({placement:t,strategy:r,middleware:[(0,d.cY)(n),(0,d.BN)(),(0,d.UU)(),(0,d.Ej)({padding:10,apply:({availableHeight:e,elements:t})=>{Object.assign(t.floating.style,{maxHeight:`${e}px`})}}),...e]});return(0,c.useEffect)(()=>{if(!p||!f)return;let e=(0,u.ll)(p,f,a);return()=>e()},[p,f,a]),{refs:i,x:s,y:o,domReference:p,floating:f,strategy:r,context:m}},h=10,g=(e,t=h)=>{let[r,n]=(0,c.useState)(null);return(0,c.useEffect)(()=>{if(!e)return;let r=()=>e.scrollHeight>e.clientHeight?e.scrollTop<=t?n("top"):Math.abs(e.scrollHeight-e.scrollTop-e.clientHeight)<=t?n("bottom"):void n("between"):n(null),i=new ResizeObserver(r);return i.observe(e),e.addEventListener("scroll",r),()=>{e.removeEventListener("scroll",r),i.disconnect()}},[e,t]),r},x=(e,t=h)=>{let[r,n]=(0,c.useState)(null);return(0,c.useEffect)(()=>{if(!e)return;let r=()=>e.scrollWidth>e.clientWidth?e.scrollLeft<=t?n("start"):Math.abs(e.scrollWidth-e.scrollLeft-e.clientWidth)<=t?n("end"):void n("between"):n(null),i=new ResizeObserver(r);return i.observe(e),e.addEventListener("scroll",r),()=>{e.removeEventListener("scroll",r),i.disconnect()}},[e,t]),r};!function(e){e.PORTAL="portal",e.MENU="menu"}(n||(n={}));let j=(0,c.createContext)({}),b=()=>(0,c.useContext)(j),y=({children:e,refs:t})=>{let r=(0,c.useMemo)(()=>`str-video-portal-${Math.random().toString(36).substring(2,9)}`,[]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{id:r,className:"str-video__portal"}),(0,a.jsx)(l.zR,{children:(0,a.jsx)(l.XF,{id:r,children:(0,a.jsx)("div",{className:"str-video__portal-content",ref:t.setFloating,children:e})})})]})},k=({ToggleButton:e,placement:t="top-start",strategy:r="absolute",offset:i,visualType:s=n.MENU,children:o,onToggle:l})=>{let[d,u]=(0,c.useState)(!1),p=(0,c.useRef)(l);p.current=l;let{floating:f,domReference:m,refs:v,x:h,y:g}=_({placement:t,strategy:r,offset:i});return(0,c.useEffect)(()=>{let e=m?.ownerDocument,t=e=>{!f&&m?.contains(e.target)?(u(!0),p.current?.(!0)):f&&!f?.contains(e.target)&&(u(!1),p.current?.(!1))},r=e=>{!e.key||"escape"!==e.key.toLowerCase()||e.altKey||e.ctrlKey||(u(!1),p.current?.(!1))};return e?.addEventListener("click",t,{capture:!0}),e?.addEventListener("keydown",r),()=>{e?.removeEventListener("click",t,{capture:!0}),e?.removeEventListener("keydown",r)}},[f,m]),(0,a.jsxs)(a.Fragment,{children:[d&&(0,a.jsx)(j.Provider,{value:{close:()=>u(!1)},children:s===n.PORTAL?(0,a.jsx)(y,{refs:v,children:o}):s===n.MENU?(0,a.jsx)("div",{className:"str-video__menu-container",ref:v.setFloating,style:{position:r,top:g??0,left:h??0,overflowY:"auto"},role:"menu",children:o}):null}),(0,a.jsx)(e,{menuShown:d,ref:v.setReference})]})},E=({children:e,onItemClick:t})=>{let r=(0,c.useRef)(null);return(0,a.jsx)("ul",{className:"str-video__generic-menu",ref:r,onClick:e=>{t&&e.target!==r.current&&r.current?.contains(e.target)&&t(e)},children:e})},N=({children:e,...t})=>(0,a.jsx)("li",{className:"str-video__generic-menu--item",children:(0,a.jsx)("button",{...t,children:e})}),w=({className:e,icon:t})=>(0,a.jsx)("span",{className:(0,p.A)("str-video__icon",t&&`str-video__icon--${t}`,e)});function S(e){let[t,r]=(0,c.useState)(document.pictureInPictureElement===e);return!e&&t&&r(!1),(0,c.useEffect)(()=>
1{if(!e)return;let t=()=>{r(document.pictureInPictureElement===e)};return e.addEventListener("enterpictureinpicture",t),e.addEventListener("leavepictureinpicture",t),()=>{e.removeEventListener("enterpictureinpicture",t),e.removeEventListener("leavepictureinpicture",t)}},[e]),t}let C=()=>{let{participant:e,participantViewElement:t,videoElement:r}=v(),[n,i]=(0,c.useState)(!!document.fullscreenElement),l=(0,o.Gc)(),d=S(r??void 0),{t:u}=(0,o.s9)(),{pin:p,sessionId:f,userId:m}=e,_=(0,s.Fv)(e),h=(0,s.aV)(e),g=(0,s.Mc)(e),x=(0,s.sf)(e),j=e=>()=>{l?.updateUserPermissions({user_id:m,grant_permissions:[e]})},y=e=>()=>{l?.updateUserPermissions({user_id:m,revoke_permissions:[e]})};(0,c.useEffect)(()=>{let e=()=>{i(!!document.fullscreenElement)};return document.addEventListener("fullscreenchange",e),()=>{document.removeEventListener("fullscreenchange",e)}},[]);let{close:k}=b()||{};return(0,a.jsxs)(E,{onItemClick:k,children:[(0,a.jsxs)(N,{onClick:()=>{p?l?.unpin(f):l?.pin(f)},disabled:p&&!p.isLocalPin,children:[(0,a.jsx)(w,{icon:"pin"}),u(p?"Unpin":"Pin")]}),(0,a.jsxs)(o.c7,{requiredGrants:[s.pI.PIN_FOR_EVERYONE],children:[(0,a.jsxs)(N,{onClick:()=>{l?.pinForEveryone({user_id:m,session_id:f}).catch(e=>{console.error(`Failed to pin participant ${m}`,e)})},disabled:p&&!p.isLocalPin,children:[(0,a.jsx)(w,{icon:"pin"}),u("Pin for everyone")]}),(0,a.jsxs)(N,{onClick:()=>{l?.unpinForEveryone({user_id:m,session_id:f}).catch(e=>{console.error(`Failed to unpin participant ${m}`,e)})},disabled:!p||p.isLocalPin,children:[(0,a.jsx)(w,{icon:"pin"}),u("Unpin for everyone")]})]}),(0,a.jsx)(o.c7,{requiredGrants:[s.pI.BLOCK_USERS],children:(0,a.jsxs)(N,{onClick:()=>l?.blockUser(m),children:[(0,a.jsx)(w,{icon:"not-allowed"}),u("Block")]})}),(0,a.jsx)(o.c7,{requiredGrants:[s.pI.KICK_USER],children:(0,a.jsxs)(N,{onClick:()=>l?.kickUser({user_id:m}),children:[(0,a.jsx)(w,{icon:"kick-user"}),u("Kick")]})}),(0,a.jsxs)(o.c7,{requiredGrants:[s.pI.MUTE_USERS],children:[h&&(0,a.jsxs)(N,{onClick:()=>l?.muteUser(m,"video"),children:[(0,a.jsx)(w,{icon:"camera-off-outline"}),u("Turn off video")]}),g&&(0,a.jsxs)(N,{onClick:()=>l?.muteUser(m,"screenshare"),children:[(0,a.jsx)(w,{icon:"screen-share-off"}),u("Turn off screen share")]}),_&&(0,a.jsxs)(N,{onClick:()=>l?.muteUser(m,"audio"),children:[(0,a.jsx)(w,{icon:"no-audio"}),u("Mute audio")]}),x&&(0,a.jsxs)(N,{onClick:()=>l?.muteUser(m,"screenshare_audio"),children:[(0,a.jsx)(w,{icon:"no-audio"}),u("Mute screen share audio")]})]}),t&&void 0!==t.requestFullscreen&&(0,a.jsx)(N,{onClick:()=>n?document.exitFullscreen().catch(console.error):t?.requestFullscreen().catch(console.error),children:u("{{ direction }} fullscreen",{direction:u(n?"Leave":"Enter")})}),r&&document.pictureInPictureEnabled&&(0,a.jsx)(N,{onClick:()=>r&&!d?r.requestPictureInPicture().catch(console.error):document.exitPictureInPicture().catch(console.error),children:u("{{ direction }} picture-in-picture",{direction:u(d?"Leave":"Enter")})}),(0,a.jsxs)(o.c7,{requiredGrants:[s.pI.UPDATE_CALL_PERMISSIONS],children:[(0,a.jsx)(N,{onClick:j(s.pI.SEND_AUDIO),children:u("Allow audio")}),(0,a.jsx)(N,{onClick:j(s.pI.SEND_VIDEO),children:u("Allow video")}),(0,a.jsx)(N,{onClick:j(s.pI.SCREENSHARE),children:u("Allow screen sharing")}),(0,a.jsx)(N,{onClick:y(s.pI.SEND_AUDIO),children:u("Disable audio")}),(0,a.jsx)(N,{onClick:y(s.pI.SEND_VIDEO),children:u("Disable video")}),(0,a.jsx)(N,{onClick:y(s.pI.SCREENSHARE),children:u("Disable screen sharing")})]})]})},R=e=>null!==e&&!(0,c.isValidElement)(e),I=(e,t)=>{if(e){if("function"==typeof e)return e(t);e.current=t}};(0,c.forwardRef)(function({stream:e,...t},r){let[n,i]=(0,c.useState)(null);return(0,c.useEffect)(()=>{if(n&&e&&e!==n.srcObject)return n.srcObject=e,(s.cV.isSafari()||s.cV.isFirefox())&&setTimeout(()=>{n.srcObject=e,n.play().catch(e=>{console.error("Failed to play stream",e)})},0),()=>{n.pause(),n.srcObject=null}},[e,n]),(0,a.jsx)("video",{autoPlay:!0,playsInline:!0,...t,ref:e=>{I(r,e),i(e)}})});let P=(0,c.forwardRef)(function({participant:e,style:t,children:r},n){let[i,s]=(0,c.useState)(!1),o=e.name||e.userId;return(0,a.jsxs)("div",{className:"str-video__video-placeholder",style:t,ref:n,children:[(!e.image||i)&&(o?(0,a.jsx)(L,{name:o}):(0,a.jsx)("div",{className:"str-video__video-placeholder__no-video-label",children:r})),e.image&&!i&&(0,a.jsx)("img",{onError:()=>s(!0),alt:o,className:"str-video__video-placeholder__avatar",src:e.image})]})}),L=e=>{let{name:t}=e,r=t.split(" ").slice(0,2).map(e=>e[0]).join("");return(0,a.jsx)("div",{className:"str-video__video-placeholder__initials-fallback",children:r})},T=(0,c.forwardRef)(function(e,t){let{t:r}=(0,o.s9)();
1return(0,a.jsx)(P,{ref:t,...e,children:r("Video is disabled")})}),A=(0,c.forwardRef)(function(e,t){let{t:r}=(0,o.s9)();return(0,a.jsx)(P,{ref:t,...e,children:r("Video is playing in a popup")})}),D=({enabled:e=!0,mirror:t,trackType:r,participant:n,className:i,VideoPlaceholder:l=T,PictureInPicturePlaceholder:d=A,refs:u,...f})=>{let{sessionId:m,videoStream:v,screenShareStream:_,viewportVisibilityState:h,isLocalParticipant:g,userId:x}=n,j=(0,o.Gc)(),[b,y]=(0,c.useState)(null),[k,E]=(0,c.useState)(!0),[N,w]=(0,c.useState)(!0),C=S(b??void 0),R="videoTrack"===r?v:"screenShareTrack"===r?_:void 0;if((0,c.useLayoutEffect)(()=>{if(!j||!b||"none"===r)return;let e=j.bindVideoElement(b,m,r);return()=>{e?.()}},[j,r,m,b]),(0,c.useEffect)(()=>{if(!R||!b)return;let[e]=R.getVideoTracks();if(!e)return;let t=()=>{E(b.paused);let{width:t=0,height:r=0}=e.getSettings();w(t>=r)};return E(b.paused),b.addEventListener("play",t),b.addEventListener("pause",t),e.addEventListener("unmute",t),()=>{b.removeEventListener("play",t),b.removeEventListener("pause",t),e.removeEventListener("unmute",t),E(!0)}},[R,b]),!j)return null;let I="videoTrack"===r?(0,s.aV)(n):"screenShareTrack"===r&&(0,s.Mc)(n),P="none"===r||h?.[r]===s.cy.INVISIBLE,L=!e||!I||P||(0,s.C4)(n,r),D=void 0===t?g&&"videoTrack"===r:t,$="screenShareTrack"===r;return(0,a.jsxs)(a.Fragment,{children:[!L&&(0,a.jsx)("video",{...f,className:(0,p.A)("str-video__video",i,{"str-video__video--not-playing":k,"str-video__video--tall":!N,"str-video__video--mirror":D,"str-video__video--screen-share":$}),"data-user-id":x,"data-session-id":m,ref:e=>{y(e),u?.setVideoElement?.(e)}}),C&&d&&(0,a.jsx)(d,{style:{position:"absolute"},participant:n}),(L||k)&&l&&(0,a.jsx)(l,{style:{position:"absolute"},participant:n,ref:u?.setVideoPlaceholderElement})]})};D.displayName="Video";let $=({trackedElement:e,dynascaleManager:t,sessionId:r,trackType:n})=>{let i=(0,o.Gc)(),s=t??i?.dynascaleManager;(0,c.useEffect)(()=>{if(!e||!s||!i||"none"===n)return;let t=s.trackElementVisibility(e,r,n);return()=>{t()}},[e,s,i,r,n])};(0,c.lazy)(()=>Promise.all([r.e(94325),r.e(89506)]).then(r.bind(r,89506)).then(e=>({default:e.BackgroundFiltersProvider}))),(0,c.createContext)(void 0);let M=(0,c.forwardRef)(function(e,t){let{icon:r,enabled:n,variant:i,onClick:s,className:o,...c}=e;return(0,a.jsx)("button",{className:(0,p.A)("str-video__call-controls__button",o,{[`str-video__call-controls__button--variant-${i}`]:i,"str-video__call-controls__button--enabled":n}),onClick:e=>{e.preventDefault(),s?.(e)},ref:t,...c,children:(0,a.jsx)(w,{icon:r})})}),V=(0,c.forwardRef)(function({disabled:e,caption:t,children:r,className:n,active:i,Menu:s,menuPlacement:o,menuOffset:c,title:l,ToggleMenuButton:d=q,variant:u,onClick:f,onMenuToggle:m,...v},_){return(0,a.jsxs)("div",{className:(0,p.A)("str-video__composite-button",n,{"str-video__composite-button--caption":t,"str-video__composite-button--menu":s}),title:l,ref:_,children:[(0,a.jsxs)("div",{className:(0,p.A)("str-video__composite-button__button-group",{"str-video__composite-button__button-group--active":i,"str-video__composite-button__button-group--active-primary":i&&"primary"===u,"str-video__composite-button__button-group--active-secondary":i&&"secondary"===u,"str-video__composite-button__button-group--disabled":e}),children:[(0,a.jsx)("button",{type:"button",className:"str-video__composite-button__button",onClick:e=>{e.preventDefault(),f?.(e)},disabled:e,...v,children:r}),s&&(0,a.jsx)(k,{offset:c,placement:o,ToggleButton:d,onToggle:m,children:R(s)?(0,a.jsx)(s,{}):s})]}),t&&(0,a.jsx)("div",{className:"str-video__composite-button__caption",children:t})]})}),q=(0,c.forwardRef)(function({menuShown:e},t){return(0,a.jsx)(M,{className:(0,p.A)("str-video__menu-toggle-button",{"str-video__menu-toggle-button--active":e}),icon:e?"caret-down":"caret-up",ref:t})}),F=e=>{let{isVisible:t,message:r,children:n,visibilityTimeout:i,resetIsVisible:s,placement:o="top",className:l,iconClassName:d="str-video__notification__icon",close:u}=e,{refs:f,x:m,y:v,strategy:h}=_({placement:o,strategy:"absolute"});return(0,c.useEffect)(()=>
1{if(!t||!i||!s)return;let e=setTimeout(()=>{s()},i);return()=>clearTimeout(e)},[t,s,i]),(0,a.jsxs)("div",{ref:f.setReference,children:[t&&(0,a.jsxs)("div",{className:(0,p.A)("str-video__notification",l),ref:f.setFloating,style:{position:h,top:v??0,left:m??0,overflowY:"auto"},children:[d&&(0,a.jsx)("i",{className:d}),(0,a.jsx)("span",{className:"str-video__notification__message",children:r}),u?(0,a.jsx)("i",{className:"str-video__icon str-video__icon--close str-video__notification__close",onClick:u}):null]}),n]})},O=({children:e,referenceElement:t,tooltipClassName:r,tooltipPlacement:n="top",visible:i=!1})=>{let s=(0,c.useRef)(null),{refs:o,x:u,y:f,strategy:m,context:v}=_({placement:n,strategy:"absolute",middleware:[(0,d.UE)({element:s})]});return((0,c.useEffect)(()=>{o.setReference(t)},[t,o]),i)?(0,a.jsxs)("div",{className:(0,p.A)("str-video__tooltip",r),ref:o.setFloating,style:{position:m,top:f??0,left:u??0},children:[(0,a.jsx)(l.ie,{ref:s,context:v,fill:"var(--str-video__tooltip--background-color)"}),e]}):null},U=({onMouseEnter:e,onMouseLeave:t}={})=>{let[r,n]=(0,c.useState)(!1);return{handleMouseEnter:(0,c.useCallback)(t=>{n(!0),e?.(t)},[e]),handleMouseLeave:(0,c.useCallback)(e=>{n(!1),t?.(e)},[t]),tooltipVisible:r}},Y=({title:e,tooltipClassName:t,tooltipPlacement:r,tooltipDisabled:n,...i})=>{let{handleMouseEnter:s,handleMouseLeave:o,tooltipVisible:l}=U(),[d,u]=(0,c.useState)(null);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(O,{referenceElement:d,visible:!n&&!!e&&l,tooltipClassName:t,tooltipPlacement:r,children:e||""}),(0,a.jsx)("div",{ref:u,onMouseEnter:s,onMouseLeave:o,...i})]})};(0,c.forwardRef)(function(e,t){return(0,a.jsx)(V,{ref:t,active:!0,variant:"secondary","data-testid":"recording-stop-button",children:(0,a.jsx)(w,{icon:"recording-off"})})});let G={":like:":"\uD83D\uDC4D",":raise-hand:":"â",":fireworks:":"\uD83C\uDF89",":dislike:":"\uD83D\uDC4E",":heart:":"â¤ï¸",":smile:":"\uD83D\uDE00"},K=({participant:{reaction:e,sessionId:t},hideAfterTimeoutInMs:r=5500,emojiReactionMap:n=G})=>{let i=(0,o.Gc)();if((0,c.useEffect)(()=>{if(!i||!e)return;let n=setTimeout(()=>{i.resetReaction(t)},r);return()=>{clearTimeout(n)}},[i,r,e,t]),!e)return null;let{emoji_code:s}=e;return(0,a.jsx)("div",{className:"str-video__reaction",children:(0,a.jsx)("span",{className:"str-video__reaction__emoji",children:s&&n[s]})})};(0,c.forwardRef)(function({menuShown:e},t){let{t:r}=(0,o.s9)();return(0,a.jsx)(Y,{title:r("Reactions"),tooltipDisabled:e,children:(0,a.jsx)(V,{ref:t,active:e,variant:"primary",children:(0,a.jsx)(w,{icon:"reactions"})})})}),(0,c.createContext)({}),(0,c.forwardRef)(function({menuShown:e},t){let{t:r}=(0,o.s9)();return(0,a.jsx)(M,{className:(0,p.A)("str-video__device-settings__button",{"str-video__device-settings__button--active":e}),title:r("Toggle device menu"),icon:"device-settings",ref:t})}),(0,c.forwardRef)(function({menuShown:e},t){let{t:r}=(0,o.s9)();return(0,a.jsx)(Y,{title:r("Leave call"),tooltipDisabled:e,children:(0,a.jsx)(M,{icon:e?"close":"call-end",variant:e?"active":"danger","data-testid":"leave-call-button",ref:t})})}),(0,c.lazy)(()=>Promise.all([r.e(35647),r.e(67736)]).then(r.bind(r,11266))),function(e){e.GOOD="Good",e.OK="Ok",e.BAD="Bad"}(i||(i={})),(0,c.forwardRef)(function(e,t){let{t:r}=(0,o.s9)(),{caption:n,menuShown:i}=e;return(0,a.jsx)(V,{ref:t,active:i,caption:n,title:n||r("Statistics"),"data-testid":"stats-button",children:(0,a.jsx)(w,{icon:"stats"})})}),(0,c.forwardRef)(function(e,t){return(0,a.jsx)(M,{enabled:e.menuShown,icon:"ellipsis",ref:t})}),(0,c.forwardRef)(function(e,t){return(0,a.jsx)(M,{enabled:e.menuShown,icon:"filter",ref:t})}),(0,c.createContext)(null),s.Ko.JOINING,s.Ko.RINGING,s.Ko.MIGRATING,s.Ko.RECONNECTING,s.Ko.RECONNECTING_FAILED,s.Ko.OFFLINE,s.Ko.IDLE,s.Ko.UNKNOWN,s.Ko.JOINED,s.Ko.LEFT,(0,c.forwardRef)(function(e,t){let{permissionRequests:r,handleUpdatePermission:n,...i}=e,{t:s}=(0,o.s9)();return(0,a.jsx)("div",{className:"str-video__permission-requests-list",ref:t,...i,children:r.map((e,t)=>{let{user:r,permissions:i}=e;return(0,a.jsx)(c.Fragment,{children:i.map(t=>(0,a.jsxs)("div",{className:"str-video__permission-request",children:[(0,a.jsx)("div",{className:"str-video__permission-request__message",children:W(r.name||r.id,t,s)}),(0,a.jsx)(B,{className:"str-video__permission-request__button--allow",type:"button",onClick:n(e,"grant"),children:s("Allow")}),(0,a.jsx)(B,{className:"str-video__permission-request__button--reject",type:"button",onClick:n(e,"revoke"),children:s("Revoke")}),(0,a.jsx)(B,{className:"str-video__permission-request__button--reject",type:"button",onClick:n(e,"dismiss"),children:s("Dismiss")})]},t))},`${r.id}/${t}`)})})});let B=e=>{let{className:t,...r}=e;return(0,a.jsx)("button",{className:(0,p.A)("str-video__permission-request__button",t),...r})},W=(e,t,r)=>{switch(t){case s.pI.SEND_AUDIO:return r("{{ userName }} is requesting to speak",{userName:e});case s.pI.SEND_VIDEO:return r("{{ userName }} is requesting to share their camera",{userName:e});case s.pI.SCREENSHARE:return r("{{ userName }} is requesting to present their screen",{userName:e});default:return r("{{ userName }} is requesting permission: {{ permission }}",{userName:e,permission:t})}},H=(0,c.forwardRef)(function(e,t){return(0,a.jsx)(M,{enabled:e.menuShown,icon:"ellipsis",ref:t})}),J=()=>{let e=(0,o.Gc)(),{t}=(0,o.s9)();return(0,a.jsxs)("div",{className:"str-video__screen-share-overlay",children:[(0,a.jsx)(w,{icon:"screen-share-off"}),(0,a.jsx)("span",{className:"str-video__screen-share-overlay__title",children:t("You are presenting your screen")}),(0,a.jsxs)("button",{onClick:()=>{e?.screenShare.disable().catch(e=>{console.error("Failed to stop screen sharing:",e)})},type:"button",className:"str-video__screen-share-overlay__button",children:[(0,a.jsx)(w,{icon:"close"})," ",t("Stop Screen Sharing")]})]})},z=({indicatorsVisible:e=!0,menuPlacement:t="bottom-start",showMenuButton:r=!0,ParticipantActionsContextMenu:n=C}
1)=>{let{participant:i,trackType:o}=v(),c=(0,s.Mc)(i);return i.isLocalParticipant&&c&&"screenShareTrack"===o?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(J,{}),(0,a.jsx)(Q,{indicatorsVisible:e})]}):(0,a.jsxs)(a.Fragment,{children:[r&&(0,a.jsx)(k,{strategy:"fixed",placement:t,ToggleButton:H,children:(0,a.jsx)(n,{})}),(0,a.jsx)(K,{participant:i}),(0,a.jsx)(Q,{indicatorsVisible:e})]})},Q=({indicatorsVisible:e=!0})=>{let{participant:t,trackType:r}=v(),{isLocalParticipant:n,connectionQuality:i,pin:c,sessionId:l,name:d,userId:u}=t,f=(0,o.Gc)(),{t:m}=(0,o.s9)(),_=!!i&&s.hc.ConnectionQuality[i].toLowerCase(),h=(0,s.Fv)(t),g=(0,s.aV)(t),x=!!c&&c.isLocalPin,j="none"!==r&&(0,s.C4)(t,r);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"str-video__participant-details",children:(0,a.jsxs)("span",{className:"str-video__participant-details__name",children:[d||u,e&&!h&&(0,a.jsx)("span",{className:"str-video__participant-details__name--audio-muted"}),e&&!g&&(0,a.jsx)("span",{className:"str-video__participant-details__name--video-muted"}),e&&j&&(0,a.jsx)("span",{title:m("Video paused due to insufficient bandwidth"),className:"str-video__participant-details__name--track-paused"}),e&&x&&(0,a.jsx)("span",{title:m("Unpin"),onClick:()=>f?.unpin(l),className:"str-video__participant-details__name--pinned"}),e&&(0,a.jsx)(X,{})]})}),e&&(0,a.jsx)(F,{isVisible:n&&i===s.hc.ConnectionQuality.POOR,message:m("Poor connection quality"),children:_&&(0,a.jsx)("span",{className:(0,p.A)("str-video__participant-details__connection-quality",`str-video__participant-details__connection-quality--${_}`),title:_})})]})},X=()=>{let{participant:e}=v(),{isSpeaking:t,isDominantSpeaker:r}=e;return(0,a.jsxs)("span",{className:(0,p.A)("str-video__speech-indicator",t&&"str-video__speech-indicator--speaking",r&&"str-video__speech-indicator--dominant"),children:[(0,a.jsx)("span",{className:"str-video__speech-indicator__bar"}),(0,a.jsx)("span",{className:"str-video__speech-indicator__bar"}),(0,a.jsx)("span",{className:"str-video__speech-indicator__bar"})]})},Z=(0,c.forwardRef)(function({participant:e,trackType:t="videoTrack",mirror:r,muteAudio:n,refs:{setVideoElement:i,setVideoPlaceholderElement:l}={},className:d,VideoPlaceholder:u,PictureInPicturePlaceholder:v,ParticipantViewUI:_=z},h){let{isLocalParticipant:g,isSpeaking:x,isDominantSpeaker:j,sessionId:b}=e,y=(0,s.Fv)(e),k=(0,s.aV)(e),E=(0,s.sf)(e),[N,w]=(0,c.useState)(null),[S,C]=(0,c.useState)(null),[P,L]=(0,c.useState)(null);$({sessionId:b,trackedElement:N,trackType:t});let{useIncomingVideoSettings:T}=(0,o.R3)(),{isParticipantVideoEnabled:A}=T(),M=(0,c.useMemo)(()=>({participant:e,participantViewElement:N,videoElement:S,videoPlaceholderElement:P,trackType:t}),[S,P,e,N,t]),V=(0,c.useMemo)(()=>({setVideoElement:e=>{i?.(e),C(e)},setVideoPlaceholderElement:e=>{l?.(e),L(e)}}),[i,l]);return(0,a.jsx)("div",{"data-testid":"participant-view",ref:e=>{I(h,e),w(e)},className:(0,p.A)("str-video__participant-view",j&&"str-video__participant-view--dominant-speaker",x&&"str-video__participant-view--speaking",!k&&"str-video__participant-view--no-video",!y&&"str-video__participant-view--no-audio",d),children:(0,a.jsxs)(m.Provider,{value:M,children:[!g&&!n&&(0,a.jsxs)(a.Fragment,{children:[y&&(0,a.jsx)(f,{participant:e,trackType:"audioTrack"}),E&&(0,a.jsx)(f,{participant:e,trackType:"screenShareAudioTrack"})]}),(0,a.jsx)(D,{VideoPlaceholder:u,PictureInPicturePlaceholder:v,participant:e,trackType:t,refs:V,enabled:g||"videoTrack"!==t||A(e.sessionId),mirror:r,autoPlay:!0}),R(_)?(0,a.jsx)(_,{}):_]})})});Z.displayName="ParticipantView";let ee=o.kb;ee.displayName="StreamCall";let et={en:{Joining:"Joining",Mic:"Mic","No internet connection":"No internet connection","Re-connecting":"Re-connecting",Ringing:"Ringing","Screen Share":"Screen Share","Select a Camera":"Select a Camera","Select a Mic":"Select a Mic","Select Speakers":"Select Speakers",Speakers:"Speakers",Video:"Video","You are muted. Unmute to speak.":"You are muted. Unmute to speak.","Background filters performance is degraded. Consider disabling filters for better performance.":"Backgroun
1d filters performance is degraded. Consider disabling filters for better performance.",Live:"Live","Livestream starts soon":"Livestream starts soon","Livestream starts at {{ startsAt }}":"Livestream starts at {{ startsAt, datetime }}","{{ count }} participants joined early_one":"{{ count }} participant joined early","{{ count }} participants joined early_other":"{{ count }} participants joined early","You can now speak.":"You can now speak.","Awaiting for an approval to speak.":"Awaiting for an approval to speak.","You can no longer speak.":"You can no longer speak.","You can now share your video.":"You can now share your video.","Awaiting for an approval to share your video.":"Awaiting for an approval to share your video.","You can no longer share your video.":"You can no longer share your video.","Waiting for recording to stop...":"Waiting for recording to stop...","Waiting for recording to start...":"Waiting for recording to start...","Record call":"Record call",Reactions:"Reactions",Statistics:"Statistics","You can now share your screen.":"You can now share your screen.","Awaiting for an approval to share screen.":"Awaiting for an approval to share screen.","You can no longer share your screen.":"You can no longer share your screen.","Share screen":"Share screen","Incoming Call...":"Incoming Call...","Calling...":"Calling...","Mute All":"Mute All",Invite:"Invite",Join:"Join",You:"You",Me:"Me",Unknown:"Unknown","Toggle device menu":"Toggle device menu",Default:"Default","Call Recordings":"Call Recordings",Refresh:"Refresh","Check your browser video permissions":"Check your browser video permissions","Video publishing is disabled by the system":"Video publishing is disabled by the system","You have no permission to share your video":"You have no permission to share your video","You have no permission to share your audio":"You have no permission to share your audio","You are presenting your screen":"You are presenting your screen","Stop Screen Sharing":"Stop Screen Sharing",Allow:"Allow",Revoke:"Revoke",Dismiss:"Dismiss","Microphone on":"Microphone on","Microphone off":"Microphone off","Camera on":"Camera on","Camera off":"Camera off","No camera found":"No camera found","Video is disabled":"Video is disabled",Pinned:"Pinned",Unpin:"Unpin",Pin:"Pin","Pin for everyone":"Pin for everyone","Unpin for everyone":"Unpin for everyone",Block:"Block",Kick:"Kick","Turn off video":"Turn off video","Turn off screen share":"Turn off screen share","Mute audio":"Mute audio","Mute screen share audio":"Mute screen share audio","Allow audio":"Allow audio","Allow video":"Allow video","Allow screen sharing":"Allow screen sharing","Disable audio":"Disable audio","Disable video":"Disable video","Disable screen sharing":"Disable screen sharing",Enter:"Enter",Leave:"Leave","Leave call":"Leave call","End call for all":"End call for all","{{ direction }} fullscreen":"{{ direction }} fullscreen","{{ direction }} picture-in-picture":"{{ direction }} picture-in-picture","Dominant Speaker":"Dominant Speaker","Poor connection quality":"Poor connection quality. Please check your internet connection.","Video paused due to insufficient bandwidth":"Video paused due to insufficient bandwidth",Participants:"Participants",Anonymous:", and ({{ count }}) anonymous","No participants found":"No participants found","Participants ({{ numberOfParticipants }})":"Participants ({{ numberOfParticipants }})","{{ userName }} is sharing their screen":"{{ userName }} is sharing their screen","{{ userName }} is requesting to speak":"{{ userName }} is requesting to speak","{{ userName }} is requesting to share their camera":"{{ userName }} is requesting to share their camera","{{ userName }} is requesting to present their screen":"{{ userName }} is requesting to present their screen","{{ userName }} is requesting permission: {{ permission }}":"{{ userName }} is requesting permission: {{ permission }}"}},er=e=>(0,a.jsx)(o.Dv,{translationsOverrides:et,...e});er.displayName="StreamVideo";let en=e=>"string"==typeof e&&/^((?:(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2}(?:\.\d+)?))(Z|[+-]\d{2}:\d{2})?)$/.test(e),ei=(e,t)=>{let r="function"==typeof t?t:e=>(function e(t,r){return"$and"in r?r.$and.every(r=>e(t,r)):"$or"in r?r.$or.some(r=>e(t,r)):"$not"in r?!e(t,r.$not):function(e,t){let r=!0;for(let n of Object.keys(t)){let i=t[n],s=i&&"object"==typeof i,o=e[n];if(o instanceof Date?o=o.getTime():en(o)&&(o=new Date(o).getTime()),s&&"$eq"in i){let e=en(i.$eq)?new Date(i.$eq).getTime():i.$eq;r&&(r=e===o)}else if(s&&"$neq"in i)r&&(r=i.$neq!==o);else if(s&&"$in"in i)r&&(r=i.$in.includes(o));else if(s&&"$contains"in i)Array.isArray(o)?r&&(r=o.includes(i.$contains)):r=!1;else if(s&&"$gt"in i){let e=en(i.$gt)?new Date(i.$gt).getTime():i.$gt;r&&(r=o>e)}else if(s&&"$gte"in i){let e=en(i.$gte)?new Date(i.$gte).getTime():i.$gte;r&&(r=o>=e)}else if(s&&"$lt"in i){let e=en(i.$lt)?new Date(i.$lt).getTime():i.$lt;r&&(r=o<e)}else if(s&&"$lte"in i){let e=en(i.$lte)?new Date(i.$lte).getTime():i.$lte;r&&(r=o<=e)}else r&&(r=i===o);if(!r)return!1}return!0}(t,r)}
1)({userId:e.userId,isSpeaking:e.isSpeaking,isDominantSpeaker:e.isDominantSpeaker,name:e.name,roles:e.roles,isPinned:(0,s.T4)(e),hasVideo:(0,s.aV)(e),hasAudio:(0,s.Fv)(e),hasScreenShare:(0,s.Mc)(e)},t);return e.filter(r)},es=e=>{let t=s.iV.get(e.type);e.setSortParticipantsBy(t.options.sortParticipantsBy||s.B6)},eo=(e,t)=>e.isLocalParticipant?1:t.isLocalParticipant?-1:0,ea=()=>{let{useIsCallLive:e,useCallSession:t}=(0,o.R3)(),r=e(),n=t(),[i,s]=(0,c.useState)(()=>{if(!n||!n.live_started_at)return 0;let e=new Date(n.live_started_at);return Math.floor((new Date().getTime()-e.getTime())/1e3)});return(0,c.useEffect)(()=>{if(!r)return;let e=setInterval(()=>{s(e=>e+1)},1e3);return()=>{clearInterval(e)}},[r]),i},ec=()=>{let{participantViewElement:e}=v(),[t,r]=(0,c.useState)(!!document.fullscreenElement);return(0,c.useEffect)(()=>{let e=()=>r(!!document.fullscreenElement);return document.addEventListener("fullscreenchange",e),()=>{document.removeEventListener("fullscreenchange",e)}},[]),(0,c.useCallback)(()=>{t?document.exitFullscreen().catch(e=>{console.error("Failed to exit fullscreen",e)}):e?.requestFullscreen().catch(e=>{console.error("Failed to enter fullscreen",e)})},[t,e])},el=e=>{let t=Math.floor(e/86400),r=Math.floor(e/3600),n=Math.floor(e%3600/60),i=e%60;return`${t?t+" ":""}${r?r+":":""}${n<10?"0":""}${n}:${i<10?"0":""}${i}`},[ed,eu,ep]="1.30.0".split(".");(0,s.x8)({type:s.hc.SdkType.REACT,major:ed,minor:eu,patch:ep})}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.