@naviedu/room-platform-react 0.0.65 → 0.0.68

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.
package/index.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- import { Component, useContext, createContext, forwardRef, useState, useRef, useEffect, useLayoutEffect, useMemo, useCallback, useId } from 'react';
3
+ import { Component, useContext, createContext, forwardRef, useState, useRef, useEffect, useLayoutEffect, useMemo, useCallback, useId, useInsertionEffect } from 'react';
4
4
  import { Slot, AlertDialog as AlertDialog$1, Dialog as Dialog$1, Select as Select$1, Tabs as Tabs$1, Tooltip as Tooltip$1 } from 'radix-ui';
5
5
  import { Minimize2, Maximize2, XIcon, ChevronDownIcon, CheckIcon, ChevronUpIcon, Loader2Icon, PhoneOff, Bell, PhoneCall, Hand, VideoOff, ChevronUp, SunDim, Images, ImageUp, Plus, Trash2, Settings, ArrowLeftRight, Monitor, LogOut, Mic, Camera, X, ChevronLeft, ChevronRight, PanelRightOpen, PanelRightClose, Power, Check } from 'lucide-react';
6
6
  import { RoomEvent, TrackEvent, Track, createLocalVideoTrack, Room, DataPacket_Kind } from 'livekit-client';
@@ -90,7 +90,7 @@ function _inherits$2(subClass, superClass) {
90
90
  if (superClass) _set_prototype_of$2(subClass, superClass);
91
91
  }
