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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/AudioLevel/AudioLevel.d.ts +5 -8
  2. package/dist/AudioLevel/index.d.ts +2 -1
  3. package/dist/AudioLevel/useBorderAudioLevel.d.ts +8 -0
  4. package/dist/{HLSView-3S74KF3A.js → HLSView-IQRPLYNH.js} +5 -4
  5. package/dist/{HLSView-3S74KF3A.js.map → HLSView-IQRPLYNH.js.map} +2 -2
  6. package/dist/Prebuilt/components/Chip.d.ts +12 -0
  7. package/dist/Prebuilt/components/PrebuiltDialogPortal.d.ts +4 -0
  8. package/dist/{VirtualBackground-3TI5NA4V.js → VirtualBackground-GP4ATXD3.js} +3 -3
  9. package/dist/{chunk-36X4ZCLC.js → chunk-2H5NIZB7.js} +2 -2
  10. package/dist/{chunk-Z7P5WITU.js → chunk-GLYGPYNS.js} +560 -1190
  11. package/dist/chunk-GLYGPYNS.js.map +7 -0
  12. package/dist/{chunk-5DQ3WTED.js → chunk-Z3O2WGWV.js} +2 -2
  13. package/dist/{chunk-5DQ3WTED.js.map → chunk-Z3O2WGWV.js.map} +1 -1
  14. package/dist/{conference-JNABIZBG.js → conference-JD35TNH4.js} +1351 -662
  15. package/dist/conference-JD35TNH4.js.map +7 -0
  16. package/dist/index.cjs.js +3387 -3297
  17. package/dist/index.cjs.js.map +4 -4
  18. package/dist/index.js +4 -2
  19. package/dist/meta.cjs.json +1001 -826
  20. package/dist/meta.esbuild.json +1053 -877
  21. package/package.json +6 -6
  22. package/src/AudioLevel/AudioLevel.tsx +79 -30
  23. package/src/AudioLevel/audio-level.png +0 -0
  24. package/src/AudioLevel/index.ts +2 -1
  25. package/src/AudioLevel/useBorderAudioLevel.tsx +34 -0
  26. package/src/Prebuilt/App.tsx +1 -0
  27. package/src/Prebuilt/common/utils.js +0 -7
  28. package/src/Prebuilt/components/{Chip.jsx → Chip.tsx} +13 -2
  29. package/src/Prebuilt/components/Footer/ParticipantList.jsx +23 -12
  30. package/src/Prebuilt/components/Footer/RoleAccordion.tsx +43 -3
  31. package/src/Prebuilt/components/Leave/DesktopLeaveRoom.tsx +7 -4
  32. package/src/Prebuilt/components/MoreSettings/ChangeNameModal.jsx +3 -2
  33. package/src/Prebuilt/components/MoreSettings/EmbedUrl.jsx +3 -2
  34. package/src/Prebuilt/components/MwebLandscapePrompt.jsx +58 -0
  35. package/src/Prebuilt/components/Notifications/HLSFailureModal.jsx +3 -2
  36. package/src/Prebuilt/components/Notifications/PermissionErrorModal.jsx +3 -2
  37. package/src/Prebuilt/components/PrebuiltDialogPortal.tsx +6 -0
  38. package/src/Prebuilt/components/Preview/PreviewJoin.tsx +4 -3
  39. package/src/Prebuilt/components/RoleChangeModal.jsx +3 -2
  40. package/src/Prebuilt/components/RoleChangeRequest/RequestPrompt.tsx +3 -2
  41. package/src/Prebuilt/components/Settings/SettingsModal.jsx +3 -2
  42. package/src/Prebuilt/components/Settings/StartRecording.jsx +3 -2
  43. package/src/Prebuilt/components/StatsForNerds.jsx +3 -2
  44. package/src/Prebuilt/components/VideoTile.jsx +22 -69
  45. package/src/Prebuilt/components/pdfAnnotator/pdfFileOptions.jsx +3 -2
  46. package/src/Prebuilt/components/pdfAnnotator/shareScreenOptions.jsx +4 -29
  47. package/src/Prebuilt/components/pdfAnnotator/uploadedFile.jsx +3 -2
  48. package/src/Prebuilt/layouts/HLSView.jsx +1 -0
  49. package/src/Prebuilt/primitives/DialogContent.jsx +5 -4
  50. package/dist/chunk-Z7P5WITU.js.map +0 -7
  51. package/dist/conference-JNABIZBG.js.map +0 -7
  52. /package/dist/{VirtualBackground-3TI5NA4V.js.map → VirtualBackground-GP4ATXD3.js.map} +0 -0
  53. /package/dist/{chunk-36X4ZCLC.js.map → chunk-2H5NIZB7.js.map} +0 -0
@@ -35,7 +35,7 @@ import {
35
35
  textEllipsis,
36
36
  theme,
37
37
  toastAnimation
38
- } from "./chunk-5DQ3WTED.js";
38
+ } from "./chunk-Z3O2WGWV.js";
39
39
 
40
40
  // src/Button/Button.tsx
41
41
  import React2 from "react";
@@ -1221,7 +1221,7 @@ var StyledMenuTile = {
1221
1221
  RemoveItem: RemoveMenuItem
1222
1222
  };
1223
1223
 
1224
- // src/AudioLevel/AudioLevel.tsx
1224
+ // src/AudioLevel/useBorderAudioLevel.tsx
1225
1225
  import { useCallback as useCallback2, useRef as useRef2 } from "react";
1226
1226
  import { useAudioLevelStyles } from "@100mslive/react-sdk";
