@100mslive/roomkit-react 0.1.9-alpha.0 → 0.1.9-alpha.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/{HLSView-U53QN3AC.js → HLSView-4JC65BAY.js} +3 -3
- package/dist/{VirtualBackground-PMLQPJB6.js → VirtualBackground-MIRXD2HZ.js} +2 -2
- package/dist/{chunk-ANQRGVIX.js → chunk-322YFA55.js} +5 -5
- package/dist/{chunk-XQ2NRKIW.js → chunk-6UGU3UJL.js} +2 -2
- package/dist/{chunk-XQ2NRKIW.js.map → chunk-6UGU3UJL.js.map} +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/meta.cjs.json +3 -3
- package/dist/meta.esbuild.json +20 -20
- package/package.json +6 -6
- /package/dist/{HLSView-U53QN3AC.js.map → HLSView-4JC65BAY.js.map} +0 -0
- /package/dist/{VirtualBackground-PMLQPJB6.js.map → VirtualBackground-MIRXD2HZ.js.map} +0 -0
- /package/dist/{chunk-ANQRGVIX.js.map → chunk-322YFA55.js.map} +0 -0
package/dist/index.cjs.js.map
CHANGED
@@ -2,6 +2,6 @@
|
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["<define:process.env>", "../src/Theme/base.config.ts", "../src/Theme/stitches.config.ts", "../src/Theme/useSSR.tsx", "../src/Theme/ThemeProvider.tsx", "../src/Theme/index.tsx", "../src/Layout/Flex.tsx", "../src/Layout/Box.tsx", "../src/Layout/index.tsx", "../src/Loading/Loading.tsx", "../src/Loading/index.ts", "../src/utils/styles.ts", "../src/Button/Button.tsx", "../src/Button/index.tsx", "../src/Text/Text.tsx", "../src/Text/index.tsx", "../src/IconButton/IconButton.tsx", "../src/IconButton/index.tsx", "../src/Avatar/getAvatarBg.ts", "../src/Avatar/Avatar.tsx", "../src/Avatar/index.ts", "../src/Divider/Divider.tsx", "../src/Divider/index.ts", "../src/Switch/Switch.tsx", "../src/Switch/index.ts", "../src/utils/animations.ts", "../src/utils/index.ts", "../src/Tooltip/Tooltip.tsx", "../src/Tooltip/index.ts", "../src/Select/Select.tsx", "../src/Select/index.ts", "../src/Slider/Slider.tsx", "../src/Slider/index.ts", "../src/Modal/DialogContent.tsx", "../src/context/DialogContext.tsx", "../src/hooks/useDialogContainerSelector.tsx", "../src/Modal/Dialog.tsx", "../src/Modal/index.ts", "../src/Input/Input.tsx", "../src/Input/index.tsx", "../src/VideoTile/StyledVideoTile.tsx", "../src/VideoTile/index.tsx", "../src/VideoList/videoListUtils.tsx", "../src/VideoList/StyledVideoList.tsx", "../src/VideoList/index.tsx", "../src/Pagination/StyledPagination.tsx", "../src/Pagination/index.tsx", "../src/Dropdown/Dropdown.tsx", "../src/Dropdown/index.tsx", "../src/Video/Video.tsx", "../src/Video/index.tsx", "../src/TileMenu/StyledMenuTile.tsx", "../src/TileMenu/index.tsx", "../src/AudioLevel/useBorderAudioLevel.tsx", "../src/AudioLevel/AudioLevel.tsx", "../src/AudioLevel/index.ts", "../src/Popover/index.tsx", "../src/Stats/formatBytes.ts", "../src/Stats/StyledStats.tsx", "../src/Stats/Stats.tsx", "../src/Stats/index.tsx", "../src/Checkbox/Checkbox.tsx", "../src/Checkbox/index.tsx", "../src/Label/Label.tsx", "../src/Label/index.ts", "../src/RadioGroup/RadioGroup.tsx", "../src/RadioGroup/index.tsx", "../src/Toast/Toast.tsx", "../src/Toast/index.tsx", "../src/Accordion/Accordion.tsx", "../src/Accordion/index.ts", "../src/Fieldset/Fieldset.tsx", "../src/Fieldset/index.tsx", "../src/Footer/Footer.tsx", "../src/Footer/index.tsx", "../src/ReactSelect/ReactSelect.tsx", "../src/ReactSelect/index.ts", "../src/Tabs/Tabs.tsx", "../src/Tabs/index.tsx", "../src/QRCode/QRCode.tsx", "../src/QRCode/index.tsx", "../src/Link/Link.tsx", "../src/Link/index.tsx", "../src/Collapsible/Collapsible.tsx", "../src/Collapsible/index.tsx", "../src/Prebuilt/components/init/initUtils.js", "../src/Prebuilt/components/hooks/useUserPreferences.jsx", "../src/Prebuilt/common/constants.js", "../src/Prebuilt/components/AppData/useUISettings.js", "../src/Prebuilt/components/AppData/useSidepane.js", "../src/Prebuilt/components/AppData/AppData.jsx", "../src/Prebuilt/AppContext.tsx", "../src/Prebuilt/primitives/DialogContent.jsx", "../src/Prebuilt/components/AuthToken.jsx", "../src/Prebuilt/IconButton.jsx", "../src/Prebuilt/components/IconButtonWithOptions/IconButtonWithOptions.jsx", "../src/Prebuilt/components/Toast/ToastManager.js", "../src/Prebuilt/components/AudioVideoToggle.jsx", "../src/Prebuilt/components/Footer/EmojiCard.jsx", "../src/Prebuilt/components/hooks/useDropdownList.jsx", "../src/Prebuilt/components/EmojiReaction.jsx", "../src/Prebuilt/components/Leave/EndSessionContent.tsx", "../src/Prebuilt/components/Leave/LeaveAtoms.tsx", "../src/Prebuilt/components/Leave/LeaveCard.tsx", "../src/Prebuilt/components/Leave/LeaveSessionContent.tsx", "../src/Prebuilt/components/Leave/DesktopLeaveRoom.tsx", "../src/Sheet/Sheet.tsx", "../src/Sheet/index.ts", "../src/Prebuilt/components/Leave/MwebLeaveRoom.tsx", "../src/Prebuilt/components/Leave/LeaveRoom.tsx", "../src/Prebuilt/components/PIP/pipUtils.js", "../src/Prebuilt/components/PIP/PIPManager.js", "../src/Prebuilt/components/PIP/SetupMediaSession.js", "../src/Prebuilt/components/PIP/PIPComponent.jsx", "../src/Prebuilt/components/PIP/index.jsx", "../src/Prebuilt/components/hooks/useDropdownSelection.jsx", "../src/Prebuilt/provider/roomLayoutProvider/constants/index.ts", "../src/Prebuilt/provider/roomLayoutProvider/hooks/useFetchRoomLayout.ts", "../src/Prebuilt/provider/roomLayoutProvider/index.tsx", "../src/Prebuilt/common/hooks.js", "../src/Prebuilt/components/RoleChangeModal.jsx", "../src/Prebuilt/primitives/DropdownTrigger.jsx", "../src/Prebuilt/components/Settings/DeviceSettings.jsx", "../src/Prebuilt/components/Settings/SwitchWithLabel.jsx", "../src/Prebuilt/components/Settings/LayoutSettings.jsx", "../src/Prebuilt/components/Settings/NotificationSettings.jsx", "../src/Prebuilt/components/Settings/common.js", "../src/Prebuilt/components/Settings/SettingsModal.jsx", "../src/Prebuilt/components/Streaming/ResolutionInput.jsx", "../src/Prebuilt/components/Settings/StartRecording.jsx", "../src/Prebuilt/components/StatsForNerds.jsx", "../src/Prebuilt/components/MoreSettings/BulkRoleChangeModal.jsx", "../src/Prebuilt/components/hooks/useFullscreen.js", "../src/Prebuilt/components/MoreSettings/FullScreenItem.jsx", "../src/Prebuilt/components/MoreSettings/MuteAllContent.jsx", "../src/Prebuilt/components/MoreSettings/MuteAllModal.jsx", "../src/Prebuilt/components/hooks/useMetadata.jsx", "../src/Prebuilt/components/MoreSettings/SplitComponents/DesktopOptions.tsx", "../src/Prebuilt/common/utils.js", "../src/Prebuilt/services/FeatureFlags.jsx", "../src/Prebuilt/plugins/whiteboard/useWhiteboardMetadata.js", "../src/Prebuilt/components/hooks/usePlaylistMusic.js", "../src/Prebuilt/components/hooks/useScreenshareAudio.js", "../src/Prebuilt/components/Header/AdditionalRoomState.jsx", "../src/Prebuilt/provider/roomLayoutProvider/hooks/useRoomLayoutScreen.ts", "../src/Prebuilt/components/Header/StreamActions.tsx", "../src/Prebuilt/components/MoreSettings/ActionTile.jsx", "../src/Prebuilt/components/MoreSettings/ChangeNameContent.jsx", "../src/Prebuilt/components/MoreSettings/ChangeNameModal.jsx", "../src/Prebuilt/components/MoreSettings/SplitComponents/MwebOptions.tsx", "../src/Prebuilt/components/MoreSettings/MoreSettings.tsx", "../src/Prebuilt/components/RaiseHand.jsx", "../src/Prebuilt/components/ShareMenuIcon.jsx", "../src/Prebuilt/components/pdfAnnotator/pdfHeader.jsx", "../src/Prebuilt/components/pdfAnnotator/submitPdf.jsx", "../src/Prebuilt/components/pdfAnnotator/pdfInfo.jsx", "../src/Prebuilt/components/pdfAnnotator/uploadedFile.jsx", "../src/Prebuilt/components/pdfAnnotator/pdfFileOptions.jsx", "../src/Prebuilt/components/pdfAnnotator/shareScreenOptions.jsx", "../src/Prebuilt/components/ScreenShareToggle.jsx", "../src/Prebuilt/components/Footer/ChatToggle.tsx", "../src/Prebuilt/components/Connection/connectionQualityUtils.js", "../src/Prebuilt/components/Connection/ConnectionIndicator.tsx", "../src/Prebuilt/components/Footer/RoleOptions.tsx", "../src/Prebuilt/components/Footer/RoleAccordion.tsx", "../src/Prebuilt/components/Footer/ParticipantList.jsx", "../src/Prebuilt/components/Footer/PollsToggle.tsx", "../src/Prebuilt/plugins/VirtualBackground/vbutils.js", "../src/Prebuilt/plugins/VirtualBackground/VirtualBackground.jsx", "../src/Prebuilt/components/Footer/Footer.tsx", "../src/Prebuilt/components/Notifications/HLSFailureModal.tsx", "../src/Prebuilt/components/Chip.tsx", "../src/Prebuilt/components/Connection/TileConnection.tsx", "../src/Prebuilt/components/FullPageProgress.jsx", "../src/Prebuilt/components/Header/HeaderComponents.jsx", "../src/Prebuilt/components/Preview/PreviewForm.tsx", "../src/Prebuilt/components/Preview/PreviewJoin.tsx", "../src/Prebuilt/components/RoleChangeRequest/RequestPrompt.tsx", "../src/Prebuilt/components/RoleChangeRequest/RoleChangeRequestModal.tsx", "../src/Prebuilt/components/TileMenu/TileMenuContent.jsx", "../src/Prebuilt/components/TileMenu/TileMenu.jsx", "../src/Prebuilt/components/peerTileUtils.jsx", "../src/Prebuilt/components/VideoTile.jsx", "../src/Prebuilt/components/hooks/useVideoTileLayout.ts", "../src/Prebuilt/components/InsetTile.tsx", "../src/Prebuilt/components/Pagination.tsx", "../src/Prebuilt/components/VideoLayouts/Grid.tsx", "../src/Prebuilt/components/hooks/useTileLayout.tsx", "../src/Prebuilt/components/VideoLayouts/EqualProminence.tsx", "../src/Prebuilt/components/VideoLayouts/ProminenceLayout.tsx", "../src/Prebuilt/components/SecondaryTiles.tsx", "../src/Prebuilt/components/hooks/useRoleProminencePeers.tsx", "../src/Prebuilt/components/VideoLayouts/RoleProminence.tsx", "../src/Prebuilt/components/ScreenshareDisplay.jsx", "../src/Prebuilt/components/ScreenshareTile.jsx", "../src/Prebuilt/components/VideoLayouts/ScreenshareLayout.tsx", "../src/Prebuilt/common/PeersSorter.ts", "../src/Prebuilt/components/VideoLayouts/GridLayout.tsx", "../src/Prebuilt/layouts/EmbedView.jsx", "../src/Prebuilt/layouts/PDFView.jsx", "../src/Prebuilt/components/Streaming/Common.jsx", "../src/Prebuilt/components/Polls/common/StatusIndicator.jsx", "../src/Prebuilt/components/Polls/CreatePollQuiz/PollsQuizMenu.jsx", "../src/Prebuilt/components/Polls/CreateQuestions/DeleteQuestionModal.jsx", "../src/Prebuilt/components/Polls/common/OptionInputWithDelete.jsx", "../src/Prebuilt/components/Polls/common/VoteCount.jsx", "../src/Prebuilt/components/Polls/common/VoteProgress.jsx", "../src/Prebuilt/components/Polls/common/MultipleChoiceOptions.jsx", "../src/Prebuilt/components/Polls/common/SingleChoiceOptions.jsx", "../src/Prebuilt/components/Polls/CreateQuestions/QuestionForm.jsx", "../src/Prebuilt/components/Polls/CreateQuestions/SavedQuestion.jsx", "../src/Prebuilt/components/Polls/CreateQuestions/CreateQuestions.jsx", "../src/Prebuilt/components/Polls/Voting/QuestionCard.jsx", "../src/Prebuilt/components/Polls/Voting/StandardVoting.jsx", "../src/Prebuilt/components/Polls/Voting/TimedVoting.jsx", "../src/Prebuilt/components/Polls/Voting/Voting.jsx", "../src/Prebuilt/components/Polls/Polls.tsx", "../src/Prebuilt/components/hooks/useSetPinnedMessage.js", "../src/Prebuilt/components/Chat/useUnreadCount.js", "../src/Prebuilt/components/Chat/ChatBody.jsx", "../src/Prebuilt/components/AppData/useChatState.js", "../src/Prebuilt/components/Chat/useEmojiPickerStyles.js", "../src/Prebuilt/components/Chat/ChatFooter.tsx", "../src/Prebuilt/components/Chat/Chat.jsx", "../src/Prebuilt/components/Footer/PaginatedParticipants.tsx", "../src/Prebuilt/components/SidePaneTabs.tsx", "../src/Prebuilt/layouts/SidePane.tsx", "../src/Prebuilt/layouts/WaitingView.jsx", "../src/Prebuilt/components/HlsStatsOverlay.jsx", "../src/Prebuilt/components/HMSVideo/Controls.jsx", "../src/Prebuilt/components/HMSVideo/HMSVideo.jsx", "../src/Prebuilt/components/HMSVideo/PlayButton.jsx", "../src/Prebuilt/components/HMSVideo/HMSVIdeoUtils.js", "../src/Prebuilt/components/HMSVideo/VideoProgress.jsx", "../src/Prebuilt/components/HMSVideo/VideoTime.jsx", "../src/Prebuilt/components/HMSVideo/VolumeControl.jsx", "../src/Prebuilt/components/HMSVideo/index.js", "../src/Prebuilt/components/HMSVideo/FullscreenButton.jsx", "../src/Prebuilt/components/HMSVideo/HLSAutoplayBlockedPrompt.jsx", "../src/Prebuilt/components/HMSVideo/HLSQualitySelector.jsx", "../src/Prebuilt/layouts/HLSView.jsx", "../src/Prebuilt/layouts/VideoStreamingSection.tsx", "../src/Prebuilt/components/Header/common.jsx", "../src/Prebuilt/components/Header/Header.tsx", "../src/Prebuilt/components/Header/index.tsx", "../src/Prebuilt/components/ConferenceScreen.tsx", "../src/Prebuilt/components/ErrorBoundary.jsx", "../src/Prebuilt/components/init/Init.jsx", "../src/Prebuilt/components/Input/KeyboardInputManager.js", "../src/Prebuilt/components/hooks/useRedirectToLeave.tsx", "../src/Prebuilt/AppStateContext.tsx", "../src/Prebuilt/components/LeaveScreen.tsx", "../src/Prebuilt/components/MwebLandscapePrompt.tsx", "../src/Prebuilt/components/Toast/ToastConfig.jsx", "../src/Prebuilt/components/Toast/ToastBatcher.js", "../src/Prebuilt/components/Notifications/AutoplayBlockedModal.tsx", "../src/Prebuilt/components/Notifications/InitErrorModal.tsx", "../src/Prebuilt/components/Notifications/PeerNotifications.tsx", "../src/Prebuilt/components/Notifications/PermissionErrorModal.tsx", "../src/Prebuilt/components/Notifications/ReconnectNotifications.tsx", "../src/Prebuilt/components/Notifications/TrackBulkUnmuteModal.tsx", "../src/Prebuilt/components/Notifications/TrackNotifications.tsx", "../src/Prebuilt/components/Notifications/TrackUnmuteModal.tsx", "../src/Prebuilt/components/Notifications/Notifications.tsx", "../src/Prebuilt/components/Notifications/index.tsx", "../src/Prebuilt/components/Preview/PreviewScreen.tsx", "../src/Prebuilt/components/Toast/Toast.jsx", "../src/Prebuilt/components/Toast/ToastContainer.jsx", "../src/Prebuilt/plugins/FlyingEmoji.jsx", "../src/Prebuilt/plugins/RemoteStopScreenshare.jsx", "../src/Prebuilt/components/hooks/useAutoStartStreaming.tsx", "../src/Prebuilt/App.tsx", "../src/Prebuilt/index.ts", "../src/Progress/index.tsx", "../src/index.ts"],
|
4
4
|
"sourcesContent": ["", "import type * as Stitches from '@stitches/react';\nimport { defaultThemeMap as defaultStitchesThemeMap } from '@stitches/react';\n\nexport const baseConfig = {\n theme: {\n colors: {\n primary_default: '#2572ED',\n primary_bright: '#538DFF',\n primary_dim: '#002D6D',\n primary_disabled: '#004299',\n on_primary_high: 'rgba(245, 249, 255, 0.95)',\n on_primary_medium: 'rgba(224, 236, 255, 0.8)',\n on_primary_low: 'rgba(194, 208, 229, 0.5)',\n secondary_default: '#444954',\n secondary_bright: '#70778B',\n secondary_dim: '#293042',\n secondary_disabled: '#404759',\n on_secondary_high: '#FFFFFF',\n on_secondary_medium: '#D3D9F0',\n on_secondary_low: '#A4ABC0',\n background_default: '#0B0E15',\n background_dim: '#000000',\n surface_default: '#191B23',\n surface_bright: '#272A31',\n surface_brighter: '#2E3038',\n surface_dim: '#11131A',\n on_surface_high: '#EFF0FA',\n on_surface_medium: '#C5C6D0',\n on_surface_low: '#8F9099',\n border_default: '#1D1F27',\n border_bright: '#272A31',\n alert_success: '#36B37E',\n alert_warning: '#FFAB00',\n alert_error_default: '#C74E5B',\n alert_error_bright: '#FFB2B6',\n alert_error_brighter: '#FFEDEC',\n alert_error_dim: '#270005',\n },\n shadows: {\n sm: '0 0 4px 0 #0000004D',\n md: '0 0 8px 0 #0000004D',\n },\n fonts: {\n sans: 'Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif',\n },\n fontSizes: {\n h1: '6rem',\n h2: '3.75rem',\n h3: '3rem',\n h4: '2.125rem',\n h5: '1.5rem',\n h6: '1.25rem',\n tiny: '0.625rem',\n xs: '0.75rem',\n sm: '0.875rem',\n md: '1rem',\n lg: '1.125rem',\n },\n fontWeights: {\n semiBold: 600,\n medium: 500,\n regular: 400,\n },\n lineHeights: {\n h1: '5.75rem',\n h2: '3.5rem',\n h3: '3.25rem',\n h4: '2.5rem',\n h5: '2rem',\n h6: '1.5rem',\n tiny: '1rem',\n xs: '1rem',\n sm: '1.25rem',\n md: '1.5rem',\n },\n radii: {\n '0': '0.25rem',\n '1': '0.5rem',\n '2': '0.75rem',\n '3': '1rem',\n '4': '1.5rem',\n round: '100rem',\n },\n space: {\n 0: '0rem',\n xs: '0.5rem',\n sm: '0.75rem',\n md: '1rem',\n lg: '1.25rem',\n xl: '2.25rem',\n px: '1px',\n 1: '0.125rem',\n 2: '0.25rem',\n 3: '0.375rem',\n 4: '0.5rem',\n 5: '0.625rem',\n 6: '0.75rem',\n 7: '0.875rem',\n 8: '1rem',\n 9: '1.25rem',\n 10: '1.5rem',\n 11: '1.75rem',\n 12: '2rem',\n 13: '2.25rem',\n 14: '2.5rem',\n 15: '2.75rem',\n 16: '3rem',\n 17: '3.5rem',\n 18: '4rem',\n 19: '4.25rem',\n 20: '5rem',\n 24: '6rem',\n 28: '7rem',\n 32: '8rem',\n 36: '9rem',\n 40: '10rem',\n 44: '11rem',\n 48: '12rem',\n 52: '13rem',\n 56: '14rem',\n 60: '15rem',\n 64: '16rem',\n 72: '18rem',\n 80: '20rem',\n 96: '24rem',\n 100: '25rem',\n },\n borderWidths: {\n light: '1px',\n normal: '2px',\n bold: '3px',\n extrabold: '4px',\n black: '5px',\n },\n },\n};\n\nexport const defaultUtils = {\n bg: (value: Stitches.PropertyValue<'backgroundColor'>) => ({\n backgroundColor: value,\n }),\n c: (value: Stitches.PropertyValue<'color'>) => ({\n color: value,\n }),\n r: (value: Stitches.ScaleValue<'radii'>) => ({\n borderRadius: value,\n }),\n fs: (value: Stitches.PropertyValue<'fontSize'> | number | string) => ({\n fontSize: value,\n }),\n size: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n height: value,\n width: value,\n }),\n w: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n width: value,\n }),\n h: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n height: value,\n }),\n p: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n padding: value,\n }),\n pt: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n paddingTop: value,\n }),\n pr: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n paddingRight: value,\n }),\n pb: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n paddingBottom: value,\n }),\n pl: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n paddingLeft: value,\n }),\n px: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n paddingLeft: value,\n paddingRight: value,\n }),\n py: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n paddingTop: value,\n paddingBottom: value,\n }),\n m: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n margin: value,\n }),\n mt: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n marginTop: value,\n }),\n mr: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n marginRight: value,\n }),\n mb: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n marginBottom: value,\n }),\n ml: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n marginLeft: value,\n }),\n mx: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n marginLeft: value,\n marginRight: value,\n }),\n my: (value: Stitches.ScaleValue<'space'> | number | string) => ({\n marginTop: value,\n marginBottom: value,\n }),\n};\n\nexport const defaultMedia = {\n allowMotion: '(prefers-reduced-motion: no-preference)',\n sm: '(max-width: 640px)',\n md: '(max-width: 768px)',\n lg: '(max-width: 1024px)',\n xl: '(max-width: 1280px)',\n '2xl': '(max-width: 1536px)',\n ls: '(max-width: 1024px) and (orientation: landscape)',\n};\n\nexport const defaultThemeMap = {\n ...defaultStitchesThemeMap,\n width: 'space',\n height: 'space',\n minWidth: 'space',\n maxWidth: 'space',\n minHeight: 'space',\n maxHeight: 'space',\n flexBasis: 'space',\n gridTemplateColumns: 'space',\n gridTemplateRows: 'space',\n blockSize: 'space',\n minBlockSize: 'space',\n maxBlockSize: 'space',\n inlineSize: 'space',\n minInlineSize: 'space',\n maxInlineSize: 'space',\n};\n", "import type * as Stitches from '@stitches/react';\nimport { createStitches } from '@stitches/react';\nimport merge from 'lodash.merge';\nimport { baseConfig, defaultMedia, defaultThemeMap, defaultUtils } from './base.config';\n\nconst HmsStitches = createStitches({\n prefix: 'hms-ui',\n theme: {\n ...baseConfig.theme,\n colors: {\n ...baseConfig.theme.colors,\n },\n },\n media: defaultMedia,\n utils: defaultUtils,\n themeMap: defaultThemeMap,\n});\n\nexport const {\n theme,\n createTheme: createThemeBase,\n styled,\n globalCss,\n keyframes,\n css,\n getCssText,\n config,\n} = HmsStitches;\n\nexport const globalStyles = globalCss({\n '*': {\n fontFamily: '$sans',\n boxSizing: 'border-box',\n borderWidth: 0,\n borderStyle: 'solid',\n },\n body: {\n margin: 0,\n },\n '#root': {\n height: '100%',\n overscrollBehaviorY: 'none',\n },\n '::-webkit-scrollbar-track': {\n WebkitBoxShadow: 'inset 0 0 6px rgba(0, 0, 0, 0.3)',\n boxShadow: 'inset 0 0 6px rgba(0, 0, 0, 0.3)',\n backgroundColor: 'transparent',\n },\n '::-webkit-scrollbar': {\n width: '6px',\n height: '6px',\n backgroundColor: 'transparent',\n },\n '::-webkit-scrollbar-thumb': {\n backgroundColor: '#657080',\n borderRadius: '5px',\n },\n /**\n * needed for safari. Safari\n * adds background color on its own\n * on hls-viewer on fullscreen\n */\n '#hls-viewer-dark:fullscreen': {\n backgroundColor: 'black !important',\n },\n\n '#hls-viewer-light:fullscreen': {\n backgroundColor: 'white !important',\n },\n});\n\nexport type ThemeType = 'default';\nexport type Theme = typeof HmsStitches.theme;\n\n/**\n * This method will be used to create custom themes or update any theme values\n * @param { type: ThemeType; className: string; theme: Theme }\n * @returns\n */\nexport const createTheme = ({\n themeType,\n theme,\n className,\n}: {\n themeType: string;\n className?: string;\n theme?: Partial<Theme>;\n}) => {\n if (!themeType) {\n throw new Error('Theme type is required');\n }\n const mergedTheme = merge(baseConfig.theme, theme || {});\n return createThemeBase(className || `${themeType}-theme`, mergedTheme);\n};\n\nexport type CSS = Stitches.CSS<typeof HmsStitches>;\n", "import { useEffect, useState } from 'react';\n\nconst isBrowser = (): boolean => {\n return Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\n};\n\nexport type SSRState = {\n isBrowser: boolean;\n isServer: boolean;\n};\n\nconst useSSR = (): SSRState => {\n const [browser, setBrowser] = useState<boolean>(false);\n useEffect(() => {\n setBrowser(isBrowser());\n }, []);\n\n return {\n isBrowser: browser,\n isServer: !browser,\n };\n};\n\nexport default useSSR;\n", "import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type { Theme } from './stitches.config';\nimport { createTheme, theme } from './stitches.config';\nimport useSSR from './useSSR';\n\nconst defaultAspectRatio = {\n width: 1,\n height: 1,\n};\n\nexport enum ThemeTypes {\n // eslint-disable-next-line no-unused-vars\n default = 'default',\n}\n\nexport type ThemeContextValue = {\n themeType: string;\n theme: Theme;\n aspectRatio: { width: number; height: number };\n /**\n * @param {ThemeTypes} themeToUpdateTo - optional\n * Use this to toggle or update the currentTheme.\n * if a param is passed, it will set the theme to passed value, otherwise will toggle between light and dark\n * depending on current applied theme\n */\n toggleTheme: (themeToUpdateTo?: ThemeTypes) => void;\n};\n\nexport type ThemeProviderProps = {\n themeType?: string;\n theme?: Theme;\n aspectRatio?: { width: number; height: number };\n};\n\nconst defaultContext = {\n themeType: ThemeTypes.default,\n theme,\n aspectRatio: { width: 1, height: 1 },\n toggleTheme: (_themeToUpdateTo?: ThemeTypes) => {\n return;\n },\n};\nexport const ThemeContext = React.createContext<ThemeContextValue>(defaultContext);\n\n/**\n * Wrap this around your root component to get access to theme\n * eg:\n * <ThemeProvider type=\"dark\" appBuilder={{ aspectRatio: { width:1, height: 1} }}>\n * <App />\n * </ThemeProvider>\n */\nexport const HMSThemeProvider: React.FC<React.PropsWithChildren<ThemeProviderProps>> = ({\n themeType,\n theme: userTheme,\n aspectRatio = defaultAspectRatio,\n children,\n}) => {\n const systemTheme = ThemeTypes.default;\n const [currentTheme, setCurrentTheme] = useState(themeType || systemTheme);\n const previousClassName = useRef('');\n const { isBrowser } = useSSR();\n const updatedTheme = useMemo(() => {\n const updatedTheme = createTheme({ themeType: currentTheme, theme: userTheme || {} });\n if (!isBrowser) {\n return updatedTheme;\n }\n if (previousClassName.current) {\n document.documentElement.classList.remove(previousClassName.current);\n }\n previousClassName.current = updatedTheme.className;\n document.documentElement.classList.add(updatedTheme);\n return updatedTheme;\n }, [userTheme, currentTheme, isBrowser]);\n\n const toggleTheme = useCallback((themeToUpdateTo?: ThemeTypes) => {\n if (themeToUpdateTo) {\n setCurrentTheme(themeToUpdateTo);\n return;\n }\n setCurrentTheme(ThemeTypes.default);\n }, []);\n\n useEffect(() => {\n if (themeType) {\n setCurrentTheme(themeType);\n }\n }, [themeType]);\n\n return (\n <ThemeContext.Provider\n value={{ themeType: currentTheme, theme: updatedTheme as unknown as Theme, aspectRatio, toggleTheme }}\n >\n {children}\n </ThemeContext.Provider>\n );\n};\n\nexport const useTheme = () => React.useContext(ThemeContext);\n", "export * from './stitches.config';\nexport * from './ThemeProvider';\n", "import { styled } from '../Theme';\n\n/**\n * @see https://tailwindcss.com/docs/space\n */\nconst gapStyles = (value: number) => {\n return {\n '& > * + *': {\n marginRight: '0',\n marginLeft: `${0.25 * value}rem`,\n },\n };\n};\n\nexport const Flex = styled('div', {\n display: 'flex',\n variants: {\n justify: {\n start: {\n justifyContent: 'flex-start',\n },\n end: {\n justifyContent: 'flex-end',\n },\n center: {\n justifyContent: 'center',\n },\n between: {\n justifyContent: 'space-between',\n },\n around: {\n justifyContent: 'space-around',\n },\n evenly: {\n justifyContent: 'space-evenly',\n },\n },\n align: {\n start: {\n alignItems: 'flex-start',\n },\n end: {\n alignItems: 'flex-end',\n },\n center: {\n alignItems: 'center',\n },\n baseline: {\n alignItems: 'baseline',\n },\n strech: {\n alignItems: 'stretch',\n },\n },\n direction: {\n row: {\n flexDirection: 'row',\n },\n column: {\n flexDirection: 'column',\n },\n rowReverse: {\n flexDirection: 'row-reverse',\n },\n columnReverse: {\n flexDirection: 'column-reverse',\n },\n },\n gap: {\n 1: gapStyles(1),\n 2: gapStyles(2),\n 3: gapStyles(3),\n 4: gapStyles(4),\n },\n },\n});\n", "import { styled } from '../Theme';\n\nexport const Box = styled('div', {});\n", "export { Flex } from './Flex';\nexport { Box } from './Box';\n", "import React from 'react';\n\ntype Props = {\n /**\n * Adjusts width and height\n */\n size?: number | string;\n /**\n * Color of Loader\n */\n color?: string;\n};\n\ntype LoadingProps = Props & React.SVGProps<SVGSVGElement>;\n\nexport const Loading = ({ size = 24, color = 'white', ...props }: LoadingProps) => (\n <svg width={size} height={size} viewBox=\"0 0 50 50\" fill={color} xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <circle cx=\"25\" cy=\"25\" r=\"20\" stroke={color} strokeWidth=\"4\" strokeDasharray=\"70 30\" fill=\"none\">\n <animateTransform\n attributeName=\"transform\"\n attributeType=\"XML\"\n type=\"rotate\"\n from=\"0 25 25\"\n to=\"360 25 25\"\n dur=\"1s\"\n repeatCount=\"indefinite\"\n />\n </circle>\n </svg>\n);\n", "export { Loading } from './Loading';\n", "/**\n * Flex based centering helper styles\n */\nexport const flexCenter = {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n};\n\n/**\n * Gives styles for text ellipsis, with given width as maxWidth.\n * A number in pixels or css width string value can be passed\n * @param {number|string} width\n * @returns\n */\nexport const textEllipsis = (width: number | string) => ({\n maxWidth: width,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n minWidth: 0,\n});\n", "import React, { ComponentPropsWithRef, PropsWithChildren } from 'react';\nimport { Flex } from '../Layout';\nimport { Loading } from '../Loading';\nimport { styled } from '../Theme';\nimport { flexCenter } from '../utils/styles';\n\n/**\n * @param base bg color\n * @param hover hover state bg color\n * @param active active state bg color\n * @returns CSS object based on the state\n */\n\nconst getOutlinedVariants = (\n base: string,\n hover: string,\n active: string,\n disabled: string,\n text: string,\n textDisabled: string,\n) => {\n return {\n bg: '$transparent',\n border: `solid $space$px $colors${base}`,\n c: text,\n '&[disabled]': {\n c: textDisabled,\n bg: '$transparent',\n border: `solid $space$px $colors${disabled}`,\n cursor: 'not-allowed',\n },\n '&:not([disabled]):hover': {\n border: `solid $space$px $colors${hover}`,\n bg: '$transparent',\n },\n '&:not([disabled]):active': {\n border: `solid $space$px $colors${active}`,\n bg: '$transparent',\n },\n '&:not([disabled]):focus-visible': {\n boxShadow: `0 0 0 3px $colors${base}`,\n },\n };\n};\n\nconst getButtonVariants = (\n base: string,\n hover: string,\n active: string,\n disabled: string,\n text: string,\n textDisabled: string,\n) => {\n return {\n bg: base,\n border: `1px solid ${base}`,\n c: text,\n '&[disabled]': {\n c: textDisabled,\n cursor: 'not-allowed',\n bg: disabled,\n border: `1px solid ${disabled}`,\n },\n '&:not([disabled]):hover': {\n bg: hover,\n border: `1px solid ${hover}`,\n },\n '&:not([disabled]):active': {\n bg: active,\n border: `1px solid ${active}`,\n },\n '&:not([disabled]):focus-visible': {\n boxShadow: `0 0 0 3px ${base}`,\n },\n };\n};\n\nconst StyledButton = styled('button', {\n ...flexCenter,\n cursor: 'pointer',\n fontFamily: '$sans',\n lineHeight: 'inherit',\n textTransform: 'none',\n position: 'relative',\n outline: 'none',\n border: 'none',\n fs: '$md',\n r: '$1',\n backgroundColor: '$primary_default',\n fontWeight: '500',\n whiteSpace: 'nowrap',\n p: '$4 $8',\n '-webkit-appearance': 'button',\n '&:focus': {\n outline: 'none',\n },\n '&:not([disabled]):focus-visible': {\n boxShadow: '0 0 0 3px $colors$primary_default',\n },\n transition: 'all 0.2s ease',\n compoundVariants: [\n {\n variant: 'standard',\n outlined: true,\n css: getOutlinedVariants(\n '$secondary_default',\n '$secondary_bright',\n '$secondary_dim',\n '$secondary_disabled',\n '$on_surface_high',\n '$on_surface_low',\n ),\n },\n {\n variant: 'danger',\n outlined: true,\n css: getOutlinedVariants(\n '$alert_error_default',\n '$alert_error_bright',\n '$alert_error_dim',\n '$alert_error_brighter',\n '$on_surface_high',\n '$on_surface_low',\n ),\n },\n {\n variant: 'primary',\n outlined: true,\n css: getOutlinedVariants(\n '$primary_default',\n '$primary_bright',\n '$primary_dim',\n '$primary_disabled',\n '$on_surface_high',\n '$on_surface_low',\n ),\n },\n ],\n variants: {\n variant: {\n standard: getButtonVariants(\n '$surface_brighter',\n '$surface_bright',\n '$surface_default',\n '$surface_dim',\n '$on_surface_high',\n '$on_surface_low',\n ),\n danger: getButtonVariants(\n '$alert_error_default',\n '$alert_error_bright',\n '$alert_error_dim',\n '$alert_error_dim',\n '$alert_error_brighter',\n '$on_primary_low',\n ),\n primary: getButtonVariants(\n '$primary_default',\n '$primary_bright',\n '$primary_dim',\n '$primary_disabled',\n '$on_primary_high',\n '$on_primary_low',\n ),\n },\n outlined: {\n true: {},\n },\n icon: {\n true: {},\n },\n },\n defaultVariants: {\n variant: 'primary',\n },\n});\n\nexport const Button = React.forwardRef<\n HTMLButtonElement,\n PropsWithChildren<{ loading?: boolean } & ComponentPropsWithRef<typeof StyledButton>>\n>(({ children, loading = false, icon, ...buttonProps }, ref) => {\n return (\n <StyledButton {...buttonProps} ref={ref}>\n <>\n {loading && (\n <Flex\n align=\"center\"\n justify=\"center\"\n css={{ w: '100%', position: 'absolute', left: '0', color: '$on_primary_low' }}\n >\n <Loading color=\"currentColor\" />\n </Flex>\n )}\n <Flex\n align=\"center\"\n justify=\"center\"\n css={{ visibility: loading ? 'hidden' : 'visible', gap: icon ? '$4' : '0' }}\n >\n {children}\n </Flex>\n </>\n </StyledButton>\n );\n});\n", "export { Button } from './Button';\n", "import { styled } from '../Theme';\n\nexport const textVariants = {\n h1: {\n fontWeight: '$semiBold',\n letterSpacing: '-1.5px',\n fontSize: '$h1',\n lineHeight: '$h1',\n '@md': {\n fontSize: '4.5rem',\n lineHeight: '4.75rem',\n },\n },\n h2: {\n fontSize: '$h2',\n lineHeight: '$h2',\n fontWeight: '$semiBold',\n letterSpacing: '-0.5px',\n '@md': {\n fontSize: '3rem',\n lineHeight: '3.25rem',\n },\n },\n h3: {\n fontSize: '$h3',\n lineHeight: '$h3',\n fontWeight: '$semiBold',\n '@md': {\n fontSize: '2.5rem',\n lineHeight: '2.75rem',\n },\n },\n h4: {\n fontSize: '$h4',\n lineHeight: '$h4',\n fontWeight: '$semiBold',\n letterSpacing: '0.25px',\n '@md': {\n fontSize: '1.75rem',\n lineHeight: '2rem',\n },\n },\n h5: {\n fontSize: '$h5',\n lineHeight: '$h5',\n fontWeight: '$semiBold',\n '@md': {\n fontSize: '1.5rem',\n lineHeight: '1.75rem',\n },\n },\n h6: {\n fontSize: '$h6',\n lineHeight: '$h6',\n fontWeight: '$semiBold',\n letterSpacing: '0.15px',\n '@md': {\n fontSize: '1.25rem',\n lineHeight: '1.5rem',\n },\n },\n sub1: {\n fontSize: '$md',\n lineHeight: '$h5',\n fontWeight: '$medium',\n letterSpacing: '0.15px',\n },\n sub2: {\n fontSize: '$sm',\n lineHeight: '$sm',\n fontWeight: '$medium',\n letterSpacing: '0.1px',\n },\n body1: {\n fontSize: '$md',\n lineHeight: '$h6',\n fontWeight: '$medium',\n letterSpacing: '0.1px',\n },\n body2: {\n fontSize: '0.875rem',\n lineHeight: '1.25rem',\n fontWeight: '$medium',\n letterSpacing: '0.25px',\n },\n button: {\n fontSize: '1rem',\n lineHeight: '1.5rem',\n fontWeight: '$semiBold',\n letterSpacing: '0.5px',\n },\n caption: {\n fontSize: '0.75rem',\n lineHeight: '1rem',\n letterSpacing: '0.4px',\n fontWeight: '$regular',\n },\n overline: {\n fontSize: '0.625rem',\n lineHeight: '1rem',\n letterSpacing: '1.5px',\n fontWeight: '$medium',\n },\n tiny: {\n fontSize: '$tiny',\n lineHeight: '$tiny',\n },\n xs: {\n fontSize: '$xs',\n lineHeight: '$xs',\n },\n sm: {\n fontSize: '$sm',\n lineHeight: '$sm',\n },\n md: {\n fontSize: '$md',\n lineHeight: '$md',\n },\n lg: {\n fontSize: '$lg',\n lineHeight: '$md',\n fontWeight: '$semiBold',\n letterSpacing: '0.15px',\n },\n};\n\nexport const Text = styled('p', {\n fontFamily: '$sans',\n fontWeight: '$regular',\n margin: 0,\n color: '$on_surface_high',\n variants: {\n variant: textVariants,\n color: {\n white: {\n color: '$on_surface_high',\n },\n },\n inline: {\n true: {\n display: 'inline',\n },\n },\n },\n defaultVariants: {\n variant: 'md',\n },\n});\n", "export { Text } from './Text';\n", "import { styled } from '../Theme';\nimport { flexCenter } from '../utils/styles';\n\nexport const IconButton = styled('button', {\n ...flexCenter,\n alignItems: 'center',\n outline: 'none',\n border: 'none',\n padding: '$2',\n r: '$0',\n cursor: 'pointer',\n backgroundColor: 'transparent',\n color: '$on_surface_high',\n '&:not([disabled]):focus-visible': {\n boxShadow: '0 0 0 3px $colors$primary_default',\n },\n '&:not([disabled]):focus': {\n outline: 'none',\n },\n '@media (hover: hover)': {\n '&:not([disabled]):hover': {\n backgroundColor: '$on_surface_low',\n },\n },\n '&[disabled]': {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n '&:focus': {\n outline: 'none',\n },\n variants: {\n active: {\n false: {\n backgroundColor: '$secondary_dim',\n color: '$on_primary_high',\n '&:not([disabled]):hover': {\n backgroundColor: '$secondary_default',\n },\n },\n true: {\n '&:not([disabled]):hover': {\n backgroundColor: '$on_surface_low',\n },\n },\n },\n },\n});\n", "export { IconButton } from './IconButton';\n", "const getInitials = (name: string | undefined) => {\n if (!name) {\n return undefined;\n } else {\n return name\n .trim()\n .match(/(^\\S\\S?|\\b\\S)?/g)\n ?.join('')\n ?.match(/(^\\S|\\S$)?/g)\n ?.join('')\n .toUpperCase();\n }\n};\n\n/**\n calculates the initials of the name and choose a background color based on the first later of the initials\n */\nexport const getAvatarBg = (name: string): { initials: string; color: string } => {\n const initials = getInitials(name);\n const indexFactor = 20;\n const colorIndex = ((initials?.codePointAt(0) || 0) % indexFactor) + 1;\n return { initials: initials || '', color: colorsList[colorIndex - 1] };\n};\n\nconst colorsList = [\n '#616161',\n '#F44336',\n '#3F51B5',\n '#4CAF50',\n '#FFA000',\n '#795548',\n '#E91E63',\n '#2F80FF',\n '#8BC34A',\n '#F57C00',\n '#4E342E',\n '#9C27B0',\n '#00BCD4',\n '#C0CA33',\n '#F4511E',\n '#673AB7',\n '#009688',\n '#FBC02D',\n '#BF360C',\n '#455A64',\n];\n", "import React from 'react';\nimport { VariantProps } from '@stitches/react';\nimport { PersonIcon } from '@100mslive/react-icons';\nimport { styled } from '../Theme';\nimport { getAvatarBg } from './getAvatarBg';\nimport { flexCenter } from '../utils/styles';\n\nconst getAvatarShape = (radii: string) => ({\n borderRadius: radii,\n});\n\nexport const StyledAvatar = styled('div', {\n ...flexCenter,\n color: '$colors$on_primary_high',\n fontFamily: '$sans',\n aspectRatio: 1,\n fontWeight: 600,\n fontSize: '$space$9',\n variants: {\n shape: {\n circle: getAvatarShape('$round'),\n square: getAvatarShape('$1'),\n },\n size: {\n small: {\n height: '$16 !important',\n fontSize: '$space$6',\n },\n medium: {\n height: '$18 !important',\n fontSize: '$space$10',\n },\n large: {\n height: '$20 !important',\n fontSize: '$space$12',\n },\n },\n },\n defaultVariants: {\n shape: 'circle',\n },\n});\n\ntype Props = VariantProps<typeof StyledAvatar> &\n React.ComponentProps<typeof StyledAvatar> & {\n name: string;\n };\n\nexport const Avatar: React.FC<Props> = ({ name, css, ...props }) => {\n const { initials } = getAvatarBg(name);\n let { color } = getAvatarBg(name);\n if (!name) {\n color = '#7E47EB';\n }\n return (\n <StyledAvatar css={{ bg: color, ...css }} {...props}>\n {initials || <PersonIcon height={40} width={40} />}\n </StyledAvatar>\n );\n};\n", "export { Avatar, StyledAvatar } from './Avatar';\n", "import { styled } from '../Theme';\n\nconst getVerticalSpace = (space: string) => ({\n marginLeft: space,\n marginRight: space,\n});\nconst getHorizontalSpace = (space: string) => ({\n marginTop: space,\n marginBottom: space,\n});\n\nexport const VerticalDivider = styled('span', {\n height: '25px',\n width: '1px',\n backgroundColor: '$border_bright',\n variants: {\n space: {\n 1: getVerticalSpace('$1'),\n 2: getVerticalSpace('$2'),\n 3: getVerticalSpace('$3'),\n 4: getVerticalSpace('$4'),\n },\n },\n defaultVariants: {\n space: 1,\n },\n});\n\nexport const HorizontalDivider = styled('span', {\n height: '1px',\n width: '100%',\n display: 'block',\n backgroundColor: '$border_bright',\n variants: {\n space: {\n 1: getHorizontalSpace('$1'),\n 2: getHorizontalSpace('$2'),\n 3: getHorizontalSpace('$3'),\n 4: getHorizontalSpace('$4'),\n },\n },\n defaultVariants: {\n space: 1,\n },\n});\n", "export { HorizontalDivider, VerticalDivider } from './Divider';\n", "import React from 'react';\nimport * as BaseSwitch from '@radix-ui/react-switch';\nimport { styled } from '../Theme';\n\nconst SwitchRoot = styled(BaseSwitch.Root, {\n all: 'unset',\n width: '30px',\n height: '14px',\n border: 'solid $space$px $secondary_default',\n borderRadius: '$3',\n p: '$2',\n position: 'relative',\n cursor: 'pointer',\n '&[data-state=\"checked\"]': {\n backgroundColor: '$primary_default',\n border: 'solid $space$px $primary_default',\n },\n '&:focus': {\n outline: 'none',\n },\n '&[disabled]': {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n});\n\nconst SwitchThumb = styled(BaseSwitch.Thumb, {\n display: 'block',\n top: '3px',\n position: 'absolute',\n width: '$md',\n height: '$md',\n backgroundColor: '$secondary_default',\n borderRadius: '$round',\n transition: 'right 500ms ease-in',\n left: '$2',\n '&[data-state=\"checked\"]': {\n left: 'unset',\n right: '$2',\n backgroundColor: '$on_primary_high',\n },\n});\n\ntype SwitchProps = React.ComponentProps<typeof SwitchRoot>;\n\nexport const Switch: React.FC<SwitchProps> = props => (\n <SwitchRoot {...props}>\n <SwitchThumb />\n </SwitchRoot>\n);\n\nSwitch.displayName = 'Switch';\n", "export { Switch } from './Switch';\n", "import { keyframes } from '../Theme';\n\nexport const slideDown = (controller: string) =>\n keyframes({\n from: { height: 0 },\n to: { height: `var(${controller})` },\n });\n\nexport const slideUp = (controller: string) =>\n keyframes({\n from: { height: `var(${controller})` },\n to: { height: 0 },\n });\n\nexport const translateAcross = ({ xFrom = '0', yFrom = '0', zFrom = '0', xTo = '0', yTo = '0', zTo = '0' }) =>\n keyframes({\n from: { transform: `translate3d(${xFrom}, ${yFrom}, ${zFrom})` },\n to: { transform: `translate3d(${xTo}, ${yTo}, ${zTo}` },\n });\n\nexport const dialogOpen = keyframes({\n '0%': { opacity: 0, transform: 'translate(-50%, -48%) scale(.90)' },\n '100%': { opacity: 1, transform: 'translate(-50%, -50%) scale(1)' },\n});\n\nexport const dialogClose = keyframes({\n '0%': { opacity: 1, transform: 'translate(-50%, -50%) scale(1)' },\n '100%': { opacity: 0, transform: 'translate(-50%, -48%) scale(.90)' },\n});\n\nexport const slideUpAndFade = (start = '2px') =>\n keyframes({\n '0%': { opacity: 0, transform: `translateY(${start})` },\n '100%': { opacity: 1, transform: 'translateY(0)' },\n });\n\nexport const slideRightAndFade = (start = '-2px') =>\n keyframes({\n '0%': { opacity: 0, transform: `translateX(${start})` },\n '100%': { opacity: 1, transform: 'translateX(0)' },\n });\n\nexport const sheetSlideIn = keyframes({\n from: { transform: '$$transformValue' },\n to: { transform: 'translate3d(0,0,0)' },\n});\n\nexport const sheetSlideOut = keyframes({\n from: { transform: 'translate3d(0,0,0)' },\n to: { transform: '$$transformValue' },\n});\nexport const sheetFadeIn = keyframes({\n from: { opacity: '0' },\n to: { opacity: '1' },\n});\n\nexport const sheetFadeOut = keyframes({\n from: { opacity: '1' },\n to: { opacity: '0' },\n});\nexport const slideDownAndFade = (start = '-2px') =>\n keyframes({\n '0%': { opacity: 0, transform: `translateY(${start})` },\n '100%': { opacity: 1, transform: 'translateY(0)' },\n });\n\nexport const slideLeftAndFade = (start = '2px') =>\n keyframes({\n '0%': { opacity: 0, transform: `translateX(${start})` },\n '100%': { opacity: 1, transform: 'translateX(0)' },\n });\n\nconst slideLeftAndFadeOut = (end = '-100%') =>\n keyframes({\n '0%': { opacity: 1, transform: `translateX(0)` },\n '100%': { opacity: 0, transform: `translateX(${end})` },\n });\n\nexport const popoverAnimation = {\n '@media (prefers-reduced-motion: no-preference)': {\n animationDuration: '400ms',\n animationTimingFunction: 'cubic-bezier(0.16, 1, 0.3, 1)',\n willChange: 'transform, opacity',\n '&[data-state=\"open\"]': {\n '&[data-side=\"top\"]': { animationName: slideDownAndFade() },\n '&[data-side=\"right\"]': { animationName: slideLeftAndFade() },\n '&[data-side=\"bottom\"]': { animationName: slideUpAndFade() },\n '&[data-side=\"left\"]': { animationName: slideRightAndFade() },\n },\n },\n};\n\nexport const toastAnimation = {\n '@media (prefers-reduced-motion: no-preference)': {\n animationDuration: '500ms',\n animationTimingFunction: 'cubic-bezier(0.16, 1, 0.3, 1)',\n willChange: 'transform, opacity',\n animationName: slideLeftAndFadeOut(),\n\n '&[data-state=\"open\"]': {\n animationName: slideRightAndFade('-100%'),\n },\n '&[data-swipe=\"move\"]': {\n transform: 'translateX(var(--radix-toast-swipe-move-x))',\n },\n '&[data-swipe=\"cancel\"]': {\n transform: 'translateX(0)',\n transition: 'transform 200ms ease-out',\n },\n '&[data-swipe=\"end\"]': {\n animation: `${slideLeftAndFadeOut()} 100ms ease-out forwards`,\n },\n },\n};\n", "export * from './animations';\nexport * from './styles';\n", "import React, { PropsWithChildren, useState } from 'react';\nimport * as BaseTooltip from '@radix-ui/react-tooltip';\nimport { CSS, styled } from '../Theme';\nimport { slideDownAndFade, slideLeftAndFade, slideRightAndFade, slideUpAndFade } from '../utils';\n\nconst TooltipBox = styled(BaseTooltip.Content, {\n fontFamily: '$sans',\n borderRadius: '$2',\n padding: '$2 $4',\n fontSize: '$xs',\n zIndex: 11,\n color: '$on_surface_high',\n backgroundColor: '$surface_bright',\n '@media (prefers-reduced-motion: no-preference)': {\n animationDuration: '400ms',\n animationTimingFunction: 'cubic-bezier(0.16, 1, 0.3, 1)',\n willChange: 'transform, opacity',\n '&[data-state=\"delayed-open\"]': {\n '&[data-side=\"top\"]': { animationName: slideDownAndFade() },\n '&[data-side=\"right\"]': { animationName: slideLeftAndFade() },\n '&[data-side=\"bottom\"]': { animationName: slideUpAndFade() },\n '&[data-side=\"left\"]': { animationName: slideRightAndFade() },\n },\n },\n variants: {\n outlined: {\n true: {\n backgroundColor: '$background_dim',\n border: 'solid $space$px $border_bright',\n },\n },\n },\n});\n\nconst TooltipTrigger = styled(BaseTooltip.Trigger, {\n fontFamily: '$sans',\n});\n\nconst TooltipRoot = BaseTooltip.Root;\nexport type alignTooltip = 'end' | 'center' | 'start' | undefined;\nexport type sideTooltip = 'bottom' | 'left' | 'right' | 'top' | undefined;\n\nexport const Tooltip: React.FC<\n PropsWithChildren<{\n title: React.ReactNode | string;\n outlined?: boolean;\n side?: sideTooltip;\n align?: alignTooltip;\n disabled?: boolean;\n triggerCss?: CSS;\n boxCss?: CSS;\n delayDuration?: number;\n }>\n> = ({\n children,\n title,\n triggerCss,\n boxCss,\n outlined = true,\n side = 'bottom',\n align = 'center',\n disabled = false,\n delayDuration = 200,\n}) => {\n const [open, setOpen] = useState(false);\n\n return (\n <BaseTooltip.Provider>\n <TooltipRoot delayDuration={delayDuration} open={open && !disabled} onOpenChange={setOpen}>\n <TooltipTrigger css={{ ...triggerCss }} asChild>\n {children}\n </TooltipTrigger>\n <TooltipBox sideOffset={10} side={side} align={align} outlined={outlined} css={{ ...boxCss }}>\n {title}\n </TooltipBox>\n </TooltipRoot>\n </BaseTooltip.Provider>\n );\n};\n", "export { Tooltip } from './Tooltip';\n", "import React from 'react';\nimport { ChevronDownIcon } from '@100mslive/react-icons';\nimport { styled } from '../Theme';\n\nconst Root = styled('div', {\n color: '$on_primary_high',\n display: 'inline-flex',\n position: 'relative',\n outline: 'none',\n overflow: 'hidden',\n borderRadius: '$1',\n backgroundColor: '$surface_default',\n maxWidth: '100%',\n});\n\n// TODO: replace these with tokens\nconst SelectRoot = styled('select', {\n h: '$16',\n fontSize: '$md',\n fontWeight: '500',\n lineHeight: 'inherit',\n textTransform: 'none',\n appearance: 'none',\n color: '$on_secondary_high',\n padding: '5px',\n paddingLeft: '12px',\n paddingRight: '30px',\n border: 'none',\n borderRadius: '8px',\n backgroundColor: '$secondary_default',\n '&:not([disabled]):focus-visible': {\n boxShadow: '0 0 0 3px $colors$primary_default',\n },\n '&[disabled]': {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n});\n\nconst Arrow = styled('span', {\n color: '$on_secondary_high',\n width: '30px',\n height: '100%',\n position: 'absolute',\n right: 0,\n pointerEvents: 'none',\n display: 'flex',\n alignItems: 'center',\n transition: 'border .2s ease 0s',\n});\n\nconst DefaultDownIcon = ({ ...props }) => (\n <Arrow {...props}>\n <ChevronDownIcon />\n </Arrow>\n);\n\nexport const Select = {\n Root,\n DownIcon: Arrow,\n DefaultDownIcon,\n Select: SelectRoot,\n};\n", "export { Select } from './Select';\n", "import React from 'react';\nimport * as BaseSlider from '@radix-ui/react-slider';\nimport { CSS } from '@stitches/react';\nimport { styled } from '../Theme';\nimport { Tooltip } from '../Tooltip';\n\nconst Root = styled(BaseSlider.Root, {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n userSelect: 'none',\n touchAction: 'none',\n width: '100%',\n '&[data-orientation=\"horizontal\"]': {\n height: 20,\n },\n});\n\nconst Track = styled(BaseSlider.Track, {\n backgroundColor: '$surface_bright',\n position: 'relative',\n flexGrow: 1,\n borderRadius: '$round',\n cursor: 'pointer',\n '&[data-orientation=\"horizontal\"]': { height: 3 },\n});\n\nconst Range = styled(BaseSlider.Range, {\n position: 'absolute',\n backgroundColor: '$primary_default',\n borderRadius: '$round',\n height: '100%',\n});\n\nconst Thumb = styled(BaseSlider.Thumb, {\n all: 'unset',\n display: 'block',\n width: '$8',\n height: '$8',\n backgroundColor: '$primary_default',\n cursor: 'pointer',\n boxShadow: `0 2px 10px $colors$surface_default`,\n borderRadius: 10,\n '&:hover': { backgroundColor: '$primary_default' },\n '&:focus': { boxShadow: 'none' },\n});\n\ntype SliderProps = React.ComponentProps<typeof Root> & {\n thumbStyles?: CSS;\n showTooltip?: boolean;\n};\n\nexport const Slider: React.FC<SliderProps & { showTooltip?: boolean }> = ({\n showTooltip = true,\n thumbStyles,\n ...props\n}) => (\n <Root {...props}>\n <Track>\n <Range />\n </Track>\n {showTooltip ? (\n <Tooltip title={String(props.value?.[0])}>\n <Thumb css={thumbStyles} />\n </Tooltip>\n ) : (\n <Thumb css={thumbStyles} />\n )}\n </Root>\n);\n", "export { Slider } from './Slider';\n", "import React, { ComponentProps } from 'react';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { CrossIcon } from '@100mslive/react-icons';\nimport { IconButton } from '../IconButton';\nimport { styled } from '../Theme';\nimport { dialogClose, dialogOpen } from '../utils/animations';\n\nexport const DialogClose = styled(DialogPrimitive.Close, {\n backgroundColor: 'transparent',\n padding: '0',\n margin: '0',\n border: 'none',\n backgroundImage: 'none',\n});\n\nexport const StyledDialogTrigger = styled(DialogPrimitive.Trigger, {\n appearance: 'none !important', // Needed for safari it shows white overlay\n});\n\nexport const StyledDialogOverlay = styled(DialogPrimitive.Overlay, {\n backgroundColor: 'rgba(0, 0, 0, 0.5);',\n position: 'fixed',\n inset: 0,\n});\n\nexport const StyledDialogPortal = styled(DialogPrimitive.Portal, {});\n\nexport const StyledDialogContent = styled(DialogPrimitive.Content, {\n color: '$on_surface_medium',\n backgroundColor: '$surface_default',\n borderRadius: '8px',\n position: 'fixed',\n top: '50%',\n left: '50%',\n border: '$space$px solid $border_bright',\n boxShadow: '0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23)',\n transform: 'translate(-50%, -50%)',\n zIndex: 999,\n padding: '$12',\n '@allowMotion': {\n '&[data-state=\"open\"]': {\n animation: `${dialogOpen} 150ms cubic-bezier(0.16, 1, 0.3, 1)`,\n },\n '&[data-state=\"closed\"]': {\n animation: `${dialogClose} 150ms cubic-bezier(0.16, 1, 0.3, 1)`,\n },\n },\n '&:focus': { outline: 'none' },\n});\n\nexport const DialogTitle = styled(DialogPrimitive.Title, {\n margin: 0,\n});\n\nexport const DialogDescription = styled(DialogPrimitive.Description, {});\n\nexport const DialogDefaultCloseIcon = (props: ComponentProps<typeof IconButton>) => (\n <DialogClose asChild>\n <IconButton {...props}>\n <CrossIcon />\n </IconButton>\n </DialogClose>\n);\n", "import React, { createContext, ReactNode } from 'react';\n\nexport const DialogContainerContext = createContext('');\n\nexport function DialogContainerProvider({\n children,\n dialogContainerSelector,\n}: {\n children: ReactNode;\n dialogContainerSelector: string;\n}) {\n return <DialogContainerContext.Provider value={dialogContainerSelector}>{children}</DialogContainerContext.Provider>;\n}\n", "import { useContext } from 'react';\nimport { DialogContainerContext } from '../context/DialogContext';\n\nexport function useDialogContainerSelector() {\n const dialogContainerSelector = useContext(DialogContainerContext);\n return dialogContainerSelector;\n}\n", "import React, { ReactNode, useRef } from 'react';\nimport { Root } from '@radix-ui/react-dialog';\nimport { styled } from '@stitches/react';\nimport { CSS } from '../Theme';\nimport {\n DialogClose,\n DialogDefaultCloseIcon,\n DialogDescription,\n DialogTitle,\n StyledDialogContent,\n StyledDialogOverlay,\n StyledDialogPortal,\n StyledDialogTrigger,\n} from './DialogContent';\nimport { useDialogContainerSelector } from '../hooks/useDialogContainerSelector';\n\nconst StyledDialog = styled(Root, {});\nconst CustomDialogContent = ({ children, props = {}, css = {} }: { children: ReactNode; props?: any; css?: CSS }) => (\n <StyledDialogContent css={{ ...css, position: 'absolute' }} {...props}>\n {children}\n </StyledDialogContent>\n);\nconst CustomDialogOverlay = ({ css = {} }: { css?: CSS }) => (\n <StyledDialogOverlay css={{ ...css, position: 'absolute' }} />\n);\nconst CustomDialogPortal = ({ children, container }: { children: ReactNode; container?: HTMLElement | null }) => {\n const dialogContainerSelector = useDialogContainerSelector();\n const containerRef = useRef<HTMLElement | null>(null);\n\n if (container) {\n containerRef.current = container;\n } else if (dialogContainerSelector && !containerRef.current) {\n containerRef.current = document.querySelector(dialogContainerSelector) as HTMLElement;\n } else if (!containerRef.current) {\n containerRef.current = document.body;\n }\n return (\n <StyledDialogPortal container={containerRef.current}>\n <>{children}</>\n </StyledDialogPortal>\n );\n};\n\nexport const Dialog = {\n Root: StyledDialog,\n Trigger: StyledDialogTrigger,\n Overlay: CustomDialogOverlay,\n Content: CustomDialogContent,\n Title: DialogTitle,\n Description: DialogDescription,\n Close: DialogClose,\n DefaultClose: DialogDefaultCloseIcon,\n Portal: CustomDialogPortal,\n};\n", "export { Dialog } from './Dialog';\n", "import React, { ComponentProps, PropsWithChildren, PropsWithRef } from 'react';\nimport { CSS } from '@stitches/react';\nimport { CopyIcon, EyeCloseIcon, EyeOpenIcon } from '@100mslive/react-icons';\nimport { Flex } from '../Layout';\nimport { styled } from '../Theme';\n\nexport const Input = styled('input', {\n fontFamily: '$sans',\n lineHeight: 'inherit',\n backgroundColor: '$surface_default',\n borderRadius: '8px',\n outline: 'none',\n border: '1px solid $border_default',\n padding: '0.5rem 0.75rem',\n minHeight: '30px',\n color: '$on_surface_high',\n fontSize: '$md',\n '&:focus': {\n boxShadow: '0 0 0 1px $colors$primary_default',\n border: '1px solid transparent',\n },\n '&::placeholder': {\n color: '$on_surface_medium',\n },\n variants: {\n alert_error_default: {\n true: {\n '&:focus': {\n boxShadow: '0 0 0 3px $colors$alert_error_default',\n },\n },\n },\n },\n});\n\nconst PasswordRoot = styled('div', {\n w: '100%',\n position: 'relative',\n display: 'flex',\n});\n\nconst PasswordShowIcon: React.FC<ComponentProps<typeof Flex> & { showPassword?: boolean; css?: CSS }> = ({\n showPassword,\n css,\n ...props\n}) => {\n return (\n <Flex css={{ ...css }} {...props}>\n {showPassword ? <EyeOpenIcon /> : <EyeCloseIcon />}\n </Flex>\n );\n};\n\nconst PasswordCopyIcon: React.FC<ComponentProps<typeof Flex & { css?: CSS }>> = ({ css, ...props }) => {\n return (\n <Flex css={{ ...css }} {...props}>\n <CopyIcon />\n </Flex>\n );\n};\n\nconst PasswordIcons = React.forwardRef<HTMLDivElement, PropsWithChildren<ComponentProps<typeof Flex & { css?: CSS }>>>(\n ({ css, ...props }, ref) => {\n return (\n <Flex\n css={{\n position: 'absolute',\n top: 0,\n height: '100%',\n zIndex: 10,\n right: '$4',\n bg: '$surface_bright',\n alignItems: 'center',\n ...css,\n }}\n ref={ref}\n {...props}\n >\n {props.children}\n </Flex>\n );\n },\n);\n\nconst ReactInput: React.FC<PropsWithRef<ComponentProps<typeof Input> & { showPassword?: boolean; css?: CSS }>> =\n React.forwardRef<\n HTMLInputElement,\n PropsWithRef<ComponentProps<typeof Input> & { showPassword?: boolean; css?: CSS }>\n >(({ showPassword = false, css, ...props }, ref) => {\n return (\n <Input\n css={{ flexGrow: 1, width: '100%', ...css }}\n type={showPassword ? 'text' : 'password'}\n {...props}\n ref={ref}\n />\n );\n });\n\nexport const PasswordInput = {\n Root: PasswordRoot,\n Icons: PasswordIcons,\n Input: ReactInput,\n ShowIcon: PasswordShowIcon,\n CopyIcon: PasswordCopyIcon,\n};\n", "export * from './Input';\n", "import { Box } from '../Layout';\nimport { styled } from '../Theme';\nimport { flexCenter } from '../utils';\n\nexport const Root = styled('div', {\n padding: '0.75rem',\n // show videotile context menu on hover\n // [`&:hover .tile-menu`]: {\n // display: 'inline-block',\n // },\n});\n\nconst Container = styled('div', {\n width: '100%',\n height: '100%',\n position: 'relative',\n overflow: 'hidden',\n borderRadius: '$2',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n background: '$background_default',\n variants: {\n transparentBg: {\n true: {\n background: 'transparent',\n },\n },\n noRadius: {\n true: {\n borderRadius: 0,\n },\n },\n },\n});\n\nconst Overlay = styled('div', {\n position: 'absolute',\n width: '100%',\n height: '100%',\n});\n\nconst Info = styled('div', {\n color: '$on_primary_high',\n position: 'absolute',\n bottom: '5px',\n left: '50%',\n fontSize: '$sm',\n transform: 'translateX(-50%)',\n textAlign: 'center',\n width: '80%',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n fontFamily: '$sans',\n});\n\nconst AttributeBox = styled('div', {\n position: 'absolute',\n top: '$4',\n color: '$on_secondary_high',\n bg: '$secondary_dim',\n borderRadius: '$round',\n width: '$14',\n height: '$14',\n mb: '5px',\n ...flexCenter,\n variants: {\n size: {\n small: {\n width: '$10',\n height: '$10',\n '& > svg': {\n width: '$8',\n height: '$8',\n },\n },\n medium: {\n width: '$13',\n height: '$13',\n },\n },\n position: {\n left: { left: '$4' },\n right: { right: '$4' },\n },\n },\n defaultVariants: {\n size: 'medium',\n position: 'left',\n },\n});\n\nconst AudioIndicator = styled(AttributeBox, { defaultVariants: { position: 'right' } });\n\nconst FullScreenButton = styled('button', {\n width: '2.25rem',\n height: '2.25rem',\n color: '$on_surface_high',\n borderRadius: '$round',\n backgroundColor: '$surface_default',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'absolute',\n top: '$2',\n right: '$2',\n zIndex: 5,\n '&:not([disabled]):focus': {\n outline: 'none',\n boxShadow: '0 0 0 3px $colors$primary_bright',\n },\n});\n\nconst AvatarContainer = styled(Box, {\n ...flexCenter,\n flexDirection: 'column',\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translateX(-50%) translateY(-50%)',\n width: '40%',\n height: '40%',\n '& > div': {\n maxHeight: '$20',\n height: '100%',\n },\n});\n\ninterface VideoTileType {\n Root: typeof Root;\n Container: typeof Container;\n Overlay: typeof Overlay;\n Info: typeof Info;\n AvatarContainer: typeof AvatarContainer;\n AttributeBox: typeof AttributeBox;\n AudioIndicator: typeof AudioIndicator;\n FullScreenButton: typeof FullScreenButton;\n}\n\nexport const StyledVideoTile: VideoTileType = {\n Root,\n Container,\n Overlay,\n Info,\n AvatarContainer,\n AttributeBox,\n AudioIndicator,\n FullScreenButton,\n};\n", "export { StyledVideoTile } from './StyledVideoTile';\n", "export const getLeft = (index: number, currentPageIndex: number) => {\n //active slide\n if (index === currentPageIndex) {\n return 0;\n }\n //prev slide\n if (index + 1 === currentPageIndex) {\n return '-100%';\n }\n //next slide\n if (index - 1 === currentPageIndex) {\n return '100%';\n }\n //all slides before prev\n if (index < currentPageIndex) {\n return '-200%';\n }\n //all slides after next\n return '200%';\n};\n", "import { styled } from '../Theme';\n\nconst Root = styled('div', {\n height: '100%',\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n});\n\nconst Container = styled('div', {\n height: '100%',\n width: '100%',\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n});\n\nconst View = styled('div', {\n height: '100%',\n width: '100%',\n position: 'absolute',\n display: 'flex',\n placeContent: 'center',\n flexWrap: 'wrap',\n alignItems: 'center',\n});\n\ninterface VideoListType {\n Root: typeof Root;\n Container: typeof Container;\n View: typeof View;\n}\n\nexport const StyledVideoList: VideoListType = {\n Root,\n Container,\n View,\n};\n", "export { getLeft } from './videoListUtils';\nexport { StyledVideoList } from './StyledVideoList';\n", "import { styled } from '../Theme';\n\nconst Root = styled('div', {\n height: '2rem',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: '100%',\n '& > * + *': {\n marginRight: '0',\n marginLeft: '0.5rem',\n },\n});\n\nconst Chevron = styled('button', {\n color: '$on_surface_high',\n '&:focus': {\n outline: 'none',\n },\n '&[disabled]': {\n color: '$on_surface_low',\n cursor: 'not-allowed',\n },\n backgroundColor: 'transparent',\n display: 'flex',\n});\n\nconst Dots = styled('div', {\n display: 'flex',\n alignItems: 'center',\n '& > * + *': {\n marginRight: '0',\n marginLeft: '0.5rem',\n },\n});\n\nconst Dot = styled('button', {\n '&:focus': {\n outline: 'none',\n },\n borderRadius: '9999px',\n width: '0.5rem',\n height: '0.5rem',\n backgroundColor: '$on_surface_low',\n padding: '0px',\n border: 'none',\n cursor: 'pointer',\n variants: {\n active: {\n true: {\n backgroundColor: '$on_surface_high',\n },\n },\n },\n});\n\ninterface PaginationType {\n Root: typeof Root;\n Chevron: typeof Chevron;\n Dots: typeof Dots;\n Dot: typeof Dot;\n}\n\nexport const StyledPagination: PaginationType = {\n Root,\n Chevron,\n Dots,\n Dot,\n};\n", "export { StyledPagination } from './StyledPagination';\n", "import {\n CheckboxItem,\n Content,\n Group,\n Item,\n ItemIndicator,\n Label,\n Portal,\n Root,\n Separator,\n Sub,\n SubContent,\n SubTrigger,\n Trigger,\n} from '@radix-ui/react-dropdown-menu';\nimport { styled } from '../Theme';\n\nconst DropdownRoot = styled(Root, {});\n\nconst DropdownTrigger = styled(Trigger, {\n cursor: 'pointer',\n appearance: 'none !important',\n '&[data-state=\"open\"]': {\n backgroundColor: '$surface_bright',\n },\n '&:focus': {\n outline: 'none',\n },\n '&:focus-visible': {\n boxShadow: '0 0 0 3px $colors$primary_default',\n },\n});\n\nconst DropdownTriggerItem = styled(SubTrigger, {\n w: '100%',\n color: '$on_surface_high',\n p: '$8',\n display: 'flex',\n alignItems: 'center',\n '&:hover': {\n cursor: 'pointer',\n bg: '$surface_brighter',\n },\n '&:focus-visible': {\n bg: '$surface_brighter',\n outline: 'none',\n },\n});\n\nconst DropdownItem = styled(Item, {\n color: '$on_surface_high',\n p: '$8',\n display: 'flex',\n alignItems: 'center',\n outline: 'none',\n backgroundColor: '$surface_dim',\n '&:hover': {\n cursor: 'pointer',\n bg: '$surface_bright',\n },\n '&:focus-visible': {\n bg: '$surface_bright',\n },\n});\n\nconst DropdownItemSeparator = styled(Separator, {\n h: 1,\n backgroundColor: '$border_bright',\n m: '$4 $8',\n});\n\nconst DropdownContent = styled(Content, {\n w: '$80',\n maxHeight: '$64',\n r: '$1',\n py: '$4',\n backgroundColor: '$surface_dim',\n overflowY: 'auto',\n boxShadow: '0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23)',\n zIndex: 20,\n fontFamily: '$sans',\n});\n\nconst DropdownLabel = styled(Label, {\n display: 'flex',\n alignItems: 'center',\n h: '$12',\n w: '100%',\n p: '$8 $4',\n});\n\nconst DropdownGroup = styled(Group, {});\n\nconst DropdownSubMenu = styled(Sub, {});\n\nconst DropdownSubMenuContent = styled(SubContent, {\n w: '$80',\n maxHeight: '$64',\n r: '$1',\n py: '$4',\n backgroundColor: '$surface_bright',\n overflowY: 'auto',\n boxShadow: '0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23)',\n zIndex: 20,\n});\n\nconst DropdownCheckboxItem = styled(CheckboxItem, {\n color: '$on_surface_high',\n p: '$8',\n display: 'flex',\n alignItems: 'center',\n outline: 'none',\n '&:hover': {\n cursor: 'pointer',\n bg: '$surface_brighter',\n },\n '&:focus-visible': {\n bg: '$surface_brighter',\n },\n gap: '$2',\n});\n\nconst DropdownItemIndicator = styled(ItemIndicator, {\n w: '$10',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n});\n\nexport const Dropdown = {\n Root: DropdownRoot,\n Trigger: DropdownTrigger,\n TriggerItem: DropdownTriggerItem,\n Content: DropdownContent,\n Portal: Portal,\n SubMenu: DropdownSubMenu,\n SubMenuContent: DropdownSubMenuContent,\n Item: DropdownItem,\n Label: DropdownLabel,\n Group: DropdownGroup,\n ItemSeparator: DropdownItemSeparator,\n CheckboxItem: DropdownCheckboxItem,\n ItemIndicator: DropdownItemIndicator,\n};\n", "export * from './Dropdown';\n", "import React from 'react';\nimport type { VariantProps } from '@stitches/react';\nimport { HMSPeer, useVideo } from '@100mslive/react-sdk';\nimport { styled } from '../Theme';\n\nexport const StyledVideo = styled('video', {\n width: '100%',\n height: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: '$2',\n objectFit: 'cover',\n background: '$background_default',\n variants: {\n mirror: {\n true: {\n transform: 'scaleX(-1)',\n },\n },\n screenShare: {\n true: {\n objectFit: 'contain',\n },\n },\n degraded: {\n // send the video behind when it's degraded so avatar can show on top of it. Video will be stuck frame in this case.\n // not hiding by using display none, because it will lead it to be detached as it will no longer be in view.\n true: {\n zIndex: -100,\n },\n },\n noRadius: {\n true: {\n borderRadius: 0,\n },\n },\n },\n defaultVariants: {\n mirror: false,\n },\n});\n\ntype StyledProps = VariantProps<typeof StyledVideo> & React.ComponentProps<typeof StyledVideo>;\n\ninterface Props {\n /**\n * trackID for peer (videoTrack)\n */\n trackId: HMSPeer['videoTrack'];\n /**\n * Boolean stating whether to override the internal behaviour.\n * when attach is false, even if tile is inView or enabled, it won't be rendered\n */\n attach?: boolean;\n}\n\nexport const Video: React.FC<Props & StyledProps> = ({ trackId, attach, ...props }) => {\n const { videoRef } = useVideo({ trackId, attach });\n return <StyledVideo autoPlay muted playsInline controls={false} ref={videoRef} {...props} />;\n};\n", "export { StyledVideo, Video } from './Video';\n", "import * as Popover from '@radix-ui/react-popover';\nimport { styled } from '../Theme';\nimport { popoverAnimation } from '../utils/animations';\nimport { flexCenter } from '../utils/styles';\n\nconst Root = Popover.Root;\n\nconst StyledTrigger = styled(Popover.Trigger, {\n position: 'absolute',\n bottom: '$2',\n right: '$2',\n zIndex: 10,\n width: '$13',\n height: '$13',\n color: '$on_surface_high',\n borderRadius: '$2',\n backgroundColor: '$surface_bright',\n cursor: 'pointer',\n border: 'none',\n ...flexCenter,\n '&:not([disabled]):focus': {\n outline: 'none',\n boxShadow: '0 0 0 3px $colors$primary_bright',\n },\n});\n\nconst StyledContent = styled(Popover.Content, {\n fontFamily: '$sans',\n backgroundColor: '$surface_dim',\n padding: '$5 0',\n display: 'flex',\n flexDirection: 'column',\n borderRadius: '$space$6',\n zIndex: 11,\n width: '$60',\n ...popoverAnimation,\n});\n\nconst styledItem = {\n fontSize: '$sm',\n color: '$on_surface_high',\n display: 'flex',\n alignItems: 'center',\n padding: '$4 $6',\n width: '100%',\n backgroundColor: '$menuBg',\n};\n\nconst StyledItemButton = styled('button', {\n ...styledItem,\n height: '$14',\n '&:hover': {\n backgroundColor: '$surface_brighter',\n },\n cursor: 'pointer',\n // TODO: default focus applied cause issues with this style\n '&:focus': {\n outline: 'none',\n // backgroundColor: '$grey3',\n },\n '& > * + *': {\n marginRight: '0',\n marginLeft: '$4',\n },\n});\n\nconst StyledVolumeItem = styled('div', {\n // TODO: maybe keep this as base comp and extend button variant\n ...styledItem,\n alignItems: 'start',\n flexDirection: 'column',\n marginBottom: '0',\n});\n\nexport const Flex = styled('div', {\n display: 'flex',\n '& > * + *': {\n marginRight: '0',\n marginLeft: '$4',\n },\n});\n\nconst RemoveMenuItem = styled(StyledItemButton, {\n color: '$alert_error_default',\n borderTop: '1px solid $border_bright',\n});\n\ninterface MenuTileType {\n Root: typeof Root;\n Trigger: typeof StyledTrigger;\n Content: typeof StyledContent;\n ItemButton: typeof StyledItemButton;\n VolumeItem: typeof StyledVolumeItem;\n RemoveItem: typeof RemoveMenuItem;\n}\n\nexport const StyledMenuTile: MenuTileType = {\n Root,\n Trigger: StyledTrigger,\n Content: StyledContent,\n ItemButton: StyledItemButton,\n VolumeItem: StyledVolumeItem,\n RemoveItem: RemoveMenuItem,\n};\n", "export { StyledMenuTile } from './StyledMenuTile';\n", "import { useCallback, useRef } from 'react';\nimport { HMSTrackID } from '@100mslive/hms-video-store';\nimport { useAudioLevelStyles } from '@100mslive/react-sdk';\nimport { useTheme } from '../Theme';\n\n/**\n * pass in a track id and get a ref. That ref can be attached to an element which will have border\n * as per audio level post that.\n */\nexport function useBorderAudioLevel(audioTrackId?: HMSTrackID) {\n const { theme } = useTheme();\n const color = theme.colors.primary_default.value;\n const getStyle = useCallback(\n (level: number) => {\n const style: Record<string, string> = {\n transition: 'outline 0.4s ease-in-out',\n };\n style['outline'] = level ? `${sigmoid(level) * 4}px solid ${color}` : '0px solid transparent';\n return style;\n },\n [color],\n );\n const ref = useRef(null);\n useAudioLevelStyles({\n trackId: audioTrackId,\n getStyle,\n ref,\n });\n return ref;\n}\n\nexport const sigmoid = (z: number) => {\n return 1 / (1 + Math.exp(-z));\n};\n", "import React, { useEffect, useRef } from 'react';\nimport { selectTrackAudioByID, useHMSVanillaStore } from '@100mslive/react-sdk';\nimport { Box, Flex } from '../Layout';\nimport { keyframes } from '../Theme';\n//@ts-ignore\nimport bg from './audio-level.png';\n\n// keep the calculated values before hand to avoid recalcuation everytime\nconst positionValues = new Array(101).fill(0).reduce((acc, _, index) => {\n acc[index] = Math.round((index / 100) * 4) / 4; // convert to 0.25 multiples\n return acc;\n}, {});\n\nconst barAnimation = keyframes({\n from: {\n maskSize: '4em .8em',\n '-webkit-mask-position-y': '.1em',\n maskPosition: 'initial .1em',\n },\n\n '50%': {\n maskSize: '4em 1em',\n '-webkit-mask-position-y': 0,\n maskPosition: 'initial 0',\n },\n\n to: {\n maskSize: '4em .8em',\n '-webkit-mask-position-y': '.1em',\n maskPosition: 'initial 0.1em',\n },\n});\n\nconst AudioBar = () => {\n return (\n <Box\n css={{\n width: '.25em',\n height: '1em',\n maskImage: `url(${bg})`,\n '-webkit-mask-repeat': 'no-repeat',\n backgroundColor: '$on_primary_high',\n maskSize: '4em 1em',\n }}\n />\n );\n};\n\nexport const AudioLevel = ({ trackId, size }: { trackId?: string; size?: 'small' | 'medium' }) => {\n const ref = useRef<HTMLDivElement | null>(null);\n const vanillaStore = useHMSVanillaStore();\n\n useEffect(() => {\n const unsubscribe = vanillaStore.subscribe(audioLevel => {\n if (ref.current) {\n let index = 0;\n //@ts-ignore\n for (const child of ref.current.children) {\n const positionX = `-${positionValues[audioLevel] * (index === 1 ? 2.5 : 1.25)}em`;\n child.style['-webkit-mask-position-x'] = positionX;\n child.style['mask-position'] = `${positionX} 0`;\n child.style['animation'] =\n positionValues[audioLevel] > 0 ? `${barAnimation} 0.6s steps(3,jump-none) 0s infinite` : 'none';\n index++;\n }\n }\n }, selectTrackAudioByID(trackId));\n return unsubscribe;\n }, [vanillaStore, trackId]);\n return (\n <Flex\n ref={ref}\n css={{\n fontSize: size === 'small' ? '0.75rem' : '1rem',\n gap: size === 'small' ? '$1' : '$2',\n }}\n >\n <AudioBar />\n <AudioBar />\n <AudioBar />\n </Flex>\n );\n};\n", "export { useBorderAudioLevel } from './useBorderAudioLevel';\nexport { AudioLevel } from './AudioLevel';\n", "import { Arrow, Close, Content, Popover as Root, Portal, Trigger } from '@radix-ui/react-popover';\nimport { styled } from '../Theme';\nimport { popoverAnimation } from '../utils/animations';\n\nconst StyledContent = styled(Content, {\n padding: '$6',\n borderRadius: '$2',\n backgroundColor: '$background_default',\n boxShadow: '$sm',\n zIndex: 12,\n ...popoverAnimation,\n});\n\nconst StyledArrow = styled(Arrow, {\n ...popoverAnimation,\n});\n\nconst StyledTrigger = styled(Trigger, {});\n\nexport const Popover = {\n Root,\n Content: StyledContent,\n Trigger: StyledTrigger,\n Portal: Portal,\n Arrow: StyledArrow,\n Close: Close,\n};\n", "export const formatBytes = (bytes?: number, unit = 'B', decimals = 2) => {\n if (bytes === 0) {\n return `0 ${unit}`;\n }\n if (!bytes) {\n return '-';\n }\n\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = ['', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'].map(size => size + unit);\n\n let i = Math.floor(Math.log(bytes) / Math.log(k));\n\n // B to KB\n i === 0 && i++;\n\n return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;\n};\n", "import { styled } from '../Theme';\n\nexport const Root = styled('div', {\n backgroundColor: 'rgba(0,0,0,0.75)',\n position: 'absolute',\n top: '$3',\n left: '$3',\n zIndex: 7,\n borderRadius: '$2',\n padding: '$2',\n fontSize: '$xs',\n overflowY: 'auto',\n maxHeight: '75%',\n maxWidth: '85%',\n});\n\nexport const Table = styled('table', {});\n\nexport const Row = styled('tr', {\n width: '100%',\n '& > * + *': {\n px: '$4',\n },\n whiteSpace: 'nowrap',\n textAlign: 'left',\n});\n\nexport const Label = styled('td', {\n color: '$on_primary_high',\n fontWeight: '$regular',\n});\n\nexport const Value = styled('td', {\n color: '$on_primary_high',\n});\n\nexport const Gap = styled('tr', {\n height: '$4',\n});\n\ninterface StatsType {\n Root: typeof Root;\n Row: typeof Row;\n Label: typeof Label;\n Value: typeof Value;\n Table: typeof Table;\n Gap: typeof Gap;\n}\n\nexport const Stats: StatsType = {\n Root,\n Row,\n Label,\n Value,\n Table,\n Gap,\n};\n", "import React, { Fragment } from 'react';\nimport {\n HMSPeerID,\n HMSTrackID,\n HMSTrackStats,\n RID,\n selectConnectionQualityByPeerID,\n selectHMSStats,\n simulcastMapping,\n useHMSStatsStore,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport { Tooltip } from '../Tooltip';\nimport { formatBytes } from './formatBytes';\nimport { Stats } from './StyledStats';\n\nexport interface VideoTileStatsProps {\n videoTrackID?: HMSTrackID;\n audioTrackID?: HMSTrackID;\n peerID?: HMSPeerID;\n isLocal: boolean;\n}\n\n/**\n * This component can be used to overlay webrtc stats over the Video Tile. For the local tracks it also includes\n * remote inbound stats as sent by the SFU in receiver report.\n */\nexport function VideoTileStats({ videoTrackID, audioTrackID, peerID, isLocal = false }: VideoTileStatsProps) {\n const audioSelector = isLocal ? selectHMSStats.localAudioTrackStatsByID : selectHMSStats.trackStatsByID;\n const audioTrackStats = useHMSStatsStore(audioSelector(audioTrackID));\n const localVideoTrackStats = useHMSStatsStore(selectHMSStats.localVideoTrackStatsByID(videoTrackID));\n const remoteVideoTrackStats = useHMSStatsStore(selectHMSStats.trackStatsByID(videoTrackID));\n const videoTrackStats = isLocal ? localVideoTrackStats?.[0] : remoteVideoTrackStats;\n const downlinkScore = useHMSStore(selectConnectionQualityByPeerID(peerID))?.downlinkQuality;\n const availableOutgoingBitrate = useHMSStatsStore(selectHMSStats.availablePublishBitrate);\n\n // Viewer role - no stats to show\n if (!(audioTrackStats || videoTrackStats)) {\n return null;\n }\n return (\n <Stats.Root>\n <table>\n <tbody>\n {isLocal ? (\n <Fragment>\n <StatsRow\n show={isNotNullishAndNot0(availableOutgoingBitrate)}\n label=\"AOBR\"\n tooltip=\"Available Outgoing Bitrate\"\n value={formatBytes(availableOutgoingBitrate, 'b/s')}\n />\n {localVideoTrackStats?.map(stat => {\n if (!stat) {\n return null;\n }\n const layer = stat.rid ? simulcastMapping[stat.rid as RID] : '';\n return (\n <Fragment>\n {layer && <StatsRow label={layer.toUpperCase()} value=\"\" />}\n <StatsRow\n show={isNotNullishAndNot0(stat.frameWidth)}\n label=\"Width\"\n value={stat.frameWidth?.toString()}\n />\n <StatsRow\n show={isNotNullishAndNot0(stat.frameHeight)}\n label=\"Height\"\n value={stat.frameHeight?.toString()}\n />\n <StatsRow\n show={isNotNullishAndNot0(stat.framesPerSecond)}\n label=\"FPS\"\n value={`${stat.framesPerSecond} ${\n isNotNullishAndNot0(stat.framesDropped) ? `(${stat.framesDropped} dropped)` : ''\n }`}\n />\n <StatsRow\n show={isNotNullish(stat.bitrate)}\n label=\"Bitrate(V)\"\n value={formatBytes(stat.bitrate, 'b/s')}\n />\n <Stats.Gap />\n </Fragment>\n );\n })}\n </Fragment>\n ) : (\n <Fragment>\n <StatsRow\n show={isNotNullishAndNot0(videoTrackStats?.frameWidth)}\n label=\"Width\"\n value={videoTrackStats?.frameWidth?.toString()}\n />\n <StatsRow\n show={isNotNullishAndNot0(videoTrackStats?.frameHeight)}\n label=\"Height\"\n value={videoTrackStats?.frameHeight?.toString()}\n />\n <StatsRow\n show={isNotNullishAndNot0(videoTrackStats?.framesPerSecond)}\n label=\"FPS\"\n value={`${videoTrackStats?.framesPerSecond} ${\n isNotNullishAndNot0(videoTrackStats?.framesDropped)\n ? `(${videoTrackStats?.framesDropped} dropped)`\n : ''\n }`}\n />\n <StatsRow\n show={isNotNullish(videoTrackStats?.bitrate)}\n label=\"Bitrate(V)\"\n value={formatBytes(videoTrackStats?.bitrate, 'b/s')}\n />\n </Fragment>\n )}\n\n <StatsRow\n show={isNotNullish(audioTrackStats?.bitrate)}\n label=\"Bitrate(A)\"\n value={formatBytes(audioTrackStats?.bitrate, 'b/s')}\n />\n\n <StatsRow show={isNotNullish(downlinkScore)} label=\"Downlink\" value={downlinkScore} />\n\n <StatsRow show={isNotNullish(videoTrackStats?.codec)} label=\"Codec(V)\" value={videoTrackStats?.codec} />\n\n <StatsRow show={isNotNullish(audioTrackStats?.codec)} label=\"Codec(A)\" value={audioTrackStats?.codec} />\n\n <PacketLostAndJitter audioTrackStats={audioTrackStats} videoTrackStats={videoTrackStats} />\n </tbody>\n </table>\n </Stats.Root>\n );\n}\n\nconst PacketLostAndJitter = ({\n audioTrackStats,\n videoTrackStats,\n}: {\n audioTrackStats?: HMSTrackStats;\n videoTrackStats?: HMSTrackStats;\n}) => {\n // for local peer, we'll use the remote inbound stats to get packet loss and jitter, to know whether the track is\n // local we check if the stats type has outbound in it as it's being published from local. Both audio and video\n // tracks are checked in case the user has permission to publish only one of them.\n const isLocalPeer = audioTrackStats?.type.includes('outbound') || videoTrackStats?.type.includes('outbound');\n const audioStats = isLocalPeer ? audioTrackStats?.remote : audioTrackStats;\n const videoStats = isLocalPeer ? videoTrackStats?.remote : videoTrackStats;\n return (\n <>\n <TrackPacketsLostRow label=\"Packet Loss(V)\" stats={videoStats} />\n <TrackPacketsLostRow label=\"Packet Loss(A)\" stats={audioStats} />\n <StatsRow show={isNotNullish(videoStats?.jitter)} label=\"Jitter(V)\" value={videoStats?.jitter?.toFixed(4)} />\n <StatsRow show={isNotNullish(audioStats?.jitter)} label=\"Jitter(A)\" value={audioStats?.jitter?.toFixed(4)} />\n </>\n );\n};\n\nconst TrackPacketsLostRow = ({\n stats,\n label,\n}: {\n stats?: Pick<HMSTrackStats, 'packetsLost' | 'packetsLostRate'>;\n label: string;\n}) => {\n const packetsLostRate = `${stats?.packetsLostRate ? stats.packetsLostRate.toFixed(2) : 0}/s`;\n\n return (\n <StatsRow\n show={isNotNullishAndNot0(stats?.packetsLost)}\n label={label}\n value={`${stats?.packetsLost}(${packetsLostRate})`}\n />\n );\n};\n\nconst RawStatsRow = ({\n label = '',\n value = '',\n tooltip = '',\n show = true,\n}: {\n label: string;\n value?: string | number;\n show?: boolean;\n tooltip?: string;\n}) => {\n const statsLabel = <Stats.Label css={{ fontWeight: !value ? '$semiBold' : '$regular' }}>{label}</Stats.Label>;\n\n return (\n <>\n {show ? (\n <Stats.Row>\n {tooltip ? (\n <Tooltip side=\"top\" title={tooltip}>\n {statsLabel}\n </Tooltip>\n ) : (\n statsLabel\n )}\n {value === '' ? <Stats.Value /> : <Stats.Value>{value}</Stats.Value>}\n </Stats.Row>\n ) : null}\n </>\n );\n};\n\n// memoize so only the rows which change rerender\nconst StatsRow = React.memo(RawStatsRow);\n\nexport function isNotNullishAndNot0(value: number | undefined | null) {\n return isNotNullish(value) && value !== 0;\n}\n\n/**\n * Check only for presence(not truthy) of a value.\n * Use in places where 0, false need to be considered valid.\n */\nexport function isNotNullish(value: number | string | undefined | null) {\n return value !== undefined && value !== null;\n}\n", "export { VideoTileStats } from './Stats';\n", "import * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport { styled } from '../Theme';\n\nconst CheckboxRoot = styled(CheckboxPrimitive.Root, {\n all: 'unset',\n border: '1px solid $primary_default',\n backgroundColor: '$on_primary_high',\n width: '$8',\n height: '$8',\n borderRadius: '$0',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n boxShadow: 'none',\n outline: 'none',\n cursor: 'pointer',\n '&:focus': {\n boxShadow: 'none',\n outline: 'none',\n },\n '&[data-state=\"checked\"]': {\n backgroundColor: '$primary_default',\n },\n});\n\nconst CheckboxIndicator = styled(CheckboxPrimitive.Indicator, {\n color: '$on_primary_high',\n});\n\nexport const Checkbox = {\n Root: CheckboxRoot,\n Indicator: CheckboxIndicator,\n};\n", "export * from './Checkbox';\n", "import * as LabelPrimitive from '@radix-ui/react-label';\nimport { styled } from '../Theme';\n\nexport const Label = styled(LabelPrimitive.Root, {\n fontFamily: '$sans',\n fontSize: '$md',\n color: '$on_primary_high',\n});\n", "export * from './Label';\n", "import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';\nimport { styled } from '../Theme';\n\nconst RadioGroupRoot = styled(RadioGroupPrimitive.Root, {\n display: 'flex',\n alignItems: 'center',\n});\n\nconst RadioGroupItem = styled(RadioGroupPrimitive.Item, {\n bg: '$on_primary_high',\n width: '$8',\n height: '$8',\n border: '1px solid $primary_default',\n cursor: 'pointer',\n borderRadius: '$round',\n '&:focus': {\n boxShadow: 'none',\n outline: 'none',\n },\n '&[data-state=\"checked\"]': {\n borderWidth: '$space$2',\n p: '$1',\n },\n});\nconst RadioGroupIndicator = styled(RadioGroupPrimitive.Indicator, {\n bg: '$primary_default',\n});\n\nexport const RadioGroup = {\n Root: RadioGroupRoot,\n Item: RadioGroupItem,\n Indicator: RadioGroupIndicator,\n};\n", "export * from './RadioGroup';\n", "import React, { ComponentProps } from 'react';\nimport type { ToastProps } from '@radix-ui/react-toast';\nimport * as ToastPrimitives from '@radix-ui/react-toast';\nimport { CrossIcon } from '@100mslive/react-icons';\nimport { IconButton } from '../IconButton';\nimport { Box, Flex } from '../Layout';\nimport { Text } from '../Text';\nimport { styled } from '../Theme';\nimport { toastAnimation } from '../utils';\n\nconst getToastVariant = (base: string) => {\n return {\n borderLeftColor: base,\n borderLeft: 0,\n '&:before': {\n position: 'absolute',\n top: '-1px',\n left: '-$4',\n width: '$8',\n borderLeft: `solid $space$px ${base}`,\n borderTop: `solid $space$px ${base}`,\n borderBottom: `solid $space$px ${base}`,\n borderTopLeftRadius: '$3',\n borderBottomLeftRadius: '$3',\n bg: base,\n content: ' ',\n height: '100%',\n zIndex: 10,\n },\n '@sm': {\n '&:before': {\n content: 'none',\n },\n border: `solid $space$px ${base}`,\n },\n };\n};\n\nconst ToastRoot = styled(ToastPrimitives.Root, {\n r: '$3',\n bg: '$surface_default',\n p: '$10',\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n fontFamily: '$sans',\n border: 'solid $space$px $border_bright',\n overflow: 'hidden',\n ...toastAnimation,\n '@sm': {\n p: '$8 $11',\n },\n variants: {\n variant: {\n standard: getToastVariant('$secondary_default'),\n warning: getToastVariant('$alert_warning'),\n error: getToastVariant('$alert_error_default'),\n success: getToastVariant('$alert_success'),\n },\n },\n defaultVariants: {\n variant: 'standard',\n },\n});\n\nconst ToastTitle = styled(ToastPrimitives.Title, {\n fontSize: '$md',\n color: '$on_surface_high',\n fontWeight: '$semiBold',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n});\nconst ToastDescription = styled(ToastPrimitives.Description, {\n color: '$on_surface_medium',\n});\nconst ToastClose = styled(ToastPrimitives.Close, {});\nconst ToastAction = styled(ToastPrimitives.Action, {\n cursor: 'pointer',\n background: 'none',\n});\nconst ToastViewport = styled(ToastPrimitives.Viewport, {\n position: 'fixed',\n bottom: 0,\n left: 0,\n display: 'flex',\n flexDirection: 'column',\n padding: '$8',\n gap: 10,\n width: 390,\n '@sm': {\n width: '100%',\n padding: '$6',\n },\n maxWidth: '100vw',\n margin: 0,\n listStyle: 'none',\n zIndex: 1000,\n});\n\nconst DefaultClose = ({ css }: Pick<ComponentProps<typeof ToastClose>, 'css'>) => {\n return (\n <ToastClose css={css} asChild>\n <IconButton>\n <CrossIcon />\n </IconButton>\n </ToastClose>\n );\n};\n\ninterface HMSToastProps extends ToastProps {\n title: string;\n description?: string;\n isClosable?: boolean;\n icon?: React.ReactNode;\n action?: React.ReactNode;\n inlineAction?: boolean;\n}\n\nconst HMSToast: React.FC<HMSToastProps> = ({\n title,\n description,\n isClosable = true,\n icon,\n action,\n inlineAction = false,\n ...props\n}) => {\n return (\n <>\n <ToastRoot {...props}>\n <ToastTitle>\n <Flex align=\"center\" css={{ gap: '$4', flex: '1 1 0', minWidth: 0 }}>\n {icon ? <Box css={{ w: '$10', h: '$10', alignSelf: 'start', mt: '$2' }}>{icon}</Box> : null}\n <Text variant=\"sub1\" css={{ c: 'inherit', wordBreak: 'break-word' }}>\n {title}\n </Text>\n </Flex>\n {isClosable ? <DefaultClose /> : null}\n {!isClosable && inlineAction && action ? (\n <ToastAction altText={`${title}Action`}>{action}</ToastAction>\n ) : null}\n </ToastTitle>\n {description ? (\n <ToastDescription>\n <Text variant=\"body1\" css={{ fontWeight: '$regular', c: '$on_surface_medium' }}>\n {description}\n </Text>\n </ToastDescription>\n ) : null}\n {!inlineAction && action ? (\n <ToastAction altText={`${title}Action`} css={{ mt: '$10' }}>\n {action}\n </ToastAction>\n ) : null}\n </ToastRoot>\n </>\n );\n};\nexport const Toast = {\n Provider: ToastPrimitives.Provider,\n Root: ToastRoot,\n Title: ToastTitle,\n Description: ToastDescription,\n Close: DefaultClose,\n Action: ToastAction,\n Viewport: ToastViewport,\n HMSToast: HMSToast,\n};\n", "export * from './Toast';\n", "import React, { PropsWithChildren } from 'react';\nimport * as BaseAccordion from '@radix-ui/react-accordion';\nimport { CSS } from '@stitches/react';\nimport { ChevronUpIcon } from '@100mslive/react-icons';\nimport { Box } from '../Layout';\nimport { styled } from '../Theme';\nimport { slideDown, slideUp } from '../utils';\n\nconst StyledAccordion = styled(BaseAccordion.Root, {});\n\nconst StyledItem = styled(BaseAccordion.Item, {\n marginTop: '$px',\n display: 'block',\n '&:first-child': {\n marginTop: 0,\n borderTopLeftRadius: '$0',\n borderTopRightRadius: '$0',\n },\n '&:last-child': {\n borderBottomLeftRadius: '$4',\n borderBottomRightRadius: '$4',\n },\n});\n\nconst StyledHeader = styled(BaseAccordion.Header, {\n all: 'unset',\n display: 'flex',\n fontFamily: '$sans',\n});\n\nconst StyledTrigger = styled(BaseAccordion.Trigger, {\n all: 'unset',\n fontFamily: '$sans',\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n fontSize: '$md',\n lineHeight: '$md',\n color: '$on_surface_high',\n});\n\nconst StyledContent = styled(BaseAccordion.Content, {\n display: 'contents',\n fontSize: '$md',\n fontFamily: '$sans',\n color: '$on_surface_medium',\n '&[data-state=\"open\"]': {\n animation: `${slideDown('--radix-accordion-content-height')} 300ms cubic-bezier(0.87, 0, 0.13, 1) forwards`,\n },\n '&[data-state=\"closed\"]': {\n animation: `${slideUp('--radix-accordion-content-height')} 300ms cubic-bezier(0.87, 0, 0.13, 1) forwards`,\n },\n});\n\nconst StyledChevron = styled(ChevronUpIcon, {\n color: '$on_primary_high',\n transition: 'transform 300ms cubic-bezier(0.87, 0, 0.13, 1)',\n '[data-state=closed] &': { transform: 'rotate(180deg)' },\n});\n\n// Exports\nexport const AccordionRoot = StyledAccordion;\nexport const AccordionItem = StyledItem;\n\nexport const AccordionHeader: React.FC<\n PropsWithChildren<BaseAccordion.AccordionTriggerProps & { iconStyles?: CSS; css?: CSS }>\n> = React.forwardRef<\n HTMLButtonElement,\n PropsWithChildren<BaseAccordion.AccordionTriggerProps & { iconStyles?: CSS; css?: CSS }>\n>(({ children, iconStyles, css, ...props }, forwardedRef) => (\n <StyledHeader css={css}>\n <StyledTrigger {...props} ref={forwardedRef}>\n {children}\n <StyledChevron aria-hidden css={iconStyles} />\n </StyledTrigger>\n </StyledHeader>\n));\n\nexport const AccordionContent: React.FC<\n PropsWithChildren<BaseAccordion.AccordionContentProps & { contentStyles?: CSS }>\n> = React.forwardRef<HTMLDivElement, PropsWithChildren<BaseAccordion.AccordionContentProps & { contentStyles?: CSS }>>(\n ({ children, contentStyles, ...props }, forwardedRef) => (\n <StyledContent {...props} ref={forwardedRef}>\n <Box css={contentStyles}>{children}</Box>\n </StyledContent>\n ),\n);\n", "import { AccordionContent, AccordionHeader, AccordionItem, AccordionRoot } from './Accordion';\n\nexport const Accordion = {\n Root: AccordionRoot,\n Item: AccordionItem,\n Content: AccordionContent,\n Header: AccordionHeader,\n};\n", "import { styled } from '../Theme';\n\nconst StyledFieldset = styled('fieldset', {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n border: 'none',\n backgroundColor: '$transparent',\n});\n\nexport const Fieldset = StyledFieldset;\n", "export * from './Fieldset';\n", "import { Flex } from '../Layout';\nimport { styled } from '../Theme';\n\nconst Root = styled(Flex, {\n justifyContent: 'space-between',\n alignItems: 'center',\n py: '$4',\n position: 'relative',\n height: '100%',\n '@md': { flexWrap: 'wrap', gap: '$4' },\n});\n\nconst Left = styled(Flex, {\n alignItems: 'center',\n position: 'absolute',\n left: '$10',\n gap: '$8',\n '@md': {\n position: 'unset',\n justifyContent: 'center',\n w: '100%',\n },\n});\n\nconst Center = styled(Flex, {\n w: '100%',\n justifyContent: 'center',\n alignItems: 'center',\n gap: '$8',\n});\n\nconst Right = styled(Flex, {\n alignItems: 'center',\n position: 'absolute',\n right: '$10',\n gap: '$8',\n '@md': {\n display: 'none',\n },\n});\n\nexport const Footer = {\n Root,\n Left,\n Center,\n Right,\n};\n", "export { Footer } from './Footer';\n", "import * as SelectPrimitive from '@radix-ui/react-select';\nimport { styled } from '../Theme';\n\nconst StyledRoot = styled(SelectPrimitive.Root, {});\n\nconst StyledTrigger = styled(SelectPrimitive.SelectTrigger, {\n all: 'unset',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '$2',\n padding: '$8',\n lineHeight: '$px',\n gap: '$8',\n backgroundColor: '$secondary_default',\n color: '$on_primary_high',\n fontSize: '$8',\n cursor: 'pointer',\n r: '$1',\n});\n\nconst StyledContent = styled(SelectPrimitive.Content, {\n overflow: 'hidden',\n backgroundColor: '$surface_bright',\n r: '$1',\n h: '$80',\n});\n\nconst StyledViewport = styled(SelectPrimitive.Viewport, {\n padding: '$3',\n});\n\nconst StyledItem = styled(SelectPrimitive.Item, {\n all: 'unset',\n fontSize: '$7',\n r: '$1',\n display: 'flex',\n p: '$4 $8',\n w: '$52',\n position: 'relative',\n userSelect: 'none',\n cursor: 'pointer',\n});\n\nconst StyledLabel = styled(SelectPrimitive.Label, {\n p: '$4 $8',\n lineHeight: '$10',\n color: '$on_primary_high',\n});\n\nconst StyledSeparator = styled(SelectPrimitive.Separator, {\n height: '$px',\n backgroundColor: '$on_primary_high',\n margin: '$4',\n opacity: 0.4,\n});\n\nconst StyledItemIndicator = styled(SelectPrimitive.ItemIndicator, {\n position: 'absolute',\n right: '$8',\n width: '$8',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: '$on_primary_high',\n});\n\nconst scrollButtonStyles = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n p: '$4',\n backgroundColor: '$surface_bright',\n color: '$on_primary_high',\n cursor: 'default',\n};\n\nconst StyledScrollUpButton = styled(SelectPrimitive.ScrollUpButton, scrollButtonStyles);\n\nconst StyledScrollDownButton = styled(SelectPrimitive.ScrollDownButton, scrollButtonStyles);\n\nexport const Select = {\n Root: StyledRoot,\n Trigger: StyledTrigger,\n Content: StyledContent,\n Viewport: StyledViewport,\n Item: StyledItem,\n Label: StyledLabel,\n Separator: StyledSeparator,\n ItemIndicator: StyledItemIndicator,\n ScrollUpButton: StyledScrollUpButton,\n ScrollDownButton: StyledScrollDownButton,\n Value: SelectPrimitive.Value,\n Icon: SelectPrimitive.Icon,\n ItemText: SelectPrimitive.ItemText,\n Group: SelectPrimitive.Group,\n};\n", "export { Select } from './ReactSelect';\n", "import * as TabsPrimitive from '@radix-ui/react-tabs';\nimport { styled } from '../Theme';\n\nconst StyledTabsRoot = styled(TabsPrimitive.Root, {\n display: 'flex',\n});\n\nconst StyledList = styled(TabsPrimitive.List, {\n flexShrink: 0,\n display: 'flex',\n});\n\nconst StyledTrigger = styled(TabsPrimitive.Trigger, {\n all: 'unset',\n fontFamily: '$sans',\n p: '$8',\n display: 'flex',\n alignItems: 'center',\n fontSize: '$sm',\n lineHeight: '$sm',\n color: '$on_surface_high',\n userSelect: 'none',\n cursor: 'pointer',\n '&[data-state=\"active\"]': {\n bg: '$surface_brighter',\n r: '$1',\n },\n});\n\nconst StyledContent = styled(TabsPrimitive.Content, {\n flex: '1 1 0',\n padding: '$10',\n outline: 'none',\n});\n\nexport const Tabs = {\n Root: StyledTabsRoot,\n List: StyledList,\n Content: StyledContent,\n Trigger: StyledTrigger,\n};\n", "export * from './Tabs';\n", "import React, { ComponentProps } from 'react';\nimport { QRCodeSVG } from 'qrcode.react';\n\nexport const QRCode = (props: ComponentProps<typeof QRCodeSVG>) => {\n return <QRCodeSVG style={{ width: '100%', height: '100%' }} {...props} />;\n};\n", "export * from './QRCode';\n", "import React from 'react';\nimport * as icons from '@100mslive/react-icons';\nimport { Flex } from '../Layout';\nimport { Text } from '../Text';\nimport { styled } from '../Theme';\n\nconst LinkComponent = styled('a', {\n textDecoration: 'none',\n display: 'flex',\n alignItems: 'center',\n gap: '$5',\n variants: {\n color: {\n highEmp: {\n color: '$on_surface_high',\n '&:hover': {\n color: '$on_surface_medium',\n },\n },\n primary: {\n color: '$primary_default',\n '&:hover': {\n color: '$primary_bright',\n },\n },\n },\n },\n});\n\nexport interface LinkProps extends React.ComponentProps<typeof LinkComponent> {\n as?: React.ElementType;\n iconSide?: 'left' | 'right' | 'none';\n icon?: keyof typeof icons;\n color?: 'highEmp' | 'primary';\n}\n\nexport const Link = ({ iconSide = 'left', icon, color = 'primary', children, ...rest }: LinkProps) => {\n const Icon = icon ? icons[icon] : React.Fragment;\n const renderedIcon = icon ? (\n <Flex as=\"span\">\n <Icon height={13.33} width={13.33} />{' '}\n </Flex>\n ) : null;\n\n return (\n <LinkComponent {...rest} color={color}>\n {iconSide === 'left' && renderedIcon}\n <Text as=\"span\" variant=\"body2\" css={{ color: 'inherit' }}>\n {children}\n </Text>\n {iconSide === 'right' && renderedIcon}\n </LinkComponent>\n );\n};\n", "export { Link } from './Link';\nexport type { LinkProps } from './Link';\n", "import { Content, Root, Trigger } from '@radix-ui/react-collapsible';\nimport { styled } from '../Theme';\nimport { slideDown, slideUp } from '../utils';\n\nconst CollapsibleRoot = styled(Root, {});\n\nconst CollapsibleTrigger = styled(Trigger, {\n cursor: 'pointer',\n appearance: 'none !important',\n '&:focus': {\n outline: 'none',\n },\n '&:focus-visible': {\n boxShadow: '0 0 0 3px $colors$primary_default',\n },\n});\n\nconst CollapsibleContent = styled(Content, {\n w: '$80',\n r: '$1',\n overflowY: 'auto',\n '&[data-state=\"open\"]': {\n animation: `${slideDown('--radix-collapsible-content-height')} 300ms cubic-bezier(0.87, 0, 0.13, 1) forwards`,\n },\n '&[data-state=\"closed\"]': {\n animation: `${slideUp('--radix-collapsible-content-height')} 300ms cubic-bezier(0.87, 0, 0.13, 1) forwards`,\n },\n});\n\nexport const Collapsible = {\n Root: CollapsibleRoot,\n Trigger: CollapsibleTrigger,\n Content: CollapsibleContent,\n};\n", "export * from './Collapsible';\n", "// interface RoleConfig {\n// center?: HMSRoleName[];\n// sidepane?: HMSRoleName[];\n// selfRoleChangeTo?: HMSRoleName[];\n// remoteRoleChangeFor?: HMSRoleName[];\n// }\n\n// interface PolicyConfig {\n// [role: string]: RoleConfig;\n// }\n\n/**\n * check if a role is allowed to publish either of audio or video\n */\nfunction canPublishAV(role) {\n const params = role?.publishParams;\n if (params?.allowed) {\n return params.allowed.includes('video') || params.allowed.includes('audio');\n }\n return false;\n}\n\n/**\n * Figure out the layout for each role. There is some extra work being done\n * here currently to figure out the layout for roles other than local peer too\n * which can be avoided.\n */\nexport const normalizeAppPolicyConfig = (roleNames, rolesMap, appPolicyConfig = {}) => {\n const newConfig = Object.assign({}, appPolicyConfig);\n // eslint-disable-next-line complexity\n roleNames.forEach(roleName => {\n if (!newConfig[roleName]) {\n newConfig[roleName] = {};\n }\n const subscribedRoles = rolesMap[roleName].subscribeParams?.subscribeToRoles || [];\n\n const isNotSubscribingOrSubscribingToSelf =\n subscribedRoles.length === 0 || (subscribedRoles.length === 1 && subscribedRoles[0] === roleName);\n if (!newConfig[roleName].center) {\n const publishingRoleNames = roleNames.filter(\n roleName => canPublishAV(rolesMap[roleName]) && subscribedRoles.includes(roleName),\n );\n if (isNotSubscribingOrSubscribingToSelf) {\n newConfig[roleName].center = [roleName];\n } else {\n // all other publishing roles apart from local role in center by default\n newConfig[roleName].center = publishingRoleNames.filter(rName => rName !== roleName);\n }\n }\n // everyone from my role is in sidepane by default if they can publish\n if (!newConfig[roleName].sidepane) {\n if (isNotSubscribingOrSubscribingToSelf) {\n newConfig[roleName].sidepane = [];\n } else {\n newConfig[roleName].sidepane = canPublishAV(rolesMap[roleName]) ? [roleName] : [];\n }\n }\n if (!newConfig[roleName].selfRoleChangeTo) {\n newConfig[roleName].selfRoleChangeTo = roleNames;\n }\n if (!newConfig[roleName].remoteRoleChangeFor) {\n newConfig[roleName].remoteRoleChangeFor = roleNames;\n }\n });\n\n return newConfig;\n};\n", "import { useState } from 'react';\nimport { useLocalStorage } from 'react-use';\n\nexport const UserPreferencesKeys = {\n PREVIEW: 'preview',\n NOTIFICATIONS: 'notifications',\n UI_SETTINGS: 'uiSettings',\n RTMP_URLS: 'rtmpUrls',\n};\n\nexport const defaultPreviewPreference = {\n name: '',\n isAudioMuted: false,\n isVideoMuted: false,\n};\n\nexport const useUserPreferences = (key, defaultPreference) => {\n const [localStorageValue, setStorageValue] = useLocalStorage(key, defaultPreference);\n const [preference, setPreference] = useState(localStorageValue || defaultPreference);\n const changePreference = value => {\n setPreference(value);\n setStorageValue(value);\n };\n return [preference, changePreference];\n};\n", "import { parsedUserAgent } from '@100mslive/react-sdk';\n\nexport const DEFAULT_WAITING_VIEWER_ROLE = 'waiting-room';\nexport const QUERY_PARAM_SKIP_PREVIEW = 'skip_preview';\nexport const QUERY_PARAM_SKIP_PREVIEW_HEADFUL = 'skip_preview_headful';\nexport const QUERY_PARAM_NAME = 'name';\nexport const QUERY_PARAM_VIEW_MODE = 'ui_mode';\nexport const QUERY_PARAM_PREVIEW_AS_ROLE = 'preview_as_role';\nexport const UI_MODE_GRID = 'grid';\nexport const MAX_TOASTS = 5;\nexport const RTMP_RECORD_RESOLUTION_MIN = 480;\nexport const RTMP_RECORD_RESOLUTION_MAX = 1280;\nexport const RTMP_RECORD_DEFAULT_RESOLUTION = {\n width: 1280,\n height: 720,\n};\nexport const EMOJI_REACTION_TYPE = 'EMOJI_REACTION';\n\nexport const CHAT_SELECTOR = {\n PEER_ID: 'peer_id',\n ROLE: 'role',\n};\n\nexport const APP_DATA = {\n uiSettings: 'uiSettings',\n chatOpen: 'chatOpen',\n chatSelector: 'chatSelector',\n chatDraft: 'chatDraft',\n appConfig: 'appConfig',\n sidePane: 'sidePane',\n hlsStats: 'hlsStats',\n waitingViewerRole: 'waitingViewerRole',\n subscribedNotifications: 'subscribedNotifications',\n logo: 'logo',\n tokenEndpoint: 'tokenEndpoint',\n appLayout: 'appLayout',\n hlsStarted: 'hlsStarted',\n rtmpStarted: 'rtmpStarted',\n recordingStarted: 'recordingStarted',\n embedConfig: 'embedConfig',\n pinnedTrackId: 'pinnedTrackId',\n dropdownList: 'dropdownList',\n authToken: 'authToken',\n pdfConfig: 'pdfConfig',\n minimiseInset: 'minimiseInset',\n activeScreensharePeerId: 'activeScreensharePeerId',\n disableNotifications: 'disableNotifications',\n pollState: 'pollState',\n};\nexport const UI_SETTINGS = {\n isAudioOnly: 'isAudioOnly',\n maxTileCount: 'maxTileCount',\n uiViewMode: 'uiViewMode',\n showStatsOnTiles: 'showStatsOnTiles',\n enableAmbientMusic: 'enableAmbientMusic',\n mirrorLocalVideo: 'mirrorLocalVideo',\n};\n\nexport const SIDE_PANE_OPTIONS = {\n PARTICIPANTS: 'Participants',\n CHAT: 'Chat',\n STREAMING: 'STREAMING',\n POLLS: 'POLLS',\n};\n\nexport const POLL_STATE = {\n pollInView: 'pollInView',\n view: 'view',\n};\n\nexport const POLL_VIEWS = {\n CREATE_POLL_QUIZ: 'CREATE_POLL_QUIZ',\n CREATE_QUESTIONS: 'CREATE_QUESTIONS',\n VOTE: 'VOTE',\n RESULTS: 'RESULTS',\n};\n\nexport const SUBSCRIBED_NOTIFICATIONS = {\n PEER_JOINED: 'PEER_JOINED',\n PEER_LEFT: 'PEER_LEFT',\n METADATA_UPDATED: 'METADATA_UPDATED',\n NEW_MESSAGE: 'NEW_MESSAGE',\n ERROR: 'ERROR',\n};\n\nexport const CREATE_ROOM_DOC_URL = 'https://github.com/100mslive/100ms-web/wiki/Creating-and-joining-a-room';\nexport const HLS_TIMED_METADATA_DOC_URL =\n 'https://www.100ms.live/docs/javascript/v2/how--to-guides/record-and-live-stream/hls/hls-timed-metadata';\n\nexport const REMOTE_STOP_SCREENSHARE_TYPE = 'REMOTE_STOP_SCREENSHARE';\n\nexport const isChrome = parsedUserAgent.getBrowser()?.name?.toLowerCase() === 'chrome';\nexport const isFirefox = parsedUserAgent.getBrowser()?.name?.toLowerCase() === 'firefox';\nexport const isSafari = parsedUserAgent.getBrowser()?.name?.toLowerCase() === 'safari';\nexport const isIOS = parsedUserAgent.getOS()?.name?.toLowerCase() === 'ios';\nexport const isMacOS = parsedUserAgent.getOS()?.name?.toLowerCase() === 'mac os';\nexport const isAndroid = parsedUserAgent.getOS()?.name?.toLowerCase() === 'android';\nexport const isIPadOS = false;\n// typeof navigator !== \"undefined\" &&\n// navigator?.maxTouchPoints &&\n// navigator?.maxTouchPoints > 2 &&\n// navigator?.userAgent?.match(/Mac/);\n\nexport const SESSION_STORE_KEY = {\n TRANSCRIPTION_STATE: 'transcriptionState',\n PINNED_MESSAGE: 'pinnedMessage',\n SPOTLIGHT: 'spotlight',\n};\n\nexport const INTERACTION_TYPE = {\n POLL: 'Poll',\n QUIZ: 'Quiz',\n};\n\nexport const QUESTION_TYPE_TITLE = {\n 'single-choice': 'Single Choice',\n 'multiple-choice': 'Multiple Choice',\n // \"short-answer\": \"Short Answer\",\n // \"long-answer\": \"Long Answer\",\n};\n\nexport const QUESTION_TYPE = {\n SINGLE_CHOICE: 'single-choice',\n MULTIPLE_CHOICE: 'multiple-choice',\n // SHORT_ANSWER: \"short-answer\",\n // LONG_ANSWER: \"long-answer\",\n};\n\nexport const ROLE_CHANGE_DECLINED = 'role_change_declined';\n\nexport const DEFAULT_PORTAL_CONTAINER = '#prebuilt-container';\n", "import { useCallback, useMemo } from 'react';\nimport {\n selectAppData,\n selectAppDataByPath,\n selectAudioTrackByPeerID,\n selectPermissions,\n selectPolls,\n selectSessionStore,\n selectTrackByID,\n selectVideoTrackByPeerID,\n useHMSActions,\n useHMSStore,\n useHMSVanillaStore,\n} from '@100mslive/react-sdk';\nimport { UserPreferencesKeys, useUserPreferences } from '../hooks/useUserPreferences';\nimport { APP_DATA, POLL_STATE, SESSION_STORE_KEY } from '../../common/constants';\n\n/**\n * fields saved related to UI settings in store's app data can be\n * accessed using this hook. key is optional if not passed\n * the whole UI settings object is returned. Usage -\n * 1. val = useUiSettings(\"isAudioOnly\");\n * console.log(val); // false\n * 2. val = useUISettings();\n * console.log(val); // {isAudioOnly: false}\n * @param {string | undefined} uiSettingKey\n */\nexport const useUISettings = uiSettingKey => {\n const uiSettings = useHMSStore(selectAppDataByPath(APP_DATA.uiSettings, uiSettingKey));\n return uiSettings;\n};\n\n/**\n * fields saved related to UI settings in store's app data can be\n * accessed using this hook. key is optional if not passed\n * the whole UI settings object is returned. Usage -\n * [val, setVal] = useUiSettings(\"isAudioOnly\");\n * console.log(val); // false\n * setVal(true);\n * @param {string} uiSettingKey\n */\nexport const useSetUiSettings = uiSettingKey => {\n const value = useUISettings(uiSettingKey);\n const setValue = useSetAppData({\n key1: APP_DATA.uiSettings,\n key2: uiSettingKey,\n });\n return [value, setValue];\n};\n\nexport const useWaitingViewerRole = () => {\n return useHMSStore(selectAppData(APP_DATA.waitingViewerRole));\n};\nexport const useIsHLSStartedFromUI = () => {\n return useHMSStore(selectAppData(APP_DATA.hlsStarted));\n};\n\nexport const useIsRTMPStartedFromUI = () => {\n return useHMSStore(selectAppData(APP_DATA.rtmpStarted));\n};\n\nexport const useTokenEndpoint = () => {\n return useHMSStore(selectAppData(APP_DATA.tokenEndpoint));\n};\n\nexport const useAuthToken = () => {\n return useHMSStore(selectAppData(APP_DATA.authToken));\n};\n\nexport const useUrlToEmbed = () => {\n return useHMSStore(selectAppData(APP_DATA.embedConfig))?.url;\n};\n\nexport const usePDFConfig = () => {\n return useHMSStore(selectAppData(APP_DATA.pdfConfig));\n};\n\nexport const useResetPDFConfig = () => {\n const [, setPDFConfig] = useSetAppDataByKey(APP_DATA.pdfConfig);\n return useCallback(() => setPDFConfig(), [setPDFConfig]);\n};\n\nexport const useResetEmbedConfig = () => {\n const [, setEmbedConfig] = useSetAppDataByKey(APP_DATA.embedConfig);\n return () => setEmbedConfig();\n};\nexport const usePinnedTrack = () => {\n const pinnedTrackId = useHMSStore(selectAppData(APP_DATA.pinnedTrackId));\n const spotlightPeerId = useHMSStore(selectSessionStore(SESSION_STORE_KEY.SPOTLIGHT));\n const spotlightVideoTrackId = useHMSStore(selectVideoTrackByPeerID(spotlightPeerId))?.id;\n const spotlightAudioTrackId = useHMSStore(selectAudioTrackByPeerID(spotlightPeerId))?.id;\n return useHMSStore(selectTrackByID(pinnedTrackId || spotlightVideoTrackId || spotlightAudioTrackId));\n};\n\nexport const useSubscribedNotifications = notificationKey => {\n const notificationPreference = useHMSStore(selectAppDataByPath(APP_DATA.subscribedNotifications, notificationKey));\n return notificationPreference;\n};\n\nexport const useIsNotificationDisabled = () => {\n const notificationPreference = useHMSStore(selectAppDataByPath(APP_DATA.disableNotifications));\n return notificationPreference;\n};\n\nexport const useSetSubscribedNotifications = notificationKey => {\n const value = useSubscribedNotifications(notificationKey);\n const setValue = useSetAppData({\n key1: APP_DATA.subscribedNotifications,\n key2: notificationKey,\n });\n return [value, setValue];\n};\n\nexport const useSubscribeChatSelector = chatSelectorKey => {\n const chatSelectorPreference = useHMSStore(selectAppDataByPath(APP_DATA.chatSelector, chatSelectorKey));\n return chatSelectorPreference;\n};\n\nexport const useSetSubscribedChatSelector = chatSelectorKey => {\n const value = useSubscribeChatSelector(chatSelectorKey);\n const setValue = useSetAppData({\n key1: APP_DATA.chatSelector,\n key2: chatSelectorKey,\n });\n return [value, setValue];\n};\n\nexport const useSetAppDataByKey = appDataKey => {\n const value = useHMSStore(selectAppData(appDataKey));\n const actions = useHMSActions();\n const setValue = useCallback(\n value => {\n actions.setAppData(appDataKey, value);\n },\n [actions, appDataKey],\n );\n return [value, setValue];\n};\n\nconst useSetAppData = ({ key1, key2 }) => {\n const actions = useHMSActions();\n const store = useHMSVanillaStore();\n const [, setPreferences] = useUserPreferences(UserPreferencesKeys.UI_SETTINGS);\n const setValue = useCallback(\n value => {\n if (!key1) {\n return;\n }\n actions.setAppData(\n key1,\n key2\n ? {\n [key2]: value,\n }\n : value,\n true,\n );\n const appData = store.getState(selectAppData());\n setPreferences({\n ...appData.uiSettings,\n subscribedNotifications: appData.subscribedNotifications,\n });\n },\n [actions, key1, key2, store, setPreferences],\n );\n return setValue;\n};\n\nexport const useShowPolls = () => {\n const permissions = useHMSStore(selectPermissions);\n const polls = useHMSStore(selectPolls)?.filter(poll => poll.state === 'started' || poll.state === 'stopped');\n\n const showPolls = useMemo(() => {\n return permissions?.pollWrite || (permissions?.pollRead && polls?.length > 0);\n }, [permissions?.pollRead, permissions?.pollWrite, polls?.length]);\n\n return { showPolls };\n};\n\nexport const usePollViewState = () => {\n const [pollState, setPollState] = useSetAppDataByKey(APP_DATA.pollState);\n\n const setPollView = useCallback(\n view => {\n setPollState({\n [POLL_STATE.pollInView]: pollState?.pollInView,\n [POLL_STATE.view]: view,\n });\n },\n [pollState?.pollInView, setPollState],\n );\n\n return {\n setPollState,\n setPollView,\n pollInView: pollState?.pollInView,\n view: pollState?.view,\n };\n};\n", "import { useCallback } from 'react';\nimport { selectAppData, useHMSActions, useHMSStore, useHMSVanillaStore } from '@100mslive/react-sdk';\nimport { usePollViewState } from './useUISettings';\nimport { APP_DATA, POLL_STATE, POLL_VIEWS, SIDE_PANE_OPTIONS } from '../../common/constants';\n\n/**\n * Gives a boolean value if the sidepaneType matches current sidepane value in store\n * @param {string} sidepaneType\n * @returns {boolean} - if the sidepaneType is passed returns boolean else the current value\n */\nexport const useIsSidepaneTypeOpen = sidepaneType => {\n if (!sidepaneType) {\n throw Error('Pass one of the side pane options');\n }\n return useHMSStore(selectAppData(APP_DATA.sidePane)) === sidepaneType;\n};\n\n/**\n * Gives the current value of sidepane in store\n * @returns {string} - if the sidepaneType is passed returns boolean else the current value\n */\nexport const useSidepaneState = () => {\n const sidePane = useHMSStore(selectAppData(APP_DATA.sidePane));\n return sidePane;\n};\n\n/**\n * Toggle the sidepane value between passed sidePaneType and '';\n * @param {string} sidepaneType\n */\nexport const useSidepaneToggle = sidepaneType => {\n const hmsActions = useHMSActions();\n const vanillaStore = useHMSVanillaStore();\n const toggleSidepane = useCallback(() => {\n const isOpen = vanillaStore.getState(selectAppData(APP_DATA.sidePane)) === sidepaneType;\n hmsActions.setAppData(APP_DATA.sidePane, !isOpen ? sidepaneType : '');\n }, [vanillaStore, hmsActions, sidepaneType]);\n return toggleSidepane;\n};\n\nexport const usePollViewToggle = () => {\n const { view, setPollState } = usePollViewState();\n const isOpen = useSidepaneState() === SIDE_PANE_OPTIONS.POLLS;\n const toggleSidepane = useSidepaneToggle(SIDE_PANE_OPTIONS.POLLS);\n\n const togglePollView = useCallback(\n id => {\n id = typeof id === 'string' ? id : undefined;\n setPollState({\n [POLL_STATE.pollInView]: id,\n [POLL_STATE.view]: id ? POLL_VIEWS.VOTE : isOpen && view ? null : POLL_VIEWS.CREATE_POLL_QUIZ,\n });\n toggleSidepane();\n },\n [view, setPollState, isOpen, toggleSidepane],\n );\n\n return togglePollView;\n};\n\n/**\n * reset's the sidepane value\n */\nexport const useSidepaneReset = () => {\n const hmsActions = useHMSActions();\n const resetSidepane = useCallback(() => {\n hmsActions.setAppData(APP_DATA.sidePane, '');\n hmsActions.setAppData(APP_DATA.pollInView, '');\n }, [hmsActions]);\n return resetSidepane;\n};\n", "import React, { useEffect } from 'react';\nimport {\n HMSRoomState,\n selectAvailableRoleNames,\n selectFullAppData,\n selectHLSState,\n selectIsConnectedToRoom,\n selectLocalPeerRoleName,\n selectRolesMap,\n selectRoomState,\n selectRTMPState,\n useHMSActions,\n useHMSStore,\n useRecordingStreaming,\n} from '@100mslive/react-sdk';\nimport { normalizeAppPolicyConfig } from '../init/initUtils';\nimport { UserPreferencesKeys, useUserPreferences } from '../hooks/useUserPreferences';\nimport { useIsSidepaneTypeOpen, useSidepaneReset, useSidepaneState, useSidepaneToggle } from './useSidepane';\nimport { useSetAppDataByKey } from './useUISettings';\nimport {\n APP_DATA,\n CHAT_SELECTOR,\n DEFAULT_WAITING_VIEWER_ROLE,\n POLL_STATE,\n SIDE_PANE_OPTIONS,\n UI_MODE_GRID,\n UI_SETTINGS,\n} from '../../common/constants';\n\nexport const getAppDetails = appDetails => {\n try {\n return !appDetails ? {} : JSON.parse(appDetails);\n } catch (error) {\n return {};\n }\n};\n\nconst initialAppData = {\n [APP_DATA.uiSettings]: {\n [UI_SETTINGS.isAudioOnly]: false,\n [UI_SETTINGS.maxTileCount]: 9,\n [UI_SETTINGS.showStatsOnTiles]: false,\n [UI_SETTINGS.enableAmbientMusic]: false,\n [UI_SETTINGS.uiViewMode]: UI_MODE_GRID,\n [UI_SETTINGS.mirrorLocalVideo]: true,\n },\n [APP_DATA.subscribedNotifications]: {\n PEER_JOINED: false,\n PEER_LEFT: false,\n NEW_MESSAGE: true,\n ERROR: true,\n METADATA_UPDATED: true,\n },\n [APP_DATA.chatOpen]: false,\n [APP_DATA.chatSelector]: {\n [CHAT_SELECTOR.ROLE]: '',\n [CHAT_SELECTOR.PEER_ID]: '',\n },\n [APP_DATA.chatDraft]: '',\n [APP_DATA.sidePane]: '',\n [APP_DATA.hlsStarted]: false,\n [APP_DATA.rtmpStarted]: false,\n [APP_DATA.recordingStarted]: false,\n [APP_DATA.waitingViewerRole]: DEFAULT_WAITING_VIEWER_ROLE,\n [APP_DATA.dropdownList]: [],\n [APP_DATA.authToken]: '',\n [APP_DATA.minimiseInset]: false,\n [APP_DATA.activeScreensharePeerId]: '',\n [APP_DATA.disableNotifications]: false,\n [APP_DATA.pollState]: {\n [POLL_STATE.pollInView]: '',\n [POLL_STATE.view]: '',\n },\n};\n\nexport const AppData = React.memo(({ appDetails, tokenEndpoint }) => {\n const hmsActions = useHMSActions();\n const isConnected = useHMSStore(selectIsConnectedToRoom);\n const sidePane = useSidepaneState();\n const resetSidePane = useSidepaneReset();\n const [preferences = {}] = useUserPreferences(UserPreferencesKeys.UI_SETTINGS);\n const roleNames = useHMSStore(selectAvailableRoleNames);\n const rolesMap = useHMSStore(selectRolesMap);\n const localPeerRole = useHMSStore(selectLocalPeerRoleName);\n const appData = useHMSStore(selectFullAppData);\n\n useEffect(() => {\n if (!isConnected && sidePane && sidePane !== SIDE_PANE_OPTIONS.PARTICIPANTS) {\n resetSidePane();\n }\n }, [isConnected, sidePane, resetSidePane]);\n\n useEffect(() => {\n hmsActions.initAppData({\n ...initialAppData,\n ...appData,\n });\n hmsActions.setFrameworkInfo({\n type: 'react-web',\n isPrebuilt: true,\n version: React.version,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hmsActions]);\n\n useEffect(() => {\n const uiSettings = preferences || {};\n const updatedSettings = {\n ...uiSettings,\n [UI_SETTINGS.uiViewMode]: uiSettings.uiViewMode || UI_MODE_GRID,\n };\n hmsActions.setAppData(APP_DATA.uiSettings, updatedSettings, true);\n }, [preferences, hmsActions]);\n\n useEffect(() => {\n const appData = {\n [APP_DATA.tokenEndpoint]: tokenEndpoint,\n [APP_DATA.appConfig]: getAppDetails(appDetails),\n };\n for (const key in appData) {\n hmsActions.setAppData([key], appData[key]);\n }\n }, [appDetails, tokenEndpoint, hmsActions]);\n\n useEffect(() => {\n if (!preferences.subscribedNotifications) {\n return;\n }\n hmsActions.setAppData(APP_DATA.subscribedNotifications, preferences.subscribedNotifications, true);\n }, [preferences.subscribedNotifications, hmsActions]);\n\n useEffect(() => {\n if (localPeerRole) {\n const config = normalizeAppPolicyConfig(roleNames, rolesMap);\n hmsActions.setAppData(APP_DATA.appLayout, config[localPeerRole]);\n }\n }, [roleNames, rolesMap, localPeerRole, hmsActions]);\n\n return <ResetStreamingStart />;\n});\n\n/**\n * reset hlsStarted, rtmpStarted values when streaming starts\n */\nconst ResetStreamingStart = () => {\n const { isHLSRunning, isRTMPRunning, isBrowserRecordingOn } = useRecordingStreaming();\n const hlsError = useHMSStore(selectHLSState).error;\n const rtmpError = useHMSStore(selectRTMPState).error;\n const roomState = useHMSStore(selectRoomState);\n const [hlsStarted, setHLSStarted] = useSetAppDataByKey(APP_DATA.hlsStarted);\n const [recordingStarted, setRecordingStarted] = useSetAppDataByKey(APP_DATA.recordingStarted);\n const [rtmpStarted, setRTMPStarted] = useSetAppDataByKey(APP_DATA.rtmpStarted);\n const toggleStreaming = useSidepaneToggle(SIDE_PANE_OPTIONS.STREAMING);\n const isStreamingOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.STREAMING);\n\n useEffect(() => {\n if (isBrowserRecordingOn && recordingStarted) {\n setRecordingStarted(false);\n }\n }, [isBrowserRecordingOn, recordingStarted, setRecordingStarted]);\n /**\n * Reset on leave\n */\n useEffect(() => {\n if (roomState === HMSRoomState.Disconnected) {\n setHLSStarted(false);\n setRecordingStarted(false);\n setRTMPStarted(false);\n }\n }, [roomState, setHLSStarted, setRTMPStarted, setRecordingStarted]);\n useEffect(() => {\n if (isHLSRunning || hlsError) {\n if (hlsStarted) {\n setHLSStarted(false);\n if (isStreamingOpen) {\n toggleStreaming();\n }\n }\n }\n }, [isHLSRunning, hlsStarted, setHLSStarted, hlsError, isStreamingOpen, toggleStreaming]);\n useEffect(() => {\n if (isRTMPRunning || rtmpError || isBrowserRecordingOn) {\n if (rtmpStarted) {\n setRTMPStarted(false);\n if (isStreamingOpen) {\n toggleStreaming();\n }\n }\n }\n }, [isRTMPRunning, setRTMPStarted, rtmpStarted, rtmpError, isBrowserRecordingOn, isStreamingOpen, toggleStreaming]);\n return null;\n};\n", "import React, { useContext } from 'react';\n// @ts-ignore\nimport { DEFAULT_PORTAL_CONTAINER } from './common/constants';\n\ntype HMSPrebuiltContextType = {\n roomCode: string;\n roomId?: string;\n role?: string;\n userName?: string;\n userId?: string;\n containerSelector: string;\n endpoints?: Record<string, string>;\n onLeave?: () => void;\n onJoin?: () => void;\n};\n\nexport const HMSPrebuiltContext = React.createContext<HMSPrebuiltContextType>({\n roomCode: '',\n userName: '',\n userId: '',\n containerSelector: DEFAULT_PORTAL_CONTAINER,\n endpoints: {},\n onLeave: undefined,\n onJoin: undefined,\n});\n\nHMSPrebuiltContext.displayName = 'HMSPrebuiltContext';\n\nexport const useHMSPrebuiltContext = () => {\n const context = useContext(HMSPrebuiltContext);\n if (!context) {\n throw Error('Make sure HMSPrebuiltContext.Provider is present at the top level of your application');\n }\n return context;\n};\n", "import React, { useRef } from 'react';\nimport { CheckIcon, CloudUploadIcon, CrossIcon } from '@100mslive/react-icons';\nimport { Button } from '../../Button';\nimport { Checkbox } from '../../Checkbox';\nimport { HorizontalDivider } from '../../Divider';\nimport { IconButton } from '../../IconButton';\nimport { Input } from '../../Input';\nimport { Label } from '../../Label';\nimport { Box, Flex } from '../../Layout';\nimport { Dialog } from '../../Modal';\nimport { Select } from '../../Select';\nimport { Switch } from '../../Switch';\nimport { Text } from '../../Text';\n\nexport const DialogContent = ({ Icon, title, closeable = true, children, css, iconCSS = {}, ...props }) => {\n return (\n <Dialog.Portal>\n <Dialog.Overlay />\n <Dialog.Content css={{ width: 'min(600px, 100%)', ...css }} {...props}>\n <Dialog.Title>\n <Flex justify=\"between\">\n <Flex align=\"center\" css={{ mb: '$1' }}>\n {Icon ? (\n <Box css={{ mr: '$2', color: '$on_primary_high', ...iconCSS }}>\n <Icon />\n </Box>\n ) : null}\n <Text variant=\"h6\" inline>\n {title}\n </Text>\n </Flex>\n {closeable && <Dialog.DefaultClose data-testid=\"dialoge_cross_icon\" />}\n </Flex>\n </Dialog.Title>\n <HorizontalDivider css={{ mt: '0.8rem' }} />\n <Box>{children}</Box>\n </Dialog.Content>\n </Dialog.Portal>\n );\n};\n\nexport const ErrorDialog = ({ open = true, onOpenChange, title, children, ...props }) => {\n return (\n <Dialog.Root open={open} onOpenChange={onOpenChange}>\n <DialogContent\n Icon={CrossIcon}\n title={title}\n onInteractOutside={e => e.preventDefault()}\n onEscapeKeyDown={e => e.preventDefault()}\n onPointerDownOutside={e => e.preventDefault()}\n closeable={false}\n iconCSS={{ color: '$alert_error_default' }}\n {...props}\n >\n <Box css={{ mt: '$lg' }}>{children}</Box>\n </DialogContent>\n </Dialog.Root>\n );\n};\n\nexport const RequestDialog = ({ open = true, onOpenChange, title, body, actionText = 'Accept', onAction, Icon }) => (\n <Dialog.Root open={open} onOpenChange={onOpenChange}>\n <Dialog.Portal>\n <Dialog.Overlay />\n <Dialog.Content css={{ width: 'min(400px,80%)', p: '$10' }}>\n <Dialog.Title css={{ p: 0, display: 'flex', flexDirection: 'row', gap: '$md' }}>\n {Icon ? Icon : null}\n <Text variant=\"h6\">{title}</Text>\n </Dialog.Title>\n {typeof body === 'string' ? (\n <Text\n variant=\"md\"\n css={{\n fontWeight: 400,\n mt: '$4',\n mb: '$10',\n c: '$on_surface_medium',\n }}\n >\n {body}\n </Text>\n ) : (\n <Box css={{ mt: '$4', mb: '$10' }}>{body}</Box>\n )}\n <Flex justify=\"center\" align=\"center\" css={{ width: '100%', gap: '$md' }}>\n <Box css={{ width: '50%' }}>\n <Dialog.Close css={{ width: '100%' }}>\n <Button variant=\"standard\" outlined css={{ width: '100%' }}>\n Cancel\n </Button>\n </Dialog.Close>\n </Box>\n <Box css={{ width: '50%' }}>\n <Button variant=\"primary\" css={{ width: '100%' }} onClick={onAction}>\n {actionText}\n </Button>\n </Box>\n </Flex>\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n);\n\n/**\n * a row of items which breaks into column on small screen. For e.g. title on left and options to select\n * from on right for select component.\n */\nexport const DialogRow = ({ children, breakSm = false, css, justify = 'between' }) => {\n let finalCSS = {\n margin: '$10 0',\n w: '100%',\n };\n if (breakSm) {\n finalCSS['@sm'] = {\n flexDirection: 'column',\n alignItems: 'flex-start',\n };\n }\n if (css) {\n finalCSS = Object.assign(finalCSS, css);\n }\n return (\n <Flex align=\"center\" justify={justify} css={finalCSS}>\n {children}\n </Flex>\n );\n};\n\nexport const DialogCol = ({ children, breakSm = false, css, align = 'center', justify = 'between', ...props }) => {\n let finalCSS = {\n margin: '$10 0',\n w: '100%',\n };\n if (breakSm) {\n finalCSS['@sm'] = {\n alignItems: 'flex-start',\n };\n }\n if (css) {\n finalCSS = Object.assign(finalCSS, css);\n }\n return (\n <Flex direction=\"column\" align={align} justify={justify} css={finalCSS} {...props}>\n {children}\n </Flex>\n );\n};\n\n/**\n * key field and label field are optional, option is directly used if not passed\n */\nexport const DialogSelect = ({ title, options, keyField, labelField, selected, onChange, ...props }) => {\n return (\n <DialogRow breakSm>\n <Label>{title}</Label>\n <Select.Root data-testid={`dialog_select_${title}`} css={{ width: '70%', '@sm': { width: '100%' } }} {...props}>\n <Select.DefaultDownIcon />\n <Select.Select onChange={e => onChange(e.target.value)} value={selected} css={{ width: '100%' }}>\n {options.map(option => {\n const id = keyField ? option[keyField] : option;\n const label = labelField ? option[labelField] : option;\n return (\n <option value={id} key={id}>\n {label}\n </option>\n );\n })}\n </Select.Select>\n </Select.Root>\n </DialogRow>\n );\n};\n\nexport const DialogInput = ({ title, value, onChange, placeholder, disabled, type, ...props }) => {\n return (\n <DialogRow breakSm>\n <Label>{title}</Label>\n <Input\n css={{ width: '70%', '@sm': { width: '100%' }, bg: '$surface_bright' }}\n value={value}\n onChange={e => onChange(e.target.value)}\n placeholder={placeholder}\n disabled={disabled}\n type={type}\n {...props}\n />\n </DialogRow>\n );\n};\n\nexport const DialogInputFile = ({ value, onChange, placeholder, disabled, type, ...props }) => {\n const inputRef = useRef();\n return (\n <DialogCol\n breakSm\n onClick={() => inputRef.current?.click()}\n css={{\n justifyContent: 'center',\n position: 'relative',\n cursor: 'pointer',\n py: '$12',\n border: '1px dashed $border_bright',\n r: '$1',\n height: 'max(140px, 30%)',\n alignItems: 'center',\n m: '$6 0',\n }}\n gap=\"8\"\n >\n <IconButton\n variant=\"standard\"\n css={{\n border: 'none',\n background: 'none',\n '&:hover': {\n border: 'none',\n background: 'none',\n bg: '$transparent !important',\n },\n }}\n >\n <CloudUploadIcon\n style={{\n width: '3rem',\n height: '3rem',\n }}\n />\n </IconButton>\n <Flex direction=\"row\">\n <Input\n ref={inputRef}\n css={{ width: '70%', '@sm': { width: '100%' } }}\n value={value}\n onChange={e => onChange(e.target)}\n placeholder={placeholder}\n disabled={disabled}\n type={type}\n hidden={true}\n {...props}\n />\n <IconButton\n variant=\"standard\"\n css={{\n background: 'none',\n border: 'none',\n textDecoration: 'underline',\n '&:hover': {\n background: 'none !important',\n border: 'none !important',\n },\n }}\n >\n <Text variant=\"md\">{placeholder}</Text>\n </IconButton>\n </Flex>\n </DialogCol>\n );\n};\n\nexport const DialogSwitch = ({ title, value, onChange, disabled }) => {\n return (\n <DialogRow>\n <Text>{title}</Text>\n <Flex justify=\"end\" css={{ width: '70%' }}>\n <Switch checked={value} disabled={disabled} onCheckedChange={onChange} />\n </Flex>\n </DialogRow>\n );\n};\n\nexport const DialogCheckbox = ({ title, value, onChange, disabled, css, id }) => {\n return (\n <DialogRow css={css}>\n <Label htmlFor={id} css={{ cursor: 'pointer' }}>\n {title}\n </Label>\n <Checkbox.Root checked={value} onCheckedChange={value => onChange(value)} disabled={disabled} id={id}>\n <Checkbox.Indicator>\n <CheckIcon width={16} height={16} />\n </Checkbox.Indicator>\n </Checkbox.Root>\n </DialogRow>\n );\n};\n", "import React, { useEffect, useState } from 'react';\nimport { useHMSActions } from '@100mslive/react-sdk';\nimport { styled } from '../../Theme';\nimport { useHMSPrebuiltContext } from '../AppContext';\nimport { ErrorDialog } from '../primitives/DialogContent';\nimport { useSetAppDataByKey, useTokenEndpoint } from './AppData/useUISettings';\nimport { APP_DATA } from '../common/constants';\n\n/**\n * query params exposed -\n * skip_preview=true => used by recording and streaming service, skips preview and directly joins\n * header and footer don't show up in this case\n * skip_preview_headful=true => used by automation testing to skip preview without impacting the UI\n * name=abc => gives the initial name for the peer joining\n * auth_token=123 => uses the passed in token to join instead of fetching from token endpoint\n * ui_mode=activespeaker => lands in active speaker mode after joining the room\n */\nconst AuthToken = React.memo(({ authTokenByRoomCodeEndpoint, defaultAuthToken }) => {\n const hmsActions = useHMSActions();\n const tokenEndpoint = useTokenEndpoint();\n const { roomCode, userId } = useHMSPrebuiltContext();\n const [error, setError] = useState({ title: '', body: '' });\n let authToken = defaultAuthToken;\n const [, setAuthTokenInAppData] = useSetAppDataByKey(APP_DATA.authToken);\n\n useEffect(() => {\n if (authToken) {\n setAuthTokenInAppData(authToken);\n return;\n }\n if (!tokenEndpoint && !roomCode) {\n return;\n }\n\n hmsActions\n .getAuthTokenByRoomCode({ roomCode, userId }, { endpoint: authTokenByRoomCodeEndpoint })\n .then(token => setAuthTokenInAppData(token))\n .catch(error => setError(convertError(error)));\n }, [hmsActions, tokenEndpoint, authToken, authTokenByRoomCodeEndpoint, setAuthTokenInAppData, roomCode, userId]);\n\n if (error.title) {\n return <ErrorDialog title={error.title}>{error.body}</ErrorDialog>;\n }\n return null;\n});\n\nconst convertError = error => {\n console.error('[error]', { error });\n if (error.action === 'GET_TOKEN' && error.code === 403) {\n return {\n title: 'Room code is disabled',\n body: ErrorWithSupportLink('Room code corresponding to this link is no more active.'),\n };\n } else if (error.action === 'GET_TOKEN' && error.code === 404) {\n return {\n title: 'Room code does not exist',\n body: ErrorWithSupportLink('We could not find a room code corresponding to this link.'),\n };\n } else if (error.action === 'GET_TOKEN' && error.code === 2003) {\n return {\n title: 'Endpoint is not reachable',\n body: ErrorWithSupportLink(`Endpoint is not reachable. ${error.description}.`),\n };\n } else if (error.response && error.response.status === 404) {\n return {\n title: 'Room does not exist',\n body: ErrorWithSupportLink('We could not find a room corresponding to this link.'),\n };\n } else if (error.response && error.response.status === 403) {\n return {\n title: 'Accessing room using this link format is disabled',\n body: ErrorWithSupportLink('You can re-enable this from the developer section in Dashboard.'),\n };\n } else {\n console.error('Token API Error', error);\n return {\n title: 'Error fetching token',\n body: ErrorWithSupportLink(\n 'An error occurred while fetching the app token. Please look into logs for more details.',\n ),\n };\n }\n};\n\nconst Link = styled('a', {\n color: '#2f80e1',\n});\n\nexport const ErrorWithSupportLink = errorMessage => (\n <div>\n {errorMessage} If you think this is a mistake on our side, please create{' '}\n <Link target=\"_blank\" href=\"https://github.com/100mslive/100ms-web/issues\" rel=\"noreferrer\">\n an issue\n </Link>{' '}\n or reach out over{' '}\n <Link target=\"_blank\" href=\"https://discord.com/invite/kGdmszyzq2\" rel=\"noreferrer\">\n Discord\n </Link>\n .\n </div>\n);\n\nexport default AuthToken;\n", "import { IconButton as BaseIconButton } from '../IconButton';\nimport { styled } from '../Theme';\n\nconst IconButton = styled(BaseIconButton, {\n width: '$14',\n height: '$14',\n border: '1px solid $border_bright',\n bg: '$background_dim',\n r: '$1',\n variants: {\n active: {\n true: {\n color: '$on_surface_high',\n backgroundColor: '$transparent',\n },\n false: {\n border: '1px solid transparent',\n color: '$on_primary_high',\n },\n },\n disabled: {\n true: {\n backgroundColor: '$surface_brighter',\n color: '$on_surface_low',\n },\n },\n },\n});\n\nexport default IconButton;\n", "import React from 'react';\nimport { VerticalMenuIcon } from '@100mslive/react-icons';\nimport { Dropdown } from '../../../Dropdown';\nimport { Box, Flex } from '../../../Layout';\nimport { styled } from '../../../Theme';\nimport { Tooltip } from '../../../Tooltip';\nimport IconButton from '../../IconButton';\n\nconst IconSection = styled(IconButton, {\n w: 'unset',\n h: '$14',\n p: '$4',\n r: '$1',\n borderTopRightRadius: 0,\n borderColor: '$border_default',\n borderBottomRightRadius: 0,\n position: 'relative',\n '&:not([disabled]):focus-visible': {\n zIndex: 1,\n },\n '@md': {\n mx: 0,\n borderTopRightRadius: '$1',\n borderBottomRightRadius: '$1',\n },\n});\n\nconst OptionsSection = styled(IconButton, {\n w: 'unset',\n h: '$14',\n p: '$4',\n r: '$1',\n borderTopLeftRadius: 0,\n borderColor: '$border_default',\n borderBottomLeftRadius: 0,\n borderLeftWidth: 0,\n position: 'relative',\n '&:not([disabled]):focus-visible': {\n zIndex: 1,\n },\n '@md': {\n display: 'none',\n },\n});\n\nexport const IconButtonWithOptions = ({\n disabled = false,\n onDisabledClick = () => {\n return;\n },\n tooltipMessage = '',\n icon,\n options = [],\n active,\n onClick = () => {\n return;\n },\n}) => {\n const bgCss = { backgroundColor: disabled ? '$surface_brighter' : active ? '$transparent' : '$secondary_dim' };\n const iconCss = { color: disabled ? '$on_surface_low' : active ? '$on_surface_high' : '$on_primary_high' };\n\n return (\n <Flex>\n <IconSection css={bgCss} onClick={onClick}>\n <Tooltip disabled={!tooltipMessage} title={tooltipMessage}>\n <Flex align=\"center\" justify=\"center\" css={iconCss}>\n {icon}\n </Flex>\n </Tooltip>\n </IconSection>\n <Dropdown.Root>\n <Dropdown.Trigger\n asChild\n // onClick does not work\n onPointerDown={e => {\n if (disabled) {\n e.preventDefault();\n onDisabledClick();\n }\n }}\n >\n <OptionsSection css={bgCss}>\n <Tooltip title=\"View Options\">\n <Box css={iconCss}>\n <VerticalMenuIcon />\n </Box>\n </Tooltip>\n </OptionsSection>\n </Dropdown.Trigger>\n <Dropdown.Content\n sideOffset={5}\n align=\"center\"\n css={{\n w: '$64',\n maxHeight: '$96',\n p: 0,\n border: 'none',\n }}\n >\n {options.map((option, index) => (\n <Dropdown.Item\n key={option.title}\n css={{\n flexDirection: 'column',\n alignItems: 'flex-start',\n backgroundColor: option.active ? '$surface_bright' : '$surface_dim',\n borderTop: index === 0 ? 'none' : '1px solid $border_default',\n '&:hover': {\n cursor: 'pointer',\n },\n p: '0',\n }}\n >\n {option.content}\n </Dropdown.Item>\n ))}\n </Dropdown.Content>\n </Dropdown.Root>\n </Flex>\n );\n};\n", "import { v4 } from 'uuid';\n\nexport const ToastManager = {\n toasts: new Map(),\n listeners: new Map(),\n addToast(toast) {\n const id = toast.id ? toast.id : v4();\n this.toasts.set(id, { ...toast, id });\n this.onChange();\n return id;\n },\n\n clearAllToast() {\n this.toasts.clear();\n this.onChange();\n },\n\n removeToast(id) {\n this.toasts.delete(id);\n this.onChange();\n },\n replaceToast(id, toast) {\n if (this.isActive(id)) {\n this.toasts.set(id, { ...this.toasts.get(id), ...toast });\n this.onChange();\n return id;\n } else {\n return this.addToast(toast);\n }\n },\n addListener(cb) {\n this.listeners.set(cb, cb);\n },\n removeListener(cb) {\n this.listeners.delete(cb);\n },\n isActive(id) {\n return this.toasts.has(id);\n },\n onChange() {\n const toasts = Array.from(this.toasts.values());\n this.listeners.forEach(listener => listener(toasts));\n },\n};\n", "import React, { Fragment } from 'react';\nimport {\n DeviceType,\n HMSRoomState,\n selectLocalVideoTrackID,\n selectRoomState,\n selectVideoTrackByID,\n useAVToggle,\n useDevices,\n useHMSActions,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport { CameraFlipIcon, MicOffIcon, MicOnIcon, VideoOffIcon, VideoOnIcon } from '@100mslive/react-icons';\nimport { IconButtonWithOptions } from './IconButtonWithOptions/IconButtonWithOptions';\nimport { ToastManager } from './Toast/ToastManager';\nimport { Text } from '../../Text';\nimport { Tooltip } from '../../Tooltip';\nimport IconButton from '../IconButton';\nimport { isMacOS } from '../common/constants';\n\nconst optionsCSS = { fontWeight: '$semiBold', color: '$on_surface_high', w: '100%', p: '$8' };\n\nexport const AudioVideoToggle = ({ hideOptions = false }) => {\n const { allDevices, selectedDeviceIDs, updateDevice } = useDevices();\n const { videoInput, audioInput } = allDevices;\n\n const formattedVideoInputList = videoInput?.map(videoInput => ({\n active: selectedDeviceIDs.videoInput === videoInput.deviceId,\n content: (\n <Text\n variant=\"sm\"\n onClick={() =>\n updateDevice({\n deviceType: DeviceType.videoInput,\n deviceId: videoInput.deviceId,\n })\n }\n css={optionsCSS}\n >\n {videoInput.label}\n </Text>\n ),\n title: videoInput.label,\n }));\n\n const formattedAudioInputList = audioInput?.map(audioInput => ({\n active: selectedDeviceIDs.audioInput === audioInput.deviceId,\n content: (\n <Text\n variant=\"sm\"\n onClick={() =>\n updateDevice({\n deviceType: DeviceType.audioInput,\n deviceId: audioInput.deviceId,\n })\n }\n css={optionsCSS}\n >\n {audioInput.label}\n </Text>\n ),\n title: audioInput.label,\n }));\n\n const { isLocalVideoEnabled, isLocalAudioEnabled, toggleAudio, toggleVideo } = useAVToggle();\n const actions = useHMSActions();\n const videoTrackId = useHMSStore(selectLocalVideoTrackID);\n const localVideoTrack = useHMSStore(selectVideoTrackByID(videoTrackId));\n const roomState = useHMSStore(selectRoomState);\n const hasAudioDevices = audioInput?.length > 0;\n const hasVideoDevices = videoInput?.length > 0;\n\n return (\n <Fragment>\n {toggleAudio ? (\n hideOptions || !hasAudioDevices ? (\n <Tooltip title={`Turn ${isLocalAudioEnabled ? 'off' : 'on'} audio (${isMacOS ? '\u2318' : 'ctrl'} + d)`}>\n <IconButton\n active={isLocalAudioEnabled}\n disabled={!toggleAudio}\n onClick={toggleAudio}\n key=\"toggleAudio\"\n data-testid=\"audio_btn\"\n className=\"__cancel-drag-event\"\n >\n {!isLocalAudioEnabled ? (\n <MicOffIcon data-testid=\"audio_off_btn\" />\n ) : (\n <MicOnIcon data-testid=\"audio_on_btn\" />\n )}\n </IconButton>\n </Tooltip>\n ) : (\n <IconButtonWithOptions\n options={formattedAudioInputList}\n disabled={!toggleAudio}\n onDisabledClick={toggleAudio}\n tooltipMessage={`Turn ${isLocalAudioEnabled ? 'off' : 'on'} audio (${isMacOS ? '\u2318' : 'ctrl'} + d)`}\n icon={\n !isLocalAudioEnabled ? (\n <MicOffIcon data-testid=\"audio_off_btn\" />\n ) : (\n <MicOnIcon data-testid=\"audio_on_btn\" />\n )\n }\n active={isLocalAudioEnabled}\n onClick={toggleAudio}\n key=\"toggleAudio\"\n />\n )\n ) : null}\n\n {toggleVideo ? (\n hideOptions || !hasVideoDevices ? (\n <Tooltip title={`Turn ${isLocalVideoEnabled ? 'off' : 'on'} video (${isMacOS ? '\u2318' : 'ctrl'} + e)`}>\n <IconButton\n key=\"toggleVideo\"\n active={isLocalVideoEnabled}\n disabled={!toggleVideo}\n onClick={toggleVideo}\n data-testid=\"video_btn\"\n className=\"__cancel-drag-event\"\n >\n {!isLocalVideoEnabled ? (\n <VideoOffIcon data-testid=\"video_off_btn\" />\n ) : (\n <VideoOnIcon data-testid=\"video_on_btn\" />\n )}\n </IconButton>\n </Tooltip>\n ) : (\n <IconButtonWithOptions\n disabled={!toggleVideo}\n onDisabledClick={toggleVideo}\n options={formattedVideoInputList}\n tooltipMessage={`Turn ${isLocalVideoEnabled ? 'off' : 'on'} video (${isMacOS ? '\u2318' : 'ctrl'} + e)`}\n icon={\n !isLocalVideoEnabled ? (\n <VideoOffIcon data-testid=\"video_off_btn\" />\n ) : (\n <VideoOnIcon data-testid=\"video_on_btn\" />\n )\n }\n key=\"toggleVideo\"\n active={isLocalVideoEnabled}\n onClick={toggleVideo}\n />\n )\n ) : null}\n\n {localVideoTrack?.facingMode && roomState === HMSRoomState.Preview ? (\n <Tooltip title=\"Switch Camera\" key=\"switchCamera\">\n <IconButton\n onClick={async () => {\n try {\n await actions.switchCamera();\n } catch (e) {\n ToastManager.addToast({\n title: `Error while flipping camera ${e.message || ''}`,\n variant: 'error',\n });\n }\n }}\n >\n <CameraFlipIcon />\n </IconButton>\n </Tooltip>\n ) : null}\n </Fragment>\n );\n};\n", "import React from 'react';\nimport { Flex } from '../../../Layout';\nimport { styled } from '../../../Theme';\n\n// When changing emojis in the grid, keep in mind that the payload used in sendHLSTimedMetadata has a limit of 100 characters. Using bigger emoji Ids can cause the limit to be exceeded.\nconst emojiReactionList = [\n [{ emojiId: '+1' }, { emojiId: '-1' }, { emojiId: 'wave' }, { emojiId: 'clap' }, { emojiId: 'fire' }],\n [{ emojiId: 'tada' }, { emojiId: 'heart_eyes' }, { emojiId: 'joy' }, { emojiId: 'open_mouth' }, { emojiId: 'sob' }],\n];\n\nexport const EmojiCard = ({ sendReaction }) => {\n return emojiReactionList.map((emojiLine, index) => (\n <Flex key={index} justify=\"between\" css={{ mb: '$8' }}>\n {emojiLine.map(emoji => (\n <EmojiContainer key={emoji.emojiId} onClick={() => sendReaction(emoji.emojiId)}>\n <em-emoji id={emoji.emojiId} size=\"100%\" set=\"apple\"></em-emoji>\n </EmojiContainer>\n ))}\n </Flex>\n ));\n};\n\nconst EmojiContainer = styled('span', {\n position: 'relative',\n cursor: 'pointer',\n width: '$16',\n height: '$16',\n p: '$4',\n '&:hover': {\n p: '7px',\n bg: '$surface_brighter',\n borderRadius: '$1',\n },\n});\n", "import { useEffect } from 'react';\nimport { useSetAppDataByKey } from '../AppData/useUISettings';\nimport { APP_DATA } from '../../common/constants';\n\nexport const useDropdownList = ({ name, open }) => {\n const [dropdownList = [], setDropdownList] = useSetAppDataByKey(APP_DATA.dropdownList);\n\n useEffect(() => {\n if (open) {\n if (!dropdownList.includes(name)) {\n setDropdownList([...dropdownList, name]);\n }\n } else {\n const index = dropdownList.indexOf(name);\n if (index >= 0) {\n const newDropdownList = [...dropdownList];\n newDropdownList.splice(index, 1);\n setDropdownList(newDropdownList);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open, name]);\n};\n", "import React, { Fragment, useState } from 'react';\nimport { useMedia } from 'react-use';\nimport data from '@emoji-mart/data/sets/14/apple.json';\nimport { init } from 'emoji-mart';\nimport {\n selectAvailableRoleNames,\n selectIsConnectedToRoom,\n selectLocalPeerID,\n useCustomEvent,\n // useHMSActions,\n useHMSStore,\n // useRecordingStreaming,\n} from '@100mslive/react-sdk';\nimport { EmojiIcon } from '@100mslive/react-icons';\nimport { EmojiCard } from './Footer/EmojiCard';\n// import { ToastManager } from './Toast/ToastManager';\nimport { Dropdown } from '../../Dropdown';\nimport { Box } from '../../Layout';\nimport { config as cssConfig } from '../../Theme';\nimport { Tooltip } from '../../Tooltip';\nimport IconButton from '../IconButton';\nimport { useDropdownList } from './hooks/useDropdownList';\nimport { EMOJI_REACTION_TYPE } from '../common/constants';\n\ninit({ data });\n\nexport const EmojiReaction = () => {\n const [open, setOpen] = useState(false);\n const isConnected = useHMSStore(selectIsConnectedToRoom);\n useDropdownList({ open: open, name: 'EmojiReaction' });\n // const hmsActions = useHMSActions();\n const roles = useHMSStore(selectAvailableRoleNames);\n const localPeerId = useHMSStore(selectLocalPeerID);\n // const { isStreamingOn } = useRecordingStreaming();\n const isMobile = useMedia(cssConfig.media.md);\n\n const { sendEvent } = useCustomEvent({\n type: EMOJI_REACTION_TYPE,\n });\n\n const sendReaction = async emojiId => {\n const data = {\n type: EMOJI_REACTION_TYPE,\n emojiId: emojiId,\n senderId: localPeerId,\n };\n // TODO: RT find a way to figure out hls-viewer roles\n sendEvent(data, { roleNames: roles });\n window.showFlyingEmoji?.({ emojiId, senderId: localPeerId });\n /* if (isStreamingOn) {\n try {\n await hmsActions.sendHLSTimedMetadata([\n {\n payload: JSON.stringify(data),\n duration: 2,\n },\n ]);\n } catch (error) {\n console.log(error);\n ToastManager.addToast({ title: error.message });\n }\n } */\n };\n\n if (!isConnected) {\n return null;\n }\n return isMobile ? (\n <EmojiCard sendReaction={sendReaction} />\n ) : (\n <Fragment>\n <Dropdown.Root open={open} onOpenChange={setOpen}>\n <Dropdown.Trigger asChild data-testid=\"emoji_reaction_btn\">\n <IconButton>\n <Tooltip title=\"Emoji reaction\">\n <Box>\n <EmojiIcon />\n </Box>\n </Tooltip>\n </IconButton>\n </Dropdown.Trigger>\n <Dropdown.Content sideOffset={5} align=\"center\" css={{ p: '$8', bg: '$surface_default' }}>\n <EmojiCard sendReaction={sendReaction} />\n </Dropdown.Content>\n </Dropdown.Root>\n </Fragment>\n );\n};\n", "import React from 'react';\nimport { AlertTriangleIcon, CrossIcon } from '@100mslive/react-icons';\nimport { Button } from '../../../Button';\nimport { Box, Flex } from '../../../Layout';\nimport { Text } from '../../../Text';\n\nexport const EndSessionContent = ({\n setShowEndStreamAlert,\n leaveRoom,\n isModal = false,\n isStreamingOn = false,\n}: {\n setShowEndStreamAlert: (value: boolean) => void;\n leaveRoom: (args: { endstream: boolean }) => void;\n isModal?: boolean;\n isStreamingOn: boolean;\n}) => {\n return (\n <Box>\n <Flex\n css={{\n color: '$alert_error_default',\n display: 'flex',\n alignItems: 'center',\n }}\n >\n <AlertTriangleIcon style={{ marginRight: '0.5rem' }} />\n <Text variant=\"lg\" css={{ color: 'inherit', fontWeight: '$semiBold' }}>\n End {isStreamingOn ? 'Stream' : 'Session'}\n </Text>\n {isModal ? null : (\n <Box css={{ color: '$on_surface_high', ml: 'auto' }} onClick={() => setShowEndStreamAlert(false)}>\n <CrossIcon />\n </Box>\n )}\n </Flex>\n <Text variant=\"sm\" css={{ color: '$on_surface_medium', mb: '$8', mt: '$4' }}>\n The {isStreamingOn ? 'stream' : 'session'} will end for everyone. You can't undo this action.\n </Text>\n <Flex align=\"center\" justify=\"between\" css={{ w: '100%', gap: '$8' }}>\n <Button\n outlined\n variant=\"standard\"\n css={{ w: '100%', '@md': { display: 'none' } }}\n onClick={() => setShowEndStreamAlert(false)}\n >\n Cancel\n </Button>\n <Button\n variant=\"danger\"\n css={{ w: '100%' }}\n onClick={async () => {\n await leaveRoom({ endstream: true });\n setShowEndStreamAlert(false);\n }}\n id=\"stopStream\"\n data-testid=\"stop_stream_btn\"\n >\n End {isStreamingOn ? 'Stream' : 'Session'}\n </Button>\n </Flex>\n </Box>\n );\n};\n", "import { IconButton } from '../../../IconButton';\nimport { styled } from '../../../Theme';\n\nexport const LeaveIconButton = styled(IconButton, {\n color: '$on_primary_high',\n h: '$14',\n px: '$4',\n r: '$1',\n bg: '$alert_error_default',\n '&:not([disabled]):hover': {\n bg: '$alert_error_bright',\n },\n '&:not([disabled]):active': {\n bg: '$alert_error_default',\n },\n '@md': {\n mx: 0,\n },\n});\n\nexport const MenuTriggerButton = styled(LeaveIconButton, {\n borderLeft: '1px solid $alert_error_dim',\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n px: '$2',\n});\n", "import React from 'react';\nimport { Box, Flex } from '../../../Layout';\nimport { Text } from '../../../Text';\nimport { CSS } from '../../../Theme';\n\nexport const LeaveCard = ({\n icon,\n title,\n subtitle,\n onClick,\n bg,\n titleColor,\n css = {},\n}: {\n icon: React.JSX.Element;\n title: string;\n subtitle: string;\n onClick: () => void;\n titleColor: string;\n bg: string;\n css?: CSS;\n}) => {\n return (\n <Flex css={{ p: '$10', flexGrow: 1, gap: '$8', bg, ...css }} onClick={onClick}>\n <Box css={{ color: titleColor }}>{icon}</Box>\n <Box css={{ gap: '$2' }}>\n <Text variant=\"lg\" css={{ color: titleColor }}>\n {title}\n </Text>\n <Text variant=\"sm\" css={{ c: 'inherit' }}>\n {subtitle}\n </Text>\n </Box>\n </Flex>\n );\n};\n", "import React from 'react';\nimport { AlertTriangleIcon, CrossIcon } from '@100mslive/react-icons';\nimport { Button } from '../../../Button';\nimport { Box, Flex } from '../../../Layout';\nimport { Text } from '../../../Text';\n\nexport const LeaveSessionContent = ({\n setShowLeaveRoomAlert,\n leaveRoom,\n isModal = false,\n}: {\n setShowLeaveRoomAlert: (value: boolean) => void;\n leaveRoom: (args: { endstream: boolean }) => void;\n isModal?: boolean;\n}) => {\n return (\n <Box>\n <Flex\n css={{\n color: '$alert_error_default',\n display: 'flex',\n alignItems: 'center',\n }}\n >\n <AlertTriangleIcon style={{ marginRight: '0.5rem' }} />\n <Text variant=\"lg\" css={{ color: 'inherit', fontWeight: '$semiBold' }}>\n Leave\n </Text>\n {isModal ? null : (\n <Box css={{ color: '$on_surface_high', ml: 'auto' }} onClick={() => setShowLeaveRoomAlert(false)}>\n <CrossIcon />\n </Box>\n )}\n </Flex>\n <Text variant=\"sm\" css={{ color: '$on_surface_low', mb: '$8', mt: '$4' }}>\n Others will continue after you leave. You can join the session again.\n </Text>\n <Flex align=\"center\" justify=\"between\" css={{ w: '100%', gap: '$8' }}>\n <Button\n outlined\n variant=\"standard\"\n css={{ w: '100%', '@md': { display: 'none' } }}\n onClick={() => setShowLeaveRoomAlert(false)}\n >\n Cancel\n </Button>\n <Button\n variant=\"danger\"\n css={{ w: '100%' }}\n onClick={() => leaveRoom({ endstream: false })}\n id=\"leaveRoom\"\n data-testid=\"leave_room\"\n >\n Leave Session\n </Button>\n </Flex>\n </Box>\n );\n};\n", "import React, { Fragment, useState } from 'react';\nimport { ConferencingScreen } from '@100mslive/types-prebuilt';\n// @ts-ignore: No implicit Any\nimport { selectIsConnectedToRoom, selectPermissions, useHMSStore, useRecordingStreaming } from '@100mslive/react-sdk';\n// @ts-ignore: No implicit Any\nimport { ExitIcon, StopIcon, VerticalMenuIcon } from '@100mslive/react-icons';\nimport { Dropdown } from '../../../Dropdown';\nimport { Box, Flex } from '../../../Layout';\nimport { Dialog } from '../../../Modal';\nimport { Tooltip } from '../../../Tooltip';\nimport { EndSessionContent } from './EndSessionContent';\nimport { LeaveIconButton, MenuTriggerButton } from './LeaveAtoms';\nimport { LeaveCard } from './LeaveCard';\nimport { LeaveSessionContent } from './LeaveSessionContent';\n// @ts-ignore: No implicit Any\nimport { useDropdownList } from '../hooks/useDropdownList';\n\nexport const DesktopLeaveRoom = ({\n leaveRoom,\n screenType,\n endRoom,\n}: {\n leaveRoom: (args: { endstream: boolean }) => void;\n screenType: keyof ConferencingScreen;\n endRoom: () => void;\n}) => {\n const [open, setOpen] = useState(false);\n const [showLeaveRoomAlert, setShowLeaveRoomAlert] = useState(false);\n const [showEndStreamAlert, setShowEndStreamAlert] = useState(false);\n const isConnected = useHMSStore(selectIsConnectedToRoom);\n const permissions = useHMSStore(selectPermissions);\n const { isStreamingOn } = useRecordingStreaming();\n const showStream = screenType !== 'hls_live_streaming' && isStreamingOn;\n const showLeaveOptions = (permissions?.hlsStreaming && isStreamingOn) || permissions?.endRoom;\n\n useDropdownList({ open: open || showEndStreamAlert || showLeaveRoomAlert, name: 'LeaveRoom' });\n\n if (!permissions || !isConnected) {\n return null;\n }\n\n return (\n <Fragment>\n {showLeaveOptions ? (\n <Flex>\n <LeaveIconButton\n key=\"LeaveRoom\"\n data-testid=\"leave_room_btn\"\n css={{\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n }}\n onClick={() => setShowLeaveRoomAlert(true)}\n >\n <Tooltip title=\"Leave Room\">\n <Box>\n <ExitIcon style={{ transform: 'rotate(180deg)' }} />\n </Box>\n </Tooltip>\n </LeaveIconButton>\n <Dropdown.Root open={open} onOpenChange={setOpen} modal={false}>\n <Dropdown.Trigger\n asChild\n css={{\n '&[data-state=\"open\"]': {\n bg: '$alert_error_dim',\n },\n }}\n >\n <MenuTriggerButton data-testid=\"leave_end_dropdown_trigger\">\n <VerticalMenuIcon />\n </MenuTriggerButton>\n </Dropdown.Trigger>\n <Dropdown.Content css={{ p: 0, w: '$100' }} alignOffset={-50} sideOffset={10}>\n <Dropdown.Item\n css={{\n bg: '$surface_dim',\n color: '$on_surface_medium',\n '&:hover': { bg: '$surface_default', color: '$on_surface_high' },\n }}\n onClick={() => leaveRoom({ endstream: false })}\n data-testid=\"just_leave_btn\"\n >\n <LeaveCard\n title={showStream ? 'Leave Stream' : 'Leave Session'}\n subtitle={`Others will continue after you leave. You can join the ${\n showStream ? 'stream' : 'session'\n } again.`}\n bg=\"\"\n titleColor=\"$on_surface_high\"\n icon={<ExitIcon height={24} width={24} style={{ transform: 'rotate(180deg)' }} />}\n onClick={() => leaveRoom({ endstream: false })}\n css={{ p: 0 }}\n />\n </Dropdown.Item>\n\n <Dropdown.Item\n css={{\n bg: '$alert_error_dim',\n color: '$alert_error_bright',\n '&:hover': { bg: '$alert_error_dim', color: '$alert_error_brighter' },\n }}\n data-testid=\"end_room_btn\"\n >\n <LeaveCard\n title={showStream ? 'End Stream' : 'End Session'}\n subtitle={`The ${\n showStream ? 'stream' : 'session'\n } will end for everyone. You can't undo this action.`}\n bg=\"\"\n titleColor=\"$alert_error_brighter\"\n icon={<StopIcon height={24} width={24} />}\n onClick={() => {\n setOpen(false);\n setShowEndStreamAlert(true);\n }}\n css={{ p: 0 }}\n />\n </Dropdown.Item>\n </Dropdown.Content>\n </Dropdown.Root>\n </Flex>\n ) : (\n <LeaveIconButton\n onClick={() => {\n setShowLeaveRoomAlert(true);\n }}\n key=\"LeaveRoom\"\n data-testid=\"leave_room_btn\"\n >\n <Tooltip title=\"Leave Room\">\n <Box>\n <ExitIcon style={{ transform: 'rotate(180deg)' }} />\n </Box>\n </Tooltip>\n </LeaveIconButton>\n )}\n\n <Dialog.Root open={showEndStreamAlert} modal={false}>\n <Dialog.Portal>\n <Dialog.Overlay />\n <Dialog.Content css={{ w: 'min(420px, 90%)', p: '$8', bg: '$surface_dim' }}>\n <EndSessionContent\n setShowEndStreamAlert={setShowEndStreamAlert}\n leaveRoom={isStreamingOn ? leaveRoom : endRoom}\n isStreamingOn={isStreamingOn}\n isModal\n />\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n\n <Dialog.Root open={showLeaveRoomAlert} modal={false}>\n <Dialog.Portal>\n <Dialog.Overlay />\n <Dialog.Content css={{ w: 'min(420px, 90%)', p: '$8', bg: '$surface_dim' }}>\n <LeaveSessionContent setShowLeaveRoomAlert={setShowLeaveRoomAlert} leaveRoom={leaveRoom} isModal />\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n </Fragment>\n );\n};\n", "import React from 'react';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { CSS, VariantProps } from '@stitches/react';\nimport { Dialog } from '../Modal';\nimport { styled } from '../Theme';\nimport { sheetFadeIn, sheetFadeOut, sheetSlideIn, sheetSlideOut } from '../utils';\n\nconst SheetRoot = styled(DialogPrimitive.Root, {\n minHeight: '240px',\n maxWidth: '100%',\n});\nconst SheetTrigger = styled(DialogPrimitive.Trigger, {\n appearance: 'none !important', // Needed for safari it shows white overlay\n});\n\nconst StyledOverlay = styled(Dialog.Overlay, {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n\n '&[data-state=\"open\"]': {\n animation: `${sheetFadeIn} 150ms cubic-bezier(0.22, 1, 0.36, 1)`,\n },\n\n '&[data-state=\"closed\"]': {\n animation: `${sheetFadeOut} 150ms cubic-bezier(0.22, 1, 0.36, 1)`,\n },\n});\n\nconst StyledContent = styled(DialogPrimitive.Content, {\n color: '$on_surface_medium',\n backgroundColor: '$surface_default',\n borderTopLeftRadius: '$3',\n borderTopRightRadius: '$3',\n boxShadow: '0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23)',\n position: 'fixed',\n zIndex: 1001,\n top: 0,\n right: 0,\n left: 0,\n bottom: 0,\n maxHeight: '96%',\n\n // Among other things, prevents text alignment inconsistencies when dialog can't be centered in the viewport evenly.\n // Affects animated and non-animated dialogs alike.\n willChange: 'transform',\n\n '&:focus': {\n outline: 'none',\n },\n '@allowMotion': {\n '&[data-state=\"open\"]': {\n animation: `${sheetSlideIn} 150ms cubic-bezier(0.22, 1, 0.36, 1)`,\n },\n\n '&[data-state=\"closed\"]': {\n animation: `${sheetSlideOut} 150ms cubic-bezier(0.22, 1, 0.36, 1)`,\n },\n },\n\n variants: {\n side: {\n top: {\n $$transformValue: 'translate3d(0,-100%,0)',\n bottom: 'auto',\n },\n right: {\n $$transformValue: 'translate3d(100%,0,0)',\n right: 0,\n },\n bottom: {\n $$transformValue: 'translate3d(0,100%,0)',\n bottom: 0,\n top: 'auto',\n },\n left: {\n $$transformValue: 'translate3d(-100%,0,0)',\n left: 0,\n },\n },\n },\n\n defaultVariants: {\n side: 'bottom',\n },\n});\n\ntype SheetContentVariants = VariantProps<typeof StyledContent>;\ntype DialogContentPrimitiveProps = React.ComponentProps<typeof DialogPrimitive.Content>;\ntype SheetContentProps = DialogContentPrimitiveProps & SheetContentVariants & { css?: CSS };\n\nconst SheetContent = React.forwardRef<React.ElementRef<typeof StyledContent>, SheetContentProps>(\n ({ children, ...props }, forwardedRef) => (\n <Dialog.Portal>\n <StyledOverlay />\n <StyledContent {...props} ref={forwardedRef}>\n {children}\n </StyledContent>\n </Dialog.Portal>\n ),\n);\nconst SheetClose = Dialog.Close;\nconst SheetTitle = styled(DialogPrimitive.Title, {\n margin: 0,\n});\nconst SheetDescription = Dialog.Description;\nconst SheetDefaultCloseIcon = Dialog.DefaultClose;\n\nexport const Sheet = {\n Root: SheetRoot,\n Trigger: SheetTrigger,\n Content: SheetContent,\n Description: SheetDescription,\n Title: SheetTitle,\n Close: SheetClose,\n DefaultClose: SheetDefaultCloseIcon,\n};\n", "export { Sheet } from './Sheet';\n", "import React, { Fragment, useState } from 'react';\nimport { ConferencingScreen } from '@100mslive/types-prebuilt';\n// @ts-ignore: No implicit Any\nimport { selectIsConnectedToRoom, selectPermissions, useHMSStore, useRecordingStreaming } from '@100mslive/react-sdk';\n// @ts-ignore: No implicit Any\nimport { ExitIcon, StopIcon } from '@100mslive/react-icons';\nimport { Box } from '../../../Layout';\nimport { Sheet } from '../../../Sheet';\nimport { Tooltip } from '../../../Tooltip';\nimport { EndSessionContent } from './EndSessionContent';\nimport { LeaveIconButton } from './LeaveAtoms';\nimport { LeaveCard } from './LeaveCard';\nimport { LeaveSessionContent } from './LeaveSessionContent';\n// @ts-ignore: No implicit Any\nimport { useDropdownList } from '../hooks/useDropdownList';\n\nexport const MwebLeaveRoom = ({\n leaveRoom,\n screenType,\n endRoom,\n}: {\n leaveRoom: (args: { endstream: boolean }) => void;\n screenType: keyof ConferencingScreen;\n endRoom: () => void;\n}) => {\n const [open, setOpen] = useState(false);\n const [showLeaveRoomAlert, setShowLeaveRoomAlert] = useState(false);\n const [showEndStreamAlert, setShowEndStreamAlert] = useState(false);\n const isConnected = useHMSStore(selectIsConnectedToRoom);\n const permissions = useHMSStore(selectPermissions);\n const { isStreamingOn } = useRecordingStreaming();\n const showStream = screenType !== 'hls_live_streaming' && isStreamingOn;\n const showLeaveOptions = (permissions?.hlsStreaming && isStreamingOn) || permissions?.endRoom;\n\n useDropdownList({ open, name: 'LeaveRoom' });\n\n if (!permissions || !isConnected) {\n return null;\n }\n\n return (\n <Fragment>\n {showLeaveOptions ? (\n <Sheet.Root open={open} onOpenChange={setOpen}>\n <Sheet.Trigger asChild>\n <LeaveIconButton\n key=\"LeaveRoom\"\n data-testid=\"leave_room_btn\"\n css={{\n borderTopRightRadius: '$1',\n borderBottomRightRadius: '$1',\n }}\n >\n <Tooltip title=\"Leave Room\">\n <Box>\n <ExitIcon style={{ transform: 'rotate(180deg)' }} />\n </Box>\n </Tooltip>\n </LeaveIconButton>\n </Sheet.Trigger>\n <Sheet.Content>\n <LeaveCard\n title={showStream ? 'Leave Stream' : 'Leave Session'}\n subtitle={`Others will continue after you leave. You can join the ${\n showStream ? 'stream' : 'session'\n } again.`}\n bg=\"$surface_default\"\n titleColor=\"$on_surface_high\"\n icon={<ExitIcon height={24} width={24} style={{ transform: 'rotate(180deg)' }} />}\n onClick={() => leaveRoom({ endstream: false })}\n css={{ pt: 0, mt: '$10', color: '$on_surface_low', '&:hover': { color: '$on_surface_high' } }}\n />\n\n <LeaveCard\n title={showStream ? 'End Stream' : 'End Session'}\n subtitle={`The will end the ${\n showStream ? 'stream' : 'session'\n } for everyone. You can't undo this action.`}\n bg=\"$alert_error_dim\"\n titleColor=\"$alert_error_brighter\"\n css={{ color: '$alert_error_bright', '&:hover': { color: '$alert_error_brighter' } }}\n icon={<StopIcon height={24} width={24} />}\n onClick={() => {\n setOpen(false);\n setShowEndStreamAlert(true);\n }}\n />\n </Sheet.Content>\n </Sheet.Root>\n ) : (\n <LeaveIconButton key=\"LeaveRoom\" data-testid=\"leave_room_btn\" onClick={() => setShowLeaveRoomAlert(true)}>\n <Tooltip title=\"Leave Room\">\n <Box>\n <ExitIcon style={{ transform: 'rotate(180deg)' }} />\n </Box>\n </Tooltip>\n </LeaveIconButton>\n )}\n <Sheet.Root open={showEndStreamAlert} onOpenChange={setShowEndStreamAlert}>\n <Sheet.Content css={{ bg: '$surface_dim', p: '$10', pb: '$12' }}>\n <EndSessionContent\n setShowEndStreamAlert={setShowEndStreamAlert}\n leaveRoom={isStreamingOn ? leaveRoom : endRoom}\n isStreamingOn={isStreamingOn}\n />\n </Sheet.Content>\n </Sheet.Root>\n\n <Sheet.Root open={showLeaveRoomAlert} onOpenChange={setShowLeaveRoomAlert}>\n <Sheet.Content css={{ bg: '$surface_dim', p: '$10', pb: '$12' }}>\n <LeaveSessionContent setShowLeaveRoomAlert={setShowLeaveRoomAlert} leaveRoom={leaveRoom} />\n </Sheet.Content>\n </Sheet.Root>\n </Fragment>\n );\n};\n", "import React from 'react';\nimport { useMedia } from 'react-use';\nimport { ConferencingScreen } from '@100mslive/types-prebuilt';\nimport {\n HMSPeer,\n HMSRole,\n selectHLSState,\n selectIsConnectedToRoom,\n selectPeersByCondition,\n selectPermissions,\n selectRolesMap,\n useHMSActions,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport { config as cssConfig } from '../../../Theme';\n// @ts-ignore: No implicit Any\n// @ts-ignore: No implicit Any\nimport { ToastManager } from '../Toast/ToastManager';\nimport { DesktopLeaveRoom } from './DesktopLeaveRoom';\nimport { MwebLeaveRoom } from './MwebLeaveRoom';\n\nexport const LeaveRoom = ({ screenType }: { screenType: keyof ConferencingScreen }) => {\n const isConnected = useHMSStore(selectIsConnectedToRoom);\n const permissions = useHMSStore(selectPermissions);\n const isMobile = useMedia(cssConfig.media.md);\n const rolesMap: Record<string, HMSRole> = useHMSStore(selectRolesMap);\n const streamingPermissionRoles = Object.keys(rolesMap).filter(roleName => {\n const roleObj = rolesMap[roleName];\n return roleObj.permissions.hlsStreaming;\n });\n const peersWithStreamingRights = useHMSStore(\n selectPeersByCondition((peer: HMSPeer) => streamingPermissionRoles.includes(peer.roleName || '')),\n );\n const hlsState = useHMSStore(selectHLSState);\n const hmsActions = useHMSActions();\n\n const stopStream = async () => {\n try {\n console.log('Stopping HLS stream');\n await hmsActions.stopHLSStreaming();\n ToastManager.addToast({ title: 'Stopping the stream' });\n } catch (e) {\n console.error('Error stopping stream', e);\n ToastManager.addToast({ title: 'Error in stopping the stream', type: 'error' });\n }\n };\n const endRoom = () => {\n hmsActions.endRoom(false, 'End Room');\n };\n\n const leaveRoom = async ({ endstream = false }) => {\n if (endstream || (hlsState.running && peersWithStreamingRights.length === 1)) {\n await stopStream();\n }\n hmsActions.leave();\n };\n\n if (!permissions || !isConnected) {\n return null;\n }\n return isMobile ? (\n <MwebLeaveRoom leaveRoom={leaveRoom} screenType={screenType} endRoom={endRoom} />\n ) : (\n <DesktopLeaveRoom leaveRoom={leaveRoom} screenType={screenType} endRoom={endRoom} />\n );\n};\n", "let CANVAS_FILL_COLOR;\nlet CANVAS_STROKE_COLOR;\n\nfunction setPIPCanvasColors() {\n if (!CANVAS_FILL_COLOR) {\n CANVAS_FILL_COLOR = window\n .getComputedStyle(document.documentElement)\n .getPropertyValue('--hms-ui-colors-surface_bright');\n }\n if (!CANVAS_STROKE_COLOR) {\n CANVAS_STROKE_COLOR = window\n .getComputedStyle(document.documentElement)\n .getPropertyValue('--hms-ui-colors-border_bright');\n }\n}\n\nexport function resetPIPCanvasColors() {\n CANVAS_FILL_COLOR = '';\n CANVAS_STROKE_COLOR = '';\n}\n/**\n * no tile - blank canvas, black image\n * 1 tile - takes full space on canvas\n * 2 tile - stack two video adjacent to each other\n * 3 tile - two rows first row has two tile second row has one tile centered.\n * 4 tiles - two rows two columns - all equal size\n * All videos will respect their aspect ratios.\n */\nexport function drawVideoElementsOnCanvas(videoElements, canvas) {\n let videoTiles = videoElements.filter(videoElement => videoElement.srcObject !== null);\n\n const ctx = canvas.getContext('2d');\n setPIPCanvasColors();\n ctx.fillStyle = CANVAS_FILL_COLOR;\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n if (videoTiles.length === 0) {\n // no tile to render, render black image\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n return;\n }\n\n fillGridTiles(videoTiles.slice(0, 4), ctx, canvas);\n}\n\n// this is to send some data for stream and resolve video element's play for a\n// video element rendering this canvas' capture stream\nexport function dummyChangeInCanvas(canvas) {\n const ctx = canvas.getContext('2d');\n setPIPCanvasColors();\n ctx.fillStyle = CANVAS_FILL_COLOR;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n}\n\n/**\n * Imagine the canvas as a grid with passed in number of rows and columns. Go\n * over the tiles in the grid in order while drawing the videoElements upon them.\n */\nfunction fillGridTiles(videoElements, ctx, canvas) {\n const offset = 8;\n canvas.width = 480;\n canvas.height = 320;\n\n ctx.fillStyle = CANVAS_FILL_COLOR;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n // Show borders only when there is atleast one video\n if (videoElements.length > 0) {\n ctx.strokeStyle = CANVAS_STROKE_COLOR;\n ctx.lineWidth = offset / 2;\n ctx.strokeRect(0, 0, canvas.width, canvas.height);\n }\n\n if (videoElements.length === 1) {\n const video = videoElements[0];\n const { width, height } = getRenderDimensions(video, canvas.width - offset, canvas.height - offset);\n /**\n * The x and y offset are to center the video tile horizontally and vertically\n * width and height are the aspect ratio constrained video tile dimensions\n */\n const xOffset = (canvas.width - width) / 2;\n const yOffset = (canvas.height - height) / 2;\n ctx.drawImage(video, xOffset, yOffset, width, height);\n }\n\n if (videoElements.length === 2) {\n videoElements.forEach((video, index) => {\n const { width, height } = getRenderDimensions(\n video,\n canvas.width / 2 - offset, // This will be the max available width for each tile\n canvas.height - offset,\n );\n /**\n * (canvas.width / 2 - width) / 2 This is to center width wise within in the box\n * (canvas.width / 2) * index This is the start offset\n * for 1st element it is 0, for second it will be canvas.width/2 which starts from the center\n */\n const xOffset = (canvas.width / 2 - width) / 2 + (canvas.width / 2) * index;\n /**\n * (canvas.height - height) / 2 This is to center height wise\n */\n const yOffset = (canvas.height - height) / 2;\n\n ctx.drawImage(video, xOffset, yOffset, width, height);\n });\n /**\n * Draw a border between tiles\n */\n const path = new Path2D();\n path.moveTo(canvas.width / 2, 0);\n path.lineTo(canvas.width / 2, canvas.height);\n ctx.stroke(path);\n }\n\n if (videoElements.length === 3) {\n videoElements.forEach((video, index) => {\n const { width, height } = getRenderDimensions(video, canvas.width / 2 - offset, canvas.height / 2 - offset);\n /**\n * for first two tiles, xOffset is similar to the 2 tiles calculation with only difference being the height. it is half now.\n */\n const xOffset =\n index < 2 ? (canvas.width / 2 - width) / 2 + (canvas.width / 2) * index : canvas.width / 2 - width / 2;\n const yOffset = (index < 2 ? 0 : canvas.height / 2) + (canvas.height / 2 - height) / 2;\n\n ctx.drawImage(video, xOffset, yOffset, width, height);\n });\n /**\n * Draw borders between tiles\n */\n const path = new Path2D();\n path.moveTo(canvas.width / 2, 0);\n path.lineTo(canvas.width / 2, canvas.height / 2);\n ctx.stroke(path);\n path.moveTo(0, canvas.height / 2);\n path.lineTo(canvas.width, canvas.height / 2);\n ctx.stroke(path);\n }\n if (videoElements.length === 4) {\n videoElements.forEach((video, index) => {\n const { width, height } = getRenderDimensions(video, canvas.width / 2 - offset, canvas.height / 2 - offset);\n /**\n * Similar to two tiles repeat after 2 tiles\n * (canvas.width / 2 - width) / 2 is to center horizontally\n */\n const xOffset = (canvas.width / 2 - width) / 2 + (canvas.width / 2) * (index % 2);\n /**\n * Similar to two tiles with the yOffset being height/2 for the 3rd and 4th tiles\n * (canvas.height / 2 - height) / 2 is to center vertically\n */\n const yOffset = (index < 2 ? 0 : canvas.height / 2) + (canvas.height / 2 - height) / 2;\n\n ctx.drawImage(video, xOffset, yOffset, width, height);\n });\n /**\n * Draw borders between tiles\n */\n const path = new Path2D();\n path.moveTo(canvas.width / 2, 0);\n path.lineTo(canvas.width / 2, canvas.height);\n ctx.stroke(path);\n path.moveTo(0, canvas.height / 2);\n path.lineTo(canvas.width, canvas.height / 2);\n ctx.stroke(path);\n }\n}\n\n/**\n * Restrict the dimensions within the available dimension with aspect ratio\n * constraint applied\n * @param {HTMLVideoElement} video\n * @param {number} width\n * @param {number} height\n * @returns { width: number, height: number }\n */\nfunction getRenderDimensions(video, width, height) {\n let finalWidth = (video.videoWidth / video.videoHeight) * height;\n let finalHeight = height;\n\n if (finalWidth > width) {\n finalWidth = width;\n finalHeight = (video.videoHeight / video.videoWidth) * width;\n }\n return { width: finalWidth, height: finalHeight };\n}\n", "import * as workerTimers from 'worker-timers';\nimport { drawVideoElementsOnCanvas, dummyChangeInCanvas, resetPIPCanvasColors } from './pipUtils';\nimport { isIOS, isMacOS, isSafari } from '../../common/constants';\nconst MAX_NUMBER_OF_TILES_IN_PIP = 4;\nconst DEFAULT_FPS = 30;\nconst DEFAULT_CANVAS_WIDTH = 480;\nconst DEFAULT_CANVAS_HEIGHT = 320;\nconst LEAVE_EVENT_NAME = 'leavepictureinpicture';\n\nconst PIPStates = {\n starting: 'starting',\n started: 'started',\n stopping: 'stopping',\n stopped: 'stopped',\n};\n\n/**\n * video elements are stitched together as a canvas which is converted to\n * another video element converted to PIP.\n * The task is split into two parts -\n * 1. a function which gets hit when the input changes and updates the tracks\n * to show\n * 2. an independent loop which updates the canvas periodically based on the current\n * tracks which should be shown.\n */\nclass PipManager {\n listeners = new Set();\n constructor() {\n this.reset();\n }\n\n listenToStateChange(cb) {\n this.listeners.add(cb);\n }\n\n /**\n * @private\n */\n reset() {\n console.debug('resetting PIP state');\n resetPIPCanvasColors();\n this.canvas = null; // where stitching will take place\n this.pipVideo = null; // the element which will be sent in PIP\n this.timeoutRef = null; // setTimeout reference so it can be cancelled\n this.hmsActions = null; // for attaching detaching\n this.videoElements = []; // for attaching tracks\n this.tracksToShow = [];\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n this.onStateChange = () => {}; // for user of this class to listen to changes\n this.state = PIPStates.stopped;\n }\n\n /**\n * check if PIP is supported in this browser env\n */\n isSupported() {\n return !!document.pictureInPictureEnabled && !isIOS && !(isMacOS && isSafari);\n }\n\n /**\n * check if pip is currently turned on\n */\n isOn() {\n return !!document.pictureInPictureElement;\n }\n\n /**\n * request browser to start pip and start the render loop updating the pip\n * video element with peer tracks.\n * @param hmsActions\n * @param onStateChangeFn {function(bool):void} callback called to notify change in pip state\n */\n async start(hmsActions, onStateChangeFn) {\n if (!this.isSupported()) {\n throw new Error('pip is not supported on this browser');\n }\n console.debug('starting PIP, current state', this.state);\n if (this.state === PIPStates.started) {\n await this.stop(); // if anything is already running\n } else if (this.state === PIPStates.starting) {\n return; // ignore double clicks\n }\n this.state = PIPStates.starting;\n try {\n await this.init(hmsActions, onStateChangeFn);\n // when user closes pip, call internal stop\n this.pipVideo.addEventListener(LEAVE_EVENT_NAME, this.stop);\n this.renderLoop();\n if (!this.isOn()) {\n await this.requestPIP();\n }\n console.debug('pip started');\n this.state = PIPStates.started;\n this.onStateChange(true);\n this.callListeners(true);\n } catch (err) {\n console.error('error in request pip', err);\n this.state = PIPStates.stopped;\n }\n }\n\n stop = async () => {\n if (this.state === PIPStates.stopped) {\n return;\n }\n this.state = PIPStates.stopping;\n this.pipVideo?.removeEventListener(LEAVE_EVENT_NAME, this.stop);\n if (this.timeoutRef) {\n workerTimers.clearTimeout(this.timeoutRef);\n this.timeoutRef = null;\n }\n if (this.isOn()) {\n this.exitPIP();\n }\n // detach all to avoid bandwidth consumption\n await this.detachOldAttachNewTracks(this.tracksToShow, []);\n this.onStateChange(false); // notify parent about this\n this.callListeners(false);\n this.reset(); // cleanup\n this.state = PIPStates.stopped;\n };\n\n /**\n * @param peers {Array} All Remote Peers present in call.\n * @param tracksMap {Object} map of track id to track\n * */\n async updatePeersAndTracks(peers, tracksMap) {\n if (!this.canvas) {\n return;\n }\n const newTracksToShowUnordered = this.pickTracksToShow(peers, tracksMap);\n const currentTracksShowing = this.tracksToShow;\n this.tracksToShow = this.orderNewTracksToShow(newTracksToShowUnordered, currentTracksShowing);\n try {\n await this.detachOldAttachNewTracks(currentTracksShowing, this.tracksToShow, tracksMap);\n } catch (error) {\n console.error('error in detaching/attaching tracks', error);\n }\n }\n\n // ------- Private function --------------\n /**\n * @private {boolean} on - whether pip is on/off\n */\n callListeners = on => {\n this.listeners.forEach(listener => listener?.(on));\n };\n\n /**\n * @private\n */\n async init(hmsActions, onStateChangeFn) {\n await this.initMediaElements();\n this.hmsActions = hmsActions;\n this.onStateChange = onStateChangeFn;\n }\n\n async initMediaElements() {\n if (!this.canvas) {\n const { canvas, pipVideo } = this.initializeCanvasAndVideoElement();\n this.canvas = canvas; // where stitching will take place\n this.pipVideo = pipVideo; // the element which will be sent in PIP\n this.videoElements = this.initializeVideoElements(); // for attaching tracks\n const videoPlayPromise = this.pipVideo.play();\n dummyChangeInCanvas(this.canvas);\n await videoPlayPromise;\n }\n }\n\n initializeCanvasAndVideoElement() {\n const canvas = document.createElement('canvas');\n canvas.width = DEFAULT_CANVAS_WIDTH;\n canvas.height = DEFAULT_CANVAS_HEIGHT;\n const pipVideo = document.createElement('video');\n pipVideo.width = DEFAULT_CANVAS_WIDTH;\n pipVideo.height = DEFAULT_CANVAS_HEIGHT;\n pipVideo.muted = true;\n pipVideo.srcObject = canvas.captureStream();\n return { canvas, pipVideo };\n }\n\n initializeVideoElements() {\n let videoElements = [];\n for (let i = 0; i < MAX_NUMBER_OF_TILES_IN_PIP; i++) {\n const videoElement = document.createElement('video');\n videoElement.autoplay = true;\n videoElement.playsinline = true;\n videoElements.push(videoElement);\n }\n return videoElements;\n }\n\n /**\n * render loop is responsible for rendering the video elements on canvas/pip.\n * in each loop current video elements are stitched and painted on canvas\n */\n renderLoop() {\n const delay = 1000 / DEFAULT_FPS;\n this.timeoutRef = workerTimers.setTimeout(() => {\n if (this.state === PIPStates.stopping || this.state === PIPStates.stopped) {\n return;\n }\n if (this.state === PIPStates.started) {\n drawVideoElementsOnCanvas(this.videoElements, this.canvas);\n }\n this.renderLoop();\n }, delay);\n }\n\n async requestPIP() {\n try {\n if (this.isOn()) {\n this.exitPIP(); // is this really needed?\n }\n await this.pipVideo.requestPictureInPicture();\n } catch (error) {\n console.error('error in requestpip', error, 'state', this.state);\n throw error;\n }\n }\n\n exitPIP() {\n document.exitPictureInPicture();\n }\n\n /**\n * Logic - pick only enabled video tracks\n * @param peers {Array<any>}\n * @param tracksMap {Record<string, any>}\n */\n pickTracksToShow(peers, tracksMap) {\n const tracksToShow = [];\n for (const peer of peers) {\n if (tracksToShow.length === MAX_NUMBER_OF_TILES_IN_PIP) {\n break;\n } else if (peer.videoTrack && tracksMap[peer.videoTrack]?.enabled) {\n tracksToShow.push(peer.videoTrack);\n }\n }\n return tracksToShow;\n }\n\n /**\n * there has to be a smart reordering of new tracks based on currently showing\n * ones to reduce unnecessary displacement. If someone was showing up both\n * earlier and now, it's a better UX to keep their position same instead\n * of letting it change.\n * The returned array is a shuffled version of newTracks with position of\n * tracks present in the old tracks intact.\n * eg. old = [1,5,9,3], new = [3,8,2,9], result = [8,2,9,3]\n * @param oldTracks {Array}\n * @param newTracks {Array}\n * @return {Array}\n */\n orderNewTracksToShow(newTracks, oldTracks) {\n const betterNewTracks = [];\n const leftOvers = [];\n // put the common ones in right position\n newTracks.forEach(track => {\n const oldPosition = oldTracks.indexOf(track);\n if (oldPosition !== -1 && oldPosition < newTracks.length) {\n // if track is there currently and we can put it on the same position\n betterNewTracks[oldPosition] = track;\n } else {\n leftOvers.push(track);\n }\n });\n // put the left overs in remaining empty positions\n for (let i = 0; i < newTracks.length; i++) {\n if (!betterNewTracks[i]) {\n betterNewTracks[i] = leftOvers.shift();\n }\n }\n return betterNewTracks;\n }\n\n /**\n * call detach for tracks which no longer need to be shown and attach for\n * new ones which are to be shown now.\n * Note: oldTracks and newTracks are not necessarily of same length\n * @param oldTracks {Array<String>}\n * @param newTracks {Array<String>}\n * @param tracksMap {Record<String, any>}\n */\n // eslint-disable-next-line complexity\n async detachOldAttachNewTracks(oldTracks, newTracks, tracksMap = null) {\n const numTracks = Math.max(oldTracks.length, newTracks.length);\n for (let i = 0; i < numTracks; i++) {\n if (oldTracks[i] === newTracks[i]) {\n continue; // it would already have been attached previously\n } else if (oldTracks[i]) {\n // old track is there but not equal to new track, detach\n // no need to call detach if we know for sure track is no longer in store\n if (!tracksMap || tracksMap[oldTracks[i]]) {\n await this.hmsActions.detachVideo(oldTracks[i], this.videoElements[i]);\n }\n if (this.videoElements[i]) {\n // even if old track got removed from the room, element needs to be cleaned up\n this.videoElements[i].srcObject = null;\n }\n }\n if (newTracks[i]) {\n await this.hmsActions.attachVideo(newTracks[i], this.videoElements[i]);\n }\n }\n }\n}\n\nexport const PictureInPicture = new PipManager();\n// PictureInPicture.initMediaElements().catch(console.error); // for safari, init early\n", "import { selectIsLocalAudioEnabled, selectIsLocalVideoEnabled } from '@100mslive/react-sdk';\n\n/**\n * Media Session API allows for handling control actions on top of pip\n * https://web.dev/media-session/#video-conferencing-actions\n */\nclass SetupMediaSession {\n setup = (actions, store) => {\n this.actions = actions;\n this.store = store;\n this.initState();\n this.setUpHandlers();\n };\n\n initState = () => {\n const isMicActive = this.store.getState(selectIsLocalAudioEnabled);\n const isCamActive = this.store.getState(selectIsLocalVideoEnabled);\n navigator.mediaSession?.setMicrophoneActive?.(isMicActive);\n navigator.mediaSession?.setCameraActive?.(isCamActive);\n\n this.store.subscribe(isMicActive => {\n navigator.mediaSession?.setMicrophoneActive?.(isMicActive);\n }, selectIsLocalAudioEnabled);\n\n this.store.subscribe(isCamActive => {\n navigator.mediaSession?.setCameraActive?.(isCamActive);\n }, selectIsLocalVideoEnabled);\n };\n\n toggleMic = async () => {\n console.log('toggle mic clicked in pip');\n const current = this.store.getState(selectIsLocalAudioEnabled);\n await this.actions.setLocalAudioEnabled(!current);\n };\n\n toggleCam = async () => {\n console.log('toggle cam clicked in pip');\n const current = this.store.getState(selectIsLocalVideoEnabled);\n await this.actions.setLocalVideoEnabled(!current);\n };\n\n leave = () => {\n console.log('leave called from pip');\n this.actions.leave();\n };\n\n setUpHandlers = () => {\n if (navigator.mediaSession) {\n try {\n navigator.mediaSession.setActionHandler('togglemicrophone', this.toggleMic);\n navigator.mediaSession.setActionHandler('togglecamera', this.toggleCam);\n navigator.mediaSession.setActionHandler('hangup', this.leave);\n } catch (err) {\n console.error('error in setting media session handlers', err);\n }\n }\n };\n}\n\nexport const MediaSession = new SetupMediaSession();\n", "import React, { useCallback, useEffect, useState } from 'react';\nimport { selectPeers, selectTracksMap, useHMSActions, useHMSStore, useHMSVanillaStore } from '@100mslive/react-sdk';\nimport { PipIcon } from '@100mslive/react-icons';\nimport { Flex, Tooltip } from '../../../';\nimport IconButton from '../../IconButton';\nimport { PictureInPicture } from './PIPManager';\nimport { MediaSession } from './SetupMediaSession';\nimport { usePinnedTrack } from '../AppData/useUISettings';\n\n/**\n * shows a button which when clicked shows some videos in PIP, clicking\n * again turns it off.\n */\nconst PIPComponent = ({ content = null }) => {\n const [isPipOn, setIsPipOn] = useState(PictureInPicture.isOn());\n const hmsActions = useHMSActions();\n const store = useHMSVanillaStore();\n\n const onPipToggle = useCallback(() => {\n if (!isPipOn) {\n PictureInPicture.start(hmsActions, setIsPipOn).catch(err => console.error('error in starting pip', err));\n MediaSession.setup(hmsActions, store);\n } else {\n PictureInPicture.stop().catch(err => console.error('error in stopping pip', err));\n }\n }, [hmsActions, isPipOn, store]);\n\n if (!PictureInPicture.isSupported()) {\n return null;\n }\n return (\n <>\n {content ? (\n <Flex css={{ w: '100%' }} onClick={() => onPipToggle()} data-testid=\"pip_btn\">\n {content}\n </Flex>\n ) : (\n <Tooltip title={`${isPipOn ? 'Deactivate' : 'Activate'} picture in picture view`}>\n <IconButton active={!isPipOn} key=\"pip\" onClick={() => onPipToggle()} data-testid=\"pip_btn\">\n <PipIcon />\n </IconButton>\n </Tooltip>\n )}\n </>\n );\n};\n\n/**\n * this is a separate component so it can be conditionally rendered and\n * the subscriptions to store are done only if required.\n */\nexport const ActivatedPIP = () => {\n const tracksMap = useHMSStore(selectTracksMap);\n const storePeers = useHMSStore(selectPeers);\n const pinnedTrack = usePinnedTrack();\n\n useEffect(() => {\n function updatePIP() {\n if (!PictureInPicture.isOn()) {\n return;\n }\n let pipPeers = storePeers;\n if (pinnedTrack) {\n pipPeers = storePeers.filter(peer => pinnedTrack.peerId === peer.id);\n }\n PictureInPicture.updatePeersAndTracks(pipPeers, tracksMap).catch(err => {\n console.error('error in updating pip', err);\n });\n }\n PictureInPicture.listenToStateChange(updatePIP);\n updatePIP();\n }, [storePeers, tracksMap, pinnedTrack]);\n\n return <></>;\n};\n\nexport default PIPComponent;\n", "import React from 'react';\nimport PIPComponent from './PIPComponent';\n\nexport const PIP = ({ content = null }) => {\n return <PIPComponent content={content} />;\n};\n", "export const useDropdownSelection = () => {\n return '$surface_bright';\n};\n", "import type { Layout } from '@100mslive/types-prebuilt';\nimport { JoinForm_JoinBtnType } from '@100mslive/types-prebuilt/elements/join_form';\n\nexport const defaultLayout: Layout = {\n id: '',\n role_id: '',\n template_id: '',\n app_id: '',\n typography: {\n font_family: 'Inter',\n },\n themes: [],\n options: {},\n screens: {\n preview: {\n default: {\n elements: {\n preview_header: {\n title: 'Get Started',\n sub_title: 'Setup your audio and video before joining',\n },\n join_form: {\n join_btn_type: JoinForm_JoinBtnType.JOIN_BTN_TYPE_JOIN_ONLY,\n join_btn_label: 'Join Now',\n go_live_btn_label: 'Go Live',\n },\n },\n },\n },\n conferencing: {\n default: {\n elements: {\n chat: {},\n participant_list: {},\n video_tile_layout: {\n grid: {\n enable_local_tile_inset: true,\n prominent_roles: [],\n enable_spotlighting_peer: true,\n },\n },\n emoji_reactions: {},\n },\n },\n },\n leave: {},\n },\n};\n", "import { useCallback, useEffect, useRef, useState } from 'react';\nimport type { GetResponse, Layout } from '@100mslive/types-prebuilt';\nimport { defaultLayout } from '../constants';\n\n// TODO: remove this usage\nconst fetchWithRetry = async (url = '', options = {}) => {\n const MAX_RETRIES = 4;\n let error = Error('something went wrong');\n for (let i = 0; i < MAX_RETRIES; i++) {\n try {\n return await fetch(url, options);\n } catch (err) {\n error = err as Error;\n }\n }\n console.error('Fetch failed after max retries', { url, options });\n throw error;\n};\n\n// this should take endpoint and return\nexport type useFetchRoomLayoutProps = {\n endpoint?: string;\n authToken: string;\n};\n\nexport type useFetchRoomLayoutResponse = {\n layout: Layout | undefined;\n updateRoomLayoutForRole: (role: string) => void;\n};\n\nexport const useFetchRoomLayout = ({\n endpoint = '',\n authToken = '',\n}: useFetchRoomLayoutProps): useFetchRoomLayoutResponse => {\n const [layout, setLayout] = useState<Layout | undefined>(undefined);\n const layoutResp = useRef<GetResponse>();\n const isFetchInProgress = useRef(false);\n const updateRoomLayoutForRole = useCallback((role: string) => {\n if (!layoutResp.current) {\n return;\n }\n const [layout] = (layoutResp.current?.data || []).filter(layout => layout.role === role);\n if (layout) {\n setLayout(layout);\n }\n }, []);\n useEffect(() => {\n (async () => {\n if (isFetchInProgress.current || !authToken) {\n return;\n }\n isFetchInProgress.current = true;\n try {\n const resp = await fetchWithRetry(endpoint || 'https://api.100ms.live/v2/layouts/ui', {\n headers: {\n Authorization: `Bearer ${authToken}`,\n },\n });\n layoutResp.current = await resp.json();\n } catch (e) {\n console.error('[Room Layout API]: Failed to fetch / process room layout. Resorting to default layout.', e);\n layoutResp.current = {\n data: [defaultLayout],\n };\n }\n let layoutForRole = layoutResp.current?.data?.[0];\n if (!layoutForRole) {\n console.error(\n '[Room Layout API]: Unable to figure out room layout from API response. Resorting to default layout.',\n );\n layoutForRole = defaultLayout;\n }\n const layout = layoutForRole;\n setLayout(layout);\n isFetchInProgress.current = false;\n })();\n }, [authToken, endpoint]);\n\n return { layout, updateRoomLayoutForRole };\n};\n", "import React from 'react';\nimport type { Layout } from '@100mslive/types-prebuilt';\nimport merge from 'lodash.merge';\n// @ts-ignore: fix types\nimport { useAuthToken } from '../../components/AppData/useUISettings';\nimport { useFetchRoomLayout, useFetchRoomLayoutResponse } from './hooks/useFetchRoomLayout';\n\nexport type RoomLayoutProviderProps = {\n roomLayoutEndpoint?: string;\n overrideLayout?: Partial<Layout>;\n};\n\nexport const RoomLayoutContext = React.createContext<\n | {\n layout: Layout | undefined;\n updateRoomLayoutForRole: useFetchRoomLayoutResponse['updateRoomLayoutForRole'] | undefined;\n }\n | undefined\n>(undefined);\n\nexport const RoomLayoutProvider: React.FC<React.PropsWithChildren<RoomLayoutProviderProps>> = ({\n children,\n roomLayoutEndpoint,\n overrideLayout,\n}) => {\n const authToken: string = useAuthToken();\n const { layout, updateRoomLayoutForRole } = useFetchRoomLayout({ authToken, endpoint: roomLayoutEndpoint });\n const mergedLayout = authToken && layout ? merge(layout, overrideLayout) : layout;\n return (\n <RoomLayoutContext.Provider value={{ layout: mergedLayout, updateRoomLayoutForRole }}>\n {children}\n </RoomLayoutContext.Provider>\n );\n};\n\nexport const useRoomLayout = () => React.useContext(RoomLayoutContext)?.layout;\nexport const useUpdateRoomLayout = () => React.useContext(RoomLayoutContext)?.updateRoomLayoutForRole;\n", "// @ts-check\nimport { useEffect, useRef, useState } from 'react';\nimport { JoinForm_JoinBtnType } from '@100mslive/types-prebuilt/elements/join_form';\nimport {\n selectAvailableRoleNames,\n selectIsConnectedToRoom,\n selectPeerCount,\n selectPeerMetadata,\n selectPeers,\n selectRemotePeers,\n useHMSStore,\n useHMSVanillaStore,\n} from '@100mslive/react-sdk';\nimport { useRoomLayout } from '../provider/roomLayoutProvider';\n\n/**\n * Hook to execute a callback when alone in room(after a certain 5d of time)\n * @param {number} thresholdMs The threshold(in ms) after which the callback is executed,\n * starting from the instant when alone in room.\n * note: the cb is not called when another peer joins during this period.\n */\nexport const useWhenAloneInRoom = (thresholdMs = 5 * 60 * 1000) => {\n const isConnected = useHMSStore(selectIsConnectedToRoom);\n const peerCount = useHMSStore(selectPeerCount);\n const [aloneForLong, setAloneForLong] = useState(false);\n const cbTimeout = useRef(null);\n const alone = isConnected && peerCount === 1;\n\n useEffect(() => {\n if (alone && !cbTimeout.current) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n cbTimeout.current = setTimeout(() => {\n setAloneForLong(true);\n }, thresholdMs);\n } else if (!alone) {\n cbTimeout.current && clearTimeout(cbTimeout.current);\n cbTimeout.current = null;\n setAloneForLong(false);\n }\n }, [alone, thresholdMs]);\n\n useEffect(() => {\n return () => {\n if (cbTimeout.current) {\n clearTimeout(cbTimeout.current);\n }\n };\n }, []);\n\n return { alone, aloneForLong };\n};\n\nexport const useFilteredRoles = () => {\n const roles = useHMSStore(selectAvailableRoleNames);\n return roles;\n};\n\nexport const useShowStreamingUI = () => {\n const layout = useRoomLayout();\n const { join_form } = layout?.screens?.preview?.default?.elements || {};\n return join_form?.join_btn_type === JoinForm_JoinBtnType.JOIN_BTN_TYPE_JOIN_AND_GO_LIVE;\n};\n\n// The search results should not have role name matches\nexport const useParticipants = params => {\n const isConnected = useHMSStore(selectIsConnectedToRoom);\n const peerCount = useHMSStore(selectPeerCount);\n const availableRoles = useHMSStore(selectAvailableRoleNames);\n let participantList = useHMSStore(isConnected ? selectPeers : selectRemotePeers);\n const rolesWithParticipants = Array.from(new Set(participantList.map(peer => peer.roleName)));\n const vanillaStore = useHMSVanillaStore();\n if (params?.metadata?.isHandRaised) {\n participantList = participantList.filter(peer => {\n return vanillaStore.getState(selectPeerMetadata(peer.id)).isHandRaised;\n });\n }\n if (params?.role && availableRoles.includes(params.role)) {\n participantList = participantList.filter(peer => peer.roleName === params.role);\n }\n if (params?.search) {\n const search = params.search;\n // Removed peer.roleName?.toLowerCase().includes(search)\n participantList = participantList.filter(peer => peer.name.toLowerCase().includes(search));\n }\n return { participants: participantList, isConnected, peerCount, rolesWithParticipants };\n};\n", "import React, { forwardRef, useRef, useState } from 'react';\nimport { selectPeerByID, useHMSActions, useHMSStore } from '@100mslive/react-sdk';\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from '@100mslive/react-icons';\nimport { Button } from '../../Button';\nimport { Checkbox } from '../../Checkbox';\nimport { Dropdown } from '../../Dropdown';\nimport { Label } from '../../Label';\nimport { Box, Flex } from '../../Layout';\nimport { Dialog } from '../../Modal';\nimport { Text } from '../../Text';\nimport { Tooltip } from '../../Tooltip';\nimport { useDropdownSelection } from './hooks/useDropdownSelection';\nimport { useFilteredRoles } from '../common/hooks';\nimport { textEllipsis } from '../../utils';\n\nconst PeerName = forwardRef(({ children, maxWidth, ...rest }, ref) => (\n <Text\n {...rest}\n ref={ref}\n as=\"strong\"\n variant=\"body2\"\n css={{\n ...textEllipsis(maxWidth),\n display: 'inline-block',\n fontWeight: '$semiBold',\n c: 'inherit',\n }}\n >\n {children}\n </Text>\n));\n\nexport const RoleChangeModal = ({ peerId, onOpenChange }) => {\n const peer = useHMSStore(selectPeerByID(peerId));\n const roles = useFilteredRoles();\n const [selectedRole, setRole] = useState(peer?.roleName);\n const [requestPermission, setRequestPermission] = useState(true);\n const hmsActions = useHMSActions();\n const [open, setOpen] = useState(false);\n const selectionBg = useDropdownSelection();\n const [peerNameRef, setPeerNameRef] = useState();\n const ref = useRef();\n if (!peer) {\n return null;\n }\n\n const peerNameMaxWidth = 200;\n return (\n <Dialog.Root defaultOpen onOpenChange={onOpenChange}>\n <Dialog.Portal>\n <Dialog.Overlay />\n <Dialog.Content css={{ width: 'min(400px,80%)', p: '$10' }}>\n <Dialog.Title css={{ p: 0 }} asChild>\n <Text as=\"h6\" variant=\"h6\">\n Change Role\n </Text>\n </Dialog.Title>\n <Dialog.Description asChild>\n <Text\n variant=\"body2\"\n css={{\n mt: '$4',\n mb: '$8',\n c: '$on_surface_medium',\n display: 'flex',\n flexWrap: 'wrap',\n columnGap: '4px',\n }}\n >\n Change the role of\n {peerNameRef && peerNameRef.clientWidth === peerNameMaxWidth ? (\n <Tooltip title={peer.name} side=\"top\">\n <PeerName ref={setPeerNameRef} maxWidth={peerNameMaxWidth}>\n {peer.name}\n </PeerName>\n </Tooltip>\n ) : (\n <PeerName ref={setPeerNameRef} maxWidth={peerNameMaxWidth}>\n {peer.name}\n </PeerName>\n )}\n to\n </Text>\n </Dialog.Description>\n <Flex\n align=\"center\"\n css={{\n w: '100%',\n mb: '$10',\n }}\n >\n <Box\n css={{\n position: 'relative',\n flex: '1 1 0',\n minWidth: 0,\n }}\n >\n <Dropdown.Root open={open} onOpenChange={setOpen} css={{ width: '100%' }}>\n <Dropdown.Trigger\n data-testid=\"open_role_selection_dropdown\"\n asChild\n css={{\n border: '1px solid $border_bright',\n bg: '$surface_bright',\n r: '$1',\n p: '$6 $9',\n }}\n ref={ref}\n >\n <Flex align=\"center\" justify=\"between\" css={{ width: '100%' }}>\n <Text>{selectedRole}</Text>\n {open ? <ChevronUpIcon /> : <ChevronDownIcon />}\n </Flex>\n </Dropdown.Trigger>\n <Dropdown.Portal>\n <Dropdown.Content\n align=\"start\"\n sideOffset={8}\n css={{ zIndex: 1000, width: ref.current?.clientWidth }}\n >\n {roles.map(role => {\n return (\n <Dropdown.Item\n data-testid={role}\n key={role}\n onSelect={() => setRole(role)}\n css={{\n px: '$9',\n bg: role === selectedRole ? selectionBg : undefined,\n }}\n >\n {role}\n </Dropdown.Item>\n );\n })}\n </Dropdown.Content>\n </Dropdown.Portal>\n </Dropdown.Root>\n </Box>\n </Flex>\n {!peer.isLocal && (\n <Flex justify=\"between\" css={{ w: '100%', mb: '$10' }}>\n <Label htmlFor=\"requestRoleChangePermission\" css={{ cursor: 'pointer' }}>\n Request Permission\n </Label>\n <Checkbox.Root\n checked={requestPermission}\n onCheckedChange={value => setRequestPermission(value)}\n id=\"requestRoleChangePermission\"\n data-testid=\"force_role_change_checkbox\"\n >\n <Checkbox.Indicator>\n <CheckIcon width={16} height={16} />\n </Checkbox.Indicator>\n </Checkbox.Root>\n </Flex>\n )}\n <Flex justify=\"center\" align=\"center\" css={{ width: '100%', gap: '$md' }}>\n <Box css={{ width: '50%' }}>\n <Dialog.Close css={{ width: '100%', p: '$4 $8' }} asChild>\n <Button variant=\"standard\" outlined css={{ width: '100%' }} data-testid=\"cancel_button\">\n Cancel\n </Button>\n </Dialog.Close>\n </Box>\n <Box css={{ width: '50%' }}>\n <Button\n data-testid=\"change_button\"\n variant=\"primary\"\n css={{ width: '100%' }}\n onClick={async () => {\n await hmsActions.changeRole(peerId, selectedRole, peer.isLocal ? true : !requestPermission);\n onOpenChange(false);\n }}\n >\n Change\n </Button>\n </Box>\n </Flex>\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n );\n};\n", "import React from 'react';\nimport { ChevronDownIcon, ChevronUpIcon } from '@100mslive/react-icons';\nimport { Dropdown, Flex, Text, textEllipsis } from '../../index';\n\nconst DialogDropdownTrigger = React.forwardRef(({ title, css, open, icon, titleCSS = {} }, ref) => {\n return (\n <Dropdown.Trigger\n asChild\n data-testid={`${title}_selector`}\n css={{\n border: '1px solid $border_bright',\n bg: '$surface_bright',\n r: '$1',\n p: '$6 $9',\n zIndex: 10,\n ...css,\n }}\n ref={ref}\n >\n <Flex\n css={{\n display: 'flex',\n justifyContent: 'space-between',\n color: '$on_surface_high',\n w: '100%',\n }}\n >\n {icon}\n <Text\n css={{\n color: 'inherit',\n ...textEllipsis('90%'),\n flex: '1 1 0',\n mx: icon ? '$6' : '0',\n ...titleCSS,\n }}\n >\n {title}\n </Text>\n {open ? <ChevronUpIcon /> : <ChevronDownIcon />}\n </Flex>\n </Dropdown.Trigger>\n );\n});\n\nexport { DialogDropdownTrigger };\n", "import React, { Fragment, useEffect, useRef, useState } from 'react';\nimport {\n DeviceType,\n selectIsLocalVideoEnabled,\n selectLocalVideoTrackID,\n selectVideoTrackByID,\n useDevices,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport { MicOnIcon, SpeakerIcon, VideoOnIcon } from '@100mslive/react-icons';\nimport { Box, Button, Dropdown, Flex, StyledVideoTile, Text, Video } from '../../../';\nimport { DialogDropdownTrigger } from '../../primitives/DropdownTrigger';\nimport { useUISettings } from '../AppData/useUISettings';\nimport { useDropdownSelection } from '../hooks/useDropdownSelection';\nimport { settingOverflow } from './common.js';\nimport { UI_SETTINGS } from '../../common/constants';\n\n/**\n * wrap the button on click of whom settings should open, this component will take care of the rest,\n * it'll give the user options to change input/output device as well as check speaker.\n * There is also another controlled way of using this by passing in open and onOpenChange.\n */\nconst Settings = ({ setHide }) => {\n const { allDevices, selectedDeviceIDs, updateDevice } = useDevices();\n const { videoInput, audioInput, audioOutput } = allDevices;\n const videoTrackId = useHMSStore(selectLocalVideoTrackID);\n const isVideoOn = useHMSStore(selectIsLocalVideoEnabled);\n // don't show speaker selector where the API is not supported, and use\n // a generic word(\"Audio\") for Mic. In some cases(Chrome Android for e.g.) this changes both mic and speaker keeping them in sync.\n const shouldShowAudioOutput = 'setSinkId' in HTMLMediaElement.prototype;\n const mirrorLocalVideo = useUISettings(UI_SETTINGS.mirrorLocalVideo);\n const trackSelector = selectVideoTrackByID(videoTrackId);\n const track = useHMSStore(trackSelector);\n\n /**\n * Chromium browsers return an audioOutput with empty label when no permissions are given\n */\n const audioOutputFiltered = audioOutput?.filter(item => !!item.label) ?? [];\n\n if (!videoInput?.length && !audioInput?.length && !audioOutputFiltered?.length) {\n setHide(true);\n }\n\n return (\n <Box className={settingOverflow()}>\n {videoInput?.length ? (\n <Fragment>\n {isVideoOn && (\n <StyledVideoTile.Container\n css={{\n w: '90%',\n px: '$10',\n height: '$48',\n bg: 'transparent',\n m: '$10 auto',\n }}\n >\n <Video trackId={videoTrackId} mirror={track?.facingMode !== 'environment' && mirrorLocalVideo} />\n </StyledVideoTile.Container>\n )}\n <DeviceSelector\n title=\"Video\"\n devices={videoInput}\n icon={<VideoOnIcon />}\n selection={selectedDeviceIDs.videoInput}\n onChange={deviceId =>\n updateDevice({\n deviceId,\n deviceType: DeviceType.videoInput,\n })\n }\n />\n </Fragment>\n ) : null}\n\n {audioInput?.length ? (\n <DeviceSelector\n title={shouldShowAudioOutput ? 'Microphone' : 'Audio'}\n icon={<MicOnIcon />}\n devices={audioInput}\n selection={selectedDeviceIDs.audioInput}\n onChange={deviceId =>\n updateDevice({\n deviceId,\n deviceType: DeviceType.audioInput,\n })\n }\n />\n ) : null}\n\n {audioOutputFiltered?.length && shouldShowAudioOutput ? (\n <DeviceSelector\n title=\"Speaker\"\n icon={<SpeakerIcon />}\n devices={audioOutput}\n selection={selectedDeviceIDs.audioOutput}\n onChange={deviceId =>\n updateDevice({\n deviceId,\n deviceType: DeviceType.audioOutput,\n })\n }\n >\n <TestAudio id={selectedDeviceIDs.audioOutput} />\n </DeviceSelector>\n ) : null}\n </Box>\n );\n};\n\nconst DeviceSelector = ({ title, devices, selection, onChange, icon, children = null }) => {\n const [open, setOpen] = useState(false);\n const selectionBg = useDropdownSelection();\n const ref = useRef(null);\n\n return (\n <Box css={{ mb: '$10' }}>\n <Text css={{ mb: '$4' }}>{title}</Text>\n <Flex\n align=\"center\"\n css={{\n gap: '$4',\n '@md': {\n flexDirection: children ? 'column' : 'row',\n alignItems: children ? 'start' : 'center',\n },\n }}\n >\n <Box\n css={{\n position: 'relative',\n flex: '1 1 0',\n minWidth: 0,\n w: '100%',\n maxWidth: '100%',\n '@md': {\n mb: children ? '$8' : 0,\n },\n }}\n >\n <Dropdown.Root open={open} onOpenChange={setOpen}>\n <DialogDropdownTrigger\n ref={ref}\n icon={icon}\n title={devices.find(({ deviceId }) => deviceId === selection)?.label || 'Select device from list'}\n open={open}\n />\n <Dropdown.Portal>\n <Dropdown.Content align=\"start\" sideOffset={8} css={{ w: ref.current?.clientWidth, zIndex: 1001 }}>\n {devices.map(device => {\n return (\n <Dropdown.Item\n key={device.label}\n onSelect={() => onChange(device.deviceId)}\n css={{\n px: '$9',\n bg: device.deviceId === selection ? selectionBg : undefined,\n }}\n >\n {device.label}\n </Dropdown.Item>\n );\n })}\n </Dropdown.Content>\n </Dropdown.Portal>\n </Dropdown.Root>\n </Box>\n {children}\n </Flex>\n </Box>\n );\n};\n\nconst TEST_AUDIO_URL = 'https://100ms.live/test-audio.wav';\n\nconst TestAudio = ({ id }) => {\n const audioRef = useRef(null);\n const [playing, setPlaying] = useState(false);\n useEffect(() => {\n if (audioRef.current && id) {\n try {\n if (typeof audioRef.current.setSinkId !== 'undefined') {\n audioRef.current.setSinkId(id);\n }\n } catch (error) {\n console.log(error);\n }\n }\n }, [id]);\n return (\n <>\n <Button\n variant=\"standard\"\n css={{\n flexShrink: 0,\n p: '$6 $9',\n '@md': {\n w: '100%',\n },\n }}\n onClick={() => audioRef.current?.play()}\n disabled={playing}\n >\n <SpeakerIcon />\n Test{' '}\n <Text as=\"span\" css={{ display: 'none', '@md': { display: 'inline' } }}>\n speaker\n </Text>\n </Button>\n <audio ref={audioRef} src={TEST_AUDIO_URL} onEnded={() => setPlaying(false)} onPlay={() => setPlaying(true)} />\n </>\n );\n};\n\nexport default Settings;\n", "import React from 'react';\nimport { Label } from '../../../Label';\nimport { Flex } from '../../../Layout';\nimport { Switch } from '../../../Switch';\n\nconst SwitchWithLabel = ({ label, icon, id, onChange, checked, hide = false }) => {\n return (\n <Flex\n align=\"center\"\n css={{\n my: '$2',\n py: '$8',\n w: '100%',\n borderBottom: '1px solid $border_default',\n display: hide ? 'none' : 'flex',\n }}\n >\n <Label\n htmlFor={id}\n css={{\n fontSize: '$md',\n fontWeight: '$semiBold',\n color: checked ? '$on_surface_high' : '$on_surface_low',\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n gap: '$8',\n flex: '1 1 0',\n }}\n >\n {icon}\n {label}\n </Label>\n <Switch id={id} checked={checked} onCheckedChange={onChange} />\n </Flex>\n );\n};\n\nexport default SwitchWithLabel;\n", "import React, { useCallback } from 'react';\nimport { selectIsLocalScreenShared, selectIsLocalVideoEnabled, useHMSActions, useHMSStore } from '@100mslive/react-sdk';\nimport { Box, Flex, Slider, Text } from '../../../';\nimport SwitchWithLabel from './SwitchWithLabel';\nimport { useSetUiSettings } from '../AppData/useUISettings';\nimport { settingOverflow } from './common.js';\nimport { UI_SETTINGS } from '../../common/constants';\n\nexport const LayoutSettings = () => {\n const hmsActions = useHMSActions();\n const isLocalVideoEnabled = useHMSStore(selectIsLocalVideoEnabled);\n const isLocalScreenShared = useHMSStore(selectIsLocalScreenShared);\n const [{ isAudioOnly, maxTileCount, mirrorLocalVideo }, setUISettings] = useSetUiSettings();\n const toggleIsAudioOnly = useCallback(\n async isAudioOnlyModeOn => {\n if (isAudioOnlyModeOn) {\n // turn off video and screen share if user switches to audio only mode\n isLocalVideoEnabled && (await hmsActions.setLocalVideoEnabled(false));\n isLocalScreenShared && (await hmsActions.setScreenShareEnabled(false));\n }\n setUISettings({ [UI_SETTINGS.isAudioOnly]: isAudioOnlyModeOn });\n },\n [hmsActions, isLocalVideoEnabled, isLocalScreenShared, setUISettings],\n );\n\n return (\n <Box className={settingOverflow()}>\n <SwitchWithLabel label=\"Audio Only Mode\" id=\"audioOnlyMode\" checked={isAudioOnly} onChange={toggleIsAudioOnly} />\n <SwitchWithLabel\n label=\"Mirror Local Video\"\n id=\"mirrorMode\"\n checked={mirrorLocalVideo}\n onChange={value => {\n setUISettings({\n [UI_SETTINGS.mirrorLocalVideo]: value,\n });\n }}\n />\n <Flex align=\"center\" css={{ w: '100%', my: '$2', py: '$8', '@md': { display: 'none' } }}>\n <Text variant=\"md\" css={{ fontWeight: '$semiBold' }}>\n Tiles In View({maxTileCount})\n </Text>\n <Flex justify=\"end\" css={{ flex: '1 1 0' }}>\n <Slider\n step={1}\n value={[maxTileCount]}\n min={1}\n max={49}\n onValueChange={e => {\n setUISettings({ [UI_SETTINGS.maxTileCount]: e[0] });\n }}\n css={{ w: '70%' }}\n />\n </Flex>\n </Flex>\n </Box>\n );\n};\n", "import React from 'react';\nimport { AlertOctagonIcon, HandIcon, PeopleAddIcon, PeopleRemoveIcon } from '@100mslive/react-icons';\nimport { Box } from '../../../';\nimport SwitchWithLabel from './SwitchWithLabel';\nimport { useSetSubscribedNotifications, useSubscribedNotifications } from '../AppData/useUISettings';\nimport { settingOverflow } from './common.js';\nimport { SUBSCRIBED_NOTIFICATIONS } from '../../common/constants';\n\nconst NotificationItem = ({ type, label, icon, checked }) => {\n const [, setSubscribedNotifications] = useSetSubscribedNotifications(type);\n return (\n <SwitchWithLabel\n label={label}\n id={type}\n icon={icon}\n checked={checked}\n onChange={value => {\n setSubscribedNotifications(value);\n }}\n />\n );\n};\n\nexport const NotificationSettings = () => {\n const subscribedNotifications = useSubscribedNotifications();\n\n return (\n <Box className={settingOverflow()}>\n <NotificationItem\n label=\"Peer Joined\"\n type={SUBSCRIBED_NOTIFICATIONS.PEER_JOINED}\n icon={<PeopleAddIcon />}\n checked={subscribedNotifications.PEER_JOINED}\n />\n <NotificationItem\n label=\"Peer Leave\"\n type={SUBSCRIBED_NOTIFICATIONS.PEER_LEFT}\n icon={<PeopleRemoveIcon />}\n checked={subscribedNotifications.PEER_LEFT}\n />\n <NotificationItem\n label=\"Hand Raised\"\n type={SUBSCRIBED_NOTIFICATIONS.METADATA_UPDATED}\n icon={<HandIcon />}\n checked={subscribedNotifications.METADATA_UPDATED}\n />\n <NotificationItem\n label=\"Error\"\n type={SUBSCRIBED_NOTIFICATIONS.ERROR}\n icon={<AlertOctagonIcon />}\n checked={subscribedNotifications.ERROR}\n />\n </Box>\n );\n};\n", "import { GridFourIcon, NotificationsIcon, SettingsIcon } from '@100mslive/react-icons';\nimport { css } from '../../..';\nimport DeviceSettings from '../Settings/DeviceSettings';\nimport { LayoutSettings } from '../Settings/LayoutSettings';\nimport { NotificationSettings } from '../Settings/NotificationSettings';\n\nexport const settingOverflow = css({\n flex: '1 1 0',\n pr: '$12',\n mr: '-$12',\n overflowY: 'auto',\n});\n\nexport const settingContent = css({\n display: 'flex',\n flexDirection: 'column',\n '&[hidden]': {\n display: 'none',\n },\n});\n\nexport const settingsList = [\n {\n tabName: 'devices',\n title: 'Device Settings',\n icon: SettingsIcon,\n content: DeviceSettings,\n },\n {\n tabName: 'notifications',\n title: 'Notifications',\n icon: NotificationsIcon,\n content: NotificationSettings,\n },\n {\n tabName: 'layout',\n title: 'Layout',\n icon: GridFourIcon,\n content: LayoutSettings,\n },\n];\n", "import React, { useCallback, useEffect, useState } from 'react';\nimport { useMedia } from 'react-use';\nimport { ChevronLeftIcon, CrossIcon } from '@100mslive/react-icons';\nimport { HorizontalDivider } from '../../../Divider';\nimport { IconButton } from '../../../IconButton';\nimport { Box, Flex } from '../../../Layout';\nimport { Dialog } from '../../../Modal';\nimport { Sheet } from '../../../Sheet';\nimport { Tabs } from '../../../Tabs';\nimport { Text } from '../../../Text';\nimport { config as cssConfig } from '../../../Theme';\nimport { settingContent, settingsList } from './common.js';\n\nconst SettingsModal = ({ open, onOpenChange, screenType, children = <></> }) => {\n const mediaQueryLg = cssConfig.media.md;\n const isMobile = useMedia(mediaQueryLg);\n\n const [showSetting, setShowSetting] = useState(() =>\n settingsList.reduce((obj, { tabName }) => ({ ...obj, [tabName]: true }), {}),\n );\n\n const hideSettingByTabName = useCallback(\n key => hide => setShowSetting(prev => ({ ...prev, [key]: !hide })),\n [setShowSetting],\n );\n\n useEffect(() => {\n if (screenType === 'hls_live_streaming') {\n hideSettingByTabName('layout')(true);\n }\n }, [screenType, hideSettingByTabName]);\n\n const [selection, setSelection] = useState(() => Object.keys(showSetting).find(key => showSetting[key]) ?? '');\n const resetSelection = useCallback(() => {\n setSelection('');\n }, []);\n\n useEffect(() => {\n if (isMobile) {\n setSelection('');\n } else {\n const firstNotHiddenTabName = Object.keys(showSetting).find(key => showSetting[key]) ?? '';\n setSelection(firstNotHiddenTabName);\n }\n }, [isMobile, showSetting]);\n\n return isMobile ? (\n <MobileSettingModal\n open={open}\n onOpenChange={onOpenChange}\n selection={selection}\n setSelection={setSelection}\n showSetting={showSetting}\n hideSettingByTabName={hideSettingByTabName}\n resetSelection={resetSelection}\n children={children}\n />\n ) : (\n <DesktopSettingModal\n open={open}\n onOpenChange={onOpenChange}\n selection={selection}\n setSelection={setSelection}\n showSetting={showSetting}\n hideSettingByTabName={hideSettingByTabName}\n resetSelection={resetSelection}\n children={children}\n />\n );\n};\n\nconst MobileSettingModal = ({\n open,\n onOpenChange,\n selection,\n setSelection,\n showSetting,\n hideSettingByTabName,\n resetSelection,\n children = <></>,\n}) => {\n return (\n <Sheet.Root open={open} onOpenChange={onOpenChange}>\n <Sheet.Trigger asChild>{children}</Sheet.Trigger>\n <Sheet.Content\n css={{\n bg: '$surface_dim',\n overflowY: 'auto',\n }}\n >\n <Sheet.Title css={{ py: '$10', px: '$8', alignItems: 'center' }}>\n <Flex direction=\"row\" justify=\"between\" css={{ w: '100%' }}>\n {!selection ? (\n <Text variant=\"h6\" css={{ display: 'flex' }}>\n Settings\n </Text>\n ) : (\n <Text variant=\"h6\" css={{ display: 'flex' }}>\n <Box as=\"span\" css={{ r: '$round', mr: '$2' }} onClick={resetSelection}>\n <ChevronLeftIcon />\n </Box>\n {selection?.charAt(0).toUpperCase() + selection.slice(1)}\n </Text>\n )}\n <Sheet.Close>\n <IconButton as=\"div\" data-testid=\"dialog_cross_icon\">\n <CrossIcon />\n </IconButton>\n </Sheet.Close>\n </Flex>\n </Sheet.Title>\n <HorizontalDivider />\n {!selection ? (\n <Flex\n direction=\"column\"\n css={{\n px: '$8',\n pb: '$8',\n overflowY: 'auto',\n }}\n >\n {settingsList\n .filter(({ tabName }) => showSetting[tabName])\n .map(({ icon: Icon, tabName, title }) => {\n return (\n <Box\n key={tabName}\n value={tabName}\n onClick={() => {\n setSelection(tabName);\n }}\n as=\"div\"\n css={{\n all: 'unset',\n fontFamily: '$sans',\n py: '$10',\n display: 'flex',\n alignItems: 'center',\n fontSize: '$sm',\n lineHeight: '$sm',\n color: '$on_surface_high',\n userSelect: 'none',\n gap: '$8',\n cursor: 'pointer',\n '&:hover': {\n bg: '$surface_brighter',\n r: '$1',\n gap: '$8',\n border: 'none',\n },\n borderBottom: '1px solid $border_default',\n }}\n >\n <Icon />\n {title}\n </Box>\n );\n })}\n </Flex>\n ) : (\n <Box\n direction=\"column\"\n css={{ overflowY: 'scroll', px: '$8', py: '$10', maxHeight: '70vh', overflowX: 'hidden' }}\n >\n {settingsList\n .filter(({ tabName }) => showSetting[tabName] && selection === tabName)\n .map(({ content: Content, title, tabName }) => {\n return <Content key={title} setHide={hideSettingByTabName(tabName)} />;\n })}\n </Box>\n )}\n </Sheet.Content>\n </Sheet.Root>\n );\n};\nconst DesktopSettingModal = ({\n open,\n onOpenChange,\n selection,\n setSelection,\n showSetting,\n hideSettingByTabName,\n resetSelection,\n children = <></>,\n}) => {\n return (\n <Dialog.Root open={open} onOpenChange={onOpenChange}>\n <Dialog.Trigger asChild>{children}</Dialog.Trigger>\n <Dialog.Portal>\n <Dialog.Overlay />\n <Dialog.Content\n css={{\n w: 'min(800px, 90%)',\n height: 'min(656px, 90%)',\n p: 0,\n r: '$4',\n }}\n >\n <Tabs.Root\n value={selection}\n activationMode=\"automatic\"\n onValueChange={setSelection}\n css={{ size: '100%', position: 'relative' }}\n >\n <Tabs.List\n css={{\n w: '18.625rem',\n flexDirection: 'column',\n bg: '$background_default',\n p: '$14 $10',\n borderTopLeftRadius: '$4',\n borderBottomLeftRadius: '$4',\n }}\n >\n <Text variant=\"h5\">Settings </Text>\n <Flex direction=\"column\" css={{ mx: 0, overflowY: 'auto', pt: '$10' }}>\n {settingsList\n .filter(({ tabName }) => showSetting[tabName])\n .map(({ icon: Icon, tabName, title }) => {\n return (\n <Tabs.Trigger key={tabName} value={tabName} css={{ gap: '$8' }}>\n <Icon />\n {title}\n </Tabs.Trigger>\n );\n })}\n </Flex>\n </Tabs.List>\n {selection && (\n <Flex\n direction=\"column\"\n css={{\n flex: '1 1 0',\n minWidth: 0,\n mr: '$4',\n }}\n >\n {settingsList\n .filter(({ tabName }) => showSetting[tabName])\n .map(({ content: Content, title, tabName }) => {\n return (\n <Tabs.Content key={tabName} value={tabName} className={settingContent()}>\n <SettingsContentHeader onBack={resetSelection} isMobile={false}>\n {title}\n </SettingsContentHeader>\n <Content setHide={hideSettingByTabName(tabName)} />\n </Tabs.Content>\n );\n })}\n </Flex>\n )}\n </Tabs.Root>\n <Dialog.Close css={{ position: 'absolute', right: '$10', top: '$10' }}>\n <IconButton as=\"div\" data-testid=\"dialog_cross_icon\">\n <CrossIcon />\n </IconButton>\n </Dialog.Close>\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n );\n};\nconst SettingsContentHeader = ({ children, isMobile, onBack }) => {\n return (\n <Text variant=\"h6\" css={{ mb: '$12', display: 'flex', alignItems: 'center' }}>\n {isMobile && (\n <Box as=\"span\" css={{ bg: '$surface_bright', mr: '$4', r: '$round', p: '$2' }} onClick={onBack}>\n <ChevronLeftIcon />\n </Box>\n )}\n {children}\n </Text>\n );\n};\n\nexport default SettingsModal;\n", "import React, { useCallback, useState } from 'react';\nimport { InfoIcon } from '@100mslive/react-icons';\nimport { Flex, Input, Label, Text, Tooltip } from '../../../';\nimport { DialogRow } from '../../primitives/DialogContent';\nimport {\n RTMP_RECORD_DEFAULT_RESOLUTION,\n RTMP_RECORD_RESOLUTION_MAX,\n RTMP_RECORD_RESOLUTION_MIN,\n} from '../../common/constants';\n\nexport const ResolutionInput = ({ onResolutionChange, disabled, tooltipText, css, testId }) => {\n const [resolution, setResolution] = useState(RTMP_RECORD_DEFAULT_RESOLUTION);\n\n const resolutionChangeHandler = useCallback(\n event => {\n const { name, value } = event.target;\n let width = name === 'resWidth' ? Number(value) : resolution.width;\n let height = name === 'resHeight' ? Number(value) : resolution.height;\n\n if (width === 0) {\n width = null;\n }\n if (height === 0) {\n height = null;\n }\n const newResolution = {\n width: !isNaN(width) ? width : RTMP_RECORD_DEFAULT_RESOLUTION.width,\n height: !isNaN(height) ? height : RTMP_RECORD_DEFAULT_RESOLUTION.height,\n };\n setResolution(newResolution);\n },\n [resolution],\n );\n\n return (\n <DialogRow breakSm css={css}>\n <Flex gap={1}>\n <Label css={{ mb: '$8' }}>Resolution</Label>\n {tooltipText && (\n <Tooltip title={tooltipText}>\n <div>\n <InfoIcon color=\"#B0C3DB\" />\n </div>\n </Tooltip>\n )}\n </Flex>\n <Flex\n justify=\"between\"\n css={{ width: !tooltipText ? '100%' : '70%', '@sm': { width: '100%' } }}\n gap={2}\n direction=\"column\"\n >\n <Flex justify=\"between\" gap={2}>\n <Flex direction=\"column\" css={{ width: '50%' }}>\n <Text variant=\"xs\">Width</Text>\n <Input\n data-testid={`${testId}_width`}\n css={{ width: '100%', mt: '$4' }}\n name=\"resWidth\"\n value={resolution.width}\n onChange={resolutionChangeHandler}\n readOnly={disabled}\n min={RTMP_RECORD_RESOLUTION_MIN}\n max={RTMP_RECORD_RESOLUTION_MAX}\n onBlur={() => onResolutionChange(resolution)}\n type=\"number\"\n />\n </Flex>\n <Flex direction=\"column\" css={{ width: '50%' }}>\n <Text variant=\"xs\">Height</Text>\n <Input\n data-testid={`${testId}_height`}\n css={{ width: '100%', mt: '$4' }}\n name=\"resHeight\"\n value={resolution.height}\n onChange={resolutionChangeHandler}\n onBlur={() => onResolutionChange(resolution)}\n readOnly={disabled}\n min={RTMP_RECORD_RESOLUTION_MIN}\n max={RTMP_RECORD_RESOLUTION_MAX}\n type=\"number\"\n />\n </Flex>\n </Flex>\n </Flex>\n </DialogRow>\n );\n};\n", "import React, { useState } from 'react';\nimport { selectPermissions, useHMSActions, useHMSStore, useRecordingStreaming } from '@100mslive/react-sdk';\nimport { AlertTriangleIcon } from '@100mslive/react-icons';\nimport { Button, Dialog, Flex, Text } from '../../../';\nimport { ResolutionInput } from '../Streaming/ResolutionInput';\nimport { ToastManager } from '../Toast/ToastManager';\nimport { useSetAppDataByKey } from '../AppData/useUISettings';\nimport { APP_DATA, RTMP_RECORD_DEFAULT_RESOLUTION } from '../../common/constants';\n\nexport function getResolution(recordingResolution) {\n const resolution = {};\n if (recordingResolution.width) {\n resolution.width = recordingResolution.width;\n }\n if (recordingResolution.height) {\n resolution.height = recordingResolution.height;\n }\n if (Object.keys(resolution).length > 0) {\n return resolution;\n }\n}\n\nconst StartRecording = ({ open, onOpenChange }) => {\n const permissions = useHMSStore(selectPermissions);\n const [resolution, setResolution] = useState(RTMP_RECORD_DEFAULT_RESOLUTION);\n\n const [recordingStarted, setRecordingState] = useSetAppDataByKey(APP_DATA.recordingStarted);\n const { isBrowserRecordingOn, isStreamingOn, isHLSRunning } = useRecordingStreaming();\n const hmsActions = useHMSActions();\n if (!permissions?.browserRecording || isHLSRunning) {\n return null;\n }\n if (isBrowserRecordingOn) {\n return (\n <Dialog.Root open={open} onOpenChange={onOpenChange}>\n <Dialog.Portal>\n <Dialog.Content\n css={{\n width: 'min(400px,80%)',\n p: '$10',\n bg: '#201617',\n }}\n >\n <Dialog.Title>\n <Flex gap={2} css={{ c: '$alert_error_default' }}>\n <AlertTriangleIcon />\n <Text css={{ c: 'inherit' }} variant=\"h6\">\n End Recording\n </Text>\n </Flex>\n </Dialog.Title>\n <Text variant=\"sm\" css={{ c: '$on_surface_medium', my: '$8' }}>\n Are you sure you want to end recording? You can\u2019t undo this action.\n </Text>\n <Flex justify=\"end\" css={{ mt: '$12' }}>\n <Dialog.Close asChild>\n <Button outlined css={{ borderColor: '$secondary_bright', mr: '$4' }}>\n Don't end\n </Button>\n </Dialog.Close>\n <Button\n data-testid=\"stop_recording_confirm_mobile\"\n variant=\"danger\"\n icon\n onClick={async () => {\n try {\n await hmsActions.stopRTMPAndRecording();\n } catch (error) {\n ToastManager.addToast({\n title: error.message,\n variant: 'error',\n });\n }\n onOpenChange(false);\n }}\n >\n End recording\n </Button>\n </Flex>\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n );\n }\n return (\n <Dialog.Root open={open} onOpenChange={onOpenChange}>\n <Dialog.Content css={{ width: 'min(400px,80%)', p: '$10' }}>\n <Dialog.Title>\n <Text variant=\"h6\">Start Recording</Text>\n </Dialog.Title>\n <ResolutionInput\n testId=\"recording_resolution_mobile\"\n css={{ flexDirection: 'column', alignItems: 'start' }}\n onResolutionChange={setResolution}\n />\n <Button\n data-testid=\"start_recording_confirm_mobile\"\n variant=\"primary\"\n icon\n css={{ ml: 'auto' }}\n type=\"submit\"\n disabled={recordingStarted || isStreamingOn}\n onClick={async () => {\n try {\n setRecordingState(true);\n await hmsActions.startRTMPOrRecording({\n resolution: getResolution(resolution),\n record: true,\n });\n } catch (error) {\n if (error.message.includes('stream already running')) {\n ToastManager.addToast({\n title: 'Recording already running',\n variant: 'error',\n });\n } else {\n ToastManager.addToast({\n title: error.message,\n variant: 'error',\n });\n }\n setRecordingState(false);\n }\n onOpenChange(false);\n }}\n >\n Start\n </Button>\n </Dialog.Content>\n </Dialog.Root>\n );\n};\n\nexport default StartRecording;\n", "import React, { useEffect, useMemo, useRef, useState } from 'react';\nimport {\n selectHMSStats,\n selectLocalPeerID,\n selectPeersMap,\n selectTracksMap,\n useHMSStatsStore,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport { HorizontalDivider } from '../../Divider';\nimport { Dropdown } from '../../Dropdown';\nimport { Label } from '../../Label';\nimport { Box, Flex } from '../../Layout';\nimport { Dialog } from '../../Modal';\nimport { Switch } from '../../Switch';\nimport { Text } from '../../Text';\nimport { DialogDropdownTrigger } from '../primitives/DropdownTrigger';\nimport { useSetUiSettings } from './AppData/useUISettings';\nimport { useDropdownSelection } from './hooks/useDropdownSelection';\nimport { UI_SETTINGS } from '../common/constants';\n\nexport const StatsForNerds = ({ onOpenChange }) => {\n const tracksWithLabels = useTracksWithLabel();\n const statsOptions = useMemo(\n () => [{ id: 'local-peer', label: 'Local Peer Stats' }, ...tracksWithLabels],\n [tracksWithLabels],\n );\n const [selectedStat, setSelectedStat] = useState(statsOptions[0]);\n const [showStatsOnTiles, setShowStatsOnTiles] = useSetUiSettings(UI_SETTINGS.showStatsOnTiles);\n const [open, setOpen] = useState(false);\n const ref = useRef();\n const selectionBg = useDropdownSelection();\n\n useEffect(() => {\n if (selectedStat.id !== 'local-peer' && !tracksWithLabels.find(track => track.id === selectedStat.id)) {\n setSelectedStat('local-peer');\n }\n }, [tracksWithLabels, selectedStat]);\n\n return (\n <Dialog.Root defaultOpen onOpenChange={onOpenChange}>\n <Dialog.Portal>\n <Dialog.Overlay />\n <Dialog.Content\n css={{\n width: 'min(500px, 95%)',\n maxHeight: '100%',\n overflowY: 'auto',\n }}\n >\n {/* Title */}\n <Dialog.Title css={{ p: '$4 0' }}>\n <Flex justify=\"between\">\n <Flex align=\"center\" css={{ mb: '$1' }}>\n <Text variant=\"h6\" inline>\n Stats For Nerds\n </Text>\n </Flex>\n <Dialog.DefaultClose data-testid=\"stats_dialog_close_icon\" />\n </Flex>\n </Dialog.Title>\n <HorizontalDivider css={{ mt: '0.8rem' }} />\n {/* Switch */}\n <Flex justify=\"start\" gap={4} css={{ m: '$10 0' }}>\n <Switch checked={showStatsOnTiles} onCheckedChange={setShowStatsOnTiles} />\n <Text variant=\"body2\" css={{ fontWeight: '$semiBold' }}>\n Show Stats on Tiles\n </Text>\n </Flex>\n {/* Select */}\n <Flex\n direction=\"column\"\n css={{\n mb: '$12',\n position: 'relative',\n minWidth: 0,\n }}\n >\n <Label variant=\"body2\" css={{ c: '$on_surface_high' }}>\n Stats For\n </Label>\n <Dropdown.Root data-testid=\"dialog_select_Stats For\" open={open} onOpenChange={setOpen}>\n <DialogDropdownTrigger\n title={selectedStat.label || 'Select Stats'}\n css={{ mt: '$4' }}\n titleCSS={{ mx: 0 }}\n open={open}\n ref={ref}\n />\n <Dropdown.Portal>\n <Dropdown.Content align=\"start\" sideOffset={8} css={{ w: ref.current?.clientWidth, zIndex: 1000 }}>\n {statsOptions.map(option => {\n const isSelected = option.id === selectedStat.id && option.layer === selectedStat.layer;\n return (\n <Dropdown.Item\n key={`${option.id}-${option.layer || ''}`}\n onClick={() => {\n setSelectedStat(option);\n }}\n css={{\n px: '$9',\n bg: isSelected ? selectionBg : undefined,\n c: isSelected ? '$on_primary_high' : '$on_primary_high',\n }}\n >\n {option.label}\n </Dropdown.Item>\n );\n })}\n </Dropdown.Content>\n </Dropdown.Portal>\n </Dropdown.Root>\n </Flex>\n {/* Stats */}\n {selectedStat.id === 'local-peer' ? (\n <LocalPeerStats />\n ) : (\n <TrackStats trackID={selectedStat.id} layer={selectedStat.layer} local={selectedStat.local} />\n )}\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n );\n};\n\nconst useTracksWithLabel = () => {\n const tracksMap = useHMSStore(selectTracksMap);\n const peersMap = useHMSStore(selectPeersMap);\n const localPeerID = useHMSStore(selectLocalPeerID);\n const tracksWithLabels = useMemo(\n () =>\n Object.values(tracksMap).reduce((res, track) => {\n const peerName = peersMap[track.peerId]?.name;\n const isLocalTrack = track.peerId === localPeerID;\n if (isLocalTrack && track.layerDefinitions?.length) {\n res = res.concat(\n track.layerDefinitions.map(({ layer }) => {\n return {\n id: track.id,\n layer,\n local: true,\n label: `${peerName} ${track.source} ${track.type} - ${layer}`,\n };\n }),\n );\n return res;\n }\n res.push({\n id: track.id,\n local: isLocalTrack,\n label: `${peerName} ${track.source} ${track.type}`,\n });\n return res;\n }, []),\n [tracksMap, peersMap, localPeerID],\n );\n return tracksWithLabels;\n};\n\nconst LocalPeerStats = () => {\n const stats = useHMSStatsStore(selectHMSStats.localPeerStats);\n\n if (!stats) {\n return null;\n }\n\n return (\n <Flex css={{ flexWrap: 'wrap', gap: '$10' }}>\n <StatsRow label=\"Packets Lost\" value={stats.subscribe?.packetsLost} />\n <StatsRow label=\"Jitter\" value={stats.subscribe?.jitter} />\n <StatsRow label=\"Publish Bitrate\" value={formatBytes(stats.publish?.bitrate, 'b/s')} />\n <StatsRow label=\"Subscribe Bitrate\" value={formatBytes(stats.subscribe?.bitrate, 'b/s')} />\n <StatsRow\n label=\"Available Outgoing Bitrate\"\n value={formatBytes(stats.publish?.availableOutgoingBitrate, 'b/s')}\n />\n <StatsRow label=\"Total Bytes Sent\" value={formatBytes(stats.publish?.bytesSent)} />\n <StatsRow label=\"Total Bytes Received\" value={formatBytes(stats.subscribe?.bytesReceived)} />\n <StatsRow\n label=\"Round Trip Time\"\n value={`${\n (((stats.publish?.currentRoundTripTime || 0) + (stats.subscribe?.currentRoundTripTime || 0)) / 2).toFixed(3) *\n 1000\n } ms`}\n />\n </Flex>\n );\n};\n\nconst TrackStats = ({ trackID, layer, local }) => {\n const selector = layer\n ? selectHMSStats.localVideoTrackStatsByLayer(layer)(trackID)\n : local\n ? selectHMSStats.localAudioTrackStatsByID(trackID)\n : selectHMSStats.trackStatsByID(trackID);\n const stats = useHMSStatsStore(selector);\n if (!stats) {\n return null;\n }\n const inbound = stats.type.includes('inbound');\n\n return (\n <Flex css={{ flexWrap: 'wrap', gap: '$10' }}>\n <StatsRow label=\"Type\" value={stats.type + ' ' + stats.kind} />\n <StatsRow label=\"Bitrate\" value={formatBytes(stats.bitrate, 'b/s')} />\n <StatsRow label=\"Packets Lost\" value={stats.packetsLost} />\n <StatsRow label=\"Jitter\" value={stats.jitter?.toFixed(3)} />\n <StatsRow\n label={inbound ? 'Bytes Received' : 'Bytes Sent'}\n value={formatBytes(inbound ? stats.bytesReceived : stats.bytesSent)}\n />\n {stats.kind === 'video' && (\n <>\n <StatsRow label=\"Framerate\" value={stats.framesPerSecond} />\n {!inbound && <StatsRow label=\"Quality Limitation Reason\" value={stats.qualityLimitationReason} />}\n </>\n )}\n <StatsRow label=\"Round Trip Time\" value={stats.roundTripTime ? `${stats.roundTripTime * 1000} ms` : '-'} />\n </Flex>\n );\n};\n\nconst StatsRow = React.memo(({ label, value }) => (\n <Box css={{ bg: '$surface_bright', w: 'calc(50% - $6)', p: '$8', r: '$3' }}>\n <Text\n variant=\"overline\"\n css={{\n fontWeight: '$semiBold',\n color: '$on_surface_medium',\n textTransform: 'uppercase',\n }}\n >\n {label}\n </Text>\n <Text variant=\"sub1\" css={{ fontWeight: '$semiBold', color: '$on_surface_high' }}>\n {value || '-'}\n </Text>\n </Box>\n));\n\nconst formatBytes = (bytes, unit = 'B', decimals = 2) => {\n if (bytes === undefined) return '-';\n if (bytes === 0) return '0 ' + unit;\n\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = ['', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'].map(size => size + unit);\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n};\n", "import React, { useCallback, useRef, useState } from 'react';\nimport { useHMSActions } from '@100mslive/react-sdk';\nimport { AlertTriangleIcon, ChangeRoleIcon, CheckIcon } from '@100mslive/react-icons';\nimport { Button, Checkbox, Dialog, Dropdown, Flex, Loading, Text } from '../../../';\nimport { DialogContent, DialogRow } from '../../primitives/DialogContent';\nimport { DialogDropdownTrigger } from '../../primitives/DropdownTrigger';\nimport { useFilteredRoles } from '../../common/hooks';\n\nexport const BulkRoleChangeModal = ({ onOpenChange }) => {\n const roles = useFilteredRoles();\n const hmsActions = useHMSActions();\n const ref = useRef(null);\n const roleRef = useRef(null);\n const [selectedBulkRole, setBulkRole] = useState([]);\n const [selectedRole, setRole] = useState('');\n const [bulkRoleDialog, setBulkRoleDialog] = useState(false);\n const [roleDialog, setRoleDialog] = useState(false);\n const [errorMessage, setErrorMessage] = useState('');\n const [isSubmiting, setIsSubmiting] = useState(false);\n\n const changeBulkRole = useCallback(async () => {\n if (selectedBulkRole.length > 0 && selectedRole) {\n try {\n setIsSubmiting(true);\n await hmsActions.changeRoleOfPeersWithRoles(selectedBulkRole, selectedRole);\n setIsSubmiting(false);\n setErrorMessage('');\n onOpenChange(false);\n } catch (err) {\n setErrorMessage(err?.message ? err?.message : 'Unknown error');\n setIsSubmiting(false);\n }\n }\n }, [selectedBulkRole, selectedRole, hmsActions, onOpenChange]);\n\n return (\n <Dialog.Root defaultOpen onOpenChange={onOpenChange}>\n <DialogContent title=\"Bulk Role Change\" Icon={ChangeRoleIcon}>\n <DialogRow>\n <Text>For Roles: </Text>\n <Dropdown.Root\n open={bulkRoleDialog}\n onOpenChange={value => {\n if (value) {\n setBulkRoleDialog(value);\n }\n }}\n modal={false}\n >\n <DialogDropdownTrigger\n ref={ref}\n title={selectedBulkRole.length === 0 ? 'Select Multiple Roles' : selectedBulkRole.toString()}\n css={{\n w: '70%',\n p: '$8',\n }}\n open={bulkRoleDialog}\n />\n <Dropdown.Content\n css={{ w: ref.current?.clientWidth, zIndex: 1000 }}\n onInteractOutside={() => {\n if (bulkRoleDialog) {\n setBulkRoleDialog(false);\n }\n }}\n >\n {roles &&\n roles.map(role => {\n return (\n <Dropdown.CheckboxItem\n key={role}\n checked={selectedBulkRole.includes(role)}\n onCheckedChange={value => {\n setBulkRole(selection => {\n return value ? [...selection, role] : selection.filter(selectedRole => selectedRole !== role);\n });\n setErrorMessage('');\n }}\n >\n <Checkbox.Root css={{ margin: '$2' }} checked={selectedBulkRole.includes(role)}>\n <Checkbox.Indicator>\n <CheckIcon width={16} height={16} />\n </Checkbox.Indicator>\n </Checkbox.Root>\n {role}\n </Dropdown.CheckboxItem>\n );\n })}\n </Dropdown.Content>\n </Dropdown.Root>\n </DialogRow>\n <DialogRow>\n <Text>To Role: </Text>\n <Dropdown.Root open={roleDialog} onOpenChange={value => setRoleDialog(value)}>\n <DialogDropdownTrigger\n ref={roleRef}\n title={selectedRole || 'Select Role'}\n css={{\n w: '70%',\n p: '$8',\n }}\n open={roleDialog}\n />\n <Dropdown.Content css={{ w: roleRef.current?.clientWidth, zIndex: 1000 }}>\n {roles &&\n roles.map(role => {\n return (\n <Dropdown.Item\n key={role}\n onSelect={() => {\n setRole(role);\n setErrorMessage('');\n }}\n >\n {role}\n </Dropdown.Item>\n );\n })}\n </Dropdown.Content>\n </Dropdown.Root>\n </DialogRow>\n <DialogRow>\n {errorMessage && (\n <Flex gap={2} css={{ c: '$alert_error_default', w: '70%', ml: 'auto' }}>\n <AlertTriangleIcon />\n <Text css={{ c: 'inherit' }}>{errorMessage}</Text>\n </Flex>\n )}\n </DialogRow>\n <DialogRow justify=\"end\">\n <Button variant=\"primary\" onClick={changeBulkRole} disabled={!(selectedRole && selectedBulkRole.length > 0)}>\n {isSubmiting && <Loading css={{ color: '$on_primary_medium' }} />}\n Apply\n </Button>\n </DialogRow>\n </DialogContent>\n </Dialog.Root>\n );\n};\n", "import { useCallback, useEffect, useState } from 'react';\nimport screenfull from 'screenfull';\nimport { ToastManager } from '../Toast/ToastManager';\n\nexport const useFullscreen = () => {\n const [isFullScreenEnabled, setIsFullScreenEnabled] = useState(screenfull.isFullscreen);\n\n const toggle = useCallback(async () => {\n if (!screenfull.isEnabled) {\n ToastManager.addToast({ title: 'Fullscreen feature not supported' });\n return;\n }\n try {\n if (isFullScreenEnabled) {\n await screenfull.exit();\n } else {\n await screenfull.request();\n }\n } catch (err) {\n ToastManager.addToast({ title: err.message });\n }\n }, [isFullScreenEnabled]);\n\n useEffect(() => {\n const onChange = () => {\n setIsFullScreenEnabled(screenfull.isFullscreen);\n };\n if (screenfull.isEnabled) {\n screenfull.on('change', onChange);\n }\n return () => {\n if (screenfull.isEnabled) {\n screenfull.off('change', onChange);\n }\n };\n }, []);\n\n return {\n allowed: screenfull.isEnabled,\n isFullscreen: isFullScreenEnabled,\n toggleFullscreen: toggle,\n };\n};\n", "import React from 'react';\nimport { ExpandIcon } from '@100mslive/react-icons';\nimport { Dropdown, Text } from '../../../';\nimport { useFullscreen } from '../hooks/useFullscreen';\n\nexport const FullScreenItem = () => {\n const { allowed, isFullscreen, toggleFullscreen } = useFullscreen();\n\n if (!allowed) {\n return null;\n }\n\n return (\n <Dropdown.Item\n onClick={() => {\n toggleFullscreen();\n }}\n data-testid=\"full_screen_btn\"\n >\n <ExpandIcon />\n <Text variant=\"sm\" css={{ ml: '$4' }}>\n {isFullscreen ? 'Exit ' : 'Go '}Fullscreen\n </Text>\n </Dropdown.Item>\n );\n};\n", "import React from 'react';\nimport { Button } from '../../../Button';\nimport { Label } from '../../../Label';\nimport { Flex } from '../../../Layout';\nimport { RadioGroup } from '../../../RadioGroup';\nimport { Text } from '../../../Text';\nimport { DialogRow, DialogSelect } from '../../primitives/DialogContent';\n\nexport const MuteAllContent = props => {\n const roles = props.roles || [];\n return (\n <>\n <DialogSelect\n title=\"Role\"\n options={[{ label: 'All Roles', value: '' }, ...roles.map(role => ({ label: role, value: role }))]}\n selected={props.selectedRole}\n keyField=\"value\"\n labelField=\"label\"\n onChange={props.setRole}\n />\n <DialogSelect\n title=\"Track type\"\n options={props.trackTypeOptions}\n selected={props.trackType}\n onChange={props.setTrackType}\n keyField=\"value\"\n labelField=\"label\"\n />\n <DialogSelect\n title=\"Track source\"\n options={props.trackSourceOptions}\n selected={props.selectedSource}\n onChange={props.setSource}\n keyField=\"value\"\n labelField=\"label\"\n />\n <DialogRow>\n <Text variant=\"md\">Track status</Text>\n <RadioGroup.Root value={props.enabled} onValueChange={props.setEnabled}>\n <Flex align=\"center\" css={{ mr: '$8' }}>\n <RadioGroup.Item value={false} id=\"trackDisableRadio\" css={{ mr: '$4' }}>\n <RadioGroup.Indicator />\n </RadioGroup.Item>\n <Label htmlFor=\"trackDisableRadio\">Mute</Label>\n </Flex>\n <Flex align=\"center\" css={{ cursor: 'pointer' }}>\n <RadioGroup.Item value={true} id=\"trackEnableRadio\" css={{ mr: '$4' }}>\n <RadioGroup.Indicator />\n </RadioGroup.Item>\n <Label htmlFor=\"trackEnableRadio\">Request Unmute</Label>\n </Flex>\n </RadioGroup.Root>\n </DialogRow>\n <DialogRow justify=\"end\">\n <Button variant=\"primary\" onClick={props.muteAll} css={{ w: props?.isMobile ? '100%' : '' }}>\n Apply\n </Button>\n </DialogRow>\n </>\n );\n};\n", "import React, { useCallback, useState } from 'react';\nimport { useHMSActions } from '@100mslive/react-sdk';\nimport { MicOffIcon } from '@100mslive/react-icons';\nimport { Dialog } from '../../../';\nimport { Sheet } from '../../../Sheet';\nimport { DialogContent } from '../../primitives/DialogContent';\nimport { MuteAllContent } from './MuteAllContent';\nimport { useFilteredRoles } from '../../common/hooks';\n\nconst trackSourceOptions = [\n { label: 'All Track Sources', value: '' },\n { label: 'regular', value: 'regular' },\n { label: 'screen', value: 'screen' },\n { label: 'audioplaylist', value: 'audioplaylist' },\n { label: 'videoplaylist', value: 'videoplaylist' },\n];\nconst trackTypeOptions = [\n { label: 'All Track Types', value: '' },\n { label: 'audio', value: 'audio' },\n { label: 'video', value: 'video' },\n];\nexport const MuteAllModal = ({ onOpenChange, isMobile = false }) => {\n const roles = useFilteredRoles();\n const hmsActions = useHMSActions();\n const [enabled, setEnabled] = useState(false);\n const [trackType, setTrackType] = useState();\n const [selectedRole, setRole] = useState();\n const [selectedSource, setSource] = useState();\n\n const muteAll = useCallback(async () => {\n await hmsActions.setRemoteTracksEnabled({\n enabled: enabled,\n type: trackType,\n source: selectedSource,\n roles: selectedRole ? [selectedRole] : undefined,\n });\n onOpenChange(false);\n }, [selectedRole, enabled, trackType, selectedSource, hmsActions, onOpenChange]);\n\n const props = {\n muteAll,\n roles,\n enabled,\n setEnabled,\n trackType,\n setTrackType,\n selectedRole,\n setRole,\n selectedSource,\n setSource,\n trackSourceOptions,\n trackTypeOptions,\n isMobile,\n };\n\n if (isMobile) {\n return (\n <Sheet.Root defaultOpen onOpenChange={onOpenChange}>\n <Sheet.Content css={{ px: '$10' }}>\n <MuteAllContent {...props} />\n </Sheet.Content>\n </Sheet.Root>\n );\n }\n\n return (\n <Dialog.Root defaultOpen onOpenChange={onOpenChange}>\n <DialogContent title=\"Mute/Unmute Remote Tracks\" Icon={MicOffIcon}>\n <MuteAllContent {...props} />\n </DialogContent>\n </Dialog.Root>\n );\n};\n", "import { useCallback } from 'react';\nimport {\n selectHasPeerHandRaised,\n selectLocalPeerID,\n selectPeerMetadata,\n useHMSActions,\n useHMSStore,\n useHMSVanillaStore,\n} from '@100mslive/react-sdk';\n\nexport const useMyMetadata = () => {\n const hmsActions = useHMSActions();\n const localPeerId = useHMSStore(selectLocalPeerID);\n const vanillaStore = useHMSVanillaStore();\n const metaData = useHMSStore(selectPeerMetadata(localPeerId));\n const isHandRaised = useHMSStore(selectHasPeerHandRaised(localPeerId));\n\n const update = async updatedFields => {\n try {\n // get current state from store and merge updated fields\n const currentMetadata = vanillaStore.getState(selectPeerMetadata(localPeerId));\n await hmsActions.changeMetadata(Object.assign(currentMetadata, updatedFields));\n return true;\n } catch (error) {\n console.error('failed to update metadata ', updatedFields);\n }\n };\n\n const toggleHandRaise = useCallback(async () => {\n if (isHandRaised) {\n await hmsActions.lowerLocalPeerHand();\n } else {\n await hmsActions.raiseLocalPeerHand();\n await update({ isBRBOn: false });\n }\n }, [isHandRaised]); //eslint-disable-line\n\n const toggleBRB = useCallback(async () => {\n const newValue = !metaData?.isBRBOn;\n await update({ isBRBOn: newValue });\n if (newValue) {\n await hmsActions.lowerLocalPeerHand();\n }\n }, [metaData?.isBRBOn]); //eslint-disable-line\n\n const setPrevRole = async role => {\n await update({\n prevRole: role,\n });\n };\n\n return {\n isHandRaised,\n isBRBOn: !!metaData?.isBRBOn,\n metaData,\n updateMetaData: update,\n toggleHandRaise,\n toggleBRB,\n setPrevRole,\n };\n};\n", "import React, { Fragment, useState } from 'react';\nimport { HMSHLSPlayer } from '@100mslive/hls-player';\nimport {\n ConferencingScreen,\n DefaultConferencingScreen_Elements,\n HLSLiveStreamingScreen_Elements,\n} from '@100mslive/types-prebuilt';\nimport { selectAppData, selectLocalPeerID, useHMSActions, useHMSStore } from '@100mslive/react-sdk';\nimport { BrbIcon, CheckIcon, DragHandleIcon, InfoIcon, PipIcon, SettingsIcon } from '@100mslive/react-icons';\nimport { Checkbox, Dropdown, Flex, Text, Tooltip } from '../../../..';\n// @ts-ignore: No implicit any\nimport IconButton from '../../../IconButton';\n// @ts-ignore: No implicit any\nimport { PIP } from '../../PIP';\n// @ts-ignore: No implicit any\nimport { PictureInPicture } from '../../PIP/PIPManager';\n// @ts-ignore: No implicit any\nimport { RoleChangeModal } from '../../RoleChangeModal';\n// @ts-ignore: No implicit any\nimport SettingsModal from '../../Settings/SettingsModal';\n// @ts-ignore: No implicit any\nimport StartRecording from '../../Settings/StartRecording';\n// @ts-ignore: No implicit any\nimport { StatsForNerds } from '../../StatsForNerds';\n// @ts-ignore: No implicit any\nimport { BulkRoleChangeModal } from '../BulkRoleChangeModal';\n// @ts-ignore: No implicit any\nimport { FullScreenItem } from '../FullScreenItem';\n// @ts-ignore: No implicit any\nimport { MuteAllModal } from '../MuteAllModal';\n// @ts-ignore: No implicit any\nimport { useDropdownList } from '../../hooks/useDropdownList';\n// @ts-ignore: No implicit any\nimport { useMyMetadata } from '../../hooks/useMetadata';\n// @ts-ignore: No implicit any\nimport { APP_DATA, isMacOS } from '../../../common/constants';\n\nconst MODALS = {\n CHANGE_NAME: 'changeName',\n SELF_ROLE_CHANGE: 'selfRoleChange',\n MORE_SETTINGS: 'moreSettings',\n START_RECORDING: 'startRecording',\n DEVICE_SETTINGS: 'deviceSettings',\n STATS_FOR_NERDS: 'statsForNerds',\n BULK_ROLE_CHANGE: 'bulkRoleChange',\n MUTE_ALL: 'muteAll',\n EMBED_URL: 'embedUrl',\n};\n\nexport const DesktopOptions = ({\n elements,\n screenType,\n}: {\n elements: DefaultConferencingScreen_Elements & HLSLiveStreamingScreen_Elements;\n screenType: keyof ConferencingScreen;\n}) => {\n const localPeerId = useHMSStore(selectLocalPeerID);\n const hmsActions = useHMSActions();\n const enablHlsStats = useHMSStore(selectAppData(APP_DATA.hlsStats));\n const [openModals, setOpenModals] = useState(new Set());\n const { isBRBOn, toggleBRB } = useMyMetadata();\n const isPipOn = PictureInPicture.isOn();\n const isBRBEnabled = !!elements?.brb;\n\n useDropdownList({ open: openModals.size > 0, name: 'MoreSettings' });\n\n const updateState = (modalName: string, value: boolean) => {\n setOpenModals(modals => {\n const copy = new Set(modals);\n if (value) {\n // avoiding extra set state trigger which removes currently open dialog by clearing set.\n copy.clear();\n copy.add(modalName);\n } else {\n copy.delete(modalName);\n }\n return copy;\n });\n };\n\n return (\n <Fragment>\n <Dropdown.Root\n open={openModals.has(MODALS.MORE_SETTINGS)}\n onOpenChange={value => updateState(MODALS.MORE_SETTINGS, value)}\n modal={false}\n >\n <Tooltip title=\"More options\">\n <Dropdown.Trigger asChild data-testid=\"more_settings_btn\">\n <IconButton>\n <DragHandleIcon />\n </IconButton>\n </Dropdown.Trigger>\n </Tooltip>\n\n <Dropdown.Content\n sideOffset={5}\n align=\"end\"\n css={{\n py: '$0',\n maxHeight: 'unset',\n '@md': { w: '$64' },\n \"div[role='separator']:first-child\": {\n display: 'none',\n },\n }}\n >\n {isBRBEnabled && screenType !== 'hls_live_streaming' ? (\n <Dropdown.Item onClick={toggleBRB} data-testid=\"brb_btn\">\n <BrbIcon />\n <Text variant=\"sm\" css={{ ml: '$4', color: '$on_surface_high' }}>\n Be Right Back\n </Text>\n <Flex justify=\"end\" css={{ color: '$on_surface_high', flexGrow: '1' }}>\n {isBRBOn ? <CheckIcon /> : null}\n </Flex>\n </Dropdown.Item>\n ) : null}\n\n {screenType !== 'hls_live_streaming' ? (\n <Dropdown.Item>\n <PIP\n content={\n <Flex css={{ w: '100%' }}>\n <PipIcon />\n <Text variant=\"sm\" css={{ ml: '$4' }}>\n {isPipOn ? 'Disable' : 'Enable'} Picture-in-Picture\n </Text>\n </Flex>\n }\n />\n </Dropdown.Item>\n ) : null}\n\n <FullScreenItem />\n {/* {isAllowedToPublish.screen && isEmbedEnabled && (\n <EmbedUrl setShowOpenUrl={() => updateState(MODALS.EMBED_URL, true)} />\n )} */}\n\n <Dropdown.ItemSeparator css={{ mx: 0 }} />\n\n <Dropdown.Item onClick={() => updateState(MODALS.DEVICE_SETTINGS, true)} data-testid=\"device_settings_btn\">\n <SettingsIcon />\n <Text variant=\"sm\" css={{ ml: '$4' }}>\n Settings\n </Text>\n </Dropdown.Item>\n\n {screenType === 'hls_live_streaming' ? (\n HMSHLSPlayer.isSupported() ? (\n <Dropdown.Item\n onClick={() => hmsActions.setAppData(APP_DATA.hlsStats, !enablHlsStats)}\n data-testid=\"hls_stats\"\n >\n <Checkbox.Root\n css={{ margin: '$2' }}\n checked={enablHlsStats}\n onCheckedChange={() => hmsActions.setAppData(APP_DATA.hlsStats, !enablHlsStats)}\n >\n <Checkbox.Indicator>\n <CheckIcon width={16} height={16} />\n </Checkbox.Indicator>\n </Checkbox.Root>\n <Flex justify=\"between\" css={{ width: '100%' }}>\n <Text variant=\"sm\" css={{ ml: '$4' }}>\n Show HLS Stats\n </Text>\n\n <Text variant=\"sm\" css={{ ml: '$4' }}>\n {`${isMacOS ? '\u2318' : 'ctrl'} + ]`}\n </Text>\n </Flex>\n </Dropdown.Item>\n ) : null\n ) : (\n <Dropdown.Item onClick={() => updateState(MODALS.STATS_FOR_NERDS, true)} data-testid=\"stats_for_nreds_btn\">\n <InfoIcon />\n <Text variant=\"sm\" css={{ ml: '$4' }}>\n Stats for Nerds\n </Text>\n </Dropdown.Item>\n )}\n </Dropdown.Content>\n </Dropdown.Root>\n {openModals.has(MODALS.BULK_ROLE_CHANGE) && (\n <BulkRoleChangeModal onOpenChange={(value: boolean) => updateState(MODALS.BULK_ROLE_CHANGE, value)} />\n )}\n {openModals.has(MODALS.MUTE_ALL) && (\n <MuteAllModal onOpenChange={(value: boolean) => updateState(MODALS.MUTE_ALL, value)} />\n )}\n\n {openModals.has(MODALS.START_RECORDING) && (\n <StartRecording open onOpenChange={(value: boolean) => updateState(MODALS.START_RECORDING, value)} />\n )}\n {openModals.has(MODALS.DEVICE_SETTINGS) && (\n <SettingsModal\n open\n onOpenChange={(value: boolean) => updateState(MODALS.DEVICE_SETTINGS, value)}\n screenType={screenType}\n />\n )}\n {openModals.has(MODALS.STATS_FOR_NERDS) && (\n <StatsForNerds open onOpenChange={(value: boolean) => updateState(MODALS.STATS_FOR_NERDS, value)} />\n )}\n {openModals.has(MODALS.SELF_ROLE_CHANGE) && (\n <RoleChangeModal\n peerId={localPeerId}\n onOpenChange={(value: boolean) => updateState(MODALS.SELF_ROLE_CHANGE, value)}\n />\n )}\n {/* {openModals.has(MODALS.EMBED_URL) && (\n <EmbedUrlModal onOpenChange={value => updateState(MODALS.EMBED_URL, value)} />\n )} */}\n </Fragment>\n );\n};\n", "import { QUESTION_TYPE } from './constants';\n\n// eslint-disable-next-line complexity\nexport function shadeColor(color, percent) {\n let R = parseInt(color.substring(1, 3), 16);\n let G = parseInt(color.substring(3, 5), 16);\n let B = parseInt(color.substring(5, 7), 16);\n\n R = Math.floor((R * (100 + percent)) / 100);\n G = Math.floor((G * (100 + percent)) / 100);\n B = Math.floor((B * (100 + percent)) / 100);\n\n R = R < 255 ? R : 255;\n G = G < 255 ? G : 255;\n B = B < 255 ? B : 255;\n\n const RR = R.toString(16).length === 1 ? `0${R.toString(16)}` : R.toString(16);\n const GG = G.toString(16).length === 1 ? `0${G.toString(16)}` : G.toString(16);\n const BB = B.toString(16).length === 1 ? `0${B.toString(16)}` : B.toString(16);\n\n return `#${RR}${GG}${BB}`;\n}\n\n/**\n * TODO: this is currently an O(N**2) function, don't use with peer lists, it's currently\n * being used to find intersection between list of role names where the complexity shouldn't matter much.\n */\nexport const arrayIntersection = (a, b) => {\n if (a === undefined || b === undefined) {\n return [];\n }\n // ensure \"a\" is the bigger array\n if (b.length > a.length) {\n let t = b;\n b = a;\n a = t;\n }\n return a.filter(function (e) {\n return b.indexOf(e) > -1;\n });\n};\n\nexport const getMetadata = metadataString => {\n try {\n return !metadataString ? {} : JSON.parse(metadataString);\n } catch (error) {\n return {};\n }\n};\n\nexport const metadataProps = function (peer) {\n return {\n isHandRaised: getMetadata(peer.metadata)?.isHandRaised,\n };\n};\n\nexport const isScreenshareSupported = () => {\n return typeof navigator.mediaDevices.getDisplayMedia !== 'undefined';\n};\n\nexport const metadataPayloadParser = payload => {\n try {\n const data = window.atob(payload);\n const parsedData = JSON.parse(data);\n return parsedData;\n } catch (e) {\n return { payload };\n }\n};\n\n// For bottom action sheet, returns updated height based on drag\nexport const getUpdatedHeight = (e, MINIMUM_HEIGHT) => {\n const heightToPercentage = 100 - ((e?.touches?.[0] || e).pageY / window.innerHeight) * 100;\n // Snap to top if height > 80%, should be at least 40vh\n const sheetHeightInVH = Math.max(MINIMUM_HEIGHT, heightToPercentage > 80 ? 100 : heightToPercentage);\n return `${sheetHeightInVH}vh`;\n};\n\nexport const getFormattedCount = num => {\n const formatter = new Intl.NumberFormat('en', { notation: 'compact', maximumFractionDigits: 2 });\n const formattedNum = formatter.format(num);\n return formattedNum;\n};\n\nexport const formatTime = timeInSeconds => {\n timeInSeconds = Math.floor(timeInSeconds / 1000);\n const hours = Math.floor(timeInSeconds / 3600);\n const minutes = Math.floor((timeInSeconds % 3600) / 60);\n const seconds = timeInSeconds % 60;\n const hour = hours !== 0 ? `${hours < 10 ? '0' : ''}${hours}:` : '';\n return `${hour}${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n};\n\nconst compareArrays = (a, b) => {\n if (a.length !== b.length) return false;\n else {\n // Comparing each element of your array\n for (var i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n }\n};\n\nexport const checkCorrectAnswer = (answer, localPeerResponse, type) => {\n if (type === QUESTION_TYPE.SINGLE_CHOICE) {\n return answer?.option === localPeerResponse?.option;\n } else if (type === QUESTION_TYPE.MULTIPLE_CHOICE) {\n return answer?.options && localPeerResponse?.options && compareArrays(answer?.options, localPeerResponse?.options);\n }\n};\n\nexport const isValidTextInput = (text, minLength = 1, maxLength = 100) => {\n return text && text.length >= minLength && text.length <= maxLength;\n};\n\nexport const calculateAvatarAndAttribBoxSize = (calculatedWidth, calculatedHeight) => {\n if (!calculatedWidth || !calculatedHeight) {\n return [undefined, undefined];\n }\n\n let avatarSize = 'large';\n if (calculatedWidth <= 150 || calculatedHeight <= 150) {\n avatarSize = 'small';\n } else if (calculatedWidth <= 300 || calculatedHeight <= 300) {\n avatarSize = 'medium';\n }\n\n let attribBoxSize = 'medium';\n if (calculatedWidth <= 180 || calculatedHeight <= 180) {\n attribBoxSize = 'small';\n }\n\n return [avatarSize, attribBoxSize];\n};\n", "import { useEffect } from 'react';\nimport { selectRoomID, useHMSStore } from '@100mslive/react-sdk';\n\nexport class FeatureFlags {\n static enableTranscription = process.env.REACT_APP_ENABLE_TRANSCRIPTION === 'true';\n static enableStatsForNerds = process.env.REACT_APP_ENABLE_STATS_FOR_NERDS === 'true';\n static enableWhiteboard =\n process.env.REACT_APP_ENABLE_WHITEBOARD &&\n process.env.REACT_APP_PUSHER_APP_KEY &&\n process.env.REACT_APP_PUSHER_AUTHENDPOINT;\n\n static init(roomId) {\n if (!window.HMS) {\n window.HMS = {};\n }\n // some extra config to hls js to bring down latency\n window.HMS.OPTIMISE_HLS_LATENCY = false;\n // ask permissions in preview even if role doesn't have it\n window.HMS.ALWAYS_REQUEST_PERMISSIONS = false;\n window.HMS.SHOW_NS = process.env.REACT_APP_ENV !== 'prod';\n\n this.enableTranscription = process.env.REACT_APP_TRANSCRIPTION_ROOM_ID === roomId;\n }\n\n static showNS() {\n return window.HMS.SHOW_NS;\n }\n\n static optimiseHLSLatency() {\n return window.HMS.OPTIMISE_HLS_LATENCY;\n }\n\n static alwaysRequestPermissions() {\n return window.HMS.ALWAYS_REQUEST_PERMISSIONS;\n }\n}\n\nexport function FeatureFlagsInit() {\n const roomId = useHMSStore(selectRoomID);\n useEffect(() => {\n if (roomId) {\n FeatureFlags.init(roomId);\n }\n }, [roomId]);\n return null;\n}\n", "import { useCallback, useEffect, useMemo } from 'react';\nimport { selectLocalPeerID, selectPeerByCondition, useHMSStore } from '@100mslive/react-sdk';\nimport { useMyMetadata } from '../../components/hooks/useMetadata';\nimport { getMetadata } from '../../common/utils';\nimport { FeatureFlags } from '../../services/FeatureFlags';\n\nconst isWhiteboardOwner = peer => {\n return !!getMetadata(peer?.metadata).whiteboardOwner;\n};\n\nexport const useWhiteboardMetadata = () => {\n const localPeerID = useHMSStore(selectLocalPeerID);\n const { updateMetaData } = useMyMetadata();\n const whiteboardOwner = useHMSStore(selectPeerByCondition(isWhiteboardOwner));\n const amIWhiteboardOwner = useMemo(() => localPeerID === whiteboardOwner?.id, [localPeerID, whiteboardOwner]);\n\n /**\n * @param enabled {boolean}\n */\n const toggleWhiteboard = useCallback(async () => {\n if (!process.env.REACT_APP_PUSHER_APP_KEY) {\n console.error('Cannot start whiteboard - Pusher Key unavailable');\n }\n try {\n if (!whiteboardOwner || amIWhiteboardOwner) {\n await updateMetaData({ whiteboardOwner: !whiteboardOwner });\n } else {\n console.warn('Cannot toggle whiteboard as it was shared by another peer');\n }\n } catch (error) {\n console.error('failed to toggle whiteboard to ', !whiteboardOwner, error);\n }\n }, [whiteboardOwner, updateMetaData, amIWhiteboardOwner]);\n\n useEffect(() => {\n window.toggleWhiteboard = toggleWhiteboard;\n }, [toggleWhiteboard]);\n\n return {\n /** is whiteboard enabled for the room */\n whiteboardEnabled: FeatureFlags.enableWhiteboard,\n /** owner of the active whiteboard, can also be used to check if whiteboard is active */\n whiteboardOwner,\n amIWhiteboardOwner,\n toggleWhiteboard,\n };\n};\n", "import { useCallback } from 'react';\nimport {\n selectAudioPlaylist,\n selectAudioPlaylistTrackByPeerID,\n selectPeerSharingAudioPlaylist,\n useHMSActions,\n useHMSStore,\n} from '@100mslive/react-sdk';\n\nexport const usePlaylistMusic = () => {\n const peer = useHMSStore(selectPeerSharingAudioPlaylist);\n const track = useHMSStore(selectAudioPlaylistTrackByPeerID(peer?.id));\n const selection = useHMSStore(selectAudioPlaylist.selectedItem);\n const hmsActions = useHMSActions();\n\n const play = useCallback(\n async selectedId => {\n await hmsActions.audioPlaylist.play(selectedId);\n },\n [hmsActions],\n );\n\n const pause = useCallback(() => {\n hmsActions.audioPlaylist.pause();\n }, [hmsActions]);\n\n const setVolume = useCallback(\n value => {\n hmsActions.setVolume(value, track?.id);\n },\n [hmsActions, track],\n );\n\n return { selection, peer, track, play, pause, setVolume };\n};\n", "import { useCallback } from 'react';\nimport {\n selectPeerSharingAudio,\n selectScreenShareAudioByPeerID,\n useHMSActions,\n useHMSStore,\n} from '@100mslive/react-sdk';\n\nexport const useScreenshareAudio = () => {\n const hmsActions = useHMSActions();\n const peer = useHMSStore(selectPeerSharingAudio);\n const track = useHMSStore(selectScreenShareAudioByPeerID(peer?.id));\n\n const handleMute = useCallback(() => {\n if (!peer.isLocal) {\n hmsActions.setVolume(!track.volume ? 100 : 0, track.id);\n } else {\n hmsActions.setEnabledTrack(track.id, !track.enabled).catch(console.error);\n }\n }, [peer, hmsActions, track]);\n\n let muted = undefined;\n if (peer && track) {\n muted = peer.isLocal ? !track.enabled : track.volume === 0;\n }\n\n return { peer, track, muted, onToggle: handleMute };\n};\n", "import React, { useState } from 'react';\nimport { selectLocalPeerID, selectPeerSharingVideoPlaylist, useHMSStore, useScreenShare } from '@100mslive/react-sdk';\nimport {\n AudioPlayerIcon,\n ChevronDownIcon,\n ChevronUpIcon,\n MusicIcon,\n PencilDrawIcon,\n ShareScreenIcon,\n VideoPlayerIcon,\n} from '@100mslive/react-icons';\nimport { Box, Dropdown, Flex, Text, Tooltip } from '../../../';\nimport { useWhiteboardMetadata } from '../../plugins/whiteboard/useWhiteboardMetadata';\nimport { useUISettings } from '../AppData/useUISettings';\nimport { usePlaylistMusic } from '../hooks/usePlaylistMusic';\nimport { useScreenshareAudio } from '../hooks/useScreenshareAudio';\nimport { UI_SETTINGS } from '../../common/constants';\n\nexport const getRecordingText = ({ isBrowserRecordingOn, isServerRecordingOn, isHLSRecordingOn }, delimiter = ', ') => {\n if (!isBrowserRecordingOn && !isServerRecordingOn && !isHLSRecordingOn) {\n return '';\n }\n const title = [];\n if (isBrowserRecordingOn) {\n title.push('Browser');\n }\n if (isServerRecordingOn) {\n title.push('Server');\n }\n if (isHLSRecordingOn) {\n title.push('HLS');\n }\n return title.join(delimiter);\n};\n\n/**\n * Display state of recording, streaming, playlist, whiteboard\n */\nexport const AdditionalRoomState = () => {\n const playlist = usePlaylistMusic();\n const isAudioOnly = useUISettings(UI_SETTINGS.isAudioOnly);\n const screenshareAudio = useScreenshareAudio();\n const [open, setOpen] = useState(false);\n const isPlaylistInactive = [\n !playlist.peer || !playlist.track,\n !playlist.peer?.isLocal && !playlist.track?.enabled,\n playlist.peer?.isLocal && !playlist.selection,\n ].some(Boolean);\n const isAudioshareInactive = [\n !screenshareAudio.peer || !screenshareAudio.track,\n !screenshareAudio.peer?.isLocal && !screenshareAudio.track?.enabled,\n ].some(Boolean);\n\n const peerSharingPlaylist = useHMSStore(selectPeerSharingVideoPlaylist);\n const localPeerID = useHMSStore(selectLocalPeerID);\n const isVideoPlayListPlaying = !!peerSharingPlaylist?.id;\n const { screenSharingPeerName, screenSharingPeerId, screenShareVideoTrackId } = useScreenShare();\n\n const isVideoScreenSharingOn = !!screenShareVideoTrackId;\n const { whiteboardOwner, amIWhiteboardOwner, toggleWhiteboard } = useWhiteboardMetadata();\n const shouldShowScreenShareState = isAudioOnly && isVideoScreenSharingOn;\n const shouldShowVideoState = isAudioOnly && isVideoPlayListPlaying;\n if (\n isPlaylistInactive &&\n isAudioshareInactive &&\n !shouldShowScreenShareState &&\n !shouldShowVideoState &&\n !whiteboardOwner\n ) {\n return null;\n }\n\n return (\n <Dropdown.Root open={open} onOpenChange={setOpen}>\n <Dropdown.Trigger asChild>\n <Flex\n align=\"center\"\n css={{\n color: '$on_primary_high',\n borderRadius: '$1',\n border: '1px solid $on_surface_low',\n padding: '$4',\n '@sm': { display: 'none' },\n }}\n data-testid=\"record_status_dropdown\"\n >\n {!isAudioshareInactive && (\n <Tooltip title=\"Screenshare Audio\">\n <Flex align=\"center\" css={{ color: '$on_primary_high', mx: '$2' }}>\n <MusicIcon width={24} height={24} />\n </Flex>\n </Tooltip>\n )}\n {shouldShowScreenShareState && (\n <Tooltip title=\"Screenshare\">\n <Flex align=\"center\" css={{ color: '$on_primary_high', mx: '$2' }}>\n <ShareScreenIcon width={24} height={24} />\n </Flex>\n </Tooltip>\n )}\n {shouldShowVideoState && (\n <Tooltip title=\"video playlist\">\n <Flex align=\"center\" css={{ color: '$on_primary_high', mx: '$2' }}>\n <VideoPlayerIcon width={24} height={24} />\n </Flex>\n </Tooltip>\n )}\n {!isPlaylistInactive && (\n <Tooltip title=\"Playlist Music\">\n <Flex align=\"center\" css={{ color: '$on_primary_high', mx: '$2' }}>\n <AudioPlayerIcon width={24} height={24} />\n </Flex>\n </Tooltip>\n )}\n {whiteboardOwner && (\n <Tooltip title=\"Whiteboard\">\n <Flex align=\"center\" css={{ color: '$on_primary_high', mx: '$2' }}>\n <PencilDrawIcon width={24} height={24} />\n </Flex>\n </Tooltip>\n )}\n <Box css={{ '@lg': { display: 'none' }, color: '$on_surface_low' }}>\n {open ? <ChevronUpIcon /> : <ChevronDownIcon />}\n </Box>\n </Flex>\n </Dropdown.Trigger>\n <Dropdown.Content sideOffset={5} align=\"end\" css={{ w: '$60' }}>\n {!isPlaylistInactive && (\n <Dropdown.Item css={{ color: '$on_primary_high' }}>\n <AudioPlayerIcon width={24} height={24} />\n <Text variant=\"sm\" css={{ ml: '$2', flex: '1 1 0' }}>\n Playlist is playing\n </Text>\n {playlist.peer.isLocal ? (\n <Text\n variant=\"sm\"\n css={{ color: '$alert_error_default', cursor: 'pointer', ml: '$2' }}\n onClick={e => {\n e.preventDefault();\n playlist.selection.playing ? playlist.pause() : playlist.play(playlist.selection.id);\n }}\n >\n {playlist.selection.playing ? 'Pause' : 'Play'}\n </Text>\n ) : (\n <Text\n variant=\"sm\"\n css={{ color: '$alert_error_default', ml: '$2', cursor: 'pointer' }}\n onClick={e => {\n e.preventDefault();\n playlist.setVolume(!playlist.track.volume ? 100 : 0);\n }}\n >\n {playlist.track.volume === 0 ? 'Unmute' : 'Mute'}\n </Text>\n )}\n </Dropdown.Item>\n )}\n {!isAudioshareInactive && (\n <Dropdown.Item css={{ color: '$on_primary_high' }}>\n <MusicIcon width={24} height={24} />\n <Text variant=\"sm\" css={{ ml: '$2', flex: '1 1 0' }}>\n Music is playing\n </Text>\n <Text\n variant=\"sm\"\n css={{ color: '$alert_error_default', ml: '$2', cursor: 'pointer' }}\n onClick={e => {\n e.preventDefault();\n screenshareAudio.onToggle();\n }}\n >\n {screenshareAudio.muted ? 'Unmute' : 'Mute'}\n </Text>\n </Dropdown.Item>\n )}\n {shouldShowScreenShareState && (\n <Dropdown.Item css={{ color: '$on_primary_high' }}>\n <ShareScreenIcon width={24} height={24} />\n <Text variant=\"sm\" css={{ ml: '$2', flex: '1 1 0' }}>\n {`Shared by: ${screenSharingPeerId === localPeerID ? 'You' : screenSharingPeerName}`}\n </Text>\n </Dropdown.Item>\n )}\n {shouldShowVideoState && (\n <Dropdown.Item css={{ color: '$on_primary_high' }}>\n <VideoPlayerIcon width={24} height={24} />\n <Text variant=\"sm\" css={{ ml: '$2', flex: '1 1 0' }}>\n {`Shared by: ${peerSharingPlaylist.id === localPeerID ? 'You' : peerSharingPlaylist.name}`}\n </Text>\n </Dropdown.Item>\n )}\n {whiteboardOwner && (\n <Dropdown.Item css={{ color: '$on_primary_high' }}>\n <PencilDrawIcon width={24} height={24} />\n <Text variant=\"sm\" css={{ ml: '$2', flex: '1 1 0' }}>\n Whiteboard Owner - {whiteboardOwner.name}\n {amIWhiteboardOwner && '(You)'}\n </Text>\n {amIWhiteboardOwner && (\n <Text\n variant=\"sm\"\n css={{ color: '$alert_error_default', ml: '$2', cursor: 'pointer' }}\n onClick={e => {\n e.preventDefault();\n toggleWhiteboard();\n }}\n >\n Stop\n </Text>\n )}\n </Dropdown.Item>\n )}\n </Dropdown.Content>\n </Dropdown.Root>\n );\n};\n", "import {\n ConferencingScreen,\n DefaultPreviewScreen_Elements,\n LeaveScreen,\n PreviewScreen,\n Screens,\n} from '@100mslive/types-prebuilt';\nimport { useRoomLayout } from '..';\n\nexport type useRoomLayoutScreenProps = {\n screen: keyof Screens;\n};\n\ntype useRoomLayoutScreenReturnType<T extends useRoomLayoutScreenProps> = T['screen'] extends 'conferencing'\n ? ConferencingScreen\n : T['screen'] extends 'leave'\n ? LeaveScreen\n : T['screen'] extends 'preview'\n ? PreviewScreen\n : undefined;\n\nfunction useRoomLayoutScreen<T extends useRoomLayoutScreenProps>({\n screen,\n}: T): useRoomLayoutScreenReturnType<T> | undefined {\n const roomLayout = useRoomLayout();\n const screenProps = roomLayout?.screens?.[screen] as useRoomLayoutScreenReturnType<T> | undefined;\n return screenProps;\n}\n\nexport function useRoomLayoutPreviewScreen() {\n const screenProps = useRoomLayoutScreen({ screen: 'preview' });\n const isPreviewScreenEnabled = !!screenProps;\n let elements: DefaultPreviewScreen_Elements | undefined;\n let screenType: keyof PreviewScreen | undefined;\n if (isPreviewScreenEnabled) {\n screenType = Object.keys(screenProps)[0] as keyof PreviewScreen;\n elements = screenProps[screenType]?.elements;\n }\n return {\n isPreviewScreenEnabled,\n elements,\n screenType,\n };\n}\n\nexport function useRoomLayoutConferencingScreen() {\n const screenProps = useRoomLayoutScreen({ screen: 'conferencing' }) || {};\n const screenType = Object.keys(screenProps)[0] as keyof ConferencingScreen;\n const elements = screenProps[screenType]?.elements;\n // @ts-ignore\n const hideSections: string[] = screenProps[screenType]?.hideSections || [];\n return {\n hideSections,\n elements,\n screenType,\n };\n}\n\nexport function useRoomLayoutLeaveScreen() {\n const screenProps = useRoomLayoutScreen({ screen: 'leave' });\n const isLeaveScreenEnabled = !!screenProps;\n return {\n isLeaveScreenEnabled,\n };\n}\n", "import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useMedia } from 'react-use';\nimport {\n HMSRoomState,\n selectHLSState,\n selectIsConnectedToRoom,\n selectPermissions,\n selectRoomState,\n useHMSActions,\n useHMSStore,\n useRecordingStreaming,\n} from '@100mslive/react-sdk';\nimport { AlertTriangleIcon, CrossIcon, RecordIcon } from '@100mslive/react-icons';\nimport { Box, Button, config as cssConfig, Flex, HorizontalDivider, Loading, Popover, Text, Tooltip } from '../../..';\nimport { Sheet } from '../../../Sheet';\n// @ts-ignore\nimport { ToastManager } from '../Toast/ToastManager';\n// @ts-ignore\nimport { AdditionalRoomState, getRecordingText } from './AdditionalRoomState';\nimport { useRoomLayoutConferencingScreen } from '../../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';\n// @ts-ignore\nimport { useSetAppDataByKey } from '../AppData/useUISettings';\n// @ts-ignore\nimport { formatTime } from '../../common/utils';\n// @ts-ignore\nimport { APP_DATA } from '../../common/constants';\n\nexport const LiveStatus = () => {\n const { isHLSRunning, isRTMPRunning } = useRecordingStreaming();\n const hlsState = useHMSStore(selectHLSState);\n const isMobile = useMedia(cssConfig.media.md);\n const intervalRef = useRef<NodeJS.Timeout | null>(null);\n const { screenType } = useRoomLayoutConferencingScreen();\n const [liveTime, setLiveTime] = useState(0);\n\n const startTimer = useCallback(() => {\n intervalRef.current = setInterval(() => {\n const timeStamp = hlsState?.variants[0]?.[screenType === 'hls_live_streaming' ? 'startedAt' : 'initialisedAt'];\n if (hlsState?.running && timeStamp) {\n setLiveTime(Date.now() - timeStamp.getTime());\n }\n }, 1000);\n }, [hlsState?.running, hlsState?.variants]);\n\n useEffect(() => {\n if (hlsState?.running) {\n startTimer();\n }\n if (!hlsState?.running && intervalRef.current) {\n clearInterval(intervalRef.current);\n }\n return () => {\n if (intervalRef.current) {\n clearInterval(intervalRef.current);\n }\n };\n }, [hlsState.running, isMobile, startTimer]);\n\n if (!isHLSRunning && !isRTMPRunning) {\n return null;\n }\n return (\n <Flex\n align=\"center\"\n gap=\"1\"\n css={{\n border: '1px solid $border_default',\n padding: '$4 $6 $4 $6',\n borderRadius: '$1',\n }}\n >\n <Box css={{ w: '$4', h: '$4', r: '$round', bg: '$alert_error_default', mr: '$2' }} />\n <Flex align=\"center\" gap=\"2\">\n <Text variant={!isMobile ? 'button' : 'body2'}>LIVE</Text>\n <Text variant=\"caption\">{hlsState?.variants?.length > 0 ? formatTime(liveTime) : ''}</Text>\n </Flex>\n </Flex>\n );\n};\n\nexport const RecordingStatus = () => {\n const { isBrowserRecordingOn, isServerRecordingOn, isHLSRecordingOn, isRecordingOn } = useRecordingStreaming();\n const permissions = useHMSStore(selectPermissions);\n const isMobile = useMedia(cssConfig.media.md);\n\n if (\n !isRecordingOn ||\n // if only browser recording is enabled, stop recording is shown\n // so no need to show this as it duplicates\n [permissions?.browserRecording, !isServerRecordingOn, !isHLSRecordingOn, isBrowserRecordingOn].every(\n value => !!value,\n )\n ) {\n // show recording icon in mobile without popover\n if (!(isMobile && isRecordingOn)) return null;\n }\n\n return (\n <Tooltip\n boxCss={{ zIndex: 1 }}\n title={getRecordingText({\n isBrowserRecordingOn,\n isServerRecordingOn,\n isHLSRecordingOn,\n })}\n >\n <Flex\n css={{\n color: '$alert_error_default',\n alignItems: 'center',\n }}\n >\n <RecordIcon width={24} height={24} />\n </Flex>\n </Tooltip>\n );\n};\n\nconst StartRecording = () => {\n const permissions = useHMSStore(selectPermissions);\n const [open, setOpen] = useState(false);\n const [recordingStarted, setRecordingState] = useSetAppDataByKey(APP_DATA.recordingStarted);\n const { isBrowserRecordingOn, isStreamingOn, isHLSRunning } = useRecordingStreaming();\n const hmsActions = useHMSActions();\n if (!permissions?.browserRecording || isHLSRunning) {\n return null;\n }\n if (isBrowserRecordingOn) {\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <Popover.Trigger asChild>\n <Button variant=\"danger\" data-testid=\"stop_recording\" icon outlined onClick={() => setOpen(true)}>\n <RecordIcon />\n <Text as=\"span\" css={{ '@md': { display: 'none' }, color: 'currentColor' }}>\n Stop Recording\n </Text>\n </Button>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content align=\"end\" sideOffset={8} css={{ w: '$64' }}>\n <Text variant=\"body1\" css={{ color: '$on_surface_medium' }}>\n Are you sure you want to end the recording?\n </Text>\n <Button\n data-testid=\"stop_recording_confirm\"\n variant=\"danger\"\n icon\n css={{ ml: 'auto' }}\n onClick={async () => {\n try {\n await hmsActions.stopRTMPAndRecording();\n } catch (error) {\n const err = error as Error;\n ToastManager.addToast({\n title: err.message,\n variant: 'error',\n });\n }\n setOpen(false);\n }}\n >\n Stop\n </Button>\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n );\n }\n return (\n <Button\n data-testid=\"start_recording\"\n variant=\"standard\"\n icon\n disabled={recordingStarted || isStreamingOn}\n onClick={async () => {\n try {\n setRecordingState(true);\n await hmsActions.startRTMPOrRecording({\n record: true,\n });\n } catch (error) {\n const err = error as Error;\n if (err.message.includes('stream already running')) {\n ToastManager.addToast({\n title: 'Recording already running',\n variant: 'error',\n });\n } else {\n ToastManager.addToast({\n title: err.message,\n variant: 'error',\n });\n }\n setRecordingState(false);\n }\n }}\n >\n {recordingStarted ? <Loading size={24} color=\"currentColor\" /> : <RecordIcon />}\n <Text as=\"span\" css={{ '@md': { display: 'none' }, color: 'currentColor' }}>\n {recordingStarted ? 'Starting' : 'Start'} Recording\n </Text>\n </Button>\n );\n};\n\n/**\n * @description only start recording button will be shown.\n */\nexport const StreamActions = () => {\n const isConnected = useHMSStore(selectIsConnectedToRoom);\n const isMobile = useMedia(cssConfig.media.md);\n const roomState = useHMSStore(selectRoomState);\n\n return (\n <Flex align=\"center\" css={{ gap: '$4' }}>\n <AdditionalRoomState />\n {!isMobile && (\n <Flex align=\"center\" css={{ gap: '$4' }}>\n <RecordingStatus />\n {roomState !== HMSRoomState.Preview ? <LiveStatus /> : null}\n </Flex>\n )}\n {isConnected && !isMobile ? <StartRecording /> : null}\n </Flex>\n );\n};\n\nexport const StopRecordingInSheet = ({\n onStopRecording,\n onClose,\n}: {\n onStopRecording: () => void;\n onClose: () => void;\n}) => {\n return (\n <Sheet.Root open={true}>\n <Sheet.Content>\n <Sheet.Title css={{ p: '$10' }}>\n <Flex direction=\"row\" justify=\"between\" css={{ w: '100%', c: '$alert_error_default' }}>\n <Flex justify=\"start\" align=\"center\" gap=\"3\">\n <AlertTriangleIcon />\n <Text variant=\"h5\" css={{ c: '$alert_error_default' }}>\n Stop Recording\n </Text>\n </Flex>\n <Sheet.Close css={{ color: 'white' }} onClick={onClose}>\n <CrossIcon />\n </Sheet.Close>\n </Flex>\n </Sheet.Title>\n <HorizontalDivider />\n <Box as=\"div\" css={{ p: '$10', overflowY: 'scroll', maxHeight: '70vh' }}>\n <Text variant=\"caption\" css={{ c: '$on_surface_medium', pb: '$8' }}>\n Are you sure you want to stop recording? You can\u2019t undo this action.\n </Text>\n <Button\n variant=\"danger\"\n css={{ width: '100%' }}\n type=\"submit\"\n data-testid=\"popup_change_btn\"\n onClick={onStopRecording}\n >\n Stop\n </Button>\n </Box>\n </Sheet.Content>\n </Sheet.Root>\n );\n};\n", "import React from 'react';\nimport { Flex } from '../../../Layout';\nimport { Text } from '../../../Text';\nimport { styled } from '../../../Theme';\n\nconst ActionTileRoot = ({ active, disabled = false, children, onClick, ...props }) => (\n <Flex\n {...props}\n css={{\n flexDirection: 'column',\n alignItems: 'center',\n p: '$4 $2',\n position: 'relative',\n bg: active ? '$surface_bright' : '',\n color: disabled ? '$on_surface_low' : '$on_surface_high',\n gap: '$4',\n r: '$1',\n '&:hover': {\n bg: '$surface_bright',\n },\n }}\n onClick={() => {\n if (!disabled) {\n onClick();\n }\n }}\n >\n {children}\n </Flex>\n);\n\nconst ActionTileCount = styled(Text, {\n position: 'absolute',\n top: 0,\n right: 0,\n fontWeight: '$semiBold',\n color: '$on_surface_high',\n p: '$1 $2',\n minWidth: '$9',\n textAlign: 'center',\n boxSizing: 'border-box',\n bg: '$surface_bright',\n r: '$round',\n letterSpacing: '1.5px',\n fontSize: '$tiny !important',\n lineHeight: '$tiny !important',\n});\n\nconst ActionTileTitle = styled(Text, {\n fontWeight: '$semiBold',\n color: 'inherit',\n textAlign: 'center',\n fontSize: '$xs !important',\n});\n\nexport const ActionTile = {\n Root: ActionTileRoot,\n Title: ActionTileTitle,\n Count: ActionTileCount,\n};\n", "import React from 'react';\nimport { ChevronLeftIcon, CrossIcon } from '@100mslive/react-icons';\nimport { Button } from '../../../Button';\nimport { Input } from '../../../Input';\nimport { Box, Flex } from '../../../Layout';\nimport { Text } from '../../../Text';\n\nexport const ChangeNameContent = ({\n changeName,\n setCurrentName,\n currentName,\n localPeerName,\n isMobile,\n onExit,\n onBackClick,\n}) => {\n return (\n <form\n onSubmit={async e => {\n e.preventDefault();\n await changeName();\n }}\n >\n <Text\n variant={isMobile ? 'md' : 'lg'}\n css={{\n color: '$on_surface_high',\n fontWeight: '$semiBold',\n display: 'flex',\n pb: '$4',\n '@md': { px: '$8', borderBottom: '1px solid $border_default' },\n }}\n >\n {isMobile ? <ChevronLeftIcon onClick={onBackClick} style={{ marginRight: '0.5rem' }} /> : null}\n Change Name\n <Box\n css={{ color: 'inherit', ml: 'auto', '&:hover': { color: '$on_surface_medium', cursor: 'pointer' } }}\n onClick={onExit}\n >\n <CrossIcon />\n </Box>\n </Text>\n <Text variant=\"sm\" css={{ color: '$on_surface_medium', pb: '$6', mb: '$8', '@md': { px: '$8', mt: '$4' } }}>\n Your name will be visible to other participants in the session.\n </Text>\n <Flex justify=\"center\" align=\"center\" css={{ my: '$8', w: '100%', '@md': { px: '$8' } }}>\n <Input\n css={{ width: '100%', bg: '$surface_default' }}\n value={currentName}\n // Prevents popup from showing up on chrome mweb\n type={isMobile ? 'search' : 'text'}\n onChange={e => {\n setCurrentName(e.target.value);\n }}\n autoComplete=\"name\"\n required\n data-testid=\"change_name_field\"\n onKeyDown={async e => {\n if (e.key === 'Enter' && currentName.trim().length > 0 && currentName !== localPeerName) {\n e.preventDefault();\n if (isMobile) {\n return;\n }\n changeName();\n }\n }}\n />\n </Flex>\n\n <Flex\n justify=\"between\"\n align=\"center\"\n css={{\n width: '100%',\n gap: '$md',\n mt: '$10',\n '@md': { px: '$4' },\n }}\n >\n {isMobile ? null : (\n <Button\n variant=\"standard\"\n css={{ w: '100%' }}\n outlined\n type=\"submit\"\n disabled={!localPeerName}\n onClick={onExit}\n >\n Cancel\n </Button>\n )}\n\n <Button\n variant=\"primary\"\n css={{ width: '100%' }}\n type=\"submit\"\n disabled={!currentName.trim() || currentName.trim() === localPeerName}\n data-testid=\"popup_change_btn\"\n >\n Change\n </Button>\n </Flex>\n </form>\n );\n};\n", "import React, { useState } from 'react';\nimport { useMedia } from 'react-use';\nimport { selectLocalPeerName, useHMSActions, useHMSStore } from '@100mslive/react-sdk';\nimport { config as cssConfig, Dialog } from '../../../';\nimport { Sheet } from '../../../Sheet';\nimport { ToastManager } from '../Toast/ToastManager';\nimport { ChangeNameContent } from './ChangeNameContent';\nimport { UserPreferencesKeys, useUserPreferences } from '../hooks/useUserPreferences';\n\nexport const ChangeNameModal = ({ onOpenChange, openParentSheet = null }) => {\n const [previewPreference, setPreviewPreference] = useUserPreferences(UserPreferencesKeys.PREVIEW);\n const hmsActions = useHMSActions();\n const localPeerName = useHMSStore(selectLocalPeerName);\n const [currentName, setCurrentName] = useState(localPeerName);\n const isMobile = useMedia(cssConfig.media.md);\n\n const changeName = async () => {\n const name = currentName.trim();\n if (!name || name === localPeerName) {\n return;\n }\n try {\n await hmsActions.changeName(name);\n setPreviewPreference({\n ...(previewPreference || {}),\n name,\n });\n } catch (error) {\n console.error('failed to update name', error);\n ToastManager.addToast({ title: error.message });\n } finally {\n onOpenChange(false);\n }\n };\n\n const props = {\n changeName,\n setCurrentName,\n currentName,\n localPeerName,\n isMobile,\n onExit: () => onOpenChange(false),\n onBackClick: () => {\n onOpenChange(false);\n openParentSheet();\n },\n };\n\n if (isMobile) {\n return (\n <Sheet.Root defaultOpen onOpenChange={onOpenChange}>\n <Sheet.Content css={{ bg: '$surface_dim', p: '$8 0' }}>\n <ChangeNameContent {...props} />\n </Sheet.Content>\n </Sheet.Root>\n );\n }\n\n return (\n <Dialog.Root defaultOpen onOpenChange={onOpenChange}>\n <Dialog.Portal>\n <Dialog.Overlay />\n <Dialog.Content css={{ bg: '$surface_dim', width: 'min(400px,80%)', p: '$10' }}>\n <ChangeNameContent {...props} />\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n );\n};\n", "import React, { useRef, useState } from 'react';\nimport { useClickAway } from 'react-use';\nimport { ConferencingScreen, DefaultConferencingScreen_Elements } from '@100mslive/types-prebuilt';\nimport {\n selectIsConnectedToRoom,\n selectPeerCount,\n selectPermissions,\n useAVToggle,\n useHMSActions,\n useHMSStore,\n useRecordingStreaming,\n} from '@100mslive/react-sdk';\nimport {\n BrbIcon,\n CrossIcon,\n DragHandleIcon,\n EmojiIcon,\n HandIcon,\n HandRaiseSlashedIcon,\n PeopleIcon,\n QuizIcon,\n RecordIcon,\n SettingsIcon,\n} from '@100mslive/react-icons';\nimport { Box, Loading, Tooltip } from '../../../..';\nimport { Sheet } from '../../../../Sheet';\n// @ts-ignore: No implicit any\nimport IconButton from '../../../IconButton';\n// @ts-ignore: No implicit any\nimport { EmojiReaction } from '../../EmojiReaction';\n// @ts-ignore: No implicit any\nimport { StopRecordingInSheet } from '../../Header/StreamActions';\n// @ts-ignore: No implicit any\nimport SettingsModal from '../../Settings/SettingsModal';\n// @ts-ignore: No implicit any\nimport { ToastManager } from '../../Toast/ToastManager';\n// @ts-ignore: No implicit any\nimport { ActionTile } from '../ActionTile';\n// @ts-ignore: No implicit any\nimport { ChangeNameModal } from '../ChangeNameModal';\n// @ts-ignore: No implicit any\nimport { MuteAllModal } from '../MuteAllModal';\n// @ts-ignore: No implicit any\nimport { usePollViewToggle, useSidepaneToggle } from '../../AppData/useSidepane';\n// @ts-ignore: No implicit Any\nimport { useShowPolls } from '../../AppData/useUISettings';\n// @ts-ignore: No implicit any\nimport { useDropdownList } from '../../hooks/useDropdownList';\n// @ts-ignore: No implicit any\nimport { useMyMetadata } from '../../hooks/useMetadata';\n// @ts-ignore: No implicit any\nimport { getFormattedCount } from '../../../common/utils';\n// @ts-ignore: No implicit any\nimport { SIDE_PANE_OPTIONS } from '../../../common/constants';\n\n// const VirtualBackground = React.lazy(() => import('../../../plugins/VirtualBackground/VirtualBackground'));\n\nconst MODALS = {\n CHANGE_NAME: 'changeName',\n SELF_ROLE_CHANGE: 'selfRoleChange',\n MORE_SETTINGS: 'moreSettings',\n START_RECORDING: 'startRecording',\n DEVICE_SETTINGS: 'deviceSettings',\n STATS_FOR_NERDS: 'statsForNerds',\n BULK_ROLE_CHANGE: 'bulkRoleChange',\n MUTE_ALL: 'muteAll',\n EMBED_URL: 'embedUrl',\n};\n\nexport const MwebOptions = ({\n elements,\n screenType,\n}: {\n elements: DefaultConferencingScreen_Elements;\n screenType: keyof ConferencingScreen;\n}) => {\n const hmsActions = useHMSActions();\n const permissions = useHMSStore(selectPermissions);\n const isConnected = useHMSStore(selectIsConnectedToRoom);\n const { isBrowserRecordingOn, isStreamingOn, isHLSRunning } = useRecordingStreaming();\n const [openModals, setOpenModals] = useState(new Set());\n const [openOptionsSheet, setOpenOptionsSheet] = useState(false);\n const [openSettingsSheet, setOpenSettingsSheet] = useState(false);\n const [showEmojiCard, setShowEmojiCard] = useState(false);\n const [showRecordingOn, setShowRecordingOn] = useState(false);\n const [isRecordingLoading, setIsRecordingLoading] = useState(false);\n const toggleParticipants = useSidepaneToggle(SIDE_PANE_OPTIONS.PARTICIPANTS);\n const { showPolls } = useShowPolls();\n const togglePollView = usePollViewToggle();\n const peerCount = useHMSStore(selectPeerCount);\n const emojiCardRef = useRef(null);\n const { isBRBOn, toggleBRB, isHandRaised, toggleHandRaise } = useMyMetadata();\n const { toggleAudio, toggleVideo } = useAVToggle();\n const noAVPermissions = !(toggleAudio || toggleVideo);\n // const isVideoOn = useHMSStore(selectIsLocalVideoEnabled);\n\n useDropdownList({ open: openModals.size > 0 || openOptionsSheet || openSettingsSheet, name: 'MoreSettings' });\n\n const updateState = (modalName: string, value: boolean) => {\n setOpenModals(modals => {\n const copy = new Set(modals);\n if (value) {\n copy.add(modalName);\n } else {\n copy.delete(modalName);\n }\n return copy;\n });\n };\n\n useClickAway(emojiCardRef, () => setShowEmojiCard(false));\n\n return (\n <>\n <Sheet.Root open={openOptionsSheet} onOpenChange={setOpenOptionsSheet}>\n <Tooltip title=\"More options\">\n <Sheet.Trigger asChild data-testid=\"more_settings_btn\">\n <IconButton>\n <DragHandleIcon />\n </IconButton>\n </Sheet.Trigger>\n </Tooltip>\n <Sheet.Content css={{ bg: '$surface_dim', pb: '$14' }}>\n <Sheet.Title\n css={{\n display: 'flex',\n color: '$on_surface_high',\n w: '100%',\n justifyContent: 'space-between',\n fontSize: '$md',\n mt: '$8',\n px: '$10',\n pb: '$8',\n borderBottom: '1px solid $border_default',\n mb: '$8',\n alignItems: 'center',\n }}\n >\n Options\n <Sheet.Close>\n <Box css={{ color: '$on_surface_high' }}>\n <CrossIcon />\n </Box>\n </Sheet.Close>\n </Sheet.Title>\n <Box\n css={{\n display: 'grid',\n gridTemplateColumns: '1fr 1fr 1fr',\n gridTemplateRows: 'auto',\n gridColumnGap: '$6',\n gridRowGap: '$8',\n px: '$9',\n }}\n >\n {elements?.participant_list && (\n <ActionTile.Root\n onClick={() => {\n toggleParticipants();\n setOpenOptionsSheet(false);\n }}\n >\n <ActionTile.Count>{getFormattedCount(peerCount)}</ActionTile.Count>\n <PeopleIcon />\n <ActionTile.Title>Participants</ActionTile.Title>\n </ActionTile.Root>\n )}\n\n {!noAVPermissions ? (\n <ActionTile.Root\n active={isHandRaised}\n onClick={() => {\n toggleHandRaise();\n setOpenOptionsSheet(false);\n }}\n >\n {isHandRaised ? <HandRaiseSlashedIcon /> : <HandIcon />}\n <ActionTile.Title>{isHandRaised ? 'Lower' : 'Raise'} Hand</ActionTile.Title>\n </ActionTile.Root>\n ) : null}\n\n {/* {isVideoOn ? (\n <Suspense fallback=\"\">\n <VirtualBackground asActionTile onVBClick={() => setOpenOptionsSheet(false)} />\n </Suspense>\n ) : null} */}\n\n {elements?.emoji_reactions && (\n <ActionTile.Root\n onClick={() => {\n setShowEmojiCard(true);\n setOpenOptionsSheet(false);\n }}\n >\n <EmojiIcon />\n <ActionTile.Title>Emoji Reactions</ActionTile.Title>\n </ActionTile.Root>\n )}\n\n {showPolls && (\n <ActionTile.Root\n onClick={() => {\n togglePollView();\n setOpenOptionsSheet(false);\n }}\n >\n <QuizIcon />\n <ActionTile.Title>Polls and Quizzes</ActionTile.Title>\n </ActionTile.Root>\n )}\n\n {elements?.brb && (\n <ActionTile.Root\n active={isBRBOn}\n onClick={() => {\n toggleBRB();\n setOpenOptionsSheet(false);\n }}\n >\n <BrbIcon />\n <ActionTile.Title>Be Right Back</ActionTile.Title>\n </ActionTile.Root>\n )}\n\n <ActionTile.Root\n onClick={() => {\n setOpenSettingsSheet(true);\n setOpenOptionsSheet(false);\n }}\n >\n <SettingsIcon />\n <ActionTile.Title>Settings</ActionTile.Title>\n </ActionTile.Root>\n\n {isConnected && permissions?.browserRecording ? (\n <ActionTile.Root\n disabled={isHLSRunning}\n onClick={async () => {\n if (isRecordingLoading) {\n return;\n }\n if (isBrowserRecordingOn || isStreamingOn) {\n setOpenOptionsSheet(false);\n setShowRecordingOn(true);\n } else {\n // start recording\n setIsRecordingLoading(true);\n try {\n await hmsActions.startRTMPOrRecording({\n record: true,\n });\n setOpenOptionsSheet(false);\n setIsRecordingLoading(false);\n } catch (error) {\n // @ts-ignore\n if (error.message.includes('stream already running')) {\n ToastManager.addToast({\n title: 'Recording already running',\n variant: 'error',\n });\n } else {\n ToastManager.addToast({\n // @ts-ignore\n title: error.message,\n variant: 'error',\n });\n }\n setIsRecordingLoading(false);\n }\n }\n if (isHLSRunning) {\n setOpenOptionsSheet(false);\n }\n }}\n >\n {isRecordingLoading ? <Loading /> : <RecordIcon />}\n <ActionTile.Title>\n {isBrowserRecordingOn\n ? 'Recording On'\n : isRecordingLoading\n ? 'Starting Recording'\n : 'Start Recording'}\n </ActionTile.Title>\n </ActionTile.Root>\n ) : null}\n </Box>\n </Sheet.Content>\n </Sheet.Root>\n <SettingsModal open={openSettingsSheet} onOpenChange={setOpenSettingsSheet} screenType={screenType} />\n {openModals.has(MODALS.MUTE_ALL) && (\n <MuteAllModal onOpenChange={(value: boolean) => updateState(MODALS.MUTE_ALL, value)} isMobile />\n )}\n {openModals.has(MODALS.CHANGE_NAME) && (\n <ChangeNameModal\n onOpenChange={(value: boolean) => updateState(MODALS.CHANGE_NAME, value)}\n openParentSheet={() => setOpenOptionsSheet(true)}\n />\n )}\n\n {showEmojiCard && (\n <Box\n ref={emojiCardRef}\n css={{\n maxWidth: '100%',\n w: '100%',\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: '$18',\n bg: '$surface_default',\n zIndex: '10',\n p: '$8',\n pb: 0,\n r: '$1',\n mx: '$4',\n }}\n >\n <EmojiReaction />\n </Box>\n )}\n {showRecordingOn && (\n <StopRecordingInSheet\n onClose={() => setShowRecordingOn(false)}\n onStopRecording={async () => {\n try {\n await hmsActions.stopRTMPAndRecording();\n setShowRecordingOn(false);\n } catch (error) {\n ToastManager.addToast({\n // @ts-ignore\n title: error.message,\n variant: 'error',\n });\n }\n }}\n />\n )}\n </>\n );\n};\n", "import React from 'react';\nimport { useMedia } from 'react-use';\nimport {\n ConferencingScreen,\n DefaultConferencingScreen_Elements,\n HLSLiveStreamingScreen_Elements,\n} from '@100mslive/types-prebuilt';\n// @ts-ignore: No implicit Any\nimport { DesktopOptions } from './SplitComponents/DesktopOptions';\n// @ts-ignore: No implicit Any\nimport { MwebOptions } from './SplitComponents/MwebOptions';\nimport { config as cssConfig } from '../../..';\n\nexport const MoreSettings = ({\n elements,\n screenType,\n}: {\n elements: DefaultConferencingScreen_Elements | HLSLiveStreamingScreen_Elements;\n screenType: keyof ConferencingScreen;\n}) => {\n const isMobile = useMedia(cssConfig.media.md);\n return isMobile ? (\n <MwebOptions elements={elements} screenType={screenType} />\n ) : (\n <DesktopOptions elements={elements} screenType={screenType} />\n );\n};\n", "import React from 'react';\nimport { HandIcon } from '@100mslive/react-icons';\nimport { Tooltip } from '../../Tooltip';\nimport IconButton from '../IconButton';\n// @ts-ignore: No implicit Any\nimport { useMyMetadata } from './hooks/useMetadata';\n\nexport const RaiseHand = () => {\n const { isHandRaised, toggleHandRaise } = useMyMetadata();\n return (\n <Tooltip title={isHandRaised ? 'Lower hand' : 'Raise hand'}>\n <IconButton data-testid=\"hand_raise_btn\" active={!isHandRaised} onClick={async () => await toggleHandRaise()}>\n <HandIcon />\n </IconButton>\n </Tooltip>\n );\n};\n", "import { styled } from '../../Theme';\nimport IconButton from '../IconButton';\n\nexport const ScreenShareButton = styled(IconButton, {\n h: '$14',\n px: '$8',\n r: '$1',\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n '@md': {\n px: '$4',\n mx: 0,\n },\n});\n\nexport const ShareMenuIcon = styled(ScreenShareButton, {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: '$1',\n borderBottomRightRadius: '$1',\n borderLeftWidth: 0,\n w: '$4',\n '@md': {\n w: 'unset',\n px: '$2',\n },\n});\n", "import React from 'react';\nimport { Dialog, Text } from '../../../';\nimport { DialogCol } from '../../primitives/DialogContent';\n\nexport const PDFHeader = () => {\n return (\n <DialogCol\n align=\"start\"\n css={{\n mt: 0,\n mb: '$6',\n }}\n >\n <Dialog.Title asChild>\n <Text as=\"h6\" variant=\"h6\">\n Share PDF\n </Text>\n </Dialog.Title>\n <Dialog.Description asChild>\n <Text\n variant=\"sm\"\n css={{\n c: '$on_surface_medium',\n }}\n >\n Choose PDF you want to annotate and share\n </Text>\n </Dialog.Description>\n </DialogCol>\n );\n};\n", "import React from 'react';\nimport { Button, Flex } from '../../../';\nimport { useSetAppDataByKey } from '../AppData/useUISettings';\nimport { APP_DATA } from '../../common/constants';\n\nexport const SubmitPDF = ({ pdfFile, onOpenChange }) => {\n const [, setPDFConfig] = useSetAppDataByKey(APP_DATA.pdfConfig);\n\n return (\n <Flex\n direction=\"row\"\n css={{\n mb: '0',\n mt: 'auto',\n gap: '$8',\n }}\n >\n <Button\n variant=\"standard\"\n outlined\n type=\"submit\"\n onClick={() => {\n onOpenChange(false);\n }}\n css={{ w: '50%' }}\n >\n Cancel\n </Button>\n <Button\n variant=\"primary\"\n type=\"submit\"\n onClick={() => {\n if (pdfFile) {\n setPDFConfig(pdfFile);\n onOpenChange(false);\n }\n }}\n disabled={!pdfFile}\n data-testid=\"share_pdf_btn\"\n css={{\n w: '50%',\n }}\n >\n Start Sharing\n </Button>\n </Flex>\n );\n};\n", "import React from 'react';\nimport { InfoIcon } from '@100mslive/react-icons';\nimport { Text } from '../../../';\nimport { DialogRow } from '../../primitives/DialogContent';\n\nexport const PDFInfo = () => {\n return (\n <DialogRow\n css={{\n px: '$8',\n py: '$3',\n bg: '$surface_default',\n r: '$1',\n outline: 'none',\n border: '1px solid $border_bright',\n minHeight: '$11',\n }}\n >\n <InfoIcon\n width=\"64px\"\n height=\"64px\"\n style={{\n paddingRight: '16px',\n }}\n />\n <Text variant=\"caption\">\n On the next screen, ensure you select \u201CThis Tab\u201D and click on share. Only the PDF viewer will be seen by other\n participants\n </Text>\n </DialogRow>\n );\n};\n", "import React from 'react';\nimport { TrashIcon } from '@100mslive/react-icons';\nimport { Dialog, Flex, Text } from '../../../';\nimport { DialogRow } from '../../primitives/DialogContent';\nimport { PDFHeader } from './pdfHeader';\nimport { PDFInfo } from './pdfInfo';\nimport { SubmitPDF } from './submitPdf';\n\nexport const UploadedFile = ({ pdfFile, setPDFFile, onOpenChange }) => {\n const [fileName, ext] = pdfFile.name.split('.');\n return (\n <Dialog.Root defaultOpen onOpenChange={onOpenChange}>\n <Dialog.Portal>\n <Dialog.Overlay />\n <Dialog.Content\n css={{\n w: 'min(420px,80%)',\n overflow: 'auto',\n p: '$10',\n bg: '$surface_dim',\n }}\n >\n <Flex direction=\"column\">\n <PDFHeader />\n <DialogRow\n css={{\n fontFamily: '$sans',\n bg: '$surface_bright',\n r: '$1',\n outline: 'none',\n border: '1px solid $border_bright',\n p: '$4 $6',\n minHeight: '$11',\n c: '$on_primary_high',\n fs: '$md',\n w: '100%',\n '&:focus': {\n boxShadow: '0 0 0 1px $colors$primary_default',\n border: '1px solid $transparent',\n },\n mb: 0,\n mt: '$6',\n }}\n >\n <Flex direction=\"row\" css={{ flexGrow: '1', maxWidth: '88%' }}>\n <Text\n css={{\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n }}\n >\n {fileName}\n </Text>\n <Text css={{ whiteSpace: 'nowrap' }}>.{ext}</Text>\n </Flex>\n <TrashIcon\n onClick={() => setPDFFile(null)}\n style={{\n cursor: 'pointer',\n }}\n />\n </DialogRow>\n <PDFInfo />\n <SubmitPDF pdfFile={pdfFile} onOpenChange={onOpenChange} />\n </Flex>\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n );\n};\n", "import React, { useState } from 'react';\nimport { Dialog, Flex } from '../../../';\nimport { DialogInputFile } from '../../primitives/DialogContent';\nimport { PDFHeader } from './pdfHeader';\nimport { SubmitPDF } from './submitPdf';\nimport { UploadedFile } from './uploadedFile';\n\nexport function PDFFileOptions({ onOpenChange }) {\n const [pdfFile, setPDFFile] = useState(null);\n\n return !pdfFile ? (\n <Dialog.Root defaultOpen onOpenChange={onOpenChange}>\n <Dialog.Portal>\n <Dialog.Overlay />\n <Dialog.Content\n css={{\n w: 'min(420px,80%)',\n overflow: 'auto',\n p: '$10',\n bg: '$surface_dim',\n }}\n >\n <Flex direction=\"column\">\n <PDFHeader />\n <DialogInputFile\n onChange={target => {\n setPDFFile(target.files[0]);\n }}\n placeholder=\"Click to upload\"\n type=\"file\"\n accept=\".pdf\"\n />\n\n <SubmitPDF pdfFile={pdfFile} onOpenChange={onOpenChange} />\n </Flex>\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n ) : (\n <UploadedFile pdfFile={pdfFile} setPDFFile={setPDFFile} onOpenChange={onOpenChange} />\n );\n}\n", "import React, { Fragment, useState } from 'react';\nimport { useScreenShare } from '@100mslive/react-sdk';\nimport { StarIcon, VerticalMenuIcon } from '@100mslive/react-icons';\nimport PDFShareImg from './../../images/pdf-share.png';\nimport ScreenShareImg from './../../images/screen-share.png';\nimport { Box, Dropdown, Flex, IconButton, Text, Tooltip } from '../../../';\nimport { ShareMenuIcon } from '../ShareMenuIcon';\nimport { PDFFileOptions } from './pdfFileOptions';\n\nconst MODALS = {\n SHARE: 'share',\n SCREEN_SHARE: 'screenShare',\n PDF_SHARE: 'pdfShare',\n};\n\nexport function ShareScreenOptions() {\n const [openModals, setOpenModals] = useState(new Set());\n const { amIScreenSharing } = useScreenShare();\n const updateState = (modalName, value) => {\n setOpenModals(modals => {\n const copy = new Set(modals);\n if (value) {\n copy.add(modalName);\n } else {\n copy.delete(modalName);\n }\n return copy;\n });\n };\n const { toggleScreenShare } = useScreenShare();\n return (\n <Fragment>\n <Dropdown.Root\n open={openModals.has(MODALS.SHARE)}\n onOpenChange={value => updateState(MODALS.SHARE, value)}\n modal={false}\n >\n <Dropdown.Trigger asChild data-testid=\"sharing_btn\" disabled={amIScreenSharing}>\n <ShareMenuIcon disabled={amIScreenSharing}>\n <Tooltip title=\"Share\">\n <Box>\n <VerticalMenuIcon />\n </Box>\n </Tooltip>\n </ShareMenuIcon>\n </Dropdown.Trigger>\n <Dropdown.Content\n sideOffset={5}\n css={{\n w: '$96',\n maxHeight: '$96',\n p: 0,\n bg: '$surface_dim',\n }}\n >\n <Dropdown.Item\n css={{\n flexDirection: 'column',\n alignItems: 'flex-start',\n px: '$10',\n pt: '$10',\n pb: '$6',\n '&:hover': {\n bg: '$transparent',\n cursor: 'default',\n },\n }}\n >\n <Text variant=\"h6\">Start Sharing</Text>\n <Text variant=\"sm\">Choose what you want to share</Text>\n </Dropdown.Item>\n <Dropdown.Item\n css={{\n flexDirection: 'row',\n alignItems: 'flex-start',\n gap: '$8',\n px: '$10',\n pt: '$6',\n pb: '$10',\n '&:hover': {\n bg: '$transparent',\n cursor: 'default',\n },\n }}\n >\n <Flex\n direction=\"column\"\n align=\"center\"\n css={{\n gap: '$6',\n }}\n >\n <IconButton\n as=\"div\"\n onClick={() => toggleScreenShare()}\n css={{\n p: '$6',\n display: 'flex',\n justifyContent: 'center',\n border: '1px solid $border_bright',\n r: '$2',\n bg: '$surface_brighter',\n pb: '0',\n }}\n >\n <img\n src={ScreenShareImg}\n alt=\"screen-share\"\n width=\"100%\"\n height=\"100%\"\n style={{\n borderTopLeftRadius: '0.5rem', // TODO: create image component to solve for style hardcoding\n borderTopRightRadius: '0.5rem',\n }}\n />\n </IconButton>\n <Flex direction=\"column\" align=\"center\">\n <Text variant=\"body2\">Share Screen</Text>\n <Text\n variant=\"caption\"\n css={{\n c: '$on_surface_low',\n textAlign: 'center',\n }}\n >\n Share your tab, window or your entire screen\n </Text>\n </Flex>\n </Flex>\n <Flex\n direction=\"column\"\n align=\"center\"\n css={{\n gap: '$6',\n }}\n >\n <IconButton\n onClick={() => {\n updateState(MODALS.PDF_SHARE, true);\n }}\n disabled={amIScreenSharing}\n css={{\n p: '$6',\n display: 'flex',\n justifyContent: 'center',\n border: '$border_bright 1px solid',\n r: '$2',\n bg: '$surface_bright',\n pb: '0',\n }}\n >\n <img\n src={PDFShareImg}\n alt=\"pdf-share\"\n width=\"100%\"\n height=\"100%\"\n style={{\n borderTopLeftRadius: '0.5rem', // TODO: create image component to solve for style hardcoding\n borderTopRightRadius: '0.5rem',\n }}\n />\n <Flex\n direction=\"row\"\n align=\"center\"\n css={{\n position: 'absolute',\n top: '35%',\n left: '54%',\n padding: '$2 $4',\n r: '$2',\n bg: '$primary_bright',\n zIndex: '2',\n gap: '$2',\n }}\n >\n <StarIcon height={14} width={14} />\n\n <Text\n variant=\"xs\"\n css={{\n fontWeight: '$semiBold',\n c: '$on_primary_high',\n pr: '$4',\n }}\n >\n New\n </Text>\n </Flex>\n </IconButton>\n <Flex direction=\"column\" align=\"center\">\n <Text variant=\"body2\">Share PDF</Text>\n <Text\n variant=\"caption\"\n css={{\n c: '$on_surface_low',\n textAlign: 'center',\n }}\n >\n Annotate, draw shapes, and more over PDFs\n </Text>\n </Flex>\n </Flex>\n </Dropdown.Item>\n </Dropdown.Content>\n </Dropdown.Root>\n {openModals.has(MODALS.PDF_SHARE) && (\n <PDFFileOptions onOpenChange={value => updateState(MODALS.PDF_SHARE, value)} />\n )}\n </Fragment>\n );\n}\n", "import React, { Fragment } from 'react';\nimport { selectIsAllowedToPublish, useHMSStore, useScreenShare } from '@100mslive/react-sdk';\nimport { ShareScreenIcon } from '@100mslive/react-icons';\nimport { ShareScreenOptions } from './pdfAnnotator/shareScreenOptions';\nimport { Box, Flex } from '../../Layout';\nimport { Tooltip } from '../../Tooltip';\nimport { ScreenShareButton } from './ShareMenuIcon';\nimport { useUISettings } from './AppData/useUISettings';\nimport { isScreenshareSupported } from '../common/utils';\nimport { UI_SETTINGS } from '../common/constants';\n\nexport const ScreenshareToggle = ({ css = {} }) => {\n const isAllowedToPublish = useHMSStore(selectIsAllowedToPublish);\n const isAudioOnly = useUISettings(UI_SETTINGS.isAudioOnly);\n\n const { amIScreenSharing, screenShareVideoTrackId: video, toggleScreenShare } = useScreenShare();\n const isVideoScreenshare = amIScreenSharing && !!video;\n if (!isAllowedToPublish.screen || !isScreenshareSupported()) {\n return null;\n }\n\n return (\n <Fragment>\n <Flex direction=\"row\" css={{ '@md': { display: 'none' } }}>\n <ScreenShareButton\n variant=\"standard\"\n key=\"ShareScreen\"\n active={!isVideoScreenshare}\n css={css}\n disabled={isAudioOnly}\n onClick={() => {\n toggleScreenShare();\n }}\n >\n <Tooltip title={`${!isVideoScreenshare ? 'Start' : 'Stop'} screen sharing`}>\n <Box>\n <ShareScreenIcon />\n </Box>\n </Tooltip>\n </ScreenShareButton>\n <ShareScreenOptions />\n </Flex>\n </Fragment>\n );\n};\n", "import React from 'react';\nimport { selectUnreadHMSMessagesCount, useHMSStore } from '@100mslive/react-sdk';\nimport { ChatIcon, ChatUnreadIcon } from '@100mslive/react-icons';\nimport { Tooltip } from '../../..';\n// @ts-ignore: No implicit Any\nimport IconButton from '../../IconButton';\n// @ts-ignore: No implicit Any\nimport { useIsSidepaneTypeOpen, useSidepaneToggle } from '../AppData/useSidepane';\n// @ts-ignore: No implicit Any\nimport { SIDE_PANE_OPTIONS } from '../../common/constants';\n\nexport const ChatToggle = () => {\n const countUnreadMessages = useHMSStore(selectUnreadHMSMessagesCount);\n const isChatOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.CHAT);\n const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);\n\n return (\n <Tooltip key=\"chat\" title={`${isChatOpen ? 'Close' : 'Open'} chat`}>\n <IconButton onClick={toggleChat} active={!isChatOpen} data-testid=\"chat_btn\">\n {countUnreadMessages === 0 ? <ChatIcon /> : <ChatUnreadIcon data-testid=\"chat_unread_btn\" />}\n </IconButton>\n </Tooltip>\n );\n};\n", "const connectionTooltip = {\n 0: 'Reconnecting',\n 1: 'Very Bad Connection',\n 2: 'Bad Connection',\n 3: 'Moderate Connection',\n 4: 'Good Connection',\n 5: 'Excellent Connection',\n};\nconnectionTooltip[-1] = 'Network Unknown';\n\n/**\n * @param connectionScore -> 1-5 connection score for network quality\n */\nexport const getTooltipText = connectionScore => {\n return connectionTooltip[connectionScore];\n};\n\n/**\n * position is needed here as we don't want all the dots/arcs to be colored,\n * the non colored ones will be passed in the default color. If user is\n * disconnected(score=0), no dot/arc will be colored.\n * @param position -> 1 to 5\n * @param connectionScore -> 0 to 5, 0 means disconnected\n * @param defaultColor -> color for components not taking the connection color\n */\nexport const getColor = (position, connectionScore, defaultColor, theme) => {\n const shouldBeColored = position <= connectionScore;\n if (!shouldBeColored) {\n return defaultColor;\n }\n if (connectionScore >= 4) {\n return theme.colors.alert_success;\n } else if (connectionScore >= 3) {\n return theme.colors.alert_warning;\n } else if (connectionScore >= 1) {\n return theme.colors.alert_default;\n }\n return defaultColor;\n};\n", "import React from 'react';\nimport { selectConnectionQualityByPeerID, useHMSStore } from '@100mslive/react-sdk';\nimport { PoorConnectivityIcon } from '@100mslive/react-icons';\nimport { styled, Tooltip, useTheme } from '../../..';\n// @ts-ignore\nimport { getColor, getTooltipText } from './connectionQualityUtils';\n\nconst Wrapper = styled('span', {\n width: '28px',\n height: '28px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '$round',\n variants: {\n isTile: {\n true: {\n width: 'unset',\n height: 'unset',\n },\n },\n },\n});\n\nexport const ConnectionIndicator = ({\n peerId,\n isTile = false,\n hideBg = false,\n}: {\n peerId: string;\n isTile?: boolean;\n hideBg?: boolean;\n}) => {\n const downlinkQuality = useHMSStore(selectConnectionQualityByPeerID(peerId))?.downlinkQuality;\n const { theme } = useTheme();\n const defaultColor = theme.colors.surface_brighter;\n if (downlinkQuality === -1 || downlinkQuality === undefined) {\n return null;\n }\n if (downlinkQuality === 0) {\n return (\n <Tooltip title={getTooltipText(downlinkQuality)}>\n <Wrapper isTile={isTile} css={{ color: '#ED4C5A' }} data-testid=\"tile_network\">\n <PoorConnectivityIcon />\n </Wrapper>\n </Tooltip>\n );\n }\n const size = isTile ? 12 : 16;\n return (\n <Tooltip title={getTooltipText(downlinkQuality)}>\n <Wrapper isTile={isTile} data-testid=\"tile_network\" css={{ backgroundColor: hideBg ? '' : '$surface_bright' }}>\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 14 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlSpace=\"preserve\"\n style={{\n fillRule: 'evenodd',\n clipRule: 'evenodd',\n strokeLinejoin: 'round',\n strokeMiterlimit: 2,\n }}\n >\n <path\n d=\"M6.875 0c2.549.035 4.679.902 6.445 2.648.366.362.45.796.216 1.096-.239.306-.714.34-1.142.072a2.28 2.28 0 0 1-.341-.271C9.24.862 4.924.775 1.992 3.346c-.284.249-.594.419-.983.393-.272-.019-.49-.135-.613-.388-.125-.261-.05-.498.114-.713.073-.092.156-.177.245-.254C2.516.804 4.591.039 6.875 0Z\"\n fill={getColor(4, downlinkQuality, defaultColor, theme)}\n transform=\"translate(-.333)\"\n />\n <path\n d=\"M7.056 2.964c1.756.035 3.208.7 4.499 1.763.162.134.277.315.354.512.098.251.114.503-.075.72-.193.222-.452.259-.725.198-.293-.066-.518-.247-.738-.443a4.859 4.859 0 0 0-6.198-.26c-.166.127-.318.271-.475.409-.242.211-.513.343-.843.317-.43-.034-.679-.397-.561-.81.062-.211.181-.4.345-.546 1.265-1.162 2.733-1.836 4.417-1.86Z\"\n fill={getColor(3, downlinkQuality, defaultColor, theme)}\n transform=\"translate(-.333)\"\n />\n <path\n d=\"M7.384,6.052C8.293,6.068 9.157,6.449 9.783,7.108C10.005,7.339 10.157,7.6 10.07,7.942C9.959,8.377 9.435,8.581 9.071,8.243C7.935,7.191 6.356,7.183 5.152,8.183C4.816,8.462 4.6,8.485 4.332,8.27C4.063,8.055 3.998,7.691 4.177,7.358C4.273,7.179 4.414,7.038 4.57,6.911C5.26,6.349 6.149,6.05 7.384,6.052L7.384,6.052Z\"\n fill={getColor(2, downlinkQuality, defaultColor, theme)}\n />\n <path\n d=\"M8.214,9.941C8.214,10.234 8.097,10.515 7.888,10.721C7.68,10.928 7.398,11.042 7.104,11.039C6.471,11.036 5.982,10.541 5.993,9.912C6.004,9.259 6.499,8.766 7.133,8.779C7.744,8.791 8.22,9.301 8.214,9.941Z\"\n fill={getColor(1, downlinkQuality, defaultColor, theme)}\n />\n </svg>\n </Wrapper>\n </Tooltip>\n );\n};\n", "import React, { useState } from 'react';\nimport { DefaultConferencingScreen_Elements } from '@100mslive/types-prebuilt';\nimport { HMSPeer, selectPermissions, useHMSActions, useHMSStore, useHMSVanillaStore } from '@100mslive/react-sdk';\nimport {\n MicOffIcon,\n MicOnIcon,\n PersonRectangleIcon,\n RemoveUserIcon,\n VerticalMenuIcon,\n VideoOffIcon,\n VideoOnIcon,\n} from '@100mslive/react-icons';\nimport { Dropdown } from '../../../Dropdown';\nimport { Flex } from '../../../Layout';\nimport { Text } from '../../../Text';\nimport { useRoomLayoutConferencingScreen } from '../../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';\n// @ts-ignore: No implicit Any\nimport { getMetadata } from '../../common/utils';\n\nconst dropdownItemCSS = { backgroundColor: '$surface_default', gap: '$4', p: '$8' };\nconst optionTextCSS = { fontWeight: '$semiBold', color: '$on_surface_high', textTransform: 'none' };\n\nexport const RoleOptions = ({ roleName, peerList }: { roleName: string; peerList: HMSPeer[] }) => {\n const [openOptions, setOpenOptions] = useState(false);\n const permissions = useHMSStore(selectPermissions);\n const hmsActions = useHMSActions();\n const { elements } = useRoomLayoutConferencingScreen();\n const { on_stage_role, off_stage_roles = [] } = (elements as DefaultConferencingScreen_Elements)?.on_stage_exp || {};\n\n const vanillaStore = useHMSVanillaStore();\n const store = vanillaStore.getState();\n\n let allPeersHaveVideoOn = true;\n let allPeersHaveAudioOn = true;\n\n peerList.forEach(peer => {\n const isAudioOn = !!peer.audioTrack && store.tracks[peer.audioTrack]?.enabled;\n const isVideoOn = !!peer.videoTrack && store.tracks[peer.videoTrack]?.enabled;\n allPeersHaveAudioOn = allPeersHaveAudioOn && isAudioOn;\n allPeersHaveVideoOn = allPeersHaveVideoOn && isVideoOn;\n });\n\n const canMuteRole = permissions?.mute && roleName === on_stage_role;\n const canRemoveRoleFromStage = permissions?.changeRole && roleName === on_stage_role;\n // on stage and off stage roles\n const canRemoveRoleFromRoom =\n permissions?.removeOthers && (on_stage_role === roleName || off_stage_roles?.includes(roleName));\n\n if (!(canMuteRole || canRemoveRoleFromStage || canRemoveRoleFromRoom) || peerList.length === 0) {\n return null;\n }\n\n const removeAllFromStage = () => {\n peerList.forEach(peer => {\n const prevRole = getMetadata(peer.metadata).prevRole;\n if (prevRole) {\n hmsActions.changeRoleOfPeer(peer.id, prevRole, true);\n }\n });\n };\n\n const setTrackEnabled = async (type: 'audio' | 'video', enabled = false) => {\n try {\n await hmsActions.setRemoteTracksEnabled({ roles: [roleName], source: 'regular', type, enabled });\n } catch (e) {\n console.error(e);\n }\n };\n\n const removePeersFromRoom = async () => {\n try {\n peerList.forEach(async peer => {\n await hmsActions.removePeer(peer.id, '');\n });\n } catch (e) {\n console.error(e);\n }\n };\n\n return (\n <Dropdown.Root open={openOptions} onOpenChange={setOpenOptions}>\n <Dropdown.Trigger\n onClick={e => e.stopPropagation()}\n className=\"role_actions\"\n asChild\n css={{\n p: '$1',\n r: '$0',\n c: '$on_surface_high',\n visibility: openOptions ? 'visible' : 'hidden',\n '&:hover': {\n c: '$on_surface_medium',\n },\n '@md': {\n visibility: 'visible',\n },\n }}\n >\n <Flex>\n <VerticalMenuIcon />\n </Flex>\n </Dropdown.Trigger>\n <Dropdown.Content\n onClick={e => e.stopPropagation()}\n css={{ w: 'max-content', maxWidth: '$64', bg: '$surface_default', py: 0 }}\n align=\"end\"\n >\n {canRemoveRoleFromStage && (\n <Dropdown.Item\n css={{ ...dropdownItemCSS, borderBottom: '1px solid $border_bright' }}\n onClick={removeAllFromStage}\n >\n <PersonRectangleIcon />\n <Text variant=\"sm\" css={optionTextCSS}>\n Remove all from Stage\n </Text>\n </Dropdown.Item>\n )}\n\n {canMuteRole && (\n <>\n <Dropdown.Item css={dropdownItemCSS} onClick={() => setTrackEnabled('audio', !allPeersHaveAudioOn)}>\n {allPeersHaveAudioOn ? <MicOffIcon /> : <MicOnIcon />}\n <Text variant=\"sm\" css={optionTextCSS}>\n {allPeersHaveAudioOn ? 'Mute' : 'Unmute'} Audio\n </Text>\n </Dropdown.Item>\n\n <Dropdown.Item\n css={{ ...dropdownItemCSS, borderTop: '1px solid $border_bright' }}\n onClick={() => setTrackEnabled('video', !allPeersHaveVideoOn)}\n >\n {allPeersHaveVideoOn ? <VideoOffIcon /> : <VideoOnIcon />}\n <Text variant=\"sm\" css={optionTextCSS}>\n {allPeersHaveVideoOn ? 'Mute' : 'Unmute'} Video\n </Text>\n </Dropdown.Item>\n </>\n )}\n\n {canRemoveRoleFromRoom && (\n <Dropdown.Item\n css={{ ...dropdownItemCSS, borderTop: '1px solid $border_bright', color: '$alert_error_default' }}\n onClick={removePeersFromRoom}\n >\n <RemoveUserIcon />\n <Text variant=\"sm\" css={{ ...optionTextCSS, color: 'inherit' }}>\n Remove all from Room\n </Text>\n </Dropdown.Item>\n )}\n </Dropdown.Content>\n </Dropdown.Root>\n );\n};\n", "import React, { useEffect } from 'react';\nimport { useMeasure } from 'react-use';\nimport { FixedSizeList } from 'react-window';\nimport { HMSPeer, selectIsLargeRoom, useHMSStore, usePaginatedParticipants } from '@100mslive/react-sdk';\nimport { ChevronRightIcon } from '@100mslive/react-icons';\nimport { Accordion } from '../../../Accordion';\nimport { Flex } from '../../../Layout';\nimport { Text } from '../../../Text';\n// @ts-ignore: No implicit Any\nimport { Participant } from './ParticipantList';\nimport { RoleOptions } from './RoleOptions';\n// @ts-ignore: No implicit Any\nimport { getFormattedCount } from '../../common/utils';\n\nexport const ROW_HEIGHT = 50;\nconst ITER_TIMER = 5000;\n\nexport interface ItemData {\n peerList: HMSPeer[];\n isConnected: boolean;\n}\n\nexport function itemKey(index: number, data: ItemData) {\n return data.peerList[index]?.id;\n}\n\nexport const VirtualizedParticipantItem = React.memo(({ index, data }: { index: number; data: ItemData }) => {\n return <Participant key={data.peerList[index].id} peer={data.peerList[index]} isConnected={data.isConnected} />;\n});\n\nexport const RoleAccordion = ({\n peerList = [],\n roleName,\n isConnected,\n filter,\n isHandRaisedAccordion = false,\n offStageRoles,\n onActive,\n}: ItemData & {\n roleName: string;\n isHandRaisedAccordion?: boolean;\n filter?: { search: string };\n offStageRoles: string[];\n onActive?: (role: string) => void;\n}) => {\n const [ref, { width }] = useMeasure<HTMLDivElement>();\n const showAcordion = filter?.search ? peerList.some(peer => peer.name.toLowerCase().includes(filter.search)) : true;\n const isLargeRoom = useHMSStore(selectIsLargeRoom);\n const { peers, total, loadPeers } = usePaginatedParticipants({ role: roleName, limit: 10 });\n const isOffStageRole = roleName && offStageRoles.includes(roleName);\n\n useEffect(() => {\n if (!isOffStageRole || !isLargeRoom) {\n return;\n }\n loadPeers();\n const interval = setInterval(() => {\n loadPeers();\n }, ITER_TIMER);\n return () => clearInterval(interval);\n }, [isOffStageRole, isLargeRoom]); //eslint-disable-line\n\n if (!showAcordion || (isHandRaisedAccordion && filter?.search) || (peerList.length === 0 && filter?.search)) {\n return null;\n }\n\n const peersInAccordion = isOffStageRole && isLargeRoom ? peers : peerList;\n const height = ROW_HEIGHT * peersInAccordion.length;\n const hasNext = total > peersInAccordion.length;\n\n if (peersInAccordion.length === 0) {\n return null;\n }\n\n return (\n <Accordion.Item value={roleName} css={{ '&:hover .role_actions': { visibility: 'visible' }, mb: '$8' }} ref={ref}>\n <Accordion.Header\n iconStyles={{ c: '$on_surface_high' }}\n css={{\n textTransform: 'capitalize',\n p: '$6 $8',\n fontSize: '$sm',\n fontWeight: '$semiBold',\n c: '$on_surface_medium',\n borderRadius: '$1',\n border: '1px solid $border_default',\n '&[data-state=\"open\"]': {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n },\n }}\n >\n <Flex justify=\"between\" css={{ flexGrow: 1, pr: '$6' }}>\n <Text\n variant=\"sm\"\n css={{ fontWeight: '$semiBold', textTransform: 'capitalize', color: '$on_surface_medium' }}\n >\n {roleName} {`(${getFormattedCount(isLargeRoom && isOffStageRole ? total : peerList.length)})`}\n </Text>\n <RoleOptions roleName={roleName} peerList={peersInAccordion} />\n </Flex>\n </Accordion.Header>\n <Accordion.Content contentStyles={{ border: '1px solid $border_default', borderTop: 'none' }}>\n <FixedSizeList\n itemSize={ROW_HEIGHT}\n itemData={{ peerList: peersInAccordion, isConnected }}\n itemKey={itemKey}\n itemCount={peersInAccordion.length}\n width={width}\n height={height}\n >\n {VirtualizedParticipantItem}\n </FixedSizeList>\n {offStageRoles?.includes(roleName) && hasNext ? (\n <Flex\n align=\"center\"\n justify=\"end\"\n css={{\n gap: '$1',\n cursor: 'pointer',\n color: '$on_surface_high',\n p: '$6',\n borderTop: '1px solid $border_default',\n }}\n onClick={() => onActive?.(roleName)}\n >\n <Text variant=\"sm\" css={{ color: 'inherit' }}>\n View All\n </Text>\n <ChevronRightIcon />\n </Flex>\n ) : null}\n </Accordion.Content>\n </Accordion.Item>\n );\n};\n", "import React, { Fragment, useCallback, useEffect, useState } from 'react';\nimport { useDebounce, useMedia } from 'react-use';\nimport {\n selectHandRaisedPeers,\n selectHasPeerHandRaised,\n selectIsLargeRoom,\n selectIsPeerAudioEnabled,\n selectLocalPeerID,\n selectPeerCount,\n selectPeerMetadata,\n selectPermissions,\n useHMSActions,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport {\n ChangeRoleIcon,\n HandIcon,\n MicOffIcon,\n PeopleIcon,\n PeopleRemoveIcon,\n SearchIcon,\n VerticalMenuIcon,\n} from '@100mslive/react-icons';\nimport { Accordion, Box, config as cssConfig, Dropdown, Flex, Input, Text, textEllipsis } from '../../..';\nimport IconButton from '../../IconButton';\nimport { ConnectionIndicator } from '../Connection/ConnectionIndicator';\nimport { ToastManager } from '../Toast/ToastManager';\nimport { RoleAccordion } from './RoleAccordion';\nimport { useRoomLayoutConferencingScreen } from '../../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';\nimport { useIsSidepaneTypeOpen, useSidepaneToggle } from '../AppData/useSidepane';\nimport { useParticipants } from '../../common/hooks';\nimport { getFormattedCount } from '../../common/utils';\nimport { SIDE_PANE_OPTIONS } from '../../common/constants';\n\nexport const ParticipantList = ({ offStageRoles = [], onActive }) => {\n const [filter, setFilter] = useState();\n const { participants, isConnected, peerCount } = useParticipants(filter);\n const isLargeRoom = useHMSStore(selectIsLargeRoom);\n const peersOrderedByRoles = {};\n\n const handRaisedPeers = useHMSStore(selectHandRaisedPeers);\n\n participants.forEach(participant => {\n if (peersOrderedByRoles[participant.roleName] === undefined) {\n peersOrderedByRoles[participant.roleName] = [];\n }\n peersOrderedByRoles[participant.roleName].push(participant);\n });\n\n // prefill off_stage roles of large rooms to load more peers\n if (isLargeRoom) {\n offStageRoles.forEach(role => {\n if (!peersOrderedByRoles[role]) {\n peersOrderedByRoles[role] = [];\n }\n });\n }\n\n const onSearch = useCallback(value => {\n setFilter(filterValue => {\n if (!filterValue) {\n filterValue = {};\n }\n filterValue.search = value.toLowerCase();\n return { ...filterValue };\n });\n }, []);\n if (peerCount === 0) {\n return null;\n }\n\n return (\n <Fragment>\n <Flex direction=\"column\" css={{ size: '100%', gap: '$4' }}>\n {!filter?.search && participants.length === 0 ? null : <ParticipantSearch onSearch={onSearch} inSidePane />}\n {participants.length === 0 ? (\n <Flex align=\"center\" justify=\"center\" css={{ w: '100%', p: '$8 0' }}>\n <Text variant=\"sm\">{!filter ? 'No participants' : 'No matching participants'}</Text>\n </Flex>\n ) : null}\n <VirtualizedParticipants\n peersOrderedByRoles={peersOrderedByRoles}\n handRaisedList={handRaisedPeers}\n isConnected={isConnected}\n filter={filter}\n offStageRoles={offStageRoles}\n isLargeRoom={isLargeRoom}\n onActive={onActive}\n />\n </Flex>\n </Fragment>\n );\n};\n\nexport const ParticipantCount = () => {\n const peerCount = useHMSStore(selectPeerCount);\n const toggleSidepane = useSidepaneToggle(SIDE_PANE_OPTIONS.PARTICIPANTS);\n const isParticipantsOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.PARTICIPANTS);\n useEffect(() => {\n if (isParticipantsOpen && peerCount === 0) {\n toggleSidepane();\n }\n }, [isParticipantsOpen, peerCount, toggleSidepane]);\n\n if (peerCount === 0) {\n return null;\n }\n return (\n <IconButton\n css={{\n w: 'auto',\n p: '$4',\n h: 'auto',\n }}\n onClick={() => {\n if (peerCount > 0) {\n toggleSidepane();\n }\n }}\n active={!isParticipantsOpen}\n data-testid=\"participant_list\"\n >\n <PeopleIcon />\n <Text variant=\"sm\" css={{ mx: '$4', c: 'inherit' }}>\n {getFormattedCount(peerCount)}\n </Text>\n </IconButton>\n );\n};\n\nconst VirtualizedParticipants = ({\n peersOrderedByRoles = {},\n isConnected,\n filter,\n handRaisedList = [],\n offStageRoles,\n isLargeRoom,\n onActive,\n}) => {\n return (\n <Flex\n direction=\"column\"\n css={{\n gap: '$8',\n overflowY: 'auto',\n overflowX: 'hidden',\n pr: '$10',\n mr: '-$10',\n flex: '1 1 0',\n }}\n >\n <Accordion.Root type={isLargeRoom ? 'single' : 'multiple'} collapsible>\n {handRaisedList.length > 0 ? (\n <RoleAccordion\n peerList={handRaisedList}\n roleName=\"Hand Raised\"\n filter={filter}\n isConnected={isConnected}\n isHandRaisedAccordion\n offStageRoles={offStageRoles}\n />\n ) : null}\n {Object.keys(peersOrderedByRoles).map(role => (\n <RoleAccordion\n key={role}\n peerList={peersOrderedByRoles[role]}\n roleName={role}\n isConnected={isConnected}\n filter={filter}\n offStageRoles={offStageRoles}\n onActive={onActive}\n />\n ))}\n </Accordion.Root>\n </Flex>\n );\n};\n\nexport const Participant = ({ peer, isConnected, style }) => {\n const localPeerId = useHMSStore(selectLocalPeerID);\n return (\n <Flex\n key={peer.id}\n css={{\n w: '100%',\n p: '$4 $8',\n pr: '$6',\n h: '$16',\n '&:hover .participant_item': { display: 'flex' },\n }}\n align=\"center\"\n justify=\"between\"\n data-testid={'participant_' + peer.name}\n style={style}\n >\n <Text\n variant=\"sm\"\n css={{ ...textEllipsis('100%'), flex: '1 1 0', mr: '$8', fontWeight: '$semiBold', color: '$on_surface_high' }}\n >\n {peer.name} {localPeerId === peer.id ? '(You)' : ''}\n </Text>\n {isConnected ? (\n <ParticipantActions peerId={peer.id} isLocal={peer.id === localPeerId} role={peer.roleName} />\n ) : null}\n </Flex>\n );\n};\n\n/**\n * shows settings to change for a participant like changing their role\n */\nconst ParticipantActions = React.memo(({ peerId, role, isLocal }) => {\n const isHandRaised = useHMSStore(selectHasPeerHandRaised(peerId));\n const canChangeRole = useHMSStore(selectPermissions)?.changeRole;\n const canRemoveOthers = useHMSStore(selectPermissions)?.removeOthers;\n const { elements } = useRoomLayoutConferencingScreen();\n const { on_stage_exp } = elements || {};\n const shouldShowMoreActions = (on_stage_exp && canChangeRole) || canRemoveOthers;\n const isAudioMuted = !useHMSStore(selectIsPeerAudioEnabled(peerId));\n\n return (\n <Flex\n align=\"center\"\n css={{\n flexShrink: 0,\n gap: '$8',\n }}\n >\n <ConnectionIndicator peerId={peerId} />\n {isHandRaised && (\n <Flex\n align=\"center\"\n justify=\"center\"\n css={{ p: '$1', c: '$on_surface_high', bg: '$surface_bright', borderRadius: '$round' }}\n >\n <HandIcon height={19} width={19} />\n </Flex>\n )}\n {isAudioMuted ? (\n <Flex\n align=\"center\"\n justify=\"center\"\n css={{ p: '$2', c: '$on_surface_high', bg: '$surface_bright', borderRadius: '$round' }}\n >\n <MicOffIcon height={19} width={19} />\n </Flex>\n ) : null}\n\n {shouldShowMoreActions && !isLocal ? (\n <ParticipantMoreActions\n peerId={peerId}\n role={role}\n elements={elements}\n canChangeRole={canChangeRole}\n canRemoveOthers={canRemoveOthers}\n />\n ) : null}\n </Flex>\n );\n});\n\nconst ParticipantMoreActions = ({ peerId, role, elements, canChangeRole, canRemoveOthers }) => {\n const hmsActions = useHMSActions();\n const {\n bring_to_stage_label,\n remove_from_stage_label,\n on_stage_role,\n off_stage_roles = [],\n } = elements.on_stage_exp || {};\n const isInStage = role === on_stage_role;\n const shouldShowStageRoleChange =\n canChangeRole &&\n ((isInStage && remove_from_stage_label) || (off_stage_roles?.includes(role) && bring_to_stage_label));\n const prevRole = useHMSStore(selectPeerMetadata(peerId))?.prevRole;\n const localPeerId = useHMSStore(selectLocalPeerID);\n const isLocal = localPeerId === peerId;\n const [open, setOpen] = useState(false);\n\n const handleStageAction = async () => {\n if (isInStage) {\n prevRole && hmsActions.changeRoleOfPeer(peerId, prevRole, true);\n } else {\n await hmsActions.changeRoleOfPeer(peerId, on_stage_role);\n }\n setOpen(false);\n };\n\n return (\n <Dropdown.Root open={open} onOpenChange={value => setOpen(value)} modal={false}>\n <Dropdown.Trigger\n asChild\n data-testid=\"participant_more_actions\"\n className=\"participant_item\"\n css={{\n p: '$1',\n r: '$0',\n c: '$on_surface_high',\n display: open ? 'flex' : 'none',\n '&:hover': {\n bg: '$surface_bright',\n },\n '@md': {\n display: 'flex',\n },\n }}\n tabIndex={0}\n >\n <Box css={{ my: 'auto' }}>\n <VerticalMenuIcon />\n </Box>\n </Dropdown.Trigger>\n <Dropdown.Portal>\n <Dropdown.Content align=\"end\" sideOffset={8} css={{ w: '$64', bg: '$surface_default' }}>\n {shouldShowStageRoleChange ? (\n <Dropdown.Item css={{ bg: '$surface_default' }} onClick={() => handleStageAction()}>\n <ChangeRoleIcon />\n <Text variant=\"sm\" css={{ ml: '$4', fontWeight: '$semiBold', c: '$on_surface_high' }}>\n {isInStage ? remove_from_stage_label : bring_to_stage_label}\n </Text>\n </Dropdown.Item>\n ) : null}\n\n {!isLocal && canRemoveOthers && (\n <Dropdown.Item\n css={{ color: '$alert_error_default', bg: '$surface_default' }}\n onClick={async () => {\n try {\n await hmsActions.removePeer(peerId, '');\n } catch (error) {\n ToastManager.addToast({ title: error.message, variant: 'error' });\n }\n }}\n >\n <PeopleRemoveIcon />\n <Text variant=\"sm\" css={{ ml: '$4', color: 'inherit', fontWeight: '$semiBold' }}>\n Remove Participant\n </Text>\n </Dropdown.Item>\n )}\n </Dropdown.Content>\n </Dropdown.Portal>\n </Dropdown.Root>\n );\n};\n\nexport const ParticipantSearch = ({ onSearch, placeholder, inSidePane = false }) => {\n const [value, setValue] = React.useState('');\n const isMobile = useMedia(cssConfig.media.md);\n\n useDebounce(\n () => {\n onSearch(value);\n },\n 300,\n [value, onSearch],\n );\n return (\n <Flex\n align=\"center\"\n css={{\n p: isMobile ? '0' : '$2 0',\n mb: '$2',\n position: 'relative',\n color: '$on_surface_medium',\n mt: inSidePane ? '$4' : '',\n }}\n >\n <SearchIcon style={{ position: 'absolute', left: isMobile ? '1.25rem' : '0.5rem' }} />\n <Input\n type=\"text\"\n placeholder={placeholder || 'Search for participants'}\n css={{ w: '100%', p: '$6', pl: '$14', bg: inSidePane ? '$surface_default' : '$surface_dim' }}\n value={value}\n onKeyDown={event => {\n event.stopPropagation();\n }}\n onChange={event => {\n setValue(event.currentTarget.value);\n }}\n autoComplete=\"off\"\n aria-autocomplete=\"none\"\n />\n </Flex>\n );\n};\n", "import React from 'react';\nimport { QuizIcon } from '@100mslive/react-icons';\nimport { Tooltip } from '../../..';\n// @ts-ignore: No implicit Any\nimport IconButton from '../../IconButton';\n// @ts-ignore: No implicit Any\nimport { useIsSidepaneTypeOpen, usePollViewToggle } from '../AppData/useSidepane';\n// @ts-ignore: No implicit Any\nimport { SIDE_PANE_OPTIONS } from '../../common/constants';\n\nexport const PollsToggle = () => {\n const isPollsOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.POLLS);\n const togglePollView = usePollViewToggle();\n\n return (\n <Tooltip key=\"polls\" title={`${isPollsOpen ? 'Close' : 'Open'} polls and quizzes`}>\n <IconButton onClick={togglePollView} active={!isPollsOpen} data-testid=\"polls_btn\">\n <QuizIcon />\n </IconButton>\n </Tooltip>\n );\n};\n", "/* eslint-disable no-case-declarations */\nimport { HMSVirtualBackgroundTypes } from '@100mslive/hms-virtual-background';\nexport function getRandomVirtualBackground() {\n const backgroundList = [\n {\n background: HMSVirtualBackgroundTypes.BLUR,\n backgroundType: HMSVirtualBackgroundTypes.BLUR,\n },\n ];\n\n const images = [\n 'https://www.100ms.live/images/vb-1.jpeg',\n 'https://www.100ms.live/images/vb-2.jpg',\n 'https://www.100ms.live/images/vb-3.png',\n 'https://d2qi07yyjujoxr.cloudfront.net/webapp/vb/hms1.png',\n 'https://d2qi07yyjujoxr.cloudfront.net/webapp/vb/hms2.png',\n 'https://d2qi07yyjujoxr.cloudfront.net/webapp/vb/hms3.png',\n 'https://d2qi07yyjujoxr.cloudfront.net/webapp/vb/hms4.png',\n ].map(url => ({\n background: url,\n backgroundType: HMSVirtualBackgroundTypes.IMAGE,\n }));\n\n backgroundList.push(...images);\n\n /* \n //TODO: update with a better quality gif.\n const gifList = [\n {\n background: \"https://www.100ms.live/images/vb-1.gif\",\n backgroundType: HMSVirtualBackgroundTypes.GIF,\n },\n ];\n backgroundList.push(...gifList); \n */\n\n const videoList = [\n 'https://www.100ms.live/images/video-1.mp4',\n 'https://www.100ms.live/images/video-2.mp4',\n 'https://www.100ms.live/images/video-5.mp4',\n 'https://www.100ms.live/images/video-7.mp4',\n 'https://www.100ms.live/images/video-8.mp4',\n ].map(url => ({\n background: url,\n backgroundType: HMSVirtualBackgroundTypes.VIDEO,\n }));\n backgroundList.push(...videoList);\n\n const randomIdx = Math.floor(Math.random() * backgroundList.length);\n const virtualBackground = backgroundList[randomIdx];\n switch (virtualBackground.backgroundType) {\n case HMSVirtualBackgroundTypes.IMAGE:\n const img = document.createElement('img');\n img.alt = 'VB';\n img.src = backgroundList[randomIdx].background;\n virtualBackground.background = img;\n return virtualBackground;\n case HMSVirtualBackgroundTypes.VIDEO:\n const videoEl = document.createElement('video');\n videoEl.src = backgroundList[randomIdx].background;\n virtualBackground.background = videoEl;\n return virtualBackground;\n default:\n return virtualBackground;\n }\n}\n", "import React, { useEffect, useRef, useState } from 'react';\nimport { HMSVirtualBackgroundTypes } from '@100mslive/hms-virtual-background';\nimport {\n selectIsLocalVideoEnabled,\n selectIsLocalVideoPluginPresent,\n selectLocalPeerRole,\n selectLocalVideoTrackID,\n useHMSActions,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport { VirtualBackgroundIcon } from '@100mslive/react-icons';\nimport { ActionTile } from '../../components/MoreSettings/ActionTile';\nimport { Loading } from '../../../Loading';\nimport { Tooltip } from '../../../Tooltip';\nimport IconButton from '../../IconButton';\nimport { getRandomVirtualBackground } from './vbutils';\n\nexport const VirtualBackground = ({\n asActionTile = false,\n onVBClick = () => {\n return;\n },\n}) => {\n const pluginRef = useRef(null);\n const hmsActions = useHMSActions();\n const role = useHMSStore(selectLocalPeerRole);\n const isVideoOn = useHMSStore(selectIsLocalVideoEnabled);\n const [isVBLoading, setIsVBLoading] = useState(false);\n const [isVBSupported, setIsVBSupported] = useState(false);\n const [isVBOn, setIsVBOn] = useState(false);\n const localPeerVideoTrackID = useHMSStore(selectLocalVideoTrackID);\n const isVBPresent = useHMSStore(selectIsLocalVideoPluginPresent('HMSVB'));\n\n async function createPlugin() {\n if (!pluginRef.current) {\n const { HMSVBPlugin } = await import('@100mslive/hms-virtual-background');\n pluginRef.current = new HMSVBPlugin(HMSVirtualBackgroundTypes.NONE, HMSVirtualBackgroundTypes.NONE);\n }\n }\n useEffect(() => {\n if (!localPeerVideoTrackID) {\n return;\n }\n createPlugin().then(() => {\n //check support of plugin\n const pluginSupport = hmsActions.validateVideoPluginSupport(pluginRef.current);\n setIsVBSupported(pluginSupport.isSupported);\n });\n }, [hmsActions, localPeerVideoTrackID]);\n\n async function addPlugin() {\n setIsVBLoading(true);\n try {\n await createPlugin();\n window.HMS.virtualBackground = pluginRef.current;\n const { background, backgroundType } = getRandomVirtualBackground();\n await pluginRef.current.setBackground(background, backgroundType);\n await hmsActions.addPluginToVideoTrack(pluginRef.current, Math.floor(role.publishParams.video.frameRate / 2));\n } catch (err) {\n console.error('add virtual background plugin failed', err);\n }\n setIsVBLoading(false);\n }\n\n async function removePlugin() {\n if (pluginRef.current) {\n await hmsActions.removePluginFromVideoTrack(pluginRef.current);\n pluginRef.current = null;\n }\n }\n\n if (!isVBSupported || !isVideoOn) {\n return null;\n }\n if (asActionTile) {\n return (\n <ActionTile.Root\n data-testid=\"virtual_bg_btn\"\n active={isVBPresent}\n disabled={isVBLoading}\n onClick={() => {\n setIsVBOn(!isVBOn);\n !isVBPresent ? addPlugin() : removePlugin();\n onVBClick();\n }}\n >\n <VirtualBackgroundIcon />\n <ActionTile.Title>Virtual Background</ActionTile.Title>\n </ActionTile.Root>\n );\n }\n\n return (\n <Tooltip\n boxCss={{ zIndex: '100' }}\n title={isVBLoading ? 'Adding virtual background' : `Turn ${!isVBPresent ? 'on' : 'off'} virtual background`}\n >\n <IconButton\n active={!isVBPresent}\n disabled={isVBLoading}\n onClick={() => {\n !isVBPresent ? addPlugin() : removePlugin();\n }}\n data-testid=\"virtual_bg_btn\"\n >\n {isVBLoading ? <Loading /> : <VirtualBackgroundIcon />}\n </IconButton>\n </Tooltip>\n );\n};\n\nexport default VirtualBackground;\n", "import React, { Suspense, useEffect } from 'react';\nimport { useMedia } from 'react-use';\nimport {\n ConferencingScreen,\n DefaultConferencingScreen_Elements,\n HLSLiveStreamingScreen_Elements,\n} from '@100mslive/types-prebuilt';\nimport { Chat_ChatState } from '@100mslive/types-prebuilt/elements/chat';\nimport { useAVToggle } from '@100mslive/react-sdk';\nimport { config as cssConfig, Footer as AppFooter } from '../../..';\n// @ts-ignore: No implicit Any\nimport { AudioVideoToggle } from '../AudioVideoToggle';\n// @ts-ignore: No implicit Any\nimport { EmojiReaction } from '../EmojiReaction';\n// @ts-ignore: No implicit Any\nimport { LeaveRoom } from '../Leave/LeaveRoom';\n// @ts-ignore: No implicit Any\nimport { MoreSettings } from '../MoreSettings/MoreSettings';\n// @ts-ignore: No implicit Any\nimport { RaiseHand } from '../RaiseHand';\n// @ts-ignore: No implicit Any\nimport { ScreenshareToggle } from '../ScreenShareToggle';\n// @ts-ignore: No implicit Any\nimport { ChatToggle } from './ChatToggle';\n// @ts-ignore: No implicit Any\nimport { ParticipantCount } from './ParticipantList';\nimport { PollsToggle } from './PollsToggle';\n// @ts-ignore: No implicit Any\nimport { useIsSidepaneTypeOpen, useSidepaneToggle } from '../AppData/useSidepane';\n// @ts-ignore: No implicit Any\nimport { useShowPolls } from '../AppData/useUISettings';\n// @ts-ignore: No implicit Any\nimport { SIDE_PANE_OPTIONS } from '../../common/constants';\n// @ts-ignore: No implicit Any\nconst VirtualBackground = React.lazy(() => import('../../plugins/VirtualBackground/VirtualBackground'));\n\nexport const Footer = ({\n screenType,\n elements,\n}: {\n screenType: keyof ConferencingScreen;\n elements: DefaultConferencingScreen_Elements | HLSLiveStreamingScreen_Elements;\n}) => {\n const isMobile = useMedia(cssConfig.media.md);\n const isOverlayChat = !!elements?.chat?.is_overlay;\n const openByDefault = elements?.chat?.initial_state === Chat_ChatState.CHAT_STATE_OPEN;\n\n const { toggleAudio, toggleVideo } = useAVToggle();\n const noAVPermissions = !(toggleAudio || toggleVideo);\n const isChatOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.CHAT);\n const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);\n const { showPolls } = useShowPolls();\n\n useEffect(() => {\n if (!isChatOpen && openByDefault) {\n toggleChat();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [toggleChat, openByDefault]);\n\n return (\n <AppFooter.Root\n css={{\n flexWrap: 'nowrap',\n '@md': {\n justifyContent: 'center',\n gap: '$10',\n position: 'relative',\n // To prevent it from showing over the sidepane if chat type is not overlay\n zIndex: isOverlayChat && isChatOpen ? 20 : 1,\n },\n }}\n >\n <AppFooter.Left\n css={{\n '@md': {\n w: 'unset',\n p: '0',\n gap: '$10',\n },\n }}\n >\n {isMobile ? <LeaveRoom screenType={screenType} /> : null}\n <AudioVideoToggle />\n {isMobile ? null : (\n <Suspense fallback={<></>}>\n <VirtualBackground />\n </Suspense>\n )}\n </AppFooter.Left>\n <AppFooter.Center\n css={{\n '@md': {\n w: 'unset',\n gap: '$10',\n },\n }}\n >\n {isMobile ? (\n <>\n {noAVPermissions ? <RaiseHand /> : null}\n {elements?.chat && <ChatToggle />}\n <MoreSettings elements={elements} screenType={screenType} />\n </>\n ) : (\n <>\n <ScreenshareToggle />\n <RaiseHand />\n {elements?.emoji_reactions && <EmojiReaction />}\n <LeaveRoom screenType={screenType} />\n </>\n )}\n </AppFooter.Center>\n <AppFooter.Right>\n {showPolls && <PollsToggle />}\n {!isMobile && elements?.chat && <ChatToggle />}\n {elements?.participant_list && <ParticipantCount />}\n <MoreSettings elements={elements} screenType={screenType} />\n </AppFooter.Right>\n </AppFooter.Root>\n );\n};\n", "import React, { useCallback, useState } from 'react';\nimport { selectHLSState, useHMSActions, useHMSStore, useRecordingStreaming } from '@100mslive/react-sdk';\nimport { Button } from '../../../Button';\nimport { Flex } from '../../../Layout';\nimport { Dialog } from '../../../Modal';\nimport { Text } from '../../../Text';\n// @ts-ignore: No implicit Any\nimport { useSetAppDataByKey } from '../AppData/useUISettings';\n// @ts-ignore: No implicit Any\nimport { APP_DATA } from '../../common/constants';\n\nexport function HLSFailureModal() {\n const hlsError = useHMSStore(selectHLSState).error || false;\n const [openModal, setOpenModal] = useState(!!hlsError);\n const hmsActions = useHMSActions();\n const { isRTMPRunning } = useRecordingStreaming();\n const [isHLSStarted, setHLSStarted] = useSetAppDataByKey(APP_DATA.hlsStarted);\n const startHLS = useCallback(async () => {\n try {\n if (isHLSStarted || isRTMPRunning) {\n return;\n }\n setHLSStarted(true);\n await hmsActions.startHLSStreaming({});\n } catch (error) {\n if ((error as Error).message.includes('invalid input')) {\n await startHLS();\n return;\n }\n setHLSStarted(false);\n }\n }, [hmsActions, isHLSStarted, setHLSStarted, isRTMPRunning]);\n\n return hlsError ? (\n <Dialog.Root\n open={openModal}\n onOpenChange={value => {\n if (!value) {\n setOpenModal(false);\n }\n }}\n >\n <Dialog.Portal>\n <Dialog.Overlay />\n <Dialog.Content css={{ w: 'min(360px, 90%)' }}>\n <Dialog.Title\n css={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n borderBottom: '1px solid $border_default',\n mt: '$4',\n }}\n >\n <Text variant=\"h6\" css={{ fontWeight: '$semiBold' }}>\n Failed to Go Live\n </Text>\n </Dialog.Title>\n <Text variant=\"sm\" css={{ mb: '$10', color: '$on_surface_medium' }}>\n Something went wrong and your live broadcast failed. Please try again.\n </Text>\n <Flex align=\"center\" justify=\"between\" css={{ w: '100%', gap: '$8' }}>\n <Button outlined variant=\"standard\" css={{ w: '100%' }} onClick={() => setOpenModal(false)}>\n Dismiss\n </Button>\n <Button css={{ w: '100%' }} onClick={startHLS}>\n Go Live\n </Button>\n </Flex>\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n ) : null;\n}\n", "import React from 'react';\nimport { Flex } from '../../Layout';\nimport { Text } from '../../Text';\nimport { CSS } from '../../Theme';\n\nconst Chip = ({\n icon = <></>,\n content = '',\n backgroundColor = '$surface_default',\n textColor = '$on_surface_high',\n hideIfNoContent = false,\n onClick,\n css = {},\n}: {\n icon?: React.JSX.Element;\n content: string;\n backgroundColor?: string;\n textColor?: string;\n hideIfNoContent?: boolean;\n onClick?: () => void | Promise<void>;\n css?: CSS;\n}) => {\n if (hideIfNoContent && !content) {\n return null;\n }\n return (\n <Flex\n align=\"center\"\n css={{ backgroundColor, p: '$4 $6', gap: '$2', borderRadius: '$4', ...css }}\n onClick={() => onClick?.()}\n >\n {icon}\n <Text variant=\"sm\" css={{ fontWeight: '$semiBold', color: textColor }}>\n {content}\n </Text>\n </Flex>\n );\n};\n\nexport default Chip;\n", "import React from 'react';\nimport { PinIcon, SpotlightIcon } from '@100mslive/react-icons';\nimport { Flex, styled, Text, textEllipsis } from '../../..';\nimport { ConnectionIndicator } from './ConnectionIndicator';\n\nconst TileConnection = ({\n name,\n peerId,\n hideLabel,\n width,\n spotlighted,\n pinned,\n}: {\n name: string;\n peerId: string;\n hideLabel: boolean;\n width?: number;\n spotlighted?: boolean;\n pinned?: boolean;\n}) => {\n return (\n <Wrapper>\n {!hideLabel ? (\n <>\n <Flex align=\"center\">\n {pinned && (\n <IconWrapper>\n <PinIcon width=\"15\" height=\"15\" />\n </IconWrapper>\n )}\n {spotlighted && (\n <IconWrapper>\n <SpotlightIcon width=\"15\" height=\"15\" />\n </IconWrapper>\n )}\n <Text\n css={{\n c: '$on_surface_high',\n verticalAlign: 'baseline',\n ...(width ? textEllipsis(width - 60) : {}),\n }}\n variant=\"xs\"\n >\n {name}\n </Text>\n </Flex>\n <ConnectionIndicator isTile peerId={peerId} hideBg />\n </>\n ) : null}\n </Wrapper>\n );\n};\n\nconst IconWrapper = styled('div', { c: '$on_surface_high', ml: '$3', mt: '$1' });\n\nconst Wrapper = styled('div', {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n position: 'absolute',\n bottom: '$2',\n left: '$2',\n backgroundColor: '$background_dim',\n borderRadius: '$1',\n maxWidth: '85%',\n '& p,span': {\n p: '$2 $3',\n },\n});\n\nexport default TileConnection;\n", "import React from 'react';\nimport { Flex } from '../../Layout';\nimport { Loading } from '../../Loading';\nimport { Text } from '../../Text';\n\nconst FullPageProgress = ({ loaderColor = '$primary_default', text = '', css = {} }) => (\n <Flex direction=\"column\" justify=\"center\" align=\"center\" css={{ size: '100%', color: loaderColor, ...css }}>\n <Loading color=\"currentColor\" size={100} />\n {text ? <Text css={{ mt: '$10', color: '$on_surface_high' }}>{text}</Text> : null}\n </Flex>\n);\n\nexport default FullPageProgress;\n", "import React, { useEffect, useState } from 'react';\nimport { selectDominantSpeaker, useHMSStore } from '@100mslive/react-sdk';\nimport { VolumeOneIcon } from '@100mslive/react-icons';\nimport { Flex, styled, Text, textEllipsis, VerticalDivider } from '../../../';\nimport { useRoomLayout } from '../../provider/roomLayoutProvider';\n\nexport const SpeakerTag = () => {\n const dominantSpeaker = useHMSStore(selectDominantSpeaker);\n return (\n dominantSpeaker &&\n dominantSpeaker.name && (\n <Flex\n align=\"center\"\n justify=\"center\"\n css={{ flex: '1 1 0', color: '$on_primary_high', '@md': { display: 'none' } }}\n >\n <VerticalDivider css={{ ml: '$8' }} />\n <VolumeOneIcon />\n <Text variant=\"md\" css={{ ...textEllipsis(200), ml: '$2' }} title={dominantSpeaker.name}>\n {dominantSpeaker.name}\n </Text>\n </Flex>\n )\n );\n};\n\nconst LogoImg = styled('img', {\n maxHeight: '$14',\n w: 'auto',\n objectFit: 'contain',\n '@md': {\n maxHeight: '$12',\n },\n});\n\nexport const Logo = () => {\n const roomLayout = useRoomLayout();\n const logo = roomLayout?.logo?.url;\n const [hideImage, setHideImage] = useState(false);\n // Hide logo for now as there is not enough space\n useEffect(() => {\n if (hideImage) {\n setHideImage(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [logo]);\n\n return logo && !hideImage ? (\n <LogoImg\n src={logo}\n alt=\"Brand Logo\"\n onError={e => {\n e.target.onerror = null;\n setHideImage(true);\n }}\n />\n ) : null;\n};\n", "import React from 'react';\nimport { useMedia } from 'react-use';\nimport { JoinForm_JoinBtnType } from '@100mslive/types-prebuilt/elements/join_form';\nimport { useRecordingStreaming } from '@100mslive/react-sdk';\nimport { RadioIcon } from '@100mslive/react-icons';\nimport { Button, config as cssConfig, Flex, Input, styled } from '../../..';\nimport { useRoomLayout } from '../../provider/roomLayoutProvider';\n// @ts-ignore: No implicit Any\nimport { PreviewSettings } from './PreviewJoin';\n\nconst PreviewForm = ({\n name,\n onChange,\n onJoin,\n enableJoin,\n cannotPublishVideo = false,\n cannotPublishAudio = false,\n}: {\n name: string;\n onChange: (name: string) => void;\n onJoin: () => void;\n enableJoin: boolean;\n cannotPublishVideo: boolean;\n cannotPublishAudio: boolean;\n}) => {\n const formSubmit = (e: React.SyntheticEvent) => {\n e.preventDefault();\n };\n const isMobile = useMedia(cssConfig.media.md);\n const { isHLSRunning, isRTMPRunning } = useRecordingStreaming();\n const layout = useRoomLayout();\n const { join_form: joinForm = {} } = layout?.screens?.preview?.default?.elements || {};\n const showGoLive =\n joinForm?.join_btn_type === JoinForm_JoinBtnType.JOIN_BTN_TYPE_JOIN_AND_GO_LIVE && !isHLSRunning && !isRTMPRunning;\n\n return (\n <Form\n css={{ flexDirection: cannotPublishVideo ? 'column' : 'row', '@md': { flexDirection: 'row' } }}\n onSubmit={formSubmit}\n >\n <Flex align=\"center\" css={{ gap: '$8', w: '100%' }}>\n <Input\n required\n id=\"name\"\n css={{ w: '100%', boxSizing: 'border-box' }}\n value={name}\n onChange={e => onChange(e.target.value.trimStart())}\n placeholder=\"Enter name\"\n autoFocus\n autoComplete=\"name\"\n onKeyDown={e => {\n if (e.key === 'Enter' && name.trim().length > 0) {\n e.preventDefault();\n if (isMobile) {\n return;\n }\n onJoin();\n }\n }}\n />\n {cannotPublishAudio && cannotPublishVideo && !isMobile ? <PreviewSettings /> : null}\n </Flex>\n\n <Button type=\"submit\" icon disabled={!name || !enableJoin} onClick={onJoin}>\n {/* Conditions to show go live: The first broadcaster joins a streaming kit that is not live */}\n {showGoLive ? <RadioIcon height={18} width={18} /> : null}\n {showGoLive ? joinForm.go_live_btn_label : joinForm.join_btn_label}\n </Button>\n </Form>\n );\n};\n\nconst Form = styled('form', {\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n gap: '$8',\n mt: '$10',\n mb: '$10',\n '@md': {\n gap: '$4',\n },\n});\n\nexport default PreviewForm;\n", "import React, { Fragment, Suspense, useCallback, useEffect, useMemo, useState } from 'react';\nimport { useMeasure, useMedia } from 'react-use';\nimport {\n HMSRoomState,\n selectIsLocalVideoEnabled,\n selectLocalPeer,\n selectRoomState,\n selectVideoTrackByID,\n useAVToggle,\n useHMSStore,\n useParticipants,\n usePreviewJoin,\n useRecordingStreaming,\n} from '@100mslive/react-sdk';\nimport { MicOffIcon, SettingsIcon } from '@100mslive/react-icons';\nimport { Avatar, Box, config as cssConfig, Flex, flexCenter, styled, StyledVideoTile, Text, Video } from '../../..';\nimport { AudioLevel } from '../../../AudioLevel';\nimport { useHMSPrebuiltContext } from '../../AppContext';\n// @ts-ignore: No implicit Any\nimport IconButton from '../../IconButton';\nimport { useRoomLayout } from '../../provider/roomLayoutProvider';\n// @ts-ignore: No implicit Any\nimport { AudioVideoToggle } from '../AudioVideoToggle';\n// @ts-ignore: No implicit Any\nimport Chip from '../Chip';\n// @ts-ignore: No implicit Any\nimport TileConnection from '../Connection/TileConnection';\n// @ts-ignore: No implicit Any\nimport FullPageProgress from '../FullPageProgress';\n// @ts-ignore: No implicit Any\nimport { Logo } from '../Header/HeaderComponents';\n// @ts-ignore: No implicit Any\nimport SettingsModal from '../Settings/SettingsModal';\n// @ts-ignore: No implicit Any\nimport PreviewForm from './PreviewForm';\n// @ts-ignore: No implicit Any\nimport { useAuthToken, useUISettings } from '../AppData/useUISettings';\n// @ts-ignore: No implicit Any\nimport { defaultPreviewPreference, UserPreferencesKeys, useUserPreferences } from '../hooks/useUserPreferences';\n// @ts-ignore: No implicit Any\nimport { calculateAvatarAndAttribBoxSize, getFormattedCount } from '../../common/utils';\n// @ts-ignore: No implicit Any\nimport { UI_SETTINGS } from '../../common/constants';\n\n// @ts-ignore: No implicit Any\nconst VirtualBackground = React.lazy(() => import('../../plugins/VirtualBackground/VirtualBackground'));\n\nconst getParticipantChipContent = (peerCount = 0) => {\n if (peerCount === 0) {\n return 'You are the first to join';\n }\n const formattedNum = getFormattedCount(peerCount);\n return `${formattedNum} other${parseInt(formattedNum) === 1 ? '' : 's'} in the session`;\n};\n\nconst useLocalTileAspectRatio = () => {\n const localPeer = useHMSStore(selectLocalPeer);\n const videoTrack = useHMSStore(selectVideoTrackByID(localPeer?.videoTrack));\n const isMobile = useMedia(cssConfig.media.md);\n let aspectRatio = 0;\n if (videoTrack?.width && videoTrack?.height) {\n aspectRatio = videoTrack.width / videoTrack.height;\n } else {\n aspectRatio = isMobile ? 9 / 16 : 16 / 9;\n }\n return aspectRatio;\n};\n\nconst PreviewJoin = ({\n skipPreview,\n initialName,\n asRole,\n}: {\n skipPreview?: boolean;\n initialName?: string;\n asRole?: string;\n}) => {\n const [previewPreference, setPreviewPreference] = useUserPreferences(\n UserPreferencesKeys.PREVIEW,\n defaultPreviewPreference,\n );\n const { isStreamingOn } = useRecordingStreaming();\n const authToken = useAuthToken();\n const [name, setName] = useState(initialName || previewPreference.name);\n const { toggleAudio, toggleVideo } = useAVToggle();\n const [previewError, setPreviewError] = useState(false);\n const { endpoints } = useHMSPrebuiltContext();\n const { peerCount } = useParticipants();\n const { enableJoin, preview, join } = usePreviewJoin({\n name,\n token: authToken,\n initEndpoint: endpoints?.init,\n initialSettings: {\n isAudioMuted: skipPreview || previewPreference.isAudioMuted,\n isVideoMuted: skipPreview || previewPreference.isVideoMuted,\n speakerAutoSelectionBlacklist: ['Yeti Stereo Microphone'],\n },\n captureNetworkQualityInPreview: true,\n handleError: (_, method) => {\n if (method === 'preview') {\n setPreviewError(true);\n }\n },\n asRole,\n });\n const roomState = useHMSStore(selectRoomState);\n\n const savePreferenceAndJoin = useCallback(() => {\n setPreviewPreference({\n name,\n });\n join();\n }, [join, name, setPreviewPreference]);\n const roomLayout = useRoomLayout();\n\n const { preview_header: previewHeader = {} } = roomLayout?.screens?.preview?.default?.elements || {};\n const aspectRatio = useLocalTileAspectRatio();\n useEffect(() => {\n if (authToken) {\n if (skipPreview) {\n savePreferenceAndJoin();\n } else {\n preview();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [authToken, skipPreview]);\n\n useEffect(() => {\n if (initialName) {\n setName(initialName);\n }\n }, [initialName]);\n\n return roomState === HMSRoomState.Preview ? (\n <Container css={{ h: '100%', pt: '$10', '@md': { justifyContent: 'space-between' } }}>\n {toggleVideo ? null : <Box />}\n <Flex direction=\"column\" justify=\"center\" css={{ w: '100%', maxWidth: '640px' }}>\n <Logo />\n <Text\n variant=\"h4\"\n css={{ wordBreak: 'break-word', textAlign: 'center', mt: '$14', mb: '$4', '@md': { mt: '$8', mb: '$2' } }}\n >\n {previewHeader.title}\n </Text>\n <Text\n css={{ c: '$on_surface_medium', my: '0', textAlign: 'center', maxWidth: '100%', wordWrap: 'break-word' }}\n variant=\"sm\"\n >\n {previewHeader.sub_title}\n </Text>\n <Flex justify=\"center\" css={{ mt: '$14', '@md': { mt: '$8', mb: '0' }, gap: '$4' }}>\n {isStreamingOn ? (\n <Chip\n content=\"LIVE\"\n backgroundColor=\"$alert_error_default\"\n textColor=\"#FFF\"\n icon={<Box css={{ h: '$sm', w: '$sm', backgroundColor: '$on_primary_high', borderRadius: '$round' }} />}\n />\n ) : null}\n <Chip content={getParticipantChipContent(peerCount)} hideIfNoContent />\n </Flex>\n </Flex>\n {toggleVideo ? (\n <Flex\n align=\"center\"\n justify=\"center\"\n css={{\n mt: '$14',\n '@md': { mt: 0 },\n '@sm': { width: '100%' },\n flexDirection: 'column',\n }}\n >\n <PreviewTile name={name} error={previewError} />\n </Flex>\n ) : null}\n <Box css={{ w: '100%', maxWidth: `${Math.max(aspectRatio, 1) * 360}px` }}>\n <PreviewControls hideSettings={!toggleVideo && !toggleAudio} />\n <PreviewForm\n name={name}\n onChange={setName}\n enableJoin={enableJoin}\n onJoin={savePreferenceAndJoin}\n cannotPublishVideo={!toggleVideo}\n cannotPublishAudio={!toggleAudio}\n />\n </Box>\n </Container>\n ) : (\n <FullPageProgress />\n );\n};\n\nconst Container = styled('div', {\n width: '100%',\n ...flexCenter,\n flexDirection: 'column',\n px: '$10',\n});\n\nexport const PreviewTile = ({ name, error }: { name: string; error?: boolean }) => {\n const localPeer = useHMSStore(selectLocalPeer);\n const { isLocalAudioEnabled, toggleAudio } = useAVToggle();\n const isVideoOn = useHMSStore(selectIsLocalVideoEnabled);\n const mirrorLocalVideo = useUISettings(UI_SETTINGS.mirrorLocalVideo);\n const trackSelector = selectVideoTrackByID(localPeer?.videoTrack);\n const track = useHMSStore(trackSelector);\n const showMuteIcon = !isLocalAudioEnabled || !toggleAudio;\n const aspectRatio = useLocalTileAspectRatio();\n const [ref, { width: calculatedWidth, height: calculatedHeight }] = useMeasure<HTMLDivElement>();\n const [avatarSize, attribBoxSize] = useMemo(\n () => calculateAvatarAndAttribBoxSize(calculatedWidth, calculatedHeight),\n [calculatedWidth, calculatedHeight],\n );\n\n return (\n <StyledVideoTile.Container\n ref={ref}\n css={{\n bg: '$surface_default',\n aspectRatio,\n height: 'min(360px, 70vh)',\n maxWidth: '640px',\n overflow: 'clip',\n '@md': {\n width: 'min(220px, 70vw)',\n maxWidth: '100%',\n my: '$4',\n },\n }}\n >\n {localPeer ? (\n <>\n <TileConnection name={name} peerId={localPeer.id} hideLabel={true} />\n <Video\n mirror={track?.facingMode !== 'environment' && mirrorLocalVideo}\n trackId={localPeer.videoTrack}\n data-testid=\"preview_tile\"\n />\n\n {!isVideoOn ? (\n <StyledVideoTile.AvatarContainer>\n <Avatar name={name} data-testid=\"preview_avatar_tile\" size={avatarSize} />\n </StyledVideoTile.AvatarContainer>\n ) : null}\n </>\n ) : null}\n {!localPeer && !error ? <FullPageProgress /> : null}\n\n {showMuteIcon ? (\n <StyledVideoTile.AudioIndicator size={attribBoxSize}>\n <MicOffIcon />\n </StyledVideoTile.AudioIndicator>\n ) : (\n <StyledVideoTile.AudioIndicator size={attribBoxSize}>\n <AudioLevel trackId={localPeer?.audioTrack} />\n </StyledVideoTile.AudioIndicator>\n )}\n </StyledVideoTile.Container>\n );\n};\n\nexport const PreviewControls = ({ hideSettings }: { hideSettings: boolean }) => {\n const isMobile = useMedia(cssConfig.media.md);\n\n return (\n <Flex\n justify={hideSettings && isMobile ? 'center' : 'between'}\n css={{\n width: '100%',\n mt: '$8',\n }}\n >\n <Flex css={{ gap: '$4' }}>\n <AudioVideoToggle />\n <Suspense fallback=\"\">{!isMobile ? <VirtualBackground /> : null}</Suspense>\n </Flex>\n {!hideSettings ? <PreviewSettings /> : null}\n </Flex>\n );\n};\n\nexport const PreviewSettings = React.memo(() => {\n const [open, setOpen] = useState(false);\n\n return (\n <Fragment>\n <IconButton data-testid=\"preview_setting_btn\" css={{ flexShrink: 0 }} onClick={() => setOpen(value => !value)}>\n <SettingsIcon />\n </IconButton>\n {open && <SettingsModal open={open} onOpenChange={setOpen} />}\n </Fragment>\n );\n});\n\nexport default PreviewJoin;\n", "import React from 'react';\nimport { useMedia } from 'react-use';\nimport { Box, Button, config as cssConfig, Dialog, Flex, Text } from '../../..';\nimport { Sheet } from '../../../Sheet';\n\nexport const RequestPrompt = ({\n open = true,\n onOpenChange,\n title,\n body,\n actionText = 'Accept',\n onAction,\n}: {\n open?: boolean;\n onOpenChange: (value: boolean) => void;\n title: string;\n body: React.ReactNode;\n actionText?: string;\n onAction: () => void;\n}) => {\n const isMobile = useMedia(cssConfig.media.md);\n\n if (isMobile) {\n return (\n <Sheet.Root open={open} onOpenChange={onOpenChange}>\n <Sheet.Content css={{ py: '$8' }}>\n <Text css={{ fontWeight: '$semiBold', c: '$on_surface_high', '@md': { px: '$8' } }}>{title}</Text>\n {body}\n <RequestActions actionText={actionText} onAction={onAction} />\n </Sheet.Content>\n </Sheet.Root>\n );\n }\n\n return (\n <Dialog.Root open={open} onOpenChange={onOpenChange}>\n <Dialog.Portal>\n <Dialog.Overlay />\n <Dialog.Content css={{ p: '$10' }}>\n <Dialog.Title css={{ p: 0, display: 'flex', flexDirection: 'row', gap: '$md', justifyContent: 'center' }}>\n <Text variant=\"h6\">{title}</Text>\n </Dialog.Title>\n <Box css={{ mt: '$4', mb: '$10' }}>{body}</Box>\n <RequestActions actionText={actionText} onAction={onAction} />\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n );\n};\n\nconst RequestActions = ({ onAction, actionText }: { actionText?: string; onAction: () => void }) => (\n <Flex justify=\"center\" align=\"center\" css={{ width: '100%', gap: '$md', '@md': { mt: '$8', px: '$8' } }}>\n <Box css={{ width: '50%' }}>\n <Dialog.Close css={{ width: '100%' }}>\n <Button variant=\"standard\" outlined css={{ width: '100%' }}>\n Decline\n </Button>\n </Dialog.Close>\n </Box>\n <Box css={{ width: '50%' }}>\n <Button variant=\"primary\" css={{ width: '100%' }} onClick={onAction}>\n {actionText}\n </Button>\n </Box>\n </Flex>\n);\n", "import React, { useEffect } from 'react';\nimport {\n selectLocalPeerName,\n selectLocalPeerRoleName,\n selectRoleChangeRequest,\n useCustomEvent,\n useHMSActions,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport { Flex, Text } from '../../..';\n// @ts-ignore: No implicit Any\nimport { PreviewControls, PreviewTile } from '../Preview/PreviewJoin';\nimport { RequestPrompt } from './RequestPrompt';\n// @ts-ignore: No implicit Any\nimport { useMyMetadata } from '../hooks/useMetadata';\n// @ts-ignore: No implicit Any\nimport { ROLE_CHANGE_DECLINED } from '../../common/constants';\n\nexport const RoleChangeRequestModal = () => {\n const hmsActions = useHMSActions();\n const { updateMetaData } = useMyMetadata();\n const currentRole = useHMSStore(selectLocalPeerRoleName);\n const roleChangeRequest = useHMSStore(selectRoleChangeRequest);\n const name = useHMSStore(selectLocalPeerName);\n const { sendEvent } = useCustomEvent({ type: ROLE_CHANGE_DECLINED });\n\n useEffect(() => {\n if (!roleChangeRequest?.role) {\n return;\n }\n (async () => {\n await hmsActions.preview({ asRole: roleChangeRequest.role.name });\n })();\n }, [hmsActions, roleChangeRequest, currentRole, updateMetaData]);\n\n if (!roleChangeRequest?.role) {\n return null;\n }\n\n const body = (\n <>\n <Text\n variant=\"xs\"\n css={{\n c: '$on_surface_medium',\n textAlign: 'center',\n '@md': { textAlign: 'left', borderBottom: '1px solid $border_bright', pb: '$4', px: '$8' },\n }}\n >\n Setup your audio and video before joining\n </Text>\n <Flex\n align=\"center\"\n justify=\"center\"\n css={{\n '@sm': { width: '100%' },\n flexDirection: 'column',\n mt: '$6',\n '@md': { px: '$8' },\n }}\n >\n <PreviewTile name={name || ''} />\n\n <PreviewControls hideSettings={true} />\n </Flex>\n </>\n );\n\n return (\n <RequestPrompt\n title=\"You're invited to join the stage\"\n onOpenChange={async value => {\n if (!value) {\n hmsActions.rejectChangeRole(roleChangeRequest);\n sendEvent({ ...roleChangeRequest, peerName: name }, { peerId: roleChangeRequest.requestedBy?.id });\n await hmsActions.cancelMidCallPreview();\n await hmsActions.lowerLocalPeerHand();\n }\n }}\n body={body}\n onAction={async () => {\n await hmsActions.acceptChangeRole(roleChangeRequest);\n await updateMetaData({ prevRole: currentRole });\n await hmsActions.lowerLocalPeerHand();\n }}\n actionText=\"Accept\"\n />\n );\n};\n", "import React, { Fragment } from 'react';\nimport { useMedia } from 'react-use';\nimport {\n selectPermissions,\n selectSessionStore,\n selectTrackByID,\n useCustomEvent,\n useHMSActions,\n useHMSStore,\n useRemoteAVToggle,\n} from '@100mslive/react-sdk';\nimport {\n MicOffIcon,\n MicOnIcon,\n PencilIcon,\n PinIcon,\n RemoveUserIcon,\n ShareScreenIcon,\n ShrinkIcon,\n SpeakerIcon,\n StarIcon,\n VideoOffIcon,\n VideoOnIcon,\n} from '@100mslive/react-icons';\nimport { Box, Flex } from '../../../Layout';\nimport { Slider } from '../../../Slider';\nimport { Text } from '../../../Text';\nimport { config as cssConfig } from '../../../Theme';\nimport { StyledMenuTile } from '../../../TileMenu';\nimport { ToastManager } from '../Toast/ToastManager';\nimport { useSetAppDataByKey } from '../AppData/useUISettings';\nimport { useDropdownSelection } from '../hooks/useDropdownSelection';\nimport { APP_DATA, REMOTE_STOP_SCREENSHARE_TYPE, SESSION_STORE_KEY } from '../../common/constants';\n\nexport const isSameTile = ({ trackId, videoTrackID, audioTrackID }) =>\n trackId && ((videoTrackID && videoTrackID === trackId) || (audioTrackID && audioTrackID === trackId));\n\nconst spacingCSS = { '@md': { my: '$8', fontWeight: '$semiBold', fontSize: 'sm' } };\n\nconst SpotlightActions = ({\n peerId,\n onSpotLightClick = () => {\n return;\n },\n}) => {\n const hmsActions = useHMSActions();\n const spotlightPeerId = useHMSStore(selectSessionStore(SESSION_STORE_KEY.SPOTLIGHT));\n const isTileSpotlighted = spotlightPeerId === peerId;\n\n const setSpotlightPeerId = peer =>\n hmsActions.sessionStore\n .set(SESSION_STORE_KEY.SPOTLIGHT, peer)\n .catch(err => ToastManager.addToast({ title: err.description }));\n\n return (\n <StyledMenuTile.ItemButton\n css={spacingCSS}\n onClick={() => {\n if (isTileSpotlighted) {\n setSpotlightPeerId();\n } else {\n setSpotlightPeerId(peerId);\n }\n onSpotLightClick();\n }}\n >\n <StarIcon height={20} width={20} />\n <span>{isTileSpotlighted ? 'Remove from Spotlight' : 'Spotlight Tile for everyone'}</span>\n </StyledMenuTile.ItemButton>\n );\n};\n\nconst PinActions = ({ audioTrackID, videoTrackID }) => {\n const [pinnedTrackId, setPinnedTrackId] = useSetAppDataByKey(APP_DATA.pinnedTrackId);\n\n const isTilePinned = isSameTile({\n trackId: pinnedTrackId,\n videoTrackID,\n audioTrackID,\n });\n\n return (\n <>\n <StyledMenuTile.ItemButton\n css={spacingCSS}\n onClick={() => (isTilePinned ? setPinnedTrackId() : setPinnedTrackId(videoTrackID || audioTrackID))}\n >\n <PinIcon height={20} width={20} />\n <span>{isTilePinned ? 'Unpin' : 'Pin'} Tile for myself</span>\n </StyledMenuTile.ItemButton>\n </>\n );\n};\n\nconst MinimiseInset = () => {\n const [minimised, setMinimised] = useSetAppDataByKey(APP_DATA.minimiseInset);\n\n return (\n <>\n <StyledMenuTile.ItemButton css={spacingCSS} onClick={() => setMinimised(!minimised)}>\n <ShrinkIcon height={20} width={20} />\n <span>{minimised ? 'Show' : 'Minimise'} your video</span>\n </StyledMenuTile.ItemButton>\n </>\n );\n};\n\nconst SimulcastLayers = ({ trackId }) => {\n const track = useHMSStore(selectTrackByID(trackId));\n const actions = useHMSActions();\n const bg = useDropdownSelection();\n if (!track?.layerDefinitions?.length || track.degraded || !track.enabled) {\n return null;\n }\n const currentLayer = track.layerDefinitions.find(layer => layer.layer === track.layer);\n return (\n <Fragment>\n <StyledMenuTile.ItemButton css={{ color: '$on_surface_medium', cursor: 'default' }}>\n Select maximum resolution\n </StyledMenuTile.ItemButton>\n {track.layerDefinitions.map(layer => {\n return (\n <StyledMenuTile.ItemButton\n key={layer.layer}\n onClick={async () => {\n await actions.setPreferredLayer(trackId, layer.layer);\n }}\n css={{\n justifyContent: 'space-between',\n bg: track.preferredLayer === layer.layer ? bg : undefined,\n '&:hover': {\n bg: track.preferredLayer === layer.layer ? bg : undefined,\n },\n }}\n >\n <Text\n as=\"span\"\n css={{\n textTransform: 'capitalize',\n mr: '$2',\n fontWeight: track.preferredLayer === layer.layer ? '$semiBold' : '$regular',\n color: track.preferredLayer === layer.layer ? '$on_primary_high' : '$on_surface_high',\n }}\n >\n {layer.layer}\n </Text>\n <Text\n as=\"span\"\n variant=\"xs\"\n css={{\n color: track.preferredLayer === layer.layer ? '$on_primary_high' : '$on_surface_high',\n }}\n >\n {layer.resolution.width}x{layer.resolution.height}\n </Text>\n </StyledMenuTile.ItemButton>\n );\n })}\n <StyledMenuTile.ItemButton>\n <Text as=\"span\" variant=\"xs\" css={{ color: '$on_surface_medium' }}>\n Currently streaming:\n <Text\n as=\"span\"\n variant=\"xs\"\n css={{\n fontWeight: '$semiBold',\n textTransform: 'capitalize',\n color: '$on_surface_medium',\n ml: '$2',\n }}\n >\n {currentLayer ? (\n <>\n {track.layer} ({currentLayer.resolution.width}x{currentLayer.resolution.height})\n </>\n ) : (\n '-'\n )}\n </Text>\n </Text>\n </StyledMenuTile.ItemButton>\n </Fragment>\n );\n};\n\nexport const TileMenuContent = props => {\n const actions = useHMSActions();\n const { removeOthers } = useHMSStore(selectPermissions);\n const {\n videoTrackID,\n audioTrackID,\n isLocal,\n isScreenshare,\n showSpotlight,\n showPinAction,\n peerID,\n canMinimise,\n closeSheetOnClick = () => {\n return;\n },\n openNameChangeModal = () => {\n return;\n },\n } = props;\n\n const { isAudioEnabled, isVideoEnabled, setVolume, toggleAudio, toggleVideo, volume } = useRemoteAVToggle(\n audioTrackID,\n videoTrackID,\n );\n\n const { sendEvent } = useCustomEvent({\n type: REMOTE_STOP_SCREENSHARE_TYPE,\n });\n\n const isMobile = useMedia(cssConfig.media.md);\n\n return isLocal ? (\n (showPinAction || canMinimise) && (\n <>\n {showPinAction && <PinActions audioTrackID={audioTrackID} videoTrackID={videoTrackID} />}\n {showSpotlight && <SpotlightActions peerId={peerID} onSpotLightClick={() => closeSheetOnClick()} />}\n {canMinimise && <MinimiseInset />}\n <StyledMenuTile.ItemButton\n onClick={() => {\n openNameChangeModal();\n closeSheetOnClick();\n }}\n >\n <PencilIcon height={20} width={20} />\n <Text variant=\"sm\" css={{ '@md': { fontWeight: '$semiBold' }, c: '$on_surface_high' }}>\n Change Name\n </Text>\n </StyledMenuTile.ItemButton>\n </>\n )\n ) : (\n <>\n {toggleVideo ? (\n <StyledMenuTile.ItemButton\n css={spacingCSS}\n onClick={() => {\n toggleVideo();\n closeSheetOnClick();\n }}\n data-testid={isVideoEnabled ? 'mute_video_participant_btn' : 'unmute_video_participant_btn'}\n >\n {isVideoEnabled ? <VideoOnIcon height={20} width={20} /> : <VideoOffIcon height={20} width={20} />}\n <span>{isVideoEnabled ? 'Mute' : 'Request Unmute'}</span>\n </StyledMenuTile.ItemButton>\n ) : null}\n\n {toggleAudio ? (\n <StyledMenuTile.ItemButton\n css={spacingCSS}\n onClick={() => {\n toggleAudio();\n closeSheetOnClick();\n }}\n data-testid={isVideoEnabled ? 'mute_audio_participant_btn' : 'unmute_audio_participant_btn'}\n >\n {isAudioEnabled ? <MicOnIcon height={20} width={20} /> : <MicOffIcon height={20} width={20} />}\n <span>{isAudioEnabled ? 'Mute' : 'Request Unmute'}</span>\n </StyledMenuTile.ItemButton>\n ) : null}\n\n {audioTrackID ? (\n <StyledMenuTile.VolumeItem data-testid=\"participant_volume_slider\" css={{ ...spacingCSS, mb: '$0' }}>\n <Flex align=\"center\" gap={1}>\n <SpeakerIcon height={20} width={20} />\n <Box as=\"span\" css={{ ml: '$4' }}>\n Volume ({volume})\n </Box>\n </Flex>\n <Slider css={{ my: '0.5rem' }} step={5} value={[volume]} onValueChange={e => setVolume(e[0])} />\n </StyledMenuTile.VolumeItem>\n ) : null}\n\n {showPinAction && (\n <>\n <PinActions audioTrackID={audioTrackID} videoTrackID={videoTrackID} />\n {showSpotlight && <SpotlightActions peerId={peerID} onSpotLightClick={() => closeSheetOnClick()} />}\n </>\n )}\n\n {isMobile ? null : <SimulcastLayers trackId={videoTrackID} />}\n\n {removeOthers ? (\n <StyledMenuTile.RemoveItem\n css={{ ...spacingCSS, borderTop: 'none' }}\n onClick={async () => {\n try {\n await actions.removePeer(peerID, '');\n } catch (error) {\n // TODO: Toast here\n }\n closeSheetOnClick();\n }}\n data-testid=\"remove_participant_btn\"\n >\n <RemoveUserIcon height={20} width={20} />\n <span>Remove Participant</span>\n </StyledMenuTile.RemoveItem>\n ) : null}\n\n {removeOthers && isScreenshare ? (\n <StyledMenuTile.RemoveItem\n onClick={() => {\n sendEvent({});\n closeSheetOnClick();\n }}\n css={spacingCSS}\n >\n <ShareScreenIcon height={20} width={20} />\n <span>Stop Screenshare</span>\n </StyledMenuTile.RemoveItem>\n ) : null}\n </>\n );\n};\n", "import React, { useState } from 'react';\nimport { useMedia } from 'react-use';\nimport {\n selectLocalPeerID,\n selectPeerByID,\n selectPermissions,\n selectTrackByID,\n selectVideoTrackByPeerID,\n useHMSStore,\n useRemoteAVToggle,\n} from '@100mslive/react-sdk';\nimport { CrossIcon, VerticalMenuIcon } from '@100mslive/react-icons';\nimport { Box, Flex } from '../../../Layout';\nimport { Sheet } from '../../../Sheet';\nimport { Text } from '../../../Text';\nimport { config as cssConfig, useTheme } from '../../../Theme';\nimport { StyledMenuTile } from '../../../TileMenu';\nimport { ChangeNameModal } from '../MoreSettings/ChangeNameModal';\nimport { TileMenuContent } from './TileMenuContent';\nimport { useDropdownList } from '../hooks/useDropdownList';\n\n/**\n * Taking peerID as peer won't necesarilly have tracks\n */\nconst TileMenu = ({\n audioTrackID,\n videoTrackID,\n peerID,\n isScreenshare = false,\n canMinimise,\n enableSpotlightingPeer = true,\n}) => {\n const [open, setOpen] = useState(false);\n const { theme } = useTheme();\n\n const localPeerID = useHMSStore(selectLocalPeerID);\n const isLocal = localPeerID === peerID;\n const { removeOthers } = useHMSStore(selectPermissions);\n const { setVolume, toggleAudio, toggleVideo } = useRemoteAVToggle(audioTrackID, videoTrackID);\n const showSpotlight = enableSpotlightingPeer;\n\n const isPrimaryVideoTrack = useHMSStore(selectVideoTrackByPeerID(peerID))?.id === videoTrackID;\n const showPinAction = audioTrackID || (videoTrackID && isPrimaryVideoTrack);\n\n const track = useHMSStore(selectTrackByID(videoTrackID));\n const hideSimulcastLayers = !track?.layerDefinitions?.length || track.degraded || !track.enabled;\n const isMobile = useMedia(cssConfig.media.md);\n const peer = useHMSStore(selectPeerByID(peerID));\n const [showNameChangeModal, setShowNameChangeModal] = useState(false);\n useDropdownList({ open, name: 'TileMenu' });\n\n if (!(removeOthers || toggleAudio || toggleVideo || setVolume || showPinAction) && hideSimulcastLayers) {\n return null;\n }\n\n const openNameChangeModal = () => setShowNameChangeModal(true);\n\n const props = {\n isLocal,\n isScreenshare,\n audioTrackID,\n videoTrackID,\n peerID,\n isPrimaryVideoTrack,\n showSpotlight,\n showPinAction,\n canMinimise,\n openNameChangeModal,\n };\n\n return (\n <>\n <StyledMenuTile.Root open={open} onOpenChange={setOpen}>\n <StyledMenuTile.Trigger\n data-testid=\"participant_menu_btn\"\n css={{ bg: `${theme.colors.background_dim.value}A3`, p: '$2', w: 'unset', h: 'unset' }}\n onClick={e => e.stopPropagation()}\n className={isMobile ? '__cancel-drag-event' : ''}\n >\n <VerticalMenuIcon width={20} height={20} />\n </StyledMenuTile.Trigger>\n\n {isMobile ? (\n <Sheet.Root open={open} onOpenChange={setOpen}>\n <Sheet.Content css={{ bg: '$surface_dim', pt: '$8' }}>\n <Flex\n css={{\n color: '$on_surface_high',\n display: 'flex',\n w: '100%',\n justifyContent: 'space-between',\n alignItems: 'center',\n px: '$10',\n pb: '$8',\n borderBottom: '1px solid $border_default',\n }}\n >\n <Box>\n <Text css={{ color: '$on_surface_high', fontWeight: '$semiBold' }}>\n {peer.name}\n {isLocal ? ` (You)` : null}\n </Text>\n {peer?.roleName ? (\n <Text variant=\"xs\" css={{ color: '$on_surface_low', mt: '$2' }}>\n {peer.roleName}\n </Text>\n ) : null}\n </Box>\n\n <Sheet.Close css={{ color: 'inherit' }}>\n <CrossIcon />\n </Sheet.Close>\n </Flex>\n <Box css={{ px: '$8', pb: '$8', maxHeight: '80vh', overflowY: 'auto' }}>\n <TileMenuContent {...props} closeSheetOnClick={() => setOpen(false)} />\n </Box>\n </Sheet.Content>\n </Sheet.Root>\n ) : (\n <StyledMenuTile.Content side=\"top\" align=\"end\" css={{ maxHeight: '$80', overflowY: 'auto' }}>\n <TileMenuContent {...props} />\n </StyledMenuTile.Content>\n )}\n </StyledMenuTile.Root>\n {showNameChangeModal && <ChangeNameModal onOpenChange={setShowNameChangeModal} />}\n </>\n );\n};\n\nexport { isSameTile } from './TileMenuContent';\n\nexport default TileMenu;\n", "const PEER_NAME_PLACEHOLDER = 'peerName';\nconst labelMap = new Map([\n [[true, 'screen'].toString(), 'Your Screen'],\n [[true, 'regular'].toString(), `You (${PEER_NAME_PLACEHOLDER})`],\n [[false, 'screen'].toString(), `${PEER_NAME_PLACEHOLDER}'s Screen`],\n [[false, 'regular'].toString(), PEER_NAME_PLACEHOLDER],\n [[true, undefined].toString(), `You (${PEER_NAME_PLACEHOLDER})`],\n [[false, undefined].toString(), `${PEER_NAME_PLACEHOLDER}`],\n]);\n\nexport const getVideoTileLabel = ({ peerName, isLocal, track }) => {\n const isPeerPresent = peerName !== undefined;\n if (!isPeerPresent || !track) {\n // for peers with only audio track\n return isPeerPresent ? labelMap.get([isLocal, undefined].toString()).replace(PEER_NAME_PLACEHOLDER, peerName) : '';\n }\n const isLocallyMuted = track.volume === 0;\n // Map [isLocal, videoSource] to the label to be displayed.\n let label = labelMap.get([isLocal, track.source].toString());\n if (label) {\n label = label.replace(PEER_NAME_PLACEHOLDER, peerName);\n } else {\n label = `${peerName} ${track.source}`;\n }\n // label = `${label}${track.degraded ? '(Degraded)' : ''}`;\n return `${label}${isLocallyMuted ? ' (Muted for you)' : ''}`;\n};\n", "import React, { Fragment, useCallback, useMemo, useState } from 'react';\nimport { useMeasure, useMedia } from 'react-use';\nimport {\n selectAudioTrackByPeerID,\n selectHasPeerHandRaised,\n selectIsPeerAudioEnabled,\n selectLocalPeerID,\n selectPeerMetadata,\n selectPeerNameByID,\n selectSessionStore,\n selectVideoTrackByID,\n selectVideoTrackByPeerID,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport { BrbTileIcon, HandIcon, MicOffIcon } from '@100mslive/react-icons';\nimport TileConnection from './Connection/TileConnection';\nimport TileMenu, { isSameTile } from './TileMenu/TileMenu';\nimport { AudioLevel } from '../../AudioLevel';\nimport { Avatar } from '../../Avatar';\nimport { VideoTileStats } from '../../Stats';\nimport { config as cssConfig } from '../../Theme';\nimport { Video } from '../../Video';\nimport { StyledVideoTile } from '../../VideoTile';\nimport { getVideoTileLabel } from './peerTileUtils';\nimport { useSetAppDataByKey, useUISettings } from './AppData/useUISettings';\nimport { calculateAvatarAndAttribBoxSize } from '../common/utils';\nimport { APP_DATA, SESSION_STORE_KEY, UI_SETTINGS } from '../common/constants';\n\nconst Tile = ({\n peerId,\n trackId,\n width,\n height,\n objectFit = 'cover',\n canMinimise = false,\n isDragabble = false,\n rootCSS = {},\n containerCSS = {},\n enableSpotlightingPeer = true,\n hideParticipantNameOnTile = false,\n roundedVideoTile = true,\n hideAudioMuteOnTile = false,\n hideMetadataOnTile = false,\n}) => {\n const trackSelector = trackId ? selectVideoTrackByID(trackId) : selectVideoTrackByPeerID(peerId);\n const track = useHMSStore(trackSelector);\n const isMobile = useMedia(cssConfig.media.md);\n const peerName = useHMSStore(selectPeerNameByID(peerId));\n const audioTrack = useHMSStore(selectAudioTrackByPeerID(peerId));\n const localPeerID = useHMSStore(selectLocalPeerID);\n const isAudioOnly = useUISettings(UI_SETTINGS.isAudioOnly);\n const mirrorLocalVideo = useUISettings(UI_SETTINGS.mirrorLocalVideo);\n const showStatsOnTiles = useUISettings(UI_SETTINGS.showStatsOnTiles);\n const isAudioMuted = !useHMSStore(selectIsPeerAudioEnabled(peerId));\n const isVideoMuted = !track?.enabled;\n const [isMouseHovered, setIsMouseHovered] = useState(false);\n const isVideoDegraded = track?.degraded;\n const isLocal = localPeerID === peerId;\n const [pinnedTrackId] = useSetAppDataByKey(APP_DATA.pinnedTrackId);\n const pinned = isSameTile({\n trackId: pinnedTrackId,\n videoTrackID: track?.id,\n audioTrackID: audioTrack?.id,\n });\n const spotlighted = useHMSStore(selectSessionStore(SESSION_STORE_KEY.SPOTLIGHT)) === peerId;\n const label = getVideoTileLabel({\n peerName,\n track,\n isLocal,\n });\n const onHoverHandler = useCallback(event => {\n setIsMouseHovered(event.type === 'mouseenter');\n }, []);\n\n const [ref, { width: calculatedWidth, height: calculatedHeight }] = useMeasure();\n\n const isTileBigEnoughToShowStats = calculatedHeight >= 180 && calculatedWidth >= 180;\n\n const [avatarSize, attribBoxSize] = useMemo(\n () => calculateAvatarAndAttribBoxSize(calculatedWidth, calculatedHeight),\n [calculatedWidth, calculatedHeight],\n );\n\n return (\n <StyledVideoTile.Root\n ref={ref}\n css={{\n width,\n height,\n ...rootCSS,\n }}\n data-testid={`participant_tile_${peerName}`}\n >\n {peerName !== undefined ? (\n <StyledVideoTile.Container\n onMouseEnter={onHoverHandler}\n onMouseLeave={onHoverHandler}\n noRadius={!roundedVideoTile}\n css={containerCSS}\n >\n {showStatsOnTiles && isTileBigEnoughToShowStats ? (\n <VideoTileStats audioTrackID={audioTrack?.id} videoTrackID={track?.id} peerID={peerId} isLocal={isLocal} />\n ) : null}\n\n <Video\n trackId={track?.id}\n attach={isLocal ? undefined : !isAudioOnly}\n mirror={\n mirrorLocalVideo &&\n peerId === localPeerID &&\n track?.source === 'regular' &&\n track?.facingMode !== 'environment'\n }\n noRadius={!roundedVideoTile}\n data-testid=\"participant_video_tile\"\n css={{\n objectFit,\n filter: isVideoDegraded ? 'blur($space$2)' : undefined,\n bg: 'transparent',\n }}\n />\n {calculatedWidth > 0 && calculatedHeight > 0 ? (\n <>\n {isVideoMuted || (!isLocal && isAudioOnly) ? (\n <StyledVideoTile.AvatarContainer>\n <Avatar name={peerName || ''} data-testid=\"participant_avatar_icon\" size={avatarSize} />\n </StyledVideoTile.AvatarContainer>\n ) : null}\n\n {!hideAudioMuteOnTile ? (\n isAudioMuted ? (\n <StyledVideoTile.AudioIndicator data-testid=\"participant_audio_mute_icon\" size={attribBoxSize}>\n <MicOffIcon />\n </StyledVideoTile.AudioIndicator>\n ) : (\n <StyledVideoTile.AudioIndicator size={attribBoxSize}>\n <AudioLevel trackId={audioTrack?.id} size={attribBoxSize} />\n </StyledVideoTile.AudioIndicator>\n )\n ) : null}\n {!hideMetadataOnTile && <PeerMetadata peerId={peerId} size={attribBoxSize} />}\n </>\n ) : null}\n {isMouseHovered || (isDragabble && isMobile) ? (\n <TileMenu\n peerID={peerId}\n audioTrackID={audioTrack?.id}\n videoTrackID={track?.id}\n canMinimise={canMinimise}\n enableSpotlightingPeer={enableSpotlightingPeer}\n />\n ) : null}\n\n <TileConnection\n hideLabel={hideParticipantNameOnTile}\n name={label}\n isTile\n peerId={peerId}\n width={width}\n pinned={pinned}\n spotlighted={spotlighted}\n />\n </StyledVideoTile.Container>\n ) : null}\n </StyledVideoTile.Root>\n );\n};\n\nconst PeerMetadata = ({ peerId, size }) => {\n const metaData = useHMSStore(selectPeerMetadata(peerId));\n const isBRB = metaData?.isBRBOn || false;\n const isHandRaised = useHMSStore(selectHasPeerHandRaised(peerId));\n\n return (\n <Fragment>\n {isHandRaised ? (\n <StyledVideoTile.AttributeBox size={size} data-testid=\"raiseHand_icon_onTile\">\n <HandIcon width={24} height={24} />\n </StyledVideoTile.AttributeBox>\n ) : null}\n {isBRB ? (\n <StyledVideoTile.AttributeBox size={size} data-testid=\"brb_icon_onTile\">\n <BrbTileIcon width={22} height={22} />\n </StyledVideoTile.AttributeBox>\n ) : null}\n </Fragment>\n );\n};\n\nconst VideoTile = React.memo(Tile);\n\nexport default VideoTile;\n", "import React, { useContext } from 'react';\n\ntype TileContextType = {\n enableSpotlightingPeer: boolean;\n hideParticipantNameOnTile?: boolean;\n roundedVideoTile?: boolean;\n hideAudioMuteOnTile?: boolean;\n hideAudioLevelOnTile?: boolean;\n objectFit?: 'cover' | 'contain';\n hideMetadataOnTile?: boolean;\n};\n\nexport const VideoTileContext = React.createContext<TileContextType>({\n enableSpotlightingPeer: true,\n hideParticipantNameOnTile: false,\n roundedVideoTile: true,\n hideAudioMuteOnTile: false,\n hideAudioLevelOnTile: false,\n objectFit: 'contain',\n hideMetadataOnTile: false,\n});\n\nexport const useVideoTileContext = () => {\n const context = useContext(VideoTileContext);\n return context;\n};\n", "import React, { useEffect, useRef } from 'react';\nimport Draggable from 'react-draggable';\nimport { useMedia } from 'react-use';\nimport { selectIsAllowedToPublish, selectLocalPeer, selectVideoTrackByID, useHMSStore } from '@100mslive/react-sdk';\nimport { ExpandIcon } from '@100mslive/react-icons';\nimport { Box, Flex } from '../../Layout';\nimport { Text } from '../../Text';\nimport { config as cssConfig } from '../../Theme';\n// @ts-ignore: No implicit Any\nimport IconButton from '../IconButton';\n// @ts-ignore: No implicit Any\nimport { AudioVideoToggle } from './AudioVideoToggle';\n// @ts-ignore: No implicit Any\nimport VideoTile from './VideoTile';\n// @ts-ignore: No implicit Any\nimport { useSetAppDataByKey } from './AppData/useUISettings';\nimport { useVideoTileContext } from './hooks/useVideoTileLayout';\n// @ts-ignore: No implicit Any\nimport { APP_DATA } from '../common/constants';\n\nconst MinimisedTile = ({ setMinimised }: { setMinimised: (value: boolean) => void }) => {\n return (\n <Flex align=\"center\" css={{ gap: '$6', r: '$1', bg: '$surface_default', p: '$4', color: '$on_surface_high' }}>\n <AudioVideoToggle hideOptions={true} />\n <Text>You</Text>\n <IconButton\n className=\"__cancel-drag-event\"\n onClick={() => setMinimised(false)}\n css={{ bg: 'transparent', border: 'transparent' }}\n >\n <ExpandIcon />\n </IconButton>\n </Flex>\n );\n};\n\nconst insetHeightPx = 180;\nconst insetMaxWidthPx = 240;\nconst defaultMobileAspectRatio = 9 / 16;\nconst desktopAspectRatio = 1 / defaultMobileAspectRatio;\n\nexport const InsetTile = () => {\n const isMobile = useMedia(cssConfig.media.md);\n const isLandscape = useMedia(cssConfig.media.ls);\n const localPeer = useHMSStore(selectLocalPeer);\n const [minimised, setMinimised] = useSetAppDataByKey(APP_DATA.minimiseInset);\n const videoTrack = useHMSStore(selectVideoTrackByID(localPeer?.videoTrack));\n const isAllowedToPublish = useHMSStore(selectIsAllowedToPublish);\n const videoTileProps = useVideoTileContext();\n let aspectRatio = isMobile ? defaultMobileAspectRatio : desktopAspectRatio;\n if (videoTrack?.width && videoTrack?.height && !isMobile) {\n aspectRatio = videoTrack.width / videoTrack.height;\n }\n let height = insetHeightPx;\n let width = height * aspectRatio;\n // Convert to 16/9 in landscape mode with a max width of 240\n if (isLandscape && width > insetMaxWidthPx) {\n width = 240;\n height = width / aspectRatio;\n }\n\n const nodeRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const node = nodeRef.current;\n if (!node || !window.ResizeObserver) {\n return;\n }\n const resizeObserver = new ResizeObserver(entries => {\n entries.forEach(entry => {\n if (entry.target === node.parentElement) {\n // reset to original position on resize\n node.style.transform = `translate(0,0)`;\n }\n });\n });\n node.parentElement && resizeObserver.observe(node.parentElement);\n return () => {\n node?.parentElement && resizeObserver?.unobserve(node.parentElement);\n resizeObserver?.disconnect();\n };\n }, []);\n\n if (!isAllowedToPublish.video && !isAllowedToPublish.audio) {\n return null;\n }\n\n return (\n <Draggable bounds=\"parent\" nodeRef={nodeRef} cancel=\".__cancel-drag-event\">\n <Box\n ref={nodeRef}\n css={{\n position: 'absolute',\n bottom: 0,\n right: 0,\n zIndex: 11,\n boxShadow: '0 0 8px 0 rgba(0,0,0,0.3)',\n r: '$2',\n ...(!minimised\n ? {\n aspectRatio: aspectRatio,\n h: height,\n }\n : {}),\n }}\n >\n {minimised ? (\n <MinimisedTile setMinimised={setMinimised} />\n ) : (\n <VideoTile\n peerId={localPeer?.id}\n trackid={localPeer?.videoTrack}\n rootCSS={{\n size: '100%',\n padding: 0,\n }}\n width={width}\n height={height}\n containerCSS={{ background: '$surface_default' }}\n canMinimise\n isDragabble\n {...videoTileProps}\n hideParticipantNameOnTile\n />\n )}\n </Box>\n </Draggable>\n );\n};\n", "import React, { useEffect } from 'react';\nimport { ChevronLeftIcon, ChevronRightIcon } from '@100mslive/react-icons';\nimport { StyledPagination } from '../../Pagination';\n\nexport const Pagination = ({\n page,\n onPageChange,\n numPages,\n}: {\n page: number;\n onPageChange: (page: number) => void;\n numPages: number;\n}) => {\n const disableLeft = page === 0;\n const disableRight = page === numPages - 1;\n const nextPage = (e: React.SyntheticEvent) => {\n e.stopPropagation();\n onPageChange(Math.min(page + 1, numPages - 1));\n };\n const prevPage = (e: React.SyntheticEvent) => {\n e.stopPropagation();\n onPageChange(Math.max(page - 1, 0));\n };\n\n useEffect(() => {\n // currentPageIndex should not exceed pages length\n if (page >= numPages) {\n onPageChange(Math.max(0, numPages - 1));\n }\n }, [numPages, onPageChange, page]);\n\n if (numPages <= 1) {\n return null;\n }\n\n return (\n <StyledPagination.Root css={{ flexShrink: 0 }}>\n <StyledPagination.Chevron disabled={disableLeft} onClick={prevPage}>\n <ChevronLeftIcon width={16} height={16} style={{ cursor: disableLeft ? 'not-allowed' : 'pointer' }} />\n </StyledPagination.Chevron>\n {numPages <= 5 ? (\n <StyledPagination.Dots>\n {[...Array(numPages)].map((_, i) => (\n <StyledPagination.Dot\n key={i}\n active={page === i}\n onClick={e => {\n e.stopPropagation();\n onPageChange(i);\n }}\n />\n ))}\n </StyledPagination.Dots>\n ) : null}\n <StyledPagination.Chevron disabled={disableRight} onClick={nextPage}>\n <ChevronRightIcon width={16} height={16} style={{ cursor: disableRight ? 'not-allowed' : 'pointer' }} />\n </StyledPagination.Chevron>\n </StyledPagination.Root>\n );\n};\n", "import React from 'react';\nimport { TrackWithPeerAndDimensions } from '@100mslive/react-sdk';\nimport { Box } from '../../../Layout';\n// @ts-ignore: No implicit Any\nimport VideoTile from '../VideoTile';\nimport { useVideoTileContext } from '../hooks/useVideoTileLayout';\n\nexport const Grid = React.forwardRef<HTMLDivElement, { tiles: TrackWithPeerAndDimensions[]; edgeToEdge?: boolean }>(\n ({ tiles, edgeToEdge }, ref) => {\n const videoTileProps = useVideoTileContext();\n return (\n <Box\n ref={ref}\n css={{\n flex: '1 1 0',\n gap: '$4',\n display: 'flex',\n placeContent: 'center',\n alignItems: 'center',\n justifyContent: 'center',\n flexFlow: 'row wrap',\n minHeight: 0,\n '@md': { gap: edgeToEdge ? 0 : '$4' },\n }}\n >\n {tiles?.map(tile => {\n return (\n <VideoTile\n key={tile.track?.id || tile.peer?.id}\n width={tile.width}\n height={tile.height}\n peerId={tile.peer?.id}\n trackId={tile.track?.id}\n rootCSS={{ padding: 0 }}\n objectFit=\"contain\"\n {...videoTileProps}\n />\n );\n })}\n </Box>\n );\n },\n);\n", "import { useEffect, useMemo, useState } from 'react';\nimport { useMeasure, useMedia } from 'react-use';\nimport {\n getPeersWithTiles,\n HMSPeer,\n selectTracksMap,\n TrackWithPeerAndDimensions,\n useHMSVanillaStore,\n} from '@100mslive/react-sdk';\nimport { config as cssConfig } from '../../../Theme';\n\nconst aspectRatioConfig = { default: [1 / 1, 4 / 3, 16 / 9], mobile: [1 / 1, 3 / 4, 9 / 16] };\n\nexport const usePagesWithTiles = ({ peers, maxTileCount }: { peers: HMSPeer[]; maxTileCount: number }) => {\n const vanillaStore = useHMSVanillaStore();\n const tracksMap = vanillaStore.getState(selectTracksMap);\n const peersWithTiles = useMemo(\n () => getPeersWithTiles(peers, tracksMap, () => false) as TrackWithPeerAndDimensions[],\n [peers, tracksMap],\n );\n const noOfPages = Math.ceil(peersWithTiles.length / maxTileCount);\n const pagesList = useMemo(() => {\n let sliceStart = 0;\n let remaining = peersWithTiles.length;\n const list = [];\n // split into pages\n for (let i = 0; i < noOfPages; i++) {\n const count = Math.min(remaining, maxTileCount);\n list.push(peersWithTiles.slice(sliceStart, sliceStart + count));\n remaining = remaining - count;\n sliceStart += count;\n }\n return list;\n }, [peersWithTiles, noOfPages, maxTileCount]);\n return pagesList;\n};\n\nexport const useTileLayout = ({\n pageList,\n maxTileCount,\n edgeToEdge = false,\n}: {\n pageList: TrackWithPeerAndDimensions[][];\n maxTileCount: number;\n edgeToEdge?: boolean;\n}) => {\n const vanillaStore = useHMSVanillaStore();\n const [ref, { width, height }] = useMeasure<HTMLDivElement>();\n const isMobile = useMedia(cssConfig.media.lg);\n const [pagesWithTiles, setPagesWithTiles] = useState<TrackWithPeerAndDimensions[][]>([]);\n\n useEffect(() => {\n if (width === 0 || height === 0) {\n return;\n }\n // calculate dimesions for each page\n for (const page of pageList) {\n const noOfTilesInPage = page.length;\n let maxCols =\n noOfTilesInPage > 2 && noOfTilesInPage < 9\n ? Math.ceil(noOfTilesInPage / 2)\n : Math.ceil(Math.sqrt(noOfTilesInPage));\n if (isMobile) {\n maxCols = noOfTilesInPage < 4 ? 1 : Math.min(maxCols, 2);\n }\n const maxRows = Math.ceil(noOfTilesInPage / maxCols);\n let index = 0;\n // convert the current page to a matrix(grid)\n const matrix = new Array(maxRows).fill(null).map((_, i) => {\n const numCols = Math.min(maxCols, noOfTilesInPage - i * maxCols);\n const rowElements = [];\n for (let j = 0; j < numCols; j++) {\n if (index < page.length) {\n rowElements.push(page[index++]);\n }\n }\n return rowElements;\n });\n\n const gap = edgeToEdge && isMobile ? 0 : 8; // gap between flex items\n const maxHeight = height - (maxRows - 1) * gap;\n const maxRowHeight = maxHeight / matrix.length;\n const aspectRatios =\n isMobile && (noOfTilesInPage === 1 || noOfTilesInPage > 3)\n ? aspectRatioConfig.mobile\n : aspectRatioConfig.default;\n // calculate height and width of each tile in a row\n for (const row of matrix) {\n let tileWidth = (width - (row.length - 1) * gap) / row.length;\n let tileHeight = 0;\n if (edgeToEdge) {\n tileHeight = maxRowHeight;\n } else {\n const calcHeights = aspectRatios.map(aR => tileWidth / aR);\n for (const h of calcHeights) {\n if (h < maxRowHeight) {\n if (tileHeight < h) {\n tileHeight = h;\n }\n }\n }\n\n // tileHeight is not calculated as it could be exceeding the max possible height\n // find the max possible width instead\n if (tileHeight === 0) {\n tileHeight = maxRowHeight;\n const calcWidths = aspectRatios.map(aR => tileHeight * aR);\n tileWidth = 0;\n for (const w of calcWidths) {\n if (w < width) {\n if (tileWidth < w) {\n tileWidth = w;\n }\n }\n }\n }\n }\n for (let i = 0; i < row.length; i++) {\n row[i].width = tileWidth;\n row[i].height = tileHeight;\n }\n }\n }\n setPagesWithTiles([...pageList]);\n }, [width, height, maxTileCount, pageList, vanillaStore, isMobile, edgeToEdge]);\n return { pagesWithTiles, ref };\n};\n", "import React, { useEffect, useMemo, useState } from 'react';\nimport { useMedia } from 'react-use';\nimport { selectLocalPeer, useHMSStore } from '@100mslive/react-sdk';\nimport { Flex } from '../../../Layout';\nimport { config as cssConfig } from '../../../Theme';\nimport { InsetTile } from '../InsetTile';\nimport { Pagination } from '../Pagination';\nimport { Grid } from './Grid';\nimport { LayoutProps } from './interface';\n// @ts-ignore: No implicit Any\nimport { useUISettings } from '../AppData/useUISettings';\nimport { usePagesWithTiles, useTileLayout } from '../hooks/useTileLayout';\n// @ts-ignore: No implicit Any\nimport { UI_SETTINGS } from '../../common/constants';\n\nexport function EqualProminence({ isInsetEnabled = false, peers, onPageChange, onPageSize, edgeToEdge }: LayoutProps) {\n const localPeer = useHMSStore(selectLocalPeer);\n const isMobile = useMedia(cssConfig.media.md);\n let maxTileCount = useUISettings(UI_SETTINGS.maxTileCount);\n maxTileCount = isMobile ? Math.min(maxTileCount, 6) : maxTileCount;\n let pageList = usePagesWithTiles({\n peers,\n maxTileCount,\n });\n // useMemo is needed to prevent recursion as new array is created for localPeer\n const inputPeers = useMemo(\n () => (pageList.length === 0 ? (localPeer ? [localPeer] : []) : peers),\n [pageList.length, peers, localPeer],\n );\n // Pass local peer to main grid if no other peer has tiles\n pageList = usePagesWithTiles({\n peers: inputPeers,\n maxTileCount,\n });\n const { ref, pagesWithTiles } = useTileLayout({\n pageList,\n maxTileCount,\n edgeToEdge,\n });\n const [page, setPage] = useState(0);\n const pageSize = pagesWithTiles[0]?.length || 0;\n\n useEffect(() => {\n if (pageSize > 0) {\n onPageSize?.(pageSize);\n }\n }, [pageSize, onPageSize]);\n\n return (\n <Flex direction=\"column\" css={{ flex: '1 1 0', h: '100%', position: 'relative', minWidth: 0 }}>\n <Grid tiles={pagesWithTiles[page]} ref={ref} edgeToEdge={edgeToEdge} />\n {!edgeToEdge && (\n <Pagination\n page={page}\n onPageChange={page => {\n setPage(page);\n onPageChange?.(page);\n }}\n numPages={pagesWithTiles.length}\n />\n )}\n {isInsetEnabled && pageList.length > 0 && pageList[0][0].peer.id !== localPeer?.id && <InsetTile />}\n </Flex>\n );\n}\n", "import React from 'react';\nimport { TrackWithPeerAndDimensions } from '@100mslive/react-sdk';\nimport { Box, Flex } from '../../../Layout';\nimport { CSS } from '../../../Theme';\n// @ts-ignore: No implicit Any\nimport VideoTile from '../VideoTile';\nimport { useVideoTileContext } from '../hooks/useVideoTileLayout';\n\nconst Root = ({ children, edgeToEdge }: React.PropsWithChildren<{ edgeToEdge?: boolean }>) => (\n <Flex\n direction=\"column\"\n css={{ h: '100%', flex: '1 1 0', minWidth: 0, gap: '$6', '@md': { gap: edgeToEdge ? 0 : '$6' } }}\n >\n {children}\n </Flex>\n);\n\nconst ProminentSection = ({ children, css = {} }: React.PropsWithChildren<{ css?: CSS }>) => {\n return (\n <Flex direction=\"column\" css={{ flex: '1 1 0', gap: '$2', minHeight: 0, ...css }}>\n {children}\n </Flex>\n );\n};\n\nconst SecondarySection = ({\n tiles,\n children,\n edgeToEdge,\n}: React.PropsWithChildren<{ tiles: TrackWithPeerAndDimensions[]; edgeToEdge?: boolean }>) => {\n const tileLayoutProps = useVideoTileContext();\n if (!tiles?.length) {\n return null;\n }\n return (\n <Box\n css={{\n display: 'grid',\n gridTemplateRows: React.Children.count(children) > 0 ? '136px auto' : '154px',\n gridTemplateColumns: `repeat(${tiles.length}, minmax(0, 1fr))`,\n margin: '0 auto',\n gap: '$2 $4',\n placeItems: 'center',\n '@md': { gap: edgeToEdge ? 0 : '$4' },\n }}\n >\n {tiles.map(tile => {\n return (\n <VideoTile\n key={tile.track?.id || tile.peer?.id}\n peerId={tile.peer?.id}\n trackId={tile.track?.id}\n rootCSS={{\n padding: 0,\n maxWidth: 240,\n maxHeight: '100%',\n aspectRatio: 16 / 9,\n '@md': { aspectRatio: 1 },\n }}\n objectFit=\"contain\"\n {...tileLayoutProps}\n />\n );\n })}\n <Box css={{ gridColumn: `1/span ${tiles.length}` }}>{children}</Box>\n </Box>\n );\n};\n\nexport const ProminenceLayout = {\n Root,\n ProminentSection,\n SecondarySection,\n};\n", "import React, { useEffect, useState } from 'react';\nimport { useMedia } from 'react-use';\nimport { LayoutProps } from './VideoLayouts/interface';\nimport { ProminenceLayout } from './VideoLayouts/ProminenceLayout';\nimport { config as cssConfig } from '../../Theme';\nimport { Pagination } from './Pagination';\nimport { usePagesWithTiles } from './hooks/useTileLayout';\n\nexport const SecondaryTiles = ({ peers, onPageChange, onPageSize, edgeToEdge }: LayoutProps) => {\n const isMobile = useMedia(cssConfig.media.md);\n const maxTileCount = isMobile ? 2 : 4;\n const pagesWithTiles = usePagesWithTiles({ peers, maxTileCount });\n const [page, setPage] = useState(0);\n const pageSize = pagesWithTiles[0]?.length || 0;\n\n useEffect(() => {\n if (pageSize > 0) {\n onPageSize?.(pageSize);\n }\n }, [pageSize, onPageSize]);\n\n return (\n <ProminenceLayout.SecondarySection tiles={pagesWithTiles[page]} edgeToEdge={edgeToEdge}>\n {!edgeToEdge && (\n <Pagination\n page={page}\n onPageChange={page => {\n setPage(page);\n onPageChange?.(page);\n }}\n numPages={pagesWithTiles.length}\n />\n )}\n </ProminenceLayout.SecondarySection>\n );\n};\n", "import { useMemo } from 'react';\nimport { HMSPeer } from '@100mslive/react-sdk';\n// @ts-ignore: No implicit Any\nimport { usePinnedTrack } from '../AppData/useUISettings';\n\nexport const useRoleProminencePeers = (prominentRoles: string[], peers: HMSPeer[], isInsetEnabled: boolean) => {\n const pinnedTrack = usePinnedTrack();\n\n const [prominentPeers, secondaryPeers] = useMemo(() => {\n return peers.reduce<[HMSPeer[], HMSPeer[]]>(\n (acc, peer) => {\n if (pinnedTrack) {\n if (pinnedTrack.peerId === peer.id) {\n acc[0].push(peer);\n } else if (!(isInsetEnabled && peer.isLocal)) {\n acc[1].push(peer);\n }\n return acc;\n }\n if (peer.isLocal && isInsetEnabled) {\n return acc;\n }\n if (prominentRoles?.includes(peer.roleName || '')) {\n acc[0].push(peer);\n } else {\n acc[1].push(peer);\n }\n return acc;\n },\n [[], []],\n );\n }, [peers, isInsetEnabled, prominentRoles, pinnedTrack]);\n\n return {\n prominentPeers,\n secondaryPeers,\n };\n};\n", "import React, { useEffect, useState } from 'react';\nimport { selectLocalPeer, useHMSStore } from '@100mslive/react-sdk';\nimport { InsetTile } from '../InsetTile';\nimport { Pagination } from '../Pagination';\nimport { SecondaryTiles } from '../SecondaryTiles';\nimport { Grid } from './Grid';\nimport { LayoutProps } from './interface';\nimport { ProminenceLayout } from './ProminenceLayout';\nimport { useRoleProminencePeers } from '../hooks/useRoleProminencePeers';\nimport { usePagesWithTiles, useTileLayout } from '../hooks/useTileLayout';\n\nexport function RoleProminence({\n isInsetEnabled = false,\n prominentRoles = [],\n peers,\n onPageChange,\n onPageSize,\n edgeToEdge,\n}: LayoutProps) {\n const { prominentPeers, secondaryPeers } = useRoleProminencePeers(prominentRoles, peers, isInsetEnabled);\n const localPeer = useHMSStore(selectLocalPeer);\n const maxTileCount = 4;\n const pageList = usePagesWithTiles({\n peers: prominentPeers,\n maxTileCount,\n });\n const { ref, pagesWithTiles } = useTileLayout({\n pageList,\n maxTileCount,\n });\n const [page, setPage] = useState(0);\n const pageSize = pagesWithTiles[0]?.length || 0;\n\n useEffect(() => {\n if (pageSize > 0) {\n onPageSize?.(pageSize);\n }\n }, [pageSize, onPageSize]);\n\n return (\n <ProminenceLayout.Root>\n <ProminenceLayout.ProminentSection>\n <Grid ref={ref} tiles={pagesWithTiles[page]} />\n </ProminenceLayout.ProminentSection>\n {!edgeToEdge && (\n <Pagination\n page={page}\n onPageChange={page => {\n setPage(page);\n onPageChange?.(page);\n }}\n numPages={pagesWithTiles.length}\n />\n )}\n <SecondaryTiles peers={secondaryPeers} isInsetEnabled={isInsetEnabled} edgeToEdge={edgeToEdge} />\n {isInsetEnabled && localPeer && !prominentPeers.includes(localPeer) && <InsetTile />}\n </ProminenceLayout.Root>\n );\n}\n", "import React from 'react';\nimport { useHMSActions } from '@100mslive/react-sdk';\nimport { CrossIcon, ShareScreenIcon } from '@100mslive/react-icons';\nimport { Button } from '../../Button';\nimport { Flex } from '../../Layout';\nimport { Text } from '../../Text';\n\nexport const ScreenshareDisplay = () => {\n const hmsActions = useHMSActions();\n\n return (\n <Flex\n direction=\"column\"\n align=\"center\"\n justify=\"center\"\n css={{\n size: '100%',\n bg: '$background_default',\n color: '$on_surface_high',\n }}\n >\n <ShareScreenIcon width={48} height={48} />\n <Text variant=\"h5\" css={{ m: '$8 0' }}>\n You are sharing your screen\n </Text>\n <Button\n variant=\"danger\"\n css={{ fontWeight: '$semiBold' }}\n onClick={async () => {\n await hmsActions.setScreenShareEnabled(false);\n }}\n data-testid=\"stop_screen_share_btn\"\n >\n <CrossIcon width={18} height={18} />\n Stop screen share\n </Button>\n </Flex>\n );\n};\n", "import React, { useRef, useState } from 'react';\nimport { useFullscreen } from 'react-use';\nimport screenfull from 'screenfull';\nimport {\n selectLocalPeerID,\n selectPeerByID,\n selectScreenShareAudioByPeerID,\n selectScreenShareByPeerID,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport { ExpandIcon, ShrinkIcon } from '@100mslive/react-icons';\nimport TileMenu from './TileMenu/TileMenu';\nimport { VideoTileStats } from '../../Stats';\nimport { Video } from '../../Video';\nimport { StyledVideoTile } from '../../VideoTile';\nimport { getVideoTileLabel } from './peerTileUtils';\nimport { ScreenshareDisplay } from './ScreenshareDisplay';\nimport { useUISettings } from './AppData/useUISettings';\nimport { UI_SETTINGS } from '../common/constants';\n\nconst labelStyles = {\n position: 'unset',\n width: '100%',\n textAlign: 'center',\n c: '$on_surface_high',\n transform: 'none',\n flexShrink: 0,\n};\n\nconst Tile = ({ peerId, width = '100%', height = '100%' }) => {\n const isLocal = useHMSStore(selectLocalPeerID) === peerId;\n const track = useHMSStore(selectScreenShareByPeerID(peerId));\n const peer = useHMSStore(selectPeerByID(peerId));\n const isAudioOnly = useUISettings(UI_SETTINGS.isAudioOnly);\n const [isMouseHovered, setIsMouseHovered] = useState(false);\n const showStatsOnTiles = useUISettings(UI_SETTINGS.showStatsOnTiles);\n const fullscreenRef = useRef(null);\n // fullscreen is for desired state\n const [fullscreen, setFullscreen] = useState(false);\n // isFullscreen is for true state\n const isFullscreen = useFullscreen(fullscreenRef, fullscreen, {\n onClose: () => setFullscreen(false),\n });\n const isFullScreenSupported = screenfull.isEnabled;\n const audioTrack = useHMSStore(selectScreenShareAudioByPeerID(peer?.id));\n\n if (isLocal && !['browser', 'window', 'application'].includes(track?.displaySurface)) {\n return <ScreenshareDisplay />;\n }\n\n if (!peer) {\n return null;\n }\n\n const label = getVideoTileLabel({\n peerName: peer?.name,\n isLocal: false,\n track,\n });\n\n return (\n <StyledVideoTile.Root css={{ width, height, p: 0, minHeight: 0 }} data-testid=\"screenshare_tile\">\n <StyledVideoTile.Container\n transparentBg\n ref={fullscreenRef}\n css={{ flexDirection: 'column', gap: '$2' }}\n onMouseEnter={() => setIsMouseHovered(true)}\n onMouseLeave={() => {\n setIsMouseHovered(false);\n }}\n >\n {showStatsOnTiles ? (\n <VideoTileStats audioTrackID={audioTrack?.id} videoTrackID={track?.id} peerID={peerId} isLocal={isLocal} />\n ) : null}\n {isFullScreenSupported && isMouseHovered ? (\n <StyledVideoTile.FullScreenButton onClick={() => setFullscreen(!fullscreen)}>\n {isFullscreen ? <ShrinkIcon /> : <ExpandIcon />}\n </StyledVideoTile.FullScreenButton>\n ) : null}\n {track ? (\n <Video\n screenShare={true}\n mirror={peer.isLocal && track?.source === 'regular'}\n attach={!isAudioOnly}\n trackId={track.id}\n css={{ minHeight: 0 }}\n />\n ) : null}\n <StyledVideoTile.Info css={labelStyles}>{label}</StyledVideoTile.Info>\n {isMouseHovered && !peer.isLocal ? (\n <TileMenu\n isScreenshare\n peerID={peer.id}\n audioTrackID={audioTrack?.id}\n videoTrackID={track?.id}\n enableSpotlightingPeer={false}\n />\n ) : null}\n </StyledVideoTile.Container>\n </StyledVideoTile.Root>\n );\n};\n\nconst ScreenshareTile = React.memo(Tile);\n\nexport default ScreenshareTile;\n", "import React, { useEffect, useMemo, useState } from 'react';\nimport { useMedia } from 'react-use';\nimport { selectPeersScreenSharing, useHMSStore } from '@100mslive/react-sdk';\nimport { config as cssConfig } from '../../../Theme';\nimport { Pagination } from '../Pagination';\n// @ts-ignore: No implicit Any\nimport ScreenshareTile from '../ScreenshareTile';\nimport { SecondaryTiles } from '../SecondaryTiles';\nimport { LayoutProps } from './interface';\nimport { ProminenceLayout } from './ProminenceLayout';\n// @ts-ignore: No implicit Any\nimport { useSetAppDataByKey } from '../AppData/useUISettings';\n// @ts-ignore: No implicit Any\nimport { APP_DATA } from '../../common/constants';\n\nexport const ScreenshareLayout = ({ peers, onPageChange, onPageSize, edgeToEdge }: LayoutProps) => {\n const peersSharing = useHMSStore(selectPeersScreenSharing);\n const [, setActiveScreenSharePeer] = useSetAppDataByKey(APP_DATA.activeScreensharePeerId);\n const [page, setPage] = useState(0);\n const activeSharePeer = peersSharing[page];\n const isMobile = useMedia(cssConfig.media.md);\n const secondaryPeers = useMemo(() => {\n if (isMobile) {\n return activeSharePeer\n ? [activeSharePeer, ...peers.filter(p => p.id !== activeSharePeer?.id)] //keep active sharing peer as first tile\n : peers;\n }\n return peers.filter(p => p.id !== activeSharePeer?.id);\n }, [activeSharePeer, peers, isMobile]);\n useEffect(() => {\n setActiveScreenSharePeer(isMobile ? '' : activeSharePeer?.id);\n return () => {\n setActiveScreenSharePeer('');\n };\n }, [activeSharePeer?.id, isMobile, setActiveScreenSharePeer]);\n\n return (\n <ProminenceLayout.Root edgeToEdge={edgeToEdge}>\n <ProminenceLayout.ProminentSection>\n <ScreenshareTile peerId={peersSharing[page]?.id} />\n {!edgeToEdge && <Pagination page={page} onPageChange={setPage} numPages={peersSharing.length} />}\n </ProminenceLayout.ProminentSection>\n <SecondaryTiles\n peers={secondaryPeers}\n onPageChange={onPageChange}\n onPageSize={onPageSize}\n edgeToEdge={edgeToEdge}\n />\n </ProminenceLayout.Root>\n );\n};\n", "import { HMSPeer, HMSPeerID, IStoreReadOnly, selectDominantSpeaker } from '@100mslive/react-sdk';\n\nclass PeersSorter {\n storeUnsubscribe: undefined | (() => void) = undefined;\n store: IStoreReadOnly<any>;\n peers: Map<string, HMSPeer>;\n lruPeers: Set<HMSPeerID>;\n tilesPerPage!: number;\n speaker?: HMSPeer;\n listeners: Set<(peers: HMSPeer[]) => void> = new Set();\n\n constructor(store: IStoreReadOnly<any>) {\n this.store = store;\n this.peers = new Map();\n this.lruPeers = new Set();\n this.speaker = undefined;\n }\n\n setPeersAndTilesPerPage = ({ peers, tilesPerPage }: { peers: HMSPeer[]; tilesPerPage: number }) => {\n this.tilesPerPage = tilesPerPage;\n const peerIds = new Set(peers.map(peer => peer.id));\n // remove existing peers which are no longer provided\n this.peers.forEach((_, key) => {\n if (!peerIds.has(key)) {\n this.peers.delete(key);\n }\n });\n this.lruPeers = new Set([...this.lruPeers].filter(peerId => peerIds.has(peerId)));\n peers.forEach(peer => {\n this.peers.set(peer.id, peer);\n if (this.lruPeers.size < tilesPerPage) {\n this.lruPeers.add(peer.id);\n }\n });\n if (!this.storeUnsubscribe) {\n this.storeUnsubscribe = this.store.subscribe(this.onDominantSpeakerChange, selectDominantSpeaker);\n }\n this.moveSpeakerToFront(this.speaker);\n };\n\n onUpdate = (cb: (peers: HMSPeer[]) => void) => {\n this.listeners.add(cb);\n };\n\n stop = () => {\n this.updateListeners();\n this.listeners.clear();\n this.storeUnsubscribe?.();\n };\n\n moveSpeakerToFront = (speaker?: HMSPeer) => {\n if (!speaker) {\n this.updateListeners();\n return;\n }\n if (this.lruPeers.has(speaker.id) && this.lruPeers.size <= this.tilesPerPage) {\n this.updateListeners();\n return;\n }\n // delete to insert at beginning\n this.lruPeers.delete(speaker.id);\n const lruPeerArray = Array.from(this.lruPeers);\n while (lruPeerArray.length >= this.tilesPerPage && lruPeerArray.length) {\n lruPeerArray.pop();\n }\n this.lruPeers = new Set([speaker.id, ...lruPeerArray]);\n this.updateListeners();\n };\n\n onDominantSpeakerChange = (speaker: HMSPeer | null) => {\n if (speaker && speaker.id !== this?.speaker?.id) {\n this.speaker = speaker;\n this.moveSpeakerToFront(speaker);\n }\n };\n\n updateListeners = () => {\n const orderedPeers: HMSPeer[] = [];\n this.lruPeers.forEach(key => {\n const peer = this.peers.get(key);\n if (peer) {\n orderedPeers.push(peer);\n }\n });\n this.peers.forEach(peer => {\n if (!this.lruPeers.has(peer.id) && peer) {\n orderedPeers.push(peer);\n }\n });\n this.listeners.forEach(listener => listener?.(orderedPeers));\n };\n}\n\nexport default PeersSorter;\n", "import React, { useEffect, useMemo, useState } from 'react';\nimport { GridVideoTileLayout } from '@100mslive/types-prebuilt/elements/video_tile_layout';\nimport { selectPeers, selectPeerScreenSharing, useHMSStore, useHMSVanillaStore } from '@100mslive/react-sdk';\nimport { EqualProminence } from './EqualProminence';\nimport { RoleProminence } from './RoleProminence';\nimport { ScreenshareLayout } from './ScreenshareLayout';\n// @ts-ignore: No implicit Any\nimport { usePinnedTrack } from '../AppData/useUISettings';\nimport { VideoTileContext } from '../hooks/useVideoTileLayout';\nimport PeersSorter from '../../common/PeersSorter';\n\nexport type TileCustomisationProps = {\n hide_participant_name_on_tile: boolean;\n rounded_video_tile: boolean;\n hide_audio_mute_on_tile: boolean;\n video_object_fit: 'contain' | 'cover';\n edge_to_edge: boolean;\n hide_metadata_on_tile: boolean;\n};\n\nexport type GridLayoutProps = GridVideoTileLayout & TileCustomisationProps;\n\nexport const GridLayout = ({\n enable_local_tile_inset: isInsetEnabled = false,\n prominent_roles: prominentRoles = [],\n enable_spotlighting_peer = false,\n hide_participant_name_on_tile = false,\n rounded_video_tile = true,\n hide_audio_mute_on_tile = false,\n video_object_fit = 'contain',\n edge_to_edge = false,\n hide_metadata_on_tile = false,\n}: GridLayoutProps) => {\n const peerSharing = useHMSStore(selectPeerScreenSharing);\n const pinnedTrack = usePinnedTrack();\n const peers = useHMSStore(selectPeers);\n const isRoleProminence =\n (prominentRoles.length &&\n peers.some(\n peer => peer.roleName && prominentRoles.includes(peer.roleName) && (peer.videoTrack || peer.audioTrack),\n )) ||\n pinnedTrack;\n const updatedPeers = useMemo(() => {\n if (isInsetEnabled && !isRoleProminence && !peerSharing) {\n return peers.filter(peer => !peer.isLocal);\n }\n return peers;\n }, [isInsetEnabled, isRoleProminence, peerSharing, peers]);\n const vanillaStore = useHMSVanillaStore();\n const [sortedPeers, setSortedPeers] = useState(updatedPeers);\n const peersSorter = useMemo(() => new PeersSorter(vanillaStore), [vanillaStore]);\n const [pageSize, setPageSize] = useState(0);\n const [mainPage, setMainPage] = useState(0);\n const tileLayout = {\n enableSpotlightingPeer: enable_spotlighting_peer,\n hideParticipantNameOnTile: hide_participant_name_on_tile,\n roundedVideoTile: rounded_video_tile,\n hideAudioMuteOnTile: hide_audio_mute_on_tile,\n hideMetadataOnTile: hide_metadata_on_tile,\n objectFit: video_object_fit,\n };\n\n useEffect(() => {\n if (mainPage !== 0) {\n return;\n }\n peersSorter.setPeersAndTilesPerPage({\n peers: updatedPeers,\n tilesPerPage: pageSize,\n });\n peersSorter.onUpdate(setSortedPeers);\n }, [mainPage, peersSorter, updatedPeers, pageSize]);\n\n if (peerSharing) {\n return (\n <VideoTileContext.Provider value={tileLayout}>\n <ScreenshareLayout\n peers={sortedPeers}\n onPageSize={setPageSize}\n onPageChange={setMainPage}\n edgeToEdge={edge_to_edge}\n />\n </VideoTileContext.Provider>\n );\n } else if (isRoleProminence) {\n return (\n <VideoTileContext.Provider value={tileLayout}>\n <RoleProminence\n peers={sortedPeers}\n onPageSize={setPageSize}\n onPageChange={setMainPage}\n prominentRoles={prominentRoles}\n isInsetEnabled={isInsetEnabled}\n edgeToEdge={edge_to_edge}\n />\n </VideoTileContext.Provider>\n );\n }\n return (\n <VideoTileContext.Provider value={tileLayout}>\n <EqualProminence\n peers={sortedPeers}\n onPageSize={setPageSize}\n onPageChange={setMainPage}\n isInsetEnabled={isInsetEnabled}\n edgeToEdge={edge_to_edge}\n />\n </VideoTileContext.Provider>\n );\n};\n", "import React, { useEffect, useMemo } from 'react';\nimport { selectAppData, selectPeers, selectPeerScreenSharing, useEmbedShare, useHMSStore } from '@100mslive/react-sdk';\nimport { SecondaryTiles } from '../components/SecondaryTiles';\nimport { ToastManager } from '../components/Toast/ToastManager';\nimport { ProminenceLayout } from '../components/VideoLayouts/ProminenceLayout';\nimport { Box } from '../../Layout';\nimport { useResetEmbedConfig, useSetAppDataByKey } from '../components/AppData/useUISettings';\nimport { APP_DATA } from '../common/constants';\n\nexport const EmbedView = () => {\n return (\n <EmbedScreenShareView>\n <EmbedComponent />\n </EmbedScreenShareView>\n );\n};\n\nexport const EmbedScreenShareView = ({ children }) => {\n const peers = useHMSStore(selectPeers);\n\n const peerPresenting = useHMSStore(selectPeerScreenSharing);\n const [, setActiveScreenSharePeer] = useSetAppDataByKey(APP_DATA.activeScreensharePeerId);\n\n const smallTilePeers = useMemo(() => {\n const smallTilePeers = peers.filter(peer => peer.id !== peerPresenting?.id);\n return smallTilePeers;\n }, [peers, peerPresenting]);\n\n useEffect(() => {\n setActiveScreenSharePeer(peerPresenting?.id);\n return () => {\n setActiveScreenSharePeer('');\n };\n }, [peerPresenting?.id, setActiveScreenSharePeer]);\n return (\n <ProminenceLayout.Root>\n <ProminenceLayout.ProminentSection>{children}</ProminenceLayout.ProminentSection>\n <SecondaryTiles peers={smallTilePeers} />\n </ProminenceLayout.Root>\n );\n};\n/**\n * EmbedView is responsible for rendering the iframe and managing the screen sharing functionality.\n */\nconst EmbedComponent = () => {\n const embedConfig = useHMSStore(selectAppData(APP_DATA.embedConfig));\n const resetConfig = useResetEmbedConfig();\n\n // need to send resetConfig to clear configuration, if stop screenshare occurs.\n const { iframeRef, startEmbedShare, isEmbedShareInProgress } = useEmbedShare(resetConfig);\n\n useEffect(() => {\n (async () => {\n if (embedConfig && !isEmbedShareInProgress) {\n try {\n await startEmbedShare(embedConfig);\n } catch (err) {\n resetConfig();\n ToastManager.addToast({\n title: `Error while sharing embed url ${err.message || ''}`,\n variant: 'error',\n });\n }\n }\n })();\n }, [isEmbedShareInProgress, embedConfig, startEmbedShare, resetConfig]);\n\n return (\n <Box\n css={{\n mx: '$8',\n flex: '3 1 0',\n '@lg': {\n flex: '2 1 0',\n display: 'flex',\n alignItems: 'center',\n },\n }}\n >\n <iframe\n title=\"Embed View\"\n ref={iframeRef}\n style={{\n width: '100%',\n height: '100%',\n border: 0,\n borderRadius: '0.75rem',\n }}\n allow=\"autoplay; clipboard-write;\"\n referrerPolicy=\"no-referrer\"\n />\n </Box>\n );\n};\n", "import React, { useEffect } from 'react';\nimport { usePDFShare } from '@100mslive/react-sdk';\nimport { ToastManager } from '../components/Toast/ToastManager';\nimport { Box } from '../../Layout';\nimport { EmbedScreenShareView } from './EmbedView';\nimport { usePDFConfig, useResetPDFConfig } from '../components/AppData/useUISettings';\n\n/**\n * PDFView is responsible for rendering the PDF iframe and managing the screen sharing functionality.\n */\nexport const PDFView = () => {\n const pdfConfig = usePDFConfig();\n const resetConfig = useResetPDFConfig();\n\n // need to send resetConfig to clear configuration, if stop screenshare occurs.\n const { iframeRef, startPDFShare, isPDFShareInProgress } = usePDFShare(resetConfig);\n\n useEffect(() => {\n (async () => {\n try {\n if (!isPDFShareInProgress && pdfConfig) {\n await startPDFShare(pdfConfig);\n }\n } catch (err) {\n resetConfig();\n ToastManager.addToast({\n title: `Error while sharing annotator ${err.message || ''}`,\n variant: 'error',\n });\n }\n })();\n }, [isPDFShareInProgress, pdfConfig, resetConfig, startPDFShare]);\n return (\n <EmbedScreenShareView>\n <Box\n css={{\n mx: '$8',\n flex: '3 1 0',\n '@lg': {\n flex: '2 1 0',\n display: 'flex',\n alignItems: 'center',\n },\n }}\n >\n <iframe\n title=\"Embed View\"\n ref={iframeRef}\n style={{\n width: '100%',\n height: '100%',\n border: 0,\n borderRadius: '0.75rem',\n }}\n allow=\"autoplay; clipboard-write;\"\n referrerPolicy=\"no-referrer\"\n />\n </Box>\n </EmbedScreenShareView>\n );\n};\n", "import React from 'react';\nimport { selectPermissions, useHMSStore } from '@100mslive/react-sdk';\nimport { ChevronLeftIcon, ChevronRightIcon, CrossIcon, RecordIcon } from '@100mslive/react-icons';\nimport { Box, Flex, IconButton, slideLeftAndFade, Switch, Text } from '../../../';\n\nexport const StreamCard = ({ title, subtitle, Icon, imgSrc = '', css = {}, onClick, testId }) => {\n return (\n <Flex\n css={{\n w: '100%',\n p: '$10',\n r: '$1',\n cursor: 'pointer',\n bg: '$surface_bright',\n mb: '$10',\n mt: '$8',\n ...css,\n }}\n data-testid={testId}\n onClick={onClick}\n >\n <Text css={{ alignSelf: 'center', p: '$4' }}>\n {imgSrc ? <img src={imgSrc} height={40} width={40} /> : <Icon width={40} height={40} />}\n </Text>\n <Box css={{ flex: '1 1 0', mx: '$8' }}>\n <Text variant=\"h6\" css={{ mb: '$4' }}>\n {title}\n </Text>\n <Text variant=\"sm\" css={{ color: '$on_surface_medium' }}>\n {subtitle}\n </Text>\n </Box>\n <Text css={{ alignSelf: 'center' }}>\n <ChevronRightIcon />\n </Text>\n </Flex>\n );\n};\n\nexport const ContentHeader = ({ onBack, onClose, title = '', content }) => {\n return (\n <Flex\n css={{ w: '100%', py: '$8', px: '$10', cursor: 'pointer', borderBottom: '1px solid $border_bright', mb: '$8' }}\n >\n {onBack ? (\n <Text\n css={{\n alignSelf: 'center',\n mr: '$8',\n }}\n onClick={onBack}\n data-testid=\"go_back\"\n >\n <ChevronLeftIcon />\n </Text>\n ) : null}\n <Box css={{ flex: '1 1 0' }}>\n {title ? (\n <Text\n variant=\"tiny\"\n css={{\n textTransform: 'uppercase',\n fontWeight: '$semiBold',\n color: '$on_surface_medium',\n }}\n >\n {title}\n </Text>\n ) : null}\n <Text variant=\"h6\">{content}</Text>\n </Box>\n {onClose ? (\n <IconButton onClick={onClose} css={{ alignSelf: 'flex-start' }} data-testid=\"close_stream_section\">\n <CrossIcon />\n </IconButton>\n ) : null}\n </Flex>\n );\n};\nexport const Container = ({ children, rounded = false }) => {\n return (\n <Box\n css={{\n size: '100%',\n zIndex: 2,\n position: 'absolute',\n top: 0,\n left: 0,\n bg: '$surface_dim',\n transform: 'translateX(10%)',\n animation: `${slideLeftAndFade('10%')} 100ms ease-out forwards`,\n display: 'flex',\n flexDirection: 'column',\n borderRadius: rounded ? '$2' : '0',\n }}\n >\n {children}\n </Box>\n );\n};\n\nexport const ContentBody = ({ Icon, title, removeVerticalPadding = false, children }) => {\n return (\n <Box css={{ p: removeVerticalPadding ? '$0 $10' : '$10' }}>\n <Text css={{ display: 'flex', alignItems: 'center', mb: '$4' }}>\n <Icon />\n <Text as=\"span\" css={{ fontWeight: '$semiBold', ml: '$4' }}>\n {title}\n </Text>\n </Text>\n <Text variant=\"sm\" css={{ color: '$on_surface_medium' }}>\n {children}\n </Text>\n </Box>\n );\n};\n\nexport const RecordStream = ({ record, setRecord, testId }) => {\n const permissions = useHMSStore(selectPermissions);\n return permissions?.browserRecording ? (\n <Flex align=\"center\" css={{ bg: '$surface_bright', m: '$8 $10', p: '$8', r: '$0' }}>\n <Text css={{ color: '$alert_error_default' }}>\n <RecordIcon />\n </Text>\n <Text variant=\"sm\" css={{ flex: '1 1 0', mx: '$8' }}>\n Record the stream\n </Text>\n <Switch checked={record} onCheckedChange={setRecord} data-testid={testId} />\n </Flex>\n ) : null;\n};\n\nexport const ErrorText = ({ error }) => {\n if (!error) {\n return null;\n }\n return (\n <Text variant=\"sm\" css={{ my: '$4', color: '$alert_error_default' }}>\n {error}\n </Text>\n );\n};\n", "// @ts-check\nimport React from 'react';\nimport { Flex, Text } from '../../../../';\n\nexport const StatusIndicator = ({ isLive, shouldShowTimer }) => {\n return (\n <Flex align=\"center\">\n <Flex\n css={{\n backgroundColor: isLive ? '$alert_error_default' : '$secondary_default',\n p: '$2 $4',\n borderRadius: shouldShowTimer ? '$0 0 0 $0' : '$0',\n }}\n >\n <Text\n variant=\"caption\"\n css={{\n fontWeight: '$semiBold',\n color: '$on_surface_high',\n }}\n >\n {isLive ? 'LIVE' : 'ENDED'}\n </Text>\n </Flex>\n\n {shouldShowTimer ? (\n <Flex\n css={{\n borderRadius: '0 $0 $0 0',\n p: '$2 $4',\n backgroundColor: '$background_default',\n }}\n >\n <Text\n variant=\"caption\"\n css={{\n fontWeight: '$semiBold',\n color: '$on_surface_high',\n }}\n >\n 0:32\n </Text>\n </Flex>\n ) : null}\n </Flex>\n );\n};\n", "// @ts-check\nimport React, { useMemo, useState } from 'react';\nimport {\n selectLocalPeerRoleName,\n selectPermissions,\n selectPolls,\n useHMSActions,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport { QuestionIcon, StatsIcon } from '@100mslive/react-icons';\nimport { Button, Flex, Input, Switch, Text } from '../../../../';\nimport { Container, ContentHeader, ErrorText } from '../../Streaming/Common';\nimport { usePollViewToggle } from '../../AppData/useSidepane';\nimport { usePollViewState } from '../../AppData/useUISettings';\nimport { isValidTextInput } from '../../../common/utils';\nimport { StatusIndicator } from '../common/StatusIndicator';\nimport { INTERACTION_TYPE, POLL_STATE, POLL_VIEWS } from '../../../common/constants';\n\nexport const PollsQuizMenu = () => {\n const togglePollView = usePollViewToggle();\n const permissions = useHMSStore(selectPermissions);\n\n return (\n <Container rounded>\n <ContentHeader content=\"Polls and Quizzes\" onClose={togglePollView} />\n <Flex direction=\"column\" css={{ px: '$10', pb: '$10', overflowY: 'auto' }}>\n {permissions?.pollWrite && <AddMenu />}\n <PrevMenu />\n </Flex>\n </Container>\n );\n};\n\nfunction InteractionSelectionCard({ title, icon, active, onClick }) {\n const activeBorderStyle = active ? '$space$px solid $primary_default' : '$space$px solid $border_bright';\n return (\n <Flex\n onClick={onClick}\n css={{\n border: activeBorderStyle,\n p: '$4',\n r: '$2',\n w: '100%',\n cursor: 'pointer',\n }}\n align=\"center\"\n >\n <Flex\n css={{\n border: activeBorderStyle,\n p: '$4',\n bg: '$surface_bright',\n c: '$on_surface_high',\n r: '$0',\n }}\n >\n {icon}\n </Flex>\n <Text variant=\"sub1\" css={{ ml: '$md' }}>\n {title}\n </Text>\n </Flex>\n );\n}\n\nconst AddMenu = () => {\n const actions = useHMSActions();\n const [title, setTitle] = useState('');\n const localPeerRoleName = useHMSStore(selectLocalPeerRoleName);\n const [anonymous, setAnonymous] = useState(false);\n const [hideVoteCount, setHideVoteCount] = useState(false);\n const [error, setError] = useState();\n const [titleError, setTitleError] = useState('');\n const { setPollState } = usePollViewState();\n const [interactionType, setInteractionType] = useState(INTERACTION_TYPE.POLL);\n\n const handleCreate = id => {\n setPollState({\n [POLL_STATE.pollInView]: id,\n [POLL_STATE.view]: POLL_VIEWS.CREATE_QUESTIONS,\n });\n };\n\n const validateTitle = useMemo(() => {\n if (!isValidTextInput(title)) {\n if (title) {\n setTitleError('The title should have between 2-100 characters');\n }\n return true;\n } else {\n setTitleError('');\n return false;\n }\n }, [title]);\n // const [timer, setTimer] = useState(10);\n // const [showTimerDropDown, setShowTimerDropDown] = useState(false);\n\n return (\n <>\n <Text variant=\"caption\" css={{ c: '$on_surface_medium', mb: '$md' }}>\n Select the type you want to continue with\n </Text>\n <Flex css={{ w: '100%', gap: '$10', mb: '$md' }}>\n <InteractionSelectionCard\n title={INTERACTION_TYPE.POLL}\n icon={<StatsIcon width={32} height={32} />}\n onClick={() => setInteractionType(INTERACTION_TYPE.POLL)}\n active={interactionType === INTERACTION_TYPE.POLL}\n />\n <InteractionSelectionCard\n title={INTERACTION_TYPE.QUIZ}\n icon={<QuestionIcon width={32} height={32} />}\n onClick={() => setInteractionType(INTERACTION_TYPE.QUIZ)}\n active={interactionType === INTERACTION_TYPE.QUIZ}\n />\n </Flex>\n <Flex direction=\"column\">\n <Text variant=\"body2\" css={{ mb: '$4' }}>{`Name this ${interactionType.toLowerCase()}`}</Text>\n <Input\n type=\"text\"\n value={title}\n onChange={event => setTitle(event.target.value)}\n css={{\n backgroundColor: '$surface_bright',\n border: '1px solid $border_default',\n }}\n />\n <Flex align=\"center\" css={{ mt: '$10' }}>\n <Switch onCheckedChange={value => setHideVoteCount(value)} css={{ mr: '$6' }} />\n <Text variant=\"body2\" css={{ c: '$on_surface_medium' }}>\n Hide Vote Count\n </Text>\n </Flex>\n <Flex align=\"center\" css={{ mt: '$10' }}>\n <Switch onCheckedChange={value => setAnonymous(value)} css={{ mr: '$6' }} />\n <Text variant=\"body2\" css={{ c: '$on_surface_medium' }}>\n Make Results Anonymous\n </Text>\n </Flex>\n {/* <Timer\n timer={timer}\n setTimer={setTimer}\n showTimerDropDown={showTimerDropDown}\n setShowTimerDropDown={setShowTimerDropDown}\n /> */}\n\n <Button\n variant=\"primary\"\n disabled={validateTitle}\n css={{ mt: '$10' }}\n onClick={async () => {\n const id = Date.now().toString();\n await actions.interactivityCenter\n .createPoll({\n id,\n title,\n anonymous,\n rolesThatCanViewResponses: hideVoteCount && localPeerRoleName ? [localPeerRoleName] : undefined,\n type: interactionType.toLowerCase(),\n // duration: showTimerDropDown ? timer : undefined,\n })\n .then(() => handleCreate(id))\n .catch(err => setError(err.message));\n }}\n >\n Create {interactionType}\n </Button>\n <ErrorText error={error || titleError} />\n </Flex>\n </>\n );\n};\n\nconst PrevMenu = () => {\n const polls = useHMSStore(selectPolls)?.filter(poll => poll.state === 'started' || poll.state === 'stopped');\n return polls?.length ? (\n <Flex\n css={{\n borderTop: '$space$px solid $border_bright',\n mt: '$10',\n pt: '$10',\n }}\n >\n <Flex direction=\"column\" css={{ w: '100%' }}>\n <Text variant=\"h6\" css={{ c: '$on_surface_high' }}>\n Previous Polls and Quizzes\n </Text>\n <Flex direction=\"column\" css={{ gap: '$10', mt: '$8' }}>\n {polls.map(poll => (\n <InteractionCard\n key={poll.id}\n id={poll.id}\n title={poll.title}\n isLive={poll.state === 'started'}\n isTimed={(poll.duration || 0) > 0}\n />\n ))}\n </Flex>\n </Flex>\n </Flex>\n ) : null;\n};\n\nconst InteractionCard = ({ id, title, isLive, isTimed }) => {\n const { setPollState } = usePollViewState();\n\n const goToVote = id => {\n setPollState({\n [POLL_STATE.pollInView]: id,\n [POLL_STATE.view]: POLL_VIEWS.VOTE,\n });\n };\n\n return (\n <Flex direction=\"column\" css={{ backgroundColor: '$surface_bright', borderRadius: '$1', p: '$8' }}>\n <Flex css={{ w: '100%', justifyContent: 'space-between', mb: '$sm' }}>\n <Text variant=\"sub1\" css={{ c: '$on_surface_high', fontWeight: '$semiBold' }}>\n {title}\n </Text>\n <StatusIndicator isLive={isLive} shouldShowTimer={isLive && isTimed} />\n </Flex>\n <Flex css={{ w: '100%', gap: '$4' }} justify=\"end\">\n <Button variant=\"primary\" onClick={() => goToVote(id)}>\n View\n </Button>\n </Flex>\n </Flex>\n );\n};\n", "import React from 'react';\nimport { AlertTriangleIcon, CrossIcon } from '@100mslive/react-icons';\nimport { Button } from '../../../../Button';\nimport { Box, Flex } from '../../../../Layout';\nimport { Dialog } from '../../../../Modal';\nimport { Text } from '../../../../Text';\n\nexport const DeleteQuestionModal = ({ open, setOpen, removeQuestion }) => {\n return (\n <Dialog.Root open={open}>\n <Dialog.Overlay />\n <Dialog.Portal>\n <Dialog.Content css={{ p: '$10' }}>\n <Box>\n <Flex\n css={{\n color: '$alert_error_default',\n display: 'flex',\n alignItems: 'center',\n }}\n >\n <AlertTriangleIcon style={{ marginRight: '0.5rem' }} />\n <Text variant=\"lg\" css={{ color: 'inherit', fontWeight: '$semiBold' }}>\n Delete Question?\n </Text>\n\n <Box\n css={{\n ml: 'auto',\n color: '$on_surface_medium',\n '&:hover': { color: '$on_surface_high', cursor: 'pointer' },\n }}\n onClick={() => setOpen(false)}\n >\n <CrossIcon />\n </Box>\n </Flex>\n <Text variant=\"sm\" css={{ color: '$on_surface_medium', mb: '$8', mt: '$4' }}>\n The question will be deleted. You can't undo this action.\n </Text>\n <Flex css={{ w: '100%', mt: '$12', gap: '$md' }}>\n <Button\n variant=\"standard\"\n outlined\n onClick={() => setOpen(false)}\n css={{ w: '100%', fontSize: '$md', fontWeight: '$semiBold' }}\n >\n Cancel\n </Button>\n <Button\n css={{ w: '100%', fontSize: '$md', fontWeight: '$semiBold' }}\n variant=\"danger\"\n onClick={() => {\n removeQuestion();\n setOpen(false);\n }}\n >\n Delete\n </Button>\n </Flex>\n </Box>\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n );\n};\n", "import React from 'react';\nimport { TrashIcon } from '@100mslive/react-icons';\nimport { Input } from '../../../../Input';\nimport IconButton from '../../../IconButton';\n\nexport const OptionInputWithDelete = ({ index, option, handleOptionTextChange, removeOption }) => {\n return (\n <>\n <Input\n placeholder={`Option ${index + 1}`}\n css={{\n w: '100%',\n backgroundColor: '$surface_default',\n border: '1px solid $border_bright',\n }}\n value={option?.text || ''}\n key={index}\n onChange={event => handleOptionTextChange(index, event.target.value)}\n />\n <IconButton onClick={() => removeOption(index)} css={{ bg: '$transparent', border: 'none' }}>\n <TrashIcon />\n </IconButton>\n </>\n );\n};\n", "// @ts-check\nimport React from 'react';\nimport { Flex, Text } from '../../../../';\n\nexport const VoteCount = ({ isQuiz, voteCount, isCorrectAnswer }) => {\n return (\n <Flex css={{ alignItems: 'center' }}>\n {isQuiz && (\n <Text\n variant=\"xs\"\n css={{\n p: '$2',\n mr: '$2',\n color: isCorrectAnswer ? '$alert_success' : '$alert_error_default',\n borderRadius: '$1',\n border: `1px solid ${isCorrectAnswer ? '$alert_success' : '$alert_error_default'}`,\n }}\n >\n {isCorrectAnswer ? 'Correct' : 'Incorrect'}\n </Text>\n )}\n <Text variant=\"sm\" css={{ color: '$on_surface_medium' }}>\n {voteCount} \n {voteCount === 1 ? 'vote' : 'votes'}\n </Text>\n </Flex>\n );\n};\n", "import React from 'react';\nimport { Progress } from '../../../../';\n\nexport const VoteProgress = ({ option, totalResponses }) => {\n const showProgress = typeof option.voteCount === 'number' && typeof totalResponses === 'number' && totalResponses > 0;\n const progressValue = (100 * option.voteCount) / totalResponses;\n\n return showProgress ? (\n <Progress.Root value={progressValue}>\n <Progress.Content\n style={{\n transform: `translateX(-${100 - progressValue}%)`,\n }}\n />\n </Progress.Root>\n ) : null;\n};\n", "// @ts-check\nimport React from 'react';\nimport { CheckIcon } from '@100mslive/react-icons';\nimport { Checkbox, Flex, Label, Text } from '../../../../';\nimport { OptionInputWithDelete } from './OptionInputWithDelete';\nimport { VoteCount } from './VoteCount';\nimport { VoteProgress } from './VoteProgress';\n\nexport const MultipleChoiceOptions = ({\n questionIndex,\n isQuiz,\n options,\n correctOptionIndexes,\n canRespond,\n response,\n totalResponses,\n selectedOptions,\n setSelectedOptions,\n showVoteCount,\n}) => {\n const handleCheckedChange = (checked, index) => {\n const newSelected = new Set(selectedOptions);\n if (checked) {\n newSelected.add(index);\n } else {\n newSelected.delete(index);\n }\n setSelectedOptions(newSelected);\n };\n\n return (\n <Flex direction=\"column\" css={{ gap: '$md', w: '100%', mb: '$md' }}>\n {options.map(option => {\n const isCorrectAnswer = isQuiz && correctOptionIndexes?.includes(option.index);\n\n return (\n <Flex align=\"center\" key={`${questionIndex}-${option.index}`} css={{ w: '100%', gap: '$9' }}>\n <Checkbox.Root\n id={`${questionIndex}-${option.index}`}\n disabled={!canRespond}\n checked={response?.options?.includes(option.index)}\n onCheckedChange={checked => handleCheckedChange(checked, option.index)}\n css={{\n cursor: canRespond ? 'pointer' : 'not-allowed',\n }}\n >\n <Checkbox.Indicator>\n <CheckIcon width={16} height={16} />\n </Checkbox.Indicator>\n </Checkbox.Root>\n\n <Flex direction=\"column\" css={{ flexGrow: '1' }}>\n <Flex css={{ w: '100%' }}>\n <Text css={{ display: 'flex', flexGrow: '1' }}>\n <Label htmlFor={`${questionIndex}-${option.index}`}>{option.text}</Label>\n </Text>\n {showVoteCount && (\n <VoteCount isQuiz={isQuiz} isCorrectAnswer={isCorrectAnswer} voteCount={option.voteCount} />\n )}\n </Flex>\n {showVoteCount && <VoteProgress option={option} totalResponses={totalResponses} />}\n </Flex>\n </Flex>\n );\n })}\n </Flex>\n );\n};\n\nexport const MultipleChoiceOptionInputs = ({ isQuiz, options, selectAnswer, handleOptionTextChange, removeOption }) => {\n return (\n <Flex direction=\"column\" css={{ gap: '$md', w: '100%', mb: '$md' }}>\n {options.map((option, index) => {\n return (\n <Flex align=\"center\" key={index} css={{ w: '100%', gap: '$5' }}>\n {isQuiz && (\n <Checkbox.Root\n onCheckedChange={checked => selectAnswer(checked, index)}\n checked={option.isCorrectAnswer}\n css={{\n cursor: 'pointer',\n width: '$9',\n }}\n >\n <Checkbox.Indicator>\n <CheckIcon width={16} height={16} />\n </Checkbox.Indicator>\n </Checkbox.Root>\n )}\n <OptionInputWithDelete\n index={index}\n option={option}\n handleOptionTextChange={handleOptionTextChange}\n removeOption={removeOption}\n />\n </Flex>\n );\n })}\n </Flex>\n );\n};\n", "// @ts-check\nimport React from 'react';\nimport { Flex, Label, RadioGroup, Text } from '../../../../';\nimport { OptionInputWithDelete } from './OptionInputWithDelete';\nimport { VoteCount } from './VoteCount';\nimport { VoteProgress } from './VoteProgress';\n\nexport const SingleChoiceOptions = ({\n questionIndex,\n isQuiz,\n options,\n response,\n canRespond,\n correctOptionIndex,\n setAnswer,\n totalResponses,\n showVoteCount,\n}) => {\n return (\n <RadioGroup.Root value={response?.option} onValueChange={value => setAnswer(value)}>\n <Flex direction=\"column\" css={{ gap: '$md', w: '100%', mb: '$md' }}>\n {options.map(option => {\n const isCorrectAnswer = isQuiz && option.index === correctOptionIndex;\n\n return (\n <Flex align=\"center\" key={`${questionIndex}-${option.index}`} css={{ w: '100%', gap: '$5' }}>\n <RadioGroup.Item\n css={{\n background: 'none',\n h: '$9',\n w: '$9',\n border: '2px solid',\n borderColor: '$on_surface_high',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n cursor: canRespond ? 'pointer' : 'not-allowed',\n '&[data-state=\"checked\"]': {\n borderColor: '$primary_bright',\n borderWidth: '2px',\n },\n }}\n disabled={!canRespond}\n value={option.index}\n id={`${questionIndex}-${option.index}`}\n >\n <RadioGroup.Indicator\n css={{\n h: '80%',\n w: '80%',\n background: '$primary_bright',\n borderRadius: '$round',\n }}\n />\n </RadioGroup.Item>\n\n <Flex direction=\"column\" css={{ flexGrow: '1' }}>\n <Flex css={{ w: '100%' }}>\n <Text css={{ display: 'flex', flexGrow: '1' }}>\n <Label htmlFor={`${questionIndex}-${option.index}`}>{option.text}</Label>\n </Text>\n {showVoteCount && (\n <VoteCount isQuiz={isQuiz} isCorrectAnswer={isCorrectAnswer} voteCount={option.voteCount} />\n )}\n </Flex>\n {showVoteCount && <VoteProgress option={option} totalResponses={totalResponses} />}\n </Flex>\n </Flex>\n );\n })}\n </Flex>\n </RadioGroup.Root>\n );\n};\n\nexport const SingleChoiceOptionInputs = ({ isQuiz, options, selectAnswer, handleOptionTextChange, removeOption }) => {\n const correctOptionIndex = options.findIndex(option => option.isCorrectAnswer);\n\n return (\n <RadioGroup.Root value={correctOptionIndex} onValueChange={selectAnswer}>\n <Flex direction=\"column\" css={{ gap: '$md', w: '100%', mb: '$md' }}>\n {options.map((option, index) => {\n return (\n <Flex align=\"center\" key={`option-${index}`} css={{ w: '100%', gap: '$5' }}>\n {isQuiz && (\n <RadioGroup.Item\n css={{\n background: 'none',\n w: '$9',\n border: '2px solid',\n borderColor: '$on_surface_high',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n cursor: 'pointer',\n '&[data-state=\"checked\"]': {\n borderColor: '$primary_bright',\n borderWidth: '2px',\n },\n }}\n value={index}\n >\n <RadioGroup.Indicator\n css={{\n h: '80%',\n w: '80%',\n background: '$primary_bright',\n borderRadius: '$round',\n }}\n />\n </RadioGroup.Item>\n )}\n <OptionInputWithDelete\n index={index}\n option={option}\n handleOptionTextChange={handleOptionTextChange}\n removeOption={removeOption}\n />\n </Flex>\n );\n })}\n </Flex>\n </RadioGroup.Root>\n );\n};\n", "// @ts-check\nimport React, { useCallback, useRef, useState } from 'react';\nimport { AddCircleIcon, TrashIcon } from '@100mslive/react-icons';\nimport { Box, Button, Dropdown, Flex, Input, Switch, Text, Tooltip } from '../../../../';\nimport { DialogDropdownTrigger } from '../../../primitives/DropdownTrigger';\nimport { DeleteQuestionModal } from './DeleteQuestionModal';\nimport { useDropdownSelection } from '../../hooks/useDropdownSelection';\nimport { isValidTextInput } from '../../../common/utils';\nimport { MultipleChoiceOptionInputs } from '../common/MultipleChoiceOptions';\nimport { SingleChoiceOptionInputs } from '../common/SingleChoiceOptions';\nimport { QUESTION_TYPE, QUESTION_TYPE_TITLE } from '../../../common/constants';\n\nexport const QuestionForm = ({ question, index, length, onSave, removeQuestion, isQuiz }) => {\n const ref = useRef(null);\n const selectionBg = useDropdownSelection();\n const [openDelete, setOpenDelete] = useState(false);\n const [open, setOpen] = useState(false);\n const [type, setType] = useState(question.type || QUESTION_TYPE.SINGLE_CHOICE);\n const [text, setText] = useState(question.text);\n const [options, setOptions] = useState(\n question?.options || [\n { text: '', isCorrectAnswer: false },\n { text: '', isCorrectAnswer: false },\n ],\n );\n const [skippable, setSkippable] = useState(false);\n const isValid = isValidQuestion({\n text,\n type,\n options,\n isQuiz,\n });\n\n const handleOptionTextChange = useCallback(\n (index, text) => {\n setOptions(options => [...options.slice(0, index), { ...options[index], text }, ...options.slice(index + 1)]);\n },\n [setOptions],\n );\n\n const removeOption = useCallback(\n index =>\n setOptions(options => {\n const newOptions = [...options];\n newOptions.splice(index, 1);\n return newOptions;\n }),\n [setOptions],\n );\n\n const selectSingleChoiceAnswer = useCallback(\n answerIndex => {\n if (!isQuiz) {\n return;\n }\n setOptions(options =>\n options.map((option, index) => ({\n ...option,\n isCorrectAnswer: index === answerIndex,\n })),\n );\n },\n [setOptions, isQuiz],\n );\n\n const selectMultipleChoiceAnswer = useCallback(\n (checked, index) => {\n if (!isQuiz) {\n return;\n }\n setOptions(options => [\n ...options.slice(0, index),\n { ...options[index], isCorrectAnswer: checked },\n ...options.slice(index + 1),\n ]);\n },\n [setOptions, isQuiz],\n );\n\n return (\n <>\n <Text variant=\"overline\" css={{ c: '$on_surface_low', textTransform: 'uppercase' }}>\n Question {index + 1} of {length}\n </Text>\n <Text variant=\"body2\" css={{ mt: '$4', mb: '$md' }}>\n Question Type\n </Text>\n <Dropdown.Root open={open} onOpenChange={setOpen}>\n <DialogDropdownTrigger\n ref={ref}\n title={QUESTION_TYPE_TITLE[type]}\n css={{\n backgroundColor: '$surface_bright',\n border: '1px solid $border_bright',\n }}\n open={open}\n />\n <Dropdown.Portal>\n <Dropdown.Content align=\"start\" sideOffset={8} css={{ w: ref.current?.clientWidth, zIndex: 1000 }}>\n {Object.keys(QUESTION_TYPE_TITLE).map(value => {\n return (\n <Dropdown.Item\n key={value}\n onSelect={() => setType(value)}\n css={{\n px: '$9',\n bg: type === value ? selectionBg : undefined,\n }}\n >\n {QUESTION_TYPE_TITLE[value]}\n </Dropdown.Item>\n );\n })}\n </Dropdown.Content>\n </Dropdown.Portal>\n </Dropdown.Root>\n <Input\n placeholder=\"Ask a question\"\n css={{\n mt: '$md',\n backgroundColor: '$surface_bright',\n border: '1px solid $border_bright',\n }}\n type=\"text\"\n value={text}\n onChange={event => setText(event.target.value)}\n />\n {type === QUESTION_TYPE.SINGLE_CHOICE || type === QUESTION_TYPE.MULTIPLE_CHOICE ? (\n <>\n <Text variant=\"body2\" css={{ my: '$6', c: '$on_surface_medium' }}>\n Options\n </Text>\n\n {isQuiz && (\n <Text variant=\"xs\" css={{ c: '$on_surface_medium', mb: '$md' }}>\n {type === QUESTION_TYPE.SINGLE_CHOICE\n ? 'Use the radio buttons to indicate the correct answer'\n : 'Use the checkboxes to indicate the correct answer(s)'}\n </Text>\n )}\n\n {type === QUESTION_TYPE.SINGLE_CHOICE && (\n <SingleChoiceOptionInputs\n isQuiz={isQuiz}\n options={options}\n selectAnswer={selectSingleChoiceAnswer}\n handleOptionTextChange={handleOptionTextChange}\n removeOption={removeOption}\n />\n )}\n\n {type === QUESTION_TYPE.MULTIPLE_CHOICE && (\n <MultipleChoiceOptionInputs\n isQuiz={isQuiz}\n options={options}\n selectAnswer={selectMultipleChoiceAnswer}\n handleOptionTextChange={handleOptionTextChange}\n removeOption={removeOption}\n />\n )}\n\n {options?.length < 20 && (\n <Flex\n css={{\n c: '$on_surface_medium',\n cursor: 'pointer',\n '&:hover': { c: '$on_surface_high' },\n }}\n onClick={() => setOptions([...options, { text: '', isCorrectAnswer: false }])}\n >\n <AddCircleIcon style={{ position: 'relative', left: '-2px' }} />\n\n <Text\n variant=\"body1\"\n css={{\n ml: '$4',\n c: 'inherit',\n }}\n >\n Add an option\n </Text>\n </Flex>\n )}\n {isQuiz ? (\n <Flex css={{ mt: '$md', gap: '$6' }}>\n <Switch defaultChecked={skippable} onCheckedChange={checked => setSkippable(checked)} />\n <Text variant=\"sm\" css={{ color: '$on_surface_medium' }}>\n Not required to answer\n </Text>\n </Flex>\n ) : null}\n </>\n ) : null}\n\n <Flex justify=\"between\" align=\"center\" css={{ mt: '$12' }}>\n <Box\n css={{\n color: '$on_surface_medium',\n cursor: 'pointer',\n '&:hover': { color: '$on_surface_high' },\n }}\n >\n <TrashIcon onClick={() => setOpenDelete(!open)} />\n </Box>\n <Tooltip\n disabled={isValid}\n title={`Please fill all the fields ${isQuiz ? 'and mark the correct answer(s)' : ''} to continue`}\n boxCss={{ maxWidth: '$40' }}\n >\n <Button\n variant=\"standard\"\n disabled={!isValid}\n onClick={() => {\n onSave({\n saved: true,\n text,\n type,\n options,\n skippable,\n draftID: question.draftID,\n });\n }}\n >\n Save\n </Button>\n </Tooltip>\n </Flex>\n\n <DeleteQuestionModal open={openDelete} setOpen={setOpenDelete} removeQuestion={removeQuestion} />\n </>\n );\n};\n\nexport const isValidQuestion = ({ text, type, options, isQuiz = false }) => {\n if (!isValidTextInput(text) || !type) {\n return false;\n }\n\n if (![QUESTION_TYPE.SINGLE_CHOICE, QUESTION_TYPE.MULTIPLE_CHOICE].includes(type)) {\n return true;\n }\n\n const everyOptionHasText = options.every(option => option && isValidTextInput(option.text, 1));\n const hasCorrectAnswer = options.some(option => option.isCorrectAnswer);\n\n if (!isQuiz) {\n return everyOptionHasText;\n }\n\n return everyOptionHasText && hasCorrectAnswer;\n};\n", "// @ts-check\nimport React, { useState } from 'react';\nimport { CheckCircleIcon, TrashIcon } from '@100mslive/react-icons';\nimport { Box, Button, Flex, Text } from '../../../../';\nimport { DeleteQuestionModal } from './DeleteQuestionModal';\nimport { QUESTION_TYPE_TITLE } from '../../../common/constants';\n\nexport const SavedQuestion = ({ question, index, length, convertToDraft, removeQuestion }) => {\n const [openDeleteModal, setOpenDeleteModal] = useState(false);\n return (\n <>\n <Text variant=\"overline\" css={{ c: '$on_surface_low', textTransform: 'uppercase' }}>\n Question {index + 1} of {length}: {QUESTION_TYPE_TITLE[question.type]}\n </Text>\n <Text variant=\"body2\" css={{ mt: '$4', mb: '$md' }}>\n {question.text}\n </Text>\n {question.options.map(option => (\n <Flex css={{ alignItems: 'center', my: '$xs' }}>\n <Text variant=\"body2\" css={{ c: '$on_surface_medium' }}>\n {option.text}\n </Text>\n {option.isCorrectAnswer && (\n <Flex css={{ color: '$alert_success', mx: '$xs' }}>\n <CheckCircleIcon height={24} width={24} />\n </Flex>\n )}\n </Flex>\n ))}\n {question.skippable ? (\n <Text variant=\"sm\" css={{ color: '$on_surface_low', my: '$md' }}>\n Not required to answer\n </Text>\n ) : null}\n <Flex justify=\"between\" css={{ w: '100%', alignItems: 'center' }}>\n <Box\n onClick={() => setOpenDeleteModal(true)}\n css={{ color: '$on_surface_low', '&:hover': { color: '$on_surface_medium', cursor: 'pointer' } }}\n >\n <TrashIcon />\n </Box>\n <Button\n variant=\"standard\"\n css={{ fontWeight: '$semiBold', p: '$4 $8' }}\n onClick={() => convertToDraft(question.draftID)}\n >\n Edit\n </Button>\n </Flex>\n <DeleteQuestionModal\n removeQuestion={() => removeQuestion(question.draftID)}\n open={openDeleteModal}\n setOpen={setOpenDeleteModal}\n />\n </>\n );\n};\n", "// @ts-check\nimport React, { useMemo, useState } from 'react';\nimport { v4 as uuid } from 'uuid';\nimport { selectPollByID, useHMSActions, useHMSStore } from '@100mslive/react-sdk';\nimport { AddCircleIcon } from '@100mslive/react-icons';\nimport { Button, Flex, Text } from '../../../../';\nimport { Container, ContentHeader } from '../../Streaming/Common';\nimport { isValidQuestion, QuestionForm } from './QuestionForm';\nimport { SavedQuestion } from './SavedQuestion';\nimport { usePollViewToggle } from '../../AppData/useSidepane';\nimport { usePollViewState } from '../../AppData/useUISettings';\nimport { POLL_VIEWS } from '../../../common/constants';\n\nexport function CreateQuestions() {\n const [questions, setQuestions] = useState([{ draftID: uuid() }]);\n const actions = useHMSActions();\n const togglePollView = usePollViewToggle();\n const { pollInView: id, setPollView } = usePollViewState();\n const interaction = useHMSStore(selectPollByID(id));\n\n const isValidPoll = useMemo(\n () => questions.length > 0 && questions.every(question => isValidQuestion(question)),\n [questions],\n );\n\n const launchPoll = async () => {\n const validQuestions = questions\n .filter(question => isValidQuestion(question))\n .map(question => ({\n text: question.text,\n type: question.type,\n options: question.options,\n skippable: question.skippable,\n }));\n await actions.interactivityCenter.addQuestionsToPoll(id, validQuestions);\n await actions.interactivityCenter.startPoll(id);\n setPollView(POLL_VIEWS.VOTE);\n };\n const headingTitle = interaction?.type\n ? interaction?.type?.[0]?.toUpperCase() + interaction?.type?.slice(1)\n : 'Polls and Quizzes';\n const isQuiz = interaction?.type === 'quiz';\n return (\n <Container rounded>\n <ContentHeader\n content={headingTitle}\n onClose={togglePollView}\n onBack={() => setPollView(POLL_VIEWS.CREATE_POLL_QUIZ)}\n />\n <Flex direction=\"column\" css={{ p: '$10', overflowY: 'auto' }}>\n <Flex direction=\"column\">\n {questions.map((question, index) => (\n <QuestionCard\n key={question.draftID}\n question={question}\n index={index}\n length={questions.length}\n onSave={questionParams => {\n setQuestions(questions => [\n ...questions.slice(0, index),\n questionParams,\n ...questions.slice(index + 1),\n ]);\n }}\n isQuiz={isQuiz}\n removeQuestion={questionID =>\n setQuestions(prev => {\n return prev.filter(questionFromSet => questionID !== questionFromSet.draftID);\n })\n }\n convertToDraft={questionID =>\n setQuestions(prev => {\n const copyOfQuestions = [...prev];\n copyOfQuestions.forEach(question => {\n if (questionID && question.draftID === questionID) {\n question.saved = false;\n }\n });\n return copyOfQuestions;\n })\n }\n />\n ))}\n </Flex>\n <Flex\n css={{\n c: '$on_surface_low',\n my: '$sm',\n cursor: 'pointer',\n '&:hover': { c: '$on_surface_medium' },\n }}\n onClick={() => setQuestions([...questions, { draftID: uuid() }])}\n >\n <AddCircleIcon />\n <Text variant=\"body1\" css={{ ml: '$md', c: '$inherit' }}>\n Add another question\n </Text>\n </Flex>\n <Flex css={{ w: '100%' }} justify=\"end\">\n <Button disabled={!isValidPoll} onClick={launchPoll}>\n Launch {interaction.type}\n </Button>\n </Flex>\n </Flex>\n </Container>\n );\n}\n\nconst QuestionCard = ({ question, onSave, index, length, removeQuestion, isQuiz, convertToDraft }) => {\n return (\n <Flex direction=\"column\" css={{ p: '$md', bg: '$surface_default', r: '$1', mb: '$sm' }}>\n {question.saved ? (\n <SavedQuestion\n question={question}\n index={index}\n length={length}\n convertToDraft={convertToDraft}\n removeQuestion={removeQuestion}\n />\n ) : (\n <QuestionForm\n question={question}\n removeQuestion={() => removeQuestion(question.draftID)}\n onSave={params => onSave(params)}\n index={index}\n length={length}\n isQuiz={isQuiz}\n />\n )}\n </Flex>\n );\n};\n", "// @ts-check\nimport React, { useCallback, useMemo, useState } from 'react';\nimport { selectLocalPeerID, selectLocalPeerRoleName, useHMSActions, useHMSStore } from '@100mslive/react-sdk';\nimport { ChevronLeftIcon, ChevronRightIcon } from '@100mslive/react-icons';\nimport { Box, Button, Flex, IconButton, Input, styled, Text } from '../../../../';\nimport { checkCorrectAnswer } from '../../../common/utils';\nimport { MultipleChoiceOptions } from '../common/MultipleChoiceOptions';\nimport { SingleChoiceOptions } from '../common/SingleChoiceOptions';\nimport { QUESTION_TYPE } from '../../../common/constants';\n\nconst TextArea = styled('textarea', {\n backgroundColor: '$surface_brighter',\n border: '1px solid $border_bright',\n borderRadius: '$1',\n mb: '$md',\n color: '$on_surface_high',\n resize: 'none',\n p: '$2',\n w: '100%',\n});\n\nexport const QuestionCard = ({\n pollID,\n isQuiz,\n startedBy,\n pollState,\n index,\n totalQuestions,\n result,\n type,\n text,\n options = [],\n answer,\n setCurrentIndex,\n skippable = false,\n responses = [],\n isTimed = false,\n rolesThatCanViewResponses,\n}) => {\n const actions = useHMSActions();\n const localPeerID = useHMSStore(selectLocalPeerID);\n const localPeerResponse = responses?.find(response => response.peer?.peerid === localPeerID);\n const isLocalPeerCreator = localPeerID === startedBy;\n const localPeerRoleName = useHMSStore(selectLocalPeerRoleName);\n const roleCanViewResponse =\n !rolesThatCanViewResponses ||\n rolesThatCanViewResponses.length === 0 ||\n rolesThatCanViewResponses.includes(localPeerRoleName || '');\n const showVoteCount = roleCanViewResponse && (localPeerResponse || (isLocalPeerCreator && pollState === 'stopped'));\n\n const isLive = pollState === 'started';\n const canRespond = isLive && !localPeerResponse;\n\n const isCorrectAnswer = checkCorrectAnswer(answer, localPeerResponse, type);\n\n const prev = index !== 1;\n const next = index !== totalQuestions && (skippable || localPeerResponse);\n\n const moveNext = useCallback(() => {\n setCurrentIndex(curr => Math.min(totalQuestions, curr + 1));\n }, [setCurrentIndex, totalQuestions]);\n\n const movePrev = () => {\n setCurrentIndex(curr => Math.max(1, curr - 1));\n };\n\n const [textAnswer, setTextAnswer] = useState('');\n const [singleOptionAnswer, setSingleOptionAnswer] = useState();\n const [multipleOptionAnswer, setMultipleOptionAnswer] = useState(new Set());\n\n const stringAnswerExpected = [QUESTION_TYPE.LONG_ANSWER, QUESTION_TYPE.SHORT_ANSWER].includes(type);\n\n const isValidVote = useMemo(() => {\n if (stringAnswerExpected) {\n return textAnswer.length > 0;\n } else if (type === QUESTION_TYPE.SINGLE_CHOICE) {\n return singleOptionAnswer !== undefined;\n } else if (type === QUESTION_TYPE.MULTIPLE_CHOICE) {\n return multipleOptionAnswer.size > 0;\n }\n }, [textAnswer, singleOptionAnswer, multipleOptionAnswer, type, stringAnswerExpected]);\n\n const handleVote = useCallback(async () => {\n if (!isValidVote) {\n return;\n }\n await actions.interactivityCenter.addResponsesToPoll(pollID, [\n {\n questionIndex: index,\n text: textAnswer,\n option: singleOptionAnswer,\n options: Array.from(multipleOptionAnswer),\n },\n ]);\n }, [actions, index, pollID, isValidVote, textAnswer, singleOptionAnswer, multipleOptionAnswer]);\n\n const handleSkip = useCallback(async () => {\n await actions.interactivityCenter.addResponsesToPoll(pollID, [\n {\n questionIndex: index,\n skipped: true,\n },\n ]);\n moveNext();\n }, [actions, index, pollID, moveNext]);\n\n return (\n <Box\n css={{\n backgroundColor: '$surface_bright',\n borderRadius: '$1',\n p: '$md',\n mt: '$md',\n border:\n isQuiz && localPeerResponse && !localPeerResponse.skipped\n ? `1px solid ${isCorrectAnswer ? '$alert_success' : '$alert_error_default'}`\n : 'none',\n }}\n >\n <Flex align=\"center\" justify=\"between\">\n <Text variant=\"caption\" css={{ color: '$on_surface_low', fontWeight: '$semiBold' }}>\n QUESTION {index} OF {totalQuestions}: {type.toUpperCase()}\n </Text>\n\n {isTimed ? (\n <Flex align=\"center\" css={{ gap: '$4' }}>\n <IconButton\n disabled={!prev}\n onClick={movePrev}\n css={\n prev\n ? { color: '$on_surface_high', cursor: 'pointer' }\n : {\n color: '$on_surface_low',\n cursor: 'not-allowed',\n }\n }\n >\n <ChevronLeftIcon height={16} width={16} />\n </IconButton>\n <IconButton\n disabled={!next}\n onClick={moveNext}\n css={\n next\n ? { color: '$on_surface_high', cursor: 'pointer' }\n : {\n color: '$on_surface_low',\n cursor: 'not-allowed',\n }\n }\n >\n <ChevronRightIcon height={16} width={16} />\n </IconButton>\n </Flex>\n ) : null}\n </Flex>\n\n <Box css={{ my: '$md' }}>\n <Text css={{ color: '$on_surface_high' }}>{text}</Text>\n </Box>\n\n {type === QUESTION_TYPE.SHORT_ANSWER ? (\n <Input\n disabled={!canRespond}\n placeholder=\"Enter your answer\"\n onChange={e => setTextAnswer(e.target.value)}\n css={{\n w: '100%',\n backgroundColor: '$surface_brighter',\n mb: '$md',\n border: '1px solid $border_default',\n cursor: localPeerResponse ? 'not-allowed' : 'text',\n }}\n />\n ) : null}\n\n {type === QUESTION_TYPE.LONG_ANSWER ? (\n <TextArea\n disabled={!canRespond}\n placeholder=\"Enter your answer\"\n onChange={e => setTextAnswer(e.target.value)}\n />\n ) : null}\n\n {type === QUESTION_TYPE.SINGLE_CHOICE ? (\n <SingleChoiceOptions\n questionIndex={index}\n isQuiz={isQuiz}\n canRespond={canRespond}\n response={localPeerResponse}\n correctOptionIndex={answer?.option}\n options={options}\n setAnswer={setSingleOptionAnswer}\n totalResponses={result?.totalResponses}\n showVoteCount={showVoteCount}\n />\n ) : null}\n\n {type === QUESTION_TYPE.MULTIPLE_CHOICE ? (\n <MultipleChoiceOptions\n questionIndex={index}\n isQuiz={isQuiz}\n canRespond={canRespond}\n response={localPeerResponse}\n correctOptionIndexes={answer?.options}\n options={options}\n selectedOptions={multipleOptionAnswer}\n setSelectedOptions={setMultipleOptionAnswer}\n totalResponses={result?.totalResponses}\n showVoteCount={showVoteCount}\n />\n ) : null}\n\n {isLive && (\n <QuestionActions\n isValidVote={isValidVote}\n skippable={skippable}\n onSkip={handleSkip}\n onVote={handleVote}\n response={localPeerResponse}\n stringAnswerExpected={stringAnswerExpected}\n />\n )}\n </Box>\n );\n};\n\nconst QuestionActions = ({ isValidVote, skippable, response, stringAnswerExpected, onVote, onSkip }) => {\n return (\n <Flex align=\"center\" justify=\"end\" css={{ gap: '$4', w: '100%' }}>\n {skippable && !response ? (\n <Button variant=\"standard\" onClick={onSkip} css={{ p: '$xs $10', fontWeight: '$semiBold' }}>\n Skip\n </Button>\n ) : null}\n\n {response ? (\n <Text css={{ fontWeight: '$semiBold', color: '$on_surface_medium' }}>\n {response.skipped ? 'Skipped' : stringAnswerExpected ? 'Submitted' : 'Voted'}\n </Text>\n ) : (\n <Button css={{ p: '$xs $10', fontWeight: '$semiBold' }} disabled={!isValidVote} onClick={onVote}>\n {stringAnswerExpected ? 'Submit' : 'Vote'}\n </Button>\n )}\n </Flex>\n );\n};\n", "// @ts-check\nimport React from 'react';\nimport { QuestionCard } from './QuestionCard';\n\n/**\n *\n * @param {{poll: import(\"@100mslive/react-sdk\").HMSPoll}} param0\n * @returns\n */\nexport const StandardView = ({ poll }) => {\n if (!poll?.questions) {\n return null;\n }\n return (\n <>\n {poll.questions?.map((question, index) => (\n <QuestionCard\n pollID={poll.id}\n isQuiz={poll.type === 'quiz'}\n startedBy={poll.startedBy}\n pollState={poll.state}\n key={`${question.text}-${index}`}\n index={question.index}\n text={question.text}\n type={question.type}\n result={question.result}\n totalQuestions={poll.questions?.length || 0}\n options={question.options}\n skippable={question.skippable}\n responses={question.responses}\n answer={question.answer}\n setCurrentIndex={() => {\n return;\n }}\n rolesThatCanViewResponses={poll.rolesThatCanViewResponses}\n />\n ))}\n </>\n );\n};\n", "// @ts-check\nimport React, { useState } from 'react';\nimport { QuestionCard } from './QuestionCard';\n\n/**\n *\n * @param {{poll: import(\"@100mslive/react-sdk\").HMSPoll}} param0\n * @returns\n */\nexport const TimedView = ({ poll }) => {\n const [currentIndex, setCurrentIndex] = useState(0);\n const activeQuestion = poll.questions?.[currentIndex];\n if (!activeQuestion) {\n return null;\n }\n return (\n <QuestionCard\n pollID={poll.id}\n isQuiz={poll.type === 'quiz'}\n startedBy={poll.startedBy}\n pollState={poll.state}\n index={activeQuestion.index}\n text={activeQuestion.text}\n type={activeQuestion.type}\n result={activeQuestion?.result}\n totalQuestions={poll.questions?.length || 0}\n options={activeQuestion.options}\n skippable={activeQuestion.skippable || false}\n responses={activeQuestion.responses}\n answer={activeQuestion.answer}\n setCurrentIndex={setCurrentIndex}\n rolesThatCanViewResponses={poll.rolesThatCanViewResponses}\n isTimed\n />\n );\n};\n", "// @ts-check\nimport React from 'react';\nimport {\n selectLocalPeerID,\n selectPeerNameByID,\n selectPollByID,\n useHMSActions,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport { ChevronLeftIcon, CrossIcon } from '@100mslive/react-icons';\nimport { Box, Button, Flex, Text } from '../../../../';\nimport { Container } from '../../Streaming/Common';\n// import { PollResultSummary } from \"./PollResultSummary\";\nimport { StandardView } from './StandardVoting';\nimport { TimedView } from './TimedVoting';\nimport { usePollViewState } from '../../AppData/useUISettings';\nimport { StatusIndicator } from '../common/StatusIndicator';\nimport { POLL_VIEWS } from '../../../common/constants';\n\nexport const Voting = ({ id, toggleVoting }) => {\n const actions = useHMSActions();\n const poll = useHMSStore(selectPollByID(id));\n const pollCreatorName = useHMSStore(selectPeerNameByID(poll?.createdBy));\n const isLocalPeerCreator = useHMSStore(selectLocalPeerID) === poll?.createdBy;\n const { setPollView } = usePollViewState();\n\n if (!poll) {\n return null;\n }\n\n // Sets view - linear or vertical, toggles timer indicator\n const isTimed = (poll.duration || 0) > 0;\n const isLive = poll.state === 'started';\n\n return (\n <Container rounded>\n <Flex\n align=\"center\"\n css={{\n gap: '$6',\n py: '$6',\n px: '$10',\n my: '$4',\n w: '100%',\n color: '$on_surface_high',\n borderBottom: '1px solid $border_default',\n }}\n >\n <Flex\n onClick={() => setPollView(POLL_VIEWS.CREATE_POLL_QUIZ)}\n css={{ cursor: 'pointer', c: '$on_surface_medium', '&:hover': { color: '$on_surface_high' } }}\n >\n <ChevronLeftIcon />\n </Flex>\n <Text variant=\"h6\">{poll?.type?.toUpperCase()}</Text>\n <StatusIndicator isLive={isLive} shouldShowTimer={isLive && isTimed} />\n <Box\n css={{\n marginLeft: 'auto',\n cursor: 'pointer',\n '&:hover': { opacity: '0.8' },\n }}\n >\n <CrossIcon onClick={toggleVoting} />\n </Box>\n </Flex>\n\n <Flex direction=\"column\" css={{ p: '$8 $10' }}>\n <Flex align=\"center\">\n <Box css={{ flex: 'auto' }}>\n <Text css={{ color: '$on_surface_medium', fontWeight: '$semiBold' }}>\n {pollCreatorName || 'Participant'} started a {poll.type}\n </Text>\n </Box>\n {poll.state === 'started' && isLocalPeerCreator && (\n <Box css={{ flex: 'initial' }}>\n <Button\n variant=\"danger\"\n css={{ fontSize: '$sm', fontWeight: '$semiBold', p: '$3 $6' }}\n onClick={() => actions.interactivityCenter.stopPoll(id)}\n >\n End {poll.type}\n </Button>\n </Box>\n )}\n </Flex>\n {/* {poll.state === \"stopped\" && (\n <PollResultSummary\n pollResult={poll.result}\n questions={poll.questions}\n isQuiz={poll.type === \"quiz\"}\n isAdmin={isLocalPeerCreator}\n />\n )} */}\n {isTimed ? <TimedView poll={poll} /> : <StandardView poll={poll} />}\n </Flex>\n </Container>\n );\n};\n", "import React from 'react';\n// @ts-ignore: No implicit Any\nimport { PollsQuizMenu } from './CreatePollQuiz/PollsQuizMenu';\n// @ts-ignore: No implicit Any\nimport { CreateQuestions } from './CreateQuestions/CreateQuestions';\n// @ts-ignore: No implicit Any\nimport { Voting } from './Voting/Voting';\n// @ts-ignore: No implicit Any\nimport { usePollViewToggle } from '../AppData/useSidepane';\n// @ts-ignore: No implicit Any\nimport { usePollViewState } from '../AppData/useUISettings';\n// @ts-ignore: No implicit Any\nimport { POLL_VIEWS } from '../../common/constants';\n\nexport const Polls = () => {\n const togglePollView = usePollViewToggle();\n const { pollInView: pollID, view } = usePollViewState();\n\n if (view === POLL_VIEWS.CREATE_POLL_QUIZ) {\n return <PollsQuizMenu />;\n } else if (view === POLL_VIEWS.CREATE_QUESTIONS) {\n return <CreateQuestions />;\n } else if (view === POLL_VIEWS.VOTE) {\n return <Voting toggleVoting={togglePollView} id={pollID} />;\n } else {\n return null;\n }\n};\n", "// @ts-check\nimport { useCallback } from 'react';\nimport {\n selectPeerNameByID,\n selectSessionMetadata,\n useHMSActions,\n useHMSStore,\n useHMSVanillaStore,\n} from '@100mslive/react-sdk';\nimport { ToastManager } from '../Toast/ToastManager';\nimport { SESSION_STORE_KEY } from '../../common/constants';\n\n/**\n * set pinned chat message by updating the session store\n */\nexport const useSetPinnedMessage = () => {\n const hmsActions = useHMSActions();\n const vanillaStore = useHMSVanillaStore();\n const pinnedMessage = useHMSStore(selectSessionMetadata);\n\n const setPinnedMessage = useCallback(\n /**\n * @param {import(\"@100mslive/react-sdk\").HMSMessage | undefined} message\n */\n async message => {\n const peerName = vanillaStore.getState(selectPeerNameByID(message?.sender)) || message?.senderName;\n const newPinnedMessage = message ? (peerName ? `${peerName}: ${message.message}` : message.message) : null;\n if (newPinnedMessage !== pinnedMessage) {\n await hmsActions.sessionStore\n .set(SESSION_STORE_KEY.PINNED_MESSAGE, newPinnedMessage)\n .catch(err => ToastManager.addToast({ title: err.description }));\n }\n },\n [hmsActions, vanillaStore, pinnedMessage],\n );\n\n return { setPinnedMessage };\n};\n", "import {\n selectMessagesUnreadCountByPeerID,\n selectMessagesUnreadCountByRole,\n selectUnreadHMSMessagesCount,\n useHMSStore,\n} from '@100mslive/react-sdk';\n\nexport const useUnreadCount = ({ role, peerId }) => {\n const unreadCountSelector = role\n ? selectMessagesUnreadCountByRole(role)\n : peerId\n ? selectMessagesUnreadCountByPeerID(peerId)\n : selectUnreadHMSMessagesCount;\n\n const unreadCount = useHMSStore(unreadCountSelector);\n return unreadCount;\n};\n", "import React, { Fragment, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { useInView } from 'react-intersection-observer';\nimport { useMedia } from 'react-use';\nimport AutoSizer from 'react-virtualized-auto-sizer';\nimport { VariableSizeList } from 'react-window';\nimport {\n selectHMSMessages,\n selectLocalPeerID,\n selectLocalPeerRoleName,\n selectMessagesByPeerID,\n selectMessagesByRole,\n selectPeerNameByID,\n selectPermissions,\n useHMSActions,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport { PinIcon, VerticalMenuIcon } from '@100mslive/react-icons';\nimport { Dropdown } from '../../../Dropdown';\nimport { IconButton } from '../../../IconButton';\nimport { Box, Flex } from '../../../Layout';\nimport { Text } from '../../../Text';\nimport { config as cssConfig, styled } from '../../../Theme';\nimport { Tooltip } from '../../../Tooltip';\nimport emptyChat from '../../images/empty-chat.svg';\nimport { useRoomLayoutConferencingScreen } from '../../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';\nimport { useSetPinnedMessage } from '../hooks/useSetPinnedMessage';\nimport { useUnreadCount } from './useUnreadCount';\n\nconst formatTime = date => {\n if (!(date instanceof Date)) {\n return '';\n }\n let hours = date.getHours();\n let mins = date.getMinutes();\n const suffix = hours > 11 ? 'PM' : 'AM';\n if (hours < 10) {\n hours = '0' + hours;\n }\n if (mins < 10) {\n mins = '0' + mins;\n }\n return `${hours}:${mins} ${suffix}`;\n};\n\nconst MessageTypeContainer = ({ left, right }) => {\n return (\n <Flex\n align=\"center\"\n css={{\n ml: 'auto',\n mr: '$4',\n p: '$2 $4',\n border: '1px solid $border_bright',\n r: '$0',\n }}\n >\n {left && (\n <SenderName variant=\"tiny\" as=\"span\" css={{ color: '$on_surface_medium' }}>\n {left}\n </SenderName>\n )}\n {left && right && <Box css={{ borderLeft: '1px solid $border_bright', mx: '$4', h: '$8' }} />}\n {right && (\n <SenderName as=\"span\" variant=\"tiny\" css={{ textTransform: 'uppercase' }}>\n {right}\n </SenderName>\n )}\n </Flex>\n );\n};\n\nconst MessageType = ({ roles, hasCurrentUserSent, receiver }) => {\n const peerName = useHMSStore(selectPeerNameByID(receiver));\n const localPeerRoleName = useHMSStore(selectLocalPeerRoleName);\n if (receiver) {\n return (\n <MessageTypeContainer\n left={hasCurrentUserSent ? `${peerName ? `TO ${peerName}` : ''}` : 'TO YOU'}\n right=\"PRIVATE\"\n />\n );\n }\n\n if (roles && roles.length) {\n return <MessageTypeContainer left=\"TO\" right={hasCurrentUserSent ? roles.join(',') : localPeerRoleName} />;\n }\n return null;\n};\n\nconst URL_REGEX =\n /^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\n\nconst Link = styled('a', {\n color: '$primary_default',\n wordBreak: 'break-word',\n '&:hover': {\n textDecoration: 'underline',\n },\n});\n\nexport const AnnotisedMessage = ({ message }) => {\n if (!message) {\n return <Fragment />;\n }\n\n return (\n <Fragment>\n {message\n .trim()\n .split(/(\\s)/)\n .map(part =>\n URL_REGEX.test(part) ? (\n <Link href={part} key={part} target=\"_blank\" rel=\"noopener noreferrer\">\n {part}\n </Link>\n ) : (\n part\n ),\n )}\n </Fragment>\n );\n};\n\nconst getMessageType = ({ roles, receiver }) => {\n if (roles && roles.length > 0) {\n return 'role';\n }\n return receiver ? 'private' : '';\n};\nconst ChatActions = ({ onPin, showPinAction }) => {\n const [open, setOpen] = useState(false);\n if (!showPinAction) {\n return null;\n }\n\n return (\n <Dropdown.Root open={open} onOpenChange={setOpen}>\n <Dropdown.Trigger className=\"chat_actions\" css={{ opacity: open ? 1 : 0, '@md': { opacity: 1 } }} asChild>\n <IconButton>\n <Tooltip title=\"More options\">\n <VerticalMenuIcon />\n </Tooltip>\n </IconButton>\n </Dropdown.Trigger>\n <Dropdown.Portal>\n <Dropdown.Content\n sideOffset={5}\n align=\"end\"\n css={{ width: '$48', backgroundColor: '$surface_bright', py: '$0', border: '1px solid $border_bright' }}\n >\n <Dropdown.Item data-testid=\"pin_message_btn\" onClick={onPin}>\n <PinIcon />\n <Text variant=\"sm\" css={{ ml: '$4' }}>\n Pin Message\n </Text>\n </Dropdown.Item>\n {/* {isMobile ? (\n <Dropdown.Item\n data-testid=\"copy_message_btn\"\n onClick={() => {\n try {\n navigator?.clipboard.writeText(messageContent);\n ToastManager.addToast({\n title: 'Message copied successfully',\n });\n } catch (e) {\n console.log(e);\n ToastManager.addToast({\n title: 'Could not copy message',\n });\n }\n }}\n >\n <CopyIcon />\n <Text variant=\"sm\" css={{ ml: '$4' }}>\n Copy Message\n </Text>\n </Dropdown.Item>\n ) : null} */}\n </Dropdown.Content>\n </Dropdown.Portal>\n </Dropdown.Root>\n );\n};\n\nconst SenderName = styled(Text, {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n maxWidth: '24ch',\n minWidth: 0,\n color: '$on_surface_high',\n fontWeight: '$semiBold',\n});\n\nconst ChatMessage = React.memo(\n ({ index, style = {}, message, setRowHeight, isLast = false, unreadCount = 0, scrollToBottom, onPin }) => {\n const { ref, inView } = useInView({ threshold: 0.5, triggerOnce: true });\n const rowRef = useRef(null);\n useEffect(() => {\n if (rowRef.current) {\n setRowHeight(index, rowRef.current.clientHeight);\n }\n }, [index, setRowHeight]);\n const isMobile = useMedia(cssConfig.media.md);\n const { elements } = useRoomLayoutConferencingScreen();\n const isOverlay = elements?.chat?.is_overlay && isMobile;\n const hmsActions = useHMSActions();\n const localPeerId = useHMSStore(selectLocalPeerID);\n const permissions = useHMSStore(selectPermissions);\n const messageType = getMessageType({\n roles: message.recipientRoles,\n receiver: message.recipientPeer,\n });\n // show pin action only if peer has remove others permission and the message is of broadcast type\n const showPinAction = permissions.removeOthers && !messageType && elements?.chat?.allow_pinning_messages;\n\n useEffect(() => {\n if (message.id && !message.read && inView) {\n hmsActions.setMessageRead(true, message.id);\n }\n }, [message.read, hmsActions, inView, message.id]);\n\n useEffect(() => {\n if (isLast && inView && unreadCount >= 1) {\n scrollToBottom(1);\n }\n }, [inView, isLast, scrollToBottom, unreadCount]);\n\n return (\n <Box\n ref={ref}\n as=\"div\"\n css={{ mb: '$10', pr: '$10', mt: '$8', '&:hover .chat_actions': { opacity: 1 } }}\n style={style}\n >\n <Flex\n ref={rowRef}\n align=\"center\"\n css={{\n flexWrap: 'wrap',\n // Theme independent color, token should not be used for transparent chat\n bg: messageType ? (isOverlay ? 'rgba(0, 0, 0, 0.64)' : '$surface_default') : undefined,\n r: messageType ? '$1' : undefined,\n px: messageType ? '$4' : '$2',\n py: messageType ? '$4' : 0,\n userSelect: 'none',\n }}\n key={message.time}\n data-testid=\"chat_msg\"\n >\n <Text\n css={{\n color: isOverlay ? '#FFF' : '$on_surface_high',\n fontWeight: '$semiBold',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%',\n }}\n as=\"div\"\n >\n <Flex align=\"baseline\">\n {message.senderName === 'You' || !message.senderName ? (\n <SenderName as=\"span\" variant=\"sm\" css={{ color: isOverlay ? '#FFF' : '$on_surface_high' }}>\n {message.senderName || 'Anonymous'}\n </SenderName>\n ) : (\n <Tooltip title={message.senderName} side=\"top\" align=\"start\">\n <SenderName as=\"span\" variant=\"sm\" css={{ color: isOverlay ? '#FFF' : '$on_surface_high' }}>\n {message.senderName}\n </SenderName>\n </Tooltip>\n )}\n {!isOverlay ? (\n <Text\n as=\"span\"\n variant=\"xs\"\n css={{\n ml: '$4',\n color: '$on_surface_medium',\n flexShrink: 0,\n }}\n >\n {formatTime(message.time)}\n </Text>\n ) : null}\n </Flex>\n <MessageType\n hasCurrentUserSent={message.sender === localPeerId}\n receiver={message.recipientPeer}\n roles={message.recipientRoles}\n />\n {!isOverlay ? <ChatActions onPin={onPin} showPinAction={showPinAction} /> : null}\n </Text>\n <Text\n variant=\"sm\"\n css={{\n w: '100%',\n mt: '$2',\n wordBreak: 'break-word',\n whiteSpace: 'pre-wrap',\n userSelect: 'all',\n color: isOverlay ? '#FFF' : '$on_surface_high',\n }}\n onClick={e => e.stopPropagation()}\n >\n <AnnotisedMessage message={message.message} />\n </Text>\n </Flex>\n </Box>\n );\n },\n);\nconst ChatList = React.forwardRef(\n ({ width, height, setRowHeight, getRowHeight, messages, unreadCount = 0, scrollToBottom }, listRef) => {\n const { setPinnedMessage } = useSetPinnedMessage();\n useLayoutEffect(() => {\n if (listRef.current && listRef.current.scrollToItem) {\n scrollToBottom(1);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [listRef]);\n\n return (\n <VariableSizeList\n ref={listRef}\n itemCount={messages.length}\n itemSize={getRowHeight}\n width={width}\n height={height - 1}\n style={{\n overflowX: 'hidden',\n }}\n >\n {({ index, style }) => (\n <ChatMessage\n style={style}\n index={index}\n key={messages[index].id}\n message={messages[index]}\n setRowHeight={setRowHeight}\n unreadCount={unreadCount}\n isLast={index >= messages.length - 2}\n scrollToBottom={scrollToBottom}\n onPin={() => setPinnedMessage(messages[index])}\n />\n )}\n </VariableSizeList>\n );\n },\n);\nconst VirtualizedChatMessages = React.forwardRef(({ messages, unreadCount = 0, scrollToBottom }, listRef) => {\n const rowHeights = useRef({});\n\n function getRowHeight(index) {\n // 72 will be default row height for any message length\n // 16 will add margin value as clientHeight don't include margin\n return rowHeights.current[index] + 16 || 72;\n }\n\n const setRowHeight = useCallback(\n (index, size) => {\n listRef.current.resetAfterIndex(0);\n rowHeights.current = { ...rowHeights.current, [index]: size };\n },\n [listRef],\n );\n\n return (\n <Box\n css={{\n mr: '-$10',\n h: '100%',\n }}\n as=\"div\"\n >\n <AutoSizer\n style={{\n width: '90%',\n }}\n >\n {({ height, width }) => (\n <ChatList\n width={width}\n height={height}\n messages={messages}\n setRowHeight={setRowHeight}\n getRowHeight={getRowHeight}\n scrollToBottom={scrollToBottom}\n ref={listRef}\n unreadCount={unreadCount}\n />\n )}\n </AutoSizer>\n </Box>\n );\n});\n\nexport const ChatBody = React.forwardRef(({ role, peerId, scrollToBottom }, listRef) => {\n const storeMessageSelector = role\n ? selectMessagesByRole(role)\n : peerId\n ? selectMessagesByPeerID(peerId)\n : selectHMSMessages;\n let messages = useHMSStore(storeMessageSelector);\n messages = useMemo(() => messages?.filter(message => message.type === 'chat') || [], [messages]);\n const isMobile = useMedia(cssConfig.media.md);\n const { elements } = useRoomLayoutConferencingScreen();\n const unreadCount = useUnreadCount({ role, peerId });\n\n if (messages.length === 0 && !(isMobile && elements?.chat?.is_overlay)) {\n return (\n <Flex\n css={{\n width: '100%',\n flex: '1 1 0',\n textAlign: 'center',\n px: '$4',\n }}\n align=\"center\"\n justify=\"center\"\n >\n <Box>\n <img src={emptyChat} alt=\"Empty Chat\" height={132} width={185} style={{ margin: '0 auto' }} />\n <Text variant=\"h5\" css={{ mt: '$8', c: '$on_surface_high' }}>\n Start a conversation\n </Text>\n <Text\n variant=\"sm\"\n css={{ mt: '$4', maxWidth: '80%', textAlign: 'center', mx: 'auto', c: '$on_surface_medium' }}\n >\n There are no messages here yet. Start a conversation by sending a message.\n </Text>\n </Box>\n </Flex>\n );\n }\n\n return (\n <Fragment>\n <VirtualizedChatMessages\n messages={messages}\n scrollToBottom={scrollToBottom}\n unreadCount={unreadCount}\n ref={listRef}\n />\n </Fragment>\n );\n});\n", "import { useCallback } from 'react';\nimport { selectAppData, useHMSActions, useHMSStore } from '@100mslive/react-sdk';\nimport { APP_DATA } from '../../common/constants';\n\nexport const useChatDraftMessage = () => {\n const hmsActions = useHMSActions();\n let chatDraftMessage = useHMSStore(selectAppData(APP_DATA.chatDraft));\n if (chatDraftMessage === undefined || chatDraftMessage === null) {\n chatDraftMessage = '';\n }\n const setDraftMessage = useCallback(\n message => {\n hmsActions.setAppData(APP_DATA.chatDraft, message, true);\n },\n [hmsActions],\n );\n return [chatDraftMessage, setDraftMessage];\n};\n", "import { useEffect, useRef } from 'react';\n\nexport const useEmojiPickerStyles = showing => {\n const ref = useRef(null);\n useEffect(() => {\n if (showing) {\n setTimeout(() => {\n const root = ref.current?.querySelector('em-emoji-picker')?.shadowRoot;\n const style = document.createElement('style');\n style.textContent = `\n #root {\n --em-rgb-color: var(--hms-ui-colors-on_surface_high);\n --em-rgb-input: var(--hms-ui-colors-on_primary_high);\n --em-color-border: var(--hms-ui-colors-surface_bright);\n --color-b: var(--hms-ui-colors-on_surface_high);\n --rgb-background: transparent;\n color: var(--hms-ui-colors-on_surface_high);\n font-family: var(--hms-ui-fonts-sans);\n }\n .sticky {\n top: 0.25rem;\n background-color: var(--hms-ui-colors-surface_bright);\n margin-top: 0.5rem;\n }\n `;\n root?.appendChild(style);\n }, 0);\n }\n }, [showing]);\n\n return ref;\n};\n", "import React, { ReactNode, useCallback, useEffect, useRef, useState } from 'react';\nimport { useMedia } from 'react-use';\nimport data from '@emoji-mart/data';\nimport Picker from '@emoji-mart/react';\nimport { useHMSActions } from '@100mslive/react-sdk';\nimport { EmojiIcon, SendIcon } from '@100mslive/react-icons';\nimport { Box, config as cssConfig, Flex, IconButton as BaseIconButton, Popover, styled } from '../../..';\n// @ts-ignore\nimport { ToastManager } from '../Toast/ToastManager';\nimport { useRoomLayoutConferencingScreen } from '../../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';\n// import { ChatSelectorContainer } from './ChatSelectorContainer';\n// @ts-ignore\nimport { useChatDraftMessage } from '../AppData/useChatState';\n// @ts-ignore\nimport { useEmojiPickerStyles } from './useEmojiPickerStyles';\n\nconst TextArea = styled('textarea', {\n width: '100%',\n bg: 'transparent',\n color: '$on_primary_high',\n resize: 'none',\n lineHeight: '1rem',\n position: 'relative',\n fontFamily: '$sans',\n fontSize: '100%',\n margin: 0,\n padding: 0,\n top: '$3',\n '&:focus': {\n boxShadow: 'none',\n outline: 'none',\n },\n});\n\nfunction EmojiPicker({ onSelect }: { onSelect: (emoji: any) => void }) {\n const [showEmoji, setShowEmoji] = useState(false);\n const ref = useEmojiPickerStyles(showEmoji);\n return (\n <Popover.Root open={showEmoji} onOpenChange={setShowEmoji}>\n <Popover.Trigger asChild css={{ appearance: 'none' }}>\n <BaseIconButton as=\"div\">\n <EmojiIcon />\n </BaseIconButton>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content\n alignOffset={-40}\n sideOffset={16}\n align=\"end\"\n css={{\n p: 0,\n }}\n >\n <Box\n css={{\n minWidth: 352,\n minHeight: 435,\n }}\n ref={ref}\n >\n <Picker onEmojiSelect={onSelect} data={data} previewPosition=\"none\" skinPosition=\"search\" />\n </Box>\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n );\n}\n\nexport const ChatFooter = ({\n role,\n peerId,\n onSend,\n children /* onSelect, selection, screenType */,\n}: {\n role: any;\n peerId: string;\n onSend: any;\n children: ReactNode;\n}) => {\n const hmsActions = useHMSActions();\n const inputRef = useRef<HTMLTextAreaElement>(null);\n const [draftMessage, setDraftMessage] = useChatDraftMessage();\n const isMobile = useMedia(cssConfig.media.md);\n const { elements } = useRoomLayoutConferencingScreen();\n const isOverlayChat = elements?.chat?.is_overlay;\n\n const sendMessage = useCallback(async () => {\n const message = inputRef?.current?.value;\n if (!message || !message.trim().length) {\n return;\n }\n try {\n if (role) {\n await hmsActions.sendGroupMessage(message, [role]);\n } else if (peerId) {\n await hmsActions.sendDirectMessage(message, peerId);\n } else {\n await hmsActions.sendBroadcastMessage(message);\n }\n inputRef.current.value = '';\n setTimeout(() => {\n onSend();\n }, 0);\n } catch (error) {\n const err = error as Error;\n ToastManager.addToast({ title: err.message });\n }\n }, [role, peerId, hmsActions, onSend]);\n\n useEffect(() => {\n const messageElement = inputRef.current;\n if (messageElement) {\n messageElement.value = draftMessage;\n }\n }, [draftMessage]);\n\n useEffect(() => {\n const messageElement = inputRef.current;\n return () => {\n setDraftMessage(messageElement?.value || '');\n };\n }, [setDraftMessage]);\n\n return (\n <>\n {/* {screenType !== 'hls_live_streaming' ? (\n <ChatSelectorContainer onSelect={onSelect} role={role} peerId={peerId} selection={selection} />\n ) : null} */}\n <Flex align=\"center\" css={{ gap: '$4', w: '100%' }}>\n <Flex\n align=\"center\"\n css={{\n bg: isOverlayChat && isMobile ? '$surface_dim' : '$surface_default',\n minHeight: '$16',\n maxHeight: '$24',\n position: 'relative',\n py: '$6',\n pl: '$8',\n flexGrow: 1,\n r: '$1',\n '@md': {\n minHeight: 'unset',\n h: '$14',\n boxSizing: 'border-box',\n },\n }}\n >\n {children}\n <TextArea\n css={{\n c: '$on_surface_high',\n '&:valid ~ .send-msg': { color: '$on_surface_high' },\n '& ~ .send-msg': { color: '$on_surface_low' },\n '&::placeholder': { color: '$on_surface_medium' },\n }}\n placeholder=\"Send a message....\"\n ref={inputRef}\n required\n autoFocus={!isMobile}\n onKeyPress={async event => {\n if (event.key === 'Enter') {\n if (!event.shiftKey) {\n event.preventDefault();\n await sendMessage();\n }\n }\n }}\n autoComplete=\"off\"\n aria-autocomplete=\"none\"\n onPaste={e => e.stopPropagation()}\n onCut={e => e.stopPropagation()}\n onCopy={e => e.stopPropagation()}\n />\n {!isMobile ? (\n <EmojiPicker\n onSelect={(emoji: any) => {\n if (inputRef.current) {\n inputRef.current.value += ` ${emoji.native} `;\n }\n }}\n />\n ) : null}\n <BaseIconButton\n className=\"send-msg\"\n onClick={sendMessage}\n css={{\n ml: 'auto',\n height: 'max-content',\n mr: '$4',\n '&:hover': { c: isMobile ? '' : '$on_surface_medium' },\n }}\n data-testid=\"send_msg_btn\"\n >\n <SendIcon />\n </BaseIconButton>\n </Flex>\n </Flex>\n </>\n );\n};\n", "import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useMedia } from 'react-use';\nimport {\n HMSNotificationTypes,\n selectHMSMessagesCount,\n selectPeerNameByID,\n selectPermissions,\n selectSessionStore,\n useHMSActions,\n useHMSNotifications,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport { ChevronDownIcon, CrossIcon, PinIcon } from '@100mslive/react-icons';\nimport { Button } from '../../../Button';\nimport { Box, Flex } from '../../../Layout';\nimport { Text } from '../../../Text';\nimport { config as cssConfig } from '../../../Theme';\nimport { AnnotisedMessage, ChatBody } from './ChatBody';\nimport { ChatFooter } from './ChatFooter';\nimport { useRoomLayoutConferencingScreen } from '../../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';\nimport { useSetSubscribedChatSelector } from '../AppData/useUISettings';\nimport { useSetPinnedMessage } from '../hooks/useSetPinnedMessage';\nimport { useUnreadCount } from './useUnreadCount';\nimport { CHAT_SELECTOR, SESSION_STORE_KEY } from '../../common/constants';\n\nconst PINNED_MESSAGE_LENGTH = 80;\n\nconst PinnedMessage = ({ clearPinnedMessage }) => {\n const permissions = useHMSStore(selectPermissions);\n const pinnedMessage = useHMSStore(selectSessionStore(SESSION_STORE_KEY.PINNED_MESSAGE));\n const formattedPinnedMessage =\n pinnedMessage?.length && pinnedMessage.length > PINNED_MESSAGE_LENGTH\n ? `${pinnedMessage.slice(0, PINNED_MESSAGE_LENGTH)}...`\n : pinnedMessage;\n\n return pinnedMessage ? (\n <Flex\n title={pinnedMessage}\n css={{ p: '$4', color: '$on_surface_medium', bg: '$surface_default', r: '$1', gap: '$4', mb: '$8', mt: '$8' }}\n align=\"center\"\n justify=\"between\"\n >\n <PinIcon />\n\n <Box\n css={{\n color: '$on_surface_medium',\n w: '100%',\n maxHeight: '$18',\n overflowY: 'auto',\n }}\n >\n <Text variant=\"sm\">\n <AnnotisedMessage message={formattedPinnedMessage} />\n </Text>\n </Box>\n {permissions.removeOthers && (\n <Flex\n onClick={() => clearPinnedMessage()}\n css={{ cursor: 'pointer', color: '$on_surface_medium', '&:hover': { color: '$on_surface_high' } }}\n >\n <CrossIcon />\n </Flex>\n )}\n </Flex>\n ) : null;\n};\n\nexport const Chat = ({ screenType }) => {\n const notification = useHMSNotifications(HMSNotificationTypes.PEER_LEFT);\n const [peerSelector, setPeerSelector] = useSetSubscribedChatSelector(CHAT_SELECTOR.PEER_ID);\n const [roleSelector, setRoleSelector] = useSetSubscribedChatSelector(CHAT_SELECTOR.ROLE);\n const peerName = useHMSStore(selectPeerNameByID(peerSelector));\n const [chatOptions, setChatOptions] = useState({\n role: roleSelector || '',\n peerId: peerSelector && peerName ? peerSelector : '',\n selection: roleSelector ? roleSelector : peerSelector && peerName ? peerName : 'Everyone',\n });\n const [isSelectorOpen] = useState(false);\n const listRef = useRef(null);\n const hmsActions = useHMSActions();\n const { setPinnedMessage } = useSetPinnedMessage();\n\n useEffect(() => {\n if (notification && notification.data && peerSelector === notification.data.id) {\n setPeerSelector('');\n setChatOptions({\n role: '',\n peerId: '',\n selection: 'Everyone',\n });\n }\n }, [notification, peerSelector, setPeerSelector]);\n\n const storeMessageSelector = selectHMSMessagesCount;\n const { elements } = useRoomLayoutConferencingScreen();\n const isMobile = useMedia(cssConfig.media.md);\n\n let isScrolledToBottom = false;\n if (listRef.current) {\n const currentRef = listRef.current._outerRef;\n isScrolledToBottom = currentRef.scrollHeight - currentRef.clientHeight - currentRef.scrollTop < 10;\n }\n\n const messagesCount = useHMSStore(storeMessageSelector) || 0;\n const scrollToBottom = useCallback(\n (unreadCount = 0) => {\n if (listRef.current && listRef.current.scrollToItem && unreadCount > 0) {\n listRef.current?.scrollToItem(messagesCount, 'end');\n requestAnimationFrame(() => {\n listRef.current?.scrollToItem(messagesCount, 'end');\n });\n hmsActions.setMessageRead(true);\n }\n },\n [hmsActions, messagesCount],\n );\n\n return (\n <Flex\n direction=\"column\"\n css={{\n size: '100%',\n gap: '$4',\n }}\n >\n {isMobile && elements?.chat?.is_overlay ? null : (\n <>{elements?.chat?.allow_pinning_messages ? <PinnedMessage clearPinnedMessage={setPinnedMessage} /> : null}</>\n )}\n\n <ChatBody\n role={chatOptions.role}\n peerId={chatOptions.peerId}\n ref={listRef}\n scrollToBottom={scrollToBottom}\n screenType={screenType}\n />\n <ChatFooter\n role={chatOptions.role}\n onSend={() => scrollToBottom(1)}\n selection={chatOptions.selection}\n screenType={screenType}\n onSelect={({ role, peerId, selection }) => {\n setChatOptions({\n role,\n peerId,\n selection,\n });\n setPeerSelector(peerId);\n setRoleSelector(role);\n }}\n peerId={chatOptions.peerId}\n >\n {!isSelectorOpen && !isScrolledToBottom && (\n <NewMessageIndicator role={chatOptions.role} peerId={chatOptions.peerId} scrollToBottom={scrollToBottom} />\n )}\n </ChatFooter>\n </Flex>\n );\n};\n\nconst NewMessageIndicator = ({ role, peerId, scrollToBottom }) => {\n const unreadCount = useUnreadCount({ role, peerId });\n if (!unreadCount) {\n return null;\n }\n return (\n <Flex\n justify=\"center\"\n css={{\n width: '100%',\n left: 0,\n bottom: '100%',\n position: 'absolute',\n }}\n >\n <Button\n variant=\"standard\"\n onClick={() => {\n scrollToBottom(unreadCount);\n }}\n icon\n css={{\n p: '$4',\n pl: '$8',\n pr: '$6',\n '& > svg': { ml: '$4' },\n borderRadius: '$round',\n position: 'relative',\n bottom: '$16',\n fontSize: '$xs',\n fontWeight: '$semiBold',\n c: '$on_secondary_high',\n }}\n >\n New {unreadCount === 1 ? 'message' : 'messages'}\n <ChevronDownIcon />\n </Button>\n </Flex>\n );\n};\n", "import React, { useEffect, useState } from 'react';\nimport { useInView } from 'react-intersection-observer';\nimport { useMeasure } from 'react-use';\nimport { VariableSizeList } from 'react-window';\nimport { selectIsConnectedToRoom, useHMSStore, usePaginatedParticipants } from '@100mslive/react-sdk';\nimport { ChevronLeftIcon, CrossIcon } from '@100mslive/react-icons';\nimport { IconButton } from '../../../IconButton';\nimport { Box, Flex } from '../../../Layout';\nimport { Loading } from '../../../Loading';\nimport { Text } from '../../../Text';\n// @ts-ignore: No implicit Any\nimport { Participant, ParticipantSearch } from './ParticipantList';\nimport { ItemData, itemKey, ROW_HEIGHT } from './RoleAccordion';\n// @ts-ignore: No implicit Any\nimport { useSidepaneReset } from '../AppData/useSidepane';\n// @ts-ignore: No implicit Any\nimport { getFormattedCount } from '../../common/utils';\n\nconst LoadMoreParticipants = ({\n hasNext,\n loadMore,\n style,\n}: {\n hasNext: boolean;\n loadMore: () => Promise<void>;\n style: React.CSSProperties;\n}) => {\n const { ref, inView } = useInView();\n const [inProgress, setInProgress] = useState(false);\n\n useEffect(() => {\n if (hasNext && inView && !inProgress) {\n setInProgress(true);\n loadMore()\n .catch(console.error)\n .finally(() => setInProgress(false));\n }\n }, [hasNext, loadMore, inView, inProgress]);\n return (\n <Flex ref={ref} style={style} align=\"center\" justify=\"center\">\n {inProgress ? <Loading size={16} /> : null}\n </Flex>\n );\n};\n\nconst VirtualizedParticipantItem = React.memo(\n ({\n index,\n data,\n style,\n }: {\n index: number;\n data: ItemData & { hasNext: boolean; loadMorePeers: () => Promise<void> };\n style: React.CSSProperties;\n }) => {\n if (!data.peerList[index]) {\n return <LoadMoreParticipants hasNext={data.hasNext} loadMore={data.loadMorePeers} style={style} />;\n }\n return (\n <Participant\n key={data.peerList[index].id}\n peer={data.peerList[index]}\n isConnected={data.isConnected}\n style={style}\n />\n );\n },\n);\n\nexport const PaginatedParticipants = ({ roleName, onBack }: { roleName: string; onBack: () => void }) => {\n const { peers, total, hasNext, loadPeers, loadMorePeers } = usePaginatedParticipants({ role: roleName, limit: 20 });\n const [search, setSearch] = useState<string>('');\n const filteredPeers = peers.filter(p => p.name?.toLowerCase().includes(search));\n const isConnected = useHMSStore(selectIsConnectedToRoom);\n const [ref, { width }] = useMeasure<HTMLDivElement>();\n const height = ROW_HEIGHT * (filteredPeers.length + 1);\n const resetSidePane = useSidepaneReset();\n\n useEffect(() => {\n loadPeers();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Flex ref={ref} direction=\"column\" css={{ size: '100%', gap: '$4' }}>\n <Flex align=\"center\">\n <Flex align=\"center\" css={{ flex: '1 1 0', cursor: 'pointer' }} onClick={onBack}>\n <ChevronLeftIcon />\n <Text variant=\"lg\" css={{ flex: '1 1 0' }}>\n Participants\n </Text>\n </Flex>\n <IconButton\n onClick={e => {\n e.stopPropagation();\n resetSidePane();\n }}\n data-testid=\"close_sidepane\"\n >\n <CrossIcon />\n </IconButton>\n </Flex>\n <ParticipantSearch onSearch={(search: string) => setSearch(search)} placeholder={`Search for ${roleName}`} />\n <Flex direction=\"column\" css={{ border: '1px solid $border_default', borderRadius: '$1', flex: '1 1 0' }}>\n <Flex align=\"center\" css={{ height: ROW_HEIGHT, borderBottom: '1px solid $border_default', px: '$8' }}>\n <Text css={{ fontSize: '$space$7' }}>\n {roleName}({getFormattedCount(peers.length)}/{getFormattedCount(total)})\n </Text>\n </Flex>\n <Box css={{ flex: '1 1 0', overflowY: 'auto', overflowX: 'hidden', mr: '-$10' }}>\n <VariableSizeList\n itemSize={index => (index === filteredPeers.length + 1 ? 16 : ROW_HEIGHT)}\n itemData={{ peerList: filteredPeers, hasNext: hasNext(), loadMorePeers, isConnected: isConnected === true }}\n itemKey={itemKey}\n itemCount={filteredPeers.length + 1}\n width={width}\n height={height}\n >\n {VirtualizedParticipantItem}\n </VariableSizeList>\n </Box>\n </Flex>\n </Flex>\n );\n};\n", "import React, { useEffect, useState } from 'react';\nimport { useMedia } from 'react-use';\nimport { ConferencingScreen, DefaultConferencingScreen_Elements } from '@100mslive/types-prebuilt';\nimport { selectPeerCount, useHMSStore } from '@100mslive/react-sdk';\nimport { CrossIcon } from '@100mslive/react-icons';\n// @ts-ignore: No implicit Any\nimport { Chat } from './Chat/Chat';\nimport { PaginatedParticipants } from './Footer/PaginatedParticipants';\n// @ts-ignore: No implicit Any\nimport { ParticipantList } from './Footer/ParticipantList';\nimport { Box, config as cssConfig, Flex, IconButton, Tabs, Text } from '../..';\nimport { Tooltip } from '../../Tooltip';\n// @ts-ignore: No implicit Any\nimport { useRoomLayoutConferencingScreen } from '../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';\n// @ts-ignore: No implicit Any\nimport { useIsSidepaneTypeOpen, useSidepaneReset, useSidepaneToggle } from './AppData/useSidepane';\n// @ts-ignore: No implicit Any\nimport { getFormattedCount } from '../common/utils';\n// @ts-ignore: No implicit Any\nimport { SIDE_PANE_OPTIONS } from '../common/constants';\n\nconst tabTriggerCSS = {\n color: '$on_surface_high',\n p: '$4',\n fontWeight: '$semiBold',\n fontSize: '$sm',\n w: '100%',\n justifyContent: 'center',\n};\n\nconst ParticipantCount = ({ count }: { count: number }) => {\n return count < 1000 ? (\n <span>({count})</span>\n ) : (\n <Tooltip title={count}>\n <span>({getFormattedCount(count)})</span>\n </Tooltip>\n );\n};\n\nexport const SidePaneTabs = React.memo<{\n active: 'Participants | Chat';\n screenType: keyof ConferencingScreen;\n hideControls?: boolean;\n}>(({ active = SIDE_PANE_OPTIONS.CHAT, screenType, hideControls }) => {\n const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);\n const toggleParticipants = useSidepaneToggle(SIDE_PANE_OPTIONS.PARTICIPANTS);\n const resetSidePane = useSidepaneReset();\n const [activeTab, setActiveTab] = useState(active);\n const [activeRole, setActiveRole] = useState('');\n const peerCount = useHMSStore(selectPeerCount);\n const { elements } = useRoomLayoutConferencingScreen();\n const showChat = !!elements?.chat;\n const showParticipants = !!elements?.participant_list;\n const hideTabs = !(showChat && showParticipants);\n const isMobile = useMedia(cssConfig.media.md);\n const isOverlayChat = !!elements?.chat?.is_overlay && isMobile;\n const { off_stage_roles = [] } = (elements as DefaultConferencingScreen_Elements)?.on_stage_exp || {};\n const isChatOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.CHAT);\n\n useEffect(() => {\n if (activeTab === SIDE_PANE_OPTIONS.CHAT && !showChat && showParticipants) {\n setActiveTab(SIDE_PANE_OPTIONS.PARTICIPANTS);\n } else if (activeTab === SIDE_PANE_OPTIONS.PARTICIPANTS && showChat && !showParticipants) {\n setActiveTab(SIDE_PANE_OPTIONS.CHAT);\n } else if (!showChat && !showParticipants) {\n resetSidePane();\n }\n }, [showChat, activeTab, showParticipants, resetSidePane]);\n\n useEffect(() => {\n setActiveTab(active);\n }, [active]);\n\n if (activeRole) {\n return (\n <Flex\n direction=\"column\"\n css={{\n color: '$on_primary_high',\n h: '100%',\n marginTop: hideControls && isOverlayChat ? '$17' : '0',\n transition: 'margin 0.3s ease-in-out',\n position: 'relative',\n }}\n >\n <Box css={{ position: 'absolute', left: 0, top: 0, size: '100%', zIndex: 21, bg: '$surface_dim' }}>\n <PaginatedParticipants roleName={activeRole} onBack={() => setActiveRole('')} />\n </Box>\n </Flex>\n );\n }\n\n return (\n <Flex\n direction=\"column\"\n css={{\n color: '$on_primary_high',\n h: '100%',\n marginTop: hideControls && isOverlayChat ? '$17' : '0',\n transition: 'margin 0.3s ease-in-out',\n }}\n >\n {isOverlayChat && isChatOpen && showChat ? (\n <Chat screenType={screenType} />\n ) : (\n <>\n {hideTabs ? (\n <>\n <Text variant=\"sm\" css={{ fontWeight: '$semiBold', p: '$4', c: '$on_surface_high', pr: '$12' }}>\n {showChat ? (\n 'Chat'\n ) : (\n <span>\n Participants <ParticipantCount count={peerCount} />\n </span>\n )}\n </Text>\n\n {showChat ? (\n <Chat screenType={screenType} />\n ) : (\n <ParticipantList offStageRoles={off_stage_roles} onActive={setActiveRole} />\n )}\n </>\n ) : (\n <Tabs.Root\n value={activeTab}\n onValueChange={setActiveTab}\n css={{\n flexDirection: 'column',\n size: '100%',\n }}\n >\n <Tabs.List css={{ w: 'calc(100% - $12)', p: '$2', borderRadius: '$2', bg: '$surface_default' }}>\n <Tabs.Trigger\n value={SIDE_PANE_OPTIONS.CHAT}\n onClick={toggleChat}\n css={{\n ...tabTriggerCSS,\n color: activeTab !== SIDE_PANE_OPTIONS.CHAT ? '$on_surface_low' : '$on_surface_high',\n }}\n >\n Chat\n </Tabs.Trigger>\n <Tabs.Trigger\n value={SIDE_PANE_OPTIONS.PARTICIPANTS}\n onClick={toggleParticipants}\n css={{\n ...tabTriggerCSS,\n color: activeTab !== SIDE_PANE_OPTIONS.PARTICIPANTS ? '$on_surface_low' : '$on_surface_high',\n }}\n >\n Participants <ParticipantCount count={peerCount} />\n </Tabs.Trigger>\n </Tabs.List>\n <Tabs.Content value={SIDE_PANE_OPTIONS.PARTICIPANTS} css={{ p: 0 }}>\n <ParticipantList offStageRoles={off_stage_roles} onActive={setActiveRole} />\n </Tabs.Content>\n <Tabs.Content value={SIDE_PANE_OPTIONS.CHAT} css={{ p: 0 }}>\n <Chat screenType={screenType} />\n </Tabs.Content>\n </Tabs.Root>\n )}\n </>\n )}\n\n {isOverlayChat && isChatOpen ? null : (\n <IconButton\n css={{ position: 'absolute', right: '$9', top: '$11', '@md': { top: '$8', right: '$6' } }}\n onClick={e => {\n e.stopPropagation();\n if (activeTab === SIDE_PANE_OPTIONS.CHAT) {\n toggleChat();\n } else {\n toggleParticipants();\n }\n }}\n data-testid=\"close_chat\"\n >\n <CrossIcon />\n </IconButton>\n )}\n </Flex>\n );\n});\n", "import React from 'react';\nimport { useMedia } from 'react-use';\nimport { ConferencingScreen } from '@100mslive/types-prebuilt';\nimport { selectAppData, selectVideoTrackByPeerID, useHMSStore } from '@100mslive/react-sdk';\nimport { Polls } from '../components/Polls/Polls';\nimport { SidePaneTabs } from '../components/SidePaneTabs';\nimport { TileCustomisationProps } from '../components/VideoLayouts/GridLayout';\n// @ts-ignore: No implicit Any\nimport VideoTile from '../components/VideoTile';\nimport { Box, Flex } from '../../Layout';\nimport { config as cssConfig } from '../../Theme';\nimport { useRoomLayoutConferencingScreen } from '../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';\nimport { translateAcross } from '../../utils';\n// @ts-ignore: No implicit Any\nimport { APP_DATA, SIDE_PANE_OPTIONS } from '../common/constants';\n\nconst SidePane = ({\n screenType,\n tileProps,\n hideControls = false,\n}: {\n screenType: keyof ConferencingScreen;\n tileProps: TileCustomisationProps;\n hideControls: boolean;\n}) => {\n const isMobile = useMedia(cssConfig.media.md);\n const sidepane = useHMSStore(selectAppData(APP_DATA.sidePane));\n const activeScreensharePeerId = useHMSStore(selectAppData(APP_DATA.activeScreensharePeerId));\n const trackId = useHMSStore(selectVideoTrackByPeerID(activeScreensharePeerId))?.id;\n const { elements } = useRoomLayoutConferencingScreen();\n let ViewComponent;\n if (sidepane === SIDE_PANE_OPTIONS.POLLS) {\n ViewComponent = <Polls />;\n }\n if (sidepane === SIDE_PANE_OPTIONS.PARTICIPANTS || sidepane === SIDE_PANE_OPTIONS.CHAT) {\n ViewComponent = <SidePaneTabs screenType={screenType} hideControls={hideControls} active={sidepane} />;\n }\n if (!ViewComponent && !trackId) {\n return null;\n }\n\n const tileLayout = {\n hideParticipantNameOnTile: tileProps?.hide_participant_name_on_tile,\n roundedVideoTile: tileProps?.rounded_video_tile,\n hideAudioMuteOnTile: tileProps?.hide_audio_mute_on_tile,\n hideMetadataOnTile: tileProps?.hide_metadata_on_tile,\n objectFit: tileProps?.video_object_fit,\n };\n\n const mwebStreamingChat = isMobile && sidepane === SIDE_PANE_OPTIONS.CHAT && elements?.chat?.is_overlay;\n\n return (\n <Flex\n direction=\"column\"\n justify=\"center\"\n css={{\n w: '$100',\n h: '100%',\n flexShrink: 0,\n gap: '$4',\n '@md': { position: mwebStreamingChat ? 'absolute' : '', zIndex: 12 },\n }}\n >\n {trackId && (\n <VideoTile\n peerId={activeScreensharePeerId}\n trackId={trackId}\n width=\"100%\"\n height={225}\n rootCSS={{ p: 0, alignSelf: 'start', flexShrink: 0 }}\n {...tileLayout}\n />\n )}\n {!!ViewComponent && (\n <Box\n css={{\n w: '$100',\n h: mwebStreamingChat ? '0' : '100%',\n p: '$10',\n flex: '1 1 0',\n minHeight: 0,\n maxHeight: mwebStreamingChat ? '300px' : 'unset',\n background: mwebStreamingChat\n ? 'linear-gradient(180deg, rgba(0, 0, 0, 0.00) 35.94%, rgba(0, 0, 0, 0.64) 100%)'\n : '$surface_dim',\n r: '$1',\n position: 'relative',\n '@lg': {\n w: '100%',\n h: '100%',\n ml: 0,\n right: 0,\n position: 'fixed',\n bottom: 0,\n borderRadius: 0,\n zIndex: 10,\n },\n '@md': {\n p: '$6 $8',\n pb: mwebStreamingChat ? '$20' : '$12',\n borderTopLeftRadius: sidepane === SIDE_PANE_OPTIONS.POLLS ? '$2' : '0',\n borderTopRightRadius: sidepane === SIDE_PANE_OPTIONS.POLLS ? '$2' : '0',\n animation: `${translateAcross({ yFrom: '100%' })} 150ms cubic-bezier(0.22, 1, 0.36, 1)`,\n },\n }}\n >\n {ViewComponent}\n </Box>\n )}\n </Flex>\n );\n};\n\nexport default SidePane;\n", "import React from 'react';\nimport { ColoredTimeIcon } from '@100mslive/react-icons';\nimport { Box, Flex } from '../../Layout';\nimport { Text } from '../../Text';\n\nexport const WaitingView = React.memo(() => {\n return (\n <Box\n css={{\n overflow: 'hidden',\n w: '96%',\n maxWidth: '96%',\n h: '100%',\n m: 'auto',\n background: '$surface_default',\n borderRadius: '$3',\n }}\n data-testid=\"waiting_view\"\n >\n <Flex\n align=\"center\"\n direction=\"column\"\n css={{\n w: '$96',\n textAlign: 'center',\n margin: 'auto',\n h: '100%',\n justifyContent: 'center',\n gap: '$8',\n }}\n >\n <ColoredTimeIcon width=\"80px\" height=\"80px\" />\n <Flex\n direction=\"column\"\n css={{\n w: '$80',\n p: '$1',\n gap: '$4',\n }}\n >\n <Text color=\"white\" variant=\"h6\" css={{ '@md': { fontSize: '$md' } }}>\n Please wait\n </Text>\n <Text color=\"$on_surface_medium\" css={{ mt: '$4', '@md': { fontSize: '$sm' } }}>\n Sit back and relax till others let you join.\n </Text>\n </Flex>\n </Flex>\n </Box>\n );\n});\n", "import React, { memo } from 'react';\nimport { CloseIcon } from '@100mslive/react-icons';\nimport { Flex } from '../../Layout';\nimport { Text } from '../../Text';\nimport IconButton from '../IconButton';\n\nexport function HlsStatsOverlay({ hlsStatsState, onClose }) {\n return (\n <Flex\n css={{\n position: 'absolute',\n width: '$80',\n marginLeft: '$8',\n padding: '$8 $8 $10',\n zIndex: 10,\n backgroundColor: '$surface_brighter',\n borderRadius: '$1',\n }}\n direction=\"column\"\n >\n <IconButton css={{ position: 'absolute', top: '$2', right: '$2' }} onClick={onClose}>\n <CloseIcon />\n </IconButton>\n <HlsStatsRow label=\"URL\">\n <Flex align=\"center\">\n <a\n style={{ cursor: 'pointer', textDecoration: 'underline' }}\n href={hlsStatsState?.url}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n Stream url\n </a>\n </Flex>\n </HlsStatsRow>\n <HlsStatsRow label=\"Video size\">\n {` ${hlsStatsState?.videoSize?.width}x${hlsStatsState?.videoSize?.height}`}\n </HlsStatsRow>\n <HlsStatsRow label=\"Buffer duration\">{hlsStatsState?.bufferedDuration?.toFixed(2)} </HlsStatsRow>\n <HlsStatsRow label=\"Connection speed\">\n {`${(hlsStatsState?.bandwidthEstimate / (1000 * 1000)).toFixed(2)} Mbps`}\n </HlsStatsRow>\n <HlsStatsRow label=\"Bitrate\">{`${(hlsStatsState?.bitrate / (1000 * 1000)).toFixed(2)} Mbps`}</HlsStatsRow>\n <HlsStatsRow label=\"distance from live\">\n {getDurationFromSeconds(hlsStatsState.distanceFromLive / 1000)}\n </HlsStatsRow>\n <HlsStatsRow label=\"Dropped frames\">{hlsStatsState?.droppedFrames}</HlsStatsRow>\n </Flex>\n );\n}\n\n/**\n * Extracted from HLS new Player PR.\n * TODO: remove this and use HMSVideoUtils.js\n * when that code is merged\n */\nexport function getDurationFromSeconds(timeInSeconds) {\n let time = Math.floor(timeInSeconds);\n const hours = Math.floor(time / 3600);\n time = time - hours * 3600;\n const minutes = Math.floor(time / 60);\n const seconds = Math.floor(time - minutes * 60);\n\n const prefixedMinutes = `${minutes < 10 ? '0' + minutes : minutes}`;\n const prefixedSeconds = `${seconds < 10 ? '0' + seconds : seconds}`;\n\n let videoTimeStr = `${prefixedMinutes}:${prefixedSeconds}`;\n if (hours) {\n const prefixedHours = `${hours < 10 ? '0' + hours : hours}`;\n videoTimeStr = `${prefixedHours}:${prefixedMinutes}:${prefixedSeconds}`;\n }\n return videoTimeStr;\n}\n\nconst HlsStatsRow = memo(({ label, children }) => {\n return (\n <Flex gap={4} justify=\"center\" css={{ width: '100%' }}>\n <Text\n css={{\n width: '50%',\n '@md': { fontSize: '$md' },\n '@sm': { fontSize: '$sm' },\n // textAlign: \"right\",\n }}\n >\n {label}\n </Text>\n <Text\n css={{\n '@md': { fontSize: '$md' },\n '@sm': { fontSize: '$sm' },\n width: '50%',\n overflowWrap: 'break-word',\n // textAlign: \"left\",\n }}\n >\n {children}\n </Text>\n </Flex>\n );\n});\n", "import { Flex, styled } from '../../../';\n\nexport const VideoControls = styled(Flex, {\n justifyContent: 'center',\n alignItems: 'center',\n alignSelf: 'stretch',\n width: '100%',\n gap: '$2',\n});\n\nexport const LeftControls = styled(Flex, {\n justifyContent: 'flex-start',\n alignItems: 'center',\n width: '100%',\n gap: '$4',\n});\nexport const RightControls = styled(Flex, {\n justifyContent: 'flex-end',\n alignItems: 'center',\n width: '100%',\n gap: '$4',\n});\n", "import React, { forwardRef } from 'react';\nimport { Flex } from '../../../';\n\nexport const HMSVideo = forwardRef(({ children, ...props }, videoRef) => {\n return (\n <Flex data-testid=\"hms-video\" css={{ size: '100%', position: 'relative' }} direction=\"column\" {...props}>\n <video style={{ flex: '1 1 0', margin: '0 auto', minHeight: '0' }} ref={videoRef} playsInline />\n {children}\n </Flex>\n );\n});\n", "import React from 'react';\nimport { PauseIcon, PlayIcon } from '@100mslive/react-icons';\nimport { IconButton, Tooltip } from '../../../';\n\nexport const PlayButton = ({ onClick, isPaused }) => {\n return (\n <Tooltip title={isPaused ? 'Play' : 'Pause'} side=\"top\">\n <IconButton onClick={onClick} data-testid=\"play_pause_btn\">\n {isPaused ? <PlayIcon width={20} height={20} /> : <PauseIcon width={20} height={20} />}\n </IconButton>\n </Tooltip>\n );\n};\n", "export function getPercentage(a, b) {\n return (a / b) * 100;\n}\n\n/**\n *\n * @param {number} timeInSeconds - if given as floating point value, it is floored.\n * @returns a string representing timeInSeconds in HH:MM:SS format.\n * (e.g) getDurationFromSeconds(3910) returns \"1:05:10\"\n */\nexport function getDurationFromSeconds(timeInSeconds) {\n let time = Math.floor(timeInSeconds);\n const hours = Math.floor(time / 3600);\n time = time - hours * 3600;\n const minutes = Math.floor(time / 60);\n const seconds = Math.floor(time - minutes * 60);\n\n const prefixedMinutes = `${minutes < 10 ? `0${minutes}` : minutes}`;\n const prefixedSeconds = `${seconds < 10 ? `0${seconds}` : seconds}`;\n\n let videoTimeStr = `${prefixedMinutes}:${prefixedSeconds}`;\n if (hours) {\n const prefixedHours = `${hours < 10 ? `0${hours}` : hours}`;\n videoTimeStr = `${prefixedHours}:${prefixedMinutes}:${prefixedSeconds}`;\n }\n return videoTimeStr;\n}\n", "import React, { useEffect, useRef, useState } from 'react';\nimport { Box, Flex } from '../../../';\nimport { getPercentage } from './HMSVIdeoUtils';\n\nexport const VideoProgress = ({ onValueChange, hlsPlayer }) => {\n const [videoProgress, setVideoProgress] = useState(0);\n const [bufferProgress, setBufferProgress] = useState(0);\n const progressRootRef = useRef();\n\n useEffect(() => {\n const videoEl = hlsPlayer.getVideoElement();\n const timeupdateHandler = () => {\n const videoProgress = Math.floor(getPercentage(videoEl.currentTime, videoEl.duration));\n let bufferProgress = 0;\n if (videoEl.buffered.length > 0) {\n bufferProgress = Math.floor(getPercentage(videoEl.buffered?.end(0), videoEl.duration));\n }\n\n setVideoProgress(isNaN(videoProgress) ? 0 : videoProgress);\n setBufferProgress(isNaN(bufferProgress) ? 0 : bufferProgress);\n };\n if (videoEl) {\n videoEl.addEventListener('timeupdate', timeupdateHandler);\n }\n return function cleanup() {\n if (videoEl) {\n videoEl.removeEventListener('timeupdate', timeupdateHandler);\n }\n };\n }, [hlsPlayer]);\n\n const onProgressChangeHandler = e => {\n const userClickedX = e.clientX - progressRootRef.current.offsetLeft;\n const progressBarWidth = progressRootRef.current.offsetWidth;\n const progress = Math.floor(getPercentage(userClickedX, progressBarWidth));\n const videoEl = hlsPlayer.getVideoElement();\n const currentTime = (progress * videoEl.duration) / 100;\n\n if (onValueChange) {\n onValueChange(currentTime);\n }\n };\n\n return hlsPlayer.getVideoElement() ? (\n <Flex\n ref={progressRootRef}\n css={{ cursor: 'pointer', h: '$4', alignSelf: 'stretch' }}\n onClick={onProgressChangeHandler}\n >\n <Box\n id=\"video-actual\"\n css={{\n display: 'inline',\n width: `${videoProgress}%`,\n background: '$primary_default',\n }}\n />\n <Box\n id=\"video-buffer\"\n css={{\n width: `${bufferProgress - videoProgress}%`,\n background: '$on_surface_high',\n opacity: '25%',\n }}\n />\n <Box\n id=\"video-rest\"\n css={{\n width: `${100 - bufferProgress}%`,\n background: '$on_surface_high',\n opacity: '10%',\n }}\n />\n </Flex>\n ) : null;\n};\n", "import React, { useEffect, useState } from 'react';\nimport { HMSHLSPlayerEvents } from '@100mslive/hls-player';\nimport { Text } from '../../../';\nimport { getDurationFromSeconds } from './HMSVIdeoUtils';\n\nexport const VideoTime = ({ hlsPlayer }) => {\n const [videoTime, setVideoTime] = useState('');\n\n useEffect(() => {\n const timeupdateHandler = currentTime => setVideoTime(getDurationFromSeconds(currentTime));\n if (hlsPlayer) {\n hlsPlayer.on(HMSHLSPlayerEvents.CURRENT_TIME, timeupdateHandler);\n }\n return function cleanup() {\n if (hlsPlayer) {\n hlsPlayer.off(HMSHLSPlayerEvents.CURRENT_TIME, timeupdateHandler);\n }\n };\n }, [hlsPlayer]);\n\n return hlsPlayer ? (\n <Text\n css={{\n minWidth: '$16',\n c: '$on_surface_medium',\n display: 'flex',\n justifyContent: 'center',\n }}\n >\n {videoTime}\n </Text>\n ) : null;\n};\n", "import React, { useState } from 'react';\nimport { VolumeOneIcon, VolumeTwoIcon, VolumeZeroIcon } from '@100mslive/react-icons';\nimport { Flex, Slider } from '../../../';\n\nexport const VolumeControl = ({ hlsPlayer }) => {\n const [volume, setVolume] = useState(hlsPlayer?.volume ?? 100);\n const [showSlider, setShowSlider] = useState(false);\n\n return (\n <Flex\n align=\"center\"\n css={{ color: '$on_surface_high' }}\n onMouseOver={event => {\n event.stopPropagation();\n setShowSlider(true);\n }}\n onMouseLeave={event => {\n event.stopPropagation();\n setShowSlider(false);\n }}\n >\n <VolumeIcon\n volume={volume}\n onClick={() => {\n if (volume > 0) {\n setVolume(0);\n hlsPlayer?.setVolume(0);\n } else {\n setVolume(100);\n hlsPlayer?.setVolume(100);\n }\n }}\n />\n <Slider\n css={{\n mx: '$4',\n w: '$20',\n cursor: 'pointer',\n '@sm': { w: '$14' },\n '@xs': { w: '$14' },\n opacity: showSlider ? '1' : '0',\n display: showSlider ? '' : 'none',\n transition: `all .2s ease .5s`,\n }}\n min={0}\n max={100}\n step={1}\n value={[volume]}\n onValueChange={volume => {\n hlsPlayer.setVolume(volume[0]);\n setVolume(volume[0]);\n }}\n thumbStyles={{ w: '$6', h: '$6' }}\n />\n </Flex>\n );\n};\n\nconst VolumeIcon = ({ volume, onClick }) => {\n if (volume === 0) {\n return <VolumeZeroIcon style={{ cursor: 'pointer', transition: 'color 0.3s' }} onClick={onClick} />;\n }\n return volume < 50 ? (\n <VolumeOneIcon style={{ cursor: 'pointer', transition: 'color 0.3s' }} onClick={onClick} />\n ) : (\n <VolumeTwoIcon style={{ cursor: 'pointer', transition: 'color 0.3s' }} onClick={onClick} />\n );\n};\n", "import { LeftControls, RightControls, VideoControls } from './Controls';\nimport { HMSVideo } from './HMSVideo';\nimport { PlayButton } from './PlayButton';\nimport { VideoProgress } from './VideoProgress';\nimport { VideoTime } from './VideoTime';\nimport { VolumeControl } from './VolumeControl';\n\nexport const HMSVideoPlayer = {\n Root: HMSVideo,\n PlayButton: PlayButton,\n Progress: VideoProgress,\n Duration: VideoTime,\n Volume: VolumeControl,\n Controls: {\n Root: VideoControls,\n Left: LeftControls,\n Right: RightControls,\n },\n};\n", "import React from 'react';\nimport { Flex, IconButton, Tooltip } from '../../../';\n\nexport const FullScreenButton = ({ isFullScreen, icon, onToggle }) => {\n return (\n <Tooltip title={`${isFullScreen ? 'Exit' : 'Go'} fullscreen`} side=\"top\">\n <IconButton\n variant=\"standard\"\n css={{ margin: '0px' }}\n onClick={onToggle}\n key=\"fullscreen_btn\"\n data-testid=\"fullscreen_btn\"\n >\n <Flex>{icon}</Flex>\n </IconButton>\n </Tooltip>\n );\n};\n", "import React from 'react';\nimport { Button, Dialog, Text } from '../../../';\nimport { DialogContent, DialogRow } from '../../primitives/DialogContent';\n\nexport function HLSAutoplayBlockedPrompt({ open, unblockAutoPlay }) {\n return (\n <Dialog.Root\n open={open}\n onOpenChange={value => {\n if (!value) {\n unblockAutoPlay();\n }\n }}\n >\n <DialogContent title=\"Attention\" closeable={false}>\n <DialogRow>\n <Text variant=\"md\">\n The browser wants us to get a confirmation for playing the HLS Stream. Please click \"play stream\" to\n proceed.\n </Text>\n </DialogRow>\n <DialogRow justify=\"end\">\n <Button\n variant=\"primary\"\n onClick={() => {\n unblockAutoPlay();\n }}\n >\n Play stream\n </Button>\n </DialogRow>\n </DialogContent>\n </Dialog.Root>\n );\n}\n", "import React from 'react';\nimport { CheckIcon, SettingsIcon } from '@100mslive/react-icons';\nimport { Box, Dropdown, Flex, Text, Tooltip } from '../../../';\n\nexport function HLSQualitySelector({ open, onOpen, layers, onQualityChange, selection, isAuto }) {\n return (\n <Dropdown.Root open={open} onOpenChange={value => onOpen(value)}>\n <Dropdown.Trigger asChild data-testid=\"quality_selector\">\n <Flex\n css={{\n color: '$on_primary_high',\n r: '$1',\n cursor: 'pointer',\n p: '$2',\n }}\n >\n <Tooltip title=\"Select Quality\" side=\"top\">\n <Flex align=\"center\">\n <Box\n css={{\n w: '$9',\n h: '$9',\n display: 'inline-flex',\n alignItems: 'center',\n c: '$on_surface_high',\n }}\n >\n <SettingsIcon />\n </Box>\n <Text\n variant={{\n '@md': 'sm',\n '@sm': 'xs',\n '@xs': 'tiny',\n }}\n css={{ display: 'flex', alignItems: 'center', ml: '$2', c: '$on_surface_medium' }}\n >\n {isAuto && (\n <>\n Auto\n <Box\n css={{\n mx: '$2',\n w: '$2',\n h: '$2',\n background: '$on_surface_medium',\n r: '$1',\n }}\n />\n </>\n )}\n {selection && Math.min(selection.width, selection.height)}p\n </Text>\n </Flex>\n </Tooltip>\n </Flex>\n </Dropdown.Trigger>\n {layers.length > 0 && (\n <Dropdown.Content\n sideOffset={5}\n align=\"end\"\n css={{\n height: 'auto',\n maxHeight: '$52',\n w: '$40',\n bg: '$surface_bright',\n py: '$4',\n gap: '$4',\n display: 'grid',\n }}\n >\n {layers.map(layer => {\n return (\n <Dropdown.Item\n onClick={() => onQualityChange(layer)}\n key={layer.width}\n css={{\n bg:\n !isAuto && layer.width === selection?.width && layer.height === selection?.height\n ? '$surface_default'\n : '$surface_bright',\n '&:hover': {\n bg: '$surface_brighter',\n },\n p: '$2 $4 $2 $8',\n h: '$12',\n gap: '$2',\n }}\n >\n <Text variant=\"caption\" css={{ fontWeight: '$semiBold' }}>\n {getQualityText(layer)}\n </Text>\n <Text variant=\"caption\" css={{ flex: '1 1 0', c: '$on_surface_low', pl: '$2' }}>\n {getBitrateText(layer)}\n </Text>\n {!isAuto && layer.width === selection?.width && layer.height === selection?.height && (\n <CheckIcon width=\"16px\" height=\"16px\" />\n )}\n </Dropdown.Item>\n );\n })}\n <Dropdown.Item\n onClick={() => onQualityChange({ height: 'auto' })}\n key=\"auto\"\n css={{\n bg: !isAuto ? '$surface_bright' : '$surface_default',\n '&:hover': {\n bg: '$surface_brighter',\n },\n p: '$2 $4 $2 $8',\n h: '$12',\n gap: '$2',\n }}\n >\n <Text variant=\"caption\" css={{ fontWeight: '$semiBold', flex: '1 1 0' }}>\n Auto\n </Text>\n {isAuto && <CheckIcon width=\"16px\" height=\"16px\" />}\n </Dropdown.Item>\n </Dropdown.Content>\n )}\n </Dropdown.Root>\n );\n}\n\nconst getQualityText = layer => `${Math.min(layer.height, layer.width)}p `;\nconst getBitrateText = layer => `(${(Number(layer.bitrate / 1000) / 1000).toFixed(2)} Mbps)`;\n", "import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useFullscreen, useMedia, useToggle } from 'react-use';\nimport { HLSPlaybackState, HMSHLSPlayer, HMSHLSPlayerEvents } from '@100mslive/hls-player';\nimport screenfull from 'screenfull';\nimport { selectAppData, selectHLSState, useHMSActions, useHMSStore } from '@100mslive/react-sdk';\nimport { ColoredHandIcon, ExpandIcon, PlayIcon, RadioIcon, ShrinkIcon } from '@100mslive/react-icons';\nimport { HlsStatsOverlay } from '../components/HlsStatsOverlay';\nimport { HMSVideoPlayer } from '../components/HMSVideo';\nimport { FullScreenButton } from '../components/HMSVideo/FullscreenButton';\nimport { HLSAutoplayBlockedPrompt } from '../components/HMSVideo/HLSAutoplayBlockedPrompt';\nimport { HLSQualitySelector } from '../components/HMSVideo/HLSQualitySelector';\nimport { ToastManager } from '../components/Toast/ToastManager';\nimport { IconButton } from '../../IconButton';\nimport { Box, Flex } from '../../Layout';\nimport { Loading } from '../../Loading';\nimport { Text } from '../../Text';\nimport { config, useTheme } from '../../Theme';\nimport { Tooltip } from '../../Tooltip';\nimport { APP_DATA, EMOJI_REACTION_TYPE } from '../common/constants';\n\nlet hlsPlayer;\n\nconst HLSView = () => {\n const videoRef = useRef(null);\n const hlsViewRef = useRef(null);\n const hlsState = useHMSStore(selectHLSState);\n const enablHlsStats = useHMSStore(selectAppData(APP_DATA.hlsStats));\n const hmsActions = useHMSActions();\n const { themeType, theme } = useTheme();\n const [streamEnded, setStreamEnded] = useState(false);\n let [hlsStatsState, setHlsStatsState] = useState(null);\n const hlsUrl = hlsState.variants[0]?.url;\n const [availableLayers, setAvailableLayers] = useState([]);\n const [isVideoLive, setIsVideoLive] = useState(true);\n const [isUserSelectedAuto, setIsUserSelectedAuto] = useState(true);\n const [currentSelectedQuality, setCurrentSelectedQuality] = useState(null);\n const [isHlsAutoplayBlocked, setIsHlsAutoplayBlocked] = useState(false);\n const [isPaused, setIsPaused] = useState(false);\n const isFullScreenSupported = screenfull.isEnabled;\n const [show, toggle] = useToggle(false);\n const [controlsVisible, setControlsVisible] = useState(true);\n const controlsRef = useRef();\n const controlsTimerRef = useRef();\n const [qualityDropDownOpen, setQualityDropDownOpen] = useState(false);\n\n const isMobile = useMedia(config.media.md);\n const isFullScreen = useFullscreen(hlsViewRef, show, {\n onClose: () => toggle(false),\n });\n const [showLoader, setShowLoader] = useState(false);\n\n // FIXME: move this logic to player controller in next release\n useEffect(() => {\n /**\n * @type {HTMLVideoElement} videoEl\n */\n const videoEl = videoRef.current;\n const showLoader = () => setShowLoader(true);\n const hideLoader = () => setShowLoader(false);\n videoEl?.addEventListener('playing', hideLoader);\n videoEl?.addEventListener('waiting', showLoader);\n return () => {\n videoEl?.removeEventListener('playing', hideLoader);\n videoEl?.removeEventListener('waiting', showLoader);\n };\n }, []);\n\n useEffect(() => {\n const videoElem = videoRef.current;\n const setStreamEndedCallback = () => {\n setStreamEnded(true);\n // no point keeping the callback attached once the streaming is ended\n videoElem?.removeEventListener('ended', setStreamEndedCallback);\n };\n videoElem?.addEventListener('ended', setStreamEndedCallback);\n return () => {\n videoElem?.removeEventListener('ended', setStreamEndedCallback);\n };\n }, [hlsUrl]);\n\n /**\n * initialize HMSHLSPlayer and add event listeners.\n */\n useEffect(() => {\n let videoEl = videoRef.current;\n const manifestLoadedHandler = ({ layers }) => {\n setAvailableLayers(layers);\n };\n const layerUpdatedHandler = ({ layer }) => {\n setCurrentSelectedQuality(layer);\n };\n const metadataLoadedHandler = ({ payload, ...rest }) => {\n const parsePayload = str => {\n try {\n return JSON.parse(str);\n } catch (e) {\n return str;\n }\n };\n // parse payload and extract start_time and payload\n const duration = rest.duration;\n const parsedPayload = parsePayload(payload);\n switch (parsedPayload.type) {\n case EMOJI_REACTION_TYPE:\n window.showFlyingEmoji?.({ emojiId: parsedPayload?.emojiId, senderId: parsedPayload?.senderId });\n break;\n default: {\n const toast = {\n title: `Payload from timed Metadata ${parsedPayload}`,\n duration: duration || 3000,\n };\n console.debug('Added toast ', JSON.stringify(toast));\n ToastManager.addToast(toast);\n break;\n }\n }\n };\n const handleError = data => {\n console.error('[HLSView] error in hls', `${data}`);\n };\n const handleNoLongerLive = ({ isLive }) => {\n setIsVideoLive(isLive);\n };\n\n const playbackEventHandler = data => setIsPaused(data.state === HLSPlaybackState.paused);\n\n const handleAutoplayBlock = data => setIsHlsAutoplayBlocked(!!data);\n if (videoEl && hlsUrl) {\n hlsPlayer = new HMSHLSPlayer(hlsUrl, videoEl);\n hlsPlayer.on(HMSHLSPlayerEvents.SEEK_POS_BEHIND_LIVE_EDGE, handleNoLongerLive);\n hlsPlayer.on(HMSHLSPlayerEvents.TIMED_METADATA_LOADED, metadataLoadedHandler);\n hlsPlayer.on(HMSHLSPlayerEvents.ERROR, handleError);\n hlsPlayer.on(HMSHLSPlayerEvents.PLAYBACK_STATE, playbackEventHandler);\n hlsPlayer.on(HMSHLSPlayerEvents.AUTOPLAY_BLOCKED, handleAutoplayBlock);\n\n hlsPlayer.on(HMSHLSPlayerEvents.MANIFEST_LOADED, manifestLoadedHandler);\n hlsPlayer.on(HMSHLSPlayerEvents.LAYER_UPDATED, layerUpdatedHandler);\n return () => {\n hlsPlayer.off(HMSHLSPlayerEvents.SEEK_POS_BEHIND_LIVE_EDGE, handleNoLongerLive);\n hlsPlayer.off(HMSHLSPlayerEvents.ERROR, handleError);\n hlsPlayer.off(HMSHLSPlayerEvents.TIMED_METADATA_LOADED, metadataLoadedHandler);\n hlsPlayer.off(HMSHLSPlayerEvents.PLAYBACK_STATE, playbackEventHandler);\n hlsPlayer.off(HMSHLSPlayerEvents.AUTOPLAY_BLOCKED, handleAutoplayBlock);\n hlsPlayer.off(HMSHLSPlayerEvents.MANIFEST_LOADED, manifestLoadedHandler);\n hlsPlayer.off(HMSHLSPlayerEvents.LAYER_UPDATED, layerUpdatedHandler);\n hlsPlayer.reset();\n hlsPlayer = null;\n };\n }\n }, [hlsUrl]);\n\n /**\n * initialize and subscribe to hlsState\n */\n useEffect(() => {\n const onHLSStats = state => setHlsStatsState(state);\n if (enablHlsStats) {\n hlsPlayer?.on(HMSHLSPlayerEvents.STATS, onHLSStats);\n } else {\n hlsPlayer?.off(HMSHLSPlayerEvents.STATS, onHLSStats);\n }\n return () => {\n hlsPlayer?.off(HMSHLSPlayerEvents.STATS, onHLSStats);\n };\n }, [enablHlsStats]);\n\n const unblockAutoPlay = async () => {\n try {\n await hlsPlayer.play();\n setIsHlsAutoplayBlocked(false);\n } catch (error) {\n console.error('Tried to unblock Autoplay failed with', error.message);\n }\n };\n\n const handleQuality = useCallback(\n quality => {\n if (hlsPlayer) {\n setIsUserSelectedAuto(quality.height.toString().toLowerCase() === 'auto');\n hlsPlayer.setLayer(quality);\n }\n },\n [availableLayers], //eslint-disable-line\n );\n\n const sfnOverlayClose = () => {\n hmsActions.setAppData(APP_DATA.hlsStats, !enablHlsStats);\n };\n\n useEffect(() => {\n if (controlsVisible && isFullScreen && !qualityDropDownOpen) {\n if (controlsTimerRef.current) {\n clearTimeout(controlsTimerRef.current);\n }\n controlsTimerRef.current = setTimeout(() => {\n setControlsVisible(false);\n }, 5000);\n }\n if (!isFullScreen && controlsTimerRef.current) {\n clearTimeout(controlsTimerRef.current);\n }\n return () => {\n if (controlsTimerRef.current) {\n clearTimeout(controlsTimerRef.current);\n }\n };\n }, [controlsVisible, isFullScreen, qualityDropDownOpen]);\n\n const onHoverHandler = useCallback(\n event => {\n if (event.type === 'mouseenter' || qualityDropDownOpen) {\n setControlsVisible(true);\n return;\n }\n if (event.type === 'mouseleave') {\n setControlsVisible(false);\n } else if (isFullScreen && !controlsVisible && event.type === 'mousemove') {\n setControlsVisible(true);\n if (controlsTimerRef.current) {\n clearTimeout(controlsTimerRef.current);\n }\n }\n },\n [controlsVisible, isFullScreen, qualityDropDownOpen],\n );\n\n return (\n <Flex\n key=\"hls-viewer\"\n id={`hls-viewer-${themeType}`}\n ref={hlsViewRef}\n css={{\n size: '100%',\n }}\n >\n {hlsStatsState?.url && enablHlsStats ? (\n <HlsStatsOverlay hlsStatsState={hlsStatsState} onClose={sfnOverlayClose} />\n ) : null}\n {hlsUrl && !streamEnded ? (\n <Flex\n id=\"hls-player-container\"\n align=\"center\"\n justify=\"center\"\n css={{\n width: '100%',\n margin: '0 auto',\n height: '100%',\n }}\n >\n <HLSAutoplayBlockedPrompt open={isHlsAutoplayBlocked} unblockAutoPlay={unblockAutoPlay} />\n {showLoader && (\n <Flex\n align=\"center\"\n justify=\"center\"\n css={{\n position: 'absolute',\n }}\n >\n <Loading width={72} height={72} />\n </Flex>\n )}\n <HMSVideoPlayer.Root\n ref={videoRef}\n onMouseEnter={onHoverHandler}\n onMouseMove={onHoverHandler}\n onMouseLeave={onHoverHandler}\n >\n {isMobile && isPaused && (\n <Box\n css={{\n position: 'absolute',\n top: '40%',\n left: '50%',\n transform: 'translateY(-40%) translateX(-50%)',\n padding: '$8 14px $8 18px',\n display: 'inline-flex',\n r: '50%',\n gap: '$1',\n bg: '$primary_default',\n zIndex: 21,\n }}\n >\n <IconButton onClick={async () => await hlsPlayer?.play()} data-testid=\"play_btn\">\n <PlayIcon width=\"60px\" height=\"60px\" />\n </IconButton>\n </Box>\n )}\n <Flex\n ref={controlsRef}\n direction=\"column\"\n justify=\"flex-end\"\n align=\"flex-start\"\n css={{\n position: 'absolute',\n bottom: '0',\n left: '0',\n background: `linear-gradient(180deg, ${theme.colors.background_dim.value}00 29.46%, ${theme.colors.background_dim.value}A3 100%);`,\n width: '100%',\n pt: '$8',\n flexShrink: 0,\n transition: 'visibility 0s 0.5s, opacity 0.5s linear',\n visibility: controlsVisible ? `` : `hidden`,\n opacity: controlsVisible ? `1` : '0',\n }}\n >\n {!isMobile && (\n <HMSVideoPlayer.Controls.Root\n css={{\n p: '$4 $8',\n }}\n >\n <HMSVideoPlayer.Controls.Left>\n <HMSVideoPlayer.PlayButton\n onClick={async () => {\n isPaused ? await hlsPlayer?.play() : hlsPlayer?.pause();\n }}\n isPaused={isPaused}\n />\n <HMSVideoPlayer.Duration hlsPlayer={hlsPlayer} />\n <HMSVideoPlayer.Volume hlsPlayer={hlsPlayer} />\n <IconButton\n variant=\"standard\"\n css={{ px: '$2' }}\n onClick={async () => {\n await hlsPlayer.seekToLivePosition();\n setIsVideoLive(true);\n }}\n key=\"jump-to-live_btn\"\n data-testid=\"jump-to-live_btn\"\n >\n <Tooltip title=\"Go to Live\" side=\"top\">\n <Flex justify=\"center\" gap={2} align=\"center\">\n <Box\n css={{\n height: '$4',\n width: '$4',\n background: isVideoLive ? '$alert_error_default' : '$on_primary_medium',\n r: '$1',\n }}\n />\n <Text\n variant={{\n '@sm': 'xs',\n }}\n css={{\n c: isVideoLive ? '$on_surface_high' : '$on_surface_medium',\n }}\n >\n {isVideoLive ? 'LIVE' : 'GO LIVE'}\n </Text>\n </Flex>\n </Tooltip>\n </IconButton>\n </HMSVideoPlayer.Controls.Left>\n\n <HMSVideoPlayer.Controls.Right>\n {availableLayers.length > 0 ? (\n <HLSQualitySelector\n layers={availableLayers}\n onOpen={setQualityDropDownOpen}\n open={qualityDropDownOpen}\n selection={currentSelectedQuality}\n onQualityChange={handleQuality}\n isAuto={isUserSelectedAuto}\n />\n ) : null}\n {isFullScreenSupported ? (\n <FullScreenButton\n isFullScreen={isFullScreen}\n onToggle={toggle}\n icon={isFullScreen ? <ShrinkIcon /> : <ExpandIcon />}\n />\n ) : null}\n </HMSVideoPlayer.Controls.Right>\n </HMSVideoPlayer.Controls.Root>\n )}\n </Flex>\n </HMSVideoPlayer.Root>\n </Flex>\n ) : (\n <Flex align=\"center\" justify=\"center\" direction=\"column\" css={{ size: '100%', px: '$10' }}>\n <Flex css={{ c: '$on_surface_high', r: '$round', bg: '$surface_default', p: '$2' }}>\n {streamEnded ? <ColoredHandIcon height={56} width={56} /> : <RadioIcon height={56} width={56} />}\n </Flex>\n <Text variant=\"h5\" css={{ c: '$on_surface_high', mt: '$10', mb: 0, textAlign: 'center' }}>\n {streamEnded ? 'Stream has ended' : 'Stream yet to start'}\n </Text>\n <Text variant=\"md\" css={{ textAlign: 'center', mt: '$4', c: '$on_surface_medium' }}>\n {streamEnded ? 'Have a nice day!' : 'Sit back and relax'}\n </Text>\n </Flex>\n )}\n </Flex>\n );\n};\n\nexport default HLSView;\n", "import React, { Suspense, useEffect } from 'react';\nimport {\n ConferencingScreen,\n DefaultConferencingScreen_Elements,\n HLSLiveStreamingScreen_Elements,\n} from '@100mslive/types-prebuilt';\nimport { selectIsConnectedToRoom, selectLocalPeerRoleName, useHMSActions, useHMSStore } from '@100mslive/react-sdk';\n// @ts-ignore: No implicit Any\nimport FullPageProgress from '../components/FullPageProgress';\nimport { GridLayout } from '../components/VideoLayouts/GridLayout';\nimport { Flex } from '../../Layout';\n// @ts-ignore: No implicit Any\nimport { EmbedView } from './EmbedView';\n// @ts-ignore: No implicit Any\nimport { PDFView } from './PDFView';\nimport SidePane from './SidePane';\n// @ts-ignore: No implicit Any\nimport { WaitingView } from './WaitingView';\n// import { useWhiteboardMetadata } from '../plugins/whiteboard';\nimport {\n usePDFConfig,\n useUrlToEmbed,\n useWaitingViewerRole,\n // @ts-ignore: No implicit Any\n} from '../components/AppData/useUISettings';\n// @ts-ignore: No implicit Any\nimport { SESSION_STORE_KEY } from '../common/constants';\n\n// const WhiteboardView = React.lazy(() => import(\"./WhiteboardView\"));\n// @ts-ignore: No implicit Any\nconst HLSView = React.lazy(() => import('./HLSView'));\n\nexport const VideoStreamingSection = ({\n screenType,\n elements,\n hideControls = false,\n}: {\n screenType: keyof ConferencingScreen;\n elements: DefaultConferencingScreen_Elements | HLSLiveStreamingScreen_Elements;\n hideControls: boolean;\n}) => {\n const localPeerRole = useHMSStore(selectLocalPeerRoleName);\n // const { whiteboardOwner: whiteboardShared } = useWhiteboardMetadata();\n const isConnected = useHMSStore(selectIsConnectedToRoom);\n const hmsActions = useHMSActions();\n const waitingViewerRole = useWaitingViewerRole();\n const urlToIframe = useUrlToEmbed();\n const pdfAnnotatorActive = usePDFConfig();\n\n useEffect(() => {\n if (!isConnected) {\n return;\n }\n hmsActions.sessionStore.observe([SESSION_STORE_KEY.PINNED_MESSAGE, SESSION_STORE_KEY.SPOTLIGHT]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isConnected, hmsActions]);\n\n if (!localPeerRole) {\n // we don't know the role yet to decide how to render UI\n return null;\n }\n\n let ViewComponent;\n if (screenType === 'hls_live_streaming') {\n ViewComponent = <HLSView />;\n } else if (localPeerRole === waitingViewerRole) {\n ViewComponent = <WaitingView />;\n } else if (pdfAnnotatorActive) {\n ViewComponent = <PDFView />;\n } else if (urlToIframe) {\n ViewComponent = <EmbedView />;\n } else {\n //@ts-ignore\n ViewComponent = <GridLayout {...(elements as DefaultConferencingScreen_Elements)?.video_tile_layout?.grid} />;\n }\n\n return (\n <Suspense fallback={<FullPageProgress />}>\n <Flex\n css={{\n size: '100%',\n position: 'relative',\n gap: '$4',\n }}\n >\n {ViewComponent}\n <SidePane\n screenType={screenType}\n // @ts-ignore\n tileProps={(elements as DefaultConferencingScreen_Elements)?.video_tile_layout?.grid}\n hideControls={hideControls}\n />\n </Flex>\n </Suspense>\n );\n};\n", "import React from 'react';\nimport {\n DeviceType,\n selectIsLocalVideoEnabled,\n selectLocalVideoTrackID,\n selectVideoTrackByID,\n useDevices,\n useHMSActions,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport { CameraFlipIcon, CheckIcon, CrossIcon, SpeakerIcon } from '@100mslive/react-icons';\nimport { HorizontalDivider } from '../../../Divider';\nimport { Label } from '../../../Label';\nimport { Box, Flex } from '../../../Layout';\nimport { Sheet } from '../../../Sheet';\nimport { Text } from '../../../Text';\nimport IconButton from '../../IconButton';\nimport { ToastManager } from '../Toast/ToastManager';\n\nexport const CamaraFlipActions = () => {\n const actions = useHMSActions();\n const { allDevices } = useDevices();\n const { videoInput } = allDevices;\n const isVideoOn = useHMSStore(selectIsLocalVideoEnabled);\n\n const videoTrackId = useHMSStore(selectLocalVideoTrackID);\n const localVideoTrack = useHMSStore(selectVideoTrackByID(videoTrackId));\n if (!videoInput || !videoInput?.length || !localVideoTrack?.facingMode) {\n return null;\n }\n return (\n <Box>\n <IconButton\n disabled={!isVideoOn}\n onClick={async () => {\n try {\n await actions.switchCamera();\n } catch (e) {\n ToastManager.addToast({\n title: `Error while flipping camera ${e.message || ''}`,\n variant: 'error',\n });\n }\n }}\n >\n <CameraFlipIcon />\n </IconButton>\n </Box>\n );\n};\n\nexport const AudioOutputActions = () => {\n const { allDevices, selectedDeviceIDs, updateDevice } = useDevices();\n const { audioOutput } = allDevices;\n // don't show speaker selector where the API is not supported, and use\n // a generic word(\"Audio\") for Mic. In some cases(Chrome Android for e.g.) this changes both mic and speaker keeping them in sync.\n const shouldShowAudioOutput = 'setSinkId' in HTMLMediaElement.prototype;\n\n /**\n * Chromium browsers return an audioOutput with empty label when no permissions are given\n */\n const audioOutputFiltered = audioOutput?.filter(item => !!item.label) ?? [];\n if (!shouldShowAudioOutput || !audioOutputFiltered?.length > 0) {\n return null;\n }\n return (\n <AudioOutputSelectionSheet\n outputDevices={audioOutput}\n outputSelected={selectedDeviceIDs.outputDevices}\n onChange={async deviceId => {\n try {\n await updateDevice({\n deviceId,\n deviceType: DeviceType.audioOutput,\n });\n } catch (e) {\n ToastManager.addToast({\n title: `Error while changing audio output ${e.message || ''}`,\n variant: 'error',\n });\n }\n }}\n >\n <Box>\n <IconButton>\n <SpeakerIcon />\n </IconButton>\n </Box>\n </AudioOutputSelectionSheet>\n );\n};\n\nconst AudioOutputSelectionSheet = ({ outputDevices, outputSelected, onChange, children }) => {\n return (\n <Sheet.Root>\n <Sheet.Trigger asChild>{children}</Sheet.Trigger>\n <Sheet.Content>\n <Sheet.Title css={{ py: '$10', px: '$8', alignItems: 'center' }}>\n <Flex direction=\"row\" justify=\"between\" css={{ w: '100%' }}>\n <Text variant=\"h6\" css={{ display: 'flex' }}>\n Audio Output\n </Text>\n <Sheet.Close>\n <IconButton as=\"div\" data-testid=\"dialog_cross_icon\">\n <CrossIcon />\n </IconButton>\n </Sheet.Close>\n </Flex>\n </Sheet.Title>\n <HorizontalDivider />\n <Flex\n direction=\"column\"\n css={{\n px: '$8',\n maxHeight: '80vh',\n overflowY: 'scroll',\n }}\n >\n {outputDevices.map(audioDevice => {\n return (\n <SelectWithLabel\n key={audioDevice.deviceId}\n label={audioDevice.label}\n id={audioDevice.deviceId}\n checked={audioDevice.deviceId === outputSelected}\n onChange={() => onChange(audioDevice.deviceId)}\n />\n );\n })}\n </Flex>\n </Sheet.Content>\n </Sheet.Root>\n );\n};\n\nconst SelectWithLabel = ({ label, icon = <></>, checked, id, onChange }) => {\n return (\n <Flex\n align=\"center\"\n css={{\n my: '$2',\n py: '$8',\n w: '100%',\n borderBottom: '1px solid $border_default',\n }}\n onClick={onChange}\n >\n <Label\n htmlFor={id}\n css={{\n fontSize: '$md',\n fontWeight: '$semiBold',\n color: checked ? '$on_surface_high' : '$on_surface_low',\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n gap: '$8',\n flex: '1 1 0',\n }}\n >\n {icon}\n {label}\n </Label>\n {checked && <CheckIcon width={24} height={24} />}\n </Flex>\n );\n};\n", "import React from 'react';\nimport { useMedia } from 'react-use';\nimport { HMSRoomState, selectRoomState, useHMSStore } from '@100mslive/react-sdk';\nimport { config as cssConfig, Flex } from '../../..';\n// @ts-ignore: No implicit any\nimport { Logo, SpeakerTag } from './HeaderComponents';\n// @ts-ignore: No implicit any\nimport { LiveStatus, RecordingStatus, StreamActions } from './StreamActions';\n// @ts-ignore: No implicit any\nimport { AudioOutputActions, CamaraFlipActions } from './common';\n\nexport const Header = () => {\n const roomState = useHMSStore(selectRoomState);\n const isMobile = useMedia(cssConfig.media.md);\n // Header should be present only inside the call - not in preview, leave room states\n if (roomState !== HMSRoomState.Connected) {\n return <></>;\n }\n return (\n <Flex justify=\"between\" align=\"center\" css={{ position: 'relative', height: '100%' }}>\n <Flex align=\"center\" gap=\"2\" css={{ position: 'absolute', left: '$10' }}>\n <Logo />\n <SpeakerTag />\n {isMobile && (\n <Flex align=\"center\" css={{ gap: '$4' }}>\n <LiveStatus />\n <RecordingStatus />\n </Flex>\n )}\n </Flex>\n <Flex\n align=\"center\"\n css={{\n position: 'absolute',\n right: '$10',\n gap: '$4',\n }}\n >\n <StreamActions />\n {isMobile ? (\n <>\n <CamaraFlipActions />\n <AudioOutputActions />\n </>\n ) : null}\n </Flex>\n </Flex>\n );\n};\n", "export { Header } from './Header';\n", "import React, { useEffect, useRef, useState } from 'react';\nimport { DefaultConferencingScreen_Elements } from '@100mslive/types-prebuilt';\nimport {\n HMSRoomState,\n selectAppData,\n selectIsConnectedToRoom,\n selectRoomState,\n useHMSActions,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport { Footer } from './Footer/Footer';\nimport { HLSFailureModal } from './Notifications/HLSFailureModal';\n// @ts-ignore: No implicit Any\nimport { ActivatedPIP } from './PIP/PIPComponent';\n// @ts-ignore: No implicit Any\nimport { PictureInPicture } from './PIP/PIPManager';\nimport { RoleChangeRequestModal } from './RoleChangeRequest/RoleChangeRequestModal';\nimport { Box, Flex } from '../../Layout';\nimport { useHMSPrebuiltContext } from '../AppContext';\nimport { VideoStreamingSection } from '../layouts/VideoStreamingSection';\n// @ts-ignore: No implicit Any\nimport FullPageProgress from './FullPageProgress';\nimport { Header } from './Header';\nimport {\n useRoomLayoutConferencingScreen,\n useRoomLayoutPreviewScreen,\n} from '../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';\n// @ts-ignore: No implicit Any\nimport { useAuthToken, useSetAppDataByKey } from './AppData/useUISettings';\n// @ts-ignore: No implicit Any\nimport { APP_DATA, isAndroid, isIOS, isIPadOS } from '../common/constants';\n\nexport const ConferenceScreen = () => {\n const { userName, endpoints, onJoin: onJoinFunc } = useHMSPrebuiltContext();\n const screenProps = useRoomLayoutConferencingScreen();\n const { isPreviewScreenEnabled } = useRoomLayoutPreviewScreen();\n const roomState = useHMSStore(selectRoomState);\n const isConnectedToRoom = useHMSStore(selectIsConnectedToRoom);\n const hmsActions = useHMSActions();\n const [hideControls, setHideControls] = useState(false);\n const dropdownList = useHMSStore(selectAppData(APP_DATA.dropdownList));\n const authTokenInAppData = useAuthToken();\n const headerRef = useRef<HTMLDivElement | null>(null);\n const footerRef = useRef<HTMLDivElement | null>(null);\n const isMobileDevice = isAndroid || isIOS || isIPadOS;\n const dropdownListRef = useRef<string[]>();\n const [isHLSStarted] = useSetAppDataByKey(APP_DATA.hlsStarted);\n const toggleControls = () => {\n if (dropdownListRef.current?.length === 0 && isMobileDevice) {\n setHideControls(value => !value);\n }\n };\n const autoRoomJoined = useRef(isPreviewScreenEnabled);\n\n useEffect(() => {\n let timeout: undefined | ReturnType<typeof setTimeout>;\n dropdownListRef.current = dropdownList || [];\n if (dropdownListRef.current && dropdownListRef.current.length === 0) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n if (dropdownListRef.current && dropdownListRef.current.length === 0) {\n setHideControls(isMobileDevice);\n }\n }, 5000);\n }\n return () => {\n clearTimeout(timeout);\n };\n }, [dropdownList, hideControls, isMobileDevice]);\n\n useEffect(() => {\n if (\n authTokenInAppData &&\n !isConnectedToRoom &&\n !isPreviewScreenEnabled &&\n roomState !== HMSRoomState.Connecting &&\n !autoRoomJoined.current\n ) {\n hmsActions\n .join({\n userName: userName || '',\n authToken: authTokenInAppData,\n initEndpoint: endpoints?.init,\n settings: {\n isAudioMuted: !isPreviewScreenEnabled,\n isVideoMuted: !isPreviewScreenEnabled,\n speakerAutoSelectionBlacklist: ['Yeti Stereo Microphone'],\n },\n })\n .catch(console.error);\n autoRoomJoined.current = true;\n }\n }, [authTokenInAppData, endpoints?.init, hmsActions, isConnectedToRoom, isPreviewScreenEnabled, roomState, userName]);\n\n useEffect(() => {\n onJoinFunc?.();\n return () => {\n PictureInPicture.stop().catch((error: unknown) => console.error('stopping pip', (error as Error).message));\n };\n }, [onJoinFunc]);\n\n if (!isConnectedToRoom && ![HMSRoomState.Reconnecting, HMSRoomState.Disconnected].includes(roomState)) {\n return <FullPageProgress text={roomState === HMSRoomState.Connecting ? 'Joining...' : ''} />;\n }\n\n return (\n <>\n {isHLSStarted ? (\n <Box css={{ position: 'fixed', zIndex: 100, w: '100%', h: '100%', left: 0, top: 0 }}>\n <FullPageProgress text=\"Starting live stream...\" css={{ opacity: 0.8, bg: '$background_dim' }} />\n </Box>\n ) : null}\n <Flex css={{ size: '100%', overflow: 'hidden' }} direction=\"column\">\n {!screenProps.hideSections.includes('header') && (\n <Box\n ref={headerRef}\n css={{\n h: '$18',\n transition: 'margin 0.3s ease-in-out',\n marginTop: hideControls ? `-${headerRef.current?.clientHeight}px` : 'none',\n '@md': {\n h: '$17',\n },\n }}\n data-testid=\"header\"\n >\n <Header />\n </Box>\n )}\n <Box\n css={{\n w: '100%',\n flex: '1 1 0',\n minHeight: 0,\n // @ts-ignore\n px: (screenProps?.elements as DefaultConferencingScreen_Elements)?.video_tile_layout?.grid?.edge_to_edge\n ? 0\n : '$10', // TODO: padding to be controlled by section/element\n paddingBottom: 'env(safe-area-inset-bottom)',\n '@lg': {\n px: 0,\n },\n }}\n id=\"conferencing\"\n data-testid=\"conferencing\"\n onClick={toggleControls}\n >\n {screenProps.elements ? (\n <VideoStreamingSection\n screenType={screenProps.screenType}\n elements={screenProps.elements}\n hideControls={hideControls}\n />\n ) : null}\n </Box>\n {!screenProps.hideSections.includes('footer') && screenProps.elements && (\n <Box\n ref={footerRef}\n css={{\n flexShrink: 0,\n maxHeight: '$24',\n transition: 'margin 0.3s ease-in-out',\n bg: '$background_dim',\n marginBottom: hideControls ? `-${footerRef.current?.clientHeight}px` : undefined,\n '@md': {\n maxHeight: 'unset',\n bg: screenProps.screenType === 'hls_live_streaming' ? 'transparent' : '$background_dim',\n },\n }}\n data-testid=\"footer\"\n >\n <Footer elements={screenProps.elements} screenType={screenProps.screenType} />\n </Box>\n )}\n <RoleChangeRequestModal />\n <HLSFailureModal />\n <ActivatedPIP />\n </Flex>\n </>\n );\n};\n", "import React, { Component } from 'react';\nimport { CopyIcon } from '@100mslive/react-icons';\nimport { Button } from '../../Button';\nimport { Box, Flex } from '../../Layout';\nimport { Text } from '../../Text';\nimport { Tooltip } from '../../Tooltip';\nimport { ErrorWithSupportLink } from './AuthToken';\n\nexport class ErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.state = { error: null, errorInfo: null, isErrorCopied: false };\n }\n\n componentDidCatch(error, errorInfo) {\n console.error(`react error boundary - ${error.message}`, error, errorInfo);\n // Catch errors in any components below and re-render with error message\n this.setState({\n error: error?.message,\n errorInfo: errorInfo,\n });\n }\n\n render() {\n if (this.state.errorInfo) {\n return (\n <Flex\n align=\"center\"\n justify=\"center\"\n css={{\n size: '100%',\n height: '100vh',\n width: '100%',\n color: '$on_primary_high',\n backgroundColor: '$background_default',\n }}\n >\n <Box css={{ position: 'relative', overflow: 'hidden', r: '$3', height: '100%', width: '100%' }}>\n <Flex\n direction=\"column\"\n css={{\n position: 'absolute',\n size: '100%',\n top: '33.33%',\n left: 0,\n }}\n >\n <div style={{ margin: '1.5rem', width: '100%' }}>\n <Text>Something went wrong</Text>\n <Text>Message: ${this.state.error}</Text>\n <br />\n {ErrorWithSupportLink(`Please reload to see if it works.`)}\n </div>\n <Flex>\n <Tooltip title=\"Reload page\">\n <Button\n onClick={() => {\n window.location.reload();\n }}\n css={{ mx: '$8' }}\n data-testid=\"join_again_btn\"\n >\n Reload\n </Button>\n </Tooltip>\n <Tooltip title=\"Copy error details to clipboard\">\n <Button\n onClick={() => {\n const { error, errorInfo } = this.state;\n navigator.clipboard.writeText(\n JSON.stringify({\n error,\n errorInfo,\n }),\n );\n this.setState({ isErrorCopied: true });\n }}\n css={{ mx: '$8' }}\n data-testid=\"join_again_btn\"\n >\n <CopyIcon /> {this.state.isErrorCopied ? 'Copied' : 'Copy Details'}\n </Button>\n </Tooltip>\n </Flex>\n\n <details style={{ whiteSpace: 'pre-wrap', margin: '1.5rem' }}>\n <Text>{this.state.error && this.state.error.toString()}</Text>\n <br />\n <Text>{JSON.stringify(this.state.errorInfo)}</Text>\n </details>\n </Flex>\n </Box>\n </Flex>\n );\n }\n\n return this.props.children;\n }\n}\n", "import React, { useEffect } from 'react';\nimport { useTheme } from '../../../';\nimport { FeatureFlagsInit } from '../../services/FeatureFlags';\n\nconst Init = () => {\n const { toggleTheme } = useTheme();\n\n useEffect(() => {\n window.toggleUiTheme = toggleTheme;\n }, [toggleTheme]);\n\n useEffect(() => {\n function resetHeight() {\n // reset the body height to that of the inner browser\n // The window.innerHeight property returns integer values. When the actual height is in decimal, window.innerHeight returns a larger value than the actual value. This can cause a scrollbar to appear on some screens.\n // Hence using window.visualViewport.height which returns a decimal value.\n document.body.style.height = `${window.visualViewport?.height || window.innerHeight}px`;\n }\n // reset the height whenever the window's resized\n window.addEventListener('resize', resetHeight);\n // called to initially set the height.\n resetHeight();\n return () => {\n window.removeEventListener('resize', resetHeight);\n };\n }, []);\n\n return <FeatureFlagsInit />;\n};\n\nexport { Init };\n", "import { useEffect } from 'react';\nimport {\n selectAppData,\n selectIsLocalAudioEnabled,\n selectIsLocalVideoEnabled,\n useHMSActions,\n useHMSVanillaStore,\n} from '@100mslive/react-sdk';\nimport { APP_DATA, isMacOS } from '../../common/constants';\n\nlet isEvenListenersAttached = false;\nexport class KeyboardInputManager {\n #actions;\n #store;\n constructor(store, actions) {\n this.#actions = actions;\n this.#store = store;\n }\n #toggleAudio = async () => {\n const enabled = this.#store.getState(selectIsLocalAudioEnabled);\n await this.#actions.setLocalAudioEnabled(!enabled);\n };\n\n #toggleVideo = async () => {\n const enabled = this.#store.getState(selectIsLocalVideoEnabled);\n await this.#actions.setLocalVideoEnabled(!enabled);\n };\n\n #hideSidepane = () => {\n if (this.#store.getState(selectAppData(APP_DATA.sidePane))) {\n this.#actions.setAppData(APP_DATA.sidePane, '');\n }\n };\n\n #toggleStatsForNerds = () => {\n const uiSettings = this.#store.getState(selectAppData(APP_DATA.uiSettings));\n const statsEnabled = uiSettings.showStatsOnTiles;\n this.#actions.setAppData(APP_DATA.uiSettings, {\n ...uiSettings,\n showStatsOnTiles: !statsEnabled,\n });\n };\n\n #toggleHlsStats = () => {\n this.#actions.setAppData(APP_DATA.hlsStats, !this.#store.getState(selectAppData(APP_DATA.hlsStats)));\n };\n\n // eslint-disable-next-line complexity\n #keyDownHandler = async e => {\n const CONTROL_KEY = isMacOS ? e.metaKey : e.ctrlKey;\n const D_KEY = e.key === 'd' || e.key === 'D';\n const E_KEY = e.key === 'e' || e.key === 'E';\n const SNF_KEY = e.key === ']' || e.key === '}';\n\n const SHORTCUT_TOGGLE_AUDIO = CONTROL_KEY && D_KEY;\n const SHORTCUT_TOGGLE_VIDEO = CONTROL_KEY && E_KEY;\n const SHORTCUT_SIDEPANE_CLOSE = e.key === 'Escape';\n const SHORTCUT_STATS_FOR_NERDS = CONTROL_KEY && SNF_KEY;\n\n if (SHORTCUT_TOGGLE_AUDIO) {\n e.preventDefault();\n await this.#toggleAudio();\n } else if (SHORTCUT_TOGGLE_VIDEO) {\n e.preventDefault();\n await this.#toggleVideo();\n } else if (SHORTCUT_SIDEPANE_CLOSE) {\n this.#hideSidepane();\n } else if (SHORTCUT_STATS_FOR_NERDS) {\n this.#toggleHlsStats();\n this.#toggleStatsForNerds();\n }\n };\n\n #bind = () => {\n document.addEventListener('keydown', this.#keyDownHandler, false);\n };\n\n #unbind = () => {\n document.removeEventListener('keydown', this.#keyDownHandler, false);\n };\n\n bindAllShortcuts = () => {\n if (!isEvenListenersAttached) {\n this.#bind();\n isEvenListenersAttached = true;\n }\n };\n\n unbindAllShortcuts = () => {\n if (isEvenListenersAttached) {\n this.#unbind();\n isEvenListenersAttached = false;\n }\n };\n}\n\nexport const KeyboardHandler = () => {\n const store = useHMSVanillaStore();\n const actions = useHMSActions();\n\n useEffect(() => {\n const keyboardManager = new KeyboardInputManager(store, actions);\n keyboardManager.bindAllShortcuts();\n return keyboardManager.unbindAllShortcuts;\n }, [actions, store]);\n return null;\n};\n", "import { useCallback } from 'react';\nimport { useHMSPrebuiltContext } from '../../AppContext';\n// @ts-ignore: No implicit Any\nimport { PictureInPicture } from '../PIP/PIPManager';\n// @ts-ignore: No implicit Any\nimport { ToastManager } from '../Toast/ToastManager';\n\nexport const useRedirectToLeave = () => {\n const { onLeave } = useHMSPrebuiltContext();\n\n const redirect = useCallback(\n (timeout = 0) => {\n return new Promise<void>(resolve => {\n setTimeout(() => {\n PictureInPicture.stop().catch(() => console.error('stopping pip'));\n ToastManager.clearAllToast();\n onLeave?.();\n resolve();\n }, timeout);\n });\n },\n [onLeave],\n );\n\n return { redirectToLeave: redirect };\n};\n", "import React, { useContext, useEffect } from 'react';\nimport { usePreviousDistinct } from 'react-use';\nimport { HMSRoomState, selectRoomState, useHMSStore } from '@100mslive/react-sdk';\nimport { useRoomLayout } from './provider/roomLayoutProvider';\nimport { useRedirectToLeave } from './components/hooks/useRedirectToLeave';\nimport {\n useRoomLayoutLeaveScreen,\n useRoomLayoutPreviewScreen,\n} from './provider/roomLayoutProvider/hooks/useRoomLayoutScreen';\n\nexport enum PrebuiltStates {\n MEETING = 'meeting',\n PREVIEW = 'preview',\n LEAVE = 'leave',\n}\n\ntype AppStateContextType = {\n rejoin: () => void;\n};\n\nexport const AppStateContext = React.createContext<AppStateContextType>({\n rejoin: () => {\n console.log('Rejoin');\n },\n});\n\nAppStateContext.displayName = 'AppStateContext';\n\nexport const useHMSAppStateContext = () => {\n const context = useContext(AppStateContext);\n if (!context) {\n throw Error('Make sure AppStateContext.Provider is present at the top level of your application');\n }\n return context;\n};\n\nexport const useAppStateManager = () => {\n const roomLayout = useRoomLayout();\n const [activeState, setActiveState] = React.useState<PrebuiltStates | undefined>();\n const roomState = useHMSStore(selectRoomState);\n const prevRoomState = usePreviousDistinct(roomState);\n const { isLeaveScreenEnabled } = useRoomLayoutLeaveScreen();\n const { isPreviewScreenEnabled } = useRoomLayoutPreviewScreen();\n const { redirectToLeave } = useRedirectToLeave();\n\n const rejoin = () => {\n setActiveState(isPreviewScreenEnabled ? PrebuiltStates.PREVIEW : PrebuiltStates.MEETING);\n };\n\n useEffect(() => {\n if (!roomLayout) {\n return;\n }\n if (roomState === HMSRoomState.Connected) {\n setActiveState(PrebuiltStates.MEETING);\n } else if (\n prevRoomState &&\n [HMSRoomState.Reconnecting, HMSRoomState.Connected].includes(prevRoomState) &&\n [HMSRoomState.Disconnecting, HMSRoomState.Disconnected].includes(roomState)\n ) {\n redirectToLeave().then(() => {\n const goTo = isPreviewScreenEnabled ? PrebuiltStates.PREVIEW : PrebuiltStates.MEETING;\n setActiveState(isLeaveScreenEnabled ? PrebuiltStates.LEAVE : goTo);\n });\n } else if (!prevRoomState && roomState === HMSRoomState.Disconnected) {\n setActiveState(isPreviewScreenEnabled ? PrebuiltStates.PREVIEW : PrebuiltStates.MEETING);\n }\n }, [roomLayout, roomState, isLeaveScreenEnabled, isPreviewScreenEnabled, prevRoomState, redirectToLeave]);\n\n return { activeState, rejoin };\n};\n", "import React from 'react';\nimport { ExitIcon } from '@100mslive/react-icons';\n// @ts-ignore: No implicit Any\nimport { ToastManager } from './Toast/ToastManager';\nimport { Button } from '../../Button';\nimport { Box, Flex } from '../../Layout';\nimport { Text } from '../../Text';\nimport { useHMSAppStateContext } from '../AppStateContext';\nimport { Header } from './Header';\n// @ts-ignore: No implicit Any\nimport { defaultPreviewPreference, UserPreferencesKeys, useUserPreferences } from './hooks/useUserPreferences';\nimport { textEllipsis } from '../../utils';\n\nexport const LeaveScreen = () => {\n const { rejoin } = useHMSAppStateContext();\n const [previewPreference] = useUserPreferences(UserPreferencesKeys.PREVIEW, defaultPreviewPreference);\n return (\n <Flex direction=\"column\" css={{ size: '100%' }}>\n <Box css={{ h: '$18', '@md': { h: '$17' } }} data-testid=\"header\">\n <Header />\n </Box>\n <Flex\n justify=\"center\"\n direction=\"column\"\n align=\"center\"\n css={{ bg: '$background_dim', flex: '1 1 0', position: 'relative' }}\n >\n <Text variant=\"h2\" css={{ fontWeight: '$semiBold' }}>\n \uD83D\uDC4B\n </Text>\n <Text variant=\"h4\" css={{ color: '$on_surface_high', fontWeight: '$semiBold', mt: '$12' }}>\n You left the room\n </Text>\n <Text\n variant=\"body1\"\n css={{\n color: '$on_surface_medium',\n mt: '$8',\n fontWeight: '$regular',\n textAlign: 'center',\n }}\n >\n Have a nice day\n {previewPreference.name && (\n <Box as=\"span\" css={{ ...textEllipsis(100) }}>\n , {previewPreference.name}\n </Box>\n )}\n !\n </Text>\n <Flex css={{ mt: '$14', gap: '$10', alignItems: 'center' }}>\n <Text variant=\"body1\" css={{ color: '$on_surface_medium', fontWeight: '$regular' }}>\n Left by mistake?\n </Text>\n <Button\n onClick={() => {\n rejoin();\n ToastManager.clearAllToast();\n }}\n data-testid=\"join_again_btn\"\n >\n <ExitIcon />\n <Text css={{ ml: '$3', fontWeight: '$semiBold', color: 'inherit' }}>Rejoin</Text>\n </Button>\n </Flex>\n </Flex>\n </Flex>\n );\n};\n", "import React, { useEffect, useState } from 'react';\nimport { RefreshIcon } from '@100mslive/react-icons';\nimport { Button } from '../../Button';\nimport { Box, Flex } from '../../Layout';\nimport { Dialog } from '../../Modal';\nimport { Text } from '../../Text';\n\nexport const MwebLandscapePrompt = () => {\n const [showMwebLandscapePrompt, setShowMwebLandscapePrompt] = useState(false);\n\n useEffect(() => {\n const handleRotation = () => {\n const angle = window.screen.orientation.angle;\n const type = window.screen.orientation.type;\n // Angle check needed to diff bw mobile and desktop\n setShowMwebLandscapePrompt(angle >= 90 && type.includes('landscape'));\n };\n handleRotation();\n window.screen.orientation.addEventListener('change', handleRotation);\n\n return () => {\n window.screen.orientation.removeEventListener('change', handleRotation);\n };\n }, []);\n\n return (\n <Dialog.Root open={showMwebLandscapePrompt} onOpenChange={setShowMwebLandscapePrompt}>\n <Dialog.Portal>\n <Dialog.Overlay />\n <Dialog.Content css={{ w: 'min(420px, 90%)', p: '$8', bg: '$surface_dim' }}>\n <Box>\n <Flex\n css={{\n color: '$primary_default',\n display: 'flex',\n alignItems: 'center',\n }}\n >\n <RefreshIcon style={{ marginRight: '0.5rem' }} />\n <Text variant=\"lg\" css={{ color: '$on_surface_high', fontWeight: '$semiBold' }}>\n Please rotate your device\n </Text>\n </Flex>\n <Text variant=\"sm\" css={{ color: '$on_surface_medium', mb: '$8', mt: '$4' }}>\n We do not support landscape mode as of now, please use the app in portrait mode for the best experience.\n </Text>\n <Flex align=\"center\" justify=\"between\" css={{ w: '100%', gap: '$8' }}>\n <Button outlined variant=\"standard\" css={{ w: '100%' }} onClick={() => setShowMwebLandscapePrompt(false)}>\n Continue anyway\n </Button>\n </Flex>\n </Box>\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n );\n};\n", "import React, { useCallback } from 'react';\nimport { selectPeerByID, useHMSActions, useHMSStore } from '@100mslive/react-sdk';\nimport {\n ChatUnreadIcon,\n ConnectivityIcon,\n HandIcon,\n PeopleAddIcon,\n PeopleRemoveIcon,\n PoorConnectivityIcon,\n} from '@100mslive/react-icons';\nimport { Button } from '../../../Button';\nimport { useRoomLayout } from '../../provider/roomLayoutProvider';\nimport { useIsSidepaneTypeOpen, useSidepaneToggle } from '../AppData/useSidepane';\nimport { SIDE_PANE_OPTIONS } from '../../common/constants';\n\nconst ChatAction = React.forwardRef((_, ref) => {\n const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);\n const isChatOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.CHAT);\n\n if (isChatOpen) {\n return null;\n }\n\n return (\n <Button outlined as=\"div\" variant=\"standard\" css={{ w: 'max-content' }} onClick={toggleChat} ref={ref}>\n Open Chat\n </Button>\n );\n});\n\nconst HandRaiseAction = React.forwardRef(({ id = '', isSingleHandRaise = true }, ref) => {\n const hmsActions = useHMSActions();\n const toggleSidepane = useSidepaneToggle(SIDE_PANE_OPTIONS.PARTICIPANTS);\n const isParticipantsOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.PARTICIPANTS);\n const peer = useHMSStore(selectPeerByID(id));\n const layout = useRoomLayout();\n const {\n bring_to_stage_label,\n on_stage_role,\n off_stage_roles = [],\n } = layout?.screens?.conferencing?.default?.elements.on_stage_exp || {};\n\n const onClickHandler = useCallback(() => {\n if (isSingleHandRaise) {\n hmsActions.changeRoleOfPeer(id, on_stage_role);\n } else {\n !isParticipantsOpen && toggleSidepane();\n }\n }, [hmsActions, id, isParticipantsOpen, isSingleHandRaise, on_stage_role, toggleSidepane]);\n\n // show nothing if handRaise is single and peer role is not hls\n if (isSingleHandRaise && (!peer || !off_stage_roles.includes(peer.roleName))) {\n return null;\n }\n return (\n <Button outlined as=\"div\" variant=\"standard\" css={{ w: 'max-content' }} onClick={onClickHandler} ref={ref}>\n {isSingleHandRaise ? bring_to_stage_label : 'View'}\n </Button>\n );\n});\nexport const ToastConfig = {\n PEER_LIST: {\n single: function (notification) {\n if (notification.data.length === 1) {\n return {\n title: `${notification.data[0]?.name} joined`,\n icon: <PeopleAddIcon />,\n };\n }\n return {\n title: `${notification.data[notification.data.length - 1]?.name} and ${\n notification.data.length - 1\n } others joined`,\n icon: <PeopleAddIcon />,\n };\n },\n multiple: notifications => {\n return {\n title: `${notifications[0].data.name} and ${notifications.length - 1} others joined`,\n icon: <PeopleAddIcon />,\n };\n },\n },\n PEER_JOINED: {\n single: function (notification) {\n return {\n title: `${notification.data?.name} joined`,\n icon: <PeopleAddIcon />,\n };\n },\n multiple: function (notifications) {\n return {\n title: `${notifications[notifications.length - 1].data.name} and ${notifications.length - 1} others joined`,\n icon: <PeopleAddIcon />,\n };\n },\n },\n PEER_LEFT: {\n single: function (notification) {\n return {\n title: `${notification.data?.name} left`,\n icon: <PeopleRemoveIcon />,\n };\n },\n multiple: function (notifications) {\n return {\n title: `${notifications[notifications.length - 1].data.name} and ${notifications.length - 1} others left`,\n icon: <PeopleRemoveIcon />,\n };\n },\n },\n RAISE_HAND: {\n single: notification => {\n return {\n title: `${notification.data?.name} raised hand`,\n icon: <HandIcon />,\n action: <HandRaiseAction id={notification.data?.id} />,\n };\n },\n multiple: notifications => {\n const count = new Set(notifications.map(notification => notification.data?.id)).size;\n return {\n title: `${notifications[notifications.length - 1].data?.name} ${\n count > 1 ? `${count} and others` : ''\n } raised hand`,\n icon: <HandIcon />,\n action: <HandRaiseAction isSingleHandRaise={false} />,\n };\n },\n },\n NEW_MESSAGE: {\n single: notification => {\n return {\n title: `New message from ${notification.data?.senderName}`,\n icon: <ChatUnreadIcon />,\n action: <ChatAction />,\n };\n },\n multiple: notifications => {\n return {\n title: `${notifications.length} new messages`,\n icon: <ChatUnreadIcon />,\n action: <ChatAction />,\n };\n },\n },\n RECONNECTED: {\n single: () => {\n return {\n title: `You are now connected`,\n icon: <ConnectivityIcon />,\n variant: 'success',\n duration: 3000,\n };\n },\n },\n RECONNECTING: {\n single: message => {\n return {\n title: `You are offline for now. while we try to reconnect, please check\n your internet connection. ${message}.\n `,\n icon: <PoorConnectivityIcon />,\n variant: 'warning',\n duration: 30000,\n };\n },\n },\n};\n", "import { ToastConfig } from './ToastConfig';\nimport { ToastManager } from './ToastManager';\n\nexport const ToastBatcher = {\n toastsType: new Map(),\n showToastInternal({ notification, duration, type }) {\n let notificationType = type;\n if (!type) {\n notificationType = notification.type;\n }\n const toastType = this.toastsType.has(notificationType);\n if (toastType) {\n let { notifications } = this.toastsType.get(notificationType);\n const { id } = this.toastsType.get(notificationType);\n notifications.push(notification);\n const toastObject = ToastConfig[notificationType].multiple(notifications);\n const toastId = ToastManager.replaceToast(id, {\n ...toastObject,\n duration: duration,\n });\n this.toastsType.set(notificationType, {\n id: toastId,\n notifications: notifications,\n duration: duration,\n });\n } else {\n const toastObject = ToastConfig[notificationType].single(notification);\n const toastId = ToastManager.addToast({\n ...toastObject,\n duration: duration,\n });\n let notifications = [];\n notifications.push(notification);\n this.toastsType.set(notificationType, {\n id: toastId,\n notifications: [...notifications],\n duration: duration,\n });\n }\n },\n showToast({ notification, duration = 3000, type }) {\n try {\n this.showToastInternal({ notification, duration, type });\n } catch (err) {\n console.debug('Notifications', err);\n }\n },\n syncUItoast(toastsDisplaying) {\n for (const [toastType, toastInfo] of this.toastsType.entries()) {\n if (!toastsDisplaying.find(toast => toast.id === toastInfo.id)) {\n this.toastsType.delete(toastType);\n }\n }\n },\n};\n\nToastManager.addListener(ToastBatcher.syncUItoast.bind(ToastBatcher));\n", "import React from 'react';\nimport { useAutoplayError } from '@100mslive/react-sdk';\nimport { Button, Dialog, Text } from '../../..';\n// @ts-ignore: No implicit Any\nimport { DialogContent, DialogRow } from '../../primitives/DialogContent';\n\nexport function AutoplayBlockedModal() {\n const { error, resetError, unblockAudio } = useAutoplayError();\n return (\n <Dialog.Root\n open={!!error}\n onOpenChange={value => {\n if (!value) {\n unblockAudio();\n }\n resetError();\n }}\n >\n <DialogContent title=\"Permission Error\" closeable={false}>\n <DialogRow>\n <Text variant=\"md\">\n The browser wants us to get a confirmation for playing the Audio. Please allow audio to proceed.\n </Text>\n </DialogRow>\n <DialogRow justify=\"end\">\n <Button\n variant=\"primary\"\n onClick={() => {\n unblockAudio();\n resetError();\n }}\n >\n Allow Audio\n </Button>\n </DialogRow>\n </DialogContent>\n </Dialog.Root>\n );\n}\n", "import React, { useEffect, useState } from 'react';\nimport { HMSNotificationTypes, useHMSNotifications } from '@100mslive/react-sdk';\nimport { Text } from '../../..';\n// @ts-ignore: No implicit Any\nimport { ErrorDialog } from '../../primitives/DialogContent';\n\nexport const InitErrorModal = () => {\n const notification = useHMSNotifications(HMSNotificationTypes.ERROR);\n const [showModal, setShowModal] = useState(false);\n const [info, setInfo] = useState({ title: 'Init Error', description: '' });\n\n useEffect(() => {\n const data = notification?.data;\n if (!data || data.action !== 'INIT') {\n return;\n }\n let description;\n let title;\n if (data.description.includes('role is invalid')) {\n description = 'This role does not exist for the given room. Try again with a valid role.';\n title = 'Invalid Role';\n } else if (data.description.includes('room is not active')) {\n title = 'Room is disabled';\n description =\n 'This room is disabled and cannot be joined. To enable the room, use the 100ms dashboard or the API.';\n } else {\n description = data.description;\n title = 'Init Error';\n }\n setInfo({ title, description });\n setShowModal(true);\n }, [notification]);\n\n return (\n <ErrorDialog open={showModal} onOpenChange={setShowModal} title={info.title}>\n <Text variant=\"sm\" css={{ wordBreak: 'break-word' }}>\n {info.description} <br />\n Current URL - {window.location.href}\n </Text>\n </ErrorDialog>\n );\n};\n", "import { useEffect } from 'react';\nimport { HMSNotificationTypes, useHMSNotifications } from '@100mslive/react-sdk';\n// @ts-ignore: No implicit Any\nimport { ToastBatcher } from '../Toast/ToastBatcher';\n// @ts-ignore: No implicit Any\nimport { useSubscribedNotifications } from '../AppData/useUISettings';\n// @ts-ignore: No implicit Any\nimport { SUBSCRIBED_NOTIFICATIONS } from '../../common/constants';\n\nconst notificationTypes = [\n HMSNotificationTypes.PEER_LIST,\n HMSNotificationTypes.PEER_JOINED,\n HMSNotificationTypes.PEER_LEFT,\n];\n\nexport const PeerNotifications = () => {\n const notification = useHMSNotifications(notificationTypes);\n const isPeerJoinSubscribed = useSubscribedNotifications(SUBSCRIBED_NOTIFICATIONS.PEER_JOINED);\n const isPeerLeftSubscribed = useSubscribedNotifications(SUBSCRIBED_NOTIFICATIONS.PEER_LEFT);\n useEffect(() => {\n if (!notification?.data) {\n return;\n }\n\n console.debug(`[${notification.type}]`, notification);\n switch (notification.type) {\n case HMSNotificationTypes.PEER_LIST:\n if (!isPeerJoinSubscribed || notification.data.length === 0) {\n return;\n }\n break;\n case HMSNotificationTypes.PEER_JOINED:\n if (!isPeerJoinSubscribed) {\n return;\n }\n break;\n case HMSNotificationTypes.PEER_LEFT:\n if (!isPeerLeftSubscribed) {\n return;\n }\n break;\n default:\n return;\n }\n\n ToastBatcher.showToast({ notification });\n }, [notification, isPeerJoinSubscribed, isPeerLeftSubscribed]);\n\n return null;\n};\n", "import React, { useEffect, useState } from 'react';\nimport { useMedia } from 'react-use';\nimport { HMSNotificationTypes, useHMSNotifications } from '@100mslive/react-sdk';\nimport { Button, config as cssConfig, Dialog, Flex, Text } from '../../..';\n// @ts-ignore: No implicit Any\nimport androidPermissionAlert from '../../images/android-perm-1.png';\n// @ts-ignore: No implicit Any\nimport iosPermissions from '../../images/ios-perm-0.png';\n// @ts-ignore: No implicit Any\nimport { isAndroid, isIOS } from '../../common/constants';\n\nexport function PermissionErrorModal() {\n const notification = useHMSNotifications(HMSNotificationTypes.ERROR);\n const [deviceType, setDeviceType] = useState('');\n const [isSystemError, setIsSystemError] = useState(false);\n const isMobile = useMedia(cssConfig.media.md);\n\n useEffect(() => {\n if (\n !notification ||\n (notification.data?.code !== 3001 && notification.data?.code !== 3011) ||\n (notification.data?.code === 3001 && notification.data?.message.includes('screen'))\n ) {\n return;\n }\n console.error(`[${notification.type}]`, notification);\n const errorMessage = notification.data?.message;\n const hasAudio = errorMessage.includes('audio');\n const hasVideo = errorMessage.includes('video');\n const hasScreen = errorMessage.includes('screen');\n if (hasAudio && hasVideo) {\n setDeviceType('camera and microphone');\n } else if (hasAudio) {\n setDeviceType('microphone');\n } else if (hasVideo) {\n setDeviceType('camera');\n } else if (hasScreen) {\n setDeviceType('screen');\n }\n setIsSystemError(notification.data.code === 3011);\n }, [notification]);\n\n return deviceType ? (\n <Dialog.Root open={!!deviceType}>\n <Dialog.Portal>\n <Dialog.Overlay />\n <Dialog.Content css={{ w: 'min(380px, 90%)', p: '$8' }}>\n <Dialog.Title\n css={{\n borderBottom: '1px solid $border_default',\n }}\n >\n {isMobile && isIOS ? (\n <img style={{ maxWidth: '100%', maxHeight: '100%' }} src={iosPermissions} alt=\"iOS Permission flow\" />\n ) : null}\n\n {/* Images for android */}\n {isMobile && isAndroid ? (\n <img\n src={androidPermissionAlert}\n style={{ maxWidth: '100%', maxHeight: '100%' }}\n alt=\"Android Permission flow \"\n />\n ) : null}\n\n <Text variant=\"h6\">We can't access your {deviceType}</Text>\n </Dialog.Title>\n\n <Text variant=\"sm\" css={{ pt: '$4', pb: '$10', color: '$on_surface_medium' }}>\n {/* IOS prompt text */}\n {isMobile && isIOS\n ? 'Enable permissions by reloading this page and clicking \"Allow\" on the pop-up, or change settings from the address bar.'\n : null}\n\n {/* Prompt for android devices */}\n {isMobile && isAndroid\n ? `To allow other users to see and hear you, click the blocked camera icon in your browser's address bar.`\n : null}\n\n {/* Prompt for desktops */}\n {!isMobile ? `Access to ${deviceType} is required. ` : null}\n\n {isSystemError && !isMobile\n ? `Enable permissions for ${deviceType}${deviceType === 'screen' ? 'share' : ''} from sytem settings`\n : null}\n {!isSystemError && !isMobile\n ? `Enable permissions for ${deviceType}${\n deviceType === 'screen' ? 'share' : ''\n } from address bar or browser settings.`\n : null}\n </Text>\n\n {/* CTA section */}\n {isMobile && isIOS ? (\n <>\n <Button onClick={() => window.location.reload()} css={{ w: '100%', mb: '$6' }}>\n Reload\n </Button>\n <Button outlined variant=\"standard\" onClick={() => setDeviceType('')} css={{ w: '100%' }}>\n Continue anyway\n </Button>\n </>\n ) : null}\n\n {isMobile && isAndroid ? (\n <>\n <Button onClick={() => setDeviceType('')} css={{ w: '100%', mb: '$6' }}>\n I've allowed access\n </Button>\n <Button outlined variant=\"standard\" onClick={() => setDeviceType('')} css={{ w: '100%' }}>\n Continue anyway\n </Button>\n </>\n ) : null}\n\n {!isMobile ? (\n <Flex justify=\"end\" css={{ w: '100%' }}>\n <Button outlined variant=\"standard\" onClick={() => setDeviceType('')}>\n Dismiss\n </Button>\n </Flex>\n ) : null}\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n ) : null;\n}\n", "import React, { useEffect, useState } from 'react';\nimport { HMSNotificationTypes, useHMSNotifications } from '@100mslive/react-sdk';\nimport { Dialog, Flex, Loading, Text } from '../../..';\n// @ts-ignore: No implicit Any\nimport { ToastConfig } from '../Toast/ToastConfig';\n// @ts-ignore: No implicit Any\nimport { ToastManager } from '../Toast/ToastManager';\n\nconst notificationTypes = [\n HMSNotificationTypes.RECONNECTED,\n HMSNotificationTypes.RECONNECTING,\n HMSNotificationTypes.ERROR,\n];\nlet notificationId: string | null = null;\n\nexport const ReconnectNotifications = () => {\n const notification = useHMSNotifications(notificationTypes);\n const [open, setOpen] = useState(false);\n useEffect(() => {\n if (!notification) {\n return;\n }\n if (notification.type === HMSNotificationTypes.ERROR && notification.data?.isTerminal) {\n setOpen(false);\n } else if (notification.type === HMSNotificationTypes.RECONNECTED) {\n notificationId = ToastManager.replaceToast(notificationId, ToastConfig.RECONNECTED.single());\n setOpen(false);\n } else if (notification.type === HMSNotificationTypes.RECONNECTING) {\n notificationId = ToastManager.replaceToast(\n notificationId,\n ToastConfig.RECONNECTING.single(notification.data?.message),\n );\n }\n }, [notification]);\n if (!open) return null;\n return (\n <Dialog.Root open={open} modal={true}>\n <Dialog.Portal container={document.getElementById('conferencing')}>\n <Dialog.Overlay />\n <Dialog.Content\n css={{\n width: 'fit-content',\n maxWidth: '80%',\n p: '$4 $8',\n position: 'relative',\n top: 'unset',\n bottom: '$9',\n transform: 'translate(-50%, -100%)',\n animation: 'none !important',\n }}\n >\n <Flex align=\"center\">\n <div style={{ display: 'inline', margin: '0.25rem' }}>\n <Loading size={16} />\n </div>\n <Text css={{ fontSize: '$space$8', color: '$on_surface_high' }}>\n You lost your network connection. Trying to reconnect.\n </Text>\n </Flex>\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n );\n};\n", "import React, { useEffect, useState } from 'react';\nimport {\n HMSChangeMultiTrackStateRequest,\n HMSNotificationTypes,\n useHMSActions,\n useHMSNotifications,\n} from '@100mslive/react-sdk';\nimport { MicOnIcon } from '@100mslive/react-icons';\n// @ts-ignore: No implicit Any\nimport { RequestDialog } from '../../primitives/DialogContent';\n\nexport const TrackBulkUnmuteModal = () => {\n const hmsActions = useHMSActions();\n const [muteNotification, setMuteNotification] = useState<HMSChangeMultiTrackStateRequest | null>(null);\n const notification = useHMSNotifications([\n HMSNotificationTypes.CHANGE_MULTI_TRACK_STATE_REQUEST,\n HMSNotificationTypes.ROOM_ENDED,\n HMSNotificationTypes.REMOVED_FROM_ROOM,\n ]);\n\n useEffect(() => {\n switch (notification?.type) {\n case HMSNotificationTypes.REMOVED_FROM_ROOM:\n case HMSNotificationTypes.ROOM_ENDED:\n setMuteNotification(null);\n break;\n case HMSNotificationTypes.CHANGE_MULTI_TRACK_STATE_REQUEST:\n if (notification?.data.enabled) {\n setMuteNotification(notification.data);\n }\n break;\n default:\n return;\n }\n }, [notification]);\n\n if (!muteNotification) {\n return null;\n }\n\n const { requestedBy: peer, tracks, enabled } = muteNotification;\n\n return (\n <RequestDialog\n title=\"Track Unmute Request\"\n body={`${peer?.name} has requested you to unmute your tracks.`}\n onOpenChange={(value: boolean) => !value && setMuteNotification(null)}\n onAction={() => {\n tracks.forEach(track => {\n hmsActions.setEnabledTrack(track.id, enabled);\n });\n setMuteNotification(null);\n }}\n Icon={MicOnIcon}\n />\n );\n};\n", "import { useEffect } from 'react';\nimport { HMSNotificationTypes, useHMSNotifications } from '@100mslive/react-sdk';\n\nconst notificationTypes = [\n HMSNotificationTypes.TRACK_ADDED,\n HMSNotificationTypes.TRACK_REMOVED,\n HMSNotificationTypes.TRACK_MUTED,\n HMSNotificationTypes.TRACK_UNMUTED,\n];\nexport const TrackNotifications = () => {\n const notification = useHMSNotifications(notificationTypes);\n useEffect(() => {\n if (notification) {\n console.debug(`[${notification.type}]`, notification);\n }\n }, [notification]);\n\n return null;\n};\n", "import React, { useEffect, useState } from 'react';\nimport {\n HMSChangeTrackStateRequest,\n HMSNotificationTypes,\n useHMSActions,\n useHMSNotifications,\n} from '@100mslive/react-sdk';\nimport { MicOnIcon } from '@100mslive/react-icons';\n// @ts-ignore: No implicit Any\nimport { RequestDialog } from '../../primitives/DialogContent';\n\nexport const TrackUnmuteModal = () => {\n const hmsActions = useHMSActions();\n const notification = useHMSNotifications([\n HMSNotificationTypes.CHANGE_TRACK_STATE_REQUEST,\n HMSNotificationTypes.ROOM_ENDED,\n HMSNotificationTypes.REMOVED_FROM_ROOM,\n ]);\n const [muteNotification, setMuteNotification] = useState<HMSChangeTrackStateRequest | null>(null);\n\n useEffect(() => {\n switch (notification?.type) {\n case HMSNotificationTypes.REMOVED_FROM_ROOM:\n case HMSNotificationTypes.ROOM_ENDED:\n setMuteNotification(null);\n break;\n case HMSNotificationTypes.CHANGE_TRACK_STATE_REQUEST:\n if (notification?.data.enabled) {\n setMuteNotification(notification.data);\n }\n break;\n default:\n return;\n }\n }, [notification]);\n\n if (!muteNotification) {\n return null;\n }\n\n const { requestedBy: peer, track, enabled } = muteNotification;\n\n return (\n <RequestDialog\n title=\"Track Unmute Request\"\n onOpenChange={(value: boolean) => !value && setMuteNotification(null)}\n body={`${peer?.name} has requested you to unmute your ${track?.source} ${track?.type}.`}\n onAction={() => {\n hmsActions.setEnabledTrack(track.id, enabled);\n setMuteNotification(null);\n }}\n Icon={MicOnIcon}\n />\n );\n};\n", "/* eslint-disable no-case-declarations */\nimport React, { useCallback, useEffect } from 'react';\nimport {\n HMSNotificationTypes,\n HMSRoleChangeRequest,\n HMSRoomState,\n selectHasPeerHandRaised,\n selectLocalPeerID,\n selectPeerNameByID,\n selectRoomState,\n useCustomEvent,\n useHMSNotifications,\n useHMSStore,\n useHMSVanillaStore,\n} from '@100mslive/react-sdk';\nimport { Button } from '../../..';\nimport { useUpdateRoomLayout } from '../../provider/roomLayoutProvider';\n// @ts-ignore: No implicit Any\nimport { ToastBatcher } from '../Toast/ToastBatcher';\n// @ts-ignore: No implicit Any\nimport { ToastManager } from '../Toast/ToastManager';\nimport { AutoplayBlockedModal } from './AutoplayBlockedModal';\nimport { InitErrorModal } from './InitErrorModal';\nimport { PeerNotifications } from './PeerNotifications';\nimport { PermissionErrorModal } from './PermissionErrorModal';\nimport { ReconnectNotifications } from './ReconnectNotifications';\nimport { TrackBulkUnmuteModal } from './TrackBulkUnmuteModal';\nimport { TrackNotifications } from './TrackNotifications';\nimport { TrackUnmuteModal } from './TrackUnmuteModal';\n// @ts-ignore: No implicit Any\nimport { usePollViewToggle } from '../AppData/useSidepane';\n// @ts-ignore: No implicit Any\nimport { useIsNotificationDisabled, useSubscribedNotifications } from '../AppData/useUISettings';\n// @ts-ignore: No implicit Any\nimport { getMetadata } from '../../common/utils';\n// @ts-ignore: No implicit Any\nimport { ROLE_CHANGE_DECLINED } from '../../common/constants';\nexport function Notifications() {\n const localPeerID = useHMSStore(selectLocalPeerID);\n const notification = useHMSNotifications();\n const subscribedNotifications = useSubscribedNotifications() || {};\n const roomState = useHMSStore(selectRoomState);\n const updateRoomLayoutForRole = useUpdateRoomLayout();\n const isNotificationDisabled = useIsNotificationDisabled();\n const vanillaStore = useHMSVanillaStore();\n const togglePollView = usePollViewToggle();\n\n const handleRoleChangeDenied = useCallback((request: HMSRoleChangeRequest & { peerName: string }) => {\n ToastManager.addToast({\n title: `${request.peerName} denied your request to join the ${request.role.name} role`,\n variant: 'error',\n });\n }, []);\n\n useCustomEvent({ type: ROLE_CHANGE_DECLINED, onEvent: handleRoleChangeDenied });\n\n useEffect(() => {\n if (!notification || isNotificationDisabled) {\n return;\n }\n switch (notification.type) {\n case HMSNotificationTypes.HAND_RAISE_CHANGED: {\n if (roomState !== HMSRoomState.Connected || notification.data.isLocal) {\n return;\n }\n const hasPeerHandRaised = vanillaStore.getState(selectHasPeerHandRaised(notification.data.id));\n if (hasPeerHandRaised) {\n ToastBatcher.showToast({ notification, type: 'RAISE_HAND' });\n }\n break;\n }\n case HMSNotificationTypes.METADATA_UPDATED:\n if (roomState !== HMSRoomState.Connected) {\n return;\n }\n // Don't show toast message when metadata is updated and raiseHand is false.\n // Don't show toast message in case of local peer.\n const metadata = getMetadata(notification.data?.metadata);\n if (!metadata?.isHandRaised || notification.data.isLocal) return;\n\n console.debug('Metadata updated', notification.data);\n if (!subscribedNotifications.METADATA_UPDATED) return;\n ToastBatcher.showToast({ notification, type: 'RAISE_HAND' });\n break;\n case HMSNotificationTypes.NAME_UPDATED:\n console.log(notification.data.id + ' changed their name to ' + notification.data.name);\n break;\n case HMSNotificationTypes.ERROR:\n if (notification.data?.isTerminal && notification.data?.action !== 'INIT') {\n if ([500, 6008].includes(notification.data?.code)) {\n ToastManager.addToast({\n title: `Error: ${notification.data?.message}`,\n });\n } else {\n ToastManager.addToast({\n title:\n notification.data?.message ||\n 'We couldn\u2019t reconnect you. When you\u2019re back online, try joining the room.',\n close: false,\n });\n }\n return;\n }\n // Autoplay error or user denied screen share (cancelled browser pop-up)\n if (notification.data?.code === 3008 || notification.data?.code === 3001 || notification.data?.code === 3011) {\n return;\n }\n if (notification.data?.action === 'INIT') {\n return;\n }\n if (!subscribedNotifications.ERROR) return;\n ToastManager.addToast({\n title: `Error: ${notification.data?.message} - ${notification.data?.description}`,\n });\n break;\n case HMSNotificationTypes.ROLE_UPDATED: {\n if (notification.data?.isLocal && notification.data?.roleName) {\n ToastManager.addToast({\n title: `You are now a ${notification.data.roleName}`,\n });\n updateRoomLayoutForRole?.(notification.data.roleName);\n }\n break;\n }\n case HMSNotificationTypes.CHANGE_TRACK_STATE_REQUEST:\n const track = notification.data?.track;\n if (!notification.data.enabled) {\n ToastManager.addToast({\n title: `Your ${track.source} ${track.type} was muted by\n ${notification.data.requestedBy?.name}.`,\n });\n }\n break;\n case HMSNotificationTypes.REMOVED_FROM_ROOM:\n case HMSNotificationTypes.ROOM_ENDED:\n ToastManager.addToast({\n title: `${notification.message}. \n ${notification.data.reason && `Reason: ${notification.data.reason}`}`,\n });\n break;\n case HMSNotificationTypes.DEVICE_CHANGE_UPDATE:\n ToastManager.addToast({\n title: notification.message,\n });\n break;\n\n case HMSNotificationTypes.POLL_STARTED:\n if (notification.data.startedBy !== localPeerID) {\n const pollStartedBy = vanillaStore.getState(selectPeerNameByID(notification.data.startedBy));\n ToastManager.addToast({\n title: `${pollStartedBy} started a ${notification.data.type}: ${notification.data.title}`,\n action: (\n <Button\n onClick={() => togglePollView(notification.data.id)}\n variant=\"standard\"\n css={{\n backgroundColor: '$surface_bright',\n fontWeight: '$semiBold',\n color: '$on_surface_high',\n p: '$xs $md',\n }}\n >\n Vote\n </Button>\n ),\n });\n }\n break;\n default:\n break;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [notification, subscribedNotifications.ERROR, subscribedNotifications.METADATA_UPDATED]);\n\n if (isNotificationDisabled) {\n return null;\n }\n\n return (\n <>\n <TrackUnmuteModal />\n <TrackBulkUnmuteModal />\n <TrackNotifications />\n {roomState === HMSRoomState.Connected ? <PeerNotifications /> : null}\n <ReconnectNotifications />\n <AutoplayBlockedModal />\n <PermissionErrorModal />\n <InitErrorModal />\n </>\n );\n}\n", "export { Notifications } from './Notifications';\n", "import React from 'react';\nimport { useSearchParam } from 'react-use';\nimport { Flex } from '../../..';\nimport { useHMSPrebuiltContext } from '../../AppContext';\nimport { useRoomLayout } from '../../provider/roomLayoutProvider';\n// @ts-ignore: No implicit Any\nimport FullPageProgress from '../FullPageProgress';\n// @ts-ignore: No implicit Any\nimport PreviewJoin from './PreviewJoin';\nimport { useRoomLayoutPreviewScreen } from '../../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';\n// @ts-ignore: No implicit Any\nimport { useAuthToken } from '../AppData/useUISettings';\n// @ts-ignore: No implicit Any\nimport { QUERY_PARAM_PREVIEW_AS_ROLE } from '../../common/constants';\n\nexport const PreviewScreen = () => {\n const { isPreviewScreenEnabled } = useRoomLayoutPreviewScreen();\n const skipPreview = !isPreviewScreenEnabled;\n const previewAsRole = useSearchParam(QUERY_PARAM_PREVIEW_AS_ROLE);\n const { userName } = useHMSPrebuiltContext();\n const initialName = userName || (skipPreview ? 'Beam' : '');\n const authToken = useAuthToken();\n const roomLayout = useRoomLayout();\n const { preview_header: previewHeader = {} } = roomLayout?.screens?.preview?.default?.elements || {};\n\n return (\n <Flex direction=\"column\" css={{ size: '100%' }}>\n <Flex\n css={{ flex: '1 1 0', position: 'relative', overflowY: 'auto', color: '$primary_default' }}\n justify=\"center\"\n align=\"center\"\n >\n {authToken && Object.keys(previewHeader).length > 0 ? (\n <PreviewJoin initialName={initialName} skipPreview={skipPreview} asRole={previewAsRole ?? undefined} />\n ) : (\n <FullPageProgress />\n )}\n </Flex>\n </Flex>\n );\n};\n", "import React from 'react';\nimport { Toast as ToastPrimitive } from '../../../Toast';\n\nexport const Toast = ({ title, description, close = true, open, duration, onOpenChange, icon, ...props }) => {\n return (\n <ToastPrimitive.HMSToast\n title={title}\n description={description}\n open={open}\n isClosable={close}\n onOpenChange={onOpenChange}\n duration={!close ? 600000 : duration}\n icon={icon}\n {...props}\n />\n );\n};\n", "import React, { useEffect, useState } from 'react';\nimport { selectIsConnectedToRoom, useHMSStore } from '@100mslive/react-sdk';\nimport { Toast as ToastPrimitive } from '../../../Toast';\nimport { Toast } from './Toast';\nimport { ToastManager } from './ToastManager';\nimport { MAX_TOASTS } from '../../common/constants';\n\nexport const ToastContainer = () => {\n const isConnected = useHMSStore(selectIsConnectedToRoom);\n const [toasts, setToast] = useState([]);\n useEffect(() => {\n ToastManager.addListener(setToast);\n return () => {\n ToastManager.removeListener(setToast);\n };\n }, []);\n return (\n <ToastPrimitive.Provider swipeDirection=\"left\" duration={3000}>\n {toasts.slice(0, MAX_TOASTS).map(toast => {\n return <Toast key={toast.id} {...toast} onOpenChange={value => !value && ToastManager.removeToast(toast.id)} />;\n })}\n <ToastPrimitive.Viewport\n css={{\n position: 'absolute',\n ...(!isConnected ? {} : { bottom: '$24' }),\n }}\n />\n </ToastPrimitive.Provider>\n );\n};\n", "import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useMedia } from 'react-use';\nimport {\n selectLocalPeerID,\n selectPeerNameByID,\n useCustomEvent,\n useHMSStore,\n useHMSVanillaStore,\n} from '@100mslive/react-sdk';\nimport { Box, Flex } from '../../Layout';\nimport { Text } from '../../Text';\nimport { config as cssConfig, keyframes } from '../../Theme';\nimport { EMOJI_REACTION_TYPE } from '../common/constants';\n\nlet emojiCount = 1;\n\nconst flyAndFade = keyframes({\n '20%': { opacity: 1 },\n '100%': { bottom: '60%', opacity: 0 },\n});\n\nconst wiggleLeftRight = keyframes({\n '0%': { marginLeft: '-50px' },\n '100%': { marginLeft: '50px' },\n});\n\nconst wiggleRightLeft = keyframes({\n '0%': { marginLeft: '50px' },\n '100%': { marginLeft: '-50px' },\n});\n\nconst getStartingPoints = isMobile => {\n let arr = [];\n const min = 5;\n const max = isMobile ? 30 : 20;\n const inc = isMobile ? 8 : 5;\n for (let i = min; i <= max; i += inc) {\n arr.push(i);\n }\n return arr;\n};\n\nexport function FlyingEmoji() {\n const localPeerId = useHMSStore(selectLocalPeerID);\n const vanillaStore = useHMSVanillaStore();\n const [emojis, setEmojis] = useState([]);\n const isMobile = useMedia(cssConfig.media.md);\n\n const startingPoints = useMemo(() => getStartingPoints(isMobile), [isMobile]);\n\n const showFlyingEmoji = useCallback(\n ({ emojiId, senderId }) => {\n if (!emojiId || !senderId || document.hidden) {\n return;\n }\n const senderPeerName = vanillaStore.getState(selectPeerNameByID(senderId));\n const nameToShow = localPeerId === senderId ? 'You' : senderPeerName;\n const startingPoint = startingPoints[emojiCount % startingPoints.length];\n const id = emojiCount++;\n\n setEmojis(emojis => {\n return [\n ...emojis,\n {\n id: id,\n emojiId: emojiId,\n senderName: nameToShow,\n startingPoint: `${startingPoint}%`,\n wiggleType: Math.random() < 0.5 ? 0 : 1,\n },\n ];\n });\n },\n [localPeerId, vanillaStore, startingPoints],\n );\n\n useCustomEvent({\n type: EMOJI_REACTION_TYPE,\n onEvent: showFlyingEmoji,\n });\n\n useEffect(() => {\n window.showFlyingEmoji = showFlyingEmoji;\n }, [showFlyingEmoji]);\n\n return (\n <Box\n css={{\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n overflow: 'hidden',\n pointerEvents: 'none',\n userSelect: 'none',\n zIndex: 999,\n }}\n >\n {emojis.map(emoji => {\n return (\n <Flex\n key={emoji.id}\n css={{\n left: emoji.startingPoint,\n flexDirection: 'column',\n alignItems: 'center',\n position: 'absolute',\n bottom: 0,\n animation: `${flyAndFade()} 5s forwards, ${\n emoji.wiggleType === 0 ? wiggleLeftRight() : wiggleRightLeft()\n } 1s ease-in-out infinite alternate`,\n }}\n onAnimationEnd={() => {\n setEmojis(emojis.filter(item => item.id !== emoji.id));\n }}\n >\n <Box>\n <em-emoji id={emoji.emojiId} size=\"48px\" set=\"apple\"></em-emoji>\n </Box>\n <Box\n css={{\n width: 'fit-content',\n padding: '$2 $4',\n background: '$surface_bright',\n borderRadius: '$1',\n }}\n >\n <Text\n css={{\n fontSize: '$space$6',\n lineHeight: '$xs',\n color: '$on_surface_high',\n }}\n >\n {emoji.senderName}\n </Text>\n </Box>\n </Flex>\n );\n })}\n </Box>\n );\n}\n", "import React, { useCallback } from 'react';\nimport { useCustomEvent, useHMSActions } from '@100mslive/react-sdk';\nimport { REMOTE_STOP_SCREENSHARE_TYPE } from '../common/constants';\n\nexport function RemoteStopScreenshare() {\n const actions = useHMSActions();\n\n const onRemoteStopScreenshare = useCallback(async () => {\n await actions.setScreenShareEnabled(false);\n }, [actions]);\n\n useCustomEvent({\n type: REMOTE_STOP_SCREENSHARE_TYPE,\n onEvent: onRemoteStopScreenshare,\n });\n\n return <></>;\n}\n", "import { useCallback, useEffect, useRef } from 'react';\nimport {\n HMSException,\n selectIsConnectedToRoom,\n selectPermissions,\n useHMSActions,\n useHMSStore,\n useRecordingStreaming,\n} from '@100mslive/react-sdk';\n// @ts-ignore: No implicit Any\nimport { useSetAppDataByKey } from '../AppData/useUISettings';\n// @ts-ignore: No implicit Any\nimport { useShowStreamingUI } from '../../common/hooks';\n// @ts-ignore: No implicit Any\nimport { APP_DATA } from '../../common/constants';\n\nexport const useAutoStartStreaming = () => {\n const [isHLSStarted, setHLSStarted] = useSetAppDataByKey(APP_DATA.hlsStarted);\n const permissions = useHMSStore(selectPermissions);\n const showStreamingUI = useShowStreamingUI();\n const hmsActions = useHMSActions();\n const isConnected = useHMSStore(selectIsConnectedToRoom);\n const { isHLSRunning, isRTMPRunning } = useRecordingStreaming();\n const streamStartedRef = useRef(false);\n\n const startHLS = useCallback(async () => {\n try {\n if (isHLSStarted || !showStreamingUI || isHLSRunning || isRTMPRunning) {\n return;\n }\n setHLSStarted(true);\n streamStartedRef.current = true;\n await hmsActions.startHLSStreaming();\n } catch (error) {\n if ((error as HMSException).message?.includes('beam already started')) {\n return;\n }\n streamStartedRef.current = false;\n setHLSStarted(false);\n }\n }, [hmsActions, isHLSRunning, isHLSStarted, setHLSStarted, showStreamingUI, isRTMPRunning]);\n\n useEffect(() => {\n if (!isHLSStarted && !isHLSRunning) {\n streamStartedRef.current = false;\n }\n }, [isHLSStarted, isHLSRunning]);\n\n useEffect(() => {\n if (!isConnected || streamStartedRef.current || !permissions?.hlsStreaming) {\n return;\n }\n // Is a streaming kit and broadcaster joins\n startHLS();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isConnected]);\n};\n", "import React, { MutableRefObject, useEffect, useRef } from 'react';\nimport { HMSStatsStoreWrapper, HMSStoreWrapper, IHMSNotifications } from '@100mslive/hms-video-store';\nimport { Layout, Logo, Screens, Theme, Typography } from '@100mslive/types-prebuilt';\nimport {\n HMSActions,\n HMSReactiveStore,\n HMSRoomProvider,\n selectIsConnectedToRoom,\n useHMSActions,\n useHMSStore,\n} from '@100mslive/react-sdk';\n// @ts-ignore: No implicit Any\nimport { AppData } from './components/AppData/AppData';\n// @ts-ignore: No implicit Any\nimport AuthToken from './components/AuthToken';\nimport { ConferenceScreen } from './components/ConferenceScreen';\n// @ts-ignore: No implicit Any\nimport { ErrorBoundary } from './components/ErrorBoundary';\n// @ts-ignore: No implicit Any\nimport { Init } from './components/init/Init';\n// @ts-ignore: No implicit Any\nimport { KeyboardHandler } from './components/Input/KeyboardInputManager';\nimport { LeaveScreen } from './components/LeaveScreen';\nimport { MwebLandscapePrompt } from './components/MwebLandscapePrompt';\nimport { Notifications } from './components/Notifications';\nimport { PreviewScreen } from './components/Preview/PreviewScreen';\n// @ts-ignore: No implicit Any\nimport { ToastContainer } from './components/Toast/ToastContainer';\nimport { RoomLayoutContext, RoomLayoutProvider, useRoomLayout } from './provider/roomLayoutProvider';\nimport { DialogContainerProvider } from '../context/DialogContext';\nimport { Box } from '../Layout';\nimport { globalStyles, HMSThemeProvider } from '../Theme';\nimport { HMSPrebuiltContext } from './AppContext';\nimport { AppStateContext, PrebuiltStates, useAppStateManager } from './AppStateContext';\n// @ts-ignore: No implicit Any\nimport { FlyingEmoji } from './plugins/FlyingEmoji';\n// @ts-ignore: No implicit Any\nimport { RemoteStopScreenshare } from './plugins/RemoteStopScreenshare';\n// @ts-ignore: No implicit Any\nimport { useIsNotificationDisabled } from './components/AppData/useUISettings';\nimport { useAutoStartStreaming } from './components/hooks/useAutoStartStreaming';\nimport {\n useRoomLayoutLeaveScreen,\n useRoomLayoutPreviewScreen,\n} from './provider/roomLayoutProvider/hooks/useRoomLayoutScreen';\n// @ts-ignore: No implicit Any\nimport { FeatureFlags } from './services/FeatureFlags';\n// @ts-ignore: No implicit Any\nimport { DEFAULT_PORTAL_CONTAINER } from './common/constants';\n\nexport type HMSPrebuiltOptions = {\n userName?: string;\n userId?: string;\n endpoints?: object;\n};\n\nexport type HMSPrebuiltProps = {\n roomCode?: string;\n logo?: Logo;\n typography?: Typography;\n themes?: Theme[];\n options?: HMSPrebuiltOptions;\n screens?: Screens;\n authToken?: string;\n roomId?: string;\n role?: string;\n onLeave?: () => void;\n onJoin?: () => void;\n /**\n * @remarks\n * Specify css selectors for the HTML element to be used as container for dialogs. Affects the positioning and focus of dialogs.\n */\n containerSelector?: string;\n};\n\nexport type HMSPrebuiltRefType = {\n hmsActions: HMSActions;\n hmsStore: HMSStoreWrapper;\n hmsStats: HMSStatsStoreWrapper;\n hmsNotifications: IHMSNotifications;\n};\n\nexport const HMSPrebuilt = React.forwardRef<HMSPrebuiltRefType, HMSPrebuiltProps>(\n (\n {\n roomCode = '',\n authToken = '',\n roomId = '',\n role = '',\n containerSelector = DEFAULT_PORTAL_CONTAINER,\n logo,\n typography,\n themes,\n options: { userName = '', userId = '', endpoints } = {},\n screens,\n onLeave,\n onJoin,\n },\n ref,\n ) => {\n const metadata = '';\n const reactiveStore = useRef<HMSPrebuiltRefType>();\n\n const [hydrated, setHydrated] = React.useState(false);\n useEffect(() => {\n setHydrated(true);\n const hms = new HMSReactiveStore();\n const hmsStore = hms.getStore();\n const hmsActions = hms.getActions();\n const hmsNotifications = hms.getNotifications();\n const hmsStats = hms.getStats();\n hms.triggerOnSubscribe();\n\n reactiveStore.current = {\n hmsActions,\n hmsStats,\n hmsStore,\n hmsNotifications,\n };\n }, []);\n\n useEffect(() => {\n if (!ref || !reactiveStore.current) {\n return;\n }\n (ref as MutableRefObject<HMSPrebuiltRefType>).current = { ...reactiveStore.current };\n }, [ref]);\n\n // leave room when component unmounts\n useEffect(\n () => () => {\n reactiveStore?.current?.hmsActions.leave();\n },\n [],\n );\n\n const endpointsObj = endpoints as\n | {\n init: string;\n tokenByRoomCode: string;\n tokenByRoomIdRole: string;\n roomLayout: string;\n }\n | undefined;\n const tokenByRoomCodeEndpoint: string = endpointsObj?.tokenByRoomCode || '';\n const initEndpoint: string = endpointsObj?.init || '';\n const roomLayoutEndpoint: string = endpointsObj?.roomLayout || '';\n const tokenByRoomIdRoleEndpoint: string = endpointsObj?.tokenByRoomIdRole || '';\n\n const overrideLayout: Partial<Layout> = {\n logo,\n themes,\n typography,\n screens,\n };\n\n if (!roomCode && !(authToken && roomId && role)) {\n console.error(`\n HMSPrebuilt can be initialised by providing: \n either just \"roomCode\" or \"authToken\" and \"roomId\" and \"role\".\n Please check if you are providing the above values for initialising prebuilt.\n `);\n throw Error('Incorrect initializing params for HMSPrebuilt component');\n }\n\n if (!hydrated) {\n return null;\n }\n\n globalStyles();\n\n return (\n <ErrorBoundary>\n <HMSPrebuiltContext.Provider\n value={{\n roomCode,\n roomId,\n role,\n containerSelector,\n onLeave,\n onJoin,\n userName,\n userId,\n endpoints: {\n tokenByRoomCode: tokenByRoomCodeEndpoint,\n init: initEndpoint,\n tokenByRoomIdRole: tokenByRoomIdRoleEndpoint,\n roomLayout: roomLayoutEndpoint,\n },\n }}\n >\n <HMSRoomProvider\n isHMSStatsOn={FeatureFlags.enableStatsForNerds}\n actions={reactiveStore.current?.hmsActions}\n store={reactiveStore.current?.hmsStore}\n notifications={reactiveStore.current?.hmsNotifications}\n stats={reactiveStore.current?.hmsStats}\n >\n <RoomLayoutProvider roomLayoutEndpoint={roomLayoutEndpoint} overrideLayout={overrideLayout}>\n <RoomLayoutContext.Consumer>\n {data => {\n const layout = data?.layout;\n const theme: Theme = layout?.themes?.[0] || ({} as Theme);\n const { typography } = layout || {};\n let fontFamily = ['sans-serif'];\n if (typography?.font_family) {\n fontFamily = [`${typography?.font_family}`, ...fontFamily];\n }\n\n return (\n <HMSThemeProvider\n // issue is with stichtes caching the theme using the theme name / class\n // no updates to the themes are fired if the name is same.\n // TODO: cache the theme and do deep check to trigger name change in the theme\n themeType={`${theme.name}-${Date.now()}`}\n theme={{\n //@ts-ignore: Prebuilt theme to match stiches theme\n colors: theme.palette,\n fonts: {\n //@ts-ignore: font list to match token types of stiches\n sans: fontFamily,\n },\n }}\n >\n <AppData appDetails={metadata} tokenEndpoint={tokenByRoomIdRoleEndpoint} />\n <Init />\n <DialogContainerProvider dialogContainerSelector={containerSelector}>\n <Box\n id={DEFAULT_PORTAL_CONTAINER.slice(1)} //Skips the #\n css={{\n bg: '$background_dim',\n size: '100%',\n lineHeight: '1.5',\n '-webkit-text-size-adjust': '100%',\n position: 'relative',\n }}\n >\n <AppRoutes\n authTokenByRoomCodeEndpoint={tokenByRoomCodeEndpoint}\n defaultAuthToken={authToken}\n />\n </Box>\n </DialogContainerProvider>\n </HMSThemeProvider>\n );\n }}\n </RoomLayoutContext.Consumer>\n </RoomLayoutProvider>\n </HMSRoomProvider>\n </HMSPrebuiltContext.Provider>\n </ErrorBoundary>\n );\n },\n);\n\nHMSPrebuilt.displayName = 'HMSPrebuilt';\n\nconst AppStates = ({ activeState }: { activeState: PrebuiltStates }) => {\n const { isPreviewScreenEnabled } = useRoomLayoutPreviewScreen();\n const { isLeaveScreenEnabled } = useRoomLayoutLeaveScreen();\n useAutoStartStreaming();\n\n if (activeState === PrebuiltStates.PREVIEW && isPreviewScreenEnabled) {\n return <PreviewScreen />;\n } else if (activeState === PrebuiltStates.LEAVE && isLeaveScreenEnabled) {\n return <LeaveScreen />;\n }\n return <ConferenceScreen />;\n};\n\nconst BackSwipe = () => {\n const isConnectedToRoom = useHMSStore(selectIsConnectedToRoom);\n const hmsActions = useHMSActions();\n useEffect(() => {\n const onRouteLeave = async () => {\n if (isConnectedToRoom) {\n await hmsActions.leave();\n }\n };\n window.addEventListener('popstate', onRouteLeave);\n return () => {\n window.removeEventListener('popstate', onRouteLeave);\n };\n }, [hmsActions, isConnectedToRoom]);\n return null;\n};\n\nfunction AppRoutes({\n authTokenByRoomCodeEndpoint,\n defaultAuthToken,\n}: {\n authTokenByRoomCodeEndpoint: string;\n defaultAuthToken?: string;\n}) {\n const roomLayout = useRoomLayout();\n const isNotificationsDisabled = useIsNotificationDisabled();\n const { activeState, rejoin } = useAppStateManager();\n\n return (\n <AppStateContext.Provider value={{ rejoin }}>\n <>\n <ToastContainer />\n <Notifications />\n <MwebLandscapePrompt />\n <BackSwipe />\n {!isNotificationsDisabled && <FlyingEmoji />}\n <RemoteStopScreenshare />\n <KeyboardHandler />\n <AuthToken authTokenByRoomCodeEndpoint={authTokenByRoomCodeEndpoint} defaultAuthToken={defaultAuthToken} />\n {roomLayout && activeState && <AppStates activeState={activeState} />}\n </>\n </AppStateContext.Provider>\n );\n}\n", "export * from './App';\n", "import { Indicator, Root } from '@radix-ui/react-progress';\nimport { styled } from '../Theme';\n\nconst StyledIndicator = styled(Indicator, { h: '$4', backgroundColor: '$primary_default' });\n\nconst StyledRoot = styled(Root, {\n w: '100%',\n h: '$4',\n borderRadius: '$round',\n backgroundColor: '$secondary_dim',\n overflow: 'hidden',\n});\n\nexport const Progress = {\n Root: StyledRoot,\n Content: StyledIndicator,\n};\n", "export * from './Button';\nexport * from './Text';\nexport * from './IconButton';\nexport * from './Layout';\nexport * from './Avatar';\nexport * from './Divider';\nexport * from './Switch';\nexport * from './Tooltip';\nexport * from './Select';\nexport * from './Slider';\nexport * from './Modal';\nexport * from './Loading';\nexport * from './Input';\nexport * from './VideoTile';\nexport * from './VideoList';\nexport * from './Pagination';\nexport * from './Dropdown';\nexport { textEllipsis, flexCenter, slideLeftAndFade } from './utils';\nexport * from './Video';\nexport * from './TileMenu';\nexport * from './AudioLevel';\nexport * from './Popover';\nexport * from './Stats';\nexport * from './Theme';\nexport * from './Checkbox';\nexport * from './Label';\nexport * from './RadioGroup';\nexport * from './Toast';\nexport * from './Accordion';\nexport * from './Fieldset';\nexport * from './Footer';\nexport * as HMSSelect from './ReactSelect';\nexport * from './Tabs';\nexport * from './QRCode';\nexport * from './Link';\nexport * from './Collapsible';\nexport * from './Prebuilt';\nexport * from './Progress';\nexport * from './context/DialogContext';\n"],
|
5
|
-
"mappings": "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",
|
5
|
+
"mappings": "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",
|
6
6
|
"names": ["defaultStitchesThemeMap", "import_react", "theme", "merge", "import_react", "import_react", "ThemeTypes", "React", "isBrowser", "updatedTheme", "import_react", "_a", "_b", "React", "init_Loading", "import_react", "init_Loading", "React", "_a", "_b", "init_Button", "init_Text", "init_IconButton", "_a", "_b", "import_react", "_a", "_b", "css", "React", "init_Avatar", "init_Divider", "import_react", "React", "init_Switch", "import_react", "React", "init_Tooltip", "import_react", "import_react_icons", "Root", "_a", "React", "init_Select", "import_react", "Root", "Track", "Range", "Thumb", "init_Tooltip", "_a", "_b", "React", "init_Slider", "import_react", "import_react_icons", "init_IconButton", "React", "React", "import_react", "import_react", "import_react", "css", "React", "import_react", "import_react_icons", "_a", "_b", "css", "React", "init_Input", "Root", "Overlay", "Root", "Container", "Root", "init_Dropdown", "import_react", "_a", "_b", "React", "init_Video", "Root", "Flex", "theme", "import_react", "import_react_sdk", "import_react", "import_react_sdk", "React", "init_AudioLevel", "StyledContent", "StyledTrigger", "Popover", "Root", "Root", "Label", "_a", "_b", "React", "import_react", "import_react_sdk", "init_Tooltip", "init_Stats", "init_Checkbox", "Label", "init_Label", "init_RadioGroup", "import_react", "import_react_icons", "init_IconButton", "init_Text", "css", "React", "_a", "_b", "init_Toast", "import_react", "import_react_icons", "StyledTrigger", "StyledContent", "React", "_a", "_b", "css", "init_Accordion", "init_Fieldset", "Root", "init_Footer", "StyledTrigger", "StyledContent", "StyledItem", "Select", "Select", "init_ReactSelect", "StyledTrigger", "StyledContent", "init_Tabs", "import_react", "React", "init_QRCode", "import_react", "init_Text", "_a", "_b", "Icon", "React", "init_Link", "init_Collapsible", "_a", "roleName", "import_react", "import_react_sdk", "_a", "_b", "import_react", "import_react_sdk", "_a", "_b", "value", "import_react", "import_react_sdk", "import_react", "import_react_sdk", "React", "appData", "config", "import_react", "React", "import_react", "import_react_icons", "init_DialogContent", "init_Button", "init_Divider", "init_IconButton", "init_Input", "init_Label", "init_Select", "init_Text", "_a", "_b", "Icon", "css", "React", "Label", "import_react", "import_react_sdk", "Link", "init_DialogContent", "React", "error", "IconButton", "init_IconButton", "import_react", "import_react_icons", "init_Dropdown", "init_Tooltip", "init_IconButton", "React", "import_react", "import_react_sdk", "import_react_icons", "init_Text", "init_Tooltip", "init_IconButton", "videoInput", "React", "audioInput", "import_react", "React", "import_react", "import_react", "import_react_use", "import_react_sdk", "import_react_icons", "init_Dropdown", "init_Tooltip", "init_IconButton", "data", "_a", "React", "import_react", "import_react_icons", "init_Button", "init_Text", "React", "init_IconButton", "import_react", "init_Text", "css", "React", "import_react", "import_react_icons", "init_Button", "init_Text", "React", "import_react", "import_react_sdk", "import_react_icons", "init_Dropdown", "init_Tooltip", "React", "import_react", "DialogPrimitive", "StyledContent", "React", "_a", "_b", "init_Sheet", "import_react", "import_react_sdk", "import_react_icons", "init_Sheet", "init_Tooltip", "React", "import_react", "import_react_use", "import_react_sdk", "React", "_a", "import_react_sdk", "_a", "_b", "isMicActive", "isCamActive", "import_react", "import_react_sdk", "import_react_icons", "init_IconButton", "React", "import_react", "React", "init_constants", "import_react", "init_constants", "_a", "layout", "_b", "import_react", "import_lodash", "React", "merge", "_a", "import_react", "import_join_form", "import_react_sdk", "_a", "_b", "import_react", "import_react_sdk", "import_react_icons", "init_Button", "init_Checkbox", "init_Dropdown", "init_Label", "init_Text", "init_Tooltip", "_a", "_b", "React", "Label", "import_react", "import_react_icons", "React", "css", "import_react", "import_react_sdk", "import_react_icons", "_a", "React", "_b", "import_react", "init_Label", "init_Switch", "React", "Label", "import_react", "import_react_sdk", "React", "import_react", "import_react_icons", "React", "import_react_icons", "import_react", "import_react_use", "import_react_icons", "init_Divider", "init_IconButton", "init_Sheet", "init_Tabs", "init_Text", "React", "_a", "Icon", "Content", "import_react", "import_react_icons", "init_DialogContent", "css", "React", "Label", "import_react", "import_react_sdk", "import_react_icons", "React", "import_react", "import_react_sdk", "StatsRow", "formatBytes", "init_Divider", "init_Dropdown", "init_Label", "init_Switch", "init_Text", "_a", "React", "Label", "_b", "import_react", "import_react_sdk", "import_react_icons", "init_DialogContent", "_a", "_b", "React", "selectedRole", "import_react", "screenfull", "import_react", "import_react_icons", "React", "import_react", "init_Button", "init_Label", "init_RadioGroup", "init_Text", "init_DialogContent", "React", "Label", "import_react", "import_react_sdk", "import_react_icons", "init_Sheet", "init_DialogContent", "React", "import_react", "import_react_sdk", "import_react", "import_react_sdk", "import_react_icons", "init_IconButton", "React", "init_utils", "import_react", "import_react_sdk", "import_react", "import_react_sdk", "init_utils", "import_react", "import_react_sdk", "import_react", "import_react_sdk", "import_react", "import_react_sdk", "import_react_icons", "_a", "_b", "React", "_a", "_b", "import_react", "import_react_use", "import_react_sdk", "import_react_icons", "StartRecording", "init_Sheet", "init_utils", "_a", "React", "Popover", "import_react", "init_Text", "_a", "_b", "React", "import_react", "import_react_icons", "init_Button", "init_Input", "init_Text", "React", "import_react", "import_react_use", "import_react_sdk", "init_Sheet", "React", "import_react", "import_react_use", "import_react_sdk", "import_react_icons", "MODALS", "init_Sheet", "init_IconButton", "init_utils", "React", "import_react", "import_react_use", "React", "import_react", "import_react_icons", "init_Tooltip", "init_IconButton", "React", "init_IconButton", "import_react", "init_DialogContent", "React", "import_react", "React", "import_react", "import_react_icons", "init_DialogContent", "React", "import_react", "import_react_icons", "init_DialogContent", "React", "React", "import_react", "init_DialogContent", "React", "MODALS", "import_react", "import_react_sdk", "import_react_icons", "import_react", "import_react_sdk", "import_react_icons", "init_Tooltip", "init_utils", "css", "React", "import_react", "import_react_sdk", "import_react_icons", "init_IconButton", "React", "theme", "import_react", "import_react_sdk", "import_react_icons", "_a", "theme", "React", "import_react", "import_react_sdk", "import_react_icons", "init_Dropdown", "init_Text", "init_utils", "_a", "_b", "React", "data", "_a", "import_react", "import_react_use", "import_react_sdk", "import_react_icons", "init_Accordion", "init_Text", "init_utils", "React", "import_react", "import_react_use", "import_react_sdk", "import_react_icons", "init_IconButton", "init_utils", "React", "_a", "_b", "import_react", "import_react_icons", "init_IconButton", "React", "import_react", "import_hms_virtual_background", "import_react_sdk", "import_react_icons", "init_Loading", "init_Tooltip", "init_IconButton", "React", "import_react", "import_react_use", "import_react_sdk", "VirtualBackground", "Footer", "init_Footer", "React", "_a", "_b", "React", "import_react", "import_react_sdk", "init_Button", "init_Text", "import_react", "init_Text", "React", "css", "import_react", "import_react_icons", "Wrapper", "React", "import_react", "init_Loading", "init_Text", "css", "React", "import_react", "import_react_sdk", "import_react_icons", "React", "_a", "import_react", "import_react_use", "import_join_form", "import_react_sdk", "import_react_icons", "_a", "_b", "React", "import_react", "import_react_use", "import_react_sdk", "import_react_icons", "VirtualBackground", "Container", "init_AudioLevel", "init_IconButton", "init_utils", "React", "_a", "_b", "import_react", "import_react_use", "init_Sheet", "React", "import_react", "import_react_sdk", "React", "_a", "import_react", "import_react_use", "import_react_sdk", "import_react_icons", "init_Slider", "init_Text", "React", "_a", "import_react", "import_react_use", "import_react_sdk", "import_react_icons", "init_TileMenu", "init_Sheet", "init_Text", "_a", "_b", "theme", "React", "import_react", "import_react_use", "import_react_sdk", "import_react_icons", "init_VideoTile", "init_TileMenu", "init_AudioLevel", "init_Avatar", "init_Stats", "init_Video", "init_utils", "React", "import_react", "React", "import_react", "import_react_use", "import_react_sdk", "import_react_icons", "init_Text", "init_IconButton", "init_VideoTile", "React", "Draggable", "import_react", "import_react_icons", "init_Pagination", "React", "import_react", "init_VideoTile", "React", "_a", "_b", "import_react", "import_react_use", "import_react_sdk", "_a", "React", "page", "import_react", "import_react_use", "import_react_sdk", "init_Pagination", "import_react", "Root", "init_VideoTile", "React", "css", "_a", "_b", "import_react", "import_react_use", "init_Pagination", "_a", "React", "page", "import_react", "_a", "React", "page", "import_react", "import_react_sdk", "init_Pagination", "import_react", "import_react_sdk", "import_react_icons", "init_Button", "init_Text", "React", "import_react", "import_react_use", "import_screenfull", "import_react_sdk", "import_react_icons", "Tile", "init_TileMenu", "init_Stats", "init_Video", "screenfull", "React", "import_react", "import_react_use", "import_react_sdk", "init_Pagination", "_a", "React", "import_react_sdk", "_a", "import_react", "import_react_sdk", "React", "import_react", "import_react_sdk", "React", "smallTilePeers", "import_react", "import_react_sdk", "React", "import_react", "import_react_sdk", "import_react_icons", "Container", "React", "import_react", "React", "React", "import_react", "import_react_sdk", "import_react_icons", "init_utils", "Container", "_a", "id", "import_react", "import_react_icons", "init_Button", "init_Text", "React", "import_react", "import_react_icons", "init_Input", "init_IconButton", "React", "import_react", "React", "import_react", "React", "import_react", "import_react_icons", "React", "_a", "Label", "import_react", "React", "Label", "import_react", "import_react_icons", "init_utils", "_a", "index", "text", "options", "React", "import_react", "import_react_icons", "React", "_a", "_b", "uuid", "React", "Container", "questions", "question", "import_react", "import_uuid", "import_react_sdk", "import_react_icons", "import_react", "import_react_sdk", "import_react_icons", "QuestionCard", "init_utils", "_a", "React", "import_react", "_a", "React", "QuestionCard", "import_react", "_a", "_b", "React", "QuestionCard", "import_react", "import_react_sdk", "import_react_icons", "_a", "React", "Container", "import_react", "React", "import_react", "import_react_sdk", "import_react_sdk", "import_react", "import_react_use", "import_react_window", "import_react_sdk", "import_react_icons", "formatTime", "Link", "init_Dropdown", "init_IconButton", "init_Text", "init_Tooltip", "React", "_a", "_b", "AutoSizer", "import_react", "import_react_sdk", "import_react", "_a", "_b", "React", "Popover", "Picker", "data", "import_react", "import_react_use", "import_react_sdk", "import_react_icons", "TextArea", "_a", "import_react", "import_react_use", "import_react_sdk", "import_react_icons", "init_Button", "init_Text", "React", "_a", "_b", "import_react", "import_react_intersection_observer", "import_react_use", "import_react_window", "import_react_sdk", "import_react_icons", "VirtualizedParticipantItem", "init_IconButton", "init_Loading", "init_Text", "init_utils", "React", "data", "_a", "search", "import_react", "import_react_use", "import_react_sdk", "import_react_icons", "ParticipantCount", "init_Tooltip", "init_utils", "React", "_a", "import_react", "import_react_use", "import_react_sdk", "init_VideoTile", "_a", "_b", "React", "import_react", "import_react_icons", "init_Text", "React", "_a", "_b", "React", "import_react", "import_react_icons", "init_Text", "init_IconButton", "import_react", "_a", "_b", "React", "import_react", "import_react_icons", "React", "getDurationFromSeconds", "import_react", "hlsPlayer", "_a", "videoProgress", "bufferProgress", "React", "import_react", "import_hls_player", "hlsPlayer", "getDurationFromSeconds", "React", "import_react", "import_react_icons", "hlsPlayer", "_a", "React", "volume", "init_HMSVideo", "import_react", "FullScreenButton", "React", "React", "import_react", "init_DialogContent", "React", "import_react", "import_react_icons", "import_react", "import_react_use", "import_hls_player", "import_screenfull", "import_react_sdk", "import_react_icons", "init_HMSVideo", "init_IconButton", "init_Loading", "init_Text", "init_Tooltip", "_a", "theme", "screenfull", "showLoader", "_b", "data", "React", "FullScreenButton", "import_react", "import_react_sdk", "HLSView", "React", "_a", "_b", "import_react", "import_react_sdk", "import_react_icons", "init_common", "init_Divider", "init_Label", "init_Sheet", "init_Text", "init_IconButton", "React", "_a", "Label", "import_react", "import_react_use", "import_react_sdk", "Header", "init_common", "React", "init_Header", "import_react", "import_react_sdk", "init_Footer", "init_Header", "_a", "_b", "React", "Header", "Footer", "import_react", "import_react_icons", "init_Button", "init_Text", "init_Tooltip", "React", "import_react", "_a", "React", "import_react", "import_react_sdk", "import_react", "import_react", "import_react_use", "import_react_sdk", "React", "import_react", "import_react_icons", "init_Button", "init_Text", "init_Header", "React", "Header", "import_react", "import_react_icons", "init_Button", "init_Text", "React", "import_react", "import_react_sdk", "import_react_icons", "init_Button", "React", "_a", "_b", "React", "import_react", "import_react_sdk", "init_DialogContent", "import_react", "import_react_sdk", "init_DialogContent", "data", "React", "import_react", "import_react_sdk", "_a", "_b", "React", "import_react", "import_react_use", "import_react_sdk", "import_react", "import_react_sdk", "notificationTypes", "_a", "_b", "React", "import_react", "import_react_sdk", "import_react_icons", "init_DialogContent", "React", "import_react", "import_react_sdk", "notificationTypes", "import_react", "import_react_sdk", "import_react_icons", "init_DialogContent", "React", "_a", "_b", "React", "import_react", "import_react_sdk", "init_utils", "init_Notifications", "import_react", "import_react_use", "_a", "_b", "React", "import_react", "Toast", "init_Toast", "_a", "_b", "React", "import_react", "import_react_sdk", "init_Toast", "React", "Toast", "emojis", "React", "import_react", "import_react_use", "import_react_sdk", "init_Text", "React", "import_react", "import_react_sdk", "import_react", "import_react_sdk", "_a", "React", "import_react", "import_react_sdk", "init_Notifications", "_a", "_b", "data", "theme", "typography", "StyledRoot", "Label", "Popover", "init_Button", "init_Text", "init_IconButton", "init_Avatar", "init_Divider", "init_Switch", "init_Tooltip", "init_Select", "init_Slider", "init_Loading", "init_Input", "init_Dropdown", "init_Video", "init_AudioLevel", "init_Stats", "init_Checkbox", "init_Label", "init_RadioGroup", "init_Toast", "init_Accordion", "init_Fieldset", "init_Footer", "init_ReactSelect", "init_Tabs", "init_QRCode", "init_Link", "init_Collapsible"]
|
7
7
|
}
|