@100mslive/roomkit-react 0.3.5-alpha.2 → 0.3.5-alpha.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -38,7 +38,7 @@ import {
38
38
  useRoomLayoutHeader,
39
39
  useSidepaneToggle,
40
40
  useTheme
41
- } from "./chunk-ZE5KXBZW.js";
41
+ } from "./chunk-DRL44CU7.js";
42
42
 
43
43
  // src/Prebuilt/layouts/HLSView.jsx
44
44
  init_define_process_env();
@@ -213,9 +213,8 @@ var HMSVideo = forwardRef((_a, videoRef) => {
213
213
  margin: "0 auto",
214
214
  objectFit: "contain",
215
215
  width: "auto",
216
- height: "auto",
217
- maxWidth: "100%",
218
- maxHeight: "100%"
216
+ height: "100%",
217
+ maxWidth: "100%"
219
218
  },
220
219
  ref: videoRef,
221
220
  playsInline: true,
@@ -1598,4 +1597,4 @@ var HLSView_default = HLSView;
1598
1597
  export {
1599
1598
  HLSView_default as default
1600
1599
  };
1601
- //# sourceMappingURL=HLSView-I6DCFRWE.js.map
1600
+ //# sourceMappingURL=HLSView-CEIGYUBS.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/Prebuilt/layouts/HLSView.jsx", "../src/Prebuilt/components/HlsStatsOverlay.jsx", "../src/Prebuilt/components/HMSVideo/index.ts", "../src/Prebuilt/components/HMSVideo/Controls.jsx", "../src/Prebuilt/components/HMSVideo/HMSVideo.jsx", "../src/Prebuilt/components/HMSVideo/PlayPauseSeekControls.tsx", "../src/Prebuilt/components/HMSVideo/PlayPauseButton.tsx", "../src/Prebuilt/components/HMSVideo/PlayerContext.tsx", "../src/Prebuilt/components/HMSVideo/SeekControl.tsx", "../src/Prebuilt/components/HMSVideo/VideoProgress.tsx", "../src/Prebuilt/components/HMSVideo/utils.ts", "../src/Prebuilt/components/HMSVideo/VideoTime.tsx", "../src/Prebuilt/components/HMSVideo/VolumeControl.tsx", "../src/Prebuilt/components/HMSVideo/FullscreenButton.tsx", "../src/Prebuilt/components/HMSVideo/HLSAutoplayBlockedPrompt.tsx", "../src/Prebuilt/components/HMSVideo/HLSCaptionSelector.tsx", "../src/Prebuilt/components/HMSVideo/HLSQualitySelector.tsx", "../src/Prebuilt/components/HMSVideo/MwebHLSViewTitle.tsx"],
4
+ "sourcesContent": ["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useFullscreen, useMedia, usePrevious, useToggle } from 'react-use';\nimport { HLSPlaybackState, HMSHLSPlayer, HMSHLSPlayerEvents } from '@100mslive/hls-player';\nimport screenfull from 'screenfull';\nimport { match, P } from 'ts-pattern';\nimport {\n HLSPlaylistType,\n HMSNotificationTypes,\n selectAppData,\n selectHLSState,\n selectPeerNameByID,\n selectPollByID,\n useHMSActions,\n useHMSNotifications,\n useHMSStore,\n useHMSVanillaStore,\n} from '@100mslive/react-sdk';\nimport { ColoredHandIcon, GoLiveIcon } from '@100mslive/react-icons';\nimport { ChatToggle } from '../components/Footer/ChatToggle';\nimport { HlsStatsOverlay } from '../components/HlsStatsOverlay';\nimport { HMSVideoPlayer } from '../components/HMSVideo';\nimport { FullScreenButton } from '../components/HMSVideo/FullscreenButton';\nimport { HLSAutoplayBlockedPrompt } from '../components/HMSVideo/HLSAutoplayBlockedPrompt';\nimport { HLSCaptionSelector } from '../components/HMSVideo/HLSCaptionSelector';\nimport { HLSQualitySelector } from '../components/HMSVideo/HLSQualitySelector';\nimport { HLSViewTitle } from '../components/HMSVideo/MwebHLSViewTitle';\nimport { HMSPlayerContext } from '../components/HMSVideo/PlayerContext';\nimport { LeaveRoom } from '../components/Leave/LeaveRoom';\nimport { ToastManager } from '../components/Toast/ToastManager';\nimport { Button } from '../../Button';\nimport { IconButton } from '../../IconButton';\nimport { Box, Flex } from '../../Layout';\nimport { Loading } from '../../Loading';\nimport { Text } from '../../Text';\nimport { config, theme, useTheme } from '../../Theme';\nimport { Tooltip } from '../../Tooltip';\nimport { useSidepaneToggle } from '../components/AppData/useSidepane';\nimport { useRoomLayoutConferencingScreen } from '../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';\nimport { useIsLandscape, useKeyboardHandler } from '../common/hooks';\nimport { APP_DATA, EMOJI_REACTION_TYPE, POLL_STATE, POLL_VIEWS, SIDE_PANE_OPTIONS } from '../common/constants';\n\nlet hlsPlayer;\nconst toastMap = {};\n\nconst ToggleChat = ({ isFullScreen = false }) => {\n const { elements } = useRoomLayoutConferencingScreen();\n const sidepane = useHMSStore(selectAppData(APP_DATA.sidePane));\n const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);\n const showChat = !!elements?.chat;\n const isMobile = useMedia(config.media.md);\n const hmsActions = useHMSActions();\n\n useEffect(() => {\n match({ sidepane, isMobile, showChat, isFullScreen })\n .with({ isFullScreen: true }, () => {\n hmsActions.setAppData(APP_DATA.sidePane, '');\n })\n .with({ isMobile: true, showChat: true, sidepane: P.when(value => !value) }, () => {\n toggleChat();\n })\n .with({ showChat: false, isMobile: true, sidepane: SIDE_PANE_OPTIONS.CHAT }, () => {\n hmsActions.setAppData(APP_DATA.sidePane, '');\n })\n .otherwise(() => {\n //do nothing\n });\n }, [sidepane, isMobile, toggleChat, showChat, hmsActions, isFullScreen]);\n return null;\n};\nconst HLSView = () => {\n const videoRef = useRef(null);\n const hlsViewRef = useRef();\n const { elements } = useRoomLayoutConferencingScreen();\n const hlsState = useHMSStore(selectHLSState);\n const enablHlsStats = useHMSStore(selectAppData(APP_DATA.hlsStats));\n const notification = useHMSNotifications(HMSNotificationTypes.POLL_STOPPED);\n const hmsActions = useHMSActions();\n const { themeType } = 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 [isCaptionEnabled, setIsCaptionEnabled] = useState(true);\n const [hasCaptions, setHasCaptions] = useState(false);\n const [currentSelectedQuality, setCurrentSelectedQuality] = useState(null);\n const [isHlsAutoplayBlocked, setIsHlsAutoplayBlocked] = useState(false);\n const [hoverControlsVisible, setHoverControlsVisible] = useState({\n seekForward: false,\n pausePlay: false,\n seekBackward: false,\n });\n const [isPaused, setIsPaused] = useState(false);\n const [show, toggle] = useToggle(false);\n const lastHlsUrl = usePrevious(hlsUrl);\n const vanillaStore = useHMSVanillaStore();\n const [controlsVisible, setControlsVisible] = useState(true);\n const [isUserSelectedAuto, setIsUserSelectedAuto] = useState(true);\n const [qualityDropDownOpen, setQualityDropDownOpen] = useState(false);\n const controlsRef = useRef(null);\n const controlsTimerRef = useRef();\n const [seekProgress, setSeekProgress] = useState(false);\n const isFullScreenSupported = screenfull.isEnabled;\n const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);\n const showChat = !!elements?.chat;\n\n const isMobile = useMedia(config.media.md);\n const isLandscape = useIsLandscape();\n\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 useEffect(() => {\n if (streamEnded && lastHlsUrl !== hlsUrl) {\n setStreamEnded(false);\n }\n }, [hlsUrl, streamEnded, lastHlsUrl]);\n\n useEffect(() => {\n if (!notification) return;\n const toastID = toastMap?.[notification.data.id];\n if (toastID) {\n ToastManager.removeToast(toastMap[notification.data.id]);\n delete toastMap[notification.data.id];\n }\n }, [notification]);\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 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 * initialize HMSHLSPlayer and add event listeners.\n */\n useEffect(() => {\n let videoEl = videoRef.current;\n const manifestLoadedHandler = ({ layers }) => {\n setAvailableLayers(layers);\n setHasCaptions(hlsPlayer?.hasCaptions());\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 const duration = rest.duration;\n const parsedPayload = parsePayload(payload);\n // check if poll happened\n if (parsedPayload.startsWith('poll:')) {\n const pollId = parsedPayload.substr(parsedPayload.indexOf(':') + 1);\n const poll = vanillaStore.getState(selectPollByID(pollId));\n const pollStartedBy = vanillaStore.getState(selectPeerNameByID(poll.startedBy)) || 'Participant';\n // launch poll\n if (!toastMap[pollId]) {\n const toastID = ToastManager.addToast({\n title: `${pollStartedBy} started a ${poll.type}: ${poll.title}`,\n action: (\n <Button\n onClick={() => {\n hmsActions.setAppData(APP_DATA.pollState, {\n [POLL_STATE.pollInView]: pollId,\n [POLL_STATE.view]: POLL_VIEWS.VOTE,\n });\n hmsActions.setAppData(APP_DATA.sidePane, SIDE_PANE_OPTIONS.POLLS);\n }}\n variant=\"standard\"\n css={{\n backgroundColor: '$surface_bright',\n fontWeight: '$semiBold',\n color: '$on_surface_high',\n p: '$xs $md',\n }}\n >\n {poll.type === 'quiz' ? 'Answer' : 'Vote'}\n </Button>\n ),\n duration: Infinity,\n });\n toastMap[pollId] = toastID;\n }\n return;\n }\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 => {\n setIsPaused(data.state === HLSPlaybackState.paused);\n setHoverControlsVisible({\n ...hoverControlsVisible,\n pausePlay: true,\n });\n setTimeout(() => {\n setHoverControlsVisible({\n ...hoverControlsVisible,\n pausePlay: false,\n });\n }, 2000);\n };\n const captionEnabledEventHandler = isCaptionEnabled => {\n setIsCaptionEnabled(isCaptionEnabled);\n };\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.CAPTION_ENABLED, captionEnabledEventHandler);\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.CAPTION_ENABLED, captionEnabledEventHandler);\n\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 };\n }\n }, [hlsUrl, vanillaStore, hmsActions]);\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 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 }\n if (!isFullScreen && controlsTimerRef.current) {\n clearTimeout(controlsTimerRef.current);\n }\n controlsTimerRef.current = setTimeout(() => {\n if (!seekProgress) {\n setControlsVisible(false);\n }\n }, 5000);\n return () => {\n if (controlsTimerRef.current) {\n clearTimeout(controlsTimerRef.current);\n }\n };\n }, [controlsVisible, isFullScreen, seekProgress, qualityDropDownOpen]);\n\n const onSeekTo = useCallback(\n seek => {\n match({ isLandscape, isMobile, seek })\n .with({ seek: -10, isMobile: false, isLandscape: false }, () => {\n setHoverControlsVisible({ ...hoverControlsVisible, seekBackward: true });\n setTimeout(() => {\n setHoverControlsVisible({\n ...hoverControlsVisible,\n seekBackward: false,\n });\n }, 1000);\n })\n .with({ seek: 10, isMobile: false, isLandscape: false }, () => {\n setHoverControlsVisible({ ...hoverControlsVisible, seekForward: true });\n setTimeout(() => {\n setHoverControlsVisible({\n ...hoverControlsVisible,\n seekForward: false,\n });\n }, 1000);\n })\n .otherwise(() => null);\n hlsPlayer?.seekTo(videoRef.current?.currentTime + seek);\n },\n [hoverControlsVisible, isLandscape, isMobile],\n );\n const onDoubleClickHandler = useCallback(\n event => {\n if (!(isMobile || isLandscape) || hlsState?.variants[0]?.playlist_type !== HLSPlaylistType.DVR) {\n return;\n }\n const sidePercentage = (event.screenX * 100) / event.target.clientWidth;\n // there is space for pause/unpause button\n if (sidePercentage < 45) {\n setHoverControlsVisible({\n ...hoverControlsVisible,\n seekBackward: true,\n });\n onSeekTo(-10);\n } else {\n setHoverControlsVisible({\n ...hoverControlsVisible,\n seekForward: true,\n });\n onSeekTo(10);\n }\n setTimeout(() => {\n setHoverControlsVisible({\n ...hoverControlsVisible,\n seekForward: false,\n seekBackward: false,\n });\n }, 1000);\n },\n [hlsState?.variants, hoverControlsVisible, isLandscape, isMobile, onSeekTo],\n );\n\n const onClickHandler = useCallback(async () => {\n match({ isMobile, isLandscape, playlist_type: hlsState?.variants[0]?.playlist_type })\n .with({ playlist_type: HLSPlaylistType.DVR, isMobile: false, isLandscape: false }, async () => {\n if (isPaused) {\n await hlsPlayer?.play();\n } else {\n hlsPlayer?.pause();\n }\n })\n .when(\n ({ isMobile, isLandscape }) => isMobile || isLandscape,\n () => {\n setControlsVisible(value => !value);\n if (controlsTimerRef.current) {\n clearTimeout(controlsTimerRef.current);\n }\n },\n )\n .otherwise(() => null);\n }, [hlsState?.variants, isLandscape, isMobile, isPaused]);\n\n const onHoverHandler = useCallback(\n event => {\n event.preventDefault();\n if (isMobile || isLandscape) {\n return;\n }\n if (event.type === 'mouseenter' || qualityDropDownOpen) {\n setControlsVisible(true);\n return;\n }\n if (event.type === 'mouseleave' && !seekProgress) {\n setControlsVisible(false);\n } else if (!controlsVisible && event.type === 'mousemove') {\n setControlsVisible(true);\n if (controlsTimerRef.current) {\n clearTimeout(controlsTimerRef.current);\n }\n }\n },\n [controlsVisible, isLandscape, isMobile, qualityDropDownOpen, seekProgress],\n );\n\n const keyHandler = useKeyboardHandler(isPaused, hlsPlayer);\n\n if (!hlsUrl || streamEnded) {\n return (\n <>\n <ToggleChat />\n {hlsViewRef.current && (isMobile || isLandscape) && (\n <Box css={{ position: 'fixed', left: '$4', top: '$4', zIndex: 11 }}>\n <LeaveRoom screenType=\"hls_live_streaming\" container={hlsViewRef.current} />\n </Box>\n )}\n <Flex\n key=\"hls-viewer\"\n id={`hls-viewer-${themeType}`}\n ref={hlsViewRef}\n direction={isMobile || isLandscape ? 'column' : 'row'}\n justify=\"center\"\n css={{\n flex: isLandscape ? '2 1 0' : '1 1 0',\n }}\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} /> : <GoLiveIcon 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 </Flex>\n </>\n );\n }\n return (\n <Flex\n key=\"hls-viewer\"\n id={`hls-viewer-${themeType}`}\n ref={hlsViewRef}\n direction={isMobile || isLandscape ? 'column' : 'row'}\n justify=\"center\"\n css={{\n flex: isLandscape ? '2 1 0' : '1 1 0',\n transition: 'all 0.3s ease-in-out',\n '&:fullscreen': {\n '& video': {\n height: 'unset !important',\n },\n },\n }}\n >\n {hlsViewRef.current && (isMobile || isLandscape) && (\n <Box css={{ position: 'fixed', left: '$4', top: '$4', zIndex: 11 }}>\n <LeaveRoom screenType=\"hls_live_streaming\" container={hlsViewRef.current} />\n </Box>\n )}\n\n <HMSPlayerContext.Provider value={{ hlsPlayer }}>\n {hlsStatsState?.url && enablHlsStats && !(isMobile || isLandscape) ? (\n <HlsStatsOverlay hlsStatsState={hlsStatsState} onClose={sfnOverlayClose} />\n ) : null}\n <Flex\n id=\"hls-player-container\"\n align=\"center\"\n justify=\"center\"\n css={{\n size: '100%',\n margin: '0 auto',\n '@md': {\n height: 'auto',\n },\n outline: 'none',\n }}\n onKeyDown={async event => {\n if (hlsState?.variants[0]?.playlist_type === HLSPlaylistType.DVR) {\n await keyHandler(event);\n }\n }}\n tabIndex=\"0\"\n >\n {!(isMobile || isLandscape) && (\n <HLSAutoplayBlockedPrompt open={isHlsAutoplayBlocked} unblockAutoPlay={unblockAutoPlay} />\n )}\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 onClick={onClickHandler}\n onDoubleClick={e => {\n onDoubleClickHandler(e);\n }}\n >\n <>\n {!(isMobile || isLandscape) && (\n <Flex\n align=\"center\"\n justify=\"between\"\n css={{\n position: 'absolute',\n bg: '#00000066',\n display: 'inline-flex',\n gap: '$2',\n zIndex: 1,\n size: '100%',\n }}\n >\n {!showLoader && hlsState?.variants[0]?.playlist_type === HLSPlaylistType.DVR && (\n <HMSVideoPlayer.PlayPauseSeekControls.Overlay\n isPaused={isPaused}\n showControls={controlsVisible}\n hoverControlsVisible={hoverControlsVisible}\n />\n )}\n </Flex>\n )}\n {isMobile || isLandscape ? (\n <>\n {!showLoader && hlsState?.variants[0]?.playlist_type === HLSPlaylistType.DVR && (\n <HMSVideoPlayer.PlayPauseSeekControls.Overlay\n isPaused={isPaused}\n showControls={controlsVisible}\n hoverControlsVisible={hoverControlsVisible}\n />\n )}\n <Flex\n ref={controlsRef}\n direction=\"column\"\n justify=\"start\"\n align=\"start\"\n css={{\n position: 'absolute',\n top: '0',\n left: '0',\n width: '100%',\n flexShrink: 0,\n zIndex: 1,\n visibility: controlsVisible ? `` : `hidden`,\n opacity: controlsVisible ? `1` : '0',\n }}\n >\n <HMSVideoPlayer.Controls.Root\n css={{\n p: '$4 $8',\n }}\n >\n <HMSVideoPlayer.Controls.Right>\n {(isLandscape || (isMobile && isFullScreen)) && showChat && (\n <ChatToggle\n onClick={() => {\n if (isFullScreen) {\n toggle();\n }\n // toggle and closing fullscreen takes few ms, to make it synced we are calling settimeout\n setTimeout(() => {\n toggleChat();\n }, 0);\n }}\n />\n )}\n {hasCaptions && !isHlsAutoplayBlocked && <HLSCaptionSelector isEnabled={isCaptionEnabled} />}\n {hlsViewRef.current && availableLayers.length > 0 && !isHlsAutoplayBlocked ? (\n <HLSQualitySelector\n layers={availableLayers}\n onOpenChange={setQualityDropDownOpen}\n open={qualityDropDownOpen}\n selection={currentSelectedQuality}\n onQualityChange={handleQuality}\n isAuto={isUserSelectedAuto}\n containerRef={hlsViewRef.current}\n />\n ) : null}\n <HLSAutoplayBlockedPrompt open={isHlsAutoplayBlocked} unblockAutoPlay={unblockAutoPlay} />\n </HMSVideoPlayer.Controls.Right>\n </HMSVideoPlayer.Controls.Root>\n </Flex>\n </>\n ) : null}\n {controlsVisible && (\n <Flex\n ref={controlsRef}\n direction={isMobile ? 'columnReverse' : 'column'}\n justify=\"end\"\n align=\"start\"\n css={{\n position: 'absolute',\n bottom: isFullScreen && hlsState?.variants[0]?.playlist_type === HLSPlaylistType.DVR ? '$8' : '0',\n left: '0',\n zIndex: 1,\n background:\n isMobile || isLandscape\n ? ''\n : `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 }}\n >\n {hlsState?.variants[0]?.playlist_type === HLSPlaylistType.DVR ? (\n <HMSVideoPlayer.Progress seekProgress={seekProgress} setSeekProgress={setSeekProgress} />\n ) : null}\n <HMSVideoPlayer.Controls.Root\n css={{\n p: '$4 $8',\n }}\n >\n <HMSVideoPlayer.Controls.Left>\n {!(isMobile || isLandscape) && (\n <>\n {hlsState?.variants[0]?.playlist_type === HLSPlaylistType.DVR ? (\n <>\n <HMSVideoPlayer.PlayPauseSeekControls.Button isPaused={isPaused} onSeekTo={onSeekTo} />\n {!isVideoLive ? <HMSVideoPlayer.Duration /> : null}\n </>\n ) : null}\n <HMSVideoPlayer.Volume />\n </>\n )}\n <IconButton\n css={{ px: '$2' }}\n onClick={async e => {\n e.stopPropagation();\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={isVideoLive ? 'Live' : '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=\"$body1\"\n css={{\n c: isVideoLive ? '$on_surface_high' : '$on_surface_medium',\n fontWeight: '$semiBold',\n }}\n >\n {isVideoLive ? 'LIVE' : 'GO LIVE'}\n </Text>\n </Flex>\n </Tooltip>\n </IconButton>\n {(isMobile || isLandscape) &&\n !isVideoLive &&\n hlsState?.variants[0]?.playlist_type === HLSPlaylistType.DVR ? (\n <HMSVideoPlayer.Duration />\n ) : null}\n </HMSVideoPlayer.Controls.Left>\n\n <HMSVideoPlayer.Controls.Right>\n {hasCaptions && !(isMobile || isLandscape) && <HLSCaptionSelector isEnabled={isCaptionEnabled} />}\n {availableLayers.length > 0 && !(isMobile || isLandscape) ? (\n <HLSQualitySelector\n layers={availableLayers}\n onOpenChange={setQualityDropDownOpen}\n open={qualityDropDownOpen}\n selection={currentSelectedQuality}\n onQualityChange={handleQuality}\n isAuto={isUserSelectedAuto}\n />\n ) : null}\n {isFullScreenSupported ? (\n <FullScreenButton isFullScreen={isFullScreen} onToggle={toggle} />\n ) : null}\n </HMSVideoPlayer.Controls.Right>\n </HMSVideoPlayer.Controls.Root>\n </Flex>\n )}\n </>\n </HMSVideoPlayer.Root>\n </Flex>\n </HMSPlayerContext.Provider>\n <ToggleChat isFullScreen={isFullScreen} />\n {isMobile && !isFullScreen && <HLSViewTitle />}\n </Flex>\n );\n};\n\nexport default HLSView;\n", "import React, { memo } from 'react';\nimport { CrossIcon } 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 <CrossIcon />\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", "// @ts-ignore\nimport { LeftControls, RightControls, VideoControls } from './Controls';\n// @ts-ignore\nimport { HMSVideo } from './HMSVideo';\nimport { PlayPauseSeekControls, PlayPauseSeekOverlayControls } from './PlayPauseSeekControls';\nimport { VideoProgress } from './VideoProgress';\nimport { VideoTime } from './VideoTime';\nimport { VolumeControl } from './VolumeControl';\n\nexport const HMSVideoPlayer = {\n Root: HMSVideo,\n Progress: VideoProgress,\n Duration: VideoTime,\n Volume: VolumeControl,\n Controls: {\n Root: VideoControls,\n Left: LeftControls,\n Right: RightControls,\n },\n PlayPauseSeekControls: {\n Overlay: PlayPauseSeekOverlayControls,\n Button: PlayPauseSeekControls,\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 '../../../Layout';\n\nexport const HMSVideo = forwardRef(({ children, ...props }, videoRef) => {\n return (\n <Flex\n data-testid=\"hms-video\"\n css={{\n size: '100%',\n position: 'relative',\n justifyContent: 'center',\n transition: 'all 0.3s ease-in-out',\n '@md': {\n height: 'auto',\n '& video': {\n height: '$60 !important',\n },\n },\n '& video::cue': {\n color: 'white',\n whiteSpace: 'pre-line',\n fontSize: '$sm',\n fontStyle: 'normal',\n fontWeight: '$regular',\n lineHeight: '$sm',\n letterSpacing: '0.25px',\n },\n '& video::-webkit-media-text-track-display': {\n padding: '0 $4',\n boxShadow: '0px 1px 3px 0px #000000A3',\n },\n '& video::-webkit-media-text-track-container': {\n fontSize: '$space$10 !important',\n },\n }}\n direction=\"column\"\n {...props}\n >\n <video\n style={{\n margin: '0 auto',\n objectFit: 'contain',\n width: 'auto',\n height: '100%',\n maxWidth: '100%',\n }}\n ref={videoRef}\n playsInline\n disablePictureInPicture\n />\n {children}\n </Flex>\n );\n});\n", "import React from 'react';\nimport { useMedia } from 'react-use';\nimport { BackwardArrowIcon, ForwardArrowIcon } from '@100mslive/react-icons';\nimport { Box, Flex } from '../../../Layout';\nimport { Text } from '../../../Text';\nimport { config } from '../../../Theme';\nimport { PlayPauseButton } from './PlayPauseButton';\nimport { SeekControl } from './SeekControl';\nimport { useIsLandscape } from '../../common/hooks';\n\n// desktop buttons\nexport const PlayPauseSeekControls = ({\n isPaused,\n onSeekTo,\n}: {\n isPaused: boolean;\n onSeekTo: (value: number) => void;\n}) => {\n return (\n <>\n <SeekControl\n onClick={e => {\n e.stopPropagation();\n onSeekTo(-10);\n }}\n title=\"backward\"\n >\n <BackwardArrowIcon width={20} height={20} />\n </SeekControl>\n <PlayPauseButton isPaused={isPaused} />\n <SeekControl\n onClick={e => {\n e.stopPropagation();\n onSeekTo(10);\n }}\n title=\"forward\"\n >\n <ForwardArrowIcon width={20} height={20} />\n </SeekControl>\n </>\n );\n};\n\n// overlay handlers\nexport const PlayPauseSeekOverlayControls = ({\n isPaused,\n showControls,\n hoverControlsVisible,\n}: {\n isPaused: boolean;\n showControls: boolean;\n hoverControlsVisible: {\n seekBackward: boolean;\n seekForward: boolean;\n pausePlay: boolean;\n };\n}) => {\n const isMobile = useMedia(config.media.md);\n const isLandscape = useIsLandscape();\n\n if (!isMobile && !isLandscape) {\n // show desktopOverflow icons\n return (\n <>\n <Flex\n css={{\n bg: 'rgba(0, 0, 0, 0.6)',\n r: '$round',\n size: '$24',\n visibility: hoverControlsVisible.seekBackward ? `` : `hidden`,\n opacity: hoverControlsVisible.seekBackward ? `1` : '0',\n }}\n direction=\"column\"\n align=\"center\"\n >\n <SeekControl title=\"backward\">\n <BackwardArrowIcon width={52} height={52} />\n </SeekControl>\n <Text variant=\"body2\" css={{ fontWeight: '$regular' }}>\n 10 secs\n </Text>\n </Flex>\n <Box\n css={{\n bg: 'rgba(0, 0, 0, 0.6)',\n r: '$round',\n visibility: hoverControlsVisible.pausePlay ? `` : `hidden`,\n opacity: hoverControlsVisible.pausePlay ? `1` : '0',\n }}\n >\n <PlayPauseButton isPaused={isPaused} width={48} height={48} />\n </Box>\n <Flex\n css={{\n bg: 'rgba(0, 0, 0, 0.6)',\n r: '$round',\n size: '$24',\n visibility: hoverControlsVisible.seekForward ? `` : `hidden`,\n opacity: hoverControlsVisible.seekForward ? `1` : '0',\n }}\n direction=\"column\"\n align=\"center\"\n >\n <SeekControl title=\"forward\">\n <ForwardArrowIcon width={52} height={52} />\n </SeekControl>\n <Text variant=\"body2\" css={{ fontWeight: '$regular' }}>\n 10 secs\n </Text>\n </Flex>\n </>\n );\n }\n\n return (\n <Flex\n align=\"center\"\n justify=\"center\"\n css={{\n position: 'absolute',\n bg: '#00000066',\n display: 'inline-flex',\n gap: '$2',\n zIndex: 1,\n size: '100%',\n visibility: showControls ? `` : `hidden`,\n opacity: showControls ? `1` : '0',\n }}\n >\n <SeekControl\n title=\"backward\"\n css={{\n visibility: hoverControlsVisible.seekBackward ? `` : `hidden`,\n opacity: hoverControlsVisible.seekBackward ? `1` : '0',\n }}\n >\n <BackwardArrowIcon width={32} height={32} />\n </SeekControl>\n <Box\n css={{\n bg: 'rgba(0, 0, 0, 0.6)',\n r: '$round',\n }}\n >\n <PlayPauseButton isPaused={isPaused} width={48} height={48} />\n </Box>\n <SeekControl\n title=\"forward\"\n css={{\n visibility: hoverControlsVisible.seekForward ? `` : `hidden`,\n opacity: hoverControlsVisible.seekForward ? `1` : '0',\n }}\n >\n <ForwardArrowIcon width={32} height={32} />\n </SeekControl>\n </Flex>\n );\n};\n", "import React, { MouseEvent } from 'react';\nimport { PauseIcon, PlayIcon } from '@100mslive/react-icons';\nimport { IconButton, Tooltip } from '../../..';\nimport { useHMSPlayerContext } from './PlayerContext';\n\nexport const PlayPauseButton = ({\n isPaused,\n width = 20,\n height = 20,\n}: {\n isPaused: boolean;\n width?: number;\n height?: number;\n}) => {\n const { hlsPlayer } = useHMSPlayerContext();\n const onClick = async (event: MouseEvent) => {\n event?.stopPropagation();\n isPaused ? await hlsPlayer?.play() : hlsPlayer?.pause();\n };\n return (\n <Tooltip title={isPaused ? 'Play' : 'Pause'} side=\"top\">\n <IconButton onClick={onClick} data-testid=\"play_pause_btn\">\n {isPaused ? <PlayIcon width={width} height={height} /> : <PauseIcon width={width} height={height} />}\n </IconButton>\n </Tooltip>\n );\n};\n", "import React, { useContext } from 'react';\nimport { HMSHLSPlayer } from '@100mslive/hls-player';\n\ntype IHMSPlayerContext = {\n hlsPlayer?: HMSHLSPlayer;\n};\n\nexport const HMSPlayerContext = React.createContext<IHMSPlayerContext>({\n hlsPlayer: undefined,\n});\n\nexport const useHMSPlayerContext = () => {\n const context = useContext(HMSPlayerContext);\n return context;\n};\n", "import React, { MouseEventHandler } from 'react';\nimport { IconButton, Tooltip } from '../../..';\n\nexport const SeekControl = ({\n title,\n onClick,\n children,\n css,\n}: {\n title: string;\n onClick?: MouseEventHandler<HTMLButtonElement>;\n css?: any;\n children: React.ReactNode;\n}) => {\n return (\n <Tooltip title={title} side=\"top\">\n <IconButton onClick={onClick} data-testid=\"backward_forward_arrow_btn\" css={css}>\n {children}\n </IconButton>\n </Tooltip>\n );\n};\n", "import React, { useCallback, useEffect, useState } from 'react';\nimport { Box, Flex, Slider } from '../../..';\nimport { useHMSPlayerContext } from './PlayerContext';\nimport { getPercentage } from './utils';\n\nexport const VideoProgress = ({\n seekProgress,\n setSeekProgress,\n}: {\n seekProgress: boolean;\n setSeekProgress: (value: boolean) => void;\n}) => {\n const { hlsPlayer } = useHMSPlayerContext();\n const [videoProgress, setVideoProgress] = useState<number>(0);\n const [bufferProgress, setBufferProgress] = useState(0);\n const videoEl = hlsPlayer?.getVideoElement();\n\n const setProgress = useCallback(() => {\n if (!videoEl) {\n return;\n }\n const duration = isFinite(videoEl.duration) ? videoEl.duration : videoEl.seekable?.end(0) || 0;\n const videoProgress = Math.floor(getPercentage(videoEl.currentTime, duration));\n let bufferProgress = 0;\n if (videoEl.buffered.length > 0) {\n bufferProgress = Math.floor(getPercentage(videoEl.buffered?.end(0), duration));\n }\n if (!isNaN(videoProgress)) {\n setVideoProgress(videoProgress);\n }\n if (!isNaN(bufferProgress)) {\n setBufferProgress(bufferProgress);\n }\n }, [videoEl]);\n const timeupdateHandler = useCallback(() => {\n if (!videoEl || seekProgress) {\n return;\n }\n setProgress();\n }, [seekProgress, setProgress, videoEl]);\n useEffect(() => {\n if (!videoEl) {\n return;\n }\n videoEl.addEventListener('timeupdate', timeupdateHandler);\n return function cleanup() {\n videoEl?.removeEventListener('timeupdate', timeupdateHandler);\n };\n }, [setProgress, timeupdateHandler, videoEl]);\n\n const onProgress = (progress: number[]) => {\n const progress1 = Math.floor(getPercentage(progress[0], 100));\n const videoEl = hlsPlayer?.getVideoElement();\n if (!videoEl) {\n return;\n }\n const duration = isFinite(videoEl.duration) ? videoEl.duration : videoEl.seekable?.end(0) || 0;\n const currentTime = (progress1 * duration) / 100;\n hlsPlayer?.seekTo(currentTime);\n setProgress();\n };\n\n if (!videoEl) {\n return null;\n }\n return (\n <Flex align=\"center\" css={{ cursor: 'pointer', h: '$2', alignSelf: 'stretch' }}>\n <Slider\n id=\"video-actual-rest\"\n css={{\n cursor: 'pointer',\n h: '$2',\n zIndex: 1,\n transition: `all .2s ease .5s`,\n }}\n min={0}\n max={100}\n step={1}\n value={[videoProgress]}\n showTooltip={false}\n onValueChange={onProgress}\n onPointerDown={() => setSeekProgress(true)}\n onPointerUp={() => setSeekProgress(false)}\n thumbStyles={{ w: '$6', h: '$6' }}\n />\n <Box\n id=\"video-buffer\"\n css={{\n h: '$2',\n width: `${bufferProgress - videoProgress}%`,\n background: '$on_surface_high',\n position: 'absolute',\n left: `${videoProgress}%`,\n opacity: '25%',\n }}\n />\n </Flex>\n );\n};\n", "export function getPercentage(a: number, b: number) {\n return (a / b) * 100;\n}\n\n/**\n * Take a time in seconds and return its equivalent time in hh:mm:ss format\n * @param {number} timeInSeconds if given as floating point value, it is floored.\n *\n * @returns a string representing timeInSeconds in HH:MM:SS format.\n */\nexport function getDurationFromSeconds(timeInSeconds: number) {\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, useState } from 'react';\nimport { HMSHLSPlayerEvents } from '@100mslive/hls-player';\nimport { Text } from '../../../Text';\nimport { useHMSPlayerContext } from './PlayerContext';\nimport { getDurationFromSeconds } from './utils';\n\nexport const VideoTime = () => {\n const { hlsPlayer } = useHMSPlayerContext();\n const [videoTime, setVideoTime] = useState('');\n\n useEffect(() => {\n const timeupdateHandler = (currentTime: number) => {\n const videoEl = hlsPlayer?.getVideoElement();\n if (videoEl) {\n const duration = isFinite(videoEl.duration) ? videoEl.duration : videoEl.seekable.end(0) || 0;\n setVideoTime(getDurationFromSeconds(duration - currentTime));\n } else {\n setVideoTime(getDurationFromSeconds(currentTime));\n }\n };\n if (hlsPlayer) {\n hlsPlayer.on(HMSHLSPlayerEvents.CURRENT_TIME, timeupdateHandler);\n }\n return function cleanup() {\n hlsPlayer?.off(HMSHLSPlayerEvents.CURRENT_TIME, timeupdateHandler);\n };\n }, [hlsPlayer]);\n\n return hlsPlayer ? (\n <Text\n variant=\"body1\"\n css={{\n minWidth: '$16',\n c: '$on_surface_medium',\n display: 'flex',\n justifyContent: 'center',\n fontWeight: '$regular',\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 '../../..';\nimport { useHMSPlayerContext } from './PlayerContext';\n\nexport const VolumeControl = () => {\n const { hlsPlayer } = useHMSPlayerContext();\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 }: { volume: number; onClick: () => void }) => {\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 React from 'react';\nimport { ExpandIcon, ShrinkIcon } from '@100mslive/react-icons';\nimport { Flex, IconButton, Tooltip } from '../../..';\n\nexport const FullScreenButton = ({ isFullScreen, onToggle }: { isFullScreen: boolean; onToggle: () => void }) => {\n return (\n <Tooltip title={`${isFullScreen ? 'Exit' : 'Go'} fullscreen`} side=\"top\">\n <IconButton css={{ margin: '0px' }} onClick={onToggle} key=\"fullscreen_btn\" data-testid=\"fullscreen_btn\">\n <Flex>{isFullScreen ? <ShrinkIcon /> : <ExpandIcon />}</Flex>\n </IconButton>\n </Tooltip>\n );\n};\n", "import React from 'react';\nimport { useMedia } from 'react-use';\nimport { VolumeTwoIcon } from '@100mslive/react-icons';\nimport { Button, config, Dialog, IconButton, Text } from '../../..';\n// @ts-ignore\nimport { DialogContent, DialogRow } from '../../primitives/DialogContent';\nimport { useIsLandscape } from '../../common/hooks';\n\nexport function HLSAutoplayBlockedPrompt({\n open,\n unblockAutoPlay,\n}: {\n open: boolean;\n unblockAutoPlay: () => Promise<void>;\n}) {\n const isLandscape = useIsLandscape();\n const isMobile = useMedia(config.media.md);\n if ((isMobile || isLandscape) && open) {\n return (\n <IconButton\n css={{\n border: '1px solid white',\n bg: 'white',\n color: '#000',\n r: '$2',\n }}\n onClick={async () => await unblockAutoPlay()}\n >\n <VolumeTwoIcon width=\"32\" height=\"32\" />\n <Text\n variant=\"body1\"\n css={{\n fontWeight: '$semiBold',\n px: '$2',\n color: '#000',\n }}\n >\n Tap To Unmute\n </Text>\n </IconButton>\n );\n }\n return (\n <Dialog.Root\n open={open}\n onOpenChange={async value => {\n if (!value) {\n await 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={async () => {\n await unblockAutoPlay();\n }}\n >\n Play stream\n </Button>\n </DialogRow>\n </DialogContent>\n </Dialog.Root>\n );\n}\n", "import React from 'react';\nimport { ClosedCaptionIcon, OpenCaptionIcon } from '@100mslive/react-icons';\nimport { IconButton, Tooltip } from '../../../';\nimport { useHMSPlayerContext } from './PlayerContext';\n\nexport function HLSCaptionSelector({ isEnabled }: { isEnabled: boolean }) {\n const { hlsPlayer } = useHMSPlayerContext();\n return (\n <Tooltip title=\"Subtitles/closed captions\" side=\"top\">\n <IconButton css={{ p: '$2' }} onClick={() => hlsPlayer?.toggleCaption()}>\n {isEnabled ? <ClosedCaptionIcon width=\"20\" height=\"20px\" /> : <OpenCaptionIcon width=\"20\" height=\"20px\" />}\n </IconButton>\n </Tooltip>\n );\n}\n", "import React from 'react';\nimport { useMedia } from 'react-use';\nimport { HMSHLSLayer } from '@100mslive/hls-player';\nimport { CheckIcon, CrossIcon, SettingsIcon } from '@100mslive/react-icons';\nimport { Box, Dropdown, Flex, Text, Tooltip } from '../../..';\nimport { Sheet } from '../../../Sheet';\nimport { config } from '../../../Theme';\nimport { useIsLandscape } from '../../common/hooks';\n\nexport function HLSQualitySelector({\n open,\n onOpenChange,\n layers,\n onQualityChange,\n selection,\n isAuto,\n containerRef,\n}: {\n open: boolean;\n onOpenChange: (value: boolean) => void;\n layers: HMSHLSLayer[];\n onQualityChange: (quality: { [key: string]: string | number } | HMSHLSLayer) => void;\n selection: HMSHLSLayer;\n isAuto: boolean;\n containerRef?: HTMLDivElement;\n}) {\n const isMobile = useMedia(config.media.md);\n const isLandscape = useIsLandscape();\n\n if (layers.length === 0) {\n return null;\n }\n if (isMobile || isLandscape) {\n return (\n <Sheet.Root open={open} onOpenChange={onOpenChange}>\n <Sheet.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 <SettingsIcon />\n </Flex>\n </Sheet.Trigger>\n <Sheet.Content\n container={containerRef}\n css={{ bg: '$surface_default', pb: '$1' }}\n onClick={() => onOpenChange(false)}\n >\n <Sheet.Title\n css={{\n display: 'flex',\n color: '$on_surface_high',\n w: '100%',\n justifyContent: 'space-between',\n mt: '$8',\n fontSize: '$md',\n px: '$10',\n pb: '$8',\n borderBottom: '1px solid $border_bright',\n alignItems: 'center',\n }}\n >\n Quality\n <Sheet.Close css={{ color: '$on_surface_high' }} onClick={() => onOpenChange(false)}>\n <CrossIcon />\n </Sheet.Close>\n </Sheet.Title>\n {layers.map(layer => {\n return (\n <Flex\n align=\"center\"\n css={{\n w: '100%',\n bg: '$surface_default',\n '&:hover': {\n bg: '$surface_brighter',\n },\n cursor: 'pointer',\n gap: '$4',\n py: '$8',\n px: '$10',\n }}\n key={layer.width}\n onClick={() => onQualityChange(layer)}\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 </Flex>\n );\n })}\n <Flex\n align=\"center\"\n css={{\n w: '100%',\n bg: '$surface_default',\n '&:hover': {\n bg: '$surface_brighter',\n },\n cursor: 'pointer',\n gap: '$4',\n py: '$8',\n px: '$10',\n }}\n key=\"auto\"\n onClick={() => onQualityChange({ height: 'auto' })}\n >\n <Text variant=\"caption\" css={{ fontWeight: '$semiBold', flex: '1 1 0' }}>\n Auto\n </Text>\n {isAuto && <CheckIcon width=\"16px\" height=\"16px\" />}\n </Flex>\n </Sheet.Content>\n </Sheet.Root>\n );\n }\n return (\n <Dropdown.Root open={open} onOpenChange={value => onOpenChange(value)} modal={false}>\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 || 0, selection.height || 0)}p\n </Text>\n </Flex>\n </Tooltip>\n </Flex>\n </Dropdown.Trigger>\n <Dropdown.Portal container={containerRef}>\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 </Dropdown.Portal>\n </Dropdown.Root>\n );\n}\n\nconst getQualityText = (layer: HMSHLSLayer) => `${Math.min(layer.height || 0, layer.width || 0)}p `;\nconst getBitrateText = (layer: HMSHLSLayer) => `(${(Number(layer.bitrate / 1000) / 1000).toFixed(2)} Mbps)`;\n", "import React from 'react';\nimport { ChevronDownIcon } from '@100mslive/react-icons';\nimport { Flex } from '../../../Layout';\nimport { Text } from '../../../Text';\n// @ts-ignore: No implicit any\nimport { Logo } from '../Header/HeaderComponents';\nimport { RoomDetailsRow } from '../RoomDetails/RoomDetailsRow';\nimport { useRoomLayoutHeader } from '../../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';\n// @ts-ignore\nimport { useIsSidepaneTypeOpen, useSidepaneToggle } from '../AppData/useSidepane';\nimport { SIDE_PANE_OPTIONS } from '../../common/constants';\n\n/*\n\tplayer handler --> left -> go live with timer or live, right -> expand icon \n\tinbetween -> play pause icon, double tap to go back/forward\n\tseekbar\n\thalf page will have chat or participant view\n*/\nexport const HLSViewTitle = () => {\n const { title, details, description } = useRoomLayoutHeader();\n const toggleDetailsPane = useSidepaneToggle(SIDE_PANE_OPTIONS.ROOM_DETAILS);\n const isDetailSidepaneOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.ROOM_DETAILS);\n\n if (isDetailSidepaneOpen) {\n return (\n <Flex\n gap=\"4\"\n align=\"center\"\n justify=\"between\"\n css={{\n position: 'relative',\n h: 'fit-content',\n w: '100%',\n borderBottom: '1px solid $border_bright',\n p: '$8',\n backgroundColor: '$surface_dim',\n }}\n >\n <Text variant=\"sub2\" css={{ fontWeight: '$semiBold' }}>\n About Session\n </Text>\n <Flex\n onClick={toggleDetailsPane}\n css={{\n color: '$on_surface_high',\n cursor: 'pointer',\n '&:hover': { opacity: '0.8' },\n }}\n >\n <ChevronDownIcon />\n </Flex>\n </Flex>\n );\n }\n return (\n <Flex\n gap=\"4\"\n align=\"center\"\n css={{\n position: 'relative',\n h: 'fit-content',\n w: '100%',\n borderBottom: '1px solid $border_bright',\n p: '$8',\n backgroundColor: '$surface_dim',\n }}\n >\n <Logo />\n <Flex direction=\"column\">\n {title ? (\n <Text variant=\"sub2\" css={{ fontWeight: '$semiBold' }}>\n {title}\n </Text>\n ) : null}\n <Flex>\n <RoomDetailsRow details={details} />\n {description ? (\n <Text variant=\"caption\" css={{ color: '$on_surface_medium' }} onClick={toggleDetailsPane}>\n &nbsp;...more\n </Text>\n ) : null}\n </Flex>\n </Flex>\n </Flex>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useCallback", "useEffect", "useState", "useMedia", "HMSHLSPlayerEvents", "React", "React", "React", "React", "React", "hlsPlayer", "React", "React", "React", "React", "React", "getDurationFromSeconds", "hlsPlayer", "videoProgress", "bufferProgress", "videoEl", "React", "React", "useEffect", "useState", "hlsPlayer", "useState", "useEffect", "getDurationFromSeconds", "React", "React", "useState", "hlsPlayer", "useState", "React", "volume", "React", "React", "React", "useMedia", "VolumeTwoIcon", "useMedia", "React", "VolumeTwoIcon", "React", "hlsPlayer", "React", "React", "useMedia", "CrossIcon", "useMedia", "React", "CrossIcon", "React", "React", "useMedia", "useEffect", "useState", "showLoader", "useCallback", "_a", "_b", "React", "isCaptionEnabled", "HMSHLSPlayerEvents", "isMobile", "isLandscape"]
7
+ }
@@ -106,7 +106,7 @@ var __async = (__this, __arguments, generator) => {
106
106
  var define_process_env_default;
107
107
  var init_define_process_env = __esm({
108
108
  "<define:process.env>"() {
109
- define_process_env_default = { GITHUB_STATE: "/home/runner/work/_temp/_runner_file_commands/save_state_0b07f365-139a-421d-9c7c-4ccf938658c1", npm_package_devDependencies_ts_node: "^10.4.0", npm_package_devDependencies__types_node: "^16.11.17", npm_package_devDependencies_rollup: "^2.70.1", npm_package_exports___require: "./dist/index.cjs.js", STATS_TRP: "true", DEPLOYMENT_BASEPATH: "/opt/runner", DOTNET_NOLOGO: "1", npm_package_dependencies_screenfull: "^5.1.0", npm_package_dependencies_react_draggable: "^4.4.5", npm_package_dependencies__radix_ui_react_switch: "1.0.0", USER: "runner", npm_package_devDependencies_jest: "26.6.0", npm_config_version_commit_hooks: "true", npm_config_user_agent: "yarn/1.22.22 npm/? node/v18.19.1 linux x64", npm_config_always_auth: "", NX_WORKSPACE_ROOT: "/home/runner/work/web-sdks/web-sdks", npm_package_devDependencies__rollup_plugin_node_resolve: "^13.1.3", npm_package_scripts_babel: "npx storybook@latest babelrc", CI: "true", npm_package_devDependencies__size_limit_file: "^5.0.3", npm_config_bin_links: "true", npm_config_wrap_output: "", npm_package_dependencies__radix_ui_react_tabs: "1.0.0", npm_package_dependencies__100mslive_react_sdk: "0.10.5-alpha.2", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_0b07f365-139a-421d-9c7c-4ccf938658c1", PIPX_HOME: "/opt/pipx", npm_node_execpath: "/opt/hostedtoolcache/node/18.19.1/x64/bin/node", npm_config_init_version: "1.0.0", npm_package_dependencies__emoji_mart_react: "^1.0.1", npm_package_dependencies__emoji_mart_data: "^1.0.6", npm_package_dependencies__100mslive_hms_virtual_background: "1.13.5-alpha.2", JAVA_HOME_8_X64: "/usr/lib/jvm/temurin-8-jdk-amd64", NODE_AUTH_TOKEN: "XXXXX-XXXXX-XXXXX-XXXXX", SHLVL: "1", npm_package_dependencies__radix_ui_react_tooltip: "1.0.6", npm_package_dependencies__radix_ui_react_popover: "1.0.6", npm_package_dependencies__100mslive_types_prebuilt: "0.12.8", npm_package_peerDependencies_react: ">=17.0.2 <19.0.0", npm_package_devDependencies__storybook_addon_links: "^7.0.27", npm_package_files_0: "dist", HOME: "/home/runner", npm_package_devDependencies__typescript_eslint_parser: "^5.4.0", npm_package_dependencies__radix_ui_react_dialog: "1.0.4", npm_package_devDependencies__types_react_window: "^1.8.5", npm_package_files_1: "src", npm_package_repository_directory: "packages/roomkit-react", RUNNER_TEMP: "/home/runner/work/_temp", GITHUB_EVENT_PATH: "/home/runner/work/_temp/_github_workflow/event.json", npm_package_scripts_controller: "cd packages/hls-controller && yarn start", npm_package_dependencies__stitches_react: "^1.2.8", JAVA_HOME_11_X64: "/usr/lib/jvm/temurin-11-jdk-amd64", PIPX_BIN_DIR: "/opt/pipx_bin", GITHUB_REPOSITORY_OWNER: "100mslive", npm_package_engines_node: ">=16", npm_package_devDependencies_typedoc_plugin_markdown: "^3.14.0", npm_config_init_license: "MIT", GRADLE_HOME: "/usr/share/gradle-8.7", ANDROID_NDK_LATEST_HOME: "/usr/local/lib/android/sdk/ndk/26.2.11394342", JAVA_HOME_21_X64: "/usr/lib/jvm/temurin-21-jdk-amd64", STATS_RDCL: "true", GITHUB_RETENTION_DAYS: "90", YARN_WRAP_OUTPUT: "false", npm_config_version_tag_prefix: "v", GITHUB_REPOSITORY_OWNER_ID: "73883131", POWERSHELL_DISTRIBUTION_CHANNEL: "GitHub-Actions-ubuntu22", AZURE_EXTENSION_DIR: "/opt/az/azcliextensions", GITHUB_HEAD_REF: "", npm_package_scripts_lint_fix: "yarn lint --fix", npm_config_userconfig: "/home/runner/work/_temp/.npmrc", npm_package_devDependencies__storybook_addon_a11y: "^7.0.27", SYSTEMD_EXEC_PID: "605", npm_package_scripts_postinstall: "husky install && lerna bootstrap", npm_package_devDependencies_husky: "^6.0.0", npm_package_dependencies_recordrtc: "^5.6.2", npm_package_dependencies_eventemitter2: "^6.4.9", npm_package_dependencies__radix_ui_react_label: "1.0.0", npm_package_dependencies__radix_ui_react_dropdown_menu: "2.0.5", npm_package_keywords_0: "100mslive", GITHUB_GRAPHQL_URL: "https://api.github.com/graphql", npm_package_description: "100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.", npm_package_devDependencies_typescript: "~4.7.4", npm_package_devDependencies_typedoc: "^0.24.8", npm_package_devDependencies_babel_loader: "^8.2.5", npm_package_devDependencies__rollup_plugin_image: "^3.0.2", npm_package_keywords_1: "react", GOROOT_1_20_X64: "/opt/hostedtoolcache/go/1.20.14/x64", NVM_DIR: "/home/runner/.nvm", npm_package_readmeFilename: "README.md", npm_package_devDependencies_react: "^18.1.0", npm_package_devDependencies__babel_preset_env: "^7.22.5", npm_package_keywords_2: "prebuilt", DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "1", GOROOT_1_21_X64: "/opt/hostedtoolcache/go/1.21.8/x64", JAVA_HOME_17_X64: "/usr/lib/jvm/temurin-17-jdk-amd64", ImageVersion: "20240324.2.0", npm_package_devDependencies_prettier: "^2.4.1", npm_package_devDependencies_babel_jest: "^26.6.0", npm_package_scripts_dev: "node ../../scripts/dev", npm_package_keywords_3: "roomkit", RUNNER_OS: "Linux", GITHUB_API_URL: "https://api.github.com", GOROOT_1_22_X64: "/opt/hostedtoolcache/go/1.22.1/x64", SWIFT_PATH: "/usr/share/swift/usr/bin", FORCE_COLOR: "true", npm_package_dependencies__radix_ui_react_toast: "1.0.0", npm_package_dependencies__radix_ui_react_radio_group: "1.0.0", npm_package_dependencies__100mslive_hms_noise_cancellation: "0.0.1", npm_package_devDependencies__babel_preset_typescript: "^7.22.5", npm_package_exports___default: "./dist/index.js", RUNNER_USER: "runner", STATS_V3PS: "true", CHROMEWEBDRIVER: "/usr/local/share/chromedriver-linux64", JOURNAL_STREAM: "8:17368", GITHUB_WORKFLOW: "Publish Packages", _: "/usr/local/bin/yarn", npm_package_devDependencies_ts_jest: "26.5.6", npm_package_devDependencies_lerna: "^5.6.2", npm_package_devDependencies__types_jest: "^27.0.3", npm_package_devDependencies__commitlint_config_conventional: "^15.0.0", npm_package_private: "true", npm_package_dependencies__radix_ui_react_accordion: "1.0.0", npm_package_devDependencies__rollup_plugin_commonjs: "^21.0.3", npm_package_devDependencies__babel_preset_react: "^7.22.5", npm_package_module: "dist/index.js", npm_package_scripts_lint: "eslint -c .eslintrc --no-error-on-unmatched-pattern src --ext .js --ext .jsx --ext .ts --ext .tsx", npm_package_devDependencies__typescript_eslint_eslint_plugin: "^5.4.0", npm_config_registry: "https://registry.yarnpkg.com", npm_package_dependencies_react_window: "^1.8.7", npm_package_dependencies__100mslive_hls_player: "0.3.5-alpha.2", npm_package_devDependencies__types_lodash_merge: "^4.6.6", npm_package_devDependencies__storybook_cli: "^7.0.27", npm_package_devDependencies__rollup_plugin_json: "^6.0.0", ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE: "/opt/actionarchivecache", GITHUB_RUN_ID: "8520178349", npm_package_workspaces_0: "packages/*", npm_package_scripts_store: "cd packages/hms-video-store && yarn start", npm_package_devDependencies__babel_core: "^7.18.2", npm_package_dependencies_ts_pattern: "4.3.0", npm_package_devDependencies__storybook_addon_interactions: "^7.0.27", npm_package_devDependencies__storybook_addon_actions: "^7.0.27", GITHUB_REF_TYPE: "branch", BOOTSTRAP_HASKELL_NONINTERACTIVE: "1", GITHUB_WORKFLOW_SHA: "2612f221c9a7a7705261bf50d57fbca61aee6386", GITHUB_BASE_REF: "", ImageOS: "ubuntu22", npm_package_workspaces_1: "examples/*", npm_package_scripts_start: 'concurrently "yarn dev" "yarn types"', npm_config_ignore_scripts: "", NX_TASK_HASH: "ffc65f578b854015c24ed4b809c28f37ef116b2cb05dc112117078c5f71b5c7a", npm_package_exports___import: "./dist/index.js", GITHUB_WORKFLOW_REF: "100mslive/web-sdks/.github/workflows/publish.yml@refs/heads/publish-alpha", PERFLOG_LOCATION_SETTING: "RUNNER_PERFLOG", GITHUB_ACTION_REPOSITORY: "", npm_package_scripts_prebuilt: "cd packages/roomkit-react && yarn start", npm_package_devDependencies_postcss_loader: "^6.2.1", npm_package_devDependencies_esbuild_loader: "^4.0.2", PATH: "/tmp/yarn--1712048637876-0.3799319346227026:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.19.1/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.19.1/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.19.1/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1712048637680-0.818091046210133:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.19.1/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.19.1/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.19.1/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1712048615292-0.14259610769725772:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.19.1/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.19.1/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.19.1/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1712048615112-0.4129072975441872:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.19.1/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.19.1/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.19.1/x64/bin/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.19.1/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin", NODE: "/opt/hostedtoolcache/node/18.19.1/x64/bin/node", ANT_HOME: "/usr/share/ant", DOTNET_MULTILEVEL_LOOKUP: "0", RUNNER_TRACKING_ID: "github_19615d3c-7043-465b-8a56-86a8382c3c29", INVOCATION_ID: "d3a76b33e4ae403cb6c003016dec63d3", NPM_CONFIG_USERCONFIG: "/home/runner/work/_temp/.npmrc", RUNNER_TOOL_CACHE: "/opt/hostedtoolcache", npm_package_scripts_size: "size-limit", npm_package_devDependencies_size_limit: "^5.0.3", npm_package_name: "@100mslive/roomkit-react", npm_package_devDependencies__storybook_react_webpack5: "^7.0.27", npm_package_repository_type: "git", GITHUB_ACTION: "__run_3", GITHUB_RUN_NUMBER: "498", GITHUB_TRIGGERING_ACTOR: "github-actions[bot]", RUNNER_ARCH: "X64", XDG_RUNTIME_DIR: "/run/user/1001", AGENT_TOOLSDIRECTORY: "/opt/hostedtoolcache", npm_package_lint_staged____js_ts_jsx_tsx_: "eslint", npm_package_devDependencies_babel_plugin_istanbul: "^6.1.1", LERNA_PACKAGE_NAME: "@100mslive/roomkit-react", npm_package_dependencies__radix_ui_react_select: "1.0.0", npm_package_size_limit_0_limit: "20 KB", npm_package_devDependencies__commitlint_cli: "^15.0.0", npm_package_devDependencies__rollup_plugin_typescript: "^8.3.1", LANG: "C.UTF-8", VCPKG_INSTALLATION_ROOT: "/usr/local/share/vcpkg", npm_package_size_limit_1_limit: "20 KB", npm_package_devDependencies_eslint_plugin_simple_import_sort: "^8.0.0", npm_package_devDependencies_eslint: "^8.9.0", npm_package_dependencies_react_intersection_observer: "^9.4.3", npm_package_devDependencies_rollup_plugin_terser: "^7.0.2", npm_package_devDependencies__types_mdx: "2.0.2", CONDA: "/usr/share/miniconda", RUNNER_NAME: "GitHub Actions 367", XDG_CONFIG_HOME: "/home/runner/.config", STATS_VMD: "true", GITHUB_REF_NAME: "publish-alpha", GITHUB_REPOSITORY: "100mslive/web-sdks", npm_lifecycle_script: "rm -rf dist && node ../../scripts/build-webapp", npm_package_size_limit_2_limit: "400 KB", npm_package_resolutions_loader_utils: "^2.0.4", npm_package_devDependencies_dotenv: "^14.2.0", npm_package_dependencies__radix_ui_react_slider: "1.0.0", npm_package_devDependencies_rollup_plugin_import_css: "^3.3.1", npm_package_scripts_types_build: "tsc -p tsconfig.json", npm_package_main: "dist/index.cjs.js", STATS_UE: "true", ANDROID_NDK_ROOT: "/usr/local/lib/android/sdk/ndk/25.2.9519653", GITHUB_ACTION_REF: "", DEBIAN_FRONTEND: "noninteractive", npm_package_size_limit_3_limit: "20 KB", npm_package_size_limit_0_path: "packages/hms-video-store/dist/index.cjs.js", npm_package_scripts_cypress_open: "cypress open", npm_package_scripts_lerna_publish: "lerna publish from-package --dist-tag $PUBLISH_FLAG --yes --no-verify-access", npm_package_scripts_test: "yarn build --no-private && lerna run test", npm_package_devDependencies_concurrently: "^6.4.0", npm_config_version_git_message: "v%s", npm_package_dependencies__radix_ui_react_checkbox: "1.0.0", npm_package_dependencies__100mslive_react_icons: "0.10.5-alpha.2", npm_package_scripts_types: "tsc -w", GITHUB_REPOSITORY_ID: "429826515", GITHUB_ACTIONS: "true", npm_lifecycle_event: "build:only", npm_package_version: "0.3.5-alpha.2", npm_package_size_limit_4_limit: "20 KB", npm_package_size_limit_1_path: "packages/hms-video-store/dist/index.js", npm_package_scripts_build_only: "rm -rf dist && node ../../scripts/build-webapp", npm_package_devDependencies__types_react: "^18.1.0", npm_package_sideEffects: "false", npm_package_repository_url: "https://github.com/100mslive/web-sdks.git", npm_package_source: "src/index.ts", GITHUB_REF_PROTECTED: "true", npm_config_argv: '{"remain":[],"cooked":["run","test"],"original":["test"]}', npm_package_size_limit_5_limit: "20 KB", npm_package_size_limit_2_path: "packages/roomkit-react/dist/index.cjs.js", npm_package_scripts_build: "yarn build:only && yarn types:build", npm_package_devDependencies_tslib: "^2.2.0", npm_package_devDependencies_nx: "^14.5.1", npm_package_devDependencies_lint_staged: "^12.0.3", NX_CLI_SET: "true", npm_package_dependencies_uuid: "^8.3.2", npm_package_dependencies_react_virtualized_auto_sizer: "^1.0.7", npm_package_dependencies_lodash_merge: "^4.6.2", npm_package_dependencies_emoji_mart: "^5.2.2", GITHUB_WORKSPACE: "/home/runner/work/web-sdks/web-sdks", ACCEPT_EULA: "Y", GITHUB_JOB: "publish_packages", RUNNER_PERFLOG: "/home/runner/perflog", npm_package_size_limit_6_limit: "150 KB", npm_package_size_limit_3_path: "packages/roomkit-react/dist/index.js", npm_package_devDependencies_cypress: "^9.5.2", npm_package_devDependencies_rollup_plugin_esbuild: "^5.0.0", GITHUB_SHA: "2612f221c9a7a7705261bf50d57fbca61aee6386", GITHUB_RUN_ATTEMPT: "1", npm_package_size_limit_7_limit: "100 KB", npm_package_size_limit_4_path: "packages/hms-virtual-background/dist/index.cjs.js", npm_config_version_git_tag: "true", npm_config_version_git_sign: "", npm_package_dependencies_qrcode_react: "^3.1.0", GITHUB_REF: "refs/heads/publish-alpha", GITHUB_ACTOR: "github-actions[bot]", ANDROID_SDK_ROOT: "/usr/local/lib/android/sdk", npm_package_license: "MIT", npm_package_size_limit_5_path: "packages/hms-virtual-background/dist/index.js", npm_config_strict_ssl: "true", LEIN_HOME: "/usr/local/lib/lein", npm_package_size_limit_6_path: "packages/react-icons/dist/index.cjs.js", npm_package_scripts_format: "prettier -w src/**", npm_package_devDependencies_eslint_plugin_prettier: "^4.0.0", npm_package_devDependencies_eslint_config_react_app: "^7.0.0", NX_TASK_TARGET_PROJECT: "@100mslive/roomkit-react", GITHUB_PATH: "/home/runner/work/_temp/_runner_file_commands/add_path_0b07f365-139a-421d-9c7c-4ccf938658c1", JAVA_HOME: "/usr/lib/jvm/temurin-11-jdk-amd64", PWD: "/home/runner/work/web-sdks/web-sdks/packages/roomkit-react", GITHUB_ACTOR_ID: "41898282", RUNNER_WORKSPACE: "/home/runner/work/web-sdks", npm_execpath: "/usr/local/lib/node_modules/yarn/bin/yarn.js", npm_package_size_limit_7_path: "packages/react-icons/dist/index.js", npm_package_scripts_ybys: "yarn && yarn build --no-private && yarn storybook", npm_package_dependencies__radix_ui_react_progress: "1.0.0", HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS: "3650", STATS_TIS: "mining", GITHUB_EVENT_NAME: "workflow_dispatch", HOMEBREW_NO_AUTO_UPDATE: "1", ANDROID_HOME: "/usr/local/lib/android/sdk", GITHUB_SERVER_URL: "https://github.com", GECKOWEBDRIVER: "/usr/local/share/gecko_driver", LEIN_JAR: "/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar", GHCUP_INSTALL_BASE_PREFIX: "/usr/local", GITHUB_OUTPUT: "/home/runner/work/_temp/_runner_file_commands/set_output_0b07f365-139a-421d-9c7c-4ccf938658c1", npm_package_scripts_prestart: "rm -rf dist && yarn types:build", npm_package_author_name: "100ms", EDGEWEBDRIVER: "/usr/local/share/edge_driver", STATS_EXT: "true", npm_package_scripts_build_storybook: "sb build", npm_package_devDependencies_postcss: "^8.4.5", npm_package_devDependencies_esbuild: "^0.18.13", npm_config_save_prefix: "^", npm_config_ignore_optional: "", npm_package_dependencies_worker_timers: "^7.0.40", npm_package_typings: "dist/index.d.ts", ANDROID_NDK: "/usr/local/lib/android/sdk/ndk/25.2.9519653", SGX_AESM_ADDR: "1", CHROME_BIN: "/usr/bin/google-chrome", npm_package_scripts_storybook: "sb dev -p 6006", npm_package_devDependencies_esbuild_plugin_postcss2: "0.1.1", npm_package_dependencies_react_swipeable: "^7.0.1", npm_package_devDependencies_babel_plugin_react_require: "3.1.3", npm_package_devDependencies__storybook_testing_library: "^0.2.0", npm_package_devDependencies__storybook_addon_essentials: "^7.0.27", SELENIUM_JAR_PATH: "/usr/share/java/selenium-server.jar", STATS_EXTP: "https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.169+2/provjobd.data", npm_package_scripts_reactsdk: "cd packages/react-sdk && yarn start", npm_package_dependencies_react_use: "^17.4.0", npm_package_dependencies__radix_ui_react_collapsible: "1.0.0", npm_package_devDependencies_storybook_dark_mode: "^3.0.0", npm_package_devDependencies__storybook_react: "^7.0.27", INIT_CWD: "/home/runner/work/web-sdks/web-sdks", ANDROID_NDK_HOME: "/usr/local/lib/android/sdk/ndk/25.2.9519653", GITHUB_STEP_SUMMARY: "/home/runner/work/_temp/_runner_file_commands/step_summary_0b07f365-139a-421d-9c7c-4ccf938658c1" };
109
+ define_process_env_default = { GITHUB_STATE: "/home/runner/work/_temp/_runner_file_commands/save_state_ae4b86d2-afd7-45c9-932a-93839f5acc62", npm_package_devDependencies_ts_node: "^10.4.0", npm_package_devDependencies__types_node: "^16.11.17", npm_package_devDependencies_rollup: "^2.70.1", npm_package_exports___require: "./dist/index.cjs.js", STATS_TRP: "true", DEPLOYMENT_BASEPATH: "/opt/runner", DOTNET_NOLOGO: "1", npm_package_dependencies_screenfull: "^5.1.0", npm_package_dependencies_react_draggable: "^4.4.5", npm_package_dependencies__radix_ui_react_switch: "1.0.0", USER: "runner", npm_package_devDependencies_jest: "26.6.0", npm_config_version_commit_hooks: "true", npm_config_user_agent: "yarn/1.22.22 npm/? node/v18.19.1 linux x64", npm_config_always_auth: "", NX_WORKSPACE_ROOT: "/home/runner/work/web-sdks/web-sdks", npm_package_devDependencies__rollup_plugin_node_resolve: "^13.1.3", npm_package_scripts_babel: "npx storybook@latest babelrc", CI: "true", npm_package_devDependencies__size_limit_file: "^5.0.3", npm_config_bin_links: "true", npm_config_wrap_output: "", npm_package_dependencies__radix_ui_react_tabs: "1.0.0", npm_package_dependencies__100mslive_react_sdk: "0.10.5-alpha.4", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_ae4b86d2-afd7-45c9-932a-93839f5acc62", PIPX_HOME: "/opt/pipx", npm_node_execpath: "/opt/hostedtoolcache/node/18.19.1/x64/bin/node", npm_config_init_version: "1.0.0", npm_package_dependencies__emoji_mart_react: "^1.0.1", npm_package_dependencies__emoji_mart_data: "^1.0.6", npm_package_dependencies__100mslive_hms_virtual_background: "1.13.5-alpha.4", JAVA_HOME_8_X64: "/usr/lib/jvm/temurin-8-jdk-amd64", NODE_AUTH_TOKEN: "XXXXX-XXXXX-XXXXX-XXXXX", SHLVL: "1", npm_package_dependencies__radix_ui_react_tooltip: "1.0.6", npm_package_dependencies__radix_ui_react_popover: "1.0.6", npm_package_dependencies__100mslive_types_prebuilt: "0.12.8", npm_package_peerDependencies_react: ">=17.0.2 <19.0.0", npm_package_devDependencies__storybook_addon_links: "^7.0.27", npm_package_files_0: "dist", HOME: "/home/runner", npm_package_devDependencies__typescript_eslint_parser: "^5.4.0", npm_package_dependencies__radix_ui_react_dialog: "1.0.4", npm_package_devDependencies__types_react_window: "^1.8.5", npm_package_files_1: "src", npm_package_repository_directory: "packages/roomkit-react", RUNNER_TEMP: "/home/runner/work/_temp", GITHUB_EVENT_PATH: "/home/runner/work/_temp/_github_workflow/event.json", npm_package_scripts_controller: "cd packages/hls-controller && yarn start", npm_package_dependencies__stitches_react: "^1.2.8", JAVA_HOME_11_X64: "/usr/lib/jvm/temurin-11-jdk-amd64", PIPX_BIN_DIR: "/opt/pipx_bin", GITHUB_REPOSITORY_OWNER: "100mslive", npm_package_engines_node: ">=16", npm_package_devDependencies_typedoc_plugin_markdown: "^3.14.0", npm_config_init_license: "MIT", GRADLE_HOME: "/usr/share/gradle-8.7", ANDROID_NDK_LATEST_HOME: "/usr/local/lib/android/sdk/ndk/26.2.11394342", JAVA_HOME_21_X64: "/usr/lib/jvm/temurin-21-jdk-amd64", STATS_RDCL: "true", GITHUB_RETENTION_DAYS: "90", YARN_WRAP_OUTPUT: "false", npm_config_version_tag_prefix: "v", GITHUB_REPOSITORY_OWNER_ID: "73883131", POWERSHELL_DISTRIBUTION_CHANNEL: "GitHub-Actions-ubuntu22", AZURE_EXTENSION_DIR: "/opt/az/azcliextensions", GITHUB_HEAD_REF: "", npm_package_scripts_lint_fix: "yarn lint --fix", npm_config_userconfig: "/home/runner/work/_temp/.npmrc", npm_package_devDependencies__storybook_addon_a11y: "^7.0.27", SYSTEMD_EXEC_PID: "609", npm_package_scripts_postinstall: "husky install && lerna bootstrap", npm_package_devDependencies_husky: "^6.0.0", npm_package_dependencies_recordrtc: "^5.6.2", npm_package_dependencies_eventemitter2: "^6.4.9", npm_package_dependencies__radix_ui_react_label: "1.0.0", npm_package_dependencies__radix_ui_react_dropdown_menu: "2.0.5", npm_package_keywords_0: "100mslive", GITHUB_GRAPHQL_URL: "https://api.github.com/graphql", npm_package_description: "100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.", npm_package_devDependencies_typescript: "~4.7.4", npm_package_devDependencies_typedoc: "^0.24.8", npm_package_devDependencies_babel_loader: "^8.2.5", npm_package_devDependencies__rollup_plugin_image: "^3.0.2", npm_package_keywords_1: "react", GOROOT_1_20_X64: "/opt/hostedtoolcache/go/1.20.14/x64", NVM_DIR: "/home/runner/.nvm", npm_package_readmeFilename: "README.md", npm_package_devDependencies_react: "^18.1.0", npm_package_devDependencies__babel_preset_env: "^7.22.5", npm_package_keywords_2: "prebuilt", DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "1", GOROOT_1_21_X64: "/opt/hostedtoolcache/go/1.21.8/x64", JAVA_HOME_17_X64: "/usr/lib/jvm/temurin-17-jdk-amd64", ImageVersion: "20240324.2.0", npm_package_devDependencies_prettier: "^2.4.1", npm_package_devDependencies_babel_jest: "^26.6.0", npm_package_scripts_dev: "node ../../scripts/dev", npm_package_keywords_3: "roomkit", RUNNER_OS: "Linux", GITHUB_API_URL: "https://api.github.com", GOROOT_1_22_X64: "/opt/hostedtoolcache/go/1.22.1/x64", SWIFT_PATH: "/usr/share/swift/usr/bin", FORCE_COLOR: "true", npm_package_dependencies__radix_ui_react_toast: "1.0.0", npm_package_dependencies__radix_ui_react_radio_group: "1.0.0", npm_package_dependencies__100mslive_hms_noise_cancellation: "0.0.1", npm_package_devDependencies__babel_preset_typescript: "^7.22.5", npm_package_exports___default: "./dist/index.js", RUNNER_USER: "runner", STATS_V3PS: "true", CHROMEWEBDRIVER: "/usr/local/share/chromedriver-linux64", JOURNAL_STREAM: "8:18153", GITHUB_WORKFLOW: "Publish Packages", _: "/usr/local/bin/yarn", npm_package_devDependencies_ts_jest: "26.5.6", npm_package_devDependencies_lerna: "^5.6.2", npm_package_devDependencies__types_jest: "^27.0.3", npm_package_devDependencies__commitlint_config_conventional: "^15.0.0", npm_package_private: "true", npm_package_dependencies__radix_ui_react_accordion: "1.0.0", npm_package_devDependencies__rollup_plugin_commonjs: "^21.0.3", npm_package_devDependencies__babel_preset_react: "^7.22.5", npm_package_module: "dist/index.js", npm_package_scripts_lint: "eslint -c .eslintrc --no-error-on-unmatched-pattern src --ext .js --ext .jsx --ext .ts --ext .tsx", npm_package_devDependencies__typescript_eslint_eslint_plugin: "^5.4.0", npm_config_registry: "https://registry.yarnpkg.com", npm_package_dependencies_react_window: "^1.8.7", npm_package_dependencies__100mslive_hls_player: "0.3.5-alpha.4", npm_package_devDependencies__types_lodash_merge: "^4.6.6", npm_package_devDependencies__storybook_cli: "^7.0.27", npm_package_devDependencies__rollup_plugin_json: "^6.0.0", ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE: "/opt/actionarchivecache", STATS_D: "true", GITHUB_RUN_ID: "8553415631", STATS_VMFE: "true", npm_package_workspaces_0: "packages/*", npm_package_scripts_store: "cd packages/hms-video-store && yarn start", npm_package_devDependencies__babel_core: "^7.18.2", npm_package_dependencies_ts_pattern: "4.3.0", npm_package_devDependencies__storybook_addon_interactions: "^7.0.27", npm_package_devDependencies__storybook_addon_actions: "^7.0.27", GITHUB_REF_TYPE: "branch", BOOTSTRAP_HASKELL_NONINTERACTIVE: "1", GITHUB_WORKFLOW_SHA: "a00b11794a2d4eff96cce6b241379f69af770e7d", GITHUB_BASE_REF: "", ImageOS: "ubuntu22", npm_package_workspaces_1: "examples/*", npm_package_scripts_start: 'concurrently "yarn dev" "yarn types"', npm_config_ignore_scripts: "", NX_TASK_HASH: "5c794413edd4c71454d89e42817cdf6a83d8df0fbfe3f1ad1c276ab5aafb0b1d", npm_package_exports___import: "./dist/index.js", GITHUB_WORKFLOW_REF: "100mslive/web-sdks/.github/workflows/publish.yml@refs/heads/publish-alpha", PERFLOG_LOCATION_SETTING: "RUNNER_PERFLOG", GITHUB_ACTION_REPOSITORY: "", npm_package_scripts_prebuilt: "cd packages/roomkit-react && yarn start", npm_package_devDependencies_postcss_loader: "^6.2.1", npm_package_devDependencies_esbuild_loader: "^4.0.2", PATH: "/tmp/yarn--1712227945083-0.06521467082562027:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.19.1/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.19.1/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.19.1/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1712227944901-0.41162298510369744:/home/runner/work/web-sdks/web-sdks/packages/roomkit-react/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.19.1/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.19.1/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.19.1/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1712227924286-0.7747979401607448:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.19.1/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.19.1/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.19.1/x64/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1712227924120-0.5636984373511302:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/home/runner/.config/yarn/link/node_modules/.bin:/home/runner/work/web-sdks/web-sdks/node_modules/.bin:/opt/hostedtoolcache/node/18.19.1/x64/libexec/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.19.1/x64/lib/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.19.1/x64/bin/node_modules/npm/bin/node-gyp-bin:/opt/hostedtoolcache/node/18.19.1/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin", NODE: "/opt/hostedtoolcache/node/18.19.1/x64/bin/node", ANT_HOME: "/usr/share/ant", DOTNET_MULTILEVEL_LOOKUP: "0", RUNNER_TRACKING_ID: "github_c94aa850-0d13-43bd-8912-1721f19dd9be", INVOCATION_ID: "bd924b2db4ee4277a0956789b5504152", NPM_CONFIG_USERCONFIG: "/home/runner/work/_temp/.npmrc", RUNNER_TOOL_CACHE: "/opt/hostedtoolcache", npm_package_scripts_size: "size-limit", npm_package_devDependencies_size_limit: "^5.0.3", npm_package_name: "@100mslive/roomkit-react", npm_package_devDependencies__storybook_react_webpack5: "^7.0.27", npm_package_repository_type: "git", GITHUB_ACTION: "__run_3", GITHUB_RUN_NUMBER: "500", GITHUB_TRIGGERING_ACTOR: "github-actions[bot]", RUNNER_ARCH: "X64", XDG_RUNTIME_DIR: "/run/user/1001", AGENT_TOOLSDIRECTORY: "/opt/hostedtoolcache", npm_package_lint_staged____js_ts_jsx_tsx_: "eslint", npm_package_devDependencies_babel_plugin_istanbul: "^6.1.1", LERNA_PACKAGE_NAME: "@100mslive/roomkit-react", npm_package_dependencies__radix_ui_react_select: "1.0.0", npm_package_size_limit_0_limit: "20 KB", npm_package_devDependencies__commitlint_cli: "^15.0.0", npm_package_devDependencies__rollup_plugin_typescript: "^8.3.1", LANG: "C.UTF-8", VCPKG_INSTALLATION_ROOT: "/usr/local/share/vcpkg", npm_package_size_limit_1_limit: "20 KB", npm_package_devDependencies_eslint_plugin_simple_import_sort: "^8.0.0", npm_package_devDependencies_eslint: "^8.9.0", npm_package_dependencies_react_intersection_observer: "^9.4.3", npm_package_devDependencies_rollup_plugin_terser: "^7.0.2", npm_package_devDependencies__types_mdx: "2.0.2", CONDA: "/usr/share/miniconda", RUNNER_NAME: "GitHub Actions 433", XDG_CONFIG_HOME: "/home/runner/.config", STATS_VMD: "true", GITHUB_REF_NAME: "publish-alpha", GITHUB_REPOSITORY: "100mslive/web-sdks", STATS_D_D: "true", npm_lifecycle_script: "rm -rf dist && node ../../scripts/build-webapp", npm_package_size_limit_2_limit: "400 KB", npm_package_resolutions_loader_utils: "^2.0.4", npm_package_devDependencies_dotenv: "^14.2.0", npm_package_dependencies__radix_ui_react_slider: "1.0.0", npm_package_devDependencies_rollup_plugin_import_css: "^3.3.1", npm_package_scripts_types_build: "tsc -p tsconfig.json", npm_package_main: "dist/index.cjs.js", STATS_UE: "true", ANDROID_NDK_ROOT: "/usr/local/lib/android/sdk/ndk/25.2.9519653", GITHUB_ACTION_REF: "", DEBIAN_FRONTEND: "noninteractive", npm_package_size_limit_3_limit: "20 KB", npm_package_size_limit_0_path: "packages/hms-video-store/dist/index.cjs.js", npm_package_scripts_cypress_open: "cypress open", npm_package_scripts_lerna_publish: "lerna publish from-package --dist-tag $PUBLISH_FLAG --yes --no-verify-access", npm_package_scripts_test: "yarn build --no-private && lerna run test", npm_package_devDependencies_concurrently: "^6.4.0", npm_config_version_git_message: "v%s", npm_package_dependencies__radix_ui_react_checkbox: "1.0.0", npm_package_dependencies__100mslive_react_icons: "0.10.5-alpha.4", npm_package_scripts_types: "tsc -w", GITHUB_REPOSITORY_ID: "429826515", GITHUB_ACTIONS: "true", npm_lifecycle_event: "build:only", npm_package_version: "0.3.5-alpha.4", npm_package_size_limit_4_limit: "20 KB", npm_package_size_limit_1_path: "packages/hms-video-store/dist/index.js", npm_package_scripts_build_only: "rm -rf dist && node ../../scripts/build-webapp", npm_package_devDependencies__types_react: "^18.1.0", npm_package_sideEffects: "false", npm_package_repository_url: "https://github.com/100mslive/web-sdks.git", npm_package_source: "src/index.ts", GITHUB_REF_PROTECTED: "true", npm_config_argv: '{"remain":[],"cooked":["run","test"],"original":["test"]}', npm_package_size_limit_5_limit: "20 KB", npm_package_size_limit_2_path: "packages/roomkit-react/dist/index.cjs.js", npm_package_scripts_build: "yarn build:only && yarn types:build", npm_package_devDependencies_tslib: "^2.2.0", npm_package_devDependencies_nx: "^14.5.1", npm_package_devDependencies_lint_staged: "^12.0.3", NX_CLI_SET: "true", npm_package_dependencies_uuid: "^8.3.2", npm_package_dependencies_react_virtualized_auto_sizer: "^1.0.7", npm_package_dependencies_lodash_merge: "^4.6.2", npm_package_dependencies_emoji_mart: "^5.2.2", GITHUB_WORKSPACE: "/home/runner/work/web-sdks/web-sdks", ACCEPT_EULA: "Y", GITHUB_JOB: "publish_packages", RUNNER_PERFLOG: "/home/runner/perflog", npm_package_size_limit_6_limit: "150 KB", npm_package_size_limit_3_path: "packages/roomkit-react/dist/index.js", npm_package_devDependencies_cypress: "^9.5.2", npm_package_devDependencies_rollup_plugin_esbuild: "^5.0.0", GITHUB_SHA: "a00b11794a2d4eff96cce6b241379f69af770e7d", GITHUB_RUN_ATTEMPT: "1", npm_package_size_limit_7_limit: "100 KB", npm_package_size_limit_4_path: "packages/hms-virtual-background/dist/index.cjs.js", npm_config_version_git_tag: "true", npm_config_version_git_sign: "", npm_package_dependencies_qrcode_react: "^3.1.0", GITHUB_REF: "refs/heads/publish-alpha", GITHUB_ACTOR: "github-actions[bot]", ANDROID_SDK_ROOT: "/usr/local/lib/android/sdk", npm_package_license: "MIT", npm_package_size_limit_5_path: "packages/hms-virtual-background/dist/index.js", npm_config_strict_ssl: "true", LEIN_HOME: "/usr/local/lib/lein", npm_package_size_limit_6_path: "packages/react-icons/dist/index.cjs.js", npm_package_scripts_format: "prettier -w src/**", npm_package_devDependencies_eslint_plugin_prettier: "^4.0.0", npm_package_devDependencies_eslint_config_react_app: "^7.0.0", NX_TASK_TARGET_PROJECT: "@100mslive/roomkit-react", GITHUB_PATH: "/home/runner/work/_temp/_runner_file_commands/add_path_ae4b86d2-afd7-45c9-932a-93839f5acc62", JAVA_HOME: "/usr/lib/jvm/temurin-11-jdk-amd64", PWD: "/home/runner/work/web-sdks/web-sdks/packages/roomkit-react", GITHUB_ACTOR_ID: "41898282", RUNNER_WORKSPACE: "/home/runner/work/web-sdks", npm_execpath: "/usr/local/lib/node_modules/yarn/bin/yarn.js", npm_package_size_limit_7_path: "packages/react-icons/dist/index.js", npm_package_scripts_ybys: "yarn && yarn build --no-private && yarn storybook", npm_package_dependencies__radix_ui_react_progress: "1.0.0", HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS: "3650", STATS_TIS: "mining", GITHUB_EVENT_NAME: "workflow_dispatch", HOMEBREW_NO_AUTO_UPDATE: "1", ANDROID_HOME: "/usr/local/lib/android/sdk", GITHUB_SERVER_URL: "https://github.com", GECKOWEBDRIVER: "/usr/local/share/gecko_driver", LEIN_JAR: "/usr/local/lib/lein/self-installs/leiningen-2.11.2-standalone.jar", GHCUP_INSTALL_BASE_PREFIX: "/usr/local", GITHUB_OUTPUT: "/home/runner/work/_temp/_runner_file_commands/set_output_ae4b86d2-afd7-45c9-932a-93839f5acc62", npm_package_scripts_prestart: "rm -rf dist && yarn types:build", npm_package_author_name: "100ms", EDGEWEBDRIVER: "/usr/local/share/edge_driver", STATS_EXT: "true", npm_package_scripts_build_storybook: "sb build", npm_package_devDependencies_postcss: "^8.4.5", npm_package_devDependencies_esbuild: "^0.18.13", npm_config_save_prefix: "^", npm_config_ignore_optional: "", npm_package_dependencies_worker_timers: "^7.0.40", npm_package_typings: "dist/index.d.ts", ANDROID_NDK: "/usr/local/lib/android/sdk/ndk/25.2.9519653", SGX_AESM_ADDR: "1", CHROME_BIN: "/usr/bin/google-chrome", npm_package_scripts_storybook: "sb dev -p 6006", npm_package_devDependencies_esbuild_plugin_postcss2: "0.1.1", npm_package_dependencies_react_swipeable: "^7.0.1", npm_package_devDependencies_babel_plugin_react_require: "3.1.3", npm_package_devDependencies__storybook_testing_library: "^0.2.0", npm_package_devDependencies__storybook_addon_essentials: "^7.0.27", SELENIUM_JAR_PATH: "/usr/share/java/selenium-server.jar", STATS_EXTP: "https://provjobdsettingscdn.blob.core.windows.net/settings/provjobdsettings-0.5.169+2/provjobd.data", npm_package_scripts_reactsdk: "cd packages/react-sdk && yarn start", npm_package_dependencies_react_use: "^17.4.0", npm_package_dependencies__radix_ui_react_collapsible: "1.0.0", npm_package_devDependencies_storybook_dark_mode: "^3.0.0", npm_package_devDependencies__storybook_react: "^7.0.27", INIT_CWD: "/home/runner/work/web-sdks/web-sdks", ANDROID_NDK_HOME: "/usr/local/lib/android/sdk/ndk/25.2.9519653", GITHUB_STEP_SUMMARY: "/home/runner/work/_temp/_runner_file_commands/step_summary_ae4b86d2-afd7-45c9-932a-93839f5acc62" };
110
110
  }
111
111
  });
112
112
 
@@ -18498,7 +18498,7 @@ var Zi = (a2, e) => {
18498
18498
  };
18499
18499
  var La = (a2, e) => () => (e || a2((e = { exports: {} }).exports, e), e.exports);
18500
18500
  var ur = La((ad, Qa) => {
18501
- Qa.exports = { version: "0.12.5-alpha.2", license: "MIT", repository: { type: "git", url: "https://github.com/100mslive/web-sdks.git", directory: "packages/hms-video-store" }, main: "dist/index.cjs.js", module: "dist/index.js", typings: "dist/index.d.ts", files: ["dist", "src"], engines: { node: ">=12" }, exports: { ".": { require: "./dist/index.cjs.js", import: "./dist/index.js", default: "./dist/index.js" } }, sideEffects: false, scripts: { prestart: "rm -rf dist && yarn types:build", start: 'concurrently "yarn dev" "yarn types"', dev: "node ../../scripts/dev", "build:only": "node ../../scripts/build", build: "yarn build:only && yarn types:build", types: "tsc -w", "types:build": "tsc -p tsconfig.json", format: "prettier --write src/**/*.ts", test: "jest --maxWorkers=1", "test:watch": "jest --watch", "test:coverage": "jest --coverage", lint: "eslint -c ../../.eslintrc .", "lint:fix": "yarn lint --fix", prepare: "yarn build", size: "size-limit", analyze: "size-limit --why", docs: "rm -rf ./docs && typedoc && rm -f ./docs/README.md && mkdir ./docs/home &&mv ./docs/modules.md ./docs/home/content.md && node ../../scripts/docs-store && npx prettier --write './docs/**/*'" }, name: "@100mslive/hms-video-store", author: "100ms", dependencies: { eventemitter2: "^6.4.9", immer: "^9.0.6", "lodash.isequal": "^4.5.0", reselect: "4.0.0", "sdp-transform": "^2.14.1", "ua-parser-js": "^1.0.1", uuid: "^8.3.2", "webrtc-adapter": "^8.0.0", zustand: "3.5.7" }, devDependencies: { "@types/dom-screen-wake-lock": "^1.0.1", "@types/lodash.isequal": "^4.5.8", "@types/sdp-transform": "^2.4.4", "@types/ua-parser-js": "^0.7.36", "@types/uuid": "^8.3.0", "jest-canvas-mock": "^2.3.1", "jsdom-worker": "^0.3.0", tslib: "^2.2.0" }, description: "@100mslive Core SDK which abstracts the complexities of webRTC while providing a reactive store for data management with a unidirectional data flow", keywords: ["video", "webrtc", "conferencing", "100ms"] };
18501
+ Qa.exports = { version: "0.12.5-alpha.4", license: "MIT", repository: { type: "git", url: "https://github.com/100mslive/web-sdks.git", directory: "packages/hms-video-store" }, main: "dist/index.cjs.js", module: "dist/index.js", typings: "dist/index.d.ts", files: ["dist", "src"], engines: { node: ">=12" }, exports: { ".": { require: "./dist/index.cjs.js", import: "./dist/index.js", default: "./dist/index.js" } }, sideEffects: false, scripts: { prestart: "rm -rf dist && yarn types:build", start: 'concurrently "yarn dev" "yarn types"', dev: "node ../../scripts/dev", "build:only": "node ../../scripts/build", build: "yarn build:only && yarn types:build", types: "tsc -w", "types:build": "tsc -p tsconfig.json", format: "prettier --write src/**/*.ts", test: "jest --maxWorkers=1", "test:watch": "jest --watch", "test:coverage": "jest --coverage", lint: "eslint -c ../../.eslintrc .", "lint:fix": "yarn lint --fix", prepare: "yarn build", size: "size-limit", analyze: "size-limit --why", docs: "rm -rf ./docs && typedoc && rm -f ./docs/README.md && mkdir ./docs/home &&mv ./docs/modules.md ./docs/home/content.md && node ../../scripts/docs-store && npx prettier --write './docs/**/*'" }, name: "@100mslive/hms-video-store", author: "100ms", dependencies: { eventemitter2: "^6.4.9", immer: "^9.0.6", "lodash.isequal": "^4.5.0", reselect: "4.0.0", "sdp-transform": "^2.14.1", "ua-parser-js": "^1.0.1", uuid: "^8.3.2", "webrtc-adapter": "^8.0.0", zustand: "3.5.7" }, devDependencies: { "@types/dom-screen-wake-lock": "^1.0.1", "@types/lodash.isequal": "^4.5.8", "@types/sdp-transform": "^2.4.4", "@types/ua-parser-js": "^0.7.36", "@types/uuid": "^8.3.0", "jest-canvas-mock": "^2.3.1", "jsdom-worker": "^0.3.0", tslib: "^2.2.0" }, description: "@100mslive Core SDK which abstracts the complexities of webRTC while providing a reactive store for data management with a unidirectional data flow", keywords: ["video", "webrtc", "conferencing", "100ms"] };
18502
18502
  });
18503
18503
  var er = ((n) => (n.Disconnected = "Disconnected", n.Preview = "Preview", n.Connecting = "Connecting", n.Connected = "Connected", n.Reconnecting = "Reconnecting", n.Disconnecting = "Disconnecting", n.Failed = "Failed", n))(er || {});
18504
18504
  var wa = ((e) => (e.CHAT = "chat", e))(wa || {});
@@ -27887,11 +27887,18 @@ import { ExpandIcon as ExpandIcon3, ShrinkIcon as ShrinkIcon2 } from "@100mslive
27887
27887
 
27888
27888
  // src/Prebuilt/components/LayoutModeSelector.tsx
27889
27889
  init_define_process_env();
27890
- import React142, { useState as useState61 } from "react";
27890
+ import React142, { useCallback as useCallback33, useState as useState61 } from "react";
27891
27891
  import { CheckIcon as CheckIcon8, ChevronDownIcon as ChevronDownIcon9, ChevronUpIcon as ChevronUpIcon7 } from "@100mslive/react-icons";
27892
27892
  var LayoutModeSelector = () => {
27893
27893
  const [open, setOpen] = useState61(false);
27894
27894
  const [layoutMode, setLayoutMode] = useSetUiSettings(UI_SETTINGS.layoutMode);
27895
+ const updateLayoutMode = useCallback33(
27896
+ (value) => {
27897
+ setLayoutMode(value);
27898
+ setOpen(false);
27899
+ },
27900
+ [setLayoutMode, setOpen]
27901
+ );
27895
27902
  return /* @__PURE__ */ React142.createElement(Popover2.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React142.createElement(Popover2.Trigger, { asChild: true }, /* @__PURE__ */ React142.createElement(
27896
27903
  Flex,
27897
27904
  {
@@ -27945,7 +27952,7 @@ var LayoutModeSelector = () => {
27945
27952
  Flex,
27946
27953
  {
27947
27954
  key,
27948
- onClick: () => setLayoutMode(value),
27955
+ onClick: () => updateLayoutMode(value),
27949
27956
  align: "center",
27950
27957
  css: {
27951
27958
  gap: "$4",
@@ -28649,7 +28656,7 @@ var useCloseScreenshareWhiteboard = () => {
28649
28656
  };
28650
28657
 
28651
28658
  // src/Prebuilt/layouts/VideoStreamingSection.tsx
28652
- var HLSView = React151.lazy(() => import("./HLSView-I6DCFRWE.js"));
28659
+ var HLSView = React151.lazy(() => import("./HLSView-CEIGYUBS.js"));
28653
28660
  var VideoStreamingSection = ({
28654
28661
  screenType,
28655
28662
  elements,
@@ -29381,10 +29388,10 @@ import { HMSRoomState as HMSRoomState8, selectRoomState as selectRoomState8, use
29381
29388
 
29382
29389
  // src/Prebuilt/components/hooks/useRedirectToLeave.tsx
29383
29390
  init_define_process_env();
29384
- import { useCallback as useCallback33 } from "react";
29391
+ import { useCallback as useCallback34 } from "react";
29385
29392
  var useRedirectToLeave = () => {
29386
29393
  const { onLeave } = useHMSPrebuiltContext();
29387
- const redirect = useCallback33(
29394
+ const redirect = useCallback34(
29388
29395
  (timeout = 0) => {
29389
29396
  setTimeout(() => {
29390
29397
  PictureInPicture.stop().catch(() => console.error("stopping pip"));
@@ -29547,7 +29554,7 @@ init_define_process_env();
29547
29554
 
29548
29555
  // src/Prebuilt/components/Notifications/Notifications.tsx
29549
29556
  init_define_process_env();
29550
- import React169, { useCallback as useCallback35, useEffect as useEffect65 } from "react";
29557
+ import React169, { useCallback as useCallback36, useEffect as useEffect65 } from "react";
29551
29558
  import {
29552
29559
  HMSNotificationTypes as HMSNotificationTypes10,
29553
29560
  HMSRoomState as HMSRoomState10,
@@ -29642,7 +29649,7 @@ init_define_process_env();
29642
29649
 
29643
29650
  // src/Prebuilt/components/Toast/ToastConfig.jsx
29644
29651
  init_define_process_env();
29645
- import React163, { useCallback as useCallback34 } from "react";
29652
+ import React163, { useCallback as useCallback35 } from "react";
29646
29653
  import { selectPeerByID as selectPeerByID5, useHMSActions as useHMSActions49, useHMSStore as useHMSStore90 } from "@100mslive/react-sdk";
29647
29654
  import {
29648
29655
  ChatUnreadIcon as ChatUnreadIcon2,
@@ -29673,7 +29680,7 @@ var HandRaiseAction = React163.forwardRef(({ id = "", isSingleHandRaise = true }
29673
29680
  off_stage_roles = [],
29674
29681
  skip_preview_for_role_change = false
29675
29682
  } = ((_c = (_b7 = (_a8 = layout == null ? void 0 : layout.screens) == null ? void 0 : _a8.conferencing) == null ? void 0 : _b7.default) == null ? void 0 : _c.elements.on_stage_exp) || {};
29676
- const onClickHandler = useCallback34(() => __async(void 0, null, function* () {
29683
+ const onClickHandler = useCallback35(() => __async(void 0, null, function* () {
29677
29684
  if (isSingleHandRaise) {
29678
29685
  hmsActions.changeRoleOfPeer(id, on_stage_role, skip_preview_for_role_change);
29679
29686
  if (skip_preview_for_role_change) {
@@ -30259,7 +30266,7 @@ function Notifications() {
30259
30266
  const { showNotification } = useAwayNotifications2();
30260
30267
  const amIScreenSharing = useHMSStore92(selectIsLocalScreenShared2);
30261
30268
  const logoURL = (_b7 = (_a8 = useRoomLayout()) == null ? void 0 : _a8.logo) == null ? void 0 : _b7.url;
30262
- const handleRoleChangeDenied = useCallback35((request) => {
30269
+ const handleRoleChangeDenied = useCallback36((request) => {
30263
30270
  ToastManager.addToast({
30264
30271
  title: `${request.peerName} denied your request to join the ${request.role.name} role`,
30265
30272
  variant: "error"
@@ -30494,7 +30501,7 @@ var Sheet2 = () => {
30494
30501
 
30495
30502
  // src/Prebuilt/plugins/FlyingEmoji.jsx
30496
30503
  init_define_process_env();
30497
- import React175, { useCallback as useCallback36, useEffect as useEffect67, useMemo as useMemo21, useState as useState73 } from "react";
30504
+ import React175, { useCallback as useCallback37, useEffect as useEffect67, useMemo as useMemo21, useState as useState73 } from "react";
30498
30505
  import { useMedia as useMedia38 } from "react-use";
30499
30506
  import {
30500
30507
  selectLocalPeerID as selectLocalPeerID17,
@@ -30532,7 +30539,7 @@ function FlyingEmoji() {
30532
30539
  const [emojis, setEmojis] = useState73([]);
30533
30540
  const isMobile = useMedia38(config.media.md);
30534
30541
  const startingPoints = useMemo21(() => getStartingPoints(isMobile), [isMobile]);
30535
- const showFlyingEmoji = useCallback36(
30542
+ const showFlyingEmoji = useCallback37(
30536
30543
  ({ emojiId, senderId }) => {
30537
30544
  if (!emojiId || !senderId || document.hidden) {
30538
30545
  return;
@@ -30625,11 +30632,11 @@ function FlyingEmoji() {
30625
30632
 
30626
30633
  // src/Prebuilt/plugins/RemoteStopScreenshare.jsx
30627
30634
  init_define_process_env();
30628
- import React176, { useCallback as useCallback37 } from "react";
30635
+ import React176, { useCallback as useCallback38 } from "react";
30629
30636
  import { useCustomEvent as useCustomEvent6, useHMSActions as useHMSActions52 } from "@100mslive/react-sdk";
30630
30637
  function RemoteStopScreenshare() {
30631
30638
  const actions = useHMSActions52();
30632
- const onRemoteStopScreenshare = useCallback37(() => __async(this, null, function* () {
30639
+ const onRemoteStopScreenshare = useCallback38(() => __async(this, null, function* () {
30633
30640
  yield actions.setScreenShareEnabled(false);
30634
30641
  }), [actions]);
30635
30642
  useCustomEvent6({
@@ -30641,7 +30648,7 @@ function RemoteStopScreenshare() {
30641
30648
 
30642
30649
  // src/Prebuilt/components/hooks/useAutoStartStreaming.tsx
30643
30650
  init_define_process_env();
30644
- import { useCallback as useCallback38, useEffect as useEffect68, useRef as useRef27 } from "react";
30651
+ import { useCallback as useCallback39, useEffect as useEffect68, useRef as useRef27 } from "react";
30645
30652
  import {
30646
30653
  selectIsConnectedToRoom as selectIsConnectedToRoom12,
30647
30654
  selectPermissions as selectPermissions20,
@@ -30657,7 +30664,7 @@ var useAutoStartStreaming = () => {
30657
30664
  const isConnected = useHMSStore96(selectIsConnectedToRoom12);
30658
30665
  const { isHLSRunning, isRTMPRunning, isHLSRecordingOn, isBrowserRecordingOn } = useRecordingStreaming12();
30659
30666
  const streamStartedRef = useRef27(false);
30660
- const startHLS = useCallback38(() => __async(void 0, null, function* () {
30667
+ const startHLS = useCallback39(() => __async(void 0, null, function* () {
30661
30668
  try {
30662
30669
  if (isHLSStarted || !showStreamingUI || isHLSRunning || isRTMPRunning || isHLSRecordingOn || isBrowserRecordingOn) {
30663
30670
  return;
@@ -31020,4 +31027,4 @@ lodash/lodash.js:
31020
31027
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
31021
31028
  *)
31022
31029
  */
31023
- //# sourceMappingURL=chunk-ZE5KXBZW.js.map
31030
+ //# sourceMappingURL=chunk-DRL44CU7.js.map