@100mslive/roomkit-react 0.1.6 → 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 (51) hide show
  1. package/dist/{HLSView-4NSE37G7.js → HLSView-3S74KF3A.js} +23 -4
  2. package/dist/HLSView-3S74KF3A.js.map +7 -0
  3. package/dist/Prebuilt/components/RoleChangeRequest/RequestPrompt.d.ts +9 -0
  4. package/dist/VideoTile/StyledVideoTile.d.ts +445 -3
  5. package/dist/{VirtualBackground-A5UM363O.js → VirtualBackground-3TI5NA4V.js} +3 -3
  6. package/dist/{chunk-BUWIMYLW.js → chunk-36X4ZCLC.js} +2 -2
  7. package/dist/{chunk-NMOZ33TX.js → chunk-5DQ3WTED.js} +3 -2
  8. package/dist/{chunk-NMOZ33TX.js.map → chunk-5DQ3WTED.js.map} +2 -2
  9. package/dist/{chunk-Q6U22HIE.js → chunk-Z7P5WITU.js} +223 -200
  10. package/dist/chunk-Z7P5WITU.js.map +7 -0
  11. package/dist/{conference-S7R3O4OC.js → conference-JNABIZBG.js} +534 -504
  12. package/dist/conference-JNABIZBG.js.map +7 -0
  13. package/dist/index.cjs.js +1011 -924
  14. package/dist/index.cjs.js.map +4 -4
  15. package/dist/index.js +2 -2
  16. package/dist/meta.cjs.json +241 -167
  17. package/dist/meta.esbuild.json +276 -203
  18. package/package.json +6 -6
  19. package/src/Input/Input.tsx +1 -1
  20. package/src/Prebuilt/common/hooks.js +1 -2
  21. package/src/Prebuilt/common/utils.js +7 -2
  22. package/src/Prebuilt/components/Chat/ChatBody.jsx +125 -106
  23. package/src/Prebuilt/components/Chat/ChatFooter.tsx +1 -0
  24. package/src/Prebuilt/components/Footer/Footer.tsx +4 -1
  25. package/src/Prebuilt/components/Footer/ParticipantList.jsx +8 -9
  26. package/src/Prebuilt/components/Header/ParticipantFilter.jsx +9 -12
  27. package/src/Prebuilt/components/Leave/DesktopLeaveRoom.tsx +36 -44
  28. package/src/Prebuilt/components/Leave/MwebLeaveRoom.tsx +23 -35
  29. package/src/Prebuilt/components/MoreSettings/SplitComponents/MwebOptions.tsx +4 -2
  30. package/src/Prebuilt/components/Notifications/Notifications.jsx +14 -1
  31. package/src/Prebuilt/components/Notifications/PeerNotifications.jsx +4 -15
  32. package/src/Prebuilt/components/Preview/PreviewJoin.tsx +12 -5
  33. package/src/Prebuilt/components/RaiseHand.jsx +3 -6
  34. package/src/Prebuilt/components/RoleChangeRequest/RequestPrompt.tsx +66 -0
  35. package/src/Prebuilt/components/RoleChangeRequest/RoleChangeRequestModal.tsx +89 -0
  36. package/src/Prebuilt/components/SidePaneTabs.tsx +21 -2
  37. package/src/Prebuilt/components/VideoTile.jsx +24 -15
  38. package/src/Prebuilt/components/conference.jsx +1 -1
  39. package/src/Prebuilt/components/hooks/useMetadata.jsx +15 -4
  40. package/src/Prebuilt/layouts/HLSView.jsx +20 -1
  41. package/src/Prebuilt/layouts/SidePane.tsx +0 -1
  42. package/src/Tooltip/Tooltip.tsx +1 -1
  43. package/src/VideoTile/StyledVideoTile.tsx +10 -14
  44. package/src/fixtures/peers.ts +5 -3
  45. package/dist/HLSView-4NSE37G7.js.map +0 -7
  46. package/dist/chunk-Q6U22HIE.js.map +0 -7
  47. package/dist/conference-S7R3O4OC.js.map +0 -7
  48. package/src/Prebuilt/components/RoleChangeRequestModal.tsx +0 -120
  49. /package/dist/Prebuilt/components/{RoleChangeRequestModal.d.ts → RoleChangeRequest/RoleChangeRequestModal.d.ts} +0 -0
  50. /package/dist/{VirtualBackground-A5UM363O.js.map → VirtualBackground-3TI5NA4V.js.map} +0 -0
  51. /package/dist/{chunk-BUWIMYLW.js.map → chunk-36X4ZCLC.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ActionTile
3
- } from "./chunk-BUWIMYLW.js";
3
+ } from "./chunk-36X4ZCLC.js";
4
4
  import {
5
5
  APP_DATA,
6
6
  Accordion,
@@ -58,7 +58,6 @@ import {
58
58
  isChrome,
59
59
  isIOS,
60
60
  isIPadOS,
61
- isInternalRole,
62
61
  isMacOS,
63
62
  isScreenshareSupported,
64
63
  useAuthToken,
@@ -84,7 +83,7 @@ import {
84
83
  useUrlToEmbed,
85
84
  useUserPreferences,
86
85
  useWaitingViewerRole
87
- } from "./chunk-Q6U22HIE.js";
86
+ } from "./chunk-Z7P5WITU.js";
88
87
  import {
89
88
  Box,
90
89
  Flex,
@@ -103,10 +102,10 @@ import {
103
102
  slideLeftAndFade,
104
103
  styled,
105
104
  textEllipsis
106
- } from "./chunk-NMOZ33TX.js";
105
+ } from "./chunk-5DQ3WTED.js";
107
106
 
108
107
  // src/Prebuilt/components/conference.jsx
109
- 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";
110
109
  import { useNavigate, useParams } from "react-router-dom";
111
110
  import { usePrevious } from "react-use";
112
111
  import {
@@ -115,13 +114,14 @@ import {
115
114
  selectIsConnectedToRoom as selectIsConnectedToRoom7,
116
115
  selectRoomState,
117
116
  useHMSActions as useHMSActions22,
118
- useHMSStore as useHMSStore36
117
+ useHMSStore as useHMSStore35
119
118
  } from "@100mslive/react-sdk";
120
119
 
121
120
  // src/Prebuilt/components/Footer/Footer.tsx
122
121
  import React36, { Suspense, useEffect as useEffect6 } from "react";
123
122
  import { useMedia as useMedia5 } from "react-use";
124
123
  import { Chat_ChatState } from "@100mslive/types-prebuilt/elements/chat";
124
+ import { useAVToggle as useAVToggle2 } from "@100mslive/react-sdk";
125
125
 
126
126
  // src/Prebuilt/components/EmojiReaction.jsx
127
127
  import React2, { Fragment, useState } from "react";
@@ -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
@@ -1881,6 +1863,7 @@ import {
1881
1863
  selectIsConnectedToRoom as selectIsConnectedToRoom5,
1882
1864
  selectPeerCount,
1883
1865
  selectPermissions as selectPermissions6,
1866
+ useAVToggle,
1884
1867
  useHMSActions as useHMSActions9,
1885
1868
  useHMSStore as useHMSStore11,
1886
1869
  useRecordingStreaming as useRecordingStreaming5
@@ -1925,6 +1908,8 @@ var MwebOptions = ({
1925
1908
  const peerCount = useHMSStore11(selectPeerCount);
1926
1909
  const emojiCardRef = useRef5(null);
1927
1910
  const { isBRBOn, toggleBRB, isHandRaised, toggleHandRaise } = useMyMetadata();
1911
+ const { toggleAudio, toggleVideo } = useAVToggle();
1912
+ const noAVPermissions = !(toggleAudio || toggleVideo);
1928
1913
  useDropdownList({ open: openModals.size > 0 || openOptionsSheet || openSettingsSheet, name: "MoreSettings" });
1929
1914
  const updateState = (modalName, value) => {
1930
1915
  setOpenModals((modals) => {
@@ -1981,7 +1966,7 @@ var MwebOptions = ({
1981
1966
  /* @__PURE__ */ React22.createElement(PeopleIcon, null),
1982
1967
  /* @__PURE__ */ React22.createElement(ActionTile.Title, null, "Participants")
1983
1968
  ),
1984
- screenType !== "hls_live_streaming" ? /* @__PURE__ */ React22.createElement(
1969
+ !noAVPermissions ? /* @__PURE__ */ React22.createElement(
1985
1970
  ActionTile.Root,
1986
1971
  {
1987
1972
  active: isHandRaised,
@@ -2079,7 +2064,6 @@ var MwebOptions = ({
2079
2064
  ), showEmojiCard && /* @__PURE__ */ React22.createElement(
2080
2065
  Box,
2081
2066
  {
2082
- onClick: () => setShowEmojiCard(false),
2083
2067
  ref: emojiCardRef,
2084
2068
  css: {
2085
2069
  maxWidth: "100%",
@@ -2128,19 +2112,17 @@ var MoreSettings = ({
2128
2112
 
2129
2113
  // src/Prebuilt/components/RaiseHand.jsx
2130
2114
  import React24 from "react";
2131
- import { selectLocalPeer, selectPeerMetadata, useHMSStore as useHMSStore12 } from "@100mslive/react-sdk";
2132
2115
  import { HandIcon as HandIcon2 } from "@100mslive/react-icons";
2133
2116
  var RaiseHand = () => {
2134
- var _a;
2135
- const { toggleHandRaise } = useMyMetadata();
2136
- const localPeer = useHMSStore12(selectLocalPeer);
2137
- const isHandRaised = ((_a = useHMSStore12(selectPeerMetadata(localPeer.id))) == null ? void 0 : _a.isHandRaised) || false;
2138
- return /* @__PURE__ */ React24.createElement(Tooltip, { title: isHandRaised ? "Lower hand" : "Raise hand" }, /* @__PURE__ */ React24.createElement(IconButton_default, { active: !isHandRaised, onClick: toggleHandRaise }, /* @__PURE__ */ React24.createElement(HandIcon2, null)));
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)));
2139
2121
  };
2140
2122
 
2141
2123
  // src/Prebuilt/components/ScreenShareToggle.jsx
2142
2124
  import React31, { Fragment as Fragment6 } from "react";
2143
- 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";
2144
2126
  import { ShareScreenIcon } from "@100mslive/react-icons";
2145
2127
 
2146
2128
  // src/Prebuilt/components/pdfAnnotator/shareScreenOptions.jsx
@@ -2622,7 +2604,7 @@ function ShareScreenOptions() {
2622
2604
 
2623
2605
  // src/Prebuilt/components/ScreenShareToggle.jsx
2624
2606
  var ScreenshareToggle = ({ css = {} }) => {
2625
- const isAllowedToPublish = useHMSStore13(selectIsAllowedToPublish);
2607
+ const isAllowedToPublish = useHMSStore12(selectIsAllowedToPublish);
2626
2608
  const isAudioOnly = useUISettings(UI_SETTINGS.isAudioOnly);
2627
2609
  const { amIScreenSharing, screenShareVideoTrackId: video, toggleScreenShare } = useScreenShare2();
2628
2610
  const isVideoScreenshare = amIScreenSharing && !!video;
@@ -2647,10 +2629,10 @@ var ScreenshareToggle = ({ css = {} }) => {
2647
2629
 
2648
2630
  // src/Prebuilt/components/Footer/ChatToggle.tsx
2649
2631
  import React32 from "react";
2650
- import { selectUnreadHMSMessagesCount, useHMSStore as useHMSStore14 } from "@100mslive/react-sdk";
2632
+ import { selectUnreadHMSMessagesCount, useHMSStore as useHMSStore13 } from "@100mslive/react-sdk";
2651
2633
  import { ChatIcon, ChatUnreadIcon } from "@100mslive/react-icons";
2652
2634
  var ChatToggle = () => {
2653
- const countUnreadMessages = useHMSStore14(selectUnreadHMSMessagesCount);
2635
+ const countUnreadMessages = useHMSStore13(selectUnreadHMSMessagesCount);
2654
2636
  const isChatOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.CHAT);
2655
2637
  const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);
2656
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" })));
@@ -2660,14 +2642,15 @@ var ChatToggle = () => {
2660
2642
  import React35, { Fragment as Fragment7, useCallback as useCallback6, useEffect as useEffect5, useState as useState18 } from "react";
2661
2643
  import { useDebounce, useMedia as useMedia4 } from "react-use";
2662
2644
  import {
2645
+ selectHandRaisedPeers,
2646
+ selectHasPeerHandRaised,
2663
2647
  selectIsPeerAudioEnabled,
2664
2648
  selectLocalPeerID as selectLocalPeerID4,
2665
2649
  selectPeerCount as selectPeerCount2,
2666
- selectPeerMetadata as selectPeerMetadata2,
2667
- selectPeersByCondition as selectPeersByCondition2,
2650
+ selectPeerMetadata,
2668
2651
  selectPermissions as selectPermissions8,
2669
2652
  useHMSActions as useHMSActions11,
2670
- useHMSStore as useHMSStore16
2653
+ useHMSStore as useHMSStore15
2671
2654
  } from "@100mslive/react-sdk";
2672
2655
  import {
2673
2656
  ChangeRoleIcon as ChangeRoleIcon2,
@@ -2686,7 +2669,7 @@ import { FixedSizeList } from "react-window";
2686
2669
 
2687
2670
  // src/Prebuilt/components/Footer/RoleOptions.tsx
2688
2671
  import React33, { useState as useState17 } from "react";
2689
- import { selectPermissions as selectPermissions7, useHMSActions as useHMSActions10, 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";
2690
2673
  import {
2691
2674
  MicOffIcon as MicOffIcon2,
2692
2675
  MicOnIcon,
@@ -2700,7 +2683,7 @@ var dropdownItemCSS = { backgroundColor: "$surface_default", gap: "$4", p: "$8"
2700
2683
  var optionTextCSS = { fontWeight: "$semiBold", color: "$on_surface_high", textTransform: "none" };
2701
2684
  var RoleOptions = ({ roleName, peerList }) => {
2702
2685
  const [openOptions, setOpenOptions] = useState17(false);
2703
- const permissions = useHMSStore15(selectPermissions7);
2686
+ const permissions = useHMSStore14(selectPermissions7);
2704
2687
  const hmsActions = useHMSActions10();
2705
2688
  const { elements } = useRoomLayoutConferencingScreen();
2706
2689
  const { on_stage_role, off_stage_roles = [] } = (elements == null ? void 0 : elements.on_stage_exp) || {};
@@ -2873,10 +2856,7 @@ var ParticipantList = () => {
2873
2856
  const [filter, setFilter] = useState18();
2874
2857
  const { participants, isConnected, peerCount } = useParticipants(filter);
2875
2858
  const peersOrderedByRoles = {};
2876
- const handRaisedPeers = useHMSStore16(selectPeersByCondition2((peer) => {
2877
- var _a;
2878
- return (_a = JSON.parse(peer.metadata || "{}")) == null ? void 0 : _a.isHandRaised;
2879
- }));
2859
+ const handRaisedPeers = useHMSStore15(selectHandRaisedPeers);
2880
2860
  participants.forEach((participant) => {
2881
2861
  if (peersOrderedByRoles[participant.roleName] === void 0) {
2882
2862
  peersOrderedByRoles[participant.roleName] = [];
@@ -2906,7 +2886,7 @@ var ParticipantList = () => {
2906
2886
  )));
2907
2887
  };
2908
2888
  var ParticipantCount = () => {
2909
- const peerCount = useHMSStore16(selectPeerCount2);
2889
+ const peerCount = useHMSStore15(selectPeerCount2);
2910
2890
  const toggleSidepane = useSidepaneToggle(SIDE_PANE_OPTIONS.PARTICIPANTS);
2911
2891
  const isParticipantsOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.PARTICIPANTS);
2912
2892
  useEffect5(() => {
@@ -2934,7 +2914,7 @@ var ParticipantCount = () => {
2934
2914
  "data-testid": "participant_list"
2935
2915
  },
2936
2916
  /* @__PURE__ */ React35.createElement(PeopleIcon2, null),
2937
- /* @__PURE__ */ React35.createElement(Text, { variant: "sm", css: { mx: "$4", c: "inherit" } }, peerCount)
2917
+ /* @__PURE__ */ React35.createElement(Text, { variant: "sm", css: { mx: "$4", c: "inherit" } }, getFormattedCount(peerCount))
2938
2918
  );
2939
2919
  };
2940
2920
  var VirtualizedParticipants = ({ peersOrderedByRoles = {}, isConnected, filter, handRaisedList = [] }) => {
@@ -2974,7 +2954,7 @@ var VirtualizedParticipants = ({ peersOrderedByRoles = {}, isConnected, filter,
2974
2954
  );
2975
2955
  };
2976
2956
  var Participant = ({ peer, isConnected }) => {
2977
- const localPeerId = useHMSStore16(selectLocalPeerID4);
2957
+ const localPeerId = useHMSStore15(selectLocalPeerID4);
2978
2958
  return /* @__PURE__ */ React35.createElement(
2979
2959
  Flex,
2980
2960
  {
@@ -2995,11 +2975,11 @@ var Participant = ({ peer, isConnected }) => {
2995
2975
  );
2996
2976
  };
2997
2977
  var ParticipantActions = React35.memo(({ peerId, role, isLocal }) => {
2998
- var _a, _b;
2999
- const isHandRaised = (_a = useHMSStore16(selectPeerMetadata2(peerId))) == null ? void 0 : _a.isHandRaised;
3000
- const canChangeRole = (_b = useHMSStore16(selectPermissions8)) == null ? void 0 : _b.changeRole;
2978
+ var _a;
2979
+ const isHandRaised = useHMSStore15(selectHasPeerHandRaised(peerId));
2980
+ const canChangeRole = (_a = useHMSStore15(selectPermissions8)) == null ? void 0 : _a.changeRole;
3001
2981
  const shouldShowMoreActions = canChangeRole;
3002
- const isAudioMuted = !useHMSStore16(selectIsPeerAudioEnabled(peerId));
2982
+ const isAudioMuted = !useHMSStore15(selectIsPeerAudioEnabled(peerId));
3003
2983
  return /* @__PURE__ */ React35.createElement(
3004
2984
  Flex,
3005
2985
  {
@@ -3028,13 +3008,13 @@ var ParticipantActions = React35.memo(({ peerId, role, isLocal }) => {
3028
3008
  },
3029
3009
  /* @__PURE__ */ React35.createElement(MicOffIcon3, { height: 19, width: 19 })
3030
3010
  ) : null,
3031
- shouldShowMoreActions && !isInternalRole(role) && !isLocal ? /* @__PURE__ */ React35.createElement(ParticipantMoreActions, { peerId, role }) : null
3011
+ shouldShowMoreActions && !isLocal ? /* @__PURE__ */ React35.createElement(ParticipantMoreActions, { peerId, role }) : null
3032
3012
  );
3033
3013
  });
3034
3014
  var ParticipantMoreActions = ({ peerId, role }) => {
3035
3015
  var _a;
3036
3016
  const hmsActions = useHMSActions11();
3037
- const { changeRole: canChangeRole, removeOthers: canRemoveOthers } = useHMSStore16(selectPermissions8);
3017
+ const { changeRole: canChangeRole, removeOthers: canRemoveOthers } = useHMSStore15(selectPermissions8);
3038
3018
  const { elements } = useRoomLayoutConferencingScreen();
3039
3019
  const {
3040
3020
  bring_to_stage_label,
@@ -3044,8 +3024,8 @@ var ParticipantMoreActions = ({ peerId, role }) => {
3044
3024
  } = elements.on_stage_exp || {};
3045
3025
  const isInStage = role === on_stage_role;
3046
3026
  const shouldShowStageRoleChange = canChangeRole && (isInStage && remove_from_stage_label || (off_stage_roles == null ? void 0 : off_stage_roles.includes(role)) && bring_to_stage_label);
3047
- const prevRole = (_a = useHMSStore16(selectPeerMetadata2(peerId))) == null ? void 0 : _a.prevRole;
3048
- const localPeerId = useHMSStore16(selectLocalPeerID4);
3027
+ const prevRole = (_a = useHMSStore15(selectPeerMetadata(peerId))) == null ? void 0 : _a.prevRole;
3028
+ const localPeerId = useHMSStore15(selectLocalPeerID4);
3049
3029
  const isLocal = localPeerId === peerId;
3050
3030
  const [open, setOpen] = useState18(false);
3051
3031
  const handleStageAction = () => __async(void 0, null, function* () {
@@ -3121,7 +3101,7 @@ var ParticipantSearch = ({ onSearch, placeholder, inSidePane = false }) => {
3121
3101
  {
3122
3102
  type: "text",
3123
3103
  placeholder: placeholder || "Search for participants",
3124
- 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" },
3125
3105
  value,
3126
3106
  onKeyDown: (event) => {
3127
3107
  event.stopPropagation();
@@ -3137,7 +3117,7 @@ var ParticipantSearch = ({ onSearch, placeholder, inSidePane = false }) => {
3137
3117
  };
3138
3118
 
3139
3119
  // src/Prebuilt/components/Footer/Footer.tsx
3140
- var VirtualBackground = React36.lazy(() => import("./VirtualBackground-A5UM363O.js"));
3120
+ var VirtualBackground = React36.lazy(() => import("./VirtualBackground-3TI5NA4V.js"));
3141
3121
  var Footer2 = ({
3142
3122
  screenType,
3143
3123
  elements
@@ -3146,6 +3126,8 @@ var Footer2 = ({
3146
3126
  const isMobile = useMedia5(config.media.md);
3147
3127
  const isOverlayChat = !!((_a = elements == null ? void 0 : elements.chat) == null ? void 0 : _a.is_overlay);
3148
3128
  const openByDefault = ((_b = elements == null ? void 0 : elements.chat) == null ? void 0 : _b.initial_state) === Chat_ChatState.CHAT_STATE_OPEN;
3129
+ const { toggleAudio, toggleVideo } = useAVToggle2();
3130
+ const noAVPermissions = !(toggleAudio || toggleVideo);
3149
3131
  const isChatOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.CHAT);
3150
3132
  const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);
3151
3133
  useEffect6(() => {
@@ -3192,7 +3174,7 @@ var Footer2 = ({
3192
3174
  }
3193
3175
  }
3194
3176
  },
3195
- isMobile ? /* @__PURE__ */ React36.createElement(React36.Fragment, null, screenType === "hls_live_streaming" ? /* @__PURE__ */ React36.createElement(RaiseHand, null) : null, (elements == null ? void 0 : elements.chat) && /* @__PURE__ */ React36.createElement(ChatToggle, null), /* @__PURE__ */ React36.createElement(MoreSettings, { elements, screenType })) : /* @__PURE__ */ React36.createElement(React36.Fragment, null, /* @__PURE__ */ React36.createElement(ScreenshareToggle, null), /* @__PURE__ */ React36.createElement(RaiseHand, null), (elements == null ? void 0 : elements.emoji_reactions) && /* @__PURE__ */ React36.createElement(EmojiReaction, null), /* @__PURE__ */ React36.createElement(LeaveRoom, { screenType }))
3177
+ isMobile ? /* @__PURE__ */ React36.createElement(React36.Fragment, null, noAVPermissions ? /* @__PURE__ */ React36.createElement(RaiseHand, null) : null, (elements == null ? void 0 : elements.chat) && /* @__PURE__ */ React36.createElement(ChatToggle, null), /* @__PURE__ */ React36.createElement(MoreSettings, { elements, screenType })) : /* @__PURE__ */ React36.createElement(React36.Fragment, null, /* @__PURE__ */ React36.createElement(ScreenshareToggle, null), /* @__PURE__ */ React36.createElement(RaiseHand, null), (elements == null ? void 0 : elements.emoji_reactions) && /* @__PURE__ */ React36.createElement(EmojiReaction, null), /* @__PURE__ */ React36.createElement(LeaveRoom, { screenType }))
3196
3178
  ),
3197
3179
  /* @__PURE__ */ React36.createElement(Footer.Right, null, !isMobile && (elements == null ? void 0 : elements.chat) && /* @__PURE__ */ React36.createElement(ChatToggle, null), (elements == null ? void 0 : elements.participant_list) && /* @__PURE__ */ React36.createElement(ParticipantCount, null), /* @__PURE__ */ React36.createElement(MoreSettings, { elements, screenType }))
3198
3180
  );
@@ -3200,9 +3182,9 @@ var Footer2 = ({
3200
3182
 
3201
3183
  // src/Prebuilt/components/Notifications/HLSFailureModal.jsx
3202
3184
  import React37, { useCallback as useCallback7, useState as useState19 } from "react";
3203
- import { selectHLSState as selectHLSState2, useHMSActions as useHMSActions12, useHMSStore as useHMSStore17 } from "@100mslive/react-sdk";
3185
+ import { selectHLSState as selectHLSState2, useHMSActions as useHMSActions12, useHMSStore as useHMSStore16 } from "@100mslive/react-sdk";
3204
3186
  function HLSFailureModal() {
3205
- const { hlsError } = useHMSStore17(selectHLSState2).error || false;
3187
+ const { hlsError } = useHMSStore16(selectHLSState2).error || false;
3206
3188
  const [openModal, setOpenModal] = useState19(!!hlsError);
3207
3189
  const hmsActions = useHMSActions12();
3208
3190
  const [isHLSStarted, setHLSStarted] = useSetAppDataByKey(APP_DATA.hlsStarted);
@@ -3247,29 +3229,128 @@ function HLSFailureModal() {
3247
3229
  ) : null;
3248
3230
  }
3249
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
+
3250
3331
  // src/Prebuilt/layouts/VideoStreamingSection.tsx
3251
- import React60, { Suspense as Suspense2, useEffect as useEffect23 } from "react";
3252
- import { selectIsConnectedToRoom as selectIsConnectedToRoom6, selectLocalPeerRoleName as selectLocalPeerRoleName2, useHMSActions as useHMSActions20, 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";
3253
3334
 
3254
3335
  // src/Prebuilt/components/VideoLayouts/GridLayout.tsx
3255
- 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";
3256
3337
  import { selectPeers as selectPeers2, selectPeerScreenSharing, useHMSStore as useHMSStore23, useHMSVanillaStore as useHMSVanillaStore4 } from "@100mslive/react-sdk";
3257
3338
 
3258
3339
  // src/Prebuilt/components/VideoLayouts/EqualProminence.tsx
3259
- import React42, { useEffect as useEffect10, useMemo as useMemo3, useState as useState21 } from "react";
3260
- import { useMedia as useMedia8 } from "react-use";
3261
- import { selectLocalPeer as selectLocalPeer3, useHMSStore as useHMSStore19 } from "@100mslive/react-sdk";
3340
+ import React44, { useEffect as useEffect11, useMemo as useMemo3, useState as useState21 } from "react";
3341
+ import { useMedia as useMedia9 } from "react-use";
3342
+ import { selectLocalPeer as selectLocalPeer2, useHMSStore as useHMSStore19 } from "@100mslive/react-sdk";
3262
3343
 
3263
3344
  // src/Prebuilt/components/InsetTile.tsx
3264
- import React39, { useEffect as useEffect7, useRef as useRef6 } from "react";
3345
+ import React41, { useEffect as useEffect8, useRef as useRef6 } from "react";
3265
3346
  import Draggable from "react-draggable";
3266
- import { useMedia as useMedia6 } from "react-use";
3267
- import { selectIsAllowedToPublish as selectIsAllowedToPublish2, selectLocalPeer as selectLocalPeer2, selectVideoTrackByID, useHMSStore as useHMSStore18 } from "@100mslive/react-sdk";
3347
+ import { useMedia as useMedia7 } from "react-use";
3348
+ import { selectIsAllowedToPublish as selectIsAllowedToPublish2, selectLocalPeer, selectVideoTrackByID, useHMSStore as useHMSStore18 } from "@100mslive/react-sdk";
3268
3349
  import { ExpandIcon as ExpandIcon2 } from "@100mslive/react-icons";
3269
3350
 
3270
3351
  // src/Prebuilt/components/hooks/useVideoTileLayout.ts
3271
- import React38, { useContext } from "react";
3272
- var VideoTileContext = React38.createContext({
3352
+ import React40, { useContext } from "react";
3353
+ var VideoTileContext = React40.createContext({
3273
3354
  enableSpotlightingPeer: true,
3274
3355
  hideParticipantNameOnTile: false,
3275
3356
  roundedVideoTile: true,
@@ -3285,14 +3366,14 @@ var useVideoTileContext = () => {
3285
3366
 
3286
3367
  // src/Prebuilt/components/InsetTile.tsx
3287
3368
  var MinimisedTile = ({ setMinimised }) => {
3288
- 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(
3289
3370
  IconButton_default,
3290
3371
  {
3291
3372
  className: "__cancel-drag-event",
3292
3373
  onClick: () => setMinimised(false),
3293
3374
  css: { bg: "transparent", border: "transparent" }
3294
3375
  },
3295
- /* @__PURE__ */ React39.createElement(ExpandIcon2, null)
3376
+ /* @__PURE__ */ React41.createElement(ExpandIcon2, null)
3296
3377
  ));
3297
3378
  };
3298
3379
  var insetHeightPx = 180;
@@ -3300,9 +3381,9 @@ var insetMaxWidthPx = 240;
3300
3381
  var defaultMobileAspectRatio = 9 / 16;
3301
3382
  var desktopAspectRatio = 1 / defaultMobileAspectRatio;
3302
3383
  var InsetTile = () => {
3303
- const isMobile = useMedia6(config.media.md);
3304
- const isLandscape = useMedia6(config.media.ls);
3305
- const localPeer = useHMSStore18(selectLocalPeer2);
3384
+ const isMobile = useMedia7(config.media.md);
3385
+ const isLandscape = useMedia7(config.media.ls);
3386
+ const localPeer = useHMSStore18(selectLocalPeer);
3306
3387
  const [minimised, setMinimised] = useSetAppDataByKey(APP_DATA.minimiseInset);
3307
3388
  const videoTrack = useHMSStore18(selectVideoTrackByID(localPeer == null ? void 0 : localPeer.videoTrack));
3308
3389
  const isAllowedToPublish = useHMSStore18(selectIsAllowedToPublish2);
@@ -3318,7 +3399,7 @@ var InsetTile = () => {
3318
3399
  height = width / aspectRatio;
3319
3400
  }
3320
3401
  const nodeRef = useRef6(null);
3321
- useEffect7(() => {
3402
+ useEffect8(() => {
3322
3403
  const node = nodeRef.current;
3323
3404
  if (!node || !window.ResizeObserver) {
3324
3405
  return;
@@ -3339,7 +3420,7 @@ var InsetTile = () => {
3339
3420
  if (!isAllowedToPublish.video && !isAllowedToPublish.audio) {
3340
3421
  return null;
3341
3422
  }
3342
- 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(
3343
3424
  Box,
3344
3425
  {
3345
3426
  ref: nodeRef,
@@ -3355,7 +3436,7 @@ var InsetTile = () => {
3355
3436
  h: height
3356
3437
  } : {})
3357
3438
  },
3358
- minimised ? /* @__PURE__ */ React39.createElement(MinimisedTile, { setMinimised }) : /* @__PURE__ */ React39.createElement(
3439
+ minimised ? /* @__PURE__ */ React41.createElement(MinimisedTile, { setMinimised }) : /* @__PURE__ */ React41.createElement(
3359
3440
  VideoTile_default,
3360
3441
  __spreadProps(__spreadValues({
3361
3442
  peerId: localPeer == null ? void 0 : localPeer.id,
@@ -3377,7 +3458,7 @@ var InsetTile = () => {
3377
3458
  };
3378
3459
 
3379
3460
  // src/Prebuilt/components/Pagination.tsx
3380
- import React40, { useEffect as useEffect8 } from "react";
3461
+ import React42, { useEffect as useEffect9 } from "react";
3381
3462
  import { ChevronLeftIcon as ChevronLeftIcon2, ChevronRightIcon as ChevronRightIcon2 } from "@100mslive/react-icons";
3382
3463
  var Pagination = ({
3383
3464
  page,
@@ -3394,7 +3475,7 @@ var Pagination = ({
3394
3475
  e.stopPropagation();
3395
3476
  onPageChange(Math.max(page - 1, 0));
3396
3477
  };
3397
- useEffect8(() => {
3478
+ useEffect9(() => {
3398
3479
  if (page >= numPages) {
3399
3480
  onPageChange(Math.max(0, numPages - 1));
3400
3481
  }
@@ -3402,7 +3483,7 @@ var Pagination = ({
3402
3483
  if (numPages <= 1) {
3403
3484
  return null;
3404
3485
  }
3405
- 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(
3406
3487
  StyledPagination.Dot,
3407
3488
  {
3408
3489
  key: i,
@@ -3412,15 +3493,15 @@ var Pagination = ({
3412
3493
  onPageChange(i);
3413
3494
  }
3414
3495
  }
3415
- ))) : 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" } })));
3416
3497
  };
3417
3498
 
3418
3499
  // src/Prebuilt/components/VideoLayouts/Grid.tsx
3419
- import React41 from "react";
3420
- var Grid = React41.forwardRef(
3500
+ import React43 from "react";
3501
+ var Grid = React43.forwardRef(
3421
3502
  ({ tiles, edgeToEdge }, ref) => {
3422
3503
  const videoTileProps = useVideoTileContext();
3423
- return /* @__PURE__ */ React41.createElement(
3504
+ return /* @__PURE__ */ React43.createElement(
3424
3505
  Box,
3425
3506
  {
3426
3507
  ref,
@@ -3438,7 +3519,7 @@ var Grid = React41.forwardRef(
3438
3519
  },
3439
3520
  tiles == null ? void 0 : tiles.map((tile) => {
3440
3521
  var _a, _b, _c, _d;
3441
- return /* @__PURE__ */ React41.createElement(
3522
+ return /* @__PURE__ */ React43.createElement(
3442
3523
  VideoTile_default,
3443
3524
  __spreadValues({
3444
3525
  key: ((_a = tile.track) == null ? void 0 : _a.id) || ((_b = tile.peer) == null ? void 0 : _b.id),
@@ -3456,8 +3537,8 @@ var Grid = React41.forwardRef(
3456
3537
  );
3457
3538
 
3458
3539
  // src/Prebuilt/components/hooks/useTileLayout.tsx
3459
- import { useEffect as useEffect9, useMemo as useMemo2, useState as useState20 } from "react";
3460
- 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";
3461
3542
  import {
3462
3543
  getPeersWithTiles,
3463
3544
  selectTracksMap as selectTracksMap3,
@@ -3493,9 +3574,9 @@ var useTileLayout = ({
3493
3574
  }) => {
3494
3575
  const vanillaStore = useHMSVanillaStore3();
3495
3576
  const [ref, { width, height }] = useMeasure2();
3496
- const isMobile = useMedia7(config.media.lg);
3577
+ const isMobile = useMedia8(config.media.lg);
3497
3578
  const [pagesWithTiles, setPagesWithTiles] = useState20([]);
3498
- useEffect9(() => {
3579
+ useEffect10(() => {
3499
3580
  if (width === 0 || height === 0) {
3500
3581
  return;
3501
3582
  }
@@ -3562,8 +3643,8 @@ var useTileLayout = ({
3562
3643
  // src/Prebuilt/components/VideoLayouts/EqualProminence.tsx
3563
3644
  function EqualProminence({ isInsetEnabled = false, peers, onPageChange, onPageSize, edgeToEdge }) {
3564
3645
  var _a;
3565
- const localPeer = useHMSStore19(selectLocalPeer3);
3566
- const isMobile = useMedia8(config.media.md);
3646
+ const localPeer = useHMSStore19(selectLocalPeer2);
3647
+ const isMobile = useMedia9(config.media.md);
3567
3648
  let maxTileCount = useUISettings(UI_SETTINGS.maxTileCount);
3568
3649
  maxTileCount = isMobile ? Math.min(maxTileCount, 6) : maxTileCount;
3569
3650
  let pageList = usePagesWithTiles({
@@ -3585,12 +3666,12 @@ function EqualProminence({ isInsetEnabled = false, peers, onPageChange, onPageSi
3585
3666
  });
3586
3667
  const [page, setPage] = useState21(0);
3587
3668
  const pageSize = ((_a = pagesWithTiles[0]) == null ? void 0 : _a.length) || 0;
3588
- useEffect10(() => {
3669
+ useEffect11(() => {
3589
3670
  if (pageSize > 0) {
3590
3671
  onPageSize == null ? void 0 : onPageSize(pageSize);
3591
3672
  }
3592
3673
  }, [pageSize, onPageSize]);
3593
- 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(
3594
3675
  Pagination,
3595
3676
  {
3596
3677
  page,
@@ -3600,20 +3681,20 @@ function EqualProminence({ isInsetEnabled = false, peers, onPageChange, onPageSi
3600
3681
  },
3601
3682
  numPages: pagesWithTiles.length
3602
3683
  }
3603
- ), 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));
3604
3685
  }
3605
3686
 
3606
3687
  // src/Prebuilt/components/VideoLayouts/RoleProminence.tsx
3607
- import React45, { useEffect as useEffect12, useState as useState23 } from "react";
3608
- import { selectLocalPeer as selectLocalPeer4, useHMSStore as useHMSStore20 } from "@100mslive/react-sdk";
3688
+ import React47, { useEffect as useEffect13, useState as useState23 } from "react";
3689
+ import { selectLocalPeer as selectLocalPeer3, useHMSStore as useHMSStore20 } from "@100mslive/react-sdk";
3609
3690
 
3610
3691
  // src/Prebuilt/components/SecondaryTiles.tsx
3611
- import React44, { useEffect as useEffect11, useState as useState22 } from "react";
3612
- 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";
3613
3694
 
3614
3695
  // src/Prebuilt/components/VideoLayouts/ProminenceLayout.tsx
3615
- import React43 from "react";
3616
- var Root = ({ children, edgeToEdge }) => /* @__PURE__ */ React43.createElement(
3696
+ import React45 from "react";
3697
+ var Root = ({ children, edgeToEdge }) => /* @__PURE__ */ React45.createElement(
3617
3698
  Flex,
3618
3699
  {
3619
3700
  direction: "column",
@@ -3622,7 +3703,7 @@ var Root = ({ children, edgeToEdge }) => /* @__PURE__ */ React43.createElement(
3622
3703
  children
3623
3704
  );
3624
3705
  var ProminentSection = ({ children, css = {} }) => {
3625
- 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);
3626
3707
  };
3627
3708
  var SecondarySection = ({
3628
3709
  tiles,
@@ -3633,12 +3714,12 @@ var SecondarySection = ({
3633
3714
  if (!(tiles == null ? void 0 : tiles.length)) {
3634
3715
  return null;
3635
3716
  }
3636
- return /* @__PURE__ */ React43.createElement(
3717
+ return /* @__PURE__ */ React45.createElement(
3637
3718
  Box,
3638
3719
  {
3639
3720
  css: {
3640
3721
  display: "grid",
3641
- gridTemplateRows: React43.Children.count(children) > 0 ? "136px auto" : "154px",
3722
+ gridTemplateRows: React45.Children.count(children) > 0 ? "136px auto" : "154px",
3642
3723
  gridTemplateColumns: `repeat(${tiles.length}, minmax(0, 1fr))`,
3643
3724
  margin: "0 auto",
3644
3725
  gap: "$2 $4",
@@ -3648,7 +3729,7 @@ var SecondarySection = ({
3648
3729
  },
3649
3730
  tiles.map((tile) => {
3650
3731
  var _a, _b, _c, _d;
3651
- return /* @__PURE__ */ React43.createElement(
3732
+ return /* @__PURE__ */ React45.createElement(
3652
3733
  VideoTile_default,
3653
3734
  __spreadValues({
3654
3735
  key: ((_a = tile.track) == null ? void 0 : _a.id) || ((_b = tile.peer) == null ? void 0 : _b.id),
@@ -3665,7 +3746,7 @@ var SecondarySection = ({
3665
3746
  }, tileLayoutProps)
3666
3747
  );
3667
3748
  }),
3668
- /* @__PURE__ */ React43.createElement(Box, { css: { gridColumn: `1/span ${tiles.length}` } }, children)
3749
+ /* @__PURE__ */ React45.createElement(Box, { css: { gridColumn: `1/span ${tiles.length}` } }, children)
3669
3750
  );
3670
3751
  };
3671
3752
  var ProminenceLayout = {
@@ -3677,17 +3758,17 @@ var ProminenceLayout = {
3677
3758
  // src/Prebuilt/components/SecondaryTiles.tsx
3678
3759
  var SecondaryTiles = ({ peers, onPageChange, onPageSize, edgeToEdge }) => {
3679
3760
  var _a;
3680
- const isMobile = useMedia9(config.media.md);
3761
+ const isMobile = useMedia10(config.media.md);
3681
3762
  const maxTileCount = isMobile ? 2 : 4;
3682
3763
  const pagesWithTiles = usePagesWithTiles({ peers, maxTileCount });
3683
3764
  const [page, setPage] = useState22(0);
3684
3765
  const pageSize = ((_a = pagesWithTiles[0]) == null ? void 0 : _a.length) || 0;
3685
- useEffect11(() => {
3766
+ useEffect12(() => {
3686
3767
  if (pageSize > 0) {
3687
3768
  onPageSize == null ? void 0 : onPageSize(pageSize);
3688
3769
  }
3689
3770
  }, [pageSize, onPageSize]);
3690
- 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(
3691
3772
  Pagination,
3692
3773
  {
3693
3774
  page,
@@ -3745,7 +3826,7 @@ function RoleProminence({
3745
3826
  }) {
3746
3827
  var _a;
3747
3828
  const { prominentPeers, secondaryPeers } = useRoleProminencePeers(prominentRoles, peers, isInsetEnabled);
3748
- const localPeer = useHMSStore20(selectLocalPeer4);
3829
+ const localPeer = useHMSStore20(selectLocalPeer3);
3749
3830
  const maxTileCount = 4;
3750
3831
  const pageList = usePagesWithTiles({
3751
3832
  peers: prominentPeers,
@@ -3757,12 +3838,12 @@ function RoleProminence({
3757
3838
  });
3758
3839
  const [page, setPage] = useState23(0);
3759
3840
  const pageSize = ((_a = pagesWithTiles[0]) == null ? void 0 : _a.length) || 0;
3760
- useEffect12(() => {
3841
+ useEffect13(() => {
3761
3842
  if (pageSize > 0) {
3762
3843
  onPageSize == null ? void 0 : onPageSize(pageSize);
3763
3844
  }
3764
3845
  }, [pageSize, onPageSize]);
3765
- 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(
3766
3847
  Pagination,
3767
3848
  {
3768
3849
  page,
@@ -3772,16 +3853,16 @@ function RoleProminence({
3772
3853
  },
3773
3854
  numPages: pagesWithTiles.length
3774
3855
  }
3775
- ), /* @__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));
3776
3857
  }
3777
3858
 
3778
3859
  // src/Prebuilt/components/VideoLayouts/ScreenshareLayout.tsx
3779
- import React48, { useEffect as useEffect13, useMemo as useMemo5, useState as useState25 } from "react";
3780
- 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";
3781
3862
  import { selectPeersScreenSharing, useHMSStore as useHMSStore22 } from "@100mslive/react-sdk";
3782
3863
 
3783
3864
  // src/Prebuilt/components/ScreenshareTile.jsx
3784
- import React47, { useRef as useRef7, useState as useState24 } from "react";
3865
+ import React49, { useRef as useRef7, useState as useState24 } from "react";
3785
3866
  import { useFullscreen as useFullscreen2 } from "react-use";
3786
3867
  import screenfull2 from "screenfull";
3787
3868
  import {
@@ -3794,12 +3875,12 @@ import {
3794
3875
  import { ExpandIcon as ExpandIcon3, ShrinkIcon } from "@100mslive/react-icons";
3795
3876
 
3796
3877
  // src/Prebuilt/components/ScreenshareDisplay.jsx
3797
- import React46 from "react";
3798
- import { useHMSActions as useHMSActions13 } from "@100mslive/react-sdk";
3878
+ import React48 from "react";
3879
+ import { useHMSActions as useHMSActions14 } from "@100mslive/react-sdk";
3799
3880
  import { CrossIcon as CrossIcon5, ShareScreenIcon as ShareScreenIcon2 } from "@100mslive/react-icons";
3800
3881
  var ScreenshareDisplay = () => {
3801
- const hmsActions = useHMSActions13();
3802
- return /* @__PURE__ */ React46.createElement(
3882
+ const hmsActions = useHMSActions14();
3883
+ return /* @__PURE__ */ React48.createElement(
3803
3884
  Flex,
3804
3885
  {
3805
3886
  direction: "column",
@@ -3811,9 +3892,9 @@ var ScreenshareDisplay = () => {
3811
3892
  color: "$on_surface_high"
3812
3893
  }
3813
3894
  },
3814
- /* @__PURE__ */ React46.createElement(ShareScreenIcon2, { width: 48, height: 48 }),
3815
- /* @__PURE__ */ React46.createElement(Text, { variant: "h5", css: { m: "$8 0" } }, "You are sharing your screen"),
3816
- /* @__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(
3817
3898
  Button,
3818
3899
  {
3819
3900
  variant: "danger",
@@ -3823,7 +3904,7 @@ var ScreenshareDisplay = () => {
3823
3904
  }),
3824
3905
  "data-testid": "stop_screen_share_btn"
3825
3906
  },
3826
- /* @__PURE__ */ React46.createElement(CrossIcon5, { width: 18, height: 18 }),
3907
+ /* @__PURE__ */ React48.createElement(CrossIcon5, { width: 18, height: 18 }),
3827
3908
  "\xA0 Stop screen share"
3828
3909
  )
3829
3910
  );
@@ -3853,7 +3934,7 @@ var Tile = ({ peerId, width = "100%", height = "100%" }) => {
3853
3934
  const isFullScreenSupported = screenfull2.isEnabled;
3854
3935
  const audioTrack = useHMSStore21(selectScreenShareAudioByPeerID(peer == null ? void 0 : peer.id));
3855
3936
  if (isLocal && !["browser", "window", "application"].includes(track == null ? void 0 : track.displaySurface)) {
3856
- return /* @__PURE__ */ React47.createElement(ScreenshareDisplay, null);
3937
+ return /* @__PURE__ */ React49.createElement(ScreenshareDisplay, null);
3857
3938
  }
3858
3939
  if (!peer) {
3859
3940
  return null;
@@ -3863,7 +3944,7 @@ var Tile = ({ peerId, width = "100%", height = "100%" }) => {
3863
3944
  isLocal: false,
3864
3945
  track
3865
3946
  });
3866
- 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(
3867
3948
  StyledVideoTile.Container,
3868
3949
  {
3869
3950
  transparentBg: true,
@@ -3874,9 +3955,9 @@ var Tile = ({ peerId, width = "100%", height = "100%" }) => {
3874
3955
  setIsMouseHovered(false);
3875
3956
  }
3876
3957
  },
3877
- showStatsOnTiles ? /* @__PURE__ */ React47.createElement(VideoTileStats, { audioTrackID: audioTrack == null ? void 0 : audioTrack.id, videoTrackID: track == null ? void 0 : track.id, peerID: peerId, isLocal }) : null,
3878
- isFullScreenSupported && isMouseHovered ? /* @__PURE__ */ React47.createElement(StyledVideoTile.FullScreenButton, { onClick: () => setFullscreen(!fullscreen) }, isFullscreen ? /* @__PURE__ */ React47.createElement(ShrinkIcon, null) : /* @__PURE__ */ React47.createElement(ExpandIcon3, null)) : null,
3879
- 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(
3880
3961
  Video,
3881
3962
  {
3882
3963
  screenShare: true,
@@ -3886,8 +3967,8 @@ var Tile = ({ peerId, width = "100%", height = "100%" }) => {
3886
3967
  css: { minHeight: 0 }
3887
3968
  }
3888
3969
  ) : null,
3889
- /* @__PURE__ */ React47.createElement(StyledVideoTile.Info, { css: labelStyles }, label),
3890
- isMouseHovered && !peer.isLocal ? /* @__PURE__ */ React47.createElement(
3970
+ /* @__PURE__ */ React49.createElement(StyledVideoTile.Info, { css: labelStyles }, label),
3971
+ isMouseHovered && !peer.isLocal ? /* @__PURE__ */ React49.createElement(
3891
3972
  TileMenu_default,
3892
3973
  {
3893
3974
  isScreenshare: true,
@@ -3899,7 +3980,7 @@ var Tile = ({ peerId, width = "100%", height = "100%" }) => {
3899
3980
  ) : null
3900
3981
  ));
3901
3982
  };
3902
- var ScreenshareTile = React47.memo(Tile);
3983
+ var ScreenshareTile = React49.memo(Tile);
3903
3984
  var ScreenshareTile_default = ScreenshareTile;
3904
3985
 
3905
3986
  // src/Prebuilt/components/VideoLayouts/ScreenshareLayout.tsx
@@ -3909,18 +3990,18 @@ var ScreenshareLayout = ({ peers, onPageChange, onPageSize, edgeToEdge }) => {
3909
3990
  const [, setActiveScreenSharePeer] = useSetAppDataByKey(APP_DATA.activeScreensharePeerId);
3910
3991
  const [page, setPage] = useState25(0);
3911
3992
  const activeSharePeer = peersSharing[page];
3912
- const isMobile = useMedia10(config.media.md);
3993
+ const isMobile = useMedia11(config.media.md);
3913
3994
  const secondaryPeers = useMemo5(
3914
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)),
3915
3996
  [activeSharePeer, peers, isMobile]
3916
3997
  );
3917
- useEffect13(() => {
3998
+ useEffect14(() => {
3918
3999
  setActiveScreenSharePeer(isMobile ? "" : activeSharePeer == null ? void 0 : activeSharePeer.id);
3919
4000
  return () => {
3920
4001
  setActiveScreenSharePeer("");
3921
4002
  };
3922
4003
  }, [activeSharePeer == null ? void 0 : activeSharePeer.id, isMobile, setActiveScreenSharePeer]);
3923
- 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(
3924
4005
  SecondaryTiles,
3925
4006
  {
3926
4007
  peers: secondaryPeers,
@@ -4050,7 +4131,7 @@ var GridLayout = ({
4050
4131
  hideMetadataOnTile: hide_metadata_on_tile,
4051
4132
  objectFit: video_object_fit
4052
4133
  };
4053
- useEffect14(() => {
4134
+ useEffect15(() => {
4054
4135
  if (mainPage !== 0) {
4055
4136
  return;
4056
4137
  }
@@ -4061,7 +4142,7 @@ var GridLayout = ({
4061
4142
  peersSorter.onUpdate(setSortedPeers);
4062
4143
  }, [mainPage, peersSorter, updatedPeers, pageSize]);
4063
4144
  if (peerSharing) {
4064
- return /* @__PURE__ */ React49.createElement(VideoTileContext.Provider, { value: tileLayout }, /* @__PURE__ */ React49.createElement(
4145
+ return /* @__PURE__ */ React51.createElement(VideoTileContext.Provider, { value: tileLayout }, /* @__PURE__ */ React51.createElement(
4065
4146
  ScreenshareLayout,
4066
4147
  {
4067
4148
  peers: sortedPeers,
@@ -4071,7 +4152,7 @@ var GridLayout = ({
4071
4152
  }
4072
4153
  ));
4073
4154
  } else if (isRoleProminence) {
4074
- return /* @__PURE__ */ React49.createElement(VideoTileContext.Provider, { value: tileLayout }, /* @__PURE__ */ React49.createElement(
4155
+ return /* @__PURE__ */ React51.createElement(VideoTileContext.Provider, { value: tileLayout }, /* @__PURE__ */ React51.createElement(
4075
4156
  RoleProminence,
4076
4157
  {
4077
4158
  peers: sortedPeers,
@@ -4083,7 +4164,7 @@ var GridLayout = ({
4083
4164
  }
4084
4165
  ));
4085
4166
  }
4086
- return /* @__PURE__ */ React49.createElement(VideoTileContext.Provider, { value: tileLayout }, /* @__PURE__ */ React49.createElement(
4167
+ return /* @__PURE__ */ React51.createElement(VideoTileContext.Provider, { value: tileLayout }, /* @__PURE__ */ React51.createElement(
4087
4168
  EqualProminence,
4088
4169
  {
4089
4170
  peers: sortedPeers,
@@ -4096,7 +4177,7 @@ var GridLayout = ({
4096
4177
  };
4097
4178
 
4098
4179
  // src/Prebuilt/layouts/EmbedView.jsx
4099
- 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";
4100
4181
  import {
4101
4182
  selectPeers as selectPeers3,
4102
4183
  selectPeerScreenSharing as selectPeerScreenSharing2,
@@ -4105,7 +4186,7 @@ import {
4105
4186
  useScreenShare as useScreenShare3
4106
4187
  } from "@100mslive/react-sdk";
4107
4188
  var EmbedView = () => {
4108
- return /* @__PURE__ */ React50.createElement(EmbebScreenShareView, null, /* @__PURE__ */ React50.createElement(EmbedComponent, null));
4189
+ return /* @__PURE__ */ React52.createElement(EmbebScreenShareView, null, /* @__PURE__ */ React52.createElement(EmbedComponent, null));
4109
4190
  };
4110
4191
  var EmbebScreenShareView = ({ children }) => {
4111
4192
  const peers = useHMSStore24(selectPeers3);
@@ -4115,13 +4196,13 @@ var EmbebScreenShareView = ({ children }) => {
4115
4196
  const smallTilePeers2 = peers.filter((peer) => peer.id !== (peerPresenting == null ? void 0 : peerPresenting.id));
4116
4197
  return smallTilePeers2;
4117
4198
  }, [peers, peerPresenting]);
4118
- useEffect15(() => {
4199
+ useEffect16(() => {
4119
4200
  setActiveScreenSharePeer(peerPresenting == null ? void 0 : peerPresenting.id);
4120
4201
  return () => {
4121
4202
  setActiveScreenSharePeer("");
4122
4203
  };
4123
4204
  }, [peerPresenting == null ? void 0 : peerPresenting.id, setActiveScreenSharePeer]);
4124
- 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 }));
4125
4206
  };
4126
4207
  var EmbedComponent = () => {
4127
4208
  const { amIScreenSharing, toggleScreenShare } = useScreenShare3(throwErrorHandler);
@@ -4135,7 +4216,7 @@ var EmbedComponent = () => {
4135
4216
  setEmbedConfig({ url: "" });
4136
4217
  }
4137
4218
  }, [src, setEmbedConfig]);
4138
- useEffect15(() => {
4219
+ useEffect16(() => {
4139
4220
  if (embedConfig.shareScreen && !amIScreenSharing && !wasScreenShared && !screenShareAttemptInProgress.current) {
4140
4221
  screenShareAttemptInProgress.current = true;
4141
4222
  toggleScreenShare({
@@ -4148,7 +4229,7 @@ var EmbedComponent = () => {
4148
4229
  });
4149
4230
  }
4150
4231
  }, []);
4151
- useEffect15(() => {
4232
+ useEffect16(() => {
4152
4233
  if (wasScreenShared && !amIScreenSharing) {
4153
4234
  resetEmbedConfig();
4154
4235
  }
@@ -4159,7 +4240,7 @@ var EmbedComponent = () => {
4159
4240
  }
4160
4241
  };
4161
4242
  }, [wasScreenShared, amIScreenSharing, resetEmbedConfig, toggleScreenShare]);
4162
- 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(
4163
4244
  "iframe",
4164
4245
  {
4165
4246
  src,
@@ -4172,10 +4253,10 @@ var EmbedComponent = () => {
4172
4253
  };
4173
4254
 
4174
4255
  // src/Prebuilt/layouts/PDFView.jsx
4175
- 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";
4176
4257
  import { throwErrorHandler as throwErrorHandler2, useScreenShare as useScreenShare4 } from "@100mslive/react-sdk";
4177
4258
  var PDFView = () => {
4178
- return /* @__PURE__ */ React51.createElement(EmbebScreenShareView, null, /* @__PURE__ */ React51.createElement(PDFEmbedComponent, null));
4259
+ return /* @__PURE__ */ React53.createElement(EmbebScreenShareView, null, /* @__PURE__ */ React53.createElement(PDFEmbedComponent, null));
4179
4260
  };
4180
4261
  var PDFEmbedComponent = () => {
4181
4262
  const ref = useRef9();
@@ -4193,7 +4274,7 @@ var PDFEmbedComponent = () => {
4193
4274
  const resetEmbedConfig = useCallback9(() => {
4194
4275
  setPDFConfig({ state: false });
4195
4276
  }, [setPDFConfig]);
4196
- useEffect16(() => {
4277
+ useEffect17(() => {
4197
4278
  if (isPDFLoaded && ref.current) {
4198
4279
  ref.current.contentWindow.postMessage(
4199
4280
  {
@@ -4203,7 +4284,7 @@ var PDFEmbedComponent = () => {
4203
4284
  );
4204
4285
  }
4205
4286
  }, [isPDFLoaded, themeType]);
4206
- useEffect16(() => {
4287
+ useEffect17(() => {
4207
4288
  if (!amIScreenSharing && !wasScreenShared && !screenShareAttemptInProgress.current) {
4208
4289
  screenShareAttemptInProgress.current = true;
4209
4290
  toggleScreenShare({
@@ -4217,7 +4298,7 @@ var PDFEmbedComponent = () => {
4217
4298
  });
4218
4299
  }
4219
4300
  }, []);
4220
- useEffect16(() => {
4301
+ useEffect17(() => {
4221
4302
  if (wasScreenShared && !amIScreenSharing) {
4222
4303
  resetEmbedConfig();
4223
4304
  }
@@ -4228,7 +4309,7 @@ var PDFEmbedComponent = () => {
4228
4309
  }
4229
4310
  };
4230
4311
  }, [wasScreenShared, amIScreenSharing, resetEmbedConfig, toggleScreenShare]);
4231
- 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(
4232
4313
  "iframe",
4233
4314
  {
4234
4315
  src: pdfJSURL,
@@ -4261,47 +4342,47 @@ var PDFEmbedComponent = () => {
4261
4342
  };
4262
4343
 
4263
4344
  // src/Prebuilt/layouts/SidePane.tsx
4264
- import React58 from "react";
4265
- import { useMedia as useMedia15 } from "react-use";
4345
+ import React60 from "react";
4346
+ import { useMedia as useMedia16 } from "react-use";
4266
4347
  import { selectAppData as selectAppData3, selectVideoTrackByPeerID, useHMSStore as useHMSStore33 } from "@100mslive/react-sdk";
4267
4348
 
4268
4349
  // src/Prebuilt/components/SidePaneTabs.tsx
4269
- import React55, { useEffect as useEffect21, useState as useState32 } from "react";
4270
- 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";
4271
4352
  import { selectPeerCount as selectPeerCount3, useHMSStore as useHMSStore30 } from "@100mslive/react-sdk";
4272
4353
  import { CrossIcon as CrossIcon7 } from "@100mslive/react-icons";
4273
4354
 
4274
4355
  // src/Prebuilt/components/Chat/Chat.jsx
4275
- import React54, { useCallback as useCallback14, useEffect as useEffect20, useRef as useRef13, useState as useState31 } from "react";
4276
- 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";
4277
4358
  import {
4278
4359
  HMSNotificationTypes,
4279
4360
  selectHMSMessagesCount,
4280
4361
  selectPeerNameByID as selectPeerNameByID3,
4281
4362
  selectPermissions as selectPermissions10,
4282
4363
  selectSessionStore,
4283
- useHMSActions as useHMSActions18,
4364
+ useHMSActions as useHMSActions19,
4284
4365
  useHMSNotifications,
4285
4366
  useHMSStore as useHMSStore29
4286
4367
  } from "@100mslive/react-sdk";
4287
4368
  import { ChevronDownIcon as ChevronDownIcon2, CrossIcon as CrossIcon6, PinIcon as PinIcon2 } from "@100mslive/react-icons";
4288
4369
 
4289
4370
  // src/Prebuilt/components/Chat/ChatBody.jsx
4290
- 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";
4291
4372
  import { useInView } from "react-intersection-observer";
4292
- import { useMedia as useMedia11 } from "react-use";
4373
+ import { useMedia as useMedia12 } from "react-use";
4293
4374
  import AutoSizer from "react-virtualized-auto-sizer";
4294
4375
  import { VariableSizeList } from "react-window";
4295
4376
  import {
4296
4377
  selectHMSMessages,
4297
4378
  selectLocalPeerID as selectLocalPeerID6,
4298
- selectLocalPeerRoleName,
4379
+ selectLocalPeerRoleName as selectLocalPeerRoleName2,
4299
4380
  selectMessagesByPeerID,
4300
4381
  selectMessagesByRole,
4301
4382
  selectPeerNameByID as selectPeerNameByID2,
4302
4383
  selectPermissions as selectPermissions9,
4303
- useHMSActions as useHMSActions15,
4304
- useHMSStore as useHMSStore26
4384
+ useHMSActions as useHMSActions16,
4385
+ useHMSStore as useHMSStore27
4305
4386
  } from "@100mslive/react-sdk";
4306
4387
  import { PinIcon, VerticalMenuIcon as VerticalMenuIcon5 } from "@100mslive/react-icons";
4307
4388
 
@@ -4313,12 +4394,12 @@ import { useCallback as useCallback10 } from "react";
4313
4394
  import {
4314
4395
  selectPeerNameByID,
4315
4396
  selectSessionMetadata,
4316
- useHMSActions as useHMSActions14,
4397
+ useHMSActions as useHMSActions15,
4317
4398
  useHMSStore as useHMSStore25,
4318
4399
  useHMSVanillaStore as useHMSVanillaStore5
4319
4400
  } from "@100mslive/react-sdk";
4320
4401
  var useSetPinnedMessage = () => {
4321
- const hmsActions = useHMSActions14();
4402
+ const hmsActions = useHMSActions15();
4322
4403
  const vanillaStore = useHMSVanillaStore5();
4323
4404
  const pinnedMessage = useHMSStore25(selectSessionMetadata);
4324
4405
  const setPinnedMessage = useCallback10(
@@ -4337,6 +4418,19 @@ var useSetPinnedMessage = () => {
4337
4418
  return { setPinnedMessage };
4338
4419
  };
4339
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
+
4340
4434
  // src/Prebuilt/components/Chat/ChatBody.jsx
4341
4435
  var formatTime = (date) => {
4342
4436
  if (!(date instanceof Date)) {
@@ -4354,7 +4448,7 @@ var formatTime = (date) => {
4354
4448
  return `${hours}:${mins} ${suffix}`;
4355
4449
  };
4356
4450
  var MessageTypeContainer = ({ left, right }) => {
4357
- return /* @__PURE__ */ React52.createElement(
4451
+ return /* @__PURE__ */ React54.createElement(
4358
4452
  Flex,
4359
4453
  {
4360
4454
  align: "center",
@@ -4366,16 +4460,16 @@ var MessageTypeContainer = ({ left, right }) => {
4366
4460
  r: "$0"
4367
4461
  }
4368
4462
  },
4369
- left && /* @__PURE__ */ React52.createElement(SenderName, { variant: "tiny", as: "span", css: { color: "$on_surface_medium" } }, left),
4370
- left && right && /* @__PURE__ */ React52.createElement(Box, { css: { borderLeft: "1px solid $border_bright", mx: "$4", h: "$8" } }),
4371
- 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)
4372
4466
  );
4373
4467
  };
4374
4468
  var MessageType = ({ roles, hasCurrentUserSent, receiver }) => {
4375
- const peerName = useHMSStore26(selectPeerNameByID2(receiver));
4376
- const localPeerRoleName = useHMSStore26(selectLocalPeerRoleName);
4469
+ const peerName = useHMSStore27(selectPeerNameByID2(receiver));
4470
+ const localPeerRoleName = useHMSStore27(selectLocalPeerRoleName2);
4377
4471
  if (receiver) {
4378
- return /* @__PURE__ */ React52.createElement(
4472
+ return /* @__PURE__ */ React54.createElement(
4379
4473
  MessageTypeContainer,
4380
4474
  {
4381
4475
  left: hasCurrentUserSent ? `${peerName ? `TO ${peerName}` : ""}` : "TO YOU",
@@ -4384,7 +4478,7 @@ var MessageType = ({ roles, hasCurrentUserSent, receiver }) => {
4384
4478
  );
4385
4479
  }
4386
4480
  if (roles && roles.length) {
4387
- 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 });
4388
4482
  }
4389
4483
  return null;
4390
4484
  };
@@ -4398,10 +4492,10 @@ var Link = styled("a", {
4398
4492
  });
4399
4493
  var AnnotisedMessage = ({ message }) => {
4400
4494
  if (!message) {
4401
- return /* @__PURE__ */ React52.createElement(Fragment8, null);
4495
+ return /* @__PURE__ */ React54.createElement(Fragment8, null);
4402
4496
  }
4403
- return /* @__PURE__ */ React52.createElement(Fragment8, null, message.trim().split(/(\s)/).map(
4404
- (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
4405
4499
  ));
4406
4500
  };
4407
4501
  var getMessageType = ({ roles, receiver }) => {
@@ -4415,14 +4509,14 @@ var ChatActions = ({ onPin, showPinAction }) => {
4415
4509
  if (!showPinAction) {
4416
4510
  return null;
4417
4511
  }
4418
- 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(
4419
4513
  Dropdown.Content,
4420
4514
  {
4421
4515
  sideOffset: 5,
4422
4516
  align: "end",
4423
4517
  css: { width: "$48", backgroundColor: "$surface_bright", py: "$0", border: "1px solid $border_bright" }
4424
4518
  },
4425
- /* @__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"))
4426
4520
  )));
4427
4521
  };
4428
4522
  var SenderName = styled(Text, {
@@ -4434,120 +4528,127 @@ var SenderName = styled(Text, {
4434
4528
  color: "$on_surface_high",
4435
4529
  fontWeight: "$semiBold"
4436
4530
  });
4437
- var ChatMessage = React52.memo(({ index, style = {}, message, setRowHeight, onPin }) => {
4438
- var _a, _b;
4439
- const { ref, inView } = useInView({ threshold: 0.5, triggerOnce: true });
4440
- const rowRef = useRef10(null);
4441
- useEffect17(() => {
4442
- if (rowRef.current) {
4443
- setRowHeight(index, rowRef.current.clientHeight);
4444
- }
4445
- }, [index, setRowHeight]);
4446
- const isMobile = useMedia11(config.media.md);
4447
- const { elements } = useRoomLayoutConferencingScreen();
4448
- const isOverlay = ((_a = elements == null ? void 0 : elements.chat) == null ? void 0 : _a.is_overlay) && isMobile;
4449
- const hmsActions = useHMSActions15();
4450
- const localPeerId = useHMSStore26(selectLocalPeerID6);
4451
- const permissions = useHMSStore26(selectPermissions9);
4452
- const messageType = getMessageType({
4453
- roles: message.recipientRoles,
4454
- receiver: message.recipientPeer
4455
- });
4456
- const showPinAction = permissions.removeOthers && !messageType && ((_b = elements == null ? void 0 : elements.chat) == null ? void 0 : _b.allow_pinning_messages);
4457
- useEffect17(() => {
4458
- if (message.id && !message.read && inView) {
4459
- hmsActions.setMessageRead(true, message.id);
4460
- }
4461
- }, [message.read, hmsActions, inView, message.id]);
4462
- return /* @__PURE__ */ React52.createElement(
4463
- Box,
4464
- {
4465
- ref,
4466
- as: "div",
4467
- css: { mb: "$10", pr: "$10", mt: "$8", "&:hover .chat_actions": { opacity: 1 } },
4468
- style
4469
- },
4470
- /* @__PURE__ */ React52.createElement(
4471
- 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,
4472
4564
  {
4473
- ref: rowRef,
4474
- align: "center",
4475
- css: {
4476
- flexWrap: "wrap",
4477
- // Theme independent color, token should not be used for transparent chat
4478
- bg: messageType ? isOverlay ? "rgba(0, 0, 0, 0.64)" : "$surface_default" : void 0,
4479
- r: messageType ? "$1" : void 0,
4480
- px: messageType ? "$4" : "$2",
4481
- py: messageType ? "$4" : 0,
4482
- userSelect: "none"
4483
- },
4484
- key: message.time,
4485
- "data-testid": "chat_msg"
4565
+ ref,
4566
+ as: "div",
4567
+ css: { mb: "$10", pr: "$10", mt: "$8", "&:hover .chat_actions": { opacity: 1 } },
4568
+ style
4486
4569
  },
4487
- /* @__PURE__ */ React52.createElement(
4488
- Text,
4570
+ /* @__PURE__ */ React54.createElement(
4571
+ Flex,
4489
4572
  {
4573
+ ref: rowRef,
4574
+ align: "center",
4490
4575
  css: {
4491
- color: isOverlay ? "#FFF" : "$on_surface_high",
4492
- fontWeight: "$semiBold",
4493
- display: "inline-flex",
4494
- alignItems: "center",
4495
- justifyContent: "space-between",
4496
- 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"
4497
4583
  },
4498
- as: "div"
4584
+ key: message.time,
4585
+ "data-testid": "chat_msg"
4499
4586
  },
4500
- /* @__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(
4501
4588
  Text,
4502
4589
  {
4503
- as: "span",
4504
- variant: "xs",
4505
4590
  css: {
4506
- ml: "$4",
4507
- color: "$on_surface_medium",
4508
- flexShrink: 0
4509
- }
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"
4510
4599
  },
4511
- formatTime(message.time)
4512
- ) : null),
4513
- /* @__PURE__ */ React52.createElement(
4514
- MessageType,
4515
- {
4516
- hasCurrentUserSent: message.sender === localPeerId,
4517
- receiver: message.recipientPeer,
4518
- roles: message.recipientRoles
4519
- }
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
4520
4622
  ),
4521
- !isOverlay ? /* @__PURE__ */ React52.createElement(ChatActions, { onPin, showPinAction }) : null
4522
- ),
4523
- /* @__PURE__ */ React52.createElement(
4524
- Text,
4525
- {
4526
- variant: "sm",
4527
- css: {
4528
- w: "100%",
4529
- mt: "$2",
4530
- wordBreak: "break-word",
4531
- whiteSpace: "pre-wrap",
4532
- userSelect: "all",
4533
- 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()
4534
4636
  },
4535
- onClick: (e) => e.stopPropagation()
4536
- },
4537
- /* @__PURE__ */ React52.createElement(AnnotisedMessage, { message: message.message })
4637
+ /* @__PURE__ */ React54.createElement(AnnotisedMessage, { message: message.message })
4638
+ )
4538
4639
  )
4539
- )
4540
- );
4541
- });
4542
- var ChatList = React52.forwardRef(
4543
- ({ 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) => {
4544
4645
  const { setPinnedMessage } = useSetPinnedMessage();
4545
4646
  useLayoutEffect(() => {
4546
4647
  if (listRef.current && listRef.current.scrollToItem) {
4547
4648
  scrollToBottom(1);
4548
4649
  }
4549
4650
  }, [listRef]);
4550
- return /* @__PURE__ */ React52.createElement(
4651
+ return /* @__PURE__ */ React54.createElement(
4551
4652
  VariableSizeList,
4552
4653
  {
4553
4654
  ref: listRef,
@@ -4559,7 +4660,7 @@ var ChatList = React52.forwardRef(
4559
4660
  overflowX: "hidden"
4560
4661
  }
4561
4662
  },
4562
- ({ index, style }) => /* @__PURE__ */ React52.createElement(
4663
+ ({ index, style }) => /* @__PURE__ */ React54.createElement(
4563
4664
  ChatMessage,
4564
4665
  {
4565
4666
  style,
@@ -4567,13 +4668,16 @@ var ChatList = React52.forwardRef(
4567
4668
  key: messages[index].id,
4568
4669
  message: messages[index],
4569
4670
  setRowHeight,
4671
+ unreadCount,
4672
+ isLast: index >= messages.length - 2,
4673
+ scrollToBottom,
4570
4674
  onPin: () => setPinnedMessage(messages[index])
4571
4675
  }
4572
4676
  )
4573
4677
  );
4574
4678
  }
4575
4679
  );
4576
- var VirtualizedChatMessages = React52.forwardRef(({ messages, scrollToBottom }, listRef) => {
4680
+ var VirtualizedChatMessages = React54.forwardRef(({ messages, unreadCount = 0, scrollToBottom }, listRef) => {
4577
4681
  const rowHeights = useRef10({});
4578
4682
  function getRowHeight(index) {
4579
4683
  return rowHeights.current[index] + 16 || 72;
@@ -4585,7 +4689,7 @@ var VirtualizedChatMessages = React52.forwardRef(({ messages, scrollToBottom },
4585
4689
  },
4586
4690
  [listRef]
4587
4691
  );
4588
- return /* @__PURE__ */ React52.createElement(
4692
+ return /* @__PURE__ */ React54.createElement(
4589
4693
  Box,
4590
4694
  {
4591
4695
  css: {
@@ -4594,14 +4698,14 @@ var VirtualizedChatMessages = React52.forwardRef(({ messages, scrollToBottom },
4594
4698
  },
4595
4699
  as: "div"
4596
4700
  },
4597
- /* @__PURE__ */ React52.createElement(
4701
+ /* @__PURE__ */ React54.createElement(
4598
4702
  AutoSizer,
4599
4703
  {
4600
4704
  style: {
4601
4705
  width: "90%"
4602
4706
  }
4603
4707
  },
4604
- ({ height, width }) => /* @__PURE__ */ React52.createElement(
4708
+ ({ height, width }) => /* @__PURE__ */ React54.createElement(
4605
4709
  ChatList,
4606
4710
  {
4607
4711
  width,
@@ -4610,21 +4714,23 @@ var VirtualizedChatMessages = React52.forwardRef(({ messages, scrollToBottom },
4610
4714
  setRowHeight,
4611
4715
  getRowHeight,
4612
4716
  scrollToBottom,
4613
- ref: listRef
4717
+ ref: listRef,
4718
+ unreadCount
4614
4719
  }
4615
4720
  )
4616
4721
  )
4617
4722
  );
4618
4723
  });
4619
- var ChatBody = React52.forwardRef(({ role, peerId, scrollToBottom }, listRef) => {
4724
+ var ChatBody = React54.forwardRef(({ role, peerId, scrollToBottom }, listRef) => {
4620
4725
  var _a;
4621
4726
  const storeMessageSelector = role ? selectMessagesByRole(role) : peerId ? selectMessagesByPeerID(peerId) : selectHMSMessages;
4622
- let messages = useHMSStore26(storeMessageSelector);
4727
+ let messages = useHMSStore27(storeMessageSelector);
4623
4728
  messages = useMemo8(() => (messages == null ? void 0 : messages.filter((message) => message.type === "chat")) || [], [messages]);
4624
- const isMobile = useMedia11(config.media.md);
4729
+ const isMobile = useMedia12(config.media.md);
4625
4730
  const { elements } = useRoomLayoutConferencingScreen();
4731
+ const unreadCount = useUnreadCount({ role, peerId });
4626
4732
  if (messages.length === 0 && !(isMobile && ((_a = elements == null ? void 0 : elements.chat) == null ? void 0 : _a.is_overlay))) {
4627
- return /* @__PURE__ */ React52.createElement(
4733
+ return /* @__PURE__ */ React54.createElement(
4628
4734
  Flex,
4629
4735
  {
4630
4736
  css: {
@@ -4636,7 +4742,7 @@ var ChatBody = React52.forwardRef(({ role, peerId, scrollToBottom }, listRef) =>
4636
4742
  align: "center",
4637
4743
  justify: "center"
4638
4744
  },
4639
- /* @__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(
4640
4746
  Text,
4641
4747
  {
4642
4748
  variant: "sm",
@@ -4646,23 +4752,31 @@ var ChatBody = React52.forwardRef(({ role, peerId, scrollToBottom }, listRef) =>
4646
4752
  ))
4647
4753
  );
4648
4754
  }
4649
- 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
+ ));
4650
4764
  });
4651
4765
 
4652
4766
  // src/Prebuilt/components/Chat/ChatFooter.tsx
4653
- import React53, { useCallback as useCallback13, useEffect as useEffect19, useRef as useRef12, useState as useState30 } from "react";
4654
- 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";
4655
4769
  import data2 from "@emoji-mart/data";
4656
4770
  import Picker from "@emoji-mart/react";
4657
- import { useHMSActions as useHMSActions17 } from "@100mslive/react-sdk";
4771
+ import { useHMSActions as useHMSActions18 } from "@100mslive/react-sdk";
4658
4772
  import { EmojiIcon as EmojiIcon3, SendIcon } from "@100mslive/react-icons";
4659
4773
 
4660
4774
  // src/Prebuilt/components/AppData/useChatState.js
4661
4775
  import { useCallback as useCallback12 } from "react";
4662
- import { selectAppData as selectAppData2, useHMSActions as useHMSActions16, useHMSStore as useHMSStore27 } from "@100mslive/react-sdk";
4776
+ import { selectAppData as selectAppData2, useHMSActions as useHMSActions17, useHMSStore as useHMSStore28 } from "@100mslive/react-sdk";
4663
4777
  var useChatDraftMessage = () => {
4664
- const hmsActions = useHMSActions16();
4665
- let chatDraftMessage = useHMSStore27(selectAppData2(APP_DATA.chatDraft));
4778
+ const hmsActions = useHMSActions17();
4779
+ let chatDraftMessage = useHMSStore28(selectAppData2(APP_DATA.chatDraft));
4666
4780
  if (chatDraftMessage === void 0 || chatDraftMessage === null) {
4667
4781
  chatDraftMessage = "";
4668
4782
  }
@@ -4676,10 +4790,10 @@ var useChatDraftMessage = () => {
4676
4790
  };
4677
4791
 
4678
4792
  // src/Prebuilt/components/Chat/useEmojiPickerStyles.js
4679
- import { useEffect as useEffect18, useRef as useRef11 } from "react";
4793
+ import { useEffect as useEffect19, useRef as useRef11 } from "react";
4680
4794
  var useEmojiPickerStyles = (showing) => {
4681
4795
  const ref = useRef11(null);
4682
- useEffect18(() => {
4796
+ useEffect19(() => {
4683
4797
  if (showing) {
4684
4798
  setTimeout(() => {
4685
4799
  var _a, _b;
@@ -4729,7 +4843,7 @@ var TextArea = styled("textarea", {
4729
4843
  function EmojiPicker({ onSelect }) {
4730
4844
  const [showEmoji, setShowEmoji] = useState30(false);
4731
4845
  const ref = useEmojiPickerStyles(showEmoji);
4732
- 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(
4733
4847
  Popover.Content,
4734
4848
  {
4735
4849
  alignOffset: -40,
@@ -4739,7 +4853,7 @@ function EmojiPicker({ onSelect }) {
4739
4853
  p: 0
4740
4854
  }
4741
4855
  },
4742
- /* @__PURE__ */ React53.createElement(
4856
+ /* @__PURE__ */ React55.createElement(
4743
4857
  Box,
4744
4858
  {
4745
4859
  css: {
@@ -4748,7 +4862,7 @@ function EmojiPicker({ onSelect }) {
4748
4862
  },
4749
4863
  ref
4750
4864
  },
4751
- /* @__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" })
4752
4866
  )
4753
4867
  )));
4754
4868
  }
@@ -4759,10 +4873,10 @@ var ChatFooter = ({
4759
4873
  children
4760
4874
  }) => {
4761
4875
  var _a;
4762
- const hmsActions = useHMSActions17();
4876
+ const hmsActions = useHMSActions18();
4763
4877
  const inputRef = useRef12(null);
4764
4878
  const [draftMessage, setDraftMessage] = useChatDraftMessage();
4765
- const isMobile = useMedia12(config.media.md);
4879
+ const isMobile = useMedia13(config.media.md);
4766
4880
  const { elements } = useRoomLayoutConferencingScreen();
4767
4881
  const isOverlayChat = (_a = elements == null ? void 0 : elements.chat) == null ? void 0 : _a.is_overlay;
4768
4882
  const sendMessage = useCallback13(() => __async(void 0, null, function* () {
@@ -4788,19 +4902,19 @@ var ChatFooter = ({
4788
4902
  ToastManager.addToast({ title: err.message });
4789
4903
  }
4790
4904
  }), [role, peerId, hmsActions, onSend]);
4791
- useEffect19(() => {
4905
+ useEffect20(() => {
4792
4906
  const messageElement = inputRef.current;
4793
4907
  if (messageElement) {
4794
4908
  messageElement.value = draftMessage;
4795
4909
  }
4796
4910
  }, [draftMessage]);
4797
- useEffect19(() => {
4911
+ useEffect20(() => {
4798
4912
  const messageElement = inputRef.current;
4799
4913
  return () => {
4800
4914
  setDraftMessage((messageElement == null ? void 0 : messageElement.value) || "");
4801
4915
  };
4802
4916
  }, [setDraftMessage]);
4803
- 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(
4804
4918
  Flex,
4805
4919
  {
4806
4920
  align: "center",
@@ -4821,13 +4935,14 @@ var ChatFooter = ({
4821
4935
  }
4822
4936
  },
4823
4937
  children,
4824
- /* @__PURE__ */ React53.createElement(
4938
+ /* @__PURE__ */ React55.createElement(
4825
4939
  TextArea,
4826
4940
  {
4827
4941
  css: {
4828
4942
  c: "$on_surface_high",
4829
4943
  "&:valid ~ .send-msg": { color: "$on_surface_high" },
4830
- "& ~ .send-msg": { color: "$on_surface_low" }
4944
+ "& ~ .send-msg": { color: "$on_surface_low" },
4945
+ "&::placeholder": { color: "$on_surface_medium" }
4831
4946
  },
4832
4947
  placeholder: "Send a message....",
4833
4948
  ref: inputRef,
@@ -4848,7 +4963,7 @@ var ChatFooter = ({
4848
4963
  onCopy: (e) => e.stopPropagation()
4849
4964
  }
4850
4965
  ),
4851
- !isMobile ? /* @__PURE__ */ React53.createElement(
4966
+ !isMobile ? /* @__PURE__ */ React55.createElement(
4852
4967
  EmojiPicker,
4853
4968
  {
4854
4969
  onSelect: (emoji) => {
@@ -4858,7 +4973,7 @@ var ChatFooter = ({
4858
4973
  }
4859
4974
  }
4860
4975
  ) : null,
4861
- /* @__PURE__ */ React53.createElement(
4976
+ /* @__PURE__ */ React55.createElement(
4862
4977
  IconButton,
4863
4978
  {
4864
4979
  className: "send-msg",
@@ -4871,31 +4986,18 @@ var ChatFooter = ({
4871
4986
  },
4872
4987
  "data-testid": "send_msg_btn"
4873
4988
  },
4874
- /* @__PURE__ */ React53.createElement(SendIcon, null)
4989
+ /* @__PURE__ */ React55.createElement(SendIcon, null)
4875
4990
  )
4876
4991
  )));
4877
4992
  };
4878
4993
 
4879
- // src/Prebuilt/components/Chat/useUnreadCount.js
4880
- import {
4881
- selectMessagesUnreadCountByPeerID,
4882
- selectMessagesUnreadCountByRole,
4883
- selectUnreadHMSMessagesCount as selectUnreadHMSMessagesCount2,
4884
- useHMSStore as useHMSStore28
4885
- } from "@100mslive/react-sdk";
4886
- var useUnreadCount = ({ role, peerId }) => {
4887
- const unreadCountSelector = role ? selectMessagesUnreadCountByRole(role) : peerId ? selectMessagesUnreadCountByPeerID(peerId) : selectUnreadHMSMessagesCount2;
4888
- const unreadCount = useHMSStore28(unreadCountSelector);
4889
- return unreadCount;
4890
- };
4891
-
4892
4994
  // src/Prebuilt/components/Chat/Chat.jsx
4893
4995
  var PINNED_MESSAGE_LENGTH = 80;
4894
4996
  var PinnedMessage = ({ clearPinnedMessage }) => {
4895
4997
  const permissions = useHMSStore29(selectPermissions10);
4896
4998
  const pinnedMessage = useHMSStore29(selectSessionStore(SESSION_STORE_KEY.PINNED_MESSAGE));
4897
4999
  const formattedPinnedMessage = (pinnedMessage == null ? void 0 : pinnedMessage.length) && pinnedMessage.length > PINNED_MESSAGE_LENGTH ? `${pinnedMessage.slice(0, PINNED_MESSAGE_LENGTH)}...` : pinnedMessage;
4898
- return pinnedMessage ? /* @__PURE__ */ React54.createElement(
5000
+ return pinnedMessage ? /* @__PURE__ */ React56.createElement(
4899
5001
  Flex,
4900
5002
  {
4901
5003
  title: pinnedMessage,
@@ -4903,8 +5005,8 @@ var PinnedMessage = ({ clearPinnedMessage }) => {
4903
5005
  align: "center",
4904
5006
  justify: "between"
4905
5007
  },
4906
- /* @__PURE__ */ React54.createElement(PinIcon2, null),
4907
- /* @__PURE__ */ React54.createElement(
5008
+ /* @__PURE__ */ React56.createElement(PinIcon2, null),
5009
+ /* @__PURE__ */ React56.createElement(
4908
5010
  Box,
4909
5011
  {
4910
5012
  css: {
@@ -4914,15 +5016,15 @@ var PinnedMessage = ({ clearPinnedMessage }) => {
4914
5016
  overflowY: "auto"
4915
5017
  }
4916
5018
  },
4917
- /* @__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 }))
4918
5020
  ),
4919
- permissions.removeOthers && /* @__PURE__ */ React54.createElement(
5021
+ permissions.removeOthers && /* @__PURE__ */ React56.createElement(
4920
5022
  Flex,
4921
5023
  {
4922
5024
  onClick: () => clearPinnedMessage(),
4923
5025
  css: { cursor: "pointer", color: "$on_surface_medium", "&:hover": { color: "$on_surface_high" } }
4924
5026
  },
4925
- /* @__PURE__ */ React54.createElement(CrossIcon6, null)
5027
+ /* @__PURE__ */ React56.createElement(CrossIcon6, null)
4926
5028
  )
4927
5029
  ) : null;
4928
5030
  };
@@ -4939,9 +5041,9 @@ var Chat = ({ screenType }) => {
4939
5041
  });
4940
5042
  const [isSelectorOpen] = useState31(false);
4941
5043
  const listRef = useRef13(null);
4942
- const hmsActions = useHMSActions18();
5044
+ const hmsActions = useHMSActions19();
4943
5045
  const { setPinnedMessage } = useSetPinnedMessage();
4944
- useEffect20(() => {
5046
+ useEffect21(() => {
4945
5047
  if (notification && notification.data && peerSelector === notification.data.id) {
4946
5048
  setPeerSelector("");
4947
5049
  setChatOptions({
@@ -4953,7 +5055,7 @@ var Chat = ({ screenType }) => {
4953
5055
  }, [notification, peerSelector, setPeerSelector]);
4954
5056
  const storeMessageSelector = selectHMSMessagesCount;
4955
5057
  const { elements } = useRoomLayoutConferencingScreen();
4956
- const isMobile = useMedia13(config.media.md);
5058
+ const isMobile = useMedia14(config.media.md);
4957
5059
  let isScrolledToBottom = false;
4958
5060
  if (listRef.current) {
4959
5061
  const currentRef = listRef.current._outerRef;
@@ -4974,7 +5076,7 @@ var Chat = ({ screenType }) => {
4974
5076
  },
4975
5077
  [hmsActions, messagesCount]
4976
5078
  );
4977
- return /* @__PURE__ */ React54.createElement(
5079
+ return /* @__PURE__ */ React56.createElement(
4978
5080
  Flex,
4979
5081
  {
4980
5082
  direction: "column",
@@ -4983,8 +5085,8 @@ var Chat = ({ screenType }) => {
4983
5085
  gap: "$4"
4984
5086
  }
4985
5087
  },
4986
- 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),
4987
- /* @__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(
4988
5090
  ChatBody,
4989
5091
  {
4990
5092
  role: chatOptions.role,
@@ -4994,7 +5096,7 @@ var Chat = ({ screenType }) => {
4994
5096
  screenType
4995
5097
  }
4996
5098
  ),
4997
- /* @__PURE__ */ React54.createElement(
5099
+ /* @__PURE__ */ React56.createElement(
4998
5100
  ChatFooter,
4999
5101
  {
5000
5102
  role: chatOptions.role,
@@ -5012,7 +5114,7 @@ var Chat = ({ screenType }) => {
5012
5114
  },
5013
5115
  peerId: chatOptions.peerId
5014
5116
  },
5015
- !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 })
5016
5118
  )
5017
5119
  );
5018
5120
  };
@@ -5021,7 +5123,7 @@ var NewMessageIndicator = ({ role, peerId, scrollToBottom }) => {
5021
5123
  if (!unreadCount) {
5022
5124
  return null;
5023
5125
  }
5024
- return /* @__PURE__ */ React54.createElement(
5126
+ return /* @__PURE__ */ React56.createElement(
5025
5127
  Flex,
5026
5128
  {
5027
5129
  justify: "center",
@@ -5032,7 +5134,7 @@ var NewMessageIndicator = ({ role, peerId, scrollToBottom }) => {
5032
5134
  position: "absolute"
5033
5135
  }
5034
5136
  },
5035
- /* @__PURE__ */ React54.createElement(
5137
+ /* @__PURE__ */ React56.createElement(
5036
5138
  Button,
5037
5139
  {
5038
5140
  variant: "standard",
@@ -5055,7 +5157,7 @@ var NewMessageIndicator = ({ role, peerId, scrollToBottom }) => {
5055
5157
  },
5056
5158
  "New ",
5057
5159
  unreadCount === 1 ? "message" : "messages",
5058
- /* @__PURE__ */ React54.createElement(ChevronDownIcon2, null)
5160
+ /* @__PURE__ */ React56.createElement(ChevronDownIcon2, null)
5059
5161
  )
5060
5162
  );
5061
5163
  };
@@ -5069,7 +5171,10 @@ var tabTriggerCSS = {
5069
5171
  w: "100%",
5070
5172
  justifyContent: "center"
5071
5173
  };
5072
- var SidePaneTabs = React55.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType, hideControls }) => {
5174
+ var ParticipantCount2 = ({ count }) => {
5175
+ return count < 1e3 ? /* @__PURE__ */ React57.createElement("span", null, "(", count, ")") : /* @__PURE__ */ React57.createElement(Tooltip, { title: count }, /* @__PURE__ */ React57.createElement("span", null, "(", getFormattedCount(count), ")"));
5176
+ };
5177
+ var SidePaneTabs = React57.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType, hideControls }) => {
5073
5178
  var _a;
5074
5179
  const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);
5075
5180
  const toggleParticipants = useSidepaneToggle(SIDE_PANE_OPTIONS.PARTICIPANTS);
@@ -5080,10 +5185,10 @@ var SidePaneTabs = React55.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType,
5080
5185
  const showChat = !!(elements == null ? void 0 : elements.chat);
5081
5186
  const showParticipants = !!(elements == null ? void 0 : elements.participant_list);
5082
5187
  const hideTabs = !(showChat && showParticipants);
5083
- const isMobile = useMedia14(config.media.md);
5188
+ const isMobile = useMedia15(config.media.md);
5084
5189
  const isOverlayChat = !!((_a = elements == null ? void 0 : elements.chat) == null ? void 0 : _a.is_overlay) && isMobile;
5085
5190
  const isChatOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.CHAT);
5086
- useEffect21(() => {
5191
+ useEffect22(() => {
5087
5192
  if (activeTab === SIDE_PANE_OPTIONS.CHAT && !showChat && showParticipants) {
5088
5193
  setActiveTab(SIDE_PANE_OPTIONS.PARTICIPANTS);
5089
5194
  } else if (activeTab === SIDE_PANE_OPTIONS.PARTICIPANTS && showChat && !showParticipants) {
@@ -5092,10 +5197,10 @@ var SidePaneTabs = React55.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType,
5092
5197
  resetSidePane();
5093
5198
  }
5094
5199
  }, [showChat, activeTab, showParticipants, resetSidePane]);
5095
- useEffect21(() => {
5200
+ useEffect22(() => {
5096
5201
  setActiveTab(active);
5097
5202
  }, [active]);
5098
- return /* @__PURE__ */ React55.createElement(
5203
+ return /* @__PURE__ */ React57.createElement(
5099
5204
  Flex,
5100
5205
  {
5101
5206
  direction: "column",
@@ -5106,7 +5211,7 @@ var SidePaneTabs = React55.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType,
5106
5211
  transition: "margin 0.3s ease-in-out"
5107
5212
  }
5108
5213
  },
5109
- 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" : `Participants (${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(
5110
5215
  Tabs.Root,
5111
5216
  {
5112
5217
  value: activeTab,
@@ -5116,7 +5221,7 @@ var SidePaneTabs = React55.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType,
5116
5221
  size: "100%"
5117
5222
  }
5118
5223
  },
5119
- /* @__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(
5120
5225
  Tabs.Trigger,
5121
5226
  {
5122
5227
  value: SIDE_PANE_OPTIONS.CHAT,
@@ -5126,7 +5231,7 @@ var SidePaneTabs = React55.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType,
5126
5231
  })
5127
5232
  },
5128
5233
  "Chat"
5129
- ), /* @__PURE__ */ React55.createElement(
5234
+ ), /* @__PURE__ */ React57.createElement(
5130
5235
  Tabs.Trigger,
5131
5236
  {
5132
5237
  value: SIDE_PANE_OPTIONS.PARTICIPANTS,
@@ -5135,14 +5240,13 @@ var SidePaneTabs = React55.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType,
5135
5240
  color: activeTab !== SIDE_PANE_OPTIONS.PARTICIPANTS ? "$on_surface_low" : "$on_surface_high"
5136
5241
  })
5137
5242
  },
5138
- "Participants (",
5139
- peerCount,
5140
- ")"
5243
+ "Participants ",
5244
+ /* @__PURE__ */ React57.createElement(ParticipantCount2, { count: peerCount })
5141
5245
  )),
5142
- /* @__PURE__ */ React55.createElement(Tabs.Content, { value: SIDE_PANE_OPTIONS.PARTICIPANTS, css: { p: 0 } }, /* @__PURE__ */ React55.createElement(ParticipantList, null)),
5143
- /* @__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 }))
5144
5248
  )),
5145
- isOverlayChat && isChatOpen ? null : /* @__PURE__ */ React55.createElement(
5249
+ isOverlayChat && isChatOpen ? null : /* @__PURE__ */ React57.createElement(
5146
5250
  IconButton,
5147
5251
  {
5148
5252
  css: { position: "absolute", right: "$10", top: "$11", "@md": { top: "$8", right: "$8" } },
@@ -5156,13 +5260,13 @@ var SidePaneTabs = React55.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType,
5156
5260
  },
5157
5261
  "data-testid": "close_chat"
5158
5262
  },
5159
- /* @__PURE__ */ React55.createElement(CrossIcon7, null)
5263
+ /* @__PURE__ */ React57.createElement(CrossIcon7, null)
5160
5264
  )
5161
5265
  );
5162
5266
  });
5163
5267
 
5164
5268
  // src/Prebuilt/components/Streaming/StreamingLanding.jsx
5165
- import React57, { Fragment as Fragment10, useState as useState34 } from "react";
5269
+ import React59, { Fragment as Fragment10, useState as useState34 } from "react";
5166
5270
  import { selectPermissions as selectPermissions11, useHMSStore as useHMSStore32, useRecordingStreaming as useRecordingStreaming7 } from "@100mslive/react-sdk";
5167
5271
  import { ColoredHandIcon, CrossIcon as CrossIcon8, GoLiveIcon as GoLiveIcon3 } from "@100mslive/react-icons";
5168
5272
 
@@ -5170,8 +5274,8 @@ import { ColoredHandIcon, CrossIcon as CrossIcon8, GoLiveIcon as GoLiveIcon3 } f
5170
5274
  var rtmp_default = "data:image/png;base64,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";
5171
5275
 
5172
5276
  // src/Prebuilt/components/Streaming/HLSStreaming.jsx
5173
- import React56, { Fragment as Fragment9, useCallback as useCallback15, useEffect as useEffect22, useState as useState33 } from "react";
5174
- import { selectRoomID, useHMSActions as useHMSActions19, useHMSStore as useHMSStore31, useRecordingStreaming as useRecordingStreaming6 } from "@100mslive/react-sdk";
5277
+ import React58, { Fragment as Fragment9, useCallback as useCallback15, useEffect as useEffect23, useState as useState33 } from "react";
5278
+ import { selectRoomID, useHMSActions as useHMSActions20, useHMSStore as useHMSStore31, useRecordingStreaming as useRecordingStreaming6 } from "@100mslive/react-sdk";
5175
5279
  import {
5176
5280
  EndStreamIcon as EndStreamIcon2,
5177
5281
  EyeOpenIcon,
@@ -5190,7 +5294,7 @@ var getCardData = (roleName, roomId) => {
5190
5294
  data3 = {
5191
5295
  title: formattedRoleName,
5192
5296
  content: "Broadcasters can livestream audio or video, manage stream appearance and control the room via HLS.",
5193
- icon: /* @__PURE__ */ React56.createElement(SupportIcon, null)
5297
+ icon: /* @__PURE__ */ React58.createElement(SupportIcon, null)
5194
5298
  };
5195
5299
  break;
5196
5300
  }
@@ -5198,7 +5302,7 @@ var getCardData = (roleName, roomId) => {
5198
5302
  data3 = {
5199
5303
  title: "HLS Viewer",
5200
5304
  content: "Viewers can view and send chat messages, but need to be made broadcasters to participate with audio or video.",
5201
- icon: /* @__PURE__ */ React56.createElement(EyeOpenIcon, null)
5305
+ icon: /* @__PURE__ */ React58.createElement(EyeOpenIcon, null)
5202
5306
  };
5203
5307
  break;
5204
5308
  }
@@ -5206,7 +5310,7 @@ var getCardData = (roleName, roomId) => {
5206
5310
  data3 = {
5207
5311
  title: formattedRoleName,
5208
5312
  content: `${formattedRoleName} is customised with specific permissions, which will determine how it interacts with this room.`,
5209
- icon: /* @__PURE__ */ React56.createElement(WrenchIcon, null),
5313
+ icon: /* @__PURE__ */ React58.createElement(WrenchIcon, null),
5210
5314
  order: 1
5211
5315
  };
5212
5316
  }
@@ -5215,7 +5319,7 @@ var getCardData = (roleName, roomId) => {
5215
5319
  };
5216
5320
  var Card = ({ title, icon, link, content, isHLSRunning, order = 0 }) => {
5217
5321
  const [copied, setCopied] = useState33(false);
5218
- return isHLSRunning ? /* @__PURE__ */ React56.createElement(
5322
+ return isHLSRunning ? /* @__PURE__ */ React58.createElement(
5219
5323
  Box,
5220
5324
  {
5221
5325
  key: title,
@@ -5226,9 +5330,9 @@ var Card = ({ title, icon, link, content, isHLSRunning, order = 0 }) => {
5226
5330
  borderRadius: "$2"
5227
5331
  }
5228
5332
  },
5229
- /* @__PURE__ */ React56.createElement(Flex, { align: "center", gap: "2", css: { color: "$primary_bright" } }, icon, /* @__PURE__ */ React56.createElement(Text, { variant: "h6", css: { fontWeight: "$semiBold" } }, title)),
5230
- /* @__PURE__ */ React56.createElement(Text, { variant: "sm", css: { color: "$on_surface_medium", mt: "$6" } }, content),
5231
- /* @__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(
5232
5336
  Button,
5233
5337
  {
5234
5338
  variant: "standard",
@@ -5240,7 +5344,7 @@ var Card = ({ title, icon, link, content, isHLSRunning, order = 0 }) => {
5240
5344
  css: { w: "100%", r: "$1", mt: "$10", fontWeight: "$semiBold" },
5241
5345
  icon: true
5242
5346
  },
5243
- 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")
5244
5348
  )
5245
5349
  ) : null;
5246
5350
  };
@@ -5250,12 +5354,12 @@ var HLSStreaming = ({ onBack }) => {
5250
5354
  const cards = roleNames.map((roleName) => getCardData(roleName, roomId));
5251
5355
  const { isHLSRunning } = useRecordingStreaming6();
5252
5356
  const [showLinks, setShowLinks] = useState33(false);
5253
- 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 })))));
5254
5358
  };
5255
5359
  var StartHLS = () => {
5256
5360
  const [record, setRecord] = useState33(false);
5257
5361
  const [error, setError] = useState33(false);
5258
- const hmsActions = useHMSActions19();
5362
+ const hmsActions = useHMSActions20();
5259
5363
  const [isHLSStarted, setHLSStarted] = useSetAppDataByKey(APP_DATA.hlsStarted);
5260
5364
  const startHLS = useCallback15(
5261
5365
  (variants) => __async(void 0, null, function* () {
@@ -5276,7 +5380,7 @@ var StartHLS = () => {
5276
5380
  }),
5277
5381
  [hmsActions, record, isHLSStarted, setHLSStarted]
5278
5382
  );
5279
- 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(
5280
5384
  Button,
5281
5385
  {
5282
5386
  "data-testid": "start_hls",
@@ -5285,21 +5389,21 @@ var StartHLS = () => {
5285
5389
  onClick: () => startHLS(),
5286
5390
  disabled: isHLSStarted
5287
5391
  },
5288
- 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),
5289
5393
  isHLSStarted ? "Starting stream..." : "Go Live"
5290
- )), /* @__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.")));
5291
5395
  };
5292
5396
  var EndHLS = ({ setShowLinks }) => {
5293
- const hmsActions = useHMSActions19();
5397
+ const hmsActions = useHMSActions20();
5294
5398
  const [inProgress, setInProgress] = useState33(false);
5295
5399
  const [error, setError] = useState33("");
5296
5400
  const { isHLSRunning } = useRecordingStreaming6();
5297
- useEffect22(() => {
5401
+ useEffect23(() => {
5298
5402
  if (inProgress && !isHLSRunning) {
5299
5403
  setInProgress(false);
5300
5404
  }
5301
5405
  }, [inProgress, isHLSRunning]);
5302
- 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(
5303
5407
  Button,
5304
5408
  {
5305
5409
  "data-testid": "stop_hls",
@@ -5318,9 +5422,9 @@ var EndHLS = ({ setShowLinks }) => {
5318
5422
  }
5319
5423
  })
5320
5424
  },
5321
- /* @__PURE__ */ React56.createElement(EndStreamIcon2, null),
5425
+ /* @__PURE__ */ React58.createElement(EndStreamIcon2, null),
5322
5426
  "End Stream"
5323
- ), /* @__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"));
5324
5428
  };
5325
5429
 
5326
5430
  // src/Prebuilt/components/Streaming/StreamingLanding.jsx
@@ -5334,7 +5438,7 @@ var StreamingLanding = () => {
5334
5438
  toggleStreaming();
5335
5439
  return null;
5336
5440
  }
5337
- 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(
5338
5442
  Box,
5339
5443
  {
5340
5444
  css: {
@@ -5344,8 +5448,8 @@ var StreamingLanding = () => {
5344
5448
  r: "$round"
5345
5449
  }
5346
5450
  },
5347
- /* @__PURE__ */ React57.createElement(ColoredHandIcon, { width: 40, height: 40 })
5348
- ), /* @__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(
5349
5453
  StreamCard,
5350
5454
  {
5351
5455
  testId: "hls_stream",
@@ -5355,7 +5459,7 @@ var StreamingLanding = () => {
5355
5459
  onClick: () => setShowHLS(true),
5356
5460
  Icon: GoLiveIcon3
5357
5461
  }
5358
- ), (permissions == null ? void 0 : permissions.rtmpStreaming) && /* @__PURE__ */ React57.createElement(
5462
+ ), (permissions == null ? void 0 : permissions.rtmpStreaming) && /* @__PURE__ */ React59.createElement(
5359
5463
  StreamCard,
5360
5464
  {
5361
5465
  testId: "rtmp_stream",
@@ -5367,7 +5471,7 @@ var StreamingLanding = () => {
5367
5471
  },
5368
5472
  imgSrc: rtmp_default
5369
5473
  }
5370
- ), 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) }));
5371
5475
  };
5372
5476
 
5373
5477
  // src/Prebuilt/layouts/SidePane.tsx
@@ -5377,16 +5481,16 @@ var SidePane = ({
5377
5481
  hideControls = false
5378
5482
  }) => {
5379
5483
  var _a, _b;
5380
- const isMobile = useMedia15(config.media.md);
5484
+ const isMobile = useMedia16(config.media.md);
5381
5485
  const sidepane = useHMSStore33(selectAppData3(APP_DATA.sidePane));
5382
5486
  const activeScreensharePeerId = useHMSStore33(selectAppData3(APP_DATA.activeScreensharePeerId));
5383
5487
  const trackId = (_a = useHMSStore33(selectVideoTrackByPeerID(activeScreensharePeerId))) == null ? void 0 : _a.id;
5384
5488
  const { elements } = useRoomLayoutConferencingScreen();
5385
5489
  let ViewComponent;
5386
5490
  if (sidepane === SIDE_PANE_OPTIONS.PARTICIPANTS || sidepane === SIDE_PANE_OPTIONS.CHAT) {
5387
- ViewComponent = /* @__PURE__ */ React58.createElement(SidePaneTabs, { screenType, hideControls, active: sidepane });
5491
+ ViewComponent = /* @__PURE__ */ React60.createElement(SidePaneTabs, { screenType, hideControls, active: sidepane });
5388
5492
  } else if (sidepane === SIDE_PANE_OPTIONS.STREAMING) {
5389
- ViewComponent = /* @__PURE__ */ React58.createElement(StreamingLanding, null);
5493
+ ViewComponent = /* @__PURE__ */ React60.createElement(StreamingLanding, null);
5390
5494
  }
5391
5495
  if (!ViewComponent && !trackId) {
5392
5496
  return null;
@@ -5399,7 +5503,7 @@ var SidePane = ({
5399
5503
  objectFit: tileProps == null ? void 0 : tileProps.video_object_fit
5400
5504
  };
5401
5505
  const mwebStreamingChat = isMobile && sidepane === SIDE_PANE_OPTIONS.CHAT && ((_b = elements == null ? void 0 : elements.chat) == null ? void 0 : _b.is_overlay);
5402
- return /* @__PURE__ */ React58.createElement(
5506
+ return /* @__PURE__ */ React60.createElement(
5403
5507
  Flex,
5404
5508
  {
5405
5509
  direction: "column",
@@ -5412,17 +5516,16 @@ var SidePane = ({
5412
5516
  "@md": { position: mwebStreamingChat ? "absolute" : "", zIndex: 12 }
5413
5517
  }
5414
5518
  },
5415
- trackId && /* @__PURE__ */ React58.createElement(
5519
+ trackId && /* @__PURE__ */ React60.createElement(
5416
5520
  VideoTile_default,
5417
5521
  __spreadValues({
5418
5522
  peerId: activeScreensharePeerId,
5419
5523
  trackId,
5420
- width: "100%",
5421
5524
  height: 225,
5422
5525
  rootCSS: { p: 0, alignSelf: "start", flexShrink: 0 }
5423
5526
  }, tileLayout)
5424
5527
  ),
5425
- !!ViewComponent && /* @__PURE__ */ React58.createElement(
5528
+ !!ViewComponent && /* @__PURE__ */ React60.createElement(
5426
5529
  Box,
5427
5530
  {
5428
5531
  css: {
@@ -5458,10 +5561,10 @@ var SidePane = ({
5458
5561
  var SidePane_default = SidePane;
5459
5562
 
5460
5563
  // src/Prebuilt/layouts/WaitingView.jsx
5461
- import React59 from "react";
5564
+ import React61 from "react";
5462
5565
  import { ColoredTimeIcon } from "@100mslive/react-icons";
5463
- var WaitingView = React59.memo(() => {
5464
- return /* @__PURE__ */ React59.createElement(
5566
+ var WaitingView = React61.memo(() => {
5567
+ return /* @__PURE__ */ React61.createElement(
5465
5568
  Box,
5466
5569
  {
5467
5570
  css: {
@@ -5475,7 +5578,7 @@ var WaitingView = React59.memo(() => {
5475
5578
  },
5476
5579
  "data-testid": "waiting_view"
5477
5580
  },
5478
- /* @__PURE__ */ React59.createElement(
5581
+ /* @__PURE__ */ React61.createElement(
5479
5582
  Flex,
5480
5583
  {
5481
5584
  align: "center",
@@ -5489,8 +5592,8 @@ var WaitingView = React59.memo(() => {
5489
5592
  gap: "$8"
5490
5593
  }
5491
5594
  },
5492
- /* @__PURE__ */ React59.createElement(ColoredTimeIcon, { width: "80px", height: "80px" }),
5493
- /* @__PURE__ */ React59.createElement(
5595
+ /* @__PURE__ */ React61.createElement(ColoredTimeIcon, { width: "80px", height: "80px" }),
5596
+ /* @__PURE__ */ React61.createElement(
5494
5597
  Flex,
5495
5598
  {
5496
5599
  direction: "column",
@@ -5500,28 +5603,28 @@ var WaitingView = React59.memo(() => {
5500
5603
  gap: "$4"
5501
5604
  }
5502
5605
  },
5503
- /* @__PURE__ */ React59.createElement(Text, { color: "white", variant: "h6", css: { "@md": { fontSize: "$md" } } }, "Please wait"),
5504
- /* @__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.")
5505
5608
  )
5506
5609
  )
5507
5610
  );
5508
5611
  });
5509
5612
 
5510
5613
  // src/Prebuilt/layouts/VideoStreamingSection.tsx
5511
- var HLSView = React60.lazy(() => import("./HLSView-4NSE37G7.js"));
5614
+ var HLSView = React62.lazy(() => import("./HLSView-3S74KF3A.js"));
5512
5615
  var VideoStreamingSection = ({
5513
5616
  screenType,
5514
5617
  elements,
5515
5618
  hideControls = false
5516
5619
  }) => {
5517
5620
  var _a, _b;
5518
- const localPeerRole = useHMSStore34(selectLocalPeerRoleName2);
5621
+ const localPeerRole = useHMSStore34(selectLocalPeerRoleName3);
5519
5622
  const isConnected = useHMSStore34(selectIsConnectedToRoom6);
5520
- const hmsActions = useHMSActions20();
5623
+ const hmsActions = useHMSActions21();
5521
5624
  const waitingViewerRole = useWaitingViewerRole();
5522
5625
  const urlToIframe = useUrlToEmbed();
5523
5626
  const pdfAnnotatorActive = usePDFAnnotator();
5524
- useEffect23(() => {
5627
+ useEffect24(() => {
5525
5628
  if (!isConnected) {
5526
5629
  return;
5527
5630
  }
@@ -5532,17 +5635,17 @@ var VideoStreamingSection = ({
5532
5635
  }
5533
5636
  let ViewComponent;
5534
5637
  if (screenType === "hls_live_streaming") {
5535
- ViewComponent = /* @__PURE__ */ React60.createElement(HLSView, null);
5638
+ ViewComponent = /* @__PURE__ */ React62.createElement(HLSView, null);
5536
5639
  } else if (localPeerRole === waitingViewerRole) {
5537
- ViewComponent = /* @__PURE__ */ React60.createElement(WaitingView, null);
5640
+ ViewComponent = /* @__PURE__ */ React62.createElement(WaitingView, null);
5538
5641
  } else if (pdfAnnotatorActive) {
5539
- ViewComponent = /* @__PURE__ */ React60.createElement(PDFView, null);
5642
+ ViewComponent = /* @__PURE__ */ React62.createElement(PDFView, null);
5540
5643
  } else if (urlToIframe) {
5541
- ViewComponent = /* @__PURE__ */ React60.createElement(EmbedView, null);
5644
+ ViewComponent = /* @__PURE__ */ React62.createElement(EmbedView, null);
5542
5645
  } else {
5543
- 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));
5544
5647
  }
5545
- 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(
5546
5649
  Flex,
5547
5650
  {
5548
5651
  css: {
@@ -5552,7 +5655,7 @@ var VideoStreamingSection = ({
5552
5655
  }
5553
5656
  },
5554
5657
  ViewComponent,
5555
- /* @__PURE__ */ React60.createElement(
5658
+ /* @__PURE__ */ React62.createElement(
5556
5659
  SidePane_default,
5557
5660
  {
5558
5661
  screenType,
@@ -5563,79 +5666,6 @@ var VideoStreamingSection = ({
5563
5666
  ));
5564
5667
  };
5565
5668
 
5566
- // src/Prebuilt/components/RoleChangeRequestModal.tsx
5567
- import React61, { useEffect as useEffect24 } from "react";
5568
- import {
5569
- selectLocalPeerName,
5570
- selectLocalPeerRoleName as selectLocalPeerRoleName3,
5571
- selectRoleChangeRequest,
5572
- useCustomEvent as useCustomEvent2,
5573
- useHMSActions as useHMSActions21,
5574
- useHMSStore as useHMSStore35
5575
- } from "@100mslive/react-sdk";
5576
- var RoleChangeRequestModal = () => {
5577
- const hmsActions = useHMSActions21();
5578
- const { updateMetaData } = useMyMetadata();
5579
- const currentRole = useHMSStore35(selectLocalPeerRoleName3);
5580
- const roleChangeRequest = useHMSStore35(selectRoleChangeRequest);
5581
- const name = useHMSStore35(selectLocalPeerName);
5582
- const { sendEvent } = useCustomEvent2({ type: ROLE_CHANGE_DECLINED });
5583
- useEffect24(() => {
5584
- if (!(roleChangeRequest == null ? void 0 : roleChangeRequest.role)) {
5585
- return;
5586
- }
5587
- (() => __async(void 0, null, function* () {
5588
- yield hmsActions.preview({ asRole: roleChangeRequest.role.name });
5589
- }))();
5590
- }, [hmsActions, roleChangeRequest, currentRole, updateMetaData]);
5591
- if (!(roleChangeRequest == null ? void 0 : roleChangeRequest.role)) {
5592
- return null;
5593
- }
5594
- 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(
5595
- Flex,
5596
- {
5597
- align: "center",
5598
- justify: "center",
5599
- css: {
5600
- "@sm": { width: "100%" },
5601
- flexDirection: "column",
5602
- mt: "$6"
5603
- }
5604
- },
5605
- /* @__PURE__ */ React61.createElement(PreviewTile, { name: name || "" }),
5606
- /* @__PURE__ */ React61.createElement(PreviewControls, { hideSettings: true })
5607
- ));
5608
- return /* @__PURE__ */ React61.createElement(
5609
- RequestDialog,
5610
- {
5611
- title: `You're invited to join the ${roleChangeRequest.role.name} role`,
5612
- onOpenChange: (value) => __async(void 0, null, function* () {
5613
- var _a;
5614
- if (!value) {
5615
- yield hmsActions.rejectChangeRole(roleChangeRequest);
5616
- sendEvent(__spreadProps(__spreadValues({}, roleChangeRequest), { peerName: name }), { peerId: (_a = roleChangeRequest.requestedBy) == null ? void 0 : _a.id });
5617
- yield hmsActions.cancelMidCallPreview();
5618
- yield updateMetaData({ isHandRaised: false });
5619
- }
5620
- }),
5621
- body,
5622
- onAction: () => __async(void 0, null, function* () {
5623
- yield hmsActions.acceptChangeRole(roleChangeRequest);
5624
- yield updateMetaData({ isHandRaised: false, prevRole: currentRole });
5625
- }),
5626
- actionText: "Accept"
5627
- }
5628
- );
5629
- };
5630
- var RequestDialog = ({
5631
- open = true,
5632
- onOpenChange,
5633
- title,
5634
- body,
5635
- actionText = "Accept",
5636
- onAction
5637
- }) => /* @__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))))));
5638
-
5639
5669
  // src/Prebuilt/components/conference.jsx
5640
5670
  var Conference = () => {
5641
5671
  var _a, _b, _c, _d, _e;
@@ -5644,12 +5674,12 @@ var Conference = () => {
5644
5674
  const { userName, endpoints } = useHMSPrebuiltContext();
5645
5675
  const screenProps = useRoomLayoutConferencingScreen();
5646
5676
  const { isPreviewScreenEnabled } = useRoomLayoutPreviewScreen();
5647
- const roomState = useHMSStore36(selectRoomState);
5677
+ const roomState = useHMSStore35(selectRoomState);
5648
5678
  const prevState = usePrevious(roomState);
5649
- const isConnectedToRoom = useHMSStore36(selectIsConnectedToRoom7);
5679
+ const isConnectedToRoom = useHMSStore35(selectIsConnectedToRoom7);
5650
5680
  const hmsActions = useHMSActions22();
5651
5681
  const [hideControls, setHideControls] = useState35(false);
5652
- const dropdownList = useHMSStore36(selectAppData4(APP_DATA.dropdownList));
5682
+ const dropdownList = useHMSStore35(selectAppData4(APP_DATA.dropdownList));
5653
5683
  const authTokenInAppData = useAuthToken();
5654
5684
  const headerRef = useRef14();
5655
5685
  const footerRef = useRef14();
@@ -5714,9 +5744,9 @@ var Conference = () => {
5714
5744
  };
5715
5745
  }, []);
5716
5746
  if (!isConnectedToRoom) {
5717
- return /* @__PURE__ */ React62.createElement(FullPageProgress_default, { text: "Joining..." });
5747
+ return /* @__PURE__ */ React63.createElement(FullPageProgress_default, { text: "Joining..." });
5718
5748
  }
5719
- 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(
5720
5750
  Box,
5721
5751
  {
5722
5752
  ref: headerRef,
@@ -5730,8 +5760,8 @@ var Conference = () => {
5730
5760
  },
5731
5761
  "data-testid": "header"
5732
5762
  },
5733
- /* @__PURE__ */ React62.createElement(Header, { elements: screenProps.elements, screenType: screenProps.screenType })
5734
- ), /* @__PURE__ */ React62.createElement(
5763
+ /* @__PURE__ */ React63.createElement(Header, { elements: screenProps.elements, screenType: screenProps.screenType })
5764
+ ), /* @__PURE__ */ React63.createElement(
5735
5765
  Box,
5736
5766
  {
5737
5767
  css: {
@@ -5749,7 +5779,7 @@ var Conference = () => {
5749
5779
  "data-testid": "conferencing",
5750
5780
  onClick: toggleControls
5751
5781
  },
5752
- /* @__PURE__ */ React62.createElement(
5782
+ /* @__PURE__ */ React63.createElement(
5753
5783
  VideoStreamingSection,
5754
5784
  {
5755
5785
  screenType: screenProps.screenType,
@@ -5757,7 +5787,7 @@ var Conference = () => {
5757
5787
  hideControls
5758
5788
  }
5759
5789
  )
5760
- ), !screenProps.hideSections.includes("footer") && /* @__PURE__ */ React62.createElement(
5790
+ ), !screenProps.hideSections.includes("footer") && /* @__PURE__ */ React63.createElement(
5761
5791
  Box,
5762
5792
  {
5763
5793
  ref: footerRef,
@@ -5774,11 +5804,11 @@ var Conference = () => {
5774
5804
  },
5775
5805
  "data-testid": "footer"
5776
5806
  },
5777
- /* @__PURE__ */ React62.createElement(Footer2, { elements: screenProps.elements, screenType: screenProps.screenType })
5778
- ), /* @__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)));
5779
5809
  };
5780
5810
  var conference_default = Conference;
5781
5811
  export {
5782
5812
  conference_default as default
5783
5813
  };
5784
- //# sourceMappingURL=conference-S7R3O4OC.js.map
5814
+ //# sourceMappingURL=conference-JNABIZBG.js.map