@100mslive/roomkit-react 0.3.23-alpha.0 → 0.3.24-alpha.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (194) hide show
  1. package/dist/Accordion/Accordion.d.ts +134 -322
  2. package/dist/Accordion/index.d.ts +134 -322
  3. package/dist/Avatar/Avatar.d.ts +47 -141
  4. package/dist/Button/Button.d.ts +47 -141
  5. package/dist/Checkbox/Checkbox.d.ts +134 -322
  6. package/dist/Collapsible/Collapsible.d.ts +201 -483
  7. package/dist/ConferenceScreen-CLPW3BGP.css +2780 -0
  8. package/dist/{HLSView-DDIGCKAW.css.map → ConferenceScreen-CLPW3BGP.css.map} +1 -1
  9. package/dist/ConferenceScreen-M6RBPTAJ.js +1774 -0
  10. package/dist/ConferenceScreen-M6RBPTAJ.js.map +7 -0
  11. package/dist/Divider/Divider.d.ts +134 -322
  12. package/dist/Dropdown/Dropdown.d.ts +804 -1932
  13. package/dist/EmbedView-DDSO7ZCV.js +17 -0
  14. package/dist/EmbedView-DDSO7ZCV.js.map +7 -0
  15. package/dist/EmbedView-HGIUZHKA.css +2780 -0
  16. package/dist/EmbedView-HGIUZHKA.css.map +7 -0
  17. package/dist/EmojiReaction-23JDKJD4.js +11 -0
  18. package/dist/EmojiReaction-23JDKJD4.js.map +7 -0
  19. package/dist/Fieldset/Fieldset.d.ts +47 -141
  20. package/dist/Footer/Footer.d.ts +536 -1288
  21. package/dist/{HLSView-DDIGCKAW.css → HLSView-OW77EAAO.css} +3 -3
  22. package/dist/HLSView-OW77EAAO.css.map +7 -0
  23. package/dist/{HLSView-QZO4JEB7.js → HLSView-Q6GEB3UM.js} +38 -24
  24. package/dist/HLSView-Q6GEB3UM.js.map +7 -0
  25. package/dist/IconButton/IconButton.d.ts +47 -141
  26. package/dist/Input/Input.d.ts +362 -926
  27. package/dist/Label/Label.d.ts +47 -141
  28. package/dist/Layout/Box.d.ts +47 -141
  29. package/dist/Layout/Flex.d.ts +47 -141
  30. package/dist/LeaveScreen-BYTE73MT.js +556 -0
  31. package/dist/LeaveScreen-BYTE73MT.js.map +7 -0
  32. package/dist/LeaveScreen-P7AATEIF.css +2780 -0
  33. package/dist/LeaveScreen-P7AATEIF.css.map +7 -0
  34. package/dist/Link/Link.d.ts +47 -141
  35. package/dist/Modal/Dialog.d.ts +329 -987
  36. package/dist/Modal/DialogContent.d.ts +469 -1127
  37. package/dist/MoreSettings-LV5X2U6K.css +2780 -0
  38. package/dist/MoreSettings-LV5X2U6K.css.map +7 -0
  39. package/dist/MoreSettings-WSHMMNOC.js +16 -0
  40. package/dist/MoreSettings-WSHMMNOC.js.map +7 -0
  41. package/dist/PDFView-RIPRIIH6.css +2780 -0
  42. package/dist/PDFView-RIPRIIH6.css.map +7 -0
  43. package/dist/PDFView-ZFSG2ESE.js +84 -0
  44. package/dist/PDFView-ZFSG2ESE.js.map +7 -0
  45. package/dist/Pagination/StyledPagination.d.ts +268 -644
  46. package/dist/Polls-QWW5LTTB.js +1584 -0
  47. package/dist/Polls-QWW5LTTB.js.map +7 -0
  48. package/dist/Polls-ULYGUPPF.css +2780 -0
  49. package/dist/Polls-ULYGUPPF.css.map +7 -0
  50. package/dist/Popover/index.d.ts +201 -483
  51. package/dist/Prebuilt/IconButton.d.ts +134 -322
  52. package/dist/Prebuilt/components/Chat/ChatBody.d.ts +134 -322
  53. package/dist/Prebuilt/components/Leave/LeaveAtoms.d.ts +335 -805
  54. package/dist/Prebuilt/components/Notifications/DeviceChangeNotifications.d.ts +1 -0
  55. package/dist/Prebuilt/components/Notifications/ErrorNotifications.d.ts +1 -0
  56. package/dist/Prebuilt/components/Notifications/MessageNotifications.d.ts +1 -0
  57. package/dist/Prebuilt/components/Notifications/PollNotificationModal.d.ts +1 -0
  58. package/dist/Prebuilt/components/Notifications/RoleChangeNotification.d.ts +1 -0
  59. package/dist/Prebuilt/components/Settings/common.d.ts +134 -322
  60. package/dist/Progress/index.d.ts +134 -322
  61. package/dist/RadioGroup/RadioGroup.d.ts +201 -483
  62. package/dist/RaiseHand-K7NFLH7H.js +10 -0
  63. package/dist/RaiseHand-K7NFLH7H.js.map +7 -0
  64. package/dist/ReactSelect/ReactSelect.d.ts +670 -1610
  65. package/dist/RoleProminence-235AFT7F.js +116 -0
  66. package/dist/RoleProminence-235AFT7F.js.map +7 -0
  67. package/dist/RoleProminence-6XN3POS5.css +2780 -0
  68. package/dist/RoleProminence-6XN3POS5.css.map +7 -0
  69. package/dist/RoomDetailsPane-O5TFMTPI.css +2780 -0
  70. package/dist/RoomDetailsPane-O5TFMTPI.css.map +7 -0
  71. package/dist/RoomDetailsPane-RF3D3TDR.js +53 -0
  72. package/dist/RoomDetailsPane-RF3D3TDR.js.map +7 -0
  73. package/dist/ScreenshareLayout-KNEB3AJJ.css +2780 -0
  74. package/dist/ScreenshareLayout-KNEB3AJJ.css.map +7 -0
  75. package/dist/ScreenshareLayout-PSQMS3NC.js +358 -0
  76. package/dist/ScreenshareLayout-PSQMS3NC.js.map +7 -0
  77. package/dist/Select/Select.d.ts +201 -483
  78. package/dist/Sheet/Sheet.d.ts +329 -987
  79. package/dist/SidePaneTabs-I6DECE5R.css +2780 -0
  80. package/dist/SidePaneTabs-I6DECE5R.css.map +7 -0
  81. package/dist/SidePaneTabs-NXHBI2JB.js +1354 -0
  82. package/dist/SidePaneTabs-NXHBI2JB.js.map +7 -0
  83. package/dist/Slider/Slider.d.ts +47 -141
  84. package/dist/Stats/StyledStats.d.ts +402 -966
  85. package/dist/Switch/Switch.d.ts +47 -141
  86. package/dist/Tabs/Tabs.d.ts +268 -644
  87. package/dist/Text/Text.d.ts +47 -141
  88. package/dist/TextArea/TextArea.d.ts +47 -141
  89. package/dist/Theme/base.config.d.ts +26 -78
  90. package/dist/Theme/stitches.config.d.ts +1046 -1493
  91. package/dist/TileMenu/StyledMenuTile.d.ts +469 -1127
  92. package/dist/Toast/Toast.d.ts +382 -946
  93. package/dist/VBPicker-2CQ3IIO7.js +322 -0
  94. package/dist/VBPicker-2CQ3IIO7.js.map +7 -0
  95. package/dist/VBPicker-DCNYGO23.css +2780 -0
  96. package/dist/VBPicker-DCNYGO23.css.map +7 -0
  97. package/dist/Video/Video.d.ts +47 -141
  98. package/dist/VideoList/StyledVideoList.d.ts +201 -483
  99. package/dist/VideoTile/StyledVideoTile.d.ts +670 -1610
  100. package/dist/WaitingView-NZIUOXBI.js +10 -0
  101. package/dist/WaitingView-NZIUOXBI.js.map +7 -0
  102. package/dist/WhiteboardLayout-4YLFM3EY.js +96 -0
  103. package/dist/WhiteboardLayout-4YLFM3EY.js.map +7 -0
  104. package/dist/WhiteboardLayout-JUOBDFKY.css +2780 -0
  105. package/dist/WhiteboardLayout-JUOBDFKY.css.map +7 -0
  106. package/dist/android-perm-1.png +0 -0
  107. package/dist/audio-level.png +0 -0
  108. package/dist/chunk-3C7IESSI.js +254 -0
  109. package/dist/chunk-3C7IESSI.js.map +7 -0
  110. package/dist/chunk-7FD3VT6Q.js +114 -0
  111. package/dist/chunk-7FD3VT6Q.js.map +7 -0
  112. package/dist/chunk-AHI4HCY3.js +62 -0
  113. package/dist/chunk-AHI4HCY3.js.map +7 -0
  114. package/dist/chunk-BGSYLCVD.js +6337 -0
  115. package/dist/chunk-BGSYLCVD.js.map +7 -0
  116. package/dist/chunk-DANANDDE.js +418 -0
  117. package/dist/chunk-DANANDDE.js.map +7 -0
  118. package/dist/chunk-ETRNLEWQ.js +2658 -0
  119. package/dist/chunk-ETRNLEWQ.js.map +7 -0
  120. package/dist/chunk-EWPHJFZJ.js +487 -0
  121. package/dist/chunk-EWPHJFZJ.js.map +7 -0
  122. package/dist/chunk-F63YJBI4.js +98 -0
  123. package/dist/chunk-F63YJBI4.js.map +7 -0
  124. package/dist/chunk-GLAJUP3O.js +576 -0
  125. package/dist/chunk-GLAJUP3O.js.map +7 -0
  126. package/dist/chunk-GOXRTCTY.js +90 -0
  127. package/dist/chunk-GOXRTCTY.js.map +7 -0
  128. package/dist/chunk-HMCBZI3A.js +59 -0
  129. package/dist/chunk-HMCBZI3A.js.map +7 -0
  130. package/dist/chunk-HVYTC3PX.js +171 -0
  131. package/dist/chunk-HVYTC3PX.js.map +7 -0
  132. package/dist/chunk-LJVP6AWF.js +262 -0
  133. package/dist/chunk-LJVP6AWF.js.map +7 -0
  134. package/dist/chunk-LXJGCRKM.js +30 -0
  135. package/dist/chunk-LXJGCRKM.js.map +7 -0
  136. package/dist/chunk-MG3UGW66.js +16800 -0
  137. package/dist/chunk-MG3UGW66.js.map +7 -0
  138. package/dist/chunk-MUKUP7JU.js +161 -0
  139. package/dist/chunk-MUKUP7JU.js.map +7 -0
  140. package/dist/chunk-OV6MVDCL.js +41 -0
  141. package/dist/chunk-OV6MVDCL.js.map +7 -0
  142. package/dist/chunk-P6NV2XO4.js +178 -0
  143. package/dist/chunk-P6NV2XO4.js.map +7 -0
  144. package/dist/chunk-REL3HBSD.js +71 -0
  145. package/dist/chunk-REL3HBSD.js.map +7 -0
  146. package/dist/chunk-U4SQBXPZ.js +830 -0
  147. package/dist/chunk-U4SQBXPZ.js.map +7 -0
  148. package/dist/chunk-YEL5ZTFU.js +136 -0
  149. package/dist/chunk-YEL5ZTFU.js.map +7 -0
  150. package/dist/empty-chat.svg +12 -0
  151. package/dist/index.cjs.css +2 -2
  152. package/dist/index.cjs.css.map +1 -1
  153. package/dist/index.cjs.js +21713 -21508
  154. package/dist/index.cjs.js.map +4 -4
  155. package/dist/index.css +2 -2
  156. package/dist/index.css.map +1 -1
  157. package/dist/index.js +25 -15
  158. package/dist/ios-perm-0.png +0 -0
  159. package/dist/meta.cjs.json +5515 -5153
  160. package/dist/meta.esbuild.json +8998 -6138
  161. package/dist/pdf-share.png +0 -0
  162. package/dist/screen-share.png +0 -0
  163. package/dist/transaction_error.svg +12 -0
  164. package/package.json +8 -8
  165. package/src/Avatar/Avatar.tsx +1 -1
  166. package/src/Popover/Popover.stories.tsx +1 -1
  167. package/src/Prebuilt/App.tsx +6 -2
  168. package/src/Prebuilt/components/Chat/Chat.tsx +12 -8
  169. package/src/Prebuilt/components/Chat/ChatFooter.tsx +1 -1
  170. package/src/Prebuilt/components/MoreSettings/SplitComponents/MwebOptions.tsx +14 -1
  171. package/src/Prebuilt/components/Notifications/DeviceChangeNotifications.tsx +18 -0
  172. package/src/Prebuilt/components/Notifications/ErrorNotifications.tsx +56 -0
  173. package/src/Prebuilt/components/Notifications/MessageNotifications.tsx +24 -0
  174. package/src/Prebuilt/components/Notifications/Notifications.tsx +13 -171
  175. package/src/Prebuilt/components/Notifications/PeerNotifications.tsx +9 -2
  176. package/src/Prebuilt/components/Notifications/PollNotificationModal.tsx +71 -0
  177. package/src/Prebuilt/components/Notifications/ReconnectNotifications.tsx +1 -5
  178. package/src/Prebuilt/components/Notifications/RoleChangeNotification.tsx +24 -0
  179. package/src/Prebuilt/components/Notifications/TrackBulkUnmuteModal.tsx +7 -5
  180. package/src/Prebuilt/components/Notifications/TrackNotifications.tsx +23 -1
  181. package/src/Prebuilt/components/Notifications/TrackUnmuteModal.tsx +13 -5
  182. package/src/Prebuilt/components/StatsForNerds.jsx +122 -9
  183. package/src/Prebuilt/components/VideoLayouts/GridLayout.tsx +43 -31
  184. package/src/Prebuilt/components/VideoLayouts/ProminenceLayout.tsx +2 -2
  185. package/src/Prebuilt/components/VirtualBackground/VBOption.tsx +3 -1
  186. package/src/Prebuilt/components/VirtualBackground/VBPicker.tsx +6 -0
  187. package/src/Prebuilt/layouts/HLSView.jsx +1 -0
  188. package/src/Prebuilt/layouts/PDFView.jsx +1 -0
  189. package/src/Prebuilt/layouts/SidePane.tsx +12 -6
  190. package/src/Prebuilt/layouts/VideoStreamingSection.tsx +35 -34
  191. package/src/Prebuilt/layouts/WaitingView.tsx +2 -2
  192. package/dist/HLSView-QZO4JEB7.js.map +0 -7
  193. package/dist/chunk-J2QT7G3M.js +0 -34759
  194. package/dist/chunk-J2QT7G3M.js.map +0 -7