92
92
  function _possible_constructor_return$2(self, call) {
93
- if (call && (_type_of$e(call) === "object" || typeof call === "function")) {
93
+ if (call && (_type_of$j(call) === "object" || typeof call === "function")) {
94
94
  return call;
95
95
  }
96
96
  return _assert_this_initialized$2(self);
@@ -102,7 +102,7 @@ function _set_prototype_of$2(o, p) {
102
102
  };
103
103
  return _set_prototype_of$2(o, p);
104
104
  }
105
- function _type_of$e(obj) {
105
+ function _type_of$j(obj) {
106
106
  "@swc/helpers - typeof";
107
107
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
108
108
  }
@@ -250,12 +250,12 @@ var RoomPlatformAction = /*#__PURE__*/ function(RoomPlatformAction) {
250
250
  var _obj;
251
251
  var roomActionCapabilities = (_obj = {}, _define_property$C(_obj, "private_room.invite", RoomPlatformCapability.PRIVATE_ROOM_INVITE), _define_property$C(_obj, "private_room.respond", RoomPlatformCapability.PRIVATE_ROOM_RESPOND), _define_property$C(_obj, "private_room.close", RoomPlatformCapability.PRIVATE_ROOM_CLOSE), _define_property$C(_obj, "private_room.screen_share.start", RoomPlatformCapability.MEDIA_SHARE_SCREEN), _define_property$C(_obj, "private_room.screen_share.stop", RoomPlatformCapability.MEDIA_SHARE_SCREEN), _define_property$C(_obj, "monitor.start", RoomPlatformCapability.MONITOR_MANAGE), _define_property$C(_obj, "monitor.stop", RoomPlatformCapability.MONITOR_MANAGE), _define_property$C(_obj, "moderation.mute", RoomPlatformCapability.ROOM_MODERATE), _define_property$C(_obj, "moderation.remove", RoomPlatformCapability.ROOM_MODERATE), _define_property$C(_obj, "moderation.lower_hand", RoomPlatformCapability.ROOM_MODERATE), _define_property$C(_obj, "whiteboard.clear", RoomPlatformCapability.WHITEBOARD_CLEAR), _define_property$C(_obj, "speak.request", RoomPlatformCapability.ROOM_SPEAK_REQUEST), _define_property$C(_obj, "speak.cancel", RoomPlatformCapability.ROOM_SPEAK_REQUEST), _define_property$C(_obj, "speak.approve", RoomPlatformCapability.ROOM_MODERATE), _define_property$C(_obj, "speak.reject", RoomPlatformCapability.ROOM_MODERATE), _define_property$C(_obj, "speaker.set", RoomPlatformCapability.ROOM_MODERATE), _define_property$C(_obj, "speaker.clear", RoomPlatformCapability.ROOM_MODERATE), _define_property$C(_obj, "room.mode.set", RoomPlatformCapability.ROOM_SET_MODE), _obj);
252
252
 
253
- function _type_of$d(obj) {
253
+ function _type_of$i(obj) {
254
254
  "@swc/helpers - typeof";
255
255
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
256
256
  }
257
257
  var isRoomControlState = function(value) {
258
- if (!value || (typeof value === "undefined" ? "undefined" : _type_of$d(value)) !== 'object' || Array.isArray(value)) return false;
258
+ if (!value || (typeof value === "undefined" ? "undefined" : _type_of$i(value)) !== 'object' || Array.isArray(value)) return false;
259
259
  var state = value;
260
260
  var monitorViewerCount = state['monitorViewerCount'];
261
261
  return typeof state['revision'] === 'string' && /^\d+$/.test(state['revision']) && typeof state['mode'] === 'string' && state['mode'].trim().length > 0 && state['mode'].length <= 64 && Array.isArray(state['raisedHandParticipantIdentities']) && state['raisedHandParticipantIdentities'].every(function(identity) {
@@ -263,14 +263,14 @@ var isRoomControlState = function(value) {
263
263
  }) && (state['activeSpeakerParticipantIdentity'] === undefined || typeof state['activeSpeakerParticipantIdentity'] === 'string') && (state['activeSpeakerTurnId'] === undefined || typeof state['activeSpeakerTurnId'] === 'string' && state['activeSpeakerTurnId'].trim().length > 0) && (state['activeSpeakerTurnId'] === undefined || state['activeSpeakerParticipantIdentity'] !== undefined) && typeof state['monitorActive'] === 'boolean' && typeof monitorViewerCount === 'number' && Number.isInteger(monitorViewerCount) && monitorViewerCount >= 0 && state['monitorActive'] === monitorViewerCount > 0 && state['monitorViewers'] === undefined && state['storageRevision'] === undefined && state['recentActiveSpeakerTurn'] === undefined;
264
264
  };
265
265
 
266
- function _type_of$c(obj) {
266
+ function _type_of$h(obj) {
267
267
  "@swc/helpers - typeof";
268
268
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
269
269
  }
270
270
  function r(e) {
271
271
  var t, f, n = "";
272
272
  if ("string" == typeof e || "number" == typeof e) n += e;
273
- else if ("object" == (typeof e === "undefined" ? "undefined" : _type_of$c(e))) if (Array.isArray(e)) {
273
+ else if ("object" == (typeof e === "undefined" ? "undefined" : _type_of$h(e))) if (Array.isArray(e)) {
274
274
  var o = e.length;
275
275
  for(t = 0; t < o; t++)e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
276
276
  } else for(f in e)e[f] && (n && (n += " "), n += f);
@@ -281,16 +281,16 @@ function clsx() {
281
281
  return n;
282
282
  }
283
283
 
284
- function _array_like_to_array$D(arr, len) {
284
+ function _array_like_to_array$E(arr, len) {
285
285
  if (len == null || len > arr.length) len = arr.length;
286
286
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
287
287
  return arr2;
288
288
  }
289
- function _array_with_holes$y(arr) {
289
+ function _array_with_holes$z(arr) {
290
290
  if (Array.isArray(arr)) return arr;
291
291
  }
292
292
  function _array_without_holes$h(arr) {
293
- if (Array.isArray(arr)) return _array_like_to_array$D(arr);
293
+ if (Array.isArray(arr)) return _array_like_to_array$E(arr);
294
294
  }
295
295
  function _define_property$B(obj, key, value) {
296
296
  if (key in obj) {
@@ -308,7 +308,7 @@ function _define_property$B(obj, key, value) {
308
308
  function _iterable_to_array$h(iter) {
309
309
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
310
310
  }
311
- function _iterable_to_array_limit$y(arr, i) {
311
+ function _iterable_to_array_limit$z(arr, i) {
312
312
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
313
313
  if (_i == null) return;
314
314
  var _arr = [];
@@ -332,7 +332,7 @@ function _iterable_to_array_limit$y(arr, i) {
332
332
  }
333
333
  return _arr;
334
334
  }
335
- function _non_iterable_rest$y() {
335
+ function _non_iterable_rest$z() {
336
336
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
337
337
  }
338
338
  function _non_iterable_spread$h() {
@@ -353,19 +353,19 @@ function _object_spread$y(target) {
353
353
  }
354
354
  return target;
355
355
  }
356
- function _sliced_to_array$y(arr, i) {
357
- return _array_with_holes$y(arr) || _iterable_to_array_limit$y(arr, i) || _unsupported_iterable_to_array$D(arr, i) || _non_iterable_rest$y();
356
+ function _sliced_to_array$z(arr, i) {
357
+ return _array_with_holes$z(arr) || _iterable_to_array_limit$z(arr, i) || _unsupported_iterable_to_array$E(arr, i) || _non_iterable_rest$z();
358
358
  }
359
359
  function _to_consumable_array$h(arr) {
360
- return _array_without_holes$h(arr) || _iterable_to_array$h(arr) || _unsupported_iterable_to_array$D(arr) || _non_iterable_spread$h();
360
+ return _array_without_holes$h(arr) || _iterable_to_array$h(arr) || _unsupported_iterable_to_array$E(arr) || _non_iterable_spread$h();
361
361
  }
362
- function _unsupported_iterable_to_array$D(o, minLen) {
362
+ function _unsupported_iterable_to_array$E(o, minLen) {
363
363
  if (!o) return;
364
- if (typeof o === "string") return _array_like_to_array$D(o, minLen);
364
+ if (typeof o === "string") return _array_like_to_array$E(o, minLen);
365
365
  var n = Object.prototype.toString.call(o).slice(8, -1);
366
366
  if (n === "Object" && o.constructor) n = o.constructor.name;
367
367
  if (n === "Map" || n === "Set") return Array.from(n);
368
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$D(o, minLen);
368
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$E(o, minLen);
369
369
  }
370
370
  /**
371
371
  * Concatenates two arrays faster than the array spread operator.
@@ -524,7 +524,7 @@ var processObjectDefinition = function(classDefinition, classPartObject, classGr
524
524
  var entries = Object.entries(classDefinition);
525
525
  var len = entries.length;
526
526
  for(var i = 0; i < len; i++){
527
- var _entries_i = _sliced_to_array$y(entries[i], 2), key = _entries_i[0], value = _entries_i[1];
527
+ var _entries_i = _sliced_to_array$z(entries[i], 2), key = _entries_i[0], value = _entries_i[1];
528
528
  processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme);
529
529
  }
530
530
  };
@@ -5314,16 +5314,16 @@ function cn() {
5314
5314
  return twMerge(clsx(inputs));
5315
5315
  }
5316
5316
 
5317
- function _array_like_to_array$C(arr, len) {
5317
+ function _array_like_to_array$D(arr, len) {
5318
5318
  if (len == null || len > arr.length) len = arr.length;
5319
5319
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
5320
5320
  return arr2;
5321
5321
  }
5322
- function _array_with_holes$x(arr) {
5322
+ function _array_with_holes$y(arr) {
5323
5323
  if (Array.isArray(arr)) return arr;
5324
5324
  }
5325
5325
  function _array_without_holes$g(arr) {
5326
- if (Array.isArray(arr)) return _array_like_to_array$C(arr);
5326
+ if (Array.isArray(arr)) return _array_like_to_array$D(arr);
5327
5327
  }
5328
5328
  function _define_property$A(obj, key, value) {
5329
5329
  if (key in obj) {
@@ -5341,7 +5341,7 @@ function _define_property$A(obj, key, value) {
5341
5341
  function _iterable_to_array$g(iter) {
5342
5342
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
5343
5343
  }
5344
- function _iterable_to_array_limit$x(arr, i) {
5344
+ function _iterable_to_array_limit$y(arr, i) {
5345
5345
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
5346
5346
  if (_i == null) return;
5347
5347
  var _arr = [];
@@ -5365,7 +5365,7 @@ function _iterable_to_array_limit$x(arr, i) {
5365
5365
  }
5366
5366
  return _arr;
5367
5367
  }
5368
- function _non_iterable_rest$x() {
5368
+ function _non_iterable_rest$y() {
5369
5369
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5370
5370
  }
5371
5371
  function _non_iterable_spread$g() {
@@ -5422,19 +5422,19 @@ function _object_without_properties_loose$f(source, excluded) {
5422
5422
  }
5423
5423
  return target;
5424
5424
  }
5425
- function _sliced_to_array$x(arr, i) {
5426
- return _array_with_holes$x(arr) || _iterable_to_array_limit$x(arr, i) || _unsupported_iterable_to_array$C(arr, i) || _non_iterable_rest$x();
5425
+ function _sliced_to_array$y(arr, i) {
5426
+ return _array_with_holes$y(arr) || _iterable_to_array_limit$y(arr, i) || _unsupported_iterable_to_array$D(arr, i) || _non_iterable_rest$y();
5427
5427
  }
5428
5428
  function _to_consumable_array$g(arr) {
5429
- return _array_without_holes$g(arr) || _iterable_to_array$g(arr) || _unsupported_iterable_to_array$C(arr) || _non_iterable_spread$g();
5429
+ return _array_without_holes$g(arr) || _iterable_to_array$g(arr) || _unsupported_iterable_to_array$D(arr) || _non_iterable_spread$g();
5430
5430
  }
5431
- function _unsupported_iterable_to_array$C(o, minLen) {
5431
+ function _unsupported_iterable_to_array$D(o, minLen) {
5432
5432
  if (!o) return;
5433
- if (typeof o === "string") return _array_like_to_array$C(o, minLen);
5433
+ if (typeof o === "string") return _array_like_to_array$D(o, minLen);
5434
5434
  var n = Object.prototype.toString.call(o).slice(8, -1);
5435
5435
  if (n === "Object" && o.constructor) n = o.constructor.name;
5436
5436
  if (n === "Map" || n === "Set") return Array.from(n);
5437
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$C(o, minLen);
5437
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$D(o, minLen);
5438
5438
  }
5439
5439
  var falsyToString = function(value) {
5440
5440
  return typeof value === "boolean" ? "".concat(value) : value === 0 ? "0" : value;
@@ -5453,7 +5453,7 @@ var cva = function(base, config) {
5453
5453
  return variants[variant][variantKey];
5454
5454
  });
5455
5455
  var propsWithoutUndefined = props && Object.entries(props).reduce(function(acc, param) {
5456
- var _param = _sliced_to_array$x(param, 2), key = _param[0], value = _param[1];
5456
+ var _param = _sliced_to_array$y(param, 2), key = _param[0], value = _param[1];
5457
5457
  if (value === undefined) {
5458
5458
  return acc;
5459
5459
  }
@@ -5466,7 +5466,7 @@ var cva = function(base, config) {
5466
5466
  "className"
5467
5467
  ]);
5468
5468
  return Object.entries(compoundVariantOptions).every(function(param) {
5469
- var _param = _sliced_to_array$x(param, 2), key = _param[0], value = _param[1];
5469
+ var _param = _sliced_to_array$y(param, 2), key = _param[0], value = _param[1];
5470
5470
  return Array.isArray(value) ? value.includes(_object_spread$x({}, defaultVariants, propsWithoutUndefined)[key]) : _object_spread$x({}, defaultVariants, propsWithoutUndefined)[key] === value;
5471
5471
  }) ? _to_consumable_array$g(acc).concat([
5472
5472
  cvClass,
@@ -5915,12 +5915,12 @@ function Badge(_0) {
5915
5915
  }, props));
5916
5916
  }
5917
5917
 
5918
- function _array_like_to_array$B(arr, len) {
5918
+ function _array_like_to_array$C(arr, len) {
5919
5919
  if (len == null || len > arr.length) len = arr.length;
5920
5920
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
5921
5921
  return arr2;
5922
5922
  }
5923
- function _array_with_holes$w(arr) {
5923
+ function _array_with_holes$x(arr) {
5924
5924
  if (Array.isArray(arr)) return arr;
5925
5925
  }
5926
5926
  function _define_property$w(obj, key, value) {
@@ -5950,7 +5950,7 @@ function _extends$2() {
5950
5950
  };
5951
5951
  return _extends$2.apply(this, arguments);
5952
5952
  }
5953
- function _iterable_to_array_limit$w(arr, i) {
5953
+ function _iterable_to_array_limit$x(arr, i) {
5954
5954
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
5955
5955
  if (_i == null) return;
5956
5956
  var _arr = [];
@@ -5974,7 +5974,7 @@ function _iterable_to_array_limit$w(arr, i) {
5974
5974
  }
5975
5975
  return _arr;
5976
5976
  }
5977
- function _non_iterable_rest$w() {
5977
+ function _non_iterable_rest$x() {
5978
5978
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5979
5979
  }
5980
5980
  function _object_destructuring_empty$2(o) {
@@ -6051,16 +6051,16 @@ function _object_without_properties_loose$b(source, excluded) {
6051
6051
  }
6052
6052
  return target;
6053
6053
  }
6054
- function _sliced_to_array$w(arr, i) {
6055
- return _array_with_holes$w(arr) || _iterable_to_array_limit$w(arr, i) || _unsupported_iterable_to_array$B(arr, i) || _non_iterable_rest$w();
6054
+ function _sliced_to_array$x(arr, i) {
6055
+ return _array_with_holes$x(arr) || _iterable_to_array_limit$x(arr, i) || _unsupported_iterable_to_array$C(arr, i) || _non_iterable_rest$x();
6056
6056
  }
6057
- function _unsupported_iterable_to_array$B(o, minLen) {
6057
+ function _unsupported_iterable_to_array$C(o, minLen) {
6058
6058
  if (!o) return;
6059
- if (typeof o === "string") return _array_like_to_array$B(o, minLen);
6059
+ if (typeof o === "string") return _array_like_to_array$C(o, minLen);
6060
6060
  var n = Object.prototype.toString.call(o).slice(8, -1);
6061
6061
  if (n === "Object" && o.constructor) n = o.constructor.name;
6062
6062
  if (n === "Map" || n === "Set") return Array.from(n);
6063
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$B(o, minLen);
6063
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$C(o, minLen);
6064
6064
  }
6065
6065
  function Dialog(_0) {
6066
6066
  _object_destructuring_empty$2(_0); var props = _extends$2({}, _0);
@@ -6096,7 +6096,7 @@ function DialogContent(_0) {
6096
6096
  "showCloseButton",
6097
6097
  "maximizable"
6098
6098
  ]);
6099
- var _React_useState = _sliced_to_array$w(React.useState(false), 2), isMaximized = _React_useState[0], setIsMaximized = _React_useState[1];
6099
+ var _React_useState = _sliced_to_array$x(React.useState(false), 2), isMaximized = _React_useState[0], setIsMaximized = _React_useState[1];
6100
6100
  return /*#__PURE__*/ jsxs(DialogPortal, {
6101
6101
  children: [
6102
6102
  /*#__PURE__*/ jsx(DialogOverlay, {}),
@@ -6745,7 +6745,7 @@ function TooltipContent(_0) {
6745
6745
  });
6746
6746
  }
6747
6747
 
6748
- function _type_of$b(obj) {
6748
+ function _type_of$g(obj) {
6749
6749
  "@swc/helpers - typeof";
6750
6750
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
6751
6751
  }
@@ -6756,7 +6756,7 @@ var parseRoomControlRealtimeEvent = function(payload, topic) {
6756
6756
  var value = JSON.parse(new TextDecoder('utf-8', {
6757
6757
  fatal: true
6758
6758
  }).decode(payload));
6759
- if (!value || (typeof value === "undefined" ? "undefined" : _type_of$b(value)) !== 'object' || Array.isArray(value)) return undefined;
6759
+ if (!value || (typeof value === "undefined" ? "undefined" : _type_of$g(value)) !== 'object' || Array.isArray(value)) return undefined;
6760
6760
  var event = value;
6761
6761
  if (event.type === 'control_state.updated' && typeof event.actionId === 'string' && isRoomControlState(event.state)) {
6762
6762
  return {
@@ -6812,7 +6812,7 @@ function useWhiteboard() {
6812
6812
  return context;
6813
6813
  }
6814
6814
 
6815
- function _type_of$a(obj) {
6815
+ function _type_of$f(obj) {
6816
6816
  "@swc/helpers - typeof";
6817
6817
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
6818
6818
  }
@@ -6855,14 +6855,14 @@ var whiteboardAnnotationOperationTypes = [
6855
6855
  WHITEBOARD_CLEAR_OPERATION,
6856
6856
  WHITEBOARD_RESTORE_CLEAR_OPERATION
6857
6857
  ];
6858
- var isRecord = function(value) {
6859
- return (typeof value === "undefined" ? "undefined" : _type_of$a(value)) === 'object' && value !== null && !Array.isArray(value);
6858
+ var isRecord$1 = function(value) {
6859
+ return (typeof value === "undefined" ? "undefined" : _type_of$f(value)) === 'object' && value !== null && !Array.isArray(value);
6860
6860
  };
6861
6861
  var isNormalizedCoordinate = function(value) {
6862
6862
  return typeof value === 'number' && Number.isFinite(value) && value >= 0 && value <= 1;
6863
6863
  };
6864
6864
  var isWhiteboardNormalizedPoint = function(value) {
6865
- return isRecord(value) && isNormalizedCoordinate(value['x']) && isNormalizedCoordinate(value['y']);
6865
+ return isRecord$1(value) && isNormalizedCoordinate(value['x']) && isNormalizedCoordinate(value['y']);
6866
6866
  };
6867
6867
  var isWhiteboardStrokeWidthPreset = function(value) {
6868
6868
  return typeof value === 'string' && whiteboardStrokeWidthPresets.includes(value);
@@ -6882,31 +6882,31 @@ var isIsoDate = function(value) {
6882
6882
  return !Number.isNaN(date.getTime()) && date.toISOString() === value;
6883
6883
  };
6884
6884
  var isWhiteboardStrokeObjectPayload = function(value) {
6885
- return isRecord(value) && isWhiteboardFreehandKind(value['kind']) && typeof value['color'] === 'string' && isWhiteboardStrokeWidthPreset(value['widthPreset']) && Array.isArray(value['points']) && value['points'].every(function(point) {
6885
+ return isRecord$1(value) && isWhiteboardFreehandKind(value['kind']) && typeof value['color'] === 'string' && isWhiteboardStrokeWidthPreset(value['widthPreset']) && Array.isArray(value['points']) && value['points'].every(function(point) {
6886
6886
  return isWhiteboardNormalizedPoint(point);
6887
6887
  }) && (value['kind'] !== 'marker' ? value['vanishAt'] === undefined : value['vanishAt'] === undefined || isIsoDate(value['vanishAt']));
6888
6888
  };
6889
6889
  var isWhiteboardShapeObjectPayload = function(value) {
6890
- return isRecord(value) && isWhiteboardShapeKind(value['kind']) && typeof value['color'] === 'string' && isWhiteboardStrokeWidthPreset(value['widthPreset']) && isWhiteboardNormalizedPoint(value['start']) && isWhiteboardNormalizedPoint(value['end']);
6890
+ return isRecord$1(value) && isWhiteboardShapeKind(value['kind']) && typeof value['color'] === 'string' && isWhiteboardStrokeWidthPreset(value['widthPreset']) && isWhiteboardNormalizedPoint(value['start']) && isWhiteboardNormalizedPoint(value['end']);
6891
6891
  };
6892
6892
  var isWhiteboardAnnotationSceneObject = function(value) {
6893
- return isRecord(value) && typeof value['objectId'] === 'string' && isWhiteboardAnnotationObjectType(value['objectType']) && typeof value['latestRevision'] === 'number' && Number.isFinite(value['latestRevision']) && (value['objectType'] === 'annotation.stroke' && isWhiteboardStrokeObjectPayload(value['payload']) || value['objectType'] === 'annotation.shape' && isWhiteboardShapeObjectPayload(value['payload']));
6893
+ return isRecord$1(value) && typeof value['objectId'] === 'string' && isWhiteboardAnnotationObjectType(value['objectType']) && typeof value['latestRevision'] === 'number' && Number.isFinite(value['latestRevision']) && (value['objectType'] === 'annotation.stroke' && isWhiteboardStrokeObjectPayload(value['payload']) || value['objectType'] === 'annotation.shape' && isWhiteboardShapeObjectPayload(value['payload']));
6894
6894
  };
6895
6895
  var isWhiteboardAnnotationOperationType = function(value) {
6896
6896
  return typeof value === 'string' && whiteboardAnnotationOperationTypes.includes(value);
6897
6897
  };
6898
6898
  var isWhiteboardCommittedOperation = function(value) {
6899
- if (!isRecord(value) || typeof value['operationId'] !== 'string' || !isWhiteboardAnnotationOperationType(value['type'])) {
6899
+ if (!isRecord$1(value) || typeof value['operationId'] !== 'string' || !isWhiteboardAnnotationOperationType(value['type'])) {
6900
6900
  return false;
6901
6901
  }
6902
6902
  if (value['type'] === WHITEBOARD_ANNOTATION_UPSERT_OPERATION) {
6903
- return isRecord(value['payload']) && isWhiteboardAnnotationSceneObject(value['payload']['object']);
6903
+ return isRecord$1(value['payload']) && isWhiteboardAnnotationSceneObject(value['payload']['object']);
6904
6904
  }
6905
6905
  if (value['type'] === WHITEBOARD_ANNOTATION_ERASE_OPERATION) {
6906
- return isRecord(value['payload']) && typeof value['payload']['objectId'] === 'string';
6906
+ return isRecord$1(value['payload']) && typeof value['payload']['objectId'] === 'string';
6907
6907
  }
6908
6908
  if (value['type'] === WHITEBOARD_RESTORE_CLEAR_OPERATION) {
6909
- return isRecord(value['payload']) && typeof value['payload']['clearOperationId'] === 'string' && Array.isArray(value['payload']['objects']) && value['payload']['objects'].every(function(object) {
6909
+ return isRecord$1(value['payload']) && typeof value['payload']['clearOperationId'] === 'string' && Array.isArray(value['payload']['objects']) && value['payload']['objects'].every(function(object) {
6910
6910
  return isWhiteboardAnnotationSceneObject(object);
6911
6911
  });
6912
6912
  }
@@ -6926,13 +6926,13 @@ var WhiteboardSocketEvent = /*#__PURE__*/ function(WhiteboardSocketEvent) {
6926
6926
  return WhiteboardSocketEvent;
6927
6927
  }({});
6928
6928
 
6929
- function _array_like_to_array$A(arr, len) {
6929
+ function _array_like_to_array$B(arr, len) {
6930
6930
  if (len == null || len > arr.length) len = arr.length;
6931
6931
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
6932
6932
  return arr2;
6933
6933
  }
6934
6934
  function _array_without_holes$f(arr) {
6935
- if (Array.isArray(arr)) return _array_like_to_array$A(arr);
6935
+ if (Array.isArray(arr)) return _array_like_to_array$B(arr);
6936
6936
  }
6937
6937
  function _define_property$r(obj, key, value) {
6938
6938
  if (key in obj) {
@@ -7024,15 +7024,15 @@ function _object_without_properties_loose$6(source, excluded) {
7024
7024
  return target;
7025
7025
  }
7026
7026
  function _to_consumable_array$f(arr) {
7027
- return _array_without_holes$f(arr) || _iterable_to_array$f(arr) || _unsupported_iterable_to_array$A(arr) || _non_iterable_spread$f();
7027
+ return _array_without_holes$f(arr) || _iterable_to_array$f(arr) || _unsupported_iterable_to_array$B(arr) || _non_iterable_spread$f();
7028
7028
  }
7029
- function _unsupported_iterable_to_array$A(o, minLen) {
7029
+ function _unsupported_iterable_to_array$B(o, minLen) {
7030
7030
  if (!o) return;
7031
- if (typeof o === "string") return _array_like_to_array$A(o, minLen);
7031
+ if (typeof o === "string") return _array_like_to_array$B(o, minLen);
7032
7032
  var n = Object.prototype.toString.call(o).slice(8, -1);
7033
7033
  if (n === "Object" && o.constructor) n = o.constructor.name;
7034
7034
  if (n === "Map" || n === "Set") return Array.from(n);
7035
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$A(o, minLen);
7035
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$B(o, minLen);
7036
7036
  }
7037
7037
  function createWhiteboardLocalHistory(createOperationId) {
7038
7038
  var state = {
@@ -7175,13 +7175,13 @@ function omitLatestRevision$1(object) {
7175
7175
  return input;
7176
7176
  }
7177
7177
 
7178
- function _array_like_to_array$z(arr, len) {
7178
+ function _array_like_to_array$A(arr, len) {
7179
7179
  if (len == null || len > arr.length) len = arr.length;
7180
7180
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
7181
7181
  return arr2;
7182
7182
  }
7183
7183
  function _array_without_holes$e(arr) {
7184
- if (Array.isArray(arr)) return _array_like_to_array$z(arr);
7184
+ if (Array.isArray(arr)) return _array_like_to_array$A(arr);
7185
7185
  }
7186
7186
  function _iterable_to_array$e(iter) {
7187
7187
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
@@ -7190,15 +7190,15 @@ function _non_iterable_spread$e() {
7190
7190
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
7191
7191
  }
7192
7192
  function _to_consumable_array$e(arr) {
7193
- return _array_without_holes$e(arr) || _iterable_to_array$e(arr) || _unsupported_iterable_to_array$z(arr) || _non_iterable_spread$e();
7193
+ return _array_without_holes$e(arr) || _iterable_to_array$e(arr) || _unsupported_iterable_to_array$A(arr) || _non_iterable_spread$e();
7194
7194
  }
7195
- function _unsupported_iterable_to_array$z(o, minLen) {
7195
+ function _unsupported_iterable_to_array$A(o, minLen) {
7196
7196
  if (!o) return;
7197
- if (typeof o === "string") return _array_like_to_array$z(o, minLen);
7197
+ if (typeof o === "string") return _array_like_to_array$A(o, minLen);
7198
7198
  var n = Object.prototype.toString.call(o).slice(8, -1);
7199
7199
  if (n === "Object" && o.constructor) n = o.constructor.name;
7200
7200
  if (n === "Map" || n === "Set") return Array.from(n);
7201
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$z(o, minLen);
7201
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$A(o, minLen);
7202
7202
  }
7203
7203
  var STROKE_WIDTHS = {
7204
7204
  xs: 2,
@@ -7541,16 +7541,16 @@ function pointInPolygon(point, polygon) {
7541
7541
  return inside;
7542
7542
  }
7543
7543
 
7544
- function _array_like_to_array$y(arr, len) {
7544
+ function _array_like_to_array$z(arr, len) {
7545
7545
  if (len == null || len > arr.length) len = arr.length;
7546
7546
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
7547
7547
  return arr2;
7548
7548
  }
7549
- function _array_with_holes$v(arr) {
7549
+ function _array_with_holes$w(arr) {
7550
7550
  if (Array.isArray(arr)) return arr;
7551
7551
  }
7552
7552
  function _array_without_holes$d(arr) {
7553
- if (Array.isArray(arr)) return _array_like_to_array$y(arr);
7553
+ if (Array.isArray(arr)) return _array_like_to_array$z(arr);
7554
7554
  }
7555
7555
  function _define_property$q(obj, key, value) {
7556
7556
  if (key in obj) {
@@ -7568,7 +7568,7 @@ function _define_property$q(obj, key, value) {
7568
7568
  function _iterable_to_array$d(iter) {
7569
7569
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
7570
7570
  }
7571
- function _iterable_to_array_limit$v(arr, i) {
7571
+ function _iterable_to_array_limit$w(arr, i) {
7572
7572
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
7573
7573
  if (_i == null) return;
7574
7574
  var _arr = [];
@@ -7592,7 +7592,7 @@ function _iterable_to_array_limit$v(arr, i) {
7592
7592
  }
7593
7593
  return _arr;
7594
7594
  }
7595
- function _non_iterable_rest$v() {
7595
+ function _non_iterable_rest$w() {
7596
7596
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
7597
7597
  }
7598
7598
  function _non_iterable_spread$d() {
@@ -7632,23 +7632,23 @@ function _object_spread_props$k(target, source) {
7632
7632
  }
7633
7633
  return target;
7634
7634
  }
7635
- function _sliced_to_array$v(arr, i) {
7636
- return _array_with_holes$v(arr) || _iterable_to_array_limit$v(arr, i) || _unsupported_iterable_to_array$y(arr, i) || _non_iterable_rest$v();
7635
+ function _sliced_to_array$w(arr, i) {
7636
+ return _array_with_holes$w(arr) || _iterable_to_array_limit$w(arr, i) || _unsupported_iterable_to_array$z(arr, i) || _non_iterable_rest$w();
7637
7637
  }
7638
7638
  function _to_consumable_array$d(arr) {
7639
- return _array_without_holes$d(arr) || _iterable_to_array$d(arr) || _unsupported_iterable_to_array$y(arr) || _non_iterable_spread$d();
7639
+ return _array_without_holes$d(arr) || _iterable_to_array$d(arr) || _unsupported_iterable_to_array$z(arr) || _non_iterable_spread$d();
7640
7640
  }
7641
- function _type_of$9(obj) {
7641
+ function _type_of$e(obj) {
7642
7642
  "@swc/helpers - typeof";
7643
7643
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
7644
7644
  }
7645
- function _unsupported_iterable_to_array$y(o, minLen) {
7645
+ function _unsupported_iterable_to_array$z(o, minLen) {
7646
7646
  if (!o) return;
7647
- if (typeof o === "string") return _array_like_to_array$y(o, minLen);
7647
+ if (typeof o === "string") return _array_like_to_array$z(o, minLen);
7648
7648
  var n = Object.prototype.toString.call(o).slice(8, -1);
7649
7649
  if (n === "Object" && o.constructor) n = o.constructor.name;
7650
7650
  if (n === "Map" || n === "Set") return Array.from(n);
7651
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$y(o, minLen);
7651
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$z(o, minLen);
7652
7652
  }
7653
7653
  function resetSceneState() {
7654
7654
  return {
@@ -7785,9 +7785,9 @@ function hasCanonicalUpsert(state, operation) {
7785
7785
  var _state_recoveredObjects_get;
7786
7786
  if (operation.type !== WHITEBOARD_ANNOTATION_UPSERT_OPERATION) return false;
7787
7787
  var payload = operation.payload;
7788
- if ((typeof payload === "undefined" ? "undefined" : _type_of$9(payload)) !== 'object' || payload === null) return false;
7788
+ if ((typeof payload === "undefined" ? "undefined" : _type_of$e(payload)) !== 'object' || payload === null) return false;
7789
7789
  var object = payload.object;
7790
- if ((typeof object === "undefined" ? "undefined" : _type_of$9(object)) !== 'object' || object === null) return false;
7790
+ if ((typeof object === "undefined" ? "undefined" : _type_of$e(object)) !== 'object' || object === null) return false;
7791
7791
  var objectId = object.objectId;
7792
7792
  if (typeof objectId !== 'string') return false;
7793
7793
  return Boolean(objectId && ((_state_recoveredObjects_get = state.recoveredObjects.get(objectId)) === null || _state_recoveredObjects_get === void 0 ? void 0 : _state_recoveredObjects_get.latestRevision));
@@ -7926,7 +7926,7 @@ function applyOperationToScene(state, operation, revision, optimisticRestoreObje
7926
7926
  }
7927
7927
  function sortRecoveredObjects(state) {
7928
7928
  state.recoveredObjects = new Map(_to_consumable_array$d(state.recoveredObjects.entries()).sort(function(param, param1) {
7929
- var _param = _sliced_to_array$v(param, 2), left = _param[1], _param1 = _sliced_to_array$v(param1, 2), right = _param1[1];
7929
+ var _param = _sliced_to_array$w(param, 2), left = _param[1], _param1 = _sliced_to_array$w(param1, 2), right = _param1[1];
7930
7930
  return left.latestRevision === right.latestRevision ? left.objectId.localeCompare(right.objectId) : left.latestRevision - right.latestRevision;
7931
7931
  }));
7932
7932
  }
@@ -7987,7 +7987,7 @@ function removeExpiredMarkers(state, now) {
7987
7987
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
7988
7988
  try {
7989
7989
  for(var _iterator = state.recoveredObjects[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
7990
- var _step_value = _sliced_to_array$v(_step.value, 2), objectId = _step_value[0], object = _step_value[1];
7990
+ var _step_value = _sliced_to_array$w(_step.value, 2), objectId = _step_value[0], object = _step_value[1];
7991
7991
  if (isExpiredMarker(object, now)) state.recoveredObjects.delete(objectId);
7992
7992
  }
7993
7993
  } catch (err) {
@@ -8018,7 +8018,7 @@ function getSceneObject(value, revision) {
8018
8018
  return undefined;
8019
8019
  }
8020
8020
  function isAnnotationObjectInput(value) {
8021
- return (typeof value === "undefined" ? "undefined" : _type_of$9(value)) === 'object' && value !== null && typeof value.objectId === 'string' && (value.objectType === 'annotation.stroke' || value.objectType === 'annotation.shape');
8021
+ return (typeof value === "undefined" ? "undefined" : _type_of$e(value)) === 'object' && value !== null && typeof value.objectId === 'string' && (value.objectType === 'annotation.stroke' || value.objectType === 'annotation.shape');
8022
8022
  }
8023
8023
 
8024
8024
  function _define_property$p(obj, key, value) {
@@ -8697,16 +8697,16 @@ function FilledDiamondShapeIcon() {
8697
8697
  });
8698
8698
  }
8699
8699
 
8700
- function _array_like_to_array$x(arr, len) {
8700
+ function _array_like_to_array$y(arr, len) {
8701
8701
  if (len == null || len > arr.length) len = arr.length;
8702
8702
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
8703
8703
  return arr2;
8704
8704
  }
8705
- function _array_with_holes$u(arr) {
8705
+ function _array_with_holes$v(arr) {
8706
8706
  if (Array.isArray(arr)) return arr;
8707
8707
  }
8708
8708
  function _array_without_holes$c(arr) {
8709
- if (Array.isArray(arr)) return _array_like_to_array$x(arr);
8709
+ if (Array.isArray(arr)) return _array_like_to_array$y(arr);
8710
8710
  }
8711
8711
  function _define_property$o(obj, key, value) {
8712
8712
  if (key in obj) {
@@ -8724,7 +8724,7 @@ function _define_property$o(obj, key, value) {
8724
8724
  function _iterable_to_array$c(iter) {
8725
8725
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
8726
8726
  }
8727
- function _iterable_to_array_limit$u(arr, i) {
8727
+ function _iterable_to_array_limit$v(arr, i) {
8728
8728
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
8729
8729
  if (_i == null) return;
8730
8730
  var _arr = [];
@@ -8748,7 +8748,7 @@ function _iterable_to_array_limit$u(arr, i) {
8748
8748
  }
8749
8749
  return _arr;
8750
8750
  }
8751
- function _non_iterable_rest$u() {
8751
+ function _non_iterable_rest$v() {
8752
8752
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
8753
8753
  }
8754
8754
  function _non_iterable_spread$c() {
@@ -8788,19 +8788,19 @@ function _object_spread_props$j(target, source) {
8788
8788
  }
8789
8789
  return target;
8790
8790
  }
8791
- function _sliced_to_array$u(arr, i) {
8792
- return _array_with_holes$u(arr) || _iterable_to_array_limit$u(arr, i) || _unsupported_iterable_to_array$x(arr, i) || _non_iterable_rest$u();
8791
+ function _sliced_to_array$v(arr, i) {
8792
+ return _array_with_holes$v(arr) || _iterable_to_array_limit$v(arr, i) || _unsupported_iterable_to_array$y(arr, i) || _non_iterable_rest$v();
8793
8793
  }
8794
8794
  function _to_consumable_array$c(arr) {
8795
- return _array_without_holes$c(arr) || _iterable_to_array$c(arr) || _unsupported_iterable_to_array$x(arr) || _non_iterable_spread$c();
8795
+ return _array_without_holes$c(arr) || _iterable_to_array$c(arr) || _unsupported_iterable_to_array$y(arr) || _non_iterable_spread$c();
8796
8796
  }
8797
- function _unsupported_iterable_to_array$x(o, minLen) {
8797
+ function _unsupported_iterable_to_array$y(o, minLen) {
8798
8798
  if (!o) return;
8799
- if (typeof o === "string") return _array_like_to_array$x(o, minLen);
8799
+ if (typeof o === "string") return _array_like_to_array$y(o, minLen);
8800
8800
  var n = Object.prototype.toString.call(o).slice(8, -1);
8801
8801
  if (n === "Object" && o.constructor) n = o.constructor.name;
8802
8802
  if (n === "Map" || n === "Set") return Array.from(n);
8803
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$x(o, minLen);
8803
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$y(o, minLen);
8804
8804
  }
8805
8805
  var WHITEBOARD_VIEWPORT_PADDING = 16;
8806
8806
  var WHITEBOARD_DOCK_SNAP_DISTANCE = 64;
@@ -8832,14 +8832,14 @@ var WHITEBOARD_POPOVER_SIZES = {
8832
8832
  };
8833
8833
  function useWhiteboardToolbarLayout() {
8834
8834
  var portalContainer = usePortalContainer();
8835
- var _useState = _sliced_to_array$u(useState(function() {
8835
+ var _useState = _sliced_to_array$v(useState(function() {
8836
8836
  return getViewport(portalContainer);
8837
8837
  }), 2), viewport = _useState[0], setViewport = _useState[1];
8838
8838
  var viewportRef = useRef(viewport);
8839
- var _useState1 = _sliced_to_array$u(useState(false), 2), toolbarOpen = _useState1[0], setToolbarOpen = _useState1[1];
8840
- var _useState2 = _sliced_to_array$u(useState(null), 2), activePopover = _useState2[0], setActivePopover = _useState2[1];
8841
- var _useState3 = _sliced_to_array$u(useState(false), 2), hasOpened = _useState3[0], setHasOpened = _useState3[1];
8842
- var _useState4 = _sliced_to_array$u(useState(function() {
8839
+ var _useState1 = _sliced_to_array$v(useState(false), 2), toolbarOpen = _useState1[0], setToolbarOpen = _useState1[1];
8840
+ var _useState2 = _sliced_to_array$v(useState(null), 2), activePopover = _useState2[0], setActivePopover = _useState2[1];
8841
+ var _useState3 = _sliced_to_array$v(useState(false), 2), hasOpened = _useState3[0], setHasOpened = _useState3[1];
8842
+ var _useState4 = _sliced_to_array$v(useState(function() {
8843
8843
  return getToolbarLayout(getDefaultToolbarPosition(getViewport(portalContainer)), getViewport(portalContainer));
8844
8844
  }), 2), layout = _useState4[0], setLayout = _useState4[1];
8845
8845
  var dragOriginRef = useRef(undefined);
@@ -9069,10 +9069,10 @@ function getOutsideDock(position, orientation, viewport) {
9069
9069
  ]
9070
9070
  ];
9071
9071
  return (_candidates_filter_sort_ = candidates.filter(function(param) {
9072
- var _param = _sliced_to_array$u(param, 2), distance = _param[1];
9072
+ var _param = _sliced_to_array$v(param, 2), distance = _param[1];
9073
9073
  return distance > 0;
9074
9074
  }).sort(function(param, param1) {
9075
- var _param = _sliced_to_array$u(param, 2), left = _param[1], _param1 = _sliced_to_array$u(param1, 2), right = _param1[1];
9075
+ var _param = _sliced_to_array$v(param, 2), left = _param[1], _param1 = _sliced_to_array$v(param1, 2), right = _param1[1];
9076
9076
  return left - right;
9077
9077
  })[0]) === null || _candidates_filter_sort_ === void 0 ? void 0 : _candidates_filter_sort_[0];
9078
9078
  }
@@ -9254,12 +9254,12 @@ function TriggerIcon() {
9254
9254
  });
9255
9255
  }
9256
9256
 
9257
- function _array_like_to_array$w(arr, len) {
9257
+ function _array_like_to_array$x(arr, len) {
9258
9258
  if (len == null || len > arr.length) len = arr.length;
9259
9259
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
9260
9260
  return arr2;
9261
9261
  }
9262
- function _array_with_holes$t(arr) {
9262
+ function _array_with_holes$u(arr) {
9263
9263
  if (Array.isArray(arr)) return arr;
9264
9264
  }
9265
9265
  function _define_property$n(obj, key, value) {
@@ -9275,7 +9275,7 @@ function _define_property$n(obj, key, value) {
9275
9275
  }
9276
9276
  return obj;
9277
9277
  }
9278
- function _iterable_to_array_limit$t(arr, i) {
9278
+ function _iterable_to_array_limit$u(arr, i) {
9279
9279
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
9280
9280
  if (_i == null) return;
9281
9281
  var _arr = [];
@@ -9299,7 +9299,7 @@ function _iterable_to_array_limit$t(arr, i) {
9299
9299
  }
9300
9300
  return _arr;
9301
9301
  }
9302
- function _non_iterable_rest$t() {
9302
+ function _non_iterable_rest$u() {
9303
9303
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
9304
9304
  }
9305
9305
  function _object_spread$l(target) {
@@ -9336,16 +9336,16 @@ function _object_spread_props$i(target, source) {
9336
9336
  }
9337
9337
  return target;
9338
9338
  }
9339
- function _sliced_to_array$t(arr, i) {
9340
- return _array_with_holes$t(arr) || _iterable_to_array_limit$t(arr, i) || _unsupported_iterable_to_array$w(arr, i) || _non_iterable_rest$t();
9339
+ function _sliced_to_array$u(arr, i) {
9340
+ return _array_with_holes$u(arr) || _iterable_to_array_limit$u(arr, i) || _unsupported_iterable_to_array$x(arr, i) || _non_iterable_rest$u();
9341
9341
  }
9342
- function _unsupported_iterable_to_array$w(o, minLen) {
9342
+ function _unsupported_iterable_to_array$x(o, minLen) {
9343
9343
  if (!o) return;
9344
- if (typeof o === "string") return _array_like_to_array$w(o, minLen);
9344
+ if (typeof o === "string") return _array_like_to_array$x(o, minLen);
9345
9345
  var n = Object.prototype.toString.call(o).slice(8, -1);
9346
9346
  if (n === "Object" && o.constructor) n = o.constructor.name;
9347
9347
  if (n === "Map" || n === "Set") return Array.from(n);
9348
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$w(o, minLen);
9348
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$x(o, minLen);
9349
9349
  }
9350
9350
  function WhiteboardToolbar(param) {
9351
9351
  var _param_activeColor = param.activeColor, activeColor = _param_activeColor === void 0 ? DEFAULT_WHITEBOARD_COLOR : _param_activeColor, _param_activeDrawKind = param.activeDrawKind, activeDrawKind = _param_activeDrawKind === void 0 ? DEFAULT_WHITEBOARD_DRAW_KIND : _param_activeDrawKind, _param_activeTool = param.activeTool, activeTool = _param_activeTool === void 0 ? 'draw' : _param_activeTool, _param_activeWidthPreset = param.activeWidthPreset, activeWidthPreset = _param_activeWidthPreset === void 0 ? DEFAULT_WHITEBOARD_WIDTH_PRESET : _param_activeWidthPreset, _param_canRedo = param.canRedo, canRedo = _param_canRedo === void 0 ? false : _param_canRedo, _param_canUndo = param.canUndo, canUndo = _param_canUndo === void 0 ? false : _param_canUndo, onClose = param.onClose, onColorChange = param.onColorChange, onDrawKindChange = param.onDrawKindChange, onOpenChange = param.onOpenChange, onOperation = param.onOperation, onRedo = param.onRedo, onRetry = param.onRetry, onToolChange = param.onToolChange, onUndo = param.onUndo, onWidthPresetChange = param.onWidthPresetChange, permissions = param.permissions, _param_runtimeState = param.runtimeState, runtimeState = _param_runtimeState === void 0 ? 'ready' : _param_runtimeState;
@@ -9359,7 +9359,7 @@ function WhiteboardToolbar(param) {
9359
9359
  var colorButtonRef = useRef(null);
9360
9360
  var drawPopoverRef = useRef(null);
9361
9361
  var colorPopoverRef = useRef(null);
9362
- var _useState = _sliced_to_array$t(useState(undefined), 2), measuredPopoverStyle = _useState[0], setMeasuredPopoverStyle = _useState[1];
9362
+ var _useState = _sliced_to_array$u(useState(undefined), 2), measuredPopoverStyle = _useState[0], setMeasuredPopoverStyle = _useState[1];
9363
9363
  var interactionDisabled = !canWrite || runtimeState !== 'ready';
9364
9364
  var clearDisabled = !canClear || runtimeState !== 'ready';
9365
9365
  var tooltipSide = getToolbarTooltipSide(dock);
@@ -9870,15 +9870,15 @@ function CloseIcon() {
9870
9870
  });
9871
9871
  }
9872
9872
 
9873
- function _array_like_to_array$v(arr, len) {
9873
+ function _array_like_to_array$w(arr, len) {
9874
9874
  if (len == null || len > arr.length) len = arr.length;
9875
9875
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
9876
9876
  return arr2;
9877
9877
  }
9878
- function _array_with_holes$s(arr) {
9878
+ function _array_with_holes$t(arr) {
9879
9879
  if (Array.isArray(arr)) return arr;
9880
9880
  }
9881
- function _iterable_to_array_limit$s(arr, i) {
9881
+ function _iterable_to_array_limit$t(arr, i) {
9882
9882
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
9883
9883
  if (_i == null) return;
9884
9884
  var _arr = [];
@@ -9902,23 +9902,23 @@ function _iterable_to_array_limit$s(arr, i) {
9902
9902
  }
9903
9903
  return _arr;
9904
9904
  }
9905
- function _non_iterable_rest$s() {
9905
+ function _non_iterable_rest$t() {
9906
9906
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
9907
9907
  }
9908
- function _sliced_to_array$s(arr, i) {
9909
- return _array_with_holes$s(arr) || _iterable_to_array_limit$s(arr, i) || _unsupported_iterable_to_array$v(arr, i) || _non_iterable_rest$s();
9908
+ function _sliced_to_array$t(arr, i) {
9909
+ return _array_with_holes$t(arr) || _iterable_to_array_limit$t(arr, i) || _unsupported_iterable_to_array$w(arr, i) || _non_iterable_rest$t();
9910
9910
  }
9911
- function _unsupported_iterable_to_array$v(o, minLen) {
9911
+ function _unsupported_iterable_to_array$w(o, minLen) {
9912
9912
  if (!o) return;
9913
- if (typeof o === "string") return _array_like_to_array$v(o, minLen);
9913
+ if (typeof o === "string") return _array_like_to_array$w(o, minLen);
9914
9914
  var n = Object.prototype.toString.call(o).slice(8, -1);
9915
9915
  if (n === "Object" && o.constructor) n = o.constructor.name;
9916
9916
  if (n === "Map" || n === "Set") return Array.from(n);
9917
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$v(o, minLen);
9917
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$w(o, minLen);
9918
9918
  }
9919
9919
  function useWhiteboardFrameRect() {
9920
9920
  var frameRef = useRef(null);
9921
- var _useState = _sliced_to_array$s(useState(undefined), 2), frameRect = _useState[0], setFrameRect = _useState[1];
9921
+ var _useState = _sliced_to_array$t(useState(undefined), 2), frameRect = _useState[0], setFrameRect = _useState[1];
9922
9922
  useEffect(function() {
9923
9923
  var element = frameRef.current;
9924
9924
  if (!element) return;
@@ -9953,16 +9953,16 @@ function useWhiteboardFrameRect() {
9953
9953
  };
9954
9954
  }
9955
9955
 
9956
- function _array_like_to_array$u(arr, len) {
9956
+ function _array_like_to_array$v(arr, len) {
9957
9957
  if (len == null || len > arr.length) len = arr.length;
9958
9958
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
9959
9959
  return arr2;
9960
9960
  }
9961
- function _array_with_holes$r(arr) {
9961
+ function _array_with_holes$s(arr) {
9962
9962
  if (Array.isArray(arr)) return arr;
9963
9963
  }
9964
9964
  function _array_without_holes$b(arr) {
9965
- if (Array.isArray(arr)) return _array_like_to_array$u(arr);
9965
+ if (Array.isArray(arr)) return _array_like_to_array$v(arr);
9966
9966
  }
9967
9967
  function asyncGeneratorStep$o(gen, resolve, reject, _next, _throw, key, arg) {
9968
9968
  try {
@@ -10009,7 +10009,7 @@ function _define_property$m(obj, key, value) {
10009
10009
  function _iterable_to_array$b(iter) {
10010
10010
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
10011
10011
  }
10012
- function _iterable_to_array_limit$r(arr, i) {
10012
+ function _iterable_to_array_limit$s(arr, i) {
10013
10013
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
10014
10014
  if (_i == null) return;
10015
10015
  var _arr = [];
@@ -10033,7 +10033,7 @@ function _iterable_to_array_limit$r(arr, i) {
10033
10033
  }
10034
10034
  return _arr;
10035
10035
  }
10036
- function _non_iterable_rest$r() {
10036
+ function _non_iterable_rest$s() {
10037
10037
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10038
10038
  }
10039
10039
  function _non_iterable_spread$b() {
@@ -10109,23 +10109,23 @@ function _object_without_properties_loose$5(source, excluded) {
10109
10109
  }
10110
10110
  return target;
10111
10111
  }
10112
- function _sliced_to_array$r(arr, i) {
10113
- return _array_with_holes$r(arr) || _iterable_to_array_limit$r(arr, i) || _unsupported_iterable_to_array$u(arr, i) || _non_iterable_rest$r();
10112
+ function _sliced_to_array$s(arr, i) {
10113
+ return _array_with_holes$s(arr) || _iterable_to_array_limit$s(arr, i) || _unsupported_iterable_to_array$v(arr, i) || _non_iterable_rest$s();
10114
10114
  }
10115
10115
  function _to_consumable_array$b(arr) {
10116
- return _array_without_holes$b(arr) || _iterable_to_array$b(arr) || _unsupported_iterable_to_array$u(arr) || _non_iterable_spread$b();
10116
+ return _array_without_holes$b(arr) || _iterable_to_array$b(arr) || _unsupported_iterable_to_array$v(arr) || _non_iterable_spread$b();
10117
10117
  }
10118
- function _type_of$8(obj) {
10118
+ function _type_of$d(obj) {
10119
10119
  "@swc/helpers - typeof";
10120
10120
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
10121
10121
  }
10122
- function _unsupported_iterable_to_array$u(o, minLen) {
10122
+ function _unsupported_iterable_to_array$v(o, minLen) {
10123
10123
  if (!o) return;
10124
- if (typeof o === "string") return _array_like_to_array$u(o, minLen);
10124
+ if (typeof o === "string") return _array_like_to_array$v(o, minLen);
10125
10125
  var n = Object.prototype.toString.call(o).slice(8, -1);
10126
10126
  if (n === "Object" && o.constructor) n = o.constructor.name;
10127
10127
  if (n === "Map" || n === "Set") return Array.from(n);
10128
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$u(o, minLen);
10128
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$v(o, minLen);
10129
10129
  }
10130
10130
  function _ts_generator$o(thisArg, body) {
10131
10131
  var f, y, t, _ = {
@@ -10227,7 +10227,7 @@ function _ts_generator$o(thisArg, body) {
10227
10227
  }
10228
10228
  }
10229
10229
  function WhiteboardCanvas(param) {
10230
- var controlledActiveTool = param.activeTool, children = param.children, onRetry = param.onRetry, onToolChange = param.onToolChange, permissions = param.permissions;
10230
+ var controlledActiveTool = param.activeTool, children = param.children, onRetry = param.onRetry, onToolChange = param.onToolChange, onToolbarStateChange = param.onToolbarStateChange, permissions = param.permissions;
10231
10231
  var _whiteboard_submitStatus;
10232
10232
  var whiteboard = useContext(WhiteboardContext);
10233
10233
  var runtimeState = getToolbarRuntimeState(whiteboard);
@@ -10247,10 +10247,10 @@ function WhiteboardCanvas(param) {
10247
10247
  if (!localHistoryRef.current) localHistoryRef.current = createWhiteboardLocalHistory(function() {
10248
10248
  return createStableId('annotation-history');
10249
10249
  });
10250
- var _useState = _sliced_to_array$r(useState(function() {
10250
+ var _useState = _sliced_to_array$s(useState(function() {
10251
10251
  return resetSceneState();
10252
10252
  }), 2), sceneState = _useState[0], setSceneState = _useState[1];
10253
- var _useState1 = _sliced_to_array$r(useState(function() {
10253
+ var _useState1 = _sliced_to_array$s(useState(function() {
10254
10254
  var _ref;
10255
10255
  var _localHistoryRef_current;
10256
10256
  return (_ref = (_localHistoryRef_current = localHistoryRef.current) === null || _localHistoryRef_current === void 0 ? void 0 : _localHistoryRef_current.getState()) !== null && _ref !== void 0 ? _ref : {
@@ -10258,16 +10258,18 @@ function WhiteboardCanvas(param) {
10258
10258
  undoStack: []
10259
10259
  };
10260
10260
  }), 2), localHistoryState = _useState1[0], setLocalHistoryState = _useState1[1];
10261
- var _useState2 = _sliced_to_array$r(useState(controlledActiveTool !== null && controlledActiveTool !== void 0 ? controlledActiveTool : 'draw'), 2), uncontrolledActiveTool = _useState2[0], setUncontrolledActiveTool = _useState2[1];
10262
- var _useState3 = _sliced_to_array$r(useState(DEFAULT_WHITEBOARD_DRAW_KIND), 2), activeDrawKind = _useState3[0], setActiveDrawKind = _useState3[1];
10263
- var _useState4 = _sliced_to_array$r(useState(DEFAULT_WHITEBOARD_COLOR), 2), activeColor = _useState4[0], setActiveColor = _useState4[1];
10264
- var _useState5 = _sliced_to_array$r(useState(DEFAULT_WHITEBOARD_WIDTH_PRESET), 2), activeWidthPreset = _useState5[0], setActiveWidthPreset = _useState5[1];
10265
- var _useState6 = _sliced_to_array$r(useState(false), 2), toolbarOpen = _useState6[0], setToolbarOpen = _useState6[1];
10261
+ var _useState2 = _sliced_to_array$s(useState(controlledActiveTool !== null && controlledActiveTool !== void 0 ? controlledActiveTool : 'draw'), 2), uncontrolledActiveTool = _useState2[0], setUncontrolledActiveTool = _useState2[1];
10262
+ var _useState3 = _sliced_to_array$s(useState(DEFAULT_WHITEBOARD_DRAW_KIND), 2), activeDrawKind = _useState3[0], setActiveDrawKind = _useState3[1];
10263
+ var _useState4 = _sliced_to_array$s(useState(DEFAULT_WHITEBOARD_COLOR), 2), activeColor = _useState4[0], setActiveColor = _useState4[1];
10264
+ var _useState5 = _sliced_to_array$s(useState(DEFAULT_WHITEBOARD_WIDTH_PRESET), 2), activeWidthPreset = _useState5[0], setActiveWidthPreset = _useState5[1];
10265
+ var _useState6 = _sliced_to_array$s(useState(false), 2), toolbarOpen = _useState6[0], setToolbarOpen = _useState6[1];
10266
10266
  var activeTool = controlledActiveTool !== null && controlledActiveTool !== void 0 ? controlledActiveTool : uncontrolledActiveTool;
10267
10267
  var hasWritePermission = permissions.includes('whiteboard:write');
10268
+ var toolbarAvailable = hasWritePermission || permissions.includes('whiteboard:clear');
10268
10269
  var submitState = whiteboard === null || whiteboard === void 0 ? void 0 : (_whiteboard_submitStatus = whiteboard.submitStatus) === null || _whiteboard_submitStatus === void 0 ? void 0 : _whiteboard_submitStatus.state;
10269
10270
  var isSubmitBusy = submitState === 'submitting';
10270
10271
  var interactionEnabled = hasWritePermission && runtimeState === 'ready' && toolbarOpen;
10272
+ var toolbarStateChangeRef = useRef(onToolbarStateChange);
10271
10273
  var sceneObjects = useMemo(function() {
10272
10274
  return _to_consumable_array$b(sceneState.recoveredObjects.values()).map(function(object) {
10273
10275
  return applyLocalMarkerExpiry(object, localMarkerExpiryByObjectIdRef.current.get(object.objectId));
@@ -10275,6 +10277,23 @@ function WhiteboardCanvas(param) {
10275
10277
  }, [
10276
10278
  sceneState.recoveredObjects
10277
10279
  ]);
10280
+ useEffect(function() {
10281
+ toolbarStateChangeRef.current = onToolbarStateChange;
10282
+ }, [
10283
+ onToolbarStateChange
10284
+ ]);
10285
+ useEffect(function() {
10286
+ var _toolbarStateChangeRef_current;
10287
+ (_toolbarStateChangeRef_current = toolbarStateChangeRef.current) === null || _toolbarStateChangeRef_current === void 0 ? void 0 : _toolbarStateChangeRef_current.call(toolbarStateChangeRef, {
10288
+ activeTool: activeTool,
10289
+ toolbarAvailable: toolbarAvailable,
10290
+ toolbarOpen: toolbarOpen
10291
+ });
10292
+ }, [
10293
+ activeTool,
10294
+ toolbarOpen,
10295
+ toolbarAvailable
10296
+ ]);
10278
10297
  var syncLocalHistoryState = function() {
10279
10298
  var _ref;
10280
10299
  var _localHistoryRef_current;
@@ -10847,7 +10866,7 @@ function withoutLocalMarkerExpiry(object) {
10847
10866
  });
10848
10867
  }
10849
10868
  function isSceneObject(value) {
10850
- return (typeof value === "undefined" ? "undefined" : _type_of$8(value)) === 'object' && value !== null && 'latestRevision' in value;
10869
+ return (typeof value === "undefined" ? "undefined" : _type_of$d(value)) === 'object' && value !== null && 'latestRevision' in value;
10851
10870
  }
10852
10871
  function getNearestMarkerExpiry(objects) {
10853
10872
  var _Math;
@@ -10906,15 +10925,15 @@ function clamp01(value) {
10906
10925
  return Math.max(0, Math.min(1, value));
10907
10926
  }
10908
10927
 
10909
- function _array_like_to_array$t(arr, len) {
10928
+ function _array_like_to_array$u(arr, len) {
10910
10929
  if (len == null || len > arr.length) len = arr.length;
10911
10930
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
10912
10931
  return arr2;
10913
10932
  }
10914
- function _array_with_holes$q(arr) {
10933
+ function _array_with_holes$r(arr) {
10915
10934
  if (Array.isArray(arr)) return arr;
10916
10935
  }
10917
- function _iterable_to_array_limit$q(arr, i) {
10936
+ function _iterable_to_array_limit$r(arr, i) {
10918
10937
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
10919
10938
  if (_i == null) return;
10920
10939
  var _arr = [];
@@ -10938,19 +10957,19 @@ function _iterable_to_array_limit$q(arr, i) {
10938
10957
  }
10939
10958
  return _arr;
10940
10959
  }
10941
- function _non_iterable_rest$q() {
10960
+ function _non_iterable_rest$r() {
10942
10961
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10943
10962
  }
10944
- function _sliced_to_array$q(arr, i) {
10945
- return _array_with_holes$q(arr) || _iterable_to_array_limit$q(arr, i) || _unsupported_iterable_to_array$t(arr, i) || _non_iterable_rest$q();
10963
+ function _sliced_to_array$r(arr, i) {
10964
+ return _array_with_holes$r(arr) || _iterable_to_array_limit$r(arr, i) || _unsupported_iterable_to_array$u(arr, i) || _non_iterable_rest$r();
10946
10965
  }
10947
- function _unsupported_iterable_to_array$t(o, minLen) {
10966
+ function _unsupported_iterable_to_array$u(o, minLen) {
10948
10967
  if (!o) return;
10949
- if (typeof o === "string") return _array_like_to_array$t(o, minLen);
10968
+ if (typeof o === "string") return _array_like_to_array$u(o, minLen);
10950
10969
  var n = Object.prototype.toString.call(o).slice(8, -1);
10951
10970
  if (n === "Object" && o.constructor) n = o.constructor.name;
10952
10971
  if (n === "Map" || n === "Set") return Array.from(n);
10953
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$t(o, minLen);
10972
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$u(o, minLen);
10954
10973
  }
10955
10974
  function createWhiteboardSubmitQueue(options) {
10956
10975
  var _options_now;
@@ -11072,7 +11091,7 @@ function createWhiteboardSubmitQueue(options) {
11072
11091
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
11073
11092
  try {
11074
11093
  var _loop = function() {
11075
- var _step_value = _sliced_to_array$q(_step.value, 2), operationId = _step_value[0], revision = _step_value[1];
11094
+ var _step_value = _sliced_to_array$r(_step.value, 2), operationId = _step_value[0], revision = _step_value[1];
11076
11095
  var item = queue.find(function(queuedItem) {
11077
11096
  return queuedItem.operation.operationId === operationId;
11078
11097
  });
@@ -11133,16 +11152,16 @@ function createWhiteboardSubmitQueue(options) {
11133
11152
  };
11134
11153
  }
11135
11154
 
11136
- function _array_like_to_array$s(arr, len) {
11155
+ function _array_like_to_array$t(arr, len) {
11137
11156
  if (len == null || len > arr.length) len = arr.length;
11138
11157
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
11139
11158
  return arr2;
11140
11159
  }
11141
- function _array_with_holes$p(arr) {
11160
+ function _array_with_holes$q(arr) {
11142
11161
  if (Array.isArray(arr)) return arr;
11143
11162
  }
11144
11163
  function _array_without_holes$a(arr) {
11145
- if (Array.isArray(arr)) return _array_like_to_array$s(arr);
11164
+ if (Array.isArray(arr)) return _array_like_to_array$t(arr);
11146
11165
  }
11147
11166
  function asyncGeneratorStep$n(gen, resolve, reject, _next, _throw, key, arg) {
11148
11167
  try {
@@ -11189,7 +11208,7 @@ function _define_property$l(obj, key, value) {
11189
11208
  function _iterable_to_array$a(iter) {
11190
11209
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
11191
11210
  }
11192
- function _iterable_to_array_limit$p(arr, i) {
11211
+ function _iterable_to_array_limit$q(arr, i) {
11193
11212
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
11194
11213
  if (_i == null) return;
11195
11214
  var _arr = [];
@@ -11213,7 +11232,7 @@ function _iterable_to_array_limit$p(arr, i) {
11213
11232
  }
11214
11233
  return _arr;
11215
11234
  }
11216
- function _non_iterable_rest$p() {
11235
+ function _non_iterable_rest$q() {
11217
11236
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
11218
11237
  }
11219
11238
  function _non_iterable_spread$a() {
@@ -11253,23 +11272,23 @@ function _object_spread_props$g(target, source) {
11253
11272
  }
11254
11273
  return target;
11255
11274
  }
11256
- function _sliced_to_array$p(arr, i) {
11257
- return _array_with_holes$p(arr) || _iterable_to_array_limit$p(arr, i) || _unsupported_iterable_to_array$s(arr, i) || _non_iterable_rest$p();
11275
+ function _sliced_to_array$q(arr, i) {
11276
+ return _array_with_holes$q(arr) || _iterable_to_array_limit$q(arr, i) || _unsupported_iterable_to_array$t(arr, i) || _non_iterable_rest$q();
11258
11277
  }
11259
11278
  function _to_consumable_array$a(arr) {
11260
- return _array_without_holes$a(arr) || _iterable_to_array$a(arr) || _unsupported_iterable_to_array$s(arr) || _non_iterable_spread$a();
11279
+ return _array_without_holes$a(arr) || _iterable_to_array$a(arr) || _unsupported_iterable_to_array$t(arr) || _non_iterable_spread$a();
11261
11280
  }
11262
- function _type_of$7(obj) {
11281
+ function _type_of$c(obj) {
11263
11282
  "@swc/helpers - typeof";
11264
11283
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
11265
11284
  }
11266
- function _unsupported_iterable_to_array$s(o, minLen) {
11285
+ function _unsupported_iterable_to_array$t(o, minLen) {
11267
11286
  if (!o) return;
11268
- if (typeof o === "string") return _array_like_to_array$s(o, minLen);
11287
+ if (typeof o === "string") return _array_like_to_array$t(o, minLen);
11269
11288
  var n = Object.prototype.toString.call(o).slice(8, -1);
11270
11289
  if (n === "Object" && o.constructor) n = o.constructor.name;
11271
11290
  if (n === "Map" || n === "Set") return Array.from(n);
11272
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$s(o, minLen);
11291
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$t(o, minLen);
11273
11292
  }
11274
11293
  function _ts_generator$n(thisArg, body) {
11275
11294
  var f, y, t, _ = {
@@ -11475,7 +11494,7 @@ function createWhiteboardRuntime() {
11475
11494
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
11476
11495
  try {
11477
11496
  for(var _iterator = bufferedCommittedEvents[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
11478
- var _step_value = _sliced_to_array$p(_step.value, 2), eventRevision = _step_value[0], event = _step_value[1];
11497
+ var _step_value = _sliced_to_array$q(_step.value, 2), eventRevision = _step_value[0], event = _step_value[1];
11479
11498
  if (eventRevision > revision) continue;
11480
11499
  operationIds.set(event.operation.operationId, eventRevision);
11481
11500
  bufferedCommittedEvents.delete(eventRevision);
@@ -12090,7 +12109,7 @@ function createWhiteboardRuntime() {
12090
12109
  _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
12091
12110
  try {
12092
12111
  for(_iterator = reconciliation.recoveredOperationIds[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
12093
- _step_value = _sliced_to_array$p(_step.value, 2), operationId = _step_value[0], revision = _step_value[1];
12112
+ _step_value = _sliced_to_array$q(_step.value, 2), operationId = _step_value[0], revision = _step_value[1];
12094
12113
  recoveredOperationIds.set(operationId, revision);
12095
12114
  }
12096
12115
  } catch (err) {
@@ -12193,7 +12212,7 @@ function createWhiteboardRuntime() {
12193
12212
  _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
12194
12213
  try {
12195
12214
  for(_iterator = recovery.recoveredOperationIds[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
12196
- _step_value = _sliced_to_array$p(_step.value, 2), operationId = _step_value[0], revision = _step_value[1];
12215
+ _step_value = _sliced_to_array$q(_step.value, 2), operationId = _step_value[0], revision = _step_value[1];
12197
12216
  recoveredOperationIds.set(operationId, revision);
12198
12217
  }
12199
12218
  } catch (err) {
@@ -12684,22 +12703,22 @@ function ensureBoardWithRetry(socket, shareSessionKey, requestId, getCurrentRequ
12684
12703
  })();
12685
12704
  }
12686
12705
  function isReadyBoard(response) {
12687
- return (typeof response === "undefined" ? "undefined" : _type_of$7(response)) === 'object' && response !== null && 'status' in response && response.status === 'ready' && 'boardId' in response && typeof response.boardId === 'string';
12706
+ return (typeof response === "undefined" ? "undefined" : _type_of$c(response)) === 'object' && response !== null && 'status' in response && response.status === 'ready' && 'boardId' in response && typeof response.boardId === 'string';
12688
12707
  }
12689
12708
  function isNoActiveBoard(response) {
12690
- return (typeof response === "undefined" ? "undefined" : _type_of$7(response)) === 'object' && response !== null && 'status' in response && response.status === 'no_active_board' && 'shareSessionKey' in response && typeof response.shareSessionKey === 'string';
12709
+ return (typeof response === "undefined" ? "undefined" : _type_of$c(response)) === 'object' && response !== null && 'status' in response && response.status === 'no_active_board' && 'shareSessionKey' in response && typeof response.shareSessionKey === 'string';
12691
12710
  }
12692
12711
  function isBoardEnsureAck(response) {
12693
12712
  return isReadyBoard(response) || isNoActiveBoard(response) || isBoardEnsureFailure(response);
12694
12713
  }
12695
12714
  function isBoardEnsureFailure(response) {
12696
- return (typeof response === "undefined" ? "undefined" : _type_of$7(response)) === 'object' && response !== null && 'status' in response && (response.status === 'forbidden' || response.status === 'invalid_share_key' || response.status === 'unavailable');
12715
+ return (typeof response === "undefined" ? "undefined" : _type_of$c(response)) === 'object' && response !== null && 'status' in response && (response.status === 'forbidden' || response.status === 'invalid_share_key' || response.status === 'unavailable');
12697
12716
  }
12698
12717
  function isAcceptedAuthUpdateAck(response) {
12699
- return (typeof response === "undefined" ? "undefined" : _type_of$7(response)) === 'object' && response !== null && 'status' in response && response.status === 'accepted';
12718
+ return (typeof response === "undefined" ? "undefined" : _type_of$c(response)) === 'object' && response !== null && 'status' in response && response.status === 'accepted';
12700
12719
  }
12701
12720
  function isAuthUpdateAck(response) {
12702
- return isAcceptedAuthUpdateAck(response) || (typeof response === "undefined" ? "undefined" : _type_of$7(response)) === 'object' && response !== null && 'status' in response && response.status === 'unauthorized' && 'code' in response && response.code === 'WHITEBOARD_UNAUTHORIZED';
12721
+ return isAcceptedAuthUpdateAck(response) || (typeof response === "undefined" ? "undefined" : _type_of$c(response)) === 'object' && response !== null && 'status' in response && response.status === 'unauthorized' && 'code' in response && response.code === 'WHITEBOARD_UNAUTHORIZED';
12703
12722
  }
12704
12723
  function delay(timeoutMs) {
12705
12724
  return new Promise(function(resolve) {
@@ -12707,10 +12726,10 @@ function delay(timeoutMs) {
12707
12726
  });
12708
12727
  }
12709
12728
  function isBoardReadyEvent(response) {
12710
- return (typeof response === "undefined" ? "undefined" : _type_of$7(response)) === 'object' && response !== null && 'boardId' in response && typeof response.boardId === 'string' && 'shareSessionKey' in response && typeof response.shareSessionKey === 'string' && 'headRevision' in response && typeof response.headRevision === 'number';
12729
+ return (typeof response === "undefined" ? "undefined" : _type_of$c(response)) === 'object' && response !== null && 'boardId' in response && typeof response.boardId === 'string' && 'shareSessionKey' in response && typeof response.shareSessionKey === 'string' && 'headRevision' in response && typeof response.headRevision === 'number';
12711
12730
  }
12712
12731
  function isOperationCommittedEvent(response) {
12713
- return (typeof response === "undefined" ? "undefined" : _type_of$7(response)) === 'object' && response !== null && 'boardId' in response && typeof response.boardId === 'string' && 'revision' in response && typeof response.revision === 'number' && 'operation' in response && isWhiteboardCommittedOperation(response.operation);
12732
+ return (typeof response === "undefined" ? "undefined" : _type_of$c(response)) === 'object' && response !== null && 'boardId' in response && typeof response.boardId === 'string' && 'revision' in response && typeof response.revision === 'number' && 'operation' in response && isWhiteboardCommittedOperation(response.operation);
12714
12733
  }
12715
12734
  function normalizeOperationSubmitAck(response) {
12716
12735
  if (isOperationSubmitAck(response)) return response;
@@ -12719,7 +12738,7 @@ function normalizeOperationSubmitAck(response) {
12719
12738
  };
12720
12739
  }
12721
12740
  function isOperationSubmitAck(response) {
12722
- if ((typeof response === "undefined" ? "undefined" : _type_of$7(response)) !== 'object' || response === null || !('status' in response) || typeof response.status !== 'string') {
12741
+ if ((typeof response === "undefined" ? "undefined" : _type_of$c(response)) !== 'object' || response === null || !('status' in response) || typeof response.status !== 'string') {
12723
12742
  return false;
12724
12743
  }
12725
12744
  if (response.status === 'accepted') {
@@ -12783,7 +12802,7 @@ function queueErrorToStatus(error, operationId) {
12783
12802
  };
12784
12803
  }
12785
12804
  function setSocketToken(socket, token) {
12786
- if (_type_of$7(socket.auth) !== 'object' || socket.auth === null) return;
12805
+ if (_type_of$c(socket.auth) !== 'object' || socket.auth === null) return;
12787
12806
  if (!('token' in socket.auth) || typeof socket.auth.token !== 'string') return;
12788
12807
  socket.auth.token = token;
12789
12808
  }
@@ -12828,16 +12847,16 @@ function requestJson(fetchImpl, url, token, signal) {
12828
12847
  })();
12829
12848
  }
12830
12849
 
12831
- function _array_like_to_array$r(arr, len) {
12850
+ function _array_like_to_array$s(arr, len) {
12832
12851
  if (len == null || len > arr.length) len = arr.length;
12833
12852
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
12834
12853
  return arr2;
12835
12854
  }
12836
- function _array_with_holes$o(arr) {
12855
+ function _array_with_holes$p(arr) {
12837
12856
  if (Array.isArray(arr)) return arr;
12838
12857
  }
12839
12858
  function _array_without_holes$9(arr) {
12840
- if (Array.isArray(arr)) return _array_like_to_array$r(arr);
12859
+ if (Array.isArray(arr)) return _array_like_to_array$s(arr);
12841
12860
  }
12842
12861
  function asyncGeneratorStep$m(gen, resolve, reject, _next, _throw, key, arg) {
12843
12862
  try {
@@ -12884,7 +12903,7 @@ function _define_property$k(obj, key, value) {
12884
12903
  function _iterable_to_array$9(iter) {
12885
12904
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
12886
12905
  }
12887
- function _iterable_to_array_limit$o(arr, i) {
12906
+ function _iterable_to_array_limit$p(arr, i) {
12888
12907
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
12889
12908
  if (_i == null) return;
12890
12909
  var _arr = [];
@@ -12908,7 +12927,7 @@ function _iterable_to_array_limit$o(arr, i) {
12908
12927
  }
12909
12928
  return _arr;
12910
12929
  }
12911
- function _non_iterable_rest$o() {
12930
+ function _non_iterable_rest$p() {
12912
12931
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12913
12932
  }
12914
12933
  function _non_iterable_spread$9() {
@@ -12948,19 +12967,19 @@ function _object_spread_props$f(target, source) {
12948
12967
  }
12949
12968
  return target;
12950
12969
  }
12951
- function _sliced_to_array$o(arr, i) {
12952
- return _array_with_holes$o(arr) || _iterable_to_array_limit$o(arr, i) || _unsupported_iterable_to_array$r(arr, i) || _non_iterable_rest$o();
12970
+ function _sliced_to_array$p(arr, i) {
12971
+ return _array_with_holes$p(arr) || _iterable_to_array_limit$p(arr, i) || _unsupported_iterable_to_array$s(arr, i) || _non_iterable_rest$p();
12953
12972
  }
12954
12973
  function _to_consumable_array$9(arr) {
12955
- return _array_without_holes$9(arr) || _iterable_to_array$9(arr) || _unsupported_iterable_to_array$r(arr) || _non_iterable_spread$9();
12974
+ return _array_without_holes$9(arr) || _iterable_to_array$9(arr) || _unsupported_iterable_to_array$s(arr) || _non_iterable_spread$9();
12956
12975
  }
12957
- function _unsupported_iterable_to_array$r(o, minLen) {
12976
+ function _unsupported_iterable_to_array$s(o, minLen) {
12958
12977
  if (!o) return;
12959
- if (typeof o === "string") return _array_like_to_array$r(o, minLen);
12978
+ if (typeof o === "string") return _array_like_to_array$s(o, minLen);
12960
12979
  var n = Object.prototype.toString.call(o).slice(8, -1);
12961
12980
  if (n === "Object" && o.constructor) n = o.constructor.name;
12962
12981
  if (n === "Map" || n === "Set") return Array.from(n);
12963
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$r(o, minLen);
12982
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$s(o, minLen);
12964
12983
  }
12965
12984
  function _ts_generator$m(thisArg, body) {
12966
12985
  var f, y, t, _ = {
@@ -13064,20 +13083,20 @@ function _ts_generator$m(thisArg, body) {
13064
13083
  function WhiteboardProvider(param) {
13065
13084
  var controlledAuth = param.auth, children = param.children, _param_createRuntime = param.createRuntime, createRuntime = _param_createRuntime === void 0 ? createWhiteboardRuntime : _param_createRuntime, onDiagnostic = param.onDiagnostic, realtimeEndpoint = param.realtimeEndpoint, recoveryPort = param.recoveryPort, socketFactory = param.socketFactory, controlledShareSessionKey = param.shareSessionKey;
13066
13085
  var _boardState_activeShareSessionKey, _ref;
13067
- var _useState = _sliced_to_array$o(useState(hasValidWhiteboardAuth(controlledAuth) ? controlledAuth : undefined), 2), auth = _useState[0], setAuthState = _useState[1];
13068
- var _useState1 = _sliced_to_array$o(useState(controlledShareSessionKey), 2), shareSessionKey = _useState1[0], setShareSessionKey = _useState1[1];
13069
- var _useState2 = _sliced_to_array$o(useState(hasValidWhiteboardAuth(controlledAuth) ? 'connecting' : 'standby'), 2), status = _useState2[0], setStatus = _useState2[1];
13070
- var _useState3 = _sliced_to_array$o(useState({
13086
+ var _useState = _sliced_to_array$p(useState(hasValidWhiteboardAuth(controlledAuth) ? controlledAuth : undefined), 2), auth = _useState[0], setAuthState = _useState[1];
13087
+ var _useState1 = _sliced_to_array$p(useState(controlledShareSessionKey), 2), shareSessionKey = _useState1[0], setShareSessionKey = _useState1[1];
13088
+ var _useState2 = _sliced_to_array$p(useState(hasValidWhiteboardAuth(controlledAuth) ? 'connecting' : 'standby'), 2), status = _useState2[0], setStatus = _useState2[1];
13089
+ var _useState3 = _sliced_to_array$p(useState({
13071
13090
  activeShareSessionKey: controlledShareSessionKey,
13072
13091
  confirmedRevision: 0,
13073
13092
  headRevision: 0,
13074
13093
  pendingOperationCount: 0
13075
13094
  }), 2), boardState = _useState3[0], setBoardState = _useState3[1];
13076
- var _useState4 = _sliced_to_array$o(useState('idle'), 2), recoveryStatus = _useState4[0], setRecoveryStatus = _useState4[1];
13077
- var _useState5 = _sliced_to_array$o(useState(undefined), 2), recovery = _useState5[0], setRecovery = _useState5[1];
13078
- var _useState6 = _sliced_to_array$o(useState(undefined), 2), committedEvent = _useState6[0], setCommittedEvent = _useState6[1];
13079
- var _useState7 = _sliced_to_array$o(useState([]), 2), committedEvents = _useState7[0], setCommittedEvents = _useState7[1];
13080
- var _useState8 = _sliced_to_array$o(useState({
13095
+ var _useState4 = _sliced_to_array$p(useState('idle'), 2), recoveryStatus = _useState4[0], setRecoveryStatus = _useState4[1];
13096
+ var _useState5 = _sliced_to_array$p(useState(undefined), 2), recovery = _useState5[0], setRecovery = _useState5[1];
13097
+ var _useState6 = _sliced_to_array$p(useState(undefined), 2), committedEvent = _useState6[0], setCommittedEvent = _useState6[1];
13098
+ var _useState7 = _sliced_to_array$p(useState([]), 2), committedEvents = _useState7[0], setCommittedEvents = _useState7[1];
13099
+ var _useState8 = _sliced_to_array$p(useState({
13081
13100
  state: 'idle'
13082
13101
  }), 2), submitStatus = _useState8[0], setSubmitStatus = _useState8[1];
13083
13102
  var authRef = useRef(auth);
@@ -13459,13 +13478,13 @@ function WhiteboardProvider(param) {
13459
13478
  });
13460
13479
  }
13461
13480
 
13462
- function _array_like_to_array$q(arr, len) {
13481
+ function _array_like_to_array$r(arr, len) {
13463
13482
  if (len == null || len > arr.length) len = arr.length;
13464
13483
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
13465
13484
  return arr2;
13466
13485
  }
13467
13486
  function _array_without_holes$8(arr) {
13468
- if (Array.isArray(arr)) return _array_like_to_array$q(arr);
13487
+ if (Array.isArray(arr)) return _array_like_to_array$r(arr);
13469
13488
  }
13470
13489
  function _define_property$j(obj, key, value) {
13471
13490
  if (key in obj) {
@@ -13521,15 +13540,15 @@ function _object_spread_props$e(target, source) {
13521
13540
  return target;
13522
13541
  }
13523
13542
  function _to_consumable_array$8(arr) {
13524
- return _array_without_holes$8(arr) || _iterable_to_array$8(arr) || _unsupported_iterable_to_array$q(arr) || _non_iterable_spread$8();
13543
+ return _array_without_holes$8(arr) || _iterable_to_array$8(arr) || _unsupported_iterable_to_array$r(arr) || _non_iterable_spread$8();
13525
13544
  }
13526
- function _unsupported_iterable_to_array$q(o, minLen) {
13545
+ function _unsupported_iterable_to_array$r(o, minLen) {
13527
13546
  if (!o) return;
13528
- if (typeof o === "string") return _array_like_to_array$q(o, minLen);
13547
+ if (typeof o === "string") return _array_like_to_array$r(o, minLen);
13529
13548
  var n = Object.prototype.toString.call(o).slice(8, -1);
13530
13549
  if (n === "Object" && o.constructor) n = o.constructor.name;
13531
13550
  if (n === "Map" || n === "Set") return Array.from(n);
13532
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$q(o, minLen);
13551
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$r(o, minLen);
13533
13552
  }
13534
13553
  var RoomPlatformIntegrationsContext = createContext({
13535
13554
  integrations: null
@@ -13588,6 +13607,21 @@ function useRoomPlatformPrivateRoomContext() {
13588
13607
  return context;
13589
13608
  }
13590
13609
 
13610
+ function createRoomPlatformScreenShareCaptureOptions() {
13611
+ var CaptureController = globalThis.CaptureController;
13612
+ if (typeof CaptureController !== 'function') return undefined;
13613
+ try {
13614
+ var controller = new CaptureController();
13615
+ controller.setFocusBehavior('focus-capturing-application');
13616
+ return {
13617
+ controller: controller,
13618
+ selfBrowserSurface: 'include'
13619
+ };
13620
+ } catch (unused) {
13621
+ return undefined;
13622
+ }
13623
+ }
13624
+
13591
13625
  var RoomPlatformGatewayErrorCode = {
13592
13626
  ACCESS_SESSION_INVALID: 'ROOM_PLATFORM_ACCESS_SESSION_INVALID',
13593
13627
  LAUNCH_TICKET_INVALID: 'ROOM_PLATFORM_LAUNCH_TICKET_INVALID'
@@ -13596,16 +13630,16 @@ var RoomPlatformRuntimeErrorCode = {
13596
13630
  LIVEKIT_TOKEN_EXPIRED: 'LIVEKIT_TOKEN_EXPIRED'
13597
13631
  };
13598
13632
 
13599
- function _array_like_to_array$p(arr, len) {
13633
+ function _array_like_to_array$q(arr, len) {
13600
13634
  if (len == null || len > arr.length) len = arr.length;
13601
13635
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
13602
13636
  return arr2;
13603
13637
  }
13604
- function _array_with_holes$n(arr) {
13638
+ function _array_with_holes$o(arr) {
13605
13639
  if (Array.isArray(arr)) return arr;
13606
13640
  }
13607
13641
  function _array_without_holes$7(arr) {
13608
- if (Array.isArray(arr)) return _array_like_to_array$p(arr);
13642
+ if (Array.isArray(arr)) return _array_like_to_array$q(arr);
13609
13643
  }
13610
13644
  function _assert_this_initialized$1(self) {
13611
13645
  if (self === void 0) {
@@ -13700,7 +13734,7 @@ function _inherits$1(subClass, superClass) {
13700
13734
  });
13701
13735
  if (superClass) _set_prototype_of$1(subClass, superClass);
13702
13736
  }
13703
- function _instanceof$3(left, right) {
13737
+ function _instanceof$4(left, right) {
13704
13738
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
13705
13739
  return !!right[Symbol.hasInstance](left);
13706
13740
  } else {
@@ -13713,7 +13747,7 @@ function _is_native_function$1(fn) {
13713
13747
  function _iterable_to_array$7(iter) {
13714
13748
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
13715
13749
  }
13716
- function _iterable_to_array_limit$n(arr, i) {
13750
+ function _iterable_to_array_limit$o(arr, i) {
13717
13751
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
13718
13752
  if (_i == null) return;
13719
13753
  var _arr = [];
@@ -13737,7 +13771,7 @@ function _iterable_to_array_limit$n(arr, i) {
13737
13771
  }
13738
13772
  return _arr;
13739
13773
  }
13740
- function _non_iterable_rest$n() {
13774
+ function _non_iterable_rest$o() {
13741
13775
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
13742
13776
  }
13743
13777
  function _non_iterable_spread$7() {
@@ -13778,7 +13812,7 @@ function _object_spread_props$d(target, source) {
13778
13812
  return target;
13779
13813
  }
13780
13814
  function _possible_constructor_return$1(self, call) {
13781
- if (call && (_type_of$6(call) === "object" || typeof call === "function")) {
13815
+ if (call && (_type_of$b(call) === "object" || typeof call === "function")) {
13782
13816
  return call;
13783
13817
  }
13784
13818
  return _assert_this_initialized$1(self);
@@ -13790,23 +13824,23 @@ function _set_prototype_of$1(o, p) {
13790
13824
  };
13791
13825
  return _set_prototype_of$1(o, p);
13792
13826
  }
13793
- function _sliced_to_array$n(arr, i) {
13794
- return _array_with_holes$n(arr) || _iterable_to_array_limit$n(arr, i) || _unsupported_iterable_to_array$p(arr, i) || _non_iterable_rest$n();
13827
+ function _sliced_to_array$o(arr, i) {
13828
+ return _array_with_holes$o(arr) || _iterable_to_array_limit$o(arr, i) || _unsupported_iterable_to_array$q(arr, i) || _non_iterable_rest$o();
13795
13829
  }
13796
13830
  function _to_consumable_array$7(arr) {
13797
- return _array_without_holes$7(arr) || _iterable_to_array$7(arr) || _unsupported_iterable_to_array$p(arr) || _non_iterable_spread$7();
13831
+ return _array_without_holes$7(arr) || _iterable_to_array$7(arr) || _unsupported_iterable_to_array$q(arr) || _non_iterable_spread$7();
13798
13832
  }
13799
- function _type_of$6(obj) {
13833
+ function _type_of$b(obj) {
13800
13834
  "@swc/helpers - typeof";
13801
13835
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
13802
13836
  }
13803
- function _unsupported_iterable_to_array$p(o, minLen) {
13837
+ function _unsupported_iterable_to_array$q(o, minLen) {
13804
13838
  if (!o) return;
13805
- if (typeof o === "string") return _array_like_to_array$p(o, minLen);
13839
+ if (typeof o === "string") return _array_like_to_array$q(o, minLen);
13806
13840
  var n = Object.prototype.toString.call(o).slice(8, -1);
13807
13841
  if (n === "Object" && o.constructor) n = o.constructor.name;
13808
13842
  if (n === "Map" || n === "Set") return Array.from(n);
13809
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$p(o, minLen);
13843
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$q(o, minLen);
13810
13844
  }
13811
13845
  function _wrap_native_super$1(Class) {
13812
13846
  var _cache = typeof Map === "function" ? new Map() : undefined;
@@ -13997,12 +14031,12 @@ var createIdempotencyKey$1 = function() {
13997
14031
  var actionPendingKey = function(name, payload) {
13998
14032
  if (!payload) return name;
13999
14033
  return "".concat(name, ":").concat(JSON.stringify(Object.entries(payload).sort(function(param, param1) {
14000
- var _param = _sliced_to_array$n(param, 1), left = _param[0], _param1 = _sliced_to_array$n(param1, 1), right = _param1[0];
14034
+ var _param = _sliced_to_array$o(param, 1), left = _param[0], _param1 = _sliced_to_array$o(param1, 1), right = _param1[0];
14001
14035
  return left.localeCompare(right);
14002
14036
  })));
14003
14037
  };
14004
14038
  var toError = function(error) {
14005
- return _instanceof$3(error, Error) ? error : new Error(String(error));
14039
+ return _instanceof$4(error, Error) ? error : new Error(String(error));
14006
14040
  };
14007
14041
  var toGatewayError = function(response) {
14008
14042
  return _async_to_generator$l(function() {
@@ -14043,12 +14077,12 @@ var toGatewayError = function(response) {
14043
14077
  })();
14044
14078
  };
14045
14079
  var unwrapGatewayResponse = function(body) {
14046
- if (body && (typeof body === "undefined" ? "undefined" : _type_of$6(body)) === 'object' && 'data' in body) return body.data;
14080
+ if (body && (typeof body === "undefined" ? "undefined" : _type_of$b(body)) === 'object' && 'data' in body) return body.data;
14047
14081
  return body;
14048
14082
  };
14049
14083
  var errorCodeOf = function(error) {
14050
- if (_instanceof$3(error, RoomPlatformGatewayError)) return error.code;
14051
- if ((typeof error === "undefined" ? "undefined" : _type_of$6(error)) === 'object' && error !== null && 'code' in error && typeof error.code === 'string') return error.code;
14084
+ if (_instanceof$4(error, RoomPlatformGatewayError)) return error.code;
14085
+ if ((typeof error === "undefined" ? "undefined" : _type_of$b(error)) === 'object' && error !== null && 'code' in error && typeof error.code === 'string') return error.code;
14052
14086
  return undefined;
14053
14087
  };
14054
14088
  var renewalReasonFor = function(error) {
@@ -14093,21 +14127,21 @@ var activeDevicesStateOf = function(room) {
14093
14127
  function RoomPlatformProvider(param) {
14094
14128
  var apiBaseUrl = param.apiBaseUrl, children = param.children, launchToken = param.launchToken, onError = param.onError, onLifecycleEvent = param.onLifecycleEvent, onLaunchTicketRequired = param.onLaunchTicketRequired;
14095
14129
  var _ref;
14096
- var _useState = _sliced_to_array$n(useState(), 2), access = _useState[0], setAccess = _useState[1];
14097
- var _useState1 = _sliced_to_array$n(useState(emptyActiveDevices), 2), activeDevices = _useState1[0], setActiveDevices = _useState1[1];
14098
- var _useState2 = _sliced_to_array$n(useState(), 2), actionError = _useState2[0], setActionError = _useState2[1];
14099
- var _useState3 = _sliced_to_array$n(useState(), 2), controlState = _useState3[0], setControlState = _useState3[1];
14100
- var _useState4 = _sliced_to_array$n(useState(), 2), error = _useState4[0], setError = _useState4[1];
14101
- var _useState5 = _sliced_to_array$n(useState(null), 2), localCameraTrack = _useState5[0], setLocalCameraTrack = _useState5[1];
14102
- var _useState6 = _sliced_to_array$n(useState(emptyLocalMediaState), 2), localMedia = _useState6[0], setLocalMedia = _useState6[1];
14103
- var _useState7 = _sliced_to_array$n(useState(null), 2), integrations = _useState7[0], setIntegrations = _useState7[1];
14104
- var _useState8 = _sliced_to_array$n(useState(), 2), privateRoom = _useState8[0], setPrivateRoom = _useState8[1];
14105
- var _useState9 = _sliced_to_array$n(useState(), 2), privateRoomConnection = _useState9[0], setPrivateRoomConnection = _useState9[1];
14106
- var _useState10 = _sliced_to_array$n(useState(false), 2), privateMediaRestorePending = _useState10[0], setPrivateMediaRestorePending = _useState10[1];
14107
- var _useState11 = _sliced_to_array$n(useState([]), 2), pendingActionKeys = _useState11[0], setPendingActionKeys = _useState11[1];
14108
- var _useState12 = _sliced_to_array$n(useState([]), 2), pendingLocalMediaKinds = _useState12[0], setPendingLocalMediaKinds = _useState12[1];
14109
- var _useState13 = _sliced_to_array$n(useState(null), 2), room = _useState13[0], setRoom = _useState13[1];
14110
- var _useState14 = _sliced_to_array$n(useState('connecting'), 2), status = _useState14[0], setStatus = _useState14[1];
14130
+ var _useState = _sliced_to_array$o(useState(), 2), access = _useState[0], setAccess = _useState[1];
14131
+ var _useState1 = _sliced_to_array$o(useState(emptyActiveDevices), 2), activeDevices = _useState1[0], setActiveDevices = _useState1[1];
14132
+ var _useState2 = _sliced_to_array$o(useState(), 2), actionError = _useState2[0], setActionError = _useState2[1];
14133
+ var _useState3 = _sliced_to_array$o(useState(), 2), controlState = _useState3[0], setControlState = _useState3[1];
14134
+ var _useState4 = _sliced_to_array$o(useState(), 2), error = _useState4[0], setError = _useState4[1];
14135
+ var _useState5 = _sliced_to_array$o(useState(null), 2), localCameraTrack = _useState5[0], setLocalCameraTrack = _useState5[1];
14136
+ var _useState6 = _sliced_to_array$o(useState(emptyLocalMediaState), 2), localMedia = _useState6[0], setLocalMedia = _useState6[1];
14137
+ var _useState7 = _sliced_to_array$o(useState(null), 2), integrations = _useState7[0], setIntegrations = _useState7[1];
14138
+ var _useState8 = _sliced_to_array$o(useState(), 2), privateRoom = _useState8[0], setPrivateRoom = _useState8[1];
14139
+ var _useState9 = _sliced_to_array$o(useState(), 2), privateRoomConnection = _useState9[0], setPrivateRoomConnection = _useState9[1];
14140
+ var _useState10 = _sliced_to_array$o(useState(false), 2), privateMediaRestorePending = _useState10[0], setPrivateMediaRestorePending = _useState10[1];
14141
+ var _useState11 = _sliced_to_array$o(useState([]), 2), pendingActionKeys = _useState11[0], setPendingActionKeys = _useState11[1];
14142
+ var _useState12 = _sliced_to_array$o(useState([]), 2), pendingLocalMediaKinds = _useState12[0], setPendingLocalMediaKinds = _useState12[1];
14143
+ var _useState13 = _sliced_to_array$o(useState(null), 2), room = _useState13[0], setRoom = _useState13[1];
14144
+ var _useState14 = _sliced_to_array$o(useState('connecting'), 2), status = _useState14[0], setStatus = _useState14[1];
14111
14145
  var isMountedRef = useRef(false);
14112
14146
  var accessRef = useRef(undefined);
14113
14147
  var controlStateRef = useRef(undefined);
@@ -14782,7 +14816,7 @@ function RoomPlatformProvider(param) {
14782
14816
  ]
14783
14817
  ];
14784
14818
  localTrackEventHandlers.forEach(function(param) {
14785
- var _param = _sliced_to_array$n(param, 2), event = _param[0], eventName = _param[1];
14819
+ var _param = _sliced_to_array$o(param, 2), event = _param[0], eventName = _param[1];
14786
14820
  var handler = function() {
14787
14821
  return roomPlatformDebug(eventName, {
14788
14822
  isUpstreamPaused: localCameraTrack.isUpstreamPaused,
@@ -14838,7 +14872,7 @@ function RoomPlatformProvider(param) {
14838
14872
  window.clearInterval(timer);
14839
14873
  if (localCameraTrack) {
14840
14874
  registeredLocalTrackEventHandlers.forEach(function(param) {
14841
- var _param = _sliced_to_array$n(param, 2), event = _param[0], handler = _param[1];
14875
+ var _param = _sliced_to_array$o(param, 2), event = _param[0], handler = _param[1];
14842
14876
  localCameraTrack.off(event, handler);
14843
14877
  });
14844
14878
  }
@@ -15649,7 +15683,7 @@ function RoomPlatformProvider(param) {
15649
15683
  reportLifecycleEvent('reconnect.failed');
15650
15684
  }
15651
15685
  var error = args.find(function(argument) {
15652
- return _instanceof$3(argument, Error) || errorCodeOf(argument);
15686
+ return _instanceof$4(argument, Error) || errorCodeOf(argument);
15653
15687
  });
15654
15688
  void function() {
15655
15689
  return _async_to_generator$l(function() {
@@ -16252,7 +16286,7 @@ function RoomPlatformProvider(param) {
16252
16286
  if (existingOperation !== undefined) return existingOperation;
16253
16287
  var operation = (function() {
16254
16288
  return _async_to_generator$l(function() {
16255
- var _controlStateRef_current, _accessRef_current, connection, role, currentAccess, hasTemporarySpeakerGrant, ringingPrivateRoom, participant, actorId, isRingingForActor, _ref, currentSnapshot, snapshot;
16289
+ var _controlStateRef_current, _accessRef_current, connection, role, currentAccess, hasTemporarySpeakerGrant, screenShareOptions, ringingPrivateRoom, participant, actorId, isRingingForActor, _ref, currentSnapshot, snapshot;
16256
16290
  return _ts_generator$l(this, function(_state) {
16257
16291
  switch(_state.label){
16258
16292
  case 0:
@@ -16299,7 +16333,7 @@ function RoomPlatformProvider(param) {
16299
16333
  }
16300
16334
  return [
16301
16335
  3,
16302
- 7
16336
+ 12
16303
16337
  ];
16304
16338
  case 3:
16305
16339
  return [
@@ -16310,20 +16344,53 @@ function RoomPlatformProvider(param) {
16310
16344
  _state.sent();
16311
16345
  return [
16312
16346
  3,
16313
- 7
16347
+ 12
16314
16348
  ];
16315
16349
  case 5:
16350
+ if (!!enabled) return [
16351
+ 3,
16352
+ 7
16353
+ ];
16316
16354
  return [
16317
16355
  4,
16318
- connection.room.localParticipant.setScreenShareEnabled(enabled)
16356
+ connection.room.localParticipant.setScreenShareEnabled(false)
16319
16357
  ];
16320
16358
  case 6:
16321
16359
  _state.sent();
16322
16360
  return [
16323
16361
  3,
16324
- 7
16362
+ 12
16325
16363
  ];
16326
16364
  case 7:
16365
+ screenShareOptions = createRoomPlatformScreenShareCaptureOptions();
16366
+ if (!screenShareOptions) return [
16367
+ 3,
16368
+ 9
16369
+ ];
16370
+ return [
16371
+ 4,
16372
+ connection.room.localParticipant.setScreenShareEnabled(true, screenShareOptions)
16373
+ ];
16374
+ case 8:
16375
+ _state.sent();
16376
+ return [
16377
+ 3,
16378
+ 11
16379
+ ];
16380
+ case 9:
16381
+ return [
16382
+ 4,
16383
+ connection.room.localParticipant.setScreenShareEnabled(true)
16384
+ ];
16385
+ case 10:
16386
+ _state.sent();
16387
+ _state.label = 11;
16388
+ case 11:
16389
+ return [
16390
+ 3,
16391
+ 12
16392
+ ];
16393
+ case 12:
16327
16394
  ringingPrivateRoom = privateRoomRef.current;
16328
16395
  participant = connection.room.localParticipant;
16329
16396
  actorId = externalActorIdFromMetadata$2(participant.metadata);
@@ -16806,12 +16873,12 @@ function useRoomPlatformToast() {
16806
16873
  return useContext(RoomPlatformToastContext);
16807
16874
  }
16808
16875
 
16809
- function _array_like_to_array$o(arr, len) {
16876
+ function _array_like_to_array$p(arr, len) {
16810
16877
  if (len == null || len > arr.length) len = arr.length;
16811
16878
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
16812
16879
  return arr2;
16813
16880
  }
16814
- function _array_with_holes$m(arr) {
16881
+ function _array_with_holes$n(arr) {
16815
16882
  if (Array.isArray(arr)) return arr;
16816
16883
  }
16817
16884
  function asyncGeneratorStep$k(gen, resolve, reject, _next, _throw, key, arg) {
@@ -16843,7 +16910,7 @@ function _async_to_generator$k(fn) {
16843
16910
  });
16844
16911
  };
16845
16912
  }
16846
- function _iterable_to_array_limit$m(arr, i) {
16913
+ function _iterable_to_array_limit$n(arr, i) {
16847
16914
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
16848
16915
  if (_i == null) return;
16849
16916
  var _arr = [];
@@ -16867,19 +16934,19 @@ function _iterable_to_array_limit$m(arr, i) {
16867
16934
  }
16868
16935
  return _arr;
16869
16936
  }
16870
- function _non_iterable_rest$m() {
16937
+ function _non_iterable_rest$n() {
16871
16938
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
16872
16939
  }
16873
- function _sliced_to_array$m(arr, i) {
16874
- return _array_with_holes$m(arr) || _iterable_to_array_limit$m(arr, i) || _unsupported_iterable_to_array$o(arr, i) || _non_iterable_rest$m();
16940
+ function _sliced_to_array$n(arr, i) {
16941
+ return _array_with_holes$n(arr) || _iterable_to_array_limit$n(arr, i) || _unsupported_iterable_to_array$p(arr, i) || _non_iterable_rest$n();
16875
16942
  }
16876
- function _unsupported_iterable_to_array$o(o, minLen) {
16943
+ function _unsupported_iterable_to_array$p(o, minLen) {
16877
16944
  if (!o) return;
16878
- if (typeof o === "string") return _array_like_to_array$o(o, minLen);
16945
+ if (typeof o === "string") return _array_like_to_array$p(o, minLen);
16879
16946
  var n = Object.prototype.toString.call(o).slice(8, -1);
16880
16947
  if (n === "Object" && o.constructor) n = o.constructor.name;
16881
16948
  if (n === "Map" || n === "Set") return Array.from(n);
16882
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$o(o, minLen);
16949
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$p(o, minLen);
16883
16950
  }
16884
16951
  function _ts_generator$k(thisArg, body) {
16885
16952
  var f, y, t, _ = {
@@ -17034,9 +17101,9 @@ function useRoomPlatformPrivateRoom() {
17034
17101
  var _useRoomPlatformPrivateRoomContext = useRoomPlatformPrivateRoomContext(), projectedPrivateRoom = _useRoomPlatformPrivateRoomContext.privateRoom, projectedPrivateRoomConnection = _useRoomPlatformPrivateRoomContext.privateRoomConnection;
17035
17102
  var privateRoom = isValidPrivateRoomProjection(projectedPrivateRoom) ? projectedPrivateRoom : undefined;
17036
17103
  var privateRoomConnection = privateRoom && isValidPrivateRoomConnection(projectedPrivateRoomConnection, privateRoom) ? projectedPrivateRoomConnection : undefined;
17037
- var _useState = _sliced_to_array$m(useState(false), 2), isAcceptingPrivateRoom = _useState[0], setIsAcceptingPrivateRoom = _useState[1];
17038
- var _useState1 = _sliced_to_array$m(useState(false), 2), isEndingPrivateRoom = _useState1[0], setIsEndingPrivateRoom = _useState1[1];
17039
- var _useState2 = _sliced_to_array$m(useState(), 2), privateRoomReturnedNoticeId = _useState2[0], setPrivateRoomReturnedNoticeId = _useState2[1];
17104
+ var _useState = _sliced_to_array$n(useState(false), 2), isAcceptingPrivateRoom = _useState[0], setIsAcceptingPrivateRoom = _useState[1];
17105
+ var _useState1 = _sliced_to_array$n(useState(false), 2), isEndingPrivateRoom = _useState1[0], setIsEndingPrivateRoom = _useState1[1];
17106
+ var _useState2 = _sliced_to_array$n(useState(), 2), privateRoomReturnedNoticeId = _useState2[0], setPrivateRoomReturnedNoticeId = _useState2[1];
17040
17107
  var actorExternalId = externalActorIdFromMetadata$1(room === null || room === void 0 ? void 0 : room.localParticipant.metadata);
17041
17108
  var isCaller = Boolean(actorExternalId && (privateRoom === null || privateRoom === void 0 ? void 0 : privateRoom.callerExternalActorId) === actorExternalId);
17042
17109
  var isStudent = Boolean(actorExternalId && (privateRoom === null || privateRoom === void 0 ? void 0 : privateRoom.studentExternalActorId) === actorExternalId);
@@ -17287,21 +17354,21 @@ function useRoomPlatformPrivateRoomPendingState() {
17287
17354
  };
17288
17355
  }
17289
17356
 
17290
- function _array_like_to_array$n(arr, len) {
17357
+ function _array_like_to_array$o(arr, len) {
17291
17358
  if (len == null || len > arr.length) len = arr.length;
17292
17359
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
17293
17360
  return arr2;
17294
17361
  }
17295
- function _array_with_holes$l(arr) {
17362
+ function _array_with_holes$m(arr) {
17296
17363
  if (Array.isArray(arr)) return arr;
17297
17364
  }
17298
17365
  function _array_without_holes$6(arr) {
17299
- if (Array.isArray(arr)) return _array_like_to_array$n(arr);
17366
+ if (Array.isArray(arr)) return _array_like_to_array$o(arr);
17300
17367
  }
17301
17368
  function _iterable_to_array$6(iter) {
17302
17369
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
17303
17370
  }
17304
- function _iterable_to_array_limit$l(arr, i) {
17371
+ function _iterable_to_array_limit$m(arr, i) {
17305
17372
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
17306
17373
  if (_i == null) return;
17307
17374
  var _arr = [];
@@ -17325,35 +17392,35 @@ function _iterable_to_array_limit$l(arr, i) {
17325
17392
  }
17326
17393
  return _arr;
17327
17394
  }
17328
- function _non_iterable_rest$l() {
17395
+ function _non_iterable_rest$m() {
17329
17396
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
17330
17397
  }
17331
17398
  function _non_iterable_spread$6() {
17332
17399
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
17333
17400
  }
17334
- function _sliced_to_array$l(arr, i) {
17335
- return _array_with_holes$l(arr) || _iterable_to_array_limit$l(arr, i) || _unsupported_iterable_to_array$n(arr, i) || _non_iterable_rest$l();
17401
+ function _sliced_to_array$m(arr, i) {
17402
+ return _array_with_holes$m(arr) || _iterable_to_array_limit$m(arr, i) || _unsupported_iterable_to_array$o(arr, i) || _non_iterable_rest$m();
17336
17403
  }
17337
17404
  function _to_consumable_array$6(arr) {
17338
- return _array_without_holes$6(arr) || _iterable_to_array$6(arr) || _unsupported_iterable_to_array$n(arr) || _non_iterable_spread$6();
17405
+ return _array_without_holes$6(arr) || _iterable_to_array$6(arr) || _unsupported_iterable_to_array$o(arr) || _non_iterable_spread$6();
17339
17406
  }
17340
- function _type_of$5(obj) {
17407
+ function _type_of$a(obj) {
17341
17408
  "@swc/helpers - typeof";
17342
17409
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
17343
17410
  }
17344
- function _unsupported_iterable_to_array$n(o, minLen) {
17411
+ function _unsupported_iterable_to_array$o(o, minLen) {
17345
17412
  if (!o) return;
17346
- if (typeof o === "string") return _array_like_to_array$n(o, minLen);
17413
+ if (typeof o === "string") return _array_like_to_array$o(o, minLen);
17347
17414
  var n = Object.prototype.toString.call(o).slice(8, -1);
17348
17415
  if (n === "Object" && o.constructor) n = o.constructor.name;
17349
17416
  if (n === "Map" || n === "Set") return Array.from(n);
17350
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$n(o, minLen);
17417
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$o(o, minLen);
17351
17418
  }
17352
17419
  var externalActorIdFromMetadata = function(metadata) {
17353
17420
  if (!metadata) return undefined;
17354
17421
  try {
17355
17422
  var parsed = JSON.parse(metadata);
17356
- if (!parsed || (typeof parsed === "undefined" ? "undefined" : _type_of$5(parsed)) !== 'object' || Array.isArray(parsed)) return undefined;
17423
+ if (!parsed || (typeof parsed === "undefined" ? "undefined" : _type_of$a(parsed)) !== 'object' || Array.isArray(parsed)) return undefined;
17357
17424
  var externalActorId = parsed.externalActorId;
17358
17425
  return typeof externalActorId === 'string' && externalActorId.trim() ? externalActorId : undefined;
17359
17426
  } catch (unused) {
@@ -17395,7 +17462,7 @@ var snapshotPresence = function(room, controlState) {
17395
17462
  };
17396
17463
  function useRoomPresence() {
17397
17464
  var _useRoomPlatform = useRoomPlatform(), controlState = _useRoomPlatform.controlState, room = _useRoomPlatform.room;
17398
- var _useState = _sliced_to_array$l(useState(function() {
17465
+ var _useState = _sliced_to_array$m(useState(function() {
17399
17466
  return snapshotPresence(room, controlState);
17400
17467
  }), 2), presence = _useState[0], setPresence = _useState[1];
17401
17468
  useEffect(function() {
@@ -17436,15 +17503,15 @@ function useRoomPresence() {
17436
17503
  return presence;
17437
17504
  }
17438
17505
 
17439
- function _array_like_to_array$m(arr, len) {
17506
+ function _array_like_to_array$n(arr, len) {
17440
17507
  if (len == null || len > arr.length) len = arr.length;
17441
17508
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
17442
17509
  return arr2;
17443
17510
  }
17444
- function _array_with_holes$k(arr) {
17511
+ function _array_with_holes$l(arr) {
17445
17512
  if (Array.isArray(arr)) return arr;
17446
17513
  }
17447
- function _iterable_to_array_limit$k(arr, i) {
17514
+ function _iterable_to_array_limit$l(arr, i) {
17448
17515
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
17449
17516
  if (_i == null) return;
17450
17517
  var _arr = [];
@@ -17468,19 +17535,19 @@ function _iterable_to_array_limit$k(arr, i) {
17468
17535
  }
17469
17536
  return _arr;
17470
17537
  }
17471
- function _non_iterable_rest$k() {
17538
+ function _non_iterable_rest$l() {
17472
17539
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
17473
17540
  }
17474
- function _sliced_to_array$k(arr, i) {
17475
- return _array_with_holes$k(arr) || _iterable_to_array_limit$k(arr, i) || _unsupported_iterable_to_array$m(arr, i) || _non_iterable_rest$k();
17541
+ function _sliced_to_array$l(arr, i) {
17542
+ return _array_with_holes$l(arr) || _iterable_to_array_limit$l(arr, i) || _unsupported_iterable_to_array$n(arr, i) || _non_iterable_rest$l();
17476
17543
  }
17477
- function _unsupported_iterable_to_array$m(o, minLen) {
17544
+ function _unsupported_iterable_to_array$n(o, minLen) {
17478
17545
  if (!o) return;
17479
- if (typeof o === "string") return _array_like_to_array$m(o, minLen);
17546
+ if (typeof o === "string") return _array_like_to_array$n(o, minLen);
17480
17547
  var n = Object.prototype.toString.call(o).slice(8, -1);
17481
17548
  if (n === "Object" && o.constructor) n = o.constructor.name;
17482
17549
  if (n === "Map" || n === "Set") return Array.from(n);
17483
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$m(o, minLen);
17550
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$n(o, minLen);
17484
17551
  }
17485
17552
  function RoomParticipantActions(param) {
17486
17553
  var _param_isActiveSpeaker = param.isActiveSpeaker, isActiveSpeaker = _param_isActiveSpeaker === void 0 ? false : _param_isActiveSpeaker, isLocal = param.isLocal, isOnline = param.isOnline, participant = param.participant, participantIdentity = param.participantIdentity;
@@ -17496,7 +17563,7 @@ function RoomParticipantActions(param) {
17496
17563
  var canUsePrivateRoom = (controlState === null || controlState === void 0 ? void 0 : controlState.mode) && (controlState === null || controlState === void 0 ? void 0 : controlState.mode) !== 'live';
17497
17564
  var _useRoomPlatformPrivateRoom = useRoomPlatformPrivateRoom(), cancelPrivateRoom = _useRoomPlatformPrivateRoom.cancelPrivateRoom, currentPrivateRoomOperation = _useRoomPlatformPrivateRoom.currentPrivateRoomOperation;
17498
17565
  var roomPlatformToast = useRoomPlatformToast();
17499
- var _useState = _sliced_to_array$k(useState(false), 2), privateCallHovered = _useState[0], setPrivateCallHovered = _useState[1];
17566
+ var _useState = _sliced_to_array$l(useState(false), 2), privateCallHovered = _useState[0], setPrivateCallHovered = _useState[1];
17500
17567
  var actionPayload = resolvedParticipantIdentity ? {
17501
17568
  participantIdentity: resolvedParticipantIdentity
17502
17569
  } : undefined;
@@ -17904,22 +17971,22 @@ function RoomPlatformActiveSpeaker(param) {
17904
17971
  }) : null;
17905
17972
  }
17906
17973
 
17907
- function _array_like_to_array$l(arr, len) {
17974
+ function _array_like_to_array$m(arr, len) {
17908
17975
  if (len == null || len > arr.length) len = arr.length;
17909
17976
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
17910
17977
  return arr2;
17911
17978
  }
17912
- function _array_with_holes$j(arr) {
17979
+ function _array_with_holes$k(arr) {
17913
17980
  if (Array.isArray(arr)) return arr;
17914
17981
  }
17915
- function _instanceof$2(left, right) {
17982
+ function _instanceof$3(left, right) {
17916
17983
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
17917
17984
  return !!right[Symbol.hasInstance](left);
17918
17985
  } else {
17919
17986
  return left instanceof right;
17920
17987
  }
17921
17988
  }
17922
- function _iterable_to_array_limit$j(arr, i) {
17989
+ function _iterable_to_array_limit$k(arr, i) {
17923
17990
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
17924
17991
  if (_i == null) return;
17925
17992
  var _arr = [];
@@ -17943,31 +18010,31 @@ function _iterable_to_array_limit$j(arr, i) {
17943
18010
  }
17944
18011
  return _arr;
17945
18012
  }
17946
- function _non_iterable_rest$j() {
18013
+ function _non_iterable_rest$k() {
17947
18014
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
17948
18015
  }
17949
- function _sliced_to_array$j(arr, i) {
17950
- return _array_with_holes$j(arr) || _iterable_to_array_limit$j(arr, i) || _unsupported_iterable_to_array$l(arr, i) || _non_iterable_rest$j();
18016
+ function _sliced_to_array$k(arr, i) {
18017
+ return _array_with_holes$k(arr) || _iterable_to_array_limit$k(arr, i) || _unsupported_iterable_to_array$m(arr, i) || _non_iterable_rest$k();
17951
18018
  }
17952
- function _unsupported_iterable_to_array$l(o, minLen) {
18019
+ function _unsupported_iterable_to_array$m(o, minLen) {
17953
18020
  if (!o) return;
17954
- if (typeof o === "string") return _array_like_to_array$l(o, minLen);
18021
+ if (typeof o === "string") return _array_like_to_array$m(o, minLen);
17955
18022
  var n = Object.prototype.toString.call(o).slice(8, -1);
17956
18023
  if (n === "Object" && o.constructor) n = o.constructor.name;
17957
18024
  if (n === "Map" || n === "Set") return Array.from(n);
17958
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$l(o, minLen);
18025
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$m(o, minLen);
17959
18026
  }
17960
18027
  var IDLE_TIMEOUT_MS = 15000;
17961
18028
  var ROOM_CONTROL_ACTIVITY_SELECTOR = '[data-room-control-activity]';
17962
18029
  var isRoomControlActivityTarget = function(target) {
17963
- return _instanceof$2(target, Element) && Boolean(target.closest(ROOM_CONTROL_ACTIVITY_SELECTOR));
18030
+ return _instanceof$3(target, Element) && Boolean(target.closest(ROOM_CONTROL_ACTIVITY_SELECTOR));
17964
18031
  };
17965
18032
  function RoomPlatformControlAnchor(param) {
17966
18033
  var _param_anchorKind = param.anchorKind, anchorKind = _param_anchorKind === void 0 ? 'main-panel' : _param_anchorKind, children = param.children, controlBar = param.controlBar, _param_anchorScope = param.anchorScope, anchorScope = _param_anchorScope === void 0 ? 'panel' : _param_anchorScope, className = param.className, style = param.style;
17967
- var _useState = _sliced_to_array$j(useState(true), 2), isVisible = _useState[0], setIsVisible = _useState[1];
17968
- var _useState1 = _sliced_to_array$j(useState(false), 2), isHovered = _useState1[0], setIsHovered = _useState1[1];
17969
- var _useState2 = _sliced_to_array$j(useState(false), 2), isFocusWithin = _useState2[0], setIsFocusWithin = _useState2[1];
17970
- var _useState3 = _sliced_to_array$j(useState(0), 2), activityVersion = _useState3[0], setActivityVersion = _useState3[1];
18034
+ var _useState = _sliced_to_array$k(useState(true), 2), isVisible = _useState[0], setIsVisible = _useState[1];
18035
+ var _useState1 = _sliced_to_array$k(useState(false), 2), isHovered = _useState1[0], setIsHovered = _useState1[1];
18036
+ var _useState2 = _sliced_to_array$k(useState(false), 2), isFocusWithin = _useState2[0], setIsFocusWithin = _useState2[1];
18037
+ var _useState3 = _sliced_to_array$k(useState(0), 2), activityVersion = _useState3[0], setActivityVersion = _useState3[1];
17971
18038
  var anchorRef = useRef(null);
17972
18039
  var timerRef = useRef(null);
17973
18040
  var focusTimerRef = useRef(null);
@@ -18105,15 +18172,15 @@ function RoomPlatformControlAnchor(param) {
18105
18172
  });
18106
18173
  }
18107
18174
 
18108
- function _array_like_to_array$k(arr, len) {
18175
+ function _array_like_to_array$l(arr, len) {
18109
18176
  if (len == null || len > arr.length) len = arr.length;
18110
18177
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
18111
18178
  return arr2;
18112
18179
  }
18113
- function _array_with_holes$i(arr) {
18180
+ function _array_with_holes$j(arr) {
18114
18181
  if (Array.isArray(arr)) return arr;
18115
18182
  }
18116
- function _iterable_to_array_limit$i(arr, i) {
18183
+ function _iterable_to_array_limit$j(arr, i) {
18117
18184
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
18118
18185
  if (_i == null) return;
18119
18186
  var _arr = [];
@@ -18137,19 +18204,19 @@ function _iterable_to_array_limit$i(arr, i) {
18137
18204
  }
18138
18205
  return _arr;
18139
18206
  }
18140
- function _non_iterable_rest$i() {
18207
+ function _non_iterable_rest$j() {
18141
18208
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
18142
18209
  }
18143
- function _sliced_to_array$i(arr, i) {
18144
- return _array_with_holes$i(arr) || _iterable_to_array_limit$i(arr, i) || _unsupported_iterable_to_array$k(arr, i) || _non_iterable_rest$i();
18210
+ function _sliced_to_array$j(arr, i) {
18211
+ return _array_with_holes$j(arr) || _iterable_to_array_limit$j(arr, i) || _unsupported_iterable_to_array$l(arr, i) || _non_iterable_rest$j();
18145
18212
  }
18146
- function _unsupported_iterable_to_array$k(o, minLen) {
18213
+ function _unsupported_iterable_to_array$l(o, minLen) {
18147
18214
  if (!o) return;
18148
- if (typeof o === "string") return _array_like_to_array$k(o, minLen);
18215
+ if (typeof o === "string") return _array_like_to_array$l(o, minLen);
18149
18216
  var n = Object.prototype.toString.call(o).slice(8, -1);
18150
18217
  if (n === "Object" && o.constructor) n = o.constructor.name;
18151
18218
  if (n === "Map" || n === "Set") return Array.from(n);
18152
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$k(o, minLen);
18219
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$l(o, minLen);
18153
18220
  }
18154
18221
  var ALLOWED_MIME_TYPES = [
18155
18222
  'image/jpeg',
@@ -18174,8 +18241,8 @@ function RoomPlatformBackgroundSettings(param) {
18174
18241
  var state = param.state, presets = param.presets, uploadItems = param.uploadItems, onSelectNoBackground = param.onSelectNoBackground, onSelectBlurLevel = param.onSelectBlurLevel, onSelectPreset = param.onSelectPreset, onSelectUploaded = param.onSelectUploaded, onDeleteUploaded = param.onDeleteUploaded, onUpload = param.onUpload;
18175
18242
  var _ref;
18176
18243
  var _presets_;
18177
- var _useState = _sliced_to_array$i(useState(null), 2), uploadError = _useState[0], setUploadError = _useState[1];
18178
- var _useState1 = _sliced_to_array$i(useState(function() {
18244
+ var _useState = _sliced_to_array$j(useState(null), 2), uploadError = _useState[0], setUploadError = _useState[1];
18245
+ var _useState1 = _sliced_to_array$j(useState(function() {
18179
18246
  return backgroundTabFromState(state.mode);
18180
18247
  }), 2), activeTab = _useState1[0], setActiveTab = _useState1[1];
18181
18248
  var fileInputId = useId();
@@ -18561,12 +18628,12 @@ var getSelectedDevice = function(devices, selectedValue) {
18561
18628
  });
18562
18629
  };
18563
18630
 
18564
- function _array_like_to_array$j(arr, len) {
18631
+ function _array_like_to_array$k(arr, len) {
18565
18632
  if (len == null || len > arr.length) len = arr.length;
18566
18633
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
18567
18634
  return arr2;
18568
18635
  }
18569
- function _array_with_holes$h(arr) {
18636
+ function _array_with_holes$i(arr) {
18570
18637
  if (Array.isArray(arr)) return arr;
18571
18638
  }
18572
18639
  function asyncGeneratorStep$j(gen, resolve, reject, _next, _throw, key, arg) {
@@ -18598,7 +18665,7 @@ function _async_to_generator$j(fn) {
18598
18665
  });
18599
18666
  };
18600
18667
  }
18601
- function _iterable_to_array_limit$h(arr, i) {
18668
+ function _iterable_to_array_limit$i(arr, i) {
18602
18669
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
18603
18670
  if (_i == null) return;
18604
18671
  var _arr = [];
@@ -18622,19 +18689,19 @@ function _iterable_to_array_limit$h(arr, i) {
18622
18689
  }
18623
18690
  return _arr;
18624
18691
  }
18625
- function _non_iterable_rest$h() {
18692
+ function _non_iterable_rest$i() {
18626
18693
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
18627
18694
  }
18628
- function _sliced_to_array$h(arr, i) {
18629
- return _array_with_holes$h(arr) || _iterable_to_array_limit$h(arr, i) || _unsupported_iterable_to_array$j(arr, i) || _non_iterable_rest$h();
18695
+ function _sliced_to_array$i(arr, i) {
18696
+ return _array_with_holes$i(arr) || _iterable_to_array_limit$i(arr, i) || _unsupported_iterable_to_array$k(arr, i) || _non_iterable_rest$i();
18630
18697
  }
18631
- function _unsupported_iterable_to_array$j(o, minLen) {
18698
+ function _unsupported_iterable_to_array$k(o, minLen) {
18632
18699
  if (!o) return;
18633
- if (typeof o === "string") return _array_like_to_array$j(o, minLen);
18700
+ if (typeof o === "string") return _array_like_to_array$k(o, minLen);
18634
18701
  var n = Object.prototype.toString.call(o).slice(8, -1);
18635
18702
  if (n === "Object" && o.constructor) n = o.constructor.name;
18636
18703
  if (n === "Map" || n === "Set") return Array.from(n);
18637
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$j(o, minLen);
18704
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$k(o, minLen);
18638
18705
  }
18639
18706
  function _ts_generator$j(thisArg, body) {
18640
18707
  var f, y, t, _ = {
@@ -18790,12 +18857,12 @@ function RoomPlatformDeviceSettings(param) {
18790
18857
  var _useRoomPlatform = useRoomPlatform(), activeDevices = _useRoomPlatform.activeDevices, room = _useRoomPlatform.room, switchActiveDevice = _useRoomPlatform.switchActiveDevice;
18791
18858
  var enumerateDevices = (_navigator_mediaDevices = navigator.mediaDevices) === null || _navigator_mediaDevices === void 0 ? void 0 : _navigator_mediaDevices.enumerateDevices;
18792
18859
  var canEnumerateDevices = typeof enumerateDevices === 'function';
18793
- var _useState = _sliced_to_array$h(useState([]), 2), devices = _useState[0], setDevices = _useState[1];
18794
- var _useState1 = _sliced_to_array$h(useState(canEnumerateDevices ? (_activeDevices_audioinput = activeDevices.audioinput) !== null && _activeDevices_audioinput !== void 0 ? _activeDevices_audioinput : fallbacks.audioinput.value : fallbacks.audioinput.value), 2), selectedMicrophoneId = _useState1[0], setSelectedMicrophoneId = _useState1[1];
18795
- var _useState2 = _sliced_to_array$h(useState(canEnumerateDevices ? (_activeDevices_videoinput = activeDevices.videoinput) !== null && _activeDevices_videoinput !== void 0 ? _activeDevices_videoinput : fallbacks.videoinput.value : fallbacks.videoinput.value), 2), selectedCameraId = _useState2[0], setSelectedCameraId = _useState2[1];
18796
- var _useState3 = _sliced_to_array$h(useState(canEnumerateDevices ? (_activeDevices_audiooutput = activeDevices.audiooutput) !== null && _activeDevices_audiooutput !== void 0 ? _activeDevices_audiooutput : fallbacks.audiooutput.value : fallbacks.audiooutput.value), 2), selectedSpeakerId = _useState3[0], setSelectedSpeakerId = _useState3[1];
18797
- var _useState4 = _sliced_to_array$h(useState(null), 2), deviceApplyError = _useState4[0], setDeviceApplyError = _useState4[1];
18798
- var _useState5 = _sliced_to_array$h(useState(false), 2), isApplyingDevices = _useState5[0], setIsApplyingDevices = _useState5[1];
18860
+ var _useState = _sliced_to_array$i(useState([]), 2), devices = _useState[0], setDevices = _useState[1];
18861
+ var _useState1 = _sliced_to_array$i(useState(canEnumerateDevices ? (_activeDevices_audioinput = activeDevices.audioinput) !== null && _activeDevices_audioinput !== void 0 ? _activeDevices_audioinput : fallbacks.audioinput.value : fallbacks.audioinput.value), 2), selectedMicrophoneId = _useState1[0], setSelectedMicrophoneId = _useState1[1];
18862
+ var _useState2 = _sliced_to_array$i(useState(canEnumerateDevices ? (_activeDevices_videoinput = activeDevices.videoinput) !== null && _activeDevices_videoinput !== void 0 ? _activeDevices_videoinput : fallbacks.videoinput.value : fallbacks.videoinput.value), 2), selectedCameraId = _useState2[0], setSelectedCameraId = _useState2[1];
18863
+ var _useState3 = _sliced_to_array$i(useState(canEnumerateDevices ? (_activeDevices_audiooutput = activeDevices.audiooutput) !== null && _activeDevices_audiooutput !== void 0 ? _activeDevices_audiooutput : fallbacks.audiooutput.value : fallbacks.audiooutput.value), 2), selectedSpeakerId = _useState3[0], setSelectedSpeakerId = _useState3[1];
18864
+ var _useState4 = _sliced_to_array$i(useState(null), 2), deviceApplyError = _useState4[0], setDeviceApplyError = _useState4[1];
18865
+ var _useState5 = _sliced_to_array$i(useState(false), 2), isApplyingDevices = _useState5[0], setIsApplyingDevices = _useState5[1];
18799
18866
  var microphones = useMemo(function() {
18800
18867
  return devices.filter(function(param) {
18801
18868
  var kind = param.kind;
@@ -19055,12 +19122,12 @@ function RoomPlatformDeviceSettings(param) {
19055
19122
  });
19056
19123
  }
19057
19124
 
19058
- function _array_like_to_array$i(arr, len) {
19125
+ function _array_like_to_array$j(arr, len) {
19059
19126
  if (len == null || len > arr.length) len = arr.length;
19060
19127
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
19061
19128
  return arr2;
19062
19129
  }
19063
- function _array_with_holes$g(arr) {
19130
+ function _array_with_holes$h(arr) {
19064
19131
  if (Array.isArray(arr)) return arr;
19065
19132
  }
19066
19133
  function asyncGeneratorStep$i(gen, resolve, reject, _next, _throw, key, arg) {
@@ -19105,7 +19172,7 @@ function _define_property$f(obj, key, value) {
19105
19172
  }
19106
19173
  return obj;
19107
19174
  }
19108
- function _iterable_to_array_limit$g(arr, i) {
19175
+ function _iterable_to_array_limit$h(arr, i) {
19109
19176
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
19110
19177
  if (_i == null) return;
19111
19178
  var _arr = [];
@@ -19129,7 +19196,7 @@ function _iterable_to_array_limit$g(arr, i) {
19129
19196
  }
19130
19197
  return _arr;
19131
19198
  }
19132
- function _non_iterable_rest$g() {
19199
+ function _non_iterable_rest$h() {
19133
19200
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
19134
19201
  }
19135
19202
  function _object_spread$d(target) {
@@ -19202,16 +19269,16 @@ function _object_without_properties_loose$3(source, excluded) {
19202
19269
  }
19203
19270
  return target;
19204
19271
  }
19205
- function _sliced_to_array$g(arr, i) {
19206
- return _array_with_holes$g(arr) || _iterable_to_array_limit$g(arr, i) || _unsupported_iterable_to_array$i(arr, i) || _non_iterable_rest$g();
19272
+ function _sliced_to_array$h(arr, i) {
19273
+ return _array_with_holes$h(arr) || _iterable_to_array_limit$h(arr, i) || _unsupported_iterable_to_array$j(arr, i) || _non_iterable_rest$h();
19207
19274
  }
19208
- function _unsupported_iterable_to_array$i(o, minLen) {
19275
+ function _unsupported_iterable_to_array$j(o, minLen) {
19209
19276
  if (!o) return;
19210
- if (typeof o === "string") return _array_like_to_array$i(o, minLen);
19277
+ if (typeof o === "string") return _array_like_to_array$j(o, minLen);
19211
19278
  var n = Object.prototype.toString.call(o).slice(8, -1);
19212
19279
  if (n === "Object" && o.constructor) n = o.constructor.name;
19213
19280
  if (n === "Map" || n === "Set") return Array.from(n);
19214
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$i(o, minLen);
19281
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$j(o, minLen);
19215
19282
  }
19216
19283
  function _ts_generator$i(thisArg, body) {
19217
19284
  var f, y, t, _ = {
@@ -19361,9 +19428,9 @@ function RoomPlatformControlBar(param) {
19361
19428
  var cameraBackground = param.cameraBackground, _param_isFullscreen = param.isFullscreen, isFullscreen = _param_isFullscreen === void 0 ? false : _param_isFullscreen, _param_isTheaterMode = param.isTheaterMode, isTheaterMode = _param_isTheaterMode === void 0 ? false : _param_isTheaterMode, onExit = param.onExit, onToggleFullscreen = param.onToggleFullscreen, onToggleTheaterMode = param.onToggleTheaterMode;
19362
19429
  var _ref;
19363
19430
  var _useRoomPlatform = useRoomPlatform(), access = _useRoomPlatform.access, controlState = _useRoomPlatform.controlState, hasCapability = _useRoomPlatform.hasCapability, isLocalMediaPending = _useRoomPlatform.isLocalMediaPending, localMedia = _useRoomPlatform.localMedia, performAction = _useRoomPlatform.performAction, room = _useRoomPlatform.room, setLocalMediaEnabled = _useRoomPlatform.setLocalMediaEnabled;
19364
- var _useState = _sliced_to_array$g(useState(false), 2), settingsOpen = _useState[0], setSettingsOpen = _useState[1];
19365
- var _useState1 = _sliced_to_array$g(useState(false), 2), isRequestSpeakPending = _useState1[0], setIsRequestSpeakPending = _useState1[1];
19366
- var _useState2 = _sliced_to_array$g(useState(false), 2), isCancelSpeakPending = _useState2[0], setIsCancelSpeakPending = _useState2[1];
19431
+ var _useState = _sliced_to_array$h(useState(false), 2), settingsOpen = _useState[0], setSettingsOpen = _useState[1];
19432
+ var _useState1 = _sliced_to_array$h(useState(false), 2), isRequestSpeakPending = _useState1[0], setIsRequestSpeakPending = _useState1[1];
19433
+ var _useState2 = _sliced_to_array$h(useState(false), 2), isCancelSpeakPending = _useState2[0], setIsCancelSpeakPending = _useState2[1];
19367
19434
  var roomPlatformToast = useRoomPlatformToast();
19368
19435
  var currentParticipant = useRoomPresence().find(function(participant) {
19369
19436
  return participant.isLocal;
@@ -19616,12 +19683,12 @@ function RoomPlatformControlBar(param) {
19616
19683
  });
19617
19684
  }
19618
19685
 
19619
- function _array_like_to_array$h(arr, len) {
19686
+ function _array_like_to_array$i(arr, len) {
19620
19687
  if (len == null || len > arr.length) len = arr.length;
19621
19688
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
19622
19689
  return arr2;
19623
19690
  }
19624
- function _array_with_holes$f(arr) {
19691
+ function _array_with_holes$g(arr) {
19625
19692
  if (Array.isArray(arr)) return arr;
19626
19693
  }
19627
19694
  function asyncGeneratorStep$h(gen, resolve, reject, _next, _throw, key, arg) {
@@ -19653,7 +19720,7 @@ function _async_to_generator$h(fn) {
19653
19720
  });
19654
19721
  };
19655
19722
  }
19656
- function _iterable_to_array_limit$f(arr, i) {
19723
+ function _iterable_to_array_limit$g(arr, i) {
19657
19724
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
19658
19725
  if (_i == null) return;
19659
19726
  var _arr = [];
@@ -19677,19 +19744,19 @@ function _iterable_to_array_limit$f(arr, i) {
19677
19744
  }
19678
19745
  return _arr;
19679
19746
  }
19680
- function _non_iterable_rest$f() {
19747
+ function _non_iterable_rest$g() {
19681
19748
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
19682
19749
  }
19683
- function _sliced_to_array$f(arr, i) {
19684
- return _array_with_holes$f(arr) || _iterable_to_array_limit$f(arr, i) || _unsupported_iterable_to_array$h(arr, i) || _non_iterable_rest$f();
19750
+ function _sliced_to_array$g(arr, i) {
19751
+ return _array_with_holes$g(arr) || _iterable_to_array_limit$g(arr, i) || _unsupported_iterable_to_array$i(arr, i) || _non_iterable_rest$g();
19685
19752
  }
19686
- function _unsupported_iterable_to_array$h(o, minLen) {
19753
+ function _unsupported_iterable_to_array$i(o, minLen) {
19687
19754
  if (!o) return;
19688
- if (typeof o === "string") return _array_like_to_array$h(o, minLen);
19755
+ if (typeof o === "string") return _array_like_to_array$i(o, minLen);
19689
19756
  var n = Object.prototype.toString.call(o).slice(8, -1);
19690
19757
  if (n === "Object" && o.constructor) n = o.constructor.name;
19691
19758
  if (n === "Map" || n === "Set") return Array.from(n);
19692
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$h(o, minLen);
19759
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$i(o, minLen);
19693
19760
  }
19694
19761
  function _ts_generator$h(thisArg, body) {
19695
19762
  var f, y, t, _ = {
@@ -19794,7 +19861,7 @@ function RoomPlatformCurrentOperationStrip(param) {
19794
19861
  var activeSpeakerParticipantIdentity = param.activeSpeakerParticipantIdentity, canClearActiveSpeaker = param.canClearActiveSpeaker, isClearingActiveSpeaker = param.isClearingActiveSpeaker, onClearActiveSpeaker = param.onClearActiveSpeaker, participants = param.participants;
19795
19862
  var _ref, _ref1;
19796
19863
  var _useRoomPlatformPrivateRoom = useRoomPlatformPrivateRoom(), cancelPrivateRoom = _useRoomPlatformPrivateRoom.cancelPrivateRoom, currentPrivateRoomOperation = _useRoomPlatformPrivateRoom.currentPrivateRoomOperation;
19797
- var _useState = _sliced_to_array$f(useState(false), 2), isCancelingPrivateRoomOperation = _useState[0], setIsCancelingPrivateRoomOperation = _useState[1];
19864
+ var _useState = _sliced_to_array$g(useState(false), 2), isCancelingPrivateRoomOperation = _useState[0], setIsCancelingPrivateRoomOperation = _useState[1];
19798
19865
  var roomPlatformToast = useRoomPlatformToast();
19799
19866
  var activeSpeaker = activeSpeakerParticipantIdentity ? participants.find(function(participant) {
19800
19867
  return participant.participantIdentity === activeSpeakerParticipantIdentity;
@@ -20062,15 +20129,15 @@ function RoomPlatformMonitorSidebarVideoTile(props) {
20062
20129
  return /*#__PURE__*/ jsx(RoomPlatformMonitorVideoTile, _object_spread$c({}, props));
20063
20130
  }
20064
20131
 
20065
- function _array_like_to_array$g(arr, len) {
20132
+ function _array_like_to_array$h(arr, len) {
20066
20133
  if (len == null || len > arr.length) len = arr.length;
20067
20134
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
20068
20135
  return arr2;
20069
20136
  }
20070
- function _array_with_holes$e(arr) {
20137
+ function _array_with_holes$f(arr) {
20071
20138
  if (Array.isArray(arr)) return arr;
20072
20139
  }
20073
- function _iterable_to_array_limit$e(arr, i) {
20140
+ function _iterable_to_array_limit$f(arr, i) {
20074
20141
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
20075
20142
  if (_i == null) return;
20076
20143
  var _arr = [];
@@ -20094,19 +20161,19 @@ function _iterable_to_array_limit$e(arr, i) {
20094
20161
  }
20095
20162
  return _arr;
20096
20163
  }
20097
- function _non_iterable_rest$e() {
20164
+ function _non_iterable_rest$f() {
20098
20165
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
20099
20166
  }
20100
- function _sliced_to_array$e(arr, i) {
20101
- return _array_with_holes$e(arr) || _iterable_to_array_limit$e(arr, i) || _unsupported_iterable_to_array$g(arr, i) || _non_iterable_rest$e();
20167
+ function _sliced_to_array$f(arr, i) {
20168
+ return _array_with_holes$f(arr) || _iterable_to_array_limit$f(arr, i) || _unsupported_iterable_to_array$h(arr, i) || _non_iterable_rest$f();
20102
20169
  }
20103
- function _unsupported_iterable_to_array$g(o, minLen) {
20170
+ function _unsupported_iterable_to_array$h(o, minLen) {
20104
20171
  if (!o) return;
20105
- if (typeof o === "string") return _array_like_to_array$g(o, minLen);
20172
+ if (typeof o === "string") return _array_like_to_array$h(o, minLen);
20106
20173
  var n = Object.prototype.toString.call(o).slice(8, -1);
20107
20174
  if (n === "Object" && o.constructor) n = o.constructor.name;
20108
20175
  if (n === "Map" || n === "Set") return Array.from(n);
20109
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$g(o, minLen);
20176
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$h(o, minLen);
20110
20177
  }
20111
20178
  var hasAvailableTrackMedia$1 = function(param) {
20112
20179
  var publication = param.publication;
@@ -20119,7 +20186,7 @@ var hasAvailableTrackMedia$1 = function(param) {
20119
20186
  };
20120
20187
  function RoomPlatformMonitorStage(param) {
20121
20188
  var roster = param.roster, _param_pageSize = param.pageSize, pageSize = _param_pageSize === void 0 ? 12 : _param_pageSize;
20122
- var _useState = _sliced_to_array$e(useState(1), 2), page = _useState[0], setPage = _useState[1];
20189
+ var _useState = _sliced_to_array$f(useState(1), 2), page = _useState[0], setPage = _useState[1];
20123
20190
  var cameraTracks = useTracks([
20124
20191
  Track.Source.Camera
20125
20192
  ]);
@@ -20322,13 +20389,517 @@ function useRoomPlatformMonitorViewer(param) {
20322
20389
  ]);
20323
20390
  }
20324
20391
 
20325
- function _array_like_to_array$f(arr, len) {
20392
+ var ROOM_CONTROL_VERSION = 1;
20393
+ var ROOM_CONTROL_ACTIONS = {
20394
+ CLICK: 'ui.click',
20395
+ SCROLL: 'ui.scroll'
20396
+ };
20397
+
20398
+ function _type_of$9(obj) {
20399
+ "@swc/helpers - typeof";
20400
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
20401
+ }
20402
+ var MAX_CONTROL_SCOPE_LENGTH = 128;
20403
+ var MAX_CONTROL_ID_LENGTH = 128;
20404
+ var MAX_CONTROL_SCROLL_DELTA = 10000;
20405
+ var isRecord = function(value) {
20406
+ return (typeof value === "undefined" ? "undefined" : _type_of$9(value)) === 'object' && value !== null && !Array.isArray(value);
20407
+ };
20408
+ var hasOwn$1 = function(value, key) {
20409
+ return Object.prototype.hasOwnProperty.call(value, key);
20410
+ };
20411
+ var hasRequiredOwn = function(value) {
20412
+ for(var _len = arguments.length, keys = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
20413
+ keys[_key - 1] = arguments[_key];
20414
+ }
20415
+ return keys.every(function(key) {
20416
+ return hasOwn$1(value, key);
20417
+ });
20418
+ };
20419
+ var isBoundedString = function(value, maxLength) {
20420
+ return typeof value === 'string' && value === value.trim() && value.length > 0 && value.length <= maxLength;
20421
+ };
20422
+ var isValidId$1 = function(value) {
20423
+ return isBoundedString(value, MAX_CONTROL_ID_LENGTH);
20424
+ };
20425
+ var isValidScope = function(value) {
20426
+ if (typeof value !== 'string') return false;
20427
+ var normalized = normalizeScopeId(value);
20428
+ return normalized !== null && normalized === value;
20429
+ };
20430
+ var isValidVersion = function(value) {
20431
+ return value === ROOM_CONTROL_VERSION;
20432
+ };
20433
+ function normalizeScopeId(value) {
20434
+ if (typeof value !== 'string') return null;
20435
+ var normalized = value.trim();
20436
+ return normalized.length > 0 && normalized.length <= MAX_CONTROL_SCOPE_LENGTH ? normalized : null;
20437
+ }
20438
+ function isValidScrollPayload(value) {
20439
+ return isRecord(value) && hasRequiredOwn(value, 'deltaY') && typeof value.deltaY === 'number' && Number.isFinite(value.deltaY) && Math.abs(value.deltaY) <= MAX_CONTROL_SCROLL_DELTA;
20440
+ }
20441
+ function isValidClickPayload(value) {
20442
+ return isRecord(value) && hasRequiredOwn(value, 'x', 'y') && typeof value.x === 'number' && typeof value.y === 'number' && Number.isFinite(value.x) && Number.isFinite(value.y) && value.x >= 0 && value.x <= 1 && value.y >= 0 && value.y <= 1;
20443
+ }
20444
+ function isValidControlPayload(action, payload) {
20445
+ if (action === ROOM_CONTROL_ACTIONS.CLICK) return isValidClickPayload(payload);
20446
+ if (action === ROOM_CONTROL_ACTIONS.SCROLL) return isValidScrollPayload(payload);
20447
+ return false;
20448
+ }
20449
+ var isValidOptionalString = function(value, key) {
20450
+ var maxLength = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : MAX_CONTROL_ID_LENGTH;
20451
+ return !hasOwn$1(value, key) || isBoundedString(value[key], maxLength);
20452
+ };
20453
+ function isValidControlCommand(value) {
20454
+ if (!isRecord(value) || !hasRequiredOwn(value, 'type', 'version', 'scopeId', 'commandId', 'action', 'payload')) {
20455
+ return false;
20456
+ }
20457
+ if (value.type !== 'control-command' || !isValidVersion(value.version) || !isValidScope(value.scopeId) || !isValidId$1(value.commandId) || !isValidId$1(value.action) || !isValidControlPayload(value.action, value.payload)) {
20458
+ return false;
20459
+ }
20460
+ return !hasOwn$1(value, 'targetId') || isValidId$1(value.targetId);
20461
+ }
20462
+ function isValidControlTargetReady(value) {
20463
+ return hasRequiredOwn(value, 'type', 'version', 'scopeId', 'targetId', 'capabilities') && value.type === 'control-target-ready' && isValidVersion(value.version) && isValidScope(value.scopeId) && isValidId$1(value.targetId) && Array.isArray(value.capabilities) && value.capabilities.every(function(capability) {
20464
+ return isBoundedString(capability, MAX_CONTROL_ID_LENGTH);
20465
+ }) && isValidOptionalString(value, 'targetType') && isValidOptionalString(value, 'requestId');
20466
+ }
20467
+ function isValidControlDiscover(value) {
20468
+ return hasRequiredOwn(value, 'type', 'version', 'scopeId', 'requestId') && value.type === 'control-discover' && isValidVersion(value.version) && isValidScope(value.scopeId) && isValidId$1(value.requestId);
20469
+ }
20470
+ function isValidControlState(value) {
20471
+ return hasRequiredOwn(value, 'type', 'version', 'scopeId', 'targetId') && value.type === 'control-state' && isValidVersion(value.version) && isValidScope(value.scopeId) && isValidId$1(value.targetId) && isValidOptionalString(value, 'commandId');
20472
+ }
20473
+ function isValidControlMessage(value) {
20474
+ if (!isRecord(value) || !hasOwn$1(value, 'type')) return false;
20475
+ if (value.type === 'control-command') return isValidControlCommand(value);
20476
+ if (value.type === 'control-target-ready') return isValidControlTargetReady(value);
20477
+ if (value.type === 'control-discover') return isValidControlDiscover(value);
20478
+ if (value.type === 'control-state') return isValidControlState(value);
20479
+ return false;
20480
+ }
20481
+
20482
+ function controlChannelName(scopeId) {
20483
+ var normalizedScopeId = normalizeScopeId(scopeId);
20484
+ return normalizedScopeId === null ? '' : "naviedu:room-control:v".concat(ROOM_CONTROL_VERSION, ":").concat(normalizedScopeId);
20485
+ }
20486
+ function createBroadcastChannelTransport(scopeId) {
20487
+ var normalizedScopeId = normalizeScopeId(scopeId);
20488
+ if (normalizedScopeId === null || typeof window === 'undefined') return null;
20489
+ try {
20490
+ if (typeof window.BroadcastChannel !== 'function') return null;
20491
+ var channel = new window.BroadcastChannel(controlChannelName(normalizedScopeId));
20492
+ var handlers = new Set();
20493
+ var closed = false;
20494
+ channel.onmessage = function(event) {
20495
+ if (closed) return;
20496
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
20497
+ try {
20498
+ for(var _iterator = handlers[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
20499
+ var handler = _step.value;
20500
+ try {
20501
+ handler(event.data);
20502
+ } catch (unused) {
20503
+ // A subscriber must not break delivery to other subscribers.
20504
+ }
20505
+ }
20506
+ } catch (err) {
20507
+ _didIteratorError = true;
20508
+ _iteratorError = err;
20509
+ } finally{
20510
+ try {
20511
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
20512
+ _iterator.return();
20513
+ }
20514
+ } finally{
20515
+ if (_didIteratorError) {
20516
+ throw _iteratorError;
20517
+ }
20518
+ }
20519
+ }
20520
+ };
20521
+ return {
20522
+ publish: function publish(message) {
20523
+ if (closed) return;
20524
+ try {
20525
+ channel.postMessage(message);
20526
+ } catch (unused) {
20527
+ // Unsupported structured-clone values are intentionally ignored.
20528
+ }
20529
+ },
20530
+ subscribe: function subscribe(handler) {
20531
+ if (closed) return function() {
20532
+ return undefined;
20533
+ };
20534
+ handlers.add(handler);
20535
+ return function() {
20536
+ return handlers.delete(handler);
20537
+ };
20538
+ },
20539
+ close: function close() {
20540
+ if (closed) return;
20541
+ closed = true;
20542
+ handlers.clear();
20543
+ try {
20544
+ channel.onmessage = null;
20545
+ channel.close();
20546
+ } catch (unused) {
20547
+ // Closing an already-broken native channel is a no-op.
20548
+ }
20549
+ }
20550
+ };
20551
+ } catch (unused) {
20552
+ return null;
20553
+ }
20554
+ }
20555
+
20556
+ function _type_of$8(obj) {
20557
+ "@swc/helpers - typeof";
20558
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
20559
+ }
20560
+ var isValidId = function(value) {
20561
+ return typeof value === 'string' && value === value.trim() && value.length > 0 && value.length <= MAX_CONTROL_ID_LENGTH;
20562
+ };
20563
+ function decodeRoomControlCaptureHandle(value) {
20564
+ if (typeof value !== 'string') return null;
20565
+ try {
20566
+ var parsed = JSON.parse(value);
20567
+ if ((typeof parsed === "undefined" ? "undefined" : _type_of$8(parsed)) !== 'object' || parsed === null || Array.isArray(parsed)) return null;
20568
+ var candidate = parsed;
20569
+ var scopeId = normalizeScopeId(candidate.scopeId);
20570
+ if (candidate.version !== ROOM_CONTROL_VERSION || scopeId === null || scopeId !== candidate.scopeId) return null;
20571
+ if (!isValidId(candidate.targetId)) return null;
20572
+ return {
20573
+ version: ROOM_CONTROL_VERSION,
20574
+ scopeId: scopeId,
20575
+ targetId: candidate.targetId
20576
+ };
20577
+ } catch (unused) {
20578
+ return null;
20579
+ }
20580
+ }
20581
+
20582
+ function _type_of$7(obj) {
20583
+ "@swc/helpers - typeof";
20584
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
20585
+ }
20586
+ var fallbackId = 0;
20587
+ function createId(prefix) {
20588
+ try {
20589
+ var _globalThis_crypto;
20590
+ var randomUUID = (_globalThis_crypto = globalThis.crypto) === null || _globalThis_crypto === void 0 ? void 0 : _globalThis_crypto.randomUUID;
20591
+ if (typeof randomUUID === 'function') {
20592
+ var id = randomUUID.call(globalThis.crypto);
20593
+ if (id) return id;
20594
+ }
20595
+ } catch (unused) {
20596
+ // Fall through to a local ID.
20597
+ }
20598
+ fallbackId += 1;
20599
+ return "".concat(prefix, "-").concat(Date.now().toString(36), "-").concat(fallbackId, "-").concat(Math.random().toString(36).slice(2));
20600
+ }
20601
+ function hasOwn(value, key) {
20602
+ return Object.prototype.hasOwnProperty.call(value, key);
20603
+ }
20604
+ function isObject$1(value) {
20605
+ return (typeof value === "undefined" ? "undefined" : _type_of$7(value)) === 'object' && value !== null && !Array.isArray(value);
20606
+ }
20607
+ function createRoomControlController(options) {
20608
+ var _options_transport;
20609
+ var scopeId = normalizeScopeId(options.scopeId);
20610
+ var transport = scopeId === null ? null : (_options_transport = options.transport) !== null && _options_transport !== void 0 ? _options_transport : createBroadcastChannelTransport(scopeId);
20611
+ var registeredTargetIds = new Set();
20612
+ var closed = false;
20613
+ var transportAvailable = false;
20614
+ var unsubscribe = null;
20615
+ var screenShareTrack = null;
20616
+ var endedListener = null;
20617
+ var drawingInactive;
20618
+ var handleMessage = function(message) {
20619
+ if (closed || scopeId === null || !isValidControlMessage(message) || message.scopeId !== scopeId) return;
20620
+ if (message.type === 'control-target-ready') registeredTargetIds.add(message.targetId);
20621
+ };
20622
+ if (transport !== null) {
20623
+ try {
20624
+ var cleanup = transport.subscribe(handleMessage);
20625
+ if (typeof cleanup !== 'function') throw new Error('invalid transport subscription');
20626
+ unsubscribe = cleanup;
20627
+ transportAvailable = true;
20628
+ transport.publish({
20629
+ type: 'control-discover',
20630
+ version: ROOM_CONTROL_VERSION,
20631
+ scopeId: scopeId,
20632
+ requestId: createId('discover')
20633
+ });
20634
+ } catch (unused) {
20635
+ transportAvailable = false;
20636
+ }
20637
+ }
20638
+ var clearTrack = function() {
20639
+ var track = screenShareTrack;
20640
+ var listener = endedListener;
20641
+ screenShareTrack = null;
20642
+ endedListener = null;
20643
+ if (track !== null && listener !== null) {
20644
+ try {
20645
+ track.removeEventListener('ended', listener);
20646
+ } catch (unused) {
20647
+ // Track cleanup is best effort.
20648
+ }
20649
+ }
20650
+ };
20651
+ var setScreenShareTrack = function(track) {
20652
+ if (closed) return;
20653
+ clearTrack();
20654
+ if (track === null) return;
20655
+ var candidate = track;
20656
+ try {
20657
+ if (typeof candidate.getCaptureHandle === 'function') candidate.getCaptureHandle.call(candidate);
20658
+ } catch (unused) {
20659
+ // Capture Handle is an optional identity hint.
20660
+ }
20661
+ if (typeof candidate.addEventListener !== 'function' || typeof candidate.removeEventListener !== 'function') return;
20662
+ var onEnded = function() {
20663
+ if (screenShareTrack === candidate) clearTrack();
20664
+ };
20665
+ screenShareTrack = candidate;
20666
+ endedListener = onEnded;
20667
+ try {
20668
+ candidate.addEventListener('ended', onEnded);
20669
+ } catch (unused) {
20670
+ clearTrack();
20671
+ }
20672
+ };
20673
+ var setDrawingInactive = function(inactive) {
20674
+ if (!closed) drawingInactive = inactive;
20675
+ };
20676
+ var getCaptureTargetId = function() {
20677
+ var track = screenShareTrack;
20678
+ if (track === null || typeof track.getCaptureHandle !== 'function') return undefined;
20679
+ try {
20680
+ var handle = decodeRoomControlCaptureHandle(track.getCaptureHandle.call(track));
20681
+ return (handle === null || handle === void 0 ? void 0 : handle.scopeId) === scopeId && registeredTargetIds.has(handle.targetId) ? handle.targetId : undefined;
20682
+ } catch (unused) {
20683
+ return undefined;
20684
+ }
20685
+ };
20686
+ var isGateOpen = function() {
20687
+ var track = screenShareTrack;
20688
+ if (!transportAvailable || closed || track === null || drawingInactive !== true) return false;
20689
+ try {
20690
+ return track.readyState === 'live' && track.getSettings().displaySurface === 'browser';
20691
+ } catch (unused) {
20692
+ return false;
20693
+ }
20694
+ };
20695
+ var send = function(action, payload, options) {
20696
+ if (!isGateOpen() || !isValidControlPayload(action, payload) || transport === null || scopeId === null) return;
20697
+ try {
20698
+ if (options !== undefined && !isObject$1(options)) return;
20699
+ var command = {
20700
+ type: 'control-command',
20701
+ version: ROOM_CONTROL_VERSION,
20702
+ scopeId: scopeId,
20703
+ commandId: createId('command'),
20704
+ action: action,
20705
+ payload: payload
20706
+ };
20707
+ if (options !== undefined && hasOwn(options, 'targetId')) command.targetId = options.targetId;
20708
+ var captureTargetId = getCaptureTargetId();
20709
+ if (!('targetId' in command) && captureTargetId !== undefined) {
20710
+ command.targetId = captureTargetId;
20711
+ }
20712
+ if (!isValidControlCommand(command)) return;
20713
+ transport.publish(command);
20714
+ } catch (unused) {
20715
+ // Invalid input and unavailable transports fail closed.
20716
+ }
20717
+ };
20718
+ var close = function() {
20719
+ if (closed) return;
20720
+ closed = true;
20721
+ clearTrack();
20722
+ try {
20723
+ unsubscribe === null || unsubscribe === void 0 ? void 0 : unsubscribe();
20724
+ } catch (unused) {
20725
+ // Broken transport cleanup must not escape controller close.
20726
+ }
20727
+ if (transport !== null) {
20728
+ try {
20729
+ transport.close();
20730
+ } catch (unused) {
20731
+ // Broken transport cleanup must not escape controller close.
20732
+ }
20733
+ }
20734
+ };
20735
+ return {
20736
+ send: send,
20737
+ sendScroll: function(payload, options) {
20738
+ return send(ROOM_CONTROL_ACTIONS.SCROLL, payload, options);
20739
+ },
20740
+ sendClick: function(payload, options) {
20741
+ return send(ROOM_CONTROL_ACTIONS.CLICK, payload, options);
20742
+ },
20743
+ close: close,
20744
+ setScreenShareTrack: setScreenShareTrack,
20745
+ setDrawingInactive: setDrawingInactive
20746
+ };
20747
+ }
20748
+
20749
+ function _type_of$6(obj) {
20750
+ "@swc/helpers - typeof";
20751
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
20752
+ }
20753
+ var emptyContextValue = {
20754
+ sendClick: function() {
20755
+ return undefined;
20756
+ },
20757
+ sendScroll: function() {
20758
+ return undefined;
20759
+ },
20760
+ setScreenShareTrack: function() {
20761
+ return undefined;
20762
+ },
20763
+ setDrawingSurface: function() {
20764
+ return undefined;
20765
+ },
20766
+ setWhiteboardState: function() {
20767
+ return undefined;
20768
+ }
20769
+ };
20770
+ var RoomPlatformRoomControlContext = /*#__PURE__*/ createContext(emptyContextValue);
20771
+ var isScreenSharePublication$1 = function(publication) {
20772
+ return (typeof publication === "undefined" ? "undefined" : _type_of$6(publication)) === 'object' && publication !== null && publication.source === Track.Source.ScreenShare;
20773
+ };
20774
+ var mediaStreamTrackOf$1 = function(publication) {
20775
+ var _ref;
20776
+ var _publication_track;
20777
+ return (_ref = publication === null || publication === void 0 ? void 0 : (_publication_track = publication.track) === null || _publication_track === void 0 ? void 0 : _publication_track.mediaStreamTrack) !== null && _ref !== void 0 ? _ref : null;
20778
+ };
20779
+ function useRoomPlatformRoomControl() {
20780
+ return useContext(RoomPlatformRoomControlContext);
20781
+ }
20782
+ function RoomPlatformRoomControlRuntime(param) {
20783
+ var children = param.children, scopeId = param.scopeId;
20784
+ var room = useRoomPlatform().room;
20785
+ var normalizedScopeId = normalizeScopeId(scopeId);
20786
+ var controllerRef = useRef(null);
20787
+ var drawingSurfaceRef = useRef('none');
20788
+ var whiteboardStateRef = useRef(null);
20789
+ var syncDrawingGate = useCallback(function() {
20790
+ var controller = controllerRef.current;
20791
+ if (!controller) return;
20792
+ var state = whiteboardStateRef.current;
20793
+ controller.setDrawingInactive(drawingSurfaceRef.current === 'none' || state !== null && Boolean(state.toolbarAvailable) && (!state.toolbarOpen || state.activeTool === 'mouse'));
20794
+ }, []);
20795
+ var setDrawingSurface = useCallback(function(surface) {
20796
+ drawingSurfaceRef.current = surface;
20797
+ if (surface === 'whiteboard') whiteboardStateRef.current = null;
20798
+ syncDrawingGate();
20799
+ }, [
20800
+ normalizedScopeId,
20801
+ syncDrawingGate
20802
+ ]);
20803
+ var setWhiteboardState = useCallback(function(state) {
20804
+ whiteboardStateRef.current = state;
20805
+ syncDrawingGate();
20806
+ }, [
20807
+ syncDrawingGate
20808
+ ]);
20809
+ var setScreenShareTrack = useCallback(function(track) {
20810
+ var _controllerRef_current;
20811
+ (_controllerRef_current = controllerRef.current) === null || _controllerRef_current === void 0 ? void 0 : _controllerRef_current.setScreenShareTrack(track);
20812
+ }, []);
20813
+ var contextValue = useMemo(function() {
20814
+ return {
20815
+ sendClick: function(point) {
20816
+ var _controllerRef_current;
20817
+ return (_controllerRef_current = controllerRef.current) === null || _controllerRef_current === void 0 ? void 0 : _controllerRef_current.sendClick(point);
20818
+ },
20819
+ sendScroll: function(deltaY) {
20820
+ var _controllerRef_current;
20821
+ return (_controllerRef_current = controllerRef.current) === null || _controllerRef_current === void 0 ? void 0 : _controllerRef_current.sendScroll({
20822
+ deltaY: deltaY
20823
+ });
20824
+ },
20825
+ setScreenShareTrack: setScreenShareTrack,
20826
+ setDrawingSurface: setDrawingSurface,
20827
+ setWhiteboardState: setWhiteboardState
20828
+ };
20829
+ }, [
20830
+ setDrawingSurface,
20831
+ setScreenShareTrack,
20832
+ setWhiteboardState
20833
+ ]);
20834
+ useInsertionEffect(function() {
20835
+ if (!normalizedScopeId) return;
20836
+ drawingSurfaceRef.current = 'none';
20837
+ whiteboardStateRef.current = null;
20838
+ var controller = createRoomControlController({
20839
+ scopeId: normalizedScopeId
20840
+ });
20841
+ controllerRef.current = controller;
20842
+ controller.setDrawingInactive(true);
20843
+ return function() {
20844
+ if (controllerRef.current === controller) controllerRef.current = null;
20845
+ controller.close();
20846
+ };
20847
+ }, [
20848
+ normalizedScopeId
20849
+ ]);
20850
+ useInsertionEffect(function() {
20851
+ var controller = controllerRef.current;
20852
+ if (!controller || !room) return;
20853
+ var setPublicationTrack = function(publication) {
20854
+ if (publication !== undefined && !isScreenSharePublication$1(publication)) return;
20855
+ controller.setScreenShareTrack(mediaStreamTrackOf$1(isScreenSharePublication$1(publication) ? publication : room.localParticipant.getTrackPublication(Track.Source.ScreenShare)));
20856
+ };
20857
+ setPublicationTrack();
20858
+ var handlePublished = function(publication) {
20859
+ return setPublicationTrack(publication);
20860
+ };
20861
+ var handleUnpublished = function(publication) {
20862
+ if (publication === undefined || isScreenSharePublication$1(publication)) controller.setScreenShareTrack(null);
20863
+ };
20864
+ room.on(RoomEvent.LocalTrackPublished, handlePublished);
20865
+ room.on(RoomEvent.LocalTrackUnpublished, handleUnpublished);
20866
+ return function() {
20867
+ room.off(RoomEvent.LocalTrackPublished, handlePublished);
20868
+ room.off(RoomEvent.LocalTrackUnpublished, handleUnpublished);
20869
+ controller.setScreenShareTrack(null);
20870
+ };
20871
+ }, [
20872
+ normalizedScopeId,
20873
+ room
20874
+ ]);
20875
+ return /*#__PURE__*/ jsx(RoomPlatformRoomControlContext.Provider, {
20876
+ value: contextValue,
20877
+ children: children
20878
+ });
20879
+ }
20880
+ function RoomPlatformMainWhiteboardSurface(param) {
20881
+ var children = param.children;
20882
+ var setDrawingSurface = useRoomPlatformRoomControl().setDrawingSurface;
20883
+ useLayoutEffect(function() {
20884
+ setDrawingSurface('whiteboard');
20885
+ return function() {
20886
+ return setDrawingSurface('none');
20887
+ };
20888
+ }, [
20889
+ setDrawingSurface
20890
+ ]);
20891
+ return /*#__PURE__*/ jsx(Fragment, {
20892
+ children: children
20893
+ });
20894
+ }
20895
+
20896
+ function _array_like_to_array$g(arr, len) {
20326
20897
  if (len == null || len > arr.length) len = arr.length;
20327
20898
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
20328
20899
  return arr2;
20329
20900
  }
20330
20901
  function _array_without_holes$5(arr) {
20331
- if (Array.isArray(arr)) return _array_like_to_array$f(arr);
20902
+ if (Array.isArray(arr)) return _array_like_to_array$g(arr);
20332
20903
  }
20333
20904
  function asyncGeneratorStep$g(gen, resolve, reject, _next, _throw, key, arg) {
20334
20905
  try {
@@ -20372,7 +20943,7 @@ function _define_property$d(obj, key, value) {
20372
20943
  }
20373
20944
  return obj;
20374
20945
  }
20375
- function _instanceof$1(left, right) {
20946
+ function _instanceof$2(left, right) {
20376
20947
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
20377
20948
  return !!right[Symbol.hasInstance](left);
20378
20949
  } else {
@@ -20420,19 +20991,19 @@ function _object_spread_props$9(target, source) {
20420
20991
  return target;
20421
20992
  }
20422
20993
  function _to_consumable_array$5(arr) {
20423
- return _array_without_holes$5(arr) || _iterable_to_array$5(arr) || _unsupported_iterable_to_array$f(arr) || _non_iterable_spread$5();
20994
+ return _array_without_holes$5(arr) || _iterable_to_array$5(arr) || _unsupported_iterable_to_array$g(arr) || _non_iterable_spread$5();
20424
20995
  }
20425
- function _type_of$4(obj) {
20996
+ function _type_of$5(obj) {
20426
20997
  "@swc/helpers - typeof";
20427
20998
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
20428
20999
  }
20429
- function _unsupported_iterable_to_array$f(o, minLen) {
21000
+ function _unsupported_iterable_to_array$g(o, minLen) {
20430
21001
  if (!o) return;
20431
- if (typeof o === "string") return _array_like_to_array$f(o, minLen);
21002
+ if (typeof o === "string") return _array_like_to_array$g(o, minLen);
20432
21003
  var n = Object.prototype.toString.call(o).slice(8, -1);
20433
21004
  if (n === "Object" && o.constructor) n = o.constructor.name;
20434
21005
  if (n === "Map" || n === "Set") return Array.from(n);
20435
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$f(o, minLen);
21006
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$g(o, minLen);
20436
21007
  }
20437
21008
  function _ts_generator$g(thisArg, body) {
20438
21009
  var f, y, t, _ = {
@@ -20547,10 +21118,10 @@ var DEFAULT_ROOM_PLATFORM_CAMERA_BACKGROUND_SETTINGS = {
20547
21118
  updatedAt: new Date(0).toISOString()
20548
21119
  };
20549
21120
  var isObject = function(value) {
20550
- return (typeof value === "undefined" ? "undefined" : _type_of$4(value)) === 'object' && value !== null && !Array.isArray(value);
21121
+ return (typeof value === "undefined" ? "undefined" : _type_of$5(value)) === 'object' && value !== null && !Array.isArray(value);
20551
21122
  };
20552
21123
  var isBlob = function(value) {
20553
- return typeof Blob !== 'undefined' && _instanceof$1(value, Blob);
21124
+ return typeof Blob !== 'undefined' && _instanceof$2(value, Blob);
20554
21125
  };
20555
21126
  var nowIso = function() {
20556
21127
  return new Date().toISOString();
@@ -21250,12 +21821,12 @@ var saveRoomPlatformUploadAndSelect = function(file) {
21250
21821
  })();
21251
21822
  };
21252
21823
 
21253
- function _array_like_to_array$e(arr, len) {
21824
+ function _array_like_to_array$f(arr, len) {
21254
21825
  if (len == null || len > arr.length) len = arr.length;
21255
21826
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
21256
21827
  return arr2;
21257
21828
  }
21258
- function _array_with_holes$d(arr) {
21829
+ function _array_with_holes$e(arr) {
21259
21830
  if (Array.isArray(arr)) return arr;
21260
21831
  }
21261
21832
  function asyncGeneratorStep$f(gen, resolve, reject, _next, _throw, key, arg) {
@@ -21300,7 +21871,7 @@ function _define_property$c(obj, key, value) {
21300
21871
  }
21301
21872
  return obj;
21302
21873
  }
21303
- function _iterable_to_array_limit$d(arr, i) {
21874
+ function _iterable_to_array_limit$e(arr, i) {
21304
21875
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
21305
21876
  if (_i == null) return;
21306
21877
  var _arr = [];
@@ -21324,7 +21895,7 @@ function _iterable_to_array_limit$d(arr, i) {
21324
21895
  }
21325
21896
  return _arr;
21326
21897
  }
21327
- function _non_iterable_rest$d() {
21898
+ function _non_iterable_rest$e() {
21328
21899
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
21329
21900
  }
21330
21901
  function _object_spread$a(target) {
@@ -21361,16 +21932,16 @@ function _object_spread_props$8(target, source) {
21361
21932
  }
21362
21933
  return target;
21363
21934
  }
21364
- function _sliced_to_array$d(arr, i) {
21365
- return _array_with_holes$d(arr) || _iterable_to_array_limit$d(arr, i) || _unsupported_iterable_to_array$e(arr, i) || _non_iterable_rest$d();
21935
+ function _sliced_to_array$e(arr, i) {
21936
+ return _array_with_holes$e(arr) || _iterable_to_array_limit$e(arr, i) || _unsupported_iterable_to_array$f(arr, i) || _non_iterable_rest$e();
21366
21937
  }
21367
- function _unsupported_iterable_to_array$e(o, minLen) {
21938
+ function _unsupported_iterable_to_array$f(o, minLen) {
21368
21939
  if (!o) return;
21369
- if (typeof o === "string") return _array_like_to_array$e(o, minLen);
21940
+ if (typeof o === "string") return _array_like_to_array$f(o, minLen);
21370
21941
  var n = Object.prototype.toString.call(o).slice(8, -1);
21371
21942
  if (n === "Object" && o.constructor) n = o.constructor.name;
21372
21943
  if (n === "Map" || n === "Set") return Array.from(n);
21373
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$e(o, minLen);
21944
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$f(o, minLen);
21374
21945
  }
21375
21946
  function _ts_generator$f(thisArg, body) {
21376
21947
  var f, y, t, _ = {
@@ -21493,7 +22064,7 @@ function useRoomPlatformCameraBackground(param) {
21493
22064
  var _ref, _ref1;
21494
22065
  var _uploadItems_find, _uploadItems_;
21495
22066
  var isSupported = typeof window !== 'undefined' && supportsBackgroundProcessors();
21496
- var _useState = _sliced_to_array$d(useState(function() {
22067
+ var _useState = _sliced_to_array$e(useState(function() {
21497
22068
  var saved = loadRoomPlatformCameraBackgroundSettings();
21498
22069
  return mapSettingsToState(saved, isSupported);
21499
22070
  }), 2), state = _useState[0], setState = _useState[1];
@@ -21505,7 +22076,7 @@ function useRoomPlatformCameraBackground(param) {
21505
22076
  var activeObjectUrlRef = useRef(null);
21506
22077
  var uploadPreviewUrlsRef = useRef([]);
21507
22078
  var lastAppliedKeyRef = useRef('');
21508
- var _useState1 = _sliced_to_array$d(useState([]), 2), uploadItems = _useState1[0], setUploadItems = _useState1[1];
22079
+ var _useState1 = _sliced_to_array$e(useState([]), 2), uploadItems = _useState1[0], setUploadItems = _useState1[1];
21509
22080
  var clearActiveObjectUrl = useCallback(function() {
21510
22081
  if (!activeObjectUrlRef.current) return;
21511
22082
  URL.revokeObjectURL(activeObjectUrlRef.current);
@@ -22411,16 +22982,16 @@ function useRoomPlatformCameraBackground(param) {
22411
22982
  };
22412
22983
  }
22413
22984
 
22414
- function _array_like_to_array$d(arr, len) {
22985
+ function _array_like_to_array$e(arr, len) {
22415
22986
  if (len == null || len > arr.length) len = arr.length;
22416
22987
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
22417
22988
  return arr2;
22418
22989
  }
22419
- function _array_with_holes$c(arr) {
22990
+ function _array_with_holes$d(arr) {
22420
22991
  if (Array.isArray(arr)) return arr;
22421
22992
  }
22422
22993
  function _array_without_holes$4(arr) {
22423
- if (Array.isArray(arr)) return _array_like_to_array$d(arr);
22994
+ if (Array.isArray(arr)) return _array_like_to_array$e(arr);
22424
22995
  }
22425
22996
  function asyncGeneratorStep$e(gen, resolve, reject, _next, _throw, key, arg) {
22426
22997
  try {
@@ -22454,7 +23025,7 @@ function _async_to_generator$e(fn) {
22454
23025
  function _iterable_to_array$4(iter) {
22455
23026
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
22456
23027
  }
22457
- function _iterable_to_array_limit$c(arr, i) {
23028
+ function _iterable_to_array_limit$d(arr, i) {
22458
23029
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
22459
23030
  if (_i == null) return;
22460
23031
  var _arr = [];
@@ -22478,25 +23049,29 @@ function _iterable_to_array_limit$c(arr, i) {
22478
23049
  }
22479
23050
  return _arr;
22480
23051
  }
22481
- function _non_iterable_rest$c() {
23052
+ function _non_iterable_rest$d() {
22482
23053
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
22483
23054
  }
22484
23055
  function _non_iterable_spread$4() {
22485
23056
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
22486
23057
  }
22487
- function _sliced_to_array$c(arr, i) {
22488
- return _array_with_holes$c(arr) || _iterable_to_array_limit$c(arr, i) || _unsupported_iterable_to_array$d(arr, i) || _non_iterable_rest$c();
23058
+ function _sliced_to_array$d(arr, i) {
23059
+ return _array_with_holes$d(arr) || _iterable_to_array_limit$d(arr, i) || _unsupported_iterable_to_array$e(arr, i) || _non_iterable_rest$d();
22489
23060
  }
22490
23061
  function _to_consumable_array$4(arr) {
22491
- return _array_without_holes$4(arr) || _iterable_to_array$4(arr) || _unsupported_iterable_to_array$d(arr) || _non_iterable_spread$4();
23062
+ return _array_without_holes$4(arr) || _iterable_to_array$4(arr) || _unsupported_iterable_to_array$e(arr) || _non_iterable_spread$4();
22492
23063
  }
22493
- function _unsupported_iterable_to_array$d(o, minLen) {
23064
+ function _type_of$4(obj) {
23065
+ "@swc/helpers - typeof";
23066
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
23067
+ }
23068
+ function _unsupported_iterable_to_array$e(o, minLen) {
22494
23069
  if (!o) return;
22495
- if (typeof o === "string") return _array_like_to_array$d(o, minLen);
23070
+ if (typeof o === "string") return _array_like_to_array$e(o, minLen);
22496
23071
  var n = Object.prototype.toString.call(o).slice(8, -1);
22497
23072
  if (n === "Object" && o.constructor) n = o.constructor.name;
22498
23073
  if (n === "Map" || n === "Set") return Array.from(n);
22499
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$d(o, minLen);
23074
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$e(o, minLen);
22500
23075
  }
22501
23076
  function _ts_generator$e(thisArg, body) {
22502
23077
  var f, y, t, _ = {
@@ -22619,6 +23194,42 @@ function RoomPlatformPrivateRoomCameraBackground() {
22619
23194
  });
22620
23195
  return null;
22621
23196
  }
23197
+ var isScreenSharePublication = function(publication) {
23198
+ return (typeof publication === "undefined" ? "undefined" : _type_of$4(publication)) === 'object' && publication !== null && publication.source === Track.Source.ScreenShare;
23199
+ };
23200
+ var mediaStreamTrackOf = function(publication) {
23201
+ var _ref;
23202
+ var _publication_track;
23203
+ return (_ref = publication === null || publication === void 0 ? void 0 : (_publication_track = publication.track) === null || _publication_track === void 0 ? void 0 : _publication_track.mediaStreamTrack) !== null && _ref !== void 0 ? _ref : null;
23204
+ };
23205
+ function RoomPlatformPrivateRoomControlBinding() {
23206
+ var room = useRoomContext();
23207
+ var setScreenShareTrack = useRoomPlatformRoomControl().setScreenShareTrack;
23208
+ useEffect(function() {
23209
+ var syncTrack = function(publication) {
23210
+ var candidate = publication !== undefined ? publication : room.localParticipant.getTrackPublication(Track.Source.ScreenShare);
23211
+ setScreenShareTrack(mediaStreamTrackOf(isScreenSharePublication(candidate) ? candidate : undefined));
23212
+ };
23213
+ var handlePublished = function(publication) {
23214
+ if (isScreenSharePublication(publication)) syncTrack(publication);
23215
+ };
23216
+ var handleUnpublished = function(publication) {
23217
+ if (publication === undefined || isScreenSharePublication(publication)) setScreenShareTrack(null);
23218
+ };
23219
+ syncTrack();
23220
+ room.on(RoomEvent.LocalTrackPublished, handlePublished);
23221
+ room.on(RoomEvent.LocalTrackUnpublished, handleUnpublished);
23222
+ return function() {
23223
+ room.off(RoomEvent.LocalTrackPublished, handlePublished);
23224
+ room.off(RoomEvent.LocalTrackUnpublished, handleUnpublished);
23225
+ setScreenShareTrack(null);
23226
+ };
23227
+ }, [
23228
+ room,
23229
+ setScreenShareTrack
23230
+ ]);
23231
+ return null;
23232
+ }
22622
23233
  function RoomPlatformPrivateRoomConnection(param) {
22623
23234
  var state = param.state, connection = param.connection, currentExternalActorId = param.currentExternalActorId, onRefresh = param.onRefresh, onDisconnected = param.onDisconnected, children = param.children;
22624
23235
  var isEligible = state.status === 'active' && (state.callerExternalActorId === currentExternalActorId || state.studentExternalActorId === currentExternalActorId);
@@ -22626,7 +23237,7 @@ function RoomPlatformPrivateRoomConnection(param) {
22626
23237
  var canShareScreen = connection.permissions.includes('media:share_screen');
22627
23238
  var canPublish = connection.permissions.includes('media:publish');
22628
23239
  var baseScopeKey = isEligible ? "".concat(state.id, ":").concat(currentExternalActorId, ":").concat(scopeOf(connection)) : '';
22629
- var _useState = _sliced_to_array$c(useState(null), 2), room = _useState[0], setRoom = _useState[1];
23240
+ var _useState = _sliced_to_array$d(useState(null), 2), room = _useState[0], setRoom = _useState[1];
22630
23241
  var roomRef = useRef(null);
22631
23242
  var generationRef = useRef(0);
22632
23243
  var scopeRef = useRef(undefined);
@@ -22634,7 +23245,7 @@ function RoomPlatformPrivateRoomConnection(param) {
22634
23245
  var onDisconnectedRef = useRef(onDisconnected);
22635
23246
  var refreshedTokenKeysRef = useRef(new Set());
22636
23247
  var refreshRequestedScopeRef = useRef(undefined);
22637
- var _useState1 = _sliced_to_array$c(useState(0), 2), generationNonce = _useState1[0], setGenerationNonce = _useState1[1];
23248
+ var _useState1 = _sliced_to_array$d(useState(0), 2), generationNonce = _useState1[0], setGenerationNonce = _useState1[1];
22638
23249
  var scopeKey = baseScopeKey ? "".concat(baseScopeKey, ":").concat(generationNonce) : '';
22639
23250
  // A token refresh must not be a generation key. Pin the token to the scope so
22640
23251
  // ordinary actor-scoped refetches keep the existing LiveKit Room instance.
@@ -22830,17 +23441,18 @@ function RoomPlatformPrivateRoomConnection(param) {
22830
23441
  room: room
22831
23442
  }),
22832
23443
  /*#__PURE__*/ jsx(RoomPlatformPrivateRoomCameraBackground, {}),
23444
+ /*#__PURE__*/ jsx(RoomPlatformPrivateRoomControlBinding, {}),
22833
23445
  children
22834
23446
  ]
22835
23447
  });
22836
23448
  }
22837
23449
 
22838
- function _array_like_to_array$c(arr, len) {
23450
+ function _array_like_to_array$d(arr, len) {
22839
23451
  if (len == null || len > arr.length) len = arr.length;
22840
23452
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
22841
23453
  return arr2;
22842
23454
  }
22843
- function _array_with_holes$b(arr) {
23455
+ function _array_with_holes$c(arr) {
22844
23456
  if (Array.isArray(arr)) return arr;
22845
23457
  }
22846
23458
  function asyncGeneratorStep$d(gen, resolve, reject, _next, _throw, key, arg) {
@@ -22872,7 +23484,7 @@ function _async_to_generator$d(fn) {
22872
23484
  });
22873
23485
  };
22874
23486
  }
22875
- function _iterable_to_array_limit$b(arr, i) {
23487
+ function _iterable_to_array_limit$c(arr, i) {
22876
23488
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
22877
23489
  if (_i == null) return;
22878
23490
  var _arr = [];
@@ -22896,19 +23508,19 @@ function _iterable_to_array_limit$b(arr, i) {
22896
23508
  }
22897
23509
  return _arr;
22898
23510
  }
22899
- function _non_iterable_rest$b() {
23511
+ function _non_iterable_rest$c() {
22900
23512
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
22901
23513
  }
22902
- function _sliced_to_array$b(arr, i) {
22903
- return _array_with_holes$b(arr) || _iterable_to_array_limit$b(arr, i) || _unsupported_iterable_to_array$c(arr, i) || _non_iterable_rest$b();
23514
+ function _sliced_to_array$c(arr, i) {
23515
+ return _array_with_holes$c(arr) || _iterable_to_array_limit$c(arr, i) || _unsupported_iterable_to_array$d(arr, i) || _non_iterable_rest$c();
22904
23516
  }
22905
- function _unsupported_iterable_to_array$c(o, minLen) {
23517
+ function _unsupported_iterable_to_array$d(o, minLen) {
22906
23518
  if (!o) return;
22907
- if (typeof o === "string") return _array_like_to_array$c(o, minLen);
23519
+ if (typeof o === "string") return _array_like_to_array$d(o, minLen);
22908
23520
  var n = Object.prototype.toString.call(o).slice(8, -1);
22909
23521
  if (n === "Object" && o.constructor) n = o.constructor.name;
22910
23522
  if (n === "Map" || n === "Set") return Array.from(n);
22911
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$c(o, minLen);
23523
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$d(o, minLen);
22912
23524
  }
22913
23525
  function _ts_generator$d(thisArg, body) {
22914
23526
  var f, y, t, _ = {
@@ -23012,8 +23624,8 @@ function _ts_generator$d(thisArg, body) {
23012
23624
  function useRoomPlatformPrivateRoomControlActions(param) {
23013
23625
  var canShareScreen = param.canShareScreen, isScreenSharing = param.isScreenSharing, onStartScreenShare = param.onStartScreenShare, onStopScreenShare = param.onStopScreenShare, onEnd = param.onEnd, onScreenSharingChange = param.onScreenSharingChange, setLocalScreenShareEnabled = param.setLocalScreenShareEnabled, onEndingChange = param.onEndingChange, onEnded = param.onEnded;
23014
23626
  var roomPlatformToast = useRoomPlatformToast();
23015
- var _useState = _sliced_to_array$b(useState(false), 2), isScreenSharePending = _useState[0], setIsScreenSharePending = _useState[1];
23016
- var _useState1 = _sliced_to_array$b(useState(false), 2), isEnding = _useState1[0], setIsEnding = _useState1[1];
23627
+ var _useState = _sliced_to_array$c(useState(false), 2), isScreenSharePending = _useState[0], setIsScreenSharePending = _useState[1];
23628
+ var _useState1 = _sliced_to_array$c(useState(false), 2), isEnding = _useState1[0], setIsEnding = _useState1[1];
23017
23629
  var isStartingRef = useRef(false);
23018
23630
  var isStoppingRef = useRef(false);
23019
23631
  var isEndingRef = useRef(false);
@@ -23217,12 +23829,12 @@ function useRoomPlatformPrivateRoomControlActions(param) {
23217
23829
  };
23218
23830
  }
23219
23831
 
23220
- function _array_like_to_array$b(arr, len) {
23832
+ function _array_like_to_array$c(arr, len) {
23221
23833
  if (len == null || len > arr.length) len = arr.length;
23222
23834
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
23223
23835
  return arr2;
23224
23836
  }
23225
- function _array_with_holes$a(arr) {
23837
+ function _array_with_holes$b(arr) {
23226
23838
  if (Array.isArray(arr)) return arr;
23227
23839
  }
23228
23840
  function asyncGeneratorStep$c(gen, resolve, reject, _next, _throw, key, arg) {
@@ -23267,7 +23879,7 @@ function _define_property$b(obj, key, value) {
23267
23879
  }
23268
23880
  return obj;
23269
23881
  }
23270
- function _iterable_to_array_limit$a(arr, i) {
23882
+ function _iterable_to_array_limit$b(arr, i) {
23271
23883
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
23272
23884
  if (_i == null) return;
23273
23885
  var _arr = [];
@@ -23291,7 +23903,7 @@ function _iterable_to_array_limit$a(arr, i) {
23291
23903
  }
23292
23904
  return _arr;
23293
23905
  }
23294
- function _non_iterable_rest$a() {
23906
+ function _non_iterable_rest$b() {
23295
23907
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
23296
23908
  }
23297
23909
  function _object_spread$9(target) {
@@ -23364,16 +23976,16 @@ function _object_without_properties_loose$2(source, excluded) {
23364
23976
  }
23365
23977
  return target;
23366
23978
  }
23367
- function _sliced_to_array$a(arr, i) {
23368
- return _array_with_holes$a(arr) || _iterable_to_array_limit$a(arr, i) || _unsupported_iterable_to_array$b(arr, i) || _non_iterable_rest$a();
23979
+ function _sliced_to_array$b(arr, i) {
23980
+ return _array_with_holes$b(arr) || _iterable_to_array_limit$b(arr, i) || _unsupported_iterable_to_array$c(arr, i) || _non_iterable_rest$b();
23369
23981
  }
23370
- function _unsupported_iterable_to_array$b(o, minLen) {
23982
+ function _unsupported_iterable_to_array$c(o, minLen) {
23371
23983
  if (!o) return;
23372
- if (typeof o === "string") return _array_like_to_array$b(o, minLen);
23984
+ if (typeof o === "string") return _array_like_to_array$c(o, minLen);
23373
23985
  var n = Object.prototype.toString.call(o).slice(8, -1);
23374
23986
  if (n === "Object" && o.constructor) n = o.constructor.name;
23375
23987
  if (n === "Map" || n === "Set") return Array.from(n);
23376
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$b(o, minLen);
23988
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$c(o, minLen);
23377
23989
  }
23378
23990
  function _ts_generator$c(thisArg, body) {
23379
23991
  var f, y, t, _ = {
@@ -23580,7 +24192,7 @@ var runAsyncSafely = function(action) {
23580
24192
  function RoomPlatformPrivateRoomControlBar(param) {
23581
24193
  var publishEnabled = param.publishEnabled, permissions = param.permissions, screenShareDisabled = param.screenShareDisabled, onStartScreenShare = param.onStartScreenShare, onStopScreenShare = param.onStopScreenShare, onEnd = param.onEnd, onEndingChange = param.onEndingChange, onEnded = param.onEnded, _param_isFullscreen = param.isFullscreen, isFullscreen = _param_isFullscreen === void 0 ? false : _param_isFullscreen, _param_isTheaterMode = param.isTheaterMode, isTheaterMode = _param_isTheaterMode === void 0 ? false : _param_isTheaterMode, onToggleFullscreen = param.onToggleFullscreen, onToggleTheaterMode = param.onToggleTheaterMode;
23582
24194
  var room = useRoomContext();
23583
- var _useState = _sliced_to_array$a(useState(false), 2), isScreenSharing = _useState[0], setIsScreenSharing = _useState[1];
24195
+ var _useState = _sliced_to_array$b(useState(false), 2), isScreenSharing = _useState[0], setIsScreenSharing = _useState[1];
23584
24196
  var isScreenSharingRef = useRef(isScreenSharing);
23585
24197
  var isScreenSharePendingRef = useRef(false);
23586
24198
  var isNotifyingExternalStopRef = useRef(false);
@@ -23644,18 +24256,51 @@ function RoomPlatformPrivateRoomControlBar(param) {
23644
24256
  onScreenSharingChange: setScreenSharingState,
23645
24257
  setLocalScreenShareEnabled: function(enabled) {
23646
24258
  return _async_to_generator$c(function() {
24259
+ var screenShareOptions;
23647
24260
  return _ts_generator$c(this, function(_state) {
23648
24261
  switch(_state.label){
23649
24262
  case 0:
24263
+ if (!!enabled) return [
24264
+ 3,
24265
+ 2
24266
+ ];
23650
24267
  return [
23651
24268
  4,
23652
- room.localParticipant.setScreenShareEnabled(enabled)
24269
+ room.localParticipant.setScreenShareEnabled(false)
23653
24270
  ];
23654
24271
  case 1:
23655
24272
  _state.sent();
23656
24273
  return [
23657
24274
  2
23658
24275
  ];
24276
+ case 2:
24277
+ screenShareOptions = createRoomPlatformScreenShareCaptureOptions();
24278
+ if (!screenShareOptions) return [
24279
+ 3,
24280
+ 4
24281
+ ];
24282
+ return [
24283
+ 4,
24284
+ room.localParticipant.setScreenShareEnabled(true, screenShareOptions)
24285
+ ];
24286
+ case 3:
24287
+ _state.sent();
24288
+ return [
24289
+ 3,
24290
+ 6
24291
+ ];
24292
+ case 4:
24293
+ return [
24294
+ 4,
24295
+ room.localParticipant.setScreenShareEnabled(true)
24296
+ ];
24297
+ case 5:
24298
+ _state.sent();
24299
+ _state.label = 6;
24300
+ case 6:
24301
+ return [
24302
+ 2
24303
+ ];
23659
24304
  }
23660
24305
  });
23661
24306
  })();
@@ -24200,13 +24845,13 @@ var WebSocketRealtimeTransport = /*#__PURE__*/ function() {
24200
24845
  return WebSocketRealtimeTransport;
24201
24846
  }();
24202
24847
 
24203
- function _array_like_to_array$a(arr, len) {
24848
+ function _array_like_to_array$b(arr, len) {
24204
24849
  if (len == null || len > arr.length) len = arr.length;
24205
24850
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
24206
24851
  return arr2;
24207
24852
  }
24208
24853
  function _array_without_holes$3(arr) {
24209
- if (Array.isArray(arr)) return _array_like_to_array$a(arr);
24854
+ if (Array.isArray(arr)) return _array_like_to_array$b(arr);
24210
24855
  }
24211
24856
  function _class_call_check$1(instance, Constructor) {
24212
24857
  if (!(instance instanceof Constructor)) {
@@ -24246,15 +24891,15 @@ function _non_iterable_spread$3() {
24246
24891
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
24247
24892
  }
24248
24893
  function _to_consumable_array$3(arr) {
24249
- return _array_without_holes$3(arr) || _iterable_to_array$3(arr) || _unsupported_iterable_to_array$a(arr) || _non_iterable_spread$3();
24894
+ return _array_without_holes$3(arr) || _iterable_to_array$3(arr) || _unsupported_iterable_to_array$b(arr) || _non_iterable_spread$3();
24250
24895
  }
24251
- function _unsupported_iterable_to_array$a(o, minLen) {
24896
+ function _unsupported_iterable_to_array$b(o, minLen) {
24252
24897
  if (!o) return;
24253
- if (typeof o === "string") return _array_like_to_array$a(o, minLen);
24898
+ if (typeof o === "string") return _array_like_to_array$b(o, minLen);
24254
24899
  var n = Object.prototype.toString.call(o).slice(8, -1);
24255
24900
  if (n === "Object" && o.constructor) n = o.constructor.name;
24256
24901
  if (n === "Map" || n === "Set") return Array.from(n);
24257
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$a(o, minLen);
24902
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$b(o, minLen);
24258
24903
  }
24259
24904
  var ChatClientState = /*#__PURE__*/ function() {
24260
24905
  function ChatClientState() {
@@ -25543,12 +26188,12 @@ function ForwardMessageDialog(param) {
25543
26188
  });
25544
26189
  }
25545
26190
 
25546
- function _array_like_to_array$9(arr, len) {
26191
+ function _array_like_to_array$a(arr, len) {
25547
26192
  if (len == null || len > arr.length) len = arr.length;
25548
26193
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
25549
26194
  return arr2;
25550
26195
  }
25551
- function _array_with_holes$9(arr) {
26196
+ function _array_with_holes$a(arr) {
25552
26197
  if (Array.isArray(arr)) return arr;
25553
26198
  }
25554
26199
  function asyncGeneratorStep$7(gen, resolve, reject, _next, _throw, key, arg) {
@@ -25580,7 +26225,7 @@ function _async_to_generator$7(fn) {
25580
26225
  });
25581
26226
  };
25582
26227
  }
25583
- function _iterable_to_array_limit$9(arr, i) {
26228
+ function _iterable_to_array_limit$a(arr, i) {
25584
26229
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
25585
26230
  if (_i == null) return;
25586
26231
  var _arr = [];
@@ -25604,19 +26249,19 @@ function _iterable_to_array_limit$9(arr, i) {
25604
26249
  }
25605
26250
  return _arr;
25606
26251
  }
25607
- function _non_iterable_rest$9() {
26252
+ function _non_iterable_rest$a() {
25608
26253
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
25609
26254
  }
25610
- function _sliced_to_array$9(arr, i) {
25611
- return _array_with_holes$9(arr) || _iterable_to_array_limit$9(arr, i) || _unsupported_iterable_to_array$9(arr, i) || _non_iterable_rest$9();
26255
+ function _sliced_to_array$a(arr, i) {
26256
+ return _array_with_holes$a(arr) || _iterable_to_array_limit$a(arr, i) || _unsupported_iterable_to_array$a(arr, i) || _non_iterable_rest$a();
25612
26257
  }
25613
- function _unsupported_iterable_to_array$9(o, minLen) {
26258
+ function _unsupported_iterable_to_array$a(o, minLen) {
25614
26259
  if (!o) return;
25615
- if (typeof o === "string") return _array_like_to_array$9(o, minLen);
26260
+ if (typeof o === "string") return _array_like_to_array$a(o, minLen);
25616
26261
  var n = Object.prototype.toString.call(o).slice(8, -1);
25617
26262
  if (n === "Object" && o.constructor) n = o.constructor.name;
25618
26263
  if (n === "Map" || n === "Set") return Array.from(n);
25619
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$9(o, minLen);
26264
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$a(o, minLen);
25620
26265
  }
25621
26266
  function _ts_generator$7(thisArg, body) {
25622
26267
  var f, y, t, _ = {
@@ -25719,7 +26364,7 @@ function _ts_generator$7(thisArg, body) {
25719
26364
  }
25720
26365
  function MessageComposer(param) {
25721
26366
  var canSend = param.canSend, className = param.className, onSend = param.onSend;
25722
- var _useState = _sliced_to_array$9(useState(''), 2), text = _useState[0], setText = _useState[1];
26367
+ var _useState = _sliced_to_array$a(useState(''), 2), text = _useState[0], setText = _useState[1];
25723
26368
  if (!canSend) {
25724
26369
  return /*#__PURE__*/ jsx("div", {
25725
26370
  className: cx('navi-chat__readonly', className),
@@ -25835,16 +26480,16 @@ function MessageComposer(param) {
25835
26480
  });
25836
26481
  }
25837
26482
 
25838
- function _array_like_to_array$8(arr, len) {
26483
+ function _array_like_to_array$9(arr, len) {
25839
26484
  if (len == null || len > arr.length) len = arr.length;
25840
26485
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
25841
26486
  return arr2;
25842
26487
  }
25843
- function _array_with_holes$8(arr) {
26488
+ function _array_with_holes$9(arr) {
25844
26489
  if (Array.isArray(arr)) return arr;
25845
26490
  }
25846
26491
  function _array_without_holes$2(arr) {
25847
- if (Array.isArray(arr)) return _array_like_to_array$8(arr);
26492
+ if (Array.isArray(arr)) return _array_like_to_array$9(arr);
25848
26493
  }
25849
26494
  function asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, key, arg) {
25850
26495
  try {
@@ -25875,7 +26520,7 @@ function _async_to_generator$6(fn) {
25875
26520
  });
25876
26521
  };
25877
26522
  }
25878
- function _instanceof(left, right) {
26523
+ function _instanceof$1(left, right) {
25879
26524
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
25880
26525
  return !!right[Symbol.hasInstance](left);
25881
26526
  } else {
@@ -25885,7 +26530,7 @@ function _instanceof(left, right) {
25885
26530
  function _iterable_to_array$2(iter) {
25886
26531
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
25887
26532
  }
25888
- function _iterable_to_array_limit$8(arr, i) {
26533
+ function _iterable_to_array_limit$9(arr, i) {
25889
26534
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
25890
26535
  if (_i == null) return;
25891
26536
  var _arr = [];
@@ -25909,25 +26554,25 @@ function _iterable_to_array_limit$8(arr, i) {
25909
26554
  }
25910
26555
  return _arr;
25911
26556
  }
25912
- function _non_iterable_rest$8() {
26557
+ function _non_iterable_rest$9() {
25913
26558
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
25914
26559
  }
25915
26560
  function _non_iterable_spread$2() {
25916
26561
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
25917
26562
  }
25918
- function _sliced_to_array$8(arr, i) {
25919
- return _array_with_holes$8(arr) || _iterable_to_array_limit$8(arr, i) || _unsupported_iterable_to_array$8(arr, i) || _non_iterable_rest$8();
26563
+ function _sliced_to_array$9(arr, i) {
26564
+ return _array_with_holes$9(arr) || _iterable_to_array_limit$9(arr, i) || _unsupported_iterable_to_array$9(arr, i) || _non_iterable_rest$9();
25920
26565
  }
25921
26566
  function _to_consumable_array$2(arr) {
25922
- return _array_without_holes$2(arr) || _iterable_to_array$2(arr) || _unsupported_iterable_to_array$8(arr) || _non_iterable_spread$2();
26567
+ return _array_without_holes$2(arr) || _iterable_to_array$2(arr) || _unsupported_iterable_to_array$9(arr) || _non_iterable_spread$2();
25923
26568
  }
25924
- function _unsupported_iterable_to_array$8(o, minLen) {
26569
+ function _unsupported_iterable_to_array$9(o, minLen) {
25925
26570
  if (!o) return;
25926
- if (typeof o === "string") return _array_like_to_array$8(o, minLen);
26571
+ if (typeof o === "string") return _array_like_to_array$9(o, minLen);
25927
26572
  var n = Object.prototype.toString.call(o).slice(8, -1);
25928
26573
  if (n === "Object" && o.constructor) n = o.constructor.name;
25929
26574
  if (n === "Map" || n === "Set") return Array.from(n);
25930
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$8(o, minLen);
26575
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$9(o, minLen);
25931
26576
  }
25932
26577
  function _ts_generator$6(thisArg, body) {
25933
26578
  var f, y, t, _ = {
@@ -26036,15 +26681,15 @@ function MessageList(param) {
26036
26681
  var restoreScrollSnapshotRef = useRef(undefined);
26037
26682
  var previousMessageCountRef = useRef(messages.length);
26038
26683
  var previousMessagesRef = useRef(messages);
26039
- var _useState = _sliced_to_array$8(useState(''), 2), draftText = _useState[0], setDraftText = _useState[1];
26040
- var _useState1 = _sliced_to_array$8(useState(), 2), editingMessageId = _useState1[0], setEditingMessageId = _useState1[1];
26041
- var _useState2 = _sliced_to_array$8(useState(), 2), openMenuMessageId = _useState2[0], setOpenMenuMessageId = _useState2[1];
26684
+ var _useState = _sliced_to_array$9(useState(''), 2), draftText = _useState[0], setDraftText = _useState[1];
26685
+ var _useState1 = _sliced_to_array$9(useState(), 2), editingMessageId = _useState1[0], setEditingMessageId = _useState1[1];
26686
+ var _useState2 = _sliced_to_array$9(useState(), 2), openMenuMessageId = _useState2[0], setOpenMenuMessageId = _useState2[1];
26042
26687
  var openMenuRef = useRef(null);
26043
- var _useState3 = _sliced_to_array$8(useState(function() {
26688
+ var _useState3 = _sliced_to_array$9(useState(function() {
26044
26689
  return now().getTime();
26045
26690
  }), 2), currentTimeMs = _useState3[0], setCurrentTimeMs = _useState3[1];
26046
- var _useState4 = _sliced_to_array$8(useState(true), 2), isAtLatest = _useState4[0], setIsAtLatest = _useState4[1];
26047
- var _useState5 = _sliced_to_array$8(useState(false), 2), hasNewMessages = _useState5[0], setHasNewMessages = _useState5[1];
26691
+ var _useState4 = _sliced_to_array$9(useState(true), 2), isAtLatest = _useState4[0], setIsAtLatest = _useState4[1];
26692
+ var _useState5 = _sliced_to_array$9(useState(false), 2), hasNewMessages = _useState5[0], setHasNewMessages = _useState5[1];
26048
26693
  var orderedMessages = useMemo(function() {
26049
26694
  return _to_consumable_array$2(messages).sort(compareMessagesByCreatedAt);
26050
26695
  }, [
@@ -26108,7 +26753,7 @@ function MessageList(param) {
26108
26753
  var handlePointerDown = function(event) {
26109
26754
  var target = event.target;
26110
26755
  var openMenu = openMenuRef.current;
26111
- if (openMenu && (event.composedPath().includes(openMenu) || _instanceof(target, Node) && openMenu.contains(target))) {
26756
+ if (openMenu && (event.composedPath().includes(openMenu) || _instanceof$1(target, Node) && openMenu.contains(target))) {
26112
26757
  return;
26113
26758
  }
26114
26759
  setOpenMenuMessageId(undefined);
@@ -26469,12 +27114,12 @@ var formatTime = function(value) {
26469
27114
  }).format(new Date(value));
26470
27115
  };
26471
27116
 
26472
- function _array_like_to_array$7(arr, len) {
27117
+ function _array_like_to_array$8(arr, len) {
26473
27118
  if (len == null || len > arr.length) len = arr.length;
26474
27119
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
26475
27120
  return arr2;
26476
27121
  }
26477
- function _array_with_holes$7(arr) {
27122
+ function _array_with_holes$8(arr) {
26478
27123
  if (Array.isArray(arr)) return arr;
26479
27124
  }
26480
27125
  function asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, key, arg) {
@@ -26506,7 +27151,7 @@ function _async_to_generator$5(fn) {
26506
27151
  });
26507
27152
  };
26508
27153
  }
26509
- function _iterable_to_array_limit$7(arr, i) {
27154
+ function _iterable_to_array_limit$8(arr, i) {
26510
27155
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
26511
27156
  if (_i == null) return;
26512
27157
  var _arr = [];
@@ -26530,19 +27175,19 @@ function _iterable_to_array_limit$7(arr, i) {
26530
27175
  }
26531
27176
  return _arr;
26532
27177
  }
26533
- function _non_iterable_rest$7() {
27178
+ function _non_iterable_rest$8() {
26534
27179
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
26535
27180
  }
26536
- function _sliced_to_array$7(arr, i) {
26537
- return _array_with_holes$7(arr) || _iterable_to_array_limit$7(arr, i) || _unsupported_iterable_to_array$7(arr, i) || _non_iterable_rest$7();
27181
+ function _sliced_to_array$8(arr, i) {
27182
+ return _array_with_holes$8(arr) || _iterable_to_array_limit$8(arr, i) || _unsupported_iterable_to_array$8(arr, i) || _non_iterable_rest$8();
26538
27183
  }
26539
- function _unsupported_iterable_to_array$7(o, minLen) {
27184
+ function _unsupported_iterable_to_array$8(o, minLen) {
26540
27185
  if (!o) return;
26541
- if (typeof o === "string") return _array_like_to_array$7(o, minLen);
27186
+ if (typeof o === "string") return _array_like_to_array$8(o, minLen);
26542
27187
  var n = Object.prototype.toString.call(o).slice(8, -1);
26543
27188
  if (n === "Object" && o.constructor) n = o.constructor.name;
26544
27189
  if (n === "Map" || n === "Set") return Array.from(n);
26545
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$7(o, minLen);
27190
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$8(o, minLen);
26546
27191
  }
26547
27192
  function _ts_generator$5(thisArg, body) {
26548
27193
  var f, y, t, _ = {
@@ -26647,7 +27292,7 @@ function ChatPanel(param) {
26647
27292
  var className = param.className;
26648
27293
  var _messagesByRoom_activeRoom_roomId, _ref, _ref1, _ref2;
26649
27294
  var _useChatContext = useChatContext(), activeRoomId = _useChatContext.activeRoomId, classNames = _useChatContext.classNames, client = _useChatContext.client, currentSubject = _useChatContext.currentSubject, hasMoreByRoom = _useChatContext.hasMoreByRoom, isLoadingOlderByRoom = _useChatContext.isLoadingOlderByRoom, loadOlderMessages = _useChatContext.loadOlderMessages, messagesByRoom = _useChatContext.messagesByRoom, messageActionWindowMs = _useChatContext.messageActionWindowMs, now = _useChatContext.now, onlineCountsByRoom = _useChatContext.onlineCountsByRoom, rooms = _useChatContext.rooms, sendMessage = _useChatContext.sendMessage, deleteMessage = _useChatContext.deleteMessage, editMessage = _useChatContext.editMessage, setActiveRoomId = _useChatContext.setActiveRoomId, setRoomAtLatest = _useChatContext.setRoomAtLatest, status = _useChatContext.status, unreadCountsByRoom = _useChatContext.unreadCountsByRoom;
26650
- var _useState = _sliced_to_array$7(useState(), 2), forwardingMessage = _useState[0], setForwardingMessage = _useState[1];
27295
+ var _useState = _sliced_to_array$8(useState(), 2), forwardingMessage = _useState[0], setForwardingMessage = _useState[1];
26651
27296
  var activeRoom = findActiveRoom(rooms, activeRoomId);
26652
27297
  var canRead = hasRoomPermission(activeRoom, 'read');
26653
27298
  var canSend = hasRoomPermission(activeRoom, 'send');
@@ -26790,16 +27435,16 @@ var getRoomDisplayRole = function(room) {
26790
27435
  return hasRoomPermission(room, 'forward') ? 'Quản trị' : 'Thành viên';
26791
27436
  };
26792
27437
 
26793
- function _array_like_to_array$6(arr, len) {
27438
+ function _array_like_to_array$7(arr, len) {
26794
27439
  if (len == null || len > arr.length) len = arr.length;
26795
27440
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
26796
27441
  return arr2;
26797
27442
  }
26798
- function _array_with_holes$6(arr) {
27443
+ function _array_with_holes$7(arr) {
26799
27444
  if (Array.isArray(arr)) return arr;
26800
27445
  }
26801
27446
  function _array_without_holes$1(arr) {
26802
- if (Array.isArray(arr)) return _array_like_to_array$6(arr);
27447
+ if (Array.isArray(arr)) return _array_like_to_array$7(arr);
26803
27448
  }
26804
27449
  function asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, key, arg) {
26805
27450
  try {
@@ -26846,7 +27491,7 @@ function _define_property$6(obj, key, value) {
26846
27491
  function _iterable_to_array$1(iter) {
26847
27492
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
26848
27493
  }
26849
- function _iterable_to_array_limit$6(arr, i) {
27494
+ function _iterable_to_array_limit$7(arr, i) {
26850
27495
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
26851
27496
  if (_i == null) return;
26852
27497
  var _arr = [];
@@ -26870,7 +27515,7 @@ function _iterable_to_array_limit$6(arr, i) {
26870
27515
  }
26871
27516
  return _arr;
26872
27517
  }
26873
- function _non_iterable_rest$6() {
27518
+ function _non_iterable_rest$7() {
26874
27519
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
26875
27520
  }
26876
27521
  function _non_iterable_spread$1() {
@@ -26910,23 +27555,23 @@ function _object_spread_props$4(target, source) {
26910
27555
  }
26911
27556
  return target;
26912
27557
  }
26913
- function _sliced_to_array$6(arr, i) {
26914
- return _array_with_holes$6(arr) || _iterable_to_array_limit$6(arr, i) || _unsupported_iterable_to_array$6(arr, i) || _non_iterable_rest$6();
27558
+ function _sliced_to_array$7(arr, i) {
27559
+ return _array_with_holes$7(arr) || _iterable_to_array_limit$7(arr, i) || _unsupported_iterable_to_array$7(arr, i) || _non_iterable_rest$7();
26915
27560
  }
26916
27561
  function _to_consumable_array$1(arr) {
26917
- return _array_without_holes$1(arr) || _iterable_to_array$1(arr) || _unsupported_iterable_to_array$6(arr) || _non_iterable_spread$1();
27562
+ return _array_without_holes$1(arr) || _iterable_to_array$1(arr) || _unsupported_iterable_to_array$7(arr) || _non_iterable_spread$1();
26918
27563
  }
26919
27564
  function _type_of(obj) {
26920
27565
  "@swc/helpers - typeof";
26921
27566
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
26922
27567
  }
26923
- function _unsupported_iterable_to_array$6(o, minLen) {
27568
+ function _unsupported_iterable_to_array$7(o, minLen) {
26924
27569
  if (!o) return;
26925
- if (typeof o === "string") return _array_like_to_array$6(o, minLen);
27570
+ if (typeof o === "string") return _array_like_to_array$7(o, minLen);
26926
27571
  var n = Object.prototype.toString.call(o).slice(8, -1);
26927
27572
  if (n === "Object" && o.constructor) n = o.constructor.name;
26928
27573
  if (n === "Map" || n === "Set") return Array.from(n);
26929
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$6(o, minLen);
27574
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$7(o, minLen);
26930
27575
  }
26931
27576
  function _ts_generator$4(thisArg, body) {
26932
27577
  var f, y, t, _ = {
@@ -27034,15 +27679,15 @@ function ChatProvider(param) {
27034
27679
  return new Date();
27035
27680
  } : _param_now, onError = param.onError, refreshToken = param.refreshToken, refreshTokenExpiresAt = param.refreshTokenExpiresAt, realtimeEndpoint = param.realtimeEndpoint, rooms = param.rooms, token = param.token, tokenExpiresAt = param.tokenExpiresAt, tokens = param.tokens;
27036
27681
  var _rooms_;
27037
- var _useState = _sliced_to_array$6(useState(currentRoomId !== null && currentRoomId !== void 0 ? currentRoomId : (_rooms_ = rooms[0]) === null || _rooms_ === void 0 ? void 0 : _rooms_.roomId), 2), activeRoomId = _useState[0], setActiveRoomId = _useState[1];
27038
- var _useState1 = _sliced_to_array$6(useState({}), 2), hasMoreByRoom = _useState1[0], setHasMoreByRoom = _useState1[1];
27039
- var _useState2 = _sliced_to_array$6(useState({}), 2), historyCursorsByRoom = _useState2[0], setHistoryCursorsByRoom = _useState2[1];
27040
- var _useState3 = _sliced_to_array$6(useState({}), 2), isLoadingOlderByRoom = _useState3[0], setIsLoadingOlderByRoom = _useState3[1];
27041
- var _useState4 = _sliced_to_array$6(useState(initialMessages), 2), messagesByRoom = _useState4[0], setMessagesByRoom = _useState4[1];
27042
- var _useState5 = _sliced_to_array$6(useState({}), 2), onlineCountsByRoom = _useState5[0], setOnlineCountsByRoom = _useState5[1];
27043
- var _useState6 = _sliced_to_array$6(useState({}), 2), roomLatestStateByRoom = _useState6[0], setRoomLatestStateByRoom = _useState6[1];
27044
- var _useState7 = _sliced_to_array$6(useState('connecting'), 2), status = _useState7[0], setStatus = _useState7[1];
27045
- var _useState8 = _sliced_to_array$6(useState({}), 2), unreadCountsByRoom = _useState8[0], setUnreadCountsByRoom = _useState8[1];
27682
+ var _useState = _sliced_to_array$7(useState(currentRoomId !== null && currentRoomId !== void 0 ? currentRoomId : (_rooms_ = rooms[0]) === null || _rooms_ === void 0 ? void 0 : _rooms_.roomId), 2), activeRoomId = _useState[0], setActiveRoomId = _useState[1];
27683
+ var _useState1 = _sliced_to_array$7(useState({}), 2), hasMoreByRoom = _useState1[0], setHasMoreByRoom = _useState1[1];
27684
+ var _useState2 = _sliced_to_array$7(useState({}), 2), historyCursorsByRoom = _useState2[0], setHistoryCursorsByRoom = _useState2[1];
27685
+ var _useState3 = _sliced_to_array$7(useState({}), 2), isLoadingOlderByRoom = _useState3[0], setIsLoadingOlderByRoom = _useState3[1];
27686
+ var _useState4 = _sliced_to_array$7(useState(initialMessages), 2), messagesByRoom = _useState4[0], setMessagesByRoom = _useState4[1];
27687
+ var _useState5 = _sliced_to_array$7(useState({}), 2), onlineCountsByRoom = _useState5[0], setOnlineCountsByRoom = _useState5[1];
27688
+ var _useState6 = _sliced_to_array$7(useState({}), 2), roomLatestStateByRoom = _useState6[0], setRoomLatestStateByRoom = _useState6[1];
27689
+ var _useState7 = _sliced_to_array$7(useState('connecting'), 2), status = _useState7[0], setStatus = _useState7[1];
27690
+ var _useState8 = _sliced_to_array$7(useState({}), 2), unreadCountsByRoom = _useState8[0], setUnreadCountsByRoom = _useState8[1];
27046
27691
  var currentSubject = useMemo(function() {
27047
27692
  return subjectFromToken(token);
27048
27693
  }, [
@@ -27469,7 +28114,7 @@ var isChatRoomPresenceDto = function(event) {
27469
28114
  return Boolean(event && (typeof event === "undefined" ? "undefined" : _type_of(event)) === 'object' && 'roomId' in event && typeof event.roomId === 'string' && 'onlineCount' in event && typeof event.onlineCount === 'number');
27470
28115
  };
27471
28116
  var subjectFromToken = function(token) {
27472
- var _token_split = _sliced_to_array$6(token.split('.'), 2), payload = _token_split[1];
28117
+ var _token_split = _sliced_to_array$7(token.split('.'), 2), payload = _token_split[1];
27473
28118
  if (!payload) return undefined;
27474
28119
  try {
27475
28120
  var normalized = payload.replace(/-/g, '+').replace(/_/g, '/');
@@ -27481,12 +28126,26 @@ var subjectFromToken = function(token) {
27481
28126
  }
27482
28127
  };
27483
28128
 
27484
- function _array_like_to_array$5(arr, len) {
28129
+ function normalizeCapturedPoint(param) {
28130
+ var clientX = param.clientX, clientY = param.clientY, contentRect = param.contentRect;
28131
+ if (!Number.isFinite(clientX) || !Number.isFinite(clientY) || !Number.isFinite(contentRect.left) || !Number.isFinite(contentRect.top) || !Number.isFinite(contentRect.width) || !Number.isFinite(contentRect.height) || contentRect.width <= 0 || contentRect.height <= 0) {
28132
+ return null;
28133
+ }
28134
+ var x = (clientX - contentRect.left) / contentRect.width;
28135
+ var y = (clientY - contentRect.top) / contentRect.height;
28136
+ if (x < 0 || x > 1 || y < 0 || y > 1) return null;
28137
+ return {
28138
+ x: x,
28139
+ y: y
28140
+ };
28141
+ }
28142
+
28143
+ function _array_like_to_array$6(arr, len) {
27485
28144
  if (len == null || len > arr.length) len = arr.length;
27486
28145
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
27487
28146
  return arr2;
27488
28147
  }
27489
- function _array_with_holes$5(arr) {
28148
+ function _array_with_holes$6(arr) {
27490
28149
  if (Array.isArray(arr)) return arr;
27491
28150
  }
27492
28151
  function _define_property$5(obj, key, value) {
@@ -27502,7 +28161,7 @@ function _define_property$5(obj, key, value) {
27502
28161
  }
27503
28162
  return obj;
27504
28163
  }
27505
- function _iterable_to_array_limit$5(arr, i) {
28164
+ function _iterable_to_array_limit$6(arr, i) {
27506
28165
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
27507
28166
  if (_i == null) return;
27508
28167
  var _arr = [];
@@ -27526,7 +28185,7 @@ function _iterable_to_array_limit$5(arr, i) {
27526
28185
  }
27527
28186
  return _arr;
27528
28187
  }
27529
- function _non_iterable_rest$5() {
28188
+ function _non_iterable_rest$6() {
27530
28189
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
27531
28190
  }
27532
28191
  function _object_spread$5(target) {
@@ -27544,16 +28203,16 @@ function _object_spread$5(target) {
27544
28203
  }
27545
28204
  return target;
27546
28205
  }
27547
- function _sliced_to_array$5(arr, i) {
27548
- return _array_with_holes$5(arr) || _iterable_to_array_limit$5(arr, i) || _unsupported_iterable_to_array$5(arr, i) || _non_iterable_rest$5();
28206
+ function _sliced_to_array$6(arr, i) {
28207
+ return _array_with_holes$6(arr) || _iterable_to_array_limit$6(arr, i) || _unsupported_iterable_to_array$6(arr, i) || _non_iterable_rest$6();
27549
28208
  }
27550
- function _unsupported_iterable_to_array$5(o, minLen) {
28209
+ function _unsupported_iterable_to_array$6(o, minLen) {
27551
28210
  if (!o) return;
27552
- if (typeof o === "string") return _array_like_to_array$5(o, minLen);
28211
+ if (typeof o === "string") return _array_like_to_array$6(o, minLen);
27553
28212
  var n = Object.prototype.toString.call(o).slice(8, -1);
27554
28213
  if (n === "Object" && o.constructor) n = o.constructor.name;
27555
28214
  if (n === "Map" || n === "Set") return Array.from(n);
27556
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$5(o, minLen);
28215
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$6(o, minLen);
27557
28216
  }
27558
28217
  var getTrackDimensions = function(trackRef) {
27559
28218
  var _ref, _ref1;
@@ -27569,7 +28228,7 @@ function useRoomPlatformTrackAspectRatio(trackRef) {
27569
28228
  var _trackRef_publication;
27570
28229
  var trackSid = trackRef === null || trackRef === void 0 ? void 0 : (_trackRef_publication = trackRef.publication) === null || _trackRef_publication === void 0 ? void 0 : _trackRef_publication.trackSid;
27571
28230
  var fallbackAspectRatio = getRoomPlatformTrackAspectRatio(trackRef);
27572
- var _useState = _sliced_to_array$5(useState(), 2), intrinsicRatio = _useState[0], setIntrinsicRatio = _useState[1];
28231
+ var _useState = _sliced_to_array$6(useState(), 2), intrinsicRatio = _useState[0], setIntrinsicRatio = _useState[1];
27573
28232
  var aspectRatio = intrinsicRatio && (trackSid !== undefined ? intrinsicRatio.trackSid === trackSid : intrinsicRatio.trackSid === undefined && intrinsicRatio.trackRef === trackRef) ? intrinsicRatio.aspectRatio : fallbackAspectRatio;
27574
28233
  var updateFromVideo = useCallback(function(event) {
27575
28234
  var _event_currentTarget = event.currentTarget, videoWidth = _event_currentTarget.videoWidth, videoHeight = _event_currentTarget.videoHeight;
@@ -27593,12 +28252,12 @@ function useRoomPlatformTrackAspectRatio(trackRef) {
27593
28252
  function RoomPlatformFitMediaFrame(param) {
27594
28253
  var aspectRatio = param.aspectRatio, children = param.children, className = param.className, testId = param.testId;
27595
28254
  var frameRef = useRef(null);
27596
- var _useState = _sliced_to_array$5(useState(), 2), frameSize = _useState[0], setFrameSize = _useState[1];
28255
+ var _useState = _sliced_to_array$6(useState(), 2), frameSize = _useState[0], setFrameSize = _useState[1];
27597
28256
  useLayoutEffect(function() {
27598
28257
  var _frameRef_current;
27599
28258
  var container = (_frameRef_current = frameRef.current) === null || _frameRef_current === void 0 ? void 0 : _frameRef_current.parentElement;
27600
28259
  if (!container) return;
27601
- var _aspectRatio_split_map = _sliced_to_array$5(aspectRatio.split('/').map(Number), 2), sourceWidth = _aspectRatio_split_map[0], sourceHeight = _aspectRatio_split_map[1];
28260
+ var _aspectRatio_split_map = _sliced_to_array$6(aspectRatio.split('/').map(Number), 2), sourceWidth = _aspectRatio_split_map[0], sourceHeight = _aspectRatio_split_map[1];
27602
28261
  var ratio = sourceWidth / sourceHeight;
27603
28262
  var updateSize = function() {
27604
28263
  var clientWidth = container.clientWidth, clientHeight = container.clientHeight;
@@ -27942,23 +28601,144 @@ function RoomPlatformPrivateRoomStatusBanner() {
27942
28601
  });
27943
28602
  }
27944
28603
 
28604
+ function _array_like_to_array$5(arr, len) {
28605
+ if (len == null || len > arr.length) len = arr.length;
28606
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
28607
+ return arr2;
28608
+ }
28609
+ function _array_with_holes$5(arr) {
28610
+ if (Array.isArray(arr)) return arr;
28611
+ }
28612
+ function _instanceof(left, right) {
28613
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
28614
+ return !!right[Symbol.hasInstance](left);
28615
+ } else {
28616
+ return left instanceof right;
28617
+ }
28618
+ }
28619
+ function _iterable_to_array_limit$5(arr, i) {
28620
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
28621
+ if (_i == null) return;
28622
+ var _arr = [];
28623
+ var _n = true;
28624
+ var _d = false;
28625
+ var _s, _e;
28626
+ try {
28627
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
28628
+ _arr.push(_s.value);
28629
+ if (i && _arr.length === i) break;
28630
+ }
28631
+ } catch (err) {
28632
+ _d = true;
28633
+ _e = err;
28634
+ } finally{
28635
+ try {
28636
+ if (!_n && _i["return"] != null) _i["return"]();
28637
+ } finally{
28638
+ if (_d) throw _e;
28639
+ }
28640
+ }
28641
+ return _arr;
28642
+ }
28643
+ function _non_iterable_rest$5() {
28644
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
28645
+ }
28646
+ function _sliced_to_array$5(arr, i) {
28647
+ return _array_with_holes$5(arr) || _iterable_to_array_limit$5(arr, i) || _unsupported_iterable_to_array$5(arr, i) || _non_iterable_rest$5();
28648
+ }
28649
+ function _unsupported_iterable_to_array$5(o, minLen) {
28650
+ if (!o) return;
28651
+ if (typeof o === "string") return _array_like_to_array$5(o, minLen);
28652
+ var n = Object.prototype.toString.call(o).slice(8, -1);
28653
+ if (n === "Object" && o.constructor) n = o.constructor.name;
28654
+ if (n === "Map" || n === "Set") return Array.from(n);
28655
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$5(o, minLen);
28656
+ }
28657
+ var ACTIVITY_SELECTOR = '[data-room-control-activity]';
28658
+ var LINE_HEIGHT_PX = 16;
28659
+ var getAspectRatio = function(aspectRatio) {
28660
+ var _aspectRatio_split_map = _sliced_to_array$5(aspectRatio.split('/').map(Number), 2), width = _aspectRatio_split_map[0], height = _aspectRatio_split_map[1];
28661
+ return Number.isFinite(width) && Number.isFinite(height) && width > 0 && height > 0 ? width / height : null;
28662
+ };
28663
+ var getContentRect = function(containerRect, aspectRatio) {
28664
+ var ratio = getAspectRatio(aspectRatio);
28665
+ if (ratio === null || !Number.isFinite(containerRect.left) || !Number.isFinite(containerRect.top) || !Number.isFinite(containerRect.width) || !Number.isFinite(containerRect.height) || containerRect.width <= 0 || containerRect.height <= 0) {
28666
+ return null;
28667
+ }
28668
+ var width = Math.min(containerRect.width, containerRect.height * ratio);
28669
+ var height = width / ratio;
28670
+ var left = containerRect.left + (containerRect.width - width) / 2;
28671
+ var top = containerRect.top + (containerRect.height - height) / 2;
28672
+ return new DOMRect(left, top, width, height);
28673
+ };
28674
+ var isActivityTarget = function(target) {
28675
+ return _instanceof(target, Element) && Boolean(target.closest(ACTIVITY_SELECTOR));
28676
+ };
28677
+ var boundedDelta = function(deltaY, deltaMode, contentHeight) {
28678
+ if (!Number.isFinite(deltaY) || !Number.isFinite(contentHeight)) return null;
28679
+ var multiplier = deltaMode === 0 ? 1 : deltaMode === 1 ? LINE_HEIGHT_PX : deltaMode === 2 ? contentHeight : null;
28680
+ if (multiplier === null) return null;
28681
+ var cssPixels = deltaY * multiplier;
28682
+ return Number.isFinite(cssPixels) && Math.abs(cssPixels) <= MAX_CONTROL_SCROLL_DELTA ? cssPixels : null;
28683
+ };
28684
+ function RoomPlatformScreenShareInteractionSurface(param) {
28685
+ var aspectRatio = param.aspectRatio, children = param.children, handlers = param.handlers;
28686
+ var getCurrentContentRect = function(target) {
28687
+ return getContentRect(target.getBoundingClientRect(), aspectRatio);
28688
+ };
28689
+ var handleWheel = function(event) {
28690
+ var _handlers_onWheel;
28691
+ if (isActivityTarget(event.target)) return;
28692
+ var contentRect = getCurrentContentRect(event.currentTarget);
28693
+ if (!contentRect) return;
28694
+ var deltaY = boundedDelta(event.deltaY, event.deltaMode, contentRect.height);
28695
+ if (deltaY !== null) handlers === null || handlers === void 0 ? void 0 : (_handlers_onWheel = handlers.onWheel) === null || _handlers_onWheel === void 0 ? void 0 : _handlers_onWheel.call(handlers, {
28696
+ deltaY: deltaY
28697
+ });
28698
+ };
28699
+ var handleClick = function(event) {
28700
+ var _handlers_onClick;
28701
+ if (isActivityTarget(event.target)) return;
28702
+ if (!Number.isFinite(event.clientX) || !Number.isFinite(event.clientY)) return;
28703
+ var contentRect = getCurrentContentRect(event.currentTarget);
28704
+ if (contentRect) handlers === null || handlers === void 0 ? void 0 : (_handlers_onClick = handlers.onClick) === null || _handlers_onClick === void 0 ? void 0 : _handlers_onClick.call(handlers, {
28705
+ clientX: event.clientX,
28706
+ clientY: event.clientY,
28707
+ contentRect: contentRect
28708
+ });
28709
+ };
28710
+ return /*#__PURE__*/ jsx("div", {
28711
+ "data-testid": "room-platform-screen-share-interaction-surface",
28712
+ className: "absolute inset-0 z-10",
28713
+ onClick: handleClick,
28714
+ onWheel: handleWheel,
28715
+ children: children
28716
+ });
28717
+ }
28718
+
27945
28719
  function RoomPlatformScreenShareWhiteboardFrame(param) {
27946
- var aspectRatio = param.aspectRatio, children = param.children, onLoadedMetadata = param.onLoadedMetadata, onResize = param.onResize, _param_borderTestId = param.borderTestId, borderTestId = _param_borderTestId === void 0 ? 'room-platform-video-frame-border' : _param_borderTestId, _param_testId = param.testId, testId = _param_testId === void 0 ? 'room-platform-video-frame' : _param_testId, trackRef = param.trackRef, _param_whiteboardTestId = param.whiteboardTestId, whiteboardTestId = _param_whiteboardTestId === void 0 ? 'room-platform-whiteboard-layer' : _param_whiteboardTestId;
28720
+ var aspectRatio = param.aspectRatio, children = param.children, interactionHandlers = param.interactionHandlers, onLoadedMetadata = param.onLoadedMetadata, onResize = param.onResize, _param_borderTestId = param.borderTestId, borderTestId = _param_borderTestId === void 0 ? 'room-platform-video-frame-border' : _param_borderTestId, _param_testId = param.testId, testId = _param_testId === void 0 ? 'room-platform-video-frame' : _param_testId, trackRef = param.trackRef, _param_whiteboardTestId = param.whiteboardTestId, whiteboardTestId = _param_whiteboardTestId === void 0 ? 'room-platform-whiteboard-layer' : _param_whiteboardTestId;
27947
28721
  return /*#__PURE__*/ jsxs(RoomPlatformFitMediaFrame, {
27948
28722
  aspectRatio: aspectRatio,
27949
28723
  testId: testId,
27950
28724
  children: [
27951
- /*#__PURE__*/ jsx(VideoTrack, {
27952
- trackRef: trackRef,
27953
- className: "h-full w-full object-contain",
27954
- onLoadedMetadata: onLoadedMetadata,
27955
- onResize: onResize
28725
+ /*#__PURE__*/ jsxs(RoomPlatformScreenShareInteractionSurface, {
28726
+ aspectRatio: aspectRatio,
28727
+ handlers: interactionHandlers,
28728
+ children: [
28729
+ /*#__PURE__*/ jsx(VideoTrack, {
28730
+ trackRef: trackRef,
28731
+ className: "h-full w-full object-contain",
28732
+ onLoadedMetadata: onLoadedMetadata,
28733
+ onResize: onResize
28734
+ }),
28735
+ children ? /*#__PURE__*/ jsx("div", {
28736
+ "data-testid": whiteboardTestId,
28737
+ className: "absolute inset-0 z-20",
28738
+ children: children
28739
+ }) : null
28740
+ ]
27956
28741
  }),
27957
- children ? /*#__PURE__*/ jsx("div", {
27958
- "data-testid": whiteboardTestId,
27959
- className: "absolute inset-0 z-20",
27960
- children: children
27961
- }) : null,
27962
28742
  /*#__PURE__*/ jsx("div", {
27963
28743
  "data-testid": borderTestId,
27964
28744
  "aria-hidden": "true",
@@ -28167,6 +28947,7 @@ function RoomPlatformStage(param) {
28167
28947
  var controlBar = param.controlBar, _param_layout = param.layout, layout = _param_layout === void 0 ? 'stage' : _param_layout, model = param.model, overlayTrack = param.overlayTrack, status = param.status, whiteboard = param.whiteboard;
28168
28948
  var _ref;
28169
28949
  var _model_primary, _model_primary1;
28950
+ var _useRoomPlatformRoomControl = useRoomPlatformRoomControl(), sendClick = _useRoomPlatformRoomControl.sendClick, sendScroll = _useRoomPlatformRoomControl.sendScroll;
28170
28951
  var cameraOverlayTrack = overlayTrack !== null && overlayTrack !== void 0 ? overlayTrack : model.primary;
28171
28952
  var displayedTrack = layout === 'camera-overlay' ? cameraOverlayTrack : model.primary;
28172
28953
  var screenShareTrack = layout === 'stage' && ((_model_primary = model.primary) === null || _model_primary === void 0 ? void 0 : _model_primary.source) === Track.Source.ScreenShare ? model.primary : null;
@@ -28206,6 +28987,21 @@ function RoomPlatformStage(param) {
28206
28987
  className: "relative flex h-full w-full items-center justify-center overflow-hidden rounded-lg text-sm text-slate-300",
28207
28988
  children: /*#__PURE__*/ jsx(RoomPlatformScreenShareWhiteboardFrame, {
28208
28989
  aspectRatio: frameStyle.aspectRatio,
28990
+ interactionHandlers: {
28991
+ onClick: function(param) {
28992
+ var clientX = param.clientX, clientY = param.clientY, contentRect = param.contentRect;
28993
+ var point = normalizeCapturedPoint({
28994
+ clientX: clientX,
28995
+ clientY: clientY,
28996
+ contentRect: contentRect
28997
+ });
28998
+ if (point) sendClick(point);
28999
+ },
29000
+ onWheel: function(param) {
29001
+ var deltaY = param.deltaY;
29002
+ return sendScroll(deltaY);
29003
+ }
29004
+ },
28209
29005
  onLoadedMetadata: screenShareRatio.onLoadedMetadata,
28210
29006
  onResize: screenShareRatio.onResize,
28211
29007
  trackRef: model.primary,
@@ -28346,6 +29142,7 @@ function RoomPlatformPrivateRoomStage(param) {
28346
29142
  var callerExternalActorId = param.callerExternalActorId, studentExternalActorId = param.studentExternalActorId, activeScreenShareExternalActorId = param.activeScreenShareExternalActorId, chat = param.chat, controlBar = param.controlBar, topBar = param.topBar, whiteboard = param.whiteboard;
28347
29143
  var previousShareSessionKeyRef = useRef(undefined);
28348
29144
  var whiteboardContext = useContext(WhiteboardContext);
29145
+ var _useRoomPlatformRoomControl = useRoomPlatformRoomControl(), sendClick = _useRoomPlatformRoomControl.sendClick, sendScroll = _useRoomPlatformRoomControl.sendScroll;
28349
29146
  var tracks = useTracks([
28350
29147
  Track.Source.Camera,
28351
29148
  Track.Source.ScreenShare
@@ -28406,6 +29203,21 @@ function RoomPlatformPrivateRoomStage(param) {
28406
29203
  }),
28407
29204
  /*#__PURE__*/ jsx(RoomPlatformScreenShareWhiteboardFrame, _object_spread_props$3(_object_spread$3({}, screenShareRatio), {
28408
29205
  borderTestId: "private-live-room-screen-share-border",
29206
+ interactionHandlers: {
29207
+ onClick: function(param) {
29208
+ var clientX = param.clientX, clientY = param.clientY, contentRect = param.contentRect;
29209
+ var point = normalizeCapturedPoint({
29210
+ clientX: clientX,
29211
+ clientY: clientY,
29212
+ contentRect: contentRect
29213
+ });
29214
+ if (point) sendClick(point);
29215
+ },
29216
+ onWheel: function(param) {
29217
+ var deltaY = param.deltaY;
29218
+ return sendScroll(deltaY);
29219
+ }
29220
+ },
28409
29221
  testId: "private-live-room-screen-share-content-frame",
28410
29222
  trackRef: screenShareTrack,
28411
29223
  whiteboardTestId: "private-live-room-screen-share-whiteboard-layer",
@@ -29834,6 +30646,16 @@ function _ts_generator(thisArg, body) {
29834
30646
  };
29835
30647
  }
29836
30648
  }
30649
+ function RoomPlatformMainWhiteboard(param) {
30650
+ var permissions = param.permissions;
30651
+ var setWhiteboardState = useRoomPlatformRoomControl().setWhiteboardState;
30652
+ return /*#__PURE__*/ jsx(RoomPlatformMainWhiteboardSurface, {
30653
+ children: /*#__PURE__*/ jsx(WhiteboardCanvas, {
30654
+ permissions: permissions,
30655
+ onToolbarStateChange: setWhiteboardState
30656
+ })
30657
+ });
30658
+ }
29837
30659
  function RoomPlatformChatUnreadBadge() {
29838
30660
  var totalUnreadCount = useChatContext().totalUnreadCount;
29839
30661
  return /*#__PURE__*/ jsx(UnreadBadge, {
@@ -30282,7 +31104,7 @@ var RoomPlatformWorkspaceContent = function(param) {
30282
31104
  /*#__PURE__*/ jsx(RoomPlatformWhiteboardShareLifecycle, {
30283
31105
  shareSessionKey: shareSessionKey
30284
31106
  }),
30285
- /*#__PURE__*/ jsx(WhiteboardCanvas, {
31107
+ /*#__PURE__*/ jsx(RoomPlatformMainWhiteboard, {
30286
31108
  permissions: (_ref = (_whiteboardProviderProps_auth = whiteboardProviderProps.auth) === null || _whiteboardProviderProps_auth === void 0 ? void 0 : _whiteboardProviderProps_auth.permissions) !== null && _ref !== void 0 ? _ref : []
30287
31109
  })
30288
31110
  ]
@@ -30382,7 +31204,7 @@ function RoomPlatformPrivateRoomRuntime(param) {
30382
31204
  state: privateRoomState.privateRoom,
30383
31205
  connection: privateRoomState.privateRoomConnection,
30384
31206
  currentExternalActorId: privateRoomState.actorExternalId,
30385
- whiteboard: /*#__PURE__*/ jsx(WhiteboardCanvas, {
31207
+ whiteboard: /*#__PURE__*/ jsx(RoomPlatformMainWhiteboard, {
30386
31208
  permissions: whiteboardAuth.permissions
30387
31209
  }),
30388
31210
  roomStatusBanner: privateRoomState.privateRoomStatusBanner,
@@ -30406,25 +31228,29 @@ function RoomPlatformPrivateRoomRuntime(param) {
30406
31228
  });
30407
31229
  }
30408
31230
  function RoomPlatformRuntime(_0) {
30409
- var children = _0.children, completionAction = _0.completionAction, extensions = _0.extensions, modeConfig = _0.modeConfig, onExit = _0.onExit, primaryCameraPlacement = _0.primaryCameraPlacement, _0_sizing = _0.sizing, sizing = _0_sizing === void 0 ? 'viewport' : _0_sizing, providerProps = _object_without_properties(_0, [
31231
+ var children = _0.children, completionAction = _0.completionAction, extensions = _0.extensions, modeConfig = _0.modeConfig, onExit = _0.onExit, primaryCameraPlacement = _0.primaryCameraPlacement, roomControlScopeId = _0.roomControlScopeId, _0_sizing = _0.sizing, sizing = _0_sizing === void 0 ? 'viewport' : _0_sizing, providerProps = _object_without_properties(_0, [
30410
31232
  "children",
30411
31233
  "completionAction",
30412
31234
  "extensions",
30413
31235
  "modeConfig",
30414
31236
  "onExit",
30415
31237
  "primaryCameraPlacement",
31238
+ "roomControlScopeId",
30416
31239
  "sizing"
30417
31240
  ]);
30418
31241
  return /*#__PURE__*/ jsx(RoomPlatformProvider, _object_spread_props(_object_spread({}, providerProps), {
30419
- children: /*#__PURE__*/ jsx(RoomPlatformMediaRuntime, {
30420
- children: /*#__PURE__*/ jsx(RoomPlatformPrivateRoomRuntime, {
30421
- children: children !== null && children !== void 0 ? children : /*#__PURE__*/ jsx(RoomPlatformWorkspace, {
30422
- completionAction: completionAction,
30423
- extensions: extensions,
30424
- modeConfig: modeConfig,
30425
- onExit: onExit,
30426
- primaryCameraPlacement: primaryCameraPlacement,
30427
- sizing: sizing
31242
+ children: /*#__PURE__*/ jsx(RoomPlatformRoomControlRuntime, {
31243
+ scopeId: roomControlScopeId,
31244
+ children: /*#__PURE__*/ jsx(RoomPlatformMediaRuntime, {
31245
+ children: /*#__PURE__*/ jsx(RoomPlatformPrivateRoomRuntime, {
31246
+ children: children !== null && children !== void 0 ? children : /*#__PURE__*/ jsx(RoomPlatformWorkspace, {
31247
+ completionAction: completionAction,
31248
+ extensions: extensions,
31249
+ modeConfig: modeConfig,
31250
+ onExit: onExit,
31251
+ primaryCameraPlacement: primaryCameraPlacement,
31252
+ sizing: sizing
31253
+ })
30428
31254
  })
30429
31255
  })
30430
31256
  })