@naviedu/room-platform-react 0.0.26 → 0.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/index.d.ts +18 -3
  2. package/index.esm.js +285 -223
  3. package/package.json +1 -1
package/index.esm.js CHANGED
@@ -197,6 +197,7 @@ var RoomPlatformCapability = {
197
197
  MEDIA_PUBLISH_AUDIO: 'media:publish_audio',
198
198
  MEDIA_PUBLISH_VIDEO: 'media:publish_video',
199
199
  MEDIA_SHARE_SCREEN: 'media:share_screen',
200
+ ROOM_SET_MODE: 'room:set_mode',
200
201
  DATA_PUBLISH: 'data:publish',
201
202
  ROOM_SPEAK_REQUEST: 'room:speak_request',
202
203
  ROOM_MODERATE: 'room:moderate',
@@ -243,10 +244,11 @@ var RoomPlatformAction = /*#__PURE__*/ function(RoomPlatformAction) {
243
244
  RoomPlatformAction["SPEAK_REJECT"] = "speak.reject";
244
245
  RoomPlatformAction["SPEAKER_SET"] = "speaker.set";
245
246
  RoomPlatformAction["SPEAKER_CLEAR"] = "speaker.clear";
247
+ RoomPlatformAction["MODE_SET"] = "room.mode.set";
246
248
  return RoomPlatformAction;
247
249
  }({});
248
250
  var _obj;
249
- var roomActionCapabilities = (_obj = {}, _define_property$z(_obj, "private_room.invite", RoomPlatformCapability.PRIVATE_ROOM_INVITE), _define_property$z(_obj, "private_room.respond", RoomPlatformCapability.PRIVATE_ROOM_RESPOND), _define_property$z(_obj, "private_room.close", RoomPlatformCapability.PRIVATE_ROOM_CLOSE), _define_property$z(_obj, "private_room.screen_share.start", RoomPlatformCapability.MEDIA_SHARE_SCREEN), _define_property$z(_obj, "private_room.screen_share.stop", RoomPlatformCapability.MEDIA_SHARE_SCREEN), _define_property$z(_obj, "monitor.start", RoomPlatformCapability.MONITOR_MANAGE), _define_property$z(_obj, "monitor.stop", RoomPlatformCapability.MONITOR_MANAGE), _define_property$z(_obj, "moderation.mute", RoomPlatformCapability.ROOM_MODERATE), _define_property$z(_obj, "moderation.remove", RoomPlatformCapability.ROOM_MODERATE), _define_property$z(_obj, "moderation.lower_hand", RoomPlatformCapability.ROOM_MODERATE), _define_property$z(_obj, "whiteboard.clear", RoomPlatformCapability.WHITEBOARD_CLEAR), _define_property$z(_obj, "speak.request", RoomPlatformCapability.ROOM_SPEAK_REQUEST), _define_property$z(_obj, "speak.cancel", RoomPlatformCapability.ROOM_SPEAK_REQUEST), _define_property$z(_obj, "speak.approve", RoomPlatformCapability.ROOM_MODERATE), _define_property$z(_obj, "speak.reject", RoomPlatformCapability.ROOM_MODERATE), _define_property$z(_obj, "speaker.set", RoomPlatformCapability.ROOM_MODERATE), _define_property$z(_obj, "speaker.clear", RoomPlatformCapability.ROOM_MODERATE), _obj);
251
+ var roomActionCapabilities = (_obj = {}, _define_property$z(_obj, "private_room.invite", RoomPlatformCapability.PRIVATE_ROOM_INVITE), _define_property$z(_obj, "private_room.respond", RoomPlatformCapability.PRIVATE_ROOM_RESPOND), _define_property$z(_obj, "private_room.close", RoomPlatformCapability.PRIVATE_ROOM_CLOSE), _define_property$z(_obj, "private_room.screen_share.start", RoomPlatformCapability.MEDIA_SHARE_SCREEN), _define_property$z(_obj, "private_room.screen_share.stop", RoomPlatformCapability.MEDIA_SHARE_SCREEN), _define_property$z(_obj, "monitor.start", RoomPlatformCapability.MONITOR_MANAGE), _define_property$z(_obj, "monitor.stop", RoomPlatformCapability.MONITOR_MANAGE), _define_property$z(_obj, "moderation.mute", RoomPlatformCapability.ROOM_MODERATE), _define_property$z(_obj, "moderation.remove", RoomPlatformCapability.ROOM_MODERATE), _define_property$z(_obj, "moderation.lower_hand", RoomPlatformCapability.ROOM_MODERATE), _define_property$z(_obj, "whiteboard.clear", RoomPlatformCapability.WHITEBOARD_CLEAR), _define_property$z(_obj, "speak.request", RoomPlatformCapability.ROOM_SPEAK_REQUEST), _define_property$z(_obj, "speak.cancel", RoomPlatformCapability.ROOM_SPEAK_REQUEST), _define_property$z(_obj, "speak.approve", RoomPlatformCapability.ROOM_MODERATE), _define_property$z(_obj, "speak.reject", RoomPlatformCapability.ROOM_MODERATE), _define_property$z(_obj, "speaker.set", RoomPlatformCapability.ROOM_MODERATE), _define_property$z(_obj, "speaker.clear", RoomPlatformCapability.ROOM_MODERATE), _define_property$z(_obj, "room.mode.set", RoomPlatformCapability.ROOM_SET_MODE), _obj);
250
252
 
251
253
  function _type_of$d(obj) {
252
254
  "@swc/helpers - typeof";
@@ -256,7 +258,7 @@ var isRoomControlState = function(value) {
256
258
  if (!value || (typeof value === "undefined" ? "undefined" : _type_of$d(value)) !== 'object' || Array.isArray(value)) return false;
257
259
  var state = value;
258
260
  var monitorViewerCount = state['monitorViewerCount'];
259
- return typeof state['revision'] === 'string' && /^\d+$/.test(state['revision']) && Array.isArray(state['raisedHandParticipantIdentities']) && state['raisedHandParticipantIdentities'].every(function(identity) {
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) {
260
262
  return typeof identity === 'string';
261
263
  }) && (state['activeSpeakerParticipantIdentity'] === undefined || typeof state['activeSpeakerParticipantIdentity'] === 'string') && typeof state['monitorActive'] === 'boolean' && typeof monitorViewerCount === 'number' && Number.isInteger(monitorViewerCount) && monitorViewerCount >= 0 && state['monitorActive'] === monitorViewerCount > 0 && state['monitorViewers'] === undefined && state['storageRevision'] === undefined;
262
264
  };
@@ -287,7 +289,7 @@ function _array_like_to_array$E(arr, len) {
287
289
  function _array_with_holes$z(arr) {
288
290
  if (Array.isArray(arr)) return arr;
289
291
  }
290
- function _array_without_holes$g(arr) {
292
+ function _array_without_holes$h(arr) {
291
293
  if (Array.isArray(arr)) return _array_like_to_array$E(arr);
292
294
  }
293
295
  function _define_property$y(obj, key, value) {
@@ -303,7 +305,7 @@ function _define_property$y(obj, key, value) {
303
305
  }
304
306
  return obj;
305
307
  }
306
- function _iterable_to_array$g(iter) {
308
+ function _iterable_to_array$h(iter) {
307
309
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
308
310
  }
309
311
  function _iterable_to_array_limit$z(arr, i) {
@@ -333,7 +335,7 @@ function _iterable_to_array_limit$z(arr, i) {
333
335
  function _non_iterable_rest$z() {
334
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.");
335
337
  }
336
- function _non_iterable_spread$g() {
338
+ function _non_iterable_spread$h() {
337
339
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
338
340
  }
339
341
  function _object_spread$v(target) {
@@ -354,8 +356,8 @@ function _object_spread$v(target) {
354
356
  function _sliced_to_array$z(arr, i) {
355
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();
356
358
  }
357
- function _to_consumable_array$g(arr) {
358
- return _array_without_holes$g(arr) || _iterable_to_array$g(arr) || _unsupported_iterable_to_array$E(arr) || _non_iterable_spread$g();
359
+ function _to_consumable_array$h(arr) {
360
+ return _array_without_holes$h(arr) || _iterable_to_array$h(arr) || _unsupported_iterable_to_array$E(arr) || _non_iterable_spread$h();
359
361
  }
360
362
  function _unsupported_iterable_to_array$E(o, minLen) {
361
363
  if (!o) return;
@@ -693,7 +695,7 @@ var createParseClassName = function(config) {
693
695
  if (currentSegment.length > 0) {
694
696
  var _result;
695
697
  currentSegment.sort();
696
- (_result = result).push.apply(_result, _to_consumable_array$g(currentSegment));
698
+ (_result = result).push.apply(_result, _to_consumable_array$h(currentSegment));
697
699
  currentSegment = [];
698
700
  }
699
701
  result.push(modifier);
@@ -706,7 +708,7 @@ var createParseClassName = function(config) {
706
708
  if (currentSegment.length > 0) {
707
709
  var _result1;
708
710
  currentSegment.sort();
709
- (_result1 = result).push.apply(_result1, _to_consumable_array$g(currentSegment));
711
+ (_result1 = result).push.apply(_result1, _to_consumable_array$h(currentSegment));
710
712
  }
711
713
  return result;
712
714
  };
@@ -846,7 +848,7 @@ var createTailwindMerge = function(createConfigFirst) {
846
848
  for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
847
849
  args[_key] = arguments[_key];
848
850
  }
849
- return functionToCall(twJoin.apply(void 0, _to_consumable_array$g(args)));
851
+ return functionToCall(twJoin.apply(void 0, _to_consumable_array$h(args)));
850
852
  };
851
853
  };
852
854
  var fallbackThemeArr = [];
@@ -1062,7 +1064,7 @@ var getDefaultConfig = function() {
1062
1064
  ];
1063
1065
  };
1064
1066
  var scalePositionWithArbitrary = function() {
1065
- return _to_consumable_array$g(scalePosition()).concat([
1067
+ return _to_consumable_array$h(scalePosition()).concat([
1066
1068
  isArbitraryVariable,
1067
1069
  isArbitraryValue
1068
1070
  ]);
@@ -1095,7 +1097,7 @@ var getDefaultConfig = function() {
1095
1097
  isFraction,
1096
1098
  'full',
1097
1099
  'auto'
1098
- ].concat(_to_consumable_array$g(scaleUnambiguousSpacing()));
1100
+ ].concat(_to_consumable_array$h(scaleUnambiguousSpacing()));
1099
1101
  };
1100
1102
  var scaleGridTemplateColsRows = function() {
1101
1103
  return [
@@ -1167,7 +1169,7 @@ var getDefaultConfig = function() {
1167
1169
  var scaleMargin = function() {
1168
1170
  return [
1169
1171
  'auto'
1170
- ].concat(_to_consumable_array$g(scaleUnambiguousSpacing()));
1172
+ ].concat(_to_consumable_array$h(scaleUnambiguousSpacing()));
1171
1173
  };
1172
1174
  var scaleSizing = function() {
1173
1175
  return [
@@ -1183,7 +1185,7 @@ var getDefaultConfig = function() {
1183
1185
  'min',
1184
1186
  'max',
1185
1187
  'fit'
1186
- ].concat(_to_consumable_array$g(scaleUnambiguousSpacing()));
1188
+ ].concat(_to_consumable_array$h(scaleUnambiguousSpacing()));
1187
1189
  };
1188
1190
  var scaleSizingInline = function() {
1189
1191
  return [
@@ -1196,7 +1198,7 @@ var getDefaultConfig = function() {
1196
1198
  'min',
1197
1199
  'max',
1198
1200
  'fit'
1199
- ].concat(_to_consumable_array$g(scaleUnambiguousSpacing()));
1201
+ ].concat(_to_consumable_array$h(scaleUnambiguousSpacing()));
1200
1202
  };
1201
1203
  var scaleSizingBlock = function() {
1202
1204
  return [
@@ -1210,7 +1212,7 @@ var getDefaultConfig = function() {
1210
1212
  'min',
1211
1213
  'max',
1212
1214
  'fit'
1213
- ].concat(_to_consumable_array$g(scaleUnambiguousSpacing()));
1215
+ ].concat(_to_consumable_array$h(scaleUnambiguousSpacing()));
1214
1216
  };
1215
1217
  var scaleColor = function() {
1216
1218
  return [
@@ -1220,7 +1222,7 @@ var getDefaultConfig = function() {
1220
1222
  ];
1221
1223
  };
1222
1224
  var scaleBgPosition = function() {
1223
- return _to_consumable_array$g(scalePosition()).concat([
1225
+ return _to_consumable_array$h(scalePosition()).concat([
1224
1226
  isArbitraryVariablePosition,
1225
1227
  isArbitraryPosition,
1226
1228
  {
@@ -1359,7 +1361,7 @@ var getDefaultConfig = function() {
1359
1361
  return [
1360
1362
  isFraction,
1361
1363
  'full'
1362
- ].concat(_to_consumable_array$g(scaleUnambiguousSpacing()));
1364
+ ].concat(_to_consumable_array$h(scaleUnambiguousSpacing()));
1363
1365
  };
1364
1366
  return {
1365
1367
  cacheSize: 500,
@@ -1822,7 +1824,7 @@ var getDefaultConfig = function() {
1822
1824
  'full',
1823
1825
  'auto',
1824
1826
  themeContainer
1825
- ].concat(_to_consumable_array$g(scaleUnambiguousSpacing()))
1827
+ ].concat(_to_consumable_array$h(scaleUnambiguousSpacing()))
1826
1828
  }
1827
1829
  ],
1828
1830
  /**
@@ -2029,7 +2031,7 @@ var getDefaultConfig = function() {
2029
2031
  * @see https://tailwindcss.com/docs/justify-content
2030
2032
  */ 'justify-content': [
2031
2033
  {
2032
- justify: _to_consumable_array$g(scaleAlignPrimaryAxis()).concat([
2034
+ justify: _to_consumable_array$h(scaleAlignPrimaryAxis()).concat([
2033
2035
  'normal'
2034
2036
  ])
2035
2037
  }
@@ -2039,7 +2041,7 @@ var getDefaultConfig = function() {
2039
2041
  * @see https://tailwindcss.com/docs/justify-items
2040
2042
  */ 'justify-items': [
2041
2043
  {
2042
- 'justify-items': _to_consumable_array$g(scaleAlignSecondaryAxis()).concat([
2044
+ 'justify-items': _to_consumable_array$h(scaleAlignSecondaryAxis()).concat([
2043
2045
  'normal'
2044
2046
  ])
2045
2047
  }
@@ -2051,7 +2053,7 @@ var getDefaultConfig = function() {
2051
2053
  {
2052
2054
  'justify-self': [
2053
2055
  'auto'
2054
- ].concat(_to_consumable_array$g(scaleAlignSecondaryAxis()))
2056
+ ].concat(_to_consumable_array$h(scaleAlignSecondaryAxis()))
2055
2057
  }
2056
2058
  ],
2057
2059
  /**
@@ -2061,7 +2063,7 @@ var getDefaultConfig = function() {
2061
2063
  {
2062
2064
  content: [
2063
2065
  'normal'
2064
- ].concat(_to_consumable_array$g(scaleAlignPrimaryAxis()))
2066
+ ].concat(_to_consumable_array$h(scaleAlignPrimaryAxis()))
2065
2067
  }
2066
2068
  ],
2067
2069
  /**
@@ -2069,7 +2071,7 @@ var getDefaultConfig = function() {
2069
2071
  * @see https://tailwindcss.com/docs/align-items
2070
2072
  */ 'align-items': [
2071
2073
  {
2072
- items: _to_consumable_array$g(scaleAlignSecondaryAxis()).concat([
2074
+ items: _to_consumable_array$h(scaleAlignSecondaryAxis()).concat([
2073
2075
  {
2074
2076
  baseline: [
2075
2077
  '',
@@ -2086,7 +2088,7 @@ var getDefaultConfig = function() {
2086
2088
  {
2087
2089
  self: [
2088
2090
  'auto'
2089
- ].concat(_to_consumable_array$g(scaleAlignSecondaryAxis()), [
2091
+ ].concat(_to_consumable_array$h(scaleAlignSecondaryAxis()), [
2090
2092
  {
2091
2093
  baseline: [
2092
2094
  '',
@@ -2109,7 +2111,7 @@ var getDefaultConfig = function() {
2109
2111
  * @see https://tailwindcss.com/docs/place-items
2110
2112
  */ 'place-items': [
2111
2113
  {
2112
- 'place-items': _to_consumable_array$g(scaleAlignSecondaryAxis()).concat([
2114
+ 'place-items': _to_consumable_array$h(scaleAlignSecondaryAxis()).concat([
2113
2115
  'baseline'
2114
2116
  ])
2115
2117
  }
@@ -2121,7 +2123,7 @@ var getDefaultConfig = function() {
2121
2123
  {
2122
2124
  'place-self': [
2123
2125
  'auto'
2124
- ].concat(_to_consumable_array$g(scaleAlignSecondaryAxis()))
2126
+ ].concat(_to_consumable_array$h(scaleAlignSecondaryAxis()))
2125
2127
  }
2126
2128
  ],
2127
2129
  // Spacing
@@ -2347,7 +2349,7 @@ var getDefaultConfig = function() {
2347
2349
  {
2348
2350
  inline: [
2349
2351
  'auto'
2350
- ].concat(_to_consumable_array$g(scaleSizingInline()))
2352
+ ].concat(_to_consumable_array$h(scaleSizingInline()))
2351
2353
  }
2352
2354
  ],
2353
2355
  /**
@@ -2357,7 +2359,7 @@ var getDefaultConfig = function() {
2357
2359
  {
2358
2360
  'min-inline': [
2359
2361
  'auto'
2360
- ].concat(_to_consumable_array$g(scaleSizingInline()))
2362
+ ].concat(_to_consumable_array$h(scaleSizingInline()))
2361
2363
  }
2362
2364
  ],
2363
2365
  /**
@@ -2367,7 +2369,7 @@ var getDefaultConfig = function() {
2367
2369
  {
2368
2370
  'max-inline': [
2369
2371
  'none'
2370
- ].concat(_to_consumable_array$g(scaleSizingInline()))
2372
+ ].concat(_to_consumable_array$h(scaleSizingInline()))
2371
2373
  }
2372
2374
  ],
2373
2375
  /**
@@ -2377,7 +2379,7 @@ var getDefaultConfig = function() {
2377
2379
  {
2378
2380
  block: [
2379
2381
  'auto'
2380
- ].concat(_to_consumable_array$g(scaleSizingBlock()))
2382
+ ].concat(_to_consumable_array$h(scaleSizingBlock()))
2381
2383
  }
2382
2384
  ],
2383
2385
  /**
@@ -2387,7 +2389,7 @@ var getDefaultConfig = function() {
2387
2389
  {
2388
2390
  'min-block': [
2389
2391
  'auto'
2390
- ].concat(_to_consumable_array$g(scaleSizingBlock()))
2392
+ ].concat(_to_consumable_array$h(scaleSizingBlock()))
2391
2393
  }
2392
2394
  ],
2393
2395
  /**
@@ -2397,7 +2399,7 @@ var getDefaultConfig = function() {
2397
2399
  {
2398
2400
  'max-block': [
2399
2401
  'none'
2400
- ].concat(_to_consumable_array$g(scaleSizingBlock()))
2402
+ ].concat(_to_consumable_array$h(scaleSizingBlock()))
2401
2403
  }
2402
2404
  ],
2403
2405
  /**
@@ -2408,7 +2410,7 @@ var getDefaultConfig = function() {
2408
2410
  w: [
2409
2411
  themeContainer,
2410
2412
  'screen'
2411
- ].concat(_to_consumable_array$g(scaleSizing()))
2413
+ ].concat(_to_consumable_array$h(scaleSizing()))
2412
2414
  }
2413
2415
  ],
2414
2416
  /**
@@ -2420,7 +2422,7 @@ var getDefaultConfig = function() {
2420
2422
  themeContainer,
2421
2423
  'screen',
2422
2424
  /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */ 'none'
2423
- ].concat(_to_consumable_array$g(scaleSizing()))
2425
+ ].concat(_to_consumable_array$h(scaleSizing()))
2424
2426
  }
2425
2427
  ],
2426
2428
  /**
@@ -2438,7 +2440,7 @@ var getDefaultConfig = function() {
2438
2440
  themeBreakpoint
2439
2441
  ]
2440
2442
  }
2441
- ].concat(_to_consumable_array$g(scaleSizing()))
2443
+ ].concat(_to_consumable_array$h(scaleSizing()))
2442
2444
  }
2443
2445
  ],
2444
2446
  /**
@@ -2449,7 +2451,7 @@ var getDefaultConfig = function() {
2449
2451
  h: [
2450
2452
  'screen',
2451
2453
  'lh'
2452
- ].concat(_to_consumable_array$g(scaleSizing()))
2454
+ ].concat(_to_consumable_array$h(scaleSizing()))
2453
2455
  }
2454
2456
  ],
2455
2457
  /**
@@ -2461,7 +2463,7 @@ var getDefaultConfig = function() {
2461
2463
  'screen',
2462
2464
  'lh',
2463
2465
  'none'
2464
- ].concat(_to_consumable_array$g(scaleSizing()))
2466
+ ].concat(_to_consumable_array$h(scaleSizing()))
2465
2467
  }
2466
2468
  ],
2467
2469
  /**
@@ -2472,7 +2474,7 @@ var getDefaultConfig = function() {
2472
2474
  'max-h': [
2473
2475
  'screen',
2474
2476
  'lh'
2475
- ].concat(_to_consumable_array$g(scaleSizing()))
2477
+ ].concat(_to_consumable_array$h(scaleSizing()))
2476
2478
  }
2477
2479
  ],
2478
2480
  // ------------------
@@ -2630,7 +2632,7 @@ var getDefaultConfig = function() {
2630
2632
  {
2631
2633
  leading: [
2632
2634
  /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */ themeLeading
2633
- ].concat(_to_consumable_array$g(scaleUnambiguousSpacing()))
2635
+ ].concat(_to_consumable_array$h(scaleUnambiguousSpacing()))
2634
2636
  }
2635
2637
  ],
2636
2638
  /**
@@ -2716,7 +2718,7 @@ var getDefaultConfig = function() {
2716
2718
  * @see https://tailwindcss.com/docs/text-decoration-style
2717
2719
  */ 'text-decoration-style': [
2718
2720
  {
2719
- decoration: _to_consumable_array$g(scaleLineStyle()).concat([
2721
+ decoration: _to_consumable_array$h(scaleLineStyle()).concat([
2720
2722
  'wavy'
2721
2723
  ])
2722
2724
  }
@@ -3282,7 +3284,7 @@ var getDefaultConfig = function() {
3282
3284
  * @see https://tailwindcss.com/docs/border-style
3283
3285
  */ 'border-style': [
3284
3286
  {
3285
- border: _to_consumable_array$g(scaleLineStyle()).concat([
3287
+ border: _to_consumable_array$h(scaleLineStyle()).concat([
3286
3288
  'hidden',
3287
3289
  'none'
3288
3290
  ])
@@ -3293,7 +3295,7 @@ var getDefaultConfig = function() {
3293
3295
  * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
3294
3296
  */ 'divide-style': [
3295
3297
  {
3296
- divide: _to_consumable_array$g(scaleLineStyle()).concat([
3298
+ divide: _to_consumable_array$h(scaleLineStyle()).concat([
3297
3299
  'hidden',
3298
3300
  'none'
3299
3301
  ])
@@ -3400,7 +3402,7 @@ var getDefaultConfig = function() {
3400
3402
  * @see https://tailwindcss.com/docs/outline-style
3401
3403
  */ 'outline-style': [
3402
3404
  {
3403
- outline: _to_consumable_array$g(scaleLineStyle()).concat([
3405
+ outline: _to_consumable_array$h(scaleLineStyle()).concat([
3404
3406
  'none',
3405
3407
  'hidden'
3406
3408
  ])
@@ -3587,7 +3589,7 @@ var getDefaultConfig = function() {
3587
3589
  * @see https://tailwindcss.com/docs/mix-blend-mode
3588
3590
  */ 'mix-blend': [
3589
3591
  {
3590
- 'mix-blend': _to_consumable_array$g(scaleBlendMode()).concat([
3592
+ 'mix-blend': _to_consumable_array$h(scaleBlendMode()).concat([
3591
3593
  'plus-darker',
3592
3594
  'plus-lighter'
3593
3595
  ])
@@ -4980,7 +4982,7 @@ var getDefaultConfig = function() {
4980
4982
  {
4981
4983
  fill: [
4982
4984
  'none'
4983
- ].concat(_to_consumable_array$g(scaleColor()))
4985
+ ].concat(_to_consumable_array$h(scaleColor()))
4984
4986
  }
4985
4987
  ],
4986
4988
  /**
@@ -5003,7 +5005,7 @@ var getDefaultConfig = function() {
5003
5005
  {
5004
5006
  stroke: [
5005
5007
  'none'
5006
- ].concat(_to_consumable_array$g(scaleColor()))
5008
+ ].concat(_to_consumable_array$h(scaleColor()))
5007
5009
  }
5008
5010
  ],
5009
5011
  // ---------------------
@@ -5320,7 +5322,7 @@ function _array_like_to_array$D(arr, len) {
5320
5322
  function _array_with_holes$y(arr) {
5321
5323
  if (Array.isArray(arr)) return arr;
5322
5324
  }
5323
- function _array_without_holes$f(arr) {
5325
+ function _array_without_holes$g(arr) {
5324
5326
  if (Array.isArray(arr)) return _array_like_to_array$D(arr);
5325
5327
  }
5326
5328
  function _define_property$x(obj, key, value) {
@@ -5336,7 +5338,7 @@ function _define_property$x(obj, key, value) {
5336
5338
  }
5337
5339
  return obj;
5338
5340
  }
5339
- function _iterable_to_array$f(iter) {
5341
+ function _iterable_to_array$g(iter) {
5340
5342
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
5341
5343
  }
5342
5344
  function _iterable_to_array_limit$y(arr, i) {
@@ -5366,7 +5368,7 @@ function _iterable_to_array_limit$y(arr, i) {
5366
5368
  function _non_iterable_rest$y() {
5367
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.");
5368
5370
  }
5369
- function _non_iterable_spread$f() {
5371
+ function _non_iterable_spread$g() {
5370
5372
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5371
5373
  }
5372
5374
  function _object_spread$u(target) {
@@ -5423,8 +5425,8 @@ function _object_without_properties_loose$f(source, excluded) {
5423
5425
  function _sliced_to_array$y(arr, i) {
5424
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();
5425
5427
  }
5426
- function _to_consumable_array$f(arr) {
5427
- return _array_without_holes$f(arr) || _iterable_to_array$f(arr) || _unsupported_iterable_to_array$D(arr) || _non_iterable_spread$f();
5428
+ function _to_consumable_array$g(arr) {
5429
+ return _array_without_holes$g(arr) || _iterable_to_array$g(arr) || _unsupported_iterable_to_array$D(arr) || _non_iterable_spread$g();
5428
5430
  }
5429
5431
  function _unsupported_iterable_to_array$D(o, minLen) {
5430
5432
  if (!o) return;
@@ -5466,7 +5468,7 @@ var cva = function(base, config) {
5466
5468
  return Object.entries(compoundVariantOptions).every(function(param) {
5467
5469
  var _param = _sliced_to_array$y(param, 2), key = _param[0], value = _param[1];
5468
5470
  return Array.isArray(value) ? value.includes(_object_spread$u({}, defaultVariants, propsWithoutUndefined)[key]) : _object_spread$u({}, defaultVariants, propsWithoutUndefined)[key] === value;
5469
- }) ? _to_consumable_array$f(acc).concat([
5471
+ }) ? _to_consumable_array$g(acc).concat([
5470
5472
  cvClass,
5471
5473
  cvClassName
5472
5474
  ]) : acc;
@@ -6936,7 +6938,7 @@ function _array_like_to_array$B(arr, len) {
6936
6938
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
6937
6939
  return arr2;
6938
6940
  }
6939
- function _array_without_holes$e(arr) {
6941
+ function _array_without_holes$f(arr) {
6940
6942
  if (Array.isArray(arr)) return _array_like_to_array$B(arr);
6941
6943
  }
6942
6944
  function _define_property$o(obj, key, value) {
@@ -6952,10 +6954,10 @@ function _define_property$o(obj, key, value) {
6952
6954
  }
6953
6955
  return obj;
6954
6956
  }
6955
- function _iterable_to_array$e(iter) {
6957
+ function _iterable_to_array$f(iter) {
6956
6958
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
6957
6959
  }
6958
- function _non_iterable_spread$e() {
6960
+ function _non_iterable_spread$f() {
6959
6961
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
6960
6962
  }
6961
6963
  function _object_spread$l(target) {
@@ -7028,8 +7030,8 @@ function _object_without_properties_loose$6(source, excluded) {
7028
7030
  }
7029
7031
  return target;
7030
7032
  }
7031
- function _to_consumable_array$e(arr) {
7032
- return _array_without_holes$e(arr) || _iterable_to_array$e(arr) || _unsupported_iterable_to_array$B(arr) || _non_iterable_spread$e();
7033
+ function _to_consumable_array$f(arr) {
7034
+ return _array_without_holes$f(arr) || _iterable_to_array$f(arr) || _unsupported_iterable_to_array$B(arr) || _non_iterable_spread$f();
7033
7035
  }
7034
7036
  function _unsupported_iterable_to_array$B(o, minLen) {
7035
7037
  if (!o) return;
@@ -7046,13 +7048,13 @@ function createWhiteboardLocalHistory(createOperationId) {
7046
7048
  };
7047
7049
  var getState = function() {
7048
7050
  return {
7049
- undoStack: _to_consumable_array$e(state.undoStack),
7050
- redoStack: _to_consumable_array$e(state.redoStack)
7051
+ undoStack: _to_consumable_array$f(state.undoStack),
7052
+ redoStack: _to_consumable_array$f(state.redoStack)
7051
7053
  };
7052
7054
  };
7053
7055
  var record = function(entry) {
7054
7056
  state = {
7055
- undoStack: _to_consumable_array$e(state.undoStack).concat([
7057
+ undoStack: _to_consumable_array$f(state.undoStack).concat([
7056
7058
  entry
7057
7059
  ]),
7058
7060
  redoStack: []
@@ -7114,7 +7116,7 @@ function createWhiteboardLocalHistory(createOperationId) {
7114
7116
  clearOperationId: entry.clearOperationId
7115
7117
  }
7116
7118
  },
7117
- restoredObjects: _to_consumable_array$e(entry.localObjects)
7119
+ restoredObjects: _to_consumable_array$f(entry.localObjects)
7118
7120
  };
7119
7121
  }
7120
7122
  var clearOperationId = createOperationId();
@@ -7133,7 +7135,7 @@ function createWhiteboardLocalHistory(createOperationId) {
7133
7135
  if (!entry) return undefined;
7134
7136
  var transition = commandFor(entry, direction);
7135
7137
  var _obj;
7136
- state = _object_spread_props$j(_object_spread$l({}, state), (_obj = {}, _define_property$o(_obj, from, source.slice(0, -1)), _define_property$o(_obj, to, _to_consumable_array$e(state[to]).concat([
7138
+ state = _object_spread_props$j(_object_spread$l({}, state), (_obj = {}, _define_property$o(_obj, from, source.slice(0, -1)), _define_property$o(_obj, to, _to_consumable_array$f(state[to]).concat([
7137
7139
  entry
7138
7140
  ])), _obj));
7139
7141
  return transition;
@@ -7156,7 +7158,7 @@ function createWhiteboardLocalHistory(createOperationId) {
7156
7158
  return record({
7157
7159
  kind: 'clear',
7158
7160
  clearOperationId: clearOperationId,
7159
- localObjects: _to_consumable_array$e(localObjects)
7161
+ localObjects: _to_consumable_array$f(localObjects)
7160
7162
  });
7161
7163
  },
7162
7164
  undo: function() {
@@ -7185,17 +7187,17 @@ function _array_like_to_array$A(arr, len) {
7185
7187
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
7186
7188
  return arr2;
7187
7189
  }
7188
- function _array_without_holes$d(arr) {
7190
+ function _array_without_holes$e(arr) {
7189
7191
  if (Array.isArray(arr)) return _array_like_to_array$A(arr);
7190
7192
  }
7191
- function _iterable_to_array$d(iter) {
7193
+ function _iterable_to_array$e(iter) {
7192
7194
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
7193
7195
  }
7194
- function _non_iterable_spread$d() {
7196
+ function _non_iterable_spread$e() {
7195
7197
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
7196
7198
  }
7197
- function _to_consumable_array$d(arr) {
7198
- return _array_without_holes$d(arr) || _iterable_to_array$d(arr) || _unsupported_iterable_to_array$A(arr) || _non_iterable_spread$d();
7199
+ function _to_consumable_array$e(arr) {
7200
+ return _array_without_holes$e(arr) || _iterable_to_array$e(arr) || _unsupported_iterable_to_array$A(arr) || _non_iterable_spread$e();
7199
7201
  }
7200
7202
  function _unsupported_iterable_to_array$A(o, minLen) {
7201
7203
  if (!o) return;
@@ -7250,7 +7252,7 @@ function clearCanvas(context, frameRect) {
7250
7252
  function redrawScene(context, objects, frameRect) {
7251
7253
  var now = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : new Date();
7252
7254
  clearCanvas(context, frameRect);
7253
- var orderedObjects = _to_consumable_array$d(objects).sort(function(left, right) {
7255
+ var orderedObjects = _to_consumable_array$e(objects).sort(function(left, right) {
7254
7256
  return left.latestRevision - right.latestRevision;
7255
7257
  });
7256
7258
  orderedObjects.forEach(function(object) {
@@ -7269,7 +7271,7 @@ function renderDraft(context, draft, frameRect) {
7269
7271
  function hitTestObject(point, objects, frameRect) {
7270
7272
  var now = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : new Date();
7271
7273
  var pixelPoint = toPixelPoint(point, frameRect);
7272
- var orderedObjects = _to_consumable_array$d(objects).sort(function(left, right) {
7274
+ var orderedObjects = _to_consumable_array$e(objects).sort(function(left, right) {
7273
7275
  return right.latestRevision - left.latestRevision;
7274
7276
  });
7275
7277
  return orderedObjects.find(function(object) {
@@ -7498,10 +7500,10 @@ function getObjectBounds(object, frameRect) {
7498
7500
  return point.y;
7499
7501
  });
7500
7502
  return {
7501
- height: (_Math = Math).max.apply(_Math, _to_consumable_array$d(ys)) - (_Math1 = Math).min.apply(_Math1, _to_consumable_array$d(ys)),
7502
- width: (_Math2 = Math).max.apply(_Math2, _to_consumable_array$d(xs)) - (_Math3 = Math).min.apply(_Math3, _to_consumable_array$d(xs)),
7503
- x: (_Math4 = Math).min.apply(_Math4, _to_consumable_array$d(xs)),
7504
- y: (_Math5 = Math).min.apply(_Math5, _to_consumable_array$d(ys))
7503
+ height: (_Math = Math).max.apply(_Math, _to_consumable_array$e(ys)) - (_Math1 = Math).min.apply(_Math1, _to_consumable_array$e(ys)),
7504
+ width: (_Math2 = Math).max.apply(_Math2, _to_consumable_array$e(xs)) - (_Math3 = Math).min.apply(_Math3, _to_consumable_array$e(xs)),
7505
+ x: (_Math4 = Math).min.apply(_Math4, _to_consumable_array$e(xs)),
7506
+ y: (_Math5 = Math).min.apply(_Math5, _to_consumable_array$e(ys))
7505
7507
  };
7506
7508
  }
7507
7509
  var startPoint = toPixelPoint(object.payload.start, frameRect);
@@ -7554,7 +7556,7 @@ function _array_like_to_array$z(arr, len) {
7554
7556
  function _array_with_holes$w(arr) {
7555
7557
  if (Array.isArray(arr)) return arr;
7556
7558
  }
7557
- function _array_without_holes$c(arr) {
7559
+ function _array_without_holes$d(arr) {
7558
7560
  if (Array.isArray(arr)) return _array_like_to_array$z(arr);
7559
7561
  }
7560
7562
  function _define_property$n(obj, key, value) {
@@ -7570,7 +7572,7 @@ function _define_property$n(obj, key, value) {
7570
7572
  }
7571
7573
  return obj;
7572
7574
  }
7573
- function _iterable_to_array$c(iter) {
7575
+ function _iterable_to_array$d(iter) {
7574
7576
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
7575
7577
  }
7576
7578
  function _iterable_to_array_limit$w(arr, i) {
@@ -7600,7 +7602,7 @@ function _iterable_to_array_limit$w(arr, i) {
7600
7602
  function _non_iterable_rest$w() {
7601
7603
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
7602
7604
  }
7603
- function _non_iterable_spread$c() {
7605
+ function _non_iterable_spread$d() {
7604
7606
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
7605
7607
  }
7606
7608
  function _object_spread$k(target) {
@@ -7640,8 +7642,8 @@ function _object_spread_props$i(target, source) {
7640
7642
  function _sliced_to_array$w(arr, i) {
7641
7643
  return _array_with_holes$w(arr) || _iterable_to_array_limit$w(arr, i) || _unsupported_iterable_to_array$z(arr, i) || _non_iterable_rest$w();
7642
7644
  }
7643
- function _to_consumable_array$c(arr) {
7644
- return _array_without_holes$c(arr) || _iterable_to_array$c(arr) || _unsupported_iterable_to_array$z(arr) || _non_iterable_spread$c();
7645
+ function _to_consumable_array$d(arr) {
7646
+ return _array_without_holes$d(arr) || _iterable_to_array$d(arr) || _unsupported_iterable_to_array$z(arr) || _non_iterable_spread$d();
7645
7647
  }
7646
7648
  function _type_of$9(obj) {
7647
7649
  "@swc/helpers - typeof";
@@ -7930,7 +7932,7 @@ function applyOperationToScene(state, operation, revision, optimisticRestoreObje
7930
7932
  }
7931
7933
  }
7932
7934
  function sortRecoveredObjects(state) {
7933
- state.recoveredObjects = new Map(_to_consumable_array$c(state.recoveredObjects.entries()).sort(function(param, param1) {
7935
+ state.recoveredObjects = new Map(_to_consumable_array$d(state.recoveredObjects.entries()).sort(function(param, param1) {
7934
7936
  var _param = _sliced_to_array$w(param, 2), left = _param[1], _param1 = _sliced_to_array$w(param1, 2), right = _param1[1];
7935
7937
  return left.latestRevision === right.latestRevision ? left.objectId.localeCompare(right.objectId) : left.latestRevision - right.latestRevision;
7936
7938
  }));
@@ -7966,7 +7968,7 @@ function getOptimisticTail(state, operationId) {
7966
7968
  function cloneState(state) {
7967
7969
  return _object_spread_props$i(_object_spread$k({}, state), {
7968
7970
  appliedOperationIds: new Set(state.appliedOperationIds),
7969
- optimisticOperationIds: _to_consumable_array$c(state.optimisticOperationIds),
7971
+ optimisticOperationIds: _to_consumable_array$d(state.optimisticOperationIds),
7970
7972
  optimisticOperations: new Map(state.optimisticOperations),
7971
7973
  recoveredObjects: new Map(state.recoveredObjects)
7972
7974
  });
@@ -8710,7 +8712,7 @@ function _array_like_to_array$y(arr, len) {
8710
8712
  function _array_with_holes$v(arr) {
8711
8713
  if (Array.isArray(arr)) return arr;
8712
8714
  }
8713
- function _array_without_holes$b(arr) {
8715
+ function _array_without_holes$c(arr) {
8714
8716
  if (Array.isArray(arr)) return _array_like_to_array$y(arr);
8715
8717
  }
8716
8718
  function _define_property$l(obj, key, value) {
@@ -8726,7 +8728,7 @@ function _define_property$l(obj, key, value) {
8726
8728
  }
8727
8729
  return obj;
8728
8730
  }
8729
- function _iterable_to_array$b(iter) {
8731
+ function _iterable_to_array$c(iter) {
8730
8732
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
8731
8733
  }
8732
8734
  function _iterable_to_array_limit$v(arr, i) {
@@ -8756,7 +8758,7 @@ function _iterable_to_array_limit$v(arr, i) {
8756
8758
  function _non_iterable_rest$v() {
8757
8759
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
8758
8760
  }
8759
- function _non_iterable_spread$b() {
8761
+ function _non_iterable_spread$c() {
8760
8762
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
8761
8763
  }
8762
8764
  function _object_spread$j(target) {
@@ -8796,8 +8798,8 @@ function _object_spread_props$h(target, source) {
8796
8798
  function _sliced_to_array$v(arr, i) {
8797
8799
  return _array_with_holes$v(arr) || _iterable_to_array_limit$v(arr, i) || _unsupported_iterable_to_array$y(arr, i) || _non_iterable_rest$v();
8798
8800
  }
8799
- function _to_consumable_array$b(arr) {
8800
- return _array_without_holes$b(arr) || _iterable_to_array$b(arr) || _unsupported_iterable_to_array$y(arr) || _non_iterable_spread$b();
8801
+ function _to_consumable_array$c(arr) {
8802
+ return _array_without_holes$c(arr) || _iterable_to_array$c(arr) || _unsupported_iterable_to_array$y(arr) || _non_iterable_spread$c();
8801
8803
  }
8802
8804
  function _unsupported_iterable_to_array$y(o, minLen) {
8803
8805
  if (!o) return;
@@ -9146,7 +9148,7 @@ function getPreferredPopoverSide(dock, position, toolbarSize, viewport) {
9146
9148
  position.top - (viewport.top + WHITEBOARD_VIEWPORT_PADDING)
9147
9149
  ]
9148
9150
  ];
9149
- return _to_consumable_array$b(spaces).sort(function(left, right) {
9151
+ return _to_consumable_array$c(spaces).sort(function(left, right) {
9150
9152
  return right[1] - left[1];
9151
9153
  })[0][0];
9152
9154
  }
@@ -9434,10 +9436,14 @@ function WhiteboardToolbar(param) {
9434
9436
  useEffect(function() {
9435
9437
  if (!toolbarOpen || !activePopover) return;
9436
9438
  var handlePointerDown = function(event) {
9437
- var target = event.target;
9438
9439
  var activePopoverRef = activePopover === 'draw' ? drawPopoverRef.current : colorPopoverRef.current;
9439
9440
  var activeTriggerRef = activePopover === 'draw' ? drawButtonRef.current : colorButtonRef.current;
9440
- if ((activePopoverRef === null || activePopoverRef === void 0 ? void 0 : activePopoverRef.contains(target)) || (activeTriggerRef === null || activeTriggerRef === void 0 ? void 0 : activeTriggerRef.contains(target))) return;
9441
+ var eventPath = event.composedPath();
9442
+ var target = event.target;
9443
+ var isInside = function(element) {
9444
+ return Boolean(element && (eventPath.includes(element) || target && element.contains(target)));
9445
+ };
9446
+ if (isInside(activePopoverRef) || isInside(activeTriggerRef)) return;
9441
9447
  closeActivePopover();
9442
9448
  };
9443
9449
  document.addEventListener('pointerdown', handlePointerDown);
@@ -9962,7 +9968,7 @@ function _array_like_to_array$v(arr, len) {
9962
9968
  function _array_with_holes$s(arr) {
9963
9969
  if (Array.isArray(arr)) return arr;
9964
9970
  }
9965
- function _array_without_holes$a(arr) {
9971
+ function _array_without_holes$b(arr) {
9966
9972
  if (Array.isArray(arr)) return _array_like_to_array$v(arr);
9967
9973
  }
9968
9974
  function asyncGeneratorStep$n(gen, resolve, reject, _next, _throw, key, arg) {
@@ -10007,7 +10013,7 @@ function _define_property$j(obj, key, value) {
10007
10013
  }
10008
10014
  return obj;
10009
10015
  }
10010
- function _iterable_to_array$a(iter) {
10016
+ function _iterable_to_array$b(iter) {
10011
10017
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
10012
10018
  }
10013
10019
  function _iterable_to_array_limit$s(arr, i) {
@@ -10037,7 +10043,7 @@ function _iterable_to_array_limit$s(arr, i) {
10037
10043
  function _non_iterable_rest$s() {
10038
10044
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10039
10045
  }
10040
- function _non_iterable_spread$a() {
10046
+ function _non_iterable_spread$b() {
10041
10047
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10042
10048
  }
10043
10049
  function _object_spread$h(target) {
@@ -10113,8 +10119,8 @@ function _object_without_properties_loose$5(source, excluded) {
10113
10119
  function _sliced_to_array$s(arr, i) {
10114
10120
  return _array_with_holes$s(arr) || _iterable_to_array_limit$s(arr, i) || _unsupported_iterable_to_array$v(arr, i) || _non_iterable_rest$s();
10115
10121
  }
10116
- function _to_consumable_array$a(arr) {
10117
- return _array_without_holes$a(arr) || _iterable_to_array$a(arr) || _unsupported_iterable_to_array$v(arr) || _non_iterable_spread$a();
10122
+ function _to_consumable_array$b(arr) {
10123
+ return _array_without_holes$b(arr) || _iterable_to_array$b(arr) || _unsupported_iterable_to_array$v(arr) || _non_iterable_spread$b();
10118
10124
  }
10119
10125
  function _type_of$8(obj) {
10120
10126
  "@swc/helpers - typeof";
@@ -10270,7 +10276,7 @@ function WhiteboardCanvas(param) {
10270
10276
  var isSubmitBusy = submitState === 'submitting';
10271
10277
  var interactionEnabled = hasWritePermission && runtimeState === 'ready' && toolbarOpen;
10272
10278
  var sceneObjects = useMemo(function() {
10273
- return _to_consumable_array$a(sceneState.recoveredObjects.values()).map(function(object) {
10279
+ return _to_consumable_array$b(sceneState.recoveredObjects.values()).map(function(object) {
10274
10280
  return applyLocalMarkerExpiry(object, localMarkerExpiryByObjectIdRef.current.get(object.objectId));
10275
10281
  });
10276
10282
  }, [
@@ -10779,7 +10785,7 @@ function freezeDraftObject(object) {
10779
10785
  if (object.objectType === 'annotation.stroke') {
10780
10786
  return _object_spread_props$f(_object_spread$h({}, object), {
10781
10787
  payload: _object_spread_props$f(_object_spread$h({}, object.payload), {
10782
- points: _to_consumable_array$a(object.payload.points)
10788
+ points: _to_consumable_array$b(object.payload.points)
10783
10789
  })
10784
10790
  });
10785
10791
  }
@@ -10863,7 +10869,7 @@ function getNearestMarkerExpiry(objects) {
10863
10869
  expiry
10864
10870
  ] : [];
10865
10871
  });
10866
- return expiries.length ? (_Math = Math).min.apply(_Math, _to_consumable_array$a(expiries)) : undefined;
10872
+ return expiries.length ? (_Math = Math).min.apply(_Math, _to_consumable_array$b(expiries)) : undefined;
10867
10873
  }
10868
10874
  function getNormalizedPoint(event, frameRect) {
10869
10875
  var currentFrameRect = getPointerFrameRect(event, frameRect);
@@ -11142,7 +11148,7 @@ function _array_like_to_array$t(arr, len) {
11142
11148
  function _array_with_holes$q(arr) {
11143
11149
  if (Array.isArray(arr)) return arr;
11144
11150
  }
11145
- function _array_without_holes$9(arr) {
11151
+ function _array_without_holes$a(arr) {
11146
11152
  if (Array.isArray(arr)) return _array_like_to_array$t(arr);
11147
11153
  }
11148
11154
  function asyncGeneratorStep$m(gen, resolve, reject, _next, _throw, key, arg) {
@@ -11187,7 +11193,7 @@ function _define_property$i(obj, key, value) {
11187
11193
  }
11188
11194
  return obj;
11189
11195
  }
11190
- function _iterable_to_array$9(iter) {
11196
+ function _iterable_to_array$a(iter) {
11191
11197
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
11192
11198
  }
11193
11199
  function _iterable_to_array_limit$q(arr, i) {
@@ -11217,7 +11223,7 @@ function _iterable_to_array_limit$q(arr, i) {
11217
11223
  function _non_iterable_rest$q() {
11218
11224
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
11219
11225
  }
11220
- function _non_iterable_spread$9() {
11226
+ function _non_iterable_spread$a() {
11221
11227
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
11222
11228
  }
11223
11229
  function _object_spread$g(target) {
@@ -11257,8 +11263,8 @@ function _object_spread_props$e(target, source) {
11257
11263
  function _sliced_to_array$q(arr, i) {
11258
11264
  return _array_with_holes$q(arr) || _iterable_to_array_limit$q(arr, i) || _unsupported_iterable_to_array$t(arr, i) || _non_iterable_rest$q();
11259
11265
  }
11260
- function _to_consumable_array$9(arr) {
11261
- return _array_without_holes$9(arr) || _iterable_to_array$9(arr) || _unsupported_iterable_to_array$t(arr) || _non_iterable_spread$9();
11266
+ function _to_consumable_array$a(arr) {
11267
+ return _array_without_holes$a(arr) || _iterable_to_array$a(arr) || _unsupported_iterable_to_array$t(arr) || _non_iterable_spread$a();
11262
11268
  }
11263
11269
  function _type_of$7(obj) {
11264
11270
  "@swc/helpers - typeof";
@@ -11504,7 +11510,7 @@ function createWhiteboardRuntime() {
11504
11510
  bootstrap: bootstrap,
11505
11511
  deltas: [],
11506
11512
  mode: 'replace',
11507
- settledOperationIds: _to_consumable_array$9(settledOperationIds)
11513
+ settledOperationIds: _to_consumable_array$a(settledOperationIds)
11508
11514
  };
11509
11515
  boardId = bootstrap.boardId;
11510
11516
  hasCanonicalScene = true;
@@ -11698,7 +11704,7 @@ function createWhiteboardRuntime() {
11698
11704
  confirmRevision(delta.toRevision);
11699
11705
  _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
11700
11706
  try {
11701
- for(_iterator1 = _to_consumable_array$9(bufferedCommittedEvents.keys())[Symbol.iterator](); !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
11707
+ for(_iterator1 = _to_consumable_array$a(bufferedCommittedEvents.keys())[Symbol.iterator](); !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
11702
11708
  revision = _step1.value;
11703
11709
  if (revision <= appliedRevision) bufferedCommittedEvents.delete(revision);
11704
11710
  }
@@ -11745,7 +11751,7 @@ function createWhiteboardRuntime() {
11745
11751
  ];
11746
11752
  _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
11747
11753
  try {
11748
- for(_iterator = _to_consumable_array$9(bufferedCommittedEvents.keys())[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
11754
+ for(_iterator = _to_consumable_array$a(bufferedCommittedEvents.keys())[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
11749
11755
  revision = _step.value;
11750
11756
  if (revision <= appliedRevision) bufferedCommittedEvents.delete(revision);
11751
11757
  }
@@ -11768,7 +11774,7 @@ function createWhiteboardRuntime() {
11768
11774
  3,
11769
11775
  2
11770
11776
  ];
11771
- nextRevision = (_Math = Math).min.apply(_Math, _to_consumable_array$9(bufferedCommittedEvents.keys()));
11777
+ nextRevision = (_Math = Math).min.apply(_Math, _to_consumable_array$a(bufferedCommittedEvents.keys()));
11772
11778
  if (!Number.isFinite(nextRevision)) return [
11773
11779
  2,
11774
11780
  true
@@ -12564,7 +12570,7 @@ function foldOperationsIntoRecoverySnapshot(bootstrap, update) {
12564
12570
  return _object_spread_props$e(_object_spread$g({}, bootstrap), {
12565
12571
  boardId: update.boardId,
12566
12572
  headRevision: update.toRevision,
12567
- objects: sortRecoveryObjects(_to_consumable_array$9(objects.values()))
12573
+ objects: sortRecoveryObjects(_to_consumable_array$a(objects.values()))
12568
12574
  });
12569
12575
  }
12570
12576
  function resolveRealtimeEndpoint(endpoint) {
@@ -12789,7 +12795,7 @@ function setSocketToken(socket, token) {
12789
12795
  socket.auth.token = token;
12790
12796
  }
12791
12797
  function sortRecoveryObjects(objects) {
12792
- return _to_consumable_array$9(objects).sort(function(left, right) {
12798
+ return _to_consumable_array$a(objects).sort(function(left, right) {
12793
12799
  return left.latestRevision === right.latestRevision ? left.objectId.localeCompare(right.objectId) : left.latestRevision - right.latestRevision;
12794
12800
  });
12795
12801
  }
@@ -12837,7 +12843,7 @@ function _array_like_to_array$s(arr, len) {
12837
12843
  function _array_with_holes$p(arr) {
12838
12844
  if (Array.isArray(arr)) return arr;
12839
12845
  }
12840
- function _array_without_holes$8(arr) {
12846
+ function _array_without_holes$9(arr) {
12841
12847
  if (Array.isArray(arr)) return _array_like_to_array$s(arr);
12842
12848
  }
12843
12849
  function asyncGeneratorStep$l(gen, resolve, reject, _next, _throw, key, arg) {
@@ -12882,7 +12888,7 @@ function _define_property$h(obj, key, value) {
12882
12888
  }
12883
12889
  return obj;
12884
12890
  }
12885
- function _iterable_to_array$8(iter) {
12891
+ function _iterable_to_array$9(iter) {
12886
12892
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
12887
12893
  }
12888
12894
  function _iterable_to_array_limit$p(arr, i) {
@@ -12912,7 +12918,7 @@ function _iterable_to_array_limit$p(arr, i) {
12912
12918
  function _non_iterable_rest$p() {
12913
12919
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12914
12920
  }
12915
- function _non_iterable_spread$8() {
12921
+ function _non_iterable_spread$9() {
12916
12922
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12917
12923
  }
12918
12924
  function _object_spread$f(target) {
@@ -12952,8 +12958,8 @@ function _object_spread_props$d(target, source) {
12952
12958
  function _sliced_to_array$p(arr, i) {
12953
12959
  return _array_with_holes$p(arr) || _iterable_to_array_limit$p(arr, i) || _unsupported_iterable_to_array$s(arr, i) || _non_iterable_rest$p();
12954
12960
  }
12955
- function _to_consumable_array$8(arr) {
12956
- return _array_without_holes$8(arr) || _iterable_to_array$8(arr) || _unsupported_iterable_to_array$s(arr) || _non_iterable_spread$8();
12961
+ function _to_consumable_array$9(arr) {
12962
+ return _array_without_holes$9(arr) || _iterable_to_array$9(arr) || _unsupported_iterable_to_array$s(arr) || _non_iterable_spread$9();
12957
12963
  }
12958
12964
  function _unsupported_iterable_to_array$s(o, minLen) {
12959
12965
  if (!o) return;
@@ -13106,7 +13112,7 @@ function WhiteboardProvider(param) {
13106
13112
  var runtimeCommittedEventChange = useCallback(function(nextEvent) {
13107
13113
  setCommittedEvent(nextEvent);
13108
13114
  setCommittedEvents(function(events) {
13109
- return _to_consumable_array$8(events).concat([
13115
+ return _to_consumable_array$9(events).concat([
13110
13116
  nextEvent
13111
13117
  ]);
13112
13118
  });
@@ -13465,7 +13471,7 @@ function _array_like_to_array$r(arr, len) {
13465
13471
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
13466
13472
  return arr2;
13467
13473
  }
13468
- function _array_without_holes$7(arr) {
13474
+ function _array_without_holes$8(arr) {
13469
13475
  if (Array.isArray(arr)) return _array_like_to_array$r(arr);
13470
13476
  }
13471
13477
  function _define_property$g(obj, key, value) {
@@ -13481,10 +13487,10 @@ function _define_property$g(obj, key, value) {
13481
13487
  }
13482
13488
  return obj;
13483
13489
  }
13484
- function _iterable_to_array$7(iter) {
13490
+ function _iterable_to_array$8(iter) {
13485
13491
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
13486
13492
  }
13487
- function _non_iterable_spread$7() {
13493
+ function _non_iterable_spread$8() {
13488
13494
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
13489
13495
  }
13490
13496
  function _object_spread$e(target) {
@@ -13521,8 +13527,8 @@ function _object_spread_props$c(target, source) {
13521
13527
  }
13522
13528
  return target;
13523
13529
  }
13524
- function _to_consumable_array$7(arr) {
13525
- return _array_without_holes$7(arr) || _iterable_to_array$7(arr) || _unsupported_iterable_to_array$r(arr) || _non_iterable_spread$7();
13530
+ function _to_consumable_array$8(arr) {
13531
+ return _array_without_holes$8(arr) || _iterable_to_array$8(arr) || _unsupported_iterable_to_array$r(arr) || _non_iterable_spread$8();
13526
13532
  }
13527
13533
  function _unsupported_iterable_to_array$r(o, minLen) {
13528
13534
  if (!o) return;
@@ -13548,7 +13554,7 @@ function toChatProviderProps(integration) {
13548
13554
  refreshTokenExpiresAt: integration.refreshTokenExpiresAt,
13549
13555
  rooms: integration.rooms.map(function(room) {
13550
13556
  return _object_spread_props$c(_object_spread$e({}, room), {
13551
- permissions: _to_consumable_array$7(room.permissions)
13557
+ permissions: _to_consumable_array$8(room.permissions)
13552
13558
  });
13553
13559
  }),
13554
13560
  token: integration.token,
@@ -13586,7 +13592,7 @@ function _array_like_to_array$q(arr, len) {
13586
13592
  function _array_with_holes$o(arr) {
13587
13593
  if (Array.isArray(arr)) return arr;
13588
13594
  }
13589
- function _array_without_holes$6(arr) {
13595
+ function _array_without_holes$7(arr) {
13590
13596
  if (Array.isArray(arr)) return _array_like_to_array$q(arr);
13591
13597
  }
13592
13598
  function _assert_this_initialized$1(self) {
@@ -13692,7 +13698,7 @@ function _instanceof$3(left, right) {
13692
13698
  function _is_native_function$1(fn) {
13693
13699
  return Function.toString.call(fn).indexOf("[native code]") !== -1;
13694
13700
  }
13695
- function _iterable_to_array$6(iter) {
13701
+ function _iterable_to_array$7(iter) {
13696
13702
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
13697
13703
  }
13698
13704
  function _iterable_to_array_limit$o(arr, i) {
@@ -13722,7 +13728,7 @@ function _iterable_to_array_limit$o(arr, i) {
13722
13728
  function _non_iterable_rest$o() {
13723
13729
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
13724
13730
  }
13725
- function _non_iterable_spread$6() {
13731
+ function _non_iterable_spread$7() {
13726
13732
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
13727
13733
  }
13728
13734
  function _object_spread$d(target) {
@@ -13775,8 +13781,8 @@ function _set_prototype_of$1(o, p) {
13775
13781
  function _sliced_to_array$o(arr, i) {
13776
13782
  return _array_with_holes$o(arr) || _iterable_to_array_limit$o(arr, i) || _unsupported_iterable_to_array$q(arr, i) || _non_iterable_rest$o();
13777
13783
  }
13778
- function _to_consumable_array$6(arr) {
13779
- return _array_without_holes$6(arr) || _iterable_to_array$6(arr) || _unsupported_iterable_to_array$q(arr) || _non_iterable_spread$6();
13784
+ function _to_consumable_array$7(arr) {
13785
+ return _array_without_holes$7(arr) || _iterable_to_array$7(arr) || _unsupported_iterable_to_array$q(arr) || _non_iterable_spread$7();
13780
13786
  }
13781
13787
  function _type_of$6(obj) {
13782
13788
  "@swc/helpers - typeof";
@@ -14067,6 +14073,7 @@ var activeDevicesStateOf = function(room) {
14067
14073
  };
14068
14074
  function RoomPlatformProvider(param) {
14069
14075
  var apiBaseUrl = param.apiBaseUrl, children = param.children, launchToken = param.launchToken, onError = param.onError, onLifecycleEvent = param.onLifecycleEvent, onLaunchTicketRequired = param.onLaunchTicketRequired;
14076
+ var _ref;
14070
14077
  var _useState = _sliced_to_array$o(useState(), 2), access = _useState[0], setAccess = _useState[1];
14071
14078
  var _useState1 = _sliced_to_array$o(useState(emptyActiveDevices), 2), activeDevices = _useState1[0], setActiveDevices = _useState1[1];
14072
14079
  var _useState2 = _sliced_to_array$o(useState(), 2), actionError = _useState2[0], setActionError = _useState2[1];
@@ -15047,12 +15054,12 @@ function RoomPlatformProvider(param) {
15047
15054
  throw actionFailure;
15048
15055
  }).finally(function() {
15049
15056
  pendingActionsRef.current.delete(pendingKey);
15050
- if (isMountedRef.current) setPendingActionKeys(_to_consumable_array$6(pendingActionsRef.current.keys()));
15057
+ if (isMountedRef.current) setPendingActionKeys(_to_consumable_array$7(pendingActionsRef.current.keys()));
15051
15058
  });
15052
15059
  pendingActionsRef.current.set(pendingKey, action);
15053
15060
  if (isMountedRef.current) {
15054
15061
  setActionError(undefined);
15055
- setPendingActionKeys(_to_consumable_array$6(pendingActionsRef.current.keys()));
15062
+ setPendingActionKeys(_to_consumable_array$7(pendingActionsRef.current.keys()));
15056
15063
  }
15057
15064
  return action;
15058
15065
  }, [
@@ -15163,10 +15170,10 @@ function RoomPlatformProvider(param) {
15163
15170
  throw mediaError;
15164
15171
  }).finally(function() {
15165
15172
  pendingLocalMediaRef.current.delete(kind);
15166
- if (isMountedRef.current) setPendingLocalMediaKinds(_to_consumable_array$6(pendingLocalMediaRef.current.keys()));
15173
+ if (isMountedRef.current) setPendingLocalMediaKinds(_to_consumable_array$7(pendingLocalMediaRef.current.keys()));
15167
15174
  });
15168
15175
  pendingLocalMediaRef.current.set(kind, operation);
15169
- if (isMountedRef.current) setPendingLocalMediaKinds(_to_consumable_array$6(pendingLocalMediaRef.current.keys()));
15176
+ if (isMountedRef.current) setPendingLocalMediaKinds(_to_consumable_array$7(pendingLocalMediaRef.current.keys()));
15170
15177
  return operation;
15171
15178
  }, [
15172
15179
  clearMediaError,
@@ -15180,7 +15187,7 @@ function RoomPlatformProvider(param) {
15180
15187
  var localParticipantMonitorCamera = (controlState === null || controlState === void 0 ? void 0 : controlState.monitorActive) === true && roleFromMetadata(room === null || room === void 0 ? void 0 : room.localParticipant.metadata) === 'student';
15181
15188
  var canPublishAudioNow = !privateRoomActiveForActor && (hasCapability(localMediaCapabilities.microphone) || localParticipantIsActiveSpeaker);
15182
15189
  var canPublishCameraNow = !privateRoomActiveForActor && (hasCapability(localMediaCapabilities.camera) || localParticipantIsActiveSpeaker || localParticipantMonitorCamera);
15183
- var canPublishScreenShareNow = hasCapability(localMediaCapabilities.screenShare);
15190
+ var canPublishScreenShareNow = hasCapability(localMediaCapabilities.screenShare) && ((_ref = controlState === null || controlState === void 0 ? void 0 : controlState.mode) !== null && _ref !== void 0 ? _ref : 'live') === 'live';
15184
15191
  useEffect(function() {
15185
15192
  if (!room || !privateRoomForActor || (privateRoom === null || privateRoom === void 0 ? void 0 : privateRoom.status) !== 'ringing') return;
15186
15193
  var participant = room.localParticipant;
@@ -16019,10 +16026,10 @@ function _array_like_to_array$o(arr, len) {
16019
16026
  function _array_with_holes$m(arr) {
16020
16027
  if (Array.isArray(arr)) return arr;
16021
16028
  }
16022
- function _array_without_holes$5(arr) {
16029
+ function _array_without_holes$6(arr) {
16023
16030
  if (Array.isArray(arr)) return _array_like_to_array$o(arr);
16024
16031
  }
16025
- function _iterable_to_array$5(iter) {
16032
+ function _iterable_to_array$6(iter) {
16026
16033
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
16027
16034
  }
16028
16035
  function _iterable_to_array_limit$m(arr, i) {
@@ -16052,14 +16059,14 @@ function _iterable_to_array_limit$m(arr, i) {
16052
16059
  function _non_iterable_rest$m() {
16053
16060
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
16054
16061
  }
16055
- function _non_iterable_spread$5() {
16062
+ function _non_iterable_spread$6() {
16056
16063
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
16057
16064
  }
16058
16065
  function _sliced_to_array$m(arr, i) {
16059
16066
  return _array_with_holes$m(arr) || _iterable_to_array_limit$m(arr, i) || _unsupported_iterable_to_array$o(arr, i) || _non_iterable_rest$m();
16060
16067
  }
16061
- function _to_consumable_array$5(arr) {
16062
- return _array_without_holes$5(arr) || _iterable_to_array$5(arr) || _unsupported_iterable_to_array$o(arr) || _non_iterable_spread$5();
16068
+ function _to_consumable_array$6(arr) {
16069
+ return _array_without_holes$6(arr) || _iterable_to_array$6(arr) || _unsupported_iterable_to_array$o(arr) || _non_iterable_spread$6();
16063
16070
  }
16064
16071
  function _type_of$5(obj) {
16065
16072
  "@swc/helpers - typeof";
@@ -16113,7 +16120,7 @@ var snapshotPresence = function(room, controlState) {
16113
16120
  }));
16114
16121
  return [
16115
16122
  snapshotParticipant(room.localParticipant, true, controlState === null || controlState === void 0 ? void 0 : controlState.activeSpeakerParticipantIdentity, speakingParticipantIdentities)
16116
- ].concat(_to_consumable_array$5(Array.from(room.remoteParticipants.values()).map(function(participant) {
16123
+ ].concat(_to_consumable_array$6(Array.from(room.remoteParticipants.values()).map(function(participant) {
16117
16124
  return snapshotParticipant(participant, false, controlState === null || controlState === void 0 ? void 0 : controlState.activeSpeakerParticipantIdentity, speakingParticipantIdentities);
16118
16125
  })));
16119
16126
  };
@@ -19027,7 +19034,7 @@ function _array_like_to_array$g(arr, len) {
19027
19034
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
19028
19035
  return arr2;
19029
19036
  }
19030
- function _array_without_holes$4(arr) {
19037
+ function _array_without_holes$5(arr) {
19031
19038
  if (Array.isArray(arr)) return _array_like_to_array$g(arr);
19032
19039
  }
19033
19040
  function asyncGeneratorStep$f(gen, resolve, reject, _next, _throw, key, arg) {
@@ -19079,10 +19086,10 @@ function _instanceof$1(left, right) {
19079
19086
  return left instanceof right;
19080
19087
  }
19081
19088
  }
19082
- function _iterable_to_array$4(iter) {
19089
+ function _iterable_to_array$5(iter) {
19083
19090
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
19084
19091
  }
19085
- function _non_iterable_spread$4() {
19092
+ function _non_iterable_spread$5() {
19086
19093
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
19087
19094
  }
19088
19095
  function _object_spread$8(target) {
@@ -19119,8 +19126,8 @@ function _object_spread_props$7(target, source) {
19119
19126
  }
19120
19127
  return target;
19121
19128
  }
19122
- function _to_consumable_array$4(arr) {
19123
- return _array_without_holes$4(arr) || _iterable_to_array$4(arr) || _unsupported_iterable_to_array$g(arr) || _non_iterable_spread$4();
19129
+ function _to_consumable_array$5(arr) {
19130
+ return _array_without_holes$5(arr) || _iterable_to_array$5(arr) || _unsupported_iterable_to_array$g(arr) || _non_iterable_spread$5();
19124
19131
  }
19125
19132
  function _type_of$4(obj) {
19126
19133
  "@swc/helpers - typeof";
@@ -19769,7 +19776,7 @@ var appendRoomPlatformUploadAssetId = function(assetId) {
19769
19776
  ];
19770
19777
  }
19771
19778
  nextGallery = saveUploadGallery({
19772
- assetIds: _to_consumable_array$4(galleryAssetIds).concat([
19779
+ assetIds: _to_consumable_array$5(galleryAssetIds).concat([
19773
19780
  assetId
19774
19781
  ]),
19775
19782
  updatedAt: nowIso()
@@ -21074,7 +21081,7 @@ function _array_like_to_array$e(arr, len) {
21074
21081
  function _array_with_holes$d(arr) {
21075
21082
  if (Array.isArray(arr)) return arr;
21076
21083
  }
21077
- function _array_without_holes$3(arr) {
21084
+ function _array_without_holes$4(arr) {
21078
21085
  if (Array.isArray(arr)) return _array_like_to_array$e(arr);
21079
21086
  }
21080
21087
  function asyncGeneratorStep$d(gen, resolve, reject, _next, _throw, key, arg) {
@@ -21106,7 +21113,7 @@ function _async_to_generator$d(fn) {
21106
21113
  });
21107
21114
  };
21108
21115
  }
21109
- function _iterable_to_array$3(iter) {
21116
+ function _iterable_to_array$4(iter) {
21110
21117
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
21111
21118
  }
21112
21119
  function _iterable_to_array_limit$d(arr, i) {
@@ -21136,14 +21143,14 @@ function _iterable_to_array_limit$d(arr, i) {
21136
21143
  function _non_iterable_rest$d() {
21137
21144
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
21138
21145
  }
21139
- function _non_iterable_spread$3() {
21146
+ function _non_iterable_spread$4() {
21140
21147
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
21141
21148
  }
21142
21149
  function _sliced_to_array$d(arr, i) {
21143
21150
  return _array_with_holes$d(arr) || _iterable_to_array_limit$d(arr, i) || _unsupported_iterable_to_array$e(arr, i) || _non_iterable_rest$d();
21144
21151
  }
21145
- function _to_consumable_array$3(arr) {
21146
- return _array_without_holes$3(arr) || _iterable_to_array$3(arr) || _unsupported_iterable_to_array$e(arr) || _non_iterable_spread$3();
21152
+ function _to_consumable_array$4(arr) {
21153
+ return _array_without_holes$4(arr) || _iterable_to_array$4(arr) || _unsupported_iterable_to_array$e(arr) || _non_iterable_spread$4();
21147
21154
  }
21148
21155
  function _unsupported_iterable_to_array$e(o, minLen) {
21149
21156
  if (!o) return;
@@ -21258,7 +21265,7 @@ var scopeOf = function(connection) {
21258
21265
  connection.roomName,
21259
21266
  connection.wsUrl,
21260
21267
  String(connection.publishEnabled)
21261
- ].concat(_to_consumable_array$3(connection.permissions)).join('|');
21268
+ ].concat(_to_consumable_array$4(connection.permissions)).join('|');
21262
21269
  };
21263
21270
  function RoomPlatformPrivateRoomCameraBackground() {
21264
21271
  var _cameraTracks_find_publication, _cameraTracks_find;
@@ -23398,7 +23405,7 @@ function _array_like_to_array$a(arr, len) {
23398
23405
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
23399
23406
  return arr2;
23400
23407
  }
23401
- function _array_without_holes$2(arr) {
23408
+ function _array_without_holes$3(arr) {
23402
23409
  if (Array.isArray(arr)) return _array_like_to_array$a(arr);
23403
23410
  }
23404
23411
  function _class_call_check$1(instance, Constructor) {
@@ -23432,14 +23439,14 @@ function _define_property$4(obj, key, value) {
23432
23439
  }
23433
23440
  return obj;
23434
23441
  }
23435
- function _iterable_to_array$2(iter) {
23442
+ function _iterable_to_array$3(iter) {
23436
23443
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
23437
23444
  }
23438
- function _non_iterable_spread$2() {
23445
+ function _non_iterable_spread$3() {
23439
23446
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
23440
23447
  }
23441
- function _to_consumable_array$2(arr) {
23442
- return _array_without_holes$2(arr) || _iterable_to_array$2(arr) || _unsupported_iterable_to_array$a(arr) || _non_iterable_spread$2();
23448
+ function _to_consumable_array$3(arr) {
23449
+ return _array_without_holes$3(arr) || _iterable_to_array$3(arr) || _unsupported_iterable_to_array$a(arr) || _non_iterable_spread$3();
23443
23450
  }
23444
23451
  function _unsupported_iterable_to_array$a(o, minLen) {
23445
23452
  if (!o) return;
@@ -23492,7 +23499,7 @@ var ChatClientState = /*#__PURE__*/ function() {
23492
23499
  {
23493
23500
  key: "getRooms",
23494
23501
  value: function getRooms() {
23495
- return _to_consumable_array$2(this.rooms.values());
23502
+ return _to_consumable_array$3(this.rooms.values());
23496
23503
  }
23497
23504
  },
23498
23505
  {
@@ -25036,7 +25043,7 @@ function _array_like_to_array$8(arr, len) {
25036
25043
  function _array_with_holes$8(arr) {
25037
25044
  if (Array.isArray(arr)) return arr;
25038
25045
  }
25039
- function _array_without_holes$1(arr) {
25046
+ function _array_without_holes$2(arr) {
25040
25047
  if (Array.isArray(arr)) return _array_like_to_array$8(arr);
25041
25048
  }
25042
25049
  function asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, key, arg) {
@@ -25075,7 +25082,7 @@ function _instanceof(left, right) {
25075
25082
  return left instanceof right;
25076
25083
  }
25077
25084
  }
25078
- function _iterable_to_array$1(iter) {
25085
+ function _iterable_to_array$2(iter) {
25079
25086
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
25080
25087
  }
25081
25088
  function _iterable_to_array_limit$8(arr, i) {
@@ -25105,14 +25112,14 @@ function _iterable_to_array_limit$8(arr, i) {
25105
25112
  function _non_iterable_rest$8() {
25106
25113
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
25107
25114
  }
25108
- function _non_iterable_spread$1() {
25115
+ function _non_iterable_spread$2() {
25109
25116
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
25110
25117
  }
25111
25118
  function _sliced_to_array$8(arr, i) {
25112
25119
  return _array_with_holes$8(arr) || _iterable_to_array_limit$8(arr, i) || _unsupported_iterable_to_array$8(arr, i) || _non_iterable_rest$8();
25113
25120
  }
25114
- function _to_consumable_array$1(arr) {
25115
- return _array_without_holes$1(arr) || _iterable_to_array$1(arr) || _unsupported_iterable_to_array$8(arr) || _non_iterable_spread$1();
25121
+ function _to_consumable_array$2(arr) {
25122
+ return _array_without_holes$2(arr) || _iterable_to_array$2(arr) || _unsupported_iterable_to_array$8(arr) || _non_iterable_spread$2();
25116
25123
  }
25117
25124
  function _unsupported_iterable_to_array$8(o, minLen) {
25118
25125
  if (!o) return;
@@ -25239,7 +25246,7 @@ function MessageList(param) {
25239
25246
  var _useState4 = _sliced_to_array$8(useState(true), 2), isAtLatest = _useState4[0], setIsAtLatest = _useState4[1];
25240
25247
  var _useState5 = _sliced_to_array$8(useState(false), 2), hasNewMessages = _useState5[0], setHasNewMessages = _useState5[1];
25241
25248
  var orderedMessages = useMemo(function() {
25242
- return _to_consumable_array$1(messages).sort(compareMessagesByCreatedAt);
25249
+ return _to_consumable_array$2(messages).sort(compareMessagesByCreatedAt);
25243
25250
  }, [
25244
25251
  messages
25245
25252
  ]);
@@ -25299,9 +25306,11 @@ function MessageList(param) {
25299
25306
  useEffect(function() {
25300
25307
  if (!openMenuMessageId) return undefined;
25301
25308
  var handlePointerDown = function(event) {
25302
- var _openMenuRef_current;
25303
25309
  var target = event.target;
25304
- if (_instanceof(target, Node) && ((_openMenuRef_current = openMenuRef.current) === null || _openMenuRef_current === void 0 ? void 0 : _openMenuRef_current.contains(target))) return;
25310
+ var openMenu = openMenuRef.current;
25311
+ if (openMenu && (event.composedPath().includes(openMenu) || _instanceof(target, Node) && openMenu.contains(target))) {
25312
+ return;
25313
+ }
25305
25314
  setOpenMenuMessageId(undefined);
25306
25315
  };
25307
25316
  var handleKeyDown = function(event) {
@@ -25596,7 +25605,7 @@ var findNextOwnActionDeadlineMs = function(param) {
25596
25605
  return deadline >= currentTimeMs;
25597
25606
  });
25598
25607
  if (!deadlines.length) return undefined;
25599
- return (_Math = Math).min.apply(_Math, _to_consumable_array$1(deadlines));
25608
+ return (_Math = Math).min.apply(_Math, _to_consumable_array$2(deadlines));
25600
25609
  };
25601
25610
  var groupMessages = function(messages) {
25602
25611
  return messages.reduce(function(groups, message) {
@@ -25637,7 +25646,7 @@ var hasNewMessageFromOtherSubject = function(messages, previousMessages, current
25637
25646
  var previousIds = new Set(previousMessages.map(function(message) {
25638
25647
  return message.id;
25639
25648
  }));
25640
- var previousNewestTime = (_Math = Math).max.apply(_Math, _to_consumable_array$1(previousMessages.map(function(message) {
25649
+ var previousNewestTime = (_Math = Math).max.apply(_Math, _to_consumable_array$2(previousMessages.map(function(message) {
25641
25650
  return new Date(message.createdAt).getTime();
25642
25651
  })).concat([
25643
25652
  Number.NEGATIVE_INFINITY
@@ -25989,7 +25998,7 @@ function _array_like_to_array$6(arr, len) {
25989
25998
  function _array_with_holes$6(arr) {
25990
25999
  if (Array.isArray(arr)) return arr;
25991
26000
  }
25992
- function _array_without_holes(arr) {
26001
+ function _array_without_holes$1(arr) {
25993
26002
  if (Array.isArray(arr)) return _array_like_to_array$6(arr);
25994
26003
  }
25995
26004
  function asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, key, arg) {
@@ -26034,7 +26043,7 @@ function _define_property$1(obj, key, value) {
26034
26043
  }
26035
26044
  return obj;
26036
26045
  }
26037
- function _iterable_to_array(iter) {
26046
+ function _iterable_to_array$1(iter) {
26038
26047
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
26039
26048
  }
26040
26049
  function _iterable_to_array_limit$6(arr, i) {
@@ -26064,7 +26073,7 @@ function _iterable_to_array_limit$6(arr, i) {
26064
26073
  function _non_iterable_rest$6() {
26065
26074
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
26066
26075
  }
26067
- function _non_iterable_spread() {
26076
+ function _non_iterable_spread$1() {
26068
26077
  throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
26069
26078
  }
26070
26079
  function _object_spread$1(target) {
@@ -26104,8 +26113,8 @@ function _object_spread_props$1(target, source) {
26104
26113
  function _sliced_to_array$6(arr, i) {
26105
26114
  return _array_with_holes$6(arr) || _iterable_to_array_limit$6(arr, i) || _unsupported_iterable_to_array$6(arr, i) || _non_iterable_rest$6();
26106
26115
  }
26107
- function _to_consumable_array(arr) {
26108
- return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array$6(arr) || _non_iterable_spread();
26116
+ function _to_consumable_array$1(arr) {
26117
+ return _array_without_holes$1(arr) || _iterable_to_array$1(arr) || _unsupported_iterable_to_array$6(arr) || _non_iterable_spread$1();
26109
26118
  }
26110
26119
  function _type_of(obj) {
26111
26120
  "@swc/helpers - typeof";
@@ -26619,7 +26628,7 @@ var upsertMessage = function(messages, message) {
26619
26628
  var index = messages.findIndex(function(candidate) {
26620
26629
  return candidate.id === message.id;
26621
26630
  });
26622
- if (index === -1) return _to_consumable_array(messages).concat([
26631
+ if (index === -1) return _to_consumable_array$1(messages).concat([
26623
26632
  message
26624
26633
  ]);
26625
26634
  return messages.map(function(candidate, candidateIndex) {
@@ -27920,6 +27929,9 @@ function _array_like_to_array(arr, len) {
27920
27929
  function _array_with_holes(arr) {
27921
27930
  if (Array.isArray(arr)) return arr;
27922
27931
  }
27932
+ function _array_without_holes(arr) {
27933
+ if (Array.isArray(arr)) return _array_like_to_array(arr);
27934
+ }
27923
27935
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
27924
27936
  try {
27925
27937
  var info = gen[key](arg);
@@ -27962,6 +27974,9 @@ function _define_property(obj, key, value) {
27962
27974
  }
27963
27975
  return obj;
27964
27976
  }
27977
+ function _iterable_to_array(iter) {
27978
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
27979
+ }
27965
27980
  function _iterable_to_array_limit(arr, i) {
27966
27981
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
27967
27982
  if (_i == null) return;
@@ -27989,6 +28004,9 @@ function _iterable_to_array_limit(arr, i) {
27989
28004
  function _non_iterable_rest() {
27990
28005
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
27991
28006
  }
28007
+ function _non_iterable_spread() {
28008
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
28009
+ }
27992
28010
  function _object_spread(target) {
27993
28011
  for(var i = 1; i < arguments.length; i++){
27994
28012
  var source = arguments[i] != null ? arguments[i] : {};
@@ -28062,6 +28080,9 @@ function _object_without_properties_loose(source, excluded) {
28062
28080
  function _sliced_to_array(arr, i) {
28063
28081
  return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
28064
28082
  }
28083
+ function _to_consumable_array(arr) {
28084
+ return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
28085
+ }
28065
28086
  function _unsupported_iterable_to_array(o, minLen) {
28066
28087
  if (!o) return;
28067
28088
  if (typeof o === "string") return _array_like_to_array(o, minLen);
@@ -28185,32 +28206,6 @@ var emptyStageModel = {
28185
28206
  },
28186
28207
  primary: undefined
28187
28208
  };
28188
- function RoomPlatformPracticeModeMediaPolicy(param) {
28189
- var isPracticeMode = param.isPracticeMode;
28190
- var _useRoomPlatform = useRoomPlatform(), localMedia = _useRoomPlatform.localMedia, setLocalMediaEnabled = _useRoomPlatform.setLocalMediaEnabled;
28191
- var previousIsPracticeModeRef = useRef(isPracticeMode);
28192
- var shouldStopScreenShareRef = useRef(false);
28193
- useEffect(function() {
28194
- if (!previousIsPracticeModeRef.current && isPracticeMode) {
28195
- shouldStopScreenShareRef.current = true;
28196
- }
28197
- previousIsPracticeModeRef.current = isPracticeMode;
28198
- if (!isPracticeMode) {
28199
- shouldStopScreenShareRef.current = false;
28200
- return;
28201
- }
28202
- if (!shouldStopScreenShareRef.current || !localMedia.screenShare) return;
28203
- shouldStopScreenShareRef.current = false;
28204
- void setLocalMediaEnabled('screenShare', false).catch(function() {
28205
- return undefined;
28206
- });
28207
- }, [
28208
- isPracticeMode,
28209
- localMedia.screenShare,
28210
- setLocalMediaEnabled
28211
- ]);
28212
- return null;
28213
- }
28214
28209
  function getShareSessionKey(trackSid) {
28215
28210
  return trackSid ? "livekit:".concat(trackSid) : undefined;
28216
28211
  }
@@ -28247,8 +28242,8 @@ function RoomPlatformWhiteboardShareLifecycle(param) {
28247
28242
  return null;
28248
28243
  }
28249
28244
  var RoomPlatformWorkspaceContent = function(param) {
28250
- var cameraBackground = param.cameraBackground, completionAction = param.completionAction, extensions = param.extensions; param.isPracticeMode; var onExit = param.onExit, sizing = param.sizing, stageModel = param.stageModel;
28251
- var _resolvedStageModel_cameraOverlay, _ref, _ref1;
28245
+ var cameraBackground = param.cameraBackground, completionAction = param.completionAction, extensions = param.extensions, modeConfig = param.modeConfig, onExit = param.onExit, sizing = param.sizing, stageModel = param.stageModel;
28246
+ var _resolvedStageModel_cameraOverlay, _ref, _ref1, _ref2, _ref3, _ref4;
28252
28247
  var _resolvedStageModel_primary, _resolvedStageModel_primary1, _extensions_sidebarTabs;
28253
28248
  var _useRoomPlatform = useRoomPlatform(), access = _useRoomPlatform.access, controlState = _useRoomPlatform.controlState, error = _useRoomPlatform.error, hasCapability = _useRoomPlatform.hasCapability, isActionPending = _useRoomPlatform.isActionPending, localPreviewTrack = _useRoomPlatform.localPreviewTrack, performAction = _useRoomPlatform.performAction, status = _useRoomPlatform.status;
28254
28249
  var integrations = useRoomPlatformIntegrations().integrations;
@@ -28276,7 +28271,7 @@ var RoomPlatformWorkspaceContent = function(param) {
28276
28271
  ]);
28277
28272
  var workspace = extensions === null || extensions === void 0 ? void 0 : extensions.mainWorkspace;
28278
28273
  var MainWorkspace = workspace === null || workspace === void 0 ? void 0 : workspace.component;
28279
- var workspaceIsRendered = Boolean(workspace === null || workspace === void 0 ? void 0 : workspace.component);
28274
+ var workspaceIsRendered = Boolean((workspace === null || workspace === void 0 ? void 0 : workspace.component) && ((_ref = controlState === null || controlState === void 0 ? void 0 : controlState.mode) !== null && _ref !== void 0 ? _ref : 'live') !== 'live');
28280
28275
  var whiteboardIsRendered = Boolean(whiteboardProviderProps);
28281
28276
  var workspaceOverlayTrack = workspaceIsRendered && (workspace === null || workspace === void 0 ? void 0 : workspace.placement) === 'overlay' ? resolvedStageModel.primary : undefined;
28282
28277
  var presentation = workspaceIsRendered && workspace ? {
@@ -28291,8 +28286,9 @@ var RoomPlatformWorkspaceContent = function(param) {
28291
28286
  isPending: isActionPending,
28292
28287
  perform: performAction
28293
28288
  },
28294
- capabilities: (_ref = access === null || access === void 0 ? void 0 : access.capabilities) !== null && _ref !== void 0 ? _ref : [],
28289
+ capabilities: (_ref1 = access === null || access === void 0 ? void 0 : access.capabilities) !== null && _ref1 !== void 0 ? _ref1 : [],
28295
28290
  connectionStatus: status,
28291
+ currentMode: (_ref2 = controlState === null || controlState === void 0 ? void 0 : controlState.mode) !== null && _ref2 !== void 0 ? _ref2 : 'live',
28296
28292
  currentParticipant: access ? currentParticipantPresence !== null && currentParticipantPresence !== void 0 ? currentParticipantPresence : {
28297
28293
  canPublishAudio: false,
28298
28294
  canPublishVideo: false,
@@ -28409,10 +28405,81 @@ var RoomPlatformWorkspaceContent = function(param) {
28409
28405
  extensionProps: extensionProps
28410
28406
  }) : undefined;
28411
28407
  var shouldShowPracticeStage = workspaceIsRendered && MainWorkspace && (workspace === null || workspace === void 0 ? void 0 : workspace.placement) === 'overlay';
28412
- var topBarTrailing = TopBarTrailing ? /*#__PURE__*/ jsx(RoomPlatformExtensionZone, {
28413
- component: TopBarTrailing,
28414
- extensionProps: extensionProps
28415
- }) : undefined;
28408
+ var modes = [
28409
+ {
28410
+ key: 'live',
28411
+ label: 'Live'
28412
+ }
28413
+ ].concat(_to_consumable_array((_ref3 = modeConfig === null || modeConfig === void 0 ? void 0 : modeConfig.modes) !== null && _ref3 !== void 0 ? _ref3 : [])).reduce(function(items, mode) {
28414
+ return mode.key.trim() && !items.some(function(item) {
28415
+ return item.key === mode.key;
28416
+ }) ? _to_consumable_array(items).concat([
28417
+ mode
28418
+ ]) : items;
28419
+ }, []);
28420
+ var topBarTrailing = /*#__PURE__*/ jsxs("div", {
28421
+ className: "flex items-center gap-2",
28422
+ children: [
28423
+ /*#__PURE__*/ jsx("div", {
28424
+ className: "flex rounded-lg border border-white/20 p-1",
28425
+ children: modes.map(function(mode) {
28426
+ return /*#__PURE__*/ jsx(Button, {
28427
+ type: "button",
28428
+ size: "sm",
28429
+ variant: extensionProps.currentMode === mode.key ? 'secondary' : 'ghost',
28430
+ "aria-pressed": extensionProps.currentMode === mode.key,
28431
+ disabled: !hasCapability('room:set_mode') || isActionPending(RoomPlatformAction.MODE_SET, {
28432
+ mode: mode.key
28433
+ }),
28434
+ onClick: function() {
28435
+ return void (function() {
28436
+ return _async_to_generator(function() {
28437
+ var _modeConfig_beforeModeChange;
28438
+ return _ts_generator(this, function(_state) {
28439
+ switch(_state.label){
28440
+ case 0:
28441
+ if (mode.key === extensionProps.currentMode) return [
28442
+ 2
28443
+ ];
28444
+ return [
28445
+ 4,
28446
+ modeConfig === null || modeConfig === void 0 ? void 0 : (_modeConfig_beforeModeChange = modeConfig.beforeModeChange) === null || _modeConfig_beforeModeChange === void 0 ? void 0 : _modeConfig_beforeModeChange.call(modeConfig, {
28447
+ from: extensionProps.currentMode,
28448
+ to: mode.key
28449
+ })
28450
+ ];
28451
+ case 1:
28452
+ if (_state.sent() === false) return [
28453
+ 2
28454
+ ];
28455
+ return [
28456
+ 4,
28457
+ performAction(RoomPlatformAction.MODE_SET, {
28458
+ mode: mode.key
28459
+ })
28460
+ ];
28461
+ case 2:
28462
+ _state.sent();
28463
+ return [
28464
+ 2
28465
+ ];
28466
+ }
28467
+ });
28468
+ })();
28469
+ })().catch(function() {
28470
+ return undefined;
28471
+ });
28472
+ },
28473
+ children: mode.label
28474
+ }, mode.key);
28475
+ })
28476
+ }),
28477
+ TopBarTrailing ? /*#__PURE__*/ jsx(RoomPlatformExtensionZone, {
28478
+ component: TopBarTrailing,
28479
+ extensionProps: extensionProps
28480
+ }) : null
28481
+ ]
28482
+ });
28416
28483
  var activeSpeakerParticipantIdentity = controlState === null || controlState === void 0 ? void 0 : controlState.activeSpeakerParticipantIdentity;
28417
28484
  var hasActiveSpeaker = Boolean(activeSpeakerParticipantIdentity);
28418
28485
  var canModerate = hasCapability('room:moderate');
@@ -28470,7 +28537,7 @@ var RoomPlatformWorkspaceContent = function(param) {
28470
28537
  onClearActiveSpeaker: clearActiveSpeaker,
28471
28538
  onRejectSpeakRequest: rejectSpeakRequest,
28472
28539
  participants: participants,
28473
- raisedHandParticipantIdentities: (_ref1 = controlState === null || controlState === void 0 ? void 0 : controlState.raisedHandParticipantIdentities) !== null && _ref1 !== void 0 ? _ref1 : []
28540
+ raisedHandParticipantIdentities: (_ref4 = controlState === null || controlState === void 0 ? void 0 : controlState.raisedHandParticipantIdentities) !== null && _ref4 !== void 0 ? _ref4 : []
28474
28541
  }) : null,
28475
28542
  activeSpeakerMediaSlot || localMediaSlot ? /*#__PURE__*/ jsxs("div", {
28476
28543
  className: "grid gap-3 border-b border-primary/10 p-2",
@@ -28821,31 +28888,26 @@ function RoomPlatformPrivateRoomRuntime(param) {
28821
28888
  });
28822
28889
  }
28823
28890
  function RoomPlatformRuntime(_0) {
28824
- var children = _0.children, completionAction = _0.completionAction, extensions = _0.extensions, isPracticeMode = _0.isPracticeMode, onExit = _0.onExit, _0_sizing = _0.sizing, sizing = _0_sizing === void 0 ? 'viewport' : _0_sizing, providerProps = _object_without_properties(_0, [
28891
+ var children = _0.children, completionAction = _0.completionAction, extensions = _0.extensions, modeConfig = _0.modeConfig, onExit = _0.onExit, _0_sizing = _0.sizing, sizing = _0_sizing === void 0 ? 'viewport' : _0_sizing, providerProps = _object_without_properties(_0, [
28825
28892
  "children",
28826
28893
  "completionAction",
28827
28894
  "extensions",
28828
- "isPracticeMode",
28895
+ "modeConfig",
28829
28896
  "onExit",
28830
28897
  "sizing"
28831
28898
  ]);
28832
- return /*#__PURE__*/ jsxs(RoomPlatformProvider, _object_spread_props(_object_spread({}, providerProps), {
28833
- children: [
28834
- /*#__PURE__*/ jsx(RoomPlatformPracticeModeMediaPolicy, {
28835
- isPracticeMode: isPracticeMode
28836
- }),
28837
- /*#__PURE__*/ jsx(RoomPlatformMediaRuntime, {
28838
- children: /*#__PURE__*/ jsx(RoomPlatformPrivateRoomRuntime, {
28839
- children: children !== null && children !== void 0 ? children : /*#__PURE__*/ jsx(RoomPlatformWorkspace, {
28840
- completionAction: completionAction,
28841
- extensions: extensions,
28842
- isPracticeMode: isPracticeMode,
28843
- onExit: onExit,
28844
- sizing: sizing
28845
- })
28899
+ return /*#__PURE__*/ jsx(RoomPlatformProvider, _object_spread_props(_object_spread({}, providerProps), {
28900
+ children: /*#__PURE__*/ jsx(RoomPlatformMediaRuntime, {
28901
+ children: /*#__PURE__*/ jsx(RoomPlatformPrivateRoomRuntime, {
28902
+ children: children !== null && children !== void 0 ? children : /*#__PURE__*/ jsx(RoomPlatformWorkspace, {
28903
+ completionAction: completionAction,
28904
+ extensions: extensions,
28905
+ modeConfig: modeConfig,
28906
+ onExit: onExit,
28907
+ sizing: sizing
28846
28908
  })
28847
28909
  })
28848
- ]
28910
+ })
28849
28911
  }));
28850
28912
  }
28851
28913
  function RoomPlatformRoom(props) {