@100mslive/roomkit-react 0.1.6-alpha.1 → 0.1.6-alpha.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. package/dist/{HLSView-HNVYG5VE.js → HLSView-HL455FYH.js} +3 -3
  2. package/dist/Prebuilt/components/Footer/ChatToggle.d.ts +1 -3
  3. package/dist/Prebuilt/components/Leave/DesktopLeaveRoom.d.ts +2 -1
  4. package/dist/Prebuilt/components/Leave/MwebLeaveRoom.d.ts +2 -1
  5. package/dist/Prebuilt/components/SidePaneTabs.d.ts +7 -0
  6. package/dist/{VirtualBackground-UM2FOUHQ.js → VirtualBackground-6EP3X7MO.js} +6 -6
  7. package/dist/VirtualBackground-6EP3X7MO.js.map +7 -0
  8. package/dist/{chunk-LYSAET4G.js → chunk-6JF3GAOH.js} +109 -127
  9. package/dist/chunk-6JF3GAOH.js.map +7 -0
  10. package/dist/{chunk-POE7H4IE.js → chunk-KAJJ56J4.js} +2 -2
  11. package/dist/{chunk-POE7H4IE.js.map → chunk-KAJJ56J4.js.map} +1 -1
  12. package/dist/{chunk-364HP22I.js → chunk-UXBTLGWY.js} +2 -2
  13. package/dist/{conference-UWLJHMB2.js → conference-MPZNWHV5.js} +472 -415
  14. package/dist/conference-MPZNWHV5.js.map +7 -0
  15. package/dist/index.cjs.js +714 -678
  16. package/dist/index.cjs.js.map +4 -4
  17. package/dist/index.js +2 -2
  18. package/dist/meta.cjs.json +153 -153
  19. package/dist/meta.esbuild.json +185 -184
  20. package/package.json +6 -6
  21. package/src/Button/Button.tsx +6 -6
  22. package/src/Prebuilt/components/Chat/Chat.jsx +3 -9
  23. package/src/Prebuilt/components/Chat/useEmojiPickerStyles.js +1 -0
  24. package/src/Prebuilt/components/Footer/ChatToggle.tsx +2 -9
  25. package/src/Prebuilt/components/Footer/Footer.tsx +23 -7
  26. package/src/Prebuilt/components/Footer/ParticipantList.jsx +4 -5
  27. package/src/Prebuilt/components/Footer/RoleAccordion.tsx +1 -1
  28. package/src/Prebuilt/components/Header/HeaderComponents.jsx +10 -9
  29. package/src/Prebuilt/components/InsetTile.tsx +1 -0
  30. package/src/Prebuilt/components/Leave/DesktopLeaveRoom.tsx +7 -9
  31. package/src/Prebuilt/components/Leave/LeaveRoom.tsx +6 -2
  32. package/src/Prebuilt/components/Leave/MwebLeaveRoom.tsx +7 -4
  33. package/src/Prebuilt/components/MoreSettings/SplitComponents/MwebOptions.tsx +1 -1
  34. package/src/Prebuilt/components/Notifications/Notifications.jsx +4 -3
  35. package/src/Prebuilt/components/Preview/PreviewJoin.tsx +2 -3
  36. package/src/Prebuilt/components/RoleChangeRequestModal.tsx +4 -3
  37. package/src/Prebuilt/components/ScreenshareTile.jsx +15 -7
  38. package/src/Prebuilt/components/SidePaneTabs.tsx +141 -0
  39. package/src/Prebuilt/components/conference.jsx +9 -1
  40. package/src/Prebuilt/components/hooks/useMetadata.jsx +7 -25
  41. package/src/Prebuilt/layouts/SidePane.tsx +12 -10
  42. package/src/Prebuilt/plugins/VirtualBackground/VirtualBackground.jsx +3 -3
  43. package/src/Prebuilt/provider/roomLayoutProvider/hooks/useFetchRoomLayout.ts +2 -2
  44. package/dist/VirtualBackground-UM2FOUHQ.js.map +0 -7
  45. package/dist/chunk-LYSAET4G.js.map +0 -7
  46. package/dist/conference-UWLJHMB2.js.map +0 -7
  47. package/src/Prebuilt/components/Chat/ChatParticipantHeader.jsx +0 -84
  48. /package/dist/{HLSView-HNVYG5VE.js.map → HLSView-HL455FYH.js.map} +0 -0
  49. /package/dist/{chunk-364HP22I.js.map → chunk-UXBTLGWY.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ActionTile
3
- } from "./chunk-364HP22I.js";
3
+ } from "./chunk-UXBTLGWY.js";
4
4
  import {
5
5
  APP_DATA,
6
6
  Accordion,
@@ -77,13 +77,14 @@ import {
77
77
  useSetAppDataByKey,
78
78
  useSetSubscribedChatSelector,
79
79
  useSetUiSettings,
80
+ useSidepaneReset,
80
81
  useSidepaneToggle,
81
82
  useTheme,
82
83
  useUISettings,
83
84
  useUrlToEmbed,
84
85
  useUserPreferences,
85
86
  useWaitingViewerRole
86
- } from "./chunk-LYSAET4G.js";
87
+ } from "./chunk-6JF3GAOH.js";
87
88
  import {
88
89
  Box,
89
90
  Flex,
@@ -102,10 +103,10 @@ import {
102
103
  slideLeftAndFade,
103
104
  styled,
104
105
  textEllipsis
105
- } from "./chunk-POE7H4IE.js";
106
+ } from "./chunk-KAJJ56J4.js";
106
107
 
107
108
  // src/Prebuilt/components/conference.jsx
108
- import React62, { useEffect as useEffect24, useRef as useRef14, useState as useState35 } from "react";
109
+ import React62, { useEffect as useEffect25, useRef as useRef14, useState as useState35 } from "react";
109
110
  import { useNavigate, useParams } from "react-router-dom";
110
111
  import { usePrevious } from "react-use";
