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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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