@100mslive/roomkit-react 0.1.7-alpha.0 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. package/dist/{HLSView-F5BDZVT2.js → HLSView-3S74KF3A.js} +6 -5
  2. package/dist/{HLSView-F5BDZVT2.js.map → HLSView-3S74KF3A.js.map} +2 -2
  3. package/dist/Prebuilt/components/RoleChangeRequest/RequestPrompt.d.ts +9 -0
  4. package/dist/VideoTile/StyledVideoTile.d.ts +445 -3
  5. package/dist/{VirtualBackground-THDRYDRA.js → VirtualBackground-3TI5NA4V.js} +3 -3
  6. package/dist/{chunk-JSH7SKEH.js → chunk-36X4ZCLC.js} +2 -2
  7. package/dist/{chunk-U3G743OY.js → chunk-5DQ3WTED.js} +2 -2
  8. package/dist/{chunk-U3G743OY.js.map → chunk-5DQ3WTED.js.map} +1 -1
  9. package/dist/{chunk-CDYRVICT.js → chunk-Z7P5WITU.js} +40 -32
  10. package/dist/chunk-Z7P5WITU.js.map +7 -0
  11. package/dist/{conference-6IVZHILI.js → conference-JNABIZBG.js} +506 -490
  12. package/dist/conference-JNABIZBG.js.map +7 -0
  13. package/dist/index.cjs.js +826 -790
  14. package/dist/index.cjs.js.map +4 -4
  15. package/dist/index.js +2 -2
  16. package/dist/meta.cjs.json +185 -126
  17. package/dist/meta.esbuild.json +221 -162
  18. package/package.json +6 -6
  19. package/src/Input/Input.tsx +1 -1
  20. package/src/Prebuilt/common/utils.js +7 -0
  21. package/src/Prebuilt/components/Chat/ChatBody.jsx +125 -106
  22. package/src/Prebuilt/components/Footer/ParticipantList.jsx +1 -1
  23. package/src/Prebuilt/components/Leave/DesktopLeaveRoom.tsx +36 -44
  24. package/src/Prebuilt/components/Leave/MwebLeaveRoom.tsx +23 -35
  25. package/src/Prebuilt/components/Preview/PreviewJoin.tsx +5 -3
  26. package/src/Prebuilt/components/RaiseHand.jsx +4 -11
  27. package/src/Prebuilt/components/RoleChangeRequest/RequestPrompt.tsx +66 -0
  28. package/src/Prebuilt/components/{RoleChangeRequestModal.tsx → RoleChangeRequest/RoleChangeRequestModal.tsx} +18 -50
  29. package/src/Prebuilt/components/VideoTile.jsx +18 -12
  30. package/src/Prebuilt/components/conference.jsx +1 -1
  31. package/src/Prebuilt/components/hooks/useMetadata.jsx +2 -1
  32. package/src/Prebuilt/layouts/HLSView.jsx +3 -2
  33. package/src/Prebuilt/layouts/SidePane.tsx +0 -1
  34. package/src/VideoTile/StyledVideoTile.tsx +10 -14
  35. package/dist/chunk-CDYRVICT.js.map +0 -7
  36. package/dist/conference-6IVZHILI.js.map +0 -7
  37. /package/dist/Prebuilt/components/{RoleChangeRequestModal.d.ts → RoleChangeRequest/RoleChangeRequestModal.d.ts} +0 -0
  38. /package/dist/{VirtualBackground-THDRYDRA.js.map → VirtualBackground-3TI5NA4V.js.map} +0 -0
  39. /package/dist/{chunk-JSH7SKEH.js.map → chunk-36X4ZCLC.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ActionTile
3
- } from "./chunk-JSH7SKEH.js";
3
+ } from "./chunk-36X4ZCLC.js";
4
4
  import {
5
5
  APP_DATA,
6
6
  Accordion,
@@ -83,7 +83,7 @@ import {
83
83
  useUrlToEmbed,
84
84
  useUserPreferences,
85
85
  useWaitingViewerRole
86
- } from "./chunk-CDYRVICT.js";
86
+ } from "./chunk-Z7P5WITU.js";
87
87
  import {
88
88
  Box,
89
89
  Flex,
@@ -102,10 +102,10 @@ import {
102
102
  slideLeftAndFade,
103
103
  styled,
104
104
  textEllipsis
105
- } from "./chunk-U3G743OY.js";
105
+ } from "./chunk-5DQ3WTED.js";
106
106
 
107
107
  // src/Prebuilt/components/conference.jsx
108
- import React62, { useEffect as useEffect25, useRef as useRef14, useState as useState35 } from "react";
108
+ import React63, { useEffect as useEffect25, useRef as useRef14, useState as useState35 } from "react";
109
109
  import { useNavigate, useParams } from "react-router-dom";
110
110
  import { usePrevious } from "react-use";