1227
1227
  function useBorderAudioLevel(audioTrackId) {
@@ -1249,6 +1249,83 @@ var sigmoid = (z) => {
1249
1249
  return 1 / (1 + Math.exp(-z));
1250
1250
  };
1251
1251
 
1252
+ // src/AudioLevel/AudioLevel.tsx
1253
+ import React10, { useEffect as useEffect3, useRef as useRef3 } from "react";
1254
+ import { selectTrackAudioByID, useHMSVanillaStore } from "@100mslive/react-sdk";
1255
+
1256
+ // src/AudioLevel/audio-level.png
1257
+ var audio_level_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAABABAMAAAAHc7SNAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAAtUExURQAAAP///////////////////////////////////////////////////////6FIq5sAAAAOdFJOUwA/QJqbnJ2euLnc3d7+2IFKrQAAAa9JREFUaN7dmcFRxDAMRXNgW4AbV24ZSkgrlAAFUAqlpITtgT0QnB22BnY3iWXHSlYz5H/NoJNO8bP8JTlyVW1k923/MveYdnc623PuUe3jsux37tEDcN24eFR7HJb9TD2qvQ/LfqUexR7a41Xx7bDsMfWo2j+NlnpU7TsBiOKdAOqoeCcAUTwFYFK8pn0GgFLttWVxAEq1pwJo1Z4KoFV7KoBW7YEAT0uK729pfxuAZcX/3Fr2TwAx05cVDwWIu11RPBQg7lZ0XlR7JIDsdkXxCIDp5GXf2v0GBxBP3pTfAIB48qb83h7AWtlhANbKDgOwVnYYgLWywwCsn/u/AO5HMIqwcwOovdNwLESNG8BQioNfKa52YwBsakC04/MF9C1Rw4HdjhU1SCyKqOCvZCGLhXgMgKgGiUWRI9hr+aSG+bU8sP4LyliIxwW4xOI1j8pKZlB/Tjt794ANpKzdAzOgaOzdAzKiCVpmkACWM4MEIFVCyQzfQWXnPao9eA+rG+dxfXB8L1jNB4pN+bCfd4re59Gqoz9alflQ+zzb7ZROwTWlUziEIO8UZCs7hc1+AbiVW6XSE8knAAAAAElFTkSuQmCC";
1258
+
1259
+ // src/AudioLevel/AudioLevel.tsx
1260
+ var positionValues = new Array(101).fill(0).reduce((acc, _, index) => {
1261
+ acc[index] = Math.round(index / 100 * 4) / 4;
1262
+ return acc;
1263
+ }, {});
1264
+ var barAnimation = keyframes({
1265
+ from: {
1266
+ maskSize: "4em .8em",
1267
+ "-webkit-mask-position-y": ".1em",
1268
+ maskPosition: "initial .1em"
1269
+ },
1270
+ "50%": {
1271
+ maskSize: "4em 1em",
1272
+ "-webkit-mask-position-y": 0,
1273
+ maskPosition: "initial 0"
1274
+ },
1275
+ to: {
1276
+ maskSize: "4em .8em",
1277
+ "-webkit-mask-position-y": ".1em",
1278
+ maskPosition: "initial 0"
1279
+ }
1280
+ });
1281
+ var AudioBar = () => {
1282
+ return /* @__PURE__ */ React10.createElement(
1283
+ Box,
1284
+ {
1285
+ css: {
1286
+ width: ".25em",
1287
+ height: "1em",
1288
+ maskImage: `url(${audio_level_default})`,
1289
+ "-webkit-mask-repeat": "no-repeat",
1290
+ backgroundColor: "$on_primary_high",
1291
+ maskSize: "4em 1em"
1292
+ }
1293
+ }
1294
+ );
1295
+ };
1296
+ var AudioLevel = ({ trackId, size }) => {
1297
+ const ref = useRef3(null);
1298
+ const vanillaStore = useHMSVanillaStore();
1299
+ useEffect3(() => {
1300
+ const unsubscribe = vanillaStore.subscribe((audioLevel) => {
1301
+ if (ref.current) {
1302
+ let index = 0;
1303
+ for (const child of ref.current.children) {
1304
+ const positionX = `-${positionValues[audioLevel] * (index === 1 ? 2.5 : 1.25)}em`;
1305
+ child.style["-webkit-mask-position-x"] = positionX;
1306
+ child.style["mask-position"] = `${positionX} 0`;
1307
+ child.style["animation"] = positionValues[audioLevel] > 0 ? `${barAnimation} 0.6s steps(3,jump-none) 0s infinite` : "none";
1308
+ index++;
1309
+ }
1310
+ }
1311
+ }, selectTrackAudioByID(trackId));
1312
+ return unsubscribe;
1313
+ }, [vanillaStore, trackId]);
1314
+ return /* @__PURE__ */ React10.createElement(
1315
+ Flex,
1316
+ {
1317
+ ref,
1318
+ css: {
1319
+ fontSize: size === "small" ? "0.75rem" : "1rem",
1320
+ gap: size === "small" ? "$1" : "$2"
1321
+ }
1322
+ },
1323
+ /* @__PURE__ */ React10.createElement(AudioBar, null),
1324
+ /* @__PURE__ */ React10.createElement(AudioBar, null),
1325
+ /* @__PURE__ */ React10.createElement(AudioBar, null)
1326
+ );
1327
+ };
1328
+
1252
1329
  // src/Popover/index.tsx
1253
1330
  import { Arrow as Arrow2, Close as Close2, Content as Content4, Popover as Root12, Portal as Portal3, Trigger as Trigger4 } from "@radix-ui/react-popover";
1254
1331
  var StyledContent2 = styled(Content4, __spreadValues({
@@ -1270,7 +1347,7 @@ var Popover2 = {
1270
1347
  };
1271
1348
 
1272
1349
  // src/Stats/Stats.tsx
1273
- import React10, { Fragment } from "react";
1350
+ import React11, { Fragment } from "react";
1274
1351
  import {
1275
1352
  selectConnectionQualityByPeerID,
1276
1353
  selectHMSStats,
@@ -1350,7 +1427,7 @@ function VideoTileStats({ videoTrackID, audioTrackID, peerID, isLocal = false })
1350
1427
  if (!(audioTrackStats || videoTrackStats)) {
1351
1428
  return null;
1352
1429
  }
1353
- return /* @__PURE__ */ React10.createElement(Stats.Root, null, /* @__PURE__ */ React10.createElement("table", null, /* @__PURE__ */ React10.createElement("tbody", null, isLocal ? /* @__PURE__ */ React10.createElement(Fragment, null, /* @__PURE__ */ React10.createElement(
1430
+ return /* @__PURE__ */ React11.createElement(Stats.Root, null, /* @__PURE__ */ React11.createElement("table", null, /* @__PURE__ */ React11.createElement("tbody", null, isLocal ? /* @__PURE__ */ React11.createElement(Fragment, null, /* @__PURE__ */ React11.createElement(
1354
1431
  StatsRow,
1355
1432
  {
1356
1433
  show: isNotNullishAndNot0(availableOutgoingBitrate),
@@ -1364,71 +1441,71 @@ function VideoTileStats({ videoTrackID, audioTrackID, peerID, isLocal = false })
1364
1441
  return null;
1365
1442
  }
1366
1443
  const layer = stat.rid ? simulcastMapping[stat.rid] : "";
1367
- return /* @__PURE__ */ React10.createElement(Fragment, null, layer && /* @__PURE__ */ React10.createElement(StatsRow, { label: layer.toUpperCase(), value: "" }), /* @__PURE__ */ React10.createElement(
1444
+ return /* @__PURE__ */ React11.createElement(Fragment, null, layer && /* @__PURE__ */ React11.createElement(StatsRow, { label: layer.toUpperCase(), value: "" }), /* @__PURE__ */ React11.createElement(
1368
1445
  StatsRow,
1369
1446
  {
1370
1447
  show: isNotNullishAndNot0(stat.frameWidth),
1371
1448
  label: "Width",
1372
1449
  value: (_a8 = stat.frameWidth) == null ? void 0 : _a8.toString()
1373
1450
  }
1374
- ), /* @__PURE__ */ React10.createElement(
1451
+ ), /* @__PURE__ */ React11.createElement(
1375
1452
  StatsRow,
1376
1453
  {
1377
1454
  show: isNotNullishAndNot0(stat.frameHeight),
1378
1455
  label: "Height",
1379
1456
  value: (_b8 = stat.frameHeight) == null ? void 0 : _b8.toString()
1380
1457
  }
1381
- ), /* @__PURE__ */ React10.createElement(
1458
+ ), /* @__PURE__ */ React11.createElement(
1382
1459
  StatsRow,
1383
1460
  {
1384
1461
  show: isNotNullishAndNot0(stat.framesPerSecond),
1385
1462
  label: "FPS",
1386
1463
  value: `${stat.framesPerSecond} ${isNotNullishAndNot0(stat.framesDropped) ? `(${stat.framesDropped} dropped)` : ""}`
1387
1464
  }
1388
- ), /* @__PURE__ */ React10.createElement(
1465
+ ), /* @__PURE__ */ React11.createElement(
1389
1466
  StatsRow,
1390
1467
  {
1391
1468
  show: isNotNullish(stat.bitrate),
1392
1469
  label: "Bitrate(V)",
1393
1470
  value: formatBytes(stat.bitrate, "b/s")
1394
1471
  }
1395
- ), /* @__PURE__ */ React10.createElement(Stats.Gap, null));
1396
- })) : /* @__PURE__ */ React10.createElement(Fragment, null, /* @__PURE__ */ React10.createElement(
1472
+ ), /* @__PURE__ */ React11.createElement(Stats.Gap, null));
1473
+ })) : /* @__PURE__ */ React11.createElement(Fragment, null, /* @__PURE__ */ React11.createElement(
1397
1474
  StatsRow,
1398
1475
  {
1399
1476
  show: isNotNullishAndNot0(videoTrackStats == null ? void 0 : videoTrackStats.frameWidth),
1400
1477
  label: "Width",
1401
1478
  value: (_b7 = videoTrackStats == null ? void 0 : videoTrackStats.frameWidth) == null ? void 0 : _b7.toString()
1402
1479
  }
1403
- ), /* @__PURE__ */ React10.createElement(
1480
+ ), /* @__PURE__ */ React11.createElement(
1404
1481
  StatsRow,
1405
1482
  {
1406
1483
  show: isNotNullishAndNot0(videoTrackStats == null ? void 0 : videoTrackStats.frameHeight),
1407
1484
  label: "Height",
1408
1485
  value: (_c = videoTrackStats == null ? void 0 : videoTrackStats.frameHeight) == null ? void 0 : _c.toString()
1409
1486
  }
1410
- ), /* @__PURE__ */ React10.createElement(
1487
+ ), /* @__PURE__ */ React11.createElement(
1411
1488
  StatsRow,
1412
1489
  {
1413
1490
  show: isNotNullishAndNot0(videoTrackStats == null ? void 0 : videoTrackStats.framesPerSecond),
1414
1491
  label: "FPS",
1415
1492
  value: `${videoTrackStats == null ? void 0 : videoTrackStats.framesPerSecond} ${isNotNullishAndNot0(videoTrackStats == null ? void 0 : videoTrackStats.framesDropped) ? `(${videoTrackStats == null ? void 0 : videoTrackStats.framesDropped} dropped)` : ""}`
1416
1493
  }
1417
- ), /* @__PURE__ */ React10.createElement(
1494
+ ), /* @__PURE__ */ React11.createElement(
1418
1495
  StatsRow,
1419
1496
  {
1420
1497
  show: isNotNullish(videoTrackStats == null ? void 0 : videoTrackStats.bitrate),
1421
1498
  label: "Bitrate(V)",
1422
1499
  value: formatBytes(videoTrackStats == null ? void 0 : videoTrackStats.bitrate, "b/s")
1423
1500
  }
1424
- )), /* @__PURE__ */ React10.createElement(
1501
+ )), /* @__PURE__ */ React11.createElement(
1425
1502
  StatsRow,
1426
1503
  {
1427
1504
  show: isNotNullish(audioTrackStats == null ? void 0 : audioTrackStats.bitrate),
1428
1505
  label: "Bitrate(A)",
1429
1506
  value: formatBytes(audioTrackStats == null ? void 0 : audioTrackStats.bitrate, "b/s")
1430
1507
  }
1431
- ), /* @__PURE__ */ React10.createElement(StatsRow, { show: isNotNullish(downlinkScore), label: "Downlink", value: downlinkScore }), /* @__PURE__ */ React10.createElement(StatsRow, { show: isNotNullish(videoTrackStats == null ? void 0 : videoTrackStats.codec), label: "Codec(V)", value: videoTrackStats == null ? void 0 : videoTrackStats.codec }), /* @__PURE__ */ React10.createElement(StatsRow, { show: isNotNullish(audioTrackStats == null ? void 0 : audioTrackStats.codec), label: "Codec(A)", value: audioTrackStats == null ? void 0 : audioTrackStats.codec }), /* @__PURE__ */ React10.createElement(PacketLostAndJitter, { audioTrackStats, videoTrackStats }))));
1508
+ ), /* @__PURE__ */ React11.createElement(StatsRow, { show: isNotNullish(downlinkScore), label: "Downlink", value: downlinkScore }), /* @__PURE__ */ React11.createElement(StatsRow, { show: isNotNullish(videoTrackStats == null ? void 0 : videoTrackStats.codec), label: "Codec(V)", value: videoTrackStats == null ? void 0 : videoTrackStats.codec }), /* @__PURE__ */ React11.createElement(StatsRow, { show: isNotNullish(audioTrackStats == null ? void 0 : audioTrackStats.codec), label: "Codec(A)", value: audioTrackStats == null ? void 0 : audioTrackStats.codec }), /* @__PURE__ */ React11.createElement(PacketLostAndJitter, { audioTrackStats, videoTrackStats }))));
1432
1509
  }
1433
1510
  var PacketLostAndJitter = ({
1434
1511
  audioTrackStats,
@@ -1438,14 +1515,14 @@ var PacketLostAndJitter = ({
1438
1515
  const isLocalPeer = (audioTrackStats == null ? void 0 : audioTrackStats.type.includes("outbound")) || (videoTrackStats == null ? void 0 : videoTrackStats.type.includes("outbound"));
1439
1516
  const audioStats = isLocalPeer ? audioTrackStats == null ? void 0 : audioTrackStats.remote : audioTrackStats;
1440
1517
  const videoStats = isLocalPeer ? videoTrackStats == null ? void 0 : videoTrackStats.remote : videoTrackStats;
1441
- return /* @__PURE__ */ React10.createElement(React10.Fragment, null, /* @__PURE__ */ React10.createElement(TrackPacketsLostRow, { label: "Packet Loss(V)", stats: videoStats }), /* @__PURE__ */ React10.createElement(TrackPacketsLostRow, { label: "Packet Loss(A)", stats: audioStats }), /* @__PURE__ */ React10.createElement(StatsRow, { show: isNotNullish(videoStats == null ? void 0 : videoStats.jitter), label: "Jitter(V)", value: (_a7 = videoStats == null ? void 0 : videoStats.jitter) == null ? void 0 : _a7.toFixed(4) }), /* @__PURE__ */ React10.createElement(StatsRow, { show: isNotNullish(audioStats == null ? void 0 : audioStats.jitter), label: "Jitter(A)", value: (_b7 = audioStats == null ? void 0 : audioStats.jitter) == null ? void 0 : _b7.toFixed(4) }));
1518
+ return /* @__PURE__ */ React11.createElement(React11.Fragment, null, /* @__PURE__ */ React11.createElement(TrackPacketsLostRow, { label: "Packet Loss(V)", stats: videoStats }), /* @__PURE__ */ React11.createElement(TrackPacketsLostRow, { label: "Packet Loss(A)", stats: audioStats }), /* @__PURE__ */ React11.createElement(StatsRow, { show: isNotNullish(videoStats == null ? void 0 : videoStats.jitter), label: "Jitter(V)", value: (_a7 = videoStats == null ? void 0 : videoStats.jitter) == null ? void 0 : _a7.toFixed(4) }), /* @__PURE__ */ React11.createElement(StatsRow, { show: isNotNullish(audioStats == null ? void 0 : audioStats.jitter), label: "Jitter(A)", value: (_b7 = audioStats == null ? void 0 : audioStats.jitter) == null ? void 0 : _b7.toFixed(4) }));
1442
1519
  };
1443
1520
  var TrackPacketsLostRow = ({
1444
1521
  stats,
1445
1522
  label
1446
1523
  }) => {
1447
1524
  const packetsLostRate = `${(stats == null ? void 0 : stats.packetsLostRate) ? stats.packetsLostRate.toFixed(2) : 0}/s`;
1448
- return /* @__PURE__ */ React10.createElement(
1525
+ return /* @__PURE__ */ React11.createElement(
1449
1526
  StatsRow,
1450
1527
  {
1451
1528
  show: isNotNullishAndNot0(stats == null ? void 0 : stats.packetsLost),
@@ -1460,10 +1537,10 @@ var RawStatsRow = ({
1460
1537
  tooltip = "",
1461
1538
  show = true
1462
1539
  }) => {
1463
- const statsLabel = /* @__PURE__ */ React10.createElement(Stats.Label, { css: { fontWeight: !value ? "$semiBold" : "$regular" } }, label);
1464
- return /* @__PURE__ */ React10.createElement(React10.Fragment, null, show ? /* @__PURE__ */ React10.createElement(Stats.Row, null, tooltip ? /* @__PURE__ */ React10.createElement(Tooltip, { side: "top", title: tooltip }, statsLabel) : statsLabel, value === "" ? /* @__PURE__ */ React10.createElement(Stats.Value, null) : /* @__PURE__ */ React10.createElement(Stats.Value, null, value)) : null);
1540
+ const statsLabel = /* @__PURE__ */ React11.createElement(Stats.Label, { css: { fontWeight: !value ? "$semiBold" : "$regular" } }, label);
1541
+ return /* @__PURE__ */ React11.createElement(React11.Fragment, null, show ? /* @__PURE__ */ React11.createElement(Stats.Row, null, tooltip ? /* @__PURE__ */ React11.createElement(Tooltip, { side: "top", title: tooltip }, statsLabel) : statsLabel, value === "" ? /* @__PURE__ */ React11.createElement(Stats.Value, null) : /* @__PURE__ */ React11.createElement(Stats.Value, null, value)) : null);
1465
1542
  };
1466
- var StatsRow = React10.memo(RawStatsRow);
1543
+ var StatsRow = React11.memo(RawStatsRow);
1467
1544
  function isNotNullishAndNot0(value) {
1468
1545
  return isNotNullish(value) && value !== 0;
1469
1546
  }
@@ -1542,7 +1619,7 @@ var RadioGroup = {
1542
1619
  };
1543
1620
 
1544
1621
  // src/Toast/Toast.tsx
1545
- import React11 from "react";
1622
+ import React12 from "react";
1546
1623
  import * as ToastPrimitives from "@radix-ui/react-toast";
1547
1624
  import { CrossIcon as CrossIcon2 } from "@100mslive/react-icons";
1548
1625
  var getToastVariant = (base) => {
@@ -1633,7 +1710,7 @@ var ToastViewport = styled(ToastPrimitives.Viewport, {
1633
1710
  zIndex: 1e3
1634
1711
  });
1635
1712
  var DefaultClose = ({ css: css2 }) => {
1636
- return /* @__PURE__ */ React11.createElement(ToastClose, { css: css2, asChild: true }, /* @__PURE__ */ React11.createElement(IconButton, null, /* @__PURE__ */ React11.createElement(CrossIcon2, null)));
1713
+ return /* @__PURE__ */ React12.createElement(ToastClose, { css: css2, asChild: true }, /* @__PURE__ */ React12.createElement(IconButton, null, /* @__PURE__ */ React12.createElement(CrossIcon2, null)));
1637
1714
  };
1638
1715
  var HMSToast = (_a7) => {
1639
1716
  var _b7 = _a7, {
@@ -1651,7 +1728,7 @@ var HMSToast = (_a7) => {
1651
1728
  "action",
1652
1729
  "inlineAction"
1653
1730
  ]);
1654
- return /* @__PURE__ */ React11.createElement(React11.Fragment, null, /* @__PURE__ */ React11.createElement(ToastRoot, __spreadValues({}, props), /* @__PURE__ */ React11.createElement(ToastTitle, null, /* @__PURE__ */ React11.createElement(Flex, { align: "center", css: { gap: "$4", flex: "1 1 0", minWidth: 0 } }, icon ? /* @__PURE__ */ React11.createElement(Box, { css: { w: "$10", h: "$10", alignSelf: "start", mt: "$2" } }, icon) : null, /* @__PURE__ */ React11.createElement(Text, { variant: "sub1", css: { c: "inherit", wordBreak: "break-word" } }, title)), isClosable ? /* @__PURE__ */ React11.createElement(DefaultClose, null) : null, !isClosable && inlineAction && action ? /* @__PURE__ */ React11.createElement(ToastAction, { altText: `${title}Action` }, action) : null), description ? /* @__PURE__ */ React11.createElement(ToastDescription, null, /* @__PURE__ */ React11.createElement(Text, { variant: "body1", css: { fontWeight: "$regular", c: "$on_surface_medium" } }, description)) : null, !inlineAction && action ? /* @__PURE__ */ React11.createElement(ToastAction, { altText: `${title}Action`, css: { mt: "$10" } }, action) : null));
1731
+ return /* @__PURE__ */ React12.createElement(React12.Fragment, null, /* @__PURE__ */ React12.createElement(ToastRoot, __spreadValues({}, props), /* @__PURE__ */ React12.createElement(ToastTitle, null, /* @__PURE__ */ React12.createElement(Flex, { align: "center", css: { gap: "$4", flex: "1 1 0", minWidth: 0 } }, icon ? /* @__PURE__ */ React12.createElement(Box, { css: { w: "$10", h: "$10", alignSelf: "start", mt: "$2" } }, icon) : null, /* @__PURE__ */ React12.createElement(Text, { variant: "sub1", css: { c: "inherit", wordBreak: "break-word" } }, title)), isClosable ? /* @__PURE__ */ React12.createElement(DefaultClose, null) : null, !isClosable && inlineAction && action ? /* @__PURE__ */ React12.createElement(ToastAction, { altText: `${title}Action` }, action) : null), description ? /* @__PURE__ */ React12.createElement(ToastDescription, null, /* @__PURE__ */ React12.createElement(Text, { variant: "body1", css: { fontWeight: "$regular", c: "$on_surface_medium" } }, description)) : null, !inlineAction && action ? /* @__PURE__ */ React12.createElement(ToastAction, { altText: `${title}Action`, css: { mt: "$10" } }, action) : null));
1655
1732
  };
1656
1733
  var Toast = {
1657
1734
  Provider: ToastPrimitives.Provider,
@@ -1665,7 +1742,7 @@ var Toast = {
1665
1742
  };
1666
1743
 
1667
1744
  // src/Accordion/Accordion.tsx
1668
- import React12 from "react";
1745
+ import React13 from "react";
1669
1746
  import * as BaseAccordion from "@radix-ui/react-accordion";
1670
1747
  import { ChevronUpIcon } from "@100mslive/react-icons";
1671
1748
  var StyledAccordion = styled(BaseAccordion.Root, {});
@@ -1717,14 +1794,14 @@ var StyledChevron = styled(ChevronUpIcon, {
1717
1794
  });
1718
1795
  var AccordionRoot = StyledAccordion;
1719
1796
  var AccordionItem = StyledItem;
1720
- var AccordionHeader = React12.forwardRef((_a7, forwardedRef) => {
1797
+ var AccordionHeader = React13.forwardRef((_a7, forwardedRef) => {
1721
1798
  var _b7 = _a7, { children, iconStyles, css: css2 } = _b7, props = __objRest(_b7, ["children", "iconStyles", "css"]);
1722
- return /* @__PURE__ */ React12.createElement(StyledHeader, { css: css2 }, /* @__PURE__ */ React12.createElement(StyledTrigger3, __spreadProps(__spreadValues({}, props), { ref: forwardedRef }), children, /* @__PURE__ */ React12.createElement(StyledChevron, { "aria-hidden": true, css: iconStyles })));
1799
+ return /* @__PURE__ */ React13.createElement(StyledHeader, { css: css2 }, /* @__PURE__ */ React13.createElement(StyledTrigger3, __spreadProps(__spreadValues({}, props), { ref: forwardedRef }), children, /* @__PURE__ */ React13.createElement(StyledChevron, { "aria-hidden": true, css: iconStyles })));
1723
1800
  });
1724
- var AccordionContent = React12.forwardRef(
1801
+ var AccordionContent = React13.forwardRef(
1725
1802
  (_a7, forwardedRef) => {
1726
1803
  var _b7 = _a7, { children, contentStyles } = _b7, props = __objRest(_b7, ["children", "contentStyles"]);
1727
- return /* @__PURE__ */ React12.createElement(StyledContent3, __spreadProps(__spreadValues({}, props), { ref: forwardedRef }), /* @__PURE__ */ React12.createElement(Box, { css: contentStyles }, children));
1804
+ return /* @__PURE__ */ React13.createElement(StyledContent3, __spreadProps(__spreadValues({}, props), { ref: forwardedRef }), /* @__PURE__ */ React13.createElement(Box, { css: contentStyles }, children));
1728
1805
  }
1729
1806
  );
1730
1807
 
@@ -1918,14 +1995,14 @@ var Tabs = {
1918
1995
  };
1919
1996
 
1920
1997
  // src/QRCode/QRCode.tsx
1921
- import React13 from "react";
1998
+ import React14 from "react";
1922
1999
  import { QRCodeSVG } from "qrcode.react";
1923
2000
  var QRCode = (props) => {
1924
- return /* @__PURE__ */ React13.createElement(QRCodeSVG, __spreadValues({ style: { width: "100%", height: "100%" } }, props));
2001
+ return /* @__PURE__ */ React14.createElement(QRCodeSVG, __spreadValues({ style: { width: "100%", height: "100%" } }, props));
1925
2002
  };
1926
2003
 
1927
2004
  // src/Link/Link.tsx
1928
- import React14 from "react";
2005
+ import React15 from "react";
1929
2006
  import * as icons from "@100mslive/react-icons";
1930
2007
  var LinkComponent = styled("a", {
1931
2008
  textDecoration: "none",
@@ -1951,9 +2028,9 @@ var LinkComponent = styled("a", {
1951
2028
  });
1952
2029
  var Link = (_a7) => {
1953
2030
  var _b7 = _a7, { iconSide = "left", icon, color = "primary", children } = _b7, rest = __objRest(_b7, ["iconSide", "icon", "color", "children"]);
1954
- const Icon2 = icon ? icons[icon] : React14.Fragment;
1955
- const renderedIcon = icon ? /* @__PURE__ */ React14.createElement(Flex, { as: "span" }, /* @__PURE__ */ React14.createElement(Icon2, { height: 13.33, width: 13.33 }), " ") : null;
1956
- return /* @__PURE__ */ React14.createElement(LinkComponent, __spreadProps(__spreadValues({}, rest), { color }), iconSide === "left" && renderedIcon, /* @__PURE__ */ React14.createElement(Text, { as: "span", variant: "body2", css: { color: "inherit" } }, children), iconSide === "right" && renderedIcon);
2031
+ const Icon2 = icon ? icons[icon] : React15.Fragment;
2032
+ const renderedIcon = icon ? /* @__PURE__ */ React15.createElement(Flex, { as: "span" }, /* @__PURE__ */ React15.createElement(Icon2, { height: 13.33, width: 13.33 }), " ") : null;
2033
+ return /* @__PURE__ */ React15.createElement(LinkComponent, __spreadProps(__spreadValues({}, rest), { color }), iconSide === "left" && renderedIcon, /* @__PURE__ */ React15.createElement(Text, { as: "span", variant: "body2", css: { color: "inherit" } }, children), iconSide === "right" && renderedIcon);
1957
2034
  };
1958
2035
 
1959
2036
  // src/Collapsible/Collapsible.tsx
@@ -1987,18 +2064,18 @@ var Collapsible = {
1987
2064
  };
1988
2065
 
1989
2066
  // src/Prebuilt/App.tsx
1990
- import React61, { Suspense as Suspense2, useEffect as useEffect29, useRef as useRef10 } from "react";
2067
+ import React58, { Suspense as Suspense2, useEffect as useEffect28, useRef as useRef10 } from "react";
1991
2068
  import { BrowserRouter, MemoryRouter, Navigate, Route, Routes, useParams as useParams5 } from "react-router-dom";
1992
2069
  import {
1993
2070
  HMSReactiveStore,
1994
2071
  HMSRoomProvider,
1995
2072
  selectIsConnectedToRoom as selectIsConnectedToRoom6,
1996
- useHMSActions as useHMSActions20,
1997
- useHMSStore as useHMSStore30
2073
+ useHMSActions as useHMSActions18,
2074
+ useHMSStore as useHMSStore26
1998
2075
  } from "@100mslive/react-sdk";
1999
2076
 
2000
2077
  // src/Prebuilt/components/AppData/AppData.jsx
2001
- import React15, { useEffect as useEffect3 } from "react";
2078
+ import React16, { useEffect as useEffect4 } from "react";
2002
2079
  import {
2003
2080
  HMSRoomState,
2004
2081
  selectAvailableRoleNames,
@@ -2084,7 +2161,7 @@ var useUserPreferences = (key, defaultPreference) => {
2084
2161
 
2085
2162
  // src/Prebuilt/components/AppData/useSidepane.js
2086
2163
  import { useCallback as useCallback3 } from "react";
2087
- import { selectAppData, useHMSActions, useHMSStore as useHMSStore2, useHMSVanillaStore } from "@100mslive/react-sdk";
2164
+ import { selectAppData, useHMSActions, useHMSStore as useHMSStore2, useHMSVanillaStore as useHMSVanillaStore2 } from "@100mslive/react-sdk";
2088
2165
 
2089
2166
  // src/Prebuilt/common/constants.js
2090
2167
  import { parsedUserAgent } from "@100mslive/react-sdk";
@@ -2182,7 +2259,7 @@ var useSidepaneState = () => {
2182
2259
  };
2183
2260
  var useSidepaneToggle = (sidepaneType) => {
2184
2261
  const hmsActions = useHMSActions();
2185
- const vanillaStore = useHMSVanillaStore();
2262
+ const vanillaStore = useHMSVanillaStore2();
2186
2263
  const toggleSidepane = useCallback3(() => {
2187
2264
  const isOpen = vanillaStore.getState(selectAppData(APP_DATA.sidePane)) === sidepaneType;
2188
2265
  hmsActions.setAppData(APP_DATA.sidePane, !isOpen ? sidepaneType : "");
@@ -2208,7 +2285,7 @@ import {
2208
2285
  selectVideoTrackByPeerID,
2209
2286
  useHMSActions as useHMSActions2,
2210
2287
  useHMSStore as useHMSStore3,
2211
- useHMSVanillaStore as useHMSVanillaStore2
2288
+ useHMSVanillaStore as useHMSVanillaStore3
2212
2289
  } from "@100mslive/react-sdk";
2213
2290
  var useUISettings = (uiSettingKey) => {
2214
2291
  const uiSettings = useHMSStore3(selectAppDataByPath(APP_DATA.uiSettings, uiSettingKey));
@@ -2288,7 +2365,7 @@ var useSetAppDataByKey = (appDataKey) => {
2288
2365
  };
2289
2366
  var useSetAppData = ({ key1, key2 }) => {
2290
2367
  const actions = useHMSActions2();
2291
- const store = useHMSVanillaStore2();
2368
+ const store = useHMSVanillaStore3();
2292
2369
  const [, setPreferences] = useUserPreferences(UserPreferencesKeys.UI_SETTINGS);
2293
2370
  const setValue = useCallback4(
2294
2371
  (value) => {
@@ -2353,7 +2430,7 @@ var initialAppData = {
2353
2430
  [APP_DATA.activeScreensharePeerId]: "",
2354
2431
  [APP_DATA.disableNotificiations]: false
2355
2432
  };
2356
- var AppData = React15.memo(({ appDetails, tokenEndpoint }) => {
2433
+ var AppData = React16.memo(({ appDetails, tokenEndpoint }) => {
2357
2434
  const hmsActions = useHMSActions3();
2358
2435
  const isConnected = useHMSStore4(selectIsConnectedToRoom);
2359
2436
  const sidePane = useSidepaneState();
@@ -2363,27 +2440,27 @@ var AppData = React15.memo(({ appDetails, tokenEndpoint }) => {
2363
2440
  const rolesMap = useHMSStore4(selectRolesMap);
2364
2441
  const localPeerRole = useHMSStore4(selectLocalPeerRoleName);
2365
2442
  const appData = useHMSStore4(selectFullAppData);
2366
- useEffect3(() => {
2443
+ useEffect4(() => {
2367
2444
  if (!isConnected && sidePane && sidePane !== SIDE_PANE_OPTIONS.PARTICIPANTS) {
2368
2445
  resetSidePane();
2369
2446
  }
2370
2447
  }, [isConnected, sidePane, resetSidePane]);
2371
- useEffect3(() => {
2448
+ useEffect4(() => {
2372
2449
  hmsActions.initAppData(__spreadValues(__spreadValues({}, initialAppData), appData));
2373
2450
  hmsActions.setFrameworkInfo({
2374
2451
  type: "react-web",
2375
2452
  isPrebuilt: true,
2376
- version: React15.version
2453
+ version: React16.version
2377
2454
  });
2378
2455
  }, [hmsActions]);
2379
- useEffect3(() => {
2456
+ useEffect4(() => {
2380
2457
  const uiSettings = preferences || {};
2381
2458
  const updatedSettings = __spreadProps(__spreadValues({}, uiSettings), {
2382
2459
  [UI_SETTINGS.uiViewMode]: uiSettings.uiViewMode || UI_MODE_GRID
2383
2460
  });
2384
2461
  hmsActions.setAppData(APP_DATA.uiSettings, updatedSettings, true);
2385
2462
  }, [preferences, hmsActions]);
2386
- useEffect3(() => {
2463
+ useEffect4(() => {
2387
2464
  const appData2 = {
2388
2465
  [APP_DATA.tokenEndpoint]: tokenEndpoint,
2389
2466
  [APP_DATA.appConfig]: getAppDetails(appDetails)
@@ -2392,19 +2469,19 @@ var AppData = React15.memo(({ appDetails, tokenEndpoint }) => {
2392
2469
  hmsActions.setAppData([key], appData2[key]);
2393
2470
  }
2394
2471
  }, [appDetails, tokenEndpoint, hmsActions]);
2395
- useEffect3(() => {
2472
+ useEffect4(() => {
2396
2473
  if (!preferences.subscribedNotifications) {
2397
2474
  return;
2398
2475
  }
2399
2476
  hmsActions.setAppData(APP_DATA.subscribedNotifications, preferences.subscribedNotifications, true);
2400
2477
  }, [preferences.subscribedNotifications, hmsActions]);
2401
- useEffect3(() => {
2478
+ useEffect4(() => {
2402
2479
  if (localPeerRole) {
2403
2480
  const config2 = normalizeAppPolicyConfig(roleNames, rolesMap);
2404
2481
  hmsActions.setAppData(APP_DATA.appLayout, config2[localPeerRole]);
2405
2482
  }
2406
2483
  }, [roleNames, rolesMap, localPeerRole, hmsActions]);
2407
- return /* @__PURE__ */ React15.createElement(ResetStreamingStart, null);
2484
+ return /* @__PURE__ */ React16.createElement(ResetStreamingStart, null);
2408
2485
  });
2409
2486
  var ResetStreamingStart = () => {
2410
2487
  const { isHLSRunning, isRTMPRunning, isBrowserRecordingOn } = useRecordingStreaming();
@@ -2416,19 +2493,19 @@ var ResetStreamingStart = () => {
2416
2493
  const [rtmpStarted, setRTMPStarted] = useSetAppDataByKey(APP_DATA.rtmpStarted);
2417
2494
  const toggleStreaming = useSidepaneToggle(SIDE_PANE_OPTIONS.STREAMING);
2418
2495
  const isStreamingOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.STREAMING);
2419
- useEffect3(() => {
2496
+ useEffect4(() => {
2420
2497
  if (isBrowserRecordingOn && recordingStarted) {
2421
2498
  setRecordingStarted(false);
2422
2499
  }
2423
2500
  }, [isBrowserRecordingOn, recordingStarted, setRecordingStarted]);
2424
- useEffect3(() => {
2501
+ useEffect4(() => {
2425
2502
  if (roomState === HMSRoomState.Disconnected) {
2426
2503
  setHLSStarted(false);
2427
2504
  setRecordingStarted(false);
2428
2505
  setRTMPStarted(false);
2429
2506
  }
2430
2507
  }, [roomState, setHLSStarted, setRTMPStarted, setRecordingStarted]);
2431
- useEffect3(() => {
2508
+ useEffect4(() => {
2432
2509
  if (isHLSRunning || hlsError) {
2433
2510
  if (hlsStarted) {
2434
2511
  setHLSStarted(false);
@@ -2438,7 +2515,7 @@ var ResetStreamingStart = () => {
2438
2515
  }
2439
2516
  }
2440
2517
  }, [isHLSRunning, hlsStarted, setHLSStarted, hlsError, isStreamingOpen, toggleStreaming]);
2441
- useEffect3(() => {
2518
+ useEffect4(() => {
2442
2519
  if (isRTMPRunning || rtmpError || isBrowserRecordingOn) {
2443
2520
  if (rtmpStarted) {
2444
2521
  setRTMPStarted(false);
@@ -2452,12 +2529,12 @@ var ResetStreamingStart = () => {
2452
2529
  };
2453
2530
 
2454
2531
  // src/Prebuilt/components/AuthToken.jsx
2455
- import React18, { useEffect as useEffect4, useState as useState4 } from "react";
2532
+ import React20, { useEffect as useEffect5, useState as useState4 } from "react";
2456
2533
  import { useHMSActions as useHMSActions4 } from "@100mslive/react-sdk";
2457
2534
 
2458
2535
  // src/Prebuilt/AppContext.tsx
2459
- import React16, { useContext } from "react";
2460
- var HMSPrebuiltContext = React16.createContext({
2536
+ import React17, { useContext } from "react";
2537
+ var HMSPrebuiltContext = React17.createContext({
2461
2538
  roomCode: "",
2462
2539
  userName: "",
2463
2540
  userId: "",
@@ -2474,15 +2551,21 @@ var useHMSPrebuiltContext = () => {
2474
2551
  };
2475
2552
 
2476
2553
  // src/Prebuilt/primitives/DialogContent.jsx
2477
- import React17, { useRef as useRef3 } from "react";
2554
+ import React19, { useRef as useRef4 } from "react";
2478
2555
  import { CheckIcon, CloudUploadIcon, CrossIcon as CrossIcon3 } from "@100mslive/react-icons";
2556
+
2557
+ // src/Prebuilt/components/PrebuiltDialogPortal.tsx
2558
+ import React18 from "react";
2559
+ var PrebuiltDialogPortal = ({ children }) => /* @__PURE__ */ React18.createElement(Dialog.Portal, { container: document.getElementById("prebuilt-container") }, children);
2560
+
2561
+ // src/Prebuilt/primitives/DialogContent.jsx
2479
2562
  var DialogContent = (_a7) => {
2480
2563
  var _b7 = _a7, { Icon: Icon2, title, closeable = true, children, css: css2, iconCSS = {} } = _b7, props = __objRest(_b7, ["Icon", "title", "closeable", "children", "css", "iconCSS"]);
2481
- return /* @__PURE__ */ React17.createElement(Dialog.Portal, null, /* @__PURE__ */ React17.createElement(Dialog.Overlay, null), /* @__PURE__ */ React17.createElement(Dialog.Content, __spreadValues({ css: __spreadValues({ width: "min(600px, 100%)" }, css2) }, props), /* @__PURE__ */ React17.createElement(Dialog.Title, null, /* @__PURE__ */ React17.createElement(Flex, { justify: "between" }, /* @__PURE__ */ React17.createElement(Flex, { align: "center", css: { mb: "$1" } }, Icon2 ? /* @__PURE__ */ React17.createElement(Box, { css: __spreadValues({ mr: "$2", color: "$on_primary_high" }, iconCSS) }, /* @__PURE__ */ React17.createElement(Icon2, null)) : null, /* @__PURE__ */ React17.createElement(Text, { variant: "h6", inline: true }, title)), closeable && /* @__PURE__ */ React17.createElement(Dialog.DefaultClose, { "data-testid": "dialoge_cross_icon" }))), /* @__PURE__ */ React17.createElement(HorizontalDivider, { css: { mt: "0.8rem" } }), /* @__PURE__ */ React17.createElement(Box, null, children)));
2564
+ return /* @__PURE__ */ React19.createElement(PrebuiltDialogPortal, null, /* @__PURE__ */ React19.createElement(Dialog.Overlay, null), /* @__PURE__ */ React19.createElement(Dialog.Content, __spreadValues({ css: __spreadValues({ width: "min(600px, 100%)" }, css2) }, props), /* @__PURE__ */ React19.createElement(Dialog.Title, null, /* @__PURE__ */ React19.createElement(Flex, { justify: "between" }, /* @__PURE__ */ React19.createElement(Flex, { align: "center", css: { mb: "$1" } }, Icon2 ? /* @__PURE__ */ React19.createElement(Box, { css: __spreadValues({ mr: "$2", color: "$on_primary_high" }, iconCSS) }, /* @__PURE__ */ React19.createElement(Icon2, null)) : null, /* @__PURE__ */ React19.createElement(Text, { variant: "h6", inline: true }, title)), closeable && /* @__PURE__ */ React19.createElement(Dialog.DefaultClose, { "data-testid": "dialoge_cross_icon" }))), /* @__PURE__ */ React19.createElement(HorizontalDivider, { css: { mt: "0.8rem" } }), /* @__PURE__ */ React19.createElement(Box, null, children)));
2482
2565
  };
2483
2566
  var ErrorDialog = (_a7) => {
2484
2567
  var _b7 = _a7, { open = true, onOpenChange, title, children } = _b7, props = __objRest(_b7, ["open", "onOpenChange", "title", "children"]);
2485
- return /* @__PURE__ */ React17.createElement(Dialog.Root, { open, onOpenChange }, /* @__PURE__ */ React17.createElement(
2568
+ return /* @__PURE__ */ React19.createElement(Dialog.Root, { open, onOpenChange }, /* @__PURE__ */ React19.createElement(
2486
2569
  DialogContent,
2487
2570
  __spreadValues({
2488
2571
  Icon: CrossIcon3,
@@ -2493,10 +2576,10 @@ var ErrorDialog = (_a7) => {
2493
2576
  closeable: false,
2494
2577
  iconCSS: { color: "$alert_error_default" }
2495
2578
  }, props),
2496
- /* @__PURE__ */ React17.createElement(Box, { css: { mt: "$lg" } }, children)
2579
+ /* @__PURE__ */ React19.createElement(Box, { css: { mt: "$lg" } }, children)
2497
2580
  ));
2498
2581
  };
2499
- var RequestDialog = ({ open = true, onOpenChange, title, body, actionText = "Accept", onAction, Icon: Icon2 }) => /* @__PURE__ */ React17.createElement(Dialog.Root, { open, onOpenChange }, /* @__PURE__ */ React17.createElement(Dialog.Portal, null, /* @__PURE__ */ React17.createElement(Dialog.Overlay, null), /* @__PURE__ */ React17.createElement(Dialog.Content, { css: { width: "min(400px,80%)", p: "$10" } }, /* @__PURE__ */ React17.createElement(Dialog.Title, { css: { p: 0, display: "flex", flexDirection: "row", gap: "$md" } }, Icon2 ? Icon2 : null, /* @__PURE__ */ React17.createElement(Text, { variant: "h6" }, title)), typeof body === "string" ? /* @__PURE__ */ React17.createElement(
2582
+ var RequestDialog = ({ open = true, onOpenChange, title, body, actionText = "Accept", onAction, Icon: Icon2 }) => /* @__PURE__ */ React19.createElement(Dialog.Root, { open, onOpenChange }, /* @__PURE__ */ React19.createElement(PrebuiltDialogPortal, null, /* @__PURE__ */ React19.createElement(Dialog.Overlay, null), /* @__PURE__ */ React19.createElement(Dialog.Content, { css: { width: "min(400px,80%)", p: "$10" } }, /* @__PURE__ */ React19.createElement(Dialog.Title, { css: { p: 0, display: "flex", flexDirection: "row", gap: "$md" } }, Icon2 ? Icon2 : null, /* @__PURE__ */ React19.createElement(Text, { variant: "h6" }, title)), typeof body === "string" ? /* @__PURE__ */ React19.createElement(
2500
2583
  Text,
2501
2584
  {
2502
2585
  variant: "md",
@@ -2508,7 +2591,7 @@ var RequestDialog = ({ open = true, onOpenChange, title, body, actionText = "Acc
2508
2591
  }
2509
2592
  },
2510
2593
  body
2511
- ) : /* @__PURE__ */ React17.createElement(Box, { css: { mt: "$4", mb: "$10" } }, body), /* @__PURE__ */ React17.createElement(Flex, { justify: "center", align: "center", css: { width: "100%", gap: "$md" } }, /* @__PURE__ */ React17.createElement(Box, { css: { width: "50%" } }, /* @__PURE__ */ React17.createElement(Dialog.Close, { css: { width: "100%" } }, /* @__PURE__ */ React17.createElement(Button, { variant: "standard", outlined: true, css: { width: "100%" } }, "Cancel"))), /* @__PURE__ */ React17.createElement(Box, { css: { width: "50%" } }, /* @__PURE__ */ React17.createElement(Button, { variant: "primary", css: { width: "100%" }, onClick: onAction }, actionText))))));
2594
+ ) : /* @__PURE__ */ React19.createElement(Box, { css: { mt: "$4", mb: "$10" } }, body), /* @__PURE__ */ React19.createElement(Flex, { justify: "center", align: "center", css: { width: "100%", gap: "$md" } }, /* @__PURE__ */ React19.createElement(Box, { css: { width: "50%" } }, /* @__PURE__ */ React19.createElement(Dialog.Close, { css: { width: "100%" } }, /* @__PURE__ */ React19.createElement(Button, { variant: "standard", outlined: true, css: { width: "100%" } }, "Cancel"))), /* @__PURE__ */ React19.createElement(Box, { css: { width: "50%" } }, /* @__PURE__ */ React19.createElement(Button, { variant: "primary", css: { width: "100%" }, onClick: onAction }, actionText))))));
2512
2595
  var DialogRow = ({ children, breakSm = false, css: css2, justify = "between" }) => {
2513
2596
  let finalCSS = {
2514
2597
  margin: "$10 0",
@@ -2523,7 +2606,7 @@ var DialogRow = ({ children, breakSm = false, css: css2, justify = "between" })
2523
2606
  if (css2) {
2524
2607
  finalCSS = Object.assign(finalCSS, css2);
2525
2608
  }
2526
- return /* @__PURE__ */ React17.createElement(Flex, { align: "center", justify, css: finalCSS }, children);
2609
+ return /* @__PURE__ */ React19.createElement(Flex, { align: "center", justify, css: finalCSS }, children);
2527
2610
  };
2528
2611
  var DialogCol = (_a7) => {
2529
2612
  var _b7 = _a7, { children, breakSm = false, css: css2, align = "center", justify = "between" } = _b7, props = __objRest(_b7, ["children", "breakSm", "css", "align", "justify"]);
@@ -2539,20 +2622,20 @@ var DialogCol = (_a7) => {
2539
2622
  if (css2) {
2540
2623
  finalCSS = Object.assign(finalCSS, css2);
2541
2624
  }
2542
- return /* @__PURE__ */ React17.createElement(Flex, __spreadValues({ direction: "column", align, justify, css: finalCSS }, props), children);
2625
+ return /* @__PURE__ */ React19.createElement(Flex, __spreadValues({ direction: "column", align, justify, css: finalCSS }, props), children);
2543
2626
  };
2544
2627
  var DialogSelect = (_a7) => {
2545
2628
  var _b7 = _a7, { title, options, keyField, labelField, selected, onChange } = _b7, props = __objRest(_b7, ["title", "options", "keyField", "labelField", "selected", "onChange"]);
2546
- return /* @__PURE__ */ React17.createElement(DialogRow, { breakSm: true }, /* @__PURE__ */ React17.createElement(Label3, null, title), /* @__PURE__ */ React17.createElement(Select.Root, __spreadValues({ "data-testid": `dialog_select_${title}`, css: { width: "70%", "@sm": { width: "100%" } } }, props), /* @__PURE__ */ React17.createElement(Select.DefaultDownIcon, null), /* @__PURE__ */ React17.createElement(Select.Select, { onChange: (e) => onChange(e.target.value), value: selected, css: { width: "100%" } }, options.map((option) => {
2629
+ return /* @__PURE__ */ React19.createElement(DialogRow, { breakSm: true }, /* @__PURE__ */ React19.createElement(Label3, null, title), /* @__PURE__ */ React19.createElement(Select.Root, __spreadValues({ "data-testid": `dialog_select_${title}`, css: { width: "70%", "@sm": { width: "100%" } } }, props), /* @__PURE__ */ React19.createElement(Select.DefaultDownIcon, null), /* @__PURE__ */ React19.createElement(Select.Select, { onChange: (e) => onChange(e.target.value), value: selected, css: { width: "100%" } }, options.map((option) => {
2547
2630
  const id = keyField ? option[keyField] : option;
2548
2631
  const label = labelField ? option[labelField] : option;
2549
- return /* @__PURE__ */ React17.createElement("option", { value: id, key: id }, label);
2632
+ return /* @__PURE__ */ React19.createElement("option", { value: id, key: id }, label);
2550
2633
  }))));
2551
2634
  };
2552
2635
  var DialogInputFile = (_a7) => {
2553
2636
  var _b7 = _a7, { value, onChange, placeholder, disabled, type } = _b7, props = __objRest(_b7, ["value", "onChange", "placeholder", "disabled", "type"]);
2554
- const inputRef = useRef3();
2555
- return /* @__PURE__ */ React17.createElement(
2637
+ const inputRef = useRef4();
2638
+ return /* @__PURE__ */ React19.createElement(
2556
2639
  DialogCol,
2557
2640
  {
2558
2641
  breakSm: true,
@@ -2573,7 +2656,7 @@ var DialogInputFile = (_a7) => {
2573
2656
  },
2574
2657
  gap: "8"
2575
2658
  },
2576
- /* @__PURE__ */ React17.createElement(
2659
+ /* @__PURE__ */ React19.createElement(
2577
2660
  IconButton,
2578
2661
  {
2579
2662
  variant: "standard",
@@ -2587,7 +2670,7 @@ var DialogInputFile = (_a7) => {
2587
2670
  }
2588
2671
  }
2589
2672
  },
2590
- /* @__PURE__ */ React17.createElement(
2673
+ /* @__PURE__ */ React19.createElement(
2591
2674
  CloudUploadIcon,
2592
2675
  {
2593
2676
  style: {
@@ -2597,7 +2680,7 @@ var DialogInputFile = (_a7) => {
2597
2680
  }
2598
2681
  )
2599
2682
  ),
2600
- /* @__PURE__ */ React17.createElement(Flex, { direction: "row" }, /* @__PURE__ */ React17.createElement(
2683
+ /* @__PURE__ */ React19.createElement(Flex, { direction: "row" }, /* @__PURE__ */ React19.createElement(
2601
2684
  Input,
2602
2685
  __spreadValues({
2603
2686
  ref: inputRef,
@@ -2609,7 +2692,7 @@ var DialogInputFile = (_a7) => {
2609
2692
  type,
2610
2693
  hidden: true
2611
2694
  }, props)
2612
- ), /* @__PURE__ */ React17.createElement(
2695
+ ), /* @__PURE__ */ React19.createElement(
2613
2696
  IconButton,
2614
2697
  {
2615
2698
  variant: "standard",
@@ -2623,20 +2706,20 @@ var DialogInputFile = (_a7) => {
2623
2706
  }
2624
2707
  }
2625
2708
  },
2626
- /* @__PURE__ */ React17.createElement(Text, { variant: "md" }, placeholder)
2709
+ /* @__PURE__ */ React19.createElement(Text, { variant: "md" }, placeholder)
2627
2710
  ))
2628
2711
  );
2629
2712
  };
2630
2713
 
2631
2714
  // src/Prebuilt/components/AuthToken.jsx
2632
- var AuthToken = React18.memo(({ authTokenByRoomCodeEndpoint, defaultAuthToken }) => {
2715
+ var AuthToken = React20.memo(({ authTokenByRoomCodeEndpoint, defaultAuthToken }) => {
2633
2716
  const hmsActions = useHMSActions4();
2634
2717
  const tokenEndpoint = useTokenEndpoint();
2635
2718
  const { roomCode, userId } = useHMSPrebuiltContext();
2636
2719
  const [error, setError] = useState4({ title: "", body: "" });
2637
2720
  let authToken = defaultAuthToken;
2638
2721
  const [, setAuthTokenInAppData] = useSetAppDataByKey(APP_DATA.authToken);
2639
- useEffect4(() => {
2722
+ useEffect5(() => {
2640
2723
  if (authToken) {
2641
2724
  setAuthTokenInAppData(authToken);
2642
2725
  return;
@@ -2647,7 +2730,7 @@ var AuthToken = React18.memo(({ authTokenByRoomCodeEndpoint, defaultAuthToken })
2647
2730
  hmsActions.getAuthTokenByRoomCode({ roomCode, userId }, { endpoint: authTokenByRoomCodeEndpoint }).then((token) => setAuthTokenInAppData(token)).catch((error2) => setError(convertError(error2)));
2648
2731
  }, [hmsActions, tokenEndpoint, authToken, authTokenByRoomCodeEndpoint, setAuthTokenInAppData, roomCode, userId]);
2649
2732
  if (error.title) {
2650
- return /* @__PURE__ */ React18.createElement(ErrorDialog, { title: error.title }, error.body);
2733
+ return /* @__PURE__ */ React20.createElement(ErrorDialog, { title: error.title }, error.body);
2651
2734
  }
2652
2735
  return null;
2653
2736
  });
@@ -2691,11 +2774,11 @@ var convertError = (error) => {
2691
2774
  var Link2 = styled("a", {
2692
2775
  color: "#2f80e1"
2693
2776
  });
2694
- var ErrorWithSupportLink = (errorMessage) => /* @__PURE__ */ React18.createElement("div", null, errorMessage, " If you think this is a mistake on our side, please create", " ", /* @__PURE__ */ React18.createElement(Link2, { target: "_blank", href: "https://github.com/100mslive/100ms-web/issues", rel: "noreferrer" }, "an issue"), " ", "or reach out over", " ", /* @__PURE__ */ React18.createElement(Link2, { target: "_blank", href: "https://discord.com/invite/kGdmszyzq2", rel: "noreferrer" }, "Discord"), ".");
2777
+ var ErrorWithSupportLink = (errorMessage) => /* @__PURE__ */ React20.createElement("div", null, errorMessage, " If you think this is a mistake on our side, please create", " ", /* @__PURE__ */ React20.createElement(Link2, { target: "_blank", href: "https://github.com/100mslive/100ms-web/issues", rel: "noreferrer" }, "an issue"), " ", "or reach out over", " ", /* @__PURE__ */ React20.createElement(Link2, { target: "_blank", href: "https://discord.com/invite/kGdmszyzq2", rel: "noreferrer" }, "Discord"), ".");
2695
2778
  var AuthToken_default = AuthToken;
2696
2779
 
2697
2780
  // src/Prebuilt/components/ErrorBoundary.jsx
2698
- import React19, { Component } from "react";
2781
+ import React21, { Component } from "react";
2699
2782
  import { CopyIcon as CopyIcon2 } from "@100mslive/react-icons";
2700
2783
  var ErrorBoundary = class extends Component {
2701
2784
  constructor(props) {
@@ -2711,7 +2794,7 @@ var ErrorBoundary = class extends Component {
2711
2794
  }
2712
2795
  render() {
2713
2796
  if (this.state.errorInfo) {
2714
- return /* @__PURE__ */ React19.createElement(
2797
+ return /* @__PURE__ */ React21.createElement(
2715
2798
  Flex,
2716
2799
  {
2717
2800
  align: "center",
@@ -2724,7 +2807,7 @@ var ErrorBoundary = class extends Component {
2724
2807
  backgroundColor: "$background_default"
2725
2808
  }
2726
2809
  },
2727
- /* @__PURE__ */ React19.createElement(Box, { css: { position: "relative", overflow: "hidden", r: "$3", height: "100%", width: "100%" } }, /* @__PURE__ */ React19.createElement(
2810
+ /* @__PURE__ */ React21.createElement(Box, { css: { position: "relative", overflow: "hidden", r: "$3", height: "100%", width: "100%" } }, /* @__PURE__ */ React21.createElement(
2728
2811
  Flex,
2729
2812
  {
2730
2813
  direction: "column",
@@ -2735,8 +2818,8 @@ var ErrorBoundary = class extends Component {
2735
2818
  left: 0
2736
2819
  }
2737
2820
  },
2738
- /* @__PURE__ */ React19.createElement("div", { style: { margin: "1.5rem", width: "100%" } }, /* @__PURE__ */ React19.createElement(Text, null, "Something went wrong"), /* @__PURE__ */ React19.createElement(Text, null, "Message: $", this.state.error), /* @__PURE__ */ React19.createElement("br", null), ErrorWithSupportLink(`Please reload to see if it works.`)),
2739
- /* @__PURE__ */ React19.createElement(Flex, null, /* @__PURE__ */ React19.createElement(Tooltip, { title: "Reload page" }, /* @__PURE__ */ React19.createElement(
2821
+ /* @__PURE__ */ React21.createElement("div", { style: { margin: "1.5rem", width: "100%" } }, /* @__PURE__ */ React21.createElement(Text, null, "Something went wrong"), /* @__PURE__ */ React21.createElement(Text, null, "Message: $", this.state.error), /* @__PURE__ */ React21.createElement("br", null), ErrorWithSupportLink(`Please reload to see if it works.`)),
2822
+ /* @__PURE__ */ React21.createElement(Flex, null, /* @__PURE__ */ React21.createElement(Tooltip, { title: "Reload page" }, /* @__PURE__ */ React21.createElement(
2740
2823
  Button,
2741
2824
  {
2742
2825
  onClick: () => {
@@ -2746,7 +2829,7 @@ var ErrorBoundary = class extends Component {
2746
2829
  "data-testid": "join_again_btn"
2747
2830
  },
2748
2831
  "Reload"
2749
- )), /* @__PURE__ */ React19.createElement(Tooltip, { title: "Copy error details to clipboard" }, /* @__PURE__ */ React19.createElement(
2832
+ )), /* @__PURE__ */ React21.createElement(Tooltip, { title: "Copy error details to clipboard" }, /* @__PURE__ */ React21.createElement(
2750
2833
  Button,
2751
2834
  {
2752
2835
  onClick: () => {
@@ -2762,11 +2845,11 @@ var ErrorBoundary = class extends Component {
2762
2845
  css: { mx: "$8" },
2763
2846
  "data-testid": "join_again_btn"
2764
2847
  },
2765
- /* @__PURE__ */ React19.createElement(CopyIcon2, null),
2848
+ /* @__PURE__ */ React21.createElement(CopyIcon2, null),
2766
2849
  " ",
2767
2850
  this.state.isErrorCopied ? "Copied" : "Copy Details"
2768
2851
  ))),
2769
- /* @__PURE__ */ React19.createElement("details", { style: { whiteSpace: "pre-wrap", margin: "1.5rem" } }, /* @__PURE__ */ React19.createElement(Text, null, this.state.error && this.state.error.toString()), /* @__PURE__ */ React19.createElement("br", null), /* @__PURE__ */ React19.createElement(Text, null, JSON.stringify(this.state.errorInfo)))
2852
+ /* @__PURE__ */ React21.createElement("details", { style: { whiteSpace: "pre-wrap", margin: "1.5rem" } }, /* @__PURE__ */ React21.createElement(Text, null, this.state.error && this.state.error.toString()), /* @__PURE__ */ React21.createElement("br", null), /* @__PURE__ */ React21.createElement(Text, null, JSON.stringify(this.state.errorInfo)))
2770
2853
  ))
2771
2854
  );
2772
2855
  }
@@ -2775,15 +2858,15 @@ var ErrorBoundary = class extends Component {
2775
2858
  };
2776
2859
 
2777
2860
  // src/Prebuilt/components/FullPageProgress.jsx
2778
- import React20 from "react";
2779
- var FullPageProgress = ({ loaderColor = "$primary_default", text = "", css: css2 = {} }) => /* @__PURE__ */ React20.createElement(Flex, { direction: "column", justify: "center", align: "center", css: __spreadValues({ size: "100%", color: loaderColor }, css2) }, /* @__PURE__ */ React20.createElement(Loading, { color: "currentColor", size: 100 }), text ? /* @__PURE__ */ React20.createElement(Text, { css: { mt: "$10", color: "$on_surface_high" } }, text) : null);
2861
+ import React22 from "react";
2862
+ var FullPageProgress = ({ loaderColor = "$primary_default", text = "", css: css2 = {} }) => /* @__PURE__ */ React22.createElement(Flex, { direction: "column", justify: "center", align: "center", css: __spreadValues({ size: "100%", color: loaderColor }, css2) }, /* @__PURE__ */ React22.createElement(Loading, { color: "currentColor", size: 100 }), text ? /* @__PURE__ */ React22.createElement(Text, { css: { mt: "$10", color: "$on_surface_high" } }, text) : null);
2780
2863
  var FullPageProgress_default = FullPageProgress;
2781
2864
 
2782
2865
  // src/Prebuilt/components/init/Init.jsx
2783
- import React21, { useEffect as useEffect6 } from "react";
2866
+ import React23, { useEffect as useEffect7 } from "react";
2784
2867
 
2785
2868
  // src/Prebuilt/services/FeatureFlags.jsx
2786
- import { useEffect as useEffect5 } from "react";
2869
+ import { useEffect as useEffect6 } from "react";
2787
2870
  import { selectRoomID, useHMSStore as useHMSStore5 } from "@100mslive/react-sdk";
2788
2871
  var FeatureFlags = class {
2789
2872
  static init(roomId) {
@@ -2810,7 +2893,7 @@ __publicField(FeatureFlags, "enableStatsForNerds", define_process_env_default.RE
2810
2893
  __publicField(FeatureFlags, "enableWhiteboard", define_process_env_default.REACT_APP_ENABLE_WHITEBOARD && define_process_env_default.REACT_APP_PUSHER_APP_KEY && define_process_env_default.REACT_APP_PUSHER_AUTHENDPOINT);
2811
2894
  function FeatureFlagsInit() {
2812
2895
  const roomId = useHMSStore5(selectRoomID);
2813
- useEffect5(() => {
2896
+ useEffect6(() => {
2814
2897
  if (roomId) {
2815
2898
  FeatureFlags.init(roomId);
2816
2899
  }
@@ -2821,10 +2904,10 @@ function FeatureFlagsInit() {
2821
2904
  // src/Prebuilt/components/init/Init.jsx
2822
2905
  var Init = () => {
2823
2906
  const { toggleTheme } = useTheme();
2824
- useEffect6(() => {
2907
+ useEffect7(() => {
2825
2908
  window.toggleUiTheme = toggleTheme;
2826
2909
  }, [toggleTheme]);
2827
- useEffect6(() => {
2910
+ useEffect7(() => {
2828
2911
  function resetHeight() {
2829
2912
  var _a7;
2830
2913
  document.body.style.height = `${((_a7 = window.visualViewport) == null ? void 0 : _a7.height) || window.innerHeight}px`;
@@ -2835,17 +2918,17 @@ var Init = () => {
2835
2918
  window.removeEventListener("resize", resetHeight);
2836
2919
  };
2837
2920
  }, []);
2838
- return /* @__PURE__ */ React21.createElement(FeatureFlagsInit, null);
2921
+ return /* @__PURE__ */ React23.createElement(FeatureFlagsInit, null);
2839
2922
  };
2840
2923
 
2841
2924
  // src/Prebuilt/components/Input/KeyboardInputManager.js
2842
- import { useEffect as useEffect7 } from "react";
2925
+ import { useEffect as useEffect8 } from "react";
2843
2926
  import {
2844
2927
  selectAppData as selectAppData3,
2845
2928
  selectIsLocalAudioEnabled,
2846
2929
  selectIsLocalVideoEnabled,
2847
2930
  useHMSActions as useHMSActions5,
2848
- useHMSVanillaStore as useHMSVanillaStore3
2931
+ useHMSVanillaStore as useHMSVanillaStore4
2849
2932
  } from "@100mslive/react-sdk";
2850
2933
  var isEvenListenersAttached = false;
2851
2934
  var _actions, _store, _toggleAudio, _toggleVideo, _hideSidepane, _toggleStatsForNerds, _toggleHlsStats, _keyDownHandler, _bind, _unbind;
@@ -2932,9 +3015,9 @@ _keyDownHandler = new WeakMap();
2932
3015
  _bind = new WeakMap();
2933
3016
  _unbind = new WeakMap();
2934
3017
  var KeyboardHandler = () => {
2935
- const store = useHMSVanillaStore3();
3018
+ const store = useHMSVanillaStore4();
2936
3019
  const actions = useHMSActions5();
2937
- useEffect7(() => {
3020
+ useEffect8(() => {
2938
3021
  const keyboardManager = new KeyboardInputManager(store, actions);
2939
3022
  keyboardManager.bindAllShortcuts();
2940
3023
  return keyboardManager.unbindAllShortcuts;
@@ -2943,7 +3026,7 @@ var KeyboardHandler = () => {
2943
3026
  };
2944
3027
 
2945
3028
  // src/Prebuilt/components/Notifications/Notifications.jsx
2946
- import React30, { useCallback as useCallback8, useEffect as useEffect16 } from "react";
3029
+ import React32, { useCallback as useCallback8, useEffect as useEffect17 } from "react";
2947
3030
  import { useNavigate as useNavigate2, useParams as useParams2 } from "react-router-dom";
2948
3031
  import {
2949
3032
  HMSNotificationTypes as HMSNotificationTypes7,
@@ -2953,15 +3036,15 @@ import {
2953
3036
  useCustomEvent,
2954
3037
  useHMSNotifications as useHMSNotifications7,
2955
3038
  useHMSStore as useHMSStore7,
2956
- useHMSVanillaStore as useHMSVanillaStore4
3039
+ useHMSVanillaStore as useHMSVanillaStore5
2957
3040
  } from "@100mslive/react-sdk";
2958
3041
 
2959
3042
  // src/Prebuilt/provider/roomLayoutProvider/index.tsx
2960
- import React22 from "react";
3043
+ import React24 from "react";
2961
3044
  import merge from "lodash.merge";
2962
3045
 
2963
3046
  // src/Prebuilt/provider/roomLayoutProvider/hooks/useFetchRoomLayout.ts
2964
- import { useCallback as useCallback5, useEffect as useEffect8, useRef as useRef4, useState as useState5 } from "react";
3047
+ import { useCallback as useCallback5, useEffect as useEffect9, useRef as useRef5, useState as useState5 } from "react";
2965
3048
 
2966
3049
  // src/Prebuilt/provider/roomLayoutProvider/constants/index.ts
2967
3050
  import { JoinForm_JoinBtnType } from "@100mslive/types-prebuilt/elements/join_form";
@@ -3030,8 +3113,8 @@ var useFetchRoomLayout = ({
3030
3113
  authToken = ""
3031
3114
  }) => {
3032
3115
  const [layout, setLayout] = useState5(void 0);
3033
- const layoutResp = useRef4();
3034
- const isFetchInProgress = useRef4(false);
3116
+ const layoutResp = useRef5();
3117
+ const isFetchInProgress = useRef5(false);
3035
3118
  const updateRoomLayoutForRole = useCallback5((role) => {
3036
3119
  var _a7;
3037
3120
  if (!layoutResp.current) {
@@ -3042,7 +3125,7 @@ var useFetchRoomLayout = ({
3042
3125
  setLayout(layout2);
3043
3126
  }
3044
3127
  }, []);
3045
- useEffect8(() => {
3128
+ useEffect9(() => {
3046
3129
  (() => __async(void 0, null, function* () {
3047
3130
  var _a7, _b7;
3048
3131
  if (isFetchInProgress.current || !authToken) {
@@ -3078,7 +3161,7 @@ var useFetchRoomLayout = ({
3078
3161
  };
3079
3162
 
3080
3163
  // src/Prebuilt/provider/roomLayoutProvider/index.tsx
3081
- var RoomLayoutContext = React22.createContext(void 0);
3164
+ var RoomLayoutContext = React24.createContext(void 0);
3082
3165
  var RoomLayoutProvider = ({
3083
3166
  children,
3084
3167
  roomLayoutEndpoint,
@@ -3087,19 +3170,19 @@ var RoomLayoutProvider = ({
3087
3170
  const authToken = useAuthToken();
3088
3171
  const { layout, updateRoomLayoutForRole } = useFetchRoomLayout({ authToken, endpoint: roomLayoutEndpoint });
3089
3172
  const mergedLayout = authToken && layout ? merge(layout, overrideLayout) : layout;
3090
- return /* @__PURE__ */ React22.createElement(RoomLayoutContext.Provider, { value: { layout: mergedLayout, updateRoomLayoutForRole } }, children);
3173
+ return /* @__PURE__ */ React24.createElement(RoomLayoutContext.Provider, { value: { layout: mergedLayout, updateRoomLayoutForRole } }, children);
3091
3174
  };
3092
3175
  var useRoomLayout = () => {
3093
3176
  var _a7;
3094
- return (_a7 = React22.useContext(RoomLayoutContext)) == null ? void 0 : _a7.layout;
3177
+ return (_a7 = React24.useContext(RoomLayoutContext)) == null ? void 0 : _a7.layout;
3095
3178
  };
3096
3179
  var useUpdateRoomLayout = () => {
3097
3180
  var _a7;
3098
- return (_a7 = React22.useContext(RoomLayoutContext)) == null ? void 0 : _a7.updateRoomLayoutForRole;
3181
+ return (_a7 = React24.useContext(RoomLayoutContext)) == null ? void 0 : _a7.updateRoomLayoutForRole;
3099
3182
  };
3100
3183
 
3101
3184
  // src/Prebuilt/components/Toast/ToastConfig.jsx
3102
- import React23, { useCallback as useCallback6 } from "react";
3185
+ import React25, { useCallback as useCallback6 } from "react";
3103
3186
  import { selectPeerByID, useHMSActions as useHMSActions6, useHMSStore as useHMSStore6 } from "@100mslive/react-sdk";
3104
3187
  import {
3105
3188
  ChatUnreadIcon,
@@ -3109,15 +3192,15 @@ import {
3109
3192
  PeopleRemoveIcon,
3110
3193
  PoorConnectivityIcon
3111
3194
  } from "@100mslive/react-icons";
3112
- var ChatAction = React23.forwardRef((_, ref) => {
3195
+ var ChatAction = React25.forwardRef((_, ref) => {
3113
3196
  const toggleChat = useSidepaneToggle(SIDE_PANE_OPTIONS.CHAT);
3114
3197
  const isChatOpen = useIsSidepaneTypeOpen(SIDE_PANE_OPTIONS.CHAT);
3115
3198
  if (isChatOpen) {
3116
3199
  return null;
3117
3200
  }
3118
- return /* @__PURE__ */ React23.createElement(Button, { outlined: true, as: "div", variant: "standard", css: { w: "max-content" }, onClick: toggleChat, ref }, "Open Chat");
3201
+ return /* @__PURE__ */ React25.createElement(Button, { outlined: true, as: "div", variant: "standard", css: { w: "max-content" }, onClick: toggleChat, ref }, "Open Chat");
3119
3202
  });
3120
- var HandRaiseAction = React23.forwardRef(({ id = "", isSingleHandRaise = true }, ref) => {
3203
+ var HandRaiseAction = React25.forwardRef(({ id = "", isSingleHandRaise = true }, ref) => {
3121
3204
  var _a7, _b7, _c;
3122
3205
  const hmsActions = useHMSActions6();
3123
3206
  const toggleSidepane = useSidepaneToggle(SIDE_PANE_OPTIONS.PARTICIPANTS);
@@ -3139,7 +3222,7 @@ var HandRaiseAction = React23.forwardRef(({ id = "", isSingleHandRaise = true },
3139
3222
  if (isSingleHandRaise && (!peer || !off_stage_roles.includes(peer.roleName))) {
3140
3223
  return null;
3141
3224
  }
3142
- return /* @__PURE__ */ React23.createElement(Button, { outlined: true, as: "div", variant: "standard", css: { w: "max-content" }, onClick: onClickHandler, ref }, isSingleHandRaise ? bring_to_stage_label : "View");
3225
+ return /* @__PURE__ */ React25.createElement(Button, { outlined: true, as: "div", variant: "standard", css: { w: "max-content" }, onClick: onClickHandler, ref }, isSingleHandRaise ? bring_to_stage_label : "View");
3143
3226
  });
3144
3227
  var ToastConfig = {
3145
3228
  PEER_LIST: {
@@ -3148,18 +3231,18 @@ var ToastConfig = {
3148
3231
  if (notification.data.length === 1) {
3149
3232
  return {
3150
3233
  title: `${(_a7 = notification.data[0]) == null ? void 0 : _a7.name} joined`,
3151
- icon: /* @__PURE__ */ React23.createElement(PeopleAddIcon, null)
3234
+ icon: /* @__PURE__ */ React25.createElement(PeopleAddIcon, null)
3152
3235
  };
3153
3236
  }
3154
3237
  return {
3155
3238
  title: `${(_b7 = notification.data[notification.data.length - 1]) == null ? void 0 : _b7.name} and ${notification.data.length - 1} others joined`,
3156
- icon: /* @__PURE__ */ React23.createElement(PeopleAddIcon, null)
3239
+ icon: /* @__PURE__ */ React25.createElement(PeopleAddIcon, null)
3157
3240
  };
3158
3241
  },
3159
3242
  multiple: (notifications) => {
3160
3243
  return {
3161
3244
  title: `${notifications[0].data.name} and ${notifications.length - 1} others joined`,
3162
- icon: /* @__PURE__ */ React23.createElement(PeopleAddIcon, null)
3245
+ icon: /* @__PURE__ */ React25.createElement(PeopleAddIcon, null)
3163
3246
  };
3164
3247
  }
3165
3248
  },
@@ -3168,13 +3251,13 @@ var ToastConfig = {
3168
3251
  var _a7;
3169
3252
  return {
3170
3253
  title: `${(_a7 = notification.data) == null ? void 0 : _a7.name} joined`,
3171
- icon: /* @__PURE__ */ React23.createElement(PeopleAddIcon, null)
3254
+ icon: /* @__PURE__ */ React25.createElement(PeopleAddIcon, null)
3172
3255
  };
3173
3256
  },
3174
3257
  multiple: function(notifications) {
3175
3258
  return {
3176
3259
  title: `${notifications[notifications.length - 1].data.name} and ${notifications.length - 1} others joined`,
3177
- icon: /* @__PURE__ */ React23.createElement(PeopleAddIcon, null)
3260
+ icon: /* @__PURE__ */ React25.createElement(PeopleAddIcon, null)
3178
3261
  };
3179
3262
  }
3180
3263
  },
@@ -3183,13 +3266,13 @@ var ToastConfig = {
3183
3266
  var _a7;
3184
3267
  return {
3185
3268
  title: `${(_a7 = notification.data) == null ? void 0 : _a7.name} left`,
3186
- icon: /* @__PURE__ */ React23.createElement(PeopleRemoveIcon, null)
3269
+ icon: /* @__PURE__ */ React25.createElement(PeopleRemoveIcon, null)
3187
3270
  };
3188
3271
  },
3189
3272
  multiple: function(notifications) {
3190
3273
  return {
3191
3274
  title: `${notifications[notifications.length - 1].data.name} and ${notifications.length - 1} others left`,
3192
- icon: /* @__PURE__ */ React23.createElement(PeopleRemoveIcon, null)
3275
+ icon: /* @__PURE__ */ React25.createElement(PeopleRemoveIcon, null)
3193
3276
  };
3194
3277
  }
3195
3278
  },
@@ -3198,8 +3281,8 @@ var ToastConfig = {
3198
3281
  var _a7, _b7;
3199
3282
  return {
3200
3283
  title: `${(_a7 = notification.data) == null ? void 0 : _a7.name} raised hand`,
3201
- icon: /* @__PURE__ */ React23.createElement(HandIcon, null),
3202
- action: /* @__PURE__ */ React23.createElement(HandRaiseAction, { id: (_b7 = notification.data) == null ? void 0 : _b7.id })
3284
+ icon: /* @__PURE__ */ React25.createElement(HandIcon, null),
3285
+ action: /* @__PURE__ */ React25.createElement(HandRaiseAction, { id: (_b7 = notification.data) == null ? void 0 : _b7.id })
3203
3286
  };
3204
3287
  },
3205
3288
  multiple: (notifications) => {
@@ -3210,8 +3293,8 @@ var ToastConfig = {
3210
3293
  })).size;
3211
3294
  return {
3212
3295
  title: `${(_a7 = notifications[notifications.length - 1].data) == null ? void 0 : _a7.name} ${count > 1 ? `${count} and others` : ""} raised hand`,
3213
- icon: /* @__PURE__ */ React23.createElement(HandIcon, null),
3214
- action: /* @__PURE__ */ React23.createElement(HandRaiseAction, { isSingleHandRaise: false })
3296
+ icon: /* @__PURE__ */ React25.createElement(HandIcon, null),
3297
+ action: /* @__PURE__ */ React25.createElement(HandRaiseAction, { isSingleHandRaise: false })
3215
3298
  };
3216
3299
  }
3217
3300
  },
@@ -3220,15 +3303,15 @@ var ToastConfig = {
3220
3303
  var _a7;
3221
3304
  return {
3222
3305
  title: `New message from ${(_a7 = notification.data) == null ? void 0 : _a7.senderName}`,
3223
- icon: /* @__PURE__ */ React23.createElement(ChatUnreadIcon, null),
3224
- action: /* @__PURE__ */ React23.createElement(ChatAction, null)
3306
+ icon: /* @__PURE__ */ React25.createElement(ChatUnreadIcon, null),
3307
+ action: /* @__PURE__ */ React25.createElement(ChatAction, null)
3225
3308
  };
3226
3309
  },
3227
3310
  multiple: (notifications) => {
3228
3311
  return {
3229
3312
  title: `${notifications.length} new messages`,
3230
- icon: /* @__PURE__ */ React23.createElement(ChatUnreadIcon, null),
3231
- action: /* @__PURE__ */ React23.createElement(ChatAction, null)
3313
+ icon: /* @__PURE__ */ React25.createElement(ChatUnreadIcon, null),
3314
+ action: /* @__PURE__ */ React25.createElement(ChatAction, null)
3232
3315
  };
3233
3316
  }
3234
3317
  },
@@ -3236,7 +3319,7 @@ var ToastConfig = {
3236
3319
  single: () => {
3237
3320
  return {
3238
3321
  title: `You are now connected`,
3239
- icon: /* @__PURE__ */ React23.createElement(ConnectivityIcon, null),
3322
+ icon: /* @__PURE__ */ React25.createElement(ConnectivityIcon, null),
3240
3323
  variant: "success",
3241
3324
  duration: 3e3
3242
3325
  };
@@ -3248,7 +3331,7 @@ var ToastConfig = {
3248
3331
  title: `You are offline for now. while we try to reconnect, please check
3249
3332
  your internet connection. ${message}.
3250
3333
  `,
3251
- icon: /* @__PURE__ */ React23.createElement(PoorConnectivityIcon, null),
3334
+ icon: /* @__PURE__ */ React25.createElement(PoorConnectivityIcon, null),
3252
3335
  variant: "warning",
3253
3336
  duration: 3e4
3254
3337
  };
@@ -3353,11 +3436,11 @@ var ToastBatcher = {
3353
3436
  ToastManager.addListener(ToastBatcher.syncUItoast.bind(ToastBatcher));
3354
3437
 
3355
3438
  // src/Prebuilt/components/Notifications/AutoplayBlockedModal.jsx
3356
- import React24 from "react";
3439
+ import React26 from "react";
3357
3440
  import { useAutoplayError } from "@100mslive/react-sdk";
3358
3441
  function AutoplayBlockedModal() {
3359
3442
  const { error, resetError, unblockAudio } = useAutoplayError();
3360
- return /* @__PURE__ */ React24.createElement(
3443
+ return /* @__PURE__ */ React26.createElement(
3361
3444
  Dialog.Root,
3362
3445
  {
3363
3446
  open: !!error,
@@ -3368,7 +3451,7 @@ function AutoplayBlockedModal() {
3368
3451
  resetError();
3369
3452
  }
3370
3453
  },
3371
- /* @__PURE__ */ React24.createElement(DialogContent, { title: "Permission Error", closeable: false }, /* @__PURE__ */ React24.createElement(DialogRow, null, /* @__PURE__ */ React24.createElement(Text, { variant: "md" }, "The browser wants us to get a confirmation for playing the Audio. Please allow audio to proceed.")), /* @__PURE__ */ React24.createElement(DialogRow, { justify: "end" }, /* @__PURE__ */ React24.createElement(
3454
+ /* @__PURE__ */ React26.createElement(DialogContent, { title: "Permission Error", closeable: false }, /* @__PURE__ */ React26.createElement(DialogRow, null, /* @__PURE__ */ React26.createElement(Text, { variant: "md" }, "The browser wants us to get a confirmation for playing the Audio. Please allow audio to proceed.")), /* @__PURE__ */ React26.createElement(DialogRow, { justify: "end" }, /* @__PURE__ */ React26.createElement(
3372
3455
  Button,
3373
3456
  {
3374
3457
  variant: "primary",
@@ -3383,11 +3466,11 @@ function AutoplayBlockedModal() {
3383
3466
  }
3384
3467
 
3385
3468
  // src/Prebuilt/components/Notifications/InitErrorModal.jsx
3386
- import React25, { useEffect as useEffect9, useState as useState6 } from "react";
3469
+ import React27, { useEffect as useEffect10, useState as useState6 } from "react";
3387
3470
  var InitErrorModal = ({ notification }) => {
3388
3471
  const [showModal, setShowModal] = useState6(false);
3389
3472
  const [info, setInfo] = useState6({ title: "Init Error", description: "" });
3390
- useEffect9(() => {
3473
+ useEffect10(() => {
3391
3474
  const data = notification == null ? void 0 : notification.data;
3392
3475
  if (!data || data.action !== "INIT") {
3393
3476
  return;
@@ -3407,11 +3490,11 @@ var InitErrorModal = ({ notification }) => {
3407
3490
  setInfo({ title, description });
3408
3491
  setShowModal(true);
3409
3492
  }, [notification]);
3410
- return /* @__PURE__ */ React25.createElement(ErrorDialog, { open: showModal, onOpenChange: setShowModal, title: info.title }, /* @__PURE__ */ React25.createElement(Text, { variant: "sm", css: { wordBreak: "break-word" } }, info.description, " ", /* @__PURE__ */ React25.createElement("br", null), "Current URL - ", window.location.href));
3493
+ return /* @__PURE__ */ React27.createElement(ErrorDialog, { open: showModal, onOpenChange: setShowModal, title: info.title }, /* @__PURE__ */ React27.createElement(Text, { variant: "sm", css: { wordBreak: "break-word" } }, info.description, " ", /* @__PURE__ */ React27.createElement("br", null), "Current URL - ", window.location.href));
3411
3494
  };
3412
3495
 
3413
3496
  // src/Prebuilt/components/Notifications/PeerNotifications.jsx
3414
- import { useEffect as useEffect10 } from "react";
3497
+ import { useEffect as useEffect11 } from "react";
3415
3498
  import { HMSNotificationTypes, useHMSNotifications } from "@100mslive/react-sdk";
3416
3499
  var notificationTypes = [
3417
3500
  HMSNotificationTypes.PEER_LIST,
@@ -3422,7 +3505,7 @@ var PeerNotifications = () => {
3422
3505
  const notification = useHMSNotifications(notificationTypes);
3423
3506
  const isPeerJoinSubscribed = useSubscribedNotifications(SUBSCRIBED_NOTIFICATIONS.PEER_JOINED);
3424
3507
  const isPeerLeftSubscribed = useSubscribedNotifications(SUBSCRIBED_NOTIFICATIONS.PEER_LEFT);
3425
- useEffect10(() => {
3508
+ useEffect11(() => {
3426
3509
  if (!(notification == null ? void 0 : notification.data)) {
3427
3510
  return;
3428
3511
  }
@@ -3452,7 +3535,7 @@ var PeerNotifications = () => {
3452
3535
  };
3453
3536
 
3454
3537
  // src/Prebuilt/components/Notifications/PermissionErrorModal.jsx
3455
- import React26, { useEffect as useEffect11, useState as useState7 } from "react";
3538
+ import React28, { useEffect as useEffect12, useState as useState7 } from "react";
3456
3539
  import { useMedia } from "react-use";
3457
3540
  import { HMSNotificationTypes as HMSNotificationTypes2, useHMSNotifications as useHMSNotifications2 } from "@100mslive/react-sdk";
3458
3541
 
@@ -3468,7 +3551,7 @@ function PermissionErrorModal() {
3468
3551
  const [deviceType, setDeviceType] = useState7("");
3469
3552
  const [isSystemError, setIsSystemError] = useState7(false);
3470
3553
  const isMobile = useMedia(config.media.md);
3471
- useEffect11(() => {
3554
+ useEffect12(() => {
3472
3555
  var _a7, _b7, _c, _d, _e;
3473
3556
  if (!notification || ((_a7 = notification.data) == null ? void 0 : _a7.code) !== 3001 && ((_b7 = notification.data) == null ? void 0 : _b7.code) !== 3011 || ((_c = notification.data) == null ? void 0 : _c.code) === 3001 && ((_d = notification.data) == null ? void 0 : _d.message.includes("screen"))) {
3474
3557
  return;
@@ -3489,15 +3572,15 @@ function PermissionErrorModal() {
3489
3572
  }
3490
3573
  setIsSystemError(notification.data.code === 3011);
3491
3574
  }, [notification]);
3492
- return deviceType ? /* @__PURE__ */ React26.createElement(Dialog.Root, { open: !!deviceType }, /* @__PURE__ */ React26.createElement(Dialog.Portal, null, /* @__PURE__ */ React26.createElement(Dialog.Overlay, null), /* @__PURE__ */ React26.createElement(Dialog.Content, { css: { w: "min(380px, 90%)", p: "$8" } }, /* @__PURE__ */ React26.createElement(
3575
+ return deviceType ? /* @__PURE__ */ React28.createElement(Dialog.Root, { open: !!deviceType }, /* @__PURE__ */ React28.createElement(PrebuiltDialogPortal, null, /* @__PURE__ */ React28.createElement(Dialog.Overlay, null), /* @__PURE__ */ React28.createElement(Dialog.Content, { css: { w: "min(380px, 90%)", p: "$8" } }, /* @__PURE__ */ React28.createElement(
3493
3576
  Dialog.Title,
3494
3577
  {
3495
3578
  css: {
3496
3579
  borderBottom: "1px solid $border_default"
3497
3580
  }
3498
3581
  },
3499
- isMobile && isIOS ? /* @__PURE__ */ React26.createElement("img", { style: { maxWidth: "100%", maxHeight: "100%" }, src: ios_perm_0_default, alt: "iOS Permission flow" }) : null,
3500
- isMobile && isAndroid ? /* @__PURE__ */ React26.createElement(
3582
+ isMobile && isIOS ? /* @__PURE__ */ React28.createElement("img", { style: { maxWidth: "100%", maxHeight: "100%" }, src: ios_perm_0_default, alt: "iOS Permission flow" }) : null,
3583
+ isMobile && isAndroid ? /* @__PURE__ */ React28.createElement(
3501
3584
  "img",
3502
3585
  {
3503
3586
  src: android_perm_1_default,
@@ -3505,12 +3588,12 @@ function PermissionErrorModal() {
3505
3588
  alt: "Android Permission flow "
3506
3589
  }
3507
3590
  ) : null,
3508
- /* @__PURE__ */ React26.createElement(Text, { variant: "h6" }, "We can't access your ", deviceType)
3509
- ), /* @__PURE__ */ React26.createElement(Text, { variant: "sm", css: { pt: "$4", pb: "$10", color: "$on_surface_medium" } }, isMobile && isIOS ? 'Enable permissions by reloading this page and clicking "Allow" on the pop-up, or change settings from the address bar.' : null, isMobile && isAndroid ? `To allow other users to see and hear you, click the blocked camera icon in your browser's address bar.` : null, !isMobile ? `Access to ${deviceType} is required. ` : null, isSystemError && !isMobile ? `Enable permissions for ${deviceType}${deviceType === "screen" ? "share" : ""} from sytem settings` : null, !isSystemError && !isMobile ? `Enable permissions for ${deviceType}${deviceType === "screen" ? "share" : ""} from address bar or browser settings.` : null), isMobile && isIOS ? /* @__PURE__ */ React26.createElement(React26.Fragment, null, /* @__PURE__ */ React26.createElement(Button, { onClick: () => window.location.reload(), css: { w: "100%", mb: "$6" } }, "Reload"), /* @__PURE__ */ React26.createElement(Button, { outlined: true, variant: "standard", onClick: () => setDeviceType(""), css: { w: "100%" } }, "Continue anyway")) : null, isMobile && isAndroid ? /* @__PURE__ */ React26.createElement(React26.Fragment, null, /* @__PURE__ */ React26.createElement(Button, { onClick: () => setDeviceType(""), css: { w: "100%", mb: "$6" } }, "I've allowed access"), /* @__PURE__ */ React26.createElement(Button, { outlined: true, variant: "standard", onClick: () => setDeviceType(""), css: { w: "100%" } }, "Continue anyway")) : null, !isMobile ? /* @__PURE__ */ React26.createElement(Flex, { justify: "end", css: { w: "100%" } }, /* @__PURE__ */ React26.createElement(Button, { outlined: true, variant: "standard", onClick: () => setDeviceType("") }, "Dismiss")) : null))) : null;
3591
+ /* @__PURE__ */ React28.createElement(Text, { variant: "h6" }, "We can't access your ", deviceType)
3592
+ ), /* @__PURE__ */ React28.createElement(Text, { variant: "sm", css: { pt: "$4", pb: "$10", color: "$on_surface_medium" } }, isMobile && isIOS ? 'Enable permissions by reloading this page and clicking "Allow" on the pop-up, or change settings from the address bar.' : null, isMobile && isAndroid ? `To allow other users to see and hear you, click the blocked camera icon in your browser's address bar.` : null, !isMobile ? `Access to ${deviceType} is required. ` : null, isSystemError && !isMobile ? `Enable permissions for ${deviceType}${deviceType === "screen" ? "share" : ""} from sytem settings` : null, !isSystemError && !isMobile ? `Enable permissions for ${deviceType}${deviceType === "screen" ? "share" : ""} from address bar or browser settings.` : null), isMobile && isIOS ? /* @__PURE__ */ React28.createElement(React28.Fragment, null, /* @__PURE__ */ React28.createElement(Button, { onClick: () => window.location.reload(), css: { w: "100%", mb: "$6" } }, "Reload"), /* @__PURE__ */ React28.createElement(Button, { outlined: true, variant: "standard", onClick: () => setDeviceType(""), css: { w: "100%" } }, "Continue anyway")) : null, isMobile && isAndroid ? /* @__PURE__ */ React28.createElement(React28.Fragment, null, /* @__PURE__ */ React28.createElement(Button, { onClick: () => setDeviceType(""), css: { w: "100%", mb: "$6" } }, "I've allowed access"), /* @__PURE__ */ React28.createElement(Button, { outlined: true, variant: "standard", onClick: () => setDeviceType(""), css: { w: "100%" } }, "Continue anyway")) : null, !isMobile ? /* @__PURE__ */ React28.createElement(Flex, { justify: "end", css: { w: "100%" } }, /* @__PURE__ */ React28.createElement(Button, { outlined: true, variant: "standard", onClick: () => setDeviceType("") }, "Dismiss")) : null))) : null;
3510
3593
  }
3511
3594
 
3512
3595
  // src/Prebuilt/components/Notifications/ReconnectNotifications.jsx
3513
- import React27, { useEffect as useEffect12, useState as useState8 } from "react";
3596
+ import React29, { useEffect as useEffect13, useState as useState8 } from "react";
3514
3597
  import { HMSNotificationTypes as HMSNotificationTypes3, useHMSNotifications as useHMSNotifications3 } from "@100mslive/react-sdk";
3515
3598
  var notificationTypes2 = [
3516
3599
  HMSNotificationTypes3.RECONNECTED,
@@ -3521,7 +3604,7 @@ var notificationId = null;
3521
3604
  var ReconnectNotifications = () => {
3522
3605
  const notification = useHMSNotifications3(notificationTypes2);
3523
3606
  const [open, setOpen] = useState8(false);
3524
- useEffect12(() => {
3607
+ useEffect13(() => {
3525
3608
  var _a7;
3526
3609
  if ((notification == null ? void 0 : notification.type) === HMSNotificationTypes3.ERROR && ((_a7 = notification == null ? void 0 : notification.data) == null ? void 0 : _a7.isTerminal)) {
3527
3610
  setOpen(false);
@@ -3537,7 +3620,7 @@ var ReconnectNotifications = () => {
3537
3620
  }, [notification]);
3538
3621
  if (!open)
3539
3622
  return null;
3540
- return /* @__PURE__ */ React27.createElement(Dialog.Root, { open, modal: true }, /* @__PURE__ */ React27.createElement(Dialog.Portal, { container: document.getElementById("conferencing") }, /* @__PURE__ */ React27.createElement(Dialog.Overlay, null), /* @__PURE__ */ React27.createElement(
3623
+ return /* @__PURE__ */ React29.createElement(Dialog.Root, { open, modal: true }, /* @__PURE__ */ React29.createElement(Dialog.Portal, { container: document.getElementById("conferencing") }, /* @__PURE__ */ React29.createElement(Dialog.Overlay, null), /* @__PURE__ */ React29.createElement(
3541
3624
  Dialog.Content,
3542
3625
  {
3543
3626
  css: {
@@ -3551,12 +3634,12 @@ var ReconnectNotifications = () => {
3551
3634
  animation: "none !important"
3552
3635
  }
3553
3636
  },
3554
- /* @__PURE__ */ React27.createElement(Flex, { align: "center" }, /* @__PURE__ */ React27.createElement("div", { style: { display: "inline", margin: "0.25rem" } }, /* @__PURE__ */ React27.createElement(Loading, { size: 16 })), /* @__PURE__ */ React27.createElement(Text, { css: { fontSize: "$space$8", color: "$on_surface_high" } }, "You lost your network connection. Trying to reconnect."))
3637
+ /* @__PURE__ */ React29.createElement(Flex, { align: "center" }, /* @__PURE__ */ React29.createElement("div", { style: { display: "inline", margin: "0.25rem" } }, /* @__PURE__ */ React29.createElement(Loading, { size: 16 })), /* @__PURE__ */ React29.createElement(Text, { css: { fontSize: "$space$8", color: "$on_surface_high" } }, "You lost your network connection. Trying to reconnect."))
3555
3638
  )));
3556
3639
  };
3557
3640
 
3558
3641
  // src/Prebuilt/components/Notifications/TrackBulkUnmuteModal.jsx
3559
- import React28, { useEffect as useEffect13, useState as useState9 } from "react";
3642
+ import React30, { useEffect as useEffect14, useState as useState9 } from "react";
3560
3643
  import { HMSNotificationTypes as HMSNotificationTypes4, useHMSActions as useHMSActions7, useHMSNotifications as useHMSNotifications4 } from "@100mslive/react-sdk";
3561
3644
  import { MicOnIcon } from "@100mslive/react-icons";
3562
3645
  var TrackBulkUnmuteModal = () => {
@@ -3567,7 +3650,7 @@ var TrackBulkUnmuteModal = () => {
3567
3650
  HMSNotificationTypes4.ROOM_ENDED,
3568
3651
  HMSNotificationTypes4.REMOVED_FROM_ROOM
3569
3652
  ]);
3570
- useEffect13(() => {
3653
+ useEffect14(() => {
3571
3654
  switch (notification == null ? void 0 : notification.type) {
3572
3655
  case HMSNotificationTypes4.REMOVED_FROM_ROOM:
3573
3656
  case HMSNotificationTypes4.ROOM_ENDED:
@@ -3586,7 +3669,7 @@ var TrackBulkUnmuteModal = () => {
3586
3669
  return null;
3587
3670
  }
3588
3671
  const { requestedBy: peer, tracks, enabled } = muteNotification;
3589
- return /* @__PURE__ */ React28.createElement(
3672
+ return /* @__PURE__ */ React30.createElement(
3590
3673
  RequestDialog,
3591
3674
  {
3592
3675
  title: "Track Unmute Request",
@@ -3604,7 +3687,7 @@ var TrackBulkUnmuteModal = () => {
3604
3687
  };
3605
3688
 
3606
3689
  // src/Prebuilt/components/Notifications/TrackNotifications.jsx
3607
- import { useEffect as useEffect14 } from "react";
3690
+ import { useEffect as useEffect15 } from "react";
3608
3691
  import { HMSNotificationTypes as HMSNotificationTypes5, useHMSNotifications as useHMSNotifications5 } from "@100mslive/react-sdk";
3609
3692
  var notificationTypes3 = [
3610
3693
  HMSNotificationTypes5.TRACK_ADDED,
@@ -3614,7 +3697,7 @@ var notificationTypes3 = [
3614
3697
  ];
3615
3698
  var TrackNotifications = () => {
3616
3699
  const notification = useHMSNotifications5(notificationTypes3);
3617
- useEffect14(() => {
3700
+ useEffect15(() => {
3618
3701
  if (notification) {
3619
3702
  console.debug(`[${notification.type}]`, notification);
3620
3703
  }
@@ -3623,7 +3706,7 @@ var TrackNotifications = () => {
3623
3706
  };
3624
3707
 
3625
3708
  // src/Prebuilt/components/Notifications/TrackUnmuteModal.jsx
3626
- import React29, { useEffect as useEffect15, useState as useState10 } from "react";
3709
+ import React31, { useEffect as useEffect16, useState as useState10 } from "react";
3627
3710
  import { HMSNotificationTypes as HMSNotificationTypes6, useHMSActions as useHMSActions8, useHMSNotifications as useHMSNotifications6 } from "@100mslive/react-sdk";
3628
3711
  import { MicOnIcon as MicOnIcon2 } from "@100mslive/react-icons";
3629
3712
  var TrackUnmuteModal = () => {
@@ -3634,7 +3717,7 @@ var TrackUnmuteModal = () => {
3634
3717
  HMSNotificationTypes6.REMOVED_FROM_ROOM
3635
3718
  ]);
3636
3719
  const [muteNotification, setMuteNotification] = useState10(null);
3637
- useEffect15(() => {
3720
+ useEffect16(() => {
3638
3721
  switch (notification == null ? void 0 : notification.type) {
3639
3722
  case HMSNotificationTypes6.REMOVED_FROM_ROOM:
3640
3723
  case HMSNotificationTypes6.ROOM_ENDED:
@@ -3653,7 +3736,7 @@ var TrackUnmuteModal = () => {
3653
3736
  return null;
3654
3737
  }
3655
3738
  const { requestedBy: peer, track, enabled } = muteNotification;
3656
- return /* @__PURE__ */ React29.createElement(
3739
+ return /* @__PURE__ */ React31.createElement(
3657
3740
  RequestDialog,
3658
3741
  {
3659
3742
  title: "Track Unmute Request",
@@ -4162,12 +4245,6 @@ var formatTime = (timeInSeconds) => {
4162
4245
  const hour = hours !== 0 ? `${hours < 10 ? "0" : ""}${hours}:` : "";
4163
4246
  return `${hour}${minutes < 10 ? "0" : ""}${minutes}:${seconds < 10 ? "0" : ""}${seconds}`;
4164
4247
  };
4165
- var getAttributeBoxSize = (width, height) => {
4166
- if (!width || !height) {
4167
- return "";
4168
- }
4169
- return width < 180 || height < 180 ? "small" : "medium";
4170
- };
4171
4248
 
4172
4249
  // src/Prebuilt/components/Notifications/Notifications.jsx
4173
4250
  function Notifications() {
@@ -4179,7 +4256,7 @@ function Notifications() {
4179
4256
  const updateRoomLayoutForRole = useUpdateRoomLayout();
4180
4257
  const isNotificationDisabled = useIsNotificationDisabled();
4181
4258
  const { redirectToLeave } = useRedirectToLeave();
4182
- const vanillaStore = useHMSVanillaStore4();
4259
+ const vanillaStore = useHMSVanillaStore5();
4183
4260
  const handleRoleChangeDenied = useCallback8((request) => {
4184
4261
  ToastManager.addToast({
4185
4262
  title: `${request.peerName} denied your request to join the ${request.role.name} role`,
@@ -4187,7 +4264,7 @@ function Notifications() {
4187
4264
  });
4188
4265
  }, []);
4189
4266
  useCustomEvent({ type: ROLE_CHANGE_DECLINED, onEvent: handleRoleChangeDenied });
4190
- useEffect16(() => {
4267
+ useEffect17(() => {
4191
4268
  var _a7, _b7, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
4192
4269
  if (!notification || isNotificationDisabled) {
4193
4270
  return;
@@ -4228,7 +4305,7 @@ function Notifications() {
4228
4305
  const toastId = ToastManager.addToast({
4229
4306
  title: ((_f = notification.data) == null ? void 0 : _f.message) || "We couldn\u2019t reconnect you. When you\u2019re back online, try joining the room.",
4230
4307
  inlineAction: true,
4231
- action: /* @__PURE__ */ React30.createElement(
4308
+ action: /* @__PURE__ */ React32.createElement(
4232
4309
  Button,
4233
4310
  {
4234
4311
  onClick: () => {
@@ -4294,35 +4371,35 @@ function Notifications() {
4294
4371
  if (isNotificationDisabled) {
4295
4372
  return null;
4296
4373
  }
4297
- return /* @__PURE__ */ React30.createElement(React30.Fragment, null, /* @__PURE__ */ React30.createElement(TrackUnmuteModal, null), /* @__PURE__ */ React30.createElement(TrackBulkUnmuteModal, null), /* @__PURE__ */ React30.createElement(TrackNotifications, null), roomState === HMSRoomState2.Connected ? /* @__PURE__ */ React30.createElement(PeerNotifications, null) : null, /* @__PURE__ */ React30.createElement(ReconnectNotifications, null), /* @__PURE__ */ React30.createElement(AutoplayBlockedModal, null), /* @__PURE__ */ React30.createElement(PermissionErrorModal, null), /* @__PURE__ */ React30.createElement(InitErrorModal, { notification }));
4374
+ return /* @__PURE__ */ React32.createElement(React32.Fragment, null, /* @__PURE__ */ React32.createElement(TrackUnmuteModal, null), /* @__PURE__ */ React32.createElement(TrackBulkUnmuteModal, null), /* @__PURE__ */ React32.createElement(TrackNotifications, null), roomState === HMSRoomState2.Connected ? /* @__PURE__ */ React32.createElement(PeerNotifications, null) : null, /* @__PURE__ */ React32.createElement(ReconnectNotifications, null), /* @__PURE__ */ React32.createElement(AutoplayBlockedModal, null), /* @__PURE__ */ React32.createElement(PermissionErrorModal, null), /* @__PURE__ */ React32.createElement(InitErrorModal, { notification }));
4298
4375
  }
4299
4376
 
4300
4377
  // src/Prebuilt/components/PostLeave.jsx
4301
- import React37 from "react";
4378
+ import React39 from "react";
4302
4379
  import { useNavigate as useNavigate3, useParams as useParams3 } from "react-router-dom";
4303
4380
  import { ExitIcon } from "@100mslive/react-icons";
4304
4381
 
4305
4382
  // src/Prebuilt/components/Header/Header.tsx
4306
- import React36 from "react";
4383
+ import React38 from "react";
4307
4384
  import { useMedia as useMedia3 } from "react-use";
4308
4385
  import { HMSRoomState as HMSRoomState4, selectRoomState as selectRoomState4, useHMSStore as useHMSStore16 } from "@100mslive/react-sdk";
4309
4386
 
4310
4387
  // src/Prebuilt/components/Header/HeaderComponents.jsx
4311
- import React31, { useEffect as useEffect17, useState as useState11 } from "react";
4388
+ import React33, { useEffect as useEffect18, useState as useState11 } from "react";
4312
4389
  import { selectDominantSpeaker, useHMSStore as useHMSStore8 } from "@100mslive/react-sdk";
4313
4390
  import { VolumeOneIcon } from "@100mslive/react-icons";
4314
4391
  var SpeakerTag = () => {
4315
4392
  const dominantSpeaker = useHMSStore8(selectDominantSpeaker);
4316
- return dominantSpeaker && dominantSpeaker.name && /* @__PURE__ */ React31.createElement(
4393
+ return dominantSpeaker && dominantSpeaker.name && /* @__PURE__ */ React33.createElement(
4317
4394
  Flex,
4318
4395
  {
4319
4396
  align: "center",
4320
4397
  justify: "center",
4321
4398
  css: { flex: "1 1 0", color: "$on_primary_high", "@md": { display: "none" } }
4322
4399
  },
4323
- /* @__PURE__ */ React31.createElement(VerticalDivider, { css: { ml: "$8" } }),
4324
- /* @__PURE__ */ React31.createElement(VolumeOneIcon, null),
4325
- /* @__PURE__ */ React31.createElement(Text, { variant: "md", css: __spreadProps(__spreadValues({}, textEllipsis(200)), { ml: "$2" }), title: dominantSpeaker.name }, dominantSpeaker.name)
4400
+ /* @__PURE__ */ React33.createElement(VerticalDivider, { css: { ml: "$8" } }),
4401
+ /* @__PURE__ */ React33.createElement(VolumeOneIcon, null),
4402
+ /* @__PURE__ */ React33.createElement(Text, { variant: "md", css: __spreadProps(__spreadValues({}, textEllipsis(200)), { ml: "$2" }), title: dominantSpeaker.name }, dominantSpeaker.name)
4326
4403
  );
4327
4404
  };
4328
4405
  var LogoImg = styled("img", {
@@ -4338,12 +4415,12 @@ var Logo = () => {
4338
4415
  const roomLayout = useRoomLayout();
4339
4416
  const logo = (_a7 = roomLayout == null ? void 0 : roomLayout.logo) == null ? void 0 : _a7.url;
4340
4417
  const [hideImage, setHideImage] = useState11(false);
4341
- useEffect17(() => {
4418
+ useEffect18(() => {
4342
4419
  if (hideImage) {
4343
4420
  setHideImage(false);
4344
4421
  }
4345
4422
  }, [logo]);
4346
- return logo && !hideImage ? /* @__PURE__ */ React31.createElement(
4423
+ return logo && !hideImage ? /* @__PURE__ */ React33.createElement(
4347
4424
  LogoImg,
4348
4425
  {
4349
4426
  src: logo,
@@ -4357,7 +4434,7 @@ var Logo = () => {
4357
4434
  };
4358
4435
 
4359
4436
  // src/Prebuilt/components/Header/StreamActions.tsx
4360
- import React34, { useCallback as useCallback13, useEffect as useEffect19, useRef as useRef5, useState as useState13 } from "react";
4437
+ import React36, { useCallback as useCallback13, useEffect as useEffect20, useRef as useRef6, useState as useState13 } from "react";
4361
4438
  import { useMedia as useMedia2 } from "react-use";
4362
4439
  import {
4363
4440
  HMSRoomState as HMSRoomState3,
@@ -4372,7 +4449,7 @@ import {
4372
4449
  import { AlertTriangleIcon, CrossIcon as CrossIcon4, RecordIcon } from "@100mslive/react-icons";
4373
4450
 
4374
4451
  // src/Sheet/Sheet.tsx
4375
- import React32 from "react";
4452
+ import React34 from "react";
4376
4453
  import * as DialogPrimitive2 from "@radix-ui/react-dialog";
4377
4454
  var SheetRoot = styled(DialogPrimitive2.Root, {
4378
4455
  minHeight: "240px",
@@ -4446,10 +4523,10 @@ var StyledContent6 = styled(DialogPrimitive2.Content, {
4446
4523
  side: "bottom"
4447
4524
  }
4448
4525
  });
4449
- var SheetContent = React32.forwardRef(
4526
+ var SheetContent = React34.forwardRef(
4450
4527
  (_a7, forwardedRef) => {
4451
4528
  var _b7 = _a7, { children } = _b7, props = __objRest(_b7, ["children"]);
4452
- return /* @__PURE__ */ React32.createElement(Dialog.Portal, null, /* @__PURE__ */ React32.createElement(StyledOverlay, null), /* @__PURE__ */ React32.createElement(StyledContent6, __spreadProps(__spreadValues({}, props), { ref: forwardedRef }), children));
4529
+ return /* @__PURE__ */ React34.createElement(Dialog.Portal, null, /* @__PURE__ */ React34.createElement(StyledOverlay, null), /* @__PURE__ */ React34.createElement(StyledContent6, __spreadProps(__spreadValues({}, props), { ref: forwardedRef }), children));
4453
4530
  }
4454
4531
  );
4455
4532
  var SheetClose = Dialog.Close;
@@ -4469,7 +4546,7 @@ var Sheet = {
4469
4546
  };
4470
4547
 
4471
4548
  // src/Prebuilt/components/Header/AdditionalRoomState.jsx
4472
- import React33, { useState as useState12 } from "react";
4549
+ import React35, { useState as useState12 } from "react";
4473
4550
  import { selectLocalPeerID as selectLocalPeerID3, selectPeerSharingVideoPlaylist, useHMSStore as useHMSStore13, useScreenShare } from "@100mslive/react-sdk";
4474
4551
  import {
4475
4552
  AudioPlayerIcon,
@@ -4482,7 +4559,7 @@ import {
4482
4559
  } from "@100mslive/react-icons";
4483
4560
 
4484
4561
  // src/Prebuilt/plugins/whiteboard/useWhiteboardMetadata.js
4485
- import { useCallback as useCallback10, useEffect as useEffect18, useMemo as useMemo2 } from "react";
4562
+ import { useCallback as useCallback10, useEffect as useEffect19, useMemo as useMemo2 } from "react";
4486
4563
  import { selectLocalPeerID as selectLocalPeerID2, selectPeerByCondition, useHMSStore as useHMSStore10 } from "@100mslive/react-sdk";
4487
4564
 
4488
4565
  // src/Prebuilt/components/hooks/useMetadata.jsx
@@ -4493,12 +4570,12 @@ import {
4493
4570
  selectPeerMetadata,
4494
4571
  useHMSActions as useHMSActions9,
4495
4572
  useHMSStore as useHMSStore9,
4496
- useHMSVanillaStore as useHMSVanillaStore5
4573
+ useHMSVanillaStore as useHMSVanillaStore6
4497
4574
  } from "@100mslive/react-sdk";
4498
4575
  var useMyMetadata = () => {
4499
4576
  const hmsActions = useHMSActions9();
4500
4577
  const localPeerId = useHMSStore9(selectLocalPeerID);
4501
- const vanillaStore = useHMSVanillaStore5();
4578
+ const vanillaStore = useHMSVanillaStore6();
4502
4579
  const metaData = useHMSStore9(selectPeerMetadata(localPeerId));
4503
4580
  const isHandRaised = useHMSStore9(selectHasPeerHandRaised2(localPeerId));
4504
4581
  const update = (updatedFields) => __async(void 0, null, function* () {
@@ -4564,7 +4641,7 @@ var useWhiteboardMetadata = () => {
4564
4641
  console.error("failed to toggle whiteboard to ", !whiteboardOwner, error);
4565
4642
  }
4566
4643
  }), [whiteboardOwner, updateMetaData, amIWhiteboardOwner]);
4567
- useEffect18(() => {
4644
+ useEffect19(() => {
4568
4645
  window.toggleWhiteboard = toggleWhiteboard;
4569
4646
  }, [toggleWhiteboard]);
4570
4647
  return {
@@ -4678,7 +4755,7 @@ var AdditionalRoomState = () => {
4678
4755
  if (isPlaylistInactive && isAudioshareInactive && !shouldShowScreenShareState && !shouldShowVideoState && !whiteboardOwner) {
4679
4756
  return null;
4680
4757
  }
4681
- return /* @__PURE__ */ React33.createElement(Dropdown.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React33.createElement(Dropdown.Trigger, { asChild: true }, /* @__PURE__ */ React33.createElement(
4758
+ return /* @__PURE__ */ React35.createElement(Dropdown.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React35.createElement(Dropdown.Trigger, { asChild: true }, /* @__PURE__ */ React35.createElement(
4682
4759
  Flex,
4683
4760
  {
4684
4761
  align: "center",
@@ -4691,13 +4768,13 @@ var AdditionalRoomState = () => {
4691
4768
  },
4692
4769
  "data-testid": "record_status_dropdown"
4693
4770
  },
4694
- !isAudioshareInactive && /* @__PURE__ */ React33.createElement(Tooltip, { title: "Screenshare Audio" }, /* @__PURE__ */ React33.createElement(Flex, { align: "center", css: { color: "$on_primary_high", mx: "$2" } }, /* @__PURE__ */ React33.createElement(MusicIcon, { width: 24, height: 24 }))),
4695
- shouldShowScreenShareState && /* @__PURE__ */ React33.createElement(Tooltip, { title: "Screenshare" }, /* @__PURE__ */ React33.createElement(Flex, { align: "center", css: { color: "$on_primary_high", mx: "$2" } }, /* @__PURE__ */ React33.createElement(ShareScreenIcon, { width: 24, height: 24 }))),
4696
- shouldShowVideoState && /* @__PURE__ */ React33.createElement(Tooltip, { title: "video playlist" }, /* @__PURE__ */ React33.createElement(Flex, { align: "center", css: { color: "$on_primary_high", mx: "$2" } }, /* @__PURE__ */ React33.createElement(VideoPlayerIcon, { width: 24, height: 24 }))),
4697
- !isPlaylistInactive && /* @__PURE__ */ React33.createElement(Tooltip, { title: "Playlist Music" }, /* @__PURE__ */ React33.createElement(Flex, { align: "center", css: { color: "$on_primary_high", mx: "$2" } }, /* @__PURE__ */ React33.createElement(AudioPlayerIcon, { width: 24, height: 24 }))),
4698
- whiteboardOwner && /* @__PURE__ */ React33.createElement(Tooltip, { title: "Whiteboard" }, /* @__PURE__ */ React33.createElement(Flex, { align: "center", css: { color: "$on_primary_high", mx: "$2" } }, /* @__PURE__ */ React33.createElement(PencilDrawIcon, { width: 24, height: 24 }))),
4699
- /* @__PURE__ */ React33.createElement(Box, { css: { "@lg": { display: "none" }, color: "$on_surface_low" } }, open ? /* @__PURE__ */ React33.createElement(ChevronUpIcon2, null) : /* @__PURE__ */ React33.createElement(ChevronDownIcon2, null))
4700
- )), /* @__PURE__ */ React33.createElement(Dropdown.Content, { sideOffset: 5, align: "end", css: { w: "$60" } }, !isPlaylistInactive && /* @__PURE__ */ React33.createElement(Dropdown.Item, { css: { color: "$on_primary_high" } }, /* @__PURE__ */ React33.createElement(AudioPlayerIcon, { width: 24, height: 24 }), /* @__PURE__ */ React33.createElement(Text, { variant: "sm", css: { ml: "$2", flex: "1 1 0" } }, "Playlist is playing"), playlist.peer.isLocal ? /* @__PURE__ */ React33.createElement(
4771
+ !isAudioshareInactive && /* @__PURE__ */ React35.createElement(Tooltip, { title: "Screenshare Audio" }, /* @__PURE__ */ React35.createElement(Flex, { align: "center", css: { color: "$on_primary_high", mx: "$2" } }, /* @__PURE__ */ React35.createElement(MusicIcon, { width: 24, height: 24 }))),
4772
+ shouldShowScreenShareState && /* @__PURE__ */ React35.createElement(Tooltip, { title: "Screenshare" }, /* @__PURE__ */ React35.createElement(Flex, { align: "center", css: { color: "$on_primary_high", mx: "$2" } }, /* @__PURE__ */ React35.createElement(ShareScreenIcon, { width: 24, height: 24 }))),
4773
+ shouldShowVideoState && /* @__PURE__ */ React35.createElement(Tooltip, { title: "video playlist" }, /* @__PURE__ */ React35.createElement(Flex, { align: "center", css: { color: "$on_primary_high", mx: "$2" } }, /* @__PURE__ */ React35.createElement(VideoPlayerIcon, { width: 24, height: 24 }))),
4774
+ !isPlaylistInactive && /* @__PURE__ */ React35.createElement(Tooltip, { title: "Playlist Music" }, /* @__PURE__ */ React35.createElement(Flex, { align: "center", css: { color: "$on_primary_high", mx: "$2" } }, /* @__PURE__ */ React35.createElement(AudioPlayerIcon, { width: 24, height: 24 }))),
4775
+ whiteboardOwner && /* @__PURE__ */ React35.createElement(Tooltip, { title: "Whiteboard" }, /* @__PURE__ */ React35.createElement(Flex, { align: "center", css: { color: "$on_primary_high", mx: "$2" } }, /* @__PURE__ */ React35.createElement(PencilDrawIcon, { width: 24, height: 24 }))),
4776
+ /* @__PURE__ */ React35.createElement(Box, { css: { "@lg": { display: "none" }, color: "$on_surface_low" } }, open ? /* @__PURE__ */ React35.createElement(ChevronUpIcon2, null) : /* @__PURE__ */ React35.createElement(ChevronDownIcon2, null))
4777
+ )), /* @__PURE__ */ React35.createElement(Dropdown.Content, { sideOffset: 5, align: "end", css: { w: "$60" } }, !isPlaylistInactive && /* @__PURE__ */ React35.createElement(Dropdown.Item, { css: { color: "$on_primary_high" } }, /* @__PURE__ */ React35.createElement(AudioPlayerIcon, { width: 24, height: 24 }), /* @__PURE__ */ React35.createElement(Text, { variant: "sm", css: { ml: "$2", flex: "1 1 0" } }, "Playlist is playing"), playlist.peer.isLocal ? /* @__PURE__ */ React35.createElement(
4701
4778
  Text,
4702
4779
  {
4703
4780
  variant: "sm",
@@ -4708,7 +4785,7 @@ var AdditionalRoomState = () => {
4708
4785
  }
4709
4786
  },
4710
4787
  playlist.selection.playing ? "Pause" : "Play"
4711
- ) : /* @__PURE__ */ React33.createElement(
4788
+ ) : /* @__PURE__ */ React35.createElement(
4712
4789
  Text,
4713
4790
  {
4714
4791
  variant: "sm",
@@ -4719,7 +4796,7 @@ var AdditionalRoomState = () => {
4719
4796
  }
4720
4797
  },
4721
4798
  playlist.track.volume === 0 ? "Unmute" : "Mute"
4722
- )), !isAudioshareInactive && /* @__PURE__ */ React33.createElement(Dropdown.Item, { css: { color: "$on_primary_high" } }, /* @__PURE__ */ React33.createElement(MusicIcon, { width: 24, height: 24 }), /* @__PURE__ */ React33.createElement(Text, { variant: "sm", css: { ml: "$2", flex: "1 1 0" } }, "Music is playing"), /* @__PURE__ */ React33.createElement(
4799
+ )), !isAudioshareInactive && /* @__PURE__ */ React35.createElement(Dropdown.Item, { css: { color: "$on_primary_high" } }, /* @__PURE__ */ React35.createElement(MusicIcon, { width: 24, height: 24 }), /* @__PURE__ */ React35.createElement(Text, { variant: "sm", css: { ml: "$2", flex: "1 1 0" } }, "Music is playing"), /* @__PURE__ */ React35.createElement(
4723
4800
  Text,
4724
4801
  {
4725
4802
  variant: "sm",
@@ -4730,7 +4807,7 @@ var AdditionalRoomState = () => {
4730
4807
  }
4731
4808
  },
4732
4809
  screenshareAudio.muted ? "Unmute" : "Mute"
4733
- )), shouldShowScreenShareState && /* @__PURE__ */ React33.createElement(Dropdown.Item, { css: { color: "$on_primary_high" } }, /* @__PURE__ */ React33.createElement(ShareScreenIcon, { width: 24, height: 24 }), /* @__PURE__ */ React33.createElement(Text, { variant: "sm", css: { ml: "$2", flex: "1 1 0" } }, `Shared by: ${screenSharingPeerId === localPeerID ? "You" : screenSharingPeerName}`)), shouldShowVideoState && /* @__PURE__ */ React33.createElement(Dropdown.Item, { css: { color: "$on_primary_high" } }, /* @__PURE__ */ React33.createElement(VideoPlayerIcon, { width: 24, height: 24 }), /* @__PURE__ */ React33.createElement(Text, { variant: "sm", css: { ml: "$2", flex: "1 1 0" } }, `Shared by: ${peerSharingPlaylist.id === localPeerID ? "You" : peerSharingPlaylist.name}`)), whiteboardOwner && /* @__PURE__ */ React33.createElement(Dropdown.Item, { css: { color: "$on_primary_high" } }, /* @__PURE__ */ React33.createElement(PencilDrawIcon, { width: 24, height: 24 }), /* @__PURE__ */ React33.createElement(Text, { variant: "sm", css: { ml: "$2", flex: "1 1 0" } }, "Whiteboard Owner - ", whiteboardOwner.name, amIWhiteboardOwner && "(You)"), amIWhiteboardOwner && /* @__PURE__ */ React33.createElement(
4810
+ )), shouldShowScreenShareState && /* @__PURE__ */ React35.createElement(Dropdown.Item, { css: { color: "$on_primary_high" } }, /* @__PURE__ */ React35.createElement(ShareScreenIcon, { width: 24, height: 24 }), /* @__PURE__ */ React35.createElement(Text, { variant: "sm", css: { ml: "$2", flex: "1 1 0" } }, `Shared by: ${screenSharingPeerId === localPeerID ? "You" : screenSharingPeerName}`)), shouldShowVideoState && /* @__PURE__ */ React35.createElement(Dropdown.Item, { css: { color: "$on_primary_high" } }, /* @__PURE__ */ React35.createElement(VideoPlayerIcon, { width: 24, height: 24 }), /* @__PURE__ */ React35.createElement(Text, { variant: "sm", css: { ml: "$2", flex: "1 1 0" } }, `Shared by: ${peerSharingPlaylist.id === localPeerID ? "You" : peerSharingPlaylist.name}`)), whiteboardOwner && /* @__PURE__ */ React35.createElement(Dropdown.Item, { css: { color: "$on_primary_high" } }, /* @__PURE__ */ React35.createElement(PencilDrawIcon, { width: 24, height: 24 }), /* @__PURE__ */ React35.createElement(Text, { variant: "sm", css: { ml: "$2", flex: "1 1 0" } }, "Whiteboard Owner - ", whiteboardOwner.name, amIWhiteboardOwner && "(You)"), amIWhiteboardOwner && /* @__PURE__ */ React35.createElement(
4734
4811
  Text,
4735
4812
  {
4736
4813
  variant: "sm",
@@ -4750,7 +4827,7 @@ var LiveStatus = () => {
4750
4827
  const { isHLSRunning, isRTMPRunning } = useRecordingStreaming2();
4751
4828
  const hlsState = useHMSStore14(selectHLSState2);
4752
4829
  const isMobile = useMedia2(config.media.md);
4753
- const intervalRef = useRef5(null);
4830
+ const intervalRef = useRef6(null);
4754
4831
  const [liveTime, setLiveTime] = useState13(0);
4755
4832
  const startTimer = useCallback13(() => {
4756
4833
  intervalRef.current = setInterval(() => {
@@ -4760,7 +4837,7 @@ var LiveStatus = () => {
4760
4837
  }
4761
4838
  }, 1e3);
4762
4839
  }, [hlsState == null ? void 0 : hlsState.running, hlsState == null ? void 0 : hlsState.variants]);
4763
- useEffect19(() => {
4840
+ useEffect20(() => {
4764
4841
  if (hlsState == null ? void 0 : hlsState.running) {
4765
4842
  startTimer();
4766
4843
  }
@@ -4776,7 +4853,7 @@ var LiveStatus = () => {
4776
4853
  if (!isHLSRunning && !isRTMPRunning) {
4777
4854
  return null;
4778
4855
  }
4779
- return /* @__PURE__ */ React34.createElement(
4856
+ return /* @__PURE__ */ React36.createElement(
4780
4857
  Flex,
4781
4858
  {
4782
4859
  align: "center",
@@ -4787,8 +4864,8 @@ var LiveStatus = () => {
4787
4864
  borderRadius: "$1"
4788
4865
  }
4789
4866
  },
4790
- /* @__PURE__ */ React34.createElement(Box, { css: { w: "$4", h: "$4", r: "$round", bg: "$alert_error_default", mr: "$2" } }),
4791
- /* @__PURE__ */ React34.createElement(Flex, { align: "center", gap: "2" }, /* @__PURE__ */ React34.createElement(Text, { variant: !isMobile ? "button" : "body2" }, "LIVE"), /* @__PURE__ */ React34.createElement(Text, { variant: "caption" }, ((_a7 = hlsState == null ? void 0 : hlsState.variants) == null ? void 0 : _a7.length) > 0 ? formatTime(liveTime) : ""))
4867
+ /* @__PURE__ */ React36.createElement(Box, { css: { w: "$4", h: "$4", r: "$round", bg: "$alert_error_default", mr: "$2" } }),
4868
+ /* @__PURE__ */ React36.createElement(Flex, { align: "center", gap: "2" }, /* @__PURE__ */ React36.createElement(Text, { variant: !isMobile ? "button" : "body2" }, "LIVE"), /* @__PURE__ */ React36.createElement(Text, { variant: "caption" }, ((_a7 = hlsState == null ? void 0 : hlsState.variants) == null ? void 0 : _a7.length) > 0 ? formatTime(liveTime) : ""))
4792
4869
  );
4793
4870
  };
4794
4871
  var RecordingStatus = () => {
@@ -4803,7 +4880,7 @@ var RecordingStatus = () => {
4803
4880
  if (!(isMobile && isRecordingOn))
4804
4881
  return null;
4805
4882
  }
4806
- return /* @__PURE__ */ React34.createElement(
4883
+ return /* @__PURE__ */ React36.createElement(
4807
4884
  Tooltip,
4808
4885
  {
4809
4886
  boxCss: { zIndex: 1 },
@@ -4813,7 +4890,7 @@ var RecordingStatus = () => {
4813
4890
  isHLSRecordingOn
4814
4891
  })
4815
4892
  },
4816
- /* @__PURE__ */ React34.createElement(
4893
+ /* @__PURE__ */ React36.createElement(
4817
4894
  Flex,
4818
4895
  {
4819
4896
  css: {
@@ -4821,7 +4898,7 @@ var RecordingStatus = () => {
4821
4898
  alignItems: "center"
4822
4899
  }
4823
4900
  },
4824
- /* @__PURE__ */ React34.createElement(RecordIcon, { width: 24, height: 24 })
4901
+ /* @__PURE__ */ React36.createElement(RecordIcon, { width: 24, height: 24 })
4825
4902
  )
4826
4903
  );
4827
4904
  };
@@ -4835,7 +4912,7 @@ var StartRecording = () => {
4835
4912
  return null;
4836
4913
  }
4837
4914
  if (isBrowserRecordingOn) {
4838
- return /* @__PURE__ */ React34.createElement(Popover2.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React34.createElement(Popover2.Trigger, { asChild: true }, /* @__PURE__ */ React34.createElement(Button, { variant: "danger", "data-testid": "stop_recording", icon: true, outlined: true, onClick: () => setOpen(true) }, /* @__PURE__ */ React34.createElement(RecordIcon, null), /* @__PURE__ */ React34.createElement(Text, { as: "span", css: { "@md": { display: "none" }, color: "currentColor" } }, "Stop Recording"))), /* @__PURE__ */ React34.createElement(Popover2.Portal, null, /* @__PURE__ */ React34.createElement(Popover2.Content, { align: "end", sideOffset: 8, css: { w: "$64" } }, /* @__PURE__ */ React34.createElement(Text, { variant: "body1", css: { color: "$on_surface_medium" } }, "Are you sure you want to end the recording?"), /* @__PURE__ */ React34.createElement(
4915
+ return /* @__PURE__ */ React36.createElement(Popover2.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React36.createElement(Popover2.Trigger, { asChild: true }, /* @__PURE__ */ React36.createElement(Button, { variant: "danger", "data-testid": "stop_recording", icon: true, outlined: true, onClick: () => setOpen(true) }, /* @__PURE__ */ React36.createElement(RecordIcon, null), /* @__PURE__ */ React36.createElement(Text, { as: "span", css: { "@md": { display: "none" }, color: "currentColor" } }, "Stop Recording"))), /* @__PURE__ */ React36.createElement(Popover2.Portal, null, /* @__PURE__ */ React36.createElement(Popover2.Content, { align: "end", sideOffset: 8, css: { w: "$64" } }, /* @__PURE__ */ React36.createElement(Text, { variant: "body1", css: { color: "$on_surface_medium" } }, "Are you sure you want to end the recording?"), /* @__PURE__ */ React36.createElement(
4839
4916
  Button,
4840
4917
  {
4841
4918
  "data-testid": "stop_recording_confirm",
@@ -4858,7 +4935,7 @@ var StartRecording = () => {
4858
4935
  "Stop"
4859
4936
  ))));
4860
4937
  }
4861
- return /* @__PURE__ */ React34.createElement(
4938
+ return /* @__PURE__ */ React36.createElement(
4862
4939
  Button,
4863
4940
  {
4864
4941
  "data-testid": "start_recording",
@@ -4888,21 +4965,21 @@ var StartRecording = () => {
4888
4965
  }
4889
4966
  })
4890
4967
  },
4891
- recordingStarted ? /* @__PURE__ */ React34.createElement(Loading, { size: 24, color: "currentColor" }) : /* @__PURE__ */ React34.createElement(RecordIcon, null),
4892
- /* @__PURE__ */ React34.createElement(Text, { as: "span", css: { "@md": { display: "none" }, color: "currentColor" } }, recordingStarted ? "Starting" : "Start", " Recording")
4968
+ recordingStarted ? /* @__PURE__ */ React36.createElement(Loading, { size: 24, color: "currentColor" }) : /* @__PURE__ */ React36.createElement(RecordIcon, null),
4969
+ /* @__PURE__ */ React36.createElement(Text, { as: "span", css: { "@md": { display: "none" }, color: "currentColor" } }, recordingStarted ? "Starting" : "Start", " Recording")
4893
4970
  );
4894
4971
  };
4895
4972
  var StreamActions = () => {
4896
4973
  const isConnected = useHMSStore14(selectIsConnectedToRoom2);
4897
4974
  const isMobile = useMedia2(config.media.md);
4898
4975
  const roomState = useHMSStore14(selectRoomState3);
4899
- return /* @__PURE__ */ React34.createElement(Flex, { align: "center", css: { gap: "$4" } }, /* @__PURE__ */ React34.createElement(AdditionalRoomState, null), !isMobile && /* @__PURE__ */ React34.createElement(Flex, { align: "center", css: { gap: "$4" } }, /* @__PURE__ */ React34.createElement(RecordingStatus, null), roomState !== HMSRoomState3.Preview ? /* @__PURE__ */ React34.createElement(LiveStatus, null) : null), isConnected && !isMobile ? /* @__PURE__ */ React34.createElement(StartRecording, null) : null);
4976
+ return /* @__PURE__ */ React36.createElement(Flex, { align: "center", css: { gap: "$4" } }, /* @__PURE__ */ React36.createElement(AdditionalRoomState, null), !isMobile && /* @__PURE__ */ React36.createElement(Flex, { align: "center", css: { gap: "$4" } }, /* @__PURE__ */ React36.createElement(RecordingStatus, null), roomState !== HMSRoomState3.Preview ? /* @__PURE__ */ React36.createElement(LiveStatus, null) : null), isConnected && !isMobile ? /* @__PURE__ */ React36.createElement(StartRecording, null) : null);
4900
4977
  };
4901
4978
  var StopRecordingInSheet = ({
4902
4979
  onStopRecording,
4903
4980
  onClose
4904
4981
  }) => {
4905
- return /* @__PURE__ */ React34.createElement(Sheet.Root, { open: true }, /* @__PURE__ */ React34.createElement(Sheet.Content, null, /* @__PURE__ */ React34.createElement(Sheet.Title, { css: { p: "$10" } }, /* @__PURE__ */ React34.createElement(Flex, { direction: "row", justify: "between", css: { w: "100%", c: "$alert_error_default" } }, /* @__PURE__ */ React34.createElement(Flex, { justify: "start", align: "center", gap: "3" }, /* @__PURE__ */ React34.createElement(AlertTriangleIcon, null), /* @__PURE__ */ React34.createElement(Text, { variant: "h5", css: { c: "$alert_error_default" } }, "Stop Recording")), /* @__PURE__ */ React34.createElement(Sheet.Close, { css: { color: "white" }, onClick: onClose }, /* @__PURE__ */ React34.createElement(CrossIcon4, null)))), /* @__PURE__ */ React34.createElement(HorizontalDivider, null), /* @__PURE__ */ React34.createElement(Box, { as: "div", css: { p: "$10", overflowY: "scroll", maxHeight: "70vh" } }, /* @__PURE__ */ React34.createElement(Text, { variant: "caption", css: { c: "$on_surface_medium", pb: "$8" } }, "Are you sure you want to stop recording? You can\u2019t undo this action."), /* @__PURE__ */ React34.createElement(
4982
+ return /* @__PURE__ */ React36.createElement(Sheet.Root, { open: true }, /* @__PURE__ */ React36.createElement(Sheet.Content, null, /* @__PURE__ */ React36.createElement(Sheet.Title, { css: { p: "$10" } }, /* @__PURE__ */ React36.createElement(Flex, { direction: "row", justify: "between", css: { w: "100%", c: "$alert_error_default" } }, /* @__PURE__ */ React36.createElement(Flex, { justify: "start", align: "center", gap: "3" }, /* @__PURE__ */ React36.createElement(AlertTriangleIcon, null), /* @__PURE__ */ React36.createElement(Text, { variant: "h5", css: { c: "$alert_error_default" } }, "Stop Recording")), /* @__PURE__ */ React36.createElement(Sheet.Close, { css: { color: "white" }, onClick: onClose }, /* @__PURE__ */ React36.createElement(CrossIcon4, null)))), /* @__PURE__ */ React36.createElement(HorizontalDivider, null), /* @__PURE__ */ React36.createElement(Box, { as: "div", css: { p: "$10", overflowY: "scroll", maxHeight: "70vh" } }, /* @__PURE__ */ React36.createElement(Text, { variant: "caption", css: { c: "$on_surface_medium", pb: "$8" } }, "Are you sure you want to stop recording? You can\u2019t undo this action."), /* @__PURE__ */ React36.createElement(
4906
4983
  Button,
4907
4984
  {
4908
4985
  variant: "danger",
@@ -4916,7 +4993,7 @@ var StopRecordingInSheet = ({
4916
4993
  };
4917
4994
 
4918
4995
  // src/Prebuilt/components/Header/common.jsx
4919
- import React35 from "react";
4996
+ import React37 from "react";
4920
4997
  import {
4921
4998
  DeviceType,
4922
4999
  selectIsLocalVideoEnabled as selectIsLocalVideoEnabled2,
@@ -4937,7 +5014,7 @@ var CamaraFlipActions = () => {
4937
5014
  if (!videoInput || !(videoInput == null ? void 0 : videoInput.length) || !(localVideoTrack == null ? void 0 : localVideoTrack.facingMode)) {
4938
5015
  return null;
4939
5016
  }
4940
- return /* @__PURE__ */ React35.createElement(Box, null, /* @__PURE__ */ React35.createElement(
5017
+ return /* @__PURE__ */ React37.createElement(Box, null, /* @__PURE__ */ React37.createElement(
4941
5018
  IconButton_default,
4942
5019
  {
4943
5020
  disabled: !isVideoOn,
@@ -4952,7 +5029,7 @@ var CamaraFlipActions = () => {
4952
5029
  }
4953
5030
  })
4954
5031
  },
4955
- /* @__PURE__ */ React35.createElement(CameraFlipIcon, null)
5032
+ /* @__PURE__ */ React37.createElement(CameraFlipIcon, null)
4956
5033
  ));
4957
5034
  };
4958
5035
  var AudioOutputActions = () => {
@@ -4964,7 +5041,7 @@ var AudioOutputActions = () => {
4964
5041
  if (!shouldShowAudioOutput || !(audioOutputFiltered == null ? void 0 : audioOutputFiltered.length) > 0) {
4965
5042
  return null;
4966
5043
  }
4967
- return /* @__PURE__ */ React35.createElement(
5044
+ return /* @__PURE__ */ React37.createElement(
4968
5045
  AudioOutputSelectionSheet,
4969
5046
  {
4970
5047
  outputDevices: audioOutput,
@@ -4983,11 +5060,11 @@ var AudioOutputActions = () => {
4983
5060
  }
4984
5061
  })
4985
5062
  },
4986
- /* @__PURE__ */ React35.createElement(Box, null, /* @__PURE__ */ React35.createElement(IconButton_default, null, /* @__PURE__ */ React35.createElement(SpeakerIcon, null)))
5063
+ /* @__PURE__ */ React37.createElement(Box, null, /* @__PURE__ */ React37.createElement(IconButton_default, null, /* @__PURE__ */ React37.createElement(SpeakerIcon, null)))
4987
5064
  );
4988
5065
  };
4989
5066
  var AudioOutputSelectionSheet = ({ outputDevices, outputSelected, onChange, children }) => {
4990
- return /* @__PURE__ */ React35.createElement(Sheet.Root, null, /* @__PURE__ */ React35.createElement(Sheet.Trigger, { asChild: true }, children), /* @__PURE__ */ React35.createElement(Sheet.Content, null, /* @__PURE__ */ React35.createElement(Sheet.Title, { css: { py: "$10", px: "$8", alignItems: "center" } }, /* @__PURE__ */ React35.createElement(Flex, { direction: "row", justify: "between", css: { w: "100%" } }, /* @__PURE__ */ React35.createElement(Text, { variant: "h6", css: { display: "flex" } }, "Audio Output"), /* @__PURE__ */ React35.createElement(Sheet.Close, null, /* @__PURE__ */ React35.createElement(IconButton_default, { as: "div", "data-testid": "dialog_cross_icon" }, /* @__PURE__ */ React35.createElement(CrossIcon5, null))))), /* @__PURE__ */ React35.createElement(HorizontalDivider, null), /* @__PURE__ */ React35.createElement(
5067
+ return /* @__PURE__ */ React37.createElement(Sheet.Root, null, /* @__PURE__ */ React37.createElement(Sheet.Trigger, { asChild: true }, children), /* @__PURE__ */ React37.createElement(Sheet.Content, null, /* @__PURE__ */ React37.createElement(Sheet.Title, { css: { py: "$10", px: "$8", alignItems: "center" } }, /* @__PURE__ */ React37.createElement(Flex, { direction: "row", justify: "between", css: { w: "100%" } }, /* @__PURE__ */ React37.createElement(Text, { variant: "h6", css: { display: "flex" } }, "Audio Output"), /* @__PURE__ */ React37.createElement(Sheet.Close, null, /* @__PURE__ */ React37.createElement(IconButton_default, { as: "div", "data-testid": "dialog_cross_icon" }, /* @__PURE__ */ React37.createElement(CrossIcon5, null))))), /* @__PURE__ */ React37.createElement(HorizontalDivider, null), /* @__PURE__ */ React37.createElement(
4991
5068
  Flex,
4992
5069
  {
4993
5070
  direction: "column",
@@ -4998,7 +5075,7 @@ var AudioOutputSelectionSheet = ({ outputDevices, outputSelected, onChange, chil
4998
5075
  }
4999
5076
  },
5000
5077
  outputDevices.map((audioDevice) => {
5001
- return /* @__PURE__ */ React35.createElement(
5078
+ return /* @__PURE__ */ React37.createElement(
5002
5079
  SelectWithLabel,
5003
5080
  {
5004
5081
  key: audioDevice.deviceId,
@@ -5011,8 +5088,8 @@ var AudioOutputSelectionSheet = ({ outputDevices, outputSelected, onChange, chil
5011
5088
  })
5012
5089
  )));
5013
5090
  };
5014
- var SelectWithLabel = ({ label, icon = /* @__PURE__ */ React35.createElement(React35.Fragment, null), checked, id, onChange }) => {
5015
- return /* @__PURE__ */ React35.createElement(
5091
+ var SelectWithLabel = ({ label, icon = /* @__PURE__ */ React37.createElement(React37.Fragment, null), checked, id, onChange }) => {
5092
+ return /* @__PURE__ */ React37.createElement(
5016
5093
  Flex,
5017
5094
  {
5018
5095
  align: "center",
@@ -5024,7 +5101,7 @@ var SelectWithLabel = ({ label, icon = /* @__PURE__ */ React35.createElement(Rea
5024
5101
  },
5025
5102
  onClick: onChange
5026
5103
  },
5027
- /* @__PURE__ */ React35.createElement(
5104
+ /* @__PURE__ */ React37.createElement(
5028
5105
  Label3,
5029
5106
  {
5030
5107
  htmlFor: id,
@@ -5042,7 +5119,7 @@ var SelectWithLabel = ({ label, icon = /* @__PURE__ */ React35.createElement(Rea
5042
5119
  icon,
5043
5120
  label
5044
5121
  ),
5045
- checked && /* @__PURE__ */ React35.createElement(CheckIcon2, { width: 24, height: 24 })
5122
+ checked && /* @__PURE__ */ React37.createElement(CheckIcon2, { width: 24, height: 24 })
5046
5123
  );
5047
5124
  };
5048
5125
 
@@ -5051,9 +5128,9 @@ var Header2 = () => {
5051
5128
  const roomState = useHMSStore16(selectRoomState4);
5052
5129
  const isMobile = useMedia3(config.media.md);
5053
5130
  if (roomState !== HMSRoomState4.Connected) {
5054
- return /* @__PURE__ */ React36.createElement(React36.Fragment, null);
5131
+ return /* @__PURE__ */ React38.createElement(React38.Fragment, null);
5055
5132
  }
5056
- return /* @__PURE__ */ React36.createElement(Flex, { justify: "between", align: "center", css: { position: "relative", height: "100%" } }, /* @__PURE__ */ React36.createElement(Flex, { align: "center", gap: "2", css: { position: "absolute", left: "$10" } }, /* @__PURE__ */ React36.createElement(Logo, null), /* @__PURE__ */ React36.createElement(SpeakerTag, null), isMobile && /* @__PURE__ */ React36.createElement(Flex, { align: "center", css: { gap: "$4" } }, /* @__PURE__ */ React36.createElement(LiveStatus, null), /* @__PURE__ */ React36.createElement(RecordingStatus, null))), /* @__PURE__ */ React36.createElement(
5133
+ return /* @__PURE__ */ React38.createElement(Flex, { justify: "between", align: "center", css: { position: "relative", height: "100%" } }, /* @__PURE__ */ React38.createElement(Flex, { align: "center", gap: "2", css: { position: "absolute", left: "$10" } }, /* @__PURE__ */ React38.createElement(Logo, null), /* @__PURE__ */ React38.createElement(SpeakerTag, null), isMobile && /* @__PURE__ */ React38.createElement(Flex, { align: "center", css: { gap: "$4" } }, /* @__PURE__ */ React38.createElement(LiveStatus, null), /* @__PURE__ */ React38.createElement(RecordingStatus, null))), /* @__PURE__ */ React38.createElement(
5057
5134
  Flex,
5058
5135
  {
5059
5136
  align: "center",
@@ -5063,8 +5140,8 @@ var Header2 = () => {
5063
5140
  gap: "$4"
5064
5141
  }
5065
5142
  },
5066
- /* @__PURE__ */ React36.createElement(StreamActions, null),
5067
- isMobile ? /* @__PURE__ */ React36.createElement(React36.Fragment, null, /* @__PURE__ */ React36.createElement(CamaraFlipActions, null), /* @__PURE__ */ React36.createElement(AudioOutputActions, null)) : null
5143
+ /* @__PURE__ */ React38.createElement(StreamActions, null),
5144
+ isMobile ? /* @__PURE__ */ React38.createElement(React38.Fragment, null, /* @__PURE__ */ React38.createElement(CamaraFlipActions, null), /* @__PURE__ */ React38.createElement(AudioOutputActions, null)) : null
5068
5145
  ));
5069
5146
  };
5070
5147
 
@@ -5075,7 +5152,7 @@ var PostLeave = () => {
5075
5152
  const { roomCode } = useHMSPrebuiltContext();
5076
5153
  const { roomId, role } = useParams3();
5077
5154
  const [previewPreference] = useUserPreferences(UserPreferencesKeys.PREVIEW, defaultPreviewPreference);
5078
- return /* @__PURE__ */ React37.createElement(Flex, { direction: "column", css: { size: "100%" } }, /* @__PURE__ */ React37.createElement(Box, { css: { h: "$18", "@md": { h: "$17" } }, "data-testid": "header" }, /* @__PURE__ */ React37.createElement(Header2, null)), /* @__PURE__ */ React37.createElement(
5155
+ return /* @__PURE__ */ React39.createElement(Flex, { direction: "column", css: { size: "100%" } }, /* @__PURE__ */ React39.createElement(Box, { css: { h: "$18", "@md": { h: "$17" } }, "data-testid": "header" }, /* @__PURE__ */ React39.createElement(Header2, null)), /* @__PURE__ */ React39.createElement(
5079
5156
  Flex,
5080
5157
  {
5081
5158
  justify: "center",
@@ -5083,9 +5160,9 @@ var PostLeave = () => {
5083
5160
  align: "center",
5084
5161
  css: { bg: "$background_dim", flex: "1 1 0", position: "relative" }
5085
5162
  },
5086
- /* @__PURE__ */ React37.createElement(Text, { variant: "h2", css: { fontWeight: "$semiBold" } }, "\u{1F44B}"),
5087
- /* @__PURE__ */ React37.createElement(Text, { variant: "h4", css: { color: "$on_surface_high", fontWeight: "$semiBold", mt: "$12" } }, "You left the room"),
5088
- /* @__PURE__ */ React37.createElement(
5163
+ /* @__PURE__ */ React39.createElement(Text, { variant: "h2", css: { fontWeight: "$semiBold" } }, "\u{1F44B}"),
5164
+ /* @__PURE__ */ React39.createElement(Text, { variant: "h4", css: { color: "$on_surface_high", fontWeight: "$semiBold", mt: "$12" } }, "You left the room"),
5165
+ /* @__PURE__ */ React39.createElement(
5089
5166
  Text,
5090
5167
  {
5091
5168
  variant: "body1",
@@ -5097,10 +5174,10 @@ var PostLeave = () => {
5097
5174
  }
5098
5175
  },
5099
5176
  "Have a nice day",
5100
- previewPreference.name && /* @__PURE__ */ React37.createElement(Box, { as: "span", css: __spreadValues({}, textEllipsis(100)) }, ", ", previewPreference.name),
5177
+ previewPreference.name && /* @__PURE__ */ React39.createElement(Box, { as: "span", css: __spreadValues({}, textEllipsis(100)) }, ", ", previewPreference.name),
5101
5178
  "!"
5102
5179
  ),
5103
- /* @__PURE__ */ React37.createElement(Flex, { css: { mt: "$14", gap: "$10", alignItems: "center" } }, /* @__PURE__ */ React37.createElement(Text, { variant: "body1", css: { color: "$on_surface_medium", fontWeight: "$regular" } }, "Left by mistake?"), /* @__PURE__ */ React37.createElement(
5180
+ /* @__PURE__ */ React39.createElement(Flex, { css: { mt: "$14", gap: "$10", alignItems: "center" } }, /* @__PURE__ */ React39.createElement(Text, { variant: "body1", css: { color: "$on_surface_medium", fontWeight: "$regular" } }, "Left by mistake?"), /* @__PURE__ */ React39.createElement(
5104
5181
  Button,
5105
5182
  {
5106
5183
  onClick: () => {
@@ -5112,37 +5189,37 @@ var PostLeave = () => {
5112
5189
  },
5113
5190
  "data-testid": "join_again_btn"
5114
5191
  },
5115
- /* @__PURE__ */ React37.createElement(ExitIcon, null),
5116
- /* @__PURE__ */ React37.createElement(Text, { css: { ml: "$3", fontWeight: "$semiBold", color: "inherit" } }, "Rejoin")
5192
+ /* @__PURE__ */ React39.createElement(ExitIcon, null),
5193
+ /* @__PURE__ */ React39.createElement(Text, { css: { ml: "$3", fontWeight: "$semiBold", color: "inherit" } }, "Rejoin")
5117
5194
  ))
5118
5195
  ));
5119
5196
  };
5120
5197
  var PostLeave_default = PostLeave;
5121
5198
 
5122
5199
  // src/Prebuilt/components/Preview/PreviewContainer.tsx
5123
- import React56 from "react";
5200
+ import React53 from "react";
5124
5201
  import { useNavigate as useNavigate4, useParams as useParams4 } from "react-router-dom";
5125
5202
  import { useSearchParam } from "react-use";
5126
5203
 
5127
5204
  // src/Prebuilt/components/Preview/PreviewJoin.tsx
5128
- import React55, { Fragment as Fragment6, Suspense, useCallback as useCallback17, useEffect as useEffect24, useState as useState19 } from "react";
5129
- import { useMedia as useMedia10 } from "react-use";
5205
+ import React52, { Fragment as Fragment4, Suspense, useCallback as useCallback16, useEffect as useEffect23, useState as useState16 } from "react";
5206
+ import { useMedia as useMedia6 } from "react-use";
5130
5207
  import {
5131
5208
  HMSRoomState as HMSRoomState6,
5132
5209
  selectIsLocalVideoEnabled as selectIsLocalVideoEnabled5,
5133
5210
  selectLocalPeer,
5134
5211
  selectRoomState as selectRoomState6,
5135
- selectVideoTrackByID as selectVideoTrackByID5,
5212
+ selectVideoTrackByID as selectVideoTrackByID4,
5136
5213
  useAVToggle as useAVToggle2,
5137
- useHMSStore as useHMSStore25,
5214
+ useHMSStore as useHMSStore21,
5138
5215
  useParticipants,
5139
5216
  usePreviewJoin,
5140
5217
  useRecordingStreaming as useRecordingStreaming4
5141
5218
  } from "@100mslive/react-sdk";
5142
- import { MicOffIcon as MicOffIcon4, SettingsIcon as SettingsIcon2 } from "@100mslive/react-icons";
5219
+ import { MicOffIcon as MicOffIcon2, SettingsIcon as SettingsIcon2 } from "@100mslive/react-icons";
5143
5220
 
5144
5221
  // src/Prebuilt/components/AudioVideoToggle.jsx
5145
- import React39, { Fragment as Fragment2 } from "react";
5222
+ import React41, { Fragment as Fragment2 } from "react";
5146
5223
  import {
5147
5224
  DeviceType as DeviceType2,
5148
5225
  HMSRoomState as HMSRoomState5,
@@ -5157,7 +5234,7 @@ import {
5157
5234
  import { CameraFlipIcon as CameraFlipIcon2, MicOffIcon, MicOnIcon as MicOnIcon3, VideoOffIcon, VideoOnIcon } from "@100mslive/react-icons";
5158
5235
 
5159
5236
  // src/Prebuilt/components/IconButtonWithOptions/IconButtonWithOptions.jsx
5160
- import React38 from "react";
5237
+ import React40 from "react";
5161
5238
  import { VerticalMenuIcon } from "@100mslive/react-icons";
5162
5239
  var IconSection = styled(IconButton_default, {
5163
5240
  w: "unset",
@@ -5209,7 +5286,7 @@ var IconButtonWithOptions = ({
5209
5286
  }) => {
5210
5287
  const bgCss = { backgroundColor: disabled ? "$surface_brighter" : active ? "$transparent" : "$secondary_dim" };
5211
5288
  const iconCss = { color: disabled ? "$on_surface_low" : active ? "$on_surface_high" : "$on_primary_high" };
5212
- return /* @__PURE__ */ React38.createElement(Flex, null, /* @__PURE__ */ React38.createElement(IconSection, { css: bgCss, onClick }, /* @__PURE__ */ React38.createElement(Tooltip, { disabled: !tooltipMessage, title: tooltipMessage }, /* @__PURE__ */ React38.createElement(Flex, { align: "center", justify: "center", css: iconCss }, icon))), /* @__PURE__ */ React38.createElement(Dropdown.Root, null, /* @__PURE__ */ React38.createElement(
5289
+ return /* @__PURE__ */ React40.createElement(Flex, null, /* @__PURE__ */ React40.createElement(IconSection, { css: bgCss, onClick }, /* @__PURE__ */ React40.createElement(Tooltip, { disabled: !tooltipMessage, title: tooltipMessage }, /* @__PURE__ */ React40.createElement(Flex, { align: "center", justify: "center", css: iconCss }, icon))), /* @__PURE__ */ React40.createElement(Dropdown.Root, null, /* @__PURE__ */ React40.createElement(
5213
5290
  Dropdown.Trigger,
5214
5291
  {
5215
5292
  asChild: true,
@@ -5220,8 +5297,8 @@ var IconButtonWithOptions = ({
5220
5297
  }
5221
5298
  }
5222
5299
  },
5223
- /* @__PURE__ */ React38.createElement(OptionsSection, { css: bgCss }, /* @__PURE__ */ React38.createElement(Tooltip, { title: "View Options" }, /* @__PURE__ */ React38.createElement(Box, { css: iconCss }, /* @__PURE__ */ React38.createElement(VerticalMenuIcon, null))))
5224
- ), /* @__PURE__ */ React38.createElement(
5300
+ /* @__PURE__ */ React40.createElement(OptionsSection, { css: bgCss }, /* @__PURE__ */ React40.createElement(Tooltip, { title: "View Options" }, /* @__PURE__ */ React40.createElement(Box, { css: iconCss }, /* @__PURE__ */ React40.createElement(VerticalMenuIcon, null))))
5301
+ ), /* @__PURE__ */ React40.createElement(
5225
5302
  Dropdown.Content,
5226
5303
  {
5227
5304
  sideOffset: 5,
@@ -5233,7 +5310,7 @@ var IconButtonWithOptions = ({
5233
5310
  border: "none"
5234
5311
  }
5235
5312
  },
5236
- options.map((option, index) => /* @__PURE__ */ React38.createElement(
5313
+ options.map((option, index) => /* @__PURE__ */ React40.createElement(
5237
5314
  Dropdown.Item,
5238
5315
  {
5239
5316
  key: option.title,
@@ -5260,7 +5337,7 @@ var AudioVideoToggle = ({ hideOptions = false }) => {
5260
5337
  const { videoInput, audioInput } = allDevices;
5261
5338
  const formattedVideoInputList = videoInput == null ? void 0 : videoInput.map((videoInput2) => ({
5262
5339
  active: selectedDeviceIDs.videoInput === videoInput2.deviceId,
5263
- content: /* @__PURE__ */ React39.createElement(
5340
+ content: /* @__PURE__ */ React41.createElement(
5264
5341
  Text,
5265
5342
  {
5266
5343
  variant: "sm",
@@ -5276,7 +5353,7 @@ var AudioVideoToggle = ({ hideOptions = false }) => {
5276
5353
  }));
5277
5354
  const formattedAudioInputList = audioInput == null ? void 0 : audioInput.map((audioInput2) => ({
5278
5355
  active: selectedDeviceIDs.audioInput === audioInput2.deviceId,
5279
- content: /* @__PURE__ */ React39.createElement(
5356
+ content: /* @__PURE__ */ React41.createElement(
5280
5357
  Text,
5281
5358
  {
5282
5359
  variant: "sm",
@@ -5297,7 +5374,7 @@ var AudioVideoToggle = ({ hideOptions = false }) => {
5297
5374
  const roomState = useHMSStore17(selectRoomState5);
5298
5375
  const hasAudioDevices = (audioInput == null ? void 0 : audioInput.length) > 0;
5299
5376
  const hasVideoDevices = (videoInput == null ? void 0 : videoInput.length) > 0;
5300
- return /* @__PURE__ */ React39.createElement(Fragment2, null, toggleAudio ? hideOptions || !hasAudioDevices ? /* @__PURE__ */ React39.createElement(Tooltip, { title: `Turn ${isLocalAudioEnabled ? "off" : "on"} audio (${isMacOS ? "\u2318" : "ctrl"} + d)` }, /* @__PURE__ */ React39.createElement(
5377
+ return /* @__PURE__ */ React41.createElement(Fragment2, null, toggleAudio ? hideOptions || !hasAudioDevices ? /* @__PURE__ */ React41.createElement(Tooltip, { title: `Turn ${isLocalAudioEnabled ? "off" : "on"} audio (${isMacOS ? "\u2318" : "ctrl"} + d)` }, /* @__PURE__ */ React41.createElement(
5301
5378
  IconButton_default,
5302
5379
  {
5303
5380
  active: isLocalAudioEnabled,
@@ -5307,20 +5384,20 @@ var AudioVideoToggle = ({ hideOptions = false }) => {
5307
5384
  "data-testid": "audio_btn",
5308
5385
  className: "__cancel-drag-event"
5309
5386
  },
5310
- !isLocalAudioEnabled ? /* @__PURE__ */ React39.createElement(MicOffIcon, { "data-testid": "audio_off_btn" }) : /* @__PURE__ */ React39.createElement(MicOnIcon3, { "data-testid": "audio_on_btn" })
5311
- )) : /* @__PURE__ */ React39.createElement(
5387
+ !isLocalAudioEnabled ? /* @__PURE__ */ React41.createElement(MicOffIcon, { "data-testid": "audio_off_btn" }) : /* @__PURE__ */ React41.createElement(MicOnIcon3, { "data-testid": "audio_on_btn" })
5388
+ )) : /* @__PURE__ */ React41.createElement(
5312
5389
  IconButtonWithOptions,
5313
5390
  {
5314
5391
  options: formattedAudioInputList,
5315
5392
  disabled: !toggleAudio,
5316
5393
  onDisabledClick: toggleAudio,
5317
5394
  tooltipMessage: `Turn ${isLocalAudioEnabled ? "off" : "on"} audio (${isMacOS ? "\u2318" : "ctrl"} + d)`,
5318
- icon: !isLocalAudioEnabled ? /* @__PURE__ */ React39.createElement(MicOffIcon, { "data-testid": "audio_off_btn" }) : /* @__PURE__ */ React39.createElement(MicOnIcon3, { "data-testid": "audio_on_btn" }),
5395
+ icon: !isLocalAudioEnabled ? /* @__PURE__ */ React41.createElement(MicOffIcon, { "data-testid": "audio_off_btn" }) : /* @__PURE__ */ React41.createElement(MicOnIcon3, { "data-testid": "audio_on_btn" }),
5319
5396
  active: isLocalAudioEnabled,
5320
5397
  onClick: toggleAudio,
5321
5398
  key: "toggleAudio"
5322
5399
  }
5323
- ) : null, toggleVideo ? hideOptions || !hasVideoDevices ? /* @__PURE__ */ React39.createElement(Tooltip, { title: `Turn ${isLocalVideoEnabled ? "off" : "on"} video (${isMacOS ? "\u2318" : "ctrl"} + e)` }, /* @__PURE__ */ React39.createElement(
5400
+ ) : null, toggleVideo ? hideOptions || !hasVideoDevices ? /* @__PURE__ */ React41.createElement(Tooltip, { title: `Turn ${isLocalVideoEnabled ? "off" : "on"} video (${isMacOS ? "\u2318" : "ctrl"} + e)` }, /* @__PURE__ */ React41.createElement(
5324
5401
  IconButton_default,
5325
5402
  {
5326
5403
  key: "toggleVideo",
@@ -5330,20 +5407,20 @@ var AudioVideoToggle = ({ hideOptions = false }) => {
5330
5407
  "data-testid": "video_btn",
5331
5408
  className: "__cancel-drag-event"
5332
5409
  },
5333
- !isLocalVideoEnabled ? /* @__PURE__ */ React39.createElement(VideoOffIcon, { "data-testid": "video_off_btn" }) : /* @__PURE__ */ React39.createElement(VideoOnIcon, { "data-testid": "video_on_btn" })
5334
- )) : /* @__PURE__ */ React39.createElement(
5410
+ !isLocalVideoEnabled ? /* @__PURE__ */ React41.createElement(VideoOffIcon, { "data-testid": "video_off_btn" }) : /* @__PURE__ */ React41.createElement(VideoOnIcon, { "data-testid": "video_on_btn" })
5411
+ )) : /* @__PURE__ */ React41.createElement(
5335
5412
  IconButtonWithOptions,
5336
5413
  {
5337
5414
  disabled: !toggleVideo,
5338
5415
  onDisabledClick: toggleVideo,
5339
5416
  options: formattedVideoInputList,
5340
5417
  tooltipMessage: `Turn ${isLocalVideoEnabled ? "off" : "on"} video (${isMacOS ? "\u2318" : "ctrl"} + e)`,
5341
- icon: !isLocalVideoEnabled ? /* @__PURE__ */ React39.createElement(VideoOffIcon, { "data-testid": "video_off_btn" }) : /* @__PURE__ */ React39.createElement(VideoOnIcon, { "data-testid": "video_on_btn" }),
5418
+ icon: !isLocalVideoEnabled ? /* @__PURE__ */ React41.createElement(VideoOffIcon, { "data-testid": "video_off_btn" }) : /* @__PURE__ */ React41.createElement(VideoOnIcon, { "data-testid": "video_on_btn" }),
5342
5419
  key: "toggleVideo",
5343
5420
  active: isLocalVideoEnabled,
5344
5421
  onClick: toggleVideo
5345
5422
  }
5346
- ) : null, (localVideoTrack == null ? void 0 : localVideoTrack.facingMode) && roomState === HMSRoomState5.Preview ? /* @__PURE__ */ React39.createElement(Tooltip, { title: "Switch Camera", key: "switchCamera" }, /* @__PURE__ */ React39.createElement(
5423
+ ) : null, (localVideoTrack == null ? void 0 : localVideoTrack.facingMode) && roomState === HMSRoomState5.Preview ? /* @__PURE__ */ React41.createElement(Tooltip, { title: "Switch Camera", key: "switchCamera" }, /* @__PURE__ */ React41.createElement(
5347
5424
  IconButton_default,
5348
5425
  {
5349
5426
  onClick: () => __async(void 0, null, function* () {
@@ -5357,32 +5434,34 @@ var AudioVideoToggle = ({ hideOptions = false }) => {
5357
5434
  }
5358
5435
  })
5359
5436
  },
5360
- /* @__PURE__ */ React39.createElement(CameraFlipIcon2, null)
5437
+ /* @__PURE__ */ React41.createElement(CameraFlipIcon2, null)
5361
5438
  )) : null);
5362
5439
  };
5363
5440
 
5364
- // src/Prebuilt/components/Chip.jsx
5365
- import React40 from "react";
5441
+ // src/Prebuilt/components/Chip.tsx
5442
+ import React42 from "react";
5366
5443
  var Chip = ({
5367
- icon = /* @__PURE__ */ React40.createElement(React40.Fragment, null),
5444
+ icon = /* @__PURE__ */ React42.createElement(React42.Fragment, null),
5368
5445
  content = "",
5369
5446
  backgroundColor = "$surface_default",
5370
5447
  textColor = "$on_surface_high",
5371
- hideIfNoContent = false
5448
+ hideIfNoContent = false,
5449
+ onClick,
5450
+ css: css2 = {}
5372
5451
  }) => {
5373
5452
  if (hideIfNoContent && !content) {
5374
- return;
5453
+ return null;
5375
5454
  }
5376
- return /* @__PURE__ */ React40.createElement(Flex, { align: "center", css: { backgroundColor, p: "$4 $6", borderRadius: "$4" } }, icon, /* @__PURE__ */ React40.createElement(Text, { variant: "sm", css: { fontWeight: "$semiBold", color: textColor, ml: "$2" } }, content));
5455
+ return /* @__PURE__ */ React42.createElement(Flex, { align: "center", css: __spreadValues({ backgroundColor, p: "$4 $6", borderRadius: "$4" }, css2), onClick: () => onClick == null ? void 0 : onClick() }, icon, /* @__PURE__ */ React42.createElement(Text, { variant: "sm", css: { fontWeight: "$semiBold", color: textColor, ml: "$2" } }, content));
5377
5456
  };
5378
5457
  var Chip_default = Chip;
5379
5458
 
5380
5459
  // src/Prebuilt/components/Connection/TileConnection.tsx
5381
- import React42 from "react";
5460
+ import React44 from "react";
5382
5461
  import { PinIcon, SpotlightIcon } from "@100mslive/react-icons";
5383
5462
 
5384
5463
  // src/Prebuilt/components/Connection/ConnectionIndicator.tsx
5385
- import React41 from "react";
5464
+ import React43 from "react";
5386
5465
  import { selectConnectionQualityByPeerID as selectConnectionQualityByPeerID2, useHMSStore as useHMSStore18 } from "@100mslive/react-sdk";
5387
5466
  import { PoorConnectivityIcon as PoorConnectivityIcon2 } from "@100mslive/react-icons";
5388
5467
 
@@ -5444,10 +5523,10 @@ var ConnectionIndicator = ({
5444
5523
  return null;
5445
5524
  }
5446
5525
  if (downlinkQuality === 0) {
5447
- return /* @__PURE__ */ React41.createElement(Tooltip, { title: getTooltipText(downlinkQuality) }, /* @__PURE__ */ React41.createElement(Wrapper, { isTile, css: { color: "#ED4C5A" }, "data-testid": "tile_network" }, /* @__PURE__ */ React41.createElement(PoorConnectivityIcon2, null)));
5526
+ return /* @__PURE__ */ React43.createElement(Tooltip, { title: getTooltipText(downlinkQuality) }, /* @__PURE__ */ React43.createElement(Wrapper, { isTile, css: { color: "#ED4C5A" }, "data-testid": "tile_network" }, /* @__PURE__ */ React43.createElement(PoorConnectivityIcon2, null)));
5448
5527
  }
5449
5528
  const size = isTile ? 12 : 16;
5450
- return /* @__PURE__ */ React41.createElement(Tooltip, { title: getTooltipText(downlinkQuality) }, /* @__PURE__ */ React41.createElement(Wrapper, { isTile, "data-testid": "tile_network", css: { backgroundColor: hideBg ? "" : "$surface_bright" } }, /* @__PURE__ */ React41.createElement(
5529
+ return /* @__PURE__ */ React43.createElement(Tooltip, { title: getTooltipText(downlinkQuality) }, /* @__PURE__ */ React43.createElement(Wrapper, { isTile, "data-testid": "tile_network", css: { backgroundColor: hideBg ? "" : "$surface_bright" } }, /* @__PURE__ */ React43.createElement(
5451
5530
  "svg",
5452
5531
  {
5453
5532
  width: size,
@@ -5462,7 +5541,7 @@ var ConnectionIndicator = ({
5462
5541
  strokeMiterlimit: 2
5463
5542
  }
5464
5543
  },
5465
- /* @__PURE__ */ React41.createElement(
5544
+ /* @__PURE__ */ React43.createElement(
5466
5545
  "path",
5467
5546
  {
5468
5547
  d: "M6.875 0c2.549.035 4.679.902 6.445 2.648.366.362.45.796.216 1.096-.239.306-.714.34-1.142.072a2.28 2.28 0 0 1-.341-.271C9.24.862 4.924.775 1.992 3.346c-.284.249-.594.419-.983.393-.272-.019-.49-.135-.613-.388-.125-.261-.05-.498.114-.713.073-.092.156-.177.245-.254C2.516.804 4.591.039 6.875 0Z",
@@ -5470,7 +5549,7 @@ var ConnectionIndicator = ({
5470
5549
  transform: "translate(-.333)"
5471
5550
  }
5472
5551
  ),
5473
- /* @__PURE__ */ React41.createElement(
5552
+ /* @__PURE__ */ React43.createElement(
5474
5553
  "path",
5475
5554
  {
5476
5555
  d: "M7.056 2.964c1.756.035 3.208.7 4.499 1.763.162.134.277.315.354.512.098.251.114.503-.075.72-.193.222-.452.259-.725.198-.293-.066-.518-.247-.738-.443a4.859 4.859 0 0 0-6.198-.26c-.166.127-.318.271-.475.409-.242.211-.513.343-.843.317-.43-.034-.679-.397-.561-.81.062-.211.181-.4.345-.546 1.265-1.162 2.733-1.836 4.417-1.86Z",
@@ -5478,14 +5557,14 @@ var ConnectionIndicator = ({
5478
5557
  transform: "translate(-.333)"
5479
5558
  }
5480
5559
  ),
5481
- /* @__PURE__ */ React41.createElement(
5560
+ /* @__PURE__ */ React43.createElement(
5482
5561
  "path",
5483
5562
  {
5484
5563
  d: "M7.384,6.052C8.293,6.068 9.157,6.449 9.783,7.108C10.005,7.339 10.157,7.6 10.07,7.942C9.959,8.377 9.435,8.581 9.071,8.243C7.935,7.191 6.356,7.183 5.152,8.183C4.816,8.462 4.6,8.485 4.332,8.27C4.063,8.055 3.998,7.691 4.177,7.358C4.273,7.179 4.414,7.038 4.57,6.911C5.26,6.349 6.149,6.05 7.384,6.052L7.384,6.052Z",
5485
5564
  fill: getColor(2, downlinkQuality, defaultColor, theme2)
5486
5565
  }
5487
5566
  ),
5488
- /* @__PURE__ */ React41.createElement(
5567
+ /* @__PURE__ */ React43.createElement(
5489
5568
  "path",
5490
5569
  {
5491
5570
  d: "M8.214,9.941C8.214,10.234 8.097,10.515 7.888,10.721C7.68,10.928 7.398,11.042 7.104,11.039C6.471,11.036 5.982,10.541 5.993,9.912C6.004,9.259 6.499,8.766 7.133,8.779C7.744,8.791 8.22,9.301 8.214,9.941Z",
@@ -5504,7 +5583,7 @@ var TileConnection = ({
5504
5583
  spotlighted,
5505
5584
  pinned
5506
5585
  }) => {
5507
- return /* @__PURE__ */ React42.createElement(Wrapper2, null, !hideLabel ? /* @__PURE__ */ React42.createElement(React42.Fragment, null, /* @__PURE__ */ React42.createElement(Flex, { align: "center" }, pinned && /* @__PURE__ */ React42.createElement(IconWrapper, null, /* @__PURE__ */ React42.createElement(PinIcon, { width: "15", height: "15" })), spotlighted && /* @__PURE__ */ React42.createElement(IconWrapper, null, /* @__PURE__ */ React42.createElement(SpotlightIcon, { width: "15", height: "15" })), /* @__PURE__ */ React42.createElement(
5586
+ return /* @__PURE__ */ React44.createElement(Wrapper2, null, !hideLabel ? /* @__PURE__ */ React44.createElement(React44.Fragment, null, /* @__PURE__ */ React44.createElement(Flex, { align: "center" }, pinned && /* @__PURE__ */ React44.createElement(IconWrapper, null, /* @__PURE__ */ React44.createElement(PinIcon, { width: "15", height: "15" })), spotlighted && /* @__PURE__ */ React44.createElement(IconWrapper, null, /* @__PURE__ */ React44.createElement(SpotlightIcon, { width: "15", height: "15" })), /* @__PURE__ */ React44.createElement(
5508
5587
  Text,
5509
5588
  {
5510
5589
  css: __spreadValues({
@@ -5514,7 +5593,7 @@ var TileConnection = ({
5514
5593
  variant: "xs"
5515
5594
  },
5516
5595
  name
5517
- )), /* @__PURE__ */ React42.createElement(ConnectionIndicator, { isTile: true, peerId, hideBg: true })) : null);
5596
+ )), /* @__PURE__ */ React44.createElement(ConnectionIndicator, { isTile: true, peerId, hideBg: true })) : null);
5518
5597
  };
5519
5598
  var IconWrapper = styled("div", { c: "$on_surface_high", ml: "$3", mt: "$1" });
5520
5599
  var Wrapper2 = styled("div", {
@@ -5534,7 +5613,7 @@ var Wrapper2 = styled("div", {
5534
5613
  var TileConnection_default = TileConnection;
5535
5614
 
5536
5615
  // src/Prebuilt/components/Settings/SettingsModal.jsx
5537
- import React48, { useCallback as useCallback15, useEffect as useEffect21, useState as useState15 } from "react";
5616
+ import React50, { useCallback as useCallback15, useEffect as useEffect22, useState as useState15 } from "react";
5538
5617
  import { useMedia as useMedia4 } from "react-use";
5539
5618
  import { ChevronLeftIcon, CrossIcon as CrossIcon6 } from "@100mslive/react-icons";
5540
5619
 
@@ -5542,7 +5621,7 @@ import { ChevronLeftIcon, CrossIcon as CrossIcon6 } from "@100mslive/react-icons
5542
5621
  import { GridFourIcon, NotificationsIcon, SettingsIcon } from "@100mslive/react-icons";
5543
5622
 
5544
5623
  // src/Prebuilt/components/Settings/DeviceSettings.jsx
5545
- import React44, { Fragment as Fragment3, useEffect as useEffect20, useRef as useRef6, useState as useState14 } from "react";
5624
+ import React46, { Fragment as Fragment3, useEffect as useEffect21, useRef as useRef7, useState as useState14 } from "react";
5546
5625
  import {
5547
5626
  DeviceType as DeviceType3,
5548
5627
  selectIsLocalVideoEnabled as selectIsLocalVideoEnabled3,
@@ -5554,10 +5633,10 @@ import {
5554
5633
  import { MicOnIcon as MicOnIcon4, SpeakerIcon as SpeakerIcon2, VideoOnIcon as VideoOnIcon2 } from "@100mslive/react-icons";
5555
5634
 
5556
5635
  // src/Prebuilt/primitives/DropdownTrigger.jsx
5557
- import React43 from "react";
5636
+ import React45 from "react";
5558
5637
  import { ChevronDownIcon as ChevronDownIcon3, ChevronUpIcon as ChevronUpIcon3 } from "@100mslive/react-icons";
5559
- var DialogDropdownTrigger = React43.forwardRef(({ title, css: css2, open, icon, titleCSS = {} }, ref) => {
5560
- return /* @__PURE__ */ React43.createElement(
5638
+ var DialogDropdownTrigger = React45.forwardRef(({ title, css: css2, open, icon, titleCSS = {} }, ref) => {
5639
+ return /* @__PURE__ */ React45.createElement(
5561
5640
  Dropdown.Trigger,
5562
5641
  {
5563
5642
  asChild: true,
@@ -5571,7 +5650,7 @@ var DialogDropdownTrigger = React43.forwardRef(({ title, css: css2, open, icon,
5571
5650
  }, css2),
5572
5651
  ref
5573
5652
  },
5574
- /* @__PURE__ */ React43.createElement(
5653
+ /* @__PURE__ */ React45.createElement(
5575
5654
  Flex,
5576
5655
  {
5577
5656
  css: {
@@ -5582,7 +5661,7 @@ var DialogDropdownTrigger = React43.forwardRef(({ title, css: css2, open, icon,
5582
5661
  }
5583
5662
  },
5584
5663
  icon,
5585
- /* @__PURE__ */ React43.createElement(
5664
+ /* @__PURE__ */ React45.createElement(
5586
5665
  Text,
5587
5666
  {
5588
5667
  css: __spreadValues(__spreadProps(__spreadValues({
@@ -5594,7 +5673,7 @@ var DialogDropdownTrigger = React43.forwardRef(({ title, css: css2, open, icon,
5594
5673
  },
5595
5674
  title
5596
5675
  ),
5597
- open ? /* @__PURE__ */ React43.createElement(ChevronUpIcon3, null) : /* @__PURE__ */ React43.createElement(ChevronDownIcon3, null)
5676
+ open ? /* @__PURE__ */ React45.createElement(ChevronUpIcon3, null) : /* @__PURE__ */ React45.createElement(ChevronDownIcon3, null)
5598
5677
  )
5599
5678
  );
5600
5679
  });
@@ -5619,7 +5698,7 @@ var Settings = ({ setHide }) => {
5619
5698
  if (!(videoInput == null ? void 0 : videoInput.length) && !(audioInput == null ? void 0 : audioInput.length) && !(audioOutputFiltered == null ? void 0 : audioOutputFiltered.length)) {
5620
5699
  setHide(true);
5621
5700
  }
5622
- return /* @__PURE__ */ React44.createElement(Box, { className: settingOverflow() }, (videoInput == null ? void 0 : videoInput.length) ? /* @__PURE__ */ React44.createElement(Fragment3, null, isVideoOn && /* @__PURE__ */ React44.createElement(
5701
+ return /* @__PURE__ */ React46.createElement(Box, { className: settingOverflow() }, (videoInput == null ? void 0 : videoInput.length) ? /* @__PURE__ */ React46.createElement(Fragment3, null, isVideoOn && /* @__PURE__ */ React46.createElement(
5623
5702
  StyledVideoTile.Container,
5624
5703
  {
5625
5704
  css: {
@@ -5630,24 +5709,24 @@ var Settings = ({ setHide }) => {
5630
5709
  m: "$10 auto"
5631
5710
  }
5632
5711
  },
5633
- /* @__PURE__ */ React44.createElement(Video, { trackId: videoTrackId, mirror: (track == null ? void 0 : track.facingMode) !== "environment" && mirrorLocalVideo })
5634
- ), /* @__PURE__ */ React44.createElement(
5712
+ /* @__PURE__ */ React46.createElement(Video, { trackId: videoTrackId, mirror: (track == null ? void 0 : track.facingMode) !== "environment" && mirrorLocalVideo })
5713
+ ), /* @__PURE__ */ React46.createElement(
5635
5714
  DeviceSelector,
5636
5715
  {
5637
5716
  title: "Video",
5638
5717
  devices: videoInput,
5639
- icon: /* @__PURE__ */ React44.createElement(VideoOnIcon2, null),
5718
+ icon: /* @__PURE__ */ React46.createElement(VideoOnIcon2, null),
5640
5719
  selection: selectedDeviceIDs.videoInput,
5641
5720
  onChange: (deviceId) => updateDevice({
5642
5721
  deviceId,
5643
5722
  deviceType: DeviceType3.videoInput
5644
5723
  })
5645
5724
  }
5646
- )) : null, (audioInput == null ? void 0 : audioInput.length) ? /* @__PURE__ */ React44.createElement(
5725
+ )) : null, (audioInput == null ? void 0 : audioInput.length) ? /* @__PURE__ */ React46.createElement(
5647
5726
  DeviceSelector,
5648
5727
  {
5649
5728
  title: shouldShowAudioOutput ? "Microphone" : "Audio",
5650
- icon: /* @__PURE__ */ React44.createElement(MicOnIcon4, null),
5729
+ icon: /* @__PURE__ */ React46.createElement(MicOnIcon4, null),
5651
5730
  devices: audioInput,
5652
5731
  selection: selectedDeviceIDs.audioInput,
5653
5732
  onChange: (deviceId) => updateDevice({
@@ -5655,11 +5734,11 @@ var Settings = ({ setHide }) => {
5655
5734
  deviceType: DeviceType3.audioInput
5656
5735
  })
5657
5736
  }
5658
- ) : null, (audioOutputFiltered == null ? void 0 : audioOutputFiltered.length) && shouldShowAudioOutput ? /* @__PURE__ */ React44.createElement(
5737
+ ) : null, (audioOutputFiltered == null ? void 0 : audioOutputFiltered.length) && shouldShowAudioOutput ? /* @__PURE__ */ React46.createElement(
5659
5738
  DeviceSelector,
5660
5739
  {
5661
5740
  title: "Speaker",
5662
- icon: /* @__PURE__ */ React44.createElement(SpeakerIcon2, null),
5741
+ icon: /* @__PURE__ */ React46.createElement(SpeakerIcon2, null),
5663
5742
  devices: audioOutput,
5664
5743
  selection: selectedDeviceIDs.audioOutput,
5665
5744
  onChange: (deviceId) => updateDevice({
@@ -5667,15 +5746,15 @@ var Settings = ({ setHide }) => {
5667
5746
  deviceType: DeviceType3.audioOutput
5668
5747
  })
5669
5748
  },
5670
- /* @__PURE__ */ React44.createElement(TestAudio, { id: selectedDeviceIDs.audioOutput })
5749
+ /* @__PURE__ */ React46.createElement(TestAudio, { id: selectedDeviceIDs.audioOutput })
5671
5750
  ) : null);
5672
5751
  };
5673
5752
  var DeviceSelector = ({ title, devices, selection, onChange, icon, children = null }) => {
5674
5753
  var _a7, _b7;
5675
5754
  const [open, setOpen] = useState14(false);
5676
5755
  const selectionBg = useDropdownSelection();
5677
- const ref = useRef6(null);
5678
- return /* @__PURE__ */ React44.createElement(Box, { css: { mb: "$10" } }, /* @__PURE__ */ React44.createElement(Text, { css: { mb: "$4" } }, title), /* @__PURE__ */ React44.createElement(
5756
+ const ref = useRef7(null);
5757
+ return /* @__PURE__ */ React46.createElement(Box, { css: { mb: "$10" } }, /* @__PURE__ */ React46.createElement(Text, { css: { mb: "$4" } }, title), /* @__PURE__ */ React46.createElement(
5679
5758
  Flex,
5680
5759
  {
5681
5760
  align: "center",
@@ -5687,7 +5766,7 @@ var DeviceSelector = ({ title, devices, selection, onChange, icon, children = nu
5687
5766
  }
5688
5767
  }
5689
5768
  },
5690
- /* @__PURE__ */ React44.createElement(
5769
+ /* @__PURE__ */ React46.createElement(
5691
5770
  Box,
5692
5771
  {
5693
5772
  css: {
@@ -5701,7 +5780,7 @@ var DeviceSelector = ({ title, devices, selection, onChange, icon, children = nu
5701
5780
  }
5702
5781
  }
5703
5782
  },
5704
- /* @__PURE__ */ React44.createElement(Dropdown.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React44.createElement(
5783
+ /* @__PURE__ */ React46.createElement(Dropdown.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React46.createElement(
5705
5784
  DialogDropdownTrigger,
5706
5785
  {
5707
5786
  ref,
@@ -5709,8 +5788,8 @@ var DeviceSelector = ({ title, devices, selection, onChange, icon, children = nu
5709
5788
  title: ((_a7 = devices.find(({ deviceId }) => deviceId === selection)) == null ? void 0 : _a7.label) || "Select device from list",
5710
5789
  open
5711
5790
  }
5712
- ), /* @__PURE__ */ React44.createElement(Dropdown.Portal, null, /* @__PURE__ */ React44.createElement(Dropdown.Content, { align: "start", sideOffset: 8, css: { w: (_b7 = ref.current) == null ? void 0 : _b7.clientWidth, zIndex: 1001 } }, devices.map((device) => {
5713
- return /* @__PURE__ */ React44.createElement(
5791
+ ), /* @__PURE__ */ React46.createElement(Dropdown.Portal, null, /* @__PURE__ */ React46.createElement(Dropdown.Content, { align: "start", sideOffset: 8, css: { w: (_b7 = ref.current) == null ? void 0 : _b7.clientWidth, zIndex: 1001 } }, devices.map((device) => {
5792
+ return /* @__PURE__ */ React46.createElement(
5714
5793
  Dropdown.Item,
5715
5794
  {
5716
5795
  key: device.label,
@@ -5729,9 +5808,9 @@ var DeviceSelector = ({ title, devices, selection, onChange, icon, children = nu
5729
5808
  };
5730
5809
  var TEST_AUDIO_URL = "https://100ms.live/test-audio.wav";
5731
5810
  var TestAudio = ({ id }) => {
5732
- const audioRef = useRef6(null);
5811
+ const audioRef = useRef7(null);
5733
5812
  const [playing, setPlaying] = useState14(false);
5734
- useEffect20(() => {
5813
+ useEffect21(() => {
5735
5814
  if (audioRef.current && id) {
5736
5815
  try {
5737
5816
  if (typeof audioRef.current.setSinkId !== "undefined") {
@@ -5742,7 +5821,7 @@ var TestAudio = ({ id }) => {
5742
5821
  }
5743
5822
  }
5744
5823
  }, [id]);
5745
- return /* @__PURE__ */ React44.createElement(React44.Fragment, null, /* @__PURE__ */ React44.createElement(
5824
+ return /* @__PURE__ */ React46.createElement(React46.Fragment, null, /* @__PURE__ */ React46.createElement(
5746
5825
  Button,
5747
5826
  {
5748
5827
  variant: "standard",
@@ -5759,22 +5838,22 @@ var TestAudio = ({ id }) => {
5759
5838
  },
5760
5839
  disabled: playing
5761
5840
  },
5762
- /* @__PURE__ */ React44.createElement(SpeakerIcon2, null),
5841
+ /* @__PURE__ */ React46.createElement(SpeakerIcon2, null),
5763
5842
  "\xA0Test",
5764
5843
  " ",
5765
- /* @__PURE__ */ React44.createElement(Text, { as: "span", css: { display: "none", "@md": { display: "inline" } } }, "\xA0 speaker")
5766
- ), /* @__PURE__ */ React44.createElement("audio", { ref: audioRef, src: TEST_AUDIO_URL, onEnded: () => setPlaying(false), onPlay: () => setPlaying(true) }));
5844
+ /* @__PURE__ */ React46.createElement(Text, { as: "span", css: { display: "none", "@md": { display: "inline" } } }, "\xA0 speaker")
5845
+ ), /* @__PURE__ */ React46.createElement("audio", { ref: audioRef, src: TEST_AUDIO_URL, onEnded: () => setPlaying(false), onPlay: () => setPlaying(true) }));
5767
5846
  };
5768
5847
  var DeviceSettings_default = Settings;
5769
5848
 
5770
5849
  // src/Prebuilt/components/Settings/LayoutSettings.jsx
5771
- import React46, { useCallback as useCallback14 } from "react";
5850
+ import React48, { useCallback as useCallback14 } from "react";
5772
5851
  import { selectIsLocalScreenShared, selectIsLocalVideoEnabled as selectIsLocalVideoEnabled4, useHMSActions as useHMSActions15, useHMSStore as useHMSStore20 } from "@100mslive/react-sdk";
5773
5852
 
5774
5853
  // src/Prebuilt/components/Settings/SwitchWithLabel.jsx
5775
- import React45 from "react";
5854
+ import React47 from "react";
5776
5855
  var SwitchWithLabel = ({ label, icon, id, onChange, checked, hide = false }) => {
5777
- return /* @__PURE__ */ React45.createElement(
5856
+ return /* @__PURE__ */ React47.createElement(
5778
5857
  Flex,
5779
5858
  {
5780
5859
  align: "center",
@@ -5786,7 +5865,7 @@ var SwitchWithLabel = ({ label, icon, id, onChange, checked, hide = false }) =>
5786
5865
  display: hide ? "none" : "flex"
5787
5866
  }
5788
5867
  },
5789
- /* @__PURE__ */ React45.createElement(
5868
+ /* @__PURE__ */ React47.createElement(
5790
5869
  Label3,
5791
5870
  {
5792
5871
  htmlFor: id,
@@ -5804,7 +5883,7 @@ var SwitchWithLabel = ({ label, icon, id, onChange, checked, hide = false }) =>
5804
5883
  icon,
5805
5884
  label
5806
5885
  ),
5807
- /* @__PURE__ */ React45.createElement(Switch, { id, checked, onCheckedChange: onChange })
5886
+ /* @__PURE__ */ React47.createElement(Switch, { id, checked, onCheckedChange: onChange })
5808
5887
  );
5809
5888
  };
5810
5889
  var SwitchWithLabel_default = SwitchWithLabel;
@@ -5825,7 +5904,7 @@ var LayoutSettings = () => {
5825
5904
  }),
5826
5905
  [hmsActions, isLocalVideoEnabled, isLocalScreenShared, setUISettings]
5827
5906
  );
5828
- return /* @__PURE__ */ React46.createElement(Box, { className: settingOverflow() }, /* @__PURE__ */ React46.createElement(SwitchWithLabel_default, { label: "Audio Only Mode", id: "audioOnlyMode", checked: isAudioOnly, onChange: toggleIsAudioOnly }), /* @__PURE__ */ React46.createElement(
5907
+ return /* @__PURE__ */ React48.createElement(Box, { className: settingOverflow() }, /* @__PURE__ */ React48.createElement(SwitchWithLabel_default, { label: "Audio Only Mode", id: "audioOnlyMode", checked: isAudioOnly, onChange: toggleIsAudioOnly }), /* @__PURE__ */ React48.createElement(
5829
5908
  SwitchWithLabel_default,
5830
5909
  {
5831
5910
  label: "Mirror Local Video",
@@ -5837,7 +5916,7 @@ var LayoutSettings = () => {
5837
5916
  });
5838
5917
  }
5839
5918
  }
5840
- ), /* @__PURE__ */ React46.createElement(Flex, { align: "center", css: { w: "100%", my: "$2", py: "$8", "@md": { display: "none" } } }, /* @__PURE__ */ React46.createElement(Text, { variant: "md", css: { fontWeight: "$semiBold" } }, "Tiles In View(", maxTileCount, ")"), /* @__PURE__ */ React46.createElement(Flex, { justify: "end", css: { flex: "1 1 0" } }, /* @__PURE__ */ React46.createElement(
5919
+ ), /* @__PURE__ */ React48.createElement(Flex, { align: "center", css: { w: "100%", my: "$2", py: "$8", "@md": { display: "none" } } }, /* @__PURE__ */ React48.createElement(Text, { variant: "md", css: { fontWeight: "$semiBold" } }, "Tiles In View(", maxTileCount, ")"), /* @__PURE__ */ React48.createElement(Flex, { justify: "end", css: { flex: "1 1 0" } }, /* @__PURE__ */ React48.createElement(
5841
5920
  Slider,
5842
5921
  {
5843
5922
  step: 1,
@@ -5853,11 +5932,11 @@ var LayoutSettings = () => {
5853
5932
  };
5854
5933
 
5855
5934
  // src/Prebuilt/components/Settings/NotificationSettings.jsx
5856
- import React47 from "react";
5935
+ import React49 from "react";
5857
5936
  import { AlertOctagonIcon, HandIcon as HandIcon2, PeopleAddIcon as PeopleAddIcon2, PeopleRemoveIcon as PeopleRemoveIcon2 } from "@100mslive/react-icons";
5858
5937
  var NotificationItem = ({ type, label, icon, checked }) => {
5859
5938
  const [, setSubscribedNotifications] = useSetSubscribedNotifications(type);
5860
- return /* @__PURE__ */ React47.createElement(
5939
+ return /* @__PURE__ */ React49.createElement(
5861
5940
  SwitchWithLabel_default,
5862
5941
  {
5863
5942
  label,
@@ -5872,36 +5951,36 @@ var NotificationItem = ({ type, label, icon, checked }) => {
5872
5951
  };
5873
5952
  var NotificationSettings = () => {
5874
5953
  const subscribedNotifications = useSubscribedNotifications();
5875
- return /* @__PURE__ */ React47.createElement(Box, { className: settingOverflow() }, /* @__PURE__ */ React47.createElement(
5954
+ return /* @__PURE__ */ React49.createElement(Box, { className: settingOverflow() }, /* @__PURE__ */ React49.createElement(
5876
5955
  NotificationItem,
5877
5956
  {
5878
5957
  label: "Peer Joined",
5879
5958
  type: SUBSCRIBED_NOTIFICATIONS.PEER_JOINED,
5880
- icon: /* @__PURE__ */ React47.createElement(PeopleAddIcon2, null),
5959
+ icon: /* @__PURE__ */ React49.createElement(PeopleAddIcon2, null),
5881
5960
  checked: subscribedNotifications.PEER_JOINED
5882
5961
  }
5883
- ), /* @__PURE__ */ React47.createElement(
5962
+ ), /* @__PURE__ */ React49.createElement(
5884
5963
  NotificationItem,
5885
5964
  {
5886
5965
  label: "Peer Leave",
5887
5966
  type: SUBSCRIBED_NOTIFICATIONS.PEER_LEFT,
5888
- icon: /* @__PURE__ */ React47.createElement(PeopleRemoveIcon2, null),
5967
+ icon: /* @__PURE__ */ React49.createElement(PeopleRemoveIcon2, null),
5889
5968
  checked: subscribedNotifications.PEER_LEFT
5890
5969
  }
5891
- ), /* @__PURE__ */ React47.createElement(
5970
+ ), /* @__PURE__ */ React49.createElement(
5892
5971
  NotificationItem,
5893
5972
  {
5894
5973
  label: "Hand Raised",
5895
5974
  type: SUBSCRIBED_NOTIFICATIONS.METADATA_UPDATED,
5896
- icon: /* @__PURE__ */ React47.createElement(HandIcon2, null),
5975
+ icon: /* @__PURE__ */ React49.createElement(HandIcon2, null),
5897
5976
  checked: subscribedNotifications.METADATA_UPDATED
5898
5977
  }
5899
- ), /* @__PURE__ */ React47.createElement(
5978
+ ), /* @__PURE__ */ React49.createElement(
5900
5979
  NotificationItem,
5901
5980
  {
5902
5981
  label: "Error",
5903
5982
  type: SUBSCRIBED_NOTIFICATIONS.ERROR,
5904
- icon: /* @__PURE__ */ React47.createElement(AlertOctagonIcon, null),
5983
+ icon: /* @__PURE__ */ React49.createElement(AlertOctagonIcon, null),
5905
5984
  checked: subscribedNotifications.ERROR
5906
5985
  }
5907
5986
  ));
@@ -5943,7 +6022,7 @@ var settingsList = [
5943
6022
  ];
5944
6023
 
5945
6024
  // src/Prebuilt/components/Settings/SettingsModal.jsx
5946
- var SettingsModal = ({ open, onOpenChange, screenType, children = /* @__PURE__ */ React48.createElement(React48.Fragment, null) }) => {
6025
+ var SettingsModal = ({ open, onOpenChange, screenType, children = /* @__PURE__ */ React50.createElement(React50.Fragment, null) }) => {
5947
6026
  const mediaQueryLg = config.media.md;
5948
6027
  const isMobile = useMedia4(mediaQueryLg);
5949
6028
  const [showSetting, setShowSetting] = useState15(
@@ -5953,7 +6032,7 @@ var SettingsModal = ({ open, onOpenChange, screenType, children = /* @__PURE__ *
5953
6032
  (key) => (hide) => setShowSetting((prev) => __spreadProps(__spreadValues({}, prev), { [key]: !hide })),
5954
6033
  [setShowSetting]
5955
6034
  );
5956
- useEffect21(() => {
6035
+ useEffect22(() => {
5957
6036
  if (screenType === "hls_live_streaming") {
5958
6037
  hideSettingByTabName("layout")(true);
5959
6038
  }
@@ -5965,7 +6044,7 @@ var SettingsModal = ({ open, onOpenChange, screenType, children = /* @__PURE__ *
5965
6044
  const resetSelection = useCallback15(() => {
5966
6045
  setSelection("");
5967
6046
  }, []);
5968
- useEffect21(() => {
6047
+ useEffect22(() => {
5969
6048
  var _a7;
5970
6049
  if (isMobile) {
5971
6050
  setSelection("");
@@ -5974,7 +6053,7 @@ var SettingsModal = ({ open, onOpenChange, screenType, children = /* @__PURE__ *
5974
6053
  setSelection(firstNotHiddenTabName);
5975
6054
  }
5976
6055
  }, [isMobile, showSetting]);
5977
- return isMobile ? /* @__PURE__ */ React48.createElement(
6056
+ return isMobile ? /* @__PURE__ */ React50.createElement(
5978
6057
  MobileSettingModal,
5979
6058
  {
5980
6059
  open,
@@ -5986,7 +6065,7 @@ var SettingsModal = ({ open, onOpenChange, screenType, children = /* @__PURE__ *
5986
6065
  resetSelection,
5987
6066
  children
5988
6067
  }
5989
- ) : /* @__PURE__ */ React48.createElement(
6068
+ ) : /* @__PURE__ */ React50.createElement(
5990
6069
  DesktopSettingModal,
5991
6070
  {
5992
6071
  open,
@@ -6008,9 +6087,9 @@ var MobileSettingModal = ({
6008
6087
  showSetting,
6009
6088
  hideSettingByTabName,
6010
6089
  resetSelection,
6011
- children = /* @__PURE__ */ React48.createElement(React48.Fragment, null)
6090
+ children = /* @__PURE__ */ React50.createElement(React50.Fragment, null)
6012
6091
  }) => {
6013
- return /* @__PURE__ */ React48.createElement(Sheet.Root, { open, onOpenChange }, /* @__PURE__ */ React48.createElement(Sheet.Trigger, { asChild: true }, children), /* @__PURE__ */ React48.createElement(
6092
+ return /* @__PURE__ */ React50.createElement(Sheet.Root, { open, onOpenChange }, /* @__PURE__ */ React50.createElement(Sheet.Trigger, { asChild: true }, children), /* @__PURE__ */ React50.createElement(
6014
6093
  Sheet.Content,
6015
6094
  {
6016
6095
  css: {
@@ -6018,9 +6097,9 @@ var MobileSettingModal = ({
6018
6097
  overflowY: "auto"
6019
6098
  }
6020
6099
  },
6021
- /* @__PURE__ */ React48.createElement(Sheet.Title, { css: { py: "$10", px: "$8", alignItems: "center" } }, /* @__PURE__ */ React48.createElement(Flex, { direction: "row", justify: "between", css: { w: "100%" } }, !selection ? /* @__PURE__ */ React48.createElement(Text, { variant: "h6", css: { display: "flex" } }, "Settings") : /* @__PURE__ */ React48.createElement(Text, { variant: "h6", css: { display: "flex" } }, /* @__PURE__ */ React48.createElement(Box, { as: "span", css: { r: "$round", mr: "$2" }, onClick: resetSelection }, /* @__PURE__ */ React48.createElement(ChevronLeftIcon, null)), (selection == null ? void 0 : selection.charAt(0).toUpperCase()) + selection.slice(1)), /* @__PURE__ */ React48.createElement(Sheet.Close, null, /* @__PURE__ */ React48.createElement(IconButton, { as: "div", "data-testid": "dialog_cross_icon" }, /* @__PURE__ */ React48.createElement(CrossIcon6, null))))),
6022
- /* @__PURE__ */ React48.createElement(HorizontalDivider, null),
6023
- !selection ? /* @__PURE__ */ React48.createElement(
6100
+ /* @__PURE__ */ React50.createElement(Sheet.Title, { css: { py: "$10", px: "$8", alignItems: "center" } }, /* @__PURE__ */ React50.createElement(Flex, { direction: "row", justify: "between", css: { w: "100%" } }, !selection ? /* @__PURE__ */ React50.createElement(Text, { variant: "h6", css: { display: "flex" } }, "Settings") : /* @__PURE__ */ React50.createElement(Text, { variant: "h6", css: { display: "flex" } }, /* @__PURE__ */ React50.createElement(Box, { as: "span", css: { r: "$round", mr: "$2" }, onClick: resetSelection }, /* @__PURE__ */ React50.createElement(ChevronLeftIcon, null)), (selection == null ? void 0 : selection.charAt(0).toUpperCase()) + selection.slice(1)), /* @__PURE__ */ React50.createElement(Sheet.Close, null, /* @__PURE__ */ React50.createElement(IconButton, { as: "div", "data-testid": "dialog_cross_icon" }, /* @__PURE__ */ React50.createElement(CrossIcon6, null))))),
6101
+ /* @__PURE__ */ React50.createElement(HorizontalDivider, null),
6102
+ !selection ? /* @__PURE__ */ React50.createElement(
6024
6103
  Flex,
6025
6104
  {
6026
6105
  direction: "column",
@@ -6031,7 +6110,7 @@ var MobileSettingModal = ({
6031
6110
  }
6032
6111
  },
6033
6112
  settingsList.filter(({ tabName }) => showSetting[tabName]).map(({ icon: Icon2, tabName, title }) => {
6034
- return /* @__PURE__ */ React48.createElement(
6113
+ return /* @__PURE__ */ React50.createElement(
6035
6114
  Box,
6036
6115
  {
6037
6116
  key: tabName,
@@ -6061,18 +6140,18 @@ var MobileSettingModal = ({
6061
6140
  borderBottom: "1px solid $border_default"
6062
6141
  }
6063
6142
  },
6064
- /* @__PURE__ */ React48.createElement(Icon2, null),
6143
+ /* @__PURE__ */ React50.createElement(Icon2, null),
6065
6144
  title
6066
6145
  );
6067
6146
  })
6068
- ) : /* @__PURE__ */ React48.createElement(
6147
+ ) : /* @__PURE__ */ React50.createElement(
6069
6148
  Box,
6070
6149
  {
6071
6150
  direction: "column",
6072
6151
  css: { overflowY: "scroll", px: "$8", py: "$10", maxHeight: "70vh", overflowX: "hidden" }
6073
6152
  },
6074
6153
  settingsList.filter(({ tabName }) => showSetting[tabName] && selection === tabName).map(({ content: Content10, title, tabName }) => {
6075
- return /* @__PURE__ */ React48.createElement(Content10, { key: title, setHide: hideSettingByTabName(tabName) });
6154
+ return /* @__PURE__ */ React50.createElement(Content10, { key: title, setHide: hideSettingByTabName(tabName) });
6076
6155
  })
6077
6156
  )
6078
6157
  ));
@@ -6085,9 +6164,9 @@ var DesktopSettingModal = ({
6085
6164
  showSetting,
6086
6165
  hideSettingByTabName,
6087
6166
  resetSelection,
6088
- children = /* @__PURE__ */ React48.createElement(React48.Fragment, null)
6167
+ children = /* @__PURE__ */ React50.createElement(React50.Fragment, null)
6089
6168
  }) => {
6090
- return /* @__PURE__ */ React48.createElement(Dialog.Root, { open, onOpenChange }, /* @__PURE__ */ React48.createElement(Dialog.Trigger, { asChild: true }, children), /* @__PURE__ */ React48.createElement(Dialog.Portal, null, /* @__PURE__ */ React48.createElement(Dialog.Overlay, null), /* @__PURE__ */ React48.createElement(
6169
+ return /* @__PURE__ */ React50.createElement(Dialog.Root, { open, onOpenChange }, /* @__PURE__ */ React50.createElement(Dialog.Trigger, { asChild: true }, children), /* @__PURE__ */ React50.createElement(PrebuiltDialogPortal, null, /* @__PURE__ */ React50.createElement(Dialog.Overlay, null), /* @__PURE__ */ React50.createElement(
6091
6170
  Dialog.Content,
6092
6171
  {
6093
6172
  css: {
@@ -6097,7 +6176,7 @@ var DesktopSettingModal = ({
6097
6176
  r: "$4"
6098
6177
  }
6099
6178
  },
6100
- /* @__PURE__ */ React48.createElement(
6179
+ /* @__PURE__ */ React50.createElement(
6101
6180
  Tabs.Root,
6102
6181
  {
6103
6182
  value: selection,
@@ -6105,7 +6184,7 @@ var DesktopSettingModal = ({
6105
6184
  onValueChange: setSelection,
6106
6185
  css: { size: "100%", position: "relative" }
6107
6186
  },
6108
- /* @__PURE__ */ React48.createElement(
6187
+ /* @__PURE__ */ React50.createElement(
6109
6188
  Tabs.List,
6110
6189
  {
6111
6190
  css: {
@@ -6117,12 +6196,12 @@ var DesktopSettingModal = ({
6117
6196
  borderBottomLeftRadius: "$4"
6118
6197
  }
6119
6198
  },
6120
- /* @__PURE__ */ React48.createElement(Text, { variant: "h5" }, "Settings "),
6121
- /* @__PURE__ */ React48.createElement(Flex, { direction: "column", css: { mx: 0, overflowY: "auto", pt: "$10" } }, settingsList.filter(({ tabName }) => showSetting[tabName]).map(({ icon: Icon2, tabName, title }) => {
6122
- return /* @__PURE__ */ React48.createElement(Tabs.Trigger, { key: tabName, value: tabName, css: { gap: "$8" } }, /* @__PURE__ */ React48.createElement(Icon2, null), title);
6199
+ /* @__PURE__ */ React50.createElement(Text, { variant: "h5" }, "Settings "),
6200
+ /* @__PURE__ */ React50.createElement(Flex, { direction: "column", css: { mx: 0, overflowY: "auto", pt: "$10" } }, settingsList.filter(({ tabName }) => showSetting[tabName]).map(({ icon: Icon2, tabName, title }) => {
6201
+ return /* @__PURE__ */ React50.createElement(Tabs.Trigger, { key: tabName, value: tabName, css: { gap: "$8" } }, /* @__PURE__ */ React50.createElement(Icon2, null), title);
6123
6202
  }))
6124
6203
  ),
6125
- selection && /* @__PURE__ */ React48.createElement(
6204
+ selection && /* @__PURE__ */ React50.createElement(
6126
6205
  Flex,
6127
6206
  {
6128
6207
  direction: "column",
@@ -6133,731 +6212,21 @@ var DesktopSettingModal = ({
6133
6212
  }
6134
6213
  },
6135
6214
  settingsList.filter(({ tabName }) => showSetting[tabName]).map(({ content: Content10, title, tabName }) => {
6136
- return /* @__PURE__ */ React48.createElement(Tabs.Content, { key: tabName, value: tabName, className: settingContent() }, /* @__PURE__ */ React48.createElement(SettingsContentHeader, { onBack: resetSelection, isMobile: false }, title), /* @__PURE__ */ React48.createElement(Content10, { setHide: hideSettingByTabName(tabName) }));
6215
+ return /* @__PURE__ */ React50.createElement(Tabs.Content, { key: tabName, value: tabName, className: settingContent() }, /* @__PURE__ */ React50.createElement(SettingsContentHeader, { onBack: resetSelection, isMobile: false }, title), /* @__PURE__ */ React50.createElement(Content10, { setHide: hideSettingByTabName(tabName) }));
6137
6216
  })
6138
6217
  )
6139
6218
  ),
6140
- /* @__PURE__ */ React48.createElement(Dialog.Close, { css: { position: "absolute", right: "$10", top: "$10" } }, /* @__PURE__ */ React48.createElement(IconButton, { as: "div", "data-testid": "dialog_cross_icon" }, /* @__PURE__ */ React48.createElement(CrossIcon6, null)))
6219
+ /* @__PURE__ */ React50.createElement(Dialog.Close, { css: { position: "absolute", right: "$10", top: "$10" } }, /* @__PURE__ */ React50.createElement(IconButton, { as: "div", "data-testid": "dialog_cross_icon" }, /* @__PURE__ */ React50.createElement(CrossIcon6, null)))
6141
6220
  )));
6142
6221
  };
6143
6222
  var SettingsContentHeader = ({ children, isMobile, onBack }) => {
6144
- return /* @__PURE__ */ React48.createElement(Text, { variant: "h6", css: { mb: "$12", display: "flex", alignItems: "center" } }, isMobile && /* @__PURE__ */ React48.createElement(Box, { as: "span", css: { bg: "$surface_bright", mr: "$4", r: "$round", p: "$2" }, onClick: onBack }, /* @__PURE__ */ React48.createElement(ChevronLeftIcon, null)), children);
6223
+ return /* @__PURE__ */ React50.createElement(Text, { variant: "h6", css: { mb: "$12", display: "flex", alignItems: "center" } }, isMobile && /* @__PURE__ */ React50.createElement(Box, { as: "span", css: { bg: "$surface_bright", mr: "$4", r: "$round", p: "$2" }, onClick: onBack }, /* @__PURE__ */ React50.createElement(ChevronLeftIcon, null)), children);
6145
6224
  };
6146
6225
  var SettingsModal_default = SettingsModal;
6147
6226
 
6148
- // src/Prebuilt/components/VideoTile.jsx
6149
- import React53, { Fragment as Fragment5, useCallback as useCallback16, useEffect as useEffect23, useMemo as useMemo3, useRef as useRef7, useState as useState18 } from "react";
6150
- import { useMedia as useMedia8 } from "react-use";
6151
- import {
6152
- selectAudioTrackByPeerID as selectAudioTrackByPeerID2,
6153
- selectHasPeerHandRaised as selectHasPeerHandRaised3,
6154
- selectIsPeerAudioEnabled,
6155
- selectLocalPeerID as selectLocalPeerID5,
6156
- selectPeerMetadata as selectPeerMetadata2,
6157
- selectPeerNameByID,
6158
- selectSessionStore as selectSessionStore3,
6159
- selectTrackAudioByID,
6160
- selectVideoTrackByID as selectVideoTrackByID4,
6161
- selectVideoTrackByPeerID as selectVideoTrackByPeerID3,
6162
- useHMSStore as useHMSStore24,
6163
- useHMSVanillaStore as useHMSVanillaStore6
6164
- } from "@100mslive/react-sdk";
6165
- import { BrbTileIcon, HandIcon as HandIcon3, MicOffIcon as MicOffIcon3 } from "@100mslive/react-icons";
6166
-
6167
- // src/Prebuilt/components/TileMenu/TileMenu.jsx
6168
- import React52, { useState as useState17 } from "react";
6169
- import { useMedia as useMedia7 } from "react-use";
6170
- import {
6171
- selectLocalPeerID as selectLocalPeerID4,
6172
- selectPeerByID as selectPeerByID2,
6173
- selectPermissions as selectPermissions3,
6174
- selectTrackByID as selectTrackByID3,
6175
- selectVideoTrackByPeerID as selectVideoTrackByPeerID2,
6176
- useHMSStore as useHMSStore23,
6177
- useRemoteAVToggle as useRemoteAVToggle2
6178
- } from "@100mslive/react-sdk";
6179
- import { CrossIcon as CrossIcon8, VerticalMenuIcon as VerticalMenuIcon2 } from "@100mslive/react-icons";
6180
-
6181
- // src/Prebuilt/components/MoreSettings/ChangeNameModal.jsx
6182
- import React50, { useState as useState16 } from "react";
6183
- import { useMedia as useMedia5 } from "react-use";
6184
- import { selectLocalPeerName, useHMSActions as useHMSActions16, useHMSStore as useHMSStore21 } from "@100mslive/react-sdk";
6185
-
6186
- // src/Prebuilt/components/MoreSettings/ChangeNameContent.jsx
6187
- import React49 from "react";
6188
- import { ChevronLeftIcon as ChevronLeftIcon2, CrossIcon as CrossIcon7 } from "@100mslive/react-icons";
6189
- var ChangeNameContent = ({
6190
- changeName,
6191
- setCurrentName,
6192
- currentName,
6193
- localPeerName,
6194
- isMobile,
6195
- onExit,
6196
- onBackClick
6197
- }) => {
6198
- return /* @__PURE__ */ React49.createElement(
6199
- "form",
6200
- {
6201
- onSubmit: (e) => __async(void 0, null, function* () {
6202
- e.preventDefault();
6203
- yield changeName();
6204
- })
6205
- },
6206
- /* @__PURE__ */ React49.createElement(
6207
- Text,
6208
- {
6209
- variant: isMobile ? "md" : "lg",
6210
- css: {
6211
- color: "$on_surface_high",
6212
- fontWeight: "$semiBold",
6213
- display: "flex",
6214
- pb: "$4",
6215
- "@md": { px: "$8", borderBottom: "1px solid $border_default" }
6216
- }
6217
- },
6218
- isMobile ? /* @__PURE__ */ React49.createElement(ChevronLeftIcon2, { onClick: onBackClick, style: { marginRight: "0.5rem" } }) : null,
6219
- "Change Name",
6220
- /* @__PURE__ */ React49.createElement(
6221
- Box,
6222
- {
6223
- css: { color: "inherit", ml: "auto", "&:hover": { color: "$on_surface_medium", cursor: "pointer" } },
6224
- onClick: onExit
6225
- },
6226
- /* @__PURE__ */ React49.createElement(CrossIcon7, null)
6227
- )
6228
- ),
6229
- /* @__PURE__ */ React49.createElement(Text, { variant: "sm", css: { color: "$on_surface_medium", pb: "$6", mb: "$8", "@md": { px: "$8", mt: "$4" } } }, "Your name will be visible to other participants in the session."),
6230
- /* @__PURE__ */ React49.createElement(Flex, { justify: "center", align: "center", css: { my: "$8", w: "100%", "@md": { px: "$8" } } }, /* @__PURE__ */ React49.createElement(
6231
- Input,
6232
- {
6233
- css: { width: "100%", bg: "$surface_default" },
6234
- value: currentName,
6235
- type: isMobile ? "search" : "text",
6236
- onChange: (e) => {
6237
- setCurrentName(e.target.value);
6238
- },
6239
- autoComplete: "name",
6240
- required: true,
6241
- "data-testid": "change_name_field",
6242
- onKeyDown: (e) => __async(void 0, null, function* () {
6243
- if (e.key === "Enter" && currentName.trim().length > 0 && currentName !== localPeerName) {
6244
- e.preventDefault();
6245
- if (isMobile) {
6246
- return;
6247
- }
6248
- changeName();
6249
- }
6250
- })
6251
- }
6252
- )),
6253
- /* @__PURE__ */ React49.createElement(
6254
- Flex,
6255
- {
6256
- justify: "between",
6257
- align: "center",
6258
- css: {
6259
- width: "100%",
6260
- gap: "$md",
6261
- mt: "$10",
6262
- "@md": { px: "$4" }
6263
- }
6264
- },
6265
- isMobile ? null : /* @__PURE__ */ React49.createElement(
6266
- Button,
6267
- {
6268
- variant: "standard",
6269
- css: { w: "100%" },
6270
- outlined: true,
6271
- type: "submit",
6272
- disabled: !localPeerName,
6273
- onClick: onExit
6274
- },
6275
- "Cancel"
6276
- ),
6277
- /* @__PURE__ */ React49.createElement(
6278
- Button,
6279
- {
6280
- variant: "primary",
6281
- css: { width: "100%" },
6282
- type: "submit",
6283
- disabled: !currentName.trim() || currentName.trim() === localPeerName,
6284
- "data-testid": "popup_change_btn"
6285
- },
6286
- "Change"
6287
- )
6288
- )
6289
- );
6290
- };
6291
-
6292
- // src/Prebuilt/components/MoreSettings/ChangeNameModal.jsx
6293
- var ChangeNameModal = ({ onOpenChange, openParentSheet = null }) => {
6294
- const [previewPreference, setPreviewPreference] = useUserPreferences(UserPreferencesKeys.PREVIEW);
6295
- const hmsActions = useHMSActions16();
6296
- const localPeerName = useHMSStore21(selectLocalPeerName);
6297
- const [currentName, setCurrentName] = useState16(localPeerName);
6298
- const isMobile = useMedia5(config.media.md);
6299
- const changeName = () => __async(void 0, null, function* () {
6300
- const name = currentName.trim();
6301
- if (!name || name === localPeerName) {
6302
- return;
6303
- }
6304
- try {
6305
- yield hmsActions.changeName(name);
6306
- setPreviewPreference(__spreadProps(__spreadValues({}, previewPreference || {}), {
6307
- name
6308
- }));
6309
- } catch (error) {
6310
- console.error("failed to update name", error);
6311
- ToastManager.addToast({ title: error.message });
6312
- } finally {
6313
- onOpenChange(false);
6314
- }
6315
- });
6316
- const props = {
6317
- changeName,
6318
- setCurrentName,
6319
- currentName,
6320
- localPeerName,
6321
- isMobile,
6322
- onExit: () => onOpenChange(false),
6323
- onBackClick: () => {
6324
- onOpenChange(false);
6325
- openParentSheet();
6326
- }
6327
- };
6328
- if (isMobile) {
6329
- return /* @__PURE__ */ React50.createElement(Sheet.Root, { defaultOpen: true, onOpenChange }, /* @__PURE__ */ React50.createElement(Sheet.Content, { css: { bg: "$surface_dim", p: "$8 0" } }, /* @__PURE__ */ React50.createElement(ChangeNameContent, __spreadValues({}, props))));
6330
- }
6331
- return /* @__PURE__ */ React50.createElement(Dialog.Root, { defaultOpen: true, onOpenChange }, /* @__PURE__ */ React50.createElement(Dialog.Portal, null, /* @__PURE__ */ React50.createElement(Dialog.Overlay, null), /* @__PURE__ */ React50.createElement(Dialog.Content, { css: { bg: "$surface_dim", width: "min(400px,80%)", p: "$10" } }, /* @__PURE__ */ React50.createElement(ChangeNameContent, __spreadValues({}, props)))));
6332
- };
6333
-
6334
- // src/Prebuilt/components/TileMenu/TileMenuContent.jsx
6335
- import React51, { Fragment as Fragment4 } from "react";
6336
- import { useMedia as useMedia6 } from "react-use";
6337
- import {
6338
- selectPermissions as selectPermissions2,
6339
- selectSessionStore as selectSessionStore2,
6340
- selectTrackByID as selectTrackByID2,
6341
- useCustomEvent as useCustomEvent2,
6342
- useHMSActions as useHMSActions17,
6343
- useHMSStore as useHMSStore22,
6344
- useRemoteAVToggle
6345
- } from "@100mslive/react-sdk";
6346
- import {
6347
- MicOffIcon as MicOffIcon2,
6348
- MicOnIcon as MicOnIcon5,
6349
- PencilIcon,
6350
- PinIcon as PinIcon2,
6351
- RemoveUserIcon,
6352
- ShareScreenIcon as ShareScreenIcon2,
6353
- ShrinkIcon,
6354
- SpeakerIcon as SpeakerIcon3,
6355
- StarIcon,
6356
- VideoOffIcon as VideoOffIcon2,
6357
- VideoOnIcon as VideoOnIcon3
6358
- } from "@100mslive/react-icons";
6359
- var isSameTile = ({ trackId, videoTrackID, audioTrackID }) => trackId && (videoTrackID && videoTrackID === trackId || audioTrackID && audioTrackID === trackId);
6360
- var spacingCSS = { "@md": { my: "$8", fontWeight: "$semiBold", fontSize: "sm" } };
6361
- var SpotlightActions = ({
6362
- peerId,
6363
- onSpotLightClick = () => {
6364
- return;
6365
- }
6366
- }) => {
6367
- const hmsActions = useHMSActions17();
6368
- const spotlightPeerId = useHMSStore22(selectSessionStore2(SESSION_STORE_KEY.SPOTLIGHT));
6369
- const isTileSpotlighted = spotlightPeerId === peerId;
6370
- const setSpotlightPeerId = (peer) => hmsActions.sessionStore.set(SESSION_STORE_KEY.SPOTLIGHT, peer).catch((err) => ToastManager.addToast({ title: err.description }));
6371
- return /* @__PURE__ */ React51.createElement(
6372
- StyledMenuTile.ItemButton,
6373
- {
6374
- css: spacingCSS,
6375
- onClick: () => {
6376
- if (isTileSpotlighted) {
6377
- setSpotlightPeerId();
6378
- } else {
6379
- setSpotlightPeerId(peerId);
6380
- }
6381
- onSpotLightClick();
6382
- }
6383
- },
6384
- /* @__PURE__ */ React51.createElement(StarIcon, { height: 20, width: 20 }),
6385
- /* @__PURE__ */ React51.createElement("span", null, isTileSpotlighted ? "Remove from Spotlight" : "Spotlight Tile for everyone")
6386
- );
6387
- };
6388
- var PinActions = ({ audioTrackID, videoTrackID }) => {
6389
- const [pinnedTrackId, setPinnedTrackId] = useSetAppDataByKey(APP_DATA.pinnedTrackId);
6390
- const isTilePinned = isSameTile({
6391
- trackId: pinnedTrackId,
6392
- videoTrackID,
6393
- audioTrackID
6394
- });
6395
- return /* @__PURE__ */ React51.createElement(React51.Fragment, null, /* @__PURE__ */ React51.createElement(
6396
- StyledMenuTile.ItemButton,
6397
- {
6398
- css: spacingCSS,
6399
- onClick: () => isTilePinned ? setPinnedTrackId() : setPinnedTrackId(videoTrackID || audioTrackID)
6400
- },
6401
- /* @__PURE__ */ React51.createElement(PinIcon2, { height: 20, width: 20 }),
6402
- /* @__PURE__ */ React51.createElement("span", null, isTilePinned ? "Unpin" : "Pin", " Tile for myself")
6403
- ));
6404
- };
6405
- var MinimiseInset = () => {
6406
- const [minimised, setMinimised] = useSetAppDataByKey(APP_DATA.minimiseInset);
6407
- return /* @__PURE__ */ React51.createElement(React51.Fragment, null, /* @__PURE__ */ React51.createElement(StyledMenuTile.ItemButton, { css: spacingCSS, onClick: () => setMinimised(!minimised) }, /* @__PURE__ */ React51.createElement(ShrinkIcon, { height: 20, width: 20 }), /* @__PURE__ */ React51.createElement("span", null, minimised ? "Show" : "Minimise", " your video")));
6408
- };
6409
- var SimulcastLayers = ({ trackId }) => {
6410
- var _a7;
6411
- const track = useHMSStore22(selectTrackByID2(trackId));
6412
- const actions = useHMSActions17();
6413
- const bg = useDropdownSelection();
6414
- if (!((_a7 = track == null ? void 0 : track.layerDefinitions) == null ? void 0 : _a7.length) || track.degraded || !track.enabled) {
6415
- return null;
6416
- }
6417
- const currentLayer = track.layerDefinitions.find((layer) => layer.layer === track.layer);
6418
- return /* @__PURE__ */ React51.createElement(Fragment4, null, /* @__PURE__ */ React51.createElement(StyledMenuTile.ItemButton, { css: { color: "$on_surface_medium", cursor: "default" } }, "Select maximum resolution"), track.layerDefinitions.map((layer) => {
6419
- return /* @__PURE__ */ React51.createElement(
6420
- StyledMenuTile.ItemButton,
6421
- {
6422
- key: layer.layer,
6423
- onClick: () => __async(void 0, null, function* () {
6424
- yield actions.setPreferredLayer(trackId, layer.layer);
6425
- }),
6426
- css: {
6427
- justifyContent: "space-between",
6428
- bg: track.preferredLayer === layer.layer ? bg : void 0,
6429
- "&:hover": {
6430
- bg: track.preferredLayer === layer.layer ? bg : void 0
6431
- }
6432
- }
6433
- },
6434
- /* @__PURE__ */ React51.createElement(
6435
- Text,
6436
- {
6437
- as: "span",
6438
- css: {
6439
- textTransform: "capitalize",
6440
- mr: "$2",
6441
- fontWeight: track.preferredLayer === layer.layer ? "$semiBold" : "$regular",
6442
- color: track.preferredLayer === layer.layer ? "$on_primary_high" : "$on_surface_high"
6443
- }
6444
- },
6445
- layer.layer
6446
- ),
6447
- /* @__PURE__ */ React51.createElement(
6448
- Text,
6449
- {
6450
- as: "span",
6451
- variant: "xs",
6452
- css: {
6453
- color: track.preferredLayer === layer.layer ? "$on_primary_high" : "$on_surface_high"
6454
- }
6455
- },
6456
- layer.resolution.width,
6457
- "x",
6458
- layer.resolution.height
6459
- )
6460
- );
6461
- }), /* @__PURE__ */ React51.createElement(StyledMenuTile.ItemButton, null, /* @__PURE__ */ React51.createElement(Text, { as: "span", variant: "xs", css: { color: "$on_surface_medium" } }, "Currently streaming:", /* @__PURE__ */ React51.createElement(
6462
- Text,
6463
- {
6464
- as: "span",
6465
- variant: "xs",
6466
- css: {
6467
- fontWeight: "$semiBold",
6468
- textTransform: "capitalize",
6469
- color: "$on_surface_medium",
6470
- ml: "$2"
6471
- }
6472
- },
6473
- currentLayer ? /* @__PURE__ */ React51.createElement(React51.Fragment, null, track.layer, " (", currentLayer.resolution.width, "x", currentLayer.resolution.height, ")") : "-"
6474
- ))));
6475
- };
6476
- var TileMenuContent = (props) => {
6477
- const actions = useHMSActions17();
6478
- const { removeOthers } = useHMSStore22(selectPermissions2);
6479
- const {
6480
- videoTrackID,
6481
- audioTrackID,
6482
- isLocal,
6483
- isScreenshare,
6484
- showSpotlight,
6485
- showPinAction,
6486
- peerID,
6487
- canMinimise,
6488
- closeSheetOnClick = () => {
6489
- return;
6490
- },
6491
- openNameChangeModal = () => {
6492
- return;
6493
- }
6494
- } = props;
6495
- const { isAudioEnabled, isVideoEnabled, setVolume, toggleAudio, toggleVideo, volume } = useRemoteAVToggle(
6496
- audioTrackID,
6497
- videoTrackID
6498
- );
6499
- const { sendEvent } = useCustomEvent2({
6500
- type: REMOTE_STOP_SCREENSHARE_TYPE
6501
- });
6502
- const isMobile = useMedia6(config.media.md);
6503
- return isLocal ? (showPinAction || canMinimise) && /* @__PURE__ */ React51.createElement(React51.Fragment, null, showPinAction && /* @__PURE__ */ React51.createElement(PinActions, { audioTrackID, videoTrackID }), showSpotlight && /* @__PURE__ */ React51.createElement(SpotlightActions, { peerId: peerID, onSpotLightClick: () => closeSheetOnClick() }), canMinimise && /* @__PURE__ */ React51.createElement(MinimiseInset, null), /* @__PURE__ */ React51.createElement(
6504
- StyledMenuTile.ItemButton,
6505
- {
6506
- onClick: () => {
6507
- openNameChangeModal();
6508
- closeSheetOnClick();
6509
- }
6510
- },
6511
- /* @__PURE__ */ React51.createElement(PencilIcon, { height: 20, width: 20 }),
6512
- /* @__PURE__ */ React51.createElement(Text, { variant: "sm", css: { "@md": { fontWeight: "$semiBold" }, c: "$on_surface_high" } }, "Change Name")
6513
- )) : /* @__PURE__ */ React51.createElement(React51.Fragment, null, toggleVideo ? /* @__PURE__ */ React51.createElement(
6514
- StyledMenuTile.ItemButton,
6515
- {
6516
- css: spacingCSS,
6517
- onClick: () => {
6518
- toggleVideo();
6519
- closeSheetOnClick();
6520
- },
6521
- "data-testid": isVideoEnabled ? "mute_video_participant_btn" : "unmute_video_participant_btn"
6522
- },
6523
- isVideoEnabled ? /* @__PURE__ */ React51.createElement(VideoOnIcon3, { height: 20, width: 20 }) : /* @__PURE__ */ React51.createElement(VideoOffIcon2, { height: 20, width: 20 }),
6524
- /* @__PURE__ */ React51.createElement("span", null, isVideoEnabled ? "Mute" : "Request Unmute")
6525
- ) : null, toggleAudio ? /* @__PURE__ */ React51.createElement(
6526
- StyledMenuTile.ItemButton,
6527
- {
6528
- css: spacingCSS,
6529
- onClick: () => {
6530
- toggleAudio();
6531
- closeSheetOnClick();
6532
- },
6533
- "data-testid": isVideoEnabled ? "mute_audio_participant_btn" : "unmute_audio_participant_btn"
6534
- },
6535
- isAudioEnabled ? /* @__PURE__ */ React51.createElement(MicOnIcon5, { height: 20, width: 20 }) : /* @__PURE__ */ React51.createElement(MicOffIcon2, { height: 20, width: 20 }),
6536
- /* @__PURE__ */ React51.createElement("span", null, isAudioEnabled ? "Mute" : "Request Unmute")
6537
- ) : null, audioTrackID ? /* @__PURE__ */ React51.createElement(StyledMenuTile.VolumeItem, { "data-testid": "participant_volume_slider", css: __spreadProps(__spreadValues({}, spacingCSS), { mb: "$0" }) }, /* @__PURE__ */ React51.createElement(Flex, { align: "center", gap: 1 }, /* @__PURE__ */ React51.createElement(SpeakerIcon3, { height: 20, width: 20 }), /* @__PURE__ */ React51.createElement(Box, { as: "span", css: { ml: "$4" } }, "Volume (", volume, ")")), /* @__PURE__ */ React51.createElement(Slider, { css: { my: "0.5rem" }, step: 5, value: [volume], onValueChange: (e) => setVolume(e[0]) })) : null, showPinAction && /* @__PURE__ */ React51.createElement(React51.Fragment, null, /* @__PURE__ */ React51.createElement(PinActions, { audioTrackID, videoTrackID }), showSpotlight && /* @__PURE__ */ React51.createElement(SpotlightActions, { peerId: peerID, onSpotLightClick: () => closeSheetOnClick() })), isMobile ? null : /* @__PURE__ */ React51.createElement(SimulcastLayers, { trackId: videoTrackID }), removeOthers ? /* @__PURE__ */ React51.createElement(
6538
- StyledMenuTile.RemoveItem,
6539
- {
6540
- css: __spreadProps(__spreadValues({}, spacingCSS), { borderTop: "none" }),
6541
- onClick: () => __async(void 0, null, function* () {
6542
- try {
6543
- yield actions.removePeer(peerID, "");
6544
- } catch (error) {
6545
- }
6546
- closeSheetOnClick();
6547
- }),
6548
- "data-testid": "remove_participant_btn"
6549
- },
6550
- /* @__PURE__ */ React51.createElement(RemoveUserIcon, { height: 20, width: 20 }),
6551
- /* @__PURE__ */ React51.createElement("span", null, "Remove Participant")
6552
- ) : null, removeOthers && isScreenshare ? /* @__PURE__ */ React51.createElement(
6553
- StyledMenuTile.RemoveItem,
6554
- {
6555
- onClick: () => {
6556
- sendEvent({});
6557
- closeSheetOnClick();
6558
- },
6559
- css: spacingCSS
6560
- },
6561
- /* @__PURE__ */ React51.createElement(ShareScreenIcon2, { height: 20, width: 20 }),
6562
- /* @__PURE__ */ React51.createElement("span", null, "Stop Screenshare")
6563
- ) : null);
6564
- };
6565
-
6566
- // src/Prebuilt/components/hooks/useDropdownList.jsx
6567
- import { useEffect as useEffect22 } from "react";
6568
- var useDropdownList = ({ name, open }) => {
6569
- const [dropdownList = [], setDropdownList] = useSetAppDataByKey(APP_DATA.dropdownList);
6570
- useEffect22(() => {
6571
- if (open) {
6572
- if (!dropdownList.includes(name)) {
6573
- setDropdownList([...dropdownList, name]);
6574
- }
6575
- } else {
6576
- const index = dropdownList.indexOf(name);
6577
- if (index >= 0) {
6578
- const newDropdownList = [...dropdownList];
6579
- newDropdownList.splice(index, 1);
6580
- setDropdownList(newDropdownList);
6581
- }
6582
- }
6583
- }, [open, name]);
6584
- };
6585
-
6586
- // src/Prebuilt/components/TileMenu/TileMenu.jsx
6587
- var TileMenu = ({
6588
- audioTrackID,
6589
- videoTrackID,
6590
- peerID,
6591
- isScreenshare = false,
6592
- canMinimise,
6593
- enableSpotlightingPeer = true
6594
- }) => {
6595
- var _a7, _b7;
6596
- const [open, setOpen] = useState17(false);
6597
- const { theme: theme2 } = useTheme();
6598
- const localPeerID = useHMSStore23(selectLocalPeerID4);
6599
- const isLocal = localPeerID === peerID;
6600
- const { removeOthers } = useHMSStore23(selectPermissions3);
6601
- const { setVolume, toggleAudio, toggleVideo } = useRemoteAVToggle2(audioTrackID, videoTrackID);
6602
- const showSpotlight = enableSpotlightingPeer;
6603
- const isPrimaryVideoTrack = ((_a7 = useHMSStore23(selectVideoTrackByPeerID2(peerID))) == null ? void 0 : _a7.id) === videoTrackID;
6604
- const showPinAction = audioTrackID || videoTrackID && isPrimaryVideoTrack;
6605
- const track = useHMSStore23(selectTrackByID3(videoTrackID));
6606
- const hideSimulcastLayers = !((_b7 = track == null ? void 0 : track.layerDefinitions) == null ? void 0 : _b7.length) || track.degraded || !track.enabled;
6607
- const isMobile = useMedia7(config.media.md);
6608
- const peer = useHMSStore23(selectPeerByID2(peerID));
6609
- const [showNameChangeModal, setShowNameChangeModal] = useState17(false);
6610
- useDropdownList({ open, name: "TileMenu" });
6611
- if (!(removeOthers || toggleAudio || toggleVideo || setVolume || showPinAction) && hideSimulcastLayers) {
6612
- return null;
6613
- }
6614
- const openNameChangeModal = () => setShowNameChangeModal(true);
6615
- const props = {
6616
- isLocal,
6617
- isScreenshare,
6618
- audioTrackID,
6619
- videoTrackID,
6620
- peerID,
6621
- isPrimaryVideoTrack,
6622
- showSpotlight,
6623
- showPinAction,
6624
- canMinimise,
6625
- openNameChangeModal
6626
- };
6627
- return /* @__PURE__ */ React52.createElement(React52.Fragment, null, /* @__PURE__ */ React52.createElement(StyledMenuTile.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React52.createElement(
6628
- StyledMenuTile.Trigger,
6629
- {
6630
- "data-testid": "participant_menu_btn",
6631
- css: { bg: `${theme2.colors.background_dim.value}A3`, p: "$2", w: "unset", h: "unset" },
6632
- onClick: (e) => e.stopPropagation(),
6633
- className: isMobile ? "__cancel-drag-event" : ""
6634
- },
6635
- /* @__PURE__ */ React52.createElement(VerticalMenuIcon2, { width: 20, height: 20 })
6636
- ), isMobile ? /* @__PURE__ */ React52.createElement(Sheet.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React52.createElement(Sheet.Content, { css: { bg: "$surface_dim", pt: "$8" } }, /* @__PURE__ */ React52.createElement(
6637
- Flex,
6638
- {
6639
- css: {
6640
- color: "$on_surface_high",
6641
- display: "flex",
6642
- w: "100%",
6643
- justifyContent: "space-between",
6644
- alignItems: "center",
6645
- px: "$10",
6646
- pb: "$8",
6647
- borderBottom: "1px solid $border_default"
6648
- }
6649
- },
6650
- /* @__PURE__ */ React52.createElement(Box, null, /* @__PURE__ */ React52.createElement(Text, { css: { color: "$on_surface_high", fontWeight: "$semiBold" } }, peer.name, isLocal ? ` (You)` : null), (peer == null ? void 0 : peer.roleName) ? /* @__PURE__ */ React52.createElement(Text, { variant: "xs", css: { color: "$on_surface_low", mt: "$2" } }, peer.roleName) : null),
6651
- /* @__PURE__ */ React52.createElement(Sheet.Close, { css: { color: "inherit" } }, /* @__PURE__ */ React52.createElement(CrossIcon8, null))
6652
- ), /* @__PURE__ */ React52.createElement(Box, { css: { px: "$8", pb: "$8", maxHeight: "80vh", overflowY: "auto" } }, /* @__PURE__ */ React52.createElement(TileMenuContent, __spreadProps(__spreadValues({}, props), { closeSheetOnClick: () => setOpen(false) }))))) : /* @__PURE__ */ React52.createElement(StyledMenuTile.Content, { side: "top", align: "end", css: { maxHeight: "$80", overflowY: "auto" } }, /* @__PURE__ */ React52.createElement(TileMenuContent, __spreadValues({}, props)))), showNameChangeModal && /* @__PURE__ */ React52.createElement(ChangeNameModal, { onOpenChange: setShowNameChangeModal }));
6653
- };
6654
- var TileMenu_default = TileMenu;
6655
-
6656
- // src/Prebuilt/components/peerTileUtils.jsx
6657
- var PEER_NAME_PLACEHOLDER = "peerName";
6658
- var labelMap = /* @__PURE__ */ new Map([
6659
- [[true, "screen"].toString(), "Your Screen"],
6660
- [[true, "regular"].toString(), `You (${PEER_NAME_PLACEHOLDER})`],
6661
- [[false, "screen"].toString(), `${PEER_NAME_PLACEHOLDER}'s Screen`],
6662
- [[false, "regular"].toString(), PEER_NAME_PLACEHOLDER],
6663
- [[true, void 0].toString(), `You (${PEER_NAME_PLACEHOLDER})`],
6664
- [[false, void 0].toString(), `${PEER_NAME_PLACEHOLDER}`]
6665
- ]);
6666
- var getVideoTileLabel = ({ peerName, isLocal, track }) => {
6667
- const isPeerPresent = peerName !== void 0;
6668
- if (!isPeerPresent || !track) {
6669
- return isPeerPresent ? labelMap.get([isLocal, void 0].toString()).replace(PEER_NAME_PLACEHOLDER, peerName) : "";
6670
- }
6671
- const isLocallyMuted = track.volume === 0;
6672
- let label = labelMap.get([isLocal, track.source].toString());
6673
- if (label) {
6674
- label = label.replace(PEER_NAME_PLACEHOLDER, peerName);
6675
- } else {
6676
- label = `${peerName} ${track.source}`;
6677
- }
6678
- return `${label}${isLocallyMuted ? " (Muted for you)" : ""}`;
6679
- };
6680
-
6681
- // src/Prebuilt/components/VideoTile.jsx
6682
- var Tile = ({
6683
- peerId,
6684
- trackId,
6685
- width,
6686
- height,
6687
- objectFit = "cover",
6688
- canMinimise = false,
6689
- isDragabble = false,
6690
- rootCSS = {},
6691
- containerCSS = {},
6692
- enableSpotlightingPeer = true,
6693
- hideParticipantNameOnTile = false,
6694
- roundedVideoTile = true,
6695
- hideAudioMuteOnTile = false,
6696
- hideMetadataOnTile = false
6697
- }) => {
6698
- var _a7, _b7;
6699
- const trackSelector = trackId ? selectVideoTrackByID4(trackId) : selectVideoTrackByPeerID3(peerId);
6700
- const track = useHMSStore24(trackSelector);
6701
- const isMobile = useMedia8(config.media.md);
6702
- const peerName = useHMSStore24(selectPeerNameByID(peerId));
6703
- const audioTrack = useHMSStore24(selectAudioTrackByPeerID2(peerId));
6704
- const localPeerID = useHMSStore24(selectLocalPeerID5);
6705
- const isAudioOnly = useUISettings(UI_SETTINGS.isAudioOnly);
6706
- const mirrorLocalVideo = useUISettings(UI_SETTINGS.mirrorLocalVideo);
6707
- const showStatsOnTiles = useUISettings(UI_SETTINGS.showStatsOnTiles);
6708
- const isAudioMuted = !useHMSStore24(selectIsPeerAudioEnabled(peerId));
6709
- const isVideoMuted = !(track == null ? void 0 : track.enabled);
6710
- const [isMouseHovered, setIsMouseHovered] = useState18(false);
6711
- const isVideoDegraded = track == null ? void 0 : track.degraded;
6712
- const isLocal = localPeerID === peerId;
6713
- const [pinnedTrackId] = useSetAppDataByKey(APP_DATA.pinnedTrackId);
6714
- const pinned = isSameTile({
6715
- trackId: pinnedTrackId,
6716
- videoTrackID: track == null ? void 0 : track.id,
6717
- audioTrackID: audioTrack == null ? void 0 : audioTrack.id
6718
- });
6719
- const spotlighted = useHMSStore24(selectSessionStore3(SESSION_STORE_KEY.SPOTLIGHT)) === peerId;
6720
- const label = getVideoTileLabel({
6721
- peerName,
6722
- track,
6723
- isLocal
6724
- });
6725
- const onHoverHandler = useCallback16((event) => {
6726
- setIsMouseHovered(event.type === "mouseenter");
6727
- }, []);
6728
- const ref = useRef7(null);
6729
- const calculatedHeight = ((_a7 = ref.current) == null ? void 0 : _a7.clientHeight) || "";
6730
- const calculatedWidth = ((_b7 = ref.current) == null ? void 0 : _b7.clientWidth) || "";
6731
- const isTileBigEnoughToShowStats = calculatedHeight >= 180 && calculatedWidth >= 180;
6732
- const avatarSize = useMemo3(() => {
6733
- if (!calculatedWidth || !calculatedHeight) {
6734
- return void 0;
6735
- }
6736
- if (calculatedWidth <= 150 || calculatedHeight <= 150) {
6737
- return "small";
6738
- } else if (calculatedWidth <= 300 || calculatedHeight <= 300) {
6739
- return "medium";
6740
- }
6741
- return "large";
6742
- }, [calculatedWidth, calculatedHeight]);
6743
- return /* @__PURE__ */ React53.createElement(
6744
- StyledVideoTile.Root,
6745
- {
6746
- ref,
6747
- css: __spreadValues({
6748
- width,
6749
- height
6750
- }, rootCSS),
6751
- "data-testid": `participant_tile_${peerName}`
6752
- },
6753
- peerName !== void 0 ? /* @__PURE__ */ React53.createElement(
6754
- StyledVideoTile.Container,
6755
- {
6756
- onMouseEnter: onHoverHandler,
6757
- onMouseLeave: onHoverHandler,
6758
- noRadius: !roundedVideoTile,
6759
- css: containerCSS
6760
- },
6761
- showStatsOnTiles && isTileBigEnoughToShowStats ? /* @__PURE__ */ React53.createElement(VideoTileStats, { audioTrackID: audioTrack == null ? void 0 : audioTrack.id, videoTrackID: track == null ? void 0 : track.id, peerID: peerId, isLocal }) : null,
6762
- /* @__PURE__ */ React53.createElement(
6763
- Video,
6764
- {
6765
- trackId: track == null ? void 0 : track.id,
6766
- attach: isLocal ? void 0 : !isAudioOnly,
6767
- mirror: mirrorLocalVideo && peerId === localPeerID && (track == null ? void 0 : track.source) === "regular" && (track == null ? void 0 : track.facingMode) !== "environment",
6768
- noRadius: !roundedVideoTile,
6769
- "data-testid": "participant_video_tile",
6770
- css: {
6771
- objectFit,
6772
- filter: isVideoDegraded ? "blur($space$2)" : void 0,
6773
- bg: "transparent"
6774
- }
6775
- }
6776
- ),
6777
- isVideoMuted || !isLocal && isAudioOnly ? /* @__PURE__ */ React53.createElement(StyledVideoTile.AvatarContainer, null, /* @__PURE__ */ React53.createElement(Avatar, { name: peerName || "", "data-testid": "participant_avatar_icon", size: avatarSize })) : null,
6778
- !hideAudioMuteOnTile ? isAudioMuted ? /* @__PURE__ */ React53.createElement(
6779
- StyledVideoTile.AudioIndicator,
6780
- {
6781
- "data-testid": "participant_audio_mute_icon",
6782
- size: getAttributeBoxSize(calculatedWidth, calculatedHeight)
6783
- },
6784
- /* @__PURE__ */ React53.createElement(MicOffIcon3, null)
6785
- ) : /* @__PURE__ */ React53.createElement(AudioLevel, { trackId: audioTrack == null ? void 0 : audioTrack.id }) : null,
6786
- isMouseHovered || isDragabble && isMobile ? /* @__PURE__ */ React53.createElement(
6787
- TileMenu_default,
6788
- {
6789
- peerID: peerId,
6790
- audioTrackID: audioTrack == null ? void 0 : audioTrack.id,
6791
- videoTrackID: track == null ? void 0 : track.id,
6792
- canMinimise,
6793
- enableSpotlightingPeer
6794
- }
6795
- ) : null,
6796
- !hideMetadataOnTile && /* @__PURE__ */ React53.createElement(PeerMetadata, { peerId, height: calculatedHeight, width: calculatedWidth }),
6797
- /* @__PURE__ */ React53.createElement(
6798
- TileConnection_default,
6799
- {
6800
- hideLabel: hideParticipantNameOnTile,
6801
- name: label,
6802
- isTile: true,
6803
- peerId,
6804
- width,
6805
- pinned,
6806
- spotlighted
6807
- }
6808
- )
6809
- ) : null
6810
- );
6811
- };
6812
- var heightAnimation = (value) => keyframes({
6813
- "50%": {
6814
- transform: `scale3d(1,${value},1)`
6815
- },
6816
- "100%": {
6817
- transform: `scale3d(1,1,1)`
6818
- }
6819
- });
6820
- var AudioLevelIndicator = ({ trackId, value, delay }) => {
6821
- const vanillaStore = useHMSVanillaStore6();
6822
- const ref = useRef7();
6823
- useEffect23(() => {
6824
- const unsubscribe = vanillaStore.subscribe((audioLevel) => {
6825
- if (ref.current) {
6826
- ref.current.style["animation"] = `${heightAnimation(
6827
- audioLevel ? value : 1
6828
- )} 0.3s cubic-bezier(0.61, 1, 0.88, 1) infinite ${delay}s`;
6829
- }
6830
- }, selectTrackAudioByID(trackId));
6831
- return unsubscribe;
6832
- }, [vanillaStore, trackId, value, delay]);
6833
- return /* @__PURE__ */ React53.createElement(
6834
- Box,
6835
- {
6836
- ref,
6837
- css: {
6838
- w: 4,
6839
- height: 6,
6840
- r: 2,
6841
- bg: "$on_primary_high"
6842
- }
6843
- }
6844
- );
6845
- };
6846
- var AudioLevel = ({ trackId }) => {
6847
- return /* @__PURE__ */ React53.createElement(StyledVideoTile.AudioIndicator, null, /* @__PURE__ */ React53.createElement(Flex, { align: "center", justify: "center", css: { gap: "$2" } }, [3, 2, 3].map((v, i) => /* @__PURE__ */ React53.createElement(AudioLevelIndicator, { trackId, value: v, delay: i * 0.15, key: i }))));
6848
- };
6849
- var PeerMetadata = ({ peerId, height, width }) => {
6850
- const metaData = useHMSStore24(selectPeerMetadata2(peerId));
6851
- const isBRB = (metaData == null ? void 0 : metaData.isBRBOn) || false;
6852
- const isHandRaised = useHMSStore24(selectHasPeerHandRaised3(peerId));
6853
- return /* @__PURE__ */ React53.createElement(Fragment5, null, isHandRaised ? /* @__PURE__ */ React53.createElement(StyledVideoTile.AttributeBox, { size: getAttributeBoxSize(width, height), "data-testid": "raiseHand_icon_onTile" }, /* @__PURE__ */ React53.createElement(HandIcon3, { width: 24, height: 24 })) : null, isBRB ? /* @__PURE__ */ React53.createElement(StyledVideoTile.AttributeBox, { size: getAttributeBoxSize(width, height), "data-testid": "brb_icon_onTile" }, /* @__PURE__ */ React53.createElement(BrbTileIcon, { width: 22, height: 22 })) : null);
6854
- };
6855
- var VideoTile = React53.memo(Tile);
6856
- var VideoTile_default = VideoTile;
6857
-
6858
6227
  // src/Prebuilt/components/Preview/PreviewForm.tsx
6859
- import React54 from "react";
6860
- import { useMedia as useMedia9 } from "react-use";
6228
+ import React51 from "react";
6229
+ import { useMedia as useMedia5 } from "react-use";
6861
6230
  import { JoinForm_JoinBtnType as JoinForm_JoinBtnType2 } from "@100mslive/types-prebuilt/elements/join_form";
6862
6231
  import { useRecordingStreaming as useRecordingStreaming3 } from "@100mslive/react-sdk";
6863
6232
  import { RadioIcon } from "@100mslive/react-icons";
@@ -6873,18 +6242,18 @@ var PreviewForm = ({
6873
6242
  const formSubmit = (e) => {
6874
6243
  e.preventDefault();
6875
6244
  };
6876
- const isMobile = useMedia9(config.media.md);
6245
+ const isMobile = useMedia5(config.media.md);
6877
6246
  const { isHLSRunning } = useRecordingStreaming3();
6878
6247
  const layout = useRoomLayout();
6879
6248
  const { join_form: joinForm = {} } = ((_c = (_b7 = (_a7 = layout == null ? void 0 : layout.screens) == null ? void 0 : _a7.preview) == null ? void 0 : _b7.default) == null ? void 0 : _c.elements) || {};
6880
6249
  const showGoLive = (joinForm == null ? void 0 : joinForm.join_btn_type) === JoinForm_JoinBtnType2.JOIN_BTN_TYPE_JOIN_AND_GO_LIVE && !isHLSRunning;
6881
- return /* @__PURE__ */ React54.createElement(
6250
+ return /* @__PURE__ */ React51.createElement(
6882
6251
  Form,
6883
6252
  {
6884
6253
  css: { flexDirection: cannotPublishVideo ? "column" : "row", "@md": { flexDirection: "row" } },
6885
6254
  onSubmit: formSubmit
6886
6255
  },
6887
- /* @__PURE__ */ React54.createElement(Flex, { align: "center", css: { gap: "$8", w: "100%" } }, /* @__PURE__ */ React54.createElement(
6256
+ /* @__PURE__ */ React51.createElement(Flex, { align: "center", css: { gap: "$8", w: "100%" } }, /* @__PURE__ */ React51.createElement(
6888
6257
  Input,
6889
6258
  {
6890
6259
  required: true,
@@ -6905,8 +6274,8 @@ var PreviewForm = ({
6905
6274
  }
6906
6275
  }
6907
6276
  }
6908
- ), cannotPublishAudio && cannotPublishVideo && !isMobile ? /* @__PURE__ */ React54.createElement(PreviewSettings, null) : null),
6909
- /* @__PURE__ */ React54.createElement(Button, { type: "submit", icon: true, disabled: !name || !enableJoin, onClick: onJoin }, showGoLive ? /* @__PURE__ */ React54.createElement(RadioIcon, { height: 18, width: 18 }) : null, showGoLive ? joinForm.go_live_btn_label : joinForm.join_btn_label)
6277
+ ), cannotPublishAudio && cannotPublishVideo && !isMobile ? /* @__PURE__ */ React51.createElement(PreviewSettings, null) : null),
6278
+ /* @__PURE__ */ React51.createElement(Button, { type: "submit", icon: true, disabled: !name || !enableJoin, onClick: onJoin }, showGoLive ? /* @__PURE__ */ React51.createElement(RadioIcon, { height: 18, width: 18 }) : null, showGoLive ? joinForm.go_live_btn_label : joinForm.join_btn_label)
6910
6279
  );
6911
6280
  };
6912
6281
  var Form = styled("form", {
@@ -6923,7 +6292,7 @@ var Form = styled("form", {
6923
6292
  var PreviewForm_default = PreviewForm;
6924
6293
 
6925
6294
  // src/Prebuilt/components/Preview/PreviewJoin.tsx
6926
- var VirtualBackground = React55.lazy(() => import("./VirtualBackground-3TI5NA4V.js"));
6295
+ var VirtualBackground = React52.lazy(() => import("./VirtualBackground-GP4ATXD3.js"));
6927
6296
  var getParticipantChipContent = (peerCount = 0) => {
6928
6297
  if (peerCount === 0) {
6929
6298
  return "You are the first to join";
@@ -6944,9 +6313,9 @@ var PreviewJoin = ({
6944
6313
  );
6945
6314
  const { isStreamingOn } = useRecordingStreaming4();
6946
6315
  const authToken = useAuthToken();
6947
- const [name, setName] = useState19(initialName || previewPreference.name);
6316
+ const [name, setName] = useState16(initialName || previewPreference.name);
6948
6317
  const { toggleAudio, toggleVideo } = useAVToggle2();
6949
- const [previewError, setPreviewError] = useState19(false);
6318
+ const [previewError, setPreviewError] = useState16(false);
6950
6319
  const { endpoints } = useHMSPrebuiltContext();
6951
6320
  const { peerCount } = useParticipants();
6952
6321
  const { enableJoin, preview, join } = usePreviewJoin({
@@ -6966,8 +6335,8 @@ var PreviewJoin = ({
6966
6335
  },
6967
6336
  asRole
6968
6337
  });
6969
- const roomState = useHMSStore25(selectRoomState6);
6970
- const savePreferenceAndJoin = useCallback17(() => {
6338
+ const roomState = useHMSStore21(selectRoomState6);
6339
+ const savePreferenceAndJoin = useCallback16(() => {
6971
6340
  setPreviewPreference({
6972
6341
  name
6973
6342
  });
@@ -6976,11 +6345,11 @@ var PreviewJoin = ({
6976
6345
  }, [join, name, setPreviewPreference, onJoin]);
6977
6346
  const roomLayout = useRoomLayout();
6978
6347
  const { preview_header: previewHeader = {} } = ((_c = (_b7 = (_a7 = roomLayout == null ? void 0 : roomLayout.screens) == null ? void 0 : _a7.preview) == null ? void 0 : _b7.default) == null ? void 0 : _c.elements) || {};
6979
- const localPeer = useHMSStore25(selectLocalPeer);
6980
- const videoTrack = useHMSStore25(selectVideoTrackByID5(localPeer == null ? void 0 : localPeer.videoTrack));
6981
- const isMobile = useMedia10(config.media.md);
6348
+ const localPeer = useHMSStore21(selectLocalPeer);
6349
+ const videoTrack = useHMSStore21(selectVideoTrackByID4(localPeer == null ? void 0 : localPeer.videoTrack));
6350
+ const isMobile = useMedia6(config.media.md);
6982
6351
  const aspectRatio = (videoTrack == null ? void 0 : videoTrack.width) && (videoTrack == null ? void 0 : videoTrack.height) ? videoTrack.width / videoTrack.height : isMobile ? 9 / 16 : 16 / 9;
6983
- useEffect24(() => {
6352
+ useEffect23(() => {
6984
6353
  if (authToken) {
6985
6354
  if (skipPreview) {
6986
6355
  savePreferenceAndJoin();
@@ -6989,34 +6358,34 @@ var PreviewJoin = ({
6989
6358
  }
6990
6359
  }
6991
6360
  }, [authToken, skipPreview]);
6992
- useEffect24(() => {
6361
+ useEffect23(() => {
6993
6362
  if (initialName) {
6994
6363
  setName(initialName);
6995
6364
  }
6996
6365
  }, [initialName]);
6997
- return roomState === HMSRoomState6.Preview ? /* @__PURE__ */ React55.createElement(Container3, { css: { h: "100%", pt: "$10", "@md": { justifyContent: "space-between" } } }, toggleVideo ? null : /* @__PURE__ */ React55.createElement(Box, null), /* @__PURE__ */ React55.createElement(Flex, { direction: "column", justify: "center", css: { w: "100%", maxWidth: "640px" } }, /* @__PURE__ */ React55.createElement(Logo, null), /* @__PURE__ */ React55.createElement(
6366
+ return roomState === HMSRoomState6.Preview ? /* @__PURE__ */ React52.createElement(Container3, { css: { h: "100%", pt: "$10", "@md": { justifyContent: "space-between" } } }, toggleVideo ? null : /* @__PURE__ */ React52.createElement(Box, null), /* @__PURE__ */ React52.createElement(Flex, { direction: "column", justify: "center", css: { w: "100%", maxWidth: "640px" } }, /* @__PURE__ */ React52.createElement(Logo, null), /* @__PURE__ */ React52.createElement(
6998
6367
  Text,
6999
6368
  {
7000
6369
  variant: "h4",
7001
6370
  css: { wordBreak: "break-word", textAlign: "center", mt: "$14", mb: "$4", "@md": { mt: "$8", mb: "$2" } }
7002
6371
  },
7003
6372
  previewHeader.title
7004
- ), /* @__PURE__ */ React55.createElement(
6373
+ ), /* @__PURE__ */ React52.createElement(
7005
6374
  Text,
7006
6375
  {
7007
6376
  css: { c: "$on_surface_medium", my: "0", textAlign: "center", maxWidth: "100%", wordWrap: "break-word" },
7008
6377
  variant: "sm"
7009
6378
  },
7010
6379
  previewHeader.sub_title
7011
- ), /* @__PURE__ */ React55.createElement(Flex, { justify: "center", css: { mt: "$14", "@md": { mt: "$8", mb: "0" }, gap: "$4" } }, isStreamingOn ? /* @__PURE__ */ React55.createElement(
6380
+ ), /* @__PURE__ */ React52.createElement(Flex, { justify: "center", css: { mt: "$14", "@md": { mt: "$8", mb: "0" }, gap: "$4" } }, isStreamingOn ? /* @__PURE__ */ React52.createElement(
7012
6381
  Chip_default,
7013
6382
  {
7014
6383
  content: "LIVE",
7015
6384
  backgroundColor: "$alert_error_default",
7016
6385
  textColor: "#FFF",
7017
- icon: /* @__PURE__ */ React55.createElement(Box, { css: { h: "$sm", w: "$sm", backgroundColor: "$on_primary_high", borderRadius: "$round" } })
6386
+ icon: /* @__PURE__ */ React52.createElement(Box, { css: { h: "$sm", w: "$sm", backgroundColor: "$on_primary_high", borderRadius: "$round" } })
7018
6387
  }
7019
- ) : null, /* @__PURE__ */ React55.createElement(Chip_default, { content: getParticipantChipContent(peerCount), hideIfNoContent: true }))), toggleVideo ? /* @__PURE__ */ React55.createElement(
6388
+ ) : null, /* @__PURE__ */ React52.createElement(Chip_default, { content: getParticipantChipContent(peerCount), hideIfNoContent: true }))), toggleVideo ? /* @__PURE__ */ React52.createElement(
7020
6389
  Flex,
7021
6390
  {
7022
6391
  align: "center",
@@ -7028,8 +6397,8 @@ var PreviewJoin = ({
7028
6397
  flexDirection: "column"
7029
6398
  }
7030
6399
  },
7031
- /* @__PURE__ */ React55.createElement(PreviewTile, { name, error: previewError })
7032
- ) : null, /* @__PURE__ */ React55.createElement(Box, { css: { w: "100%", maxWidth: `${Math.max(aspectRatio, 1) * 360}px` } }, /* @__PURE__ */ React55.createElement(PreviewControls, { hideSettings: !toggleVideo && !toggleAudio }), /* @__PURE__ */ React55.createElement(
6400
+ /* @__PURE__ */ React52.createElement(PreviewTile, { name, error: previewError })
6401
+ ) : null, /* @__PURE__ */ React52.createElement(Box, { css: { w: "100%", maxWidth: `${Math.max(aspectRatio, 1) * 360}px` } }, /* @__PURE__ */ React52.createElement(PreviewControls, { hideSettings: !toggleVideo && !toggleAudio }), /* @__PURE__ */ React52.createElement(
7033
6402
  PreviewForm_default,
7034
6403
  {
7035
6404
  name,
@@ -7039,7 +6408,7 @@ var PreviewJoin = ({
7039
6408
  cannotPublishVideo: !toggleVideo,
7040
6409
  cannotPublishAudio: !toggleAudio
7041
6410
  }
7042
- ))) : /* @__PURE__ */ React55.createElement(FullPageProgress_default, null);
6411
+ ))) : /* @__PURE__ */ React52.createElement(FullPageProgress_default, null);
7043
6412
  };
7044
6413
  var Container3 = styled("div", __spreadProps(__spreadValues({
7045
6414
  width: "100%"
@@ -7048,17 +6417,17 @@ var Container3 = styled("div", __spreadProps(__spreadValues({
7048
6417
  px: "$10"
7049
6418
  }));
7050
6419
  var PreviewTile = ({ name, error }) => {
7051
- const localPeer = useHMSStore25(selectLocalPeer);
6420
+ const localPeer = useHMSStore21(selectLocalPeer);
7052
6421
  const { isLocalAudioEnabled, toggleAudio } = useAVToggle2();
7053
- const isVideoOn = useHMSStore25(selectIsLocalVideoEnabled5);
6422
+ const isVideoOn = useHMSStore21(selectIsLocalVideoEnabled5);
7054
6423
  const mirrorLocalVideo = useUISettings(UI_SETTINGS.mirrorLocalVideo);
7055
- const trackSelector = selectVideoTrackByID5(localPeer == null ? void 0 : localPeer.videoTrack);
7056
- const track = useHMSStore25(trackSelector);
6424
+ const trackSelector = selectVideoTrackByID4(localPeer == null ? void 0 : localPeer.videoTrack);
6425
+ const track = useHMSStore21(trackSelector);
7057
6426
  const showMuteIcon = !isLocalAudioEnabled || !toggleAudio;
7058
- const videoTrack = useHMSStore25(selectVideoTrackByID5(localPeer == null ? void 0 : localPeer.videoTrack));
7059
- const isMobile = useMedia10(config.media.md);
6427
+ const videoTrack = useHMSStore21(selectVideoTrackByID4(localPeer == null ? void 0 : localPeer.videoTrack));
6428
+ const isMobile = useMedia6(config.media.md);
7060
6429
  const aspectRatio = (videoTrack == null ? void 0 : videoTrack.width) && (videoTrack == null ? void 0 : videoTrack.height) ? videoTrack.width / videoTrack.height : isMobile ? 9 / 16 : 16 / 9;
7061
- return /* @__PURE__ */ React55.createElement(
6430
+ return /* @__PURE__ */ React52.createElement(
7062
6431
  StyledVideoTile.Container,
7063
6432
  {
7064
6433
  css: {
@@ -7074,20 +6443,20 @@ var PreviewTile = ({ name, error }) => {
7074
6443
  }
7075
6444
  }
7076
6445
  },
7077
- localPeer ? /* @__PURE__ */ React55.createElement(React55.Fragment, null, /* @__PURE__ */ React55.createElement(TileConnection_default, { name, peerId: localPeer.id, hideLabel: true }), /* @__PURE__ */ React55.createElement(
6446
+ localPeer ? /* @__PURE__ */ React52.createElement(React52.Fragment, null, /* @__PURE__ */ React52.createElement(TileConnection_default, { name, peerId: localPeer.id, hideLabel: true }), /* @__PURE__ */ React52.createElement(
7078
6447
  Video,
7079
6448
  {
7080
6449
  mirror: (track == null ? void 0 : track.facingMode) !== "environment" && mirrorLocalVideo,
7081
6450
  trackId: localPeer.videoTrack,
7082
6451
  "data-testid": "preview_tile"
7083
6452
  }
7084
- ), !isVideoOn ? /* @__PURE__ */ React55.createElement(StyledVideoTile.AvatarContainer, null, /* @__PURE__ */ React55.createElement(Avatar, { name, "data-testid": "preview_avatar_tile" })) : null) : !error ? /* @__PURE__ */ React55.createElement(FullPageProgress_default, null) : null,
7085
- showMuteIcon ? /* @__PURE__ */ React55.createElement(StyledVideoTile.AudioIndicator, null, /* @__PURE__ */ React55.createElement(MicOffIcon4, null)) : /* @__PURE__ */ React55.createElement(AudioLevel, { trackId: localPeer == null ? void 0 : localPeer.audioTrack })
6453
+ ), !isVideoOn ? /* @__PURE__ */ React52.createElement(StyledVideoTile.AvatarContainer, null, /* @__PURE__ */ React52.createElement(Avatar, { name, "data-testid": "preview_avatar_tile" })) : null) : !error ? /* @__PURE__ */ React52.createElement(FullPageProgress_default, null) : null,
6454
+ showMuteIcon ? /* @__PURE__ */ React52.createElement(StyledVideoTile.AudioIndicator, null, /* @__PURE__ */ React52.createElement(MicOffIcon2, null)) : /* @__PURE__ */ React52.createElement(StyledVideoTile.AudioIndicator, { size: "medium" }, /* @__PURE__ */ React52.createElement(AudioLevel, { trackId: localPeer == null ? void 0 : localPeer.audioTrack }))
7086
6455
  );
7087
6456
  };
7088
6457
  var PreviewControls = ({ hideSettings }) => {
7089
- const isMobile = useMedia10(config.media.md);
7090
- return /* @__PURE__ */ React55.createElement(
6458
+ const isMobile = useMedia6(config.media.md);
6459
+ return /* @__PURE__ */ React52.createElement(
7091
6460
  Flex,
7092
6461
  {
7093
6462
  justify: hideSettings && isMobile ? "center" : "between",
@@ -7096,13 +6465,13 @@ var PreviewControls = ({ hideSettings }) => {
7096
6465
  mt: "$8"
7097
6466
  }
7098
6467
  },
7099
- /* @__PURE__ */ React55.createElement(Flex, { css: { gap: "$4" } }, /* @__PURE__ */ React55.createElement(AudioVideoToggle, null), /* @__PURE__ */ React55.createElement(Suspense, { fallback: "" }, !isMobile ? /* @__PURE__ */ React55.createElement(VirtualBackground, null) : null)),
7100
- !hideSettings ? /* @__PURE__ */ React55.createElement(PreviewSettings, null) : null
6468
+ /* @__PURE__ */ React52.createElement(Flex, { css: { gap: "$4" } }, /* @__PURE__ */ React52.createElement(AudioVideoToggle, null), /* @__PURE__ */ React52.createElement(Suspense, { fallback: "" }, !isMobile ? /* @__PURE__ */ React52.createElement(VirtualBackground, null) : null)),
6469
+ !hideSettings ? /* @__PURE__ */ React52.createElement(PreviewSettings, null) : null
7101
6470
  );
7102
6471
  };
7103
- var PreviewSettings = React55.memo(() => {
7104
- const [open, setOpen] = useState19(false);
7105
- return /* @__PURE__ */ React55.createElement(Fragment6, null, /* @__PURE__ */ React55.createElement(IconButton_default, { "data-testid": "preview_setting_btn", css: { flexShrink: 0 }, onClick: () => setOpen((value) => !value) }, /* @__PURE__ */ React55.createElement(SettingsIcon2, null)), open && /* @__PURE__ */ React55.createElement(SettingsModal_default, { open, onOpenChange: setOpen }));
6472
+ var PreviewSettings = React52.memo(() => {
6473
+ const [open, setOpen] = useState16(false);
6474
+ return /* @__PURE__ */ React52.createElement(Fragment4, null, /* @__PURE__ */ React52.createElement(IconButton_default, { "data-testid": "preview_setting_btn", css: { flexShrink: 0 }, onClick: () => setOpen((value) => !value) }, /* @__PURE__ */ React52.createElement(SettingsIcon2, null)), open && /* @__PURE__ */ React52.createElement(SettingsModal_default, { open, onOpenChange: setOpen }));
7106
6475
  });
7107
6476
  var PreviewJoin_default = PreviewJoin;
7108
6477
 
@@ -7126,14 +6495,14 @@ var PreviewContainer = () => {
7126
6495
  }
7127
6496
  navigate(meetingURL);
7128
6497
  };
7129
- return /* @__PURE__ */ React56.createElement(Flex, { direction: "column", css: { size: "100%" } }, /* @__PURE__ */ React56.createElement(
6498
+ return /* @__PURE__ */ React53.createElement(Flex, { direction: "column", css: { size: "100%" } }, /* @__PURE__ */ React53.createElement(
7130
6499
  Flex,
7131
6500
  {
7132
6501
  css: { flex: "1 1 0", position: "relative", overflowY: "auto", color: "$primary_default" },
7133
6502
  justify: "center",
7134
6503
  align: "center"
7135
6504
  },
7136
- authToken && Object.keys(previewHeader).length > 0 ? /* @__PURE__ */ React56.createElement(
6505
+ authToken && Object.keys(previewHeader).length > 0 ? /* @__PURE__ */ React53.createElement(
7137
6506
  PreviewJoin_default,
7138
6507
  {
7139
6508
  initialName,
@@ -7141,20 +6510,20 @@ var PreviewContainer = () => {
7141
6510
  asRole: previewAsRole != null ? previewAsRole : void 0,
7142
6511
  onJoin
7143
6512
  }
7144
- ) : /* @__PURE__ */ React56.createElement(FullPageProgress_default, null)
6513
+ ) : /* @__PURE__ */ React53.createElement(FullPageProgress_default, null)
7145
6514
  ));
7146
6515
  };
7147
6516
  var PreviewContainer_default = PreviewContainer;
7148
6517
 
7149
6518
  // src/Prebuilt/components/Toast/ToastContainer.jsx
7150
- import React58, { useEffect as useEffect25, useState as useState20 } from "react";
7151
- import { selectIsConnectedToRoom as selectIsConnectedToRoom3, useHMSStore as useHMSStore26 } from "@100mslive/react-sdk";
6519
+ import React55, { useEffect as useEffect24, useState as useState17 } from "react";
6520
+ import { selectIsConnectedToRoom as selectIsConnectedToRoom3, useHMSStore as useHMSStore22 } from "@100mslive/react-sdk";
7152
6521
 
7153
6522
  // src/Prebuilt/components/Toast/Toast.jsx
7154
- import React57 from "react";
6523
+ import React54 from "react";
7155
6524
  var Toast2 = (_a7) => {
7156
6525
  var _b7 = _a7, { title, description, close = true, open, duration, onOpenChange, icon } = _b7, props = __objRest(_b7, ["title", "description", "close", "open", "duration", "onOpenChange", "icon"]);
7157
- return /* @__PURE__ */ React57.createElement(
6526
+ return /* @__PURE__ */ React54.createElement(
7158
6527
  Toast.HMSToast,
7159
6528
  __spreadValues({
7160
6529
  title,
@@ -7170,17 +6539,17 @@ var Toast2 = (_a7) => {
7170
6539
 
7171
6540
  // src/Prebuilt/components/Toast/ToastContainer.jsx
7172
6541
  var ToastContainer = () => {
7173
- const isConnected = useHMSStore26(selectIsConnectedToRoom3);
7174
- const [toasts, setToast] = useState20([]);
7175
- useEffect25(() => {
6542
+ const isConnected = useHMSStore22(selectIsConnectedToRoom3);
6543
+ const [toasts, setToast] = useState17([]);
6544
+ useEffect24(() => {
7176
6545
  ToastManager.addListener(setToast);
7177
6546
  return () => {
7178
6547
  ToastManager.removeListener(setToast);
7179
6548
  };
7180
6549
  }, []);
7181
- return /* @__PURE__ */ React58.createElement(Toast.Provider, { swipeDirection: "left", duration: 3e3 }, toasts.slice(0, MAX_TOASTS).map((toast) => {
7182
- return /* @__PURE__ */ React58.createElement(Toast2, __spreadProps(__spreadValues({ key: toast.id }, toast), { onOpenChange: (value) => !value && ToastManager.removeToast(toast.id) }));
7183
- }), /* @__PURE__ */ React58.createElement(
6550
+ return /* @__PURE__ */ React55.createElement(Toast.Provider, { swipeDirection: "left", duration: 3e3 }, toasts.slice(0, MAX_TOASTS).map((toast) => {
6551
+ return /* @__PURE__ */ React55.createElement(Toast2, __spreadProps(__spreadValues({ key: toast.id }, toast), { onOpenChange: (value) => !value && ToastManager.removeToast(toast.id) }));
6552
+ }), /* @__PURE__ */ React55.createElement(
7184
6553
  Toast.Viewport,
7185
6554
  {
7186
6555
  css: __spreadValues({
@@ -7191,13 +6560,13 @@ var ToastContainer = () => {
7191
6560
  };
7192
6561
 
7193
6562
  // src/Prebuilt/plugins/FlyingEmoji.jsx
7194
- import React59, { useCallback as useCallback18, useEffect as useEffect26, useMemo as useMemo4, useState as useState21 } from "react";
7195
- import { useMedia as useMedia11 } from "react-use";
6563
+ import React56, { useCallback as useCallback17, useEffect as useEffect25, useMemo as useMemo3, useState as useState18 } from "react";
6564
+ import { useMedia as useMedia7 } from "react-use";
7196
6565
  import {
7197
- selectLocalPeerID as selectLocalPeerID6,
7198
- selectPeerNameByID as selectPeerNameByID2,
7199
- useCustomEvent as useCustomEvent3,
7200
- useHMSStore as useHMSStore27,
6566
+ selectLocalPeerID as selectLocalPeerID4,
6567
+ selectPeerNameByID,
6568
+ useCustomEvent as useCustomEvent2,
6569
+ useHMSStore as useHMSStore23,
7201
6570
  useHMSVanillaStore as useHMSVanillaStore7
7202
6571
  } from "@100mslive/react-sdk";
7203
6572
  var emojiCount = 1;
@@ -7224,17 +6593,17 @@ var getStartingPoints = (isMobile) => {
7224
6593
  return arr;
7225
6594
  };
7226
6595
  function FlyingEmoji() {
7227
- const localPeerId = useHMSStore27(selectLocalPeerID6);
6596
+ const localPeerId = useHMSStore23(selectLocalPeerID4);
7228
6597
  const vanillaStore = useHMSVanillaStore7();
7229
- const [emojis, setEmojis] = useState21([]);
7230
- const isMobile = useMedia11(config.media.md);
7231
- const startingPoints = useMemo4(() => getStartingPoints(isMobile), [isMobile]);
7232
- const showFlyingEmoji = useCallback18(
6598
+ const [emojis, setEmojis] = useState18([]);
6599
+ const isMobile = useMedia7(config.media.md);
6600
+ const startingPoints = useMemo3(() => getStartingPoints(isMobile), [isMobile]);
6601
+ const showFlyingEmoji = useCallback17(
7233
6602
  ({ emojiId, senderId }) => {
7234
6603
  if (!emojiId || !senderId || document.hidden) {
7235
6604
  return;
7236
6605
  }
7237
- const senderPeerName = vanillaStore.getState(selectPeerNameByID2(senderId));
6606
+ const senderPeerName = vanillaStore.getState(selectPeerNameByID(senderId));
7238
6607
  const nameToShow = localPeerId === senderId ? "You" : senderPeerName;
7239
6608
  const startingPoint = startingPoints[emojiCount % startingPoints.length];
7240
6609
  const id = emojiCount++;
@@ -7253,14 +6622,14 @@ function FlyingEmoji() {
7253
6622
  },
7254
6623
  [localPeerId, vanillaStore, startingPoints]
7255
6624
  );
7256
- useCustomEvent3({
6625
+ useCustomEvent2({
7257
6626
  type: EMOJI_REACTION_TYPE,
7258
6627
  onEvent: showFlyingEmoji
7259
6628
  });
7260
- useEffect26(() => {
6629
+ useEffect25(() => {
7261
6630
  window.showFlyingEmoji = showFlyingEmoji;
7262
6631
  }, [showFlyingEmoji]);
7263
- return /* @__PURE__ */ React59.createElement(
6632
+ return /* @__PURE__ */ React56.createElement(
7264
6633
  Box,
7265
6634
  {
7266
6635
  css: {
@@ -7276,7 +6645,7 @@ function FlyingEmoji() {
7276
6645
  }
7277
6646
  },
7278
6647
  emojis.map((emoji) => {
7279
- return /* @__PURE__ */ React59.createElement(
6648
+ return /* @__PURE__ */ React56.createElement(
7280
6649
  Flex,
7281
6650
  {
7282
6651
  key: emoji.id,
@@ -7292,8 +6661,8 @@ function FlyingEmoji() {
7292
6661
  setEmojis(emojis.filter((item) => item.id !== emoji.id));
7293
6662
  }
7294
6663
  },
7295
- /* @__PURE__ */ React59.createElement(Box, null, /* @__PURE__ */ React59.createElement("em-emoji", { id: emoji.emojiId, size: "48px", set: "apple" })),
7296
- /* @__PURE__ */ React59.createElement(
6664
+ /* @__PURE__ */ React56.createElement(Box, null, /* @__PURE__ */ React56.createElement("em-emoji", { id: emoji.emojiId, size: "48px", set: "apple" })),
6665
+ /* @__PURE__ */ React56.createElement(
7297
6666
  Box,
7298
6667
  {
7299
6668
  css: {
@@ -7303,7 +6672,7 @@ function FlyingEmoji() {
7303
6672
  borderRadius: "$1"
7304
6673
  }
7305
6674
  },
7306
- /* @__PURE__ */ React59.createElement(
6675
+ /* @__PURE__ */ React56.createElement(
7307
6676
  Text,
7308
6677
  {
7309
6678
  css: {
@@ -7321,45 +6690,45 @@ function FlyingEmoji() {
7321
6690
  }
7322
6691
 
7323
6692
  // src/Prebuilt/plugins/RemoteStopScreenshare.jsx
7324
- import React60, { useCallback as useCallback19 } from "react";
7325
- import { useCustomEvent as useCustomEvent4, useHMSActions as useHMSActions18 } from "@100mslive/react-sdk";
6693
+ import React57, { useCallback as useCallback18 } from "react";
6694
+ import { useCustomEvent as useCustomEvent3, useHMSActions as useHMSActions16 } from "@100mslive/react-sdk";
7326
6695
  function RemoteStopScreenshare() {
7327
- const actions = useHMSActions18();
7328
- const onRemoteStopScreenshare = useCallback19(() => __async(this, null, function* () {
6696
+ const actions = useHMSActions16();
6697
+ const onRemoteStopScreenshare = useCallback18(() => __async(this, null, function* () {
7329
6698
  yield actions.setScreenShareEnabled(false);
7330
6699
  }), [actions]);
7331
- useCustomEvent4({
6700
+ useCustomEvent3({
7332
6701
  type: REMOTE_STOP_SCREENSHARE_TYPE,
7333
6702
  onEvent: onRemoteStopScreenshare
7334
6703
  });
7335
- return /* @__PURE__ */ React60.createElement(React60.Fragment, null);
6704
+ return /* @__PURE__ */ React57.createElement(React57.Fragment, null);
7336
6705
  }
7337
6706
 
7338
6707
  // src/Prebuilt/components/hooks/useAutoStartStreaming.tsx
7339
- import { useCallback as useCallback20, useEffect as useEffect28, useRef as useRef9 } from "react";
6708
+ import { useCallback as useCallback19, useEffect as useEffect27, useRef as useRef9 } from "react";
7340
6709
  import {
7341
6710
  selectIsConnectedToRoom as selectIsConnectedToRoom5,
7342
- selectPermissions as selectPermissions4,
7343
- useHMSActions as useHMSActions19,
7344
- useHMSStore as useHMSStore29,
6711
+ selectPermissions as selectPermissions2,
6712
+ useHMSActions as useHMSActions17,
6713
+ useHMSStore as useHMSStore25,
7345
6714
  useRecordingStreaming as useRecordingStreaming5
7346
6715
  } from "@100mslive/react-sdk";
7347
6716
 
7348
6717
  // src/Prebuilt/common/hooks.js
7349
- import { useEffect as useEffect27, useRef as useRef8, useState as useState22 } from "react";
6718
+ import { useEffect as useEffect26, useRef as useRef8, useState as useState19 } from "react";
7350
6719
  import { JoinForm_JoinBtnType as JoinForm_JoinBtnType3 } from "@100mslive/types-prebuilt/elements/join_form";
7351
6720
  import {
7352
6721
  selectAvailableRoleNames as selectAvailableRoleNames2,
7353
6722
  selectIsConnectedToRoom as selectIsConnectedToRoom4,
7354
6723
  selectPeerCount,
7355
- selectPeerMetadata as selectPeerMetadata3,
6724
+ selectPeerMetadata as selectPeerMetadata2,
7356
6725
  selectPeers,
7357
6726
  selectRemotePeers,
7358
- useHMSStore as useHMSStore28,
6727
+ useHMSStore as useHMSStore24,
7359
6728
  useHMSVanillaStore as useHMSVanillaStore8
7360
6729
  } from "@100mslive/react-sdk";
7361
6730
  var useFilteredRoles = () => {
7362
- const roles = useHMSStore28(selectAvailableRoleNames2);
6731
+ const roles = useHMSStore24(selectAvailableRoleNames2);
7363
6732
  return roles;
7364
6733
  };
7365
6734
  var useShowStreamingUI = () => {
@@ -7370,15 +6739,15 @@ var useShowStreamingUI = () => {
7370
6739
  };
7371
6740
  var useParticipants2 = (params) => {
7372
6741
  var _a7;
7373
- const isConnected = useHMSStore28(selectIsConnectedToRoom4);
7374
- const peerCount = useHMSStore28(selectPeerCount);
7375
- const availableRoles = useHMSStore28(selectAvailableRoleNames2);
7376
- let participantList = useHMSStore28(isConnected ? selectPeers : selectRemotePeers);
6742
+ const isConnected = useHMSStore24(selectIsConnectedToRoom4);
6743
+ const peerCount = useHMSStore24(selectPeerCount);
6744
+ const availableRoles = useHMSStore24(selectAvailableRoleNames2);
6745
+ let participantList = useHMSStore24(isConnected ? selectPeers : selectRemotePeers);
7377
6746
  const rolesWithParticipants = Array.from(new Set(participantList.map((peer) => peer.roleName)));
7378
6747
  const vanillaStore = useHMSVanillaStore8();
7379
6748
  if ((_a7 = params == null ? void 0 : params.metadata) == null ? void 0 : _a7.isHandRaised) {
7380
6749
  participantList = participantList.filter((peer) => {
7381
- return vanillaStore.getState(selectPeerMetadata3(peer.id)).isHandRaised;
6750
+ return vanillaStore.getState(selectPeerMetadata2(peer.id)).isHandRaised;
7382
6751
  });
7383
6752
  }
7384
6753
  if ((params == null ? void 0 : params.role) && availableRoles.includes(params.role)) {
@@ -7394,13 +6763,13 @@ var useParticipants2 = (params) => {
7394
6763
  // src/Prebuilt/components/hooks/useAutoStartStreaming.tsx
7395
6764
  var useAutoStartStreaming = () => {
7396
6765
  const [isHLSStarted, setHLSStarted] = useSetAppDataByKey(APP_DATA.hlsStarted);
7397
- const permissions = useHMSStore29(selectPermissions4);
6766
+ const permissions = useHMSStore25(selectPermissions2);
7398
6767
  const showStreamingUI = useShowStreamingUI();
7399
- const hmsActions = useHMSActions19();
7400
- const isConnected = useHMSStore29(selectIsConnectedToRoom5);
6768
+ const hmsActions = useHMSActions17();
6769
+ const isConnected = useHMSStore25(selectIsConnectedToRoom5);
7401
6770
  const { isHLSRunning } = useRecordingStreaming5();
7402
6771
  const streamStartedRef = useRef9(false);
7403
- const startHLS = useCallback20(() => __async(void 0, null, function* () {
6772
+ const startHLS = useCallback19(() => __async(void 0, null, function* () {
7404
6773
  var _a7;
7405
6774
  try {
7406
6775
  if (isHLSStarted || !showStreamingUI || isHLSRunning) {
@@ -7417,12 +6786,12 @@ var useAutoStartStreaming = () => {
7417
6786
  setHLSStarted(false);
7418
6787
  }
7419
6788
  }), [hmsActions, isHLSRunning, isHLSStarted, setHLSStarted, showStreamingUI]);
7420
- useEffect28(() => {
6789
+ useEffect27(() => {
7421
6790
  if (!isHLSStarted && !isHLSRunning) {
7422
6791
  streamStartedRef.current = false;
7423
6792
  }
7424
6793
  }, [isHLSStarted, isHLSRunning]);
7425
- useEffect28(() => {
6794
+ useEffect27(() => {
7426
6795
  if (!isConnected || streamStartedRef.current || !(permissions == null ? void 0 : permissions.hlsStreaming)) {
7427
6796
  return;
7428
6797
  }
@@ -7431,8 +6800,8 @@ var useAutoStartStreaming = () => {
7431
6800
  };
7432
6801
 
7433
6802
  // src/Prebuilt/App.tsx
7434
- var Conference = React61.lazy(() => import("./conference-JNABIZBG.js"));
7435
- var HMSPrebuilt = React61.forwardRef(
6803
+ var Conference = React58.lazy(() => import("./conference-JD35TNH4.js"));
6804
+ var HMSPrebuilt = React58.forwardRef(
7436
6805
  ({
7437
6806
  roomCode = "",
7438
6807
  authToken = "",
@@ -7448,8 +6817,8 @@ var HMSPrebuilt = React61.forwardRef(
7448
6817
  var _a7, _b7, _c, _d;
7449
6818
  const metadata = "";
7450
6819
  const reactiveStore = useRef10();
7451
- const [hydrated, setHydrated] = React61.useState(false);
7452
- useEffect29(() => {
6820
+ const [hydrated, setHydrated] = React58.useState(false);
6821
+ useEffect28(() => {
7453
6822
  setHydrated(true);
7454
6823
  const hms = new HMSReactiveStore();
7455
6824
  const hmsStore = hms.getStore();
@@ -7464,13 +6833,13 @@ var HMSPrebuilt = React61.forwardRef(
7464
6833
  hmsNotifications
7465
6834
  };
7466
6835
  }, []);
7467
- useEffect29(() => {
6836
+ useEffect28(() => {
7468
6837
  if (!ref || !reactiveStore.current) {
7469
6838
  return;
7470
6839
  }
7471
6840
  ref.current = __spreadValues({}, reactiveStore.current);
7472
6841
  }, [ref]);
7473
- useEffect29(
6842
+ useEffect28(
7474
6843
  () => () => {
7475
6844
  var _a8;
7476
6845
  (_a8 = reactiveStore == null ? void 0 : reactiveStore.current) == null ? void 0 : _a8.hmsActions.leave();
@@ -7500,7 +6869,7 @@ var HMSPrebuilt = React61.forwardRef(
7500
6869
  return null;
7501
6870
  }
7502
6871
  globalStyles();
7503
- return /* @__PURE__ */ React61.createElement(ErrorBoundary, null, /* @__PURE__ */ React61.createElement(
6872
+ return /* @__PURE__ */ React58.createElement(ErrorBoundary, null, /* @__PURE__ */ React58.createElement(
7504
6873
  HMSPrebuiltContext.Provider,
7505
6874
  {
7506
6875
  value: {
@@ -7518,7 +6887,7 @@ var HMSPrebuilt = React61.forwardRef(
7518
6887
  }
7519
6888
  }
7520
6889
  },
7521
- /* @__PURE__ */ React61.createElement(
6890
+ /* @__PURE__ */ React58.createElement(
7522
6891
  HMSRoomProvider,
7523
6892
  {
7524
6893
  isHMSStatsOn: FeatureFlags.enableStatsForNerds,
@@ -7527,7 +6896,7 @@ var HMSPrebuilt = React61.forwardRef(
7527
6896
  notifications: (_c = reactiveStore.current) == null ? void 0 : _c.hmsNotifications,
7528
6897
  stats: (_d = reactiveStore.current) == null ? void 0 : _d.hmsStats
7529
6898
  },
7530
- /* @__PURE__ */ React61.createElement(RoomLayoutProvider, { roomLayoutEndpoint, overrideLayout }, /* @__PURE__ */ React61.createElement(RoomLayoutContext.Consumer, null, (data) => {
6899
+ /* @__PURE__ */ React58.createElement(RoomLayoutProvider, { roomLayoutEndpoint, overrideLayout }, /* @__PURE__ */ React58.createElement(RoomLayoutContext.Consumer, null, (data) => {
7531
6900
  var _a8;
7532
6901
  const layout = data == null ? void 0 : data.layout;
7533
6902
  const theme2 = ((_a8 = layout == null ? void 0 : layout.themes) == null ? void 0 : _a8[0]) || {};
@@ -7536,7 +6905,7 @@ var HMSPrebuilt = React61.forwardRef(
7536
6905
  if (typography2 == null ? void 0 : typography2.font_family) {
7537
6906
  fontFamily = [`${typography2 == null ? void 0 : typography2.font_family}`, ...fontFamily];
7538
6907
  }
7539
- return /* @__PURE__ */ React61.createElement(
6908
+ return /* @__PURE__ */ React58.createElement(
7540
6909
  HMSThemeProvider,
7541
6910
  {
7542
6911
  themeType: `${theme2.name}-${Date.now()}`,
@@ -7549,11 +6918,12 @@ var HMSPrebuilt = React61.forwardRef(
7549
6918
  }
7550
6919
  }
7551
6920
  },
7552
- /* @__PURE__ */ React61.createElement(AppData, { appDetails: metadata, tokenEndpoint: tokenByRoomIdRoleEndpoint }),
7553
- /* @__PURE__ */ React61.createElement(Init, null),
7554
- /* @__PURE__ */ React61.createElement(
6921
+ /* @__PURE__ */ React58.createElement(AppData, { appDetails: metadata, tokenEndpoint: tokenByRoomIdRoleEndpoint }),
6922
+ /* @__PURE__ */ React58.createElement(Init, null),
6923
+ /* @__PURE__ */ React58.createElement(
7555
6924
  Box,
7556
6925
  {
6926
+ id: "prebuilt-container",
7557
6927
  css: {
7558
6928
  bg: "$background_dim",
7559
6929
  size: "100%",
@@ -7561,7 +6931,7 @@ var HMSPrebuilt = React61.forwardRef(
7561
6931
  "-webkit-text-size-adjust": "100%"
7562
6932
  }
7563
6933
  },
7564
- /* @__PURE__ */ React61.createElement(AppRoutes, { authTokenByRoomCodeEndpoint: tokenByRoomCodeEndpoint, defaultAuthToken: authToken })
6934
+ /* @__PURE__ */ React58.createElement(AppRoutes, { authTokenByRoomCodeEndpoint: tokenByRoomCodeEndpoint, defaultAuthToken: authToken })
7565
6935
  )
7566
6936
  );
7567
6937
  }))
@@ -7572,42 +6942,42 @@ var HMSPrebuilt = React61.forwardRef(
7572
6942
  HMSPrebuilt.displayName = "HMSPrebuilt";
7573
6943
  var Redirector = ({ showPreview }) => {
7574
6944
  const { roomId, role } = useParams5();
7575
- return /* @__PURE__ */ React61.createElement(Navigate, { to: `/${showPreview ? "preview" : "meeting"}/${roomId}/${role || ""}` });
6945
+ return /* @__PURE__ */ React58.createElement(Navigate, { to: `/${showPreview ? "preview" : "meeting"}/${roomId}/${role || ""}` });
7576
6946
  };
7577
6947
  var RouteList = () => {
7578
6948
  const { isPreviewScreenEnabled } = useRoomLayoutPreviewScreen();
7579
6949
  const { isLeaveScreenEnabled } = useRoomLayoutLeaveScreen();
7580
6950
  useAutoStartStreaming();
7581
- return /* @__PURE__ */ React61.createElement(Routes, null, isPreviewScreenEnabled ? /* @__PURE__ */ React61.createElement(Route, { path: "preview" }, /* @__PURE__ */ React61.createElement(
6951
+ return /* @__PURE__ */ React58.createElement(Routes, null, isPreviewScreenEnabled ? /* @__PURE__ */ React58.createElement(Route, { path: "preview" }, /* @__PURE__ */ React58.createElement(
7582
6952
  Route,
7583
6953
  {
7584
6954
  path: ":roomId/:role",
7585
- element: /* @__PURE__ */ React61.createElement(Suspense2, { fallback: /* @__PURE__ */ React61.createElement(FullPageProgress_default, { text: "Loading preview..." }) }, /* @__PURE__ */ React61.createElement(PreviewContainer_default, null))
6955
+ element: /* @__PURE__ */ React58.createElement(Suspense2, { fallback: /* @__PURE__ */ React58.createElement(FullPageProgress_default, { text: "Loading preview..." }) }, /* @__PURE__ */ React58.createElement(PreviewContainer_default, null))
7586
6956
  }
7587
- ), /* @__PURE__ */ React61.createElement(
6957
+ ), /* @__PURE__ */ React58.createElement(
7588
6958
  Route,
7589
6959
  {
7590
6960
  path: ":roomId",
7591
- element: /* @__PURE__ */ React61.createElement(Suspense2, { fallback: /* @__PURE__ */ React61.createElement(FullPageProgress_default, { text: "Loading preview..." }) }, /* @__PURE__ */ React61.createElement(PreviewContainer_default, null))
6961
+ element: /* @__PURE__ */ React58.createElement(Suspense2, { fallback: /* @__PURE__ */ React58.createElement(FullPageProgress_default, { text: "Loading preview..." }) }, /* @__PURE__ */ React58.createElement(PreviewContainer_default, null))
7592
6962
  }
7593
- )) : null, /* @__PURE__ */ React61.createElement(Route, { path: "meeting" }, /* @__PURE__ */ React61.createElement(
6963
+ )) : null, /* @__PURE__ */ React58.createElement(Route, { path: "meeting" }, /* @__PURE__ */ React58.createElement(
7594
6964
  Route,
7595
6965
  {
7596
6966
  path: ":roomId/:role",
7597
- element: /* @__PURE__ */ React61.createElement(Suspense2, { fallback: /* @__PURE__ */ React61.createElement(FullPageProgress_default, { text: "Joining..." }) }, /* @__PURE__ */ React61.createElement(Conference, null))
6967
+ element: /* @__PURE__ */ React58.createElement(Suspense2, { fallback: /* @__PURE__ */ React58.createElement(FullPageProgress_default, { text: "Joining..." }) }, /* @__PURE__ */ React58.createElement(Conference, null))
7598
6968
  }
7599
- ), /* @__PURE__ */ React61.createElement(
6969
+ ), /* @__PURE__ */ React58.createElement(
7600
6970
  Route,
7601
6971
  {
7602
6972
  path: ":roomId",
7603
- element: /* @__PURE__ */ React61.createElement(Suspense2, { fallback: /* @__PURE__ */ React61.createElement(FullPageProgress_default, { text: "Joining..." }) }, /* @__PURE__ */ React61.createElement(Conference, null))
6973
+ element: /* @__PURE__ */ React58.createElement(Suspense2, { fallback: /* @__PURE__ */ React58.createElement(FullPageProgress_default, { text: "Joining..." }) }, /* @__PURE__ */ React58.createElement(Conference, null))
7604
6974
  }
7605
- )), isLeaveScreenEnabled ? /* @__PURE__ */ React61.createElement(Route, { path: "leave" }, /* @__PURE__ */ React61.createElement(Route, { path: ":roomId/:role", element: /* @__PURE__ */ React61.createElement(PostLeave_default, null) }), /* @__PURE__ */ React61.createElement(Route, { path: ":roomId", element: /* @__PURE__ */ React61.createElement(PostLeave_default, null) })) : null, /* @__PURE__ */ React61.createElement(Route, { path: "/:roomId/:role", element: /* @__PURE__ */ React61.createElement(Redirector, { showPreview: isPreviewScreenEnabled }) }), /* @__PURE__ */ React61.createElement(Route, { path: "/:roomId/", element: /* @__PURE__ */ React61.createElement(Redirector, { showPreview: isPreviewScreenEnabled }) }));
6975
+ )), isLeaveScreenEnabled ? /* @__PURE__ */ React58.createElement(Route, { path: "leave" }, /* @__PURE__ */ React58.createElement(Route, { path: ":roomId/:role", element: /* @__PURE__ */ React58.createElement(PostLeave_default, null) }), /* @__PURE__ */ React58.createElement(Route, { path: ":roomId", element: /* @__PURE__ */ React58.createElement(PostLeave_default, null) })) : null, /* @__PURE__ */ React58.createElement(Route, { path: "/:roomId/:role", element: /* @__PURE__ */ React58.createElement(Redirector, { showPreview: isPreviewScreenEnabled }) }), /* @__PURE__ */ React58.createElement(Route, { path: "/:roomId/", element: /* @__PURE__ */ React58.createElement(Redirector, { showPreview: isPreviewScreenEnabled }) }));
7606
6976
  };
7607
6977
  var BackSwipe = () => {
7608
- const isConnectedToRoom = useHMSStore30(selectIsConnectedToRoom6);
7609
- const hmsActions = useHMSActions20();
7610
- useEffect29(() => {
6978
+ const isConnectedToRoom = useHMSStore26(selectIsConnectedToRoom6);
6979
+ const hmsActions = useHMSActions18();
6980
+ useEffect28(() => {
7611
6981
  const onRouteLeave = () => __async(void 0, null, function* () {
7612
6982
  if (isConnectedToRoom) {
7613
6983
  yield hmsActions.leave();
@@ -7622,7 +6992,7 @@ var BackSwipe = () => {
7622
6992
  };
7623
6993
  var Router = ({ children }) => {
7624
6994
  const { roomId, role, roomCode } = useHMSPrebuiltContext();
7625
- return [roomId, role, roomCode].every((value) => !value) ? /* @__PURE__ */ React61.createElement(BrowserRouter, null, children) : /* @__PURE__ */ React61.createElement(MemoryRouter, { initialEntries: [`/${roomCode ? roomCode : `${roomId}/${role || ""}`}`], initialIndex: 0 }, children);
6995
+ return [roomId, role, roomCode].every((value) => !value) ? /* @__PURE__ */ React58.createElement(BrowserRouter, null, children) : /* @__PURE__ */ React58.createElement(MemoryRouter, { initialEntries: [`/${roomCode ? roomCode : `${roomId}/${role || ""}`}`], initialIndex: 0 }, children);
7626
6996
  };
7627
6997
  function AppRoutes({
7628
6998
  authTokenByRoomCodeEndpoint,
@@ -7630,7 +7000,7 @@ function AppRoutes({
7630
7000
  }) {
7631
7001
  const roomLayout = useRoomLayout();
7632
7002
  const isNotificationsDisabled = useIsNotificationDisabled();
7633
- return /* @__PURE__ */ React61.createElement(Router, null, /* @__PURE__ */ React61.createElement(React61.Fragment, null, /* @__PURE__ */ React61.createElement(ToastContainer, null), /* @__PURE__ */ React61.createElement(Notifications, null), /* @__PURE__ */ React61.createElement(BackSwipe, null), !isNotificationsDisabled && /* @__PURE__ */ React61.createElement(FlyingEmoji, null), /* @__PURE__ */ React61.createElement(RemoteStopScreenshare, null), /* @__PURE__ */ React61.createElement(KeyboardHandler, null), /* @__PURE__ */ React61.createElement(AuthToken_default, { authTokenByRoomCodeEndpoint, defaultAuthToken }), roomLayout && /* @__PURE__ */ React61.createElement(Routes, null, /* @__PURE__ */ React61.createElement(Route, { path: "/*", element: /* @__PURE__ */ React61.createElement(RouteList, null) }))));
7003
+ return /* @__PURE__ */ React58.createElement(Router, null, /* @__PURE__ */ React58.createElement(React58.Fragment, null, /* @__PURE__ */ React58.createElement(ToastContainer, null), /* @__PURE__ */ React58.createElement(Notifications, null), /* @__PURE__ */ React58.createElement(BackSwipe, null), !isNotificationsDisabled && /* @__PURE__ */ React58.createElement(FlyingEmoji, null), /* @__PURE__ */ React58.createElement(RemoteStopScreenshare, null), /* @__PURE__ */ React58.createElement(KeyboardHandler, null), /* @__PURE__ */ React58.createElement(AuthToken_default, { authTokenByRoomCodeEndpoint, defaultAuthToken }), roomLayout && /* @__PURE__ */ React58.createElement(Routes, null, /* @__PURE__ */ React58.createElement(Route, { path: "/*", element: /* @__PURE__ */ React58.createElement(RouteList, null) }))));
7634
7004
  }
7635
7005
 
7636
7006
  // src/Progress/index.tsx
@@ -7673,6 +7043,7 @@ export {
7673
7043
  Video,
7674
7044
  StyledMenuTile,
7675
7045
  useBorderAudioLevel,
7046
+ AudioLevel,
7676
7047
  Popover2 as Popover,
7677
7048
  VideoTileStats,
7678
7049
  Checkbox,
@@ -7697,6 +7068,7 @@ export {
7697
7068
  APP_DATA,
7698
7069
  UI_SETTINGS,
7699
7070
  SIDE_PANE_OPTIONS,
7071
+ REMOTE_STOP_SCREENSHARE_TYPE,
7700
7072
  isChrome,
7701
7073
  isIOS,
7702
7074
  isMacOS,
@@ -7717,6 +7089,7 @@ export {
7717
7089
  useSetSubscribedChatSelector,
7718
7090
  useSetAppDataByKey,
7719
7091
  useHMSPrebuiltContext,
7092
+ PrebuiltDialogPortal,
7720
7093
  DialogContent,
7721
7094
  DialogRow,
7722
7095
  DialogCol,
@@ -7736,15 +7109,12 @@ export {
7736
7109
  StopRecordingInSheet,
7737
7110
  Header2 as Header,
7738
7111
  AudioVideoToggle,
7112
+ Chip_default,
7739
7113
  ConnectionIndicator,
7114
+ TileConnection_default,
7740
7115
  DialogDropdownTrigger,
7741
7116
  useDropdownSelection,
7742
7117
  SettingsModal_default,
7743
- ChangeNameModal,
7744
- useDropdownList,
7745
- TileMenu_default,
7746
- getVideoTileLabel,
7747
- VideoTile_default,
7748
7118
  PreviewTile,
7749
7119
  PreviewControls,
7750
7120
  useFilteredRoles,
@@ -7752,4 +7122,4 @@ export {
7752
7122
  HMSPrebuilt,
7753
7123
  Progress
7754
7124
  };
7755
- //# sourceMappingURL=chunk-Z7P5WITU.js.map
7125
+ //# sourceMappingURL=chunk-GLYGPYNS.js.map