{"version":3,"sources":["components/VideoProvider/useSelectedParticipant/useSelectedParticipant.tsx","utils/index.ts","hooks/useLocalVideoToggle/useLocalVideoToggle.tsx","components/VideoProvider/AttachVisibilityHandler/AttachVisibilityHandler.tsx","constants.ts","components/VideoProvider/useBackgroundSettings/useBackgroundSettings.ts","images/MEDWhite.jpg","images/thumb/MEDWhite.jpg","images/MEDBlue.jpg","images/thumb/MEDBlue.jpg","images/PlainGrey.jpg","images/thumb/PlainGrey.jpg","hooks/useMediaStreamTrack/useMediaStreamTrack.ts","state/settings/settingsReducer.ts","hooks/useDevices/useDevices.tsx","state/useFirebaseAuth/useFirebaseAuth.ts","state/usePasscodeAuth/usePasscodeAuth.ts","state/index.tsx","state/useActiveSinkId/useActiveSinkId.ts","components/VideoProvider/useRoom/useRoom.tsx","components/VideoProvider/index.tsx","components/VideoProvider/useLocalTracks/useLocalTracks.ts","components/VideoProvider/useScreenShareToggle/useScreenShareToggle.tsx","components/VideoProvider/useHandleRoomDisconnection/useHandleRoomDisconnection.ts","components/VideoProvider/useHandleTrackPublicationFailed/useHandleTrackPublicationFailed.ts","components/VideoProvider/useRestartAudioTrackOnDeviceChange/useRestartAudioTrackOnDeviceChange.ts","hooks/useVideoContext/useVideoContext.ts","components/Buttons/EndCallButton/EndCallButton.tsx","components/AboutDialog/AboutDialog.tsx","icons/BackgroundIcon.tsx","hooks/useIsTrackEnabled/useIsTrackEnabled.tsx","components/AudioLevelIndicator/AudioLevelIndicator.tsx","components/DeviceSelectionDialog/AudioInputList/AudioInputList.tsx","components/DeviceSelectionDialog/AudioOutputList/AudioOutputList.tsx","components/VideoTrack/VideoTrack.tsx","hooks/useVideoTrackDimensions/useVideoTrackDimensions.tsx","components/DeviceSelectionDialog/VideoInputList/VideoInputList.tsx","components/DeviceSelectionDialog/DeviceSelectionDialog.tsx","icons/InfoIconOutlined.tsx","icons/StartRecordingIcon.tsx","icons/StopRecordingIcon.tsx","icons/SettingsIcon.tsx","components/ChatProvider/index.tsx","hooks/useChatContext/useChatContext.ts","hooks/useIsRecording/useIsRecording.ts","icons/FlipCameraIcon.tsx","components/MenuBar/Menu/Menu.tsx","hooks/useFlipCameraToggle/useFlipCameraToggle.tsx","hooks/useRoomState/useRoomState.tsx","icons/MicIcon.tsx","icons/MicOffIcon.tsx","components/Buttons/ToggleAudioButton/ToggleAudioButton.tsx","hooks/useLocalAudioToggle/useLocalAudioToggle.tsx","icons/ChatIcon.tsx","components/Buttons/ToggleChatButton/ToggleChatButton.tsx","icons/VideoOffIcon.tsx","icons/VideoOnIcon.tsx","components/Buttons/ToggleVideoButton/ToggleVideoButton.tsx","icons/ScreenShareIcon.tsx","hooks/useScreenShareParticipant/useScreenShareParticipant.tsx","components/Buttons/ToogleScreenShareButton/ToggleScreenShareButton.tsx","icons/ErrorIcon.tsx","icons/WarningIcon.tsx","icons/InfoIcon.tsx","components/Snackbar/Snackbar.tsx","icons/Snapshot.tsx","components/Buttons/ToggleSnapshotButton/ToggleSnapshotButton.tsx","components/MenuBar/MenuBar.tsx","components/MobileTopMenuBar/MobileTopMenuBar.tsx","components/PreJoinScreens/PatientInformationScreen/PatientInformationScreen.tsx","icons/AvatarIcon.tsx","components/LocalAudioLevelIndicator/LocalAudioLevelIndicator.tsx","components/PreJoinScreens/DeviceSelectionScreen/LocalVideoPreview/LocalVideoPreview.tsx","components/ConnectionOptionsDialog/ConnectionOptionsDialog.tsx","components/PreJoinScreens/DeviceSelectionScreen/SettingsMenu/SettingsMenu.tsx","components/PreJoinScreens/DeviceSelectionScreen/DeviceSelectionScreen.tsx","components/PreJoinScreens/CallEndedScreen/CallEndedScreen.tsx","components/IntroContainer/MyEmergencyDrLogo.tsx","components/IntroContainer/MED-logo-rgb.png","components/IntroContainer/IntroContainer.tsx","components/PreJoinScreens/MediaErrorSnackbar/MediaErrorSnackbar.tsx","components/PreJoinScreens/RoomNameScreen/TermsAndConditionsDialog/TermsAndConditionsDialog.tsx","constants/sitecodes.ts","utils/cleanSitecodeString.ts","constants/regex.ts","constants/categories.ts","components/PreJoinScreens/RoomNameScreen/RoomNameScreen.tsx","components/OverlayLoading/OverlayLoading.tsx","components/PreJoinScreens/PreJoinScreens.tsx","components/OverlayLoading/index.tsx","utils/checkSpecialSitecodes.ts","components/PreJoinScreens/CallCanceledScreen/CallCanceledScreen.tsx","components/RecordingNotifications/RecordingNotifications.tsx","components/ReconnectingNotification/ReconnectingNotification.tsx","icons/CloseIcon.tsx","components/ChatWindow/ChatWindowHeader/ChatWindowHeader.tsx","icons/FileAttachmentIcon.tsx","icons/SendMessageIcon.tsx","components/ChatWindow/ChatInput/ChatInput.tsx","components/ChatWindow/MessageList/MessageInfo/MessageInfo.tsx","components/ChatWindow/MessageList/MessageListScrollContainer/MessageListScrollContainer.tsx","components/ChatWindow/MessageList/TextMessage/TextMessage.tsx","icons/FileDownloadIcon.tsx","components/ChatWindow/MessageList/MediaMessage/MediaMessage.tsx","components/ChatWindow/MessageList/MessageList.tsx","components/ChatWindow/ChatWindow.tsx","components/NetworkQualityLevel/NetworkQualityLevel.tsx","hooks/useParticipantNetworkQualityLevel/useParticipantNetworkQualityLevel.tsx","components/ParticipantInfo/PinIcon/PinIcon.tsx","hooks/useIsTrackSwitchedOff/useIsTrackSwitchedOff.tsx","hooks/usePublications/usePublications.tsx","hooks/useTrack/useTrack.tsx","hooks/useParticipantIsReconnecting/useParticipantIsReconnecting.ts","components/ParticipantInfo/ParticipantInfo.tsx","components/AudioTrack/AudioTrack.tsx","components/Publication/Publication.tsx","components/ParticipantTracks/ParticipantTracks.tsx","components/Participant/Participant.tsx","hooks/useDominantSpeaker/useDominantSpeaker.tsx","hooks/useParticipants/useParticipants.tsx","hooks/useMainParticipant/useMainParticipant.tsx","components/ParticipantList/ParticipantList.tsx","components/MainParticipantInfo/MainParticipantInfo.tsx","components/MainParticipant/MainParticipant.tsx","components/BackgroundSelectionDialog/BackgroundSelectionHeader/BackgroundSelectionHeader.tsx","components/BackgroundSelectionDialog/BackgroundThumbnail/BackgroundThumbnail.tsx","components/BackgroundSelectionDialog/BackgroundSelectionDialog.tsx","components/Room/Room.tsx","images/Maintenance.jpg","images/Disaster.jpg","components/MaintenancePage/MaintenancePage.tsx","appConfig.ts","App.tsx","hooks/useHeight/useHeight.ts","components/ErrorDialog/ErrorDialog.tsx","components/ErrorDialog/enhanceMessage.ts","components/LoginPage/google-logo.svg","components/LoginPage/LoginPage.tsx","components/PrivateRoute/PrivateRoute.tsx","theme.ts","utils/useConnectionOptions/useConnectionOptions.ts","components/UnsupportedBrowserWarning/UnsupportedBrowserWarning.tsx","index.tsx"],"names":["selectedParticipantContext","createContext","useSelectedParticipant","useContext","SelectedParticipantProvider","room","children","useState","selectedParticipant","_setSelectedParticipant","useEffect","onDisconnect","handleParticipantDisconnected","participant","prevParticipant","on","off","Provider","value","isMobile","navigator","userAgent","test","removeUndefineds","obj","isPlainObject","target","key","val","getDeviceInfo","mediaDevices","enumerateDevices","devices","audioInputDevices","filter","device","kind","videoInputDevices","audioOutputDevices","hasAudioInputDevices","some","hasVideoInputDevices","isPermissionDenied","name","permissions","query","result","state","isIOS","includes","platform","document","useLocalVideoToggle","useVideoContext","localTracks","getLocalVideoTrack","removeLocalVideoTrack","onError","localParticipant","videoTrack","find","track","isPublishing","setIspublishing","toggleVideoEnabled","useCallback","localTrackPublication","unpublishTrack","emit","then","publishTrack","priority","catch","finally","AttachVisibilityHandler","isVideoEnabled","shouldRepublishVideoOnForeground","useRef","handleVisibilityChange","visibilityState","current","addEventListener","removeEventListener","blurProcessor","virtualBackgroundProcessor","DEFAULT_VIDEO_CONSTRAINTS","width","height","frameRate","SELECTED_AUDIO_INPUT_KEY","SELECTED_AUDIO_OUTPUT_KEY","SELECTED_VIDEO_INPUT_KEY","SELECTED_BACKGROUND_SETTINGS_KEY","VIDEOBASEURL","USER_DEFAULT_ROOM_KEY","TASK_ID","AWSConfig","s3Bucket","testDir","uatDir","prodDir","region","AZURE_APP_CONFIG_CONNECTION_STRING","process","AZURE_CONNECT_ID","AZURE_CONNECT_SECRET","images","MEDWhiteThumb","MEDBlueThumb","rawImagePaths","MEDWhite","MEDBlue","PlainGrey","imageElements","Map","getImage","index","Promise","resolve","reject","has","get","img","Image","onload","set","onerror","src","backgroundConfig","imageNames","virtualBackgroundAssets","setDefaultBackground","localStorageSettings","window","localStorage","getItem","searchStr","sessionStorage","defaultBackground","type","isAgentCall","URLSearchParams","JSON","parse","useMediaStreamTrack","mediaStreamTrack","setMediaStreamTrack","handleStarted","initialSettings","trackSwitchOffMode","undefined","dominantSpeakerPriority","bandwidthProfileMode","maxAudioBitrate","contentPreferencesMode","clientTrackSwitchOffControl","inputLabels","setting","settingsReducer","action","useDevices","deviceInfo","setDeviceInfo","getDevices","REACT_APP_FIREBASE_API_KEY","REACT_APP_FIREBASE_AUTH_DOMAIN","REACT_APP_FIREBASE_DATABASE_URL","REACT_APP_FIREBASE_STORAGE_BUCKET","REACT_APP_FIREBASE_MESSAGING_SENDER_ID","uri","location","href","match","endpoint","fetchToken","passcode","create_room","create_conversation","REACT_APP_DISABLE_TWILIO_CONVERSATIONS","console","log","user_identity","room_name","verify_passcode","fetch","method","headers","body","stringify","verifyPasscode","res","json","jsonResponse","status","isValid","error","message","ok","token","getErrorMessage","usePasscodeAuth","history","useHistory","user","setUser","isAuthReady","setIsAuthReady","getToken","errorMessage","statusText","Error","updateRecordingRules","room_sid","rules","code","search","getPasscode","setItem","slice","trim","verification","replace","pathname","removeItem","signIn","signOut","StateContext","AppStateProvider","props","setError","isFetching","setIsFetching","activeSinkId","_setActiveSinkId","setActiveSinkId","sinkId","selectedSinkId","deviceId","useActiveSinkId","useReducer","settings","dispatchSetting","roomType","setRoomType","taskSid","setTaskSid","contextValue","room_type","err","useAppState","context","TwilioVideo","Video","VideoContext","VideoProvider","options","onErrorCallback","audioTrack","setAudioTrack","setVideoTrack","mediaTrack","isAcquiringLocalTracks","setIsAcquiringLocalTracks","getLocalAudioTrack","exact","createLocalAudioTrack","newTrack","selectedVideoDeviceId","hasSelectedVideoDevice","Date","now","createLocalVideoTrack","removeLocalAudioTrack","stop","getAudioAndVideoTracks","selectedAudioDeviceId","hasSelectedAudioDevice","isCameraPermissionDenied","isMicrophonePermissionDenied","shouldAcquireAudio","localTrackConstraints","video","audio","createLocalTracks","tracks","newVideoTrack","newAudioTrack","getSettings","useLocalTracks","setRoom","isConnecting","setIsConnecting","optionsRef","connect","newRoom","Sentry","category","level","Info","data","VideoRoomMonitor","registerVideoRoom","disconnect","self","top","parent","postMessage","getTaskSid","setMaxListeners","once","setTimeout","endCall","twilioRoom","videoTracks","forEach","publication","setPriority","e","useRoom","isSharing","setIsSharing","stopScreenShareRef","shareScreen","getDisplayMedia","stream","getTracks","trackPublication","onended","toggleScreenShare","useScreenShareToggle","isSharingScreen","snapImage","setSnapImage","snapSending","setSnapSending","isStatic","setIsStatic","onDisconnected","_","useHandleRoomDisconnection","useHandleTrackPublicationFailed","handleDeviceChange","readyState","restart","useRestartAudioTrackOnDeviceChange","isBackgroundSelectionOpen","setIsBackgroundSelectionOpen","backgroundSettings","setBackgroundSettings","removeProcessor","processor","addProcessor","isSupported","handleProcessorChange","GaussianBlurBackgroundProcessor","assetsPath","loadModel","VirtualBackgroundProcessor","ImageFit","Cover","backgroundImage","fitType","useBackgroundSettings","useStyles","makeStyles","theme","createStyles","button","background","brand","color","typography","padding","spacing","display","flexDirection","justifyContent","alignItems","btnGroup","btn","backgroundColor","borderRadius","gray","EndCallButton","classes","handleEndCall","React","anchorEl","setAnchorEl","agentCall","setAgentCall","searchParams","agentName","agentRoom","open","Boolean","id","innerHeight","positionLeft","innerWidth","positionTop","Button","onClick","event","currentTarget","className","clsx","Popover","anchorPosition","left","anchorReference","Typography","AboutDialog","onClose","Dialog","fullWidth","maxWidth","DialogTitle","Divider","DialogContent","DialogContentText","String","version","appVersion","REACT_APP_GIT_TAG","REACT_APP_GIT_COMMIT","DialogActions","variant","autoFocus","BackgroundIcon","viewBox","fill","xmlns","fillRule","clipRule","d","useIsTrackEnabled","isEnabled","setIsEnabled","setEnabled","setDisabled","audioContext","clipId","getUniqueClipId","AudioContext","webkitAudioContext","initializeAnalyser","audioSource","createMediaStreamSource","analyser","createAnalyser","smoothingTimeConstant","fftSize","AudioLevelIndicator","SVGRectRef","setAnalyser","isTrackEnabled","newMediaStream","MediaStream","clone","stopAllMediaStreamTracks","reinitializeAnalyser","SVGClipElement","sampleArray","Uint8Array","frequencyBinCount","timer","interval","getByteFrequencyData","values","length","i","volume","Math","min","max","log10","setAttribute","clipPathId","ref","x","y","transform","clipPath","rx","ry","strokeWidth","memo","AudioInputList","localAudioTrack","localAudioInputDeviceId","gutterBottom","Grid","container","FormControl","Select","onChange","newDeviceId","map","MenuItem","label","AudioOutputList","activeOutputLabel","styled","VideoTrack","isLocal","dimensions","setDimensions","handleDimensionsChanged","useVideoTrackDimensions","isPortrait","el","muted","attach","detach","srcObject","isFrontFacing","facingMode","style","objectFit","preview","maxHeight","margin","VideoInputList","localVideoTrack","storedLocalVideoDeviceId","setStoredLocalVideoDeviceId","localVideoInputDeviceId","minHeight","breakpoints","down","float","paper","headline","marginBottom","fontSize","listSection","DeviceSelectionDialog","InfoIconOutlined","StartRecordingIcon","StopRecordingIcon","SettingsIcon","ChatContext","ChatProvider","isChatWindowOpenRef","isChatWindowOpen","setIsChatWindowOpen","conversation","setConversation","messages","setMessages","hasUnreadMessages","setHasUnreadMessages","chatClient","setChatClient","Client","create","client","handleMessageAdded","oldMessages","getMessages","newMessages","items","getConversationByUniqueName","sid","newConversation","chatConversation","useChatContext","useIsRecording","isRecording","setIsRecording","handleRecordingStarted","handleRecordingStopped","FlipCameraIcon","IconContainer","marginRight","Menu","useMediaQuery","aboutOpen","setAboutOpen","menuOpen","setMenuOpen","settingsOpen","setSettingsOpen","setIsAgentCall","anchorRef","supportsFacingMode","setSupportsFacingMode","toggleFacingMode","newFacingMode","flipCameraDisabled","flipCameraSupported","useFlipCameraToggle","isOpen","buttonClassName","anchorOrigin","vertical","horizontal","transformOrigin","disabled","all","toggleMonitor","useRoomState","setState","setRoomState","MicIcon","MicOffIcon","ToggleAudioButton","disable","enable","useLocalAudioToggle","isAudioEnabled","toggleAudioEnabled","hasAudioTrack","startIcon","ChatIcon","ANIMATION_DURATION","iconContainer","position","circle","opacity","transition","ring","border","animateRing","animation","animationIterationCount","ToggleChatButton","shouldAnimate","setShouldAnimate","handleNewMessage","VideoOffIcon","VideoOnIcon","ToggleVideoButton","lastClickTimeRef","toggleVideo","ScreenShareIcon","useScreenShareParticipant","screenShareParticipant","setScreenShareParticipant","updateScreenShareParticipant","Array","from","participants","concat","trackName","SCREEN_SHARE_TEXT","SHARE_IN_PROGRESS_TEXT","SHARE_NOT_SUPPORTED_TEXT","ToggleScreenShareButton","disableScreenShareButton","isScreenShareSupported","isDisabled","tooltipMessage","Tooltip","title","placement","PopperProps","disablePortal","cursor","ErrorIcon","stroke","WarningIcon","InfoIcon","boxShadow","contentContainer","lineHeight","fontWeight","borderLeft","warning","info","Snackbar","handleClose","reason","autoHideDuration","component","IconButton","size","ScreenShot","SNAPSHOT_TEXT","ToggleSnapshotButton","activeSnack","setActiveSnack","handleScreenshot","blob","Blob","reader","FileReader","captureDevice","ImageCapture","takePhoto","readAsDataURL","onloadend","base64","createElement","canvas","getContext","mode","getUserMedia","firstLoad","videoWidth","videoHeight","controls","autoplay","play","drawImage","toBlob","blobObj","pause","removeAttribute","load","CircularProgress","palette","default","bottom","right","footerHeight","zIndex","screenShareBanner","hideMobile","MenuBar","isReconnecting","justify","Hidden","smDown","flex","item","paddingLeft","mobileTopBarHeight","endCallButton","settingsButton","minWidth","MobileTopMenuBar","inputContainer","textFieldContainer","continueButton","RoomNameScreen","lastName","phonenumber","contactName","contactLastName","contactPhonenumber","setName","setLastName","setPhoneNumber","handleSubmit","oldName","setOldName","oldLastName","setOldLastName","oldPhone","setOldPhone","onSubmit","FormControlLabel","control","Checkbox","autoCapitalize","checked","InputLabel","shrink","htmlFor","TextField","AvatarIcon","cx","cy","r","strokeLinejoin","LocalAudioLevelIndicator","overflow","paddingTop","innerContainer","identityContainer","identity","avatarContainer","LocalVideoPreview","formControl","withDefault","ConnectionOptionsDialog","handleChange","handleNumberChange","xs","hidden","sm","placeholder","SettingsMenu","mobileButtonClass","deviceSettingsOpen","setDeviceSettingsOpen","connectionSettingsOpen","setConnectionSettingsOpen","getContentAnchorEl","marginTop","deviceButton","localPreviewContainer","paddingRight","joinButtons","mobileButtonBar","mobileButton","input","noBorder","DeviceSelectionScreen","roomName","email","setStep","patientName","patientLastName","patientPhoneNumber","siteCode","chatConnect","videoConnect","joinScreenSiteCode","setjoinScreenSiteCode","showSiteCodeField","setShowSiteCodeField","siteCodeError","setSiteCodeError","hasSiteFieldHospital","disableButtons","isStaticParam","direction","md","mdUp","InputProps","autoComplete","notchedOutline","step","isEndSession","Steps","callEnded","callCanceled","handleCancel","roomNameStep","isValidate","validateSiteCodeField","isTaskCreated","isEscalate","isAssignToAgent","linkExpireCode","callSid","outCallSid","workflowSid","environment","triageCat","phoneNumber","agentSID","escalate","response","newTaskId","TaskId","googleButton","textTransform","passcodeContainer","submitButton","fileButtonLoadingSpinner","marginLeft","rejoinButton","CallEndedScreen","deviceSelectionStep","medlogo","MyEmergencyDrLogo","role","swooshContainer","backgroundSize","backgroundPositionY","logoContainer","textAlign","logo","twilioLogo","myemergencydrLogo","content","IntroContainer","alt","MediaErrorSnackbar","isSnackbarDismissed","setIsSnackbarDismissed","isSnackbarOpen","hasAudio","hasVideo","getSnackbarContent","TermsAndConditionsDialog","onResult","onCloseClick","acceptTermsAndConditions","ASPEN_SITECODES","ASPEN_SITECODE","SPECIAL_SITECODES","INVALID_CHARACTERS","cleanSitecodeString","sitecode","invalidCharacters","pattern","RegExp","join","postCodeRegex","CATEGORIES_LIST","flexContainer","textFieldContainerHalf","disableSitecode","termsAndConditions","setCategory","setSiteCode","setTermsAndConditions","showRoomName","setShowRoomName","canSubmit","setCanSubmit","showConfirmDialog","setShowConfirmDialog","phoneError","setPhoneError","validate","hasUsername","displayName","task","timeout","url","siteCodeValue","URL","clearTimeout","labelId","categoryItem","rel","cleanedSitecode","SiteCodeValidStatus","loadingContainer","OverlayLoading","loading","checkSpecialSitecode","text","Snackbars","DEFAULT_POSTCODE","PreJoinScreens","URLRoomName","useParams","setPatientName","setPatientLastName","setPatientPhoneNumber","setRoomName","setLoading","setDisableSitecode","notStarted","sitecodeValidStatus","setSitecodeValidStatus","v2vCall","setV2vCall","setEmail","bypassForm","setBypassForm","haveTask","setHaveTask","executionFlag","setExecutionFlag","mediaError","setMediaError","handlePatientSubmit","preventDefault","rn","theTime","getTime","toString","uniqueCode","substr","updateBrowserState","newRoomName","origin","replaceState","encodeURI","checkSiteCode","found","dtheTime","duniqueCode","checkedAndPassed","checkedAndFailed","generateRoomName","phone","lastname","patientDetails","isName","decodeURIComponent","isSitecode","isLastName","isPostcode","isPhone","cleanedPostcode","isSpecial","dir","isLastname","ReconnectingNotification","roomState","RecordingNotifications","none","activeSnackbar","setActiveSnackbar","prevIsRecording","recordingInProgress","recordingStarted","recordingFinished","CloseIcon","borderBottom","closeChatWindow","ChatWindowHeader","FileAttachmentIcon","chatInputContainer","borderTop","textArea","resize","fontFamily","outline","buttonContainer","fileButtonContainer","textAreaContainer","isTextareaFocused","borderColor","primary","main","s3","AWS","S3","accessKeyId","ACCESS_KEY_ID","secretAccessKey","SECRET_ACCESS_KEY","ALLOWED_FILE_TYPES","ChatInput","messageBody","setMessageBody","isSendingFile","setIsSendingFile","fileSendError","setFileSendError","isValidMessage","textInputRef","fileInputRef","setIsTextareaFocused","handleSendFile","file","files","formData","FormData","append","sendMessage","extension","filename","split","date","toISOString","finalFile","dirName","params","Body","Bucket","Key","upload","arr","mime","bstr","atob","n","u8arr","charCodeAt","File","focus","handleSendMessage","TextareaAutosize","minRows","maxRows","onKeyPress","shiftKey","onFocus","onBlur","wrap","accept","click","messageInfoContainer","MessageInfo","author","dateCreated","isLocalParticipant","styles","outerContainer","innerScrollContainer","overflowY","messageListContainer","paddingBottom","visibility","showButton","MessageListScrollContainer","chatThreadRef","createRef","isScrolledToBottom","messageNotificationCount","handleScroll","throttle","innerScrollContainerEl","abs","clientHeight","scrollTop","scrollHeight","prevState","handleClick","scrollTo","behavior","this","scrollToBottom","prevProps","hasNewMessages","numberOfNewMessages","previousState","Component","withStyles","messageContainer","wordBreak","hyphens","whiteSpace","addLinks","matches","linkify","results","lastIndex","push","Link","TextMessage","FileDownloadIcon","mediaInfo","textOverflow","formatFileSize","bytes","suffixIndex","toFixed","FileMessage","media","getContentTemporaryUrl","getFormattedTime","toLocaleTimeString","hour","minute","toLowerCase","MessageList","idx","time","shouldDisplayMessageInfo","Fragment","chatWindowContainer","hide","ChatWindow","borderRight","STEP","BARS_ARRAY","NetworkQualityLevel","networkQualityLevel","setNetworkQualityLevel","handleNewtorkQualityLevelChange","newNetworkQualityLevel","useParticipantNetworkQualityLevel","PinIcon","SvgIcon","boxSizing","useIsTrackSwitchedOff","isSwitchedOff","setIsSwitchedOff","handleSwitchedOff","handleSwitchedOn","usePublications","publications","setPublications","publicationAdded","prevPublications","publicationRemoved","p","useTrack","setTrack","removeTrack","useParticipantIsReconnecting","setIsReconnecting","handleReconnecting","handleReconnected","participantBorderWidth","sidebarMobileHeight","infoContainer","reconnectingContainer","screenShareIconContainer","infoRowBottom","typeography","hideParticipant","cursorPointer","ParticipantInfo","isSelected","audioPublication","videoPublication","isScreenShareEnabled","isVideoSwitchedOff","isParticipantReconnecting","AudioTrack","audioEl","appendChild","remove","setSinkId","Publication","videoOnly","videoPriority","ParticipantTracks","filteredPublications","enableScreenShare","Participant","useDominantSpeaker","dominantSpeaker","setDominantSpeaker","handleDominantSpeakerChanged","newDominantSpeaker","prevDominantSpeaker","useParticipants","setParticipants","prevParticipants","participantConnected","participantDisconnected","useMainParticipant","gridArea","overflowX","transparentBackground","scrollContainer","sidebarWidth","sidebarMobilePadding","innerScrollContainerNotAgent","ParticipantList","setSelectedParticipant","mainParticipant","isRemoteParticipantScreenSharing","recordingIndicator","MainParticipantInfo","screenSharePublication","MainParticipant","closeBackgroundSelection","BackgroundSelectionHeader","thumbContainer","thumbIconContainer","grey","thumbIcon","thumbImage","thumbOverlay","BackgroundThumbnail","thumbnail","imagePath","thumbnailSelected","ThumbnailIcon","NoneIcon","blur","BlurIcon","image","selected","drawer","rightDrawerWidth","thumbnailContainer","flexWrap","BackgroundSelectionDialog","Drawer","anchor","transitionDuration","totalMobileSidebarHeight","gridTemplateColumns","gridTemplateRows","rightDrawerOpen","Room","backgroundRepeat","backgroundPosition","MaintenancePage","flag","MaintenanceImg","DisasterImg","connectionString","configClient","AppConfigurationClient","getFeatureFlag","maintenanceEnabled","disasterEnabled","getConfigurationSetting","maintenanceFlag","disasterFlag","tags","setConfigurationSetting","enabled","Container","Main","mobileFooterHeight","App","maintenanceModeEnabled","setMaintenanceModeEnabled","visualViewport","scale","setHeight","onResize","useHeight","featureFlagValue","fetchFeatureFlag","checkTabActive","windowOnBlur","windowOnFocus","ErrorDialog","dismissError","enhancedMessage","enhanceMessage","LoginPage","useLocation","isAuthEnabled","login","PrivateRoute","rest","renderChildren","render","to","defaultTheme","createTheme","overrides","MuiCssBaseline","MuiButton","root","transitions","duration","short","contained","outlinedPrimary","MuiTypography","body1","MuiInputBase","MuiSelect","MuiDialogActions","MuiTextField","MuiInputLabel","MuiOutlinedInput","useConnectionOptions","connectionOptions","bandwidthProfile","networkQuality","local","remote","Number","preferredVideoCodecs","codec","simulcast","REACT_APP_TWILIO_ENVIRONMENT","maxSubscriptionBitrate","wsServer","heading","UnsupportedBrowserWarning","Paper","dsn","integrations","BrowserTracing","tracesSampleRate","attachStacktrace","VideoApp","ReactDOM","CssBaseline","basename","path","getElementById"],"mappings":"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","file":"static/js/main.a4663946.chunk.js","sourcesContent":["import React, { createContext, useContext, useState, useEffect } from 'react';\nimport { Participant, Room } from 'twilio-video';\n\ntype selectedParticipantContextType = [Participant | null, (participant: Participant) => void];\n\nexport const selectedParticipantContext = createContext(null!);\n\nexport default function useSelectedParticipant() {\n const [selectedParticipant, setSelectedParticipant] = useContext(selectedParticipantContext);\n return [selectedParticipant, setSelectedParticipant] as const;\n}\n\ntype SelectedParticipantProviderProps = {\n room: Room | null;\n children: React.ReactNode;\n};\n\nexport function SelectedParticipantProvider({ room, children }: SelectedParticipantProviderProps) {\n const [selectedParticipant, _setSelectedParticipant] = useState(null);\n const setSelectedParticipant = (participant: Participant) =>\n _setSelectedParticipant(prevParticipant => (prevParticipant === participant ? null : participant));\n\n useEffect(() => {\n if (room) {\n const onDisconnect = () => _setSelectedParticipant(null);\n const handleParticipantDisconnected = (participant: Participant) =>\n _setSelectedParticipant(prevParticipant => (prevParticipant === participant ? null : prevParticipant));\n\n room.on('disconnected', onDisconnect);\n room.on('participantDisconnected', handleParticipantDisconnected);\n return () => {\n room.off('disconnected', onDisconnect);\n room.off('participantDisconnected', handleParticipantDisconnected);\n };\n }\n }, [room]);\n\n return (\n \n {children}\n \n );\n}\n","import { isPlainObject } from 'is-plain-object';\n\nexport const isMobile = (() => {\n if (typeof navigator === 'undefined' || typeof navigator.userAgent !== 'string') {\n return false;\n }\n return /Mobile/.test(navigator.userAgent);\n})();\n\n// Recursively removes any object keys with a value of undefined\nexport function removeUndefineds(obj: T): T {\n if (!isPlainObject(obj)) return obj;\n\n const target: { [name: string]: any } = {};\n\n for (const key in obj) {\n const val = obj[key];\n if (typeof val !== 'undefined') {\n target[key] = removeUndefineds(val);\n }\n }\n\n return target as T;\n}\n\nexport async function getDeviceInfo() {\n const devices = await navigator.mediaDevices.enumerateDevices();\n\n return {\n audioInputDevices: devices.filter(device => device.kind === 'audioinput'),\n videoInputDevices: devices.filter(device => device.kind === 'videoinput'),\n audioOutputDevices: devices.filter(device => device.kind === 'audiooutput'),\n hasAudioInputDevices: devices.some(device => device.kind === 'audioinput'),\n hasVideoInputDevices: devices.some(device => device.kind === 'videoinput'),\n };\n}\n\n// This function will return 'true' when the specified permission has been denied by the user.\n// If the API doesn't exist, or the query function returns an error, 'false' will be returned.\nexport async function isPermissionDenied(name: PermissionName) {\n if (navigator.permissions) {\n try {\n const result = await navigator.permissions.query({ name });\n return result.state === 'denied';\n } catch {\n return false;\n }\n } else {\n return false;\n }\n}\n\nexport const isIOS = (() => {\n return (\n ['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'].includes(navigator.platform) ||\n // iPad on iOS 13 detection\n (navigator.userAgent.includes('Mac') && 'ontouchend' in document)\n );\n})();\n","import { LocalVideoTrack } from 'twilio-video';\nimport { useCallback, useState } from 'react';\nimport useVideoContext from '../useVideoContext/useVideoContext';\n\nexport default function useLocalVideoToggle() {\n const { room, localTracks, getLocalVideoTrack, removeLocalVideoTrack, onError } = useVideoContext();\n const localParticipant = room?.localParticipant;\n const videoTrack = localTracks.find(\n track => !track.name.includes('screen') && track.kind === 'video'\n ) as LocalVideoTrack;\n const [isPublishing, setIspublishing] = useState(false);\n\n const toggleVideoEnabled = useCallback(\n (override: boolean = false) => {\n if (!isPublishing) {\n if (videoTrack && !override) {\n const localTrackPublication = localParticipant?.unpublishTrack(videoTrack);\n // TODO: remove when SDK implements this event. See: https://issues.corp.twilio.com/browse/JSDK-2592\n localParticipant?.emit('trackUnpublished', localTrackPublication);\n removeLocalVideoTrack();\n } else {\n setIspublishing(true);\n getLocalVideoTrack()\n .then((track: LocalVideoTrack) => localParticipant?.publishTrack(track, { priority: 'low' }))\n .catch(onError)\n .finally(() => {\n setIspublishing(false);\n });\n }\n }\n },\n [videoTrack, localParticipant, getLocalVideoTrack, isPublishing, onError, removeLocalVideoTrack]\n );\n\n return [!!videoTrack, toggleVideoEnabled] as const;\n}\n","import { isMobile } from '../../../utils';\nimport { useEffect, useRef } from 'react';\nimport useLocalVideoToggle from '../../../hooks/useLocalVideoToggle/useLocalVideoToggle';\nimport useVideoContext from '../../../hooks/useVideoContext/useVideoContext';\n\n/* \n This component adds a visibilitychange handler to the document when\n the user is using a mobile device. When the handler detects that\n the browser has been backgrounded, it unpublishes the users local\n video track. The browser cannot send video to the room when it has\n been backgrounded, so unpublishing the track stops video capture\n on the device, and triggers a UI update for all other participants\n to show that this user's video track has been turned off.\n*/\n\nexport default function AttachVisibilityHandler() {\n const { room } = useVideoContext();\n const [isVideoEnabled, toggleVideoEnabled] = useLocalVideoToggle();\n const shouldRepublishVideoOnForeground = useRef(false);\n\n useEffect(() => {\n if (room && isMobile) {\n const handleVisibilityChange = () => {\n // We don't need to unpublish the local video track if it has already been unpublished\n if (document.visibilityState === 'hidden' && isVideoEnabled) {\n shouldRepublishVideoOnForeground.current = true;\n toggleVideoEnabled();\n\n // Don't publish the local video track if it wasn't published before the app was backgrounded\n } else if (shouldRepublishVideoOnForeground.current) {\n shouldRepublishVideoOnForeground.current = false;\n toggleVideoEnabled();\n }\n };\n\n document.addEventListener('visibilitychange', handleVisibilityChange);\n return () => {\n document.removeEventListener('visibilitychange', handleVisibilityChange);\n };\n }\n }, [isVideoEnabled, room, toggleVideoEnabled]);\n\n return null;\n}\n","export const DEFAULT_VIDEO_CONSTRAINTS: MediaStreamConstraints['video'] = {\n width: 1280,\n height: 720,\n frameRate: 24,\n};\n\n// These are used to store the selected media devices in localStorage\nexport const SELECTED_AUDIO_INPUT_KEY = 'TwilioVideoApp-selectedAudioInput';\nexport const SELECTED_AUDIO_OUTPUT_KEY = 'TwilioVideoApp-selectedAudioOutput';\nexport const SELECTED_VIDEO_INPUT_KEY = 'TwilioVideoApp-selectedVideoInput';\n// This is used to store the current background settings in localStorage\nexport const SELECTED_BACKGROUND_SETTINGS_KEY = 'TwilioVideoApp-selectedBackgroundSettings';\n// Used for calling twilio functions\nexport const TWILIO_FUNCTION_URL = 'https://sandstorm-robin-5218.twil.io';\n\nexport const VIDEOBASEURL = '/video-website';\n\nexport const USER_DEFAULT_ROOM_KEY = 'TwilioVideoApp-defaultRoomValue';\nexport const TASK_ID = 'TaskId';\n\nexport const MAINTAIN_START = '2021-12-14T08:00';\nexport const MAINTAIN_END = '2021-12-14T08:15';\nexport const AWSConfig = {\n s3Bucket: 'connectedmed-videoimaging-prod',\n testDir: '113-TEST',\n uatDir: '213-UAT',\n prodDir: '313-PROD',\n region: 'ap-southeast-2',\n};\n\nexport const AZURE_APP_CONFIG_CONNECTION_STRING = `Endpoint=https://med-app.azconfig.io;Id=${process.env.AZURE_CONNECT_ID};Secret=${process.env.AZURE_CONNECT_SECRET}`;\n","import { LocalVideoTrack, Room } from 'twilio-video';\nimport { useState, useEffect, useCallback } from 'react';\nimport { SELECTED_BACKGROUND_SETTINGS_KEY, VIDEOBASEURL } from '../../../constants';\nimport {\n GaussianBlurBackgroundProcessor,\n VirtualBackgroundProcessor,\n ImageFit,\n isSupported,\n} from '@twilio/video-processors';\nimport MEDWhite from '../../../images/MEDWhite.jpg';\nimport MEDWhiteThumb from '../../../images/thumb/MEDWhite.jpg';\nimport MEDBlue from '../../../images/MEDBlue.jpg';\nimport MEDBlueThumb from '../../../images/thumb/MEDBlue.jpg';\nimport PlainGrey from '../../../images/PlainGrey.jpg';\nimport PlainGreyThumb from '../../../images/thumb/PlainGrey.jpg';\nimport { Thumbnail } from '../../BackgroundSelectionDialog/BackgroundThumbnail/BackgroundThumbnail';\n\nexport interface BackgroundSettings {\n type: Thumbnail;\n index?: number;\n}\n\nconst imageNames: string[] = ['MED White', 'MED Blue'];\n\nconst images = [MEDWhiteThumb, MEDBlueThumb, PlainGreyThumb];\n\nconst rawImagePaths = [MEDWhite, MEDBlue, PlainGrey];\n\nlet imageElements = new Map();\n\nconst getImage = (index: number): Promise => {\n return new Promise((resolve, reject) => {\n if (imageElements.has(index)) {\n return resolve(imageElements.get(index));\n }\n const img = new Image();\n img.onload = () => {\n imageElements.set(index, img);\n resolve(img);\n };\n img.onerror = reject;\n img.src = rawImagePaths[index];\n });\n};\n\nexport const backgroundConfig = {\n imageNames,\n images,\n};\n\nconst virtualBackgroundAssets = `${VIDEOBASEURL}/virtualbackground`;\nlet blurProcessor: GaussianBlurBackgroundProcessor;\nlet virtualBackgroundProcessor: VirtualBackgroundProcessor;\n\nconst setDefaultBackground = () => {\n const localStorageSettings = window.localStorage.getItem(SELECTED_BACKGROUND_SETTINGS_KEY);\n const searchStr = window.sessionStorage.getItem('searchStr');\n let defaultBackground = { type: 'none', index: 0 };\n if (!!searchStr) {\n const searchParams = new URLSearchParams(searchStr);\n const isAgentCall = searchParams.get('isAgentCall');\n if (!!isAgentCall && isAgentCall === 'true') {\n defaultBackground = { type: 'blur', index: 0 };\n }\n }\n return localStorageSettings ? JSON.parse(localStorageSettings) : defaultBackground;\n};\n\nexport default function useBackgroundSettings(videoTrack: LocalVideoTrack | undefined, room?: Room | null) {\n const [backgroundSettings, setBackgroundSettings] = useState(setDefaultBackground);\n\n const removeProcessor = useCallback(() => {\n if (videoTrack && videoTrack.processor) {\n videoTrack.removeProcessor(videoTrack.processor);\n }\n }, [videoTrack]);\n\n const addProcessor = useCallback(\n (processor: GaussianBlurBackgroundProcessor | VirtualBackgroundProcessor) => {\n if (!videoTrack || videoTrack.processor === processor) {\n return;\n }\n removeProcessor();\n videoTrack.addProcessor(processor);\n },\n [videoTrack, removeProcessor]\n );\n\n useEffect(() => {\n if (!isSupported) {\n return;\n }\n // make sure localParticipant has joined room before applying video processors\n // this ensures that the video processors are not applied on the LocalVideoPreview\n const handleProcessorChange = async () => {\n if (!blurProcessor) {\n blurProcessor = new GaussianBlurBackgroundProcessor({\n assetsPath: virtualBackgroundAssets,\n });\n await blurProcessor.loadModel();\n }\n if (!virtualBackgroundProcessor) {\n virtualBackgroundProcessor = new VirtualBackgroundProcessor({\n assetsPath: virtualBackgroundAssets,\n backgroundImage: await getImage(0),\n fitType: ImageFit.Cover,\n });\n await virtualBackgroundProcessor.loadModel();\n }\n if (!room?.localParticipant) {\n return;\n }\n\n if (backgroundSettings.type === 'blur') {\n addProcessor(blurProcessor);\n } else if (backgroundSettings.type === 'image' && typeof backgroundSettings.index === 'number') {\n virtualBackgroundProcessor.backgroundImage = await getImage(backgroundSettings.index);\n addProcessor(virtualBackgroundProcessor);\n } else {\n removeProcessor();\n }\n };\n handleProcessorChange();\n window.localStorage.setItem(SELECTED_BACKGROUND_SETTINGS_KEY, JSON.stringify(backgroundSettings));\n }, [backgroundSettings, videoTrack, room, addProcessor, removeProcessor]);\n\n return [backgroundSettings, setBackgroundSettings] as const;\n}\n","export default __webpack_public_path__ + \"static/media/MEDWhite.acdd7936.jpg\";","export default __webpack_public_path__ + \"static/media/MEDWhite.acdd7936.jpg\";","export default __webpack_public_path__ + \"static/media/MEDBlue.be506918.jpg\";","export default __webpack_public_path__ + \"static/media/MEDBlue.be506918.jpg\";","export default __webpack_public_path__ + \"static/media/PlainGrey.d8390bbf.jpg\";","export default __webpack_public_path__ + \"static/media/PlainGrey.d8390bbf.jpg\";","import { useState, useEffect } from 'react';\nimport { AudioTrack, VideoTrack } from 'twilio-video';\n\n/*\n * This hook allows components to reliably use the 'mediaStreamTrack' property of\n * an AudioTrack or a VideoTrack. Whenever 'localTrack.restart(...)' is called, it\n * will replace the mediaStreamTrack property of the localTrack, but the localTrack\n * object will stay the same. Therefore this hook is needed in order for components\n * to rerender in response to the mediaStreamTrack changing.\n */\nexport default function useMediaStreamTrack(track?: AudioTrack | VideoTrack) {\n const [mediaStreamTrack, setMediaStreamTrack] = useState(track?.mediaStreamTrack);\n\n useEffect(() => {\n setMediaStreamTrack(track?.mediaStreamTrack);\n\n if (track) {\n const handleStarted = () => setMediaStreamTrack(track.mediaStreamTrack);\n track.on('started', handleStarted);\n return () => {\n track.off('started', handleStarted);\n };\n }\n }, [track]);\n\n return mediaStreamTrack;\n}\n","import { Track, VideoBandwidthProfileOptions } from 'twilio-video';\n\nexport interface Settings {\n trackSwitchOffMode: VideoBandwidthProfileOptions['trackSwitchOffMode'];\n dominantSpeakerPriority?: Track.Priority;\n bandwidthProfileMode: VideoBandwidthProfileOptions['mode'];\n maxAudioBitrate: string;\n contentPreferencesMode?: 'auto' | 'manual';\n clientTrackSwitchOffControl?: 'auto' | 'manual';\n}\n\ntype SettingsKeys = keyof Settings;\n\nexport interface SettingsAction {\n name: SettingsKeys;\n value: string;\n}\n\nexport const initialSettings: Settings = {\n trackSwitchOffMode: undefined,\n dominantSpeakerPriority: 'standard',\n bandwidthProfileMode: 'collaboration',\n maxAudioBitrate: '16000',\n contentPreferencesMode: 'auto',\n clientTrackSwitchOffControl: 'auto',\n};\n\n// This inputLabels object is used by ConnectionOptions.tsx. It is used to populate the id, name, and label props\n// of the various input elements. Using a typed object like this (instead of strings) eliminates the possibility\n// of there being a typo.\nexport const inputLabels = (() => {\n const target: any = {};\n for (const setting in initialSettings) {\n target[setting] = setting as SettingsKeys;\n }\n return target as { [key in SettingsKeys]: string };\n})();\n\nexport function settingsReducer(state: Settings, action: SettingsAction) {\n return {\n ...state,\n [action.name]: action.value === 'default' ? undefined : action.value,\n };\n}\n","import { useState, useEffect } from 'react';\nimport { getDeviceInfo } from '../../utils';\n\n// This returns the type of the value that is returned by a promise resolution\ntype ThenArg = T extends PromiseLike ? U : never;\n\nexport default function useDevices() {\n const [deviceInfo, setDeviceInfo] = useState>>({\n audioInputDevices: [],\n videoInputDevices: [],\n audioOutputDevices: [],\n hasAudioInputDevices: false,\n hasVideoInputDevices: false,\n });\n\n useEffect(() => {\n const getDevices = () => getDeviceInfo().then(devices => setDeviceInfo(devices));\n navigator.mediaDevices.addEventListener('devicechange', getDevices);\n getDevices();\n\n return () => {\n navigator.mediaDevices.removeEventListener('devicechange', getDevices);\n };\n }, []);\n\n return deviceInfo;\n}\n","import { useCallback, useEffect, useState } from 'react';\nimport * as firebase from 'firebase/app';\nimport 'firebase/auth';\n\nconst firebaseConfig = {\n apiKey: process.env.REACT_APP_FIREBASE_API_KEY,\n authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,\n databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL,\n storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,\n messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,\n};\n\nconst uri = window.location.href;\nlet endpoint = 'https://sandstorm-robin-5218.twil.io/flexvideotokenizer';\nif (uri?.match('-uat')) endpoint = 'https://ceil-mule-2668.twil.io/flexvideotokenizer';\nif (uri?.match('-test')) endpoint = 'https://ceil-mule-2668.twil.io/flexvideotokenizer';\nif (uri?.match('localhost')) endpoint = 'https://ceil-mule-2668.twil.io/flexvideotokenizer';\n\nexport default function useFirebaseAuth() {\n const [user, setUser] = useState(null);\n const [isAuthReady, setIsAuthReady] = useState(false);\n\n const getToken = useCallback(\n async (user_identity: string, room_name: string) => {\n const headers = new window.Headers();\n\n const idToken = await user!.getIdToken();\n headers.set('Authorization', idToken);\n headers.set('content-type', 'application/json');\n\n return fetch(endpoint, {\n method: 'POST',\n headers,\n body: JSON.stringify({\n user_identity,\n room_name,\n create_conversation: process.env.REACT_APP_DISABLE_TWILIO_CONVERSATIONS !== 'true',\n }),\n }).then(res => res.json());\n },\n [user]\n );\n\n const updateRecordingRules = useCallback(\n async (room_sid, rules) => {\n const headers = new window.Headers();\n\n const idToken = await user!.getIdToken();\n headers.set('Authorization', idToken);\n headers.set('content-type', 'application/json');\n\n return fetch(endpoint, {\n method: 'POST',\n headers,\n body: JSON.stringify({ room_sid, rules }),\n }).then(async res => {\n const jsonResponse = await res.json();\n\n if (!res.ok) {\n const recordingError = new Error(\n jsonResponse.error?.message || 'There was an error updating recording rules'\n );\n recordingError.code = jsonResponse.error?.code;\n return Promise.reject(recordingError);\n }\n\n return jsonResponse;\n });\n },\n [user]\n );\n\n useEffect(() => {\n firebase.initializeApp(firebaseConfig);\n firebase.auth().onAuthStateChanged(newUser => {\n setUser(newUser);\n setIsAuthReady(true);\n });\n }, []);\n\n const signIn = useCallback(() => {\n const provider = new firebase.auth.GoogleAuthProvider();\n provider.addScope('https://www.googleapis.com/auth/plus.login');\n\n return firebase\n .auth()\n .signInWithPopup(provider)\n .then(newUser => {\n setUser(newUser.user);\n });\n }, []);\n\n const signOut = useCallback(() => {\n return firebase\n .auth()\n .signOut()\n .then(() => {\n setUser(null);\n });\n }, []);\n\n return { user, signIn, signOut, isAuthReady, getToken, updateRecordingRules };\n}\n","import { useCallback, useEffect, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nexport function getPasscode() {\n const match = window?.location.search.match(/passcode=([^&]*)/);\n const passcode = match ? match[1] : window.sessionStorage.getItem('passcode');\n return passcode;\n}\n\nconst uri = window.location.href;\nlet endpoint = 'https://sandstorm-robin-5218.twil.io/flexvideotokenizer';\nif (uri?.match('-uat')) endpoint = 'https://ceil-mule-2668.twil.io/flexvideotokenizer';\nif (uri?.match('-test')) endpoint = 'https://ceil-mule-2668.twil.io/flexvideotokenizer';\nif (uri?.match('localhost')) endpoint = 'https://ceil-mule-2668.twil.io/flexvideotokenizer';\n\nexport function fetchToken(\n name: string,\n room: string,\n passcode: string,\n create_room = true,\n create_conversation = process.env.REACT_APP_DISABLE_TWILIO_CONVERSATIONS !== 'true'\n) {\n console.log({\n user_identity: name,\n room_name: room,\n verify_passcode: true,\n passcode,\n create_room,\n create_conversation,\n });\n return fetch(endpoint, {\n method: 'POST',\n headers: {\n 'content-type': 'application/json',\n },\n\n body: JSON.stringify({\n user_identity: name,\n room_name: room,\n verify_passcode: true,\n passcode,\n create_room,\n create_conversation,\n }),\n });\n}\n\nexport function verifyPasscode(passcode: string) {\n return fetchToken('temp-name', 'temp-room', passcode, false /* create_room */, false /* create_conversation */).then(\n async res => {\n const jsonResponse = await res.json();\n if (res.status === 401) {\n return { isValid: false, error: jsonResponse.error?.message };\n }\n\n if (res.ok && jsonResponse.token) {\n return { isValid: true };\n }\n }\n );\n}\n\nexport function getErrorMessage(message: string) {\n switch (message) {\n case 'passcode incorrect':\n return 'Passcode is incorrect';\n case 'passcode expired':\n return 'Passcode has expired';\n default:\n return message;\n }\n}\n\nexport default function usePasscodeAuth() {\n const history = useHistory();\n\n const [user, setUser] = useState<{ displayName: undefined; photoURL: undefined; passcode: string } | null>(null);\n const [isAuthReady, setIsAuthReady] = useState(false);\n\n const getToken = useCallback(\n (name: string, room: string) => {\n return fetchToken(name, room, user!.passcode)\n .then(async res => {\n if (res.ok) {\n return res;\n }\n const json = await res.json();\n const errorMessage = getErrorMessage(json.error?.message || res.statusText);\n throw Error(errorMessage);\n })\n .then(res => res.json());\n },\n [user]\n );\n\n const updateRecordingRules = useCallback(\n async (room_sid, rules) => {\n return fetch(endpoint, {\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ room_sid, rules, passcode: user?.passcode }),\n method: 'POST',\n }).then(async res => {\n const jsonResponse = await res.json();\n\n if (!res.ok) {\n const error = new Error(jsonResponse.error?.message || 'There was an error updating recording rules');\n error.code = jsonResponse.error?.code;\n\n return Promise.reject(error);\n }\n\n return jsonResponse;\n });\n },\n [user]\n );\n\n useEffect(() => {\n const passcode = getPasscode();\n\n if (passcode) {\n window.sessionStorage.setItem('searchStr', window.location.search?.slice(1).trim());\n verifyPasscode(passcode)\n .then(verification => {\n if (verification?.isValid) {\n setUser({ passcode } as any);\n window.sessionStorage.setItem('passcode', passcode);\n history.replace(window.location.pathname);\n } else {\n window.sessionStorage.removeItem('searchStr');\n }\n })\n .then(() => setIsAuthReady(true));\n } else {\n setIsAuthReady(true);\n }\n }, [history]);\n\n const signIn = useCallback((passcode: string) => {\n return verifyPasscode(passcode).then(verification => {\n if (verification?.isValid) {\n setUser({ passcode } as any);\n window.sessionStorage.setItem('passcode', passcode);\n } else {\n throw new Error(getErrorMessage(verification?.error));\n }\n });\n }, []);\n\n const signOut = useCallback(() => {\n setUser(null);\n window.sessionStorage.removeItem('passcode');\n window.sessionStorage.removeItem('searchStr');\n return Promise.resolve();\n }, []);\n\n return { user, isAuthReady, getToken, signIn, signOut, updateRecordingRules };\n}\n","import React, { createContext, useContext, useReducer, useState } from 'react';\nimport { RecordingRules, RoomType } from '../types';\nimport { TwilioError } from 'twilio-video';\nimport { settingsReducer, initialSettings, Settings, SettingsAction } from './settings/settingsReducer';\nimport useActiveSinkId from './useActiveSinkId/useActiveSinkId';\nimport useFirebaseAuth from './useFirebaseAuth/useFirebaseAuth';\nimport usePasscodeAuth from './usePasscodeAuth/usePasscodeAuth';\nimport { User } from 'firebase';\n\nexport interface StateContextType {\n error: TwilioError | Error | null;\n setError(error: TwilioError | Error | null): void;\n getToken(name: string, room: string, passcode?: string): Promise<{ room_type: RoomType; token: string }>;\n user?: User | null | { displayName: undefined; photoURL: undefined; passcode?: string };\n signIn?(passcode?: string): Promise;\n signOut?(): Promise;\n isAuthReady?: boolean;\n isFetching: boolean;\n activeSinkId: string;\n setActiveSinkId(sinkId: string): void;\n settings: Settings;\n dispatchSetting: React.Dispatch;\n roomType?: RoomType;\n updateRecordingRules(room_sid: string, rules: RecordingRules): Promise;\n taskSid: string;\n setTaskSid(taskSid: string): void;\n}\n\nexport const StateContext = createContext(null!);\n\nconst uri = window.location.href;\nlet endpoint = 'https://sandstorm-robin-5218.twil.io/flexvideotokenizer';\nif (uri?.match('-uat')) endpoint = 'https://ceil-mule-2668.twil.io/flexvideotokenizer';\nif (uri?.match('-test')) endpoint = 'https://ceil-mule-2668.twil.io/flexvideotokenizer';\nif (uri?.match('localhost')) endpoint = 'https://ceil-mule-2668.twil.io/flexvideotokenizer';\n\n/*\n The 'react-hooks/rules-of-hooks' linting rules prevent React Hooks from being called\n inside of if() statements. This is because hooks must always be called in the same order\n every time a component is rendered. The 'react-hooks/rules-of-hooks' rule is disabled below\n because the \"if (process.env.REACT_APP_SET_AUTH === 'firebase')\" statements are evaluated\n at build time (not runtime). If the statement evaluates to false, then the code is not\n included in the bundle that is produced (due to tree-shaking). Thus, in this instance, it\n is ok to call hooks inside if() statements.\n*/\nexport default function AppStateProvider(props: React.PropsWithChildren<{}>) {\n const [error, setError] = useState(null);\n const [isFetching, setIsFetching] = useState(false);\n const [activeSinkId, setActiveSinkId] = useActiveSinkId();\n const [settings, dispatchSetting] = useReducer(settingsReducer, initialSettings);\n const [roomType, setRoomType] = useState();\n const [taskSid, setTaskSid] = useState(null);\n\n let contextValue = {\n error,\n setError,\n isFetching,\n activeSinkId,\n setActiveSinkId,\n settings,\n dispatchSetting,\n roomType,\n taskSid,\n setTaskSid,\n } as StateContextType;\n\n if (process.env.REACT_APP_SET_AUTH === 'firebase') {\n contextValue = {\n ...contextValue,\n ...useFirebaseAuth(), // eslint-disable-line react-hooks/rules-of-hooks\n };\n } else if (process.env.REACT_APP_SET_AUTH === 'passcode') {\n contextValue = {\n ...contextValue,\n ...usePasscodeAuth(), // eslint-disable-line react-hooks/rules-of-hooks\n };\n } else {\n contextValue = {\n ...contextValue,\n getToken: async (user_identity, room_name) => {\n return fetch(endpoint, {\n method: 'POST',\n headers: {\n 'content-type': 'application/json',\n },\n body: JSON.stringify({\n user_identity,\n room_name,\n create_conversation: process.env.REACT_APP_DISABLE_TWILIO_CONVERSATIONS !== 'true',\n }),\n }).then(res => res.json());\n },\n updateRecordingRules: async (room_sid, rules) => {\n return fetch(endpoint, {\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ room_sid, rules }),\n method: 'POST',\n })\n .then(async res => {\n const jsonResponse = await res.json();\n\n if (!res.ok) {\n const recordingError = new Error(\n jsonResponse.error?.message || 'There was an error updating recording rules'\n );\n recordingError.code = jsonResponse.error?.code;\n return Promise.reject(recordingError);\n }\n\n return jsonResponse;\n })\n .catch(err => setError(err));\n },\n };\n }\n\n const getToken: StateContextType['getToken'] = (name, room) => {\n setIsFetching(true);\n return contextValue\n .getToken(name, room)\n .then(res => {\n setRoomType(res.room_type);\n setIsFetching(false);\n return res;\n })\n .catch(err => {\n setError(err);\n setIsFetching(false);\n return Promise.reject(err);\n });\n };\n\n const updateRecordingRules: StateContextType['updateRecordingRules'] = (room_sid, rules) => {\n setIsFetching(true);\n return contextValue\n .updateRecordingRules(room_sid, rules)\n .then(res => {\n setIsFetching(false);\n return res;\n })\n .catch(err => {\n setError(err);\n setIsFetching(false);\n return Promise.reject(err);\n });\n };\n\n return (\n \n {props.children}\n \n );\n}\n\nexport function useAppState() {\n const context = useContext(StateContext);\n if (!context) {\n throw new Error('useAppState must be used within the AppStateProvider');\n }\n return context;\n}\n","import { useCallback, useEffect, useState } from 'react';\nimport { SELECTED_AUDIO_OUTPUT_KEY } from '../../constants';\nimport useDevices from '../../hooks/useDevices/useDevices';\n\nexport default function useActiveSinkId() {\n const { audioOutputDevices } = useDevices();\n const [activeSinkId, _setActiveSinkId] = useState('default');\n\n const setActiveSinkId = useCallback((sinkId: string) => {\n window.localStorage.setItem(SELECTED_AUDIO_OUTPUT_KEY, sinkId);\n _setActiveSinkId(sinkId);\n }, []);\n\n useEffect(() => {\n const selectedSinkId = window.localStorage.getItem(SELECTED_AUDIO_OUTPUT_KEY);\n const hasSelectedAudioOutputDevice = audioOutputDevices.some(\n device => selectedSinkId && device.deviceId === selectedSinkId\n );\n if (hasSelectedAudioOutputDevice) {\n _setActiveSinkId(selectedSinkId!);\n }\n }, [audioOutputDevices]);\n\n return [activeSinkId, setActiveSinkId] as const;\n}\n","import { Callback } from '../../../types';\nimport { isMobile } from '../../../utils';\nimport Video, { ConnectOptions, LocalTrack, Room } from 'twilio-video';\nimport { VideoRoomMonitor } from '@twilio/video-room-monitor';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { useAppState } from '../../../state';\nimport * as Sentry from '@sentry/react';\n\n// @ts-ignore\nwindow.TwilioVideo = Video;\n\nexport default function useRoom(localTracks: LocalTrack[], onError: Callback, options?: ConnectOptions) {\n const [room, setRoom] = useState(null);\n const [isConnecting, setIsConnecting] = useState(false);\n const { setTaskSid } = useAppState();\n const optionsRef = useRef(options);\n\n useEffect(() => {\n // This allows the connect function to always access the most recent version of the options object. This allows us to\n // reliably use the connect function at any time.\n optionsRef.current = options;\n }, [options]);\n\n const connect = useCallback(\n token => {\n setIsConnecting(true);\n return Video.connect(token, { ...optionsRef.current, tracks: localTracks }).then(\n newRoom => {\n Sentry.addBreadcrumb({\n type: 'debug',\n category: '###RoomConnected',\n level: Sentry.Severity.Info,\n data: newRoom,\n });\n setRoom(newRoom);\n VideoRoomMonitor.registerVideoRoom(newRoom);\n const disconnect = () => {\n // console.log('### RoomDisconnectEvent', room);\n Sentry.addBreadcrumb({\n type: 'debug',\n category: '###RoomDisconnectEvent',\n level: Sentry.Severity.Info,\n data: newRoom || undefined,\n });\n return newRoom.disconnect();\n };\n\n if (window.self !== window.top) {\n window.parent.postMessage({ getTaskSid: true }, '*');\n }\n // This app can add up to 13 'participantDisconnected' listeners to the room object, which can trigger\n // a warning from the EventEmitter object. Here we increase the max listeners to suppress the warning.\n newRoom.setMaxListeners(15);\n\n newRoom.once('disconnected', () => {\n // Reset the room only after all other `disconnected` listeners have been called.\n setTimeout(() => setRoom(null));\n window.parent.postMessage({ endCall: true }, '*');\n window.removeEventListener('beforeunload', disconnect);\n window.removeEventListener('message', disconnect);\n\n if (isMobile) {\n window.removeEventListener('pagehide', disconnect);\n }\n });\n\n // @ts-ignore\n window.twilioRoom = newRoom;\n\n newRoom.localParticipant.videoTracks.forEach(publication =>\n // All video tracks are published with 'low' priority because the video track\n // that is displayed in the 'MainParticipant' component will have it's priority\n // set to 'high' via track.setPriority()\n publication.setPriority('low')\n );\n\n setIsConnecting(false);\n\n // Add a listener to disconnect from the room when a user closes their browser\n window.addEventListener('beforeunload', disconnect);\n\n // Disconnet if task is transferred from plugin-med\n window.addEventListener('message', e => {\n if (e.data.taskSid) {\n setTaskSid(e.data.taskSid);\n } else {\n disconnect();\n }\n });\n\n if (isMobile) {\n // Add a listener to disconnect from the room when a mobile user closes their browser\n window.addEventListener('pagehide', disconnect);\n }\n },\n error => {\n onError(error);\n setIsConnecting(false);\n }\n );\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [localTracks, onError, setTaskSid]\n );\n\n return { room, isConnecting, connect };\n}\n","import React, { createContext, ReactNode, useCallback, useState } from 'react';\nimport { CreateLocalTrackOptions, ConnectOptions, LocalAudioTrack, LocalVideoTrack, Room } from 'twilio-video';\nimport { ErrorCallback } from '../../types';\nimport { SelectedParticipantProvider } from './useSelectedParticipant/useSelectedParticipant';\n\nimport AttachVisibilityHandler from './AttachVisibilityHandler/AttachVisibilityHandler';\nimport useBackgroundSettings, { BackgroundSettings } from './useBackgroundSettings/useBackgroundSettings';\nimport useHandleRoomDisconnection from './useHandleRoomDisconnection/useHandleRoomDisconnection';\nimport useHandleTrackPublicationFailed from './useHandleTrackPublicationFailed/useHandleTrackPublicationFailed';\nimport useLocalTracks from './useLocalTracks/useLocalTracks';\nimport useRestartAudioTrackOnDeviceChange from './useRestartAudioTrackOnDeviceChange/useRestartAudioTrackOnDeviceChange';\nimport useRoom from './useRoom/useRoom';\nimport useScreenShareToggle from './useScreenShareToggle/useScreenShareToggle';\n\n/*\n * The hooks used by the VideoProvider component are different than the hooks found in the 'hooks/' directory. The hooks\n * in the 'hooks/' directory can be used anywhere in a video application, and they can be used any number of times.\n * the hooks in the 'VideoProvider/' directory are intended to be used by the VideoProvider component only. Using these hooks\n * elsewhere in the application may cause problems as these hooks should not be used more than once in an application.\n */\n\nexport interface IVideoContext {\n room: Room | null;\n localTracks: (LocalAudioTrack | LocalVideoTrack)[];\n isConnecting: boolean;\n connect: (token: string) => Promise;\n onError: ErrorCallback;\n getLocalVideoTrack: (newOptions?: CreateLocalTrackOptions) => Promise;\n getLocalAudioTrack: (deviceId?: string) => Promise;\n isAcquiringLocalTracks: boolean;\n removeLocalVideoTrack: () => void;\n isSharingScreen: boolean;\n toggleScreenShare: () => void;\n getAudioAndVideoTracks: () => Promise;\n isBackgroundSelectionOpen: boolean;\n setIsBackgroundSelectionOpen: (value: boolean) => void;\n backgroundSettings: BackgroundSettings;\n setBackgroundSettings: (settings: BackgroundSettings) => void;\n isStatic: boolean;\n setIsStatic: (isStatic: boolean) => void;\n snapImage: string;\n setSnapImage: (snapImage: string) => void;\n snapSending: boolean;\n setSnapSending: (snapSending: boolean) => void;\n}\n\nexport const VideoContext = createContext(null!);\n\ninterface VideoProviderProps {\n options?: ConnectOptions;\n onError: ErrorCallback;\n children: ReactNode;\n}\n\nexport function VideoProvider({ options, children, onError = () => {} }: VideoProviderProps) {\n const onErrorCallback: ErrorCallback = useCallback(\n error => {\n console.log(`ERROR: ${error.message}`, error);\n onError(error);\n },\n [onError]\n );\n\n const {\n localTracks,\n getLocalVideoTrack,\n getLocalAudioTrack,\n isAcquiringLocalTracks,\n removeLocalAudioTrack,\n removeLocalVideoTrack,\n getAudioAndVideoTracks,\n } = useLocalTracks();\n const { room, isConnecting, connect } = useRoom(localTracks, onErrorCallback, options);\n\n const [isSharingScreen, toggleScreenShare] = useScreenShareToggle(room, onError);\n\n const [snapImage, setSnapImage] = useState('');\n const [snapSending, setSnapSending] = useState(false);\n const [isStatic, setIsStatic] = useState(false);\n\n // Register callback functions to be called on room disconnect.\n useHandleRoomDisconnection(\n room,\n onError,\n removeLocalAudioTrack,\n removeLocalVideoTrack,\n isSharingScreen,\n toggleScreenShare\n );\n useHandleTrackPublicationFailed(room, onError);\n useRestartAudioTrackOnDeviceChange(localTracks);\n\n const [isBackgroundSelectionOpen, setIsBackgroundSelectionOpen] = useState(false);\n const videoTrack = localTracks.find(track => !track.name.includes('screen') && track.kind === 'video') as\n | LocalVideoTrack\n | undefined;\n const [backgroundSettings, setBackgroundSettings] = useBackgroundSettings(videoTrack, room);\n\n return (\n \n {children}\n {/* \n The AttachVisibilityHandler component is using the useLocalVideoToggle hook\n which must be used within the VideoContext Provider.\n */}\n \n \n );\n}\n","import { DEFAULT_VIDEO_CONSTRAINTS, SELECTED_AUDIO_INPUT_KEY, SELECTED_VIDEO_INPUT_KEY } from '../../../constants';\nimport { getDeviceInfo, isPermissionDenied } from '../../../utils';\nimport { useCallback, useState } from 'react';\nimport Video, { LocalVideoTrack, LocalAudioTrack, CreateLocalTrackOptions } from 'twilio-video';\nimport useMediaStreamTrack from '../../../hooks/useMediaStreamTrack/useMediaStreamTrack';\n\nexport default function useLocalTracks() {\n const [audioTrack, setAudioTrack] = useState();\n const [videoTrack, setVideoTrack] = useState();\n const mediaTrack = useMediaStreamTrack(videoTrack);\n const [isAcquiringLocalTracks, setIsAcquiringLocalTracks] = useState(false);\n\n const getLocalAudioTrack = useCallback((deviceId?: string) => {\n const options: CreateLocalTrackOptions = {};\n\n if (deviceId) {\n options.deviceId = { exact: deviceId };\n }\n\n return Video.createLocalAudioTrack(options).then(newTrack => {\n setAudioTrack(newTrack);\n return newTrack;\n });\n }, []);\n\n const getLocalVideoTrack = useCallback(async () => {\n const selectedVideoDeviceId = window.localStorage.getItem(SELECTED_VIDEO_INPUT_KEY);\n\n const { videoInputDevices } = await getDeviceInfo();\n\n const hasSelectedVideoDevice = videoInputDevices.some(\n device => selectedVideoDeviceId && device.deviceId === selectedVideoDeviceId\n );\n\n const options: CreateLocalTrackOptions = {\n ...(DEFAULT_VIDEO_CONSTRAINTS as {}),\n name: `camera-${Date.now()}`,\n ...(hasSelectedVideoDevice && { deviceId: { exact: selectedVideoDeviceId! } }),\n };\n\n return Video.createLocalVideoTrack(options).then(newTrack => {\n setVideoTrack(newTrack);\n return newTrack;\n });\n }, []);\n\n const removeLocalAudioTrack = useCallback(() => {\n if (audioTrack) {\n audioTrack.stop();\n setAudioTrack(undefined);\n }\n }, [audioTrack]);\n\n const removeLocalVideoTrack = useCallback(() => {\n if (videoTrack) {\n videoTrack.stop();\n setVideoTrack(undefined);\n }\n }, [videoTrack]);\n\n const getAudioAndVideoTracks = useCallback(async () => {\n const { audioInputDevices, videoInputDevices, hasAudioInputDevices, hasVideoInputDevices } = await getDeviceInfo();\n\n if (!hasAudioInputDevices && !hasVideoInputDevices) return Promise.resolve();\n if (isAcquiringLocalTracks || audioTrack || videoTrack) return Promise.resolve();\n\n setIsAcquiringLocalTracks(true);\n\n const selectedAudioDeviceId = window.localStorage.getItem(SELECTED_AUDIO_INPUT_KEY);\n const selectedVideoDeviceId = window.localStorage.getItem(SELECTED_VIDEO_INPUT_KEY);\n\n const hasSelectedAudioDevice = audioInputDevices.some(\n device => selectedAudioDeviceId && device.deviceId === selectedAudioDeviceId\n );\n const hasSelectedVideoDevice = videoInputDevices.some(\n device => selectedVideoDeviceId && device.deviceId === selectedVideoDeviceId\n );\n\n // In Chrome, it is possible to deny permissions to only audio or only video.\n // If that has happened, then we don't want to attempt to acquire the device.\n const isCameraPermissionDenied = await isPermissionDenied('camera');\n const isMicrophonePermissionDenied = await isPermissionDenied('microphone');\n\n const shouldAcquireVideo = hasVideoInputDevices && !isCameraPermissionDenied;\n const shouldAcquireAudio = hasAudioInputDevices && !isMicrophonePermissionDenied;\n\n const localTrackConstraints = {\n video: shouldAcquireVideo && {\n ...(DEFAULT_VIDEO_CONSTRAINTS as {}),\n name: `camera-${Date.now()}`,\n ...(hasSelectedVideoDevice && { deviceId: { exact: selectedVideoDeviceId! } }),\n },\n audio:\n shouldAcquireAudio &&\n (hasSelectedAudioDevice ? { deviceId: { exact: selectedAudioDeviceId! } } : hasAudioInputDevices),\n };\n\n return Video.createLocalTracks(localTrackConstraints)\n .then(tracks => {\n const newVideoTrack = tracks.find(track => track.kind === 'video') as LocalVideoTrack;\n const newAudioTrack = tracks.find(track => track.kind === 'audio') as LocalAudioTrack;\n if (newVideoTrack) {\n setVideoTrack(newVideoTrack);\n // Save the deviceId so it can be picked up by the VideoInputList component. This only matters\n // in cases where the user's video is disabled.\n window.localStorage.setItem(SELECTED_VIDEO_INPUT_KEY, mediaTrack?.getSettings().deviceId ?? '');\n }\n if (newAudioTrack) {\n setAudioTrack(newAudioTrack);\n }\n\n // These custom errors will be picked up by the MediaErrorSnackbar component.\n if (isCameraPermissionDenied && isMicrophonePermissionDenied) {\n const error = new Error();\n error.name = 'NotAllowedError';\n throw error;\n }\n\n if (isCameraPermissionDenied) {\n throw new Error('CameraPermissionsDenied');\n }\n\n if (isMicrophonePermissionDenied) {\n throw new Error('MicrophonePermissionsDenied');\n }\n })\n .finally(() => setIsAcquiringLocalTracks(false));\n }, [audioTrack, videoTrack, isAcquiringLocalTracks, mediaTrack]);\n\n const localTracks = [audioTrack, videoTrack].filter(track => track !== undefined) as (\n | LocalAudioTrack\n | LocalVideoTrack\n )[];\n\n return {\n localTracks,\n getLocalVideoTrack,\n getLocalAudioTrack,\n isAcquiringLocalTracks,\n removeLocalAudioTrack,\n removeLocalVideoTrack,\n getAudioAndVideoTracks,\n };\n}\n","import { useState, useCallback, useRef } from 'react';\nimport { LogLevels, Track, Room } from 'twilio-video';\nimport { ErrorCallback } from '../../../types';\n\ninterface MediaStreamTrackPublishOptions {\n name?: string;\n priority: Track.Priority;\n logLevel: LogLevels;\n}\n\nexport default function useScreenShareToggle(room: Room | null, onError: ErrorCallback) {\n const [isSharing, setIsSharing] = useState(false);\n const stopScreenShareRef = useRef<() => void>(null!);\n\n const shareScreen = useCallback(() => {\n navigator.mediaDevices\n .getDisplayMedia({\n audio: false,\n video: {\n frameRate: 10,\n height: 1080,\n width: 1920,\n },\n })\n .then(stream => {\n const track = stream.getTracks()[0];\n\n // All video tracks are published with 'low' priority. This works because the video\n // track that is displayed in the 'MainParticipant' component will have it's priority\n // set to 'high' via track.setPriority()\n room!.localParticipant\n .publishTrack(track, {\n name: 'screen', // Tracks can be named to easily find them later\n priority: 'low', // Priority is set to high by the subscriber when the video track is rendered\n } as MediaStreamTrackPublishOptions)\n .then(trackPublication => {\n stopScreenShareRef.current = () => {\n room!.localParticipant.unpublishTrack(track);\n // TODO: remove this if the SDK is updated to emit this event\n room!.localParticipant.emit('trackUnpublished', trackPublication);\n track.stop();\n setIsSharing(false);\n };\n\n track.onended = stopScreenShareRef.current;\n setIsSharing(true);\n })\n .catch(onError);\n })\n .catch(error => {\n // Don't display an error if the user closes the screen share dialog\n if (error.name !== 'AbortError' && error.name !== 'NotAllowedError') {\n onError(error);\n }\n });\n }, [room, onError]);\n\n const toggleScreenShare = useCallback(() => {\n if (room) {\n !isSharing ? shareScreen() : stopScreenShareRef.current();\n }\n }, [isSharing, shareScreen, room]);\n\n return [isSharing, toggleScreenShare] as const;\n}\n","import { Room, TwilioError } from 'twilio-video';\nimport { useEffect } from 'react';\n\nimport { Callback } from '../../../types';\n\nexport default function useHandleRoomDisconnection(\n room: Room | null,\n onError: Callback,\n removeLocalAudioTrack: () => void,\n removeLocalVideoTrack: () => void,\n isSharingScreen: boolean,\n toggleScreenShare: () => void\n) {\n useEffect(() => {\n if (room) {\n const onDisconnected = (_: Room, error: TwilioError) => {\n if (error) {\n onError(error);\n }\n\n removeLocalAudioTrack();\n removeLocalVideoTrack();\n if (isSharingScreen) {\n toggleScreenShare();\n }\n };\n\n room.on('disconnected', onDisconnected);\n return () => {\n room.off('disconnected', onDisconnected);\n };\n }\n }, [room, onError, removeLocalAudioTrack, removeLocalVideoTrack, isSharingScreen, toggleScreenShare]);\n}\n","import { Room } from 'twilio-video';\nimport { useEffect } from 'react';\n\nimport { Callback } from '../../../types';\n\nexport default function useHandleTrackPublicationFailed(room: Room | null, onError: Callback) {\n useEffect(() => {\n if (room) {\n room.localParticipant.on('trackPublicationFailed', onError);\n return () => {\n room.localParticipant.off('trackPublicationFailed', onError);\n };\n }\n }, [room, onError]);\n}\n","import { LocalAudioTrack, LocalVideoTrack } from 'twilio-video';\nimport { useEffect } from 'react';\n\n/*\n * If a user has published an audio track from an external audio input device and\n * disconnects the device, the published audio track will be stopped and the user\n * will no longer be heard by other participants.\n *\n * To prevent this issue, this hook will re-acquire a mediaStreamTrack from the system's\n * default audio device when it detects that the published audio device has been disconnected.\n */\n\nexport default function useRestartAudioTrackOnDeviceChange(localTracks: (LocalAudioTrack | LocalVideoTrack)[]) {\n const audioTrack = localTracks.find(track => track.kind === 'audio');\n\n useEffect(() => {\n const handleDeviceChange = () => {\n if (audioTrack?.mediaStreamTrack.readyState === 'ended') {\n audioTrack.restart({});\n }\n };\n\n navigator.mediaDevices.addEventListener('devicechange', handleDeviceChange);\n\n return () => {\n navigator.mediaDevices.removeEventListener('devicechange', handleDeviceChange);\n };\n }, [audioTrack]);\n}\n","import { useContext } from 'react';\nimport { VideoContext } from '../../components/VideoProvider';\n\n// Check video context\nexport default function useVideoContext() {\n const context = useContext(VideoContext);\n if (!context) {\n throw new Error('useVideoContext must be used within a VideoProvider');\n }\n return context;\n}\n","import React, { useState, useEffect } from 'react';\nimport { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport Popover from '@material-ui/core/Popover';\nimport Typography from '@material-ui/core/Typography';\nimport { Button } from '@material-ui/core';\nimport clsx from 'clsx';\nimport useVideoContext from '../../../hooks/useVideoContext/useVideoContext';\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n button: {\n background: theme.brand,\n color: 'white',\n '&:hover': {\n background: '#600101',\n },\n },\n typography: {\n padding: theme.spacing(2),\n width: '400px',\n height: '200px',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-around',\n alignItems: 'center',\n },\n btnGroup: {\n display: 'flex',\n flexDirection: 'row',\n width: '100%',\n justifyContent: 'space-around',\n },\n btn: {\n width: '30%',\n backgroundColor: '#027AC5',\n borderRadius: '5px',\n color: '#fff',\n },\n gray: {\n backgroundColor: 'gray',\n },\n })\n);\n\nexport default function EndCallButton(props: { className?: string }) {\n const classes = useStyles();\n const { room } = useVideoContext();\n\n const handleEndCall = () => {\n window.sessionStorage.setItem('endSession', 'true');\n room!.disconnect();\n };\n\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [agentCall, setAgentCall] = useState(false);\n\n useEffect(() => {\n const searchStr = window.sessionStorage.getItem('searchStr');\n if (!!searchStr) {\n const searchParams = new URLSearchParams(searchStr);\n const isAgentCall = searchParams.get('isAgentCall');\n const agentName = searchParams.get('name');\n const agentRoom = searchParams.get('room');\n if (isAgentCall === 'true' && !!agentRoom && !!agentName) {\n setAgentCall(true);\n }\n }\n }, []);\n\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const open = Boolean(anchorEl);\n const id = open ? 'simple-popover' : undefined;\n const { innerHeight, innerWidth } = window;\n const positionLeft = innerWidth / 2 - 200;\n const positionTop = innerHeight / 2 - 100;\n\n return (\n <>\n \n Disconnect\n \n {!agentCall && (\n \n \n

Are you sure you want to disconnect?

\n
\n \n \n
\n
\n \n )}\n \n );\n}\n","import React, { PropsWithChildren } from 'react';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Divider from '@material-ui/core/Divider';\n\nimport { version as appVersion } from '../../../package.json';\nimport Video from 'twilio-video';\nimport { useAppState } from '../../state';\n\ninterface AboutDialogProps {\n open: boolean;\n onClose(): void;\n}\n\nfunction AboutDialog({ open, onClose }: PropsWithChildren) {\n const { roomType } = useAppState();\n return (\n \n About\n \n \n Browser supported: {String(Video.isSupported)}\n SDK Version: {Video.version}\n App Version: {appVersion}\n Deployed Tag: {process.env.REACT_APP_GIT_TAG || 'N/A'}\n Deployed Commit Hash: {process.env.REACT_APP_GIT_COMMIT || 'N/A'}\n {roomType && Room Type: {roomType}}\n \n \n \n \n \n \n );\n}\n\nexport default AboutDialog;\n","import React from 'react';\n\nexport default function BackgroundIcon() {\n return (\n \n \n \n \n \n );\n}\n","import { useState, useEffect } from 'react';\nimport { LocalAudioTrack, LocalVideoTrack, RemoteAudioTrack, RemoteVideoTrack } from 'twilio-video';\n\ntype TrackType = LocalAudioTrack | LocalVideoTrack | RemoteAudioTrack | RemoteVideoTrack | undefined;\n\nexport default function useIsTrackEnabled(track: TrackType) {\n const [isEnabled, setIsEnabled] = useState(track ? track.isEnabled : false);\n\n useEffect(() => {\n setIsEnabled(track ? track.isEnabled : false);\n\n if (track) {\n const setEnabled = () => setIsEnabled(true);\n const setDisabled = () => setIsEnabled(false);\n track.on('enabled', setEnabled);\n track.on('disabled', setDisabled);\n return () => {\n track.off('enabled', setEnabled);\n track.off('disabled', setDisabled);\n };\n }\n }, [track]);\n\n return isEnabled;\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { AudioTrack, LocalAudioTrack, RemoteAudioTrack } from 'twilio-video';\nimport { interval } from 'd3-timer';\nimport useIsTrackEnabled from '../../hooks/useIsTrackEnabled/useIsTrackEnabled';\nimport useMediaStreamTrack from '../../hooks/useMediaStreamTrack/useMediaStreamTrack';\n\nlet clipId = 0;\nconst getUniqueClipId = () => clipId++;\n\n// @ts-ignore\nconst AudioContext = window.AudioContext || window.webkitAudioContext;\nlet audioContext: AudioContext;\n\nexport function initializeAnalyser(stream: MediaStream) {\n audioContext = audioContext || new AudioContext();\n const audioSource = audioContext.createMediaStreamSource(stream);\n\n const analyser = audioContext.createAnalyser();\n analyser.smoothingTimeConstant = 0.2;\n analyser.fftSize = 256;\n\n audioSource.connect(analyser);\n return analyser;\n}\n\nfunction AudioLevelIndicator({ audioTrack, color = 'white' }: { audioTrack?: AudioTrack; color?: string }) {\n const SVGRectRef = useRef(null);\n const [analyser, setAnalyser] = useState();\n const isTrackEnabled = useIsTrackEnabled(audioTrack as LocalAudioTrack | RemoteAudioTrack);\n const mediaStreamTrack = useMediaStreamTrack(audioTrack);\n\n useEffect(() => {\n if (audioTrack && mediaStreamTrack && isTrackEnabled) {\n // Here we create a new MediaStream from a clone of the mediaStreamTrack.\n // A clone is created to allow multiple instances of this component for a single\n // AudioTrack on iOS Safari.\n let newMediaStream = new MediaStream([mediaStreamTrack.clone()]);\n\n // Here we listen for the 'stopped' event on the audioTrack. When the audioTrack is stopped,\n // we stop the cloned track that is stored in 'newMediaStream'. It is important that we stop\n // all tracks when they are not in use. Browsers like Firefox don't let you create a new stream\n // from a new audio device while the active audio device still has active tracks.\n const stopAllMediaStreamTracks = () => newMediaStream.getTracks().forEach(track => track.stop());\n audioTrack.on('stopped', stopAllMediaStreamTracks);\n\n const reinitializeAnalyser = () => {\n stopAllMediaStreamTracks();\n newMediaStream = new MediaStream([mediaStreamTrack.clone()]);\n setAnalyser(initializeAnalyser(newMediaStream));\n };\n\n setAnalyser(initializeAnalyser(newMediaStream));\n\n // Here we reinitialize the AnalyserNode on focus to avoid an issue in Safari\n // where the analysers stop functioning when the user switches to a new tab\n // and switches back to the app.\n window.addEventListener('focus', reinitializeAnalyser);\n\n return () => {\n stopAllMediaStreamTracks();\n window.removeEventListener('focus', reinitializeAnalyser);\n audioTrack.off('stopped', stopAllMediaStreamTracks);\n };\n }\n }, [isTrackEnabled, mediaStreamTrack, audioTrack]);\n\n useEffect(() => {\n const SVGClipElement = SVGRectRef.current;\n\n if (isTrackEnabled && SVGClipElement && analyser) {\n const sampleArray = new Uint8Array(analyser.frequencyBinCount);\n\n const timer = interval(() => {\n analyser.getByteFrequencyData(sampleArray);\n let values = 0;\n\n const length = sampleArray.length;\n for (let i = 0; i < length; i++) {\n values += sampleArray[i];\n }\n\n const volume = Math.min(14, Math.max(0, Math.log10(values / length / 3) * 7));\n\n SVGClipElement?.setAttribute('y', String(14 - volume));\n }, 100);\n\n return () => {\n SVGClipElement.setAttribute('y', '14');\n timer.stop();\n };\n }\n }, [isTrackEnabled, analyser]);\n\n // Each instance of this component will need a unique HTML ID\n const clipPathId = `audio-level-clip-${getUniqueClipId()}`;\n\n return isTrackEnabled ? (\n \n \n \n \n \n \n \n \n \n \n \n ) : (\n \n \n \n \n \n \n );\n}\n\nexport default React.memo(AudioLevelIndicator);\n","import React from 'react';\nimport AudioLevelIndicator from '../../AudioLevelIndicator/AudioLevelIndicator';\nimport { LocalAudioTrack } from 'twilio-video';\nimport { FormControl, MenuItem, Typography, Select, Grid } from '@material-ui/core';\nimport { SELECTED_AUDIO_INPUT_KEY } from '../../../constants';\nimport useDevices from '../../../hooks/useDevices/useDevices';\nimport useMediaStreamTrack from '../../../hooks/useMediaStreamTrack/useMediaStreamTrack';\nimport useVideoContext from '../../../hooks/useVideoContext/useVideoContext';\n\nexport default function AudioInputList() {\n const { audioInputDevices } = useDevices();\n const { localTracks } = useVideoContext();\n\n const localAudioTrack = localTracks.find(track => track.kind === 'audio') as LocalAudioTrack;\n const mediaStreamTrack = useMediaStreamTrack(localAudioTrack);\n const localAudioInputDeviceId = mediaStreamTrack?.getSettings().deviceId;\n\n function replaceTrack(newDeviceId: string) {\n window.localStorage.setItem(SELECTED_AUDIO_INPUT_KEY, newDeviceId);\n localAudioTrack?.restart({ deviceId: { exact: newDeviceId } });\n }\n\n return (\n
\n \n Audio Input\n \n \n
\n {audioInputDevices.length > 1 ? (\n \n replaceTrack(e.target.value as string)}\n value={localAudioInputDeviceId || ''}\n variant=\"outlined\"\n >\n {audioInputDevices.map(device => (\n \n {device.label}\n \n ))}\n \n \n ) : (\n {localAudioTrack?.mediaStreamTrack.label || 'No Local Audio'}\n )}\n
\n \n
\n
\n );\n}\n","import React from 'react';\nimport { FormControl, MenuItem, Typography, Select } from '@material-ui/core';\nimport { useAppState } from '../../../state';\nimport useDevices from '../../../hooks/useDevices/useDevices';\n\nexport default function AudioOutputList() {\n const { audioOutputDevices } = useDevices();\n const { activeSinkId, setActiveSinkId } = useAppState();\n const activeOutputLabel = audioOutputDevices.find(device => device.deviceId === activeSinkId)?.label;\n\n return (\n
\n {audioOutputDevices.length > 1 ? (\n \n \n Audio Output\n \n \n \n ) : (\n <>\n Audio Output\n {activeOutputLabel || 'System Default Audio Output'}\n \n )}\n
\n );\n}\n","import React, { useRef, useEffect } from 'react';\nimport { IVideoTrack } from '../../types';\nimport { styled } from '@material-ui/core/styles';\nimport { Track } from 'twilio-video';\nimport useMediaStreamTrack from '../../hooks/useMediaStreamTrack/useMediaStreamTrack';\nimport useVideoTrackDimensions from '../../hooks/useVideoTrackDimensions/useVideoTrackDimensions';\n\nconst Video = styled('video')({\n width: '100%',\n height: '100%',\n});\n\ninterface VideoTrackProps {\n track: IVideoTrack;\n isLocal?: boolean;\n priority?: Track.Priority | null;\n}\n\nexport default function VideoTrack({ track, isLocal, priority }: VideoTrackProps) {\n const ref = useRef(null!);\n const mediaStreamTrack = useMediaStreamTrack(track);\n const dimensions = useVideoTrackDimensions(track);\n const isPortrait = (dimensions?.height ?? 0) > (dimensions?.width ?? 0);\n\n useEffect(() => {\n const el = ref.current;\n el.muted = true;\n if (track.setPriority && priority) {\n track.setPriority(priority);\n }\n track.attach(el);\n return () => {\n track.detach(el);\n\n // This addresses a Chrome issue where the number of WebMediaPlayers is limited.\n // See: https://github.com/twilio/twilio-video.js/issues/1528\n el.srcObject = null;\n\n if (track.setPriority && priority) {\n // Passing `null` to setPriority will set the track's priority to that which it was published with.\n track.setPriority(null);\n }\n };\n }, [track, priority]);\n\n // The local video track is mirrored if it is not facing the environment.\n const isFrontFacing = mediaStreamTrack?.getSettings().facingMode !== 'environment';\n const style = {\n transform: isLocal && isFrontFacing ? 'rotateY(180deg)' : '',\n objectFit: isPortrait || track.name.includes('screen') ? ('contain' as const) : ('cover' as const),\n };\n\n return