111
112
  import {
@@ -114,14 +115,13 @@ import {
114
115
  selectIsConnectedToRoom as selectIsConnectedToRoom7,
115
116
  selectRoomState,
116
117
  useHMSActions as useHMSActions22,
117
- useHMSStore as useHMSStore37
118
+ useHMSStore as useHMSStore36
118
119
  } from "@100mslive/react-sdk";
119
120
 
120
121
  // src/Prebuilt/components/Footer/Footer.tsx
121
- import React37, { Suspense } from "react";
122
+ import React36, { Suspense, useEffect as useEffect6 } from "react";
122
123
  import { useMedia as useMedia5 } from "react-use";
123
124
  import { Chat_ChatState } from "@100mslive/types-prebuilt/elements/chat";
124
- import { selectIsLocalVideoEnabled as selectIsLocalVideoEnabled2, useHMSStore as useHMSStore18 } from "@100mslive/react-sdk";
125
125
 
126
126
  // src/Prebuilt/components/EmojiReaction.jsx
127
127
  import React2, { Fragment, useState } from "react";
@@ -335,7 +335,8 @@ var LeaveSessionContent = ({
335
335
  // src/Prebuilt/components/Leave/DesktopLeaveRoom.tsx
336
336
  var DesktopLeaveRoom = ({
337
337
  leaveRoom,
338
- screenType
338
+ screenType,
339
+ endRoom
339
340
  }) => {
340
341
  const [open, setOpen] = useState2(false);
341
342
  const [showLeaveRoomAlert, setShowLeaveRoomAlert] = useState2(false);
@@ -343,12 +344,12 @@ var DesktopLeaveRoom = ({
343
344
  const isConnected = useHMSStore2(selectIsConnectedToRoom2);
344
345
  const permissions = useHMSStore2(selectPermissions);
345
346
  const { isStreamingOn } = useRecordingStreaming();
346
- const showStream = (permissions == null ? void 0 : permissions.hlsStreaming) && isStreamingOn;
347
+ const showStream = screenType !== "hls_live_streaming" && isStreamingOn;
347
348
  useDropdownList({ open: open || showEndStreamAlert || showLeaveRoomAlert, name: "LeaveRoom" });
348
349
  if (!permissions || !isConnected) {
349
350
  return null;
350
351
  }
351
- return /* @__PURE__ */ React6.createElement(Fragment2, null, permissions.hlsStreaming ? /* @__PURE__ */ React6.createElement(Flex, null, /* @__PURE__ */ React6.createElement(
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(
352
353
  LeaveIconButton,
353
354
  {
354
355
  key: "LeaveRoom",
@@ -358,11 +359,7 @@ var DesktopLeaveRoom = ({
358
359
  borderBottomRightRadius: 0
359
360
  },
360
361
  onClick: () => {
361
- if (screenType === "hls_live_streaming") {
362
- setShowLeaveRoomAlert(true);
363
- } else {
364
- leaveRoom({ endstream: false });
365
- }
362
+ leaveRoom({ endstream: false });
366
363
  }
367
364
  },
368
365
  /* @__PURE__ */ React6.createElement(Tooltip, { title: "Leave Room" }, /* @__PURE__ */ React6.createElement(Box, null, /* @__PURE__ */ React6.createElement(ExitIcon, { style: { transform: "rotate(180deg)" } })))
@@ -400,7 +397,7 @@ var DesktopLeaveRoom = ({
400
397
  css: { p: 0 }
401
398
  }
402
399
  )
403
- ), isStreamingOn && (permissions == null ? void 0 : permissions.hlsStreaming) ? /* @__PURE__ */ React6.createElement(
400
+ ), (permissions == null ? void 0 : permissions.endRoom) || (permissions == null ? void 0 : permissions.hlsStreaming) ? /* @__PURE__ */ React6.createElement(
404
401
  Dropdown.Item,
405
402
  {
406
403
  css: {
@@ -443,7 +440,7 @@ var DesktopLeaveRoom = ({
443
440
  EndSessionContent,
444
441
  {
445
442
  setShowEndStreamAlert,
446
- leaveRoom,
443
+ leaveRoom: isStreamingOn ? leaveRoom : endRoom,
447
444
  isStreamingOn,
448
445
  isModal: true
449
446
  }
@@ -456,7 +453,8 @@ import { selectIsConnectedToRoom as selectIsConnectedToRoom3, selectPermissions
456
453
  import { ExitIcon as ExitIcon2, StopIcon as StopIcon2 } from "@100mslive/react-icons";
457
454
  var MwebLeaveRoom = ({
458
455
  leaveRoom,
459
- screenType
456
+ screenType,
457
+ endRoom
460
458
  }) => {
461
459
  const [open, setOpen] = useState3(false);
462
460
  const [showLeaveRoomAlert, setShowLeaveRoomAlert] = useState3(false);
@@ -464,12 +462,12 @@ var MwebLeaveRoom = ({
464
462
  const isConnected = useHMSStore3(selectIsConnectedToRoom3);
465
463
  const permissions = useHMSStore3(selectPermissions2);
466
464
  const { isStreamingOn } = useRecordingStreaming2();
467
- const showStream = (permissions == null ? void 0 : permissions.hlsStreaming) && isStreamingOn;
465
+ const showStream = screenType !== "hls_live_streaming" && isStreamingOn;
468
466
  useDropdownList({ open, name: "LeaveRoom" });
469
467
  if (!permissions || !isConnected) {
470
468
  return null;
471
469
  }
472
- return /* @__PURE__ */ React7.createElement(Fragment3, null, (permissions == null ? void 0 : permissions.hlsStreaming) ? /* @__PURE__ */ React7.createElement(Sheet.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React7.createElement(Sheet.Trigger, { asChild: true }, /* @__PURE__ */ React7.createElement(
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(
473
471
  LeaveIconButton,
474
472
  {
475
473
  key: "LeaveRoom",
@@ -491,7 +489,7 @@ var MwebLeaveRoom = ({
491
489
  onClick: () => leaveRoom({ endstream: false }),
492
490
  css: { pt: 0, mt: "$10", color: "$on_surface_low", "&:hover": { color: "$on_surface_high" } }
493
491
  }
494
- ), isStreamingOn && (permissions == null ? void 0 : permissions.hlsStreaming) ? /* @__PURE__ */ React7.createElement(
492
+ ), (permissions == null ? void 0 : permissions.endRoom) || (permissions == null ? void 0 : permissions.hlsStreaming) ? /* @__PURE__ */ React7.createElement(
495
493
  LeaveCard,
496
494
  {
497
495
  title: showStream ? "End Stream" : "End Session",
@@ -523,7 +521,7 @@ var MwebLeaveRoom = ({
523
521
  EndSessionContent,
524
522
  {
525
523
  setShowEndStreamAlert,
526
- leaveRoom,
524
+ leaveRoom: isStreamingOn ? leaveRoom : endRoom,
527
525
  isStreamingOn
528
526
  }
529
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);
@@ -555,6 +553,10 @@ var LeaveRoom = ({ screenType }) => {
555
553
  ToastManager.addToast({ title: "Error in stopping the stream", type: "error" });
556
554
  }
557
555
  });
556
+ const endRoom = () => {
557
+ hmsActions.endRoom(false, "End Room");
558
+ redirectToLeave();
559
+ };
558
560
  const leaveRoom = (_0) => __async(void 0, [_0], function* ({ endstream = false }) {
559
561
  if (endstream || hlsState.running && peersWithStreamingRights.length === 1) {
560
562
  yield stopStream();
@@ -565,7 +567,7 @@ var LeaveRoom = ({ screenType }) => {
565
567
  if (!permissions || !isConnected) {
566
568
  return null;
567
569
  }
568
- return isMobile ? /* @__PURE__ */ React8.createElement(MwebLeaveRoom, { leaveRoom, screenType }) : /* @__PURE__ */ React8.createElement(DesktopLeaveRoom, { leaveRoom, screenType });
570
+ return isMobile ? /* @__PURE__ */ React8.createElement(MwebLeaveRoom, { leaveRoom, screenType, endRoom }) : /* @__PURE__ */ React8.createElement(DesktopLeaveRoom, { leaveRoom, screenType, endRoom });
569
571
  };
570
572
 
571
573
  // src/Prebuilt/components/MoreSettings/MoreSettings.tsx
@@ -2068,7 +2070,7 @@ var MwebOptions = ({
2068
2070
  isRecordingLoading ? /* @__PURE__ */ React22.createElement(Loading, null) : /* @__PURE__ */ React22.createElement(RecordIcon2, null),
2069
2071
  /* @__PURE__ */ React22.createElement(ActionTile.Title, null, isBrowserRecordingOn ? "Recording On" : isRecordingLoading ? "Starting Recording" : "Start Recording")
2070
2072
  ) : null
2071
- ))), /* @__PURE__ */ React22.createElement(SettingsModal_default, { open: openSettingsSheet, onOpenChange: setOpenSettingsSheet }), openModals.has(MODALS2.MUTE_ALL) && /* @__PURE__ */ React22.createElement(MuteAllModal, { onOpenChange: (value) => updateState(MODALS2.MUTE_ALL, value), isMobile: true }), openModals.has(MODALS2.CHANGE_NAME) && /* @__PURE__ */ React22.createElement(
2073
+ ))), /* @__PURE__ */ React22.createElement(SettingsModal_default, { open: openSettingsSheet, onOpenChange: setOpenSettingsSheet, screenType }), openModals.has(MODALS2.MUTE_ALL) && /* @__PURE__ */ React22.createElement(MuteAllModal, { onOpenChange: (value) => updateState(MODALS2.MUTE_ALL, value), isMobile: true }), openModals.has(MODALS2.CHANGE_NAME) && /* @__PURE__ */ React22.createElement(
2072
2074
  ChangeNameModal,
2073
2075
  {
2074
2076
  onOpenChange: (value) => updateState(MODALS2.CHANGE_NAME, value),
@@ -2644,33 +2646,28 @@ var ScreenshareToggle = ({ css = {} }) => {
2644
2646
  };
2645
2647
 
2646
2648
  // src/Prebuilt/components/Footer/ChatToggle.tsx
2647
- import React32, { useEffect as useEffect5 } from "react";
2649
+ import React32 from "react";
2648
2650
  import { selectUnreadHMSMessagesCount, useHMSStore as useHMSStore14 } from "@100mslive/react-sdk";
2649
2651
  import { ChatIcon, ChatUnreadIcon } from "@100mslive/react-icons";
2650
- var ChatToggle = ({ openByDefault }) => {
2652
+ var ChatToggle = () => {
2651
2653
  const countUnreadMessages = useHMSStore14(selectUnreadHMSMessagesCount);
2652
2654
  const isChatOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.CHAT);
2653
2655
  const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);
2654
- useEffect5(() => {
2655
- if (!isChatOpen && openByDefault) {
2656
- toggleChat();
2657
- }
2658
- }, [toggleChat, openByDefault]);
2659
2656
  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
2657
  };
2661
2658
 
2662
2659
  // src/Prebuilt/components/Footer/ParticipantList.jsx
2663
- import React36, { Fragment as Fragment7, useCallback as useCallback6, useEffect as useEffect6, useState as useState19 } from "react";
2660
+ import React35, { Fragment as Fragment7, useCallback as useCallback6, useEffect as useEffect5, useState as useState18 } from "react";
2664
2661
  import { useDebounce, useMedia as useMedia4 } from "react-use";
2665
2662
  import {
2666
2663
  selectIsPeerAudioEnabled,
2667
2664
  selectLocalPeerID as selectLocalPeerID4,
2668
- selectPeerCount as selectPeerCount3,
2665
+ selectPeerCount as selectPeerCount2,
2669
2666
  selectPeerMetadata as selectPeerMetadata2,
2670
2667
  selectPeersByCondition as selectPeersByCondition2,
2671
2668
  selectPermissions as selectPermissions8,
2672
2669
  useHMSActions as useHMSActions11,
2673
- useHMSStore as useHMSStore17
2670
+ useHMSStore as useHMSStore16
2674
2671
  } from "@100mslive/react-sdk";
2675
2672
  import {
2676
2673
  ChangeRoleIcon as ChangeRoleIcon2,
@@ -2682,86 +2679,14 @@ import {
2682
2679
  VerticalMenuIcon as VerticalMenuIcon4
2683
2680
  } from "@100mslive/react-icons";
2684
2681
 
2685
- // src/Prebuilt/components/Chat/ChatParticipantHeader.jsx
2686
- import React33, { useState as useState17 } from "react";
2687
- import { selectPeerCount as selectPeerCount2, useHMSStore as useHMSStore15 } from "@100mslive/react-sdk";
2688
- import { CrossIcon as CrossIcon5 } from "@100mslive/react-icons";
2689
- var tabTriggerCSS = {
2690
- color: "$on_surface_high",
2691
- p: "$4",
2692
- fontWeight: "$semiBold",
2693
- fontSize: "$sm",
2694
- w: "100%",
2695
- justifyContent: "center"
2696
- };
2697
- var ChatParticipantHeader = React33.memo(({ activeTabValue = SIDE_PANE_OPTIONS.CHAT }) => {
2698
- const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);
2699
- const toggleParticipants = useSidepaneToggle(SIDE_PANE_OPTIONS.PARTICIPANTS);
2700
- const [activeTab, setActiveTab] = useState17(activeTabValue);
2701
- const peerCount = useHMSStore15(selectPeerCount2);
2702
- const { elements } = useRoomLayoutConferencingScreen();
2703
- const showChat = !!(elements == null ? void 0 : elements.chat);
2704
- const showParticipants = !!(elements == null ? void 0 : elements.participant_list);
2705
- const hideTabs = !(showChat && showParticipants);
2706
- return /* @__PURE__ */ React33.createElement(
2707
- Flex,
2708
- {
2709
- align: "center",
2710
- css: {
2711
- color: "$on_primary_high",
2712
- h: "$16"
2713
- }
2714
- },
2715
- hideTabs ? /* @__PURE__ */ React33.createElement(Text, { variant: "sm", css: { fontWeight: "$semiBold", c: "$on_surface_high" } }, showChat ? "Chat" : `Participants (${peerCount})`) : /* @__PURE__ */ React33.createElement(Flex, { css: { w: "100%", bg: "$surface_default", borderRadius: "$2" } }, /* @__PURE__ */ React33.createElement(Tabs.Root, { value: activeTab, onValueChange: setActiveTab, css: { w: "100%" } }, /* @__PURE__ */ React33.createElement(Tabs.List, { css: { w: "100%", p: "$2" } }, /* @__PURE__ */ React33.createElement(
2716
- Tabs.Trigger,
2717
- {
2718
- value: SIDE_PANE_OPTIONS.CHAT,
2719
- onClick: toggleChat,
2720
- css: __spreadProps(__spreadValues({}, tabTriggerCSS), {
2721
- color: activeTab !== SIDE_PANE_OPTIONS.CHAT ? "$on_surface_low" : "$on_surface_high"
2722
- })
2723
- },
2724
- "Chat"
2725
- ), /* @__PURE__ */ React33.createElement(
2726
- Tabs.Trigger,
2727
- {
2728
- value: SIDE_PANE_OPTIONS.PARTICIPANTS,
2729
- onClick: toggleParticipants,
2730
- css: __spreadProps(__spreadValues({}, tabTriggerCSS), {
2731
- color: activeTab !== SIDE_PANE_OPTIONS.PARTICIPANTS ? "$on_surface_low" : "$on_surface_high"
2732
- })
2733
- },
2734
- "Participants (",
2735
- peerCount,
2736
- ")"
2737
- )))),
2738
- /* @__PURE__ */ React33.createElement(
2739
- IconButton,
2740
- {
2741
- css: { ml: "auto" },
2742
- onClick: (e) => {
2743
- e.stopPropagation();
2744
- if (activeTab === SIDE_PANE_OPTIONS.CHAT) {
2745
- toggleChat();
2746
- } else {
2747
- toggleParticipants();
2748
- }
2749
- },
2750
- "data-testid": "close_chat"
2751
- },
2752
- /* @__PURE__ */ React33.createElement(CrossIcon5, null)
2753
- )
2754
- );
2755
- });
2756
-
2757
2682
  // src/Prebuilt/components/Footer/RoleAccordion.tsx
2758
- import React35 from "react";
2683
+ import React34 from "react";
2759
2684
  import { useMeasure } from "react-use";
2760
2685
  import { FixedSizeList } from "react-window";
2761
2686
 
2762
2687
  // src/Prebuilt/components/Footer/RoleOptions.tsx
2763
- import React34, { useState as useState18 } from "react";
2764
- import { selectPermissions as selectPermissions7, useHMSActions as useHMSActions10, useHMSStore as useHMSStore16, useHMSVanillaStore as useHMSVanillaStore2 } from "@100mslive/react-sdk";
2688
+ 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";
2765
2690
  import {
2766
2691
  MicOffIcon as MicOffIcon2,
2767
2692
  MicOnIcon,
@@ -2774,8 +2699,8 @@ import {
2774
2699
  var dropdownItemCSS = { backgroundColor: "$surface_default", gap: "$4", p: "$8" };
2775
2700
  var optionTextCSS = { fontWeight: "$semiBold", color: "$on_surface_high", textTransform: "none" };
2776
2701
  var RoleOptions = ({ roleName, peerList }) => {
2777
- const [openOptions, setOpenOptions] = useState18(false);
2778
- const permissions = useHMSStore16(selectPermissions7);
2702
+ const [openOptions, setOpenOptions] = useState17(false);
2703
+ const permissions = useHMSStore15(selectPermissions7);
2779
2704
  const hmsActions = useHMSActions10();
2780
2705
  const { elements } = useRoomLayoutConferencingScreen();
2781
2706
  const { on_stage_role, off_stage_roles = [] } = (elements == null ? void 0 : elements.on_stage_exp) || {};
@@ -2820,7 +2745,7 @@ var RoleOptions = ({ roleName, peerList }) => {
2820
2745
  console.error(e);
2821
2746
  }
2822
2747
  });
2823
- return /* @__PURE__ */ React34.createElement(Dropdown.Root, { open: openOptions, onOpenChange: setOpenOptions }, /* @__PURE__ */ React34.createElement(
2748
+ return /* @__PURE__ */ React33.createElement(Dropdown.Root, { open: openOptions, onOpenChange: setOpenOptions }, /* @__PURE__ */ React33.createElement(
2824
2749
  Dropdown.Trigger,
2825
2750
  {
2826
2751
  onClick: (e) => e.stopPropagation(),
@@ -2839,40 +2764,40 @@ var RoleOptions = ({ roleName, peerList }) => {
2839
2764
  }
2840
2765
  }
2841
2766
  },
2842
- /* @__PURE__ */ React34.createElement(Flex, null, /* @__PURE__ */ React34.createElement(VerticalMenuIcon3, null))
2843
- ), /* @__PURE__ */ React34.createElement(
2767
+ /* @__PURE__ */ React33.createElement(Flex, null, /* @__PURE__ */ React33.createElement(VerticalMenuIcon3, null))
2768
+ ), /* @__PURE__ */ React33.createElement(
2844
2769
  Dropdown.Content,
2845
2770
  {
2846
2771
  onClick: (e) => e.stopPropagation(),
2847
2772
  css: { w: "max-content", maxWidth: "$64", bg: "$surface_default", py: 0 },
2848
2773
  align: "end"
2849
2774
  },
2850
- canRemoveRoleFromStage && /* @__PURE__ */ React34.createElement(
2775
+ canRemoveRoleFromStage && /* @__PURE__ */ React33.createElement(
2851
2776
  Dropdown.Item,
2852
2777
  {
2853
2778
  css: __spreadProps(__spreadValues({}, dropdownItemCSS), { borderBottom: "1px solid $border_bright" }),
2854
2779
  onClick: removeAllFromStage
2855
2780
  },
2856
- /* @__PURE__ */ React34.createElement(PersonRectangleIcon, null),
2857
- /* @__PURE__ */ React34.createElement(Text, { variant: "sm", css: optionTextCSS }, "Remove all from Stage")
2781
+ /* @__PURE__ */ React33.createElement(PersonRectangleIcon, null),
2782
+ /* @__PURE__ */ React33.createElement(Text, { variant: "sm", css: optionTextCSS }, "Remove all from Stage")
2858
2783
  ),
2859
- canMuteRole && /* @__PURE__ */ React34.createElement(React34.Fragment, null, /* @__PURE__ */ React34.createElement(Dropdown.Item, { css: dropdownItemCSS, onClick: () => setTrackEnabled("audio", !allPeersHaveAudioOn) }, allPeersHaveAudioOn ? /* @__PURE__ */ React34.createElement(MicOffIcon2, null) : /* @__PURE__ */ React34.createElement(MicOnIcon, null), /* @__PURE__ */ React34.createElement(Text, { variant: "sm", css: optionTextCSS }, allPeersHaveAudioOn ? "Mute" : "Unmute", " Audio")), /* @__PURE__ */ React34.createElement(
2784
+ canMuteRole && /* @__PURE__ */ React33.createElement(React33.Fragment, null, /* @__PURE__ */ React33.createElement(Dropdown.Item, { css: dropdownItemCSS, onClick: () => setTrackEnabled("audio", !allPeersHaveAudioOn) }, allPeersHaveAudioOn ? /* @__PURE__ */ React33.createElement(MicOffIcon2, null) : /* @__PURE__ */ React33.createElement(MicOnIcon, null), /* @__PURE__ */ React33.createElement(Text, { variant: "sm", css: optionTextCSS }, allPeersHaveAudioOn ? "Mute" : "Unmute", " Audio")), /* @__PURE__ */ React33.createElement(
2860
2785
  Dropdown.Item,
2861
2786
  {
2862
2787
  css: __spreadProps(__spreadValues({}, dropdownItemCSS), { borderTop: "1px solid $border_bright" }),
2863
2788
  onClick: () => setTrackEnabled("video", !allPeersHaveVideoOn)
2864
2789
  },
2865
- allPeersHaveVideoOn ? /* @__PURE__ */ React34.createElement(VideoOffIcon, null) : /* @__PURE__ */ React34.createElement(VideoOnIcon, null),
2866
- /* @__PURE__ */ React34.createElement(Text, { variant: "sm", css: optionTextCSS }, allPeersHaveVideoOn ? "Mute" : "Unmute", " Video")
2790
+ allPeersHaveVideoOn ? /* @__PURE__ */ React33.createElement(VideoOffIcon, null) : /* @__PURE__ */ React33.createElement(VideoOnIcon, null),
2791
+ /* @__PURE__ */ React33.createElement(Text, { variant: "sm", css: optionTextCSS }, allPeersHaveVideoOn ? "Mute" : "Unmute", " Video")
2867
2792
  )),
2868
- canRemoveRoleFromRoom && /* @__PURE__ */ React34.createElement(
2793
+ canRemoveRoleFromRoom && /* @__PURE__ */ React33.createElement(
2869
2794
  Dropdown.Item,
2870
2795
  {
2871
2796
  css: __spreadProps(__spreadValues({}, dropdownItemCSS), { borderTop: "1px solid $border_bright", color: "$alert_error_default" }),
2872
2797
  onClick: removePeersFromRoom
2873
2798
  },
2874
- /* @__PURE__ */ React34.createElement(RemoveUserIcon, null),
2875
- /* @__PURE__ */ React34.createElement(Text, { variant: "sm", css: __spreadProps(__spreadValues({}, optionTextCSS), { color: "inherit" }) }, "Remove all from Room")
2799
+ /* @__PURE__ */ React33.createElement(RemoveUserIcon, null),
2800
+ /* @__PURE__ */ React33.createElement(Text, { variant: "sm", css: __spreadProps(__spreadValues({}, optionTextCSS), { color: "inherit" }) }, "Remove all from Room")
2876
2801
  )
2877
2802
  ));
2878
2803
  };
@@ -2882,8 +2807,8 @@ var ROW_HEIGHT = 50;
2882
2807
  function itemKey(index, data3) {
2883
2808
  return data3.peerList[index].id;
2884
2809
  }
2885
- var VirtualizedParticipantItem = React35.memo(({ index, data: data3 }) => {
2886
- return /* @__PURE__ */ React35.createElement(Participant, { key: data3.peerList[index].id, peer: data3.peerList[index], isConnected: data3.isConnected });
2810
+ var VirtualizedParticipantItem = React34.memo(({ index, data: data3 }) => {
2811
+ return /* @__PURE__ */ React34.createElement(Participant, { key: data3.peerList[index].id, peer: data3.peerList[index], isConnected: data3.isConnected });
2887
2812
  });
2888
2813
  var RoleAccordion = ({
2889
2814
  peerList = [],
@@ -2898,7 +2823,7 @@ var RoleAccordion = ({
2898
2823
  return null;
2899
2824
  }
2900
2825
  const height = ROW_HEIGHT * peerList.length;
2901
- return /* @__PURE__ */ React35.createElement(Flex, { direction: "column", css: { flexGrow: 1, "&:hover .role_actions": { visibility: "visible" } }, ref }, /* @__PURE__ */ React35.createElement(
2826
+ return /* @__PURE__ */ React34.createElement(Flex, { direction: "column", css: { "&:hover .role_actions": { visibility: "visible" } }, ref }, /* @__PURE__ */ React34.createElement(
2902
2827
  Accordion.Root,
2903
2828
  {
2904
2829
  type: "single",
@@ -2906,7 +2831,7 @@ var RoleAccordion = ({
2906
2831
  defaultValue: roleName,
2907
2832
  css: { borderRadius: "$1", border: "1px solid $border_bright" }
2908
2833
  },
2909
- /* @__PURE__ */ React35.createElement(Accordion.Item, { value: roleName }, /* @__PURE__ */ React35.createElement(
2834
+ /* @__PURE__ */ React34.createElement(Accordion.Item, { value: roleName }, /* @__PURE__ */ React34.createElement(
2910
2835
  Accordion.Header,
2911
2836
  {
2912
2837
  iconStyles: { c: "$on_surface_high" },
@@ -2918,7 +2843,7 @@ var RoleAccordion = ({
2918
2843
  c: "$on_surface_medium"
2919
2844
  }
2920
2845
  },
2921
- /* @__PURE__ */ React35.createElement(Flex, { justify: "between", css: { flexGrow: 1, pr: "$6" } }, /* @__PURE__ */ React35.createElement(
2846
+ /* @__PURE__ */ React34.createElement(Flex, { justify: "between", css: { flexGrow: 1, pr: "$6" } }, /* @__PURE__ */ React34.createElement(
2922
2847
  Text,
2923
2848
  {
2924
2849
  variant: "sm",
@@ -2927,8 +2852,8 @@ var RoleAccordion = ({
2927
2852
  roleName,
2928
2853
  " ",
2929
2854
  `(${getFormattedCount(peerList.length)})`
2930
- ), /* @__PURE__ */ React35.createElement(RoleOptions, { roleName, peerList }))
2931
- ), /* @__PURE__ */ React35.createElement(Accordion.Content, null, /* @__PURE__ */ React35.createElement(Box, { css: { borderTop: "1px solid $border_default" } }), /* @__PURE__ */ React35.createElement(
2855
+ ), /* @__PURE__ */ React34.createElement(RoleOptions, { roleName, peerList }))
2856
+ ), /* @__PURE__ */ React34.createElement(Accordion.Content, null, /* @__PURE__ */ React34.createElement(Box, { css: { borderTop: "1px solid $border_default" } }), /* @__PURE__ */ React34.createElement(
2932
2857
  FixedSizeList,
2933
2858
  {
2934
2859
  itemSize: ROW_HEIGHT,
@@ -2945,10 +2870,10 @@ var RoleAccordion = ({
2945
2870
 
2946
2871
  // src/Prebuilt/components/Footer/ParticipantList.jsx
2947
2872
  var ParticipantList = () => {
2948
- const [filter, setFilter] = useState19();
2873
+ const [filter, setFilter] = useState18();
2949
2874
  const { participants, isConnected, peerCount } = useParticipants(filter);
2950
2875
  const peersOrderedByRoles = {};
2951
- const handRaisedPeers = useHMSStore17(selectPeersByCondition2((peer) => {
2876
+ const handRaisedPeers = useHMSStore16(selectPeersByCondition2((peer) => {
2952
2877
  var _a;
2953
2878
  return (_a = JSON.parse(peer.metadata || "{}")) == null ? void 0 : _a.isHandRaised;
2954
2879
  }));
@@ -2970,7 +2895,7 @@ var ParticipantList = () => {
2970
2895
  if (peerCount === 0) {
2971
2896
  return null;
2972
2897
  }
2973
- return /* @__PURE__ */ React36.createElement(Fragment7, null, /* @__PURE__ */ React36.createElement(Flex, { direction: "column", css: { size: "100%", gap: "$4" } }, /* @__PURE__ */ React36.createElement(ChatParticipantHeader, { activeTabValue: SIDE_PANE_OPTIONS.PARTICIPANTS }), !(filter == null ? void 0 : filter.search) && participants.length === 0 ? null : /* @__PURE__ */ React36.createElement(ParticipantSearch, { onSearch, inSidePane: true }), participants.length === 0 ? /* @__PURE__ */ React36.createElement(Flex, { align: "center", justify: "center", css: { w: "100%", p: "$8 0" } }, /* @__PURE__ */ React36.createElement(Text, { variant: "sm" }, !filter ? "No participants" : "No matching participants")) : null, /* @__PURE__ */ React36.createElement(
2898
+ return /* @__PURE__ */ React35.createElement(Fragment7, null, /* @__PURE__ */ React35.createElement(Flex, { direction: "column", css: { size: "100%", gap: "$4" } }, !(filter == null ? void 0 : filter.search) && participants.length === 0 ? null : /* @__PURE__ */ React35.createElement(ParticipantSearch, { onSearch, inSidePane: true }), participants.length === 0 ? /* @__PURE__ */ React35.createElement(Flex, { align: "center", justify: "center", css: { w: "100%", p: "$8 0" } }, /* @__PURE__ */ React35.createElement(Text, { variant: "sm" }, !filter ? "No participants" : "No matching participants")) : null, /* @__PURE__ */ React35.createElement(
2974
2899
  VirtualizedParticipants,
2975
2900
  {
2976
2901
  peersOrderedByRoles,
@@ -2981,10 +2906,10 @@ var ParticipantList = () => {
2981
2906
  )));
2982
2907
  };
2983
2908
  var ParticipantCount = () => {
2984
- const peerCount = useHMSStore17(selectPeerCount3);
2909
+ const peerCount = useHMSStore16(selectPeerCount2);
2985
2910
  const toggleSidepane = useSidepaneToggle(SIDE_PANE_OPTIONS.PARTICIPANTS);
2986
2911
  const isParticipantsOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.PARTICIPANTS);
2987
- useEffect6(() => {
2912
+ useEffect5(() => {
2988
2913
  if (isParticipantsOpen && peerCount === 0) {
2989
2914
  toggleSidepane();
2990
2915
  }
@@ -2992,7 +2917,7 @@ var ParticipantCount = () => {
2992
2917
  if (peerCount === 0) {
2993
2918
  return null;
2994
2919
  }
2995
- return /* @__PURE__ */ React36.createElement(
2920
+ return /* @__PURE__ */ React35.createElement(
2996
2921
  IconButton_default,
2997
2922
  {
2998
2923
  css: {
@@ -3008,24 +2933,25 @@ var ParticipantCount = () => {
3008
2933
  active: !isParticipantsOpen,
3009
2934
  "data-testid": "participant_list"
3010
2935
  },
3011
- /* @__PURE__ */ React36.createElement(PeopleIcon2, null),
3012
- /* @__PURE__ */ React36.createElement(Text, { variant: "sm", css: { mx: "$4", c: "inherit" } }, peerCount)
2936
+ /* @__PURE__ */ React35.createElement(PeopleIcon2, null),
2937
+ /* @__PURE__ */ React35.createElement(Text, { variant: "sm", css: { mx: "$4", c: "inherit" } }, peerCount)
3013
2938
  );
3014
2939
  };
3015
2940
  var VirtualizedParticipants = ({ peersOrderedByRoles = {}, isConnected, filter, handRaisedList = [] }) => {
3016
- return /* @__PURE__ */ React36.createElement(
2941
+ return /* @__PURE__ */ React35.createElement(
3017
2942
  Flex,
3018
2943
  {
3019
2944
  direction: "column",
3020
2945
  css: {
3021
2946
  gap: "$8",
3022
- maxHeight: "100%",
3023
2947
  overflowY: "auto",
3024
2948
  overflowX: "hidden",
3025
- pr: "$3"
2949
+ pr: "$10",
2950
+ mr: "-$10",
2951
+ flex: "1 1 0"
3026
2952
  }
3027
2953
  },
3028
- /* @__PURE__ */ React36.createElement(
2954
+ /* @__PURE__ */ React35.createElement(
3029
2955
  RoleAccordion,
3030
2956
  {
3031
2957
  peerList: handRaisedList,
@@ -3035,7 +2961,7 @@ var VirtualizedParticipants = ({ peersOrderedByRoles = {}, isConnected, filter,
3035
2961
  isHandRaisedAccordion: true
3036
2962
  }
3037
2963
  ),
3038
- Object.keys(peersOrderedByRoles).map((role) => /* @__PURE__ */ React36.createElement(
2964
+ Object.keys(peersOrderedByRoles).map((role) => /* @__PURE__ */ React35.createElement(
3039
2965
  RoleAccordion,
3040
2966
  {
3041
2967
  key: role,
@@ -3048,8 +2974,8 @@ var VirtualizedParticipants = ({ peersOrderedByRoles = {}, isConnected, filter,
3048
2974
  );
3049
2975
  };
3050
2976
  var Participant = ({ peer, isConnected }) => {
3051
- const localPeerId = useHMSStore17(selectLocalPeerID4);
3052
- return /* @__PURE__ */ React36.createElement(
2977
+ const localPeerId = useHMSStore16(selectLocalPeerID4);
2978
+ return /* @__PURE__ */ React35.createElement(
3053
2979
  Flex,
3054
2980
  {
3055
2981
  key: peer.id,
@@ -3064,17 +2990,17 @@ var Participant = ({ peer, isConnected }) => {
3064
2990
  justify: "between",
3065
2991
  "data-testid": "participant_" + peer.name
3066
2992
  },
3067
- /* @__PURE__ */ React36.createElement(Text, { variant: "sm", css: __spreadProps(__spreadValues({}, textEllipsis(150)), { fontWeight: "$semiBold", color: "$on_surface_high" }) }, peer.name, " ", localPeerId === peer.id ? "(You)" : ""),
3068
- isConnected ? /* @__PURE__ */ React36.createElement(ParticipantActions, { peerId: peer.id, isLocal: peer.id === localPeerId, role: peer.roleName }) : null
2993
+ /* @__PURE__ */ React35.createElement(Text, { variant: "sm", css: __spreadProps(__spreadValues({}, textEllipsis(150)), { fontWeight: "$semiBold", color: "$on_surface_high" }) }, peer.name, " ", localPeerId === peer.id ? "(You)" : ""),
2994
+ isConnected ? /* @__PURE__ */ React35.createElement(ParticipantActions, { peerId: peer.id, isLocal: peer.id === localPeerId, role: peer.roleName }) : null
3069
2995
  );
3070
2996
  };
3071
- var ParticipantActions = React36.memo(({ peerId, role, isLocal }) => {
2997
+ var ParticipantActions = React35.memo(({ peerId, role, isLocal }) => {
3072
2998
  var _a, _b;
3073
- const isHandRaised = (_a = useHMSStore17(selectPeerMetadata2(peerId))) == null ? void 0 : _a.isHandRaised;
3074
- const canChangeRole = (_b = useHMSStore17(selectPermissions8)) == null ? void 0 : _b.changeRole;
2999
+ const isHandRaised = (_a = useHMSStore16(selectPeerMetadata2(peerId))) == null ? void 0 : _a.isHandRaised;
3000
+ const canChangeRole = (_b = useHMSStore16(selectPermissions8)) == null ? void 0 : _b.changeRole;
3075
3001
  const shouldShowMoreActions = canChangeRole;
3076
- const isAudioMuted = !useHMSStore17(selectIsPeerAudioEnabled(peerId));
3077
- return /* @__PURE__ */ React36.createElement(
3002
+ const isAudioMuted = !useHMSStore16(selectIsPeerAudioEnabled(peerId));
3003
+ return /* @__PURE__ */ React35.createElement(
3078
3004
  Flex,
3079
3005
  {
3080
3006
  align: "center",
@@ -3083,32 +3009,32 @@ var ParticipantActions = React36.memo(({ peerId, role, isLocal }) => {
3083
3009
  gap: "$8"
3084
3010
  }
3085
3011
  },
3086
- /* @__PURE__ */ React36.createElement(ConnectionIndicator, { peerId }),
3087
- isHandRaised && /* @__PURE__ */ React36.createElement(
3012
+ /* @__PURE__ */ React35.createElement(ConnectionIndicator, { peerId }),
3013
+ isHandRaised && /* @__PURE__ */ React35.createElement(
3088
3014
  Flex,
3089
3015
  {
3090
3016
  align: "center",
3091
3017
  justify: "center",
3092
3018
  css: { p: "$1", c: "$on_surface_high", bg: "$surface_bright", borderRadius: "$round" }
3093
3019
  },
3094
- /* @__PURE__ */ React36.createElement(HandIcon3, { height: 19, width: 19 })
3020
+ /* @__PURE__ */ React35.createElement(HandIcon3, { height: 19, width: 19 })
3095
3021
  ),
3096
- isAudioMuted ? /* @__PURE__ */ React36.createElement(
3022
+ isAudioMuted ? /* @__PURE__ */ React35.createElement(
3097
3023
  Flex,
3098
3024
  {
3099
3025
  align: "center",
3100
3026
  justify: "center",
3101
3027
  css: { p: "$2", c: "$on_surface_high", bg: "$surface_bright", borderRadius: "$round" }
3102
3028
  },
3103
- /* @__PURE__ */ React36.createElement(MicOffIcon3, { height: 19, width: 19 })
3029
+ /* @__PURE__ */ React35.createElement(MicOffIcon3, { height: 19, width: 19 })
3104
3030
  ) : null,
3105
- shouldShowMoreActions && !isInternalRole(role) && !isLocal ? /* @__PURE__ */ React36.createElement(ParticipantMoreActions, { peerId, role }) : null
3031
+ shouldShowMoreActions && !isInternalRole(role) && !isLocal ? /* @__PURE__ */ React35.createElement(ParticipantMoreActions, { peerId, role }) : null
3106
3032
  );
3107
3033
  });
3108
3034
  var ParticipantMoreActions = ({ peerId, role }) => {
3109
3035
  var _a;
3110
3036
  const hmsActions = useHMSActions11();
3111
- const { changeRole: canChangeRole, removeOthers: canRemoveOthers } = useHMSStore17(selectPermissions8);
3037
+ const { changeRole: canChangeRole, removeOthers: canRemoveOthers } = useHMSStore16(selectPermissions8);
3112
3038
  const { elements } = useRoomLayoutConferencingScreen();
3113
3039
  const {
3114
3040
  bring_to_stage_label,
@@ -3118,10 +3044,10 @@ var ParticipantMoreActions = ({ peerId, role }) => {
3118
3044
  } = elements.on_stage_exp || {};
3119
3045
  const isInStage = role === on_stage_role;
3120
3046
  const shouldShowStageRoleChange = canChangeRole && (isInStage && remove_from_stage_label || (off_stage_roles == null ? void 0 : off_stage_roles.includes(role)) && bring_to_stage_label);
3121
- const prevRole = (_a = useHMSStore17(selectPeerMetadata2(peerId))) == null ? void 0 : _a.prevRole;
3122
- const localPeerId = useHMSStore17(selectLocalPeerID4);
3047
+ const prevRole = (_a = useHMSStore16(selectPeerMetadata2(peerId))) == null ? void 0 : _a.prevRole;
3048
+ const localPeerId = useHMSStore16(selectLocalPeerID4);
3123
3049
  const isLocal = localPeerId === peerId;
3124
- const [open, setOpen] = useState19(false);
3050
+ const [open, setOpen] = useState18(false);
3125
3051
  const handleStageAction = () => __async(void 0, null, function* () {
3126
3052
  if (isInStage) {
3127
3053
  prevRole && hmsActions.changeRoleOfPeer(peerId, prevRole, true);
@@ -3130,7 +3056,7 @@ var ParticipantMoreActions = ({ peerId, role }) => {
3130
3056
  }
3131
3057
  setOpen(false);
3132
3058
  });
3133
- return /* @__PURE__ */ React36.createElement(Dropdown.Root, { open, onOpenChange: (value) => setOpen(value), modal: false }, /* @__PURE__ */ React36.createElement(
3059
+ return /* @__PURE__ */ React35.createElement(Dropdown.Root, { open, onOpenChange: (value) => setOpen(value), modal: false }, /* @__PURE__ */ React35.createElement(
3134
3060
  Dropdown.Trigger,
3135
3061
  {
3136
3062
  asChild: true,
@@ -3150,8 +3076,8 @@ var ParticipantMoreActions = ({ peerId, role }) => {
3150
3076
  },
3151
3077
  tabIndex: 0
3152
3078
  },
3153
- /* @__PURE__ */ React36.createElement(Box, { css: { my: "auto" } }, /* @__PURE__ */ React36.createElement(VerticalMenuIcon4, null))
3154
- ), /* @__PURE__ */ React36.createElement(Dropdown.Portal, null, /* @__PURE__ */ React36.createElement(Dropdown.Content, { align: "end", sideOffset: 8, css: { w: "$64", bg: "$surface_default" } }, shouldShowStageRoleChange ? /* @__PURE__ */ React36.createElement(Dropdown.Item, { css: { bg: "$surface_default" }, onClick: () => handleStageAction() }, /* @__PURE__ */ React36.createElement(ChangeRoleIcon2, null), /* @__PURE__ */ React36.createElement(Text, { variant: "sm", css: { ml: "$4", fontWeight: "$semiBold", c: "$on_surface_high" } }, isInStage ? remove_from_stage_label : bring_to_stage_label)) : null, !isLocal && canRemoveOthers && /* @__PURE__ */ React36.createElement(
3079
+ /* @__PURE__ */ React35.createElement(Box, { css: { my: "auto" } }, /* @__PURE__ */ React35.createElement(VerticalMenuIcon4, null))
3080
+ ), /* @__PURE__ */ React35.createElement(Dropdown.Portal, null, /* @__PURE__ */ React35.createElement(Dropdown.Content, { align: "end", sideOffset: 8, css: { w: "$64", bg: "$surface_default" } }, shouldShowStageRoleChange ? /* @__PURE__ */ React35.createElement(Dropdown.Item, { css: { bg: "$surface_default" }, onClick: () => handleStageAction() }, /* @__PURE__ */ React35.createElement(ChangeRoleIcon2, null), /* @__PURE__ */ React35.createElement(Text, { variant: "sm", css: { ml: "$4", fontWeight: "$semiBold", c: "$on_surface_high" } }, isInStage ? remove_from_stage_label : bring_to_stage_label)) : null, !isLocal && canRemoveOthers && /* @__PURE__ */ React35.createElement(
3155
3081
  Dropdown.Item,
3156
3082
  {
3157
3083
  css: { color: "$alert_error_default", bg: "$surface_default" },
@@ -3163,12 +3089,12 @@ var ParticipantMoreActions = ({ peerId, role }) => {
3163
3089
  }
3164
3090
  })
3165
3091
  },
3166
- /* @__PURE__ */ React36.createElement(PeopleRemoveIcon, null),
3167
- /* @__PURE__ */ React36.createElement(Text, { variant: "sm", css: { ml: "$4", color: "inherit", fontWeight: "$semiBold" } }, "Remove Participant")
3092
+ /* @__PURE__ */ React35.createElement(PeopleRemoveIcon, null),
3093
+ /* @__PURE__ */ React35.createElement(Text, { variant: "sm", css: { ml: "$4", color: "inherit", fontWeight: "$semiBold" } }, "Remove Participant")
3168
3094
  ))));
3169
3095
  };
3170
3096
  var ParticipantSearch = ({ onSearch, placeholder, inSidePane = false }) => {
3171
- const [value, setValue] = React36.useState("");
3097
+ const [value, setValue] = React35.useState("");
3172
3098
  const isMobile = useMedia4(config.media.md);
3173
3099
  useDebounce(
3174
3100
  () => {
@@ -3177,20 +3103,20 @@ var ParticipantSearch = ({ onSearch, placeholder, inSidePane = false }) => {
3177
3103
  300,
3178
3104
  [value, onSearch]
3179
3105
  );
3180
- return /* @__PURE__ */ React36.createElement(
3106
+ return /* @__PURE__ */ React35.createElement(
3181
3107
  Flex,
3182
3108
  {
3183
3109
  align: "center",
3184
3110
  css: {
3185
- p: isMobile ? "$0 $6" : "$2 0",
3111
+ p: isMobile ? "0" : "$2 0",
3186
3112
  mb: "$2",
3187
3113
  position: "relative",
3188
3114
  color: "$on_surface_medium",
3189
3115
  mt: inSidePane ? "$4" : ""
3190
3116
  }
3191
3117
  },
3192
- /* @__PURE__ */ React36.createElement(SearchIcon, { style: { position: "absolute", left: isMobile ? "1.25rem" : "0.5rem" } }),
3193
- /* @__PURE__ */ React36.createElement(
3118
+ /* @__PURE__ */ React35.createElement(SearchIcon, { style: { position: "absolute", left: isMobile ? "1.25rem" : "0.5rem" } }),
3119
+ /* @__PURE__ */ React35.createElement(
3194
3120
  Input,
3195
3121
  {
3196
3122
  type: "text",
@@ -3211,7 +3137,7 @@ var ParticipantSearch = ({ onSearch, placeholder, inSidePane = false }) => {
3211
3137
  };
3212
3138
 
3213
3139
  // src/Prebuilt/components/Footer/Footer.tsx
3214
- var VirtualBackground = React37.lazy(() => import("./VirtualBackground-UM2FOUHQ.js"));
3140
+ var VirtualBackground = React36.lazy(() => import("./VirtualBackground-6EP3X7MO.js"));
3215
3141
  var Footer2 = ({
3216
3142
  screenType,
3217
3143
  elements
@@ -3220,8 +3146,14 @@ var Footer2 = ({
3220
3146
  const isMobile = useMedia5(config.media.md);
3221
3147
  const isOverlayChat = !!((_a = elements == null ? void 0 : elements.chat) == null ? void 0 : _a.is_overlay);
3222
3148
  const openByDefault = ((_b = elements == null ? void 0 : elements.chat) == null ? void 0 : _b.initial_state) === Chat_ChatState.CHAT_STATE_OPEN;
3223
- const isVideoOn = useHMSStore18(selectIsLocalVideoEnabled2);
3224
- return /* @__PURE__ */ React37.createElement(
3149
+ const isChatOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.CHAT);
3150
+ const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);
3151
+ useEffect6(() => {
3152
+ if (!isChatOpen && openByDefault) {
3153
+ toggleChat();
3154
+ }
3155
+ }, [toggleChat, openByDefault]);
3156
+ return /* @__PURE__ */ React36.createElement(
3225
3157
  Footer.Root,
3226
3158
  {
3227
3159
  css: {
@@ -3231,11 +3163,11 @@ var Footer2 = ({
3231
3163
  gap: "$10",
3232
3164
  position: "relative",
3233
3165
  // To prevent it from showing over the sidepane if chat type is not overlay
3234
- zIndex: isOverlayChat ? 20 : 1
3166
+ zIndex: isOverlayChat && isChatOpen ? 20 : 1
3235
3167
  }
3236
3168
  }
3237
3169
  },
3238
- /* @__PURE__ */ React37.createElement(
3170
+ /* @__PURE__ */ React36.createElement(
3239
3171
  Footer.Left,
3240
3172
  {
3241
3173
  css: {
@@ -3246,11 +3178,11 @@ var Footer2 = ({
3246
3178
  }
3247
3179
  }
3248
3180
  },
3249
- isMobile ? /* @__PURE__ */ React37.createElement(LeaveRoom, { screenType }) : null,
3250
- /* @__PURE__ */ React37.createElement(AudioVideoToggle, null),
3251
- isMobile ? null : /* @__PURE__ */ React37.createElement(Suspense, { fallback: /* @__PURE__ */ React37.createElement(React37.Fragment, null) }, isVideoOn ? /* @__PURE__ */ React37.createElement(VirtualBackground, null) : null)
3181
+ isMobile ? /* @__PURE__ */ React36.createElement(LeaveRoom, { screenType }) : null,
3182
+ /* @__PURE__ */ React36.createElement(AudioVideoToggle, null),
3183
+ isMobile ? null : /* @__PURE__ */ React36.createElement(Suspense, { fallback: /* @__PURE__ */ React36.createElement(React36.Fragment, null) }, /* @__PURE__ */ React36.createElement(VirtualBackground, null))
3252
3184
  ),
3253
- /* @__PURE__ */ React37.createElement(
3185
+ /* @__PURE__ */ React36.createElement(
3254
3186
  Footer.Center,
3255
3187
  {
3256
3188
  css: {
@@ -3260,18 +3192,18 @@ var Footer2 = ({
3260
3192
  }
3261
3193
  }
3262
3194
  },
3263
- isMobile ? /* @__PURE__ */ React37.createElement(React37.Fragment, null, screenType === "hls_live_streaming" ? /* @__PURE__ */ React37.createElement(RaiseHand, null) : null, (elements == null ? void 0 : elements.chat) && /* @__PURE__ */ React37.createElement(ChatToggle, { openByDefault }), /* @__PURE__ */ React37.createElement(MoreSettings, { elements, screenType })) : /* @__PURE__ */ React37.createElement(React37.Fragment, null, /* @__PURE__ */ React37.createElement(ScreenshareToggle, null), /* @__PURE__ */ React37.createElement(RaiseHand, null), (elements == null ? void 0 : elements.emoji_reactions) && /* @__PURE__ */ React37.createElement(EmojiReaction, null), /* @__PURE__ */ React37.createElement(LeaveRoom, { screenType }))
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 }))
3264
3196
  ),
3265
- /* @__PURE__ */ React37.createElement(Footer.Right, null, !isMobile && (elements == null ? void 0 : elements.chat) && /* @__PURE__ */ React37.createElement(ChatToggle, { openByDefault }), (elements == null ? void 0 : elements.participant_list) && /* @__PURE__ */ React37.createElement(ParticipantCount, null), /* @__PURE__ */ React37.createElement(MoreSettings, { elements, screenType }))
3197
+ /* @__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 }))
3266
3198
  );
3267
3199
  };
3268
3200
 
3269
3201
  // src/Prebuilt/components/Notifications/HLSFailureModal.jsx
3270
- import React38, { useCallback as useCallback7, useState as useState20 } from "react";
3271
- import { selectHLSState as selectHLSState2, useHMSActions as useHMSActions12, useHMSStore as useHMSStore19 } from "@100mslive/react-sdk";
3202
+ 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";
3272
3204
  function HLSFailureModal() {
3273
- const { hlsError } = useHMSStore19(selectHLSState2).error || false;
3274
- const [openModal, setOpenModal] = useState20(!!hlsError);
3205
+ const { hlsError } = useHMSStore17(selectHLSState2).error || false;
3206
+ const [openModal, setOpenModal] = useState19(!!hlsError);
3275
3207
  const hmsActions = useHMSActions12();
3276
3208
  const [isHLSStarted, setHLSStarted] = useSetAppDataByKey(APP_DATA.hlsStarted);
3277
3209
  const startHLS = useCallback7(() => __async(this, null, function* () {
@@ -3289,7 +3221,7 @@ function HLSFailureModal() {
3289
3221
  setHLSStarted(false);
3290
3222
  }
3291
3223
  }), [hmsActions, isHLSStarted, setHLSStarted]);
3292
- return hlsError ? /* @__PURE__ */ React38.createElement(
3224
+ return hlsError ? /* @__PURE__ */ React37.createElement(
3293
3225
  Dialog.Root,
3294
3226
  {
3295
3227
  open: openModal,
@@ -3299,7 +3231,7 @@ function HLSFailureModal() {
3299
3231
  }
3300
3232
  }
3301
3233
  },
3302
- /* @__PURE__ */ React38.createElement(Dialog.Portal, null, /* @__PURE__ */ React38.createElement(Dialog.Overlay, null), /* @__PURE__ */ React38.createElement(Dialog.Content, { css: { w: "min(360px, 90%)" } }, /* @__PURE__ */ React38.createElement(
3234
+ /* @__PURE__ */ React37.createElement(Dialog.Portal, null, /* @__PURE__ */ React37.createElement(Dialog.Overlay, null), /* @__PURE__ */ React37.createElement(Dialog.Content, { css: { w: "min(360px, 90%)" } }, /* @__PURE__ */ React37.createElement(
3303
3235
  Dialog.Title,
3304
3236
  {
3305
3237
  css: {
@@ -3310,34 +3242,34 @@ function HLSFailureModal() {
3310
3242
  mt: "$4"
3311
3243
  }
3312
3244
  },
3313
- /* @__PURE__ */ React38.createElement(Text, { variant: "h6", css: { fontWeight: "$semiBold" } }, "Failed to Go Live")
3314
- ), /* @__PURE__ */ React38.createElement(Text, { variant: "sm", css: { mb: "$10", color: "$on_surface_medium" } }, "Something went wrong and your live broadcast failed. Please try again."), /* @__PURE__ */ React38.createElement(Flex, { align: "center", justify: "between", css: { w: "100%", gap: "$8" } }, /* @__PURE__ */ React38.createElement(Button, { outlined: true, variant: "standard", css: { w: "100%" }, onClick: () => setOpenModal(false) }, "Dismiss"), /* @__PURE__ */ React38.createElement(Button, { css: { w: "100%" }, onClick: startHLS }, "Go Live"))))
3245
+ /* @__PURE__ */ React37.createElement(Text, { variant: "h6", css: { fontWeight: "$semiBold" } }, "Failed to Go Live")
3246
+ ), /* @__PURE__ */ React37.createElement(Text, { variant: "sm", css: { mb: "$10", color: "$on_surface_medium" } }, "Something went wrong and your live broadcast failed. Please try again."), /* @__PURE__ */ React37.createElement(Flex, { align: "center", justify: "between", css: { w: "100%", gap: "$8" } }, /* @__PURE__ */ React37.createElement(Button, { outlined: true, variant: "standard", css: { w: "100%" }, onClick: () => setOpenModal(false) }, "Dismiss"), /* @__PURE__ */ React37.createElement(Button, { css: { w: "100%" }, onClick: startHLS }, "Go Live"))))
3315
3247
  ) : null;
3316
3248
  }
3317
3249
 
3318
3250
  // src/Prebuilt/layouts/VideoStreamingSection.tsx
3319
- import React60, { Suspense as Suspense2, useEffect as useEffect22 } from "react";
3320
- import { selectIsConnectedToRoom as selectIsConnectedToRoom6, selectLocalPeerRoleName as selectLocalPeerRoleName2, useHMSActions as useHMSActions20, useHMSStore as useHMSStore35 } from "@100mslive/react-sdk";
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";
3321
3253
 
3322
3254
  // src/Prebuilt/components/VideoLayouts/GridLayout.tsx
3323
- import React50, { useEffect as useEffect14, useMemo as useMemo6, useState as useState27 } from "react";
3324
- import { selectPeers as selectPeers2, selectPeerScreenSharing, useHMSStore as useHMSStore25, useHMSVanillaStore as useHMSVanillaStore4 } from "@100mslive/react-sdk";
3255
+ import React49, { useEffect as useEffect14, useMemo as useMemo6, useState as useState26 } from "react";
3256
+ import { selectPeers as selectPeers2, selectPeerScreenSharing, useHMSStore as useHMSStore23, useHMSVanillaStore as useHMSVanillaStore4 } from "@100mslive/react-sdk";
3325
3257
 
3326
3258
  // src/Prebuilt/components/VideoLayouts/EqualProminence.tsx
3327
- import React43, { useEffect as useEffect10, useMemo as useMemo3, useState as useState22 } from "react";
3259
+ import React42, { useEffect as useEffect10, useMemo as useMemo3, useState as useState21 } from "react";
3328
3260
  import { useMedia as useMedia8 } from "react-use";
3329
- import { selectLocalPeer as selectLocalPeer3, useHMSStore as useHMSStore21 } from "@100mslive/react-sdk";
3261
+ import { selectLocalPeer as selectLocalPeer3, useHMSStore as useHMSStore19 } from "@100mslive/react-sdk";
3330
3262
 
3331
3263
  // src/Prebuilt/components/InsetTile.tsx
3332
- import React40, { useEffect as useEffect7, useRef as useRef6 } from "react";
3264
+ import React39, { useEffect as useEffect7, useRef as useRef6 } from "react";
3333
3265
  import Draggable from "react-draggable";
3334
3266
  import { useMedia as useMedia6 } from "react-use";
3335
- import { selectIsAllowedToPublish as selectIsAllowedToPublish2, selectLocalPeer as selectLocalPeer2, selectVideoTrackByID, useHMSStore as useHMSStore20 } from "@100mslive/react-sdk";
3267
+ import { selectIsAllowedToPublish as selectIsAllowedToPublish2, selectLocalPeer as selectLocalPeer2, selectVideoTrackByID, useHMSStore as useHMSStore18 } from "@100mslive/react-sdk";
3336
3268
  import { ExpandIcon as ExpandIcon2 } from "@100mslive/react-icons";
3337
3269
 
3338
3270
  // src/Prebuilt/components/hooks/useVideoTileLayout.ts
3339
- import React39, { useContext } from "react";
3340
- var VideoTileContext = React39.createContext({
3271
+ import React38, { useContext } from "react";
3272
+ var VideoTileContext = React38.createContext({
3341
3273
  enableSpotlightingPeer: true,
3342
3274
  hideParticipantNameOnTile: false,
3343
3275
  roundedVideoTile: true,
@@ -3353,14 +3285,14 @@ var useVideoTileContext = () => {
3353
3285
 
3354
3286
  // src/Prebuilt/components/InsetTile.tsx
3355
3287
  var MinimisedTile = ({ setMinimised }) => {
3356
- return /* @__PURE__ */ React40.createElement(Flex, { align: "center", css: { gap: "$6", r: "$1", bg: "$surface_default", p: "$4", color: "$on_surface_high" } }, /* @__PURE__ */ React40.createElement(AudioVideoToggle, { hideOptions: true }), /* @__PURE__ */ React40.createElement(Text, null, "You"), /* @__PURE__ */ React40.createElement(
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(
3357
3289
  IconButton_default,
3358
3290
  {
3359
3291
  className: "__cancel-drag-event",
3360
3292
  onClick: () => setMinimised(false),
3361
3293
  css: { bg: "transparent", border: "transparent" }
3362
3294
  },
3363
- /* @__PURE__ */ React40.createElement(ExpandIcon2, null)
3295
+ /* @__PURE__ */ React39.createElement(ExpandIcon2, null)
3364
3296
  ));
3365
3297
  };
3366
3298
  var insetHeightPx = 180;
@@ -3370,10 +3302,10 @@ var desktopAspectRatio = 1 / defaultMobileAspectRatio;
3370
3302
  var InsetTile = () => {
3371
3303
  const isMobile = useMedia6(config.media.md);
3372
3304
  const isLandscape = useMedia6(config.media.ls);
3373
- const localPeer = useHMSStore20(selectLocalPeer2);
3305
+ const localPeer = useHMSStore18(selectLocalPeer2);
3374
3306
  const [minimised, setMinimised] = useSetAppDataByKey(APP_DATA.minimiseInset);
3375
- const videoTrack = useHMSStore20(selectVideoTrackByID(localPeer == null ? void 0 : localPeer.videoTrack));
3376
- const isAllowedToPublish = useHMSStore20(selectIsAllowedToPublish2);
3307
+ const videoTrack = useHMSStore18(selectVideoTrackByID(localPeer == null ? void 0 : localPeer.videoTrack));
3308
+ const isAllowedToPublish = useHMSStore18(selectIsAllowedToPublish2);
3377
3309
  const videoTileProps = useVideoTileContext();
3378
3310
  let aspectRatio = isMobile ? defaultMobileAspectRatio : desktopAspectRatio;
3379
3311
  if ((videoTrack == null ? void 0 : videoTrack.width) && (videoTrack == null ? void 0 : videoTrack.height) && !isMobile) {
@@ -3407,7 +3339,7 @@ var InsetTile = () => {
3407
3339
  if (!isAllowedToPublish.video && !isAllowedToPublish.audio) {
3408
3340
  return null;
3409
3341
  }
3410
- return /* @__PURE__ */ React40.createElement(Draggable, { bounds: "parent", nodeRef, cancel: ".__cancel-drag-event" }, /* @__PURE__ */ React40.createElement(
3342
+ return /* @__PURE__ */ React39.createElement(Draggable, { bounds: "parent", nodeRef, cancel: ".__cancel-drag-event" }, /* @__PURE__ */ React39.createElement(
3411
3343
  Box,
3412
3344
  {
3413
3345
  ref: nodeRef,
@@ -3423,9 +3355,9 @@ var InsetTile = () => {
3423
3355
  h: height
3424
3356
  } : {})
3425
3357
  },
3426
- minimised ? /* @__PURE__ */ React40.createElement(MinimisedTile, { setMinimised }) : /* @__PURE__ */ React40.createElement(
3358
+ minimised ? /* @__PURE__ */ React39.createElement(MinimisedTile, { setMinimised }) : /* @__PURE__ */ React39.createElement(
3427
3359
  VideoTile_default,
3428
- __spreadValues({
3360
+ __spreadProps(__spreadValues({
3429
3361
  peerId: localPeer == null ? void 0 : localPeer.id,
3430
3362
  trackid: localPeer == null ? void 0 : localPeer.videoTrack,
3431
3363
  rootCSS: {
@@ -3437,13 +3369,15 @@ var InsetTile = () => {
3437
3369
  containerCSS: { background: "$surface_default" },
3438
3370
  canMinimise: true,
3439
3371
  isDragabble: true
3440
- }, videoTileProps)
3372
+ }, videoTileProps), {
3373
+ hideParticipantNameOnTile: true
3374
+ })
3441
3375
  )
3442
3376
  ));
3443
3377
  };
3444
3378
 
3445
3379
  // src/Prebuilt/components/Pagination.tsx
3446
- import React41, { useEffect as useEffect8 } from "react";
3380
+ import React40, { useEffect as useEffect8 } from "react";
3447
3381
  import { ChevronLeftIcon as ChevronLeftIcon2, ChevronRightIcon as ChevronRightIcon2 } from "@100mslive/react-icons";
3448
3382
  var Pagination = ({
3449
3383
  page,
@@ -3468,7 +3402,7 @@ var Pagination = ({
3468
3402
  if (numPages <= 1) {
3469
3403
  return null;
3470
3404
  }
3471
- return /* @__PURE__ */ React41.createElement(StyledPagination.Root, { css: { flexShrink: 0 } }, /* @__PURE__ */ React41.createElement(StyledPagination.Chevron, { disabled: disableLeft, onClick: prevPage }, /* @__PURE__ */ React41.createElement(ChevronLeftIcon2, { width: 16, height: 16, style: { cursor: disableLeft ? "not-allowed" : "pointer" } })), numPages <= 5 ? /* @__PURE__ */ React41.createElement(StyledPagination.Dots, null, [...Array(numPages)].map((_, i) => /* @__PURE__ */ React41.createElement(
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(
3472
3406
  StyledPagination.Dot,
3473
3407
  {
3474
3408
  key: i,
@@ -3478,15 +3412,15 @@ var Pagination = ({
3478
3412
  onPageChange(i);
3479
3413
  }
3480
3414
  }
3481
- ))) : null, /* @__PURE__ */ React41.createElement(StyledPagination.Chevron, { disabled: disableRight, onClick: nextPage }, /* @__PURE__ */ React41.createElement(ChevronRightIcon2, { width: 16, height: 16, style: { cursor: disableRight ? "not-allowed" : "pointer" } })));
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" } })));
3482
3416
  };
3483
3417
 
3484
3418
  // src/Prebuilt/components/VideoLayouts/Grid.tsx
3485
- import React42 from "react";
3486
- var Grid = React42.forwardRef(
3419
+ import React41 from "react";
3420
+ var Grid = React41.forwardRef(
3487
3421
  ({ tiles, edgeToEdge }, ref) => {
3488
3422
  const videoTileProps = useVideoTileContext();
3489
- return /* @__PURE__ */ React42.createElement(
3423
+ return /* @__PURE__ */ React41.createElement(
3490
3424
  Box,
3491
3425
  {
3492
3426
  ref,
@@ -3504,7 +3438,7 @@ var Grid = React42.forwardRef(
3504
3438
  },
3505
3439
  tiles == null ? void 0 : tiles.map((tile) => {
3506
3440
  var _a, _b, _c, _d;
3507
- return /* @__PURE__ */ React42.createElement(
3441
+ return /* @__PURE__ */ React41.createElement(
3508
3442
  VideoTile_default,
3509
3443
  __spreadValues({
3510
3444
  key: ((_a = tile.track) == null ? void 0 : _a.id) || ((_b = tile.peer) == null ? void 0 : _b.id),
@@ -3522,7 +3456,7 @@ var Grid = React42.forwardRef(
3522
3456
  );
3523
3457
 
3524
3458
  // src/Prebuilt/components/hooks/useTileLayout.tsx
3525
- import { useEffect as useEffect9, useMemo as useMemo2, useState as useState21 } from "react";
3459
+ import { useEffect as useEffect9, useMemo as useMemo2, useState as useState20 } from "react";
3526
3460
  import { useMeasure as useMeasure2, useMedia as useMedia7 } from "react-use";
3527
3461
  import {
3528
3462
  getPeersWithTiles,
@@ -3560,7 +3494,7 @@ var useTileLayout = ({
3560
3494
  const vanillaStore = useHMSVanillaStore3();
3561
3495
  const [ref, { width, height }] = useMeasure2();
3562
3496
  const isMobile = useMedia7(config.media.lg);
3563
- const [pagesWithTiles, setPagesWithTiles] = useState21([]);
3497
+ const [pagesWithTiles, setPagesWithTiles] = useState20([]);
3564
3498
  useEffect9(() => {
3565
3499
  if (width === 0 || height === 0) {
3566
3500
  return;
@@ -3628,7 +3562,7 @@ var useTileLayout = ({
3628
3562
  // src/Prebuilt/components/VideoLayouts/EqualProminence.tsx
3629
3563
  function EqualProminence({ isInsetEnabled = false, peers, onPageChange, onPageSize, edgeToEdge }) {
3630
3564
  var _a;
3631
- const localPeer = useHMSStore21(selectLocalPeer3);
3565
+ const localPeer = useHMSStore19(selectLocalPeer3);
3632
3566
  const isMobile = useMedia8(config.media.md);
3633
3567
  let maxTileCount = useUISettings(UI_SETTINGS.maxTileCount);
3634
3568
  maxTileCount = isMobile ? Math.min(maxTileCount, 6) : maxTileCount;
@@ -3649,14 +3583,14 @@ function EqualProminence({ isInsetEnabled = false, peers, onPageChange, onPageSi
3649
3583
  maxTileCount,
3650
3584
  edgeToEdge
3651
3585
  });
3652
- const [page, setPage] = useState22(0);
3586
+ const [page, setPage] = useState21(0);
3653
3587
  const pageSize = ((_a = pagesWithTiles[0]) == null ? void 0 : _a.length) || 0;
3654
3588
  useEffect10(() => {
3655
3589
  if (pageSize > 0) {
3656
3590
  onPageSize == null ? void 0 : onPageSize(pageSize);
3657
3591
  }
3658
3592
  }, [pageSize, onPageSize]);
3659
- return /* @__PURE__ */ React43.createElement(Flex, { direction: "column", css: { flex: "1 1 0", h: "100%", position: "relative", minWidth: 0 } }, /* @__PURE__ */ React43.createElement(Grid, { tiles: pagesWithTiles[page], ref, edgeToEdge }), !edgeToEdge && /* @__PURE__ */ React43.createElement(
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(
3660
3594
  Pagination,
3661
3595
  {
3662
3596
  page,
@@ -3666,20 +3600,20 @@ function EqualProminence({ isInsetEnabled = false, peers, onPageChange, onPageSi
3666
3600
  },
3667
3601
  numPages: pagesWithTiles.length
3668
3602
  }
3669
- ), isInsetEnabled && pageList.length > 0 && pageList[0][0].peer.id !== (localPeer == null ? void 0 : localPeer.id) && /* @__PURE__ */ React43.createElement(InsetTile, null));
3603
+ ), isInsetEnabled && pageList.length > 0 && pageList[0][0].peer.id !== (localPeer == null ? void 0 : localPeer.id) && /* @__PURE__ */ React42.createElement(InsetTile, null));
3670
3604
  }
3671
3605
 
3672
3606
  // src/Prebuilt/components/VideoLayouts/RoleProminence.tsx
3673
- import React46, { useEffect as useEffect12, useState as useState24 } from "react";
3674
- import { selectLocalPeer as selectLocalPeer4, useHMSStore as useHMSStore22 } from "@100mslive/react-sdk";
3607
+ import React45, { useEffect as useEffect12, useState as useState23 } from "react";
3608
+ import { selectLocalPeer as selectLocalPeer4, useHMSStore as useHMSStore20 } from "@100mslive/react-sdk";
3675
3609
 
3676
3610
  // src/Prebuilt/components/SecondaryTiles.tsx
3677
- import React45, { useEffect as useEffect11, useState as useState23 } from "react";
3611
+ import React44, { useEffect as useEffect11, useState as useState22 } from "react";
3678
3612
  import { useMedia as useMedia9 } from "react-use";
3679
3613
 
3680
3614
  // src/Prebuilt/components/VideoLayouts/ProminenceLayout.tsx
3681
- import React44 from "react";
3682
- var Root = ({ children, edgeToEdge }) => /* @__PURE__ */ React44.createElement(
3615
+ import React43 from "react";
3616
+ var Root = ({ children, edgeToEdge }) => /* @__PURE__ */ React43.createElement(
3683
3617
  Flex,
3684
3618
  {
3685
3619
  direction: "column",
@@ -3688,7 +3622,7 @@ var Root = ({ children, edgeToEdge }) => /* @__PURE__ */ React44.createElement(
3688
3622
  children
3689
3623
  );
3690
3624
  var ProminentSection = ({ children, css = {} }) => {
3691
- return /* @__PURE__ */ React44.createElement(Flex, { direction: "column", css: __spreadValues({ flex: "1 1 0", gap: "$2", minHeight: 0 }, css) }, children);
3625
+ return /* @__PURE__ */ React43.createElement(Flex, { direction: "column", css: __spreadValues({ flex: "1 1 0", gap: "$2", minHeight: 0 }, css) }, children);
3692
3626
  };
3693
3627
  var SecondarySection = ({
3694
3628
  tiles,
@@ -3699,12 +3633,12 @@ var SecondarySection = ({
3699
3633
  if (!(tiles == null ? void 0 : tiles.length)) {
3700
3634
  return null;
3701
3635
  }
3702
- return /* @__PURE__ */ React44.createElement(
3636
+ return /* @__PURE__ */ React43.createElement(
3703
3637
  Box,
3704
3638
  {
3705
3639
  css: {
3706
3640
  display: "grid",
3707
- gridTemplateRows: React44.Children.count(children) > 0 ? "136px auto" : "154px",
3641
+ gridTemplateRows: React43.Children.count(children) > 0 ? "136px auto" : "154px",
3708
3642
  gridTemplateColumns: `repeat(${tiles.length}, minmax(0, 1fr))`,
3709
3643
  margin: "0 auto",
3710
3644
  gap: "$2 $4",
@@ -3714,7 +3648,7 @@ var SecondarySection = ({
3714
3648
  },
3715
3649
  tiles.map((tile) => {
3716
3650
  var _a, _b, _c, _d;
3717
- return /* @__PURE__ */ React44.createElement(
3651
+ return /* @__PURE__ */ React43.createElement(
3718
3652
  VideoTile_default,
3719
3653
  __spreadValues({
3720
3654
  key: ((_a = tile.track) == null ? void 0 : _a.id) || ((_b = tile.peer) == null ? void 0 : _b.id),
@@ -3731,7 +3665,7 @@ var SecondarySection = ({
3731
3665
  }, tileLayoutProps)
3732
3666
  );
3733
3667
  }),
3734
- /* @__PURE__ */ React44.createElement(Box, { css: { gridColumn: `1/span ${tiles.length}` } }, children)
3668
+ /* @__PURE__ */ React43.createElement(Box, { css: { gridColumn: `1/span ${tiles.length}` } }, children)
3735
3669
  );
3736
3670
  };
3737
3671
  var ProminenceLayout = {
@@ -3746,14 +3680,14 @@ var SecondaryTiles = ({ peers, onPageChange, onPageSize, edgeToEdge }) => {
3746
3680
  const isMobile = useMedia9(config.media.md);
3747
3681
  const maxTileCount = isMobile ? 2 : 4;
3748
3682
  const pagesWithTiles = usePagesWithTiles({ peers, maxTileCount });
3749
- const [page, setPage] = useState23(0);
3683
+ const [page, setPage] = useState22(0);
3750
3684
  const pageSize = ((_a = pagesWithTiles[0]) == null ? void 0 : _a.length) || 0;
3751
3685
  useEffect11(() => {
3752
3686
  if (pageSize > 0) {
3753
3687
  onPageSize == null ? void 0 : onPageSize(pageSize);
3754
3688
  }
3755
3689
  }, [pageSize, onPageSize]);
3756
- return /* @__PURE__ */ React45.createElement(ProminenceLayout.SecondarySection, { tiles: pagesWithTiles[page], edgeToEdge }, !edgeToEdge && /* @__PURE__ */ React45.createElement(
3690
+ return /* @__PURE__ */ React44.createElement(ProminenceLayout.SecondarySection, { tiles: pagesWithTiles[page], edgeToEdge }, !edgeToEdge && /* @__PURE__ */ React44.createElement(
3757
3691
  Pagination,
3758
3692
  {
3759
3693
  page,
@@ -3811,7 +3745,7 @@ function RoleProminence({
3811
3745
  }) {
3812
3746
  var _a;
3813
3747
  const { prominentPeers, secondaryPeers } = useRoleProminencePeers(prominentRoles, peers, isInsetEnabled);
3814
- const localPeer = useHMSStore22(selectLocalPeer4);
3748
+ const localPeer = useHMSStore20(selectLocalPeer4);
3815
3749
  const maxTileCount = 4;
3816
3750
  const pageList = usePagesWithTiles({
3817
3751
  peers: prominentPeers,
@@ -3821,14 +3755,14 @@ function RoleProminence({
3821
3755
  pageList,
3822
3756
  maxTileCount
3823
3757
  });
3824
- const [page, setPage] = useState24(0);
3758
+ const [page, setPage] = useState23(0);
3825
3759
  const pageSize = ((_a = pagesWithTiles[0]) == null ? void 0 : _a.length) || 0;
3826
3760
  useEffect12(() => {
3827
3761
  if (pageSize > 0) {
3828
3762
  onPageSize == null ? void 0 : onPageSize(pageSize);
3829
3763
  }
3830
3764
  }, [pageSize, onPageSize]);
3831
- return /* @__PURE__ */ React46.createElement(ProminenceLayout.Root, null, /* @__PURE__ */ React46.createElement(ProminenceLayout.ProminentSection, null, /* @__PURE__ */ React46.createElement(Grid, { ref, tiles: pagesWithTiles[page] })), !edgeToEdge && /* @__PURE__ */ React46.createElement(
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(
3832
3766
  Pagination,
3833
3767
  {
3834
3768
  page,
@@ -3838,16 +3772,16 @@ function RoleProminence({
3838
3772
  },
3839
3773
  numPages: pagesWithTiles.length
3840
3774
  }
3841
- ), /* @__PURE__ */ React46.createElement(SecondaryTiles, { peers: secondaryPeers, isInsetEnabled, edgeToEdge }), isInsetEnabled && localPeer && !prominentPeers.includes(localPeer) && /* @__PURE__ */ React46.createElement(InsetTile, null));
3775
+ ), /* @__PURE__ */ React45.createElement(SecondaryTiles, { peers: secondaryPeers, isInsetEnabled, edgeToEdge }), isInsetEnabled && localPeer && !prominentPeers.includes(localPeer) && /* @__PURE__ */ React45.createElement(InsetTile, null));
3842
3776
  }
3843
3777
 
3844
3778
  // src/Prebuilt/components/VideoLayouts/ScreenshareLayout.tsx
3845
- import React49, { useEffect as useEffect13, useMemo as useMemo5, useState as useState26 } from "react";
3779
+ import React48, { useEffect as useEffect13, useMemo as useMemo5, useState as useState25 } from "react";
3846
3780
  import { useMedia as useMedia10 } from "react-use";
3847
- import { selectPeersScreenSharing, useHMSStore as useHMSStore24 } from "@100mslive/react-sdk";
3781
+ import { selectPeersScreenSharing, useHMSStore as useHMSStore22 } from "@100mslive/react-sdk";
3848
3782
 
3849
3783
  // src/Prebuilt/components/ScreenshareTile.jsx
3850
- import React48, { useRef as useRef7, useState as useState25 } from "react";
3784
+ import React47, { useRef as useRef7, useState as useState24 } from "react";
3851
3785
  import { useFullscreen as useFullscreen2 } from "react-use";
3852
3786
  import screenfull2 from "screenfull";
3853
3787
  import {
@@ -3855,17 +3789,17 @@ import {
3855
3789
  selectPeerByID as selectPeerByID2,
3856
3790
  selectScreenShareAudioByPeerID,
3857
3791
  selectScreenShareByPeerID,
3858
- useHMSStore as useHMSStore23
3792
+ useHMSStore as useHMSStore21
3859
3793
  } from "@100mslive/react-sdk";
3860
3794
  import { ExpandIcon as ExpandIcon3, ShrinkIcon } from "@100mslive/react-icons";
3861
3795
 
3862
3796
  // src/Prebuilt/components/ScreenshareDisplay.jsx
3863
- import React47 from "react";
3797
+ import React46 from "react";
3864
3798
  import { useHMSActions as useHMSActions13 } from "@100mslive/react-sdk";
3865
- import { CrossIcon as CrossIcon6, ShareScreenIcon as ShareScreenIcon2 } from "@100mslive/react-icons";
3799
+ import { CrossIcon as CrossIcon5, ShareScreenIcon as ShareScreenIcon2 } from "@100mslive/react-icons";
3866
3800
  var ScreenshareDisplay = () => {
3867
3801
  const hmsActions = useHMSActions13();
3868
- return /* @__PURE__ */ React47.createElement(
3802
+ return /* @__PURE__ */ React46.createElement(
3869
3803
  Flex,
3870
3804
  {
3871
3805
  direction: "column",
@@ -3877,9 +3811,9 @@ var ScreenshareDisplay = () => {
3877
3811
  color: "$on_surface_high"
3878
3812
  }
3879
3813
  },
3880
- /* @__PURE__ */ React47.createElement(ShareScreenIcon2, { width: 48, height: 48 }),
3881
- /* @__PURE__ */ React47.createElement(Text, { variant: "h5", css: { m: "$8 0" } }, "You are sharing your screen"),
3882
- /* @__PURE__ */ React47.createElement(
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(
3883
3817
  Button,
3884
3818
  {
3885
3819
  variant: "danger",
@@ -3889,7 +3823,7 @@ var ScreenshareDisplay = () => {
3889
3823
  }),
3890
3824
  "data-testid": "stop_screen_share_btn"
3891
3825
  },
3892
- /* @__PURE__ */ React47.createElement(CrossIcon6, { width: 18, height: 18 }),
3826
+ /* @__PURE__ */ React46.createElement(CrossIcon5, { width: 18, height: 18 }),
3893
3827
  "\xA0 Stop screen share"
3894
3828
  )
3895
3829
  );
@@ -3905,31 +3839,31 @@ var labelStyles = {
3905
3839
  flexShrink: 0
3906
3840
  };
3907
3841
  var Tile = ({ peerId, width = "100%", height = "100%" }) => {
3908
- const isLocal = useHMSStore23(selectLocalPeerID5) === peerId;
3909
- const track = useHMSStore23(selectScreenShareByPeerID(peerId));
3910
- const peer = useHMSStore23(selectPeerByID2(peerId));
3842
+ const isLocal = useHMSStore21(selectLocalPeerID5) === peerId;
3843
+ const track = useHMSStore21(selectScreenShareByPeerID(peerId));
3844
+ const peer = useHMSStore21(selectPeerByID2(peerId));
3911
3845
  const isAudioOnly = useUISettings(UI_SETTINGS.isAudioOnly);
3912
- const [isMouseHovered, setIsMouseHovered] = useState25(false);
3846
+ const [isMouseHovered, setIsMouseHovered] = useState24(false);
3913
3847
  const showStatsOnTiles = useUISettings(UI_SETTINGS.showStatsOnTiles);
3914
- const label = getVideoTileLabel({
3915
- peerName: peer.name,
3916
- isLocal: false,
3917
- track
3918
- });
3919
3848
  const fullscreenRef = useRef7(null);
3920
- const [fullscreen, setFullscreen] = useState25(false);
3849
+ const [fullscreen, setFullscreen] = useState24(false);
3921
3850
  const isFullscreen = useFullscreen2(fullscreenRef, fullscreen, {
3922
3851
  onClose: () => setFullscreen(false)
3923
3852
  });
3924
3853
  const isFullScreenSupported = screenfull2.isEnabled;
3925
- const audioTrack = useHMSStore23(selectScreenShareAudioByPeerID(peer == null ? void 0 : peer.id));
3854
+ const audioTrack = useHMSStore21(selectScreenShareAudioByPeerID(peer == null ? void 0 : peer.id));
3926
3855
  if (isLocal && !["browser", "window", "application"].includes(track == null ? void 0 : track.displaySurface)) {
3927
- return /* @__PURE__ */ React48.createElement(ScreenshareDisplay, null);
3856
+ return /* @__PURE__ */ React47.createElement(ScreenshareDisplay, null);
3928
3857
  }
3929
3858
  if (!peer) {
3930
3859
  return null;
3931
3860
  }
3932
- return /* @__PURE__ */ React48.createElement(StyledVideoTile.Root, { css: { width, height, p: 0, minHeight: 0 }, "data-testid": "screenshare_tile" }, /* @__PURE__ */ React48.createElement(
3861
+ const label = getVideoTileLabel({
3862
+ peerName: peer == null ? void 0 : peer.name,
3863
+ isLocal: false,
3864
+ track
3865
+ });
3866
+ return /* @__PURE__ */ React47.createElement(StyledVideoTile.Root, { css: { width, height, p: 0, minHeight: 0 }, "data-testid": "screenshare_tile" }, /* @__PURE__ */ React47.createElement(
3933
3867
  StyledVideoTile.Container,
3934
3868
  {
3935
3869
  transparentBg: true,
@@ -3940,9 +3874,9 @@ var Tile = ({ peerId, width = "100%", height = "100%" }) => {
3940
3874
  setIsMouseHovered(false);
3941
3875
  }
3942
3876
  },
3943
- showStatsOnTiles ? /* @__PURE__ */ React48.createElement(VideoTileStats, { audioTrackID: audioTrack == null ? void 0 : audioTrack.id, videoTrackID: track == null ? void 0 : track.id, peerID: peerId, isLocal }) : null,
3944
- isFullScreenSupported && isMouseHovered ? /* @__PURE__ */ React48.createElement(StyledVideoTile.FullScreenButton, { onClick: () => setFullscreen(!fullscreen) }, isFullscreen ? /* @__PURE__ */ React48.createElement(ShrinkIcon, null) : /* @__PURE__ */ React48.createElement(ExpandIcon3, null)) : null,
3945
- track ? /* @__PURE__ */ React48.createElement(
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(
3946
3880
  Video,
3947
3881
  {
3948
3882
  screenShare: true,
@@ -3952,19 +3886,28 @@ var Tile = ({ peerId, width = "100%", height = "100%" }) => {
3952
3886
  css: { minHeight: 0 }
3953
3887
  }
3954
3888
  ) : null,
3955
- /* @__PURE__ */ React48.createElement(StyledVideoTile.Info, { css: labelStyles }, label),
3956
- isMouseHovered && !(peer == null ? void 0 : peer.isLocal) ? /* @__PURE__ */ React48.createElement(TileMenu_default, { isScreenshare: true, peerID: peer == null ? void 0 : peer.id, audioTrackID: audioTrack == null ? void 0 : audioTrack.id, videoTrackID: track == null ? void 0 : track.id }) : null
3889
+ /* @__PURE__ */ React47.createElement(StyledVideoTile.Info, { css: labelStyles }, label),
3890
+ isMouseHovered && !peer.isLocal ? /* @__PURE__ */ React47.createElement(
3891
+ TileMenu_default,
3892
+ {
3893
+ isScreenshare: true,
3894
+ peerID: peer.id,
3895
+ audioTrackID: audioTrack == null ? void 0 : audioTrack.id,
3896
+ videoTrackID: track == null ? void 0 : track.id,
3897
+ enableSpotlightingPeer: false
3898
+ }
3899
+ ) : null
3957
3900
  ));
3958
3901
  };
3959
- var ScreenshareTile = React48.memo(Tile);
3902
+ var ScreenshareTile = React47.memo(Tile);
3960
3903
  var ScreenshareTile_default = ScreenshareTile;
3961
3904
 
3962
3905
  // src/Prebuilt/components/VideoLayouts/ScreenshareLayout.tsx
3963
3906
  var ScreenshareLayout = ({ peers, onPageChange, onPageSize, edgeToEdge }) => {
3964
3907
  var _a;
3965
- const peersSharing = useHMSStore24(selectPeersScreenSharing);
3908
+ const peersSharing = useHMSStore22(selectPeersScreenSharing);
3966
3909
  const [, setActiveScreenSharePeer] = useSetAppDataByKey(APP_DATA.activeScreensharePeerId);
3967
- const [page, setPage] = useState26(0);
3910
+ const [page, setPage] = useState25(0);
3968
3911
  const activeSharePeer = peersSharing[page];
3969
3912
  const isMobile = useMedia10(config.media.md);
3970
3913
  const secondaryPeers = useMemo5(
@@ -3977,7 +3920,7 @@ var ScreenshareLayout = ({ peers, onPageChange, onPageSize, edgeToEdge }) => {
3977
3920
  setActiveScreenSharePeer("");
3978
3921
  };
3979
3922
  }, [activeSharePeer == null ? void 0 : activeSharePeer.id, isMobile, setActiveScreenSharePeer]);
3980
- return /* @__PURE__ */ React49.createElement(ProminenceLayout.Root, { edgeToEdge }, /* @__PURE__ */ React49.createElement(ProminenceLayout.ProminentSection, null, /* @__PURE__ */ React49.createElement(ScreenshareTile_default, { peerId: (_a = peersSharing[page]) == null ? void 0 : _a.id }), !edgeToEdge && /* @__PURE__ */ React49.createElement(Pagination, { page, onPageChange: setPage, numPages: peersSharing.length })), /* @__PURE__ */ React49.createElement(
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(
3981
3924
  SecondaryTiles,
3982
3925
  {
3983
3926
  peers: secondaryPeers,
@@ -4082,9 +4025,9 @@ var GridLayout = ({
4082
4025
  edge_to_edge = false,
4083
4026
  hide_metadata_on_tile = false
4084
4027
  }) => {
4085
- const peerSharing = useHMSStore25(selectPeerScreenSharing);
4028
+ const peerSharing = useHMSStore23(selectPeerScreenSharing);
4086
4029
  const pinnedTrack = usePinnedTrack();
4087
- const peers = useHMSStore25(selectPeers2);
4030
+ const peers = useHMSStore23(selectPeers2);
4088
4031
  const isRoleProminence = prominentRoles.length && peers.some(
4089
4032
  (peer) => peer.roleName && prominentRoles.includes(peer.roleName) && (peer.videoTrack || peer.audioTrack)
4090
4033
  ) || pinnedTrack;
@@ -4095,10 +4038,10 @@ var GridLayout = ({
4095
4038
  return peers;
4096
4039
  }, [isInsetEnabled, isRoleProminence, peerSharing, peers]);
4097
4040
  const vanillaStore = useHMSVanillaStore4();
4098
- const [sortedPeers, setSortedPeers] = useState27(updatedPeers);
4041
+ const [sortedPeers, setSortedPeers] = useState26(updatedPeers);
4099
4042
  const peersSorter = useMemo6(() => new PeersSorter_default(vanillaStore), [vanillaStore]);
4100
- const [pageSize, setPageSize] = useState27(0);
4101
- const [mainPage, setMainPage] = useState27(0);
4043
+ const [pageSize, setPageSize] = useState26(0);
4044
+ const [mainPage, setMainPage] = useState26(0);
4102
4045
  const tileLayout = {
4103
4046
  enableSpotlightingPeer: enable_spotlighting_peer,
4104
4047
  hideParticipantNameOnTile: hide_participant_name_on_tile,
@@ -4118,7 +4061,7 @@ var GridLayout = ({
4118
4061
  peersSorter.onUpdate(setSortedPeers);
4119
4062
  }, [mainPage, peersSorter, updatedPeers, pageSize]);
4120
4063
  if (peerSharing) {
4121
- return /* @__PURE__ */ React50.createElement(VideoTileContext.Provider, { value: tileLayout }, /* @__PURE__ */ React50.createElement(
4064
+ return /* @__PURE__ */ React49.createElement(VideoTileContext.Provider, { value: tileLayout }, /* @__PURE__ */ React49.createElement(
4122
4065
  ScreenshareLayout,
4123
4066
  {
4124
4067
  peers: sortedPeers,
@@ -4128,7 +4071,7 @@ var GridLayout = ({
4128
4071
  }
4129
4072
  ));
4130
4073
  } else if (isRoleProminence) {
4131
- return /* @__PURE__ */ React50.createElement(VideoTileContext.Provider, { value: tileLayout }, /* @__PURE__ */ React50.createElement(
4074
+ return /* @__PURE__ */ React49.createElement(VideoTileContext.Provider, { value: tileLayout }, /* @__PURE__ */ React49.createElement(
4132
4075
  RoleProminence,
4133
4076
  {
4134
4077
  peers: sortedPeers,
@@ -4140,7 +4083,7 @@ var GridLayout = ({
4140
4083
  }
4141
4084
  ));
4142
4085
  }
4143
- return /* @__PURE__ */ React50.createElement(VideoTileContext.Provider, { value: tileLayout }, /* @__PURE__ */ React50.createElement(
4086
+ return /* @__PURE__ */ React49.createElement(VideoTileContext.Provider, { value: tileLayout }, /* @__PURE__ */ React49.createElement(
4144
4087
  EqualProminence,
4145
4088
  {
4146
4089
  peers: sortedPeers,
@@ -4153,20 +4096,20 @@ var GridLayout = ({
4153
4096
  };
4154
4097
 
4155
4098
  // src/Prebuilt/layouts/EmbedView.jsx
4156
- import React51, { useCallback as useCallback8, useEffect as useEffect15, useMemo as useMemo7, useRef as useRef8, useState as useState28 } from "react";
4099
+ import React50, { useCallback as useCallback8, useEffect as useEffect15, useMemo as useMemo7, useRef as useRef8, useState as useState27 } from "react";
4157
4100
  import {
4158
4101
  selectPeers as selectPeers3,
4159
4102
  selectPeerScreenSharing as selectPeerScreenSharing2,
4160
4103
  throwErrorHandler,
4161
- useHMSStore as useHMSStore26,
4104
+ useHMSStore as useHMSStore24,
4162
4105
  useScreenShare as useScreenShare3
4163
4106
  } from "@100mslive/react-sdk";
4164
4107
  var EmbedView = () => {
4165
- return /* @__PURE__ */ React51.createElement(EmbebScreenShareView, null, /* @__PURE__ */ React51.createElement(EmbedComponent, null));
4108
+ return /* @__PURE__ */ React50.createElement(EmbebScreenShareView, null, /* @__PURE__ */ React50.createElement(EmbedComponent, null));
4166
4109
  };
4167
4110
  var EmbebScreenShareView = ({ children }) => {
4168
- const peers = useHMSStore26(selectPeers3);
4169
- const peerPresenting = useHMSStore26(selectPeerScreenSharing2);
4111
+ const peers = useHMSStore24(selectPeers3);
4112
+ const peerPresenting = useHMSStore24(selectPeerScreenSharing2);
4170
4113
  const [, setActiveScreenSharePeer] = useSetAppDataByKey(APP_DATA.activeScreensharePeerId);
4171
4114
  const smallTilePeers = useMemo7(() => {
4172
4115
  const smallTilePeers2 = peers.filter((peer) => peer.id !== (peerPresenting == null ? void 0 : peerPresenting.id));
@@ -4178,12 +4121,12 @@ var EmbebScreenShareView = ({ children }) => {
4178
4121
  setActiveScreenSharePeer("");
4179
4122
  };
4180
4123
  }, [peerPresenting == null ? void 0 : peerPresenting.id, setActiveScreenSharePeer]);
4181
- return /* @__PURE__ */ React51.createElement(ProminenceLayout.Root, null, /* @__PURE__ */ React51.createElement(ProminenceLayout.ProminentSection, null, children), /* @__PURE__ */ React51.createElement(SecondaryTiles, { peers: smallTilePeers }));
4124
+ return /* @__PURE__ */ React50.createElement(ProminenceLayout.Root, null, /* @__PURE__ */ React50.createElement(ProminenceLayout.ProminentSection, null, children), /* @__PURE__ */ React50.createElement(SecondaryTiles, { peers: smallTilePeers }));
4182
4125
  };
4183
4126
  var EmbedComponent = () => {
4184
4127
  const { amIScreenSharing, toggleScreenShare } = useScreenShare3(throwErrorHandler);
4185
4128
  const [embedConfig, setEmbedConfig] = useSetAppDataByKey(APP_DATA.embedConfig);
4186
- const [wasScreenShared, setWasScreenShared] = useState28(false);
4129
+ const [wasScreenShared, setWasScreenShared] = useState27(false);
4187
4130
  const screenShareAttemptInProgress = useRef8(false);
4188
4131
  const src = embedConfig.url;
4189
4132
  const iframeRef = useRef8();
@@ -4216,7 +4159,7 @@ var EmbedComponent = () => {
4216
4159
  }
4217
4160
  };
4218
4161
  }, [wasScreenShared, amIScreenSharing, resetEmbedConfig, toggleScreenShare]);
4219
- return /* @__PURE__ */ React51.createElement(Box, { ref: iframeRef, css: { size: "100%" } }, /* @__PURE__ */ React51.createElement(
4162
+ return /* @__PURE__ */ React50.createElement(Box, { ref: iframeRef, css: { size: "100%" } }, /* @__PURE__ */ React50.createElement(
4220
4163
  "iframe",
4221
4164
  {
4222
4165
  src,
@@ -4229,22 +4172,22 @@ var EmbedComponent = () => {
4229
4172
  };
4230
4173
 
4231
4174
  // src/Prebuilt/layouts/PDFView.jsx
4232
- import React52, { useCallback as useCallback9, useEffect as useEffect16, useRef as useRef9, useState as useState29 } from "react";
4175
+ import React51, { useCallback as useCallback9, useEffect as useEffect16, useRef as useRef9, useState as useState28 } from "react";
4233
4176
  import { throwErrorHandler as throwErrorHandler2, useScreenShare as useScreenShare4 } from "@100mslive/react-sdk";
4234
4177
  var PDFView = () => {
4235
- return /* @__PURE__ */ React52.createElement(EmbebScreenShareView, null, /* @__PURE__ */ React52.createElement(PDFEmbedComponent, null));
4178
+ return /* @__PURE__ */ React51.createElement(EmbebScreenShareView, null, /* @__PURE__ */ React51.createElement(PDFEmbedComponent, null));
4236
4179
  };
4237
4180
  var PDFEmbedComponent = () => {
4238
4181
  const ref = useRef9();
4239
4182
  const themeType = useTheme().themeType;
4240
- const [isPDFLoaded, setIsPDFLoaded] = useState29(false);
4183
+ const [isPDFLoaded, setIsPDFLoaded] = useState28(false);
4241
4184
  let pdfJSURL = define_process_env_default.REACT_APP_PDFJS_IFRAME_URL;
4242
4185
  const { amIScreenSharing, toggleScreenShare } = useScreenShare4(throwErrorHandler2);
4243
4186
  const [pdfConfig, setPDFConfig] = useSetAppDataByKey(APP_DATA.pdfConfig);
4244
4187
  if (pdfConfig.url && !pdfConfig.file) {
4245
4188
  pdfJSURL = pdfJSURL + "?file=" + encodeURIComponent(pdfConfig.url);
4246
4189
  }
4247
- const [wasScreenShared, setWasScreenShared] = useState29(false);
4190
+ const [wasScreenShared, setWasScreenShared] = useState28(false);
4248
4191
  const screenShareAttemptInProgress = useRef9(false);
4249
4192
  const iframeRef = useRef9();
4250
4193
  const resetEmbedConfig = useCallback9(() => {
@@ -4285,7 +4228,7 @@ var PDFEmbedComponent = () => {
4285
4228
  }
4286
4229
  };
4287
4230
  }, [wasScreenShared, amIScreenSharing, resetEmbedConfig, toggleScreenShare]);
4288
- return /* @__PURE__ */ React52.createElement(Box, { ref: iframeRef, css: { size: "100%" } }, /* @__PURE__ */ React52.createElement(
4231
+ return /* @__PURE__ */ React51.createElement(Box, { ref: iframeRef, css: { size: "100%" } }, /* @__PURE__ */ React51.createElement(
4289
4232
  "iframe",
4290
4233
  {
4291
4234
  src: pdfJSURL,
@@ -4319,11 +4262,17 @@ var PDFEmbedComponent = () => {
4319
4262
 
4320
4263
  // src/Prebuilt/layouts/SidePane.tsx
4321
4264
  import React58 from "react";
4265
+ import { useMedia as useMedia15 } from "react-use";
4266
+ import { selectAppData as selectAppData3, selectVideoTrackByPeerID, useHMSStore as useHMSStore33 } from "@100mslive/react-sdk";
4267
+
4268
+ // src/Prebuilt/components/SidePaneTabs.tsx
4269
+ import React55, { useEffect as useEffect21, useState as useState32 } from "react";
4322
4270
  import { useMedia as useMedia14 } from "react-use";
4323
- import { selectAppData as selectAppData3, selectVideoTrackByPeerID, useHMSStore as useHMSStore34 } from "@100mslive/react-sdk";
4271
+ import { selectPeerCount as selectPeerCount3, useHMSStore as useHMSStore30 } from "@100mslive/react-sdk";
4272
+ import { CrossIcon as CrossIcon7 } from "@100mslive/react-icons";
4324
4273
 
4325
4274
  // src/Prebuilt/components/Chat/Chat.jsx
4326
- import React55, { useCallback as useCallback14, useEffect as useEffect20, useRef as useRef13, useState as useState32 } from "react";
4275
+ import React54, { useCallback as useCallback14, useEffect as useEffect20, useRef as useRef13, useState as useState31 } from "react";
4327
4276
  import { useMedia as useMedia13 } from "react-use";
4328
4277
  import {
4329
4278
  HMSNotificationTypes,
@@ -4333,12 +4282,12 @@ import {
4333
4282
  selectSessionStore,
4334
4283
  useHMSActions as useHMSActions18,
4335
4284
  useHMSNotifications,
4336
- useHMSStore as useHMSStore31
4285
+ useHMSStore as useHMSStore29
4337
4286
  } from "@100mslive/react-sdk";
4338
- import { ChevronDownIcon as ChevronDownIcon2, CrossIcon as CrossIcon7, PinIcon as PinIcon2 } from "@100mslive/react-icons";
4287
+ import { ChevronDownIcon as ChevronDownIcon2, CrossIcon as CrossIcon6, PinIcon as PinIcon2 } from "@100mslive/react-icons";
4339
4288
 
4340
4289
  // src/Prebuilt/components/Chat/ChatBody.jsx
4341
- import React53, { Fragment as Fragment8, useCallback as useCallback11, useEffect as useEffect17, useLayoutEffect, useMemo as useMemo8, useRef as useRef10, useState as useState30 } from "react";
4290
+ import React52, { Fragment as Fragment8, useCallback as useCallback11, useEffect as useEffect17, useLayoutEffect, useMemo as useMemo8, useRef as useRef10, useState as useState29 } from "react";
4342
4291
  import { useInView } from "react-intersection-observer";
4343
4292
  import { useMedia as useMedia11 } from "react-use";
4344
4293
  import AutoSizer from "react-virtualized-auto-sizer";
@@ -4352,7 +4301,7 @@ import {
4352
4301
  selectPeerNameByID as selectPeerNameByID2,
4353
4302
  selectPermissions as selectPermissions9,
4354
4303
  useHMSActions as useHMSActions15,
4355
- useHMSStore as useHMSStore28
4304
+ useHMSStore as useHMSStore26
4356
4305
  } from "@100mslive/react-sdk";
4357
4306
  import { PinIcon, VerticalMenuIcon as VerticalMenuIcon5 } from "@100mslive/react-icons";
4358
4307
 
@@ -4365,13 +4314,13 @@ import {
4365
4314
  selectPeerNameByID,
4366
4315
  selectSessionMetadata,
4367
4316
  useHMSActions as useHMSActions14,
4368
- useHMSStore as useHMSStore27,
4317
+ useHMSStore as useHMSStore25,
4369
4318
  useHMSVanillaStore as useHMSVanillaStore5
4370
4319
  } from "@100mslive/react-sdk";
4371
4320
  var useSetPinnedMessage = () => {
4372
4321
  const hmsActions = useHMSActions14();
4373
4322
  const vanillaStore = useHMSVanillaStore5();
4374
- const pinnedMessage = useHMSStore27(selectSessionMetadata);
4323
+ const pinnedMessage = useHMSStore25(selectSessionMetadata);
4375
4324
  const setPinnedMessage = useCallback10(
4376
4325
  /**
4377
4326
  * @param {import("@100mslive/react-sdk").HMSMessage | undefined} message
@@ -4405,7 +4354,7 @@ var formatTime = (date) => {
4405
4354
  return `${hours}:${mins} ${suffix}`;
4406
4355
  };
4407
4356
  var MessageTypeContainer = ({ left, right }) => {
4408
- return /* @__PURE__ */ React53.createElement(
4357
+ return /* @__PURE__ */ React52.createElement(
4409
4358
  Flex,
4410
4359
  {
4411
4360
  align: "center",
@@ -4417,16 +4366,16 @@ var MessageTypeContainer = ({ left, right }) => {
4417
4366
  r: "$0"
4418
4367
  }
4419
4368
  },
4420
- left && /* @__PURE__ */ React53.createElement(SenderName, { variant: "tiny", as: "span", css: { color: "$on_surface_medium" } }, left),
4421
- left && right && /* @__PURE__ */ React53.createElement(Box, { css: { borderLeft: "1px solid $border_bright", mx: "$4", h: "$8" } }),
4422
- right && /* @__PURE__ */ React53.createElement(SenderName, { as: "span", variant: "tiny", css: { textTransform: "uppercase" } }, right)
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)
4423
4372
  );
4424
4373
  };
4425
4374
  var MessageType = ({ roles, hasCurrentUserSent, receiver }) => {
4426
- const peerName = useHMSStore28(selectPeerNameByID2(receiver));
4427
- const localPeerRoleName = useHMSStore28(selectLocalPeerRoleName);
4375
+ const peerName = useHMSStore26(selectPeerNameByID2(receiver));
4376
+ const localPeerRoleName = useHMSStore26(selectLocalPeerRoleName);
4428
4377
  if (receiver) {
4429
- return /* @__PURE__ */ React53.createElement(
4378
+ return /* @__PURE__ */ React52.createElement(
4430
4379
  MessageTypeContainer,
4431
4380
  {
4432
4381
  left: hasCurrentUserSent ? `${peerName ? `TO ${peerName}` : ""}` : "TO YOU",
@@ -4435,7 +4384,7 @@ var MessageType = ({ roles, hasCurrentUserSent, receiver }) => {
4435
4384
  );
4436
4385
  }
4437
4386
  if (roles && roles.length) {
4438
- return /* @__PURE__ */ React53.createElement(MessageTypeContainer, { left: "TO", right: hasCurrentUserSent ? roles.join(",") : localPeerRoleName });
4387
+ return /* @__PURE__ */ React52.createElement(MessageTypeContainer, { left: "TO", right: hasCurrentUserSent ? roles.join(",") : localPeerRoleName });
4439
4388
  }
4440
4389
  return null;
4441
4390
  };
@@ -4449,10 +4398,10 @@ var Link = styled("a", {
4449
4398
  });
4450
4399
  var AnnotisedMessage = ({ message }) => {
4451
4400
  if (!message) {
4452
- return /* @__PURE__ */ React53.createElement(Fragment8, null);
4401
+ return /* @__PURE__ */ React52.createElement(Fragment8, null);
4453
4402
  }
4454
- return /* @__PURE__ */ React53.createElement(Fragment8, null, message.trim().split(/(\s)/).map(
4455
- (part) => URL_REGEX.test(part) ? /* @__PURE__ */ React53.createElement(Link, { href: part, key: part, target: "_blank", rel: "noopener noreferrer" }, part) : part
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
4456
4405
  ));
4457
4406
  };
4458
4407
  var getMessageType = ({ roles, receiver }) => {
@@ -4462,18 +4411,18 @@ var getMessageType = ({ roles, receiver }) => {
4462
4411
  return receiver ? "private" : "";
4463
4412
  };
4464
4413
  var ChatActions = ({ onPin, showPinAction }) => {
4465
- const [open, setOpen] = useState30(false);
4414
+ const [open, setOpen] = useState29(false);
4466
4415
  if (!showPinAction) {
4467
4416
  return null;
4468
4417
  }
4469
- return /* @__PURE__ */ React53.createElement(Dropdown.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React53.createElement(Dropdown.Trigger, { className: "chat_actions", css: { opacity: open ? 1 : 0, "@md": { opacity: 1 } }, asChild: true }, /* @__PURE__ */ React53.createElement(IconButton, null, /* @__PURE__ */ React53.createElement(Tooltip, { title: "More options" }, /* @__PURE__ */ React53.createElement(VerticalMenuIcon5, null)))), /* @__PURE__ */ React53.createElement(Dropdown.Portal, null, /* @__PURE__ */ React53.createElement(
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(
4470
4419
  Dropdown.Content,
4471
4420
  {
4472
4421
  sideOffset: 5,
4473
4422
  align: "end",
4474
4423
  css: { width: "$48", backgroundColor: "$surface_bright", py: "$0", border: "1px solid $border_bright" }
4475
4424
  },
4476
- /* @__PURE__ */ React53.createElement(Dropdown.Item, { "data-testid": "pin_message_btn", onClick: onPin }, /* @__PURE__ */ React53.createElement(PinIcon, null), /* @__PURE__ */ React53.createElement(Text, { variant: "sm", css: { ml: "$4" } }, "Pin Message"))
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"))
4477
4426
  )));
4478
4427
  };
4479
4428
  var SenderName = styled(Text, {
@@ -4485,7 +4434,7 @@ var SenderName = styled(Text, {
4485
4434
  color: "$on_surface_high",
4486
4435
  fontWeight: "$semiBold"
4487
4436
  });
4488
- var ChatMessage = React53.memo(({ index, style = {}, message, setRowHeight, onPin }) => {
4437
+ var ChatMessage = React52.memo(({ index, style = {}, message, setRowHeight, onPin }) => {
4489
4438
  var _a, _b;
4490
4439
  const { ref, inView } = useInView({ threshold: 0.5, triggerOnce: true });
4491
4440
  const rowRef = useRef10(null);
@@ -4498,8 +4447,8 @@ var ChatMessage = React53.memo(({ index, style = {}, message, setRowHeight, onPi
4498
4447
  const { elements } = useRoomLayoutConferencingScreen();
4499
4448
  const isOverlay = ((_a = elements == null ? void 0 : elements.chat) == null ? void 0 : _a.is_overlay) && isMobile;
4500
4449
  const hmsActions = useHMSActions15();
4501
- const localPeerId = useHMSStore28(selectLocalPeerID6);
4502
- const permissions = useHMSStore28(selectPermissions9);
4450
+ const localPeerId = useHMSStore26(selectLocalPeerID6);
4451
+ const permissions = useHMSStore26(selectPermissions9);
4503
4452
  const messageType = getMessageType({
4504
4453
  roles: message.recipientRoles,
4505
4454
  receiver: message.recipientPeer
@@ -4510,7 +4459,7 @@ var ChatMessage = React53.memo(({ index, style = {}, message, setRowHeight, onPi
4510
4459
  hmsActions.setMessageRead(true, message.id);
4511
4460
  }
4512
4461
  }, [message.read, hmsActions, inView, message.id]);
4513
- return /* @__PURE__ */ React53.createElement(
4462
+ return /* @__PURE__ */ React52.createElement(
4514
4463
  Box,
4515
4464
  {
4516
4465
  ref,
@@ -4518,7 +4467,7 @@ var ChatMessage = React53.memo(({ index, style = {}, message, setRowHeight, onPi
4518
4467
  css: { mb: "$10", pr: "$10", mt: "$8", "&:hover .chat_actions": { opacity: 1 } },
4519
4468
  style
4520
4469
  },
4521
- /* @__PURE__ */ React53.createElement(
4470
+ /* @__PURE__ */ React52.createElement(
4522
4471
  Flex,
4523
4472
  {
4524
4473
  ref: rowRef,
@@ -4535,7 +4484,7 @@ var ChatMessage = React53.memo(({ index, style = {}, message, setRowHeight, onPi
4535
4484
  key: message.time,
4536
4485
  "data-testid": "chat_msg"
4537
4486
  },
4538
- /* @__PURE__ */ React53.createElement(
4487
+ /* @__PURE__ */ React52.createElement(
4539
4488
  Text,
4540
4489
  {
4541
4490
  css: {
@@ -4548,7 +4497,7 @@ var ChatMessage = React53.memo(({ index, style = {}, message, setRowHeight, onPi
4548
4497
  },
4549
4498
  as: "div"
4550
4499
  },
4551
- /* @__PURE__ */ React53.createElement(Flex, { align: "baseline" }, message.senderName === "You" || !message.senderName ? /* @__PURE__ */ React53.createElement(SenderName, { as: "span", variant: "sm", css: { color: isOverlay ? "#FFF" : "$on_surface_high" } }, message.senderName || "Anonymous") : /* @__PURE__ */ React53.createElement(Tooltip, { title: message.senderName, side: "top", align: "start" }, /* @__PURE__ */ React53.createElement(SenderName, { as: "span", variant: "sm", css: { color: isOverlay ? "#FFF" : "$on_surface_high" } }, message.senderName)), !isOverlay ? /* @__PURE__ */ React53.createElement(
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(
4552
4501
  Text,
4553
4502
  {
4554
4503
  as: "span",
@@ -4561,7 +4510,7 @@ var ChatMessage = React53.memo(({ index, style = {}, message, setRowHeight, onPi
4561
4510
  },
4562
4511
  formatTime(message.time)
4563
4512
  ) : null),
4564
- /* @__PURE__ */ React53.createElement(
4513
+ /* @__PURE__ */ React52.createElement(
4565
4514
  MessageType,
4566
4515
  {
4567
4516
  hasCurrentUserSent: message.sender === localPeerId,
@@ -4569,9 +4518,9 @@ var ChatMessage = React53.memo(({ index, style = {}, message, setRowHeight, onPi
4569
4518
  roles: message.recipientRoles
4570
4519
  }
4571
4520
  ),
4572
- !isOverlay ? /* @__PURE__ */ React53.createElement(ChatActions, { onPin, showPinAction }) : null
4521
+ !isOverlay ? /* @__PURE__ */ React52.createElement(ChatActions, { onPin, showPinAction }) : null
4573
4522
  ),
4574
- /* @__PURE__ */ React53.createElement(
4523
+ /* @__PURE__ */ React52.createElement(
4575
4524
  Text,
4576
4525
  {
4577
4526
  variant: "sm",
@@ -4585,12 +4534,12 @@ var ChatMessage = React53.memo(({ index, style = {}, message, setRowHeight, onPi
4585
4534
  },
4586
4535
  onClick: (e) => e.stopPropagation()
4587
4536
  },
4588
- /* @__PURE__ */ React53.createElement(AnnotisedMessage, { message: message.message })
4537
+ /* @__PURE__ */ React52.createElement(AnnotisedMessage, { message: message.message })
4589
4538
  )
4590
4539
  )
4591
4540
  );
4592
4541
  });
4593
- var ChatList = React53.forwardRef(
4542
+ var ChatList = React52.forwardRef(
4594
4543
  ({ width, height, setRowHeight, getRowHeight, messages, scrollToBottom }, listRef) => {
4595
4544
  const { setPinnedMessage } = useSetPinnedMessage();
4596
4545
  useLayoutEffect(() => {
@@ -4598,7 +4547,7 @@ var ChatList = React53.forwardRef(
4598
4547
  scrollToBottom(1);
4599
4548
  }
4600
4549
  }, [listRef]);
4601
- return /* @__PURE__ */ React53.createElement(
4550
+ return /* @__PURE__ */ React52.createElement(
4602
4551
  VariableSizeList,
4603
4552
  {
4604
4553
  ref: listRef,
@@ -4610,7 +4559,7 @@ var ChatList = React53.forwardRef(
4610
4559
  overflowX: "hidden"
4611
4560
  }
4612
4561
  },
4613
- ({ index, style }) => /* @__PURE__ */ React53.createElement(
4562
+ ({ index, style }) => /* @__PURE__ */ React52.createElement(
4614
4563
  ChatMessage,
4615
4564
  {
4616
4565
  style,
@@ -4624,7 +4573,7 @@ var ChatList = React53.forwardRef(
4624
4573
  );
4625
4574
  }
4626
4575
  );
4627
- var VirtualizedChatMessages = React53.forwardRef(({ messages, scrollToBottom }, listRef) => {
4576
+ var VirtualizedChatMessages = React52.forwardRef(({ messages, scrollToBottom }, listRef) => {
4628
4577
  const rowHeights = useRef10({});
4629
4578
  function getRowHeight(index) {
4630
4579
  return rowHeights.current[index] + 16 || 72;
@@ -4636,7 +4585,7 @@ var VirtualizedChatMessages = React53.forwardRef(({ messages, scrollToBottom },
4636
4585
  },
4637
4586
  [listRef]
4638
4587
  );
4639
- return /* @__PURE__ */ React53.createElement(
4588
+ return /* @__PURE__ */ React52.createElement(
4640
4589
  Box,
4641
4590
  {
4642
4591
  css: {
@@ -4645,14 +4594,14 @@ var VirtualizedChatMessages = React53.forwardRef(({ messages, scrollToBottom },
4645
4594
  },
4646
4595
  as: "div"
4647
4596
  },
4648
- /* @__PURE__ */ React53.createElement(
4597
+ /* @__PURE__ */ React52.createElement(
4649
4598
  AutoSizer,
4650
4599
  {
4651
4600
  style: {
4652
4601
  width: "90%"
4653
4602
  }
4654
4603
  },
4655
- ({ height, width }) => /* @__PURE__ */ React53.createElement(
4604
+ ({ height, width }) => /* @__PURE__ */ React52.createElement(
4656
4605
  ChatList,
4657
4606
  {
4658
4607
  width,
@@ -4667,15 +4616,15 @@ var VirtualizedChatMessages = React53.forwardRef(({ messages, scrollToBottom },
4667
4616
  )
4668
4617
  );
4669
4618
  });
4670
- var ChatBody = React53.forwardRef(({ role, peerId, scrollToBottom }, listRef) => {
4619
+ var ChatBody = React52.forwardRef(({ role, peerId, scrollToBottom }, listRef) => {
4671
4620
  var _a;
4672
4621
  const storeMessageSelector = role ? selectMessagesByRole(role) : peerId ? selectMessagesByPeerID(peerId) : selectHMSMessages;
4673
- let messages = useHMSStore28(storeMessageSelector);
4622
+ let messages = useHMSStore26(storeMessageSelector);
4674
4623
  messages = useMemo8(() => (messages == null ? void 0 : messages.filter((message) => message.type === "chat")) || [], [messages]);
4675
4624
  const isMobile = useMedia11(config.media.md);
4676
4625
  const { elements } = useRoomLayoutConferencingScreen();
4677
4626
  if (messages.length === 0 && !(isMobile && ((_a = elements == null ? void 0 : elements.chat) == null ? void 0 : _a.is_overlay))) {
4678
- return /* @__PURE__ */ React53.createElement(
4627
+ return /* @__PURE__ */ React52.createElement(
4679
4628
  Flex,
4680
4629
  {
4681
4630
  css: {
@@ -4687,7 +4636,7 @@ var ChatBody = React53.forwardRef(({ role, peerId, scrollToBottom }, listRef) =>
4687
4636
  align: "center",
4688
4637
  justify: "center"
4689
4638
  },
4690
- /* @__PURE__ */ React53.createElement(Box, null, /* @__PURE__ */ React53.createElement("img", { src: empty_chat_default, alt: "Empty Chat", height: 132, width: 185, style: { margin: "0 auto" } }), /* @__PURE__ */ React53.createElement(Text, { variant: "h5", css: { mt: "$8", c: "$on_surface_high" } }, "Start a conversation"), /* @__PURE__ */ React53.createElement(
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(
4691
4640
  Text,
4692
4641
  {
4693
4642
  variant: "sm",
@@ -4697,11 +4646,11 @@ var ChatBody = React53.forwardRef(({ role, peerId, scrollToBottom }, listRef) =>
4697
4646
  ))
4698
4647
  );
4699
4648
  }
4700
- return /* @__PURE__ */ React53.createElement(Fragment8, null, /* @__PURE__ */ React53.createElement(VirtualizedChatMessages, { messages, scrollToBottom, ref: listRef }));
4649
+ return /* @__PURE__ */ React52.createElement(Fragment8, null, /* @__PURE__ */ React52.createElement(VirtualizedChatMessages, { messages, scrollToBottom, ref: listRef }));
4701
4650
  });
4702
4651
 
4703
4652
  // src/Prebuilt/components/Chat/ChatFooter.tsx
4704
- import React54, { useCallback as useCallback13, useEffect as useEffect19, useRef as useRef12, useState as useState31 } from "react";
4653
+ import React53, { useCallback as useCallback13, useEffect as useEffect19, useRef as useRef12, useState as useState30 } from "react";
4705
4654
  import { useMedia as useMedia12 } from "react-use";
4706
4655
  import data2 from "@emoji-mart/data";
4707
4656
  import Picker from "@emoji-mart/react";
@@ -4710,10 +4659,10 @@ import { EmojiIcon as EmojiIcon3, SendIcon } from "@100mslive/react-icons";
4710
4659
 
4711
4660
  // src/Prebuilt/components/AppData/useChatState.js
4712
4661
  import { useCallback as useCallback12 } from "react";
4713
- import { selectAppData as selectAppData2, useHMSActions as useHMSActions16, useHMSStore as useHMSStore29 } from "@100mslive/react-sdk";
4662
+ import { selectAppData as selectAppData2, useHMSActions as useHMSActions16, useHMSStore as useHMSStore27 } from "@100mslive/react-sdk";
4714
4663
  var useChatDraftMessage = () => {
4715
4664
  const hmsActions = useHMSActions16();
4716
- let chatDraftMessage = useHMSStore29(selectAppData2(APP_DATA.chatDraft));
4665
+ let chatDraftMessage = useHMSStore27(selectAppData2(APP_DATA.chatDraft));
4717
4666
  if (chatDraftMessage === void 0 || chatDraftMessage === null) {
4718
4667
  chatDraftMessage = "";
4719
4668
  }
@@ -4747,6 +4696,7 @@ var useEmojiPickerStyles = (showing) => {
4747
4696
  font-family: var(--hms-ui-fonts-sans);
4748
4697
  }
4749
4698
  .sticky {
4699
+ top: 0.25rem;
4750
4700
  background-color: var(--hms-ui-colors-surface_bright);
4751
4701
  margin-top: 0.5rem;
4752
4702
  }
@@ -4777,9 +4727,9 @@ var TextArea = styled("textarea", {
4777
4727
  }
4778
4728
  });
4779
4729
  function EmojiPicker({ onSelect }) {
4780
- const [showEmoji, setShowEmoji] = useState31(false);
4730
+ const [showEmoji, setShowEmoji] = useState30(false);
4781
4731
  const ref = useEmojiPickerStyles(showEmoji);
4782
- return /* @__PURE__ */ React54.createElement(Popover.Root, { open: showEmoji, onOpenChange: setShowEmoji }, /* @__PURE__ */ React54.createElement(Popover.Trigger, { asChild: true, css: { appearance: "none" } }, /* @__PURE__ */ React54.createElement(IconButton, { as: "div" }, /* @__PURE__ */ React54.createElement(EmojiIcon3, null))), /* @__PURE__ */ React54.createElement(Popover.Portal, null, /* @__PURE__ */ React54.createElement(
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(
4783
4733
  Popover.Content,
4784
4734
  {
4785
4735
  alignOffset: -40,
@@ -4789,7 +4739,7 @@ function EmojiPicker({ onSelect }) {
4789
4739
  p: 0
4790
4740
  }
4791
4741
  },
4792
- /* @__PURE__ */ React54.createElement(
4742
+ /* @__PURE__ */ React53.createElement(
4793
4743
  Box,
4794
4744
  {
4795
4745
  css: {
@@ -4798,7 +4748,7 @@ function EmojiPicker({ onSelect }) {
4798
4748
  },
4799
4749
  ref
4800
4750
  },
4801
- /* @__PURE__ */ React54.createElement(Picker, { onEmojiSelect: onSelect, data: data2, previewPosition: "none", skinPosition: "search" })
4751
+ /* @__PURE__ */ React53.createElement(Picker, { onEmojiSelect: onSelect, data: data2, previewPosition: "none", skinPosition: "search" })
4802
4752
  )
4803
4753
  )));
4804
4754
  }
@@ -4850,7 +4800,7 @@ var ChatFooter = ({
4850
4800
  setDraftMessage((messageElement == null ? void 0 : messageElement.value) || "");
4851
4801
  };
4852
4802
  }, [setDraftMessage]);
4853
- return /* @__PURE__ */ React54.createElement(React54.Fragment, null, /* @__PURE__ */ React54.createElement(Flex, { align: "center", css: { gap: "$4", w: "100%" } }, /* @__PURE__ */ React54.createElement(
4803
+ return /* @__PURE__ */ React53.createElement(React53.Fragment, null, /* @__PURE__ */ React53.createElement(Flex, { align: "center", css: { gap: "$4", w: "100%" } }, /* @__PURE__ */ React53.createElement(
4854
4804
  Flex,
4855
4805
  {
4856
4806
  align: "center",
@@ -4871,7 +4821,7 @@ var ChatFooter = ({
4871
4821
  }
4872
4822
  },
4873
4823
  children,
4874
- /* @__PURE__ */ React54.createElement(
4824
+ /* @__PURE__ */ React53.createElement(
4875
4825
  TextArea,
4876
4826
  {
4877
4827
  css: {
@@ -4898,7 +4848,7 @@ var ChatFooter = ({
4898
4848
  onCopy: (e) => e.stopPropagation()
4899
4849
  }
4900
4850
  ),
4901
- !isMobile ? /* @__PURE__ */ React54.createElement(
4851
+ !isMobile ? /* @__PURE__ */ React53.createElement(
4902
4852
  EmojiPicker,
4903
4853
  {
4904
4854
  onSelect: (emoji) => {
@@ -4908,7 +4858,7 @@ var ChatFooter = ({
4908
4858
  }
4909
4859
  }
4910
4860
  ) : null,
4911
- /* @__PURE__ */ React54.createElement(
4861
+ /* @__PURE__ */ React53.createElement(
4912
4862
  IconButton,
4913
4863
  {
4914
4864
  className: "send-msg",
@@ -4921,7 +4871,7 @@ var ChatFooter = ({
4921
4871
  },
4922
4872
  "data-testid": "send_msg_btn"
4923
4873
  },
4924
- /* @__PURE__ */ React54.createElement(SendIcon, null)
4874
+ /* @__PURE__ */ React53.createElement(SendIcon, null)
4925
4875
  )
4926
4876
  )));
4927
4877
  };
@@ -4931,21 +4881,21 @@ import {
4931
4881
  selectMessagesUnreadCountByPeerID,
4932
4882
  selectMessagesUnreadCountByRole,
4933
4883
  selectUnreadHMSMessagesCount as selectUnreadHMSMessagesCount2,
4934
- useHMSStore as useHMSStore30
4884
+ useHMSStore as useHMSStore28
4935
4885
  } from "@100mslive/react-sdk";
4936
4886
  var useUnreadCount = ({ role, peerId }) => {
4937
4887
  const unreadCountSelector = role ? selectMessagesUnreadCountByRole(role) : peerId ? selectMessagesUnreadCountByPeerID(peerId) : selectUnreadHMSMessagesCount2;
4938
- const unreadCount = useHMSStore30(unreadCountSelector);
4888
+ const unreadCount = useHMSStore28(unreadCountSelector);
4939
4889
  return unreadCount;
4940
4890
  };
4941
4891
 
4942
4892
  // src/Prebuilt/components/Chat/Chat.jsx
4943
4893
  var PINNED_MESSAGE_LENGTH = 80;
4944
4894
  var PinnedMessage = ({ clearPinnedMessage }) => {
4945
- const permissions = useHMSStore31(selectPermissions10);
4946
- const pinnedMessage = useHMSStore31(selectSessionStore(SESSION_STORE_KEY.PINNED_MESSAGE));
4895
+ const permissions = useHMSStore29(selectPermissions10);
4896
+ const pinnedMessage = useHMSStore29(selectSessionStore(SESSION_STORE_KEY.PINNED_MESSAGE));
4947
4897
  const formattedPinnedMessage = (pinnedMessage == null ? void 0 : pinnedMessage.length) && pinnedMessage.length > PINNED_MESSAGE_LENGTH ? `${pinnedMessage.slice(0, PINNED_MESSAGE_LENGTH)}...` : pinnedMessage;
4948
- return pinnedMessage ? /* @__PURE__ */ React55.createElement(
4898
+ return pinnedMessage ? /* @__PURE__ */ React54.createElement(
4949
4899
  Flex,
4950
4900
  {
4951
4901
  title: pinnedMessage,
@@ -4953,8 +4903,8 @@ var PinnedMessage = ({ clearPinnedMessage }) => {
4953
4903
  align: "center",
4954
4904
  justify: "between"
4955
4905
  },
4956
- /* @__PURE__ */ React55.createElement(PinIcon2, null),
4957
- /* @__PURE__ */ React55.createElement(
4906
+ /* @__PURE__ */ React54.createElement(PinIcon2, null),
4907
+ /* @__PURE__ */ React54.createElement(
4958
4908
  Box,
4959
4909
  {
4960
4910
  css: {
@@ -4964,30 +4914,30 @@ var PinnedMessage = ({ clearPinnedMessage }) => {
4964
4914
  overflowY: "auto"
4965
4915
  }
4966
4916
  },
4967
- /* @__PURE__ */ React55.createElement(Text, { variant: "sm" }, /* @__PURE__ */ React55.createElement(AnnotisedMessage, { message: formattedPinnedMessage }))
4917
+ /* @__PURE__ */ React54.createElement(Text, { variant: "sm" }, /* @__PURE__ */ React54.createElement(AnnotisedMessage, { message: formattedPinnedMessage }))
4968
4918
  ),
4969
- permissions.removeOthers && /* @__PURE__ */ React55.createElement(
4919
+ permissions.removeOthers && /* @__PURE__ */ React54.createElement(
4970
4920
  Flex,
4971
4921
  {
4972
4922
  onClick: () => clearPinnedMessage(),
4973
4923
  css: { cursor: "pointer", color: "$on_surface_medium", "&:hover": { color: "$on_surface_high" } }
4974
4924
  },
4975
- /* @__PURE__ */ React55.createElement(CrossIcon7, null)
4925
+ /* @__PURE__ */ React54.createElement(CrossIcon6, null)
4976
4926
  )
4977
4927
  ) : null;
4978
4928
  };
4979
- var Chat = ({ screenType, hideControls = false }) => {
4980
- var _a, _b, _c;
4929
+ var Chat = ({ screenType }) => {
4930
+ var _a, _b;
4981
4931
  const notification = useHMSNotifications(HMSNotificationTypes.PEER_LEFT);
4982
4932
  const [peerSelector, setPeerSelector] = useSetSubscribedChatSelector(CHAT_SELECTOR.PEER_ID);
4983
4933
  const [roleSelector, setRoleSelector] = useSetSubscribedChatSelector(CHAT_SELECTOR.ROLE);
4984
- const peerName = useHMSStore31(selectPeerNameByID3(peerSelector));
4985
- const [chatOptions, setChatOptions] = useState32({
4934
+ const peerName = useHMSStore29(selectPeerNameByID3(peerSelector));
4935
+ const [chatOptions, setChatOptions] = useState31({
4986
4936
  role: roleSelector || "",
4987
4937
  peerId: peerSelector && peerName ? peerSelector : "",
4988
4938
  selection: roleSelector ? roleSelector : peerSelector && peerName ? peerName : "Everyone"
4989
4939
  });
4990
- const [isSelectorOpen, setSelectorOpen] = useState32(false);
4940
+ const [isSelectorOpen] = useState31(false);
4991
4941
  const listRef = useRef13(null);
4992
4942
  const hmsActions = useHMSActions18();
4993
4943
  const { setPinnedMessage } = useSetPinnedMessage();
@@ -5009,7 +4959,7 @@ var Chat = ({ screenType, hideControls = false }) => {
5009
4959
  const currentRef = listRef.current._outerRef;
5010
4960
  isScrolledToBottom = currentRef.scrollHeight - currentRef.clientHeight - currentRef.scrollTop < 10;
5011
4961
  }
5012
- const messagesCount = useHMSStore31(storeMessageSelector) || 0;
4962
+ const messagesCount = useHMSStore29(storeMessageSelector) || 0;
5013
4963
  const scrollToBottom = useCallback14(
5014
4964
  (unreadCount = 0) => {
5015
4965
  var _a2;
@@ -5024,19 +4974,17 @@ var Chat = ({ screenType, hideControls = false }) => {
5024
4974
  },
5025
4975
  [hmsActions, messagesCount]
5026
4976
  );
5027
- return /* @__PURE__ */ React55.createElement(
4977
+ return /* @__PURE__ */ React54.createElement(
5028
4978
  Flex,
5029
4979
  {
5030
4980
  direction: "column",
5031
4981
  css: {
5032
4982
  size: "100%",
5033
- gap: "$4",
5034
- marginTop: hideControls && ((_a = elements == null ? void 0 : elements.chat) == null ? void 0 : _a.is_overlay) ? "$17" : "0",
5035
- transition: "margin 0.3s ease-in-out"
4983
+ gap: "$4"
5036
4984
  }
5037
4985
  },
5038
- isMobile && ((_b = elements == null ? void 0 : elements.chat) == null ? void 0 : _b.is_overlay) ? null : /* @__PURE__ */ React55.createElement(React55.Fragment, null, /* @__PURE__ */ React55.createElement(ChatParticipantHeader, { selectorOpen: isSelectorOpen, onToggle: () => setSelectorOpen((value) => !value) }), ((_c = elements == null ? void 0 : elements.chat) == null ? void 0 : _c.allow_pinning_messages) ? /* @__PURE__ */ React55.createElement(PinnedMessage, { clearPinnedMessage: setPinnedMessage }) : null),
5039
- /* @__PURE__ */ React55.createElement(
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(
5040
4988
  ChatBody,
5041
4989
  {
5042
4990
  role: chatOptions.role,
@@ -5046,7 +4994,7 @@ var Chat = ({ screenType, hideControls = false }) => {
5046
4994
  screenType
5047
4995
  }
5048
4996
  ),
5049
- /* @__PURE__ */ React55.createElement(
4997
+ /* @__PURE__ */ React54.createElement(
5050
4998
  ChatFooter,
5051
4999
  {
5052
5000
  role: chatOptions.role,
@@ -5064,7 +5012,7 @@ var Chat = ({ screenType, hideControls = false }) => {
5064
5012
  },
5065
5013
  peerId: chatOptions.peerId
5066
5014
  },
5067
- !isSelectorOpen && !isScrolledToBottom && /* @__PURE__ */ React55.createElement(NewMessageIndicator, { role: chatOptions.role, peerId: chatOptions.peerId, scrollToBottom })
5015
+ !isSelectorOpen && !isScrolledToBottom && /* @__PURE__ */ React54.createElement(NewMessageIndicator, { role: chatOptions.role, peerId: chatOptions.peerId, scrollToBottom })
5068
5016
  )
5069
5017
  );
5070
5018
  };
@@ -5073,7 +5021,7 @@ var NewMessageIndicator = ({ role, peerId, scrollToBottom }) => {
5073
5021
  if (!unreadCount) {
5074
5022
  return null;
5075
5023
  }
5076
- return /* @__PURE__ */ React55.createElement(
5024
+ return /* @__PURE__ */ React54.createElement(
5077
5025
  Flex,
5078
5026
  {
5079
5027
  justify: "center",
@@ -5084,7 +5032,7 @@ var NewMessageIndicator = ({ role, peerId, scrollToBottom }) => {
5084
5032
  position: "absolute"
5085
5033
  }
5086
5034
  },
5087
- /* @__PURE__ */ React55.createElement(
5035
+ /* @__PURE__ */ React54.createElement(
5088
5036
  Button,
5089
5037
  {
5090
5038
  variant: "standard",
@@ -5107,22 +5055,123 @@ var NewMessageIndicator = ({ role, peerId, scrollToBottom }) => {
5107
5055
  },
5108
5056
  "New ",
5109
5057
  unreadCount === 1 ? "message" : "messages",
5110
- /* @__PURE__ */ React55.createElement(ChevronDownIcon2, null)
5058
+ /* @__PURE__ */ React54.createElement(ChevronDownIcon2, null)
5111
5059
  )
5112
5060
  );
5113
5061
  };
5114
5062
 
5063
+ // src/Prebuilt/components/SidePaneTabs.tsx
5064
+ var tabTriggerCSS = {
5065
+ color: "$on_surface_high",
5066
+ p: "$4",
5067
+ fontWeight: "$semiBold",
5068
+ fontSize: "$sm",
5069
+ w: "100%",
5070
+ justifyContent: "center"
5071
+ };
5072
+ var SidePaneTabs = React55.memo(({ active = SIDE_PANE_OPTIONS.CHAT, screenType, hideControls }) => {
5073
+ var _a;
5074
+ const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);
5075
+ const toggleParticipants = useSidepaneToggle(SIDE_PANE_OPTIONS.PARTICIPANTS);
5076
+ const resetSidePane = useSidepaneReset();
5077
+ const [activeTab, setActiveTab] = useState32(active);
5078
+ const peerCount = useHMSStore30(selectPeerCount3);
5079
+ const { elements } = useRoomLayoutConferencingScreen();
5080
+ const showChat = !!(elements == null ? void 0 : elements.chat);
5081
+ const showParticipants = !!(elements == null ? void 0 : elements.participant_list);
5082
+ const hideTabs = !(showChat && showParticipants);
5083
+ const isMobile = useMedia14(config.media.md);
5084
+ const isOverlayChat = !!((_a = elements == null ? void 0 : elements.chat) == null ? void 0 : _a.is_overlay) && isMobile;
5085
+ const isChatOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.CHAT);
5086
+ useEffect21(() => {
5087
+ if (activeTab === SIDE_PANE_OPTIONS.CHAT && !showChat && showParticipants) {
5088
+ setActiveTab(SIDE_PANE_OPTIONS.PARTICIPANTS);
5089
+ } else if (activeTab === SIDE_PANE_OPTIONS.PARTICIPANTS && showChat && !showParticipants) {
5090
+ setActiveTab(SIDE_PANE_OPTIONS.CHAT);
5091
+ } else if (!showChat && !showParticipants) {
5092
+ resetSidePane();
5093
+ }
5094
+ }, [showChat, activeTab, showParticipants, resetSidePane]);
5095
+ useEffect21(() => {
5096
+ setActiveTab(active);
5097
+ }, [active]);
5098
+ return /* @__PURE__ */ React55.createElement(
5099
+ Flex,
5100
+ {
5101
+ direction: "column",
5102
+ css: {
5103
+ color: "$on_primary_high",
5104
+ h: "100%",
5105
+ marginTop: hideControls && isOverlayChat ? "$17" : "0",
5106
+ transition: "margin 0.3s ease-in-out"
5107
+ }
5108
+ },
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(
5110
+ Tabs.Root,
5111
+ {
5112
+ value: activeTab,
5113
+ onValueChange: setActiveTab,
5114
+ css: {
5115
+ flexDirection: "column",
5116
+ size: "100%"
5117
+ }
5118
+ },
5119
+ /* @__PURE__ */ React55.createElement(Tabs.List, { css: { w: "calc(100% - $12)", p: "$2", borderRadius: "$2", bg: "$surface_default" } }, /* @__PURE__ */ React55.createElement(
5120
+ Tabs.Trigger,
5121
+ {
5122
+ value: SIDE_PANE_OPTIONS.CHAT,
5123
+ onClick: toggleChat,
5124
+ css: __spreadProps(__spreadValues({}, tabTriggerCSS), {
5125
+ color: activeTab !== SIDE_PANE_OPTIONS.CHAT ? "$on_surface_low" : "$on_surface_high"
5126
+ })
5127
+ },
5128
+ "Chat"
5129
+ ), /* @__PURE__ */ React55.createElement(
5130
+ Tabs.Trigger,
5131
+ {
5132
+ value: SIDE_PANE_OPTIONS.PARTICIPANTS,
5133
+ onClick: toggleParticipants,
5134
+ css: __spreadProps(__spreadValues({}, tabTriggerCSS), {
5135
+ color: activeTab !== SIDE_PANE_OPTIONS.PARTICIPANTS ? "$on_surface_low" : "$on_surface_high"
5136
+ })
5137
+ },
5138
+ "Participants (",
5139
+ peerCount,
5140
+ ")"
5141
+ )),
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 }))
5144
+ )),
5145
+ isOverlayChat && isChatOpen ? null : /* @__PURE__ */ React55.createElement(
5146
+ IconButton,
5147
+ {
5148
+ css: { position: "absolute", right: "$10", top: "$11", "@md": { top: "$8", right: "$8" } },
5149
+ onClick: (e) => {
5150
+ e.stopPropagation();
5151
+ if (activeTab === SIDE_PANE_OPTIONS.CHAT) {
5152
+ toggleChat();
5153
+ } else {
5154
+ toggleParticipants();
5155
+ }
5156
+ },
5157
+ "data-testid": "close_chat"
5158
+ },
5159
+ /* @__PURE__ */ React55.createElement(CrossIcon7, null)
5160
+ )
5161
+ );
5162
+ });
5163
+
5115
5164
  // src/Prebuilt/components/Streaming/StreamingLanding.jsx
5116
5165
  import React57, { Fragment as Fragment10, useState as useState34 } from "react";
5117
- import { selectPermissions as selectPermissions11, useHMSStore as useHMSStore33, useRecordingStreaming as useRecordingStreaming7 } from "@100mslive/react-sdk";
5166
+ import { selectPermissions as selectPermissions11, useHMSStore as useHMSStore32, useRecordingStreaming as useRecordingStreaming7 } from "@100mslive/react-sdk";
5118
5167
  import { ColoredHandIcon, CrossIcon as CrossIcon8, GoLiveIcon as GoLiveIcon3 } from "@100mslive/react-icons";
5119
5168
 
5120
5169
  // src/Prebuilt/images/rtmp.png
5121
5170
  var rtmp_default = "data:image/png;base64,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";
5122
5171
 
5123
5172
  // src/Prebuilt/components/Streaming/HLSStreaming.jsx
5124
- import React56, { Fragment as Fragment9, useCallback as useCallback15, useEffect as useEffect21, useState as useState33 } from "react";
5125
- import { selectRoomID, useHMSActions as useHMSActions19, useHMSStore as useHMSStore32, useRecordingStreaming as useRecordingStreaming6 } from "@100mslive/react-sdk";
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";
5126
5175
  import {
5127
5176
  EndStreamIcon as EndStreamIcon2,
5128
5177
  EyeOpenIcon,
@@ -5197,7 +5246,7 @@ var Card = ({ title, icon, link, content, isHLSRunning, order = 0 }) => {
5197
5246
  };
5198
5247
  var HLSStreaming = ({ onBack }) => {
5199
5248
  const roleNames = useFilteredRoles();
5200
- const roomId = useHMSStore32(selectRoomID);
5249
+ const roomId = useHMSStore31(selectRoomID);
5201
5250
  const cards = roleNames.map((roleName) => getCardData(roleName, roomId));
5202
5251
  const { isHLSRunning } = useRecordingStreaming6();
5203
5252
  const [showLinks, setShowLinks] = useState33(false);
@@ -5245,7 +5294,7 @@ var EndHLS = ({ setShowLinks }) => {
5245
5294
  const [inProgress, setInProgress] = useState33(false);
5246
5295
  const [error, setError] = useState33("");
5247
5296
  const { isHLSRunning } = useRecordingStreaming6();
5248
- useEffect21(() => {
5297
+ useEffect22(() => {
5249
5298
  if (inProgress && !isHLSRunning) {
5250
5299
  setInProgress(false);
5251
5300
  }
@@ -5278,7 +5327,7 @@ var EndHLS = ({ setShowLinks }) => {
5278
5327
  var StreamingLanding = () => {
5279
5328
  const toggleStreaming = useSidepaneToggle(SIDE_PANE_OPTIONS.STREAMING);
5280
5329
  const { isHLSRunning, isRTMPRunning } = useRecordingStreaming7();
5281
- const permissions = useHMSStore33(selectPermissions11);
5330
+ const permissions = useHMSStore32(selectPermissions11);
5282
5331
  const [showHLS, setShowHLS] = useState34(isHLSRunning);
5283
5332
  const [showRTMP, setShowRTMP] = useState34(isRTMPRunning);
5284
5333
  if (!(permissions == null ? void 0 : permissions.hlsStreaming) && !(permissions == null ? void 0 : permissions.rtmpStreaming)) {
@@ -5328,22 +5377,27 @@ var SidePane = ({
5328
5377
  hideControls = false
5329
5378
  }) => {
5330
5379
  var _a, _b;
5331
- const isMobile = useMedia14(config.media.md);
5332
- const sidepane = useHMSStore34(selectAppData3(APP_DATA.sidePane));
5333
- const activeScreensharePeerId = useHMSStore34(selectAppData3(APP_DATA.activeScreensharePeerId));
5334
- const trackId = (_a = useHMSStore34(selectVideoTrackByPeerID(activeScreensharePeerId))) == null ? void 0 : _a.id;
5380
+ const isMobile = useMedia15(config.media.md);
5381
+ const sidepane = useHMSStore33(selectAppData3(APP_DATA.sidePane));
5382
+ const activeScreensharePeerId = useHMSStore33(selectAppData3(APP_DATA.activeScreensharePeerId));
5383
+ const trackId = (_a = useHMSStore33(selectVideoTrackByPeerID(activeScreensharePeerId))) == null ? void 0 : _a.id;
5335
5384
  const { elements } = useRoomLayoutConferencingScreen();
5336
5385
  let ViewComponent;
5337
- if (sidepane === SIDE_PANE_OPTIONS.PARTICIPANTS) {
5338
- ViewComponent = /* @__PURE__ */ React58.createElement(ParticipantList, null);
5339
- } else if (sidepane === SIDE_PANE_OPTIONS.CHAT) {
5340
- ViewComponent = /* @__PURE__ */ React58.createElement(Chat, { screenType, hideControls });
5386
+ if (sidepane === SIDE_PANE_OPTIONS.PARTICIPANTS || sidepane === SIDE_PANE_OPTIONS.CHAT) {
5387
+ ViewComponent = /* @__PURE__ */ React58.createElement(SidePaneTabs, { screenType, hideControls, active: sidepane });
5341
5388
  } else if (sidepane === SIDE_PANE_OPTIONS.STREAMING) {
5342
5389
  ViewComponent = /* @__PURE__ */ React58.createElement(StreamingLanding, null);
5343
5390
  }
5344
5391
  if (!ViewComponent && !trackId) {
5345
5392
  return null;
5346
5393
  }
5394
+ const tileLayout = {
5395
+ hideParticipantNameOnTile: tileProps == null ? void 0 : tileProps.hide_participant_name_on_tile,
5396
+ roundedVideoTile: tileProps == null ? void 0 : tileProps.rounded_video_tile,
5397
+ hideAudioMuteOnTile: tileProps == null ? void 0 : tileProps.hide_audio_mute_on_tile,
5398
+ hideMetadataOnTile: tileProps == null ? void 0 : tileProps.hide_metadata_on_tile,
5399
+ objectFit: tileProps == null ? void 0 : tileProps.video_object_fit
5400
+ };
5347
5401
  const mwebStreamingChat = isMobile && sidepane === SIDE_PANE_OPTIONS.CHAT && ((_b = elements == null ? void 0 : elements.chat) == null ? void 0 : _b.is_overlay);
5348
5402
  return /* @__PURE__ */ React58.createElement(
5349
5403
  Flex,
@@ -5365,9 +5419,8 @@ var SidePane = ({
5365
5419
  trackId,
5366
5420
  width: "100%",
5367
5421
  height: 225,
5368
- rootCSS: { p: 0, alignSelf: "start", flexShrink: 0 },
5369
- objectFit: "contain"
5370
- }, tileProps)
5422
+ rootCSS: { p: 0, alignSelf: "start", flexShrink: 0 }
5423
+ }, tileLayout)
5371
5424
  ),
5372
5425
  !!ViewComponent && /* @__PURE__ */ React58.createElement(
5373
5426
  Box,
@@ -5455,20 +5508,20 @@ var WaitingView = React59.memo(() => {
5455
5508
  });
5456
5509
 
5457
5510
  // src/Prebuilt/layouts/VideoStreamingSection.tsx
5458
- var HLSView = React60.lazy(() => import("./HLSView-HNVYG5VE.js"));
5511
+ var HLSView = React60.lazy(() => import("./HLSView-HL455FYH.js"));
5459
5512
  var VideoStreamingSection = ({
5460
5513
  screenType,
5461
5514
  elements,
5462
5515
  hideControls = false
5463
5516
  }) => {
5464
5517
  var _a, _b;
5465
- const localPeerRole = useHMSStore35(selectLocalPeerRoleName2);
5466
- const isConnected = useHMSStore35(selectIsConnectedToRoom6);
5518
+ const localPeerRole = useHMSStore34(selectLocalPeerRoleName2);
5519
+ const isConnected = useHMSStore34(selectIsConnectedToRoom6);
5467
5520
  const hmsActions = useHMSActions20();
5468
5521
  const waitingViewerRole = useWaitingViewerRole();
5469
5522
  const urlToIframe = useUrlToEmbed();
5470
5523
  const pdfAnnotatorActive = usePDFAnnotator();
5471
- useEffect22(() => {
5524
+ useEffect23(() => {
5472
5525
  if (!isConnected) {
5473
5526
  return;
5474
5527
  }
@@ -5511,28 +5564,30 @@ var VideoStreamingSection = ({
5511
5564
  };
5512
5565
 
5513
5566
  // src/Prebuilt/components/RoleChangeRequestModal.tsx
5514
- import React61, { useEffect as useEffect23 } from "react";
5567
+ import React61, { useEffect as useEffect24 } from "react";
5515
5568
  import {
5516
5569
  selectLocalPeerName,
5517
5570
  selectLocalPeerRoleName as selectLocalPeerRoleName3,
5518
5571
  selectRoleChangeRequest,
5519
5572
  useCustomEvent as useCustomEvent2,
5520
5573
  useHMSActions as useHMSActions21,
5521
- useHMSStore as useHMSStore36
5574
+ useHMSStore as useHMSStore35
5522
5575
  } from "@100mslive/react-sdk";
5523
5576
  var RoleChangeRequestModal = () => {
5524
5577
  const hmsActions = useHMSActions21();
5525
5578
  const { updateMetaData } = useMyMetadata();
5526
- const currentRole = useHMSStore36(selectLocalPeerRoleName3);
5527
- const roleChangeRequest = useHMSStore36(selectRoleChangeRequest);
5528
- const name = useHMSStore36(selectLocalPeerName);
5579
+ const currentRole = useHMSStore35(selectLocalPeerRoleName3);
5580
+ const roleChangeRequest = useHMSStore35(selectRoleChangeRequest);
5581
+ const name = useHMSStore35(selectLocalPeerName);
5529
5582
  const { sendEvent } = useCustomEvent2({ type: ROLE_CHANGE_DECLINED });
5530
- useEffect23(() => {
5583
+ useEffect24(() => {
5531
5584
  if (!(roleChangeRequest == null ? void 0 : roleChangeRequest.role)) {
5532
5585
  return;
5533
5586
  }
5534
- hmsActions.preview({ asRole: roleChangeRequest.role.name });
5535
- }, [hmsActions, roleChangeRequest]);
5587
+ (() => __async(void 0, null, function* () {
5588
+ yield hmsActions.preview({ asRole: roleChangeRequest.role.name });
5589
+ }))();
5590
+ }, [hmsActions, roleChangeRequest, currentRole, updateMetaData]);
5536
5591
  if (!(roleChangeRequest == null ? void 0 : roleChangeRequest.role)) {
5537
5592
  return null;
5538
5593
  }
@@ -5589,12 +5644,12 @@ var Conference = () => {
5589
5644
  const { userName, endpoints } = useHMSPrebuiltContext();
5590
5645
  const screenProps = useRoomLayoutConferencingScreen();
5591
5646
  const { isPreviewScreenEnabled } = useRoomLayoutPreviewScreen();
5592
- const roomState = useHMSStore37(selectRoomState);
5647
+ const roomState = useHMSStore36(selectRoomState);
5593
5648
  const prevState = usePrevious(roomState);
5594
- const isConnectedToRoom = useHMSStore37(selectIsConnectedToRoom7);
5649
+ const isConnectedToRoom = useHMSStore36(selectIsConnectedToRoom7);
5595
5650
  const hmsActions = useHMSActions22();
5596
5651
  const [hideControls, setHideControls] = useState35(false);
5597
- const dropdownList = useHMSStore37(selectAppData4(APP_DATA.dropdownList));
5652
+ const dropdownList = useHMSStore36(selectAppData4(APP_DATA.dropdownList));
5598
5653
  const authTokenInAppData = useAuthToken();
5599
5654
  const headerRef = useRef14();
5600
5655
  const footerRef = useRef14();
@@ -5607,7 +5662,8 @@ var Conference = () => {
5607
5662
  setHideControls((value) => !value);
5608
5663
  }
5609
5664
  };
5610
- useEffect24(() => {
5665
+ const autoRoomJoined = useRef14(isPreviewScreenEnabled);
5666
+ useEffect25(() => {
5611
5667
  let timeout = null;
5612
5668
  dropdownListRef.current = dropdownList || [];
5613
5669
  if (dropdownListRef.current.length === 0) {
@@ -5622,7 +5678,7 @@ var Conference = () => {
5622
5678
  clearTimeout(timeout);
5623
5679
  };
5624
5680
  }, [dropdownList, hideControls, isMobileDevice]);
5625
- useEffect24(() => {
5681
+ useEffect25(() => {
5626
5682
  if (!roomId) {
5627
5683
  navigate(`/`);
5628
5684
  return;
@@ -5637,8 +5693,8 @@ var Conference = () => {
5637
5693
  navigate(`/preview/${roomId || ""}`);
5638
5694
  }
5639
5695
  }, [isConnectedToRoom, prevState, roomState, navigate, role, roomId, isPreviewScreenEnabled]);
5640
- useEffect24(() => {
5641
- if (authTokenInAppData && !isConnectedToRoom && !isPreviewScreenEnabled && roomState !== HMSRoomState.Connecting) {
5696
+ useEffect25(() => {
5697
+ if (authTokenInAppData && !isConnectedToRoom && !isPreviewScreenEnabled && roomState !== HMSRoomState.Connecting && !autoRoomJoined.current) {
5642
5698
  hmsActions.join({
5643
5699
  userName,
5644
5700
  authToken: authTokenInAppData,
@@ -5649,9 +5705,10 @@ var Conference = () => {
5649
5705
  speakerAutoSelectionBlacklist: ["Yeti Stereo Microphone"]
5650
5706
  }
5651
5707
  }).catch(console.error);
5708
+ autoRoomJoined.current = true;
5652
5709
  }
5653
5710
  }, [authTokenInAppData, endpoints == null ? void 0 : endpoints.init, hmsActions, isConnectedToRoom, isPreviewScreenEnabled, roomState, userName]);
5654
- useEffect24(() => {
5711
+ useEffect25(() => {
5655
5712
  return () => {
5656
5713
  PictureInPicture.stop().catch((error) => console.error("stopping pip", error));
5657
5714
  };
@@ -5724,4 +5781,4 @@ var conference_default = Conference;
5724
5781
  export {
5725
5782
  conference_default as default
5726
5783
  };
5727
- //# sourceMappingURL=conference-UWLJHMB2.js.map
5784
+ //# sourceMappingURL=conference-MPZNWHV5.js.map