111
111
  import {
@@ -113,8 +113,8 @@ import {
113
113
  selectAppData as selectAppData4,
114
114
  selectIsConnectedToRoom as selectIsConnectedToRoom7,
115
115
  selectRoomState,
116
- useHMSActions as useHMSActions23,
117
- useHMSStore as useHMSStore36
116
+ useHMSActions as useHMSActions22,
117
+ useHMSStore as useHMSStore35
118
118
  } from "@100mslive/react-sdk";
119
119
 
120
120
  // src/Prebuilt/components/Footer/Footer.tsx
@@ -345,11 +345,12 @@ var DesktopLeaveRoom = ({
345
345
  const permissions = useHMSStore2(selectPermissions);
346
346
  const { isStreamingOn } = useRecordingStreaming();
347
347
  const showStream = screenType !== "hls_live_streaming" && isStreamingOn;
348
+ const showLeaveOptions = (permissions == null ? void 0 : permissions.hlsStreaming) && isStreamingOn || (permissions == null ? void 0 : permissions.endRoom);
348
349
  useDropdownList({ open: open || showEndStreamAlert || showLeaveRoomAlert, name: "LeaveRoom" });
349
350
  if (!permissions || !isConnected) {
350
351
  return null;
351
352
  }
352
- return /* @__PURE__ */ React6.createElement(Fragment2, null, screenType !== "hls_live_streaming" && ((permissions == null ? void 0 : permissions.hlsStreaming) || (permissions == null ? void 0 : permissions.endRoom)) ? /* @__PURE__ */ React6.createElement(Flex, null, /* @__PURE__ */ React6.createElement(
353
+ return /* @__PURE__ */ React6.createElement(Fragment2, null, showLeaveOptions ? /* @__PURE__ */ React6.createElement(Flex, null, /* @__PURE__ */ React6.createElement(
353
354
  LeaveIconButton,
354
355
  {
355
356
  key: "LeaveRoom",
@@ -358,9 +359,7 @@ var DesktopLeaveRoom = ({
358
359
  borderTopRightRadius: 0,
359
360
  borderBottomRightRadius: 0
360
361
  },
361
- onClick: () => {
362
- leaveRoom({ endstream: false });
363
- }
362
+ onClick: () => setShowLeaveRoomAlert(true)
364
363
  },
365
364
  /* @__PURE__ */ React6.createElement(Tooltip, { title: "Leave Room" }, /* @__PURE__ */ React6.createElement(Box, null, /* @__PURE__ */ React6.createElement(ExitIcon, { style: { transform: "rotate(180deg)" } })))
366
365
  ), /* @__PURE__ */ React6.createElement(Dropdown.Root, { open, onOpenChange: setOpen, modal: false }, /* @__PURE__ */ React6.createElement(
@@ -379,7 +378,7 @@ var DesktopLeaveRoom = ({
379
378
  {
380
379
  css: {
381
380
  bg: "$surface_dim",
382
- color: "$on_surface_low",
381
+ color: "$on_surface_medium",
383
382
  "&:hover": { bg: "$surface_default", color: "$on_surface_high" }
384
383
  },
385
384
  onClick: () => leaveRoom({ endstream: false }),
@@ -397,7 +396,7 @@ var DesktopLeaveRoom = ({
397
396
  css: { p: 0 }
398
397
  }
399
398
  )
400
- ), (permissions == null ? void 0 : permissions.endRoom) || (permissions == null ? void 0 : permissions.hlsStreaming) ? /* @__PURE__ */ React6.createElement(
399
+ ), /* @__PURE__ */ React6.createElement(
401
400
  Dropdown.Item,
402
401
  {
403
402
  css: {
@@ -422,15 +421,11 @@ var DesktopLeaveRoom = ({
422
421
  css: { p: 0 }
423
422
  }
424
423
  )
425
- ) : null))) : /* @__PURE__ */ React6.createElement(
424
+ )))) : /* @__PURE__ */ React6.createElement(
426
425
  LeaveIconButton,
427
426
  {
428
427
  onClick: () => {
429
- if (screenType === "hls_live_streaming") {
430
- setShowLeaveRoomAlert(true);
431
- } else {
432
- leaveRoom({ endstream: false });
433
- }
428
+ setShowLeaveRoomAlert(true);
434
429
  },
435
430
  key: "LeaveRoom",
436
431
  "data-testid": "leave_room_btn"
@@ -444,7 +439,7 @@ var DesktopLeaveRoom = ({
444
439
  isStreamingOn,
445
440
  isModal: true
446
441
  }
447
- )))), screenType === "hls_live_streaming" ? /* @__PURE__ */ React6.createElement(Dialog.Root, { open: showLeaveRoomAlert, modal: false }, /* @__PURE__ */ React6.createElement(Dialog.Portal, null, /* @__PURE__ */ React6.createElement(Dialog.Overlay, null), /* @__PURE__ */ React6.createElement(Dialog.Content, { css: { w: "min(420px, 90%)", p: "$8", bg: "$surface_dim" } }, /* @__PURE__ */ React6.createElement(LeaveSessionContent, { setShowLeaveRoomAlert, leaveRoom, isModal: true })))) : null);
442
+ )))), /* @__PURE__ */ React6.createElement(Dialog.Root, { open: showLeaveRoomAlert, modal: false }, /* @__PURE__ */ React6.createElement(Dialog.Portal, null, /* @__PURE__ */ React6.createElement(Dialog.Overlay, null), /* @__PURE__ */ React6.createElement(Dialog.Content, { css: { w: "min(420px, 90%)", p: "$8", bg: "$surface_dim" } }, /* @__PURE__ */ React6.createElement(LeaveSessionContent, { setShowLeaveRoomAlert, leaveRoom, isModal: true })))));
448
443
  };
449
444
 
450
445
  // src/Prebuilt/components/Leave/MwebLeaveRoom.tsx
@@ -463,11 +458,12 @@ var MwebLeaveRoom = ({
463
458
  const permissions = useHMSStore3(selectPermissions2);
464
459
  const { isStreamingOn } = useRecordingStreaming2();
465
460
  const showStream = screenType !== "hls_live_streaming" && isStreamingOn;
461
+ const showLeaveOptions = (permissions == null ? void 0 : permissions.hlsStreaming) && isStreamingOn || (permissions == null ? void 0 : permissions.endRoom);
466
462
  useDropdownList({ open, name: "LeaveRoom" });
467
463
  if (!permissions || !isConnected) {
468
464
  return null;
469
465
  }
470
- return /* @__PURE__ */ React7.createElement(Fragment3, null, screenType !== "hls_live_streaming" ? /* @__PURE__ */ React7.createElement(Sheet.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React7.createElement(Sheet.Trigger, { asChild: true }, /* @__PURE__ */ React7.createElement(
466
+ return /* @__PURE__ */ React7.createElement(Fragment3, null, showLeaveOptions ? /* @__PURE__ */ React7.createElement(Sheet.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React7.createElement(Sheet.Trigger, { asChild: true }, /* @__PURE__ */ React7.createElement(
471
467
  LeaveIconButton,
472
468
  {
473
469
  key: "LeaveRoom",
@@ -489,7 +485,7 @@ var MwebLeaveRoom = ({
489
485
  onClick: () => leaveRoom({ endstream: false }),
490
486
  css: { pt: 0, mt: "$10", color: "$on_surface_low", "&:hover": { color: "$on_surface_high" } }
491
487
  }
492
- ), (permissions == null ? void 0 : permissions.endRoom) || (permissions == null ? void 0 : permissions.hlsStreaming) ? /* @__PURE__ */ React7.createElement(
488
+ ), /* @__PURE__ */ React7.createElement(
493
489
  LeaveCard,
494
490
  {
495
491
  title: showStream ? "End Stream" : "End Session",
@@ -503,28 +499,14 @@ var MwebLeaveRoom = ({
503
499
  setShowEndStreamAlert(true);
504
500
  }
505
501
  }
506
- ) : null)) : /* @__PURE__ */ React7.createElement(
507
- LeaveIconButton,
508
- {
509
- key: "LeaveRoom",
510
- "data-testid": "leave_room_btn",
511
- onClick: () => {
512
- if (screenType === "hls_live_streaming") {
513
- setShowLeaveRoomAlert(true);
514
- } else {
515
- leaveRoom({ endstream: false });
516
- }
517
- }
518
- },
519
- /* @__PURE__ */ React7.createElement(Tooltip, { title: "Leave Room" }, /* @__PURE__ */ React7.createElement(Box, null, /* @__PURE__ */ React7.createElement(ExitIcon2, { style: { transform: "rotate(180deg)" } })))
520
- ), /* @__PURE__ */ React7.createElement(Sheet.Root, { open: showEndStreamAlert, onOpenChange: setShowEndStreamAlert }, /* @__PURE__ */ React7.createElement(Sheet.Content, { css: { bg: "$surface_dim", p: "$10", pb: "$12" } }, /* @__PURE__ */ React7.createElement(
502
+ ))) : /* @__PURE__ */ React7.createElement(LeaveIconButton, { key: "LeaveRoom", "data-testid": "leave_room_btn", onClick: () => setShowLeaveRoomAlert(true) }, /* @__PURE__ */ React7.createElement(Tooltip, { title: "Leave Room" }, /* @__PURE__ */ React7.createElement(Box, null, /* @__PURE__ */ React7.createElement(ExitIcon2, { style: { transform: "rotate(180deg)" } })))), /* @__PURE__ */ React7.createElement(Sheet.Root, { open: showEndStreamAlert, onOpenChange: setShowEndStreamAlert }, /* @__PURE__ */ React7.createElement(Sheet.Content, { css: { bg: "$surface_dim", p: "$10", pb: "$12" } }, /* @__PURE__ */ React7.createElement(
521
503
  EndSessionContent,
522
504
  {
523
505
  setShowEndStreamAlert,
524
506
  leaveRoom: isStreamingOn ? leaveRoom : endRoom,
525
507
  isStreamingOn
526
508
  }
527
- ))), screenType === "hls_live_streaming" ? /* @__PURE__ */ React7.createElement(Sheet.Root, { open: showLeaveRoomAlert, onOpenChange: setShowLeaveRoomAlert }, /* @__PURE__ */ React7.createElement(Sheet.Content, { css: { bg: "$surface_dim", p: "$10", pb: "$12" } }, /* @__PURE__ */ React7.createElement(LeaveSessionContent, { setShowLeaveRoomAlert, leaveRoom }))) : null);
509
+ ))), /* @__PURE__ */ React7.createElement(Sheet.Root, { open: showLeaveRoomAlert, onOpenChange: setShowLeaveRoomAlert }, /* @__PURE__ */ React7.createElement(Sheet.Content, { css: { bg: "$surface_dim", p: "$10", pb: "$12" } }, /* @__PURE__ */ React7.createElement(LeaveSessionContent, { setShowLeaveRoomAlert, leaveRoom }))));
528
510
  };
529
511
 
530
512
  // src/Prebuilt/components/Leave/LeaveRoom.tsx
@@ -2130,27 +2112,17 @@ var MoreSettings = ({
2130
2112
 
2131
2113
  // src/Prebuilt/components/RaiseHand.jsx
2132
2114
  import React24 from "react";
2133
- import { selectHasPeerHandRaised, selectLocalPeerID as selectLocalPeerID4, useHMSActions as useHMSActions10, useHMSStore as useHMSStore12 } from "@100mslive/react-sdk";
2134
2115
  import { HandIcon as HandIcon2 } from "@100mslive/react-icons";
2135
2116
  var RaiseHand = () => {
2136
- const localPeerId = useHMSStore12(selectLocalPeerID4);
2137
- const isHandRaised = useHMSStore12(selectHasPeerHandRaised(localPeerId));
2138
- const actions = useHMSActions10();
2139
- return /* @__PURE__ */ React24.createElement(Tooltip, { title: isHandRaised ? "Lower hand" : "Raise hand" }, /* @__PURE__ */ React24.createElement(
2140
- IconButton_default,
2141
- {
2142
- active: !isHandRaised,
2143
- onClick: () => {
2144
- isHandRaised ? actions.lowerLocalPeerHand() : actions.raiseLocalPeerHand();
2145
- }
2146
- },
2147
- /* @__PURE__ */ React24.createElement(HandIcon2, null)
2148
- ));
2117
+ const { isHandRaised, toggleHandRaise } = useMyMetadata();
2118
+ return /* @__PURE__ */ React24.createElement(Tooltip, { title: isHandRaised ? "Lower hand" : "Raise hand" }, /* @__PURE__ */ React24.createElement(IconButton_default, { active: !isHandRaised, onClick: () => __async(void 0, null, function* () {
2119
+ return yield toggleHandRaise();
2120
+ }) }, /* @__PURE__ */ React24.createElement(HandIcon2, null)));
2149
2121
  };
2150
2122
 
2151
2123
  // src/Prebuilt/components/ScreenShareToggle.jsx
2152
2124
  import React31, { Fragment as Fragment6 } from "react";
2153
- import { selectIsAllowedToPublish, useHMSStore as useHMSStore13, useScreenShare as useScreenShare2 } from "@100mslive/react-sdk";
2125
+ import { selectIsAllowedToPublish, useHMSStore as useHMSStore12, useScreenShare as useScreenShare2 } from "@100mslive/react-sdk";
2154
2126
  import { ShareScreenIcon } from "@100mslive/react-icons";
2155
2127
 
2156
2128
  // src/Prebuilt/components/pdfAnnotator/shareScreenOptions.jsx
@@ -2632,7 +2604,7 @@ function ShareScreenOptions() {
2632
2604
 
2633
2605
  // src/Prebuilt/components/ScreenShareToggle.jsx
2634
2606
  var ScreenshareToggle = ({ css = {} }) => {
2635
- const isAllowedToPublish = useHMSStore13(selectIsAllowedToPublish);
2607
+ const isAllowedToPublish = useHMSStore12(selectIsAllowedToPublish);
2636
2608
  const isAudioOnly = useUISettings(UI_SETTINGS.isAudioOnly);
2637
2609
  const { amIScreenSharing, screenShareVideoTrackId: video, toggleScreenShare } = useScreenShare2();
2638
2610
  const isVideoScreenshare = amIScreenSharing && !!video;
@@ -2657,10 +2629,10 @@ var ScreenshareToggle = ({ css = {} }) => {
2657
2629
 
2658
2630
  // src/Prebuilt/components/Footer/ChatToggle.tsx
2659
2631
  import React32 from "react";
2660
- import { selectUnreadHMSMessagesCount, useHMSStore as useHMSStore14 } from "@100mslive/react-sdk";
2632
+ import { selectUnreadHMSMessagesCount, useHMSStore as useHMSStore13 } from "@100mslive/react-sdk";
2661
2633
  import { ChatIcon, ChatUnreadIcon } from "@100mslive/react-icons";
2662
2634
  var ChatToggle = () => {
2663
- const countUnreadMessages = useHMSStore14(selectUnreadHMSMessagesCount);
2635
+ const countUnreadMessages = useHMSStore13(selectUnreadHMSMessagesCount);
2664
2636
  const isChatOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.CHAT);
2665
2637
  const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);
2666
2638
  return /* @__PURE__ */ React32.createElement(Tooltip, { key: "chat", title: `${isChatOpen ? "Close" : "Open"} chat` }, /* @__PURE__ */ React32.createElement(IconButton_default, { onClick: toggleChat, active: !isChatOpen, "data-testid": "chat_btn" }, countUnreadMessages === 0 ? /* @__PURE__ */ React32.createElement(ChatIcon, null) : /* @__PURE__ */ React32.createElement(ChatUnreadIcon, { "data-testid": "chat_unread_btn" })));
@@ -2671,14 +2643,14 @@ import React35, { Fragment as Fragment7, useCallback as useCallback6, useEffect
2671
2643
  import { useDebounce, useMedia as useMedia4 } from "react-use";
2672
2644
  import {
2673
2645
  selectHandRaisedPeers,
2674
- selectHasPeerHandRaised as selectHasPeerHandRaised2,
2646
+ selectHasPeerHandRaised,
2675
2647
  selectIsPeerAudioEnabled,
2676
- selectLocalPeerID as selectLocalPeerID5,
2648
+ selectLocalPeerID as selectLocalPeerID4,
2677
2649
  selectPeerCount as selectPeerCount2,
2678
2650
  selectPeerMetadata,
2679
2651
  selectPermissions as selectPermissions8,
2680
- useHMSActions as useHMSActions12,
2681
- useHMSStore as useHMSStore16
2652
+ useHMSActions as useHMSActions11,
2653
+ useHMSStore as useHMSStore15
2682
2654
  } from "@100mslive/react-sdk";
2683
2655
  import {
2684
2656
  ChangeRoleIcon as ChangeRoleIcon2,
@@ -2697,7 +2669,7 @@ import { FixedSizeList } from "react-window";
2697
2669
 
2698
2670
  // src/Prebuilt/components/Footer/RoleOptions.tsx
2699
2671
  import React33, { useState as useState17 } from "react";
2700
- import { selectPermissions as selectPermissions7, useHMSActions as useHMSActions11, useHMSStore as useHMSStore15, useHMSVanillaStore as useHMSVanillaStore2 } from "@100mslive/react-sdk";
2672
+ import { selectPermissions as selectPermissions7, useHMSActions as useHMSActions10, useHMSStore as useHMSStore14, useHMSVanillaStore as useHMSVanillaStore2 } from "@100mslive/react-sdk";
2701
2673
  import {
2702
2674
  MicOffIcon as MicOffIcon2,
2703
2675
  MicOnIcon,
@@ -2711,8 +2683,8 @@ var dropdownItemCSS = { backgroundColor: "$surface_default", gap: "$4", p: "$8"
2711
2683
  var optionTextCSS = { fontWeight: "$semiBold", color: "$on_surface_high", textTransform: "none" };
2712
2684
  var RoleOptions = ({ roleName, peerList }) => {
2713
2685
  const [openOptions, setOpenOptions] = useState17(false);
2714
- const permissions = useHMSStore15(selectPermissions7);
2715
- const hmsActions = useHMSActions11();
2686
+ const permissions = useHMSStore14(selectPermissions7);
2687
+ const hmsActions = useHMSActions10();
2716
2688
  const { elements } = useRoomLayoutConferencingScreen();
2717
2689
  const { on_stage_role, off_stage_roles = [] } = (elements == null ? void 0 : elements.on_stage_exp) || {};
2718
2690
  const vanillaStore = useHMSVanillaStore2();
@@ -2884,7 +2856,7 @@ var ParticipantList = () => {
2884
2856
  const [filter, setFilter] = useState18();
2885
2857
  const { participants, isConnected, peerCount } = useParticipants(filter);
2886
2858
  const peersOrderedByRoles = {};
2887
- const handRaisedPeers = useHMSStore16(selectHandRaisedPeers);
2859
+ const handRaisedPeers = useHMSStore15(selectHandRaisedPeers);
2888
2860
  participants.forEach((participant) => {
2889
2861
  if (peersOrderedByRoles[participant.roleName] === void 0) {
2890
2862
  peersOrderedByRoles[participant.roleName] = [];
@@ -2914,7 +2886,7 @@ var ParticipantList = () => {
2914
2886
  )));
2915
2887
  };
2916
2888
  var ParticipantCount = () => {
2917
- const peerCount = useHMSStore16(selectPeerCount2);
2889
+ const peerCount = useHMSStore15(selectPeerCount2);
2918
2890
  const toggleSidepane = useSidepaneToggle(SIDE_PANE_OPTIONS.PARTICIPANTS);
2919
2891
  const isParticipantsOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.PARTICIPANTS);
2920
2892
  useEffect5(() => {
@@ -2982,7 +2954,7 @@ var VirtualizedParticipants = ({ peersOrderedByRoles = {}, isConnected, filter,
2982
2954
  );
2983
2955
  };
2984
2956
  var Participant = ({ peer, isConnected }) => {
2985
- const localPeerId = useHMSStore16(selectLocalPeerID5);
2957
+ const localPeerId = useHMSStore15(selectLocalPeerID4);
2986
2958
  return /* @__PURE__ */ React35.createElement(
2987
2959
  Flex,
2988
2960
  {
@@ -3004,10 +2976,10 @@ var Participant = ({ peer, isConnected }) => {
3004
2976
  };
3005
2977
  var ParticipantActions = React35.memo(({ peerId, role, isLocal }) => {
3006
2978
  var _a;
3007
- const isHandRaised = useHMSStore16(selectHasPeerHandRaised2(peerId));
3008
- const canChangeRole = (_a = useHMSStore16(selectPermissions8)) == null ? void 0 : _a.changeRole;
2979
+ const isHandRaised = useHMSStore15(selectHasPeerHandRaised(peerId));
2980
+ const canChangeRole = (_a = useHMSStore15(selectPermissions8)) == null ? void 0 : _a.changeRole;
3009
2981
  const shouldShowMoreActions = canChangeRole;
3010
- const isAudioMuted = !useHMSStore16(selectIsPeerAudioEnabled(peerId));
2982
+ const isAudioMuted = !useHMSStore15(selectIsPeerAudioEnabled(peerId));
3011
2983
  return /* @__PURE__ */ React35.createElement(
3012
2984
  Flex,
3013
2985
  {
@@ -3041,8 +3013,8 @@ var ParticipantActions = React35.memo(({ peerId, role, isLocal }) => {
3041
3013
  });
3042
3014
  var ParticipantMoreActions = ({ peerId, role }) => {
3043
3015
  var _a;
3044
- const hmsActions = useHMSActions12();
3045
- const { changeRole: canChangeRole, removeOthers: canRemoveOthers } = useHMSStore16(selectPermissions8);
3016
+ const hmsActions = useHMSActions11();
3017
+ const { changeRole: canChangeRole, removeOthers: canRemoveOthers } = useHMSStore15(selectPermissions8);
3046
3018
  const { elements } = useRoomLayoutConferencingScreen();
3047
3019
  const {
3048
3020
  bring_to_stage_label,
@@ -3052,8 +3024,8 @@ var ParticipantMoreActions = ({ peerId, role }) => {
3052
3024
  } = elements.on_stage_exp || {};
3053
3025
  const isInStage = role === on_stage_role;
3054
3026
  const shouldShowStageRoleChange = canChangeRole && (isInStage && remove_from_stage_label || (off_stage_roles == null ? void 0 : off_stage_roles.includes(role)) && bring_to_stage_label);
3055
- const prevRole = (_a = useHMSStore16(selectPeerMetadata(peerId))) == null ? void 0 : _a.prevRole;
3056
- const localPeerId = useHMSStore16(selectLocalPeerID5);
3027
+ const prevRole = (_a = useHMSStore15(selectPeerMetadata(peerId))) == null ? void 0 : _a.prevRole;
3028
+ const localPeerId = useHMSStore15(selectLocalPeerID4);
3057
3029
  const isLocal = localPeerId === peerId;
3058
3030
  const [open, setOpen] = useState18(false);
3059
3031
  const handleStageAction = () => __async(void 0, null, function* () {
@@ -3129,7 +3101,7 @@ var ParticipantSearch = ({ onSearch, placeholder, inSidePane = false }) => {
3129
3101
  {
3130
3102
  type: "text",
3131
3103
  placeholder: placeholder || "Search for participants",
3132
- css: { w: "100%", p: "$6", pl: "$14", mr: "$4", bg: inSidePane ? "$surface_default" : "$surface_dim" },
3104
+ css: { w: "100%", p: "$6", pl: "$16", mr: "$4", bg: inSidePane ? "$surface_default" : "$surface_dim" },
3133
3105
  value,
3134
3106
  onKeyDown: (event) => {
3135
3107
  event.stopPropagation();
@@ -3145,7 +3117,7 @@ var ParticipantSearch = ({ onSearch, placeholder, inSidePane = false }) => {
3145
3117
  };
3146
3118
 
3147
3119
  // src/Prebuilt/components/Footer/Footer.tsx
3148
- var VirtualBackground = React36.lazy(() => import("./VirtualBackground-THDRYDRA.js"));
3120
+ var VirtualBackground = React36.lazy(() => import("./VirtualBackground-3TI5NA4V.js"));
3149
3121
  var Footer2 = ({
3150
3122
  screenType,
3151
3123
  elements
@@ -3210,11 +3182,11 @@ var Footer2 = ({
3210
3182
 
3211
3183
  // src/Prebuilt/components/Notifications/HLSFailureModal.jsx
3212
3184
  import React37, { useCallback as useCallback7, useState as useState19 } from "react";
3213
- import { selectHLSState as selectHLSState2, useHMSActions as useHMSActions13, useHMSStore as useHMSStore17 } from "@100mslive/react-sdk";
3185
+ import { selectHLSState as selectHLSState2, useHMSActions as useHMSActions12, useHMSStore as useHMSStore16 } from "@100mslive/react-sdk";
3214
3186
  function HLSFailureModal() {
3215
- const { hlsError } = useHMSStore17(selectHLSState2).error || false;
3187
+ const { hlsError } = useHMSStore16(selectHLSState2).error || false;
3216
3188
  const [openModal, setOpenModal] = useState19(!!hlsError);
3217
- const hmsActions = useHMSActions13();
3189
+ const hmsActions = useHMSActions12();
3218
3190
  const [isHLSStarted, setHLSStarted] = useSetAppDataByKey(APP_DATA.hlsStarted);
3219
3191
  const startHLS = useCallback7(() => __async(this, null, function* () {
3220
3192
  try {
@@ -3257,29 +3229,128 @@ function HLSFailureModal() {
3257
3229
  ) : null;
3258
3230
  }
3259
3231
 
3232
+ // src/Prebuilt/components/RoleChangeRequest/RoleChangeRequestModal.tsx
3233
+ import React39, { useEffect as useEffect7 } from "react";
3234
+ import {
3235
+ selectLocalPeerName,
3236
+ selectLocalPeerRoleName,
3237
+ selectRoleChangeRequest,
3238
+ useCustomEvent as useCustomEvent2,
3239
+ useHMSActions as useHMSActions13,
3240
+ useHMSStore as useHMSStore17
3241
+ } from "@100mslive/react-sdk";
3242
+
3243
+ // src/Prebuilt/components/RoleChangeRequest/RequestPrompt.tsx
3244
+ import React38 from "react";
3245
+ import { useMedia as useMedia6 } from "react-use";
3246
+ var RequestPrompt = ({
3247
+ open = true,
3248
+ onOpenChange,
3249
+ title,
3250
+ body,
3251
+ actionText = "Accept",
3252
+ onAction
3253
+ }) => {
3254
+ const isMobile = useMedia6(config.media.md);
3255
+ if (isMobile) {
3256
+ return /* @__PURE__ */ React38.createElement(Sheet.Root, { open, onOpenChange }, /* @__PURE__ */ React38.createElement(Sheet.Content, { css: { py: "$8" } }, /* @__PURE__ */ React38.createElement(Text, { css: { fontWeight: "$semiBold", c: "$on_surface_high", "@md": { px: "$8" } } }, title), body, /* @__PURE__ */ React38.createElement(RequestActions, { actionText, onAction })));
3257
+ }
3258
+ return /* @__PURE__ */ React38.createElement(Dialog.Root, { open, onOpenChange }, /* @__PURE__ */ React38.createElement(Dialog.Portal, null, /* @__PURE__ */ React38.createElement(Dialog.Overlay, null), /* @__PURE__ */ React38.createElement(Dialog.Content, { css: { p: "$10" } }, /* @__PURE__ */ React38.createElement(Dialog.Title, { css: { p: 0, display: "flex", flexDirection: "row", gap: "$md", justifyContent: "center" } }, /* @__PURE__ */ React38.createElement(Text, { variant: "h6" }, title)), /* @__PURE__ */ React38.createElement(Box, { css: { mt: "$4", mb: "$10" } }, body), /* @__PURE__ */ React38.createElement(RequestActions, { actionText, onAction }))));
3259
+ };
3260
+ var RequestActions = ({ onAction, actionText }) => /* @__PURE__ */ React38.createElement(Flex, { justify: "center", align: "center", css: { width: "100%", gap: "$md", "@md": { mt: "$8", px: "$8" } } }, /* @__PURE__ */ React38.createElement(Box, { css: { width: "50%" } }, /* @__PURE__ */ React38.createElement(Dialog.Close, { css: { width: "100%" } }, /* @__PURE__ */ React38.createElement(Button, { variant: "standard", outlined: true, css: { width: "100%" } }, "Decline"))), /* @__PURE__ */ React38.createElement(Box, { css: { width: "50%" } }, /* @__PURE__ */ React38.createElement(Button, { variant: "primary", css: { width: "100%" }, onClick: onAction }, actionText)));
3261
+
3262
+ // src/Prebuilt/components/RoleChangeRequest/RoleChangeRequestModal.tsx
3263
+ var RoleChangeRequestModal = () => {
3264
+ const hmsActions = useHMSActions13();
3265
+ const { updateMetaData } = useMyMetadata();
3266
+ const currentRole = useHMSStore17(selectLocalPeerRoleName);
3267
+ const roleChangeRequest = useHMSStore17(selectRoleChangeRequest);
3268
+ const name = useHMSStore17(selectLocalPeerName);
3269
+ const { sendEvent } = useCustomEvent2({ type: ROLE_CHANGE_DECLINED });
3270
+ useEffect7(() => {
3271
+ if (!(roleChangeRequest == null ? void 0 : roleChangeRequest.role)) {
3272
+ return;
3273
+ }
3274
+ (() => __async(void 0, null, function* () {
3275
+ yield hmsActions.preview({ asRole: roleChangeRequest.role.name });
3276
+ }))();
3277
+ }, [hmsActions, roleChangeRequest, currentRole, updateMetaData]);
3278
+ if (!(roleChangeRequest == null ? void 0 : roleChangeRequest.role)) {
3279
+ return null;
3280
+ }
3281
+ const body = /* @__PURE__ */ React39.createElement(React39.Fragment, null, /* @__PURE__ */ React39.createElement(
3282
+ Text,
3283
+ {
3284
+ variant: "xs",
3285
+ css: {
3286
+ c: "$on_surface_medium",
3287
+ textAlign: "center",
3288
+ "@md": { textAlign: "left", borderBottom: "1px solid $border_bright", pb: "$4", px: "$8" }
3289
+ }
3290
+ },
3291
+ "Setup your audio and video before joining"
3292
+ ), /* @__PURE__ */ React39.createElement(
3293
+ Flex,
3294
+ {
3295
+ align: "center",
3296
+ justify: "center",
3297
+ css: {
3298
+ "@sm": { width: "100%" },
3299
+ flexDirection: "column",
3300
+ mt: "$6",
3301
+ "@md": { px: "$8" }
3302
+ }
3303
+ },
3304
+ /* @__PURE__ */ React39.createElement(PreviewTile, { name: name || "" }),
3305
+ /* @__PURE__ */ React39.createElement(PreviewControls, { hideSettings: true })
3306
+ ));
3307
+ return /* @__PURE__ */ React39.createElement(
3308
+ RequestPrompt,
3309
+ {
3310
+ title: "You're invited to join the stage",
3311
+ onOpenChange: (value) => __async(void 0, null, function* () {
3312
+ var _a;
3313
+ if (!value) {
3314
+ hmsActions.rejectChangeRole(roleChangeRequest);
3315
+ sendEvent(__spreadProps(__spreadValues({}, roleChangeRequest), { peerName: name }), { peerId: (_a = roleChangeRequest.requestedBy) == null ? void 0 : _a.id });
3316
+ yield hmsActions.cancelMidCallPreview();
3317
+ yield hmsActions.lowerLocalPeerHand();
3318
+ }
3319
+ }),
3320
+ body,
3321
+ onAction: () => __async(void 0, null, function* () {
3322
+ yield hmsActions.acceptChangeRole(roleChangeRequest);
3323
+ yield updateMetaData({ prevRole: currentRole });
3324
+ yield hmsActions.lowerLocalPeerHand();
3325
+ }),
3326
+ actionText: "Accept"
3327
+ }
3328
+ );
3329
+ };
3330
+
3260
3331
  // src/Prebuilt/layouts/VideoStreamingSection.tsx
3261
- import React60, { Suspense as Suspense2, useEffect as useEffect23 } from "react";
3262
- import { selectIsConnectedToRoom as selectIsConnectedToRoom6, selectLocalPeerRoleName as selectLocalPeerRoleName2, useHMSActions as useHMSActions21, useHMSStore as useHMSStore34 } from "@100mslive/react-sdk";
3332
+ import React62, { Suspense as Suspense2, useEffect as useEffect24 } from "react";
3333
+ import { selectIsConnectedToRoom as selectIsConnectedToRoom6, selectLocalPeerRoleName as selectLocalPeerRoleName3, useHMSActions as useHMSActions21, useHMSStore as useHMSStore34 } from "@100mslive/react-sdk";
3263
3334
 
3264
3335
  // src/Prebuilt/components/VideoLayouts/GridLayout.tsx
3265
- import React49, { useEffect as useEffect14, useMemo as useMemo6, useState as useState26 } from "react";
3336
+ import React51, { useEffect as useEffect15, useMemo as useMemo6, useState as useState26 } from "react";
3266
3337
  import { selectPeers as selectPeers2, selectPeerScreenSharing, useHMSStore as useHMSStore23, useHMSVanillaStore as useHMSVanillaStore4 } from "@100mslive/react-sdk";
3267
3338
 
3268
3339
  // src/Prebuilt/components/VideoLayouts/EqualProminence.tsx
3269
- import React42, { useEffect as useEffect10, useMemo as useMemo3, useState as useState21 } from "react";
3270
- import { useMedia as useMedia8 } from "react-use";
3340
+ import React44, { useEffect as useEffect11, useMemo as useMemo3, useState as useState21 } from "react";
3341
+ import { useMedia as useMedia9 } from "react-use";
3271
3342
  import { selectLocalPeer as selectLocalPeer2, useHMSStore as useHMSStore19 } from "@100mslive/react-sdk";
3272
3343
 
3273
3344
  // src/Prebuilt/components/InsetTile.tsx
3274
- import React39, { useEffect as useEffect7, useRef as useRef6 } from "react";
3345
+ import React41, { useEffect as useEffect8, useRef as useRef6 } from "react";
3275
3346
  import Draggable from "react-draggable";
3276
- import { useMedia as useMedia6 } from "react-use";
3347
+ import { useMedia as useMedia7 } from "react-use";
3277
3348
  import { selectIsAllowedToPublish as selectIsAllowedToPublish2, selectLocalPeer, selectVideoTrackByID, useHMSStore as useHMSStore18 } from "@100mslive/react-sdk";
3278
3349
  import { ExpandIcon as ExpandIcon2 } from "@100mslive/react-icons";
3279
3350
 
3280
3351
  // src/Prebuilt/components/hooks/useVideoTileLayout.ts
3281
- import React38, { useContext } from "react";
3282
- var VideoTileContext = React38.createContext({
3352
+ import React40, { useContext } from "react";
3353
+ var VideoTileContext = React40.createContext({
3283
3354
  enableSpotlightingPeer: true,
3284
3355
  hideParticipantNameOnTile: false,
3285
3356
  roundedVideoTile: true,
@@ -3295,14 +3366,14 @@ var useVideoTileContext = () => {
3295
3366
 
3296
3367
  // src/Prebuilt/components/InsetTile.tsx
3297
3368
  var MinimisedTile = ({ setMinimised }) => {
3298
- return /* @__PURE__ */ React39.createElement(Flex, { align: "center", css: { gap: "$6", r: "$1", bg: "$surface_default", p: "$4", color: "$on_surface_high" } }, /* @__PURE__ */ React39.createElement(AudioVideoToggle, { hideOptions: true }), /* @__PURE__ */ React39.createElement(Text, null, "You"), /* @__PURE__ */ React39.createElement(
3369
+ return /* @__PURE__ */ React41.createElement(Flex, { align: "center", css: { gap: "$6", r: "$1", bg: "$surface_default", p: "$4", color: "$on_surface_high" } }, /* @__PURE__ */ React41.createElement(AudioVideoToggle, { hideOptions: true }), /* @__PURE__ */ React41.createElement(Text, null, "You"), /* @__PURE__ */ React41.createElement(
3299
3370
  IconButton_default,
3300
3371
  {
3301
3372
  className: "__cancel-drag-event",
3302
3373
  onClick: () => setMinimised(false),
3303
3374
  css: { bg: "transparent", border: "transparent" }
3304
3375
  },
3305
- /* @__PURE__ */ React39.createElement(ExpandIcon2, null)
3376
+ /* @__PURE__ */ React41.createElement(ExpandIcon2, null)
3306
3377
  ));
3307
3378
  };
3308
3379
  var insetHeightPx = 180;
@@ -3310,8 +3381,8 @@ var insetMaxWidthPx = 240;
3310
3381
  var defaultMobileAspectRatio = 9 / 16;
3311
3382
  var desktopAspectRatio = 1 / defaultMobileAspectRatio;
3312
3383
  var InsetTile = () => {
3313
- const isMobile = useMedia6(config.media.md);
3314
- const isLandscape = useMedia6(config.media.ls);
3384
+ const isMobile = useMedia7(config.media.md);
3385
+ const isLandscape = useMedia7(config.media.ls);
3315
3386
  const localPeer = useHMSStore18(selectLocalPeer);
3316
3387
  const [minimised, setMinimised] = useSetAppDataByKey(APP_DATA.minimiseInset);
3317
3388
  const videoTrack = useHMSStore18(selectVideoTrackByID(localPeer == null ? void 0 : localPeer.videoTrack));
@@ -3328,7 +3399,7 @@ var InsetTile = () => {
3328
3399
  height = width / aspectRatio;
3329
3400
  }
3330
3401
  const nodeRef = useRef6(null);
3331
- useEffect7(() => {
3402
+ useEffect8(() => {
3332
3403
  const node = nodeRef.current;
3333
3404
  if (!node || !window.ResizeObserver) {
3334
3405
  return;
@@ -3349,7 +3420,7 @@ var InsetTile = () => {
3349
3420
  if (!isAllowedToPublish.video && !isAllowedToPublish.audio) {
3350
3421
  return null;
3351
3422
  }
3352
- return /* @__PURE__ */ React39.createElement(Draggable, { bounds: "parent", nodeRef, cancel: ".__cancel-drag-event" }, /* @__PURE__ */ React39.createElement(
3423
+ return /* @__PURE__ */ React41.createElement(Draggable, { bounds: "parent", nodeRef, cancel: ".__cancel-drag-event" }, /* @__PURE__ */ React41.createElement(
3353
3424
  Box,
3354
3425
  {
3355
3426
  ref: nodeRef,
@@ -3365,7 +3436,7 @@ var InsetTile = () => {
3365
3436
  h: height
3366
3437
  } : {})
3367
3438
  },
3368
- minimised ? /* @__PURE__ */ React39.createElement(MinimisedTile, { setMinimised }) : /* @__PURE__ */ React39.createElement(
3439
+ minimised ? /* @__PURE__ */ React41.createElement(MinimisedTile, { setMinimised }) : /* @__PURE__ */ React41.createElement(
3369
3440
  VideoTile_default,
3370
3441
  __spreadProps(__spreadValues({
3371
3442
  peerId: localPeer == null ? void 0 : localPeer.id,
@@ -3387,7 +3458,7 @@ var InsetTile = () => {
3387
3458
  };
3388
3459
 
3389
3460
  // src/Prebuilt/components/Pagination.tsx
3390
- import React40, { useEffect as useEffect8 } from "react";
3461
+ import React42, { useEffect as useEffect9 } from "react";
3391
3462
  import { ChevronLeftIcon as ChevronLeftIcon2, ChevronRightIcon as ChevronRightIcon2 } from "@100mslive/react-icons";
3392
3463
  var Pagination = ({
3393
3464
  page,
@@ -3404,7 +3475,7 @@ var Pagination = ({
3404
3475
  e.stopPropagation();
3405
3476
  onPageChange(Math.max(page - 1, 0));
3406
3477
  };
3407
- useEffect8(() => {
3478
+ useEffect9(() => {
3408
3479
  if (page >= numPages) {
3409
3480
  onPageChange(Math.max(0, numPages - 1));
3410
3481
  }
@@ -3412,7 +3483,7 @@ var Pagination = ({
3412
3483
  if (numPages <= 1) {
3413
3484
  return null;
3414
3485
  }
3415
- return /* @__PURE__ */ React40.createElement(StyledPagination.Root, { css: { flexShrink: 0 } }, /* @__PURE__ */ React40.createElement(StyledPagination.Chevron, { disabled: disableLeft, onClick: prevPage }, /* @__PURE__ */ React40.createElement(ChevronLeftIcon2, { width: 16, height: 16, style: { cursor: disableLeft ? "not-allowed" : "pointer" } })), numPages <= 5 ? /* @__PURE__ */ React40.createElement(StyledPagination.Dots, null, [...Array(numPages)].map((_, i) => /* @__PURE__ */ React40.createElement(
3486
+ return /* @__PURE__ */ React42.createElement(StyledPagination.Root, { css: { flexShrink: 0 } }, /* @__PURE__ */ React42.createElement(StyledPagination.Chevron, { disabled: disableLeft, onClick: prevPage }, /* @__PURE__ */ React42.createElement(ChevronLeftIcon2, { width: 16, height: 16, style: { cursor: disableLeft ? "not-allowed" : "pointer" } })), numPages <= 5 ? /* @__PURE__ */ React42.createElement(StyledPagination.Dots, null, [...Array(numPages)].map((_, i) => /* @__PURE__ */ React42.createElement(
3416
3487
  StyledPagination.Dot,
3417
3488
  {
3418
3489
  key: i,
@@ -3422,15 +3493,15 @@ var Pagination = ({
3422
3493
  onPageChange(i);
3423
3494
  }
3424
3495
  }
3425
- ))) : null, /* @__PURE__ */ React40.createElement(StyledPagination.Chevron, { disabled: disableRight, onClick: nextPage }, /* @__PURE__ */ React40.createElement(ChevronRightIcon2, { width: 16, height: 16, style: { cursor: disableRight ? "not-allowed" : "pointer" } })));
3496
+ ))) : null, /* @__PURE__ */ React42.createElement(StyledPagination.Chevron, { disabled: disableRight, onClick: nextPage }, /* @__PURE__ */ React42.createElement(ChevronRightIcon2, { width: 16, height: 16, style: { cursor: disableRight ? "not-allowed" : "pointer" } })));
3426
3497
  };
3427
3498
 
3428
3499
  // src/Prebuilt/components/VideoLayouts/Grid.tsx
3429
- import React41 from "react";
3430
- var Grid = React41.forwardRef(
3500
+ import React43 from "react";
3501
+ var Grid = React43.forwardRef(
3431
3502
  ({ tiles, edgeToEdge }, ref) => {
3432
3503
  const videoTileProps = useVideoTileContext();
3433
- return /* @__PURE__ */ React41.createElement(
3504
+ return /* @__PURE__ */ React43.createElement(
3434
3505
  Box,
3435
3506
  {
3436
3507
  ref,
@@ -3448,7 +3519,7 @@ var Grid = React41.forwardRef(
3448
3519
  },
3449
3520
  tiles == null ? void 0 : tiles.map((tile) => {
3450
3521
  var _a, _b, _c, _d;
3451
- return /* @__PURE__ */ React41.createElement(
3522
+ return /* @__PURE__ */ React43.createElement(
3452
3523
  VideoTile_default,
3453
3524
  __spreadValues({
3454
3525
  key: ((_a = tile.track) == null ? void 0 : _a.id) || ((_b = tile.peer) == null ? void 0 : _b.id),
@@ -3466,8 +3537,8 @@ var Grid = React41.forwardRef(
3466
3537
  );
3467
3538
 
3468
3539
  // src/Prebuilt/components/hooks/useTileLayout.tsx
3469
- import { useEffect as useEffect9, useMemo as useMemo2, useState as useState20 } from "react";
3470
- import { useMeasure as useMeasure2, useMedia as useMedia7 } from "react-use";
3540
+ import { useEffect as useEffect10, useMemo as useMemo2, useState as useState20 } from "react";
3541
+ import { useMeasure as useMeasure2, useMedia as useMedia8 } from "react-use";
3471
3542
  import {
3472
3543
  getPeersWithTiles,
3473
3544
  selectTracksMap as selectTracksMap3,
@@ -3503,9 +3574,9 @@ var useTileLayout = ({
3503
3574
  }) => {
3504
3575
  const vanillaStore = useHMSVanillaStore3();
3505
3576
  const [ref, { width, height }] = useMeasure2();
3506
- const isMobile = useMedia7(config.media.lg);
3577
+ const isMobile = useMedia8(config.media.lg);
3507
3578
  const [pagesWithTiles, setPagesWithTiles] = useState20([]);
3508
- useEffect9(() => {
3579
+ useEffect10(() => {
3509
3580
  if (width === 0 || height === 0) {
3510
3581
  return;
3511
3582
  }
@@ -3573,7 +3644,7 @@ var useTileLayout = ({
3573
3644
  function EqualProminence({ isInsetEnabled = false, peers, onPageChange, onPageSize, edgeToEdge }) {
3574
3645
  var _a;
3575
3646
  const localPeer = useHMSStore19(selectLocalPeer2);
3576
- const isMobile = useMedia8(config.media.md);
3647
+ const isMobile = useMedia9(config.media.md);
3577
3648
  let maxTileCount = useUISettings(UI_SETTINGS.maxTileCount);
3578
3649
  maxTileCount = isMobile ? Math.min(maxTileCount, 6) : maxTileCount;
3579
3650
  let pageList = usePagesWithTiles({
@@ -3595,12 +3666,12 @@ function EqualProminence({ isInsetEnabled = false, peers, onPageChange, onPageSi
3595
3666
  });
3596
3667
  const [page, setPage] = useState21(0);
3597
3668
  const pageSize = ((_a = pagesWithTiles[0]) == null ? void 0 : _a.length) || 0;
3598
- useEffect10(() => {
3669
+ useEffect11(() => {
3599
3670
  if (pageSize > 0) {
3600
3671
  onPageSize == null ? void 0 : onPageSize(pageSize);
3601
3672
  }
3602
3673
  }, [pageSize, onPageSize]);
3603
- return /* @__PURE__ */ React42.createElement(Flex, { direction: "column", css: { flex: "1 1 0", h: "100%", position: "relative", minWidth: 0 } }, /* @__PURE__ */ React42.createElement(Grid, { tiles: pagesWithTiles[page], ref, edgeToEdge }), !edgeToEdge && /* @__PURE__ */ React42.createElement(
3674
+ return /* @__PURE__ */ React44.createElement(Flex, { direction: "column", css: { flex: "1 1 0", h: "100%", position: "relative", minWidth: 0 } }, /* @__PURE__ */ React44.createElement(Grid, { tiles: pagesWithTiles[page], ref, edgeToEdge }), !edgeToEdge && /* @__PURE__ */ React44.createElement(
3604
3675
  Pagination,
3605
3676
  {
3606
3677
  page,
@@ -3610,20 +3681,20 @@ function EqualProminence({ isInsetEnabled = false, peers, onPageChange, onPageSi
3610
3681
  },
3611
3682
  numPages: pagesWithTiles.length
3612
3683
  }
3613
- ), isInsetEnabled && pageList.length > 0 && pageList[0][0].peer.id !== (localPeer == null ? void 0 : localPeer.id) && /* @__PURE__ */ React42.createElement(InsetTile, null));
3684
+ ), isInsetEnabled && pageList.length > 0 && pageList[0][0].peer.id !== (localPeer == null ? void 0 : localPeer.id) && /* @__PURE__ */ React44.createElement(InsetTile, null));
3614
3685
  }
3615
3686
 
3616
3687
  // src/Prebuilt/components/VideoLayouts/RoleProminence.tsx
3617
- import React45, { useEffect as useEffect12, useState as useState23 } from "react";
3688
+ import React47, { useEffect as useEffect13, useState as useState23 } from "react";
3618
3689
  import { selectLocalPeer as selectLocalPeer3, useHMSStore as useHMSStore20 } from "@100mslive/react-sdk";
3619
3690
 
3620
3691
  // src/Prebuilt/components/SecondaryTiles.tsx
3621
- import React44, { useEffect as useEffect11, useState as useState22 } from "react";
3622
- import { useMedia as useMedia9 } from "react-use";
3692
+ import React46, { useEffect as useEffect12, useState as useState22 } from "react";
3693
+ import { useMedia as useMedia10 } from "react-use";
3623
3694
 
3624
3695
  // src/Prebuilt/components/VideoLayouts/ProminenceLayout.tsx
3625
- import React43 from "react";
3626
- var Root = ({ children, edgeToEdge }) => /* @__PURE__ */ React43.createElement(
3696
+ import React45 from "react";
3697
+ var Root = ({ children, edgeToEdge }) => /* @__PURE__ */ React45.createElement(
3627
3698
  Flex,
3628
3699
  {
3629
3700
  direction: "column",
@@ -3632,7 +3703,7 @@ var Root = ({ children, edgeToEdge }) => /* @__PURE__ */ React43.createElement(
3632
3703
  children
3633
3704
  );
3634
3705
  var ProminentSection = ({ children, css = {} }) => {
3635
- return /* @__PURE__ */ React43.createElement(Flex, { direction: "column", css: __spreadValues({ flex: "1 1 0", gap: "$2", minHeight: 0 }, css) }, children);
3706
+ return /* @__PURE__ */ React45.createElement(Flex, { direction: "column", css: __spreadValues({ flex: "1 1 0", gap: "$2", minHeight: 0 }, css) }, children);
3636
3707
  };
3637
3708
  var SecondarySection = ({
3638
3709
  tiles,
@@ -3643,12 +3714,12 @@ var SecondarySection = ({
3643
3714
  if (!(tiles == null ? void 0 : tiles.length)) {
3644
3715
  return null;
3645
3716
  }
3646
- return /* @__PURE__ */ React43.createElement(
3717
+ return /* @__PURE__ */ React45.createElement(
3647
3718
  Box,
3648
3719
  {
3649
3720
  css: {
3650
3721
  display: "grid",
3651
- gridTemplateRows: React43.Children.count(children) > 0 ? "136px auto" : "154px",
3722
+ gridTemplateRows: React45.Children.count(children) > 0 ? "136px auto" : "154px",
3652
3723
  gridTemplateColumns: `repeat(${tiles.length}, minmax(0, 1fr))`,
3653
3724
  margin: "0 auto",
3654
3725
  gap: "$2 $4",
@@ -3658,7 +3729,7 @@ var SecondarySection = ({
3658
3729
  },
3659
3730
  tiles.map((tile) => {
3660
3731
  var _a, _b, _c, _d;
3661
- return /* @__PURE__ */ React43.createElement(
3732
+ return /* @__PURE__ */ React45.createElement(
3662
3733
  VideoTile_default,
3663
3734
  __spreadValues({
3664
3735
  key: ((_a = tile.track) == null ? void 0 : _a.id) || ((_b = tile.peer) == null ? void 0 : _b.id),
@@ -3675,7 +3746,7 @@ var SecondarySection = ({
3675
3746
  }, tileLayoutProps)
3676
3747
  );
3677
3748
  }),
3678
- /* @__PURE__ */ React43.createElement(Box, { css: { gridColumn: `1/span ${tiles.length}` } }, children)
3749
+ /* @__PURE__ */ React45.createElement(Box, { css: { gridColumn: `1/span ${tiles.length}` } }, children)
3679
3750
  );
3680
3751
  };
3681
3752
  var ProminenceLayout = {
@@ -3687,17 +3758,17 @@ var ProminenceLayout = {
3687
3758
  // src/Prebuilt/components/SecondaryTiles.tsx
3688
3759
  var SecondaryTiles = ({ peers, onPageChange, onPageSize, edgeToEdge }) => {
3689
3760
  var _a;
3690
- const isMobile = useMedia9(config.media.md);
3761
+ const isMobile = useMedia10(config.media.md);
3691
3762
  const maxTileCount = isMobile ? 2 : 4;
3692
3763
  const pagesWithTiles = usePagesWithTiles({ peers, maxTileCount });
3693
3764
  const [page, setPage] = useState22(0);
3694
3765
  const pageSize = ((_a = pagesWithTiles[0]) == null ? void 0 : _a.length) || 0;
3695
- useEffect11(() => {
3766
+ useEffect12(() => {
3696
3767
  if (pageSize > 0) {
3697
3768
  onPageSize == null ? void 0 : onPageSize(pageSize);
3698
3769
  }
3699
3770
  }, [pageSize, onPageSize]);
3700
- return /* @__PURE__ */ React44.createElement(ProminenceLayout.SecondarySection, { tiles: pagesWithTiles[page], edgeToEdge }, !edgeToEdge && /* @__PURE__ */ React44.createElement(
3771
+ return /* @__PURE__ */ React46.createElement(ProminenceLayout.SecondarySection, { tiles: pagesWithTiles[page], edgeToEdge }, !edgeToEdge && /* @__PURE__ */ React46.createElement(
3701
3772
  Pagination,
3702
3773
  {
3703
3774
  page,
@@ -3767,12 +3838,12 @@ function RoleProminence({
3767
3838
  });
3768
3839
  const [page, setPage] = useState23(0);
3769
3840
  const pageSize = ((_a = pagesWithTiles[0]) == null ? void 0 : _a.length) || 0;
3770
- useEffect12(() => {
3841
+ useEffect13(() => {
3771
3842
  if (pageSize > 0) {
3772
3843
  onPageSize == null ? void 0 : onPageSize(pageSize);
3773
3844
  }
3774
3845
  }, [pageSize, onPageSize]);
3775
- return /* @__PURE__ */ React45.createElement(ProminenceLayout.Root, null, /* @__PURE__ */ React45.createElement(ProminenceLayout.ProminentSection, null, /* @__PURE__ */ React45.createElement(Grid, { ref, tiles: pagesWithTiles[page] })), !edgeToEdge && /* @__PURE__ */ React45.createElement(
3846
+ return /* @__PURE__ */ React47.createElement(ProminenceLayout.Root, null, /* @__PURE__ */ React47.createElement(ProminenceLayout.ProminentSection, null, /* @__PURE__ */ React47.createElement(Grid, { ref, tiles: pagesWithTiles[page] })), !edgeToEdge && /* @__PURE__ */ React47.createElement(
3776
3847
  Pagination,
3777
3848
  {
3778
3849
  page,
@@ -3782,20 +3853,20 @@ function RoleProminence({
3782
3853
  },
3783
3854
  numPages: pagesWithTiles.length
3784
3855
  }
3785
- ), /* @__PURE__ */ React45.createElement(SecondaryTiles, { peers: secondaryPeers, isInsetEnabled, edgeToEdge }), isInsetEnabled && localPeer && !prominentPeers.includes(localPeer) && /* @__PURE__ */ React45.createElement(InsetTile, null));
3856
+ ), /* @__PURE__ */ React47.createElement(SecondaryTiles, { peers: secondaryPeers, isInsetEnabled, edgeToEdge }), isInsetEnabled && localPeer && !prominentPeers.includes(localPeer) && /* @__PURE__ */ React47.createElement(InsetTile, null));
3786
3857
  }
3787
3858
 
3788
3859
  // src/Prebuilt/components/VideoLayouts/ScreenshareLayout.tsx
3789
- import React48, { useEffect as useEffect13, useMemo as useMemo5, useState as useState25 } from "react";
3790
- import { useMedia as useMedia10 } from "react-use";
3860
+ import React50, { useEffect as useEffect14, useMemo as useMemo5, useState as useState25 } from "react";
3861
+ import { useMedia as useMedia11 } from "react-use";
3791
3862
  import { selectPeersScreenSharing, useHMSStore as useHMSStore22 } from "@100mslive/react-sdk";
3792
3863
 
3793
3864
  // src/Prebuilt/components/ScreenshareTile.jsx
3794
- import React47, { useRef as useRef7, useState as useState24 } from "react";
3865
+ import React49, { useRef as useRef7, useState as useState24 } from "react";
3795
3866
  import { useFullscreen as useFullscreen2 } from "react-use";
3796
3867
  import screenfull2 from "screenfull";
3797
3868
  import {
3798
- selectLocalPeerID as selectLocalPeerID6,
3869
+ selectLocalPeerID as selectLocalPeerID5,
3799
3870
  selectPeerByID as selectPeerByID2,
3800
3871
  selectScreenShareAudioByPeerID,
3801
3872
  selectScreenShareByPeerID,
@@ -3804,12 +3875,12 @@ import {
3804
3875
  import { ExpandIcon as ExpandIcon3, ShrinkIcon } from "@100mslive/react-icons";
3805
3876
 
3806
3877
  // src/Prebuilt/components/ScreenshareDisplay.jsx
3807
- import React46 from "react";
3878
+ import React48 from "react";
3808
3879
  import { useHMSActions as useHMSActions14 } from "@100mslive/react-sdk";
3809
3880
  import { CrossIcon as CrossIcon5, ShareScreenIcon as ShareScreenIcon2 } from "@100mslive/react-icons";
3810
3881
  var ScreenshareDisplay = () => {
3811
3882
  const hmsActions = useHMSActions14();
3812
- return /* @__PURE__ */ React46.createElement(
3883
+ return /* @__PURE__ */ React48.createElement(
3813
3884
  Flex,
3814
3885
  {
3815
3886
  direction: "column",
@@ -3821,9 +3892,9 @@ var ScreenshareDisplay = () => {
3821
3892
  color: "$on_surface_high"
3822
3893
  }
3823
3894
  },
3824
- /* @__PURE__ */ React46.createElement(ShareScreenIcon2, { width: 48, height: 48 }),
3825
- /* @__PURE__ */ React46.createElement(Text, { variant: "h5", css: { m: "$8 0" } }, "You are sharing your screen"),
3826
- /* @__PURE__ */ React46.createElement(
3895
+ /* @__PURE__ */ React48.createElement(ShareScreenIcon2, { width: 48, height: 48 }),
3896
+ /* @__PURE__ */ React48.createElement(Text, { variant: "h5", css: { m: "$8 0" } }, "You are sharing your screen"),
3897
+ /* @__PURE__ */ React48.createElement(
3827
3898
  Button,
3828
3899
  {
3829
3900
  variant: "danger",
@@ -3833,7 +3904,7 @@ var ScreenshareDisplay = () => {
3833
3904
  }),
3834
3905
  "data-testid": "stop_screen_share_btn"
3835
3906
  },
3836
- /* @__PURE__ */ React46.createElement(CrossIcon5, { width: 18, height: 18 }),
3907
+ /* @__PURE__ */ React48.createElement(CrossIcon5, { width: 18, height: 18 }),
3837
3908
  "\xA0 Stop screen share"
3838
3909
  )
3839
3910
  );
@@ -3849,7 +3920,7 @@ var labelStyles = {
3849
3920
  flexShrink: 0
3850
3921
  };
3851
3922
  var Tile = ({ peerId, width = "100%", height = "100%" }) => {
3852
- const isLocal = useHMSStore21(selectLocalPeerID6) === peerId;
3923
+ const isLocal = useHMSStore21(selectLocalPeerID5) === peerId;
3853
3924
  const track = useHMSStore21(selectScreenShareByPeerID(peerId));
3854
3925
  const peer = useHMSStore21(selectPeerByID2(peerId));
3855
3926
  const isAudioOnly = useUISettings(UI_SETTINGS.isAudioOnly);
@@ -3863,7 +3934,7 @@ var Tile = ({ peerId, width = "100%", height = "100%" }) => {
3863
3934
  const isFullScreenSupported = screenfull2.isEnabled;
3864
3935
  const audioTrack = useHMSStore21(selectScreenShareAudioByPeerID(peer == null ? void 0 : peer.id));
3865
3936
  if (isLocal && !["browser", "window", "application"].includes(track == null ? void 0 : track.displaySurface)) {
3866
- return /* @__PURE__ */ React47.createElement(ScreenshareDisplay, null);
3937
+ return /* @__PURE__ */ React49.createElement(ScreenshareDisplay, null);
3867
3938
  }
3868
3939
  if (!peer) {
3869
3940
  return null;
@@ -3873,7 +3944,7 @@ var Tile = ({ peerId, width = "100%", height = "100%" }) => {
3873
3944
  isLocal: false,
3874
3945
  track
3875
3946
  });
3876
- return /* @__PURE__ */ React47.createElement(StyledVideoTile.Root, { css: { width, height, p: 0, minHeight: 0 }, "data-testid": "screenshare_tile" }, /* @__PURE__ */ React47.createElement(
3947
+ return /* @__PURE__ */ React49.createElement(StyledVideoTile.Root, { css: { width, height, p: 0, minHeight: 0 }, "data-testid": "screenshare_tile" }, /* @__PURE__ */ React49.createElement(
3877
3948
  StyledVideoTile.Container,
3878
3949
  {
3879
3950
  transparentBg: true,
@@ -3884,9 +3955,9 @@ var Tile = ({ peerId, width = "100%", height = "100%" }) => {
3884
3955
  setIsMouseHovered(false);
3885
3956
  }
3886
3957
  },
3887
- showStatsOnTiles ? /* @__PURE__ */ React47.createElement(VideoTileStats, { audioTrackID: audioTrack == null ? void 0 : audioTrack.id, videoTrackID: track == null ? void 0 : track.id, peerID: peerId, isLocal }) : null,
3888
- isFullScreenSupported && isMouseHovered ? /* @__PURE__ */ React47.createElement(StyledVideoTile.FullScreenButton, { onClick: () => setFullscreen(!fullscreen) }, isFullscreen ? /* @__PURE__ */ React47.createElement(ShrinkIcon, null) : /* @__PURE__ */ React47.createElement(ExpandIcon3, null)) : null,
3889
- track ? /* @__PURE__ */ React47.createElement(
3958
+ showStatsOnTiles ? /* @__PURE__ */ React49.createElement(VideoTileStats, { audioTrackID: audioTrack == null ? void 0 : audioTrack.id, videoTrackID: track == null ? void 0 : track.id, peerID: peerId, isLocal }) : null,
3959
+ isFullScreenSupported && isMouseHovered ? /* @__PURE__ */ React49.createElement(StyledVideoTile.FullScreenButton, { onClick: () => setFullscreen(!fullscreen) }, isFullscreen ? /* @__PURE__ */ React49.createElement(ShrinkIcon, null) : /* @__PURE__ */ React49.createElement(ExpandIcon3, null)) : null,
3960
+ track ? /* @__PURE__ */ React49.createElement(
3890
3961
  Video,
3891
3962
  {
3892
3963
  screenShare: true,
@@ -3896,8 +3967,8 @@ var Tile = ({ peerId, width = "100%", height = "100%" }) => {
3896
3967
  css: { minHeight: 0 }
3897
3968
  }
3898
3969
  ) : null,
3899
- /* @__PURE__ */ React47.createElement(StyledVideoTile.Info, { css: labelStyles }, label),
3900
- isMouseHovered && !peer.isLocal ? /* @__PURE__ */ React47.createElement(
3970
+ /* @__PURE__ */ React49.createElement(StyledVideoTile.Info, { css: labelStyles }, label),
3971
+ isMouseHovered && !peer.isLocal ? /* @__PURE__ */ React49.createElement(
3901
3972
  TileMenu_default,
3902
3973
  {
3903
3974
  isScreenshare: true,
@@ -3909,7 +3980,7 @@ var Tile = ({ peerId, width = "100%", height = "100%" }) => {
3909
3980
  ) : null
3910
3981
  ));
3911
3982
  };
3912
- var ScreenshareTile = React47.memo(Tile);
3983
+ var ScreenshareTile = React49.memo(Tile);
3913
3984
  var ScreenshareTile_default = ScreenshareTile;
3914
3985
 
3915
3986
  // src/Prebuilt/components/VideoLayouts/ScreenshareLayout.tsx
@@ -3919,18 +3990,18 @@ var ScreenshareLayout = ({ peers, onPageChange, onPageSize, edgeToEdge }) => {
3919
3990
  const [, setActiveScreenSharePeer] = useSetAppDataByKey(APP_DATA.activeScreensharePeerId);
3920
3991
  const [page, setPage] = useState25(0);
3921
3992
  const activeSharePeer = peersSharing[page];
3922
- const isMobile = useMedia10(config.media.md);
3993
+ const isMobile = useMedia11(config.media.md);
3923
3994
  const secondaryPeers = useMemo5(
3924
3995
  () => isMobile ? activeSharePeer ? [activeSharePeer, ...peers.filter((p) => p.id !== (activeSharePeer == null ? void 0 : activeSharePeer.id))] : peers : peers.filter((p) => p.id !== (activeSharePeer == null ? void 0 : activeSharePeer.id)),
3925
3996
  [activeSharePeer, peers, isMobile]
3926
3997
  );
3927
- useEffect13(() => {
3998
+ useEffect14(() => {
3928
3999
  setActiveScreenSharePeer(isMobile ? "" : activeSharePeer == null ? void 0 : activeSharePeer.id);
3929
4000
  return () => {
3930
4001
  setActiveScreenSharePeer("");
3931
4002
  };
3932
4003
  }, [activeSharePeer == null ? void 0 : activeSharePeer.id, isMobile, setActiveScreenSharePeer]);
3933
- return /* @__PURE__ */ React48.createElement(ProminenceLayout.Root, { edgeToEdge }, /* @__PURE__ */ React48.createElement(ProminenceLayout.ProminentSection, null, /* @__PURE__ */ React48.createElement(ScreenshareTile_default, { peerId: (_a = peersSharing[page]) == null ? void 0 : _a.id }), !edgeToEdge && /* @__PURE__ */ React48.createElement(Pagination, { page, onPageChange: setPage, numPages: peersSharing.length })), /* @__PURE__ */ React48.createElement(
4004
+ return /* @__PURE__ */ React50.createElement(ProminenceLayout.Root, { edgeToEdge }, /* @__PURE__ */ React50.createElement(ProminenceLayout.ProminentSection, null, /* @__PURE__ */ React50.createElement(ScreenshareTile_default, { peerId: (_a = peersSharing[page]) == null ? void 0 : _a.id }), !edgeToEdge && /* @__PURE__ */ React50.createElement(Pagination, { page, onPageChange: setPage, numPages: peersSharing.length })), /* @__PURE__ */ React50.createElement(
3934
4005
  SecondaryTiles,
3935
4006
  {
3936
4007
  peers: secondaryPeers,
@@ -4060,7 +4131,7 @@ var GridLayout = ({
4060
4131
  hideMetadataOnTile: hide_metadata_on_tile,
4061
4132
  objectFit: video_object_fit
4062
4133
  };
4063
- useEffect14(() => {
4134
+ useEffect15(() => {
4064
4135
  if (mainPage !== 0) {
4065
4136
  return;
4066
4137
  }
@@ -4071,7 +4142,7 @@ var GridLayout = ({
4071
4142
  peersSorter.onUpdate(setSortedPeers);
4072
4143
  }, [mainPage, peersSorter, updatedPeers, pageSize]);
4073
4144
  if (peerSharing) {
4074
- return /* @__PURE__ */ React49.createElement(VideoTileContext.Provider, { value: tileLayout }, /* @__PURE__ */ React49.createElement(
4145
+ return /* @__PURE__ */ React51.createElement(VideoTileContext.Provider, { value: tileLayout }, /* @__PURE__ */ React51.createElement(
4075
4146
  ScreenshareLayout,
4076
4147
  {
4077
4148
  peers: sortedPeers,
@@ -4081,7 +4152,7 @@ var GridLayout = ({
4081
4152
  }
4082
4153
  ));
4083
4154
  } else if (isRoleProminence) {
4084
- return /* @__PURE__ */ React49.createElement(VideoTileContext.Provider, { value: tileLayout }, /* @__PURE__ */ React49.createElement(
4155
+ return /* @__PURE__ */ React51.createElement(VideoTileContext.Provider, { value: tileLayout }, /* @__PURE__ */ React51.createElement(
4085
4156
  RoleProminence,
4086
4157
  {
4087
4158
  peers: sortedPeers,
@@ -4093,7 +4164,7 @@ var GridLayout = ({
4093
4164
  }
4094
4165
  ));
4095
4166
  }
4096
- return /* @__PURE__ */ React49.createElement(VideoTileContext.Provider, { value: tileLayout }, /* @__PURE__ */ React49.createElement(
4167
+ return /* @__PURE__ */ React51.createElement(VideoTileContext.Provider, { value: tileLayout }, /* @__PURE__ */ React51.createElement(
4097
4168
  EqualProminence,
4098
4169
  {
4099
4170
  peers: sortedPeers,
@@ -4106,7 +4177,7 @@ var GridLayout = ({
4106
4177
  };
4107
4178
 
4108
4179
  // src/Prebuilt/layouts/EmbedView.jsx
4109
- import React50, { useCallback as useCallback8, useEffect as useEffect15, useMemo as useMemo7, useRef as useRef8, useState as useState27 } from "react";
4180
+ import React52, { useCallback as useCallback8, useEffect as useEffect16, useMemo as useMemo7, useRef as useRef8, useState as useState27 } from "react";
4110
4181
  import {
4111
4182
  selectPeers as selectPeers3,
4112
4183
  selectPeerScreenSharing as selectPeerScreenSharing2,
@@ -4115,7 +4186,7 @@ import {
4115
4186
  useScreenShare as useScreenShare3
4116
4187
  } from "@100mslive/react-sdk";
4117
4188
  var EmbedView = () => {
4118
- return /* @__PURE__ */ React50.createElement(EmbebScreenShareView, null, /* @__PURE__ */ React50.createElement(EmbedComponent, null));
4189
+ return /* @__PURE__ */ React52.createElement(EmbebScreenShareView, null, /* @__PURE__ */ React52.createElement(EmbedComponent, null));
4119
4190
  };
4120
4191
  var EmbebScreenShareView = ({ children }) => {
4121
4192
  const peers = useHMSStore24(selectPeers3);
@@ -4125,13 +4196,13 @@ var EmbebScreenShareView = ({ children }) => {
4125
4196
  const smallTilePeers2 = peers.filter((peer) => peer.id !== (peerPresenting == null ? void 0 : peerPresenting.id));
4126
4197
  return smallTilePeers2;
4127
4198
  }, [peers, peerPresenting]);
4128
- useEffect15(() => {
4199
+ useEffect16(() => {
4129
4200
  setActiveScreenSharePeer(peerPresenting == null ? void 0 : peerPresenting.id);
4130
4201
  return () => {
4131
4202
  setActiveScreenSharePeer("");
4132
4203
  };
4133
4204
  }, [peerPresenting == null ? void 0 : peerPresenting.id, setActiveScreenSharePeer]);
4134
- return /* @__PURE__ */ React50.createElement(ProminenceLayout.Root, null, /* @__PURE__ */ React50.createElement(ProminenceLayout.ProminentSection, null, children), /* @__PURE__ */ React50.createElement(SecondaryTiles, { peers: smallTilePeers }));
4205
+ return /* @__PURE__ */ React52.createElement(ProminenceLayout.Root, null, /* @__PURE__ */ React52.createElement(ProminenceLayout.ProminentSection, null, children), /* @__PURE__ */ React52.createElement(SecondaryTiles, { peers: smallTilePeers }));
4135
4206
  };
4136
4207
  var EmbedComponent = () => {
4137
4208
  const { amIScreenSharing, toggleScreenShare } = useScreenShare3(throwErrorHandler);
@@ -4145,7 +4216,7 @@ var EmbedComponent = () => {
4145
4216
  setEmbedConfig({ url: "" });
4146
4217
  }
4147
4218
  }, [src, setEmbedConfig]);
4148
- useEffect15(() => {
4219
+ useEffect16(() => {
4149
4220
  if (embedConfig.shareScreen && !amIScreenSharing && !wasScreenShared && !screenShareAttemptInProgress.current) {
4150
4221
  screenShareAttemptInProgress.current = true;
4151
4222
  toggleScreenShare({
@@ -4158,7 +4229,7 @@ var EmbedComponent = () => {
4158
4229
  });
4159
4230
  }
4160
4231
  }, []);
4161
- useEffect15(() => {
4232
+ useEffect16(() => {
4162
4233
  if (wasScreenShared && !amIScreenSharing) {
4163
4234
  resetEmbedConfig();
4164
4235
  }
@@ -4169,7 +4240,7 @@ var EmbedComponent = () => {
4169
4240
  }
4170
4241
  };
4171
4242
  }, [wasScreenShared, amIScreenSharing, resetEmbedConfig, toggleScreenShare]);
4172
- return /* @__PURE__ */ React50.createElement(Box, { ref: iframeRef, css: { size: "100%" } }, /* @__PURE__ */ React50.createElement(
4243
+ return /* @__PURE__ */ React52.createElement(Box, { ref: iframeRef, css: { size: "100%" } }, /* @__PURE__ */ React52.createElement(
4173
4244
  "iframe",
4174
4245
  {
4175
4246
  src,
@@ -4182,10 +4253,10 @@ var EmbedComponent = () => {
4182
4253
  };
4183
4254
 
4184
4255
  // src/Prebuilt/layouts/PDFView.jsx
4185
- import React51, { useCallback as useCallback9, useEffect as useEffect16, useRef as useRef9, useState as useState28 } from "react";
4256
+ import React53, { useCallback as useCallback9, useEffect as useEffect17, useRef as useRef9, useState as useState28 } from "react";
4186
4257
  import { throwErrorHandler as throwErrorHandler2, useScreenShare as useScreenShare4 } from "@100mslive/react-sdk";
4187
4258
  var PDFView = () => {
4188
- return /* @__PURE__ */ React51.createElement(EmbebScreenShareView, null, /* @__PURE__ */ React51.createElement(PDFEmbedComponent, null));
4259
+ return /* @__PURE__ */ React53.createElement(EmbebScreenShareView, null, /* @__PURE__ */ React53.createElement(PDFEmbedComponent, null));
4189
4260
  };
4190
4261
  var PDFEmbedComponent = () => {
4191
4262
  const ref = useRef9();
@@ -4203,7 +4274,7 @@ var PDFEmbedComponent = () => {
4203
4274
  const resetEmbedConfig = useCallback9(() => {
4204
4275
  setPDFConfig({ state: false });
4205
4276
  }, [setPDFConfig]);
4206
- useEffect16(() => {
4277
+ useEffect17(() => {
4207
4278
  if (isPDFLoaded && ref.current) {
4208
4279
  ref.current.contentWindow.postMessage(
4209
4280
  {
@@ -4213,7 +4284,7 @@ var PDFEmbedComponent = () => {
4213
4284
  );
4214
4285
  }
4215
4286
  }, [isPDFLoaded, themeType]);
4216
- useEffect16(() => {
4287
+ useEffect17(() => {
4217
4288
  if (!amIScreenSharing && !wasScreenShared && !screenShareAttemptInProgress.current) {
4218
4289
  screenShareAttemptInProgress.current = true;
4219
4290
  toggleScreenShare({
@@ -4227,7 +4298,7 @@ var PDFEmbedComponent = () => {
4227
4298
  });
4228
4299
  }
4229
4300
  }, []);
4230
- useEffect16(() => {
4301
+ useEffect17(() => {
4231
4302
  if (wasScreenShared && !amIScreenSharing) {
4232
4303
  resetEmbedConfig();
4233
4304
  }
@@ -4238,7 +4309,7 @@ var PDFEmbedComponent = () => {
4238
4309
  }
4239
4310
  };
4240
4311
  }, [wasScreenShared, amIScreenSharing, resetEmbedConfig, toggleScreenShare]);
4241
- return /* @__PURE__ */ React51.createElement(Box, { ref: iframeRef, css: { size: "100%" } }, /* @__PURE__ */ React51.createElement(
4312
+ return /* @__PURE__ */ React53.createElement(Box, { ref: iframeRef, css: { size: "100%" } }, /* @__PURE__ */ React53.createElement(
4242
4313
  "iframe",
4243
4314
  {
4244
4315
  src: pdfJSURL,
@@ -4271,19 +4342,19 @@ var PDFEmbedComponent = () => {
4271
4342
  };
4272
4343
 
4273
4344
  // src/Prebuilt/layouts/SidePane.tsx
4274
- import React58 from "react";
4275
- import { useMedia as useMedia15 } from "react-use";
4345
+ import React60 from "react";
4346
+ import { useMedia as useMedia16 } from "react-use";
4276
4347
  import { selectAppData as selectAppData3, selectVideoTrackByPeerID, useHMSStore as useHMSStore33 } from "@100mslive/react-sdk";
4277
4348
 
4278
4349
  // src/Prebuilt/components/SidePaneTabs.tsx
4279
- import React55, { useEffect as useEffect21, useState as useState32 } from "react";
4280
- import { useMedia as useMedia14 } from "react-use";
4350
+ import React57, { useEffect as useEffect22, useState as useState32 } from "react";
4351
+ import { useMedia as useMedia15 } from "react-use";
4281
4352
  import { selectPeerCount as selectPeerCount3, useHMSStore as useHMSStore30 } from "@100mslive/react-sdk";
4282
4353
  import { CrossIcon as CrossIcon7 } from "@100mslive/react-icons";
4283
4354
 
4284
4355
  // src/Prebuilt/components/Chat/Chat.jsx
4285
- import React54, { useCallback as useCallback14, useEffect as useEffect20, useRef as useRef13, useState as useState31 } from "react";
4286
- import { useMedia as useMedia13 } from "react-use";
4356
+ import React56, { useCallback as useCallback14, useEffect as useEffect21, useRef as useRef13, useState as useState31 } from "react";
4357
+ import { useMedia as useMedia14 } from "react-use";
4287
4358
  import {
4288
4359
  HMSNotificationTypes,
4289
4360
  selectHMSMessagesCount,
@@ -4297,21 +4368,21 @@ import {
4297
4368
  import { ChevronDownIcon as ChevronDownIcon2, CrossIcon as CrossIcon6, PinIcon as PinIcon2 } from "@100mslive/react-icons";
4298
4369
 
4299
4370
  // src/Prebuilt/components/Chat/ChatBody.jsx
4300
- import React52, { Fragment as Fragment8, useCallback as useCallback11, useEffect as useEffect17, useLayoutEffect, useMemo as useMemo8, useRef as useRef10, useState as useState29 } from "react";
4371
+ import React54, { Fragment as Fragment8, useCallback as useCallback11, useEffect as useEffect18, useLayoutEffect, useMemo as useMemo8, useRef as useRef10, useState as useState29 } from "react";
4301
4372
  import { useInView } from "react-intersection-observer";
4302
- import { useMedia as useMedia11 } from "react-use";
4373
+ import { useMedia as useMedia12 } from "react-use";
4303
4374
  import AutoSizer from "react-virtualized-auto-sizer";
4304
4375
  import { VariableSizeList } from "react-window";
4305
4376
  import {
4306
4377
  selectHMSMessages,
4307
- selectLocalPeerID as selectLocalPeerID7,
4308
- selectLocalPeerRoleName,
4378
+ selectLocalPeerID as selectLocalPeerID6,
4379
+ selectLocalPeerRoleName as selectLocalPeerRoleName2,
4309
4380
  selectMessagesByPeerID,
4310
4381
  selectMessagesByRole,
4311
4382
  selectPeerNameByID as selectPeerNameByID2,
4312
4383
  selectPermissions as selectPermissions9,
4313
4384
  useHMSActions as useHMSActions16,
4314
- useHMSStore as useHMSStore26
4385
+ useHMSStore as useHMSStore27
4315
4386
  } from "@100mslive/react-sdk";
4316
4387
  import { PinIcon, VerticalMenuIcon as VerticalMenuIcon5 } from "@100mslive/react-icons";
4317
4388
 
@@ -4347,6 +4418,19 @@ var useSetPinnedMessage = () => {
4347
4418
  return { setPinnedMessage };
4348
4419
  };
4349
4420
 
4421
+ // src/Prebuilt/components/Chat/useUnreadCount.js
4422
+ import {
4423
+ selectMessagesUnreadCountByPeerID,
4424
+ selectMessagesUnreadCountByRole,
4425
+ selectUnreadHMSMessagesCount as selectUnreadHMSMessagesCount2,
4426
+ useHMSStore as useHMSStore26
4427
+ } from "@100mslive/react-sdk";
4428
+ var useUnreadCount = ({ role, peerId }) => {
4429
+ const unreadCountSelector = role ? selectMessagesUnreadCountByRole(role) : peerId ? selectMessagesUnreadCountByPeerID(peerId) : selectUnreadHMSMessagesCount2;
4430
+ const unreadCount = useHMSStore26(unreadCountSelector);
4431
+ return unreadCount;
4432
+ };
4433
+
4350
4434
  // src/Prebuilt/components/Chat/ChatBody.jsx
4351
4435
  var formatTime = (date) => {
4352
4436
  if (!(date instanceof Date)) {
@@ -4364,7 +4448,7 @@ var formatTime = (date) => {
4364
4448
  return `${hours}:${mins} ${suffix}`;
4365
4449
  };
4366
4450
  var MessageTypeContainer = ({ left, right }) => {
4367
- return /* @__PURE__ */ React52.createElement(
4451
+ return /* @__PURE__ */ React54.createElement(
4368
4452
  Flex,
4369
4453
  {
4370
4454
  align: "center",
@@ -4376,16 +4460,16 @@ var MessageTypeContainer = ({ left, right }) => {
4376
4460
  r: "$0"
4377
4461
  }
4378
4462
  },
4379
- left && /* @__PURE__ */ React52.createElement(SenderName, { variant: "tiny", as: "span", css: { color: "$on_surface_medium" } }, left),
4380
- left && right && /* @__PURE__ */ React52.createElement(Box, { css: { borderLeft: "1px solid $border_bright", mx: "$4", h: "$8" } }),
4381
- right && /* @__PURE__ */ React52.createElement(SenderName, { as: "span", variant: "tiny", css: { textTransform: "uppercase" } }, right)
4463
+ left && /* @__PURE__ */ React54.createElement(SenderName, { variant: "tiny", as: "span", css: { color: "$on_surface_medium" } }, left),
4464
+ left && right && /* @__PURE__ */ React54.createElement(Box, { css: { borderLeft: "1px solid $border_bright", mx: "$4", h: "$8" } }),
4465
+ right && /* @__PURE__ */ React54.createElement(SenderName, { as: "span", variant: "tiny", css: { textTransform: "uppercase" } }, right)
4382
4466
  );
4383
4467
  };
4384
4468
  var MessageType = ({ roles, hasCurrentUserSent, receiver }) => {
4385
- const peerName = useHMSStore26(selectPeerNameByID2(receiver));
4386
- const localPeerRoleName = useHMSStore26(selectLocalPeerRoleName);
4469
+ const peerName = useHMSStore27(selectPeerNameByID2(receiver));
4470
+ const localPeerRoleName = useHMSStore27(selectLocalPeerRoleName2);
4387
4471
  if (receiver) {
4388
- return /* @__PURE__ */ React52.createElement(
4472
+ return /* @__PURE__ */ React54.createElement(
4389
4473
  MessageTypeContainer,
4390
4474
  {
4391
4475
  left: hasCurrentUserSent ? `${peerName ? `TO ${peerName}` : ""}` : "TO YOU",
@@ -4394,7 +4478,7 @@ var MessageType = ({ roles, hasCurrentUserSent, receiver }) => {
4394
4478
  );
4395
4479
  }
4396
4480
  if (roles && roles.length) {
4397
- return /* @__PURE__ */ React52.createElement(MessageTypeContainer, { left: "TO", right: hasCurrentUserSent ? roles.join(",") : localPeerRoleName });
4481
+ return /* @__PURE__ */ React54.createElement(MessageTypeContainer, { left: "TO", right: hasCurrentUserSent ? roles.join(",") : localPeerRoleName });
4398
4482
  }
4399
4483
  return null;
4400
4484
  };
@@ -4408,10 +4492,10 @@ var Link = styled("a", {
4408
4492
  });
4409
4493
  var AnnotisedMessage = ({ message }) => {
4410
4494
  if (!message) {
4411
- return /* @__PURE__ */ React52.createElement(Fragment8, null);
4495
+ return /* @__PURE__ */ React54.createElement(Fragment8, null);
4412
4496
  }
4413
- return /* @__PURE__ */ React52.createElement(Fragment8, null, message.trim().split(/(\s)/).map(
4414
- (part) => URL_REGEX.test(part) ? /* @__PURE__ */ React52.createElement(Link, { href: part, key: part, target: "_blank", rel: "noopener noreferrer" }, part) : part
4497
+ return /* @__PURE__ */ React54.createElement(Fragment8, null, message.trim().split(/(\s)/).map(
4498
+ (part) => URL_REGEX.test(part) ? /* @__PURE__ */ React54.createElement(Link, { href: part, key: part, target: "_blank", rel: "noopener noreferrer" }, part) : part
4415
4499
  ));
4416
4500
  };
4417
4501
  var getMessageType = ({ roles, receiver }) => {
@@ -4425,14 +4509,14 @@ var ChatActions = ({ onPin, showPinAction }) => {
4425
4509
  if (!showPinAction) {
4426
4510
  return null;
4427
4511
  }
4428
- return /* @__PURE__ */ React52.createElement(Dropdown.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React52.createElement(Dropdown.Trigger, { className: "chat_actions", css: { opacity: open ? 1 : 0, "@md": { opacity: 1 } }, asChild: true }, /* @__PURE__ */ React52.createElement(IconButton, null, /* @__PURE__ */ React52.createElement(Tooltip, { title: "More options" }, /* @__PURE__ */ React52.createElement(VerticalMenuIcon5, null)))), /* @__PURE__ */ React52.createElement(Dropdown.Portal, null, /* @__PURE__ */ React52.createElement(
4512
+ return /* @__PURE__ */ React54.createElement(Dropdown.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React54.createElement(Dropdown.Trigger, { className: "chat_actions", css: { opacity: open ? 1 : 0, "@md": { opacity: 1 } }, asChild: true }, /* @__PURE__ */ React54.createElement(IconButton, null, /* @__PURE__ */ React54.createElement(Tooltip, { title: "More options" }, /* @__PURE__ */ React54.createElement(VerticalMenuIcon5, null)))), /* @__PURE__ */ React54.createElement(Dropdown.Portal, null, /* @__PURE__ */ React54.createElement(
4429
4513
  Dropdown.Content,
4430
4514
  {
4431
4515
  sideOffset: 5,
4432
4516
  align: "end",
4433
4517
  css: { width: "$48", backgroundColor: "$surface_bright", py: "$0", border: "1px solid $border_bright" }
4434
4518
  },
4435
- /* @__PURE__ */ React52.createElement(Dropdown.Item, { "data-testid": "pin_message_btn", onClick: onPin }, /* @__PURE__ */ React52.createElement(PinIcon, null), /* @__PURE__ */ React52.createElement(Text, { variant: "sm", css: { ml: "$4" } }, "Pin Message"))
4519
+ /* @__PURE__ */ React54.createElement(Dropdown.Item, { "data-testid": "pin_message_btn", onClick: onPin }, /* @__PURE__ */ React54.createElement(PinIcon, null), /* @__PURE__ */ React54.createElement(Text, { variant: "sm", css: { ml: "$4" } }, "Pin Message"))
4436
4520
  )));
4437
4521
  };
4438
4522
  var SenderName = styled(Text, {
@@ -4444,120 +4528,127 @@ var SenderName = styled(Text, {
4444
4528
  color: "$on_surface_high",
4445
4529
  fontWeight: "$semiBold"
4446
4530
  });
4447
- var ChatMessage = React52.memo(({ index, style = {}, message, setRowHeight, onPin }) => {
4448
- var _a, _b;
4449
- const { ref, inView } = useInView({ threshold: 0.5, triggerOnce: true });
4450
- const rowRef = useRef10(null);
4451
- useEffect17(() => {
4452
- if (rowRef.current) {
4453
- setRowHeight(index, rowRef.current.clientHeight);
4454
- }
4455
- }, [index, setRowHeight]);
4456
- const isMobile = useMedia11(config.media.md);
4457
- const { elements } = useRoomLayoutConferencingScreen();
4458
- const isOverlay = ((_a = elements == null ? void 0 : elements.chat) == null ? void 0 : _a.is_overlay) && isMobile;
4459
- const hmsActions = useHMSActions16();
4460
- const localPeerId = useHMSStore26(selectLocalPeerID7);
4461
- const permissions = useHMSStore26(selectPermissions9);
4462
- const messageType = getMessageType({
4463
- roles: message.recipientRoles,
4464
- receiver: message.recipientPeer
4465
- });
4466
- const showPinAction = permissions.removeOthers && !messageType && ((_b = elements == null ? void 0 : elements.chat) == null ? void 0 : _b.allow_pinning_messages);
4467
- useEffect17(() => {
4468
- if (message.id && !message.read && inView) {
4469
- hmsActions.setMessageRead(true, message.id);
4470
- }
4471
- }, [message.read, hmsActions, inView, message.id]);
4472
- return /* @__PURE__ */ React52.createElement(
4473
- Box,
4474
- {
4475
- ref,
4476
- as: "div",
4477
- css: { mb: "$10", pr: "$10", mt: "$8", "&:hover .chat_actions": { opacity: 1 } },
4478
- style
4479
- },
4480
- /* @__PURE__ */ React52.createElement(
4481
- Flex,
4531
+ var ChatMessage = React54.memo(
4532
+ ({ index, style = {}, message, setRowHeight, isLast = false, unreadCount = 0, scrollToBottom, onPin }) => {
4533
+ var _a, _b;
4534
+ const { ref, inView } = useInView({ threshold: 0.5, triggerOnce: true });
4535
+ const rowRef = useRef10(null);
4536
+ useEffect18(() => {
4537
+ if (rowRef.current) {
4538
+ setRowHeight(index, rowRef.current.clientHeight);
4539
+ }
4540
+ }, [index, setRowHeight]);
4541
+ const isMobile = useMedia12(config.media.md);
4542
+ const { elements } = useRoomLayoutConferencingScreen();
4543
+ const isOverlay = ((_a = elements == null ? void 0 : elements.chat) == null ? void 0 : _a.is_overlay) && isMobile;
4544
+ const hmsActions = useHMSActions16();
4545
+ const localPeerId = useHMSStore27(selectLocalPeerID6);
4546
+ const permissions = useHMSStore27(selectPermissions9);
4547
+ const messageType = getMessageType({
4548
+ roles: message.recipientRoles,
4549
+ receiver: message.recipientPeer
4550
+ });
4551
+ const showPinAction = permissions.removeOthers && !messageType && ((_b = elements == null ? void 0 : elements.chat) == null ? void 0 : _b.allow_pinning_messages);
4552
+ useEffect18(() => {
4553
+ if (message.id && !message.read && inView) {
4554
+ hmsActions.setMessageRead(true, message.id);
4555
+ }
4556
+ }, [message.read, hmsActions, inView, message.id]);
4557
+ useEffect18(() => {
4558
+ if (isLast && inView && unreadCount >= 1) {
4559
+ scrollToBottom(1);
4560
+ }
4561
+ }, [inView, isLast, scrollToBottom, unreadCount]);
4562
+ return /* @__PURE__ */ React54.createElement(
4563
+ Box,
4482
4564
  {
4483
- ref: rowRef,
4484
- align: "center",
4485
- css: {
4486
- flexWrap: "wrap",
4487
- // Theme independent color, token should not be used for transparent chat
4488
- bg: messageType ? isOverlay ? "rgba(0, 0, 0, 0.64)" : "$surface_default" : void 0,
4489
- r: messageType ? "$1" : void 0,
4490
- px: messageType ? "$4" : "$2",
4491
- py: messageType ? "$4" : 0,
4492
- userSelect: "none"
4493
- },
4494
- key: message.time,
4495
- "data-testid": "chat_msg"
4565
+ ref,
4566
+ as: "div",
4567
+ css: { mb: "$10", pr: "$10", mt: "$8", "&:hover .chat_actions": { opacity: 1 } },
4568
+ style
4496
4569
  },
4497
- /* @__PURE__ */ React52.createElement(
4498
- Text,
4570
+ /* @__PURE__ */ React54.createElement(
4571
+ Flex,
4499
4572
  {
4573
+ ref: rowRef,
4574
+ align: "center",
4500
4575
  css: {
4501
- color: isOverlay ? "#FFF" : "$on_surface_high",
4502
- fontWeight: "$semiBold",
4503
- display: "inline-flex",
4504
- alignItems: "center",
4505
- justifyContent: "space-between",
4506
- width: "100%"
4576
+ flexWrap: "wrap",
4577
+ // Theme independent color, token should not be used for transparent chat
4578
+ bg: messageType ? isOverlay ? "rgba(0, 0, 0, 0.64)" : "$surface_default" : void 0,
4579
+ r: messageType ? "$1" : void 0,
4580
+ px: messageType ? "$4" : "$2",
4581
+ py: messageType ? "$4" : 0,
4582
+ userSelect: "none"
4507
4583
  },
4508
- as: "div"
4584
+ key: message.time,
4585
+ "data-testid": "chat_msg"
4509
4586
  },
4510
- /* @__PURE__ */ React52.createElement(Flex, { align: "baseline" }, message.senderName === "You" || !message.senderName ? /* @__PURE__ */ React52.createElement(SenderName, { as: "span", variant: "sm", css: { color: isOverlay ? "#FFF" : "$on_surface_high" } }, message.senderName || "Anonymous") : /* @__PURE__ */ React52.createElement(Tooltip, { title: message.senderName, side: "top", align: "start" }, /* @__PURE__ */ React52.createElement(SenderName, { as: "span", variant: "sm", css: { color: isOverlay ? "#FFF" : "$on_surface_high" } }, message.senderName)), !isOverlay ? /* @__PURE__ */ React52.createElement(
4587
+ /* @__PURE__ */ React54.createElement(
4511
4588
  Text,
4512
4589
  {
4513
- as: "span",
4514
- variant: "xs",
4515
4590
  css: {
4516
- ml: "$4",
4517
- color: "$on_surface_medium",
4518
- flexShrink: 0
4519
- }
4591
+ color: isOverlay ? "#FFF" : "$on_surface_high",
4592
+ fontWeight: "$semiBold",
4593
+ display: "inline-flex",
4594
+ alignItems: "center",
4595
+ justifyContent: "space-between",
4596
+ width: "100%"
4597
+ },
4598
+ as: "div"
4520
4599
  },
4521
- formatTime(message.time)
4522
- ) : null),
4523
- /* @__PURE__ */ React52.createElement(
4524
- MessageType,
4525
- {
4526
- hasCurrentUserSent: message.sender === localPeerId,
4527
- receiver: message.recipientPeer,
4528
- roles: message.recipientRoles
4529
- }
4600
+ /* @__PURE__ */ React54.createElement(Flex, { align: "baseline" }, message.senderName === "You" || !message.senderName ? /* @__PURE__ */ React54.createElement(SenderName, { as: "span", variant: "sm", css: { color: isOverlay ? "#FFF" : "$on_surface_high" } }, message.senderName || "Anonymous") : /* @__PURE__ */ React54.createElement(Tooltip, { title: message.senderName, side: "top", align: "start" }, /* @__PURE__ */ React54.createElement(SenderName, { as: "span", variant: "sm", css: { color: isOverlay ? "#FFF" : "$on_surface_high" } }, message.senderName)), !isOverlay ? /* @__PURE__ */ React54.createElement(
4601
+ Text,
4602
+ {
4603
+ as: "span",
4604
+ variant: "xs",
4605
+ css: {
4606
+ ml: "$4",
4607
+ color: "$on_surface_medium",
4608
+ flexShrink: 0
4609
+ }
4610
+ },
4611
+ formatTime(message.time)
4612
+ ) : null),
4613
+ /* @__PURE__ */ React54.createElement(
4614
+ MessageType,
4615
+ {
4616
+ hasCurrentUserSent: message.sender === localPeerId,
4617
+ receiver: message.recipientPeer,
4618
+ roles: message.recipientRoles
4619
+ }
4620
+ ),
4621
+ !isOverlay ? /* @__PURE__ */ React54.createElement(ChatActions, { onPin, showPinAction }) : null
4530
4622
  ),
4531
- !isOverlay ? /* @__PURE__ */ React52.createElement(ChatActions, { onPin, showPinAction }) : null
4532
- ),
4533
- /* @__PURE__ */ React52.createElement(
4534
- Text,
4535
- {
4536
- variant: "sm",
4537
- css: {
4538
- w: "100%",
4539
- mt: "$2",
4540
- wordBreak: "break-word",
4541
- whiteSpace: "pre-wrap",
4542
- userSelect: "all",
4543
- color: isOverlay ? "#FFF" : "$on_surface_high"
4623
+ /* @__PURE__ */ React54.createElement(
4624
+ Text,
4625
+ {
4626
+ variant: "sm",
4627
+ css: {
4628
+ w: "100%",
4629
+ mt: "$2",
4630
+ wordBreak: "break-word",
4631
+ whiteSpace: "pre-wrap",
4632
+ userSelect: "all",
4633
+ color: isOverlay ? "#FFF" : "$on_surface_high"
4634
+ },
4635
+ onClick: (e) => e.stopPropagation()
4544
4636
  },
4545
- onClick: (e) => e.stopPropagation()
4546
- },
4547
- /* @__PURE__ */ React52.createElement(AnnotisedMessage, { message: message.message })
4637
+ /* @__PURE__ */ React54.createElement(AnnotisedMessage, { message: message.message })
4638
+ )
4548
4639
  )
4549
- )
4550
- );
4551
- });
4552
- var ChatList = React52.forwardRef(
4553
- ({ width, height, setRowHeight, getRowHeight, messages, scrollToBottom }, listRef) => {
4640
+ );
4641
+ }
4642
+ );
4643
+ var ChatList = React54.forwardRef(
4644
+ ({ width, height, setRowHeight, getRowHeight, messages, unreadCount = 0, scrollToBottom }, listRef) => {
4554
4645
  const { setPinnedMessage } = useSetPinnedMessage();
4555
4646
  useLayoutEffect(() => {
4556
4647
  if (listRef.current && listRef.current.scrollToItem) {
4557
4648
  scrollToBottom(1);
4558
4649
  }
4559
4650
  }, [listRef]);
4560
- return /* @__PURE__ */ React52.createElement(
4651
+ return /* @__PURE__ */ React54.createElement(
4561
4652
  VariableSizeList,
4562
4653
  {
4563
4654
  ref: listRef,
@@ -4569,7 +4660,7 @@ var ChatList = React52.forwardRef(
4569
4660
  overflowX: "hidden"
4570
4661
  }
4571
4662
  },
4572
- ({ index, style }) => /* @__PURE__ */ React52.createElement(
4663
+ ({ index, style }) => /* @__PURE__ */ React54.createElement(
4573
4664
  ChatMessage,
4574
4665
  {
4575
4666
  style,
@@ -4577,13 +4668,16 @@ var ChatList = React52.forwardRef(
4577
4668
  key: messages[index].id,
4578
4669
  message: messages[index],
4579
4670
  setRowHeight,
4671
+ unreadCount,
4672
+ isLast: index >= messages.length - 2,
4673
+ scrollToBottom,
4580
4674
  onPin: () => setPinnedMessage(messages[index])
4581
4675
  }
4582
4676
  )
4583
4677
  );
4584
4678
  }
4585
4679
  );
4586
- var VirtualizedChatMessages = React52.forwardRef(({ messages, scrollToBottom }, listRef) => {
4680
+ var VirtualizedChatMessages = React54.forwardRef(({ messages, unreadCount = 0, scrollToBottom }, listRef) => {
4587
4681
  const rowHeights = useRef10({});
4588
4682
  function getRowHeight(index) {
4589
4683
  return rowHeights.current[index] + 16 || 72;
@@ -4595,7 +4689,7 @@ var VirtualizedChatMessages = React52.forwardRef(({ messages, scrollToBottom },
4595
4689
  },
4596
4690
  [listRef]
4597
4691
  );
4598
- return /* @__PURE__ */ React52.createElement(
4692
+ return /* @__PURE__ */ React54.createElement(
4599
4693
  Box,
4600
4694
  {
4601
4695
  css: {
@@ -4604,14 +4698,14 @@ var VirtualizedChatMessages = React52.forwardRef(({ messages, scrollToBottom },
4604
4698
  },
4605
4699
  as: "div"
4606
4700
  },
4607
- /* @__PURE__ */ React52.createElement(
4701
+ /* @__PURE__ */ React54.createElement(
4608
4702
  AutoSizer,
4609
4703
  {
4610
4704
  style: {
4611
4705
  width: "90%"
4612
4706
  }
4613
4707
  },
4614
- ({ height, width }) => /* @__PURE__ */ React52.createElement(
4708
+ ({ height, width }) => /* @__PURE__ */ React54.createElement(
4615
4709
  ChatList,
4616
4710
  {
4617
4711
  width,
@@ -4620,21 +4714,23 @@ var VirtualizedChatMessages = React52.forwardRef(({ messages, scrollToBottom },
4620
4714
  setRowHeight,
4621
4715
  getRowHeight,
4622
4716
  scrollToBottom,
4623
- ref: listRef
4717
+ ref: listRef,
4718
+ unreadCount
4624
4719
  }
4625
4720
  )
4626
4721
  )
4627
4722
  );
4628
4723
  });
4629
- var ChatBody = React52.forwardRef(({ role, peerId, scrollToBottom }, listRef) => {
4724
+ var ChatBody = React54.forwardRef(({ role, peerId, scrollToBottom }, listRef) => {
4630
4725
  var _a;
4631
4726
  const storeMessageSelector = role ? selectMessagesByRole(role) : peerId ? selectMessagesByPeerID(peerId) : selectHMSMessages;
4632
- let messages = useHMSStore26(storeMessageSelector);
4727
+ let messages = useHMSStore27(storeMessageSelector);
4633
4728
  messages = useMemo8(() => (messages == null ? void 0 : messages.filter((message) => message.type === "chat")) || [], [messages]);
4634
- const isMobile = useMedia11(config.media.md);
4729
+ const isMobile = useMedia12(config.media.md);
4635
4730
  const { elements } = useRoomLayoutConferencingScreen();
4731
+ const unreadCount = useUnreadCount({ role, peerId });
4636
4732
  if (messages.length === 0 && !(isMobile && ((_a = elements == null ? void 0 : elements.chat) == null ? void 0 : _a.is_overlay))) {
4637
- return /* @__PURE__ */ React52.createElement(
4733
+ return /* @__PURE__ */ React54.createElement(
4638
4734
  Flex,
4639
4735
  {
4640
4736
  css: {
@@ -4646,7 +4742,7 @@ var ChatBody = React52.forwardRef(({ role, peerId, scrollToBottom }, listRef) =>
4646
4742
  align: "center",
4647
4743
  justify: "center"
4648
4744
  },
4649
- /* @__PURE__ */ React52.createElement(Box, null, /* @__PURE__ */ React52.createElement("img", { src: empty_chat_default, alt: "Empty Chat", height: 132, width: 185, style: { margin: "0 auto" } }), /* @__PURE__ */ React52.createElement(Text, { variant: "h5", css: { mt: "$8", c: "$on_surface_high" } }, "Start a conversation"), /* @__PURE__ */ React52.createElement(
4745
+ /* @__PURE__ */ React54.createElement(Box, null, /* @__PURE__ */ React54.createElement("img", { src: empty_chat_default, alt: "Empty Chat", height: 132, width: 185, style: { margin: "0 auto" } }), /* @__PURE__ */ React54.createElement(Text, { variant: "h5", css: { mt: "$8", c: "$on_surface_high" } }, "Start a conversation"), /* @__PURE__ */ React54.createElement(
4650
4746
  Text,
4651
4747
  {
4652
4748
  variant: "sm",
@@ -4656,12 +4752,20 @@ var ChatBody = React52.forwardRef(({ role, peerId, scrollToBottom }, listRef) =>
4656
4752
  ))
4657
4753
  );
4658
4754
  }
4659
- return /* @__PURE__ */ React52.createElement(Fragment8, null, /* @__PURE__ */ React52.createElement(VirtualizedChatMessages, { messages, scrollToBottom, ref: listRef }));
4755
+ return /* @__PURE__ */ React54.createElement(Fragment8, null, /* @__PURE__ */ React54.createElement(
4756
+ VirtualizedChatMessages,
4757
+ {
4758
+ messages,
4759
+ scrollToBottom,
4760
+ unreadCount,
4761
+ ref: listRef
4762
+ }
4763
+ ));
4660
4764
  });
4661
4765
 
4662
4766
  // src/Prebuilt/components/Chat/ChatFooter.tsx
4663
- import React53, { useCallback as useCallback13, useEffect as useEffect19, useRef as useRef12, useState as useState30 } from "react";
4664
- import { useMedia as useMedia12 } from "react-use";
4767
+ import React55, { useCallback as useCallback13, useEffect as useEffect20, useRef as useRef12, useState as useState30 } from "react";
4768
+ import { useMedia as useMedia13 } from "react-use";
4665
4769
  import data2 from "@emoji-mart/data";
4666
4770
  import Picker from "@emoji-mart/react";
4667
4771
  import { useHMSActions as useHMSActions18 } from "@100mslive/react-sdk";
@@ -4669,10 +4773,10 @@ import { EmojiIcon as EmojiIcon3, SendIcon } from "@100mslive/react-icons";
4669
4773
 
4670
4774
  // src/Prebuilt/components/AppData/useChatState.js
4671
4775
  import { useCallback as useCallback12 } from "react";
4672
- import { selectAppData as selectAppData2, useHMSActions as useHMSActions17, useHMSStore as useHMSStore27 } from "@100mslive/react-sdk";
4776
+ import { selectAppData as selectAppData2, useHMSActions as useHMSActions17, useHMSStore as useHMSStore28 } from "@100mslive/react-sdk";
4673
4777
  var useChatDraftMessage = () => {
4674
4778
  const hmsActions = useHMSActions17();
4675
- let chatDraftMessage = useHMSStore27(selectAppData2(APP_DATA.chatDraft));
4779
+ let chatDraftMessage = useHMSStore28(selectAppData2(APP_DATA.chatDraft));
4676
4780
  if (chatDraftMessage === void 0 || chatDraftMessage === null) {
4677
4781
  chatDraftMessage = "";
4678
4782
  }
@@ -4686,10 +4790,10 @@ var useChatDraftMessage = () => {
4686
4790
  };
4687
4791
 
4688
4792
  // src/Prebuilt/components/Chat/useEmojiPickerStyles.js
4689
- import { useEffect as useEffect18, useRef as useRef11 } from "react";
4793
+ import { useEffect as useEffect19, useRef as useRef11 } from "react";
4690
4794
  var useEmojiPickerStyles = (showing) => {
4691
4795
  const ref = useRef11(null);
4692
- useEffect18(() => {
4796
+ useEffect19(() => {
4693
4797
  if (showing) {
4694
4798
  setTimeout(() => {
4695
4799
  var _a, _b;
@@ -4739,7 +4843,7 @@ var TextArea = styled("textarea", {
4739
4843
  function EmojiPicker({ onSelect }) {
4740
4844
  const [showEmoji, setShowEmoji] = useState30(false);
4741
4845
  const ref = useEmojiPickerStyles(showEmoji);
4742
- return /* @__PURE__ */ React53.createElement(Popover.Root, { open: showEmoji, onOpenChange: setShowEmoji }, /* @__PURE__ */ React53.createElement(Popover.Trigger, { asChild: true, css: { appearance: "none" } }, /* @__PURE__ */ React53.createElement(IconButton, { as: "div" }, /* @__PURE__ */ React53.createElement(EmojiIcon3, null))), /* @__PURE__ */ React53.createElement(Popover.Portal, null, /* @__PURE__ */ React53.createElement(
4846
+ return /* @__PURE__ */ React55.createElement(Popover.Root, { open: showEmoji, onOpenChange: setShowEmoji }, /* @__PURE__ */ React55.createElement(Popover.Trigger, { asChild: true, css: { appearance: "none" } }, /* @__PURE__ */ React55.createElement(IconButton, { as: "div" }, /* @__PURE__ */ React55.createElement(EmojiIcon3, null))), /* @__PURE__ */ React55.createElement(Popover.Portal, null, /* @__PURE__ */ React55.createElement(
4743
4847
  Popover.Content,
4744
4848
  {
4745
4849
  alignOffset: -40,
@@ -4749,7 +4853,7 @@ function EmojiPicker({ onSelect }) {
4749
4853
  p: 0
4750
4854
  }
4751
4855
  },
4752
- /* @__PURE__ */ React53.createElement(
4856
+ /* @__PURE__ */ React55.createElement(
4753
4857
  Box,
4754
4858
  {
4755
4859
  css: {
@@ -4758,7 +4862,7 @@ function EmojiPicker({ onSelect }) {
4758
4862
  },
4759
4863
  ref
4760
4864
  },
4761
- /* @__PURE__ */ React53.createElement(Picker, { onEmojiSelect: onSelect, data: data2, previewPosition: "none", skinPosition: "search" })
4865
+ /* @__PURE__ */ React55.createElement(Picker, { onEmojiSelect: onSelect, data: data2, previewPosition: "none", skinPosition: "search" })
4762
4866
  )
4763
4867
  )));
4764
4868
  }
@@ -4772,7 +4876,7 @@ var ChatFooter = ({
4772
4876
  const hmsActions = useHMSActions18();
4773
4877
  const inputRef = useRef12(null);
4774
4878
  const [draftMessage, setDraftMessage] = useChatDraftMessage();
4775
- const isMobile = useMedia12(config.media.md);
4879
+ const isMobile = useMedia13(config.media.md);
4776
4880
  const { elements } = useRoomLayoutConferencingScreen();
4777
4881
  const isOverlayChat = (_a = elements == null ? void 0 : elements.chat) == null ? void 0 : _a.is_overlay;
4778
4882
  const sendMessage = useCallback13(() => __async(void 0, null, function* () {
@@ -4798,19 +4902,19 @@ var ChatFooter = ({
4798
4902
  ToastManager.addToast({ title: err.message });
4799
4903
  }
4800
4904
  }), [role, peerId, hmsActions, onSend]);
4801
- useEffect19(() => {
4905
+ useEffect20(() => {
4802
4906
  const messageElement = inputRef.current;
4803
4907
  if (messageElement) {
4804
4908
  messageElement.value = draftMessage;
4805
4909
  }
4806
4910
  }, [draftMessage]);
4807
- useEffect19(() => {
4911
+ useEffect20(() => {
4808
4912
  const messageElement = inputRef.current;
4809
4913
  return () => {
4810
4914
  setDraftMessage((messageElement == null ? void 0 : messageElement.value) || "");
4811
4915
  };
4812
4916
  }, [setDraftMessage]);
4813
- return /* @__PURE__ */ React53.createElement(React53.Fragment, null, /* @__PURE__ */ React53.createElement(Flex, { align: "center", css: { gap: "$4", w: "100%" } }, /* @__PURE__ */ React53.createElement(
4917
+ return /* @__PURE__ */ React55.createElement(React55.Fragment, null, /* @__PURE__ */ React55.createElement(Flex, { align: "center", css: { gap: "$4", w: "100%" } }, /* @__PURE__ */ React55.createElement(
4814
4918
  Flex,
4815
4919
  {
4816
4920
  align: "center",
@@ -4831,7 +4935,7 @@ var ChatFooter = ({
4831
4935
  }
4832
4936
  },
4833
4937
  children,
4834
- /* @__PURE__ */ React53.createElement(
4938
+ /* @__PURE__ */ React55.createElement(
4835
4939
  TextArea,
4836
4940
  {
4837
4941
  css: {
@@ -4859,7 +4963,7 @@ var ChatFooter = ({
4859
4963
  onCopy: (e) => e.stopPropagation()
4860
4964
  }
4861
4965
  ),
4862
- !isMobile ? /* @__PURE__ */ React53.createElement(
4966
+ !isMobile ? /* @__PURE__ */ React55.createElement(
4863
4967
  EmojiPicker,
4864
4968
  {
4865
4969
  onSelect: (emoji) => {
@@ -4869,7 +4973,7 @@ var ChatFooter = ({
4869
4973
  }
4870
4974
  }
4871
4975
  ) : null,
4872
- /* @__PURE__ */ React53.createElement(
4976
+ /* @__PURE__ */ React55.createElement(
4873
4977
  IconButton,
4874
4978
  {
4875
4979
  className: "send-msg",
@@ -4882,31 +4986,18 @@ var ChatFooter = ({
4882
4986
  },
4883
4987
  "data-testid": "send_msg_btn"
4884
4988
  },
4885
- /* @__PURE__ */ React53.createElement(SendIcon, null)
4989
+ /* @__PURE__ */ React55.createElement(SendIcon, null)
4886
4990
  )
4887
4991
  )));
4888
4992
  };
4889
4993
 
4890
- // src/Prebuilt/components/Chat/useUnreadCount.js
4891
- import {
4892
- selectMessagesUnreadCountByPeerID,
4893
- selectMessagesUnreadCountByRole,
4894
- selectUnreadHMSMessagesCount as selectUnreadHMSMessagesCount2,
4895
- useHMSStore as useHMSStore28
4896
- } from "@100mslive/react-sdk";
4897
- var useUnreadCount = ({ role, peerId }) => {
4898
- const unreadCountSelector = role ? selectMessagesUnreadCountByRole(role) : peerId ? selectMessagesUnreadCountByPeerID(peerId) : selectUnreadHMSMessagesCount2;
4899
- const unreadCount = useHMSStore28(unreadCountSelector);
4900
- return unreadCount;
4901
- };
4902
-
4903
4994
  // src/Prebuilt/components/Chat/Chat.jsx
4904
4995
  var PINNED_MESSAGE_LENGTH = 80;
4905
4996
  var PinnedMessage = ({ clearPinnedMessage }) => {
4906
4997
  const permissions = useHMSStore29(selectPermissions10);
4907
4998
  const pinnedMessage = useHMSStore29(selectSessionStore(SESSION_STORE_KEY.PINNED_MESSAGE));
4908
4999
  const formattedPinnedMessage = (pinnedMessage == null ? void 0 : pinnedMessage.length) && pinnedMessage.length > PINNED_MESSAGE_LENGTH ? `${pinnedMessage.slice(0, PINNED_MESSAGE_LENGTH)}...` : pinnedMessage;
4909
- return pinnedMessage ? /* @__PURE__ */ React54.createElement(
5000
+ return pinnedMessage ? /* @__PURE__ */ React56.createElement(
4910
5001
  Flex,
4911
5002
  {
4912
5003
  title: pinnedMessage,
@@ -4914,8 +5005,8 @@ var PinnedMessage = ({ clearPinnedMessage }) => {
4914
5005
  align: "center",
4915
5006
  justify: "between"
4916
5007
  },
4917
- /* @__PURE__ */ React54.createElement(PinIcon2, null),
4918
- /* @__PURE__ */ React54.createElement(
5008
+ /* @__PURE__ */ React56.createElement(PinIcon2, null),
5009
+ /* @__PURE__ */ React56.createElement(
4919
5010
  Box,
4920
5011
  {
4921
5012
  css: {
@@ -4925,15 +5016,15 @@ var PinnedMessage = ({ clearPinnedMessage }) => {
4925
5016
  overflowY: "auto"
4926
5017
  }
4927
5018
  },
4928
- /* @__PURE__ */ React54.createElement(Text, { variant: "sm" }, /* @__PURE__ */ React54.createElement(AnnotisedMessage, { message: formattedPinnedMessage }))
5019
+ /* @__PURE__ */ React56.createElement(Text, { variant: "sm" }, /* @__PURE__ */ React56.createElement(AnnotisedMessage, { message: formattedPinnedMessage }))
4929
5020
  ),
4930
- permissions.removeOthers && /* @__PURE__ */ React54.createElement(
5021
+ permissions.removeOthers && /* @__PURE__ */ React56.createElement(
4931
5022
  Flex,
4932
5023
  {
4933
5024
  onClick: () => clearPinnedMessage(),
4934
5025
  css: { cursor: "pointer", color: "$on_surface_medium", "&:hover": { color: "$on_surface_high" } }
4935
5026
  },
4936
- /* @__PURE__ */ React54.createElement(CrossIcon6, null)
5027
+ /* @__PURE__ */ React56.createElement(CrossIcon6, null)
4937
5028
  )
4938
5029
  ) : null;
4939
5030
  };
@@ -4952,7 +5043,7 @@ var Chat = ({ screenType }) => {
4952
5043
  const listRef = useRef13(null);
4953
5044
  const hmsActions = useHMSActions19();
4954
5045
  const { setPinnedMessage } = useSetPinnedMessage();
4955
- useEffect20(() => {
5046
+ useEffect21(() => {
4956
5047
  if (notification && notification.data && peerSelector === notification.data.id) {
4957
5048
  setPeerSelector("");
4958
5049
  setChatOptions({
@@ -4964,7 +5055,7 @@ var Chat = ({ screenType }) => {
4964
5055
  }, [notification, peerSelector, setPeerSelector]);
4965
5056
  const storeMessageSelector = selectHMSMessagesCount;
4966
5057
  const { elements } = useRoomLayoutConferencingScreen();
4967
- const isMobile = useMedia13(config.media.md);
5058
+ const isMobile = useMedia14(config.media.md);
4968
5059
  let isScrolledToBottom = false;
4969
5060
  if (listRef.current) {
4970
5061
  const currentRef = listRef.current._outerRef;
@@ -4985,7 +5076,7 @@ var Chat = ({ screenType }) => {
4985
5076
  },
4986
5077
  [hmsActions, messagesCount]
4987
5078
  );
4988
- return /* @__PURE__ */ React54.createElement(
5079
+ return /* @__PURE__ */ React56.createElement(
4989
5080
  Flex,
4990
5081
  {
4991
5082
  direction: "column",
@@ -4994,8 +5085,8 @@ var Chat = ({ screenType }) => {
4994
5085
  gap: "$4"
4995
5086
  }
4996
5087
  },
4997
- isMobile && ((_a = elements == null ? void 0 : elements.chat) == null ? void 0 : _a.is_overlay) ? null : /* @__PURE__ */ React54.createElement(React54.Fragment, null, ((_b = elements == null ? void 0 : elements.chat) == null ? void 0 : _b.allow_pinning_messages) ? /* @__PURE__ */ React54.createElement(PinnedMessage, { clearPinnedMessage: setPinnedMessage }) : null),
4998
- /* @__PURE__ */ React54.createElement(
5088
+ isMobile && ((_a = elements == null ? void 0 : elements.chat) == null ? void 0 : _a.is_overlay) ? null : /* @__PURE__ */ React56.createElement(React56.Fragment, null, ((_b = elements == null ? void 0 : elements.chat) == null ? void 0 : _b.allow_pinning_messages) ? /* @__PURE__ */ React56.createElement(PinnedMessage, { clearPinnedMessage: setPinnedMessage }) : null),
5089
+ /* @__PURE__ */ React56.createElement(
4999
5090
  ChatBody,
5000
5091
  {
5001
5092
  role: chatOptions.role,
@@ -5005,7 +5096,7 @@ var Chat = ({ screenType }) => {
5005
5096
  screenType
5006
5097
  }
5007
5098
  ),
5008
- /* @__PURE__ */ React54.createElement(
5099
+ /* @__PURE__ */ React56.createElement(
5009
5100
  ChatFooter,
5010
5101
  {
5011
5102
  role: chatOptions.role,
@@ -5023,7 +5114,7 @@ var Chat = ({ screenType }) => {
5023
5114
  },
5024
5115
  peerId: chatOptions.peerId
5025
5116
  },
5026
- !isSelectorOpen && !isScrolledToBottom && /* @__PURE__ */ React54.createElement(NewMessageIndicator, { role: chatOptions.role, peerId: chatOptions.peerId, scrollToBottom })
5117
+ !isSelectorOpen && !isScrolledToBottom && /* @__PURE__ */ React56.createElement(NewMessageIndicator, { role: chatOptions.role, peerId: chatOptions.peerId, scrollToBottom })
5027
5118
  )
5028
5119
  );
5029
5120
  };
@@ -5032,7 +5123,7 @@ var NewMessageIndicator = ({ role, peerId, scrollToBottom }) => {
5032
5123
  if (!unreadCount) {
5033
5124
  return null;
5034
5125
  }
5035
- return /* @__PURE__ */ React54.createElement(
5126
+ return /* @__PURE__ */ React56.createElement(
5036
5127
  Flex,
5037
5128
  {
5038
5129
  justify: "center",
@@ -5043,7 +5134,7 @@ var NewMessageIndicator = ({ role, peerId, scrollToBottom }) => {
5043
5134
  position: "absolute"
5044
5135
  }
5045
5136
  },
5046
- /* @__PURE__ */ React54.createElement(
5137
+ /* @__PURE__ */ React56.createElement(
5047
5138
  Button,
5048
5139
  {
5049
5140
  variant: "standard",
@@ -5066,7 +5157,7 @@ var NewMessageIndicator = ({ role, peerId, scrollToBottom }) => {
5066
5157
  },
5067
5158
  "New ",
5068
5159
  unreadCount === 1 ? "message" : "messages",
5069
- /* @__PURE__ */ React54.createElement(ChevronDownIcon2, null)
5160
+ /* @__PURE__ */ React56.createElement(ChevronDownIcon2, null)
5070
5161
  )
5071
5162
  );
5072
5163
  };
@@ -5081,9 +5172,9 @@ var tabTriggerCSS = {
5081
5172
  justifyContent: "center"
5082
5173
  };
5083
5174
  var ParticipantCount2 = ({ count }) => {
5084
- return count < 1e3 ? /* @__PURE__ */ React55.createElement("span", null, "(", count, ")") : /* @__PURE__ */ React55.createElement(Tooltip, { title: count }, /* @__PURE__ */ React55.createElement("span", null, "(", getFormattedCount(count), ")"));
5175
+ return count < 1e3 ? /* @__PURE__ */ React57.createElement("span", null, "(", count, ")") : /* @__PURE__ */ React57.createElement(Tooltip, { title: count }, /* @__PURE__ */ React57.createElement("span", null, "(", getFormattedCount(count), ")"));
5085
5176
  };
5086
- var SidePaneTabs = React55.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType, hideControls }) => {
5177
+ var SidePaneTabs = React57.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType, hideControls }) => {
5087
5178
  var _a;
5088
5179
  const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);
5089
5180
  const toggleParticipants = useSidepaneToggle(SIDE_PANE_OPTIONS.PARTICIPANTS);
@@ -5094,10 +5185,10 @@ var SidePaneTabs = React55.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType,
5094
5185
  const showChat = !!(elements == null ? void 0 : elements.chat);
5095
5186
  const showParticipants = !!(elements == null ? void 0 : elements.participant_list);
5096
5187
  const hideTabs = !(showChat && showParticipants);
5097
- const isMobile = useMedia14(config.media.md);
5188
+ const isMobile = useMedia15(config.media.md);
5098
5189
  const isOverlayChat = !!((_a = elements == null ? void 0 : elements.chat) == null ? void 0 : _a.is_overlay) && isMobile;
5099
5190
  const isChatOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.CHAT);
5100
- useEffect21(() => {
5191
+ useEffect22(() => {
5101
5192
  if (activeTab === SIDE_PANE_OPTIONS.CHAT && !showChat && showParticipants) {
5102
5193
  setActiveTab(SIDE_PANE_OPTIONS.PARTICIPANTS);
5103
5194
  } else if (activeTab === SIDE_PANE_OPTIONS.PARTICIPANTS && showChat && !showParticipants) {
@@ -5106,10 +5197,10 @@ var SidePaneTabs = React55.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType,
5106
5197
  resetSidePane();
5107
5198
  }
5108
5199
  }, [showChat, activeTab, showParticipants, resetSidePane]);
5109
- useEffect21(() => {
5200
+ useEffect22(() => {
5110
5201
  setActiveTab(active);
5111
5202
  }, [active]);
5112
- return /* @__PURE__ */ React55.createElement(
5203
+ return /* @__PURE__ */ React57.createElement(
5113
5204
  Flex,
5114
5205
  {
5115
5206
  direction: "column",
@@ -5120,7 +5211,7 @@ var SidePaneTabs = React55.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType,
5120
5211
  transition: "margin 0.3s ease-in-out"
5121
5212
  }
5122
5213
  },
5123
- isOverlayChat && isChatOpen && showChat ? /* @__PURE__ */ React55.createElement(Chat, { screenType }) : /* @__PURE__ */ React55.createElement(React55.Fragment, null, hideTabs ? /* @__PURE__ */ React55.createElement(React55.Fragment, null, /* @__PURE__ */ React55.createElement(Text, { variant: "sm", css: { fontWeight: "$semiBold", p: "$4", c: "$on_surface_high", pr: "$12" } }, showChat ? "Chat" : /* @__PURE__ */ React55.createElement("span", null, "Participants ", /* @__PURE__ */ React55.createElement(ParticipantCount2, { count: peerCount }))), showChat ? /* @__PURE__ */ React55.createElement(Chat, { screenType }) : /* @__PURE__ */ React55.createElement(ParticipantList, null)) : /* @__PURE__ */ React55.createElement(
5214
+ isOverlayChat && isChatOpen && showChat ? /* @__PURE__ */ React57.createElement(Chat, { screenType }) : /* @__PURE__ */ React57.createElement(React57.Fragment, null, hideTabs ? /* @__PURE__ */ React57.createElement(React57.Fragment, null, /* @__PURE__ */ React57.createElement(Text, { variant: "sm", css: { fontWeight: "$semiBold", p: "$4", c: "$on_surface_high", pr: "$12" } }, showChat ? "Chat" : /* @__PURE__ */ React57.createElement("span", null, "Participants ", /* @__PURE__ */ React57.createElement(ParticipantCount2, { count: peerCount }))), showChat ? /* @__PURE__ */ React57.createElement(Chat, { screenType }) : /* @__PURE__ */ React57.createElement(ParticipantList, null)) : /* @__PURE__ */ React57.createElement(
5124
5215
  Tabs.Root,
5125
5216
  {
5126
5217
  value: activeTab,
@@ -5130,7 +5221,7 @@ var SidePaneTabs = React55.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType,
5130
5221
  size: "100%"
5131
5222
  }
5132
5223
  },
5133
- /* @__PURE__ */ React55.createElement(Tabs.List, { css: { w: "calc(100% - $12)", p: "$2", borderRadius: "$2", bg: "$surface_default" } }, /* @__PURE__ */ React55.createElement(
5224
+ /* @__PURE__ */ React57.createElement(Tabs.List, { css: { w: "calc(100% - $12)", p: "$2", borderRadius: "$2", bg: "$surface_default" } }, /* @__PURE__ */ React57.createElement(
5134
5225
  Tabs.Trigger,
5135
5226
  {
5136
5227
  value: SIDE_PANE_OPTIONS.CHAT,
@@ -5140,7 +5231,7 @@ var SidePaneTabs = React55.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType,
5140
5231
  })
5141
5232
  },
5142
5233
  "Chat"
5143
- ), /* @__PURE__ */ React55.createElement(
5234
+ ), /* @__PURE__ */ React57.createElement(
5144
5235
  Tabs.Trigger,
5145
5236
  {
5146
5237
  value: SIDE_PANE_OPTIONS.PARTICIPANTS,
@@ -5150,12 +5241,12 @@ var SidePaneTabs = React55.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType,
5150
5241
  })
5151
5242
  },
5152
5243
  "Participants ",
5153
- /* @__PURE__ */ React55.createElement(ParticipantCount2, { count: peerCount })
5244
+ /* @__PURE__ */ React57.createElement(ParticipantCount2, { count: peerCount })
5154
5245
  )),
5155
- /* @__PURE__ */ React55.createElement(Tabs.Content, { value: SIDE_PANE_OPTIONS.PARTICIPANTS, css: { p: 0 } }, /* @__PURE__ */ React55.createElement(ParticipantList, null)),
5156
- /* @__PURE__ */ React55.createElement(Tabs.Content, { value: SIDE_PANE_OPTIONS.CHAT, css: { p: 0 } }, /* @__PURE__ */ React55.createElement(Chat, { screenType }))
5246
+ /* @__PURE__ */ React57.createElement(Tabs.Content, { value: SIDE_PANE_OPTIONS.PARTICIPANTS, css: { p: 0 } }, /* @__PURE__ */ React57.createElement(ParticipantList, null)),
5247
+ /* @__PURE__ */ React57.createElement(Tabs.Content, { value: SIDE_PANE_OPTIONS.CHAT, css: { p: 0 } }, /* @__PURE__ */ React57.createElement(Chat, { screenType }))
5157
5248
  )),
5158
- isOverlayChat && isChatOpen ? null : /* @__PURE__ */ React55.createElement(
5249
+ isOverlayChat && isChatOpen ? null : /* @__PURE__ */ React57.createElement(
5159
5250
  IconButton,
5160
5251
  {
5161
5252
  css: { position: "absolute", right: "$10", top: "$11", "@md": { top: "$8", right: "$8" } },
@@ -5169,13 +5260,13 @@ var SidePaneTabs = React55.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType,
5169
5260
  },
5170
5261
  "data-testid": "close_chat"
5171
5262
  },
5172
- /* @__PURE__ */ React55.createElement(CrossIcon7, null)
5263
+ /* @__PURE__ */ React57.createElement(CrossIcon7, null)
5173
5264
  )
5174
5265
  );
5175
5266
  });
5176
5267
 
5177
5268
  // src/Prebuilt/components/Streaming/StreamingLanding.jsx
5178
- import React57, { Fragment as Fragment10, useState as useState34 } from "react";
5269
+ import React59, { Fragment as Fragment10, useState as useState34 } from "react";
5179
5270
  import { selectPermissions as selectPermissions11, useHMSStore as useHMSStore32, useRecordingStreaming as useRecordingStreaming7 } from "@100mslive/react-sdk";
5180
5271
  import { ColoredHandIcon, CrossIcon as CrossIcon8, GoLiveIcon as GoLiveIcon3 } from "@100mslive/react-icons";
5181
5272
 
@@ -5183,7 +5274,7 @@ import { ColoredHandIcon, CrossIcon as CrossIcon8, GoLiveIcon as GoLiveIcon3 } f
5183
5274
  var rtmp_default = "data:image/png;base64,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";
5184
5275
 
5185
5276
  // src/Prebuilt/components/Streaming/HLSStreaming.jsx
5186
- import React56, { Fragment as Fragment9, useCallback as useCallback15, useEffect as useEffect22, useState as useState33 } from "react";
5277
+ import React58, { Fragment as Fragment9, useCallback as useCallback15, useEffect as useEffect23, useState as useState33 } from "react";
5187
5278
  import { selectRoomID, useHMSActions as useHMSActions20, useHMSStore as useHMSStore31, useRecordingStreaming as useRecordingStreaming6 } from "@100mslive/react-sdk";
5188
5279
  import {
5189
5280
  EndStreamIcon as EndStreamIcon2,
@@ -5203,7 +5294,7 @@ var getCardData = (roleName, roomId) => {
5203
5294
  data3 = {
5204
5295
  title: formattedRoleName,
5205
5296
  content: "Broadcasters can livestream audio or video, manage stream appearance and control the room via HLS.",
5206
- icon: /* @__PURE__ */ React56.createElement(SupportIcon, null)
5297
+ icon: /* @__PURE__ */ React58.createElement(SupportIcon, null)
5207
5298
  };
5208
5299
  break;
5209
5300
  }
@@ -5211,7 +5302,7 @@ var getCardData = (roleName, roomId) => {
5211
5302
  data3 = {
5212
5303
  title: "HLS Viewer",
5213
5304
  content: "Viewers can view and send chat messages, but need to be made broadcasters to participate with audio or video.",
5214
- icon: /* @__PURE__ */ React56.createElement(EyeOpenIcon, null)
5305
+ icon: /* @__PURE__ */ React58.createElement(EyeOpenIcon, null)
5215
5306
  };
5216
5307
  break;
5217
5308
  }
@@ -5219,7 +5310,7 @@ var getCardData = (roleName, roomId) => {
5219
5310
  data3 = {
5220
5311
  title: formattedRoleName,
5221
5312
  content: `${formattedRoleName} is customised with specific permissions, which will determine how it interacts with this room.`,
5222
- icon: /* @__PURE__ */ React56.createElement(WrenchIcon, null),
5313
+ icon: /* @__PURE__ */ React58.createElement(WrenchIcon, null),
5223
5314
  order: 1
5224
5315
  };
5225
5316
  }
@@ -5228,7 +5319,7 @@ var getCardData = (roleName, roomId) => {
5228
5319
  };
5229
5320
  var Card = ({ title, icon, link, content, isHLSRunning, order = 0 }) => {
5230
5321
  const [copied, setCopied] = useState33(false);
5231
- return isHLSRunning ? /* @__PURE__ */ React56.createElement(
5322
+ return isHLSRunning ? /* @__PURE__ */ React58.createElement(
5232
5323
  Box,
5233
5324
  {
5234
5325
  key: title,
@@ -5239,9 +5330,9 @@ var Card = ({ title, icon, link, content, isHLSRunning, order = 0 }) => {
5239
5330
  borderRadius: "$2"
5240
5331
  }
5241
5332
  },
5242
- /* @__PURE__ */ React56.createElement(Flex, { align: "center", gap: "2", css: { color: "$primary_bright" } }, icon, /* @__PURE__ */ React56.createElement(Text, { variant: "h6", css: { fontWeight: "$semiBold" } }, title)),
5243
- /* @__PURE__ */ React56.createElement(Text, { variant: "sm", css: { color: "$on_surface_medium", mt: "$6" } }, content),
5244
- /* @__PURE__ */ React56.createElement(
5333
+ /* @__PURE__ */ React58.createElement(Flex, { align: "center", gap: "2", css: { color: "$primary_bright" } }, icon, /* @__PURE__ */ React58.createElement(Text, { variant: "h6", css: { fontWeight: "$semiBold" } }, title)),
5334
+ /* @__PURE__ */ React58.createElement(Text, { variant: "sm", css: { color: "$on_surface_medium", mt: "$6" } }, content),
5335
+ /* @__PURE__ */ React58.createElement(
5245
5336
  Button,
5246
5337
  {
5247
5338
  variant: "standard",
@@ -5253,7 +5344,7 @@ var Card = ({ title, icon, link, content, isHLSRunning, order = 0 }) => {
5253
5344
  css: { w: "100%", r: "$1", mt: "$10", fontWeight: "$semiBold" },
5254
5345
  icon: true
5255
5346
  },
5256
- copied ? /* @__PURE__ */ React56.createElement(React56.Fragment, null, "Link copied!") : /* @__PURE__ */ React56.createElement(React56.Fragment, null, /* @__PURE__ */ React56.createElement(LinkIcon, { style: { color: "inherit" } }), "Copy Invite Link")
5347
+ copied ? /* @__PURE__ */ React58.createElement(React58.Fragment, null, "Link copied!") : /* @__PURE__ */ React58.createElement(React58.Fragment, null, /* @__PURE__ */ React58.createElement(LinkIcon, { style: { color: "inherit" } }), "Copy Invite Link")
5257
5348
  )
5258
5349
  ) : null;
5259
5350
  };
@@ -5263,7 +5354,7 @@ var HLSStreaming = ({ onBack }) => {
5263
5354
  const cards = roleNames.map((roleName) => getCardData(roleName, roomId));
5264
5355
  const { isHLSRunning } = useRecordingStreaming6();
5265
5356
  const [showLinks, setShowLinks] = useState33(false);
5266
- return !showLinks ? /* @__PURE__ */ React56.createElement(Container, { rounded: true }, /* @__PURE__ */ React56.createElement(ContentHeader, { title: "Start Streaming", content: "HLS", onBack }), /* @__PURE__ */ React56.createElement(ContentBody, { title: "HLS Streaming", Icon: GoLiveIcon2, removeVerticalPadding: true }, "Stream directly from the browser using any device with multiple hosts and real-time messaging, all within this platform."), isHLSRunning ? /* @__PURE__ */ React56.createElement(EndHLS, { setShowLinks }) : /* @__PURE__ */ React56.createElement(StartHLS, null)) : /* @__PURE__ */ React56.createElement(Container, { rounded: true }, /* @__PURE__ */ React56.createElement(ContentHeader, { title: "Invite People", content: "Start the conversation", onBack: () => setShowLinks(false) }), /* @__PURE__ */ React56.createElement(Flex, { direction: "column", css: { gap: "$10", p: "$0 $10", overflowY: "auto", mb: "$10" } }, cards.map((card) => /* @__PURE__ */ React56.createElement(Card, __spreadProps(__spreadValues({ key: card.title }, card), { isHLSRunning })))));
5357
+ return !showLinks ? /* @__PURE__ */ React58.createElement(Container, { rounded: true }, /* @__PURE__ */ React58.createElement(ContentHeader, { title: "Start Streaming", content: "HLS", onBack }), /* @__PURE__ */ React58.createElement(ContentBody, { title: "HLS Streaming", Icon: GoLiveIcon2, removeVerticalPadding: true }, "Stream directly from the browser using any device with multiple hosts and real-time messaging, all within this platform."), isHLSRunning ? /* @__PURE__ */ React58.createElement(EndHLS, { setShowLinks }) : /* @__PURE__ */ React58.createElement(StartHLS, null)) : /* @__PURE__ */ React58.createElement(Container, { rounded: true }, /* @__PURE__ */ React58.createElement(ContentHeader, { title: "Invite People", content: "Start the conversation", onBack: () => setShowLinks(false) }), /* @__PURE__ */ React58.createElement(Flex, { direction: "column", css: { gap: "$10", p: "$0 $10", overflowY: "auto", mb: "$10" } }, cards.map((card) => /* @__PURE__ */ React58.createElement(Card, __spreadProps(__spreadValues({ key: card.title }, card), { isHLSRunning })))));
5267
5358
  };
5268
5359
  var StartHLS = () => {
5269
5360
  const [record, setRecord] = useState33(false);
@@ -5289,7 +5380,7 @@ var StartHLS = () => {
5289
5380
  }),
5290
5381
  [hmsActions, record, isHLSStarted, setHLSStarted]
5291
5382
  );
5292
- return /* @__PURE__ */ React56.createElement(Fragment9, null, /* @__PURE__ */ React56.createElement(RecordStream, { record, setRecord, testId: "hls-recording" }), /* @__PURE__ */ React56.createElement(Box, { css: { p: "$4 $10" } }, /* @__PURE__ */ React56.createElement(ErrorText, { error }), /* @__PURE__ */ React56.createElement(
5383
+ return /* @__PURE__ */ React58.createElement(Fragment9, null, /* @__PURE__ */ React58.createElement(RecordStream, { record, setRecord, testId: "hls-recording" }), /* @__PURE__ */ React58.createElement(Box, { css: { p: "$4 $10" } }, /* @__PURE__ */ React58.createElement(ErrorText, { error }), /* @__PURE__ */ React58.createElement(
5293
5384
  Button,
5294
5385
  {
5295
5386
  "data-testid": "start_hls",
@@ -5298,21 +5389,21 @@ var StartHLS = () => {
5298
5389
  onClick: () => startHLS(),
5299
5390
  disabled: isHLSStarted
5300
5391
  },
5301
- isHLSStarted ? /* @__PURE__ */ React56.createElement(Loading, { size: 24, color: "currentColor" }) : /* @__PURE__ */ React56.createElement(GoLiveIcon2, null),
5392
+ isHLSStarted ? /* @__PURE__ */ React58.createElement(Loading, { size: 24, color: "currentColor" }) : /* @__PURE__ */ React58.createElement(GoLiveIcon2, null),
5302
5393
  isHLSStarted ? "Starting stream..." : "Go Live"
5303
- )), /* @__PURE__ */ React56.createElement(Flex, { align: "center", css: { p: "$4 $10" } }, /* @__PURE__ */ React56.createElement(Text, null, /* @__PURE__ */ React56.createElement(InfoIcon4, { width: 16, height: 16 })), /* @__PURE__ */ React56.createElement(Text, { variant: "tiny", color: "$on_surface_medium", css: { mx: "$8" } }, "You cannot start recording once the stream starts, you will have to stop the stream to enable recording.")));
5394
+ )), /* @__PURE__ */ React58.createElement(Flex, { align: "center", css: { p: "$4 $10" } }, /* @__PURE__ */ React58.createElement(Text, null, /* @__PURE__ */ React58.createElement(InfoIcon4, { width: 16, height: 16 })), /* @__PURE__ */ React58.createElement(Text, { variant: "tiny", color: "$on_surface_medium", css: { mx: "$8" } }, "You cannot start recording once the stream starts, you will have to stop the stream to enable recording.")));
5304
5395
  };
5305
5396
  var EndHLS = ({ setShowLinks }) => {
5306
5397
  const hmsActions = useHMSActions20();
5307
5398
  const [inProgress, setInProgress] = useState33(false);
5308
5399
  const [error, setError] = useState33("");
5309
5400
  const { isHLSRunning } = useRecordingStreaming6();
5310
- useEffect22(() => {
5401
+ useEffect23(() => {
5311
5402
  if (inProgress && !isHLSRunning) {
5312
5403
  setInProgress(false);
5313
5404
  }
5314
5405
  }, [inProgress, isHLSRunning]);
5315
- return /* @__PURE__ */ React56.createElement(Box, { css: { p: "$4 $10" } }, /* @__PURE__ */ React56.createElement(ErrorText, { error }), /* @__PURE__ */ React56.createElement(
5406
+ return /* @__PURE__ */ React58.createElement(Box, { css: { p: "$4 $10" } }, /* @__PURE__ */ React58.createElement(ErrorText, { error }), /* @__PURE__ */ React58.createElement(
5316
5407
  Button,
5317
5408
  {
5318
5409
  "data-testid": "stop_hls",
@@ -5331,9 +5422,9 @@ var EndHLS = ({ setShowLinks }) => {
5331
5422
  }
5332
5423
  })
5333
5424
  },
5334
- /* @__PURE__ */ React56.createElement(EndStreamIcon2, null),
5425
+ /* @__PURE__ */ React58.createElement(EndStreamIcon2, null),
5335
5426
  "End Stream"
5336
- ), /* @__PURE__ */ React56.createElement(Button, { icon: true, css: { w: "100%", r: "$0", mt: "$8" }, onClick: () => setShowLinks(true) }, /* @__PURE__ */ React56.createElement(PeopleIcon3, null), " Invite People"));
5427
+ ), /* @__PURE__ */ React58.createElement(Button, { icon: true, css: { w: "100%", r: "$0", mt: "$8" }, onClick: () => setShowLinks(true) }, /* @__PURE__ */ React58.createElement(PeopleIcon3, null), " Invite People"));
5337
5428
  };
5338
5429
 
5339
5430
  // src/Prebuilt/components/Streaming/StreamingLanding.jsx
@@ -5347,7 +5438,7 @@ var StreamingLanding = () => {
5347
5438
  toggleStreaming();
5348
5439
  return null;
5349
5440
  }
5350
- return /* @__PURE__ */ React57.createElement(Fragment10, null, /* @__PURE__ */ React57.createElement(Flex, { css: { w: "100%", py: "$8" } }, /* @__PURE__ */ React57.createElement(
5441
+ return /* @__PURE__ */ React59.createElement(Fragment10, null, /* @__PURE__ */ React59.createElement(Flex, { css: { w: "100%", py: "$8" } }, /* @__PURE__ */ React59.createElement(
5351
5442
  Box,
5352
5443
  {
5353
5444
  css: {
@@ -5357,8 +5448,8 @@ var StreamingLanding = () => {
5357
5448
  r: "$round"
5358
5449
  }
5359
5450
  },
5360
- /* @__PURE__ */ React57.createElement(ColoredHandIcon, { width: 40, height: 40 })
5361
- ), /* @__PURE__ */ React57.createElement(Box, { css: { flex: "1 1 0", mx: "$8" } }, /* @__PURE__ */ React57.createElement(Text, { variant: "sm" }, "Welcome !"), /* @__PURE__ */ React57.createElement(Text, { variant: "h6" }, "Let\u2019s get you started")), /* @__PURE__ */ React57.createElement(IconButton_default, { onClick: toggleStreaming, css: { alignSelf: "flex-start" }, "data-testid": "close_streaming" }, /* @__PURE__ */ React57.createElement(CrossIcon8, null))), /* @__PURE__ */ React57.createElement(Text, { variant: "tiny", color: "$on_surface_medium" }, "Start Streaming"), (permissions == null ? void 0 : permissions.hlsStreaming) && /* @__PURE__ */ React57.createElement(
5451
+ /* @__PURE__ */ React59.createElement(ColoredHandIcon, { width: 40, height: 40 })
5452
+ ), /* @__PURE__ */ React59.createElement(Box, { css: { flex: "1 1 0", mx: "$8" } }, /* @__PURE__ */ React59.createElement(Text, { variant: "sm" }, "Welcome !"), /* @__PURE__ */ React59.createElement(Text, { variant: "h6" }, "Let\u2019s get you started")), /* @__PURE__ */ React59.createElement(IconButton_default, { onClick: toggleStreaming, css: { alignSelf: "flex-start" }, "data-testid": "close_streaming" }, /* @__PURE__ */ React59.createElement(CrossIcon8, null))), /* @__PURE__ */ React59.createElement(Text, { variant: "tiny", color: "$on_surface_medium" }, "Start Streaming"), (permissions == null ? void 0 : permissions.hlsStreaming) && /* @__PURE__ */ React59.createElement(
5362
5453
  StreamCard,
5363
5454
  {
5364
5455
  testId: "hls_stream",
@@ -5368,7 +5459,7 @@ var StreamingLanding = () => {
5368
5459
  onClick: () => setShowHLS(true),
5369
5460
  Icon: GoLiveIcon3
5370
5461
  }
5371
- ), (permissions == null ? void 0 : permissions.rtmpStreaming) && /* @__PURE__ */ React57.createElement(
5462
+ ), (permissions == null ? void 0 : permissions.rtmpStreaming) && /* @__PURE__ */ React59.createElement(
5372
5463
  StreamCard,
5373
5464
  {
5374
5465
  testId: "rtmp_stream",
@@ -5380,7 +5471,7 @@ var StreamingLanding = () => {
5380
5471
  },
5381
5472
  imgSrc: rtmp_default
5382
5473
  }
5383
- ), showHLS && /* @__PURE__ */ React57.createElement(HLSStreaming, { onBack: () => setShowHLS(false) }), showRTMP && /* @__PURE__ */ React57.createElement(RTMPStreaming, { onBack: () => setShowRTMP(false) }));
5474
+ ), showHLS && /* @__PURE__ */ React59.createElement(HLSStreaming, { onBack: () => setShowHLS(false) }), showRTMP && /* @__PURE__ */ React59.createElement(RTMPStreaming, { onBack: () => setShowRTMP(false) }));
5384
5475
  };
5385
5476
 
5386
5477
  // src/Prebuilt/layouts/SidePane.tsx
@@ -5390,16 +5481,16 @@ var SidePane = ({
5390
5481
  hideControls = false
5391
5482
  }) => {
5392
5483
  var _a, _b;
5393
- const isMobile = useMedia15(config.media.md);
5484
+ const isMobile = useMedia16(config.media.md);
5394
5485
  const sidepane = useHMSStore33(selectAppData3(APP_DATA.sidePane));
5395
5486
  const activeScreensharePeerId = useHMSStore33(selectAppData3(APP_DATA.activeScreensharePeerId));
5396
5487
  const trackId = (_a = useHMSStore33(selectVideoTrackByPeerID(activeScreensharePeerId))) == null ? void 0 : _a.id;
5397
5488
  const { elements } = useRoomLayoutConferencingScreen();
5398
5489
  let ViewComponent;
5399
5490
  if (sidepane === SIDE_PANE_OPTIONS.PARTICIPANTS || sidepane === SIDE_PANE_OPTIONS.CHAT) {
5400
- ViewComponent = /* @__PURE__ */ React58.createElement(SidePaneTabs, { screenType, hideControls, active: sidepane });
5491
+ ViewComponent = /* @__PURE__ */ React60.createElement(SidePaneTabs, { screenType, hideControls, active: sidepane });
5401
5492
  } else if (sidepane === SIDE_PANE_OPTIONS.STREAMING) {
5402
- ViewComponent = /* @__PURE__ */ React58.createElement(StreamingLanding, null);
5493
+ ViewComponent = /* @__PURE__ */ React60.createElement(StreamingLanding, null);
5403
5494
  }
5404
5495
  if (!ViewComponent && !trackId) {
5405
5496
  return null;
@@ -5412,7 +5503,7 @@ var SidePane = ({
5412
5503
  objectFit: tileProps == null ? void 0 : tileProps.video_object_fit
5413
5504
  };
5414
5505
  const mwebStreamingChat = isMobile && sidepane === SIDE_PANE_OPTIONS.CHAT && ((_b = elements == null ? void 0 : elements.chat) == null ? void 0 : _b.is_overlay);
5415
- return /* @__PURE__ */ React58.createElement(
5506
+ return /* @__PURE__ */ React60.createElement(
5416
5507
  Flex,
5417
5508
  {
5418
5509
  direction: "column",
@@ -5425,17 +5516,16 @@ var SidePane = ({
5425
5516
  "@md": { position: mwebStreamingChat ? "absolute" : "", zIndex: 12 }
5426
5517
  }
5427
5518
  },
5428
- trackId && /* @__PURE__ */ React58.createElement(
5519
+ trackId && /* @__PURE__ */ React60.createElement(
5429
5520
  VideoTile_default,
5430
5521
  __spreadValues({
5431
5522
  peerId: activeScreensharePeerId,
5432
5523
  trackId,
5433
- width: "100%",
5434
5524
  height: 225,
5435
5525
  rootCSS: { p: 0, alignSelf: "start", flexShrink: 0 }
5436
5526
  }, tileLayout)
5437
5527
  ),
5438
- !!ViewComponent && /* @__PURE__ */ React58.createElement(
5528
+ !!ViewComponent && /* @__PURE__ */ React60.createElement(
5439
5529
  Box,
5440
5530
  {
5441
5531
  css: {
@@ -5471,10 +5561,10 @@ var SidePane = ({
5471
5561
  var SidePane_default = SidePane;
5472
5562
 
5473
5563
  // src/Prebuilt/layouts/WaitingView.jsx
5474
- import React59 from "react";
5564
+ import React61 from "react";
5475
5565
  import { ColoredTimeIcon } from "@100mslive/react-icons";
5476
- var WaitingView = React59.memo(() => {
5477
- return /* @__PURE__ */ React59.createElement(
5566
+ var WaitingView = React61.memo(() => {
5567
+ return /* @__PURE__ */ React61.createElement(
5478
5568
  Box,
5479
5569
  {
5480
5570
  css: {
@@ -5488,7 +5578,7 @@ var WaitingView = React59.memo(() => {
5488
5578
  },
5489
5579
  "data-testid": "waiting_view"
5490
5580
  },
5491
- /* @__PURE__ */ React59.createElement(
5581
+ /* @__PURE__ */ React61.createElement(
5492
5582
  Flex,
5493
5583
  {
5494
5584
  align: "center",
@@ -5502,8 +5592,8 @@ var WaitingView = React59.memo(() => {
5502
5592
  gap: "$8"
5503
5593
  }
5504
5594
  },
5505
- /* @__PURE__ */ React59.createElement(ColoredTimeIcon, { width: "80px", height: "80px" }),
5506
- /* @__PURE__ */ React59.createElement(
5595
+ /* @__PURE__ */ React61.createElement(ColoredTimeIcon, { width: "80px", height: "80px" }),
5596
+ /* @__PURE__ */ React61.createElement(
5507
5597
  Flex,
5508
5598
  {
5509
5599
  direction: "column",
@@ -5513,28 +5603,28 @@ var WaitingView = React59.memo(() => {
5513
5603
  gap: "$4"
5514
5604
  }
5515
5605
  },
5516
- /* @__PURE__ */ React59.createElement(Text, { color: "white", variant: "h6", css: { "@md": { fontSize: "$md" } } }, "Please wait"),
5517
- /* @__PURE__ */ React59.createElement(Text, { color: "$on_surface_medium", css: { mt: "$4", "@md": { fontSize: "$sm" } } }, "Sit back and relax till others let you join.")
5606
+ /* @__PURE__ */ React61.createElement(Text, { color: "white", variant: "h6", css: { "@md": { fontSize: "$md" } } }, "Please wait"),
5607
+ /* @__PURE__ */ React61.createElement(Text, { color: "$on_surface_medium", css: { mt: "$4", "@md": { fontSize: "$sm" } } }, "Sit back and relax till others let you join.")
5518
5608
  )
5519
5609
  )
5520
5610
  );
5521
5611
  });
5522
5612
 
5523
5613
  // src/Prebuilt/layouts/VideoStreamingSection.tsx
5524
- var HLSView = React60.lazy(() => import("./HLSView-F5BDZVT2.js"));
5614
+ var HLSView = React62.lazy(() => import("./HLSView-3S74KF3A.js"));
5525
5615
  var VideoStreamingSection = ({
5526
5616
  screenType,
5527
5617
  elements,
5528
5618
  hideControls = false
5529
5619
  }) => {
5530
5620
  var _a, _b;
5531
- const localPeerRole = useHMSStore34(selectLocalPeerRoleName2);
5621
+ const localPeerRole = useHMSStore34(selectLocalPeerRoleName3);
5532
5622
  const isConnected = useHMSStore34(selectIsConnectedToRoom6);
5533
5623
  const hmsActions = useHMSActions21();
5534
5624
  const waitingViewerRole = useWaitingViewerRole();
5535
5625
  const urlToIframe = useUrlToEmbed();
5536
5626
  const pdfAnnotatorActive = usePDFAnnotator();
5537
- useEffect23(() => {
5627
+ useEffect24(() => {
5538
5628
  if (!isConnected) {
5539
5629
  return;
5540
5630
  }
@@ -5545,17 +5635,17 @@ var VideoStreamingSection = ({
5545
5635
  }
5546
5636
  let ViewComponent;
5547
5637
  if (screenType === "hls_live_streaming") {
5548
- ViewComponent = /* @__PURE__ */ React60.createElement(HLSView, null);
5638
+ ViewComponent = /* @__PURE__ */ React62.createElement(HLSView, null);
5549
5639
  } else if (localPeerRole === waitingViewerRole) {
5550
- ViewComponent = /* @__PURE__ */ React60.createElement(WaitingView, null);
5640
+ ViewComponent = /* @__PURE__ */ React62.createElement(WaitingView, null);
5551
5641
  } else if (pdfAnnotatorActive) {
5552
- ViewComponent = /* @__PURE__ */ React60.createElement(PDFView, null);
5642
+ ViewComponent = /* @__PURE__ */ React62.createElement(PDFView, null);
5553
5643
  } else if (urlToIframe) {
5554
- ViewComponent = /* @__PURE__ */ React60.createElement(EmbedView, null);
5644
+ ViewComponent = /* @__PURE__ */ React62.createElement(EmbedView, null);
5555
5645
  } else {
5556
- ViewComponent = /* @__PURE__ */ React60.createElement(GridLayout, __spreadValues({}, (_a = elements == null ? void 0 : elements.video_tile_layout) == null ? void 0 : _a.grid));
5646
+ ViewComponent = /* @__PURE__ */ React62.createElement(GridLayout, __spreadValues({}, (_a = elements == null ? void 0 : elements.video_tile_layout) == null ? void 0 : _a.grid));
5557
5647
  }
5558
- return /* @__PURE__ */ React60.createElement(Suspense2, { fallback: /* @__PURE__ */ React60.createElement(FullPageProgress_default, null) }, /* @__PURE__ */ React60.createElement(
5648
+ return /* @__PURE__ */ React62.createElement(Suspense2, { fallback: /* @__PURE__ */ React62.createElement(FullPageProgress_default, null) }, /* @__PURE__ */ React62.createElement(
5559
5649
  Flex,
5560
5650
  {
5561
5651
  css: {
@@ -5565,7 +5655,7 @@ var VideoStreamingSection = ({
5565
5655
  }
5566
5656
  },
5567
5657
  ViewComponent,
5568
- /* @__PURE__ */ React60.createElement(
5658
+ /* @__PURE__ */ React62.createElement(
5569
5659
  SidePane_default,
5570
5660
  {
5571
5661
  screenType,
@@ -5576,80 +5666,6 @@ var VideoStreamingSection = ({
5576
5666
  ));
5577
5667
  };
5578
5668
 
5579
- // src/Prebuilt/components/RoleChangeRequestModal.tsx
5580
- import React61, { useEffect as useEffect24 } from "react";
5581
- import {
5582
- selectLocalPeerName,
5583
- selectLocalPeerRoleName as selectLocalPeerRoleName3,
5584
- selectRoleChangeRequest,
5585
- useCustomEvent as useCustomEvent2,
5586
- useHMSActions as useHMSActions22,
5587
- useHMSStore as useHMSStore35
5588
- } from "@100mslive/react-sdk";
5589
- var RoleChangeRequestModal = () => {
5590
- const hmsActions = useHMSActions22();
5591
- const { updateMetaData } = useMyMetadata();
5592
- const currentRole = useHMSStore35(selectLocalPeerRoleName3);
5593
- const roleChangeRequest = useHMSStore35(selectRoleChangeRequest);
5594
- const name = useHMSStore35(selectLocalPeerName);
5595
- const { sendEvent } = useCustomEvent2({ type: ROLE_CHANGE_DECLINED });
5596
- useEffect24(() => {
5597
- if (!(roleChangeRequest == null ? void 0 : roleChangeRequest.role)) {
5598
- return;
5599
- }
5600
- (() => __async(void 0, null, function* () {
5601
- yield hmsActions.preview({ asRole: roleChangeRequest.role.name });
5602
- }))();
5603
- }, [hmsActions, roleChangeRequest, currentRole, updateMetaData]);
5604
- if (!(roleChangeRequest == null ? void 0 : roleChangeRequest.role)) {
5605
- return null;
5606
- }
5607
- const body = /* @__PURE__ */ React61.createElement(React61.Fragment, null, /* @__PURE__ */ React61.createElement(Text, { css: { fontWeight: 400, c: "$on_surface_medium", textAlign: "center" } }, "Setup your audio and video before joining"), /* @__PURE__ */ React61.createElement(
5608
- Flex,
5609
- {
5610
- align: "center",
5611
- justify: "center",
5612
- css: {
5613
- "@sm": { width: "100%" },
5614
- flexDirection: "column",
5615
- mt: "$6"
5616
- }
5617
- },
5618
- /* @__PURE__ */ React61.createElement(PreviewTile, { name: name || "" }),
5619
- /* @__PURE__ */ React61.createElement(PreviewControls, { hideSettings: true })
5620
- ));
5621
- return /* @__PURE__ */ React61.createElement(
5622
- RequestDialog,
5623
- {
5624
- title: `You're invited to join the ${roleChangeRequest.role.name} role`,
5625
- onOpenChange: (value) => __async(void 0, null, function* () {
5626
- var _a;
5627
- if (!value) {
5628
- yield hmsActions.rejectChangeRole(roleChangeRequest);
5629
- sendEvent(__spreadProps(__spreadValues({}, roleChangeRequest), { peerName: name }), { peerId: (_a = roleChangeRequest.requestedBy) == null ? void 0 : _a.id });
5630
- yield hmsActions.cancelMidCallPreview();
5631
- yield hmsActions.lowerLocalPeerHand();
5632
- }
5633
- }),
5634
- body,
5635
- onAction: () => __async(void 0, null, function* () {
5636
- yield hmsActions.acceptChangeRole(roleChangeRequest);
5637
- yield updateMetaData({ prevRole: currentRole });
5638
- yield hmsActions.lowerLocalPeerHand();
5639
- }),
5640
- actionText: "Accept"
5641
- }
5642
- );
5643
- };
5644
- var RequestDialog = ({
5645
- open = true,
5646
- onOpenChange,
5647
- title,
5648
- body,
5649
- actionText = "Accept",
5650
- onAction
5651
- }) => /* @__PURE__ */ React61.createElement(Dialog.Root, { open, onOpenChange }, /* @__PURE__ */ React61.createElement(Dialog.Portal, null, /* @__PURE__ */ React61.createElement(Dialog.Overlay, null), /* @__PURE__ */ React61.createElement(Dialog.Content, { css: { p: "$10" } }, /* @__PURE__ */ React61.createElement(Dialog.Title, { css: { p: 0, display: "flex", flexDirection: "row", gap: "$md", justifyContent: "center" } }, /* @__PURE__ */ React61.createElement(Text, { variant: "h6" }, title)), /* @__PURE__ */ React61.createElement(Box, { css: { mt: "$4", mb: "$10" } }, body), /* @__PURE__ */ React61.createElement(Flex, { justify: "center", align: "center", css: { width: "100%", gap: "$md" } }, /* @__PURE__ */ React61.createElement(Box, { css: { width: "50%" } }, /* @__PURE__ */ React61.createElement(Dialog.Close, { css: { width: "100%" } }, /* @__PURE__ */ React61.createElement(Button, { variant: "standard", outlined: true, css: { width: "100%" } }, "Cancel"))), /* @__PURE__ */ React61.createElement(Box, { css: { width: "50%" } }, /* @__PURE__ */ React61.createElement(Button, { variant: "primary", css: { width: "100%" }, onClick: onAction }, actionText))))));
5652
-
5653
5669
  // src/Prebuilt/components/conference.jsx
5654
5670
  var Conference = () => {
5655
5671
  var _a, _b, _c, _d, _e;
@@ -5658,12 +5674,12 @@ var Conference = () => {
5658
5674
  const { userName, endpoints } = useHMSPrebuiltContext();
5659
5675
  const screenProps = useRoomLayoutConferencingScreen();
5660
5676
  const { isPreviewScreenEnabled } = useRoomLayoutPreviewScreen();
5661
- const roomState = useHMSStore36(selectRoomState);
5677
+ const roomState = useHMSStore35(selectRoomState);
5662
5678
  const prevState = usePrevious(roomState);
5663
- const isConnectedToRoom = useHMSStore36(selectIsConnectedToRoom7);
5664
- const hmsActions = useHMSActions23();
5679
+ const isConnectedToRoom = useHMSStore35(selectIsConnectedToRoom7);
5680
+ const hmsActions = useHMSActions22();
5665
5681
  const [hideControls, setHideControls] = useState35(false);
5666
- const dropdownList = useHMSStore36(selectAppData4(APP_DATA.dropdownList));
5682
+ const dropdownList = useHMSStore35(selectAppData4(APP_DATA.dropdownList));
5667
5683
  const authTokenInAppData = useAuthToken();
5668
5684
  const headerRef = useRef14();
5669
5685
  const footerRef = useRef14();
@@ -5728,9 +5744,9 @@ var Conference = () => {
5728
5744
  };
5729
5745
  }, []);
5730
5746
  if (!isConnectedToRoom) {
5731
- return /* @__PURE__ */ React62.createElement(FullPageProgress_default, { text: "Joining..." });
5747
+ return /* @__PURE__ */ React63.createElement(FullPageProgress_default, { text: "Joining..." });
5732
5748
  }
5733
- return /* @__PURE__ */ React62.createElement(React62.Fragment, null, isHLSStarted ? /* @__PURE__ */ React62.createElement(Box, { css: { position: "fixed", zIndex: 100, w: "100%", h: "100%", left: 0, top: 0 } }, /* @__PURE__ */ React62.createElement(FullPageProgress_default, { text: "Starting live stream...", css: { opacity: 0.8, bg: "$background_dim" } })) : null, /* @__PURE__ */ React62.createElement(Flex, { css: { size: "100%", overflow: "hidden" }, direction: "column" }, !screenProps.hideSections.includes("header") && /* @__PURE__ */ React62.createElement(
5749
+ return /* @__PURE__ */ React63.createElement(React63.Fragment, null, isHLSStarted ? /* @__PURE__ */ React63.createElement(Box, { css: { position: "fixed", zIndex: 100, w: "100%", h: "100%", left: 0, top: 0 } }, /* @__PURE__ */ React63.createElement(FullPageProgress_default, { text: "Starting live stream...", css: { opacity: 0.8, bg: "$background_dim" } })) : null, /* @__PURE__ */ React63.createElement(Flex, { css: { size: "100%", overflow: "hidden" }, direction: "column" }, !screenProps.hideSections.includes("header") && /* @__PURE__ */ React63.createElement(
5734
5750
  Box,
5735
5751
  {
5736
5752
  ref: headerRef,
@@ -5744,8 +5760,8 @@ var Conference = () => {
5744
5760
  },
5745
5761
  "data-testid": "header"
5746
5762
  },
5747
- /* @__PURE__ */ React62.createElement(Header, { elements: screenProps.elements, screenType: screenProps.screenType })
5748
- ), /* @__PURE__ */ React62.createElement(
5763
+ /* @__PURE__ */ React63.createElement(Header, { elements: screenProps.elements, screenType: screenProps.screenType })
5764
+ ), /* @__PURE__ */ React63.createElement(
5749
5765
  Box,
5750
5766
  {
5751
5767
  css: {
@@ -5763,7 +5779,7 @@ var Conference = () => {
5763
5779
  "data-testid": "conferencing",
5764
5780
  onClick: toggleControls
5765
5781
  },
5766
- /* @__PURE__ */ React62.createElement(
5782
+ /* @__PURE__ */ React63.createElement(
5767
5783
  VideoStreamingSection,
5768
5784
  {
5769
5785
  screenType: screenProps.screenType,
@@ -5771,7 +5787,7 @@ var Conference = () => {
5771
5787
  hideControls
5772
5788
  }
5773
5789
  )
5774
- ), !screenProps.hideSections.includes("footer") && /* @__PURE__ */ React62.createElement(
5790
+ ), !screenProps.hideSections.includes("footer") && /* @__PURE__ */ React63.createElement(
5775
5791
  Box,
5776
5792
  {
5777
5793
  ref: footerRef,
@@ -5788,11 +5804,11 @@ var Conference = () => {
5788
5804
  },
5789
5805
  "data-testid": "footer"
5790
5806
  },
5791
- /* @__PURE__ */ React62.createElement(Footer2, { elements: screenProps.elements, screenType: screenProps.screenType })
5792
- ), /* @__PURE__ */ React62.createElement(RoleChangeRequestModal, null), /* @__PURE__ */ React62.createElement(HLSFailureModal, null), /* @__PURE__ */ React62.createElement(ActivatedPIP, null)));
5807
+ /* @__PURE__ */ React63.createElement(Footer2, { elements: screenProps.elements, screenType: screenProps.screenType })
5808
+ ), /* @__PURE__ */ React63.createElement(RoleChangeRequestModal, null), /* @__PURE__ */ React63.createElement(HLSFailureModal, null), /* @__PURE__ */ React63.createElement(ActivatedPIP, null)));
5793
5809
  };
5794
5810
  var conference_default = Conference;
5795
5811
  export {
5796
5812
  conference_default as default
5797
5813
  };
5798
- //# sourceMappingURL=conference-6IVZHILI.js.map
5814
+ //# sourceMappingURL=conference-JNABIZBG.js.map