@@ -0,0 +1,487 @@
1
+ import {
2
+ Button,
3
+ Dialog,
4
+ Sheet,
5
+ useIsSidepaneTypeOpen,
6
+ useSidepaneToggle
7
+ } from "./chunk-MG3UGW66.js";
8
+ import {
9
+ Text
10
+ } from "./chunk-MUKUP7JU.js";
11
+ import {
12
+ Dropdown,
13
+ ToastManager,
14
+ useDropdownList,
15
+ useLandscapeHLSStream,
16
+ useMobileHLSStream
17
+ } from "./chunk-DANANDDE.js";
18
+ import {
19
+ Box,
20
+ Flex
21
+ } from "./chunk-GOXRTCTY.js";
22
+ import {
23
+ IconButton,
24
+ IconButton_default,
25
+ Tooltip,
26
+ useRoomLayoutConferencingScreen
27
+ } from "./chunk-BGSYLCVD.js";
28
+ import {
29
+ SIDE_PANE_OPTIONS,
30
+ __async,
31
+ __spreadValues,
32
+ config,
33
+ init_define_process_env,
34
+ styled
35
+ } from "./chunk-GLAJUP3O.js";
36
+
37
+ // src/Prebuilt/components/Leave/LeaveRoom.tsx
38
+ init_define_process_env();
39
+ import React6 from "react";
40
+ import { useMedia } from "react-use";
41
+ import {
42
+ selectHLSState,
43
+ selectIsConnectedToRoom as selectIsConnectedToRoom3,
44
+ selectPeersByCondition,
45
+ selectPermissions as selectPermissions3,
46
+ selectRolesMap,
47
+ useHMSActions,
48
+ useHMSStore as useHMSStore3
49
+ } from "@100mslive/react-sdk";
50
+
51
+ // src/Prebuilt/components/Leave/DesktopLeaveRoom.tsx
52
+ init_define_process_env();
53
+ import React4, { Fragment, useState } from "react";
54
+ import { selectIsConnectedToRoom, selectPermissions, useHMSStore, useRecordingStreaming } from "@100mslive/react-sdk";
55
+ import { ExitIcon, StopIcon, VerticalMenuIcon } from "@100mslive/react-icons";
56
+
57
+ // src/Prebuilt/components/Leave/EndSessionContent.tsx
58
+ init_define_process_env();
59
+ import React from "react";
60
+ import { AlertTriangleIcon, CrossIcon } from "@100mslive/react-icons";
61
+ var EndSessionContent = ({
62
+ setShowEndStreamAlert,
63
+ leaveRoom,
64
+ isModal = false,
65
+ isStreamingOn = false
66
+ }) => {
67
+ return /* @__PURE__ */ React.createElement(Box, null, /* @__PURE__ */ React.createElement(
68
+ Flex,
69
+ {
70
+ css: {
71
+ color: "$alert_error_default",
72
+ display: "flex",
73
+ alignItems: "center"
74
+ }
75
+ },
76
+ /* @__PURE__ */ React.createElement(AlertTriangleIcon, { style: { marginRight: "0.5rem" } }),
77
+ /* @__PURE__ */ React.createElement(Text, { variant: "lg", css: { color: "inherit", fontWeight: "$semiBold" } }, "End ", isStreamingOn ? "Stream" : "Session"),
78
+ isModal ? null : /* @__PURE__ */ React.createElement(Box, { css: { color: "$on_surface_high", ml: "auto" }, onClick: () => setShowEndStreamAlert(false) }, /* @__PURE__ */ React.createElement(CrossIcon, null))
79
+ ), /* @__PURE__ */ React.createElement(Text, { variant: "sm", css: { color: "$on_surface_medium", mb: "$8", mt: "$4" } }, "The ", isStreamingOn ? "stream" : "session", " will end for everyone. You can't undo this action."), /* @__PURE__ */ React.createElement(Flex, { align: "center", justify: "between", css: { w: "100%", gap: "$8" } }, /* @__PURE__ */ React.createElement(
80
+ Button,
81
+ {
82
+ outlined: true,
83
+ variant: "standard",
84
+ css: { w: "100%", "@md": { display: "none" } },
85
+ onClick: () => setShowEndStreamAlert(false)
86
+ },
87
+ "Cancel"
88
+ ), /* @__PURE__ */ React.createElement(
89
+ Button,
90
+ {
91
+ variant: "danger",
92
+ css: { w: "100%" },
93
+ onClick: () => __async(void 0, null, function* () {
94
+ yield leaveRoom({ endStream: true });
95
+ setShowEndStreamAlert(false);
96
+ }),
97
+ id: "stopStream",
98
+ "data-testid": "stop_stream_btn"
99
+ },
100
+ "End ",
101
+ isStreamingOn ? "Stream" : "Session"
102
+ )));
103
+ };
104
+
105
+ // src/Prebuilt/components/Leave/LeaveAtoms.tsx
106
+ init_define_process_env();
107
+ var LeaveIconButton = styled(IconButton, {
108
+ color: "$on_primary_high",
109
+ h: "$14",
110
+ px: "$4",
111
+ r: "$1",
112
+ bg: "$alert_error_default",
113
+ "&:not([disabled]):hover": {
114
+ bg: "$alert_error_bright"
115
+ },
116
+ "&:not([disabled]):active": {
117
+ bg: "$alert_error_default"
118
+ },
119
+ "@md": {
120
+ mx: 0
121
+ }
122
+ });
123
+ var MenuTriggerButton = styled(LeaveIconButton, {
124
+ borderLeft: "1px solid $alert_error_dim",
125
+ borderTopLeftRadius: 0,
126
+ borderBottomLeftRadius: 0,
127
+ px: "$2"
128
+ });
129
+
130
+ // src/Prebuilt/components/Leave/LeaveCard.tsx
131
+ init_define_process_env();
132
+ import React2 from "react";
133
+ var LeaveCard = ({
134
+ icon,
135
+ title,
136
+ subtitle,
137
+ onClick,
138
+ bg,
139
+ titleColor,
140
+ css = {}
141
+ }) => {
142
+ return /* @__PURE__ */ React2.createElement(Flex, { css: __spreadValues({ p: "$10", flexGrow: 1, gap: "$8", bg }, css), onClick }, /* @__PURE__ */ React2.createElement(Box, { css: { color: titleColor } }, icon), /* @__PURE__ */ React2.createElement(Box, { css: { gap: "$2" } }, /* @__PURE__ */ React2.createElement(Text, { variant: "lg", css: { color: titleColor } }, title), /* @__PURE__ */ React2.createElement(Text, { variant: "sm", css: { c: "inherit" } }, subtitle)));
143
+ };
144
+
145
+ // src/Prebuilt/components/Leave/LeaveSessionContent.tsx
146
+ init_define_process_env();
147
+ import React3 from "react";
148
+ import { AlertTriangleIcon as AlertTriangleIcon2, CrossIcon as CrossIcon2 } from "@100mslive/react-icons";
149
+ var LeaveSessionContent = ({
150
+ setShowLeaveRoomAlert,
151
+ leaveRoom,
152
+ isModal = false
153
+ }) => {
154
+ return /* @__PURE__ */ React3.createElement(Box, null, /* @__PURE__ */ React3.createElement(
155
+ Flex,
156
+ {
157
+ css: {
158
+ color: "$alert_error_default",
159
+ display: "flex",
160
+ alignItems: "center"
161
+ }
162
+ },
163
+ /* @__PURE__ */ React3.createElement(AlertTriangleIcon2, { style: { marginRight: "0.5rem" } }),
164
+ /* @__PURE__ */ React3.createElement(Text, { variant: "lg", css: { color: "inherit", fontWeight: "$semiBold" } }, "Leave"),
165
+ isModal ? null : /* @__PURE__ */ React3.createElement(Box, { css: { color: "$on_surface_high", ml: "auto" }, onClick: () => setShowLeaveRoomAlert(false) }, /* @__PURE__ */ React3.createElement(CrossIcon2, null))
166
+ ), /* @__PURE__ */ React3.createElement(Text, { variant: "sm", css: { color: "$on_surface_low", mb: "$8", mt: "$4" } }, "Others will continue after you leave. You can join the session again."), /* @__PURE__ */ React3.createElement(Flex, { align: "center", justify: "between", css: { w: "100%", gap: "$8" } }, /* @__PURE__ */ React3.createElement(
167
+ Button,
168
+ {
169
+ outlined: true,
170
+ variant: "standard",
171
+ css: { w: "100%", "@md": { display: "none" } },
172
+ onClick: () => setShowLeaveRoomAlert(false)
173
+ },
174
+ "Cancel"
175
+ ), /* @__PURE__ */ React3.createElement(
176
+ Button,
177
+ {
178
+ variant: "danger",
179
+ css: { w: "100%" },
180
+ onClick: () => __async(void 0, null, function* () {
181
+ yield leaveRoom();
182
+ }),
183
+ id: "leaveRoom",
184
+ "data-testid": "leave_room"
185
+ },
186
+ "Leave Session"
187
+ )));
188
+ };
189
+
190
+ // src/Prebuilt/components/Leave/DesktopLeaveRoom.tsx
191
+ var DesktopLeaveRoom = ({
192
+ leaveRoom,
193
+ screenType,
194
+ endRoom,
195
+ container
196
+ }) => {
197
+ const [open, setOpen] = useState(false);
198
+ const [showLeaveRoomAlert, setShowLeaveRoomAlert] = useState(false);
199
+ const [showEndStreamAlert, setShowEndStreamAlert] = useState(false);
200
+ const isConnected = useHMSStore(selectIsConnectedToRoom);
201
+ const permissions = useHMSStore(selectPermissions);
202
+ const { isStreamingOn } = useRecordingStreaming();
203
+ const showStream = screenType !== "hls_live_streaming" && isStreamingOn && (permissions == null ? void 0 : permissions.hlsStreaming);
204
+ const showLeaveOptions = (permissions == null ? void 0 : permissions.hlsStreaming) && isStreamingOn || (permissions == null ? void 0 : permissions.endRoom);
205
+ useDropdownList({ open: open || showEndStreamAlert || showLeaveRoomAlert, name: "LeaveRoom" });
206
+ if (!permissions || !isConnected) {
207
+ return null;
208
+ }
209
+ return /* @__PURE__ */ React4.createElement(Fragment, null, showLeaveOptions ? /* @__PURE__ */ React4.createElement(Flex, null, /* @__PURE__ */ React4.createElement(
210
+ LeaveIconButton,
211
+ {
212
+ key: "LeaveRoom",
213
+ "data-testid": "leave_room_btn",
214
+ css: {
215
+ borderTopRightRadius: 0,
216
+ borderBottomRightRadius: 0
217
+ },
218
+ onClick: () => setShowLeaveRoomAlert(true)
219
+ },
220
+ /* @__PURE__ */ React4.createElement(Tooltip, { title: "Leave Room" }, /* @__PURE__ */ React4.createElement(Box, null, /* @__PURE__ */ React4.createElement(ExitIcon, { style: { transform: "rotate(180deg)" } })))
221
+ ), /* @__PURE__ */ React4.createElement(Dropdown.Root, { open, onOpenChange: setOpen, modal: false }, /* @__PURE__ */ React4.createElement(
222
+ Dropdown.Trigger,
223
+ {
224
+ asChild: true,
225
+ css: {
226
+ '&[data-state="open"]': {
227
+ bg: "$alert_error_dim"
228
+ }
229
+ }
230
+ },
231
+ /* @__PURE__ */ React4.createElement(MenuTriggerButton, { "data-testid": "leave_end_dropdown_trigger" }, /* @__PURE__ */ React4.createElement(VerticalMenuIcon, null))
232
+ ), /* @__PURE__ */ React4.createElement(Dropdown.Portal, { container }, /* @__PURE__ */ React4.createElement(Dropdown.Content, { css: { p: 0, w: "$100" }, alignOffset: -50, sideOffset: 10 }, /* @__PURE__ */ React4.createElement(
233
+ Dropdown.Item,
234
+ {
235
+ css: {
236
+ bg: "$surface_dim",
237
+ color: "$on_surface_medium",
238
+ "&:hover": { bg: "$surface_default", color: "$on_surface_high" },
239
+ p: "0"
240
+ },
241
+ "data-testid": "just_leave_btn"
242
+ },
243
+ /* @__PURE__ */ React4.createElement(
244
+ LeaveCard,
245
+ {
246
+ title: showStream ? "Leave Stream" : "Leave Session",
247
+ subtitle: `Others will continue after you leave. You can join the ${showStream ? "stream" : "session"} again.`,
248
+ bg: "",
249
+ titleColor: "$on_surface_high",
250
+ icon: /* @__PURE__ */ React4.createElement(ExitIcon, { height: 24, width: 24, style: { transform: "rotate(180deg)" } }),
251
+ onClick: () => __async(void 0, null, function* () {
252
+ return yield leaveRoom();
253
+ }),
254
+ css: { p: "$8 $4" }
255
+ }
256
+ )
257
+ ), /* @__PURE__ */ React4.createElement(
258
+ Dropdown.Item,
259
+ {
260
+ css: {
261
+ bg: "$alert_error_dim",
262
+ color: "$alert_error_bright",
263
+ "&:hover": { bg: "$alert_error_dim", color: "$alert_error_brighter" },
264
+ p: "0"
265
+ },
266
+ "data-testid": "end_room_btn"
267
+ },
268
+ /* @__PURE__ */ React4.createElement(
269
+ LeaveCard,
270
+ {
271
+ title: showStream ? "End Stream" : "End Session",
272
+ subtitle: `The ${showStream ? "stream" : "session"} will end for everyone. You can't undo this action.`,
273
+ bg: "",
274
+ titleColor: "$alert_error_brighter",
275
+ icon: /* @__PURE__ */ React4.createElement(StopIcon, { height: 24, width: 24 }),
276
+ onClick: () => {
277
+ setOpen(false);
278
+ setShowEndStreamAlert(true);
279
+ },
280
+ css: { p: "$8 $4" }
281
+ }
282
+ )
283
+ ))))) : /* @__PURE__ */ React4.createElement(
284
+ LeaveIconButton,
285
+ {
286
+ onClick: () => {
287
+ setShowLeaveRoomAlert(true);
288
+ },
289
+ key: "LeaveRoom",
290
+ "data-testid": "leave_room_btn"
291
+ },
292
+ /* @__PURE__ */ React4.createElement(Tooltip, { title: "Leave Room" }, /* @__PURE__ */ React4.createElement(Box, null, /* @__PURE__ */ React4.createElement(ExitIcon, { style: { transform: "rotate(180deg)" } })))
293
+ ), /* @__PURE__ */ React4.createElement(Dialog.Root, { open: showEndStreamAlert, modal: false }, /* @__PURE__ */ React4.createElement(Dialog.Portal, null, /* @__PURE__ */ React4.createElement(Dialog.Overlay, null), /* @__PURE__ */ React4.createElement(Dialog.Content, { css: { w: "min(420px, 90%)", p: "$8", bg: "$surface_dim" } }, /* @__PURE__ */ React4.createElement(
294
+ EndSessionContent,
295
+ {
296
+ setShowEndStreamAlert,
297
+ leaveRoom: isStreamingOn ? () => leaveRoom({ endStream: true }) : endRoom,
298
+ isStreamingOn,
299
+ isModal: true
300
+ }
301
+ )))), /* @__PURE__ */ React4.createElement(Dialog.Root, { open: showLeaveRoomAlert, modal: false }, /* @__PURE__ */ React4.createElement(Dialog.Portal, null, /* @__PURE__ */ React4.createElement(Dialog.Overlay, null), /* @__PURE__ */ React4.createElement(Dialog.Content, { css: { w: "min(420px, 90%)", p: "$8", bg: "$surface_dim" } }, /* @__PURE__ */ React4.createElement(LeaveSessionContent, { setShowLeaveRoomAlert, leaveRoom, isModal: true })))));
302
+ };
303
+
304
+ // src/Prebuilt/components/Leave/MwebLeaveRoom.tsx
305
+ init_define_process_env();
306
+ import React5, { Fragment as Fragment2, useState as useState2 } from "react";
307
+ import { selectIsConnectedToRoom as selectIsConnectedToRoom2, selectPermissions as selectPermissions2, useHMSStore as useHMSStore2, useRecordingStreaming as useRecordingStreaming2 } from "@100mslive/react-sdk";
308
+ import { CrossIcon as CrossIcon3, ExitIcon as ExitIcon2, StopIcon as StopIcon2 } from "@100mslive/react-icons";
309
+ var MwebLeaveRoom = ({
310
+ leaveRoom,
311
+ endRoom,
312
+ container
313
+ }) => {
314
+ const [open, setOpen] = useState2(false);
315
+ const { screenType } = useRoomLayoutConferencingScreen();
316
+ const [showLeaveRoomAlert, setShowLeaveRoomAlert] = useState2(false);
317
+ const [showEndStreamAlert, setShowEndStreamAlert] = useState2(false);
318
+ const isConnected = useHMSStore2(selectIsConnectedToRoom2);
319
+ const permissions = useHMSStore2(selectPermissions2);
320
+ const { isStreamingOn } = useRecordingStreaming2();
321
+ const showStream = screenType !== "hls_live_streaming" && isStreamingOn && (permissions == null ? void 0 : permissions.hlsStreaming);
322
+ const showLeaveOptions = (permissions == null ? void 0 : permissions.hlsStreaming) && isStreamingOn || (permissions == null ? void 0 : permissions.endRoom);
323
+ useDropdownList({ open, name: "LeaveRoom" });
324
+ if (!permissions || !isConnected) {
325
+ return null;
326
+ }
327
+ return /* @__PURE__ */ React5.createElement(Fragment2, null, showLeaveOptions ? /* @__PURE__ */ React5.createElement(Sheet.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React5.createElement(Sheet.Trigger, { asChild: true }, /* @__PURE__ */ React5.createElement(
328
+ LeaveButton,
329
+ {
330
+ onClick: () => {
331
+ setOpen((open2) => !open2);
332
+ }
333
+ }
334
+ )), /* @__PURE__ */ React5.createElement(Sheet.Content, { container }, /* @__PURE__ */ React5.createElement(
335
+ LeaveCard,
336
+ {
337
+ title: showStream ? "Leave Stream" : "Leave Session",
338
+ subtitle: `Others will continue after you leave. You can join the ${showStream ? "stream" : "session"} again.`,
339
+ bg: "$surface_default",
340
+ titleColor: "$on_surface_high",
341
+ icon: /* @__PURE__ */ React5.createElement(ExitIcon2, { height: 24, width: 24, style: { transform: "rotate(180deg)" } }),
342
+ onClick: () => __async(void 0, null, function* () {
343
+ return yield leaveRoom();
344
+ }),
345
+ css: { pt: 0, mt: "$10", color: "$on_surface_low", "&:hover": { color: "$on_surface_high" } }
346
+ }
347
+ ), /* @__PURE__ */ React5.createElement(
348
+ LeaveCard,
349
+ {
350
+ title: showStream ? "End Stream" : "End Session",
351
+ subtitle: `The will end the ${showStream ? "stream" : "session"} for everyone. You can't undo this action.`,
352
+ bg: "$alert_error_dim",
353
+ titleColor: "$alert_error_brighter",
354
+ css: { color: "$alert_error_bright", "&:hover": { color: "$alert_error_brighter" } },
355
+ icon: /* @__PURE__ */ React5.createElement(StopIcon2, { height: 24, width: 24 }),
356
+ onClick: () => {
357
+ setOpen(false);
358
+ setShowEndStreamAlert(true);
359
+ }
360
+ }
361
+ ))) : /* @__PURE__ */ React5.createElement(LeaveButton, { onClick: () => setShowLeaveRoomAlert(true) }), /* @__PURE__ */ React5.createElement(Sheet.Root, { open: showEndStreamAlert, onOpenChange: setShowEndStreamAlert }, /* @__PURE__ */ React5.createElement(Sheet.Content, { css: { bg: "$surface_dim", p: "$10", pb: "$12" }, container }, /* @__PURE__ */ React5.createElement(
362
+ EndSessionContent,
363
+ {
364
+ setShowEndStreamAlert,
365
+ leaveRoom: isStreamingOn ? leaveRoom : endRoom,
366
+ isStreamingOn
367
+ }
368
+ ))), /* @__PURE__ */ React5.createElement(Sheet.Root, { open: showLeaveRoomAlert, onOpenChange: setShowLeaveRoomAlert }, /* @__PURE__ */ React5.createElement(Sheet.Content, { css: { bg: "$surface_dim", p: "$10", pb: "$12" }, container }, /* @__PURE__ */ React5.createElement(LeaveSessionContent, { setShowLeaveRoomAlert, leaveRoom }))));
369
+ };
370
+ var LeaveButton = ({ onClick }) => {
371
+ const isMobileHLSStream = useMobileHLSStream();
372
+ const isLandscapeHLSStream = useLandscapeHLSStream();
373
+ return isMobileHLSStream || isLandscapeHLSStream ? /* @__PURE__ */ React5.createElement(IconButton, { key: "LeaveRoom", "data-testid": "leave_room_btn", onClick }, /* @__PURE__ */ React5.createElement(Tooltip, { title: "Leave Room" }, /* @__PURE__ */ React5.createElement(Box, null, /* @__PURE__ */ React5.createElement(CrossIcon3, null)))) : /* @__PURE__ */ React5.createElement(
374
+ LeaveIconButton,
375
+ {
376
+ key: "LeaveRoom",
377
+ "data-testid": "leave_room_btn",
378
+ css: {
379
+ borderTopRightRadius: "$1",
380
+ borderBottomRightRadius: "$1"
381
+ },
382
+ onClick
383
+ },
384
+ /* @__PURE__ */ React5.createElement(Tooltip, { title: "Leave Room" }, /* @__PURE__ */ React5.createElement(Box, null, /* @__PURE__ */ React5.createElement(ExitIcon2, { style: { transform: "rotate(180deg)" } })))
385
+ );
386
+ };
387
+
388
+ // src/Prebuilt/components/Leave/LeaveRoom.tsx
389
+ var LeaveRoom = ({
390
+ screenType,
391
+ container
392
+ }) => {
393
+ const isConnected = useHMSStore3(selectIsConnectedToRoom3);
394
+ const permissions = useHMSStore3(selectPermissions3);
395
+ const isMobile = useMedia(config.media.md);
396
+ const rolesMap = useHMSStore3(selectRolesMap);
397
+ const streamingPermissionRoles = Object.keys(rolesMap).filter((roleName) => {
398
+ const roleObj = rolesMap[roleName];
399
+ return roleObj.permissions.hlsStreaming;
400
+ });
401
+ const peersWithStreamingRights = useHMSStore3(
402
+ selectPeersByCondition((peer) => streamingPermissionRoles.includes(peer.roleName || ""))
403
+ );
404
+ const hlsState = useHMSStore3(selectHLSState);
405
+ const hmsActions = useHMSActions();
406
+ const isMobileHLSStream = useMobileHLSStream();
407
+ const isLandscapeHLSStream = useLandscapeHLSStream();
408
+ const stopStream = () => __async(void 0, null, function* () {
409
+ try {
410
+ if (permissions == null ? void 0 : permissions.hlsStreaming) {
411
+ console.log("Stopping HLS stream");
412
+ yield hmsActions.stopHLSStreaming();
413
+ ToastManager.addToast({ title: "Stopping the stream" });
414
+ }
415
+ } catch (e) {
416
+ console.error("Error stopping stream", e);
417
+ ToastManager.addToast({ title: "Error in stopping the stream", type: "error" });
418
+ }
419
+ });
420
+ const endRoom = () => __async(void 0, null, function* () {
421
+ yield hmsActions.endRoom(false, "End Room");
422
+ });
423
+ const leaveRoom = (..._0) => __async(void 0, [..._0], function* (options = { endStream: false }) {
424
+ if (options.endStream || hlsState.running && peersWithStreamingRights.length === 1) {
425
+ yield stopStream();
426
+ }
427
+ yield hmsActions.leave();
428
+ });
429
+ if (!permissions || !isConnected) {
430
+ return null;
431
+ }
432
+ if (isMobileHLSStream || isLandscapeHLSStream) {
433
+ return /* @__PURE__ */ React6.createElement(MwebLeaveRoom, { leaveRoom, endRoom, container });
434
+ }
435
+ return isMobile ? /* @__PURE__ */ React6.createElement(MwebLeaveRoom, { leaveRoom, endRoom, container }) : /* @__PURE__ */ React6.createElement(DesktopLeaveRoom, { leaveRoom, screenType, endRoom, container });
436
+ };
437
+
438
+ // src/Prebuilt/components/Footer/ChatToggle.tsx
439
+ init_define_process_env();
440
+ import React7 from "react";
441
+ import { selectUnreadHMSMessagesCount, useHMSStore as useHMSStore4 } from "@100mslive/react-sdk";
442
+ import { ChatIcon } from "@100mslive/react-icons";
443
+ var ChatToggle = ({ onClick }) => {
444
+ const countUnreadMessages = useHMSStore4(selectUnreadHMSMessagesCount);
445
+ const isChatOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.CHAT);
446
+ const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);
447
+ return /* @__PURE__ */ React7.createElement(
448
+ Box,
449
+ {
450
+ css: {
451
+ position: "relative"
452
+ }
453
+ },
454
+ /* @__PURE__ */ React7.createElement(Tooltip, { key: "chat", title: `${isChatOpen ? "Close" : "Open"} chat` }, /* @__PURE__ */ React7.createElement(
455
+ IconButton_default,
456
+ {
457
+ onClick: () => onClick ? onClick() : toggleChat(),
458
+ css: { bg: isChatOpen ? "$surface_brighter" : "" },
459
+ "data-testid": "chat_btn"
460
+ },
461
+ /* @__PURE__ */ React7.createElement(ChatIcon, null)
462
+ )),
463
+ countUnreadMessages > 0 && /* @__PURE__ */ React7.createElement(
464
+ Flex,
465
+ {
466
+ css: {
467
+ height: "$8",
468
+ p: "$4 4.5px",
469
+ justifyContent: "center",
470
+ alignItems: "center",
471
+ position: "absolute",
472
+ top: "-$4",
473
+ right: "-$4",
474
+ borderRadius: "$space$14",
475
+ background: "$primary_default"
476
+ }
477
+ },
478
+ /* @__PURE__ */ React7.createElement(Text, { variant: "overline" }, countUnreadMessages > 99 ? "99+" : countUnreadMessages)
479
+ )
480
+ );
481
+ };
482
+
483
+ export {
484
+ LeaveRoom,
485
+ ChatToggle
486
+ };
487
+ //# sourceMappingURL=chunk-EWPHJFZJ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/Prebuilt/components/Leave/LeaveRoom.tsx", "../src/Prebuilt/components/Leave/DesktopLeaveRoom.tsx", "../src/Prebuilt/components/Leave/EndSessionContent.tsx", "../src/Prebuilt/components/Leave/LeaveAtoms.tsx", "../src/Prebuilt/components/Leave/LeaveCard.tsx", "../src/Prebuilt/components/Leave/LeaveSessionContent.tsx", "../src/Prebuilt/components/Leave/MwebLeaveRoom.tsx", "../src/Prebuilt/components/Footer/ChatToggle.tsx"],
4
+ "sourcesContent": ["import React from 'react';\nimport { useMedia } from 'react-use';\nimport { ConferencingScreen } from '@100mslive/types-prebuilt';\nimport {\n HMSPeer,\n HMSRole,\n selectHLSState,\n selectIsConnectedToRoom,\n selectPeersByCondition,\n selectPermissions,\n selectRolesMap,\n useHMSActions,\n useHMSStore,\n} from '@100mslive/react-sdk';\nimport { config as cssConfig } from '../../../Theme';\n// @ts-ignore: No implicit Any\nimport { ToastManager } from '../Toast/ToastManager';\nimport { DesktopLeaveRoom } from './DesktopLeaveRoom';\nimport { MwebLeaveRoom } from './MwebLeaveRoom';\nimport { useLandscapeHLSStream, useMobileHLSStream } from '../../common/hooks';\n\nexport const LeaveRoom = ({\n screenType,\n container,\n}: {\n screenType: keyof ConferencingScreen;\n container?: HTMLElement;\n}) => {\n const isConnected = useHMSStore(selectIsConnectedToRoom);\n const permissions = useHMSStore(selectPermissions);\n const isMobile = useMedia(cssConfig.media.md);\n const rolesMap: Record<string, HMSRole> = useHMSStore(selectRolesMap);\n const streamingPermissionRoles = Object.keys(rolesMap).filter(roleName => {\n const roleObj = rolesMap[roleName];\n return roleObj.permissions.hlsStreaming;\n });\n const peersWithStreamingRights = useHMSStore(\n selectPeersByCondition((peer: HMSPeer) => streamingPermissionRoles.includes(peer.roleName || '')),\n );\n const hlsState = useHMSStore(selectHLSState);\n const hmsActions = useHMSActions();\n const isMobileHLSStream = useMobileHLSStream();\n const isLandscapeHLSStream = useLandscapeHLSStream();\n\n const stopStream = async () => {\n try {\n if (permissions?.hlsStreaming) {\n console.log('Stopping HLS stream');\n await hmsActions.stopHLSStreaming();\n ToastManager.addToast({ title: 'Stopping the stream' });\n }\n } catch (e) {\n console.error('Error stopping stream', e);\n ToastManager.addToast({ title: 'Error in stopping the stream', type: 'error' });\n }\n };\n\n const endRoom = async () => {\n await hmsActions.endRoom(false, 'End Room');\n };\n\n const leaveRoom = async (options: { endStream?: boolean } = { endStream: false }) => {\n if (options.endStream || (hlsState.running && peersWithStreamingRights.length === 1)) {\n await stopStream();\n }\n await hmsActions.leave();\n };\n\n if (!permissions || !isConnected) {\n return null;\n }\n if (isMobileHLSStream || isLandscapeHLSStream) {\n return <MwebLeaveRoom leaveRoom={leaveRoom} endRoom={endRoom} container={container} />;\n }\n return isMobile ? (\n <MwebLeaveRoom leaveRoom={leaveRoom} endRoom={endRoom} container={container} />\n ) : (\n <DesktopLeaveRoom leaveRoom={leaveRoom} screenType={screenType} endRoom={endRoom} container={container} />\n );\n};\n", "import React, { Fragment, useState } from 'react';\nimport { ConferencingScreen } from '@100mslive/types-prebuilt';\nimport { selectIsConnectedToRoom, selectPermissions, useHMSStore, useRecordingStreaming } from '@100mslive/react-sdk';\nimport { ExitIcon, StopIcon, VerticalMenuIcon } from '@100mslive/react-icons';\nimport { Dropdown } from '../../../Dropdown';\nimport { Box, Flex } from '../../../Layout';\nimport { Dialog } from '../../../Modal';\nimport { Tooltip } from '../../../Tooltip';\nimport { EndSessionContent } from './EndSessionContent';\nimport { LeaveIconButton, MenuTriggerButton } from './LeaveAtoms';\nimport { LeaveCard } from './LeaveCard';\nimport { LeaveSessionContent } from './LeaveSessionContent';\n// @ts-ignore: No implicit Any\nimport { useDropdownList } from '../hooks/useDropdownList';\n\nexport const DesktopLeaveRoom = ({\n leaveRoom,\n screenType,\n endRoom,\n container,\n}: {\n leaveRoom: (options?: { endStream?: boolean }) => Promise<void>;\n screenType: keyof ConferencingScreen;\n endRoom: () => Promise<void>;\n container?: HTMLElement;\n}) => {\n const [open, setOpen] = useState(false);\n const [showLeaveRoomAlert, setShowLeaveRoomAlert] = useState(false);\n const [showEndStreamAlert, setShowEndStreamAlert] = useState(false);\n const isConnected = useHMSStore(selectIsConnectedToRoom);\n const permissions = useHMSStore(selectPermissions);\n const { isStreamingOn } = useRecordingStreaming();\n const showStream = screenType !== 'hls_live_streaming' && isStreamingOn && permissions?.hlsStreaming;\n const showLeaveOptions = (permissions?.hlsStreaming && isStreamingOn) || permissions?.endRoom;\n\n useDropdownList({ open: open || showEndStreamAlert || showLeaveRoomAlert, name: 'LeaveRoom' });\n\n if (!permissions || !isConnected) {\n return null;\n }\n\n return (\n <Fragment>\n {showLeaveOptions ? (\n <Flex>\n <LeaveIconButton\n key=\"LeaveRoom\"\n data-testid=\"leave_room_btn\"\n css={{\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n }}\n onClick={() => setShowLeaveRoomAlert(true)}\n >\n <Tooltip title=\"Leave Room\">\n <Box>\n <ExitIcon style={{ transform: 'rotate(180deg)' }} />\n </Box>\n </Tooltip>\n </LeaveIconButton>\n <Dropdown.Root open={open} onOpenChange={setOpen} modal={false}>\n <Dropdown.Trigger\n asChild\n css={{\n '&[data-state=\"open\"]': {\n bg: '$alert_error_dim',\n },\n }}\n >\n <MenuTriggerButton data-testid=\"leave_end_dropdown_trigger\">\n <VerticalMenuIcon />\n </MenuTriggerButton>\n </Dropdown.Trigger>\n <Dropdown.Portal container={container}>\n <Dropdown.Content css={{ p: 0, w: '$100' }} alignOffset={-50} sideOffset={10}>\n <Dropdown.Item\n css={{\n bg: '$surface_dim',\n color: '$on_surface_medium',\n '&:hover': { bg: '$surface_default', color: '$on_surface_high' },\n p: '0',\n }}\n data-testid=\"just_leave_btn\"\n >\n <LeaveCard\n title={showStream ? 'Leave Stream' : 'Leave Session'}\n subtitle={`Others will continue after you leave. You can join the ${\n showStream ? 'stream' : 'session'\n } again.`}\n bg=\"\"\n titleColor=\"$on_surface_high\"\n icon={<ExitIcon height={24} width={24} style={{ transform: 'rotate(180deg)' }} />}\n onClick={async () => await leaveRoom()}\n css={{ p: '$8 $4' }}\n />\n </Dropdown.Item>\n\n <Dropdown.Item\n css={{\n bg: '$alert_error_dim',\n color: '$alert_error_bright',\n '&:hover': { bg: '$alert_error_dim', color: '$alert_error_brighter' },\n p: '0',\n }}\n data-testid=\"end_room_btn\"\n >\n <LeaveCard\n title={showStream ? 'End Stream' : 'End Session'}\n subtitle={`The ${\n showStream ? 'stream' : 'session'\n } will end for everyone. You can't undo this action.`}\n bg=\"\"\n titleColor=\"$alert_error_brighter\"\n icon={<StopIcon height={24} width={24} />}\n onClick={() => {\n setOpen(false);\n setShowEndStreamAlert(true);\n }}\n css={{ p: '$8 $4' }}\n />\n </Dropdown.Item>\n </Dropdown.Content>\n </Dropdown.Portal>\n </Dropdown.Root>\n </Flex>\n ) : (\n <LeaveIconButton\n onClick={() => {\n setShowLeaveRoomAlert(true);\n }}\n key=\"LeaveRoom\"\n data-testid=\"leave_room_btn\"\n >\n <Tooltip title=\"Leave Room\">\n <Box>\n <ExitIcon style={{ transform: 'rotate(180deg)' }} />\n </Box>\n </Tooltip>\n </LeaveIconButton>\n )}\n\n <Dialog.Root open={showEndStreamAlert} modal={false}>\n <Dialog.Portal>\n <Dialog.Overlay />\n <Dialog.Content css={{ w: 'min(420px, 90%)', p: '$8', bg: '$surface_dim' }}>\n <EndSessionContent\n setShowEndStreamAlert={setShowEndStreamAlert}\n leaveRoom={isStreamingOn ? () => leaveRoom({ endStream: true }) : endRoom}\n isStreamingOn={isStreamingOn}\n isModal\n />\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n\n <Dialog.Root open={showLeaveRoomAlert} modal={false}>\n <Dialog.Portal>\n <Dialog.Overlay />\n <Dialog.Content css={{ w: 'min(420px, 90%)', p: '$8', bg: '$surface_dim' }}>\n <LeaveSessionContent setShowLeaveRoomAlert={setShowLeaveRoomAlert} leaveRoom={leaveRoom} isModal />\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n </Fragment>\n );\n};\n", "import React from 'react';\nimport { AlertTriangleIcon, CrossIcon } from '@100mslive/react-icons';\nimport { Button } from '../../../Button';\nimport { Box, Flex } from '../../../Layout';\nimport { Text } from '../../../Text';\n\nexport const EndSessionContent = ({\n setShowEndStreamAlert,\n leaveRoom,\n isModal = false,\n isStreamingOn = false,\n}: {\n setShowEndStreamAlert: (value: boolean) => void;\n leaveRoom: (options?: { endStream?: boolean }) => Promise<void>;\n isModal?: boolean;\n isStreamingOn: boolean;\n}) => {\n return (\n <Box>\n <Flex\n css={{\n color: '$alert_error_default',\n display: 'flex',\n alignItems: 'center',\n }}\n >\n <AlertTriangleIcon style={{ marginRight: '0.5rem' }} />\n <Text variant=\"lg\" css={{ color: 'inherit', fontWeight: '$semiBold' }}>\n End {isStreamingOn ? 'Stream' : 'Session'}\n </Text>\n {isModal ? null : (\n <Box css={{ color: '$on_surface_high', ml: 'auto' }} onClick={() => setShowEndStreamAlert(false)}>\n <CrossIcon />\n </Box>\n )}\n </Flex>\n <Text variant=\"sm\" css={{ color: '$on_surface_medium', mb: '$8', mt: '$4' }}>\n The {isStreamingOn ? 'stream' : 'session'} will end for everyone. You can't undo this action.\n </Text>\n <Flex align=\"center\" justify=\"between\" css={{ w: '100%', gap: '$8' }}>\n <Button\n outlined\n variant=\"standard\"\n css={{ w: '100%', '@md': { display: 'none' } }}\n onClick={() => setShowEndStreamAlert(false)}\n >\n Cancel\n </Button>\n <Button\n variant=\"danger\"\n css={{ w: '100%' }}\n onClick={async () => {\n await leaveRoom({ endStream: true });\n setShowEndStreamAlert(false);\n }}\n id=\"stopStream\"\n data-testid=\"stop_stream_btn\"\n >\n End {isStreamingOn ? 'Stream' : 'Session'}\n </Button>\n </Flex>\n </Box>\n );\n};\n", "import { IconButton } from '../../../IconButton';\nimport { styled } from '../../../Theme';\n\nexport const LeaveIconButton = styled(IconButton, {\n color: '$on_primary_high',\n h: '$14',\n px: '$4',\n r: '$1',\n bg: '$alert_error_default',\n '&:not([disabled]):hover': {\n bg: '$alert_error_bright',\n },\n '&:not([disabled]):active': {\n bg: '$alert_error_default',\n },\n '@md': {\n mx: 0,\n },\n});\n\nexport const MenuTriggerButton = styled(LeaveIconButton, {\n borderLeft: '1px solid $alert_error_dim',\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n px: '$2',\n});\n", "import React from 'react';\nimport { Box, Flex } from '../../../Layout';\nimport { Text } from '../../../Text';\nimport { CSS } from '../../../Theme';\n\nexport const LeaveCard = ({\n icon,\n title,\n subtitle,\n onClick,\n bg,\n titleColor,\n css = {},\n}: {\n icon: React.JSX.Element;\n title: string;\n subtitle: string;\n onClick: () => void;\n titleColor: string;\n bg: string;\n css?: CSS;\n}) => {\n return (\n <Flex css={{ p: '$10', flexGrow: 1, gap: '$8', bg, ...css }} onClick={onClick}>\n <Box css={{ color: titleColor }}>{icon}</Box>\n <Box css={{ gap: '$2' }}>\n <Text variant=\"lg\" css={{ color: titleColor }}>\n {title}\n </Text>\n <Text variant=\"sm\" css={{ c: 'inherit' }}>\n {subtitle}\n </Text>\n </Box>\n </Flex>\n );\n};\n", "import React from 'react';\nimport { AlertTriangleIcon, CrossIcon } from '@100mslive/react-icons';\nimport { Button } from '../../../Button';\nimport { Box, Flex } from '../../../Layout';\nimport { Text } from '../../../Text';\n\nexport const LeaveSessionContent = ({\n setShowLeaveRoomAlert,\n leaveRoom,\n isModal = false,\n}: {\n setShowLeaveRoomAlert: (value: boolean) => void;\n leaveRoom: (options?: { endStream?: boolean }) => Promise<void>;\n isModal?: boolean;\n}) => {\n return (\n <Box>\n <Flex\n css={{\n color: '$alert_error_default',\n display: 'flex',\n alignItems: 'center',\n }}\n >\n <AlertTriangleIcon style={{ marginRight: '0.5rem' }} />\n <Text variant=\"lg\" css={{ color: 'inherit', fontWeight: '$semiBold' }}>\n Leave\n </Text>\n {isModal ? null : (\n <Box css={{ color: '$on_surface_high', ml: 'auto' }} onClick={() => setShowLeaveRoomAlert(false)}>\n <CrossIcon />\n </Box>\n )}\n </Flex>\n <Text variant=\"sm\" css={{ color: '$on_surface_low', mb: '$8', mt: '$4' }}>\n Others will continue after you leave. You can join the session again.\n </Text>\n <Flex align=\"center\" justify=\"between\" css={{ w: '100%', gap: '$8' }}>\n <Button\n outlined\n variant=\"standard\"\n css={{ w: '100%', '@md': { display: 'none' } }}\n onClick={() => setShowLeaveRoomAlert(false)}\n >\n Cancel\n </Button>\n <Button\n variant=\"danger\"\n css={{ w: '100%' }}\n onClick={async () => {\n await leaveRoom();\n }}\n id=\"leaveRoom\"\n data-testid=\"leave_room\"\n >\n Leave Session\n </Button>\n </Flex>\n </Box>\n );\n};\n", "import React, { Fragment, useState } from 'react';\n// @ts-ignore: No implicit Any\nimport { selectIsConnectedToRoom, selectPermissions, useHMSStore, useRecordingStreaming } from '@100mslive/react-sdk';\n// @ts-ignore: No implicit Any\nimport { CrossIcon, ExitIcon, StopIcon } from '@100mslive/react-icons';\nimport { IconButton } from '../../../IconButton';\nimport { Box } from '../../../Layout';\nimport { Sheet } from '../../../Sheet';\nimport { Tooltip } from '../../../Tooltip';\nimport { EndSessionContent } from './EndSessionContent';\nimport { LeaveIconButton } from './LeaveAtoms';\nimport { LeaveCard } from './LeaveCard';\nimport { LeaveSessionContent } from './LeaveSessionContent';\nimport { useRoomLayoutConferencingScreen } from '../../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';\n// @ts-ignore: No implicit Any\nimport { useDropdownList } from '../hooks/useDropdownList';\nimport { useLandscapeHLSStream, useMobileHLSStream } from '../../common/hooks';\n\nexport const MwebLeaveRoom = ({\n leaveRoom,\n endRoom,\n container,\n}: {\n leaveRoom: (options?: { endStream?: boolean }) => Promise<void>;\n endRoom: () => Promise<void>;\n container?: HTMLElement;\n}) => {\n const [open, setOpen] = useState(false);\n const { screenType } = useRoomLayoutConferencingScreen();\n const [showLeaveRoomAlert, setShowLeaveRoomAlert] = useState(false);\n const [showEndStreamAlert, setShowEndStreamAlert] = useState(false);\n const isConnected = useHMSStore(selectIsConnectedToRoom);\n const permissions = useHMSStore(selectPermissions);\n const { isStreamingOn } = useRecordingStreaming();\n const showStream = screenType !== 'hls_live_streaming' && isStreamingOn && permissions?.hlsStreaming;\n const showLeaveOptions = (permissions?.hlsStreaming && isStreamingOn) || permissions?.endRoom;\n\n useDropdownList({ open, name: 'LeaveRoom' });\n\n if (!permissions || !isConnected) {\n return null;\n }\n\n return (\n <Fragment>\n {showLeaveOptions ? (\n <Sheet.Root open={open} onOpenChange={setOpen}>\n <Sheet.Trigger asChild>\n <LeaveButton\n onClick={() => {\n setOpen(open => !open);\n }}\n />\n </Sheet.Trigger>\n <Sheet.Content container={container}>\n <LeaveCard\n title={showStream ? 'Leave Stream' : 'Leave Session'}\n subtitle={`Others will continue after you leave. You can join the ${\n showStream ? 'stream' : 'session'\n } again.`}\n bg=\"$surface_default\"\n titleColor=\"$on_surface_high\"\n icon={<ExitIcon height={24} width={24} style={{ transform: 'rotate(180deg)' }} />}\n onClick={async () => await leaveRoom()}\n css={{ pt: 0, mt: '$10', color: '$on_surface_low', '&:hover': { color: '$on_surface_high' } }}\n />\n\n <LeaveCard\n title={showStream ? 'End Stream' : 'End Session'}\n subtitle={`The will end the ${\n showStream ? 'stream' : 'session'\n } for everyone. You can't undo this action.`}\n bg=\"$alert_error_dim\"\n titleColor=\"$alert_error_brighter\"\n css={{ color: '$alert_error_bright', '&:hover': { color: '$alert_error_brighter' } }}\n icon={<StopIcon height={24} width={24} />}\n onClick={() => {\n setOpen(false);\n setShowEndStreamAlert(true);\n }}\n />\n </Sheet.Content>\n </Sheet.Root>\n ) : (\n <LeaveButton onClick={() => setShowLeaveRoomAlert(true)} />\n )}\n <Sheet.Root open={showEndStreamAlert} onOpenChange={setShowEndStreamAlert}>\n <Sheet.Content css={{ bg: '$surface_dim', p: '$10', pb: '$12' }} container={container}>\n <EndSessionContent\n setShowEndStreamAlert={setShowEndStreamAlert}\n leaveRoom={isStreamingOn ? leaveRoom : endRoom}\n isStreamingOn={isStreamingOn}\n />\n </Sheet.Content>\n </Sheet.Root>\n\n <Sheet.Root open={showLeaveRoomAlert} onOpenChange={setShowLeaveRoomAlert}>\n <Sheet.Content css={{ bg: '$surface_dim', p: '$10', pb: '$12' }} container={container}>\n <LeaveSessionContent setShowLeaveRoomAlert={setShowLeaveRoomAlert} leaveRoom={leaveRoom} />\n </Sheet.Content>\n </Sheet.Root>\n </Fragment>\n );\n};\n\nconst LeaveButton = ({ onClick }: { onClick: () => void }) => {\n const isMobileHLSStream = useMobileHLSStream();\n const isLandscapeHLSStream = useLandscapeHLSStream();\n\n return isMobileHLSStream || isLandscapeHLSStream ? (\n <IconButton key=\"LeaveRoom\" data-testid=\"leave_room_btn\" onClick={onClick}>\n <Tooltip title=\"Leave Room\">\n <Box>\n <CrossIcon />\n </Box>\n </Tooltip>\n </IconButton>\n ) : (\n <LeaveIconButton\n key=\"LeaveRoom\"\n data-testid=\"leave_room_btn\"\n css={{\n borderTopRightRadius: '$1',\n borderBottomRightRadius: '$1',\n }}\n onClick={onClick}\n >\n <Tooltip title=\"Leave Room\">\n <Box>\n <ExitIcon style={{ transform: 'rotate(180deg)' }} />\n </Box>\n </Tooltip>\n </LeaveIconButton>\n );\n};\n", "import React from 'react';\nimport { selectUnreadHMSMessagesCount, useHMSStore } from '@100mslive/react-sdk';\nimport { ChatIcon } from '@100mslive/react-icons';\nimport { Box, Flex, Text, Tooltip } from '../../..';\n// @ts-ignore: No implicit Any\nimport IconButton from '../../IconButton';\n// @ts-ignore: No implicit Any\nimport { useIsSidepaneTypeOpen, useSidepaneToggle } from '../AppData/useSidepane';\n// @ts-ignore: No implicit Any\nimport { SIDE_PANE_OPTIONS } from '../../common/constants';\n\nexport const ChatToggle = ({ onClick }: { onClick?: () => void }) => {\n const countUnreadMessages = useHMSStore(selectUnreadHMSMessagesCount);\n const isChatOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.CHAT);\n const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);\n\n return (\n <Box\n css={{\n position: 'relative',\n }}\n >\n <Tooltip key=\"chat\" title={`${isChatOpen ? 'Close' : 'Open'} chat`}>\n <IconButton\n onClick={() => (onClick ? onClick() : toggleChat())}\n css={{ bg: isChatOpen ? '$surface_brighter' : '' }}\n data-testid=\"chat_btn\"\n >\n <ChatIcon />\n </IconButton>\n </Tooltip>\n {countUnreadMessages > 0 && (\n <Flex\n css={{\n height: '$8',\n p: '$4 4.5px',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'absolute',\n top: '-$4',\n right: '-$4',\n borderRadius: '$space$14',\n background: '$primary_default',\n }}\n >\n <Text variant=\"overline\">{countUnreadMessages > 99 ? '99+' : countUnreadMessages}</Text>\n </Flex>\n )}\n </Box>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "selectIsConnectedToRoom", "selectPermissions", "useHMSStore", "React", "React", "React", "React", "AlertTriangleIcon", "CrossIcon", "React", "AlertTriangleIcon", "CrossIcon", "React", "React", "Fragment", "useState", "selectIsConnectedToRoom", "selectPermissions", "useHMSStore", "useRecordingStreaming", "CrossIcon", "ExitIcon", "StopIcon", "useState", "useHMSStore", "selectIsConnectedToRoom", "selectPermissions", "useRecordingStreaming", "React", "Fragment", "open", "ExitIcon", "StopIcon", "CrossIcon", "useHMSStore", "selectIsConnectedToRoom", "selectPermissions", "React", "React", "useHMSStore", "useHMSStore", "React"]
7
+ }